diff --git a/.docsettings.yml b/.docsettings.yml index 7c295d83269a..792f170cba2e 100644 --- a/.docsettings.yml +++ b/.docsettings.yml @@ -1,8 +1,10 @@ omitted_paths: - documentation/ServicePrincipal/* + - eng/tools/analyze-deps/** - eng/tools/select-packages/** - "sdk/*/arm-*" - "sdk/cognitiveservices/*" + - "sdk/identity/identity/test/manual/*" language: js root_check_enabled: True required_readme_sections: @@ -63,7 +65,6 @@ known_content_issues: - ["sdk/eventgrid/eventgrid/README.md", "#1583"] - ["sdk/core/abort-controller/README.md", "#1583"] - ["sdk/core/core-auth/README.md", "#1583"] - - ["sdk/core/core-arm/README.md", "#1583"] - ["sdk/cosmosdb/cosmos/README.md", "#1583"] - ["sdk/cosmosdb/cosmos/src/test/readme.md", "#1583"] - ["sdk/cosmosdb/cosmos/samples/readme.md", "#1583"] @@ -104,6 +105,7 @@ known_content_issues: - ["sdk/storage/storage-queue/samples/README.md", "#1583"] - ["sdk/storage/storage-queue/test/README.md", "#1583"] - ["sdk/storage/storage-datalake/README.md", "#1583"] + - ["sdk/core/core-tracing/README.md", "#1583"] package_indexing_exclusion_list: - "@azure/template" diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5ad6db70da9e..3f6592500d50 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,16 +6,28 @@ ########### # Catch all -# /sdk/ @ramya-rao-a +/sdk/ @ramya-rao-a # Core -# /sdk/core/ +/sdk/core/abort-controller/ @chradek +/sdk/core/core-amqp/ @ramya-rao-a @chradek @shivangireja +/sdk/core/core-auth/ @daviwil +/sdk/core/core-http/ @daviwil +/sdk/core/core-paging/ @daviwil # Service teams -# /sdk/eventhub/ -# /sdk/identity/ -# /sdk/keyvault/ -# /sdk/storage/ +/sdk/cosmosdb/ @southpolesteve + +/sdk/eventhub/ @ramya-rao-a @chradek @shivangireja +/sdk/servicebus/ @ramya-rao-a @chradek @shivangireja + +/sdk/identity/ @daviwil @jonathandturner +/sdk/keyvault/ @jonathandturner @sadasant +/sdk/storage/ @XiaoningLiu @jeremymeng @HarshaNalluru @vinjiang @jiacfan + +# Management Plane +/**/*Management*.ts @michaeljqzq +/**/arm-*/ @michaeljqzq ########### # Eng Sys @@ -23,3 +35,11 @@ /eng/ @weshaggard @KarishmaGhiya @mikeharder @mitchdenny @danieljurek /**/tests.yml @danieljurek /**/ci.yml @mitchdenny + +########### +# Config +########### +/.vscode/ @mikeharder @KarishmaGhiya +/common/ @mikeharder @KarishmaGhiya +/rush.json @mikeharder @KarishmaGhiya +/tsconfig.json @mikeharder @KarishmaGhiya diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6c370c82b771..90c79ee45c39 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -168,7 +168,7 @@ Generally speaking, the following commands are roughly equivalent: | NPM command | Rush command | Rush command effect | | ------------------------------------ | ------------------------------------ | ---------------------------------------------------------------- | | `npm install` | `rush update` | Install dependencies for all projects in the Rush workspace | -| `npm install --save[-dev] ` | `rush add -p [--dev]` | Add or update a dependency in the current project | +| `npm install --save[-dev] ` | `rush add -p --caret [--dev]` | Add or update a dependency in the current project | | `npm build` | `rush [re]build` | Build all projects in the Rush workspace | | | `rush [re]build -t ` | Build named project and any projects it depends on | | | `rushx build` | Build the current project only | diff --git a/README.md b/README.md index 608fa8889522..f907d9992997 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,5 @@ # Azure SDK for JavaScript - -| Component | Build Status | -| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Management Libraries | [![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/138?branchName=master)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=138&branchName=master) | -| Client Libraries | [![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/614?branchName=master)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=614&branchName=master) | - This repository contains official JavaScript libraries and TypeScript definitions for Azure services. For documentation go to [Azure SDK for JavaScript documentation](https://aka.ms/js-docs). You can find a complete list of these libraries in [packages.md](https://github.com/Azure/azure-sdk-for-js/blob/master/packages.md). @@ -15,37 +9,53 @@ You can find a complete list of these libraries in [packages.md](https://github. For your convenience, each service has a separate set of libraries that you can choose to use instead of one, large Azure package. To get started with a specific library, see the **README.md** file located in the library's project folder. You can find service libraries in the `/sdk` directory. Each service might have a number of libraries available from each of the following categories: -* [Client - July 2019 Preview](#Client-July-2019-Preview) -* [Client - Stable](#Client-Stable) -* [Management](#Management) +- [Client - July 2019 Preview](#Client-July-2019-Preview) +- [Client - Stable](#Client-Stable) +- [Management](#Management) ### Client: July 2019 Preview -New wave of packages that we are currently releasing in **Preview** and are released under the `npm` release named `next`. These libraries allow you to use and consume existing resources and interact with them. These libraries share a number of core functionalities such as retries, logging, transport protocols, authentication protocols, etc. Learn more about these libraries by reading [the guidelines](https://azuresdkspecs.z5.web.core.windows.net/TypeScriptSpec.html) that they follow. + +New wave of packages that we are currently releasing in **Preview** and are released under the `npm` release named `next`. These libraries allow you to use and consume existing resources and interact with them. These libraries share a number of core functionalities such as retries, logging, transport protocols, authentication protocols, etc. Learn more about these libraries by reading [the guidelines](https://azure.github.io/azure-sdk/typescript/guidelines/) that they follow. The libraries released in July preview: -- [@azure/storage-blob@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/storage/storage-blob) -- [@azure/storage-queue@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/storage/storage-queue) -- [@azure/storage-file@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/storage/storage-file) -- [@azure/kevault-keys@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-keys) -- [@azure/kevault-secrets@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-secrets) -- [@azure/event-hubs@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/eventhub/event-hubs) ->NOTE: If you need to ensure your code is ready for production use one of the stable libraries. +- [@azure/storage-blob@next](https://github.com/Azure/azure-sdk-for-js/tree/feature/storage/sdk/storage/storage-blob) +- [@azure/storage-queue@next](https://github.com/Azure/azure-sdk-for-js/tree/feature/storage/sdk/storage/storage-queue) +- [@azure/storage-file@next](https://github.com/Azure/azure-sdk-for-js/tree/feature/storage/sdk/storage/storage-file) +- [@azure/keyvault-keys@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-keys) +- [@azure/keyvault-secrets@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-secrets) +- [@azure/event-hubs@next](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/eventhub/event-hubs) +> NOTE: If you need to ensure your code is ready for production use one of the stable libraries. ### Client: Stable + Last stable versions of packages that have been provided for usage with Azure and are production-ready. These libraries provide you with similar functionalities to the Preview ones as they allow you to use and consume existing resources and interact with them, for example: upload a blob. ### Management + Libraries which enable you to provision specific resources. They are responsible for directly mirroring and consuming Azure service's REST endpoints. You can recognize these libraries by `mgmt` or `arm` in their package names. ## Need help? -* For detailed documentation visit our [Azure SDK for JavaScript documentation](https://aka.ms/js-docs) -* File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-js/issues) -* Check [previous questions](https://stackoverflow.com/questions/tagged/azure-sdk-js) or ask new ones on StackOverflow using `azure-sdk-js` tag. + +- For detailed documentation visit our [Azure SDK for JavaScript documentation](https://aka.ms/js-docs) +- File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-js/issues) +- Check [previous questions](https://stackoverflow.com/questions/tagged/azure-sdk-js) or ask new ones on StackOverflow using `azure-sdk-js` tag. ## Contributing -For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-js/blob/master/CONTRIBUTING.md). +For details on contributing to this repository, see the [contributing guide](CONTRIBUTING.md). + +This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit +https://cla.microsoft.com. + +When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +| Component | Build Status | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Client Libraries | [![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/614?branchName=master)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=614&branchName=master) [![Dependencies](https://img.shields.io/badge/dependencies-analyzed-blue.svg)](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-js/dependencies/dependencies.html) | +| Management Libraries | [![Build Status](https://dev.azure.com/azure-sdk/public/_apis/build/status/138?branchName=master)](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=138&branchName=master) | ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2FREADME.png) diff --git a/common/config/rush/common-versions.json b/common/config/rush/common-versions.json index db91414d9877..2295e56539f1 100644 --- a/common/config/rush/common-versions.json +++ b/common/config/rush/common-versions.json @@ -4,7 +4,6 @@ */ { "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/common-versions.schema.json", - /** * A table that specifies a "preferred version" for a dependency package. The "preferred version" * is typically used to hold an indirect dependency back to a specific version, however generally @@ -17,8 +16,11 @@ * instead of the latest version. */ // "some-library": "1.2.3" - }, + // This is required to allow for backward compatibility with Service Bus Track 1 + // TODO: Remove this once Service Bus is updated to use current depenedencies as part of Track 2 + "rhea-promise": "^0.1.15" + }, /** * The "rush check" command can be used to enforce that every project in the repo must specify * the same SemVer range for a given dependency. However, sometimes exceptions are needed. @@ -30,6 +32,7 @@ * This design avoids unnecessary churn in this file. */ "allowedAlternativeVersions": { + "@azure/ms-rest-js": ["^2.0.0"], /** * For example, allow some projects to use an older TypeScript compiler * (in addition to whatever "usual" version is being used by other projects in the repo): @@ -37,5 +40,8 @@ // "typescript": [ // "~2.4.0" // ] + // Following is required to allow for backward compatibility with Service Bus Track 1 + // TODO: Remove this once Service Bus is updated to use current depenedencies as part of Track 2 + "rhea-promise": ["^0.1.15"] } } diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 99634c7a051d..4287bb938ea2 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1,15 +1,13 @@ dependencies: - '@azure/abort-controller': 1.0.0-preview.1 '@azure/amqp-common': 1.0.0-preview.6_rhea-promise@0.1.15 - '@azure/arm-servicebus': 0.1.0 + '@azure/arm-servicebus': 3.2.0 '@azure/core-asynciterator-polyfill': 1.0.0-preview.1 '@azure/core-paging': 1.0.0-preview.1 + '@azure/core-tracing': 1.0.0-preview.1 '@azure/event-hubs': 2.1.1 - '@azure/event-processor-host': 1.0.6 '@azure/logger-js': 1.3.2 - '@azure/ms-rest-js': 1.8.13 '@azure/ms-rest-nodeauth': 0.9.3 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@rush-temp/abort-controller': 'file:projects/abort-controller.tgz' '@rush-temp/core-amqp': 'file:projects/core-amqp.tgz' '@rush-temp/core-arm': 'file:projects/core-arm.tgz' @@ -17,7 +15,7 @@ dependencies: '@rush-temp/core-auth': 'file:projects/core-auth.tgz' '@rush-temp/core-http': 'file:projects/core-http.tgz' '@rush-temp/core-paging': 'file:projects/core-paging.tgz' - '@rush-temp/cosmos': 'file:projects/cosmos.tgz' + '@rush-temp/core-tracing': 'file:projects/core-tracing.tgz' '@rush-temp/event-hubs': 'file:projects/event-hubs.tgz' '@rush-temp/event-processor-host': 'file:projects/event-processor-host.tgz' '@rush-temp/identity': 'file:projects/identity.tgz' @@ -30,14 +28,16 @@ dependencies: '@rush-temp/storage-queue': 'file:projects/storage-queue.tgz' '@rush-temp/template': 'file:projects/template.tgz' '@rush-temp/testhub': 'file:projects/testhub.tgz' + '@trust/keyto': 0.3.7 '@types/async-lock': 1.1.1 - '@types/chai': 4.1.7 - '@types/chai-as-promised': 7.1.0 - '@types/chai-string': 1.4.1 + '@types/chai': 4.2.0 + '@types/chai-as-promised': 7.1.2 + '@types/chai-string': 1.4.2 '@types/debug': 0.0.31 '@types/dotenv': 6.1.1 '@types/express': 4.17.0 - '@types/fs-extra': 7.0.0 + '@types/fetch-mock': 7.3.1 + '@types/fs-extra': 8.0.0 '@types/glob': 7.1.1 '@types/is-buffer': 2.0.0 '@types/jssha': 2.0.0 @@ -48,55 +48,48 @@ dependencies: '@types/nise': 1.4.0 '@types/nock': 10.0.3 '@types/node': 8.10.51 - '@types/priorityqueuejs': 1.0.1 + '@types/node-fetch': 2.5.0 '@types/qs': 6.5.3 '@types/query-string': 6.2.0 - '@types/semaphore': 1.1.0 '@types/semver': 5.5.0 - '@types/sinon': 5.0.7 + '@types/sinon': 7.0.13 '@types/tough-cookie': 2.3.5 - '@types/tunnel': 0.0.0 - '@types/underscore': 1.9.2 + '@types/tunnel': 0.0.1 '@types/uuid': 3.4.5 - '@types/webpack': 4.32.0 + '@types/webpack': 4.32.1 '@types/webpack-dev-middleware': 2.0.3 - '@types/ws': 6.0.1 + '@types/ws': 6.0.2 '@types/xml2js': 0.4.4 - '@types/yargs': 11.1.2 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 - abortcontroller-polyfill: 1.3.0 + '@types/yargs': 13.0.2 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 async-lock: 1.2.2 - axios: 0.19.0 - axios-mock-adapter: 1.17.0_axios@0.19.0 azure-storage: 2.10.3 - binary-search-bounds: 2.0.3 - buffer: 5.2.1 + babel-runtime: 6.26.0 + buffer: 5.4.0 chai: 4.2.0 chai-as-promised: 7.1.1_chai@4.2.0 chai-string: 1.5.0_chai@4.2.0 - create-hmac: 1.1.7 cross-env: 5.2.0 death: 1.1.0 debug: 3.2.6 delay: 4.3.0 - dotenv: 7.0.0 + dotenv: 8.0.0 es6-promise: 4.2.8 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 events: 3.0.0 - execa: 1.0.0 express: 4.17.1 + fetch-mock: 7.3.9 form-data: 2.5.0 - fs-extra: 8.0.1 + fs-extra: 8.1.0 glob: 7.1.4 gulp: 4.0.2 - gulp-zip: 4.2.0 + gulp-zip: 5.0.0_gulp@4.0.2 https-proxy-agent: 2.2.2 inherits: 2.0.4 is-buffer: 2.0.3 @@ -104,11 +97,11 @@ dependencies: jws: 3.2.2 karma: 4.2.0 karma-chai: 0.1.0_chai@4.2.0+karma@4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-json-preprocessor: 0.3.3_karma@4.2.0 karma-json-to-file-reporter: 1.0.1 @@ -116,106 +109,82 @@ dependencies: karma-mocha: 1.3.0 karma-mocha-reporter: 2.2.5_karma@4.2.0 karma-remap-coverage: 0.1.5_karma-coverage@1.1.2 - karma-rollup-preprocessor: 7.0.2_rollup@1.17.0 + karma-rollup-preprocessor: 7.0.2_rollup@1.19.4 karma-sourcemap-loader: 0.3.7 karma-typescript-es6-transform: 4.1.1 - karma-webpack: 4.0.2_webpack@4.36.1 + karma-webpack: 4.0.2_webpack@4.39.2 long: 4.0.0 mocha: 5.2.0 - mocha-chrome: 1.1.0 + mocha-chrome: 2.0.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 mocha-multi-reporters: 1.1.7 moment: 2.24.0 - ms-rest: 2.5.3 - ms-rest-azure: 2.6.0 - nise: 1.5.0 + msal: 1.0.2 + nise: 1.5.1 nock: 10.0.6 + node-fetch: 2.6.0 npm-run-all: 4.1.5 nyc: 14.1.1 - opn-cli: 4.1.0 path-browserify: 1.0.0 prettier: 1.18.2 - priorityqueuejs: 1.0.0 process: 0.11.10 promise: 8.0.3 - puppeteer: 1.18.1 + puppeteer: 1.19.0 qs: 6.7.0 query-string: 5.1.1 - requirejs: 2.3.6 + regenerator-runtime: 0.13.3 rhea: 1.0.8 rhea-promise: 0.1.15 - rimraf: 2.6.3 - rollup: 1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 rollup-plugin-alias: 1.5.2 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 - rollup-plugin-inject: 3.0.0 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 + rollup-plugin-inject: 3.0.1 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 rollup-plugin-node-globals: 1.4.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 - rollup-plugin-resolve: 0.0.1-predev.1 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-uglify: 6.0.2_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 - semaphore: 1.0.5 - semver: 5.7.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-uglify: 6.0.2_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + semver: 5.7.1 shx: 0.3.2 - sinon: 7.3.2 - source-map-support: 0.5.12 + sinon: 7.4.1 + source-map-support: 0.5.13 stream-browserify: 2.0.2 - stream-http: 2.8.3 - tough-cookie: 2.5.0 - ts-loader: 5.4.5_typescript@3.5.3 + terser: 4.1.4 + tough-cookie: 3.0.1 + ts-loader: 6.0.4_typescript@3.5.3 ts-mocha: 6.0.0_mocha@5.2.0 - ts-node: 7.0.1 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 tunnel: 0.0.6 typescript: 3.5.3 uglify-js: 3.6.0 url: 0.11.0 - util: 0.11.1 + util: 0.12.1 uuid: 3.3.2 - webpack: 4.36.1_webpack@4.36.1 - webpack-cli: 3.3.6_webpack@4.36.1 - webpack-dev-middleware: 3.7.0_webpack@4.36.1 - ws: 6.2.1 + webpack: 4.39.2_webpack@4.39.2 + webpack-cli: 3.3.6_webpack@4.39.2 + webpack-dev-middleware: 3.7.0_webpack@4.39.2 + ws: 7.1.2 xhr-mock: 2.5.0 xml2js: 0.4.19 - yargs: 11.1.0 + yargs: 13.3.0 yarn: 1.17.3 lockfileVersion: 5.1 packages: - /@azure/abort-controller/1.0.0-preview.1: - dependencies: - tslib: 1.10.0 - dev: false - resolution: - integrity: sha512-NnJqi6oHqt06Q2hz4nO1HO0QlyusBa3E/wezvn9flHEtl0IHYSmzGbtlb+MaAJ5GzxwqSevQ4q1+4B8fvVijOA== - /@azure/amqp-common/0.1.9_rhea-promise@0.1.15: - dependencies: - async-lock: 1.2.2 - debug: 3.2.6 - is-buffer: 2.0.3 - jssha: 2.3.1 - ms-rest-azure: 2.6.0 - rhea-promise: 0.1.15 - tslib: 1.10.0 - dev: false - peerDependencies: - rhea-promise: ^0.1.13 - resolution: - integrity: sha512-B/HFWNbqAjFjhj8x/zlHcpuYtsr92l3ZVArJdumi2kpN2Di/h4g6GIa2JeQEDD+rkLa3oAR6zHKfJbGnybOmvg== /@azure/amqp-common/1.0.0-preview.6_rhea-promise@0.1.15: dependencies: '@azure/ms-rest-nodeauth': 0.9.3 '@types/async-lock': 1.1.1 '@types/is-buffer': 2.0.0 async-lock: 1.2.2 - buffer: 5.2.1 + buffer: 5.4.0 debug: 3.2.6 events: 3.0.0 is-buffer: 2.0.3 @@ -231,14 +200,14 @@ packages: rhea-promise: ^0.1.15 resolution: integrity: sha512-5XJZaJGtGoPmLhFx5y0vfCXiAHksoA4fdSnHAfkgEm4krhCW1jt1LH/6aJdUwUTJe+bz6m3Pv0sG/ILG0Vd65g== - /@azure/arm-servicebus/0.1.0: + /@azure/arm-servicebus/3.2.0: dependencies: '@azure/ms-rest-azure-js': 1.3.8 '@azure/ms-rest-js': 1.8.13 tslib: 1.10.0 dev: false resolution: - integrity: sha512-mjfeTrEayb1koiy9hq/c9mfa5mys4P6zZdW2QAx4Ma0x4W6/f24O3p0109NHRkiHRay4QsOY3PaTy6CBlvIp+g== + integrity: sha512-e0nNyP0O802YMb4jq0nsVduIBHRWtmX/AtiWMCDI1f0KtcEmNRPfbP8DxU6iNgwnV09qy3EfaRfSY0vMsYs5cg== /@azure/core-asynciterator-polyfill/1.0.0-preview.1: dev: false resolution: @@ -249,20 +218,12 @@ packages: dev: false resolution: integrity: sha512-mZHkadyAbhV1+brHEsWICnURW6E72D2HReM+8MWDn5oVJdlxD51w14PeqsOZC4UDYv4x2Eww5+PFRTEOrNB1Uw== - /@azure/event-hubs/1.0.8: + /@azure/core-tracing/1.0.0-preview.1: dependencies: - '@azure/amqp-common': 0.1.9_rhea-promise@0.1.15 - async-lock: 1.2.2 - debug: 3.2.6 - is-buffer: 2.0.2 - jssha: 2.3.1 - ms-rest-azure: 2.6.0 - rhea-promise: 0.1.15 tslib: 1.10.0 - uuid: 3.3.2 dev: false resolution: - integrity: sha512-iYaB08erq2Eg5sUOXD0GXn4OmkqC67xczLfnlaaF0fLtgk999ePTuFqj4LHYT5HHUdDumYZ+U3WjPSvb0ztHJw== + integrity: sha512-nDfxQopw7lfJG5N845BOS6Vcl84GcB1Q3BHKJAHghLOmdHQjV9Z92M4ziFAQ60UnOj2zrUefM6yDZcKjANCcyg== /@azure/event-hubs/2.1.1: dependencies: '@azure/amqp-common': 1.0.0-preview.6_rhea-promise@0.1.15 @@ -277,19 +238,6 @@ packages: dev: false resolution: integrity: sha512-nGnFBPcB/rs+5YWwmHJg+d3Cs7BrjtVfuD1eEv8j+ui2X6uXxB88wom1A2t/7xsSzkunQSrXJ2mCwdHxKI5aHw== - /@azure/event-processor-host/1.0.6: - dependencies: - '@azure/event-hubs': 1.0.8 - async-lock: 1.2.2 - azure-storage: 2.10.3 - debug: 3.2.6 - ms-rest-azure: 2.6.0 - path-browserify: 1.0.0 - tslib: 1.10.0 - uuid: 3.3.2 - dev: false - resolution: - integrity: sha512-SjlC+eXXeVWEU0oSK7Q6xVhbFd9G7tG+F6QK7orqpIYSzn0NPtDeKZasTO+nS0uvrUDKr3vs2DiK+fEjz8hm5g== /@azure/logger-js/1.3.2: dependencies: tslib: 1.10.0 @@ -367,7 +315,7 @@ packages: /@babel/highlight/7.5.0: dependencies: chalk: 2.4.2 - esutils: 2.0.2 + esutils: 2.0.3 js-tokens: 4.0.0 dev: false resolution: @@ -403,26 +351,26 @@ packages: integrity: sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== /@babel/types/7.5.5: dependencies: - esutils: 2.0.2 + esutils: 2.0.3 lodash: 4.17.15 to-fast-properties: 2.0.0 dev: false resolution: integrity: sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== - /@microsoft/api-extractor-model/7.3.0: + /@microsoft/api-extractor-model/7.3.2: dependencies: - '@microsoft/node-core-library': 3.13.0 - '@microsoft/tsdoc': 0.12.10 + '@microsoft/node-core-library': 3.14.0 + '@microsoft/tsdoc': 0.12.12 '@types/node': 8.5.8 dev: false resolution: - integrity: sha512-GfRaGz6d8fPhMOG70l2zS1s6Z8rCxcTHnwfVjb+6ln25eB4fN/jeDRlLKot+HOsVcbxvVseoeB0ZQL9nIsfbXw== - /@microsoft/api-extractor/7.3.3: + integrity: sha512-2yNbQsQl5PI36l5WzHQshwjBHPe5IeIcmidWad0E+wjyaAxGMLx5pBp5AgXY2JG9S9VQjFmmGmqJJBXn8tzu+w== + /@microsoft/api-extractor/7.3.8: dependencies: - '@microsoft/api-extractor-model': 7.3.0 - '@microsoft/node-core-library': 3.13.0 - '@microsoft/ts-command-line': 4.2.6 - '@microsoft/tsdoc': 0.12.10 + '@microsoft/api-extractor-model': 7.3.2 + '@microsoft/node-core-library': 3.14.0 + '@microsoft/ts-command-line': 4.2.7 + '@microsoft/tsdoc': 0.12.12 colors: 1.2.5 lodash: 4.17.15 resolve: 1.8.1 @@ -431,8 +379,8 @@ packages: dev: false hasBin: true resolution: - integrity: sha512-6bpVl6l3Kxgi1nFyBgvlUNhvJqh0e12TRF1yjlFIgzfjTCiNv6hzgHZNYPBofMK17u8BF7bEYRzwaXj39LE87Q== - /@microsoft/node-core-library/3.13.0: + integrity: sha512-zw3HWmPW9vWWIoI3SPb2tuJ2suXVoF9ty37Mww+00I4gKLPPDooVad1kBiNtdjHXBj0QwYAOsGcfoBN9Qgt2bw== + /@microsoft/node-core-library/3.14.0: dependencies: '@types/fs-extra': 5.0.4 '@types/jju': 1.4.1 @@ -444,8 +392,8 @@ packages: z-schema: 3.18.4 dev: false resolution: - integrity: sha512-mnsL/1ikVWHl8sPNssavaAgtUaIM3hkQ8zeySuApU5dNmsMPzovJPfx9m5JGiMvs1v5QNAIVeiS9jnWwe/7anw== - /@microsoft/ts-command-line/4.2.6: + integrity: sha512-+gbTXTRfvR40hTH+C3Vno/RJ51sU/RZAyHb2bo9af8GCdOgxCxCs+qp2KCXklbpuolmIPFfbCmdTwv90yH5tJw== + /@microsoft/ts-command-line/4.2.7: dependencies: '@types/argparse': 1.0.33 '@types/node': 8.5.8 @@ -453,11 +401,11 @@ packages: colors: 1.2.5 dev: false resolution: - integrity: sha512-GFLPg9Z5yiNca3di/V6Zt3tAvj1de9EK0eL88tE+1eckQSH405UQcm7D+H8LbEhRpqpG+ZqN9LXCAEw4L5uchg== - /@microsoft/tsdoc/0.12.10: + integrity: sha512-PwUMIIDl8oWyl64Y5DW5FAuoRk4KWTBZdk4FEh366KEm5xYFBQhCeatHGURIj8nEYm0Xb2coCrXF77dGDlp/Qw== + /@microsoft/tsdoc/0.12.12: dev: false resolution: - integrity: sha512-tsog/HTdM88/WyR0Jz7XWTI0ghbJkt9soFXnQJrINDyaTGzbCoJjRttaW/IY5eAp4eqDyfg++jq6o+byEDOkIQ== + integrity: sha512-5EzH1gHIonvvgA/xWRmVAJmRkTQj/yayUXyr66hFwNZiFE4j7lP8is9YQeXhwxGZEjO1PVMblAmFF0CyjNtPGw== /@sinonjs/commons/1.4.0: dependencies: type-detect: 4.0.8 @@ -483,6 +431,14 @@ packages: dev: false resolution: integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== + /@trust/keyto/0.3.7: + dependencies: + asn1.js: 5.2.0 + base64url: 3.0.1 + elliptic: 6.5.0 + dev: false + resolution: + integrity: sha512-t5kWWCTkPgg24JWVuCTPMx7l13F7YHdxBeJkT1vmoHjROgiOIEAN8eeY+iRmP1Hwsx+S7U55HyuqSsECr08a8A== /@types/anymatch/1.3.1: dev: false resolution: @@ -506,22 +462,22 @@ packages: dev: false resolution: integrity: sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w== - /@types/chai-as-promised/7.1.0: + /@types/chai-as-promised/7.1.2: dependencies: - '@types/chai': 4.1.7 + '@types/chai': 4.2.0 dev: false resolution: - integrity: sha512-MFiW54UOSt+f2bRw8J7LgQeIvE/9b4oGvwU7XW30S9QGAiHGnU/fmiOprsyMkdmH2rl8xSPc0/yrQw8juXU6bQ== - /@types/chai-string/1.4.1: + integrity: sha512-PO2gcfR3Oxa+u0QvECLe1xKXOqYTzCmWf0FhLhjREoW3fPAVamjihL7v1MOVLJLsnAMdLcjkfrs01yvDMwVK4Q== + /@types/chai-string/1.4.2: dependencies: - '@types/chai': 4.1.7 + '@types/chai': 4.2.0 dev: false resolution: - integrity: sha512-aRNMs6TKgjgPlCHwDfq/YNy5VtRR2hJ4AUWByddrT0TRVVD8eX4MiHW6/iHvmQHRlVuuPZcwnTUE7b4yFt7bEA== - /@types/chai/4.1.7: + integrity: sha512-ld/1hV5qcPRGuwlPdvRfvM3Ka/iofOk2pH4VkasK4b1JJP1LjNmWWn0LsISf6RRzyhVOvs93rb9tM09e+UuF8Q== + /@types/chai/4.2.0: dev: false resolution: - integrity: sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA== + integrity: sha512-zw8UvoBEImn392tLjxoavuonblX/4Yb9ha4KBU10FirCfwgzhKO0dvyJSF9ByxV1xK1r2AgnAi/tvQaLgxQqxA== /@types/connect/3.4.32: dependencies: '@types/node': 8.10.51 @@ -550,33 +506,37 @@ packages: dev: false resolution: integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== - /@types/express-serve-static-core/4.16.7: + /@types/express-serve-static-core/4.16.8: dependencies: '@types/node': 8.10.51 '@types/range-parser': 1.2.3 dev: false resolution: - integrity: sha512-847KvL8Q1y3TtFLRTXcVakErLJQgdpFSaq+k043xefz9raEf0C7HalpSY7OW5PyjCnY8P7bPW5t/Co9qqp+USg== + integrity: sha512-5iLrUAEje8R1Jw6Em7ryETfZbhGc2CAO51Xphnlw7qmGI79f8sG8qMnvMk3M/IxNdoELYalib7ziuD6kUTk7sQ== /@types/express/4.17.0: dependencies: '@types/body-parser': 1.17.0 - '@types/express-serve-static-core': 4.16.7 + '@types/express-serve-static-core': 4.16.8 '@types/serve-static': 1.13.2 dev: false resolution: integrity: sha512-CjaMu57cjgjuZbh9DpkloeGxV45CnMGlVd+XpG7Gm9QgVrd7KFq+X4HY0vM+2v0bczS48Wg7bvnMY5TN+Xmcfw== + /@types/fetch-mock/7.3.1: + dev: false + resolution: + integrity: sha512-2U4vZWHNbsbK7TRmizgr/pbKe0FKopcxu+hNDtIBDiM1wvrKRItybaYj7VQ6w/hZJStU/JxRiNi5ww4YDEvKbA== /@types/fs-extra/5.0.4: dependencies: '@types/node': 8.10.51 dev: false resolution: integrity: sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g== - /@types/fs-extra/7.0.0: + /@types/fs-extra/8.0.0: dependencies: '@types/node': 8.10.51 dev: false resolution: - integrity: sha512-ndoMMbGyuToTy4qB6Lex/inR98nPiNHacsgMPvy+zqMLgSxbt8VtWpDArpGp69h1fEDQHn1KB+9DWD++wgbwYA== + integrity: sha512-bCtL5v9zdbQW86yexOlXWTEGvLNqWxMFyi7gQA7Gcthbezr2cPSOb8SkESVKA937QD5cIwOFLDFt0MQoXOEr9Q== /@types/glob/7.1.1: dependencies: '@types/events': 3.0.0 @@ -654,10 +614,16 @@ packages: dev: false resolution: integrity: sha512-OthuN+2FuzfZO3yONJ/QVjKmLEuRagS9TV9lEId+WHL9KhftYG+/2z+pxlr0UgVVXSpVD8woie/3fzQn8ft/Ow== - /@types/node/12.6.8: + /@types/node-fetch/2.5.0: + dependencies: + '@types/node': 8.10.51 dev: false resolution: - integrity: sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== + integrity: sha512-TLFRywthBgL68auWj+ziWu+vnmmcHCDFC/sqCOQf1xTz4hRq8cu79z8CtHU9lncExGBsB8fXA4TiLDLt6xvMzw== + /@types/node/12.7.2: + dev: false + resolution: + integrity: sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== /@types/node/8.10.51: dev: false resolution: @@ -666,10 +632,6 @@ packages: dev: false resolution: integrity: sha512-8KmlRxwbKZfjUHFIt3q8TF5S2B+/E5BaAoo/3mgc5h6FJzqxXkCK/VMetO+IRDtwtU6HUvovHMBn+XRj7SV9Qg== - /@types/priorityqueuejs/1.0.1: - dev: false - resolution: - integrity: sha1-bqrDJHpMXO/JRILl2Hw3MLNfUFM= /@types/qs/6.5.3: dev: false resolution: @@ -688,25 +650,21 @@ packages: dev: false resolution: integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - /@types/semaphore/1.1.0: - dev: false - resolution: - integrity: sha512-YD+lyrPhrsJdSOaxmA9K1lzsCoN0J29IsQGMKd67SbkPDXxJPdwdqpok1sytD19NEozUaFpjIsKOWnJDOYO/GA== /@types/semver/5.5.0: dev: false resolution: integrity: sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== /@types/serve-static/1.13.2: dependencies: - '@types/express-serve-static-core': 4.16.7 + '@types/express-serve-static-core': 4.16.8 '@types/mime': 2.0.1 dev: false resolution: integrity: sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q== - /@types/sinon/5.0.7: + /@types/sinon/7.0.13: dev: false resolution: - integrity: sha512-opwMHufhUwkn/UUDk35LDbKJpA2VBsZT8WLU8NjayvRLGPxQkN+8XmfC2Xl35MAscBE8469koLLBjaI3XLEIww== + integrity: sha512-d7c/C/+H/knZ3L8/cxhicHUiTDxdgap0b/aNJfsmLwFu/iOP17mdgbQsbHA3SJmrzsjD0l3UEE5SN4xxuz5ung== /@types/tapable/1.0.4: dev: false resolution: @@ -721,16 +679,18 @@ packages: dev: false resolution: integrity: sha512-FGDp0iBRiBdPjOgjJmn1NH0KDLN+Z8fRmo+9J7XGBhubq1DPrGrbmG4UTlGzrpbCpesMqD0sWkzi27EYkOMHyg== + /@types/tunnel/0.0.1: + dependencies: + '@types/node': 8.10.51 + dev: false + resolution: + integrity: sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A== /@types/uglify-js/3.0.4: dependencies: source-map: 0.6.1 dev: false resolution: integrity: sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ== - /@types/underscore/1.9.2: - dev: false - resolution: - integrity: sha512-KgOKTAD+9X+qvZnB5S1+onqKc4E+PZ+T6CM/NA5ohRPLHJXb+yCJMVf8pWOnvuBuKFNUAJW8N97IA6lba6mZGg== /@types/uuid/3.4.5: dependencies: '@types/node': 8.10.51 @@ -741,12 +701,12 @@ packages: dependencies: '@types/connect': 3.4.32 '@types/memory-fs': 0.3.2 - '@types/webpack': 4.32.0 + '@types/webpack': 4.32.1 loglevel: 1.6.3 dev: false resolution: integrity: sha512-DzNJJ6ah/6t1n8sfAgQyEbZ/OMmFcF9j9P3aesnm7G6/iBFR/qiGin8K89J0RmaWIBzhTMdDg3I5PmKmSv7N9w== - /@types/webpack/4.32.0: + /@types/webpack/4.32.1: dependencies: '@types/anymatch': 1.3.1 '@types/node': 8.10.51 @@ -755,83 +715,87 @@ packages: source-map: 0.6.1 dev: false resolution: - integrity: sha512-kpz5wHDyG/WEpzX9gcwFp/w0oSsq0n/rmFdJelk/QBMHmNIOZdiTDInV0Lj8itGKBahQrBgJGJRss/6UHgLuKg== - /@types/ws/6.0.1: + integrity: sha512-9n38CBx9uga1FEAdTipnt0EkbKpsCJFh7xJb1LE65FFb/A6OOLFX022vYsGC1IyVCZ/GroNg9u/RMmlDxGcLIw== + /@types/ws/6.0.2: dependencies: - '@types/events': 3.0.0 '@types/node': 8.10.51 dev: false resolution: - integrity: sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q== + integrity: sha512-22XiR1ox9LftTaAtn/c5JCninwc7moaqbkJfaDUb7PkaUitcf5vbTZHdq9dxSMviCm9C3W85rzB8e6yNR70apQ== /@types/xml2js/0.4.4: dependencies: '@types/node': 8.10.51 dev: false resolution: integrity: sha512-O6Xgai01b9PB3IGA0lRIp1Ex3JBcxGDhdO0n3NIIpCyDOAjxcIGQFmkvgJpP8anTrthxOUQjBfLdRRi0Zn/TXA== - /@types/yargs/11.1.2: + /@types/yargs-parser/13.0.0: + dev: false + resolution: + integrity: sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== + /@types/yargs/13.0.2: + dependencies: + '@types/yargs-parser': 13.0.0 dev: false resolution: - integrity: sha512-zG61PAp2OcoIBjRV44wftJj6AJgzJrOc32LCYOBqk9bdgcdzK5DCJHV9QZJ60+Fu+fOn79g8Ks3Gixm4CfkZ+w== + integrity: sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== /@types/z-schema/3.16.31: dev: false resolution: integrity: sha1-LrHQCl5Ow/pYx2r94S4YK2bcXBw= - /@typescript-eslint/eslint-plugin/1.13.0_0b5e999c52a893676e7127c05369c7b6: + /@typescript-eslint/eslint-plugin/2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44: dependencies: - '@typescript-eslint/experimental-utils': 1.13.0_eslint@5.16.0 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 - '@typescript-eslint/typescript-estree': 1.13.0 - eslint: 5.16.0 + '@typescript-eslint/experimental-utils': 2.0.0_eslint@6.1.0 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 + eslint: 6.1.0 eslint-utils: 1.4.0 functional-red-black-tree: 1.0.1 regexpp: 2.0.1 - tsutils: 3.14.0_typescript@3.5.3 + tsutils: 3.17.1_typescript@3.5.3 dev: false engines: - node: ^6.14.0 || ^8.10.0 || >=9.10.0 + node: ^8.10.0 || ^10.13.0 || >=11.10.1 peerDependencies: - '@typescript-eslint/parser': ^1.9.0 - eslint: ^5.0.0 + '@typescript-eslint/parser': ^2.0.0-alpha.0 + eslint: ^5.0.0 || ^6.0.0 typescript: '*' resolution: - integrity: sha512-WQHCozMnuNADiqMtsNzp96FNox5sOVpU8Xt4meaT4em8lOG1SrOv92/mUbEHQVh90sldKSfcOc/I0FOb/14G1g== - /@typescript-eslint/experimental-utils/1.13.0_eslint@5.16.0: + integrity: sha512-Mo45nxTTELODdl7CgpZKJISvLb+Fu64OOO2ZFc2x8sYSnUpFrBUW3H+H/ZGYmEkfnL6VkdtOSxgdt+Av79j0sA== + /@typescript-eslint/experimental-utils/2.0.0_eslint@6.1.0: dependencies: '@types/json-schema': 7.0.3 - '@typescript-eslint/typescript-estree': 1.13.0 - eslint: 5.16.0 + '@typescript-eslint/typescript-estree': 2.0.0 + eslint: 6.1.0 eslint-scope: 4.0.3 dev: false engines: - node: ^6.14.0 || ^8.10.0 || >=9.10.0 + node: ^8.10.0 || ^10.13.0 || >=11.10.1 peerDependencies: eslint: '*' resolution: - integrity: sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg== - /@typescript-eslint/parser/1.13.0_eslint@5.16.0: + integrity: sha512-XGJG6GNBXIEx/mN4eTRypN/EUmsd0VhVGQ1AG+WTgdvjHl0G8vHhVBHrd/5oI6RRYBRnedNymSYWW1HAdivtmg== + /@typescript-eslint/parser/2.0.0_eslint@6.1.0: dependencies: '@types/eslint-visitor-keys': 1.0.0 - '@typescript-eslint/experimental-utils': 1.13.0_eslint@5.16.0 - '@typescript-eslint/typescript-estree': 1.13.0 - eslint: 5.16.0 - eslint-visitor-keys: 1.0.0 + '@typescript-eslint/experimental-utils': 2.0.0_eslint@6.1.0 + '@typescript-eslint/typescript-estree': 2.0.0 + eslint: 6.1.0 + eslint-visitor-keys: 1.1.0 dev: false engines: - node: ^6.14.0 || ^8.10.0 || >=9.10.0 + node: ^8.10.0 || ^10.13.0 || >=11.10.1 peerDependencies: - eslint: ^5.0.0 + eslint: ^5.0.0 || ^6.0.0 resolution: - integrity: sha512-ITMBs52PCPgLb2nGPoeT4iU3HdQZHcPaZVw+7CsFagRJHUhyeTgorEwHXhFf3e7Evzi8oujKNpHc8TONth8AdQ== - /@typescript-eslint/typescript-estree/1.13.0: + integrity: sha512-ibyMBMr0383ZKserIsp67+WnNVoM402HKkxqXGlxEZsXtnGGurbnY90pBO3e0nBUM7chEEOcxUhgw9aPq7fEBA== + /@typescript-eslint/typescript-estree/2.0.0: dependencies: lodash.unescape: 4.0.1 - semver: 5.5.0 + semver: 6.3.0 dev: false engines: - node: '>=6.14.0' + node: ^8.10.0 || ^10.13.0 || >=11.10.1 resolution: - integrity: sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw== + integrity: sha512-NXbmzA3vWrSgavymlzMWNecgNOuiMMp62MO3kI7awZRLRcsA1QrYWo6q08m++uuAGVbXH/prZi2y1AWuhSu63w== /@webassemblyjs/ast/1.8.5: dependencies: '@webassemblyjs/helper-module-context': 1.8.5 @@ -976,10 +940,6 @@ packages: dev: false resolution: integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - /abortcontroller-polyfill/1.3.0: - dev: false - resolution: - integrity: sha512-lbWQgf+eRvku3va8poBlDBO12FigTQr9Zb7NIjXrePrhxWVKdCP2wbDl1tLDaYa18PWTom3UEWwdH13S46I+yA== /accepts/1.3.7: dependencies: mime-types: 2.1.24 @@ -989,9 +949,9 @@ packages: node: '>= 0.6' resolution: integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - /acorn-jsx/5.0.1_acorn@6.2.1: + /acorn-jsx/5.0.1_acorn@6.3.0: dependencies: - acorn: 6.2.1 + acorn: 6.3.0 dev: false peerDependencies: acorn: ^6.0.0 @@ -1010,13 +970,13 @@ packages: hasBin: true resolution: integrity: sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== - /acorn/6.2.1: + /acorn/6.3.0: dev: false engines: node: '>=0.4.0' hasBin: true resolution: - integrity: sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== + integrity: sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== /adal-node/0.1.28: dependencies: '@types/node': 8.10.51 @@ -1098,12 +1058,14 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM= - /ansi-escapes/3.2.0: + /ansi-escapes/4.2.1: + dependencies: + type-fest: 0.5.2 dev: false engines: - node: '>=4' + node: '>=8' resolution: - integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + integrity: sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q== /ansi-gray/0.1.1: dependencies: ansi-wrap: 0.1.0 @@ -1196,6 +1158,10 @@ packages: dev: false resolution: integrity: sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + /arg/4.1.1: + dev: false + resolution: + integrity: sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw== /argparse/1.0.10: dependencies: sprintf-js: 1.0.3 @@ -1257,10 +1223,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-p5SvDAWrF1KEbudTofIRoFugxE8= - /array-filter/0.0.1: - dev: false - resolution: - integrity: sha1-fajPLiZijtcygDWB/SH2fKzS7uw= /array-find-index/1.0.2: dev: false engines: @@ -1292,14 +1254,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== - /array-map/0.0.0: - dev: false - resolution: - integrity: sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= - /array-reduce/0.0.0: - dev: false - resolution: - integrity: sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= /array-slice/0.2.3: dev: false engines: @@ -1350,6 +1304,14 @@ packages: dev: false resolution: integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + /asn1.js/5.2.0: + dependencies: + bn.js: 4.11.8 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + resolution: + integrity: sha512-Q7hnYGGNYbcmGrCPulXfkEw7oW7qjWeM4ZTALmgpuIcZLxyqqKYWxCZg2UBm8bklrnB4m2mGyJPWfoktdORD8A== /asn1/0.2.4: dependencies: safer-buffer: 2.1.2 @@ -1406,10 +1368,10 @@ packages: dev: false resolution: integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - /async-limiter/1.0.0: + /async-limiter/1.0.1: dev: false resolution: - integrity: sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== /async-lock/1.2.2: dev: false resolution: @@ -1426,12 +1388,6 @@ packages: dev: false resolution: integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - /async/2.6.0: - dependencies: - lodash: 4.17.15 - dev: false - resolution: - integrity: sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw== /async/2.6.3: dependencies: lodash: 4.17.15 @@ -1461,15 +1417,6 @@ packages: dev: false resolution: integrity: sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - /axios-mock-adapter/1.17.0_axios@0.19.0: - dependencies: - axios: 0.19.0 - deep-equal: 1.0.1 - dev: false - peerDependencies: - axios: '>= 0.9.0' - resolution: - integrity: sha512-q3efmwJUOO4g+wsLNSk9Ps1UlJoF3fQ3FSEe4uEEhkRtu7SoiAVPj8R3Hc/WP55MBTVFzaDP9QkdJhdVhP8A1Q== /axios/0.19.0: dependencies: follow-redirects: 1.5.10 @@ -1498,7 +1445,7 @@ packages: /babel-code-frame/6.26.0: dependencies: chalk: 1.1.3 - esutils: 2.0.2 + esutils: 2.0.3 js-tokens: 3.0.2 dev: false resolution: @@ -1901,7 +1848,7 @@ packages: babel-plugin-transform-regenerator: 6.26.0 browserslist: 3.2.8 invariant: 2.2.4 - semver: 5.7.0 + semver: 5.7.1 dev: false resolution: integrity: sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== @@ -1951,7 +1898,7 @@ packages: /babel-types/6.26.0: dependencies: babel-runtime: 6.26.0 - esutils: 2.0.2 + esutils: 2.0.3 lodash: 4.17.15 to-fast-properties: 1.0.3 dev: false @@ -2006,16 +1953,22 @@ packages: node: '>= 0.6.0' resolution: integrity: sha1-c5JncZI7Whl0etZmqlzUv5xunOg= - /base64-js/1.3.0: + /base64-js/1.3.1: dev: false resolution: - integrity: sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + integrity: sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== /base64id/1.0.0: dev: false engines: node: '>= 0.4.0' resolution: integrity: sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY= + /base64url/3.0.1: + dev: false + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== /bcrypt-pbkdf/1.0.2: dependencies: tweetnacl: 0.14.5 @@ -2044,10 +1997,6 @@ packages: node: '>=8' resolution: integrity: sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== - /binary-search-bounds/2.0.3: - dev: false - resolution: - integrity: sha1-X/hhbW3SylOIvIWy1iZuK52lAtw= /blob/0.0.5: dev: false resolution: @@ -2176,8 +2125,8 @@ packages: integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== /browserslist/3.2.8: dependencies: - caniuse-lite: 1.0.30000985 - electron-to-chromium: 1.3.199 + caniuse-lite: 1.0.30000989 + electron-to-chromium: 1.3.230 dev: false hasBin: true resolution: @@ -2225,19 +2174,19 @@ packages: integrity: sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= /buffer/4.9.1: dependencies: - base64-js: 1.3.0 + base64-js: 1.3.1 ieee754: 1.1.13 isarray: 1.0.0 dev: false resolution: integrity: sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - /buffer/5.2.1: + /buffer/5.4.0: dependencies: - base64-js: 1.3.0 + base64-js: 1.3.1 ieee754: 1.1.13 dev: false resolution: - integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== + integrity: sha512-Xpgy0IwHK2N01ncykXTy6FpCWuM+CJSHoPVBLyNqyrWxsedpLvwsYUhf0ME3WRFNUhos0dMamz9cOS/xRDtU5g== /builtin-modules/3.1.0: dev: false engines: @@ -2254,25 +2203,26 @@ packages: node: '>= 0.8' resolution: integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - /cacache/11.3.3: + /cacache/12.0.2: dependencies: bluebird: 3.5.5 chownr: 1.1.2 figgy-pudding: 3.5.1 glob: 7.1.4 - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 + infer-owner: 1.0.4 lru-cache: 5.1.1 mississippi: 3.0.0 mkdirp: 0.5.1 move-concurrently: 1.0.1 promise-inflight: 1.0.1 - rimraf: 2.6.3 + rimraf: 2.7.1 ssri: 6.0.1 unique-filename: 1.1.1 y18n: 4.0.0 dev: false resolution: - integrity: sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== + integrity: sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== /cache-base/1.0.1: dependencies: collection-visit: 1.0.0 @@ -2353,10 +2303,10 @@ packages: node: '>=6' resolution: integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - /caniuse-lite/1.0.30000985: + /caniuse-lite/1.0.30000989: dev: false resolution: - integrity: sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w== + integrity: sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== /caseless/0.12.0: dev: false resolution: @@ -2451,7 +2401,7 @@ packages: is-binary-path: 2.1.0 is-glob: 4.0.1 normalize-path: 3.0.0 - readdirp: 3.1.1 + readdirp: 3.1.2 dev: false engines: node: '>= 8' @@ -2469,20 +2419,18 @@ packages: is-wsl: 1.1.0 lighthouse-logger: 1.2.0 mkdirp: 0.5.1 - rimraf: 2.6.3 + rimraf: 2.7.1 dev: false resolution: integrity: sha512-IoQLp64s2n8OQuvKZwt77CscVj3UlV2Dj7yZtd1EBMld9mSdGcsGy9fN5hd/r4vJuWZR09it78n1+A17gB+AIQ== - /chrome-remote-interface/0.25.7: + /chrome-remote-interface/0.27.2: dependencies: commander: 2.11.0 - ws: 3.3.3 + ws: 6.2.1 dev: false - engines: - node: '>=4' hasBin: true resolution: - integrity: sha512-6zI6LbR2IiGmduFZededaerEr9hHXabxT/L+fRrdq65a0CfyLMzpq0BKuZiqN0Upqcacsb6q2POj7fmobwBsEA== + integrity: sha512-pVLljQ29SAx8KIv5tSa9sIf8GrEsAZdPJoeWOmY3/nrIzFmE+EryNNHvDkddGod0cmAFTv+GmPG0uvzxi2NWsA== /chrome-trace-event/1.0.2: dependencies: tslib: 1.10.0 @@ -2521,14 +2469,14 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - /cli-cursor/2.1.0: + /cli-cursor/3.1.0: dependencies: - restore-cursor: 2.0.0 + restore-cursor: 3.1.0 dev: false engines: - node: '>=4' + node: '>=8' resolution: - integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== /cli-width/2.2.0: dev: false resolution: @@ -2541,14 +2489,6 @@ packages: dev: false resolution: integrity: sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - /cliui/4.1.0: - dependencies: - string-width: 2.1.1 - strip-ansi: 4.0.0 - wrap-ansi: 2.1.0 - dev: false - resolution: - integrity: sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== /cliui/5.0.0: dependencies: string-width: 3.1.0 @@ -2761,7 +2701,7 @@ packages: fs-write-stream-atomic: 1.0.10 iferr: 0.1.5 mkdirp: 0.5.1 - rimraf: 2.6.3 + rimraf: 2.7.1 run-queue: 1.0.3 dev: false resolution: @@ -2784,18 +2724,18 @@ packages: requiresBuild: true resolution: integrity: sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== - /core-js/3.1.4: + /core-js/3.2.1: dev: false requiresBuild: true resolution: - integrity: sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ== + integrity: sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== /core-util-is/1.0.2: dev: false resolution: integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= /cp-file/6.2.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 make-dir: 2.1.0 nested-error-stacks: 2.1.0 pify: 4.0.1 @@ -2850,19 +2790,11 @@ packages: dev: false resolution: integrity: sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= - /cross-spawn/5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - dev: false - resolution: - integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= /cross-spawn/6.0.5: dependencies: nice-try: 1.0.5 path-key: 2.0.1 - semver: 5.7.0 + semver: 5.7.1 shebang-command: 1.2.0 which: 1.3.1 dev: false @@ -2909,7 +2841,7 @@ packages: /d/1.0.1: dependencies: es5-ext: 0.10.50 - type: 1.0.1 + type: 1.0.3 dev: false resolution: integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== @@ -3004,14 +2936,15 @@ packages: node: '>=0.10' resolution: integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - /deep-assign/2.0.0: + /deep-assign/3.0.0: dependencies: is-obj: 1.0.1 + deprecated: Check out `lodash.merge` or `merge-options` instead. dev: false engines: node: '>=0.10.0' resolution: - integrity: sha1-6+BrHwfwja5ZdiDj3RYi83GhxXI= + integrity: sha512-YX2i9XjJ7h5q/aQ/IM9PEwEnDqETAIYbggmdDB3HLTlSgo1CxPsj6pvhPG68rq6SVE0+p+6Ywsm5fTYNrYtBWw== /deep-eql/3.0.1: dependencies: type-detect: 4.0.8 @@ -3143,6 +3076,12 @@ packages: node: '>=0.3.1' resolution: integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + /diff/4.0.1: + dev: false + engines: + node: '>=0.3.1' + resolution: + integrity: sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== /diffie-hellman/5.0.3: dependencies: bn.js: 4.11.8 @@ -3153,7 +3092,7 @@ packages: integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== /doctrine/3.0.0: dependencies: - esutils: 2.0.2 + esutils: 2.0.3 dev: false engines: node: '>=6.0.0' @@ -3179,16 +3118,12 @@ packages: npm: '>=1.2' resolution: integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - /dotenv/7.0.0: + /dotenv/8.0.0: dev: false engines: - node: '>=6' - resolution: - integrity: sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== - /duplexer/0.1.1: - dev: false + node: '>=8' resolution: - integrity: sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + integrity: sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg== /duplexify/3.7.1: dependencies: end-of-stream: 1.4.1 @@ -3226,10 +3161,10 @@ packages: dev: false resolution: integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - /electron-to-chromium/1.3.199: + /electron-to-chromium/1.3.230: dev: false resolution: - integrity: sha512-gachlDdHSK47s0N2e58GH9HMC6Z4ip0SfmYUa5iEbE50AKaOUXysaJnXMfKj0xB245jWbYcyFSH+th3rqsF8hA== + integrity: sha512-r0RljY5DZi9RX4v8mjHxJkDWnQe+nsrkGlHtrDF2uvZcvAkw+iglvlQi1794gZhwRtJoDOomMJlDHL2LfXSCZA== /elliptic/6.5.0: dependencies: bn.js: 4.11.8 @@ -3246,6 +3181,10 @@ packages: dev: false resolution: integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + /emoji-regex/8.0.0: + dev: false + resolution: + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== /emojis-list/2.1.0: dev: false engines: @@ -3303,7 +3242,7 @@ packages: integrity: sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w== /enhanced-resolve/4.1.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 memory-fs: 0.4.1 tapable: 1.1.3 dev: false @@ -3421,7 +3360,7 @@ packages: dependencies: esprima: 2.7.3 estraverse: 1.9.3 - esutils: 2.0.2 + esutils: 2.0.3 optionator: 0.8.2 dev: false engines: @@ -3431,28 +3370,19 @@ packages: source-map: 0.2.0 resolution: integrity: sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg= - /eslint-config-prettier/4.3.0_eslint@5.16.0: + /eslint-config-prettier/6.0.0_eslint@6.1.0: dependencies: - eslint: 5.16.0 + eslint: 6.1.0 get-stdin: 6.0.0 dev: false hasBin: true peerDependencies: eslint: '>=3.14.1' resolution: - integrity: sha512-sZwhSTHVVz78+kYD3t5pCWSYEdVSBR0PXnwjDRsUs8ytIrK8PLXw+6FKp8r3Z7rx4ZszdetWlXYKOHoUrrwPlA== - /eslint-detailed-reporter/0.8.0_eslint@5.16.0: - dependencies: - eslint: 5.16.0 - lodash: 4.17.15 - dev: false - peerDependencies: - eslint: 3.0.0 - 5.9999.9999 - resolution: - integrity: sha512-u/LAPwSQ8udUiWXJ2aYZfvV4gd7uhS77ZctOv8FZ8SDxzEG5aV18dgOTMilT8uEHBJyv3MpGHoQH7A3tXOfm/Q== - /eslint-plugin-no-null/1.0.2_eslint@5.16.0: + integrity: sha512-vDrcCFE3+2ixNT5H83g28bO/uYAwibJxerXPj+E7op4qzBCsAV36QfvdAyVOoNxKAH2Os/e01T/2x++V0LPukA== + /eslint-plugin-no-null/1.0.2_eslint@6.1.0: dependencies: - eslint: 5.16.0 + eslint: 6.1.0 dev: false engines: node: '>=5.0.0' @@ -3475,27 +3405,36 @@ packages: /eslint-scope/4.0.3: dependencies: esrecurse: 4.2.1 - estraverse: 4.2.0 + estraverse: 4.3.0 dev: false engines: node: '>=4.0.0' resolution: integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + /eslint-scope/5.0.0: + dependencies: + esrecurse: 4.2.1 + estraverse: 4.3.0 + dev: false + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== /eslint-utils/1.4.0: dependencies: - eslint-visitor-keys: 1.0.0 + eslint-visitor-keys: 1.1.0 dev: false engines: node: '>=6' resolution: integrity: sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ== - /eslint-visitor-keys/1.0.0: + /eslint-visitor-keys/1.1.0: dev: false engines: node: '>=4' resolution: - integrity: sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== - /eslint/5.16.0: + integrity: sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + /eslint/6.1.0: dependencies: '@babel/code-frame': 7.5.5 ajv: 6.10.2 @@ -3503,20 +3442,21 @@ packages: cross-spawn: 6.0.5 debug: 4.1.1 doctrine: 3.0.0 - eslint-scope: 4.0.3 + eslint-scope: 5.0.0 eslint-utils: 1.4.0 - eslint-visitor-keys: 1.0.0 - espree: 5.0.1 + eslint-visitor-keys: 1.1.0 + espree: 6.0.0 esquery: 1.0.1 - esutils: 2.0.2 + esutils: 2.0.3 file-entry-cache: 5.0.1 functional-red-black-tree: 1.0.1 - glob: 7.1.4 + glob-parent: 5.0.0 globals: 11.12.0 ignore: 4.0.6 import-fresh: 3.1.0 imurmurhash: 0.1.4 - inquirer: 6.5.0 + inquirer: 6.5.1 + is-glob: 4.0.1 js-yaml: 3.13.1 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.3.0 @@ -3525,30 +3465,30 @@ packages: mkdirp: 0.5.1 natural-compare: 1.4.0 optionator: 0.8.2 - path-is-inside: 1.0.2 progress: 2.0.3 regexpp: 2.0.1 - semver: 5.7.0 - strip-ansi: 4.0.0 - strip-json-comments: 2.0.1 - table: 5.4.4 + semver: 6.3.0 + strip-ansi: 5.2.0 + strip-json-comments: 3.0.1 + table: 5.4.6 text-table: 0.2.0 + v8-compile-cache: 2.1.0 dev: false engines: - node: ^6.14.0 || ^8.10.0 || >=9.10.0 + node: ^8.10.0 || ^10.13.0 || >=11.10.1 hasBin: true resolution: - integrity: sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== - /espree/5.0.1: + integrity: sha512-QhrbdRD7ofuV09IuE2ySWBz0FyXCq0rriLTZXZqaWSI79CVtHVRdkFuFTViiqzZhkCgfOh9USpriuGN2gIpZDQ== + /espree/6.0.0: dependencies: - acorn: 6.2.1 - acorn-jsx: 5.0.1_acorn@6.2.1 - eslint-visitor-keys: 1.0.0 + acorn: 6.3.0 + acorn-jsx: 5.0.1_acorn@6.3.0 + eslint-visitor-keys: 1.1.0 dev: false engines: node: '>=6.0.0' resolution: - integrity: sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== + integrity: sha512-lJvCS6YbCn3ImT3yKkPe0+tJ+mH6ljhGNjHQH9mRtiO6gjhVAOhVXW1yjnwqGwTkK3bGbye+hb00nFNmu0l/1Q== /esprima/2.7.3: dev: false engines: @@ -3565,7 +3505,7 @@ packages: integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== /esquery/1.0.1: dependencies: - estraverse: 4.2.0 + estraverse: 4.3.0 dev: false engines: node: '>=0.6' @@ -3573,7 +3513,7 @@ packages: integrity: sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== /esrecurse/4.2.1: dependencies: - estraverse: 4.2.0 + estraverse: 4.3.0 dev: false engines: node: '>=4.0' @@ -3585,12 +3525,12 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q= - /estraverse/4.2.0: + /estraverse/4.3.0: dev: false engines: - node: '>=0.10.0' + node: '>=4.0' resolution: - integrity: sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== /estree-walker/0.5.2: dev: false resolution: @@ -3599,12 +3539,12 @@ packages: dev: false resolution: integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - /esutils/2.0.2: + /esutils/2.0.3: dev: false engines: node: '>=0.10.0' resolution: - integrity: sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== /etag/1.8.1: dev: false engines: @@ -3628,20 +3568,6 @@ packages: dev: false resolution: integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - /execa/0.7.0: - dependencies: - cross-spawn: 5.1.0 - get-stream: 3.0.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.2 - strip-eof: 1.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= /execa/1.0.0: dependencies: cross-spawn: 6.0.5 @@ -3820,18 +3746,31 @@ packages: dev: false resolution: integrity: sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= + /fetch-mock/7.3.9: + dependencies: + babel-polyfill: 6.26.0 + core-js: 2.6.9 + glob-to-regexp: 0.4.1 + path-to-regexp: 2.4.0 + whatwg-url: 6.5.0 + dev: false + engines: + node: '>=4.0.0' + requiresBuild: true + resolution: + integrity: sha512-PgsTbiQBNapFz2P2UwDl3gowK3nZqfV4HdyDZ1dI4eTGGH9MLAeBglIPbyDbbNQoGYBOfla6/9uaiq7az2z4Aw== /figgy-pudding/3.5.1: dev: false resolution: integrity: sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== - /figures/2.0.0: + /figures/3.0.0: dependencies: escape-string-regexp: 1.0.5 dev: false engines: - node: '>=4' + node: '>=8' resolution: - integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + integrity: sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g== /file-entry-cache/5.0.1: dependencies: flat-cache: 2.0.1 @@ -3840,12 +3779,6 @@ packages: node: '>=4' resolution: integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - /file-type/10.11.0: - dev: false - engines: - node: '>=6' - resolution: - integrity: sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw== /fill-range/4.0.0: dependencies: extend-shallow: 2.0.1 @@ -4063,17 +3996,9 @@ packages: dev: false resolution: integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - /fs-access/1.0.1: - dependencies: - null-check: 1.0.0 - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o= /fs-extra/7.0.1: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 jsonfile: 4.0.0 universalify: 0.1.2 dev: false @@ -4081,19 +4006,19 @@ packages: node: '>=6 <7 || >=8' resolution: integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - /fs-extra/8.0.1: + /fs-extra/8.1.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 jsonfile: 4.0.0 universalify: 0.1.2 dev: false engines: node: '>=6 <7 || >=8' resolution: - integrity: sha512-W+XLrggcDzlle47X/XnS7FXrXu9sDo+Ze9zpndeBxdgv88FHLm1HtmkhEwavruS6koanBjp098rUpHs65EmG7A== + integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== /fs-mkdirp-stream/1.0.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 through2: 2.0.5 dev: false engines: @@ -4102,7 +4027,7 @@ packages: integrity: sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= /fs-write-stream-atomic/1.0.10: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 iferr: 0.1.5 imurmurhash: 0.1.4 readable-stream: 2.3.6 @@ -4166,12 +4091,6 @@ packages: node: '>=4' resolution: integrity: sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - /get-stream/3.0.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= /get-stream/4.1.0: dependencies: pump: 3.0.0 @@ -4180,6 +4099,14 @@ packages: node: '>=6' resolution: integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + /get-stream/5.1.0: + dependencies: + pump: 3.0.0 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== /get-value/2.0.6: dev: false engines: @@ -4224,6 +4151,10 @@ packages: node: '>= 0.10' resolution: integrity: sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= + /glob-to-regexp/0.4.1: + dev: false + resolution: + integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== /glob-watcher/5.0.3: dependencies: anymatch: 2.0.0 @@ -4336,10 +4267,10 @@ packages: node: '>= 0.10' resolution: integrity: sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== - /graceful-fs/4.2.0: + /graceful-fs/4.2.2: dev: false resolution: - integrity: sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== + integrity: sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== /growl/1.10.5: dev: false engines: @@ -4372,18 +4303,21 @@ packages: hasBin: true resolution: integrity: sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== - /gulp-zip/4.2.0: + /gulp-zip/5.0.0_gulp@4.0.2: dependencies: - get-stream: 3.0.0 - plugin-error: 0.1.2 - through2: 2.0.5 + get-stream: 5.1.0 + gulp: 4.0.2 + plugin-error: 1.0.1 + through2: 3.0.1 vinyl: 2.2.0 yazl: 2.5.1 dev: false engines: - node: '>=4' + node: '>=8' + peerDependencies: + gulp: '>=4' resolution: - integrity: sha512-I+697f6jf+PncdTrqfuwoauxgnLG1yHRg3vlmvDgmJuEnlEHy4meBktJ/oHgfyg4tp6X25wuZqUOraVeVg97wQ== + integrity: sha512-oR3t8kn+ccHkSyRcBV5kBLPXrhqTh5d6wBAR7r7wqjNQNBhYvOwPedCwlAaGcNl1qSeXNDn6qOk1Qyxvx9Wrow== /gulp/4.0.2: dependencies: glob-watcher: 5.0.3 @@ -4573,10 +4507,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - /hosted-git-info/2.7.1: + /hosted-git-info/2.8.4: dev: false resolution: - integrity: sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + integrity: sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== /http-errors/1.7.2: dependencies: depd: 1.1.2 @@ -4666,16 +4600,6 @@ packages: node: '>=6' resolution: integrity: sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== - /import-local/1.0.0: - dependencies: - pkg-dir: 2.0.0 - resolve-cwd: 2.0.0 - dev: false - engines: - node: '>=4' - hasBin: true - resolution: - integrity: sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ== /import-local/2.0.0: dependencies: pkg-dir: 3.0.0 @@ -4710,6 +4634,10 @@ packages: dev: false resolution: integrity: sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= + /infer-owner/1.0.4: + dev: false + resolution: + integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== /inflight/1.0.6: dependencies: once: 1.4.0 @@ -4733,26 +4661,26 @@ packages: dev: false resolution: integrity: sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - /inquirer/6.5.0: + /inquirer/6.5.1: dependencies: - ansi-escapes: 3.2.0 + ansi-escapes: 4.2.1 chalk: 2.4.2 - cli-cursor: 2.1.0 + cli-cursor: 3.1.0 cli-width: 2.2.0 external-editor: 3.1.0 - figures: 2.0.0 + figures: 3.0.0 lodash: 4.17.15 - mute-stream: 0.0.7 + mute-stream: 0.0.8 run-async: 2.3.0 rxjs: 6.5.2 - string-width: 2.1.1 + string-width: 4.1.0 strip-ansi: 5.2.0 through: 2.3.8 dev: false engines: node: '>=6.0.0' resolution: - integrity: sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== + integrity: sha512-uxNHBeQhRXIoHWTSNYUFhQVrHYFThIt6IVo2fFmSe8aBwdR3/w6b58hJpiL/fMukFkvGzjg+hSxFtwvVmKZmXw== /interpret/1.2.0: dev: false engines: @@ -4777,6 +4705,12 @@ packages: node: '>=4' resolution: integrity: sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + /ip-regex/2.1.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= /ipaddr.js/1.9.0: dev: false engines: @@ -4808,6 +4742,12 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + /is-arguments/1.0.4: + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== /is-arrayish/0.2.1: dev: false resolution: @@ -4832,12 +4772,6 @@ packages: dev: false resolution: integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - /is-buffer/2.0.2: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-imvkm8cOGKeZ/NwkAd+FAURi0hsL9gr3kvdi0r3MnqChcOdPaQRIOQiOU+sD40XzUIe6nFmSHYtQjbkDvaQbEg== /is-buffer/2.0.3: dev: false engines: @@ -4934,6 +4868,18 @@ packages: node: '>=4' resolution: integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + /is-fullwidth-code-point/3.0.0: + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + /is-generator-function/1.0.7: + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== /is-glob/3.1.0: dependencies: is-extglob: 2.1.1 @@ -5080,6 +5026,12 @@ packages: node: '>=4' resolution: integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + /is-wsl/2.1.0: + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-pFTjpv/x5HRj8kbZ/Msxi9VrvtOMRBqaDi3OIcbwPI3OuH+r3lLxVWukLITBaOGJIbA/w2+M1eVmVa4XNQlAmQ== /isarray/0.0.1: dev: false resolution: @@ -5144,7 +5096,7 @@ packages: '@babel/traverse': 7.5.5 '@babel/types': 7.5.5 istanbul-lib-coverage: 2.0.5 - semver: 6.2.0 + semver: 6.3.0 dev: false engines: node: '>=6' @@ -5165,7 +5117,7 @@ packages: debug: 4.1.1 istanbul-lib-coverage: 2.0.5 make-dir: 2.1.0 - rimraf: 2.6.3 + rimraf: 2.7.1 source-map: 0.6.1 dev: false engines: @@ -5204,19 +5156,23 @@ packages: hasBin: true resolution: integrity: sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs= - /jest-worker/24.6.0: + /jest-worker/24.9.0: dependencies: - merge-stream: 1.0.1 + merge-stream: 2.0.0 supports-color: 6.1.0 dev: false engines: node: '>= 6' resolution: - integrity: sha512-jDwgW5W9qGNvpI1tNnvajh0a5IE/PuGLFmHk6aR/BZFz8tSgGw17GsDPXAJ6p91IvYDjOw8GpFbvvZGAK+DPQQ== + integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== /jju/1.4.0: dev: false resolution: integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo= + /js-base64/2.5.1: + dev: false + resolution: + integrity: sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== /js-tokens/3.0.2: dev: false resolution: @@ -5304,13 +5260,9 @@ packages: /jsonfile/4.0.0: dev: false optionalDependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 resolution: integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - /jsonify/0.0.0: - dev: false - resolution: - integrity: sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= /jsonparse/1.2.0: dev: false engines: @@ -5365,13 +5317,12 @@ packages: karma: '>=0.10.9' resolution: integrity: sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o= - /karma-chrome-launcher/2.2.0: + /karma-chrome-launcher/3.1.0: dependencies: - fs-access: 1.0.1 which: 1.3.1 dev: false resolution: - integrity: sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w== + integrity: sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg== /karma-coverage/1.1.2: dependencies: dateformat: 1.0.12 @@ -5397,10 +5348,12 @@ packages: dev: false resolution: integrity: sha1-u+jIfVnADtt2BwvTwxtLOdXcfhU= - /karma-firefox-launcher/1.1.0: + /karma-firefox-launcher/1.2.0: + dependencies: + is-wsl: 2.1.0 dev: false resolution: - integrity: sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA== + integrity: sha512-j9Zp8M8+VLq1nI/5xZGfzeaEPtGQ/vk3G+Y8vpmFWLvKLNZ2TDjD6cu2dUu7lDbu1HXNgatsAX4jgCZTkR9qhQ== /karma-ie-launcher/1.0.0_karma@4.2.0: dependencies: karma: 4.2.0 @@ -5462,11 +5415,11 @@ packages: karma-coverage: '>=0.5.4' resolution: integrity: sha512-FM5h8eHcHbMMR+2INBUxD+4+wUbkCnobfn5uWprkLyj6Xcm2MRFQOuAJn9h2H13nNso6rk+QoNpHd5xCevlPOw== - /karma-rollup-preprocessor/7.0.2_rollup@1.17.0: + /karma-rollup-preprocessor/7.0.2_rollup@1.19.4: dependencies: chokidar: 3.0.2 debounce: 1.2.0 - rollup: 1.17.0 + rollup: 1.19.4 dev: false engines: node: '>= 8.0.0' @@ -5476,13 +5429,13 @@ packages: integrity: sha512-A+kr5FoiMr/S8dIPij/nuzB9PLhkrh3umFowjumAOKBDVQRhPYs3kKmQ82hP3+2MB6CICqeB4MmiIE4iTwUmDQ== /karma-sourcemap-loader/0.3.7: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 dev: false resolution: integrity: sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg= /karma-typescript-es6-transform/4.1.1: dependencies: - acorn: 6.2.1 + acorn: 6.3.0 acorn-walk: 6.2.0 babel-core: 6.26.3 babel-preset-env: 1.7.0 @@ -5491,15 +5444,15 @@ packages: dev: false resolution: integrity: sha512-WTGGThwufBT73c20q30iTcXq8Jb3Wat/h+JW1lwKgMtymT5rVxLknoaUVNfenaV3+cRMiTEsBT773kz9jWk6IQ== - /karma-webpack/4.0.2_webpack@4.36.1: + /karma-webpack/4.0.2_webpack@4.39.2: dependencies: clone-deep: 4.0.1 loader-utils: 1.2.3 neo-async: 2.6.1 schema-utils: 1.0.0 source-map: 0.7.3 - webpack: 4.36.1_webpack@4.36.1 - webpack-dev-middleware: 3.7.0_webpack@4.36.1 + webpack: 4.39.2_webpack@4.39.2 + webpack-dev-middleware: 3.7.0_webpack@4.39.2 dev: false engines: node: '>= 8.9.0' @@ -5515,12 +5468,12 @@ packages: chokidar: 3.0.2 colors: 1.3.3 connect: 3.7.0 - core-js: 3.1.4 + core-js: 3.2.1 di: 0.0.1 dom-serialize: 2.2.1 flatted: 2.0.1 glob: 7.1.4 - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 http-proxy: 1.17.0 isbinaryfile: 3.0.3 lodash: 4.17.15 @@ -5530,7 +5483,7 @@ packages: optimist: 0.6.1 qjobs: 1.2.0 range-parser: 1.2.1 - rimraf: 2.6.3 + rimraf: 2.7.1 safe-buffer: 5.2.0 socket.io: 2.1.1 source-map: 0.6.1 @@ -5635,7 +5588,7 @@ packages: is-plain-object: 2.0.4 object.map: 1.0.1 rechoir: 0.6.2 - resolve: 1.11.1 + resolve: 1.12.0 dev: false engines: node: '>= 0.8' @@ -5650,7 +5603,7 @@ packages: integrity: sha512-wzUvdIeJZhRsG6gpZfmSCfysaxNEr43i+QT+Hie94wvHDKFLi4n7C2GqZ4sTC+PH5b5iktmXJvU87rWvhP3lHw== /load-json-file/1.1.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 parse-json: 2.2.0 pify: 2.3.0 pinkie-promise: 2.0.1 @@ -5662,7 +5615,7 @@ packages: integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= /load-json-file/4.0.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -5721,6 +5674,10 @@ packages: dev: false resolution: integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + /lodash.sortby/4.7.0: + dev: false + resolution: + integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= /lodash.unescape/4.0.1: dev: false resolution: @@ -5767,10 +5724,10 @@ packages: node: '>= 0.6.0' resolution: integrity: sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA== - /lolex/4.1.0: + /lolex/4.2.0: dev: false resolution: - integrity: sha512-BYxIEXiVq5lGIXeVHnsFzqa1TxN5acnKnPCdlZSpzm8viNEOhiigupA4vTQ9HEFQ6nLTQ9wQOgBknJgzUYQ9Aw== + integrity: sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg== /long/4.0.0: dev: false resolution: @@ -5816,18 +5773,10 @@ packages: dev: false resolution: integrity: sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== - /make-dir/1.3.0: - dependencies: - pify: 3.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== /make-dir/2.1.0: dependencies: pify: 4.0.1 - semver: 5.7.0 + semver: 5.7.1 dev: false engines: node: '>=6' @@ -5891,7 +5840,7 @@ packages: dependencies: findup-sync: 2.0.0 micromatch: 3.1.10 - resolve: 1.11.1 + resolve: 1.12.0 stack-trace: 0.0.10 dev: false engines: @@ -5940,14 +5889,6 @@ packages: node: '>= 0.6' resolution: integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - /mem/1.1.0: - dependencies: - mimic-fn: 1.2.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= /mem/4.3.0: dependencies: map-age-cleaner: 0.1.3 @@ -5988,22 +5929,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - /meow/4.0.1: - dependencies: - camelcase-keys: 4.2.0 - decamelize-keys: 1.1.0 - loud-rejection: 1.6.0 - minimist: 1.2.0 - minimist-options: 3.0.2 - normalize-package-data: 2.5.0 - read-pkg-up: 3.0.0 - redent: 2.0.0 - trim-newlines: 2.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== /meow/5.0.0: dependencies: camelcase-keys: 4.2.0 @@ -6030,12 +5955,10 @@ packages: dev: false resolution: integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - /merge-stream/1.0.1: - dependencies: - readable-stream: 2.3.6 + /merge-stream/2.0.0: dev: false resolution: - integrity: sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== /methods/1.1.2: dev: false engines: @@ -6062,10 +5985,19 @@ packages: node: '>=0.10.0' resolution: integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - /miller-rabin/4.0.1: + /micromatch/4.0.2: dependencies: - bn.js: 4.11.8 - brorand: 1.1.0 + braces: 3.0.2 + picomatch: 2.0.7 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + /miller-rabin/4.0.1: + dependencies: + bn.js: 4.11.8 + brorand: 1.1.0 dev: false hasBin: true resolution: @@ -6098,12 +6030,6 @@ packages: hasBin: true resolution: integrity: sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== - /mimic-fn/1.2.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== /mimic-fn/2.1.0: dev: false engines: @@ -6184,29 +6110,24 @@ packages: hasBin: true resolution: integrity: sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - /mocha-chrome/1.1.0: + /mocha-chrome/2.0.0: dependencies: - babel-plugin-transform-es2015-destructuring: 6.23.0 - babel-plugin-transform-es2015-parameters: 6.24.1 - babel-polyfill: 6.26.0 - babel-preset-env: 1.7.0 - babel-register: 6.26.0 chalk: 2.4.2 chrome-launcher: 0.10.7 - chrome-remote-interface: 0.25.7 + chrome-remote-interface: 0.27.2 chrome-unmirror: 0.1.0 - debug: 3.2.6 - deep-assign: 2.0.0 - import-local: 1.0.0 + debug: 4.1.1 + deep-assign: 3.0.0 + import-local: 2.0.0 loglevel: 1.6.3 - meow: 4.0.1 + meow: 5.0.0 nanobus: 4.4.0 dev: false engines: - node: '>= 7.6.0' + node: '>= 8.0.0' hasBin: true resolution: - integrity: sha512-Zk1HvDF13TLOBH2sML+4T1o5Z3nwUYN9ah3gz4TUrnwx7Sdk0N+rq5n+uzw0/3BAQH9aejPCJILWoWi7HW0qyw== + integrity: sha512-Kq6W9jdXY3C2PhNHtSrk3GnDuoAKN+DbgJKCLfXtc5cql8oHB8+rUYlq9t1c8in6vQ6/X432E/U8h0pV5QlAug== /mocha-junit-reporter/1.23.1_mocha@5.2.0: dependencies: debug: 2.6.9 @@ -6271,35 +6192,11 @@ packages: copy-concurrently: 1.0.5 fs-write-stream-atomic: 1.0.10 mkdirp: 0.5.1 - rimraf: 2.6.3 + rimraf: 2.7.1 run-queue: 1.0.3 dev: false resolution: integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - /ms-rest-azure/2.6.0: - dependencies: - adal-node: 0.1.28 - async: 2.6.0 - moment: 2.24.0 - ms-rest: 2.5.3 - request: 2.88.0 - uuid: 3.3.2 - dev: false - resolution: - integrity: sha512-J6386a9krZ4VtU7CRt+Ypgo9RGf8+d3gjMBkH7zbkM4zzkhbbMOYiPRaZ+bHZcfihkKLlktTgA6rjshTjF329A== - /ms-rest/2.5.3: - dependencies: - duplexer: 0.1.1 - is-buffer: 1.1.6 - is-stream: 1.1.0 - moment: 2.24.0 - request: 2.88.0 - through: 2.3.8 - tunnel: 0.0.5 - uuid: 3.3.2 - dev: false - resolution: - integrity: sha512-p0CnzrTzEkS8UTEwgCqT2O5YVK9E8KGBBlJVm3hFtMZvf0dmncKYXWFPyUa4PAsfBL7h4jfu39tOIFTu6exntg== /ms/2.0.0: dev: false resolution: @@ -6312,16 +6209,25 @@ packages: dev: false resolution: integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + /msal/1.0.2: + dependencies: + js-base64: 2.5.1 + tslib: 1.10.0 + dev: false + engines: + node: '>=0.8.0' + resolution: + integrity: sha512-jWbuqLg0jFWj/Wy9A9LbJahuDguQI1KI4y06HOG7OFKHWdXJ8DJCgbwlCSoq2nUM0cbGfhsYX6MRDxJ7R3ZrAg== /mute-stdout/1.0.1: dev: false engines: node: '>= 0.10' resolution: integrity: sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== - /mute-stream/0.0.7: + /mute-stream/0.0.8: dev: false resolution: - integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== /nan/2.14.0: dev: false optional: true @@ -6396,16 +6302,16 @@ packages: dev: false resolution: integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - /nise/1.5.0: + /nise/1.5.1: dependencies: '@sinonjs/formatio': 3.2.1 '@sinonjs/text-encoding': 0.7.1 just-extend: 4.0.2 - lolex: 4.1.0 + lolex: 4.2.0 path-to-regexp: 1.7.0 dev: false resolution: - integrity: sha512-Z3sfYEkLFzFmL8KY6xnSJLRxwQwYBjOXi/24lb62ZnZiGA0JUzGGTI6TBIgfCSMIDl9Jlu8SRmHNACLTemDHww== + integrity: sha512-edFWm0fsFG2n318rfEnKlTZTkjlbVOFF9XIA+fj+Ed+Qz1laYW2lobwavWoMzGrYDHH1EpiNJgDfvGnkZztR/g== /nock/10.0.6: dependencies: chai: 4.2.0 @@ -6416,12 +6322,18 @@ packages: mkdirp: 0.5.1 propagate: 1.0.0 qs: 6.7.0 - semver: 5.7.0 + semver: 5.7.1 dev: false engines: node: '>= 6.0' resolution: integrity: sha512-b47OWj1qf/LqSQYnmokNWM8D88KvUl2y7jT0567NB3ZBAZFz2bWp2PC81Xn7u8F2/vJxzkzNZybnemeFa7AZ2w== + /node-fetch/2.6.0: + dev: false + engines: + node: 4.x || >=6.0.0 + resolution: + integrity: sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== /node-libs-browser/2.2.1: dependencies: assert: 1.5.0 @@ -6441,8 +6353,8 @@ packages: readable-stream: 2.3.6 stream-browserify: 2.0.2 stream-http: 2.8.3 - string_decoder: 1.2.0 - timers-browserify: 2.0.10 + string_decoder: 1.3.0 + timers-browserify: 2.0.11 tty-browserify: 0.0.0 url: 0.11.0 util: 0.11.1 @@ -6459,9 +6371,9 @@ packages: integrity: sha1-xkZdvwirzU2zWTF/eaxopkayj/k= /normalize-package-data/2.5.0: dependencies: - hosted-git-info: 2.7.1 - resolve: 1.11.1 - semver: 5.7.0 + hosted-git-info: 2.8.4 + resolve: 1.12.0 + semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: false resolution: @@ -6497,7 +6409,7 @@ packages: minimatch: 3.0.4 pidtree: 0.3.0 read-pkg: 3.0.0 - shell-quote: 1.6.1 + shell-quote: 1.7.1 string.prototype.padend: 3.0.0 dev: false engines: @@ -6513,12 +6425,6 @@ packages: node: '>=4' resolution: integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - /null-check/1.0.0: - dev: false - engines: - node: '>=0.10.0' - resolution: - integrity: sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= /number-is-nan/1.0.1: dev: false engines: @@ -6545,7 +6451,7 @@ packages: make-dir: 2.1.0 merge-source-map: 1.1.0 resolve-from: 4.0.0 - rimraf: 2.6.3 + rimraf: 2.7.1 signal-exit: 3.0.2 spawn-wrap: 1.4.2 test-exclude: 5.2.3 @@ -6618,6 +6524,17 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + /object.entries/1.1.0: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.13.0 + function-bind: 1.1.1 + has: 1.0.3 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== /object.map/1.0.1: dependencies: for-own: 1.0.0 @@ -6658,14 +6575,14 @@ packages: dev: false resolution: integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - /onetime/2.0.1: + /onetime/5.1.0: dependencies: - mimic-fn: 1.2.0 + mimic-fn: 2.1.0 dev: false engines: - node: '>=4' + node: '>=6' resolution: - integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + integrity: sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== /open/6.4.0: dependencies: is-wsl: 1.1.0 @@ -6674,19 +6591,6 @@ packages: node: '>=8' resolution: integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== - /opn-cli/4.1.0: - dependencies: - file-type: 10.11.0 - get-stdin: 6.0.0 - meow: 5.0.0 - open: 6.4.0 - temp-write: 3.4.0 - dev: false - engines: - node: '>=8' - hasBin: true - resolution: - integrity: sha512-nVJ9dVb4fEKtmACWxUql+hhQxVWMt7BSRT+6TnB85W3xs5Pgk9sKW3icYeCIwOtOKALBw/6WUCoNmI1+ADfAow== /optimist/0.6.1: dependencies: minimist: 0.0.10 @@ -6731,16 +6635,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - /os-locale/2.1.0: - dependencies: - execa: 0.7.0 - lcid: 1.0.0 - mem: 1.1.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== /os-locale/3.1.0: dependencies: execa: 1.0.0 @@ -6821,7 +6715,7 @@ packages: integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== /package-hash/3.0.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 hasha: 3.0.0 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 @@ -6956,10 +6850,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - /path-is-inside/1.0.2: - dev: false - resolution: - integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= /path-key/2.0.1: dev: false engines: @@ -6994,9 +6884,13 @@ packages: dev: false resolution: integrity: sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= + /path-to-regexp/2.4.0: + dev: false + resolution: + integrity: sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w== /path-type/1.1.0: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 pify: 2.3.0 pinkie-promise: 2.0.1 dev: false @@ -7081,14 +6975,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - /pkg-dir/2.0.0: - dependencies: - find-up: 2.1.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= /pkg-dir/3.0.0: dependencies: find-up: 3.0.0 @@ -7109,6 +6995,17 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4= + /plugin-error/1.0.1: + dependencies: + ansi-colors: 1.1.0 + arr-diff: 4.0.0 + arr-union: 3.1.0 + extend-shallow: 3.0.2 + dev: false + engines: + node: '>= 0.10' + resolution: + integrity: sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== /posix-character-classes/0.1.1: dev: false engines: @@ -7134,10 +7031,6 @@ packages: node: '>= 0.8' resolution: integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - /priorityqueuejs/1.0.0: - dev: false - resolution: - integrity: sha1-LuTyPCVgkT4IwHzlzN1t498sWvg= /private/0.1.8: dev: false engines: @@ -7205,10 +7098,10 @@ packages: dev: false resolution: integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - /psl/1.2.0: + /psl/1.3.0: dev: false resolution: - integrity: sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA== + integrity: sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== /public-encrypt/4.0.3: dependencies: bn.js: 4.11.8 @@ -7256,15 +7149,15 @@ packages: node: '>=6' resolution: integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - /pupa/2.0.0: + /pupa/2.0.1: dependencies: escape-goat: 2.1.0 dev: false engines: node: '>=8' resolution: - integrity: sha512-xxy6mj9KTirR7fpsdXrIaC4oUb/uvFfchrC4K3RFxYLQ/G05RlhJIKFF2ayCQnNaFI+fOxGWzEVUhYMXHNljeQ== - /puppeteer/1.18.1: + integrity: sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA== + /puppeteer/1.19.0: dependencies: debug: 4.1.1 extract-zip: 1.6.7 @@ -7272,14 +7165,14 @@ packages: mime: 2.4.4 progress: 2.0.3 proxy-from-env: 1.0.0 - rimraf: 2.6.3 + rimraf: 2.7.1 ws: 6.2.1 dev: false engines: node: '>=6.4.0' requiresBuild: true resolution: - integrity: sha512-luUy0HPSuWPsPZ1wAp6NinE0zgetWtudf5zwZ6dHjMWfYpTQcmKveFRox7VBNhQ98OjNA9PQ9PzQyX8k/KrxTg== + integrity: sha512-2S6E6ygpoqcECaagDbBopoSOPDv0pAZvTbnBgUY+6hq0/XDFDOLEMNlHF/SKJlzcaZ9ckiKjKDuueWI3FN/WXw== /qjobs/1.2.0: dev: false engines: @@ -7426,9 +7319,19 @@ packages: dev: false resolution: integrity: sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + /readable-stream/3.4.0: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + engines: + node: '>= 6' + resolution: + integrity: sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== /readdirp/2.2.1: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 micromatch: 3.1.10 readable-stream: 2.3.6 dev: false @@ -7436,17 +7339,17 @@ packages: node: '>=0.10' resolution: integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - /readdirp/3.1.1: + /readdirp/3.1.2: dependencies: picomatch: 2.0.7 dev: false engines: node: '>= 8' resolution: - integrity: sha512-XXdSXZrQuvqoETj50+JAitxz1UPdt5dupjT6T5nVB+WvjMv2XKYj+s7hPeAVCXvmJrL36O4YYyWlIC3an2ePiQ== + integrity: sha512-8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw== /rechoir/0.6.2: dependencies: - resolve: 1.11.1 + resolve: 1.12.0 dev: false engines: node: '>= 0.10' @@ -7482,6 +7385,10 @@ packages: dev: false resolution: integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + /regenerator-runtime/0.13.3: + dev: false + resolution: + integrity: sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== /regenerator-transform/0.10.1: dependencies: babel-runtime: 6.26.0 @@ -7648,13 +7555,6 @@ packages: dev: false resolution: integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - /requirejs/2.3.6: - dev: false - engines: - node: '>=0.4.0' - hasBin: true - resolution: - integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg== /requires-port/1.0.0: dev: false resolution: @@ -7704,27 +7604,27 @@ packages: dev: false resolution: integrity: sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - /resolve/1.11.1: + /resolve/1.12.0: dependencies: path-parse: 1.0.6 dev: false resolution: - integrity: sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== + integrity: sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== /resolve/1.8.1: dependencies: path-parse: 1.0.6 dev: false resolution: integrity: sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== - /restore-cursor/2.0.0: + /restore-cursor/3.1.0: dependencies: - onetime: 2.0.1 + onetime: 5.1.0 signal-exit: 3.0.2 dev: false engines: - node: '>=4' + node: '>=8' resolution: - integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== /ret/0.1.15: dev: false engines: @@ -7743,6 +7643,14 @@ packages: dev: false resolution: integrity: sha512-+6uilZXSJGyiqVeHQI3Krv6NTAd8cWRCY2uyCxmzR4/5IFtBqqFem1HV2OiwSj0Gu7OFChIJDfH2JyjN7J0vRA== + /rhea-promise/1.0.0: + dependencies: + debug: 3.2.6 + rhea: 1.0.8 + tslib: 1.10.0 + dev: false + resolution: + integrity: sha512-odAjpbB/IpFFBenPDwPkTWMQldt+DUlMBH9yI48Ct5OgTeDuuQcBnlhB+YCc6g2z8+URiP2ejms88joEanNCaw== /rhea/1.0.8: dependencies: debug: 3.2.6 @@ -7756,6 +7664,13 @@ packages: hasBin: true resolution: integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + /rimraf/2.7.1: + dependencies: + glob: 7.1.4 + dev: false + hasBin: true + resolution: + integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== /ripemd160/2.0.2: dependencies: hash-base: 3.0.4 @@ -7769,27 +7684,27 @@ packages: dev: false resolution: integrity: sha512-ODeZXhTxpD48sfcYLAFc1BGrsXKDj7o1CSNH3uYbdK3o0NxyMmaQPTNgW+ko+am92DLC8QSTe4kyxTuEkI5S5w== - /rollup-plugin-commonjs/10.0.1_rollup@1.17.0: + /rollup-plugin-commonjs/10.0.2_rollup@1.19.4: dependencies: estree-walker: 0.6.1 is-reference: 1.1.3 magic-string: 0.25.3 - resolve: 1.11.1 - rollup: 1.17.0 + resolve: 1.12.0 + rollup: 1.19.4 rollup-pluginutils: 2.8.1 dev: false peerDependencies: rollup: '>=1.12.0' resolution: - integrity: sha512-x0PcCVdEc4J8igv1qe2vttz8JKAKcTs3wfIA3L8xEty3VzxgORLrzZrNWaVMc+pBC4U3aDOb9BnWLAQ8J11vkA== - /rollup-plugin-inject/3.0.0: + integrity: sha512-DxeR4QXTgTOFseYls1V7vgKbrSJmPYNdEMOs0OvH+7+89C3GiIonU9gFrE0u39Vv1KWm3wepq8KAvKugtoM2Zw== + /rollup-plugin-inject/3.0.1: dependencies: estree-walker: 0.6.1 magic-string: 0.25.3 rollup-pluginutils: 2.8.1 dev: false resolution: - integrity: sha512-euo9UmiJDxyGPjlHecpOZjUcBOOzaI5fbnqmFulG0I8k3or4JMi7UHDcRCcjkeDORF966jsA2qYbvXrgrmgCuw== + integrity: sha512-zF0jOuSpBxdLwAeDsS/+zGYgseaoH9LwqRNsByuzmE3bxfQ4Pg2gDoXGGWiia7iFyA8nLT+6iHrAqQYtH3Olow== /rollup-plugin-json/4.0.0: dependencies: rollup-pluginutils: 2.8.1 @@ -7813,13 +7728,13 @@ packages: dev: false resolution: integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g== - /rollup-plugin-node-resolve/5.2.0_rollup@1.17.0: + /rollup-plugin-node-resolve/5.2.0_rollup@1.19.4: dependencies: '@types/resolve': 0.0.8 builtin-modules: 3.1.0 is-module: 1.0.0 - resolve: 1.11.1 - rollup: 1.17.0 + resolve: 1.12.0 + rollup: 1.19.4 rollup-pluginutils: 2.8.1 dev: false peerDependencies: @@ -7833,17 +7748,13 @@ packages: dev: false resolution: integrity: sha512-/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA== - /rollup-plugin-resolve/0.0.1-predev.1: - dev: false - resolution: - integrity: sha1-y38ZZCoXQZEBxnHhqMLNp696xB0= /rollup-plugin-shim/1.0.0: dev: false resolution: integrity: sha512-rZqFD43y4U9nSqVq3iyWBiDwmBQJY8Txi04yI9jTKD3xcl7CbFjh1qRpQshUB3sONLubDzm7vJiwB+1MEGv67w== - /rollup-plugin-sourcemaps/0.4.2_rollup@1.17.0: + /rollup-plugin-sourcemaps/0.4.2_rollup@1.19.4: dependencies: - rollup: 1.17.0 + rollup: 1.19.4 rollup-pluginutils: 2.8.1 source-map-resolve: 0.5.2 dev: false @@ -7854,24 +7765,24 @@ packages: rollup: '>=0.31.2' resolution: integrity: sha1-YhJaqUCHqt97g+9N+vYptHMTXoc= - /rollup-plugin-terser/5.1.1_rollup@1.17.0: + /rollup-plugin-terser/5.1.1_rollup@1.19.4: dependencies: '@babel/code-frame': 7.5.5 - jest-worker: 24.6.0 - rollup: 1.17.0 + jest-worker: 24.9.0 + rollup: 1.19.4 rollup-pluginutils: 2.8.1 serialize-javascript: 1.7.0 - terser: 4.1.2 + terser: 4.1.4 dev: false peerDependencies: rollup: '>=0.66.0 <2' resolution: integrity: sha512-McIMCDEY8EU6Y839C09UopeRR56wXHGdvKKjlfiZG/GrP6wvZQ62u2ko/Xh1MNH2M9WDL+obAAHySljIZYCuPQ== - /rollup-plugin-uglify/6.0.2_rollup@1.17.0: + /rollup-plugin-uglify/6.0.2_rollup@1.19.4: dependencies: '@babel/code-frame': 7.5.5 - jest-worker: 24.6.0 - rollup: 1.17.0 + jest-worker: 24.9.0 + rollup: 1.19.4 serialize-javascript: 1.7.0 uglify-js: 3.6.0 dev: false @@ -7879,12 +7790,12 @@ packages: rollup: '>=0.66.0 <2' resolution: integrity: sha512-qwz2Tryspn5QGtPUowq5oumKSxANKdrnfz7C0jm4lKxvRDsNe/hSGsB9FntUul7UeC4TsZEWKErVgE1qWSO0gw== - /rollup-plugin-visualizer/2.5.3_rollup@1.17.0: + /rollup-plugin-visualizer/2.5.4_rollup@1.19.4: dependencies: mkdirp: 0.5.1 open: 6.4.0 - pupa: 2.0.0 - rollup: 1.17.0 + pupa: 2.0.1 + rollup: 1.19.4 source-map: 0.7.3 dev: false engines: @@ -7892,22 +7803,22 @@ packages: peerDependencies: rollup: '>=0.60.0' resolution: - integrity: sha512-DIEN4EL/a1S6zq2AnoD8gkzN0jUR+rhQCKjyHFtocYWiaghOsXEtG+EPxp+4iGCoMvvvVUHrt4FK/inmktuyBQ== + integrity: sha512-ehMX8Us4UmHmt9y6uvBdtW3ASAQDqCcmp07Qrm8dBqQMf1eAd89Rc/owGZr0cDp764dvLKQRA03W+nWlRajl4w== /rollup-pluginutils/2.8.1: dependencies: estree-walker: 0.6.1 dev: false resolution: integrity: sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== - /rollup/1.17.0: + /rollup/1.19.4: dependencies: '@types/estree': 0.0.39 - '@types/node': 12.6.8 - acorn: 6.2.1 + '@types/node': 12.7.2 + acorn: 6.3.0 dev: false hasBin: true resolution: - integrity: sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw== + integrity: sha512-G24w409GNj7i/Yam2cQla6qV2k6Nug8bD2DZg9v63QX/cH/dEdbNJg8H4lUm5M1bRpPKRUC465Rm9H51JTKOfQ== /run-async/2.3.0: dependencies: is-promise: 2.1.0 @@ -7966,12 +7877,6 @@ packages: node: '>= 4' resolution: integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - /semaphore/1.0.5: - dev: false - engines: - node: '>=0.8.0' - resolution: - integrity: sha1-tJJXbmavGT25XWXiXsU/Xxl5jWA= /semver-greatest-satisfied-range/1.1.0: dependencies: sver-compat: 1.5.0 @@ -7980,21 +7885,16 @@ packages: node: '>= 0.10' resolution: integrity: sha1-E+jCZYq5aRywzXEJMkAoDTb3els= - /semver/5.5.0: - dev: false - hasBin: true - resolution: - integrity: sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA== - /semver/5.7.0: + /semver/5.7.1: dev: false hasBin: true resolution: - integrity: sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== - /semver/6.2.0: + integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + /semver/6.3.0: dev: false hasBin: true resolution: - integrity: sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== + integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== /send/0.17.1: dependencies: debug: 2.6.9 @@ -8083,15 +7983,10 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - /shell-quote/1.6.1: - dependencies: - array-filter: 0.0.1 - array-map: 0.0.0 - array-reduce: 0.0.0 - jsonify: 0.0.0 + /shell-quote/1.7.1: dev: false resolution: - integrity: sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= + integrity: sha512-2kUqeAGnMAu6YrTPX4E3LfxacH9gKljzVjlkUeSqY0soGwK4KLl7TURXCem712tkhBCeeaFP9QK4dKn88s3Icg== /shelljs/0.8.3: dependencies: glob: 7.1.4 @@ -8118,18 +8013,18 @@ packages: dev: false resolution: integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - /sinon/7.3.2: + /sinon/7.4.1: dependencies: '@sinonjs/commons': 1.4.0 '@sinonjs/formatio': 3.2.1 '@sinonjs/samsam': 3.3.2 diff: 3.5.0 - lolex: 4.1.0 - nise: 1.5.0 + lolex: 4.2.0 + nise: 1.5.1 supports-color: 5.5.0 dev: false resolution: - integrity: sha512-thErC1z64BeyGiPvF8aoSg0LEnptSaWE7YhdWWbWXgelOyThent7uKOnnEh9zBxDbKixtr5dEko+ws1sZMuFMA== + integrity: sha512-7s9buHGHN/jqoy/v4bJgmt0m1XEkCEd/tqdHXumpBp0JSujaT4Ng84JU5wDdK4E85ZMq78NuDe0I3NAqXY8TFg== /slash/1.0.0: dev: false engines: @@ -8247,13 +8142,13 @@ packages: dev: false resolution: integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - /source-map-support/0.5.12: + /source-map-support/0.5.13: dependencies: buffer-from: 1.1.1 source-map: 0.6.1 dev: false resolution: - integrity: sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== + integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== /source-map-url/0.4.0: dev: false resolution: @@ -8300,7 +8195,7 @@ packages: foreground-child: 1.5.6 mkdirp: 0.5.1 os-homedir: 1.0.2 - rimraf: 2.6.3 + rimraf: 2.7.1 signal-exit: 3.0.2 which: 1.3.1 dev: false @@ -8453,15 +8348,6 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - /string-width/2.1.1: - dependencies: - is-fullwidth-code-point: 2.0.0 - strip-ansi: 4.0.0 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== /string-width/3.1.0: dependencies: emoji-regex: 7.0.3 @@ -8472,6 +8358,16 @@ packages: node: '>=6' resolution: integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + /string-width/4.1.0: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 5.2.0 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== /string.prototype.padend/3.0.0: dependencies: define-properties: 1.1.3 @@ -8492,12 +8388,12 @@ packages: dev: false resolution: integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - /string_decoder/1.2.0: + /string_decoder/1.3.0: dependencies: - safe-buffer: 5.1.2 + safe-buffer: 5.2.0 dev: false resolution: - integrity: sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== /strip-ansi/3.0.1: dependencies: ansi-regex: 2.1.1 @@ -8557,12 +8453,12 @@ packages: node: '>=4' resolution: integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - /strip-json-comments/2.0.1: + /strip-json-comments/3.0.1: dev: false engines: - node: '>=0.10.0' + node: '>=8' resolution: - integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= + integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== /supports-color/2.0.0: dev: false engines: @@ -8608,7 +8504,7 @@ packages: dev: false resolution: integrity: sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= - /table/5.4.4: + /table/5.4.6: dependencies: ajv: 6.10.2 lodash: 4.17.15 @@ -8618,44 +8514,24 @@ packages: engines: node: '>=6.0.0' resolution: - integrity: sha512-IIfEAUx5QlODLblLrGTTLJA7Tk0iLSGBvgY8essPRVNGHAzThujww1YqHLs6h3HfTg55h++RzLHH5Xw/rfv+mg== + integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== /tapable/1.1.3: dev: false engines: node: '>=6' resolution: integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - /temp-dir/1.0.0: - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= - /temp-write/3.4.0: - dependencies: - graceful-fs: 4.2.0 - is-stream: 1.1.0 - make-dir: 1.3.0 - pify: 3.0.0 - temp-dir: 1.0.0 - uuid: 3.3.2 - dev: false - engines: - node: '>=4' - resolution: - integrity: sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI= - /terser-webpack-plugin/1.3.0_webpack@4.36.1: + /terser-webpack-plugin/1.4.1_webpack@4.39.2: dependencies: - cacache: 11.3.3 + cacache: 12.0.2 find-cache-dir: 2.1.0 is-wsl: 1.1.0 - loader-utils: 1.2.3 schema-utils: 1.0.0 serialize-javascript: 1.7.0 source-map: 0.6.1 - terser: 4.1.2 - webpack: 4.36.1_webpack@4.36.1 - webpack-sources: 1.3.0 + terser: 4.1.4 + webpack: 4.39.2_webpack@4.39.2 + webpack-sources: 1.4.3 worker-farm: 1.7.0 dev: false engines: @@ -8663,18 +8539,18 @@ packages: peerDependencies: webpack: ^4.0.0 resolution: - integrity: sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== - /terser/4.1.2: + integrity: sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== + /terser/4.1.4: dependencies: commander: 2.20.0 source-map: 0.6.1 - source-map-support: 0.5.12 + source-map-support: 0.5.13 dev: false engines: node: '>=6.0.0' hasBin: true resolution: - integrity: sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw== + integrity: sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg== /test-exclude/5.2.3: dependencies: glob: 7.1.4 @@ -8715,20 +8591,26 @@ packages: dev: false resolution: integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + /through2/3.0.1: + dependencies: + readable-stream: 3.4.0 + dev: false + resolution: + integrity: sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== /time-stamp/1.1.0: dev: false engines: node: '>=0.10.0' resolution: integrity: sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= - /timers-browserify/2.0.10: + /timers-browserify/2.0.11: dependencies: setimmediate: 1.0.5 dev: false engines: node: '>=0.6.0' resolution: - integrity: sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + integrity: sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== /tmp/0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -8818,7 +8700,7 @@ packages: integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== /tough-cookie/2.4.3: dependencies: - psl: 1.2.0 + psl: 1.3.0 punycode: 1.4.1 dev: false engines: @@ -8827,13 +8709,29 @@ packages: integrity: sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== /tough-cookie/2.5.0: dependencies: - psl: 1.2.0 + psl: 1.3.0 punycode: 2.1.1 dev: false engines: node: '>=0.8' resolution: integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + /tough-cookie/3.0.1: + dependencies: + ip-regex: 2.1.0 + psl: 1.3.0 + punycode: 2.1.1 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + /tr46/1.0.1: + dependencies: + punycode: 2.1.1 + dev: false + resolution: + integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= /trim-newlines/1.0.0: dev: false engines: @@ -8852,21 +8750,21 @@ packages: node: '>=0.10.0' resolution: integrity: sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - /ts-loader/5.4.5_typescript@3.5.3: + /ts-loader/6.0.4_typescript@3.5.3: dependencies: chalk: 2.4.2 enhanced-resolve: 4.1.0 loader-utils: 1.2.3 - micromatch: 3.1.10 - semver: 5.7.0 + micromatch: 4.0.2 + semver: 6.3.0 typescript: 3.5.3 dev: false engines: - node: '>=6.11.5' + node: '>=8.6' peerDependencies: typescript: '*' resolution: - integrity: sha512-XYsjfnRQCBum9AMRZpk2rTYSVpdZBpZK+kDh0TeT3kxmQNBDVIeUjdPjY5RZry4eIAb8XHc4gYSUiUWPYvzSRw== + integrity: sha512-p2zJYe7OtwR+49kv4gs7v4dMrfYD1IPpOtqiSPCbe8oR+4zEBtdHwzM7A7M91F+suReqgzZrlClk4LRSSp882g== /ts-mocha/6.0.0_mocha@5.2.0: dependencies: mocha: 5.2.0 @@ -8889,7 +8787,7 @@ packages: make-error: 1.3.5 minimist: 1.2.0 mkdirp: 0.5.1 - source-map-support: 0.5.12 + source-map-support: 0.5.13 yn: 2.0.0 dev: false engines: @@ -8897,6 +8795,22 @@ packages: hasBin: true resolution: integrity: sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== + /ts-node/8.3.0_typescript@3.5.3: + dependencies: + arg: 4.1.1 + diff: 4.0.1 + make-error: 1.3.5 + source-map-support: 0.5.13 + typescript: 3.5.3 + yn: 3.1.1 + dev: false + engines: + node: '>=4.2.0' + hasBin: true + peerDependencies: + typescript: '>=2.0' + resolution: + integrity: sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ== /tsconfig-paths/3.8.0: dependencies: '@types/json5': 0.0.29 @@ -8912,7 +8826,7 @@ packages: dev: false resolution: integrity: sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - /tsutils/3.14.0_typescript@3.5.3: + /tsutils/3.17.1_typescript@3.5.3: dependencies: tslib: 1.10.0 typescript: 3.5.3 @@ -8920,9 +8834,9 @@ packages: engines: node: '>= 6' peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev' + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' resolution: - integrity: sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw== + integrity: sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== /tty-browserify/0.0.0: dev: false resolution: @@ -8933,12 +8847,6 @@ packages: dev: false resolution: integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - /tunnel/0.0.5: - dev: false - engines: - node: '>=0.6.11 <=0.7.0 || >=0.7.3' - resolution: - integrity: sha512-gj5sdqherx4VZKMcBA4vewER7zdK25Td+z1npBqpbDys4eJrLx+SlYjJvq1bDXs2irkuJM5pf8ktaEQVipkrbA== /tunnel/0.0.6: dev: false engines: @@ -8963,6 +8871,12 @@ packages: node: '>=4' resolution: integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + /type-fest/0.5.2: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== /type-is/1.6.18: dependencies: media-typer: 0.3.0 @@ -8972,10 +8886,10 @@ packages: node: '>= 0.6' resolution: integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - /type/1.0.1: + /type/1.0.3: dev: false resolution: - integrity: sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw== + integrity: sha512-51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg== /typedarray/0.0.6: dev: false resolution: @@ -9140,6 +9054,16 @@ packages: dev: false resolution: integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + /util/0.12.1: + dependencies: + inherits: 2.0.4 + is-arguments: 1.0.4 + is-generator-function: 1.0.7 + object.entries: 1.1.0 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-MREAtYOp+GTt9/+kwf00IYoHZyjM8VU4aVrkzUlejyqaIjd2GztVl5V9hGXKlvBKE3gENn/FMfHE5v6hElXGcQ== /utils-merge/1.0.1: dev: false engines: @@ -9155,6 +9079,10 @@ packages: dev: false resolution: integrity: sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== + /v8-compile-cache/2.1.0: + dev: false + resolution: + integrity: sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== /v8flags/3.1.3: dependencies: homedir-polyfill: 1.0.3 @@ -9208,7 +9136,7 @@ packages: dependencies: fs-mkdirp-stream: 1.0.0 glob-stream: 6.1.0 - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 is-valid-glob: 1.0.0 lazystream: 1.0.0 lead: 1.0.0 @@ -9232,7 +9160,7 @@ packages: dependencies: append-buffer: 1.0.2 convert-source-map: 1.6.0 - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 normalize-path: 2.1.1 now-and-later: 2.0.1 remove-bom-buffer: 3.0.0 @@ -9272,12 +9200,16 @@ packages: /watchpack/1.6.0: dependencies: chokidar: 2.1.6 - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 neo-async: 2.6.1 dev: false resolution: integrity: sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== - /webpack-cli/3.3.6_webpack@4.36.1: + /webidl-conversions/4.0.2: + dev: false + resolution: + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + /webpack-cli/3.3.6_webpack@4.39.2: dependencies: chalk: 2.4.2 cross-spawn: 6.0.5 @@ -9289,7 +9221,7 @@ packages: loader-utils: 1.2.3 supports-color: 6.1.0 v8-compile-cache: 2.0.3 - webpack: 4.36.1_webpack@4.36.1 + webpack: 4.39.2_webpack@4.39.2 yargs: 13.2.4 dev: false engines: @@ -9299,12 +9231,12 @@ packages: webpack: 4.x.x resolution: integrity: sha512-0vEa83M7kJtxK/jUhlpZ27WHIOndz5mghWL2O53kiDoA9DIxSKnfqB92LoqEn77cT4f3H2cZm1BMEat/6AZz3A== - /webpack-dev-middleware/3.7.0_webpack@4.36.1: + /webpack-dev-middleware/3.7.0_webpack@4.39.2: dependencies: memory-fs: 0.4.1 mime: 2.4.4 range-parser: 1.2.1 - webpack: 4.36.1_webpack@4.36.1 + webpack: 4.39.2_webpack@4.39.2 webpack-log: 2.0.0 dev: false engines: @@ -9322,20 +9254,20 @@ packages: node: '>= 6' resolution: integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - /webpack-sources/1.3.0: + /webpack-sources/1.4.3: dependencies: source-list-map: 2.0.1 source-map: 0.6.1 dev: false resolution: - integrity: sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== - /webpack/4.36.1_webpack@4.36.1: + integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + /webpack/4.39.2_webpack@4.39.2: dependencies: '@webassemblyjs/ast': 1.8.5 '@webassemblyjs/helper-module-context': 1.8.5 '@webassemblyjs/wasm-edit': 1.8.5 '@webassemblyjs/wasm-parser': 1.8.5 - acorn: 6.2.1 + acorn: 6.3.0 ajv: 6.10.2 ajv-keywords: 3.4.1_ajv@6.10.2 chrome-trace-event: 1.0.2 @@ -9351,9 +9283,9 @@ packages: node-libs-browser: 2.2.1 schema-utils: 1.0.0 tapable: 1.1.3 - terser-webpack-plugin: 1.3.0_webpack@4.36.1 + terser-webpack-plugin: 1.4.1_webpack@4.39.2 watchpack: 1.6.0 - webpack-sources: 1.3.0 + webpack-sources: 1.4.3 dev: false engines: node: '>=6.11.5' @@ -9361,7 +9293,15 @@ packages: peerDependencies: webpack: '*' resolution: - integrity: sha512-Ej01/N9W8DVyhEpeQnbUdGvOECw0L46FxS12cCOs8gSK7bhUlrbHRnWkjiXckGlHjUrmL89kDpTRIkUk6Y+fKg== + integrity: sha512-AKgTfz3xPSsEibH00JfZ9sHXGUwIQ6eZ9tLN8+VLzachk1Cw2LVmy+4R7ZiwTa9cZZ15tzySjeMui/UnSCAZhA== + /whatwg-url/6.5.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: false + resolution: + integrity: sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== /which-module/1.0.0: dev: false resolution: @@ -9418,7 +9358,7 @@ packages: integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= /write-file-atomic/2.4.3: dependencies: - graceful-fs: 4.2.0 + graceful-fs: 4.2.2 imurmurhash: 0.1.4 signal-exit: 3.0.2 dev: false @@ -9434,7 +9374,7 @@ packages: integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== /ws/3.3.3: dependencies: - async-limiter: 1.0.0 + async-limiter: 1.0.1 safe-buffer: 5.1.2 ultron: 1.1.1 dev: false @@ -9442,10 +9382,16 @@ packages: integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== /ws/6.2.1: dependencies: - async-limiter: 1.0.0 + async-limiter: 1.0.1 dev: false resolution: integrity: sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + /ws/7.1.2: + dependencies: + async-limiter: 1.0.1 + dev: false + resolution: + integrity: sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg== /xhr-mock/2.5.0: dependencies: global: 4.4.0 @@ -9541,29 +9487,6 @@ packages: dev: false resolution: integrity: sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= - /yargs-parser/9.0.2: - dependencies: - camelcase: 4.1.0 - dev: false - resolution: - integrity: sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc= - /yargs/11.1.0: - dependencies: - cliui: 4.1.0 - decamelize: 1.2.0 - find-up: 2.1.0 - get-caller-file: 1.0.3 - os-locale: 2.1.0 - require-directory: 2.1.1 - require-main-filename: 1.0.1 - set-blocking: 2.0.0 - string-width: 2.1.1 - which-module: 2.0.0 - y18n: 3.2.1 - yargs-parser: 9.0.2 - dev: false - resolution: - integrity: sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A== /yargs/13.2.4: dependencies: cliui: 5.0.0 @@ -9642,6 +9565,12 @@ packages: node: '>=4' resolution: integrity: sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= + /yn/3.1.1: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== /z-schema/3.18.4: dependencies: lodash.get: 4.4.2 @@ -9655,26 +9584,25 @@ packages: integrity: sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw== 'file:projects/abort-controller.tgz': dependencies: - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/mocha': 5.2.7 '@types/node': 8.10.51 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 cross-env: 5.2.0 delay: 4.3.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-junit-reporter: 1.2.0_karma@4.2.0 karma-mocha: 1.3.0 @@ -9685,56 +9613,55 @@ packages: mocha-multi-reporters: 1.1.7 nyc: 14.1.1 prettier: 1.18.2 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 dev: false name: '@rush-temp/abort-controller' resolution: - integrity: sha512-2+IDAPkc8w6F7v+Qtv+0QlKup7BbSj9/FJRqus2Fv6lv4Qwfhhl1dII2Ttv0Y3D1jF0IlqOecuzEef9zxLc/jA== + integrity: sha512-BoVxHViVS71lSi8IASIY6SKhDSjSoG1xLh/P1D8yG0LGNECg2BU9pm2WwXs5qIOWtg5+zIvJqA4YAWK7F/d0Ig== tarball: 'file:projects/abort-controller.tgz' version: 0.0.0 'file:projects/core-amqp.tgz': dependencies: - '@azure/abort-controller': 1.0.0-preview.1 '@types/async-lock': 1.1.1 - '@types/chai': 4.1.7 - '@types/chai-as-promised': 7.1.0 + '@types/chai': 4.2.0 + '@types/chai-as-promised': 7.1.2 '@types/debug': 0.0.31 '@types/dotenv': 6.1.1 '@types/is-buffer': 2.0.0 '@types/jssha': 2.0.0 '@types/mocha': 5.2.7 '@types/node': 8.10.51 - '@types/sinon': 5.0.7 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@types/sinon': 7.0.13 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 async-lock: 1.2.2 - buffer: 5.2.1 + buffer: 5.4.0 chai: 4.2.0 chai-as-promised: 7.1.1_chai@4.2.0 cross-env: 5.2.0 debug: 3.2.6 - dotenv: 7.0.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + dotenv: 8.0.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 events: 3.0.0 is-buffer: 2.0.3 jssha: 2.3.1 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-mocha: 1.3.0 mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 @@ -9742,47 +9669,46 @@ packages: nyc: 14.1.1 prettier: 1.18.2 process: 0.11.10 - puppeteer: 1.18.1 + puppeteer: 1.19.0 rhea: 1.0.8 - rhea-promise: 0.1.15 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 - rollup-plugin-inject: 3.0.0 + rhea-promise: 1.0.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 + rollup-plugin-inject: 3.0.1 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 rollup-plugin-node-globals: 1.4.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - sinon: 7.3.2 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + sinon: 7.4.1 stream-browserify: 2.0.2 - ts-node: 7.0.1 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 url: 0.11.0 - util: 0.11.1 - ws: 6.2.1 + util: 0.12.1 + ws: 7.1.2 dev: false name: '@rush-temp/core-amqp' resolution: - integrity: sha512-9LHxNb4QrxyNRXfAf5u1uisfKB2+L3H/fet8fGbe8aotNAfIeVipiftCD8oaATz7qdnG+FXQwLVxXMaz4dI7rg== + integrity: sha512-hWBmmA8p0Sa9jUbGyGnhhKs9EEK9PIpfw0a/hXP5TSBsX5/a6Aaei84O2oJ/pbpCtELnPRIcFqw29n8rDt8RWA== tarball: 'file:projects/core-amqp.tgz' version: 0.0.0 'file:projects/core-arm.tgz': dependencies: - '@types/chai': 4.1.7 + '@types/chai': 4.2.0 '@types/mocha': 5.2.7 '@types/node': 8.10.51 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 chai: 4.2.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 mocha: 5.2.0 @@ -9790,15 +9716,13 @@ packages: mocha-multi-reporters: 1.1.7 npm-run-all: 4.1.5 nyc: 14.1.1 - opn-cli: 4.1.0 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 shx: 0.3.2 - ts-loader: 5.4.5_typescript@3.5.3 - ts-node: 7.0.1 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 uglify-js: 3.6.0 @@ -9806,18 +9730,17 @@ packages: dev: false name: '@rush-temp/core-arm' resolution: - integrity: sha512-ydCkKGPwdsqk3cZtb5s+PlhnUJNHifGymT1Rh6PjJCVoOOXGTXqZYc4k/EI9DMk/sgI4Vo9cQknrmjG5hRz5dw== + integrity: sha512-JI2m7cTc6e8DV1ZOYmMgkdnbj8z8l1HAYfLblLd+ZztiDP4AMw9BxO1oDkbKorhCKJbY4g/uU/mwqqSCBv3pbw== tarball: 'file:projects/core-arm.tgz' version: 0.0.0 'file:projects/core-asynciterator-polyfill.tgz': dependencies: '@types/node': 8.10.51 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 prettier: 1.18.2 @@ -9825,23 +9748,21 @@ packages: dev: false name: '@rush-temp/core-asynciterator-polyfill' resolution: - integrity: sha512-oJErNaXrpCzEEVyYVvv8gcBRnv36c76LBxalfW/l4wlABmUh9u+EuvwI46ig0V3m1bmIluW4S/9O08nO18uyGw== + integrity: sha512-X2qR67x/Wgwcs8VjH/m3EA7HFB22mL2sf9YJCvpdIUXvz5ENGH54U4TC8IAc2AxcqlKjOi1pwFUAf9yBf4nAJQ== tarball: 'file:projects/core-asynciterator-polyfill.tgz' version: 0.0.0 'file:projects/core-auth.tgz': dependencies: - '@azure/abort-controller': 1.0.0-preview.1 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/mocha': 5.2.7 '@types/node': 8.10.51 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 cross-env: 5.2.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 inherits: 2.0.4 @@ -9849,117 +9770,117 @@ packages: mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 prettier: 1.18.2 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 tslib: 1.10.0 typescript: 3.5.3 - util: 0.11.1 + util: 0.12.1 dev: false name: '@rush-temp/core-auth' resolution: - integrity: sha512-D6tMjROHeCf7ijXZIPhewnP5sPK7Aj+k5Na5O5OU629HF7qLBczazjTCnpnnex4X8yvi4X3b82rX/LD2OxZ0dQ== + integrity: sha512-qJaJ9b0JzXYMXFFq2nQw6YJhNlXz8WLLme9+aJKbBP5GD1yZ1hxi8yB17dQCRXGvffgXH2beAtgySy4QqXoMBg== tarball: 'file:projects/core-auth.tgz' version: 0.0.0 'file:projects/core-http.tgz': dependencies: '@azure/logger-js': 1.3.2 - '@types/chai': 4.1.7 + '@types/chai': 4.2.0 '@types/express': 4.17.0 + '@types/fetch-mock': 7.3.1 '@types/glob': 7.1.1 '@types/karma': 3.0.3 '@types/mocha': 5.2.7 '@types/node': 8.10.51 + '@types/node-fetch': 2.5.0 '@types/semver': 5.5.0 - '@types/sinon': 5.0.7 + '@types/sinon': 7.0.13 '@types/tough-cookie': 2.3.5 - '@types/tunnel': 0.0.0 + '@types/tunnel': 0.0.1 '@types/uuid': 3.4.5 - '@types/webpack': 4.32.0 + '@types/webpack': 4.32.1 '@types/webpack-dev-middleware': 2.0.3 '@types/xml2js': 0.4.4 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 - abortcontroller-polyfill: 1.3.0 - axios: 0.19.0 - axios-mock-adapter: 1.17.0_axios@0.19.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 + babel-runtime: 6.26.0 chai: 4.2.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 express: 4.17.1 + fetch-mock: 7.3.9 form-data: 2.5.0 glob: 7.1.4 karma: 4.2.0 karma-chai: 0.1.0_chai@4.2.0+karma@4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-mocha: 1.3.0 - karma-rollup-preprocessor: 7.0.2_rollup@1.17.0 + karma-rollup-preprocessor: 7.0.2_rollup@1.19.4 karma-sourcemap-loader: 0.3.7 karma-typescript-es6-transform: 4.1.1 - karma-webpack: 4.0.2_webpack@4.36.1 + karma-webpack: 4.0.2_webpack@4.39.2 mocha: 5.2.0 - mocha-chrome: 1.1.0 + mocha-chrome: 2.0.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi-reporters: 1.1.7 + node-fetch: 2.6.0 npm-run-all: 4.1.5 nyc: 14.1.1 - opn-cli: 4.1.0 process: 0.11.10 - puppeteer: 1.18.1 - rimraf: 2.6.3 - rollup: 1.17.0 + puppeteer: 1.19.0 + regenerator-runtime: 0.13.3 + rimraf: 2.7.1 + rollup: 1.19.4 rollup-plugin-alias: 1.5.2 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 - rollup-plugin-resolve: 0.0.1-predev.1 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 - semver: 5.7.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + semver: 5.7.1 shx: 0.3.2 - sinon: 7.3.2 - tough-cookie: 2.5.0 - ts-loader: 5.4.5_typescript@3.5.3 - ts-node: 7.0.1 + sinon: 7.4.1 + terser: 4.1.4 + tough-cookie: 3.0.1 + ts-loader: 6.0.4_typescript@3.5.3 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 tunnel: 0.0.6 typescript: 3.5.3 uglify-js: 3.6.0 uuid: 3.3.2 - webpack: 4.36.1_webpack@4.36.1 - webpack-cli: 3.3.6_webpack@4.36.1 - webpack-dev-middleware: 3.7.0_webpack@4.36.1 + webpack: 4.39.2_webpack@4.39.2 + webpack-cli: 3.3.6_webpack@4.39.2 + webpack-dev-middleware: 3.7.0_webpack@4.39.2 xhr-mock: 2.5.0 xml2js: 0.4.19 yarn: 1.17.3 dev: false name: '@rush-temp/core-http' resolution: - integrity: sha512-boYkGbWKFBT8jqs2q2lgsBLUfHRsHzd4utdb9GWM8kR/3Goq7pqiXBSHAnuSaowbK0/QqsCtuZ6bYCnaS1ORQg== + integrity: sha512-pIlwOcrF8c5S7GeL8kjCnhUlwKvycLA8fEHlgz7YBXT8nP13TlR7FCTZJ//NXQ4YjOelX9hhr+nHuQz8s87LRg== tarball: 'file:projects/core-http.tgz' version: 0.0.0 'file:projects/core-paging.tgz': dependencies: '@azure/core-asynciterator-polyfill': 1.0.0-preview.1 '@types/node': 8.10.51 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 prettier: 1.18.2 @@ -9967,92 +9888,87 @@ packages: dev: false name: '@rush-temp/core-paging' resolution: - integrity: sha512-MTsl2eG0FXkUyouQVkSEpgLuG6tNUKE8ckhH8y4B3VUevh/MOS/ghpCqXFRKEAMF7jVfB1s2BSSorGYFuWlcDg== + integrity: sha512-/l5SA2u/jUrYjvQBf24YFdaoYW4GAdU3iDoGDekLbjH2fSP8wOt/3oDlBM8pxGD54TB7s06Oi4OjBsQN6F5tgw== tarball: 'file:projects/core-paging.tgz' version: 0.0.0 - 'file:projects/cosmos.tgz': + 'file:projects/core-tracing.tgz': dependencies: + '@microsoft/api-extractor': 7.3.8 '@types/mocha': 5.2.7 '@types/node': 8.10.51 - '@types/priorityqueuejs': 1.0.1 - '@types/semaphore': 1.1.0 - '@types/sinon': 5.0.7 - '@types/tunnel': 0.0.0 - '@types/underscore': 1.9.2 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 - binary-search-bounds: 2.0.3 - create-hmac: 1.1.7 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 + assert: 1.5.0 + cross-env: 5.2.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 - execa: 1.0.0 + inherits: 2.0.4 mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 prettier: 1.18.2 - priorityqueuejs: 1.0.0 - requirejs: 2.3.6 - rimraf: 2.6.3 - semaphore: 1.0.5 - sinon: 7.3.2 - stream-http: 2.8.3 - ts-node: 7.0.1 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 + rollup-plugin-json: 4.0.0 + rollup-plugin-multi-entry: 2.1.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 + rollup-plugin-replace: 2.2.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 tslib: 1.10.0 - tunnel: 0.0.6 typescript: 3.5.3 - webpack: 4.36.1_webpack@4.36.1 - webpack-cli: 3.3.6_webpack@4.36.1 + util: 0.12.1 dev: false - name: '@rush-temp/cosmos' + name: '@rush-temp/core-tracing' resolution: - integrity: sha512-rLhtUCCGnwzY3OigHd+TEJ4U0lyBKc2RpjKGMl9koha/aSUchKfm8qHWS+4XO/J2+WldP7yQx6gZY5C+t3cBvQ== - tarball: 'file:projects/cosmos.tgz' + integrity: sha512-N2yZqv6ETc8CxkgSQPlNECLNSUxbhzSewajYGFnF9oy3tbJFQCrS299//muVzpECytxGOvjv4PlQ6r5tilptTg== + tarball: 'file:projects/core-tracing.tgz' version: 0.0.0 'file:projects/event-hubs.tgz': dependencies: - '@azure/abort-controller': 1.0.0-preview.1 '@azure/core-asynciterator-polyfill': 1.0.0-preview.1 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/async-lock': 1.1.1 - '@types/chai': 4.1.7 - '@types/chai-as-promised': 7.1.0 - '@types/chai-string': 1.4.1 + '@types/chai': 4.2.0 + '@types/chai-as-promised': 7.1.2 + '@types/chai-string': 1.4.2 '@types/debug': 0.0.31 '@types/dotenv': 6.1.1 '@types/long': 4.0.0 '@types/mocha': 5.2.7 '@types/node': 8.10.51 '@types/uuid': 3.4.5 - '@types/ws': 6.0.1 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@types/ws': 6.0.2 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 async-lock: 1.2.2 + buffer: 5.4.0 chai: 4.2.0 chai-as-promised: 7.1.1_chai@4.2.0 chai-string: 1.5.0_chai@4.2.0 cross-env: 5.2.0 debug: 3.2.6 - dotenv: 7.0.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + dotenv: 8.0.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 https-proxy-agent: 2.2.2 is-buffer: 2.0.3 jssha: 2.3.1 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-junit-reporter: 1.2.0_karma@4.2.0 karma-mocha: 1.3.0 @@ -10063,47 +9979,49 @@ packages: mocha-multi: 1.1.0_mocha@5.2.0 nyc: 14.1.1 prettier: 1.18.2 - puppeteer: 1.18.1 - rhea-promise: 0.1.15 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 - rollup-plugin-inject: 3.0.0 + process: 0.11.10 + puppeteer: 1.19.0 + rhea-promise: 1.0.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 + rollup-plugin-inject: 3.0.1 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 ts-mocha: 6.0.0_mocha@5.2.0 - ts-node: 7.0.1 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 uuid: 3.3.2 - ws: 6.2.1 + ws: 7.1.2 dev: false name: '@rush-temp/event-hubs' resolution: - integrity: sha512-1GJu6YVyxIFLe1hq0W9+is9tGnNt5ExJ6aHDvGGPX+j1zCZnh2x0Lb/fK0VTUcEybCw9D+lLpTd4vXNYphTMww== + integrity: sha512-YvcCTJlPIOJcC8kiOnkrg48nfqloA5CNBC1oooOhf7ZKDfIm4Ump8IKkso3TfRArNte+1nq+/05WsJCAp0zUdw== tarball: 'file:projects/event-hubs.tgz' version: 0.0.0 'file:projects/event-processor-host.tgz': dependencies: '@azure/event-hubs': 2.1.1 '@azure/ms-rest-nodeauth': 0.9.3 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/async-lock': 1.1.1 - '@types/chai': 4.1.7 - '@types/chai-as-promised': 7.1.0 - '@types/chai-string': 1.4.1 + '@types/chai': 4.2.0 + '@types/chai-as-promised': 7.1.2 + '@types/chai-string': 1.4.2 '@types/debug': 0.0.31 '@types/dotenv': 6.1.1 '@types/mocha': 5.2.7 '@types/node': 8.10.51 '@types/uuid': 3.4.5 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@types/ws': 6.0.2 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 async-lock: 1.2.2 azure-storage: 2.10.3 chai: 4.2.0 @@ -10111,36 +10029,37 @@ packages: chai-string: 1.5.0_chai@4.2.0 cross-env: 5.2.0 debug: 3.2.6 - dotenv: 7.0.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + dotenv: 8.0.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 + https-proxy-agent: 2.2.2 mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 nyc: 14.1.1 path-browserify: 1.0.0 prettier: 1.18.2 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-uglify: 6.0.2_rollup@1.17.0 - ts-node: 7.0.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-uglify: 6.0.2_rollup@1.19.4 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 uuid: 3.3.2 + ws: 7.1.2 dev: false name: '@rush-temp/event-processor-host' resolution: - integrity: sha512-YEltFsweWeV5/IHJyEd/kVz7RG4iRz2AWE6rsw23UIXJaMkEc3nhsw/FtJpWq8bGWs8Dp3pvzKx1VezkCFB9MQ== + integrity: sha512-xGmUL6qWotI3HXUCpFmTc2GPunbglcrS1k8Rw35kMNojt+U0on+JAdm78BF2lhaxD8Ae1vVdd1Ue544Z1jflTg== tarball: 'file:projects/event-processor-host.tgz' version: 0.0.0 'file:projects/identity.tgz': @@ -10150,16 +10069,16 @@ packages: '@types/node': 8.10.51 '@types/qs': 6.5.3 '@types/uuid': 3.4.5 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 cross-env: 5.2.0 - eslint: 5.16.0 + eslint: 6.1.0 events: 3.0.0 inherits: 2.0.4 jws: 3.2.2 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-env-preprocessor: 0.1.1 karma-json-preprocessor: 0.3.3_karma@4.2.0 @@ -10171,48 +10090,88 @@ packages: mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 + msal: 1.0.2 prettier: 1.18.2 - puppeteer: 1.18.1 + puppeteer: 1.19.0 qs: 6.7.0 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 tslib: 1.10.0 typescript: 3.5.3 - util: 0.11.1 + util: 0.12.1 uuid: 3.3.2 dev: false name: '@rush-temp/identity' resolution: - integrity: sha512-aLe+RHGk7M6wqCmNrblNMYMUtng49pfjo7pctPvnPORnPMD3acKp1+Ld3wQaAjImwPxlq60O1eulxRKAGM/fag== + integrity: sha512-+uzdkgcT5srnidzk6R3dz4dK22pzpFiYBxDG0spelEIPw5pKCT4yvwqb9+i1IlbJrhmBIlyDgcOEHbTpCHxalQ== tarball: 'file:projects/identity.tgz' version: 0.0.0 'file:projects/keyvault-certificates.tgz': dependencies: - '@microsoft/api-extractor': 7.3.3 - '@types/chai': 4.1.7 + '@azure/core-paging': 1.0.0-preview.1 + '@azure/core-tracing': 1.0.0-preview.1 + '@microsoft/api-extractor': 7.3.8 + '@types/chai': 4.2.0 + '@types/dotenv': 6.1.1 + '@types/fs-extra': 8.0.0 + '@types/mocha': 5.2.7 + '@types/nise': 1.4.0 + '@types/nock': 10.0.3 '@types/node': 8.10.51 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@types/query-string': 6.2.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 + assert: 1.5.0 chai: 4.2.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + cross-env: 5.2.0 + dotenv: 8.0.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 + fs-extra: 8.1.0 + karma: 4.2.0 + karma-chrome-launcher: 3.1.0 + karma-coverage: 1.1.2 + karma-edge-launcher: 0.4.2_karma@4.2.0 + karma-env-preprocessor: 0.1.1 + karma-firefox-launcher: 1.2.0 + karma-ie-launcher: 1.0.0_karma@4.2.0 + karma-json-preprocessor: 0.3.3_karma@4.2.0 + karma-json-to-file-reporter: 1.0.1 + karma-junit-reporter: 1.2.0_karma@4.2.0 + karma-mocha: 1.3.0 + karma-mocha-reporter: 2.2.5_karma@4.2.0 + karma-remap-coverage: 0.1.5_karma-coverage@1.1.2 + mocha: 5.2.0 + mocha-junit-reporter: 1.23.1_mocha@5.2.0 + mocha-multi: 1.1.0_mocha@5.2.0 + nise: 1.5.1 + nock: 10.0.6 + nyc: 14.1.1 prettier: 1.18.2 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + puppeteer: 1.19.0 + query-string: 5.1.1 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 + rollup-plugin-multi-entry: 2.1.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 + rollup-plugin-replace: 2.2.0 + rollup-plugin-shim: 1.0.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + source-map-support: 0.5.13 tslib: 1.10.0 typescript: 3.5.3 uglify-js: 3.6.0 @@ -10220,41 +10179,41 @@ packages: dev: false name: '@rush-temp/keyvault-certificates' resolution: - integrity: sha512-QXnSrcEl4SWcc1wYPRy2BeupDtio52G/miaEJAgse04u88EeU5YoZpQNtZ9l2rzpd/wuJmB2GMkVgUXRnB6zgg== + integrity: sha512-vqGsTr60ioKPxl8NAWtSOfdU5lM5JyN30Frkdfv+jFp/13pY5cqTRs//+flaFzbg0Z4DWBG7elWr2iLYjU+pCg== tarball: 'file:projects/keyvault-certificates.tgz' version: 0.0.0 'file:projects/keyvault-keys.tgz': dependencies: - '@azure/abort-controller': 1.0.0-preview.1 '@azure/core-paging': 1.0.0-preview.1 - '@microsoft/api-extractor': 7.3.3 - '@types/chai': 4.1.7 + '@azure/core-tracing': 1.0.0-preview.1 + '@microsoft/api-extractor': 7.3.8 + '@trust/keyto': 0.3.7 + '@types/chai': 4.2.0 '@types/dotenv': 6.1.1 - '@types/fs-extra': 7.0.0 + '@types/fs-extra': 8.0.0 '@types/mocha': 5.2.7 '@types/nise': 1.4.0 '@types/nock': 10.0.3 '@types/node': 8.10.51 '@types/query-string': 6.2.0 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 chai: 4.2.0 cross-env: 5.2.0 - dotenv: 7.0.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + dotenv: 8.0.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 - fs-extra: 8.0.1 + fs-extra: 8.1.0 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-json-preprocessor: 0.3.3_karma@4.2.0 karma-json-to-file-reporter: 1.0.1 @@ -10265,23 +10224,23 @@ packages: mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 - nise: 1.5.0 + nise: 1.5.1 nock: 10.0.6 nyc: 14.1.1 prettier: 1.18.2 - puppeteer: 1.18.1 + puppeteer: 1.19.0 query-string: 5.1.1 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 - source-map-support: 0.5.12 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + source-map-support: 0.5.13 tslib: 1.10.0 typescript: 3.5.3 uglify-js: 3.6.0 @@ -10289,41 +10248,39 @@ packages: dev: false name: '@rush-temp/keyvault-keys' resolution: - integrity: sha512-kv1LOiu2pl432/WjarVRLropOwyQrGkOU4tdlA6MiTR9aeysnBosJzkOlScA6HdnBA1rUaoZoILYXQg7x6eS+g== + integrity: sha512-OrBsT235kypOmFIHNsgQ2IC/kuza9oFnDY/PO9vA1k1bI/lf//vWvGvuARCX62d1RYtxJjqglYkNVLbbtHXjOg== tarball: 'file:projects/keyvault-keys.tgz' version: 0.0.0 'file:projects/keyvault-secrets.tgz': dependencies: - '@azure/abort-controller': 1.0.0-preview.1 '@azure/core-paging': 1.0.0-preview.1 - '@microsoft/api-extractor': 7.3.3 - '@types/chai': 4.1.7 + '@microsoft/api-extractor': 7.3.8 + '@types/chai': 4.2.0 '@types/dotenv': 6.1.1 - '@types/fs-extra': 7.0.0 + '@types/fs-extra': 8.0.0 '@types/mocha': 5.2.7 '@types/nise': 1.4.0 '@types/nock': 10.0.3 '@types/node': 8.10.51 '@types/query-string': 6.2.0 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 chai: 4.2.0 cross-env: 5.2.0 - dotenv: 7.0.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + dotenv: 8.0.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 - fs-extra: 8.0.1 + fs-extra: 8.1.0 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-json-preprocessor: 0.3.3_karma@4.2.0 karma-json-to-file-reporter: 1.0.1 @@ -10334,23 +10291,23 @@ packages: mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 - nise: 1.5.0 + nise: 1.5.1 nock: 10.0.6 nyc: 14.1.1 prettier: 1.18.2 - puppeteer: 1.18.1 + puppeteer: 1.19.0 query-string: 5.1.1 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 - source-map-support: 0.5.12 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + source-map-support: 0.5.13 tslib: 1.10.0 typescript: 3.5.3 uglify-js: 3.6.0 @@ -10358,49 +10315,48 @@ packages: dev: false name: '@rush-temp/keyvault-secrets' resolution: - integrity: sha512-x5m+5BJfn2ssYVl2jzY4YVgvVpgOHP8IQdoFzVG5NlUhYld2DHz4KsEzgYUGdQx5SNud9KLLimjIb4f9FPzSjQ== + integrity: sha512-Bfl9E43lRRfEnJTTorE9bc0qKc9K3uV1LVsuMS5zyOzahVIgqf7OER3j7ZG+HIrRyNvmr9y+tQi4kcDkAMz7lQ== tarball: 'file:projects/keyvault-secrets.tgz' version: 0.0.0 'file:projects/service-bus.tgz': dependencies: '@azure/amqp-common': 1.0.0-preview.6_rhea-promise@0.1.15 - '@azure/arm-servicebus': 0.1.0 + '@azure/arm-servicebus': 3.2.0 '@azure/ms-rest-nodeauth': 0.9.3 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/async-lock': 1.1.1 - '@types/chai': 4.1.7 - '@types/chai-as-promised': 7.1.0 + '@types/chai': 4.2.0 + '@types/chai-as-promised': 7.1.2 '@types/debug': 0.0.31 '@types/dotenv': 6.1.1 '@types/is-buffer': 2.0.0 '@types/long': 4.0.0 '@types/mocha': 5.2.7 '@types/node': 8.10.51 - '@types/ws': 6.0.1 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@types/ws': 6.0.2 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 - buffer: 5.2.1 + buffer: 5.4.0 chai: 4.2.0 chai-as-promised: 7.1.1_chai@4.2.0 cross-env: 5.2.0 debug: 3.2.6 delay: 4.3.0 - dotenv: 7.0.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + dotenv: 8.0.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 https-proxy-agent: 2.2.2 is-buffer: 2.0.3 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-junit-reporter: 1.2.0_karma@4.2.0 karma-mocha: 1.3.0 @@ -10415,64 +10371,63 @@ packages: prettier: 1.18.2 process: 0.11.10 promise: 8.0.3 - puppeteer: 1.18.1 + puppeteer: 1.19.0 rhea: 1.0.8 rhea-promise: 0.1.15 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 - rollup-plugin-inject: 3.0.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 + rollup-plugin-inject: 3.0.1 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - ts-node: 7.0.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 - ws: 6.2.1 + ws: 7.1.2 dev: false name: '@rush-temp/service-bus' resolution: - integrity: sha512-rkb1doDhx3T0RhPqtdxGi4/jeyG/9Wr5ZfAYDUy+Ck2LzlPuJcbl/S08urt5y51dalNoZHP3n6cjykuKoK0Ylg== + integrity: sha512-/X7uvDxjHGYZ0Y9Vp3HfLivsoTkV0rk/41X8JyB+JH0KGtC22VcZlMWvOh3P1hqdNzuz2NTwMSA7/jKHIs33LQ== tarball: 'file:projects/service-bus.tgz' version: 0.0.0 'file:projects/storage-blob.tgz': dependencies: '@azure/core-paging': 1.0.0-preview.1 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/dotenv': 6.1.1 - '@types/fs-extra': 7.0.0 + '@types/fs-extra': 8.0.0 '@types/mocha': 5.2.7 '@types/nise': 1.4.0 '@types/nock': 10.0.3 '@types/node': 8.10.51 '@types/query-string': 6.2.0 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 cross-env: 5.2.0 - dotenv: 7.0.0 + dotenv: 8.0.0 es6-promise: 4.2.8 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 events: 3.0.0 - fs-extra: 8.0.1 + fs-extra: 8.1.0 gulp: 4.0.2 - gulp-zip: 4.2.0 + gulp-zip: 5.0.0_gulp@4.0.2 inherits: 2.0.4 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-json-preprocessor: 0.3.3_karma@4.2.0 karma-json-to-file-reporter: 1.0.1 @@ -10483,67 +10438,66 @@ packages: mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 - nise: 1.5.0 + nise: 1.5.1 nock: 10.0.6 nyc: 14.1.1 prettier: 1.18.2 - puppeteer: 1.18.1 + puppeteer: 1.19.0 query-string: 5.1.1 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 - source-map-support: 0.5.12 - ts-node: 7.0.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + source-map-support: 0.5.13 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 - util: 0.11.1 + util: 0.12.1 dev: false name: '@rush-temp/storage-blob' resolution: - integrity: sha512-HqDwrLu0bOOyYUW6HLJtA5vloYPiuP+I1VJHJgQej+TfNXwBdStutunPKXH/HPoud6AqicZCbaanzJoLKhL08Q== + integrity: sha512-ISbZDFhzfUuaonL+DKC4EUwLskwUJR3CQH7WIzVo14zL8GpdQ+tHuYABLf/JHCE6P6hW8QDPOrPQXCP0AkRT+Q== tarball: 'file:projects/storage-blob.tgz' version: 0.0.0 'file:projects/storage-file.tgz': dependencies: '@azure/core-paging': 1.0.0-preview.1 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/dotenv': 6.1.1 - '@types/fs-extra': 7.0.0 + '@types/fs-extra': 8.0.0 '@types/mocha': 5.2.7 '@types/nise': 1.4.0 '@types/nock': 10.0.3 '@types/node': 8.10.51 '@types/query-string': 6.2.0 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 cross-env: 5.2.0 - dotenv: 7.0.0 + dotenv: 8.0.0 es6-promise: 4.2.8 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 events: 3.0.0 - fs-extra: 8.0.1 + fs-extra: 8.1.0 gulp: 4.0.2 - gulp-zip: 4.2.0 + gulp-zip: 5.0.0_gulp@4.0.2 inherits: 2.0.4 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-json-preprocessor: 0.3.3_karma@4.2.0 karma-json-to-file-reporter: 1.0.1 @@ -10554,66 +10508,65 @@ packages: mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 - nise: 1.5.0 + nise: 1.5.1 nock: 10.0.6 nyc: 14.1.1 prettier: 1.18.2 - puppeteer: 1.18.1 + puppeteer: 1.19.0 query-string: 5.1.1 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 - source-map-support: 0.5.12 - ts-node: 7.0.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + source-map-support: 0.5.13 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 - util: 0.11.1 + util: 0.12.1 dev: false name: '@rush-temp/storage-file' resolution: - integrity: sha512-MxTdqB6JqXWk+k53xhQu5pGhp1b1f7hWE757fKCpQ613F4izb8JsLZlLFi1Aeg2ntyjlDZ4XiXiF+WSO0rpxuA== + integrity: sha512-GRw1CqlH0KFmkS7Sksi9uR70VFbA+k184Wja8HkQwDhxlX2wfD4zB/bln3gw/7p+z2IgpumGO9/I7aQMlVTpeQ== tarball: 'file:projects/storage-file.tgz' version: 0.0.0 'file:projects/storage-queue.tgz': dependencies: '@azure/core-paging': 1.0.0-preview.1 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/dotenv': 6.1.1 - '@types/fs-extra': 7.0.0 + '@types/fs-extra': 8.0.0 '@types/mocha': 5.2.7 '@types/nise': 1.4.0 '@types/nock': 10.0.3 '@types/node': 8.10.51 '@types/query-string': 6.2.0 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 cross-env: 5.2.0 - dotenv: 7.0.0 + dotenv: 8.0.0 es6-promise: 4.2.8 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 - fs-extra: 8.0.1 + fs-extra: 8.1.0 gulp: 4.0.2 - gulp-zip: 4.2.0 + gulp-zip: 5.0.0_gulp@4.0.2 inherits: 2.0.4 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-json-preprocessor: 0.3.3_karma@4.2.0 karma-json-to-file-reporter: 1.0.1 @@ -10624,57 +10577,55 @@ packages: mocha: 5.2.0 mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 - nise: 1.5.0 + nise: 1.5.1 nock: 10.0.6 nyc: 14.1.1 prettier: 1.18.2 - puppeteer: 1.18.1 + puppeteer: 1.19.0 query-string: 5.1.1 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 rollup-plugin-shim: 1.0.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 - source-map-support: 0.5.12 - ts-node: 7.0.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 + source-map-support: 0.5.13 + ts-node: 8.3.0_typescript@3.5.3 tslib: 1.10.0 typescript: 3.5.3 - util: 0.11.1 + util: 0.12.1 dev: false name: '@rush-temp/storage-queue' resolution: - integrity: sha512-UnaXemYIvpOoC9l0rvDsci5vsVczX6MPqdyk+0hAGaIaiLylYiVZGBuYYss97ARkZmkfAt1mbdAcj21rQjKoTA== + integrity: sha512-yi2eT4UitJgMpBwOqthgBrGE/JC641hrXVRj8eqi+Xn2jKKOQMxHKjsi1Q8ttTUswgSHnyFaplDkIEXyrkt2TQ== tarball: 'file:projects/storage-queue.tgz' version: 0.0.0 'file:projects/template.tgz': dependencies: - '@azure/ms-rest-js': 1.8.13 - '@microsoft/api-extractor': 7.3.3 + '@microsoft/api-extractor': 7.3.8 '@types/mocha': 5.2.7 '@types/node': 8.10.51 - '@typescript-eslint/eslint-plugin': 1.13.0_0b5e999c52a893676e7127c05369c7b6 - '@typescript-eslint/parser': 1.13.0_eslint@5.16.0 + '@typescript-eslint/eslint-plugin': 2.0.0_2597c16b46d7eff3ec2c0c583ca4ae44 + '@typescript-eslint/parser': 2.0.0_eslint@6.1.0 assert: 1.5.0 cross-env: 5.2.0 - eslint: 5.16.0 - eslint-config-prettier: 4.3.0_eslint@5.16.0 - eslint-detailed-reporter: 0.8.0_eslint@5.16.0 - eslint-plugin-no-null: 1.0.2_eslint@5.16.0 + eslint: 6.1.0 + eslint-config-prettier: 6.0.0_eslint@6.1.0 + eslint-plugin-no-null: 1.0.2_eslint@6.1.0 eslint-plugin-no-only-tests: 2.3.1 eslint-plugin-promise: 4.2.1 events: 3.0.0 inherits: 2.0.4 karma: 4.2.0 - karma-chrome-launcher: 2.2.0 + karma-chrome-launcher: 3.1.0 karma-coverage: 1.1.2 karma-edge-launcher: 0.4.2_karma@4.2.0 karma-env-preprocessor: 0.1.1 - karma-firefox-launcher: 1.1.0 + karma-firefox-launcher: 1.2.0 karma-ie-launcher: 1.0.0_karma@4.2.0 karma-junit-reporter: 1.2.0_karma@4.2.0 karma-mocha: 1.3.0 @@ -10684,61 +10635,54 @@ packages: mocha-junit-reporter: 1.23.1_mocha@5.2.0 mocha-multi: 1.1.0_mocha@5.2.0 prettier: 1.18.2 - rimraf: 2.6.3 - rollup: 1.17.0 - rollup-plugin-commonjs: 10.0.1_rollup@1.17.0 + rimraf: 2.7.1 + rollup: 1.19.4 + rollup-plugin-commonjs: 10.0.2_rollup@1.19.4 rollup-plugin-json: 4.0.0 rollup-plugin-multi-entry: 2.1.0 - rollup-plugin-node-resolve: 5.2.0_rollup@1.17.0 + rollup-plugin-node-resolve: 5.2.0_rollup@1.19.4 rollup-plugin-replace: 2.2.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@1.17.0 - rollup-plugin-terser: 5.1.1_rollup@1.17.0 - rollup-plugin-visualizer: 2.5.3_rollup@1.17.0 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.19.4 + rollup-plugin-terser: 5.1.1_rollup@1.19.4 + rollup-plugin-visualizer: 2.5.4_rollup@1.19.4 tslib: 1.10.0 typescript: 3.5.3 - util: 0.11.1 + util: 0.12.1 dev: false name: '@rush-temp/template' resolution: - integrity: sha512-Lbng6NWBk6fVPMUAdf3pqeb/y6PrAfaBE8BlVthaVo1FsUn1CnIYdCPJylV3q1WReebpXxvvoh7isVsDNvVZ+Q== + integrity: sha512-k6NCi2Ioy/kcDQR6Z1XDZO0w/Tfc3fDgaFc2eOMmNA3L8WiY5qd7NYlPEr5Vt/Bg8/IfbR7BD7KWcaJtFOM8tQ== tarball: 'file:projects/template.tgz' version: 0.0.0 'file:projects/testhub.tgz': dependencies: '@azure/event-hubs': 2.1.1 - '@azure/event-processor-host': 1.0.6 '@types/node': 8.10.51 '@types/uuid': 3.4.5 - '@types/yargs': 11.1.2 + '@types/yargs': 13.0.2 async-lock: 1.2.2 death: 1.1.0 debug: 3.2.6 - is-buffer: 2.0.3 - jssha: 2.3.1 - ms-rest: 2.5.3 - ms-rest-azure: 2.6.0 rhea: 1.0.8 - rimraf: 2.6.3 + rimraf: 2.7.1 tslib: 1.10.0 typescript: 3.5.3 uuid: 3.3.2 - yargs: 11.1.0 + yargs: 13.3.0 dev: false name: '@rush-temp/testhub' resolution: - integrity: sha512-Lt7NGJIhEbyVoQ1sJ4eUnUg7nGIkdgatRJJMWz18ZVWxKFXPxbBjxPsvIJNirR8QdA3efLv1FhyM4lszfJHcjw== + integrity: sha512-VxrbDXfuJ6Nz4rm0DHlJ+0sMk4RMKRflIyu7WxXLZGBpri9KLivFyNA0TWfZBifpdy3T1kVXyLOccskpzczDvA== tarball: 'file:projects/testhub.tgz' version: 0.0.0 specifiers: - '@azure/abort-controller': 1.0.0-preview.1 '@azure/amqp-common': 1.0.0-preview.6 - '@azure/arm-servicebus': ^0.1.0 + '@azure/arm-servicebus': ^3.2.0 '@azure/core-asynciterator-polyfill': 1.0.0-preview.1 '@azure/core-paging': 1.0.0-preview.1 + '@azure/core-tracing': 1.0.0-preview.1 '@azure/event-hubs': ^2.1.1 - '@azure/event-processor-host': ^1.0.6 '@azure/logger-js': ^1.0.2 - '@azure/ms-rest-js': ^1.2.6 '@azure/ms-rest-nodeauth': ^0.9.2 '@microsoft/api-extractor': ^7.1.5 '@rush-temp/abort-controller': 'file:./projects/abort-controller.tgz' @@ -10748,7 +10692,7 @@ specifiers: '@rush-temp/core-auth': 'file:./projects/core-auth.tgz' '@rush-temp/core-http': 'file:./projects/core-http.tgz' '@rush-temp/core-paging': 'file:./projects/core-paging.tgz' - '@rush-temp/cosmos': 'file:./projects/cosmos.tgz' + '@rush-temp/core-tracing': 'file:./projects/core-tracing.tgz' '@rush-temp/event-hubs': 'file:./projects/event-hubs.tgz' '@rush-temp/event-processor-host': 'file:./projects/event-processor-host.tgz' '@rush-temp/identity': 'file:./projects/identity.tgz' @@ -10761,6 +10705,7 @@ specifiers: '@rush-temp/storage-queue': 'file:./projects/storage-queue.tgz' '@rush-temp/template': 'file:./projects/template.tgz' '@rush-temp/testhub': 'file:./projects/testhub.tgz' + '@trust/keyto': 0.3.7 '@types/async-lock': ^1.1.0 '@types/chai': ^4.1.6 '@types/chai-as-promised': ^7.1.0 @@ -10768,7 +10713,8 @@ specifiers: '@types/debug': ^0.0.31 '@types/dotenv': ^6.1.0 '@types/express': ^4.16.0 - '@types/fs-extra': ~7.0.0 + '@types/fetch-mock': ^7.3.1 + '@types/fs-extra': ^8.0.0 '@types/glob': ^7.1.1 '@types/is-buffer': ^2.0.0 '@types/jssha': ^2.0.0 @@ -10779,55 +10725,48 @@ specifiers: '@types/nise': ^1.4.0 '@types/nock': ^10.0.1 '@types/node': ^8.0.0 - '@types/priorityqueuejs': ^1.0.1 + '@types/node-fetch': ^2.5.0 '@types/qs': ~6.5.3 '@types/query-string': 6.2.0 - '@types/semaphore': ^1.1.0 '@types/semver': ^5.5.0 - '@types/sinon': ^5.0.5 - '@types/tough-cookie': ^2.3.3 - '@types/tunnel': ^0.0.0 - '@types/underscore': ^1.8.8 + '@types/sinon': ^7.0.13 + '@types/tough-cookie': ^2.3.5 + '@types/tunnel': ^0.0.1 '@types/uuid': ^3.4.3 '@types/webpack': ^4.4.13 '@types/webpack-dev-middleware': ^2.0.2 '@types/ws': ^6.0.1 '@types/xml2js': ^0.4.3 - '@types/yargs': ^11.0.0 - '@typescript-eslint/eslint-plugin': ^1.11.0 - '@typescript-eslint/parser': ^1.11.0 - abortcontroller-polyfill: ^1.1.9 + '@types/yargs': ^13.0.0 + '@typescript-eslint/eslint-plugin': ^2.0.0 + '@typescript-eslint/parser': ^2.0.0 assert: ^1.4.1 async-lock: ^1.1.3 - axios: ^0.19.0 - axios-mock-adapter: ^1.16.0 azure-storage: ^2.10.2 - binary-search-bounds: 2.0.3 + babel-runtime: ^6.26.0 buffer: ^5.2.1 chai: ^4.2.0 chai-as-promised: ^7.1.1 chai-string: ^1.5.0 - create-hmac: ^1.1.7 cross-env: ^5.2.0 death: ^1.1.0 debug: ^3.1.0 delay: ^4.2.0 - dotenv: ^7.0.0 + dotenv: ^8.0.0 es6-promise: ^4.2.5 - eslint: ^5.16.0 - eslint-config-prettier: ^4.2.0 - eslint-detailed-reporter: ^0.8.0 + eslint: ^6.1.0 + eslint-config-prettier: ^6.0.0 eslint-plugin-no-null: ^1.0.2 eslint-plugin-no-only-tests: ^2.3.0 eslint-plugin-promise: ^4.1.1 events: ^3.0.0 - execa: 1.0.0 express: ^4.16.3 + fetch-mock: ^7.3.9 form-data: ^2.5.0 - fs-extra: ~8.0.1 + fs-extra: ^8.1.0 glob: ^7.1.2 gulp: ^4.0.0 - gulp-zip: ^4.2.0 + gulp-zip: ^5.0.0 https-proxy-agent: ^2.2.1 inherits: ^2.0.3 is-buffer: ^2.0.3 @@ -10835,7 +10774,7 @@ specifiers: jws: ~3.2.2 karma: ^4.0.1 karma-chai: ^0.1.0 - karma-chrome-launcher: ^2.2.0 + karma-chrome-launcher: ^3.0.0 karma-coverage: ^1.1.2 karma-edge-launcher: ^0.4.2 karma-env-preprocessor: ^0.1.1 @@ -10853,27 +10792,25 @@ specifiers: karma-webpack: ^4.0.0-rc.6 long: ^4.0.0 mocha: ^5.2.0 - mocha-chrome: ^1.1.0 + mocha-chrome: ^2.0.0 mocha-junit-reporter: ^1.18.0 mocha-multi: ^1.0.1 mocha-multi-reporters: ^1.1.7 moment: ^2.24.0 - ms-rest: ^2.3.3 - ms-rest-azure: ^2.5.9 + msal: ~1.0.2 nise: ^1.4.10 nock: ^10.0.6 + node-fetch: ^2.6.0 npm-run-all: ^4.1.5 nyc: ^14.0.0 - opn-cli: ^4.0.0 path-browserify: ^1.0.0 prettier: ^1.16.4 - priorityqueuejs: 1.0.0 process: ^0.11.10 promise: ^8.0.3 puppeteer: ^1.11.0 qs: 6.7.0 query-string: ^5.0.0 - requirejs: ^2.3.5 + regenerator-runtime: ^0.13.3 rhea: ^1.0.4 rhea-promise: ^0.1.15 rimraf: ^2.6.2 @@ -10886,35 +10823,33 @@ specifiers: rollup-plugin-node-globals: ^1.4.0 rollup-plugin-node-resolve: ^5.0.2 rollup-plugin-replace: ^2.1.0 - rollup-plugin-resolve: 0.0.1-predev.1 rollup-plugin-shim: ^1.0.0 rollup-plugin-sourcemaps: ^0.4.2 rollup-plugin-terser: ^5.1.1 rollup-plugin-uglify: ^6.0.0 rollup-plugin-visualizer: ^2.0.0 - semaphore: 1.0.5 semver: ^5.5.0 shx: ^0.3.2 sinon: ^7.1.0 source-map-support: ^0.5.9 stream-browserify: ^2.0.2 - stream-http: ^2.8.3 - tough-cookie: ^2.4.3 - ts-loader: ^5.3.1 + terser: ^4.0.2 + tough-cookie: ^3.0.1 + ts-loader: ^6.0.4 ts-mocha: ^6.0.0 - ts-node: ^7.0.1 + ts-node: ^8.3.0 tslib: ^1.9.3 - tunnel: 0.0.6 + tunnel: ^0.0.6 typescript: ^3.2.2 uglify-js: ^3.4.9 url: ^0.11.0 - util: ^0.11.1 + util: ^0.12.1 uuid: ^3.3.2 webpack: ^4.16.3 webpack-cli: ^3.2.3 webpack-dev-middleware: ^3.1.2 - ws: ^6.2.1 + ws: ^7.1.1 xhr-mock: ^2.4.1 xml2js: ^0.4.19 - yargs: ^11.0.0 + yargs: ^13.0.0 yarn: ^1.6.0 diff --git a/common/config/rush/pnpmfile.js b/common/config/rush/pnpmfile.js index 3832ba7dd101..7dd16dfbd0f5 100644 --- a/common/config/rush/pnpmfile.js +++ b/common/config/rush/pnpmfile.js @@ -34,14 +34,5 @@ function readPackage(packageJson, context) { // packageJson.dependencies['log4js'] = '0.6.38'; // } - // @typescript-eslint/eslint-plugin@1.12.0 introduced an implicit dependency on @typescript-eslint/typescript-estree. - // This should be fixed in a future release of @typescript-eslint/eslint-plugin. - // https://github.com/typescript-eslint/typescript-eslint/issues/705 - if (packageJson.name === '@typescript-eslint/eslint-plugin') { - context.log('Fixed up dependencies for @typescript-eslint/eslint-plugin'); - packageJson.dependencies['@typescript-eslint/typescript-estree'] = - '^1.11.0'; - } - return packageJson; } diff --git a/eng/.prettierrc.json b/eng/.prettierrc.json new file mode 100644 index 000000000000..1ca87ab7d8af --- /dev/null +++ b/eng/.prettierrc.json @@ -0,0 +1,3 @@ +{ + "singleQuote": false +} diff --git a/eng/pipelines/client.yml b/eng/pipelines/client.yml index e31c3fd14211..9edf5008ee59 100644 --- a/eng/pipelines/client.yml +++ b/eng/pipelines/client.yml @@ -6,6 +6,6 @@ trigger: none pr: none jobs: - - template: ../../eng/pipelines/templates/jobs/archetype-sdk-client.yml + - template: templates/jobs/archetype-sdk-client.yml parameters: ServiceDirectory: $(ServiceDirectory) diff --git a/eng/pipelines/docs.yml b/eng/pipelines/docs.yml index 18e9f0681c44..a65bb7f26e1c 100644 --- a/eng/pipelines/docs.yml +++ b/eng/pipelines/docs.yml @@ -45,7 +45,7 @@ jobs: npm install yargs displayName: "Install yargs" - - powershell: | + - pwsh: | cd $(Build.SourcesDirectory) node .\common\scripts\generate-doc.js --dgOp "dg" $(additionalArgs) Copy-Item -Path $(Build.SourcesDirectory)/docGen/* -Destination $(Build.ArtifactStagingDirectory) -Recurse -Force diff --git a/eng/pipelines/smoke-tests.yml b/eng/pipelines/smoke-tests.yml new file mode 100644 index 000000000000..e6a52cfdcd69 --- /dev/null +++ b/eng/pipelines/smoke-tests.yml @@ -0,0 +1,29 @@ +jobs: + - job: SmokeTest + variables: + - template: ./templates/variables/globals.yml + + pool: + vmImage: $(OSVmImage) + + steps: + - task: NodeTool@0 + displayName: "Use Node" + inputs: + versionSpec: $(NodeVersion) + - script: npm install --prefix ./samples/SmokeTest/ ./samples/SmokeTest/ + displayName: "Install packages" + - script: tsc --p ./samples/SmokeTest/ + displayName: "Compile TS" + - script: node ./samples/SmokeTest/app.js + displayName: "Run Smoke Test " + env: + AZURE_PROJECT_URL: $(smoke-tests-key-vault-project-url) + EVENT_HUBS_CONNECTION_STRING: $(smoke-tests-event-hubs-connection-string) + STORAGE_ACCOUNT_NAME: $(smoke-tests-storage-account-name) + STORAGE_ACCOUNT_KEY: $(smoke-tests-storage-account-key) + AZURE_CLIENT_SECRET: $(aad-azure-sdk-test-client-secret) + AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) + AZURE_CLIENT_ID: $(aad-azure-sdk-test-client-id) + COSMOS_KEY: $(smoke-tests-cosmos-key) + COSMOS_ENDPOINT: $(smoke-tests-cosmos-endpoint) diff --git a/eng/pipelines/templates/jobs/archetype-sdk-client.yml b/eng/pipelines/templates/jobs/archetype-sdk-client.yml index c2553d489ee6..b877b7c883da 100644 --- a/eng/pipelines/templates/jobs/archetype-sdk-client.yml +++ b/eng/pipelines/templates/jobs/archetype-sdk-client.yml @@ -25,6 +25,7 @@ jobs: - script: | node common/scripts/install-run-rush.js build --verbose $(GeneratedPackageTargets) displayName: "Build libraries" + - script: | node common/scripts/install-run-rush.js pack --verbose $(GeneratedPackageTargets) displayName: "Pack libraries" @@ -32,8 +33,8 @@ jobs: - task: CopyFiles@2 inputs: contents: | - sdk/**/**/*.tgz - sdk/**/**/browser/*.zip + sdk/**/$(coalesceResultFilter)/*.tgz + sdk/**/$(coalesceResultFilter)/browser/*.zip targetFolder: $(Build.ArtifactStagingDirectory) flattenFolders: true displayName: "Copy packages" @@ -66,9 +67,19 @@ jobs: ward scan -d $(Build.SourcesDirectory) -c $(Build.SourcesDirectory)/.docsettings.yml displayName: "Verify Readmes" + - script: | + npm ci + workingDirectory: $(System.DefaultWorkingDirectory)/eng/tools/analyze-deps + displayName: "Install tool dependencies" + + - script: | + node index.js --verbose --out "$(Build.ArtifactStagingDirectory)/dependencies.html" + workingDirectory: $(System.DefaultWorkingDirectory)/eng/tools/analyze-deps + displayName: "Analyze library dependencies" + - script: | node common/scripts/install-run-rush.js install - displayName: "Install dependencies" + displayName: "Install library dependencies" - script: | node common/scripts/install-run-rush.js lint $(GeneratedPackageTargets) @@ -83,7 +94,7 @@ jobs: - task: PublishPipelineArtifact@1 condition: succeededOrFailed() - displayName: "Publish lint reports" + displayName: "Publish Report Artifacts" inputs: artifactName: reports path: $(Build.ArtifactStagingDirectory) diff --git a/eng/pipelines/templates/steps/common.yml b/eng/pipelines/templates/steps/common.yml index 384ba227c080..6af28ac139f5 100644 --- a/eng/pipelines/templates/steps/common.yml +++ b/eng/pipelines/templates/steps/common.yml @@ -1,6 +1,6 @@ steps: - - powershell: | - Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/Azure/azure-sdk-tools/verify-agent-os_1.1.0/scripts/python/verify_agent_os.py" -OutFile "verify_agent_os.py" | Wait-Process + - pwsh: | + Invoke-WebRequest -MaximumRetryCount 10 -Uri "https://raw.githubusercontent.com/Azure/azure-sdk-tools/verify-agent-os_1.1.0/scripts/python/verify_agent_os.py" -OutFile "verify_agent_os.py" | Wait-Process workingDirectory: "$(Build.BinariesDirectory)" displayName: "Download verify_agent_os.py" diff --git a/eng/pipelines/templates/variables/globals.yml b/eng/pipelines/templates/variables/globals.yml index 402b48895587..3cc998bf0ddc 100644 --- a/eng/pipelines/templates/variables/globals.yml +++ b/eng/pipelines/templates/variables/globals.yml @@ -3,3 +3,4 @@ variables: OSVmImage: "ubuntu-16.04" Agent.Source.Git.ShallowFetchDepth: 20 skipComponentGovernanceDetection: true + coalesceResultFilter: $[ coalesce(variables['packageGlobFilter'], '**') ] diff --git a/eng/tools/analyze-deps/deps.html.hbs b/eng/tools/analyze-deps/deps.html.hbs new file mode 100644 index 000000000000..b24b74811876 --- /dev/null +++ b/eng/tools/analyze-deps/deps.html.hbs @@ -0,0 +1,220 @@ + + + + + {{ capitalize repo_name }} Dependency Report + + + + + +
+

{{ capitalize repo_name }} Dependency Report

+

+ Generated at {{ curtime }} + {{#if release}} + for release {{ release }} + {{else if build}} + for build {{ build }} + {{#if branch}} +
from branch {{ branch }} + {{#if isfork}} + in repo {{ repo }} + {{/if}} + {{/if}} + {{#if commit}} + ({{ truncate commit 7 }}) + {{/if}} + {{/if}} +

+

+ {{ sub (len dependencies) (len external) }} internal and {{ len external }} external package {{ pluralize (len dependencies) 'dependency was' 'dependencies were' }} analyzed to determine if any packages declare inconsistent dependency versions.
+ {{#if inconsistent}} + {{ len inconsistent }} inconsistent package dependency {{ pluralize (len inconsistent) 'version was' 'versions were' }} discovered.

+ {{else}} + No inconsistent package dependency versions were discovered.

+ {{/if}} +
This report scanned {{ len packages }} {{ pluralize (len packages) 'package' 'packages' }}. +

+ + {{#each (sorted dependencies) as |dep|}} + + + + {{#if @first}} + + + + {{/if}} + + + + + + {{#each (sorted dep.[1]) as |spec|}} + + + + + {{/each}} + +
Dependencies Discovered in Packages
{{ title (dep_type dep.[0]) }} Dependency: {{ dep.[0] }}
{{ default spec.[0] '(empty)' }} + {{#each (sorted spec.[1]) as |package|}} + {{ package.[0] }} {{ package.[1] }}
+ {{/each}} +
+
+ {{/each}} +

+


+
+ + + + + + + + + + + + + {{#each (sorted packages) as |entry|}} + + + + + + {{/each}} + +
Packages Scanned for this Report
Package AnalyzedPackage VersionPackage Source
{{ entry.[0] }}{{ entry.[1].ver }}{{ entry.[1].src }}
+
+ + + diff --git a/eng/tools/analyze-deps/index.js b/eng/tools/analyze-deps/index.js new file mode 100644 index 000000000000..7bfdda40fa7a --- /dev/null +++ b/eng/tools/analyze-deps/index.js @@ -0,0 +1,237 @@ +const Buffer = require("buffer").Buffer; +const fs = require("fs"); +const path = require("path"); +const process = require("process"); +const util = require("util"); + +const argparse = require("argparse"); +const Handlebars = require("handlebars"); +const jju = require("jju"); +const tar = require("tar"); + +const readdir = util.promisify(fs.readdir); +const readFile = util.promisify(fs.readFile); +const writeFile = util.promisify(fs.writeFile); + +const appendPackageData = (data, pkgSrc, pkgJson) => { + data[pkgJson.name] = { + src: pkgSrc, + ver: pkgJson.version, + run: pkgJson.dependencies, + dev: pkgJson.devDependencies, + peer: pkgJson.peerDependencies + }; +}; + +const getRushPackages = async (rushPath) => { + const baseDir = path.dirname(rushPath); + const rushJson = jju.parse(await readFile(rushPath, "utf8")); + const packageData = {}; + + for (const proj of rushJson.projects) { + const projDir = path.join(baseDir, proj.projectFolder); + const packageJson = jju.parse(await readFile(path.join(projDir, "package.json"), "utf8")); + appendPackageData(packageData, projDir, packageJson); + } + + return packageData; +}; + +const readCompressedFile = async (archivePath, filePath, encoding) => { + const data = []; + let processed = false; + + await tar.t( + { + file: archivePath, + onentry: (entry) => { + if (!processed) { + processed = true; + entry.on("data", (c) => { + data.push(c); + }); + } + } + }, + [filePath] + ); + + if (data) { + return Buffer.concat(data).toString(encoding); + } else { + return undefined; + } +}; + +const getTarballPackages = async (tarballDir) => { + const files = await readdir(tarballDir); + const packageData = {}; + + for (const file of files) { + const filePath = path.join(tarballDir, file); + if (path.extname(filePath).toLowerCase() === ".tgz") { + const packageJson = jju.parse( + await readCompressedFile(filePath, "package/package.json", "utf8") + ); + appendPackageData(packageData, filePath, packageJson); + } + } + return packageData; +}; + +const render = async (context, dest) => { + context.repo_name = "azure-sdk-for-js"; + context.branch = + process.env.SYSTEM_PULLREQUEST_SOURCEBRANCH || process.env.BUILD_SOURCEBRANCHNAME; + context.build = process.env.BUILD_BUILDNUMBER; + context.build_url = `${process.env.SYSTEM_TEAMFOUNDATIONCOLLECTIONURI}${process.env.SYSTEM_TEAMPROJECT}/_build/results?buildId=${process.env.BUILD_BUILDID}`; + context.commit = process.env.BUILD_SOURCEVERSION; + context.isfork = process.env.SYSTEM_PULLREQUEST_ISFORK === "True"; + context.rel_url = process.env.RELEASE_RELEASEWEBURL; + context.release = process.env.RELEASE_RELEASENAME; + context.repo = context.isfork ? process.env.BUILD_REPOSITORY_NAME : `Azure/${context.repo_name}`; + context.curtime = new Date().toISOString(); + + Handlebars.registerHelper({ + and: (a, b) => a && b, + capitalize: (s) => new Handlebars.SafeString(s ? s.charAt(0).toUpperCase() + s.slice(1) : ""), + contains: (c, i) => (typeof c.includes === "function" ? c.includes(i) : i in c), + default: (s, def) => new Handlebars.SafeString(s ? s : def), + dep_type: (p) => { + const ret = []; + if (context.inconsistent.includes(p)) { + ret.push("inconsistent"); + } + if (context.external.includes(p)) { + ret.push("external"); + } else { + ret.push("internal"); + } + return ret.join(" "); + }, + len: (c) => (typeof c.length === "number" ? c.length : Object.keys(c).length), + ne: (a, b) => a !== b, + or: (a, b) => a || b, + pluralize: (num, singular, plural) => new Handlebars.SafeString(num === 1 ? singular : plural), + sorted: (c) => (typeof c.sort === "function" ? c.sort() : Object.entries(c).sort()), + sub: (a, b) => a - b, + title: (s) => new Handlebars.SafeString(s ? s.replace(/\b\S/g, (t) => t.toUpperCase()) : ""), + truncate: (s, len) => new Handlebars.SafeString(s.substr(0, len)) + }); + + const template = await readFile("deps.html.hbs", "utf8"); + return writeFile(dest, Handlebars.compile(template)(context)); +}; + +const appendDependencyData = (dependencies, dep, spec, package, depType) => { + if (!dependencies[dep]) { + dependencies[dep] = {}; + } + if (!dependencies[dep][spec]) { + dependencies[dep][spec] = []; + } + dependencies[dep][spec].push([package, depType]); +}; + +const constructDeps = (pkgs) => { + const dependencies = {}; + + for (const [name, data] of Object.entries(pkgs)) { + for (const [dep, spec] of Object.entries(data.run || {})) { + appendDependencyData(dependencies, dep, spec, name, "runtime"); + } + for (const [dep, spec] of Object.entries(data.dev || {})) { + appendDependencyData(dependencies, dep, spec, name, "dev"); + } + for (const [dep, spec] of Object.entries(data.peer || {})) { + appendDependencyData(dependencies, dep, spec, name, "peer"); + } + } + + return dependencies; +}; + +const main = async () => { + const parser = new argparse.ArgumentParser({ + prog: "analyze-deps", + description: "Analyze dependencies in NodeJS packages." + }); + parser.addArgument("--verbose", { help: "verbose output", action: "storeTrue" }); + parser.addArgument("--out", { metavar: "FILE", help: "write HTML-formatted report to FILE" }); + parser.addArgument("--packdir", { + metavar: "DIR", + help: "analyze packed tarballs in DIR rather than source packages in this repository" + }); + const args = parser.parseArgs(); + + const context = { + packages: {}, + dependencies: {}, + external: [], + inconsistent: [] + }; + + const rushPackages = await getRushPackages(path.resolve(`${__dirname}/../../../rush.json`)); + context.packages = args.packdir + ? await getTarballPackages(path.resolve(args.packdir)) + : rushPackages; + context.dependencies = constructDeps(context.packages); + context.external = Object.keys(context.dependencies).filter((p) => !(p in rushPackages)); + context.inconsistent = Object.keys(context.dependencies).filter( + (p) => Object.keys(context.dependencies[p]).length > 1 + ); + + if (args.verbose) { + console.log("Packages analyzed:"); + for (const package of Object.keys(context.packages).sort()) { + const info = context.packages[package]; + console.log(`${package} ${info.ver}`); + console.log(` from ${info.src}`); + } + + console.log("\nDependencies discovered:"); + for (const dep of Object.keys(context.dependencies).sort()) { + const info = context.dependencies[dep]; + console.log(`${dep}`); + for (const ver of Object.keys(info).sort()) { + const pkgs = info[ver]; + console.log(`${ver}`); + for (const pkg of pkgs.sort()) { + console.log(` * ${pkg[0]} (${pkg[1]})`); + } + } + console.log(""); + } + + for (const inc of context.inconsistent) { + const info = context.dependencies[inc]; + const vers = Object.keys(info).sort(); + console.log(`\nDependency '${inc}' has ${vers.length} unique specifiers:`); + for (const ver of vers.sort()) { + const pkgs = info[ver]; + console.log(`'${ver}'`); + console.log(`${"-".repeat(ver.length + 2)}`); + for (const pkg of pkgs.sort()) { + console.log(` * ${pkg[0]} (${pkg[1]})`); + } + console.log(""); + } + } + } + + if (context.inconsistent.length > 0) { + if (!args.verbose) { + console.log( + "Incompatible dependency versions detected in libraries, run this script with --verbose for details" + ); + } + } else { + console.log("All library dependencies verified, no incompatible versions detected"); + } + + if (args.out) { + await render(context, args.out); + } +}; + +main(); diff --git a/eng/tools/analyze-deps/package-lock.json b/eng/tools/analyze-deps/package-lock.json new file mode 100644 index 000000000000..c69535dd97fa --- /dev/null +++ b/eng/tools/analyze-deps/package-lock.json @@ -0,0 +1,170 @@ +{ + "name": "analyze-deps", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chownr": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", + "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==" + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "optional": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "fs-minipass": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz", + "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==", + "requires": { + "minipass": "^2.2.1" + } + }, + "handlebars": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + }, + "minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "semver": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "tar": { + "version": "4.4.10", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz", + "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==", + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.5", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "uglify-js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "optional": true, + "requires": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + } + } +} diff --git a/eng/tools/analyze-deps/package.json b/eng/tools/analyze-deps/package.json new file mode 100644 index 000000000000..9625eb695331 --- /dev/null +++ b/eng/tools/analyze-deps/package.json @@ -0,0 +1,19 @@ +{ + "name": "analyze-deps", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "analyze-deps": "node index.js" + }, + "author": "", + "license": "ISC", + "dependencies": { + "argparse": "^1.0.10", + "handlebars": "^4.1.2", + "jju": "^1.4.0", + "js-yaml": "^3.13.1", + "semver": "^6.2.0", + "tar": "^4.4.10" + } +} diff --git a/eng/tools/select-packages/index.js b/eng/tools/select-packages/index.js index d282e3eea11b..14852c79639c 100644 --- a/eng/tools/select-packages/index.js +++ b/eng/tools/select-packages/index.js @@ -69,6 +69,7 @@ glob(filter, (err, files) => { log( `Emitted variable "GeneratedPackageTargets" with content: ${packageTargets}` ); + } else { log("Did not find any packages under service directory."); process.exit(2); diff --git a/packages.md b/packages.md index c86da40e9c8c..edd78fe4fb87 100644 --- a/packages.md +++ b/packages.md @@ -36,6 +36,7 @@ | [`@azure/arm-databricks`]( sdk/databricks/arm-databricks/package.json )| [Readme](sdk/databricks/arm-databricks/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-databricks ) | | [`@azure/arm-datacatalog`]( sdk/datacatalog/arm-datacatalog/package.json )| [Readme](sdk/datacatalog/arm-datacatalog/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-datacatalog ) | | [`@azure/arm-datafactory`]( sdk/datafactory/arm-datafactory/package.json )| [Readme](sdk/datafactory/arm-datafactory/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-datafactory ) | +| [`@azure/arm-datamigration`]( sdk/datamigration/arm-datamigration/package.json )| [Readme](sdk/datamigration/arm-datamigration/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-datamigration ) | | [`@azure/arm-deploymentmanager`]( sdk/deploymentmanager/arm-deploymentmanager/package.json )| [Readme](sdk/deploymentmanager/arm-deploymentmanager/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-deploymentmanager ) | | [`@azure/arm-deviceprovisioningservices`]( sdk/deviceprovisioningservices/arm-deviceprovisioningservices/package.json )| [Readme](sdk/deviceprovisioningservices/arm-deviceprovisioningservices/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-deviceprovisioningservices ) | | [`@azure/arm-devspaces`]( sdk/devspaces/arm-devspaces/package.json )| [Readme](sdk/devspaces/arm-devspaces/README.md) | N/A | [NPM]( https://www.npmjs.com/package/@azure/arm-devspaces ) | diff --git a/rush.json b/rush.json index 4da6a4a595c2..7f1db9db30bb 100644 --- a/rush.json +++ b/rush.json @@ -15,7 +15,7 @@ * path segment in the "$schema" field for all your Rush config files. This will ensure * correct error-underlining and tab-completion for editors such as VS Code. */ - "rushVersion": "5.10.3", + "rushVersion": "5.11.2", /** * The next field selects which package manager should be installed and determines its version. * Rush installs its own local copy of the package manager to ensure that your build process @@ -24,7 +24,7 @@ * Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation * for details about these alternatives. */ - "pnpmVersion": "3.6.0", + "pnpmVersion": "3.7.0", // "npmVersion": "4.5.0", // "yarnVersion": "1.9.4", /** @@ -62,6 +62,18 @@ * for your repo. */ "nodeSupportedVersionRange": ">=8.0.0", + /** + * Odd-numbered major versions of Node.js are experimental. Even-numbered releases + * spend six months in a stabilization period before the first Long Term Support (LTS) version. + * For example, 8.9.0 was the first LTS version of Node.js 8. Pre-LTS versions are not recommended + * for production usage because they frequently have bugs. They may cause Rush itself + * to malfunction. + * + * Rush normally prints a warning if it detects a pre-LTS Node.js version. If you are testing + * pre-LTS versions in preparation for supporting the first LTS version, you can use this setting + * to disable Rush's warning. + */ + "suppressNodeLtsWarning": true, /** * If you would like the version specifiers for your dependencies to be consistent, then * uncomment this line. This is effectively similar to running "rush check" before any @@ -338,10 +350,6 @@ "packageName": "@azure/core-paging", "projectFolder": "sdk/core/core-paging" }, - { - "packageName": "@azure/cosmos", - "projectFolder": "sdk/cosmosdb/cosmos" - }, { "packageName": "@azure/event-hubs", "projectFolder": "sdk/eventhub/event-hubs" @@ -389,6 +397,10 @@ { "packageName": "@azure/template", "projectFolder": "sdk/template/template" + }, + { + "packageName": "@azure/core-tracing", + "projectFolder": "sdk/core/core-tracing" } ] } diff --git a/samples/SmokeTest/BlobStorage.ts b/samples/SmokeTest/BlobStorage.ts index 4611283aeef8..d2c97fc76536 100644 --- a/samples/SmokeTest/BlobStorage.ts +++ b/samples/SmokeTest/BlobStorage.ts @@ -1,5 +1,11 @@ +// ------------------------------------ +// Copyright(c) Microsoft Corporation. +// Licensed under the MIT License. +// ------------------------------------ import { SharedKeyCredential, BlobServiceClient, ContainerClient } from "@azure/storage-blob"; +const uuidv1 = require('uuid/v1'); + export class BlobStorage { private static ContainerClient: ContainerClient; private static blobName: string; @@ -10,13 +16,13 @@ export class BlobStorage { Storage - Blobs ------------------------ 1) Upload Blob - 2) Delete Blob (Clean up the resource + 2) Delete Blob (Clean up the resource) `); const account = process.env["STORAGE_ACCOUNT_NAME"] || ""; const accountKey = process.env["STORAGE_ACCOUNT_KEY"] || ""; const containerName = "mycontainer"; - BlobStorage.blobName = "JSNewBlob"; + BlobStorage.blobName = `JSNewBlob-${uuidv1()}.txt`; const credential = new SharedKeyCredential(account, accountKey); const serviceClient = new BlobServiceClient( @@ -28,7 +34,7 @@ export class BlobStorage { //Ensure that the blob does not already existis try { await BlobStorage.CleanUp(); - } catch {} + } catch { } await BlobStorage.UploadBlob(); await BlobStorage.CleanUp(); @@ -40,9 +46,8 @@ export class BlobStorage { //If the blob already exists in the container, this will override it. console.log("Uploading blob..."); const content = "This is the content for the sample blob"; - const blobName = "JSNewBlob"; - const blobClient = BlobStorage.ContainerClient.getBlobClient(blobName); + const blobClient = BlobStorage.ContainerClient.getBlobClient(BlobStorage.blobName); const blockBlobClient = blobClient.getBlockBlobClient(); await blockBlobClient.upload(content, content.length); @@ -56,7 +61,7 @@ export class BlobStorage { console.log("\tdone"); } - private static dedent(str:ReadonlyArray){ - return str[0].replace(/^\ */gm,''); + private static dedent(str: ReadonlyArray) { + return str[0].replace(/^\ */gm, ''); } } diff --git a/samples/SmokeTest/CosmosDB.ts b/samples/SmokeTest/CosmosDB.ts index 0616a35d8e4f..892f2d0b98ee 100644 --- a/samples/SmokeTest/CosmosDB.ts +++ b/samples/SmokeTest/CosmosDB.ts @@ -1,7 +1,13 @@ +// ------------------------------------ +// Copyright(c) Microsoft Corporation. +// Licensed under the MIT License. +// ------------------------------------ import { CosmosClient, Database, Container } from "@azure/cosmos"; +const uuidv1 = require('uuid/v1'); + export class CosmosDB { - private static dataBaseName = "jsSolarSystem"; + private static dataBaseName = `jsSolarSystem-${uuidv1()}`; private static collectionName = "PlanetsCollection"; private static client: CosmosClient; private static db: Database; @@ -25,7 +31,7 @@ export class CosmosDB { //Ensure that the resource is clean try { await CosmosDB.DeleteDatabase(); - } catch {} + } catch { } await CosmosDB.CreateDatabase(); await CosmosDB.CreateCollection(); @@ -90,7 +96,7 @@ export class CosmosDB { console.log("\tdone"); } - private static dedent(str:ReadonlyArray){ - return str[0].replace(/^\ */gm,''); + private static dedent(str: ReadonlyArray) { + return str[0].replace(/^\ */gm, ''); } } diff --git a/samples/SmokeTest/EventHubsTest.ts b/samples/SmokeTest/EventHub.ts similarity index 90% rename from samples/SmokeTest/EventHubsTest.ts rename to samples/SmokeTest/EventHub.ts index b8fc3f8c2255..daf7dde173dd 100644 --- a/samples/SmokeTest/EventHubsTest.ts +++ b/samples/SmokeTest/EventHub.ts @@ -1,3 +1,7 @@ +// ------------------------------------ +// Copyright(c) Microsoft Corporation. +// Licensed under the MIT License. +// ------------------------------------ import { EventHubClient, EventPosition } from "@azure/event-hubs"; export class EventHubs { @@ -68,7 +72,7 @@ export class EventHubs { console.log("\tdone"); } - private static dedent(str:ReadonlyArray){ - return str[0].replace(/^\ */gm,''); + private static dedent(str: ReadonlyArray) { + return str[0].replace(/^\ */gm, ''); } } diff --git a/samples/SmokeTest/KeyVaultTest.ts b/samples/SmokeTest/KeyVault.ts similarity index 84% rename from samples/SmokeTest/KeyVaultTest.ts rename to samples/SmokeTest/KeyVault.ts index 73f97c6b021c..6e39de8974ed 100644 --- a/samples/SmokeTest/KeyVaultTest.ts +++ b/samples/SmokeTest/KeyVault.ts @@ -1,6 +1,12 @@ +// ------------------------------------ +// Copyright(c) Microsoft Corporation. +// Licensed under the MIT License. +// ------------------------------------ import { EnvironmentCredential } from "@azure/identity"; import { SecretsClient } from "@azure/keyvault-secrets"; +const uuidv1 = require('uuid/v1'); + export class KeyVaultSecrets { private static client: SecretsClient; private static secretName: string; @@ -26,7 +32,7 @@ export class KeyVaultSecrets { KeyVaultSecrets.client = new SecretsClient(url, credential); - KeyVaultSecrets.secretName = "MySecretName"; + KeyVaultSecrets.secretName = `MySecretName-${uuidv1()}`; KeyVaultSecrets.secretValue = "MySecretValue"; try { @@ -45,7 +51,7 @@ export class KeyVaultSecrets { KeyVaultSecrets.secretName, KeyVaultSecrets.secretValue ); - console.log("\tSecret = (" + result.name + "," + result.value + ")"); + console.log(`\tSecret = (${result.name},${result.value})`); console.log("\tdone"); } @@ -69,7 +75,7 @@ export class KeyVaultSecrets { console.log("\tdone"); } - private static dedent(str:ReadonlyArray){ - return str[0].replace(/^\ */gm,''); + private static dedent(str: ReadonlyArray) { + return str[0].replace(/^\ */gm, ''); } } diff --git a/samples/SmokeTest/app.ts b/samples/SmokeTest/app.ts index 2806526f1c90..2fe3f0581f36 100644 --- a/samples/SmokeTest/app.ts +++ b/samples/SmokeTest/app.ts @@ -1,10 +1,14 @@ -import { KeyVaultSecrets } from "./KeyVaultTest"; -import { EventHubs } from "./EventHubsTest"; +// ------------------------------------ +// Copyright(c) Microsoft Corporation. +// Licensed under the MIT License. +// ------------------------------------ +import { KeyVaultSecrets } from "./KeyVault"; +import { EventHubs } from "./EventHub"; import { BlobStorage } from "./BlobStorage"; import { CosmosDB } from "./CosmosDB"; -function dedent(str:ReadonlyArray){ - return str[0].replace(/^\ */gm,''); +function dedent(str: ReadonlyArray) { + return str[0].replace(/^\ */gm, ''); } function welcomeMessage() { @@ -17,11 +21,16 @@ function welcomeMessage() { async function main() { welcomeMessage(); - - await KeyVaultSecrets.Run(); - await BlobStorage.Run(); - await EventHubs.Run(); - await CosmosDB.Run(); + try { + await KeyVaultSecrets.Run(); + await BlobStorage.Run(); + await EventHubs.Run(); + await CosmosDB.Run(); + } + catch { + console.error("UNEXPECTED ERROR"); + process.exit(1); + } } main(); diff --git a/samples/SmokeTest/package.json b/samples/SmokeTest/package.json index 2e79cb3e90b1..6daadd31d076 100644 --- a/samples/SmokeTest/package.json +++ b/samples/SmokeTest/package.json @@ -13,6 +13,7 @@ "@azure/event-hubs": "^5.0.0-preview.1", "@azure/keyvault-secrets": "^4.0.0-preview.2", "@azure/storage-blob": "^12.0.0-preview.1", - "@types/node": "^12.6.2" + "@types/node": "^12.6.2", + "uuid": "^3.3.2" } } diff --git a/sdk/apimanagement/arm-apimanagement/README.md b/sdk/apimanagement/arm-apimanagement/README.md index 862f3d10a47b..9745441bb19d 100644 --- a/sdk/apimanagement/arm-apimanagement/README.md +++ b/sdk/apimanagement/arm-apimanagement/README.md @@ -108,3 +108,5 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to ## Related projects - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/apimanagement/arm-apimanagement/README.png) diff --git a/sdk/apimanagement/arm-apimanagement/package.json b/sdk/apimanagement/arm-apimanagement/package.json index 3dc6a1e94b14..ce5065797769 100644 --- a/sdk/apimanagement/arm-apimanagement/package.json +++ b/sdk/apimanagement/arm-apimanagement/package.json @@ -2,7 +2,7 @@ "name": "@azure/arm-apimanagement", "author": "Microsoft Corporation", "description": "ApiManagementClient Library with typescript type definitions for node.js and browser.", - "version": "5.1.0", + "version": "5.1.1", "dependencies": { "@azure/ms-rest-azure-js": "^1.3.2", "@azure/ms-rest-js": "^1.8.1", @@ -26,13 +26,13 @@ "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/apimanagement/arm-apimanagement", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", diff --git a/sdk/apimanagement/arm-apimanagement/src/models/index.ts b/sdk/apimanagement/arm-apimanagement/src/models/index.ts index f91afeb3611d..670bb7eeb4b8 100644 --- a/sdk/apimanagement/arm-apimanagement/src/models/index.ts +++ b/sdk/apimanagement/arm-apimanagement/src/models/index.ts @@ -2355,13 +2355,31 @@ export interface ApiManagementServiceBaseProperties { */ additionalLocations?: AdditionalLocation[]; /** - * Custom properties of the API Management service. Setting + * Custom properties of the API Management service.
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the - * cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2). Setting + * cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable - * just TLS 1.1 and setting + * just TLS 1.1.
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable - * TLS 1.0 on an API Management service. + * TLS 1.0 on an API Management service.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to + * disable just TLS 1.1 for communications with backends.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to + * disable TLS 1.0 for communications with backends.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable + * HTTP2 protocol on an API Management service.
Not specifying any of these properties on + * PATCH operation will reset omitted properties' values to their defaults. For all the settings + * except Http2 the default value is `True` if the service was created on or before April 1st + * 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable + * any of next ciphers by using settings + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + * TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, + * TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. + * For example, + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. + * The default value is `true` for them. */ customProperties?: { [propertyName: string]: string }; /** @@ -2505,13 +2523,31 @@ export interface ApiManagementServiceResource extends ApimResource { */ additionalLocations?: AdditionalLocation[]; /** - * Custom properties of the API Management service. Setting + * Custom properties of the API Management service.
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the - * cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2). Setting + * cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable - * just TLS 1.1 and setting + * just TLS 1.1.
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable - * TLS 1.0 on an API Management service. + * TLS 1.0 on an API Management service.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to + * disable just TLS 1.1 for communications with backends.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to + * disable TLS 1.0 for communications with backends.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable + * HTTP2 protocol on an API Management service.
Not specifying any of these properties on + * PATCH operation will reset omitted properties' values to their defaults. For all the settings + * except Http2 the default value is `True` if the service was created on or before April 1st + * 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable + * any of next ciphers by using settings + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + * TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, + * TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. + * For example, + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. + * The default value is `true` for them. */ customProperties?: { [propertyName: string]: string }; /** @@ -2639,13 +2675,31 @@ export interface ApiManagementServiceUpdateParameters extends ApimResource { */ additionalLocations?: AdditionalLocation[]; /** - * Custom properties of the API Management service. Setting + * Custom properties of the API Management service.
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the - * cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2). Setting + * cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable - * just TLS 1.1 and setting + * just TLS 1.1.
Setting * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable - * TLS 1.0 on an API Management service. + * TLS 1.0 on an API Management service.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to + * disable just TLS 1.1 for communications with backends.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to + * disable TLS 1.0 for communications with backends.
Setting + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable + * HTTP2 protocol on an API Management service.
Not specifying any of these properties on + * PATCH operation will reset omitted properties' values to their defaults. For all the settings + * except Http2 the default value is `True` if the service was created on or before April 1st + * 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable + * any of next ciphers by using settings + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + * TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, + * TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. + * For example, + * `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. + * The default value is `true` for them. */ customProperties?: { [propertyName: string]: string }; /** diff --git a/sdk/apimanagement/arm-apimanagement/src/models/parameters.ts b/sdk/apimanagement/arm-apimanagement/src/models/parameters.ts index b300ade09092..ecefc49f61d1 100644 --- a/sdk/apimanagement/arm-apimanagement/src/models/parameters.ts +++ b/sdk/apimanagement/arm-apimanagement/src/models/parameters.ts @@ -54,8 +54,7 @@ export const apiId1: msRest.OperationURLParameter = { serializedName: "apiId", constraints: { MaxLength: 80, - MinLength: 1, - Pattern: /^[^*#&+:<>?]+$/ + MinLength: 1 }, type: { name: "String" @@ -109,8 +108,7 @@ export const backendId: msRest.OperationURLParameter = { serializedName: "backendId", constraints: { MaxLength: 80, - MinLength: 1, - Pattern: /^[^*#&+:<>?]+$/ + MinLength: 1 }, type: { name: "String" @@ -335,8 +333,7 @@ export const groupId: msRest.OperationURLParameter = { serializedName: "groupId", constraints: { MaxLength: 256, - MinLength: 1, - Pattern: /^[^*#&+:<>?]+$/ + MinLength: 1 }, type: { name: "String" @@ -503,8 +500,7 @@ export const operationId: msRest.OperationURLParameter = { serializedName: "operationId", constraints: { MaxLength: 80, - MinLength: 1, - Pattern: /^[^*#&+:<>?]+$/ + MinLength: 1 }, type: { name: "String" @@ -556,8 +552,7 @@ export const productId: msRest.OperationURLParameter = { serializedName: "productId", constraints: { MaxLength: 256, - MinLength: 1, - Pattern: /^[^*#&+:<>?]+$/ + MinLength: 1 }, type: { name: "String" @@ -782,8 +777,7 @@ export const userId: msRest.OperationURLParameter = { serializedName: "userId", constraints: { MaxLength: 80, - MinLength: 1, - Pattern: /^[^*#&+:<>?]+$/ + MinLength: 1 }, type: { name: "String" diff --git a/sdk/cosmosdb/cosmos/LICENSE b/sdk/appconfiguration/app-configuration/LICENSE.txt similarity index 95% rename from sdk/cosmosdb/cosmos/LICENSE rename to sdk/appconfiguration/app-configuration/LICENSE.txt index 862b2ee3ad32..b73b4a1293c3 100644 --- a/sdk/cosmosdb/cosmos/LICENSE +++ b/sdk/appconfiguration/app-configuration/LICENSE.txt @@ -1,5 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 Microsoft Corporation + +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -17,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/sdk/appconfiguration/app-configuration/README.md b/sdk/appconfiguration/app-configuration/README.md new file mode 100644 index 000000000000..0a4e89bfd7c4 --- /dev/null +++ b/sdk/appconfiguration/app-configuration/README.md @@ -0,0 +1,117 @@ +# Azure App Configuration client library for JS + +This package contains an isomorphic SDK for ConfigurationClient. + +## Getting started + +### Currently supported environments + +- Node.js version 6.x.x or higher +- Browser JavaScript + +### How to Install + +```bash +npm install @azure/app-config +``` +## Key concepts + +### How to use + +#### nodejs - Authentication, client creation and listConfigurationSettings as an example written in TypeScript. + +##### Install @azure/ms-rest-nodeauth + +```bash +npm install @azure/ms-rest-nodeauth +``` + +## Examples + +##### Sample code + +```typescript +import * as coreHttp from "@azure/core-http"; +import * as coreArm from "@azure/core-arm"; +import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; +import { ConfigurationClient, ConfigurationModels, ConfigurationMappers } from "@azure/app-config"; +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new ConfigurationClient(creds, subscriptionId); + const label = ["testlabel"]; + const key = ["testkey"]; + const acceptDateTime = new Date().toISOString(); + const fields = ["etag"]; + client.listConfigurationSettings(label, key, acceptDateTime, fields).then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +#### browser - Authentication, client creation and listConfigurationSettings as an example written in JavaScript. + +##### Install @azure/ms-rest-browserauth + +```bash +npm install @azure/ms-rest-browserauth +``` + +##### Sample code + +See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. + +- index.html +```html + + + + @azure/app-configuration sample + + + + + + + + +``` + +## Troubleshooting + +## Next steps + +## Contributing + +## Related projects + +- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/appconfiguration/app-config/README.png) diff --git a/sdk/appconfiguration/app-configuration/package.json b/sdk/appconfiguration/app-configuration/package.json new file mode 100644 index 000000000000..8ab6c2ec8bbf --- /dev/null +++ b/sdk/appconfiguration/app-configuration/package.json @@ -0,0 +1,59 @@ +{ + "name": "@azure/app-configuration", + "author": "Microsoft Corporation", + "description": "An isomorphic client library for the Azure App Configuration service.", + "version": "1.0.0-preview.1", + "dependencies": { + "@azure/core-arm": "1.0.0-preview.1", + "@azure/core-http": "1.0.0-preview.1", + "tslib": "^1.9.3" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/app-configuration.js", + "module": "./esm/index.js", + "types": "./esm/index.d.ts", + "devDependencies": { + "rollup": "^0.66.2", + "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "ts-node": "^8.3.0", + "typescript": "^3.1.1", + "uglify-js": "^3.4.9" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/appconfiguration/app-configuration", + "repository": { + "type": "git", + "url": "https://github.com/Azure/azure-sdk-for-js.git" + }, + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "files": [ + "dist/**/*.js", + "dist/**/*.js.map", + "dist/**/*.d.ts", + "dist/**/*.d.ts.map", + "esm/**/*.js", + "esm/**/*.js.map", + "esm/**/*.d.ts", + "esm/**/*.d.ts.map", + "src/**/*.ts", + "README.md", + "rollup.config.js", + "tsconfig.json" + ], + "scripts": { + "build": "tsc && rollup -c rollup.config.js && npm run minify", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/app-configuration.js.map'\" -o ./dist/app-configuration.min.js ./dist/app-configuration.js", + "prepack": "npm install && npm run build" + }, + "sideEffects": false, + "autoPublish": false +} diff --git a/sdk/appconfiguration/app-configuration/rollup.config.js b/sdk/appconfiguration/app-configuration/rollup.config.js new file mode 100644 index 000000000000..79908471c2b6 --- /dev/null +++ b/sdk/appconfiguration/app-configuration/rollup.config.js @@ -0,0 +1,30 @@ +import rollup from "rollup"; +import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + +/** + * @type {rollup.RollupFileOptions} + */ +const config = { + input: "./esm/index.js", + external: [ + "@azure/core-http", + "@azure/core-arm" + ], + output: { + file: "./dist/app-configuration.js", + format: "umd", + name: "Azure.AppConfig", + sourcemap: true, + globals: { + "@azure/core-http": "coreHttp", + "@azure/core-arm": "coreArm" + } + }, + plugins: [ + nodeResolve({ module: true }), + sourcemaps() + ] +}; + +export default config; diff --git a/sdk/appconfiguration/app-configuration/src/appConfigCredential.ts b/sdk/appconfiguration/app-configuration/src/appConfigCredential.ts new file mode 100644 index 000000000000..2133154b5ed1 --- /dev/null +++ b/sdk/appconfiguration/app-configuration/src/appConfigCredential.ts @@ -0,0 +1,41 @@ +import * as crypto from "crypto"; +import { ServiceClientCredentials, WebResource, URLBuilder } from "@azure/core-http"; + +export class AppConfigCredential implements ServiceClientCredentials { + private credential: string; + private secret: string; + + constructor(credential: string, secret: string) { + this.credential = credential; + this.secret = secret; + } + + signRequest(webResource: WebResource): Promise { + const verb = webResource.method.toUpperCase() + const utcNow = new Date().toUTCString(); + const contentHash = + crypto.createHash("sha256") + .update(webResource.body || "") + .digest("base64"); + + const signedHeaders = "x-ms-date;host;x-ms-content-sha256"; + + const url = URLBuilder.parse(webResource.url); + const query = url.getQuery(); + const urlPathAndQuery = `${url.getPath()}${ query ? "?" + query : "" }` + + const stringToSign = `${verb}\n${urlPathAndQuery}\n${utcNow};${url.getHost()};${contentHash}`; + + const decodedSecret = Buffer.from(this.secret, "base64"); + var signature = + crypto.createHmac("sha256", decodedSecret) + .update(stringToSign) + .digest("base64"); + + webResource.headers.set("x-ms-date", utcNow); + webResource.headers.set("x-ms-content-sha256", contentHash); + webResource.headers.set("Authorization", `HMAC-SHA256 Credential=${this.credential}, SignedHeaders=${signedHeaders}, Signature=${signature}`); + + return Promise.resolve(webResource); + } +} diff --git a/sdk/appconfiguration/app-configuration/src/generated/configurationClient.ts b/sdk/appconfiguration/app-configuration/src/generated/configurationClient.ts new file mode 100644 index 000000000000..d8cefa150f2a --- /dev/null +++ b/sdk/appconfiguration/app-configuration/src/generated/configurationClient.ts @@ -0,0 +1,592 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as coreHttp from "@azure/core-http"; +import * as Models from "./models"; +import * as Mappers from "./models/mappers"; +import * as Parameters from "./models/parameters"; +import { ConfigurationClientContext } from "./configurationClientContext"; + + +class ConfigurationClient extends ConfigurationClientContext { + /** + * Initializes a new instance of the ConfigurationClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param [options] The parameter options + */ + constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, options?: Models.ConfigurationClientOptions) { + super(credentials, options); + } + + /** + * List the configuration settings in the configuration store, optionally filtered by label + * @summary List configuration settings + * @param [options] The optional parameters + * @returns Promise + */ + listConfigurationSettings(options?: Models.ConfigurationClientListConfigurationSettingsOptionalParams): Promise; + /** + * @param callback The callback + */ + listConfigurationSettings(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listConfigurationSettings(options: Models.ConfigurationClientListConfigurationSettingsOptionalParams, callback: coreHttp.ServiceCallback): void; + listConfigurationSettings(options?: Models.ConfigurationClientListConfigurationSettingsOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + options + }, + listConfigurationSettingsOperationSpec, + callback) as Promise; + } + + /** + * Get the ConfigurationSetting for the given key and label + * @summary Get a ConfigurationSetting + * @param key string + * @param [options] The optional parameters + * @returns Promise + */ + getConfigurationSetting(key: string, options?: Models.ConfigurationClientGetConfigurationSettingOptionalParams): Promise; + /** + * @param key string + * @param callback The callback + */ + getConfigurationSetting(key: string, callback: coreHttp.ServiceCallback): void; + /** + * @param key string + * @param options The optional parameters + * @param callback The callback + */ + getConfigurationSetting(key: string, options: Models.ConfigurationClientGetConfigurationSettingOptionalParams, callback: coreHttp.ServiceCallback): void; + getConfigurationSetting(key: string, options?: Models.ConfigurationClientGetConfigurationSettingOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + key, + options + }, + getConfigurationSettingOperationSpec, + callback) as Promise; + } + + /** + * Create (or update) a ConfigurationSetting + * @summary Create (or update) a ConfigurationSetting + * @param configurationSetting + * @param key string + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdateConfigurationSetting(configurationSetting: Models.ConfigurationSetting, key: string, options?: Models.ConfigurationClientCreateOrUpdateConfigurationSettingOptionalParams): Promise; + /** + * @param configurationSetting + * @param key string + * @param callback The callback + */ + createOrUpdateConfigurationSetting(configurationSetting: Models.ConfigurationSetting, key: string, callback: coreHttp.ServiceCallback): void; + /** + * @param configurationSetting + * @param key string + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdateConfigurationSetting(configurationSetting: Models.ConfigurationSetting, key: string, options: Models.ConfigurationClientCreateOrUpdateConfigurationSettingOptionalParams, callback: coreHttp.ServiceCallback): void; + createOrUpdateConfigurationSetting(configurationSetting: Models.ConfigurationSetting, key: string, options?: Models.ConfigurationClientCreateOrUpdateConfigurationSettingOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + configurationSetting, + key, + options + }, + createOrUpdateConfigurationSettingOperationSpec, + callback) as Promise; + } + + /** + * Delete a ConfigurationSetting + * @param key string + * @param [options] The optional parameters + * @returns Promise + */ + deleteConfigurationSetting(key: string, options?: Models.ConfigurationClientDeleteConfigurationSettingOptionalParams): Promise; + /** + * @param key string + * @param callback The callback + */ + deleteConfigurationSetting(key: string, callback: coreHttp.ServiceCallback): void; + /** + * @param key string + * @param options The optional parameters + * @param callback The callback + */ + deleteConfigurationSetting(key: string, options: Models.ConfigurationClientDeleteConfigurationSettingOptionalParams, callback: coreHttp.ServiceCallback): void; + deleteConfigurationSetting(key: string, options?: Models.ConfigurationClientDeleteConfigurationSettingOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + key, + options + }, + deleteConfigurationSettingOperationSpec, + callback) as Promise; + } + + /** + * @param [options] The optional parameters + * @returns Promise + */ + listKeys(options?: Models.ConfigurationClientListKeysOptionalParams): Promise; + /** + * @param callback The callback + */ + listKeys(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listKeys(options: Models.ConfigurationClientListKeysOptionalParams, callback: coreHttp.ServiceCallback): void; + listKeys(options?: Models.ConfigurationClientListKeysOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + options + }, + listKeysOperationSpec, + callback) as Promise; + } + + /** + * List labels + * @param [options] The optional parameters + * @returns Promise + */ + listLabels(options?: Models.ConfigurationClientListLabelsOptionalParams): Promise; + /** + * @param callback The callback + */ + listLabels(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listLabels(options: Models.ConfigurationClientListLabelsOptionalParams, callback: coreHttp.ServiceCallback): void; + listLabels(options?: Models.ConfigurationClientListLabelsOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + options + }, + listLabelsOperationSpec, + callback) as Promise; + } + + /** + * @param key + * @param [options] The optional parameters + * @returns Promise + */ + lockConfigurationSetting(key: string, options?: Models.ConfigurationClientLockConfigurationSettingOptionalParams): Promise; + /** + * @param key + * @param callback The callback + */ + lockConfigurationSetting(key: string, callback: coreHttp.ServiceCallback): void; + /** + * @param key + * @param options The optional parameters + * @param callback The callback + */ + lockConfigurationSetting(key: string, options: Models.ConfigurationClientLockConfigurationSettingOptionalParams, callback: coreHttp.ServiceCallback): void; + lockConfigurationSetting(key: string, options?: Models.ConfigurationClientLockConfigurationSettingOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + key, + options + }, + lockConfigurationSettingOperationSpec, + callback) as Promise; + } + + /** + * @param key + * @param [options] The optional parameters + * @returns Promise + */ + unlockConfigurationSetting(key: string, options?: Models.ConfigurationClientUnlockConfigurationSettingOptionalParams): Promise; + /** + * @param key + * @param callback The callback + */ + unlockConfigurationSetting(key: string, callback: coreHttp.ServiceCallback): void; + /** + * @param key + * @param options The optional parameters + * @param callback The callback + */ + unlockConfigurationSetting(key: string, options: Models.ConfigurationClientUnlockConfigurationSettingOptionalParams, callback: coreHttp.ServiceCallback): void; + unlockConfigurationSetting(key: string, options?: Models.ConfigurationClientUnlockConfigurationSettingOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + key, + options + }, + unlockConfigurationSettingOperationSpec, + callback) as Promise; + } + + /** + * @param [options] The optional parameters + * @returns Promise + */ + listRevisions(options?: Models.ConfigurationClientListRevisionsOptionalParams): Promise; + /** + * @param callback The callback + */ + listRevisions(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listRevisions(options: Models.ConfigurationClientListRevisionsOptionalParams, callback: coreHttp.ServiceCallback): void; + listRevisions(options?: Models.ConfigurationClientListRevisionsOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + options + }, + listRevisionsOperationSpec, + callback) as Promise; + } + + /** + * List the configuration settings in the configuration store, optionally filtered by label + * @summary List configuration settings + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listConfigurationSettingsNext(nextPageLink: string, options?: Models.ConfigurationClientListConfigurationSettingsNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listConfigurationSettingsNext(nextPageLink: string, callback: coreHttp.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listConfigurationSettingsNext(nextPageLink: string, options: Models.ConfigurationClientListConfigurationSettingsNextOptionalParams, callback: coreHttp.ServiceCallback): void; + listConfigurationSettingsNext(nextPageLink: string, options?: Models.ConfigurationClientListConfigurationSettingsNextOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + listConfigurationSettingsNextOperationSpec, + callback) as Promise; + } + + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listRevisionsNext(nextPageLink: string, options?: Models.ConfigurationClientListRevisionsNextOptionalParams): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listRevisionsNext(nextPageLink: string, callback: coreHttp.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listRevisionsNext(nextPageLink: string, options: Models.ConfigurationClientListRevisionsNextOptionalParams, callback: coreHttp.ServiceCallback): void; + listRevisionsNext(nextPageLink: string, options?: Models.ConfigurationClientListRevisionsNextOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.sendOperationRequest( + { + nextPageLink, + options + }, + listRevisionsNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new coreHttp.Serializer(Mappers); +const listConfigurationSettingsOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "kv", + queryParameters: [ + Parameters.label0, + Parameters.key0, + Parameters.fields + ], + headerParameters: [ + Parameters.acceptDateTime, + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSettingList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getConfigurationSettingOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "kv/{key}", + urlParameters: [ + Parameters.key1 + ], + queryParameters: [ + Parameters.label1 + ], + headerParameters: [ + Parameters.acceptDateTime, + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSetting, + headersMapper: Mappers.GetConfigurationSettingHeaders + }, + 304: { + headersMapper: Mappers.GetConfigurationSettingHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const createOrUpdateConfigurationSettingOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "kv/{key}", + urlParameters: [ + Parameters.key1 + ], + queryParameters: [ + Parameters.label1 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "configurationSetting", + mapper: { + ...Mappers.ConfigurationSetting, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSetting + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const deleteConfigurationSettingOperationSpec: coreHttp.OperationSpec = { + httpMethod: "DELETE", + path: "kv/{key}", + urlParameters: [ + Parameters.key1 + ], + queryParameters: [ + Parameters.label2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSetting + }, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listKeysOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "keys", + queryParameters: [ + Parameters.name + ], + headerParameters: [ + Parameters.acceptDateTime, + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.KeyList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listLabelsOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "labels", + queryParameters: [ + Parameters.fields, + Parameters.name + ], + headerParameters: [ + Parameters.acceptDateTime, + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.LabelList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const lockConfigurationSettingOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "locks/{key}", + urlParameters: [ + Parameters.key1 + ], + queryParameters: [ + Parameters.label2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSetting + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const unlockConfigurationSettingOperationSpec: coreHttp.OperationSpec = { + httpMethod: "DELETE", + path: "locks/{key}", + urlParameters: [ + Parameters.key1 + ], + queryParameters: [ + Parameters.label2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSetting + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listRevisionsOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "revisions", + queryParameters: [ + Parameters.label0, + Parameters.key0, + Parameters.fields + ], + headerParameters: [ + Parameters.acceptDateTime, + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSettingList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listConfigurationSettingsNextOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + baseUrl: "http://localhost", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptDateTime, + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSettingList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listRevisionsNextOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + baseUrl: "http://localhost", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptDateTime, + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ConfigurationSettingList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +export { + ConfigurationClient, + ConfigurationClientContext, + Models as ConfigurationModels, + Mappers as ConfigurationMappers +}; diff --git a/sdk/appconfiguration/app-configuration/src/generated/configurationClientContext.ts b/sdk/appconfiguration/app-configuration/src/generated/configurationClientContext.ts new file mode 100644 index 000000000000..8a3eed9b73d2 --- /dev/null +++ b/sdk/appconfiguration/app-configuration/src/generated/configurationClientContext.ts @@ -0,0 +1,56 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as Models from "./models"; +import * as coreHttp from "@azure/core-http"; +import * as coreArm from "@azure/core-arm"; + +const packageName = "@azure/app-config"; +const packageVersion = "1.0.0"; + +export class ConfigurationClientContext extends coreArm.AzureServiceClient { + credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials; + apiVersion: string; + + /** + * Initializes a new instance of the ConfigurationClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param [options] The parameter options + */ + constructor(credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials, options?: Models.ConfigurationClientOptions) { + if (credentials == undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + + if (!options) { + options = {}; + } + if(!options.userAgent) { + const defaultUserAgent = coreArm.getDefaultUserAgentValue(); + options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; + } + + super(credentials, options); + + this.apiVersion = '2019-01-01'; + this.acceptLanguage = 'en-US'; + this.longRunningOperationRetryTimeout = 30; + this.baseUri = options.baseUri || this.baseUri || "http://localhost"; + this.requestContentType = "application/json; charset=utf-8"; + this.credentials = credentials; + + if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + this.acceptLanguage = options.acceptLanguage; + } + if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; + } + } +} diff --git a/sdk/appconfiguration/app-configuration/src/generated/models/index.ts b/sdk/appconfiguration/app-configuration/src/generated/models/index.ts new file mode 100644 index 000000000000..ab5c83290254 --- /dev/null +++ b/sdk/appconfiguration/app-configuration/src/generated/models/index.ts @@ -0,0 +1,458 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/core-arm"; +import * as coreHttp from "@azure/core-http"; + +export { BaseResource, CloudError }; + +/** + * A configuration value + */ +export interface ConfigurationSetting { + /** + * Entity tag (etag) of the object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly etag?: string; + key?: string; + label?: string; + contentType?: string; + value?: string; + /** + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModified?: Date; + /** + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly locked?: boolean; + tags?: { [propertyName: string]: string }; +} + +/** + * An interface representing Key. + */ +export interface Key { + name: string; +} + +/** + * An interface representing Label. + */ +export interface Label { + name: string; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientListConfigurationSettingsOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Filter returned values based on their label. '*' can be used as wildcard in the beginning or + * end of the filter + */ + label?: string[]; + /** + * Filter returned values based on their keys. '*' can be used as wildcard in the beginning or + * end of the filter + */ + key?: string[]; + /** + * Obtain representation of the result related to past time. + */ + acceptDateTime?: Date; + /** + * Specify which fields to return + */ + fields?: string[]; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientGetConfigurationSettingOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Label of key to retreive. Default value: '%00'. + */ + label?: string; + /** + * Obtain representation of the result related to past time. + */ + acceptDateTime?: Date; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientCreateOrUpdateConfigurationSettingOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Default value: '%00'. + */ + label?: string; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientDeleteConfigurationSettingOptionalParams extends coreHttp.RequestOptionsBase { + label?: string; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientListKeysOptionalParams extends coreHttp.RequestOptionsBase { + name?: string; + /** + * Obtain representation of the result related to past time. + */ + acceptDateTime?: Date; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientListLabelsOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Obtain representation of the result related to past time. + */ + acceptDateTime?: Date; + /** + * Specify which fields to return + */ + fields?: string[]; + name?: string; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientLockConfigurationSettingOptionalParams extends coreHttp.RequestOptionsBase { + label?: string; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientUnlockConfigurationSettingOptionalParams extends coreHttp.RequestOptionsBase { + label?: string; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientListRevisionsOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Filter returned values based on their label. '*' can be used as wildcard in the beginning or + * end of the filter + */ + label?: string[]; + /** + * Filter returned values based on their keys. '*' can be used as wildcard in the beginning or + * end of the filter + */ + key?: string[]; + /** + * Specify which fields to return + */ + fields?: string[]; + /** + * Obtain representation of the result related to past time. + */ + acceptDateTime?: Date; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientListConfigurationSettingsNextOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Obtain representation of the result related to past time. + */ + acceptDateTime?: Date; +} + +/** + * Optional Parameters. + */ +export interface ConfigurationClientListRevisionsNextOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Obtain representation of the result related to past time. + */ + acceptDateTime?: Date; +} + +/** + * An interface representing ConfigurationClientOptions. + */ +export interface ConfigurationClientOptions extends AzureServiceClientOptions { + baseUri?: string; +} + +/** + * Defines headers for GetConfigurationSetting operation. + */ +export interface GetConfigurationSettingHeaders { + /** + * A UTC date/time value generated by the service the last time the resource was modified + */ + lastModifiedHeader: string; +} + +/** + * @interface + * An interface representing the ConfigurationSettingList. + * @extends Array + */ +export interface ConfigurationSettingList extends Array { + items?: ConfigurationSetting[]; +} + +/** + * @interface + * An interface representing the KeyList. + * @extends Array + */ +export interface KeyList extends Array { + items?: Key[]; +} + +/** + * @interface + * An interface representing the LabelList. + * @extends Array
     ------- (1) ----------------- (2) ------- (3) ------- (4) -------------- (5)   ~~~~~~~
@@ -24,4 +24,4 @@ The top-most type in this runtime repository is the ServiceClient class. This cl
   5. The HttpClient implementation now does whatever it needs to do to send the HTTP request across the network. Most likely the code that sends HTTP requests doesn't know how to handle a WebResource, so the HttpClient first needs to convert the WebResource HTTP request into the type that the real HTTP implementation knows how to deal with. Then it sends that converted request across the network.
   6. Somehow the HttpClient will get an asynchronous response from the Network (either via callback or Promise). Either way, that response needs to be converted to a Promise and returned to the previous RequestPolicy in the pipeline.
   7. The RequestPolicies are free to either return the response as they receive it, or they can perform additional logic based on the response (such as [retrying a failed request](https://github.com/Azure/ms-rest-js/blob/master/lib/policies/exponentialRetryPolicy.ts#L42) or [deserializing the response's headers and/or body](https://github.com/Azure/ms-rest-js/blob/master/lib/policies/deserializationPolicy.ts#L28)).
-  8. When the HTTP response has finally been returned from the first RequestPolicy in the pipeline, the ServiceClient returns it to your application's code, where you can handle the response however you want.
\ No newline at end of file
+  8. When the HTTP response has finally been returned from the first RequestPolicy in the pipeline, the ServiceClient returns it to your application's code, where you can handle the response however you want.
diff --git a/sdk/core/core-http/karma.conf.ts b/sdk/core/core-http/karma.conf.ts
index 7eaa6ce5599a..409de1860e19 100644
--- a/sdk/core/core-http/karma.conf.ts
+++ b/sdk/core/core-http/karma.conf.ts
@@ -9,6 +9,7 @@ module.exports = function (config: any) {
     plugins: [
       "karma-mocha",
       "karma-chrome-launcher",
+      "karma-firefox-launcher"
     ],
 
     // frameworks to use
@@ -58,6 +59,10 @@ module.exports = function (config: any) {
       ChromeDebugging: {
         base: "Chrome",
         flags: [`http://localhost:${defaults.port}/debug.html`, "--auto-open-devtools-for-tabs", "--disable-web-security"]
+      },
+      FirefoxDebugging: {
+        base: "Firefox",
+        flags: ["-url", `http://localhost:${defaults.port}/debug.html`, "-devtools"]
       }
     },
   });
diff --git a/sdk/core/core-http/lib/axiosHttpClient.ts b/sdk/core/core-http/lib/axiosHttpClient.ts
deleted file mode 100644
index 164d48b97993..000000000000
--- a/sdk/core/core-http/lib/axiosHttpClient.ts
+++ /dev/null
@@ -1,263 +0,0 @@
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT License.
-
-import axios, { AxiosError, AxiosRequestConfig, AxiosResponse, Method } from "axios";
-import { Transform, Readable } from "stream";
-import FormData from "form-data";
-import * as tough from "tough-cookie";
-import { HttpClient } from "./httpClient";
-import { HttpHeaders } from "./httpHeaders";
-import { HttpOperationResponse } from "./httpOperationResponse";
-import { RestError } from "./restError";
-import { WebResource, HttpRequestBody } from "./webResource";
-import * as tunnel from "tunnel";
-import { ProxySettings } from "./serviceClient";
-import * as http from "http";
-import * as https from "https";
-import { URLBuilder } from "./url";
-
-/**
- * A HttpClient implementation that uses axios to send HTTP requests.
- */
-export class AxiosHttpClient implements HttpClient {
-  private readonly cookieJar = new tough.CookieJar();
-
-  public async sendRequest(httpRequest: WebResource): Promise {
-    if (typeof httpRequest !== "object") {
-      throw new Error("httpRequest (WebResource) cannot be null or undefined and must be of type object.");
-    }
-
-    if (httpRequest.formData) {
-      const formData: any = httpRequest.formData;
-      const requestForm = new FormData();
-      const appendFormValue = (key: string, value: any) => {
-        // value function probably returns a stream so we can provide a fresh stream on each retry
-        if (typeof value === "function") {
-          value = value();
-        }
-        if (value && value.hasOwnProperty("value") && value.hasOwnProperty("options")) {
-          requestForm.append(key, value.value, value.options);
-        } else {
-          requestForm.append(key, value);
-        }
-      };
-      for (const formKey of Object.keys(formData)) {
-        const formValue = formData[formKey];
-        if (Array.isArray(formValue)) {
-          for (let j = 0; j < formValue.length; j++) {
-            appendFormValue(formKey, formValue[j]);
-          }
-        } else {
-          appendFormValue(formKey, formValue);
-        }
-      }
-
-      httpRequest.body = requestForm;
-      httpRequest.formData = undefined;
-      const contentType = httpRequest.headers.get("Content-Type");
-      if (contentType && contentType.indexOf("multipart/form-data") !== -1) {
-        if (typeof requestForm.getBoundary === "function") {
-          httpRequest.headers.set("Content-Type", `multipart/form-data; boundary=${requestForm.getBoundary()}`);
-        } else {
-          // browser will automatically apply a suitable content-type header
-          httpRequest.headers.remove("Content-Type");
-        }
-      }
-    }
-
-    if (this.cookieJar && !httpRequest.headers.get("Cookie")) {
-      const cookieString = await new Promise((resolve, reject) => {
-        this.cookieJar!.getCookieString(httpRequest.url, (err, cookie) => {
-          if (err) {
-            reject(err);
-          } else {
-            resolve(cookie);
-          }
-        });
-      });
-
-      httpRequest.headers.set("Cookie", cookieString);
-    }
-
-    const abortSignal = httpRequest.abortSignal;
-    if (abortSignal && abortSignal.aborted) {
-      throw new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR, undefined, httpRequest);
-    }
-
-    let abortListener: (() => void) | undefined;
-    const cancelToken = abortSignal && new axios.CancelToken(canceler => {
-      abortListener = () => canceler();
-      abortSignal.addEventListener("abort", abortListener);
-    });
-
-    const rawHeaders: { [headerName: string]: string } = httpRequest.headers.rawHeaders();
-
-    const httpRequestBody: HttpRequestBody = httpRequest.body;
-    let axiosBody =
-      // Workaround for https://github.com/axios/axios/issues/755
-      // tslint:disable-next-line:no-null-keyword
-      typeof httpRequestBody === "undefined" ? null :
-        typeof httpRequestBody === "function" ? httpRequestBody() :
-          httpRequestBody;
-
-    const onUploadProgress = httpRequest.onUploadProgress;
-    if (onUploadProgress && axiosBody) {
-      let loadedBytes = 0;
-      const uploadReportStream = new Transform({
-        transform: (chunk: string | Buffer, _encoding, callback) => {
-          loadedBytes += chunk.length;
-          onUploadProgress({ loadedBytes });
-          callback(undefined, chunk);
-        }
-      });
-      if (isReadableStream(axiosBody)) {
-        axiosBody.pipe(uploadReportStream);
-      } else {
-        uploadReportStream.end(axiosBody);
-      }
-      axiosBody = uploadReportStream;
-    }
-
-    let res: AxiosResponse;
-    try {
-      const config: AxiosRequestConfig = {
-        method: httpRequest.method as Method,
-        url: httpRequest.url,
-        headers: rawHeaders,
-        data: axiosBody,
-        transformResponse: (data) => { return data; },
-        validateStatus: () => true,
-        // Workaround for https://github.com/axios/axios/issues/1362
-        maxContentLength: Infinity,
-        responseType: httpRequest.streamResponseBody ? "stream" : "text",
-        cancelToken,
-        timeout: httpRequest.timeout,
-        proxy: false
-      };
-
-      if (httpRequest.proxySettings) {
-        const agent = createProxyAgent(httpRequest.url, httpRequest.proxySettings, httpRequest.headers);
-        if (agent.isHttps) {
-          config.httpsAgent = agent.agent;
-        } else {
-          config.httpAgent = agent.agent;
-        }
-      }
-      // This hack is still required with 0.19.0 version of axios since axios tries to merge the
-      // Content-Type header from it's config[""] where the method name is lower-case,
-      // into the request header. It could be possible that the Content-Type header is not present
-      // in the original request and this would create problems while creating the signature for
-      // storage data plane sdks.
-      axios.interceptors.request.use((config: AxiosRequestConfig) => ({
-        ...config,
-        method: (config.method as Method) && (config.method as Method).toUpperCase() as Method
-      }));
-
-      res = await axios.request(config);
-    } catch (err) {
-      if (err instanceof axios.Cancel) {
-        throw new RestError(err.message, RestError.REQUEST_SEND_ERROR, undefined, httpRequest);
-      } else {
-        const axiosErr = err as AxiosError;
-        throw new RestError(axiosErr.message, RestError.REQUEST_SEND_ERROR, undefined, httpRequest);
-      }
-    } finally {
-      if (abortSignal && abortListener) {
-        abortSignal.removeEventListener("abort", abortListener);
-      }
-    }
-
-    const headers = new HttpHeaders(res.headers);
-
-    const onDownloadProgress = httpRequest.onDownloadProgress;
-    let responseBody: Readable | string = res.data;
-    if (onDownloadProgress) {
-      if (isReadableStream(responseBody)) {
-        let loadedBytes = 0;
-        const downloadReportStream = new Transform({
-          transform: (chunk: string | Buffer, _encoding, callback) => {
-            loadedBytes += chunk.length;
-            onDownloadProgress({ loadedBytes });
-            callback(undefined, chunk);
-          }
-        });
-        responseBody.pipe(downloadReportStream);
-        responseBody = downloadReportStream;
-      } else {
-        const length = parseInt(headers.get("Content-Length")!) || (responseBody as string).length || undefined;
-        if (length) {
-          // Calling callback for non-stream response for consistency with browser
-          onDownloadProgress({ loadedBytes: length });
-        }
-      }
-    }
-
-    const operationResponse: HttpOperationResponse = {
-      request: httpRequest,
-      status: res.status,
-      headers,
-      readableStreamBody: httpRequest.streamResponseBody ? responseBody as Readable : undefined,
-      bodyAsText: httpRequest.streamResponseBody ? undefined : responseBody as string
-    };
-
-    if (this.cookieJar) {
-      const setCookieHeader = operationResponse.headers.get("Set-Cookie");
-      if (setCookieHeader != undefined) {
-        await new Promise((resolve, reject) => {
-          this.cookieJar!.setCookie(setCookieHeader, httpRequest.url, (err) => {
-            if (err) {
-              reject(err);
-            } else {
-              resolve();
-            }
-          });
-        });
-      }
-    }
-
-    return operationResponse;
-  }
-}
-
-function isReadableStream(body: any): body is Readable {
-  return typeof body.pipe === "function";
-}
-
-declare type ProxyAgent = { isHttps: boolean; agent: http.Agent | https.Agent };
-export function createProxyAgent(requestUrl: string, proxySettings: ProxySettings, headers?: HttpHeaders): ProxyAgent {
-  const tunnelOptions: tunnel.HttpsOverHttpsOptions = {
-    proxy: {
-      host: URLBuilder.parse(proxySettings.host).getHost(),
-      port: proxySettings.port,
-      headers: (headers && headers.rawHeaders()) || {}
-    }
-  };
-
-  if ((proxySettings.username && proxySettings.password)) {
-    tunnelOptions.proxy!.proxyAuth = `${proxySettings.username}:${proxySettings.password}`;
-  }
-
-  const requestScheme = URLBuilder.parse(requestUrl).getScheme() || "";
-  const isRequestHttps = requestScheme.toLowerCase() === "https";
-  const proxyScheme = URLBuilder.parse(proxySettings.host).getScheme() || "";
-  const isProxyHttps = proxyScheme.toLowerCase() === "https";
-
-  const proxyAgent = {
-    isHttps: isRequestHttps,
-    agent: createTunnel(isRequestHttps, isProxyHttps, tunnelOptions)
-  };
-
-  return proxyAgent;
-}
-
-export function createTunnel(isRequestHttps: boolean, isProxyHttps: boolean, tunnelOptions: tunnel.HttpsOverHttpsOptions): http.Agent | https.Agent {
-  if (isRequestHttps && isProxyHttps) {
-    return tunnel.httpsOverHttps(tunnelOptions);
-  } else if (isRequestHttps && !isProxyHttps) {
-    return tunnel.httpsOverHttp(tunnelOptions);
-  } else if (!isRequestHttps && isProxyHttps) {
-    return tunnel.httpOverHttps(tunnelOptions);
-  } else {
-    return tunnel.httpOverHttp(tunnelOptions);
-  }
-}
diff --git a/sdk/core/core-http/lib/browserFetchHttpClient.ts b/sdk/core/core-http/lib/browserFetchHttpClient.ts
new file mode 100644
index 000000000000..6efec40ed295
--- /dev/null
+++ b/sdk/core/core-http/lib/browserFetchHttpClient.ts
@@ -0,0 +1,20 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+
+import { FetchHttpClient } from "./fetchHttpClient";
+import { HttpOperationResponse } from "./httpOperationResponse";
+import { WebResource } from "./webResource";
+
+export class BrowserFetchHttpClient extends FetchHttpClient {
+  prepareRequest(_httpRequest: WebResource): Promise> {
+    return Promise.resolve({});
+  }
+
+  processRequest(_operationResponse: HttpOperationResponse): Promise {
+    return Promise.resolve();
+  }
+
+  fetch(input: RequestInfo, init?: RequestInit): Promise {
+    return fetch(input, init);
+  }
+}
diff --git a/sdk/core/core-http/lib/coreHttp.ts b/sdk/core/core-http/lib/coreHttp.ts
index 62b4c0d931fd..c3ca90f0a033 100644
--- a/sdk/core/core-http/lib/coreHttp.ts
+++ b/sdk/core/core-http/lib/coreHttp.ts
@@ -1,7 +1,7 @@
 // Copyright (c) Microsoft Corporation.
 // Licensed under the MIT License.
 
-export { WebResource, HttpRequestBody, RequestPrepareOptions, HttpMethods, ParameterValue, RequestOptionsBase, TransferProgressEvent, AbortSignalLike } from "./webResource";
+export { WebResource, HttpRequestBody, RequestPrepareOptions, HttpMethods, ParameterValue, RequestOptionsBase, TransferProgressEvent } from "./webResource";
 export { DefaultHttpClient } from "./defaultHttpClient";
 export { HttpClient } from "./httpClient";
 export { HttpHeaders } from "./httpHeaders";
@@ -41,6 +41,7 @@ export {
   applyMixins, isNode, isDuration
 } from "./util/utils";
 export { URLBuilder, URLQuery } from "./url";
+export { AbortSignalLike } from "@azure/abort-controller";
 
 // Credentials
 export { TokenCredential, GetTokenOptions, AccessToken, isTokenCredential, SimpleTokenCredential } from "@azure/core-auth";
diff --git a/sdk/core/core-http/lib/defaultHttpClient.ts b/sdk/core/core-http/lib/defaultHttpClient.ts
index 9fd2406b3054..672fdaf24649 100644
--- a/sdk/core/core-http/lib/defaultHttpClient.ts
+++ b/sdk/core/core-http/lib/defaultHttpClient.ts
@@ -1,4 +1,4 @@
 // Copyright (c) Microsoft Corporation.
 // Licensed under the MIT License.
 
-export { AxiosHttpClient as DefaultHttpClient } from "./axiosHttpClient";
+export { NodeFetchHttpClient as DefaultHttpClient } from "./nodeFetchHttpClient";
diff --git a/sdk/core/core-http/lib/fetchHttpClient.ts b/sdk/core/core-http/lib/fetchHttpClient.ts
new file mode 100644
index 000000000000..8368d41fcc41
--- /dev/null
+++ b/sdk/core/core-http/lib/fetchHttpClient.ts
@@ -0,0 +1,184 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+
+import { AbortController } from "@azure/abort-controller";
+import FormData from "form-data";
+
+import { HttpClient } from "./httpClient";
+import { WebResource } from "./webResource";
+import { HttpOperationResponse } from "./httpOperationResponse";
+import { HttpHeaders } from "./httpHeaders";
+import { RestError } from "./restError";
+import { Readable, Transform } from "stream";
+
+interface FetchError extends Error {
+  code?: string;
+  errno?: string;
+  type?: string;
+}
+
+export abstract class FetchHttpClient implements HttpClient {
+  async sendRequest(httpRequest: WebResource): Promise {
+    if (!httpRequest && typeof httpRequest !== "object") {
+      throw new Error("'httpRequest' (WebResource) cannot be null or undefined and must be of type object.");
+    }
+
+    const abortController = new AbortController();
+    if (httpRequest.abortSignal) {
+      if (httpRequest.abortSignal.aborted) {
+        throw new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR, undefined, httpRequest);
+      }
+
+      httpRequest.abortSignal.addEventListener("abort", (event: Event) => {
+        if (event.type === "abort") {
+          abortController.abort();
+        }
+      });
+    }
+
+    if (httpRequest.timeout) {
+      setTimeout(() => {
+        abortController.abort();
+      }, httpRequest.timeout);
+    }
+
+    if (httpRequest.formData) {
+      const formData: any = httpRequest.formData;
+      const requestForm = new FormData();
+      const appendFormValue = (key: string, value: any) => {
+            // value function probably returns a stream so we can provide a fresh stream on each retry
+        if (typeof value === "function") {
+          value = value();
+        }
+        if (value && value.hasOwnProperty("value") && value.hasOwnProperty("options")) {
+          requestForm.append(key, value.value, value.options);
+        } else {
+          requestForm.append(key, value);
+        }
+      };
+      for (const formKey of Object.keys(formData)) {
+        const formValue = formData[formKey];
+        if (Array.isArray(formValue)) {
+          for (let j = 0; j < formValue.length; j++) {
+            appendFormValue(formKey, formValue[j]);
+          }
+        } else {
+          appendFormValue(formKey, formValue);
+        }
+      }
+
+      httpRequest.body = requestForm;
+      httpRequest.formData = undefined;
+      const contentType = httpRequest.headers.get("Content-Type");
+      if (contentType && contentType.indexOf("multipart/form-data") !== -1) {
+        if (typeof requestForm.getBoundary === "function") {
+          httpRequest.headers.set("Content-Type", `multipart/form-data; boundary=${requestForm.getBoundary()}`);
+        } else {
+          // browser will automatically apply a suitable content-type header
+          httpRequest.headers.remove("Content-Type");
+        }
+      }
+    }
+
+    let body = httpRequest.body
+            ? (typeof httpRequest.body === "function" ? httpRequest.body() : httpRequest.body)
+            : undefined;
+    if (httpRequest.onUploadProgress && httpRequest.body) {
+      let loadedBytes = 0;
+      const uploadReportStream = new Transform({
+        transform: (chunk: string | Buffer, _encoding, callback) => {
+          loadedBytes += chunk.length;
+          httpRequest.onUploadProgress!({ loadedBytes });
+          callback(undefined, chunk);
+        }
+      });
+
+      if (isReadableStream(body)) {
+        body.pipe(uploadReportStream);
+      } else {
+        uploadReportStream.end(body);
+      }
+
+      body = uploadReportStream;
+    }
+
+    const platformSpecificRequestInit: Partial = await this.prepareRequest(httpRequest);
+
+    const requestInit: RequestInit = {
+      body: body,
+      headers: httpRequest.headers.rawHeaders(),
+      method: httpRequest.method,
+      signal: abortController.signal,
+      ...platformSpecificRequestInit
+    };
+
+    try {
+      const response: Response = await this.fetch(httpRequest.url, requestInit);
+
+      const headers = parseHeaders(response.headers);
+      const operationResponse: HttpOperationResponse = {
+        headers: headers,
+        request: httpRequest,
+        status: response.status,
+        readableStreamBody: httpRequest.streamResponseBody ? (response.body as unknown) as NodeJS.ReadableStream : undefined,
+        bodyAsText: !httpRequest.streamResponseBody ? await response.text() : undefined,
+      };
+
+      const onDownloadProgress = httpRequest.onDownloadProgress;
+      if (onDownloadProgress)  {
+        const responseBody: ReadableStream | undefined = response.body || undefined;
+
+        if (isReadableStream(responseBody)) {
+          let loadedBytes = 0;
+          const downloadReportStream = new Transform({
+            transform: (chunk: string | Buffer, _encoding, callback) => {
+              loadedBytes += chunk.length;
+              onDownloadProgress({ loadedBytes });
+              callback(undefined, chunk);
+            }
+          });
+          responseBody.pipe(downloadReportStream);
+          operationResponse.readableStreamBody = downloadReportStream;
+        } else {
+          const length = parseInt(headers.get("Content-Length")!) || undefined;
+          if (length) {
+            // Calling callback for non-stream response for consistency with browser
+            onDownloadProgress({ loadedBytes: length });
+          }
+        }
+      }
+
+      await this.processRequest(operationResponse);
+
+      return operationResponse;
+    } catch (error) {
+      const fetchError: FetchError = error;
+      if (fetchError.code === "ENOTFOUND") {
+        throw new RestError(fetchError.message, RestError.REQUEST_SEND_ERROR, undefined, httpRequest);
+      } else if (fetchError.type === "aborted") {
+        throw new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR, undefined, httpRequest);
+      }
+
+      throw fetchError;
+    } finally {
+    }
+  }
+
+  abstract async prepareRequest(httpRequest: WebResource): Promise>;
+  abstract async processRequest(operationResponse: HttpOperationResponse): Promise;
+  abstract async fetch(input: RequestInfo, init?: RequestInit): Promise;
+}
+
+function isReadableStream(body: any): body is Readable {
+  return body && typeof body.pipe === "function";
+}
+
+export function parseHeaders(headers: Headers): HttpHeaders {
+  const httpHeaders = new HttpHeaders();
+
+  headers.forEach((value, key) => {
+    httpHeaders.set(key, value);
+  });
+
+  return httpHeaders;
+}
diff --git a/sdk/core/core-http/lib/nodeFetchHttpClient.ts b/sdk/core/core-http/lib/nodeFetchHttpClient.ts
new file mode 100644
index 000000000000..5de0a44e895a
--- /dev/null
+++ b/sdk/core/core-http/lib/nodeFetchHttpClient.ts
@@ -0,0 +1,87 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+
+import * as tough from "tough-cookie";
+import * as http from "http";
+import * as https from "https";
+import "node-fetch";
+
+import { FetchHttpClient } from "./fetchHttpClient";
+import { HttpOperationResponse } from "./httpOperationResponse";
+import { WebResource } from "./webResource";
+import { createProxyAgent, ProxyAgent } from "./proxyAgent";
+
+interface GlobalWithFetch extends NodeJS.Global {
+  fetch: (input: RequestInfo, init?: RequestInit) => Promise;
+}
+
+const globalWithFetch = global as GlobalWithFetch;
+if (typeof globalWithFetch.fetch !== "function") {
+  const fetch = require("node-fetch");
+  globalWithFetch.fetch = fetch;
+}
+
+
+export class NodeFetchHttpClient extends FetchHttpClient {
+  private readonly cookieJar = new tough.CookieJar(undefined, { looseMode: true });
+
+  async fetch(input: RequestInfo, init?: RequestInit): Promise {
+    return fetch(input, init);
+  }
+
+  async prepareRequest(httpRequest: WebResource): Promise> {
+    const requestInit: Partial = {};
+
+    if (this.cookieJar && !httpRequest.headers.get("Cookie")) {
+      const cookieString = await new Promise((resolve, reject) => {
+        this.cookieJar!.getCookieString(httpRequest.url, (err, cookie) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(cookie);
+          }
+        });
+      });
+
+      httpRequest.headers.set("Cookie", cookieString);
+    }
+
+    if (httpRequest.proxySettings) {
+      const tunnel: ProxyAgent = createProxyAgent(httpRequest.url, httpRequest.proxySettings, httpRequest.headers);
+      requestInit.agent = tunnel.agent;
+    }
+
+    if (httpRequest.keepAlive === true) {
+      if (requestInit.agent) {
+        requestInit.agent.keepAlive = true;
+      } else {
+        const options: http.AgentOptions | https.AgentOptions = { keepAlive: true };
+        const agent = httpRequest.url.startsWith("https") ? new https.Agent(options) : new http.Agent(options);
+        requestInit.agent = agent;
+      }
+    }
+
+    return requestInit;
+  }
+
+  async processRequest(operationResponse: HttpOperationResponse): Promise {
+    if (this.cookieJar) {
+      const setCookieHeader = operationResponse.headers.get("Set-Cookie");
+      if (setCookieHeader != undefined) {
+        await new Promise((resolve, reject) => {
+          this.cookieJar!.setCookie(
+            setCookieHeader,
+            operationResponse.request.url,
+            { ignoreError: true },
+            err => {
+              if (err) {
+                reject(err);
+              } else {
+                resolve();
+              }
+            });
+        });
+      }
+    }
+  }
+}
diff --git a/sdk/core/core-http/lib/proxyAgent.ts b/sdk/core/core-http/lib/proxyAgent.ts
new file mode 100644
index 000000000000..81a8dc1cdafd
--- /dev/null
+++ b/sdk/core/core-http/lib/proxyAgent.ts
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+
+import * as http from "http";
+import * as https from "https";
+import * as tunnel from "tunnel";
+
+import { ProxySettings } from "./serviceClient";
+import { URLBuilder } from "./url";
+import { HttpHeaders } from "./httpHeaders";
+
+export type ProxyAgent = { isHttps: boolean; agent: http.Agent | https.Agent };
+export function createProxyAgent(requestUrl: string, proxySettings: ProxySettings, headers?: HttpHeaders): ProxyAgent {
+  const tunnelOptions: tunnel.HttpsOverHttpsOptions = {
+    proxy: {
+      host: URLBuilder.parse(proxySettings.host).getHost() as string,
+      port: proxySettings.port,
+      headers: (headers && headers.rawHeaders()) || {}
+    }
+  };
+
+  if ((proxySettings.username && proxySettings.password)) {
+    tunnelOptions.proxy!.proxyAuth = `${proxySettings.username}:${proxySettings.password}`;
+  }
+
+  const requestScheme = URLBuilder.parse(requestUrl).getScheme() || "";
+  const isRequestHttps = requestScheme.toLowerCase() === "https";
+  const proxyScheme = URLBuilder.parse(proxySettings.host).getScheme() || "";
+  const isProxyHttps = proxyScheme.toLowerCase() === "https";
+
+  const proxyAgent = {
+    isHttps: isRequestHttps,
+    agent: createTunnel(isRequestHttps, isProxyHttps, tunnelOptions)
+  };
+
+  return proxyAgent;
+}
+
+export function createTunnel(isRequestHttps: boolean, isProxyHttps: boolean, tunnelOptions: tunnel.HttpsOverHttpsOptions): http.Agent | https.Agent {
+  if (isRequestHttps && isProxyHttps) {
+    return tunnel.httpsOverHttps(tunnelOptions);
+  } else if (isRequestHttps && !isProxyHttps) {
+    return tunnel.httpsOverHttp(tunnelOptions);
+  } else if (!isRequestHttps && isProxyHttps) {
+    return tunnel.httpOverHttps(tunnelOptions);
+  } else {
+    return tunnel.httpOverHttp(tunnelOptions);
+  }
+}
diff --git a/sdk/core/core-http/lib/serializer.ts b/sdk/core/core-http/lib/serializer.ts
index 71c068c929be..33aabf67c0fb 100644
--- a/sdk/core/core-http/lib/serializer.ts
+++ b/sdk/core/core-http/lib/serializer.ts
@@ -52,8 +52,11 @@ export class Serializer {
       if (MultipleOf != undefined && value % MultipleOf !== 0) {
         failValidation("MultipleOf", MultipleOf);
       }
-      if (Pattern && value.match(Pattern) === null) {
-        failValidation("Pattern", Pattern);
+      if (Pattern) {
+        const pattern: RegExp = typeof Pattern === "string" ? new RegExp(Pattern) : Pattern;
+        if ((typeof value !== "string") || (value.match(pattern) === null)) {
+          failValidation("Pattern", Pattern);
+        }
       }
       if (UniqueItems && value.some((item: any, i: number, ar: Array) => ar.indexOf(item) !== i)) {
         failValidation("UniqueItems", UniqueItems);
@@ -82,7 +85,7 @@ export class Serializer {
       payload = [];
     }
 
-    if (object == undefined && (mapper.defaultValue != undefined || mapper.isConstant)) {
+    if (mapper.isConstant) {
       object = mapper.defaultValue;
     }
 
@@ -156,6 +159,10 @@ export class Serializer {
         // so let's do the more user-friendly thing and return an empty list.
         responseBody = [];
       }
+      // specifically check for undefined as default value can be a falsey value `0, "", false, null`
+      if (mapper.defaultValue !== undefined) {
+        responseBody = mapper.defaultValue;
+      }
       return responseBody;
     }
 
@@ -594,7 +601,16 @@ function deserializeCompositeType(serializer: Serializer, mapper: CompositeMappe
       }
       propertyInstance = res;
       const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;
-      if (polymorphicDiscriminator && propertyMapper.serializedName === polymorphicDiscriminator.serializedName && propertyInstance == undefined) {
+      // checking that the model property name (key)(ex: "fishtype") and the
+      // clientName of the polymorphicDiscriminator {metadata} (ex: "fishtype")
+      // instead of the serializedName of the polymorphicDiscriminator (ex: "fish.type")
+      // is a better approach. The generator is not consistent with escaping '\.' in the
+      // serializedName of the property (ex: "fish\.type") that is marked as polymorphic discriminator
+      // and the serializedName of the metadata polymorphicDiscriminator (ex: "fish.type"). However,
+      // the clientName transformation of the polymorphicDiscriminator (ex: "fishtype") and
+      // the transformation of model property name (ex: "fishtype") is done consistently.
+      // Hence, it is a safer bet to rely on the clientName of the polymorphicDiscriminator.
+      if (polymorphicDiscriminator && key === polymorphicDiscriminator.clientName && propertyInstance == undefined) {
         propertyInstance = mapper.serializedName;
       }
 
@@ -603,7 +619,7 @@ function deserializeCompositeType(serializer: Serializer, mapper: CompositeMappe
       if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === "") {
         propertyInstance = responseBody[key];
         instance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName);
-      } else if (propertyInstance !== undefined) {
+      } else if (propertyInstance !== undefined || propertyMapper.defaultValue !== undefined) {
         serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName);
         instance[key] = serializedValue;
       }
diff --git a/sdk/core/core-http/lib/serviceClient.ts b/sdk/core/core-http/lib/serviceClient.ts
index 17150432dfd8..b470ac687294 100644
--- a/sdk/core/core-http/lib/serviceClient.ts
+++ b/sdk/core/core-http/lib/serviceClient.ts
@@ -28,6 +28,8 @@ import { OperationResponse } from "./operationResponse";
 import { ServiceCallback } from "./util/utils";
 import { proxyPolicy, getDefaultProxySettings } from "./policies/proxyPolicy";
 import { throttlingRetryPolicy } from "./policies/throttlingRetryPolicy";
+import { ServiceClientCredentials } from "./credentials/serviceClientCredentials";
+import { signingPolicy } from './policies/signingPolicy';
 
 
 /**
@@ -131,10 +133,10 @@ export class ServiceClient {
   /**
    * The ServiceClient constructor
    * @constructor
-   * @param {TokenCredential} [credentials] The credentials object used for authentication.
-   * @param {ServiceClientOptions} [options] The service client options that govern the behavior of the client.
+   * @param credentials The credentials used for authentication with the service.
+   * @param options The service client options that govern the behavior of the client.
    */
-  constructor(credentials?: TokenCredential, options?: ServiceClientOptions) {
+  constructor(credentials?: TokenCredential | ServiceClientCredentials, options?: ServiceClientOptions) {
     if (!options) {
       options = {};
     }
@@ -170,6 +172,8 @@ export class ServiceClient {
         };
 
         authPolicyFactory = wrappedPolicyFactory();
+      } else if (credentials && typeof credentials.signRequest === "function") {
+        authPolicyFactory = signingPolicy(credentials);
       } else if (credentials !== undefined) {
         throw new Error("The credentials argument must implement the TokenCredential interface");
       }
@@ -593,7 +597,7 @@ export function flattenResponse(_response: HttpOperationResponse, responseSpec:
     }
   }
 
-  if (bodyMapper || _response.request.method === "HEAD") {
+  if (bodyMapper || _response.request.method === "HEAD" || utils.isPrimitiveType(_response.parsedBody)) {
     // primitive body types and HEAD booleans
     return addOperationResponse({
       ...parsedHeaders,
diff --git a/sdk/core/core-http/lib/util/constants.ts b/sdk/core/core-http/lib/util/constants.ts
index 8a141223fa55..909d2d21149f 100644
--- a/sdk/core/core-http/lib/util/constants.ts
+++ b/sdk/core/core-http/lib/util/constants.ts
@@ -7,7 +7,7 @@ export const Constants = {
    * @const
    * @type {string}
    */
-  coreHttpVersion: "1.0.0-preview.1",
+  coreHttpVersion: "1.0.0-preview.2",
 
   /**
    * Specifies HTTP.
diff --git a/sdk/core/core-http/lib/util/utils.ts b/sdk/core/core-http/lib/util/utils.ts
index 62b50150c4b9..3740ee37f57c 100644
--- a/sdk/core/core-http/lib/util/utils.ts
+++ b/sdk/core/core-http/lib/util/utils.ts
@@ -249,3 +249,13 @@ export function isDuration(value: string): boolean {
 export function replaceAll(value: string | undefined, searchValue: string, replaceValue: string): string | undefined {
   return !value || !searchValue ? value : value.split(searchValue).join(replaceValue || "");
 }
+
+/**
+ * Determines whether the given enity is a basic/primitive type
+ * (string, number, boolean, null, undefined).
+ * @param value Any entity
+ * @return boolean - true is it is primitive type, false otherwise.
+ */
+export function isPrimitiveType(value: any): boolean {
+  return (typeof value !== "object" && typeof value !== "function") || value === null;
+}
diff --git a/sdk/core/core-http/lib/webResource.ts b/sdk/core/core-http/lib/webResource.ts
index 17ec3eef3ea2..cac837cae01c 100644
--- a/sdk/core/core-http/lib/webResource.ts
+++ b/sdk/core/core-http/lib/webResource.ts
@@ -8,6 +8,7 @@ import { generateUuid } from "./util/utils";
 import { HttpOperationResponse } from "./httpOperationResponse";
 import { OperationResponse } from "./operationResponse";
 import { ProxySettings } from "./serviceClient";
+import { AbortSignalLike } from "@azure/abort-controller";
 
 export type HttpMethods = "GET" | "PUT" | "POST" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE";
 export type HttpRequestBody = Blob | string | ArrayBuffer | ArrayBufferView | (() => NodeJS.ReadableStream);
@@ -22,16 +23,6 @@ export type TransferProgressEvent = {
   loadedBytes: number
 };
 
-/**
- * Allows the request to be aborted upon firing of the "abort" event.
- * Compatible with the browser built-in AbortSignal and common polyfills.
- */
-export interface AbortSignalLike {
-  readonly aborted: boolean;
-  addEventListener(type: "abort", listener: (this: AbortSignalLike, ev: any) => any, options?: any): void;
-  removeEventListener(type: "abort", listener: (this: AbortSignalLike, ev: any) => any, options?: any): void;
-}
-
 /**
  * Creates a new WebResource object.
  *
@@ -66,6 +57,7 @@ export class WebResource {
   withCredentials: boolean;
   timeout: number;
   proxySettings?: ProxySettings;
+  keepAlive?: boolean;
 
   abortSignal?: AbortSignalLike;
 
@@ -87,7 +79,8 @@ export class WebResource {
     timeout?: number,
     onUploadProgress?: (progress: TransferProgressEvent) => void,
     onDownloadProgress?: (progress: TransferProgressEvent) => void,
-    proxySettings?: ProxySettings) {
+    proxySettings?: ProxySettings,
+    keepAlive?: boolean) {
 
     this.streamResponseBody = streamResponseBody;
     this.url = url || "";
@@ -102,6 +95,7 @@ export class WebResource {
     this.onUploadProgress = onUploadProgress;
     this.onDownloadProgress = onDownloadProgress;
     this.proxySettings = proxySettings;
+    this.keepAlive = keepAlive;
   }
 
   /**
@@ -460,5 +454,10 @@ export interface RequestOptionsBase {
    */
   onDownloadProgress?: (progress: TransferProgressEvent) => void;
 
+  /**
+   * Options used to create a span when tracing is enabled.
+   */
+  spanOptions?: any;
+
   [key: string]: any;
 }
diff --git a/sdk/core/core-http/package.json b/sdk/core/core-http/package.json
index cc837b10867f..6067297230fc 100644
--- a/sdk/core/core-http/package.json
+++ b/sdk/core/core-http/package.json
@@ -6,7 +6,7 @@
     "email": "azsdkteam@microsoft.com",
     "url": "https://github.com/Azure/azure-sdk-for-js"
   },
-  "version": "1.0.0-preview.2",
+  "version": "1.0.0-preview.3",
   "description": "Isomorphic client Runtime for Typescript/node.js/browser javascript client libraries generated using AutoRest",
   "tags": [
     "isomorphic",
@@ -65,7 +65,7 @@
     "build:test": "run-s build build:test-browser",
     "build:tsc": "tsc -p tsconfig.es.json",
     "build:rollup": "rollup -c rollup.config.ts 2>&1",
-    "build:minify-browser": "uglifyjs -c -m --comments --source-map \"content='./dist/coreHttp.browser.js.map'\" -o ./dist/coreHttp.browser.min.js ./dist/coreHttp.browser.js",
+    "build:minify-browser": "terser -c -m --comments --source-map \"content='./dist/coreHttp.browser.js.map'\" -o ./dist/coreHttp.browser.min.js ./dist/coreHttp.browser.js",
     "build:test-browser": "webpack --config webpack.testconfig.ts",
     "check-format": "prettier --list-different --config ../../.prettierrc.json \"lib/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"",
     "clean": "rimraf ./es ./dist",
@@ -74,7 +74,7 @@
     "integration-test:node": "echo skipped",
     "integration-test": "npm run integration-test:node && npm run integration-test:browser",
     "lint:fix": "eslint \"lib/**/*.ts\" \"test/**/*.ts\" -c ../../.eslintrc.json --fix --fix-type [problem,suggestion]",
-    "lint": "eslint -c ../../.eslintrc.json lib test --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o core-http-lintReport.html || exit 0",
+    "lint": "eslint -c ../../.eslintrc.json lib test --ext .ts -f html -o core-http-lintReport.html || exit 0",
     "pack": "npm pack 2>&1",
     "prebuild": "npm run clean",
     "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser",
@@ -110,14 +110,16 @@
     "all": true
   },
   "dependencies": {
-    "@azure/core-auth": "1.0.0-preview.1",
-    "@types/tunnel": "^0.0.0",
-    "axios": "^0.19.0",
+    "@azure/abort-controller": "1.0.0-preview.2",
+    "@azure/core-auth": "1.0.0-preview.3",
+    "@types/node-fetch": "^2.5.0",
+    "@types/tunnel": "^0.0.1",
     "form-data": "^2.5.0",
+    "node-fetch": "^2.6.0",
     "process": "^0.11.10",
-    "tough-cookie": "^2.4.3",
+    "tough-cookie": "^3.0.1",
     "tslib": "^1.9.3",
-    "tunnel": "0.0.6",
+    "tunnel": "^0.0.6",
     "uuid": "^3.3.2",
     "xml2js": "^0.4.19"
   },
@@ -125,46 +127,46 @@
     "@azure/logger-js": "^1.0.2",
     "@types/chai": "^4.1.6",
     "@types/express": "^4.16.0",
+    "@types/fetch-mock": "^7.3.1",
     "@types/glob": "^7.1.1",
     "@types/karma": "^3.0.0",
     "@types/mocha": "^5.2.5",
     "@types/node": "^8.0.0",
     "@types/semver": "^5.5.0",
-    "@types/sinon": "^5.0.5",
-    "@types/tough-cookie": "^2.3.3",
+    "@types/sinon": "^7.0.13",
+    "@types/tough-cookie": "^2.3.5",
     "@types/uuid": "^3.4.3",
     "@types/webpack": "^4.4.13",
     "@types/webpack-dev-middleware": "^2.0.2",
     "@types/xml2js": "^0.4.3",
-    "@typescript-eslint/eslint-plugin": "^1.11.0",
-    "@typescript-eslint/parser": "^1.11.0",
-    "abortcontroller-polyfill": "^1.1.9",
-    "axios-mock-adapter": "^1.16.0",
+    "@typescript-eslint/eslint-plugin": "^2.0.0",
+    "@typescript-eslint/parser": "^2.0.0",
+    "babel-runtime": "^6.26.0",
     "chai": "^4.2.0",
-    "eslint": "^5.16.0",
-    "eslint-config-prettier": "^4.2.0",
-    "eslint-detailed-reporter": "^0.8.0",
+    "eslint": "^6.1.0",
+    "eslint-config-prettier": "^6.0.0",
     "eslint-plugin-no-null": "^1.0.2",
     "eslint-plugin-no-only-tests": "^2.3.0",
     "eslint-plugin-promise": "^4.1.1",
     "express": "^4.16.3",
+    "fetch-mock": "^7.3.9",
     "glob": "^7.1.2",
     "karma": "^4.0.1",
     "karma-chai": "^0.1.0",
-    "karma-chrome-launcher": "^2.2.0",
+    "karma-chrome-launcher": "^3.0.0",
     "karma-mocha": "^1.3.0",
     "karma-rollup-preprocessor": "^7.0.0",
     "karma-sourcemap-loader": "^0.3.7",
     "karma-typescript-es6-transform": "^4.0.0",
     "karma-webpack": "^4.0.0-rc.6",
     "mocha": "^5.2.0",
-    "mocha-chrome": "^1.1.0",
+    "mocha-chrome": "^2.0.0",
     "mocha-junit-reporter": "^1.18.0",
     "mocha-multi-reporters": "^1.1.7",
     "npm-run-all": "^4.1.5",
     "nyc": "^14.0.0",
-    "opn-cli": "^4.0.0",
     "puppeteer": "^1.11.0",
+    "regenerator-runtime": "^0.13.3",
     "rimraf": "^2.6.2",
     "rollup": "^1.16.3",
     "rollup-plugin-alias": "^1.4.0",
@@ -172,14 +174,14 @@
     "rollup-plugin-json": "^4.0.0",
     "rollup-plugin-multi-entry": "^2.1.0",
     "rollup-plugin-node-resolve": "^5.0.2",
-    "rollup-plugin-resolve": "0.0.1-predev.1",
     "rollup-plugin-sourcemaps": "^0.4.2",
     "rollup-plugin-visualizer": "^2.0.0",
     "semver": "^5.5.0",
     "shx": "^0.3.2",
     "sinon": "^7.1.0",
-    "ts-loader": "^5.3.1",
-    "ts-node": "^7.0.1",
+    "terser": "^4.0.2",
+    "ts-loader": "^6.0.4",
+    "ts-node": "^8.3.0",
     "typescript": "^3.2.2",
     "uglify-js": "^3.4.9",
     "webpack": "^4.16.3",
diff --git a/sdk/core/core-http/rollup.config.ts b/sdk/core/core-http/rollup.config.ts
index 5a6dba431326..0e73c2362b9d 100644
--- a/sdk/core/core-http/rollup.config.ts
+++ b/sdk/core/core-http/rollup.config.ts
@@ -23,8 +23,10 @@ const banner = `/** @license @azure/core-http
 const nodeConfig = {
   input: "./es/lib/coreHttp.js",
   external: [
-    "axios",
     "form-data",
+    "http",
+    "https",
+    "node-fetch",
     "os",
     "stream",
     "tough-cookie",
@@ -41,7 +43,7 @@ const nodeConfig = {
   },
   plugins: [
     nodeResolve({
-      mainFields: ['module']
+      mainFields: ["module", "main"],
     }),
     commonjs(),
     sourcemaps(),
@@ -75,8 +77,7 @@ const browserConfig = {
       "./util/base64": "./util/base64.browser",
     }),
     nodeResolve({
-      mainFields: ['module'],
-      browser: true
+      mainFields: ["module", "main", "browser"]
     }),
     commonjs(),
     sourcemaps(),
diff --git a/sdk/core/core-http/test/data/TestClient/lib/models/mappers.ts b/sdk/core/core-http/test/data/TestClient/lib/models/mappers.ts
index 4500b3dad228..52fcc8cf7779 100644
--- a/sdk/core/core-http/test/data/TestClient/lib/models/mappers.ts
+++ b/sdk/core/core-http/test/data/TestClient/lib/models/mappers.ts
@@ -226,6 +226,81 @@ internalMappers.Pet = {
     }
   }
 };
+internalMappers.PetAP = {
+  required: false,
+  serializedName: "PetAP",
+  type: {
+    name: "Composite",
+    additionalProperties: {
+      type: {
+        name: "String"
+      }
+    },
+    className: "PetAP",
+    modelProperties: {
+      id: {
+        required: true,
+        serializedName: "id",
+        type: {
+          name: "Number"
+        }
+      },
+      name: {
+        required: false,
+        serializedName: "name",
+        type: {
+          name: "String"
+        }
+      },
+      eyeColor: {
+        required: true,
+        serializedName: "eyeColor",
+        isConstant: true,
+        defaultValue: "brown",
+        type: {
+          name: "String"
+        }
+      },
+      favoriteFood: {
+        required: false,
+        serializedName: "favoriteFood",
+        defaultValue: "bones",
+        type: {
+          name: "String"
+        }
+      },
+      status: {
+        required: false,
+        readOnly: true,
+        serializedName: "status",
+        type: {
+          name: "Boolean"
+        }
+      },
+      odatalocation: {
+        required: true,
+        serializedName: "@odata\\.location",
+        type: {
+          name: "String"
+        }
+      },
+      additionalProperties1: {
+        required: false,
+        serializedName: "additionalProperties",
+        type: {
+          name: "Dictionary",
+          value: {
+            required: false,
+            serializedName: "NumberElementType",
+            type: {
+              name: "Number"
+            }
+          }
+        }
+      }
+    }
+  }
+};
 internalMappers.PetGallery = {
   required: false,
   serializedName: "PetGallery",
@@ -289,6 +364,11 @@ internalMappers.Product = {
         required: true,
         type: {
           name: "String"
+        },
+        constraints: {
+          MaxLength: 256,
+          MinLength: 1,
+          Pattern: /^[A-Za-z0-9-._]+$/
         }
       },
       provisioningState: {
@@ -599,4 +679,4 @@ internalMappers.discriminators = {
   "Pet.Dog": internalMappers.Dog
 };
 
-export const Mappers = internalMappers;
\ No newline at end of file
+export const Mappers = internalMappers;
diff --git a/sdk/core/core-http/test/defaultHttpClientTests.ts b/sdk/core/core-http/test/defaultHttpClientTests.ts
index 877e9f292606..2695ef297892 100644
--- a/sdk/core/core-http/test/defaultHttpClientTests.ts
+++ b/sdk/core/core-http/test/defaultHttpClientTests.ts
@@ -2,9 +2,9 @@
 // Licensed under the MIT License.
 
 import { assert, AssertionError } from "chai";
+import { AbortController } from "@azure/abort-controller";
 import "chai/register-should";
 import { createReadStream } from "fs";
-import axios from "axios";
 import * as http from "http";
 
 import { DefaultHttpClient } from "../lib/defaultHttpClient";
@@ -16,17 +16,6 @@ import { TestFunction } from "mocha";
 
 const nodeIt = (isNode ? it : it.skip) as TestFunction;
 
-function getAbortController(): AbortController {
-  let controller: AbortController;
-  if (typeof AbortController === "function") {
-    controller = new AbortController();
-  } else {
-    const AbortControllerPonyfill = require("abortcontroller-polyfill/dist/cjs-ponyfill").AbortController;
-    controller = new AbortControllerPonyfill();
-  }
-  return controller;
-}
-
 describe("defaultHttpClient", function () {
   function sleep(ms: number): Promise {
     return new Promise(resolve => setTimeout(resolve, ms));
@@ -34,14 +23,14 @@ describe("defaultHttpClient", function () {
 
   let httpMock: HttpMockFacade;
   beforeEach(() => {
-    httpMock = getHttpMock(axios);
+    httpMock = getHttpMock();
     httpMock.setup();
   });
   afterEach(() => httpMock.teardown());
   after(() => httpMock.teardown());
 
   it("should return a response instead of throwing for awaited 404", async function () {
-    const resourceUrl = "/nonexistent/";
+    const resourceUrl = "/nonexistent";
 
     httpMock.get(resourceUrl, async () => {
       return { status: 404 };
@@ -61,7 +50,7 @@ describe("defaultHttpClient", function () {
       assert.fail();
       return { status: 201 };
     });
-    const controller = getAbortController();
+    const controller = new AbortController();
     const veryBigPayload = "very long string";
     const request = new WebResource(resourceUrl, "POST", veryBigPayload, undefined, undefined, true, undefined, controller.signal);
     const client = new DefaultHttpClient();
@@ -113,7 +102,7 @@ describe("defaultHttpClient", function () {
       return { status: 201 };
     });
 
-    const controller = getAbortController();
+    const controller = new AbortController();
     const buf = "Very large string";
     const requests = [
       new WebResource("/fileupload", "POST", buf, undefined, undefined, true, undefined, controller.signal),
@@ -144,8 +133,8 @@ describe("defaultHttpClient", function () {
     };
 
     it("for simple bodies", async function () {
-      httpMock.post("/fileupload", async (_url, _method, body) => {
-        return { status: 251, body: body, headers: { "Content-Length": "200" } };
+      httpMock.post("/fileupload", async (_url, _method, _body) => {
+        return { status: 251, body: body.repeat(9).substring(0, 200), headers: { "Content-Length": "200" } };
       });
 
       const upload: Notified = { notified: false };
@@ -174,14 +163,14 @@ describe("defaultHttpClient", function () {
 
       const size = isNode ? payload.toString().length : undefined;
 
-      httpMock.post("/fileupload", async (_url, _method, _body) => {
+      httpMock.post("/bigfileupload", async (_url, _method, _body) => {
         return { status: 250, body: payload, headers: { "Content-Type": "text/javascript", "Content-length": size } };
       });
 
       const upload: Notified = { notified: false };
       const download: Notified = { notified: false };
 
-      const request = new WebResource("/fileupload", "POST", payload, undefined, undefined, true, undefined, undefined, 0,
+      const request = new WebResource("/bigfileupload", "POST", payload, undefined, undefined, true, undefined, undefined, 0,
         ev => listener(upload, ev),
         ev => listener(download, ev));
 
@@ -213,7 +202,7 @@ describe("defaultHttpClient", function () {
       await client.sendRequest(request);
       throw new Error("request did not fail as expected");
     } catch (err) {
-      err.message.should.match(/timeout/);
+      err.message.should.not.match(/request did not fail as expected/);
     }
   });
 
@@ -255,9 +244,6 @@ describe("defaultHttpClient", function () {
   });
 
   nodeIt("should send HTTP requests", async function () {
-    // Increase timeout to give the request time to complete
-    this.timeout(10000);
-
     const localPort = 32293;
     const responseContent = "Under Construction";
     const localServer = http.createServer(function (_req, res) {
diff --git a/sdk/core/core-http/test/mockHttp.ts b/sdk/core/core-http/test/mockHttp.ts
index 1600d54541cd..e7e8af89d794 100644
--- a/sdk/core/core-http/test/mockHttp.ts
+++ b/sdk/core/core-http/test/mockHttp.ts
@@ -2,9 +2,9 @@
 // Licensed under the MIT License.
 
 import xhrMock, { proxy } from "xhr-mock";
-import MockAdapter from "axios-mock-adapter";
 import { isNode, HttpMethods } from "../lib/coreHttp";
-import { AxiosRequestConfig, AxiosInstance, Method } from "axios";
+import fetchMock, * as fetch from "fetch-mock";
+import { Readable } from "stream";
 
 export type UrlFilter = string | RegExp;
 
@@ -29,68 +29,77 @@ export interface HttpMockFacade {
   put(url: UrlFilter, response: MockResponse): void;
 }
 
-export function getHttpMock(axiosInstance?: AxiosInstance): HttpMockFacade {
-  return (isNode ? new NodeHttpMock(axiosInstance) : new BrowserHttpMock());
+export function getHttpMock(): HttpMockFacade {
+  return (isNode ? new FetchHttpMock() : new BrowserHttpMock());
 }
 
-class NodeHttpMock implements HttpMockFacade {
-  private _mockAdapter: MockAdapter;
+class FetchHttpMock implements HttpMockFacade {
+  setup(): void {
+    fetchMock.resetHistory();
+  }
 
-  constructor(axiosInstance?: AxiosInstance) {
-    if (!axiosInstance) {
-      throw new Error("Axios instance cannot be undefined");
-    }
-    this._mockAdapter = new MockAdapter(axiosInstance);
-    axiosInstance.interceptors.request.use((config: AxiosRequestConfig) => ({
-      ...config,
-      method: (config.method as Method) && (config.method as Method).toLowerCase() as Method
-    }));
+  teardown(): void {
+    fetchMock.resetHistory();
   }
 
-  setup(): void {
-    this._mockAdapter.reset();
+  passThrough(_url?: string | RegExp | undefined): void {
+    fetchMock.reset();
   }
 
-  teardown(): void {
-    this._mockAdapter.restore();
+  timeout(_method: HttpMethods, url: UrlFilter): void {
+    const delay = new Promise((resolve) => {
+      setTimeout(() => resolve({$uri: url, delay: 500}), 2500);
+    });
+
+    fetchMock.mock(url, delay);
   }
 
-  mockHttpMethod(method: HttpMethods, url: UrlFilter, response: MockResponse): void {
-    const methodName = "on" + method.charAt(0) + method.slice(1).toLowerCase();
-    const mockCall: { reply: (statusOrCallback: number | Function, data?: any, headers?: any) => MockAdapter } = (this._mockAdapter as any)[methodName](url);
+  convertStreamToBuffer(stream: Readable): Promise {
+    return new Promise((resolve) => {
+      const buffer: any = [];
 
-    if (typeof response === "function") {
-      mockCall.reply(async (config: AxiosRequestConfig) => {
-        const result = await response(config.url, config.method, config.data, config.headers);
-        return [result.status, result.body, result.headers];
+      stream.on("data", (chunk: any) => {
+        buffer.push(chunk);
       });
-    } else {
-      mockCall.reply(response.status || 200, response.body || {}, response.headers || {});
+
+      stream.on("end", () => {
+        return resolve(buffer);
+      });
+    });
+  }
+
+  mockHttpMethod(method: HttpMethods, url: UrlFilter, response: MockResponse) {
+    let mockResponse: fetch.MockResponse | fetch.MockResponseFunction = response;
+
+    if (typeof response === "function") {
+      const mockFunction: MockResponseFunction = response;
+      mockResponse = (async (url: string, opts: any) => {
+        if (opts.body && typeof opts.body.pipe === "function") {
+          opts.body = await this.convertStreamToBuffer(opts.body);
+        }
+
+        return mockFunction(url, method, opts.body, opts.headers);
+      }) as fetch.MockResponseFunction;
     }
+
+    const matcher = (_url: string, opts: fetch.MockRequest) => (url === _url) && (opts.method === method);
+    fetchMock.mock(matcher, mockResponse);
   }
 
   get(url: UrlFilter, response: MockResponse): void {
-    return this.mockHttpMethod("GET", url, response);
+    this.mockHttpMethod("GET", url, response);
   }
 
   post(url: UrlFilter, response: MockResponse): void {
-    return this.mockHttpMethod("POST", url, response);
+    this.mockHttpMethod("POST", url, response);
   }
 
   put(url: UrlFilter, response: MockResponse): void {
-    return this.mockHttpMethod("PUT", url, response);
-  }
-
-  passThrough(url?: UrlFilter): void {
-    this._mockAdapter.onAny(url).passThrough();
-  }
-
-  timeout(_method: HttpMethods, url?: UrlFilter): void {
-    this._mockAdapter.onAny(url).timeout();
+    this.mockHttpMethod("PUT", url, response);
   }
 }
 
-class BrowserHttpMock implements HttpMockFacade {
+export class BrowserHttpMock implements HttpMockFacade {
   setup(): void {
     xhrMock.setup();
   }
diff --git a/sdk/core/core-http/test/axiosHttpClientTests.node.ts b/sdk/core/core-http/test/proxyAgent.node.ts
similarity index 83%
rename from sdk/core/core-http/test/axiosHttpClientTests.node.ts
rename to sdk/core/core-http/test/proxyAgent.node.ts
index d0759be0ed71..2d36d7b4e484 100644
--- a/sdk/core/core-http/test/axiosHttpClientTests.node.ts
+++ b/sdk/core/core-http/test/proxyAgent.node.ts
@@ -7,9 +7,9 @@ import tunnel from "tunnel";
 import https from "https";
 
 import { HttpHeaders } from "../lib/coreHttp";
-import { createTunnel, createProxyAgent } from "../lib/axiosHttpClient";
+import { createProxyAgent, createTunnel } from "../lib/proxyAgent";
 
-describe("AxiosHttpClient", () => {
+describe("proxyAgent", () => {
   describe("createProxyAgent", () => {
     type HttpsAgent = https.Agent & {
       defaultPort: number | undefined,
@@ -39,8 +39,8 @@ describe("AxiosHttpClient", () => {
         proxyAgent.isHttps.should.equal(testCase.isProxyHttps);
         const agent = proxyAgent.agent as HttpsAgent;
         should().equal(agent.defaultPort, testCase.port);
-        agent.options.proxy.host!.should.equal(urlHost);
-        agent.options.proxy.port!.should.equal(proxySettings.port);
+        agent.options.proxy.host.should.equal(urlHost);
+        agent.options.proxy.port.should.equal(proxySettings.port);
         done();
       });
     });
@@ -57,7 +57,8 @@ describe("AxiosHttpClient", () => {
       const proxyAgent = createProxyAgent("http://example.com", proxySettings, headers);
 
       const agent = proxyAgent.agent as HttpsAgent;
-      agent.proxyOptions.headers.should.contain({ "user-agent": "Node.js" });
+      should().exist(agent.proxyOptions.headers);
+      agent.proxyOptions.headers!.should.contain({ "user-agent": "Node.js" });
       done();
     });
   });
@@ -86,8 +87,8 @@ describe("AxiosHttpClient", () => {
         };
 
         const tunnel = createTunnel(false, value, tunnelConfig) as HttpsAgent;
-        tunnel.options.proxy.host!.should.equal(defaultProxySettings.host);
-        tunnel.options.proxy.port!.should.equal(defaultProxySettings.port);
+        tunnel.options.proxy.host.should.equal(defaultProxySettings.host);
+        tunnel.options.proxy.port.should.equal(defaultProxySettings.port);
         should().not.exist(tunnel.defaultPort);
       });
     });
@@ -103,8 +104,8 @@ describe("AxiosHttpClient", () => {
         };
 
         const tunnel = createTunnel(true, value, tunnelConfig) as HttpsAgent;
-        tunnel.options.proxy.host!.should.equal(defaultProxySettings.host);
-        tunnel.options.proxy.port!.should.equal(defaultProxySettings.port);
+        tunnel.options.proxy.host.should.equal(defaultProxySettings.host);
+        tunnel.options.proxy.port.should.equal(defaultProxySettings.port);
         tunnel.defaultPort!.should.equal(443);
       });
     });
diff --git a/sdk/core/core-http/test/serializationTests.ts b/sdk/core/core-http/test/serializationTests.ts
index 6a11f9ec4894..9e2b84f84ee3 100644
--- a/sdk/core/core-http/test/serializationTests.ts
+++ b/sdk/core/core-http/test/serializationTests.ts
@@ -565,6 +565,38 @@ describe("msrest", function () {
       done();
     });
 
+    it("should correctly serialize additionalProperties when the mapper knows that additional properties are allowed", function () {
+      const bodyParameter = {
+        id: 5,
+        name: "Funny",
+        odatalocation: "westus",
+        additionalProperties1: {
+          height: 5.61,
+          weight: 599,
+          footsize: 11.5
+        },
+        color: "red",
+        city: "Seattle",
+        food: "tikka masala",
+        birthdate: "2017-12-13T02:29:51.000Z"
+      };
+      const client = new TestClient("http://localhost:9090");
+      const mapper = Mappers.PetAP;
+      const result = client.serializer.serialize(mapper, bodyParameter, "bodyParameter");
+      result.id.should.equal(5);
+      result.eyeColor.should.equal("brown");
+      assert.isUndefined(result.favoriteFood);
+      result["@odata.location"].should.equal("westus");
+      result.color.should.equal("red");
+      result.city.should.equal("Seattle");
+      result.food.should.equal("tikka masala");
+      result.additionalProperties.height.should.equal(5.61);
+      result.additionalProperties.weight.should.equal(599);
+      result.additionalProperties.footsize.should.equal(11.5);
+      result.name.should.equal("Funny");
+      result.birthdate.should.equal("2017-12-13T02:29:51.000Z");
+    });
+
     it("should allow null when required: true and nullable: true", function () {
       const mapper: msRest.Mapper = {
         required: false,
@@ -1058,6 +1090,124 @@ describe("msrest", function () {
       done();
     });
 
+    it("should correctly deserialize additionalProperties when the mapper knows that additional properties are allowed", function (done) {
+      const responseBody = {
+        id: 5,
+        name: "Funny",
+        status: true,
+        "@odata.location": "westus",
+        additionalProperties: {
+          height: 5.61,
+          weight: 599,
+          footsize: 11.5
+        },
+        color: "red",
+        city: "Seattle",
+        food: "tikka masala",
+        birthdate: "2017-12-13T02:29:51Z"
+      };
+      const client = new TestClient("http://localhost:9090");
+      const mapper = Mappers.PetAP;
+      const result = client.serializer.deserialize(mapper, responseBody, "responseBody");
+      result.id.should.equal(5);
+      result.status.should.equal(true);
+      result.eyeColor.should.equal("brown");
+      result.favoriteFood.should.equal("bones");
+      result.odatalocation.should.equal("westus");
+      result.color.should.equal("red");
+      result.city.should.equal("Seattle");
+      result.food.should.equal("tikka masala");
+      result.birthdate.should.equal("2017-12-13T02:29:51Z");
+      result.additionalProperties1.height.should.equal(5.61);
+      result.additionalProperties1.weight.should.equal(599);
+      result.additionalProperties1.footsize.should.equal(11.5);
+      result.name.should.equal("Funny");
+      done();
+    });
+
+    it("should correctly deserialize without failing when encountering no discriminator", function (done) {
+      const client = new TestClient("http://localhost:9090");
+      const mapper = Mappers.Fish;
+      const responseBody = {
+        "age": 22,
+        "birthday": new Date("2012-01-05T01:00:00Z").toISOString(),
+        "species": "king",
+        "length": 1.0,
+        "picture": Buffer.from([255, 255, 255, 255, 254]).toString(),
+        "siblings": [
+          {
+            "fish.type": "mutatedshark",
+            "age": 105,
+            "birthday": new Date("1900-01-05T01:00:00Z").toISOString(),
+            "length": 10.0,
+            "picture": Buffer.from([255, 255, 255, 255, 254]).toString(),
+            "species": "dangerous",
+            "siblings": [
+              {
+                "fish.type": "mutatedshark",
+                "age": 6,
+                "length": 20.0,
+                "species": "predator"
+              }
+            ]
+          }
+        ]
+      };
+      const deserializedSawshark = client.serializer.deserialize(mapper, responseBody, "responseBody");
+      deserializedSawshark.fishtype.should.equal("Fish");
+      deserializedSawshark.siblings.length.should.equal(1);
+      deserializedSawshark.siblings[0].fishtype.should.equal("mutatedshark");
+      deserializedSawshark.siblings[0].species.should.equal("dangerous");
+      deserializedSawshark.siblings[0].birthday.should.equal("1900-01-05T01:00:00.000Z");
+      deserializedSawshark.siblings[0].age.should.equal(105);
+      deserializedSawshark.siblings[0].siblings[0].fishtype.should.equal("mutatedshark");
+      deserializedSawshark.siblings[0].siblings[0].species.should.equal("predator");
+      deserializedSawshark.siblings[0].siblings[0].age.should.equal(6);
+      done();
+    });
+
+    it("should correctly serialize without failing when encountering no discriminator", function (done) {
+      const client = new TestClient("http://localhost:9090");
+      const mapper = Mappers.SawShark;
+      const sawshark = {
+        "age": 22,
+        "birthday": new Date("2012-01-05T01:00:00Z"),
+        "species": "king",
+        "length": 1.0,
+        "picture": Buffer.from([255, 255, 255, 255, 254]),
+        "siblings": [
+          {
+            "fishtype": "shark",
+            "age": 6,
+            "birthday": new Date("2012-01-05T01:00:00Z"),
+            "length": 20.0,
+            "species": "predator"
+          },
+          {
+            "fishtype": "sawshark",
+            "age": 105,
+            "birthday": new Date("1900-01-05T01:00:00Z"),
+            "length": 10.0,
+            "picture": Buffer.from([255, 255, 255, 255, 254]),
+            "species": "dangerous"
+          }
+        ]
+      };
+      const serializedSawshark = client.serializer.serialize(mapper, sawshark, "result");
+      serializedSawshark.age.should.equal(22);
+      serializedSawshark["fish.type"].should.equal("sawshark");
+      serializedSawshark.siblings.length.should.equal(2);
+      serializedSawshark.siblings[0]["fish.type"].should.equal("shark");
+      serializedSawshark.siblings[0].age.should.equal(6);
+      serializedSawshark.siblings[0].birthday.should.equal(new Date("2012-01-05T01:00:00Z").toISOString());
+      serializedSawshark.siblings[1]["fish.type"].should.equal("sawshark");
+      serializedSawshark.siblings[1].age.should.equal(105);
+      serializedSawshark.siblings[1].birthday.should.equal(new Date("1900-01-05T01:00:00Z").toISOString());
+      serializedSawshark.siblings[1].picture.should.equal("//////4=");
+      serializedSawshark.picture.should.equal("//////4=");
+      done();
+    });
+
     it("should deserialize headerCollectionPrefix", function () {
       const mapper: msRest.CompositeMapper = {
         serializedName: "something",
diff --git a/sdk/core/core-http/webpack.testconfig.ts b/sdk/core/core-http/webpack.testconfig.ts
index 9571aeccf55b..1b34aeddf647 100644
--- a/sdk/core/core-http/webpack.testconfig.ts
+++ b/sdk/core/core-http/webpack.testconfig.ts
@@ -47,13 +47,11 @@ const config: webpack.Configuration = {
     extensions: [".tsx", ".ts", ".js"]
   },
   node: {
-    Buffer: "mock",
     dns: false,
     fs: "empty",
     net: "empty",
     path: "empty",
     process: "mock",
-    stream: "empty",
     tls: "empty",
     tty: false,
     tunnel: "empty",
diff --git a/sdk/core/core-paging/ThirdPartyNotices.txt b/sdk/core/core-paging/ThirdPartyNotices.txt
index 8c622df8bad0..b141380471a1 100644
--- a/sdk/core/core-paging/ThirdPartyNotices.txt
+++ b/sdk/core/core-paging/ThirdPartyNotices.txt
@@ -1,4 +1,4 @@
-Third Party Notices for ms-rest-js
+Third Party Notices for core-paging
 
 This project incorporates material from the project(s) listed below (collectively, Third Party Code).
 Microsoft, Inc. Microsoft is not the original author of the Third Party Code.
@@ -32,4 +32,4 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 =========================================
-END OF uuid NOTICES AND INFORMATION
\ No newline at end of file
+END OF uuid NOTICES AND INFORMATION
diff --git a/sdk/core/core-paging/package.json b/sdk/core/core-paging/package.json
index 2b06c8368366..25aca7994909 100644
--- a/sdk/core/core-paging/package.json
+++ b/sdk/core/core-paging/package.json
@@ -44,7 +44,7 @@
     "integration-test:browser": "echo skipped",
     "integration-test:node": "echo skipped",
     "integration-test": "npm run integration-test:node && npm run integration-test:browser",
-    "lint": "eslint -c ../../.eslintrc.json src --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o template-lintReport.html || exit 0",
+    "lint": "eslint -c ../../.eslintrc.json src --ext .ts -f html -o template-lintReport.html || exit 0",
     "lint:fix": "eslint \"src/**/*.ts\" -c ../../.eslintrc.json --fix --fix-type [problem,suggestion]",
     "pack": "npm pack 2>&1",
     "prebuild": "npm run clean",
@@ -62,11 +62,10 @@
   },
   "devDependencies": {
     "@types/node": "^8.0.0",
-    "@typescript-eslint/eslint-plugin": "^1.11.0",
-    "@typescript-eslint/parser": "^1.11.0",
-    "eslint": "^5.16.0",
-    "eslint-config-prettier": "^4.2.0",
-    "eslint-detailed-reporter": "^0.8.0",
+    "@typescript-eslint/eslint-plugin": "^2.0.0",
+    "@typescript-eslint/parser": "^2.0.0",
+    "eslint": "^6.1.0",
+    "eslint-config-prettier": "^6.0.0",
     "eslint-plugin-no-null": "^1.0.2",
     "eslint-plugin-no-only-tests": "^2.3.0",
     "eslint-plugin-promise": "^4.1.1",
diff --git a/sdk/core/core-tracing/Changelog.md b/sdk/core/core-tracing/Changelog.md
new file mode 100644
index 000000000000..d73e414c1e49
--- /dev/null
+++ b/sdk/core/core-tracing/Changelog.md
@@ -0,0 +1,3 @@
+# 1.0.0-preview.1 5th August 2019
+
+Provides low-level interfaces and helper methods for tracing in Azure SDK
diff --git a/sdk/core/core-tracing/LICENSE.txt b/sdk/core/core-tracing/LICENSE.txt
new file mode 100644
index 000000000000..21071075c245
--- /dev/null
+++ b/sdk/core/core-tracing/LICENSE.txt
@@ -0,0 +1,21 @@
+    MIT License
+
+    Copyright (c) Microsoft Corporation. All rights reserved.
+
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to deal
+    in the Software without restriction, including without limitation the rights
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+    copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in all
+    copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+    SOFTWARE
diff --git a/sdk/core/core-tracing/README.md b/sdk/core/core-tracing/README.md
new file mode 100644
index 000000000000..930ee8d74da7
--- /dev/null
+++ b/sdk/core/core-tracing/README.md
@@ -0,0 +1,23 @@
+# Azure Core tracing library for JS
+
+This is the core tracing library that provides low-level interfaces and helper methods for tracing in Azure SDK JavaScript libraries which work in the browser and Node.js.
+
+## Getting started
+
+Coming soon....
+
+## Contributing
+
+This project welcomes contributions and suggestions. Most contributions require you to agree to a
+Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
+the rights to use your contribution. For details, visit https://cla.microsoft.com.
+
+When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
+a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
+provided by the bot. You will only need to do this once across all repos using our CLA.
+
+If you'd like to contribute to this library, please read the [contributing guide](../../../CONTRIBUTING.md) to learn more about how to build and test the code.
+
+This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
+For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
+contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
diff --git a/sdk/core/core-tracing/ThirdPartyNotices.txt b/sdk/core/core-tracing/ThirdPartyNotices.txt
new file mode 100644
index 000000000000..634c3adf3d1c
--- /dev/null
+++ b/sdk/core/core-tracing/ThirdPartyNotices.txt
@@ -0,0 +1,24 @@
+Third Party Notices for core-tracing
+
+This project incorporates material from the project(s) listed below (collectively, Third Party Code).
+Microsoft, Inc. Microsoft is not the original author of the Third Party Code.
+The original copyright notice and license, under which Microsoft received such Third Party Code,
+are set out below.  This Third Party Code is licensed to you under their original license terms set forth below.
+Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise.
+
+1. opentelemetry-js
+
+%% opentelemetry-js NOTICES AND INFORMATION BEGIN HERE
+=========================================
+Copyright 2019, OpenTelemetry Authors
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+     https://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+=========================================
+END OF opentelemetry-js NOTICES AND INFORMATION
diff --git a/sdk/core/core-tracing/api-extractor.json b/sdk/core/core-tracing/api-extractor.json
new file mode 100644
index 000000000000..ea431776e9eb
--- /dev/null
+++ b/sdk/core/core-tracing/api-extractor.json
@@ -0,0 +1,32 @@
+{
+    "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
+    "mainEntryPointFilePath": "types/index.d.ts",
+    "docModel": {
+      "enabled": false
+    },
+    "apiReport": {
+      "enabled": true,
+      "reportFolder": "./review"
+    },
+    "dtsRollup": {
+      "enabled": true,
+      "untrimmedFilePath": "",
+      "publicTrimmedFilePath": "./types/core-tracing.d.ts"
+    },
+    "messages": {
+      "tsdocMessageReporting": {
+        "default": {
+          "logLevel": "none"
+        }
+      },
+      "extractorMessageReporting": {
+        "ae-missing-release-tag": {
+          "logLevel": "none"
+        },
+        "ae-unresolved-link": {
+          "logLevel": "none"
+        }
+      }
+    }
+  }
+  
\ No newline at end of file
diff --git a/sdk/core/core-tracing/lib/implementations/noop/spanNoOpImpl.ts b/sdk/core/core-tracing/lib/implementations/noop/spanNoOpImpl.ts
new file mode 100644
index 000000000000..0b602b907960
--- /dev/null
+++ b/sdk/core/core-tracing/lib/implementations/noop/spanNoOpImpl.ts
@@ -0,0 +1,33 @@
+import { Span } from "../../interfaces/span";
+import { SpanContext } from "../../interfaces/span_context";
+import { Attributes } from "../../interfaces/attributes";
+import { Status } from "../../interfaces/status";
+
+export class SpanNoOpImpl implements Span {
+  context(): SpanContext {
+    throw new Error("Method not implemented.");
+  }
+  setAttribute(key: string, value: unknown): this {
+    throw new Error("Method not implemented.");
+  }
+  setAttributes(attributes: Attributes): this {
+    throw new Error("Method not implemented.");
+  }
+  addEvent(name: string, attributes?: Attributes | undefined): this {
+    throw new Error("Method not implemented.");
+  }
+  addLink(spanContext: SpanContext, attributes?: Attributes | undefined): this {
+    throw new Error("Method not implemented.");
+  }
+  setStatus(status: Status): this {
+    throw new Error("Method not implemented.");
+  }
+  updateName(name: string): this {
+    throw new Error("Method not implemented.");
+  }
+  start(startTime?: number): void {}
+  end(endTime?: number): void {}
+  isRecordingEvents(): boolean {
+    throw new Error("Method not implemented.");
+  }
+}
diff --git a/sdk/core/core-tracing/lib/implementations/noop/tracerNoOpImpl.ts b/sdk/core/core-tracing/lib/implementations/noop/tracerNoOpImpl.ts
new file mode 100644
index 000000000000..0b857e02298f
--- /dev/null
+++ b/sdk/core/core-tracing/lib/implementations/noop/tracerNoOpImpl.ts
@@ -0,0 +1,28 @@
+import { Tracer } from "../../interfaces/tracer";
+import { SpanOptions } from "../../interfaces/SpanOptions";
+import { Span } from "../../interfaces/span";
+import { SpanNoOpImpl } from "./spanNoOpImpl";
+import { SupportedPlugins } from '../../utils/supportedPlugins';
+
+export class TracerNoOpImpl implements Tracer {
+  public readonly pluginType = SupportedPlugins.NOOP;
+  
+  getCurrentSpan(): Span {
+    throw new Error("Method not implemented.");
+  }
+  startSpan(name: string, options?: SpanOptions | undefined): Span {
+    return new SpanNoOpImpl();
+  }
+  withSpan unknown>(span: Span, fn: T): ReturnType {
+    throw new Error("Method not implemented.");
+  }
+  recordSpanData(span: Span): void {
+    throw new Error("Method not implemented.");
+  }
+  getBinaryFormat(): unknown {
+    throw new Error("Method not implemented.");
+  }
+  getHttpTextFormat(): unknown {
+    throw new Error("Method not implemented.");
+  }
+}
diff --git a/sdk/core/core-tracing/lib/index.ts b/sdk/core/core-tracing/lib/index.ts
new file mode 100644
index 000000000000..d8b06e6a3195
--- /dev/null
+++ b/sdk/core/core-tracing/lib/index.ts
@@ -0,0 +1,29 @@
+export { TracerProxy } from "./tracerProxy";
+
+// Utils
+export { SupportedPlugins } from "./utils/supportedPlugins";
+
+// Plugins
+export { NoOpSpanPlugin } from "./plugins/noop/noOpSpanPlugin";
+export { NoOpTracePlugin } from "./plugins/noop/noOpTracePlugin";
+export { OpenCensusSpanPlugin } from "./plugins/opencensus/openCensusSpanPlugin";
+export { OpenCensusTracePlugin } from "./plugins/opencensus/openCensusTracePlugin";
+
+// Implementations
+export { SpanNoOpImpl } from "./implementations/noop/spanNoOpImpl";
+export { TracerNoOpImpl } from "./implementations/noop/tracerNoOpImpl";
+
+// Interfaces
+export { Attributes } from "./interfaces/attributes";
+export { Event } from "./interfaces/Event";
+export { Link } from "./interfaces/link";
+export { Sampler } from "./interfaces/Sampler";
+export { SpanContext } from "./interfaces/span_context";
+export { SpanKind } from "./interfaces/span_kind";
+export { Span } from "./interfaces/span";
+export { SpanOptions } from "./interfaces/SpanOptions";
+export { Status, CanonicalCode } from "./interfaces/status";
+export { TimedEvent } from "./interfaces/TimedEvent";
+export { TraceOptions } from "./interfaces/trace_options";
+export { TraceState } from "./interfaces/trace_state";
+export { Tracer } from "./interfaces/tracer";
diff --git a/sdk/core/core-tracing/lib/interfaces/Event.ts b/sdk/core/core-tracing/lib/interfaces/Event.ts
new file mode 100644
index 000000000000..ea21c330174a
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/Event.ts
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Attributes } from './attributes';
+
+/** A text annotation with a set of attributes. */
+export interface Event {
+  /** The name of the event. */
+  name: string;
+  /** The attributes of the event. */
+  attributes?: Attributes;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/Sampler.ts b/sdk/core/core-tracing/lib/interfaces/Sampler.ts
new file mode 100644
index 000000000000..ae4f3338ec86
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/Sampler.ts
@@ -0,0 +1,37 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { SpanContext } from './span_context';
+
+/**
+ * This interface represent a sampler. Sampling is a mechanism to control the
+ * noise and overhead introduced by OpenTelemetry by reducing the number of
+ * samples of traces collected and sent to the backend.
+ */
+export interface Sampler {
+  /**
+   * Checks whether span needs to be created and tracked.
+   *
+   * TODO: Consider to add required arguments https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/sampling-api.md#shouldsample
+   * @param [parentContext] Parent span context. Typically taken from the wire.
+   *     Can be null.
+   * @returns whether span should be sampled or not.
+   */
+  shouldSample(parentContext?: SpanContext): boolean;
+
+  /** Returns the sampler name or short description with the configuration. */
+  toString(): string;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/SpanOptions.ts b/sdk/core/core-tracing/lib/interfaces/SpanOptions.ts
new file mode 100644
index 000000000000..602d07e10c24
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/SpanOptions.ts
@@ -0,0 +1,43 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Span } from './span';
+import { Attributes } from './attributes';
+import { SpanKind } from './span_kind';
+import { SpanContext } from './span_context';
+
+/**
+ * Options needed for span creation
+ */
+export interface SpanOptions {
+  /** The SpanKind of a span */
+  kind?: SpanKind;
+
+  /** A spans attributes */
+  attributes?: Attributes;
+
+  /** Indicates that events are being recorded for a span */
+  isRecordingEvents?: boolean;
+
+  /**
+   * A parent SpanContext (or Span, for convenience) that the newly-started
+   * span will be the child of.
+   */
+  parent?: Span | SpanContext;
+
+  /** A manually specified start time for the created Span object. */
+  startTime?: number;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/TimedEvent.ts b/sdk/core/core-tracing/lib/interfaces/TimedEvent.ts
new file mode 100644
index 000000000000..3b46df2e87a6
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/TimedEvent.ts
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Event } from './Event';
+
+/**
+ * Represents a timed event.
+ * A timed event is an event with a timestamp.
+ */
+export interface TimedEvent extends Event {
+  time: number;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/attributes.ts b/sdk/core/core-tracing/lib/interfaces/attributes.ts
new file mode 100644
index 000000000000..a9fecfac5f1a
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/attributes.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/** Defines a attributes interface. */
+export interface Attributes {
+  [attributeKey: string]: unknown;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/link.ts b/sdk/core/core-tracing/lib/interfaces/link.ts
new file mode 100644
index 000000000000..fadac28adf7f
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/link.ts
@@ -0,0 +1,29 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Attributes } from './attributes';
+import { SpanContext } from './span_context';
+
+/**
+ * A pointer from the current {@link Span} to another span in the same trace or
+ * in a different trace.
+ */
+export interface Link {
+  /** The {@link SpanContext} of a linked span. */
+  spanContext: SpanContext;
+  /** A set of {@link Attributes} on the link. */
+  attributes?: Attributes;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/span.ts b/sdk/core/core-tracing/lib/interfaces/span.ts
new file mode 100644
index 000000000000..96304dd7c6c7
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/span.ts
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Attributes } from "./attributes";
+import { SpanContext } from "./span_context";
+import { Status } from "./status";
+
+/**
+ * An interface that represents a span. A span represents a single operation
+ * within a trace. Examples of span might include remote procedure calls or a
+ * in-process function calls to sub-components. A Trace has a single, top-level
+ * "root" Span that in turn may have zero or more child Spans, which in turn
+ * may have children.
+ */
+export interface Span {
+  /**
+   * Returns the {@link SpanContext} object associated with this Span.
+   *
+   * @returns the SpanContext object associated with this Span.
+   */
+  context(): SpanContext;
+
+  // /**
+  //  * # TODO
+  //  * Returns the Tracer object used to create this Span.
+  //  * https://github.com/open-telemetry/opentelemetry-specification/issues/21
+  //  */
+  // tracer(): Tracer;
+
+  /**
+   * Sets an attribute to the span.
+   *
+   * @param key the key for this attribute.
+   * @param value the value for this attribute.
+   */
+  setAttribute(key: string, value: unknown): this;
+
+  /**
+   * Sets attributes to the span.
+   *
+   * @param attributes the attributes that will be added.
+   */
+  setAttributes(attributes: Attributes): this;
+
+  /**
+   * Adds an event to the Span.
+   *
+   * @param name the name of the event.
+   * @param [attributes] the attributes that will be added; these are
+   *     associated with this event.
+   */
+  addEvent(name: string, attributes?: Attributes): this;
+
+  /**
+   * Adds a link to the Span.
+   *
+   * @param spanContext the context of the linked span.
+   * @param [attributes] the attributes that will be added; these are
+   *     associated with this link.
+   */
+  addLink(spanContext: SpanContext, attributes?: Attributes): this;
+
+  /**
+   * Sets a status to the span. If used, this will override the default Span
+   * status. Default is {@link CanonicalCode.OK}.
+   *
+   * @param status the Status to set.
+   */
+  setStatus(status: Status): this;
+
+  /**
+   * Updates the Span name.
+   *
+   * TODO (revision): https://github.com/open-telemetry/opentelemetry-specification/issues/119
+   *
+   * @param name the Span name.
+   */
+  updateName(name: string): this;
+
+  /**
+   * Marks the end of Span execution.
+   *
+   * Call to End of a Span MUST not have any effects on child spans. Those may
+   * still be running and can be ended later.
+   *
+   * Do not return `this`. The Span generally should not be used after it
+   * is ended so chaining is not desired in this context.
+   *
+   * @param [endTime] the timestamp to set as Span's end time. If not provided,
+   *     use the current time as the span's end time.
+   *     TODO (Add timestamp format): https://github.com/open-telemetry/opentelemetry-js/issues/19
+   */
+  end(endTime?: number): void;
+
+  start(startTime?: number): void;
+
+  /**
+   * Returns the flag whether this span will be recorded.
+   *
+   * @returns true if this Span is active and recording information like events
+   * with the AddEvent operation and attributes using setAttributes.
+   */
+  isRecordingEvents(): boolean;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/span_context.ts b/sdk/core/core-tracing/lib/interfaces/span_context.ts
new file mode 100644
index 000000000000..c67602a25d78
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/span_context.ts
@@ -0,0 +1,66 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { TraceOptions } from './trace_options';
+import { TraceState } from './trace_state';
+
+/**
+ * A SpanContext represents the portion of a {@link Span} which must be
+ * serialized and propagated along side of a distributed context.
+ */
+export interface SpanContext {
+  /**
+   * The ID of the trace that this span belongs to. It is worldwide unique
+   * with practically sufficient probability by being made as 16 randomly
+   * generated bytes, encoded as a 32 lowercase hex characters corresponding to
+   * 128 bits.
+   */
+  traceId: string;
+  /**
+   * The ID of the Span. It is globally unique with practically sufficient
+   * probability by being made as 8 randomly generated bytes, encoded as a 16
+   * lowercase hex characters corresponding to 64 bits.
+   */
+  spanId: string;
+  /**
+   * Trace options to propagate.
+   *
+   * It is represented as 1 byte (bitmap). Bit to represent whether trace is
+   * sampled or not. When set, the least significant bit documents that the
+   * caller may have recorded trace data. A caller who does not record trace
+   * data out-of-band leaves this flag unset.
+   *
+   * SAMPLED = 0x1 and UNSAMPLED = 0x0;
+   */
+  traceOptions?: TraceOptions;
+  /**
+   * Tracing-system-specific info to propagate.
+   *
+   * The tracestate field value is a `list` as defined below. The `list` is a
+   * series of `list-members` separated by commas `,`, and a list-member is a
+   * key/value pair separated by an equals sign `=`. Spaces and horizontal tabs
+   * surrounding `list-members` are ignored. There can be a maximum of 32
+   * `list-members` in a `list`.
+   * More Info: https://www.w3.org/TR/trace-context/#tracestate-field
+   *
+   * Examples:
+   *     Single tracing system (generic format):
+   *         tracestate: rojo=00f067aa0ba902b7
+   *     Multiple tracing systems (with different formatting):
+   *         tracestate: rojo=00f067aa0ba902b7,congo=t61rcWkgMzE
+   */
+  traceState?: TraceState;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/span_kind.ts b/sdk/core/core-tracing/lib/interfaces/span_kind.ts
new file mode 100644
index 000000000000..688650f2beb6
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/span_kind.ts
@@ -0,0 +1,50 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Type of span. Can be used to specify additional relationships between spans
+ * in addition to a parent/child relationship.
+ */
+export enum SpanKind {
+  /** Default value. Indicates that the span is used internally. */
+  INTERNAL = 0,
+
+  /**
+   * Indicates that the span covers server-side handling of an RPC or other
+   * remote request.
+   */
+  SERVER = 1,
+
+  /**
+   * Indicates that the span covers the client-side wrapper around an RPC or
+   * other remote request.
+   */
+  CLIENT = 2,
+
+  /**
+   * Indicates that the span describes producer sending a message to a
+   * broker. Unlike client and server, there is no direct critical path latency
+   * relationship between producer and consumer spans.
+   */
+  PRODUCER = 3,
+
+  /**
+   * Indicates that the span describes consumer receiving a message from a
+   * broker. Unlike client and server, there is no direct critical path latency
+   * relationship between producer and consumer spans.
+   */
+  CONSUMER = 4,
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/status.ts b/sdk/core/core-tracing/lib/interfaces/status.ts
new file mode 100644
index 000000000000..be84093ce18d
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/status.ts
@@ -0,0 +1,165 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The status of a Span by providing a standard CanonicalCode in conjunction
+ * with an optional descriptive message.
+ */
+export interface Status {
+  /** The canonical code of this message. */
+  code: CanonicalCode;
+  /** A developer-facing error message. */
+  message?: string;
+}
+
+/**
+ * An enumeration of canonical status codes.
+ *
+ * TODO (revision): https://github.com/open-telemetry/opentelemetry-specification/issues/59
+ */
+export enum CanonicalCode {
+  /**
+   * Not an error; returned on success
+   */
+  OK = 0,
+  /**
+   * The operation was cancelled (typically by the caller).
+   */
+  CANCELLED = 1,
+  /**
+   * Unknown error.  An example of where this error may be returned is
+   * if a status value received from another address space belongs to
+   * an error-space that is not known in this address space.  Also
+   * errors raised by APIs that do not return enough error information
+   * may be converted to this error.
+   */
+  UNKNOWN = 2,
+  /**
+   * Client specified an invalid argument.  Note that this differs
+   * from FAILED_PRECONDITION.  INVALID_ARGUMENT indicates arguments
+   * that are problematic regardless of the state of the system
+   * (e.g., a malformed file name).
+   */
+  INVALID_ARGUMENT = 3,
+  /**
+   * Deadline expired before operation could complete.  For operations
+   * that change the state of the system, this error may be returned
+   * even if the operation has completed successfully.  For example, a
+   * successful response from a server could have been delayed long
+   * enough for the deadline to expire.
+   */
+  DEADLINE_EXCEEDED = 4,
+  /**
+   * Some requested entity (e.g., file or directory) was not found.
+   */
+  NOT_FOUND = 5,
+  /**
+   * Some entity that we attempted to create (e.g., file or directory)
+   * already exists.
+   */
+  ALREADY_EXISTS = 6,
+  /**
+   * The caller does not have permission to execute the specified
+   * operation.  PERMISSION_DENIED must not be used for rejections
+   * caused by exhausting some resource (use RESOURCE_EXHAUSTED
+   * instead for those errors).  PERMISSION_DENIED must not be
+   * used if the caller can not be identified (use UNAUTHENTICATED
+   * instead for those errors).
+   */
+  PERMISSION_DENIED = 7,
+  /**
+   * Some resource has been exhausted, perhaps a per-user quota, or
+   * perhaps the entire file system is out of space.
+   */
+  RESOURCE_EXHAUSTED = 8,
+  /**
+   * Operation was rejected because the system is not in a state
+   * required for the operation's execution.  For example, directory
+   * to be deleted may be non-empty, an rmdir operation is applied to
+   * a non-directory, etc.
+   *
+   * A litmus test that may help a service implementor in deciding
+   * between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:
+   *
+   *  - Use UNAVAILABLE if the client can retry just the failing call.
+   *  - Use ABORTED if the client should retry at a higher-level
+   *    (e.g., restarting a read-modify-write sequence).
+   *  - Use FAILED_PRECONDITION if the client should not retry until
+   *    the system state has been explicitly fixed.  E.g., if an "rmdir"
+   *    fails because the directory is non-empty, FAILED_PRECONDITION
+   *    should be returned since the client should not retry unless
+   *    they have first fixed up the directory by deleting files from it.
+   *  - Use FAILED_PRECONDITION if the client performs conditional
+   *    REST Get/Update/Delete on a resource and the resource on the
+   *    server does not match the condition. E.g., conflicting
+   *    read-modify-write on the same resource.
+   */
+  FAILED_PRECONDITION = 9,
+  /**
+   * The operation was aborted, typically due to a concurrency issue
+   * like sequencer check failures, transaction aborts, etc.
+   *
+   * See litmus test above for deciding between FAILED_PRECONDITION,
+   * ABORTED, and UNAVAILABLE.
+   */
+  ABORTED = 10,
+  /**
+   * Operation was attempted past the valid range.  E.g., seeking or
+   * reading past end of file.
+   *
+   * Unlike INVALID_ARGUMENT, this error indicates a problem that may
+   * be fixed if the system state changes. For example, a 32-bit file
+   * system will generate INVALID_ARGUMENT if asked to read at an
+   * offset that is not in the range [0,2^32-1], but it will generate
+   * OUT_OF_RANGE if asked to read from an offset past the current
+   * file size.
+   *
+   * There is a fair bit of overlap between FAILED_PRECONDITION and
+   * OUT_OF_RANGE.  We recommend using OUT_OF_RANGE (the more specific
+   * error) when it applies so that callers who are iterating through
+   * a space can easily look for an OUT_OF_RANGE error to detect when
+   * they are done.
+   */
+  OUT_OF_RANGE = 11,
+  /**
+   * Operation is not implemented or not supported/enabled in this service.
+   */
+  UNIMPLEMENTED = 12,
+  /**
+   * Internal errors.  Means some invariants expected by underlying
+   * system has been broken.  If you see one of these errors,
+   * something is very broken.
+   */
+  INTERNAL = 13,
+  /**
+   * The service is currently unavailable.  This is a most likely a
+   * transient condition and may be corrected by retrying with
+   * a backoff.
+   *
+   * See litmus test above for deciding between FAILED_PRECONDITION,
+   * ABORTED, and UNAVAILABLE.
+   */
+  UNAVAILABLE = 14,
+  /**
+   * Unrecoverable data loss or corruption.
+   */
+  DATA_LOSS = 15,
+  /**
+   * The request does not have valid authentication credentials for the
+   * operation.
+   */
+  UNAUTHENTICATED = 16,
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/trace_options.ts b/sdk/core/core-tracing/lib/interfaces/trace_options.ts
new file mode 100644
index 000000000000..2bad26194d26
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/trace_options.ts
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * An enumeration that represents global trace options. These options are
+ * propagated to all child {@link Span}. These determine features such as
+ * whether a Span should be traced. It is implemented as a bitmask.
+ */
+export enum TraceOptions {
+  /** Bit to represent whether trace is unsampled in trace options. */
+  UNSAMPLED = 0x0,
+  /** Bit to represent whether trace is sampled in trace options. */
+  SAMPLED = 0x1,
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/trace_state.ts b/sdk/core/core-tracing/lib/interfaces/trace_state.ts
new file mode 100644
index 000000000000..78561119a426
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/trace_state.ts
@@ -0,0 +1,63 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Tracestate carries system-specific configuration data, represented as a list
+ * of key-value pairs. TraceState allows multiple tracing systems to
+ * participate in the same trace.
+ */
+export interface TraceState {
+  /**
+   * Adds or updates the TraceState that has the given `key` if it is
+   * present. The new State will always be added in the front of the
+   * list of states.
+   *
+   * @param key key of the TraceState entry.
+   * @param value value of the TraceState entry.
+   */
+  set(key: string, value: string): void;
+
+  /**
+   * Removes the TraceState Entry that has the given `key` if it is present.
+   *
+   * @param key the key for the TraceState Entry to be removed.
+   */
+  unset(key: string): void;
+
+  /**
+   * Returns the value to which the specified key is mapped, or `undefined` if
+   * this map contains no mapping for the key.
+   *
+   * @param key with which the specified value is to be associated.
+   * @returns the value to which the specified key is mapped, or `undefined` if
+   *     this map contains no mapping for the key.
+   */
+  get(key: string): string | undefined;
+
+  // TODO: Consider to add support for merging an object as well by also
+  // accepting a single internalTraceState argument similar to the constructor.
+
+  /**
+   * Serializes the TraceState to a `list` as defined below. The `list` is a
+   * series of `list-members` separated by commas `,`, and a list-member is a
+   * key/value pair separated by an equals sign `=`. Spaces and horizontal tabs
+   * surrounding `list-members` are ignored. There can be a maximum of 32
+   * `list-members` in a `list`.
+   *
+   * @returns the serialized string.
+   */
+  serialize(): string;
+}
diff --git a/sdk/core/core-tracing/lib/interfaces/tracer.ts b/sdk/core/core-tracing/lib/interfaces/tracer.ts
new file mode 100644
index 000000000000..e3c4c499ecdd
--- /dev/null
+++ b/sdk/core/core-tracing/lib/interfaces/tracer.ts
@@ -0,0 +1,98 @@
+/**
+ * Copyright 2019, OpenTelemetry Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Span } from './span';
+import { SpanOptions } from './SpanOptions';
+import { SupportedPlugins } from '../utils/supportedPlugins';
+
+/**
+ * Tracer provides an interface for creating {@link Span}s and propagating
+ * context in-process.
+ *
+ * Users may choose to use manual or automatic Context propagation. Because of
+ * that this class offers APIs to facilitate both usages.
+ */
+export interface Tracer {
+  /**
+   * Returns the type of the plugin being used by the tracer.
+   * @returns the type of the plugin being used by the tracer. 
+   */
+  pluginType: SupportedPlugins
+  /**
+   * Returns the current Span from the current context if available.
+   *
+   * If there is no Span associated with the current context, a default Span
+   * with invalid SpanContext is returned.
+   *
+   * @returns Span The currently active Span
+   */
+  getCurrentSpan(): Span;
+
+  /**
+   * Starts a new {@link Span}.
+   * @param name The name of the span
+   * @param [options] SpanOptions used for span creation
+   * @returns Span The newly created span
+   */
+  startSpan(name: string, options?: SpanOptions): Span;
+
+  /**
+   * Executes the function given by fn within the context provided by Span
+   *
+   * @param span The span that provides the context
+   * @param fn The function to be eexcuted inside the provided context
+   */
+  withSpan unknown>(
+    span: Span,
+    fn: T
+  ): ReturnType;
+
+  /**
+   * Send a pre-populated span object to the exporter.
+   * Sampling and recording decisions as well as other collection optimizations
+   * are the responsibility of a caller.
+   *
+   * @todo: Pending API discussion. Revisit if Span or SpanData should be passed
+   *        in here once this is sorted out.
+   * @param span Span Data to be reported to all exporters.
+   */
+  recordSpanData(span: Span): void;
+
+  /**
+   * Returns the {@link BinaryFormat} interface which can serialize/deserialize
+   * Spans.
+   *
+   * If no tracer implementation is provided, this defaults to the W3C Trace
+   * Context binary format ({@link BinaryFormat}). For more details see
+   * W3C Trace Context
+   * binary protocol.
+   *
+   * @todo: Change return type once BinaryFormat is available
+   */
+  getBinaryFormat(): unknown;
+
+  /**
+   * Returns the {@link HttpTextFormat} interface which can inject/extract
+   * Spans.
+   *
+   * If no tracer implementation is provided, this defaults to the W3C Trace
+   * Context HTTP text format ({@link HttpTraceContext}). For more details see
+   * W3C Trace Context.
+   *
+   * @todo: Change return type once HttpTextFormat is available
+   */
+  getHttpTextFormat(): unknown;
+}
diff --git a/sdk/core/core-tracing/lib/plugins/noop/noOpSpanPlugin.ts b/sdk/core/core-tracing/lib/plugins/noop/noOpSpanPlugin.ts
new file mode 100644
index 000000000000..11d96ac5edc4
--- /dev/null
+++ b/sdk/core/core-tracing/lib/plugins/noop/noOpSpanPlugin.ts
@@ -0,0 +1,52 @@
+import { Span } from "../../interfaces/span";
+import { SpanContext } from "../../interfaces/span_context";
+import { Attributes } from "../../interfaces/attributes";
+import { Status } from "../../interfaces/status";
+
+export class NoOpSpanPlugin implements Span {
+  private _span: any;
+
+  constructor(span: any) {
+    this._span = span;
+  }
+
+  context(): SpanContext {
+    throw new Error("Method not implemented.");
+  }
+
+  end(endTime?: number): void {
+    this._span.end(endTime);
+  }
+
+  start(startTime?: number): void {
+    this._span.start(startTime);
+  }
+
+  setAttribute(key: string, value: unknown): this {
+    throw new Error("Method not implemented.");
+  }
+
+  setAttributes(attributes: Attributes): this {
+    throw new Error("Method not implemented.");
+  }
+
+  addEvent(name: string, attributes?: Attributes): this {
+    throw new Error("Method not implemented.");
+  }
+
+  addLink(spanContext: SpanContext, attributes?: Attributes): this {
+    throw new Error("Method not implemented.");
+  }
+
+  setStatus(status: Status): this {
+    throw new Error("Method not implemented.");
+  }
+
+  updateName(name: string): this {
+    throw new Error("Method not implemented.");
+  }
+
+  isRecordingEvents(): boolean {
+    throw new Error("Method not implemented.");
+  }
+}
diff --git a/sdk/core/core-tracing/lib/plugins/noop/noOpTracePlugin.ts b/sdk/core/core-tracing/lib/plugins/noop/noOpTracePlugin.ts
new file mode 100644
index 000000000000..a6b7ae4c0b22
--- /dev/null
+++ b/sdk/core/core-tracing/lib/plugins/noop/noOpTracePlugin.ts
@@ -0,0 +1,38 @@
+import { Tracer } from "../../interfaces/tracer";
+import { Span } from "../../interfaces/span";
+import { SpanOptions } from "../../interfaces/SpanOptions";
+import { NoOpSpanPlugin } from "./noOpSpanPlugin";
+import { SpanNoOpImpl } from "../../implementations/noop/spanNoOpImpl";
+import { SupportedPlugins } from '../../utils/supportedPlugins';
+
+export class NoOpTracePlugin implements Tracer {
+  private _tracer: any;
+
+  public constructor(tracer: any) {
+    this._tracer = tracer;
+  }
+
+  public readonly pluginType = SupportedPlugins.NOOP;
+
+  startSpan(name: string, options?: SpanOptions): Span {
+    const span = new SpanNoOpImpl();
+    const noOpSpanPlugin = new NoOpSpanPlugin(span);
+    return noOpSpanPlugin;
+  }
+
+  getCurrentSpan(): Span {
+    throw new Error("Method not implemented.");
+  }
+  withSpan unknown>(span: Span, fn: T): ReturnType {
+    throw new Error("Method not implemented.");
+  }
+  recordSpanData(span: Span): void {
+    throw new Error("Method not implemented.");
+  }
+  getBinaryFormat(): unknown {
+    throw new Error("Method not implemented.");
+  }
+  getHttpTextFormat(): unknown {
+    throw new Error("Method not implemented.");
+  }
+}
diff --git a/sdk/core/core-tracing/lib/plugins/opencensus/openCensusSpanPlugin.ts b/sdk/core/core-tracing/lib/plugins/opencensus/openCensusSpanPlugin.ts
new file mode 100644
index 000000000000..1e3aa3f5669a
--- /dev/null
+++ b/sdk/core/core-tracing/lib/plugins/opencensus/openCensusSpanPlugin.ts
@@ -0,0 +1,61 @@
+import { Span } from "../../interfaces/span";
+import { SpanContext } from "../../interfaces/span_context";
+import { Attributes } from "../../interfaces/attributes";
+import { Status } from "../../interfaces/status";
+
+export class OpenCensusSpanPlugin implements Span {
+  private _span: any;
+
+  public getSpan() {
+    return this._span;
+  }
+
+  constructor(span: any) {
+    this._span = span;
+  }
+
+  end(endTime?: number): void {
+    this._span.end(endTime);
+  }
+
+  start(startTime?: number): void {
+    this._span.start(startTime);
+  }
+
+  context(): SpanContext {
+    throw new Error("Method not implemented.");
+  }
+
+  setAttribute(key: string, value: unknown): this {
+    this._span.addAttribute(key, value);
+    return this;
+  }
+
+  setAttributes(attributes: Attributes): this {
+    throw new Error("Method not implemented.");
+  }
+
+  addEvent(name: string, attributes?: Attributes): this {
+    throw new Error("Method not implemented.");
+  }
+
+  addLink(spanContext: SpanContext, attributes?: Attributes): this {
+    // Since there is no way to specify the link relationship
+    // It is set as Unspecified = 0
+    this._span.addLink(spanContext.traceId, spanContext.spanId, 0, attributes);
+    return this;
+  }
+
+  setStatus(status: Status): this {
+    this._span.setStatus(status.code, status.message);
+    return this;
+  }
+
+  updateName(name: string): this {
+    throw new Error("Method not implemented.");
+  }
+
+  isRecordingEvents(): boolean {
+    throw new Error("Method not implemented.");
+  }
+}
diff --git a/sdk/core/core-tracing/lib/plugins/opencensus/openCensusTracePlugin.ts b/sdk/core/core-tracing/lib/plugins/opencensus/openCensusTracePlugin.ts
new file mode 100644
index 000000000000..f4a3898ef35f
--- /dev/null
+++ b/sdk/core/core-tracing/lib/plugins/opencensus/openCensusTracePlugin.ts
@@ -0,0 +1,50 @@
+import { Tracer } from "../../interfaces/tracer";
+import { SpanOptions } from "../../interfaces/SpanOptions";
+import { Span } from "../../interfaces/span";
+import { OpenCensusSpanPlugin } from "../opencensus/openCensusSpanPlugin";
+import { SupportedPlugins } from '../../utils/supportedPlugins';
+
+export class OpenCensusTracePlugin implements Tracer {
+  private _tracer: any;
+
+  public constructor(tracer: any) {
+    this._tracer = tracer;
+  }
+  
+  public readonly pluginType = SupportedPlugins.OPENCENSUS;
+  
+  startSpan(name: string, options?: SpanOptions): Span {
+    const parent = options
+      ? options.parent
+        ? options.parent instanceof OpenCensusSpanPlugin
+          ? options.parent.getSpan()
+          : options.parent
+        : undefined
+      : undefined;
+
+    const span = this._tracer.startChildSpan({
+      name: name,
+      childOf: parent
+    });
+
+    const openCensusSpanPlugin = new OpenCensusSpanPlugin(span);
+    return openCensusSpanPlugin;
+  }
+
+  getCurrentSpan(): Span {
+    throw new Error("Method not implemented.");
+  }
+
+  withSpan unknown>(span: Span, fn: T): ReturnType {
+    throw new Error("Method not implemented.");
+  }
+  recordSpanData(span: Span): void {
+    throw new Error("Method not implemented.");
+  }
+  getBinaryFormat(): unknown {
+    throw new Error("Method not implemented.");
+  }
+  getHttpTextFormat(): unknown {
+    throw new Error("Method not implemented.");
+  }
+}
diff --git a/sdk/core/core-tracing/lib/tracerProxy.ts b/sdk/core/core-tracing/lib/tracerProxy.ts
new file mode 100644
index 000000000000..627acfe682de
--- /dev/null
+++ b/sdk/core/core-tracing/lib/tracerProxy.ts
@@ -0,0 +1,26 @@
+import { SupportedPlugins } from "./utils/supportedPlugins";
+import { OpenCensusTracePlugin } from "./plugins/opencensus/openCensusTracePlugin";
+import { NoOpTracePlugin } from "./plugins/noop/noOpTracePlugin";
+import { TracerNoOpImpl } from "./implementations/noop/tracerNoOpImpl";
+import { Tracer } from "./interfaces/tracer";
+
+export class TracerProxy {
+  private static _tracerPlugin: Tracer;
+
+  private constructor() {}
+
+  public static setTracer(tracer: any, tracerPluginType: SupportedPlugins) {
+    if (tracerPluginType === SupportedPlugins.OPENCENSUS) {
+      TracerProxy._tracerPlugin = new OpenCensusTracePlugin(tracer);
+    } else {
+      TracerProxy._tracerPlugin = new NoOpTracePlugin(tracer);
+    }
+  }
+
+  public static getTracer() {
+    if (!TracerProxy._tracerPlugin) {
+      TracerProxy._tracerPlugin = new NoOpTracePlugin(new TracerNoOpImpl());
+    }
+    return TracerProxy._tracerPlugin;
+  }
+}
diff --git a/sdk/core/core-tracing/lib/utils/supportedPlugins.ts b/sdk/core/core-tracing/lib/utils/supportedPlugins.ts
new file mode 100644
index 000000000000..5eaeba3b2c20
--- /dev/null
+++ b/sdk/core/core-tracing/lib/utils/supportedPlugins.ts
@@ -0,0 +1,4 @@
+export enum SupportedPlugins {
+  OPENCENSUS,
+  NOOP
+}
diff --git a/sdk/core/core-tracing/package.json b/sdk/core/core-tracing/package.json
new file mode 100644
index 000000000000..55c081a6c430
--- /dev/null
+++ b/sdk/core/core-tracing/package.json
@@ -0,0 +1,94 @@
+{
+  "name": "@azure/core-tracing",
+  "version": "1.0.0-preview.2",
+  "description": "Provides low-level interfaces and helper methods for tracing in Azure SDK",
+  "sdk-type": "client",
+  "main": "dist/index.js",
+  "module": "dist-esm/index.js",
+  "browser": {
+    "./dist/index.js": "./browser/index.js"
+  },
+  "types": "types/core-tracing.d.ts",
+  "scripts": {
+    "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit",
+    "build:browser": "tsc -p . && cross-env ONLY_BROWSER=true rollup -c 2>&1",
+    "build:node": "tsc -p . && cross-env ONLY_NODE=true rollup -c 2>&1",
+    "build:samples": "cd samples && tsc -p .",
+    "build:test": "tsc -p . && rollup -c rollup.test.config.js 2>&1",
+    "build": "tsc -p . && rollup -c 2>&1 && api-extractor run --local",
+    "check-format": "prettier --list-different --config ../../.prettierrc.json \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"",
+    "clean": "rimraf dist dist-esm test-dist types *.tgz *.log",
+    "extract-api": "tsc -p . && api-extractor run --local",
+    "format": "prettier --write --config ../../.prettierrc.json \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"",
+    "integration-test:browser": "echo skipped",
+    "integration-test:node": "echo skipped",
+    "integration-test": "npm run integration-test:node && npm run integration-test:browser",
+    "lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" -c ../../.eslintrc.json --fix --fix-type [problem,suggestion]",
+    "lint": "eslint -c ../../.eslintrc.json lib --ext .ts -f html -o template-lintReport.html || exit 0",
+    "pack": "npm pack 2>&1",
+    "prebuild": "npm run clean",
+    "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser",
+    "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node",
+    "test": "npm run build:test && npm run unit-test && npm run integration-test",
+    "unit-test:browser": "echo skipped",
+    "unit-test:node": "mocha test-dist/**/*.js --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=-",
+    "unit-test": "npm run unit-test:node && npm run unit-test:browser"
+  },
+  "files": [
+    "browser/*.js*",
+    "dist/",
+    "dist-esm/",
+    "src/",
+    "types/core-tracing.d.ts",
+    "ThirdPartyNotices.txt"
+  ],
+  "repository": "github:Azure/azure-sdk-for-js",
+  "keywords": [
+    "azure",
+    "tracing"
+  ],
+  "author": "Microsoft Corporation",
+  "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/azure/azure-sdk-for-js/issues"
+  },
+  "engine": {
+    "node": ">=6.0.0"
+  },
+  "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/core/core-tracing",
+  "sideEffects": false,
+  "dependencies": {
+    "tslib": "^1.9.3"
+  },
+  "devDependencies": {
+    "@microsoft/api-extractor": "^7.1.5",
+    "@types/mocha": "^5.2.5",
+    "@types/node": "^8.0.0",
+    "@typescript-eslint/eslint-plugin": "^2.0.0",
+    "@typescript-eslint/parser": "^2.0.0",
+    "assert": "^1.4.1",
+    "cross-env": "^5.2.0",
+    "eslint": "^6.1.0",
+    "eslint-config-prettier": "^6.0.0",
+    "eslint-plugin-no-null": "^1.0.2",
+    "eslint-plugin-no-only-tests": "^2.3.0",
+    "eslint-plugin-promise": "^4.1.1",
+    "inherits": "^2.0.3",
+    "mocha": "^5.2.0",
+    "mocha-junit-reporter": "^1.18.0",
+    "mocha-multi": "^1.0.1",
+    "prettier": "^1.16.4",
+    "rimraf": "^2.6.2",
+    "rollup": "^1.16.3",
+    "rollup-plugin-commonjs": "^10.0.0",
+    "rollup-plugin-json": "^4.0.0",
+    "rollup-plugin-multi-entry": "^2.1.0",
+    "rollup-plugin-node-resolve": "^5.0.2",
+    "rollup-plugin-replace": "^2.1.0",
+    "rollup-plugin-sourcemaps": "^0.4.2",
+    "rollup-plugin-terser": "^5.1.1",
+    "rollup-plugin-visualizer": "^2.0.0",
+    "typescript": "^3.2.2",
+    "util": "^0.12.1"
+  }
+}
diff --git a/sdk/core/core-tracing/review/core-tracing.api.md b/sdk/core/core-tracing/review/core-tracing.api.md
new file mode 100644
index 000000000000..2ac46879af1f
--- /dev/null
+++ b/sdk/core/core-tracing/review/core-tracing.api.md
@@ -0,0 +1,281 @@
+## API Report File for "@azure/core-tracing"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+
+// @public
+export interface Attributes {
+    // (undocumented)
+    [attributeKey: string]: unknown;
+}
+
+// @public
+export enum CanonicalCode {
+    ABORTED = 10,
+    ALREADY_EXISTS = 6,
+    CANCELLED = 1,
+    DATA_LOSS = 15,
+    DEADLINE_EXCEEDED = 4,
+    FAILED_PRECONDITION = 9,
+    INTERNAL = 13,
+    INVALID_ARGUMENT = 3,
+    NOT_FOUND = 5,
+    OK = 0,
+    OUT_OF_RANGE = 11,
+    PERMISSION_DENIED = 7,
+    RESOURCE_EXHAUSTED = 8,
+    UNAUTHENTICATED = 16,
+    UNAVAILABLE = 14,
+    UNIMPLEMENTED = 12,
+    UNKNOWN = 2
+}
+
+// @public
+export interface Event {
+    attributes?: Attributes;
+    name: string;
+}
+
+// @public
+export interface Link {
+    attributes?: Attributes;
+    spanContext: SpanContext;
+}
+
+// @public (undocumented)
+export class NoOpSpanPlugin implements Span {
+    constructor(span: any);
+    // (undocumented)
+    addEvent(name: string, attributes?: Attributes): this;
+    // (undocumented)
+    addLink(spanContext: SpanContext, attributes?: Attributes): this;
+    // (undocumented)
+    context(): SpanContext;
+    // (undocumented)
+    end(endTime?: number): void;
+    // (undocumented)
+    isRecordingEvents(): boolean;
+    // (undocumented)
+    setAttribute(key: string, value: unknown): this;
+    // (undocumented)
+    setAttributes(attributes: Attributes): this;
+    // (undocumented)
+    setStatus(status: Status): this;
+    // (undocumented)
+    start(startTime?: number): void;
+    // (undocumented)
+    updateName(name: string): this;
+}
+
+// @public (undocumented)
+export class NoOpTracePlugin implements Tracer {
+    constructor(tracer: any);
+    // (undocumented)
+    getBinaryFormat(): unknown;
+    // (undocumented)
+    getCurrentSpan(): Span;
+    // (undocumented)
+    getHttpTextFormat(): unknown;
+    // (undocumented)
+    readonly pluginType = SupportedPlugins.NOOP;
+    // (undocumented)
+    recordSpanData(span: Span): void;
+    // (undocumented)
+    startSpan(name: string, options?: SpanOptions): Span;
+    // (undocumented)
+    withSpan unknown>(span: Span, fn: T): ReturnType;
+}
+
+// @public (undocumented)
+export class OpenCensusSpanPlugin implements Span {
+    constructor(span: any);
+    // (undocumented)
+    addEvent(name: string, attributes?: Attributes): this;
+    // (undocumented)
+    addLink(spanContext: SpanContext, attributes?: Attributes): this;
+    // (undocumented)
+    context(): SpanContext;
+    // (undocumented)
+    end(endTime?: number): void;
+    // (undocumented)
+    getSpan(): any;
+    // (undocumented)
+    isRecordingEvents(): boolean;
+    // (undocumented)
+    setAttribute(key: string, value: unknown): this;
+    // (undocumented)
+    setAttributes(attributes: Attributes): this;
+    // (undocumented)
+    setStatus(status: Status): this;
+    // (undocumented)
+    start(startTime?: number): void;
+    // (undocumented)
+    updateName(name: string): this;
+}
+
+// @public (undocumented)
+export class OpenCensusTracePlugin implements Tracer {
+    constructor(tracer: any);
+    // (undocumented)
+    getBinaryFormat(): unknown;
+    // (undocumented)
+    getCurrentSpan(): Span;
+    // (undocumented)
+    getHttpTextFormat(): unknown;
+    // (undocumented)
+    readonly pluginType = SupportedPlugins.OPENCENSUS;
+    // (undocumented)
+    recordSpanData(span: Span): void;
+    // (undocumented)
+    startSpan(name: string, options?: SpanOptions): Span;
+    // (undocumented)
+    withSpan unknown>(span: Span, fn: T): ReturnType;
+}
+
+// @public
+export interface Sampler {
+    shouldSample(parentContext?: SpanContext): boolean;
+    toString(): string;
+}
+
+// @public
+export interface Span {
+    addEvent(name: string, attributes?: Attributes): this;
+    addLink(spanContext: SpanContext, attributes?: Attributes): this;
+    context(): SpanContext;
+    end(endTime?: number): void;
+    isRecordingEvents(): boolean;
+    setAttribute(key: string, value: unknown): this;
+    setAttributes(attributes: Attributes): this;
+    setStatus(status: Status): this;
+    // (undocumented)
+    start(startTime?: number): void;
+    updateName(name: string): this;
+}
+
+// @public
+export interface SpanContext {
+    spanId: string;
+    traceId: string;
+    traceOptions?: TraceOptions;
+    traceState?: TraceState;
+}
+
+// @public
+export enum SpanKind {
+    CLIENT = 2,
+    CONSUMER = 4,
+    INTERNAL = 0,
+    PRODUCER = 3,
+    SERVER = 1
+}
+
+// @public (undocumented)
+export class SpanNoOpImpl implements Span {
+    // (undocumented)
+    addEvent(name: string, attributes?: Attributes | undefined): this;
+    // (undocumented)
+    addLink(spanContext: SpanContext, attributes?: Attributes | undefined): this;
+    // (undocumented)
+    context(): SpanContext;
+    // (undocumented)
+    end(endTime?: number): void;
+    // (undocumented)
+    isRecordingEvents(): boolean;
+    // (undocumented)
+    setAttribute(key: string, value: unknown): this;
+    // (undocumented)
+    setAttributes(attributes: Attributes): this;
+    // (undocumented)
+    setStatus(status: Status): this;
+    // (undocumented)
+    start(startTime?: number): void;
+    // (undocumented)
+    updateName(name: string): this;
+}
+
+// @public
+export interface SpanOptions {
+    attributes?: Attributes;
+    isRecordingEvents?: boolean;
+    kind?: SpanKind;
+    parent?: Span | SpanContext;
+    startTime?: number;
+}
+
+// @public
+export interface Status {
+    code: CanonicalCode;
+    message?: string;
+}
+
+// @public (undocumented)
+export enum SupportedPlugins {
+    // (undocumented)
+    NOOP = 1,
+    // (undocumented)
+    OPENCENSUS = 0
+}
+
+// @public
+export interface TimedEvent extends Event {
+    // (undocumented)
+    time: number;
+}
+
+// @public
+export enum TraceOptions {
+    SAMPLED = 1,
+    UNSAMPLED = 0
+}
+
+// @public
+export interface Tracer {
+    getBinaryFormat(): unknown;
+    getCurrentSpan(): Span;
+    getHttpTextFormat(): unknown;
+    pluginType: SupportedPlugins;
+    recordSpanData(span: Span): void;
+    startSpan(name: string, options?: SpanOptions): Span;
+    withSpan unknown>(span: Span, fn: T): ReturnType;
+}
+
+// @public (undocumented)
+export class TracerNoOpImpl implements Tracer {
+    // (undocumented)
+    getBinaryFormat(): unknown;
+    // (undocumented)
+    getCurrentSpan(): Span;
+    // (undocumented)
+    getHttpTextFormat(): unknown;
+    // (undocumented)
+    readonly pluginType = SupportedPlugins.NOOP;
+    // (undocumented)
+    recordSpanData(span: Span): void;
+    // (undocumented)
+    startSpan(name: string, options?: SpanOptions | undefined): Span;
+    // (undocumented)
+    withSpan unknown>(span: Span, fn: T): ReturnType;
+}
+
+// @public (undocumented)
+export class TracerProxy {
+    // (undocumented)
+    static getTracer(): Tracer;
+    // (undocumented)
+    static setTracer(tracer: any, tracerPluginType: SupportedPlugins): void;
+    }
+
+// @public
+export interface TraceState {
+    get(key: string): string | undefined;
+    serialize(): string;
+    set(key: string, value: string): void;
+    unset(key: string): void;
+}
+
+
+// (No @packageDocumentation comment for this package)
+
+```
diff --git a/sdk/core/core-tracing/rollup.base.config.js b/sdk/core/core-tracing/rollup.base.config.js
new file mode 100644
index 000000000000..e5af2fcc90c6
--- /dev/null
+++ b/sdk/core/core-tracing/rollup.base.config.js
@@ -0,0 +1,103 @@
+import nodeResolve from "rollup-plugin-node-resolve";
+import multiEntry from "rollup-plugin-multi-entry";
+import cjs from "rollup-plugin-commonjs";
+import replace from "rollup-plugin-replace";
+import { terser } from "rollup-plugin-terser";
+import sourcemaps from "rollup-plugin-sourcemaps";
+import viz from "rollup-plugin-visualizer";
+
+const pkg = require("./package.json");
+const depNames = Object.keys(pkg.dependencies);
+const input = "dist-esm/index.js";
+const production = process.env.NODE_ENV === "production";
+
+export function nodeConfig(test = false) {
+  const externalNodeBuiltins = ["events"];
+  const baseConfig = {
+    input: input,
+    external: depNames.concat(externalNodeBuiltins),
+    output: { file: "dist/index.js", format: "cjs", sourcemap: true },
+    preserveSymlinks: false,
+    plugins: [
+      sourcemaps(),
+      replace({
+        delimiters: ["", ""],
+        values: {
+          // replace dynamic checks with if (true) since this is for node only.
+          // Allows rollup's dead code elimination to be more aggressive.
+          "if (isNode)": "if (true)"
+        }
+      }),
+      nodeResolve({ preferBuiltins: true }),
+      cjs()
+    ]
+  };
+
+  if (test) {
+    // entry point is every test file
+    baseConfig.input = "dist-esm/test/**/*.spec.js";
+    baseConfig.plugins.unshift(multiEntry({ exports: false }));
+
+    // different output file
+    baseConfig.output.file = "test-dist/index.js";
+
+    // mark assert as external
+    baseConfig.external.push("assert");
+
+    // Disable tree-shaking of test code.  In rollup-plugin-node-resolve@5.0.0, rollup started respecting
+    // the "sideEffects" field in package.json.  Since our package.json sets "sideEffects=false", this also
+    // applies to test code, which causes all tests to be removed by tree-shaking.
+    baseConfig.treeshake = false;
+  } else if (production) {
+    baseConfig.plugins.push(terser());
+  }
+
+  return baseConfig;
+}
+
+export function browserConfig(test = false, production = false) {
+  const baseConfig = {
+    input: input,
+    output: {
+      file: "browser/core-tracing.js",
+      format: "umd",
+      name: "Azure.Core.Tracing",
+      sourcemap: true
+    },
+    preserveSymlinks: false,
+    plugins: [
+      sourcemaps(),
+      replace({
+        delimiters: ["", ""],
+        values: {
+          // replace dynamic checks with if (false) since this is for
+          // browser only. Rollup's dead code elimination will remove
+          // any code guarded by if (isNode) { ... }
+          "if (isNode)": "if (false)"
+        }
+      }),
+      nodeResolve({
+        mainFields: ["module", "browser"],
+        preferBuiltins: false
+      }),
+      cjs(),
+      viz({ filename: "browser/browser-stats.html", sourcemap: false })
+    ]
+  };
+
+  if (test) {
+    baseConfig.input = "dist-esm/test/**/*.spec.js";
+    baseConfig.plugins.unshift(multiEntry({ exports: false }));
+    baseConfig.output.file = "test-browser/index.js";
+
+    // Disable tree-shaking of test code.  In rollup-plugin-node-resolve@5.0.0, rollup started respecting
+    // the "sideEffects" field in package.json.  Since our package.json sets "sideEffects=false", this also
+    // applies to test code, which causes all tests to be removed by tree-shaking.
+    baseConfig.treeshake = false;
+  } else if (production) {
+    baseConfig.output.file = "browser/core-tracing.min.js";
+    baseConfig.plugins.push(terser());
+  }
+
+  return baseConfig;
+}
diff --git a/sdk/core/core-tracing/rollup.config.js b/sdk/core/core-tracing/rollup.config.js
new file mode 100644
index 000000000000..49a26bd6fdd6
--- /dev/null
+++ b/sdk/core/core-tracing/rollup.config.js
@@ -0,0 +1,14 @@
+import * as base from "./rollup.base.config";
+
+const inputs = [];
+
+if (!process.env.ONLY_BROWSER) {
+  inputs.push(base.nodeConfig());
+}
+
+if (!process.env.ONLY_NODE) {
+  inputs.push(base.browserConfig());
+  inputs.push(base.browserConfig(false, true));
+}
+
+export default inputs;
diff --git a/sdk/core/core-tracing/rollup.test.config.js b/sdk/core/core-tracing/rollup.test.config.js
new file mode 100644
index 000000000000..069a53566909
--- /dev/null
+++ b/sdk/core/core-tracing/rollup.test.config.js
@@ -0,0 +1,3 @@
+import * as base from "./rollup.base.config";
+
+export default [base.nodeConfig(true), base.browserConfig(true)];
\ No newline at end of file
diff --git a/sdk/core/core-tracing/tsconfig.json b/sdk/core/core-tracing/tsconfig.json
new file mode 100644
index 000000000000..2e1218772c63
--- /dev/null
+++ b/sdk/core/core-tracing/tsconfig.json
@@ -0,0 +1,61 @@
+{
+  "compilerOptions": {
+    /* Basic Options */
+    "target": "es5"                           /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */,
+    "module": "es6"                           /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
+    // "lib": [],                             /* Specify library files to be included in the compilation. */
+    // "allowJs": true,                       /* Allow javascript files to be compiled. */
+    // "checkJs": true,                       /* Report errors in .js files. */
+    // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
+    "declaration": true                       /* Generates corresponding '.d.ts' file. */,
+    "declarationMap": true                    /* Generates a sourcemap for each corresponding '.d.ts' file. */,
+    "declarationDir": "./types"               /* Output directory for generated declaration files.*/,
+    "sourceMap": true                         /* Generates corresponding '.map' file. */,
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
+    "outDir": "./dist-esm"                    /* Redirect output structure to the directory. */,
+    // "rootDir": "."                         /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
+    // "composite": true,                     /* Enable project compilation */
+    // "removeComments": true,                /* Do not emit comments to output. */
+    // "noEmit": true,                        /* Do not emit outputs. */
+    "importHelpers": true                     /* Import emit helpers from 'tslib'. */,
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
+    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
+
+    /* Strict Type-Checking Options */
+    "strict": true                            /* Enable all strict type-checking options. */,
+    // "noImplicitAny": true,                 /* Raise error on expressions and declarations with an implied 'any' type. */
+    // "strictNullChecks": true,              /* Enable strict null checks. */
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
+
+    /* Additional Checks */
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
+
+    /* Module Resolution Options */
+    "moduleResolution": "node"                /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
+    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    // "rootDirs": []                         /* List of root folders whose combined content represents the structure of the project at runtime. */,
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
+    // "types": [],                           /* Type declaration files to be included in compilation. */
+    "allowSyntheticDefaultImports": true      /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
+    "esModuleInterop": true                   /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
+
+    /* Source Map Options */
+    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
+    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
+
+    /* Experimental Options */
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
+    "forceConsistentCasingInFileNames": true
+  }
+}
diff --git a/sdk/cosmosdb/ci.yml b/sdk/cosmosdb/ci.yml
deleted file mode 100644
index bdcd91f382f2..000000000000
--- a/sdk/cosmosdb/ci.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# DO NOT EDIT THIS FILE
-# This file is generated automatically and any changes will be lost.
-
-trigger:
-  branches:
-    include:
-      - master
-      - feature/*
-  paths:
-    include:
-      - sdk/cosmosdb/
-
-pr:
-  branches:
-    include:
-      - master
-      - feature/*
-  paths:
-    include:
-      - sdk/cosmosdb/
-
-jobs:
-  - template: ../../eng/pipelines/templates/jobs/archetype-sdk-client.yml
-    parameters:
-      ServiceDirectory: cosmosdb
-
-  - template: ../../eng/pipelines/templates/jobs/archetype-sdk-integration.yml
-    parameters:
-      PackagePath: "sdk/cosmosdb/cosmos/"
-      Toolchain: npm
-      Matrix:
-        Windows_Node6:
-          OSVmImage: "vs2017-win2016"
-          NodeVersion: "6.x"
-          TestType: "node"
-      PreIntegrationSteps: cosmos-integration-public
-      EnvVars:
-        ACCOUNT_HOST: $(CosmosDbEmulator.Endpoint)
-        MOCHA_TIMEOUT: 100000
-        NODE_TLS_REJECT_UNAUTHORIZED: 0
diff --git a/sdk/cosmosdb/cosmos/.npmignore b/sdk/cosmosdb/cosmos/.npmignore
deleted file mode 100644
index 27ff3204bfd0..000000000000
--- a/sdk/cosmosdb/cosmos/.npmignore
+++ /dev/null
@@ -1,8 +0,0 @@
-.git
-.vscode
-samples
-.gitattributes
-.gitignore
-*.code-workspace
-*.tgz
-ts-test/
\ No newline at end of file
diff --git a/sdk/cosmosdb/cosmos/.vscode/launch.json b/sdk/cosmosdb/cosmos/.vscode/launch.json
deleted file mode 100644
index 3050394177f6..000000000000
--- a/sdk/cosmosdb/cosmos/.vscode/launch.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
-  // Use IntelliSense to learn about possible attributes.
-  // Hover to view descriptions of existing attributes.
-  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
-  "version": "0.2.0",
-  "configurations": [
-    {
-      "type": "node",
-      "request": "launch",
-      "name": "Mocha Tests",
-      "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
-      "args": ["-u", "tdd", "--colors", "${workspaceFolder}/lib/test/**/*.js", "-g", ".*Location Cache.*"],
-      "internalConsoleOptions": "openOnSessionStart",
-      "sourceMaps": true,
-      "outFiles": ["${workspaceFolder}/lib/**"],
-      "env": {
-        "MOCHA_TIMEOUT": "999999"
-      }
-    },
-    {
-      "type": "node",
-      "request": "attach",
-      "name": "Attach by Process ID",
-      "processId": "${command:PickProcess}"
-    },
-    {
-      "type": "node",
-      "request": "launch",
-      "name": "Launch Program",
-      "program": "${workspaceFolder}/samples/TodoApp/bin/www"
-    },
-    {
-      "type": "node",
-      "request": "launch",
-      "name": "Debug file",
-      "program": "${file}",
-      "cwd": "${fileDirname}",
-      "env": {
-        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
-      }
-    },
-    {
-      "type": "node",
-      "request": "launch",
-      "name": "MutliRegionWrite - Debug",
-      "args": ["${relativeFile}"],
-      "runtimeArgs": ["-r", "ts-node/register"],
-      "sourceMaps": true,
-      "cwd": "${workspaceRoot}",
-      "protocol": "inspector"
-    }
-  ]
-}
diff --git a/sdk/cosmosdb/cosmos/.vscode/tasks.json b/sdk/cosmosdb/cosmos/.vscode/tasks.json
deleted file mode 100644
index cc78a3611cd1..000000000000
--- a/sdk/cosmosdb/cosmos/.vscode/tasks.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  // See https://go.microsoft.com/fwlink/?LinkId=733558
-  // for the documentation about the tasks.json format
-  "version": "2.0.0",
-  "tasks": [
-    {
-      "type": "npm",
-      "script": "build",
-      "problemMatcher": [
-        "$tsc",
-        "$tslint5"
-      ]
-    },
-    {
-      "type": "npm",
-      "script": "compile",
-      "problemMatcher": [
-        "$tsc"
-      ]
-    }
-  ]
-}
diff --git a/sdk/cosmosdb/cosmos/Contributing.md b/sdk/cosmosdb/cosmos/Contributing.md
deleted file mode 100644
index 4e2d3191db38..000000000000
--- a/sdk/cosmosdb/cosmos/Contributing.md
+++ /dev/null
@@ -1 +0,0 @@
-Please read the contributing guidelines from the [Azure Team](https://azure.microsoft.com/en-us/blog/simple-contribution-to-azure-documentation-and-sdk/)
diff --git a/sdk/cosmosdb/cosmos/PoliCheckExclusions.txt b/sdk/cosmosdb/cosmos/PoliCheckExclusions.txt
deleted file mode 100644
index 483a9c42c3c2..000000000000
--- a/sdk/cosmosdb/cosmos/PoliCheckExclusions.txt
+++ /dev/null
@@ -1 +0,0 @@
-package-lock.json
\ No newline at end of file
diff --git a/sdk/cosmosdb/cosmos/README.md b/sdk/cosmosdb/cosmos/README.md
deleted file mode 100644
index 116172d1160d..000000000000
--- a/sdk/cosmosdb/cosmos/README.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Microsoft Azure Cosmos JavaScript SDK
-
-This project provides JavaScript & Node.js SDK library for [SQL API](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-sql-query) of [Azure Cosmos
-Database Service](https://azure.microsoft.com/en-us/services/cosmos-db/). This project also includes samples, tools, and utilities.
-
-[![latest npm badge](https://img.shields.io/npm/v/%40azure%2Fcosmos/latest.svg)](https://www.npmjs.com/package/@azure/cosmos) [![Build Status](https://travis-ci.org/Azure/azure-cosmos-js.svg?branch=master)](https://travis-ci.org/Azure/azure-cosmos-js) [![Build Status](https://cosmos-db-sdk-public.visualstudio.com/cosmos-db-sdk-public/_apis/build/status/azure-cosmos-js-Emulator?branchName=master)](https://cosmos-db-sdk-public.visualstudio.com/cosmos-db-sdk-public/_build/latest?definitionId=1&branchName=master)
-
-```js
-// JavaScript
-const cosmos = require("@azure/cosmos");
-const CosmosClient = cosmos.CosmosClient;
-
-const endpoint = "[hostendpoint]"; // Add your endpoint
-const masterKey = "[database account masterkey]"; // Add the masterkey of the endpoint
-const client = new CosmosClient({ endpoint, auth: { masterKey } });
-
-const databaseDefinition = { id: "sample database" };
-const collectionDefinition = { id: "sample collection" };
-const documentDefinition = { id: "hello world doc", content: "Hello World!" };
-
-async function helloCosmos() {
-  const { database: db } = await client.databases.create(databaseDefinition);
-  console.log("created db");
-
-  const { container } = await db.containers.create(collectionDefinition);
-  console.log("created collection");
-
-  const { body } = await container.items.create(documentDefinition);
-  console.log("Created item with content: ", body.content);
-
-  await db.delete();
-  console.log("Deleted database");
-}
-
-helloCosmos().catch(err => {
-  console.error(err);
-});
-```
-
-## Install via NPM
-You can install the npm package using the following command:
-
-```bash
-npm install @azure/cosmos
-```
-
-## Useful links
-
-- [Welcome to Azure Cosmos DB](https://docs.microsoft.com/en-us/azure/cosmos-db/community)
-- [Quick start](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-nodejs-get-started)
-- [Tutorial](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-nodejs-application)
-- [Samples](https://github.com/Azure/azure-cosmos-js/tree/master/samples)
-- [Introduction to Resource Model of Azure Cosmos DB Service](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-resources)
-- [Introduction to SQL API of Azure Cosmos DB Service](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-sql-query)
-- [Partitioning](https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-partition-data)
-- [API Documentation](https://docs.microsoft.com/en-us/javascript/api/%40azure/cosmos/?view=azure-node-latest)
-
-## Need Help?
-
-Tweet us with #CosmosDB and we'll respond on Twitter. Be sure to check out the Microsoft Azure [Developer Forums on MSDN](https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=AzureDocument) or the [Developer Forums on Stack Overflow](https://stackoverflow.com/questions/tagged/azure-cosmosdb) if you have trouble with the provided code.
-
-## Contribute Code or Provide Feedback
-
-For our rules and guidelines on contributing, please see [Microsoft's contributor guide].(https://docs.microsoft.com/en-us/contribute/).
-
-For information on how build and test this repo, please see [./dev.md](./dev.md).
-
-If you encounter any bugs with the library please file an issue in the [Issues](https://github.com/Azure/azure-cosmos-js/issues) section of the project.
diff --git a/sdk/cosmosdb/cosmos/SDK + Samples Workspace.code-workspace b/sdk/cosmosdb/cosmos/SDK + Samples Workspace.code-workspace
deleted file mode 100644
index f4a3a59a67e2..000000000000
--- a/sdk/cosmosdb/cosmos/SDK + Samples Workspace.code-workspace	
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-	"folders": [
-		{
-			"path": "."
-		},
-		{
-			"path": "samples\\TodoApp"
-		}
-	],
-	"settings": {
-		"mocha.files.glob":"test/**/*.spec.ts",
-		"mocha.sideBarOptions": {
-			"lens": true,
-			"decoration": true,
-			"autoUpdateTime": 0,
-			"showDebugTestStatus": true
-		},
-		"mocha.runTestsOnSave": "false",
-		"mocha.logVerbose": true,
-		"mocha.options": {
-			"compilers":{
-				"ts": "ts-node/register"
-			}
-		},
-		"mocha.requires": [
-			"ts-node/register"
-		]
-	}
-}
\ No newline at end of file
diff --git a/sdk/cosmosdb/cosmos/browser-test.js b/sdk/cosmosdb/cosmos/browser-test.js
deleted file mode 100644
index 84cae900af46..000000000000
--- a/sdk/cosmosdb/cosmos/browser-test.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const tests = require.context("./lib/", true, /\.spec\.js$/);
-
-tests.keys().forEach(tests);
\ No newline at end of file
diff --git a/sdk/cosmosdb/cosmos/changelog.md b/sdk/cosmosdb/cosmos/changelog.md
deleted file mode 100644
index 64ccd102f59a..000000000000
--- a/sdk/cosmosdb/cosmos/changelog.md
+++ /dev/null
@@ -1,198 +0,0 @@
-## Changes in 2.0.1
-
-- Fix type issue (See #141)
-
-## Changes in 2.0.0
-
-- Multi-region Write support
-- Shared resource response properties added to responses
-- Changed query to allow for customer types for all Resource types
-- Modified items.query to allow for cross partition query
-- Misc fixes/doc updates
-
-## Changes in 2.0.0-3
-
-- New object model
-- Updated documentation and samples
-- Improved types
-- Added `createdIfNotExists` for database and container
-- Added prettier
-- Added public CI (Travis and VSTS)
-
-## Changes in 2.0.0-0
-
-- Added Promise support
-- Added token handler option for auth
-- typings now emitted from source (moved source to TypeScript)
-- Added CosmosClient (DocumentClient now considered deprecated)
-
-## Changes in 1.14.4 :
-
-- npm documentation fixed.
-
-## Changes in 1.14.3 :
-
-- Added support for default retries on connection issues.
-- Added support to read collection change feed.
-- Fixed session consistency bug that intermittently caused "read session not available".
-- Added support for query metrics.
-- Modified http Agent's maximum number of connections.
-
-## Changes in 1.14.2 :
-
-- Updated documentation to use Azure Cosmos DB.
-- Added Support for proxyUrl setting in ConnectionPolicy.
-
-## Changes in 1.14.1 :
-
-- Minor fix for case sensitive file systems.
-
-## Changes in 1.14.0 :
-
-- Adds support for Session Consistency.
-- This SDK version requires the latest version of Azure Cosmos DB Emulator available for download from https://aka.ms/cosmosdb-emulator.
-
-## Changes in 1.13.0 :
-
-- Splitproofed cross partition queries.
-- Adds supports for resource link with leading and trailing slashes (and corresponding tests).
-
-## Changes in 1.12.2 :
-
-- npm documentation fixed.
-
-## Changes in 1.12.1 :
-
-- Fixed bug in executeStoredProcedure where documents involved had special unicode characters (LS, PS).
-- Fixed bug in handling documents with unicode characters in partition key.
-- Fixed support for creating collection with name media (github #114).
-- Fixed support for permission authorization token (github #178).
-
-## Changes in 1.12.0 :
-
-- Added support for Request Unit per Minute (RU/m) feature.
-- Added support for a new consistency level called ConsistentPrefix.
-- Added support for UriFactory.
-- Fixed the unicode support bug (github #171)
-
-## Changes in 1.11.0 :
-
-- Added the support for aggregation queries (COUNT, MIN, MAX, SUM, and AVG).
-- Added the option for controlling degree of parallelism for cross partition queries.
-- Added the option for disabling SSL verification when running against Emulator.
-- Lowered minimum throughput on partitioned collections from 10,100 RU/s to 2500 RU/s.
-- Fixed the continuation token bug for single partition collection (github #107).
-- Fixed the executeStoredProcedure bug in handling 0 as single param (github #155).
-
-## Changes in 1.10.2 :
-
-- Fixed user-agent header to include the SDK version.
-- Minor code cleanup.
-
-## Changes in 1.10.1 :
-
-- Disabling SSL verification when using the SDK to target the emulator(hostname=localhost).
-- Added support for enabling script logging during stored procedure execution.
-
-## Changes in 1.10.0 :
-
-- Added support for cross partition parallel queries.
-- Added support for TOP/ORDER BY queries for partitioned collections.
-
-## Changes in 1.9.0 :
-
-- Added retry policy support for throttled requests. (Throttled requests receive a request rate too large exception, error code 429.)
-  By default, DocumentClient retries nine times for each request when error code 429 is encountered, honoring the retryAfter time in the response header.
-  A fixed retry interval time can now be set as part of the RetryOptions property on the ConnectionPolicy object if you want to ignore the retryAfter time returned by server between the retries.
-  DocumentClient now waits for a maximum of 30 seconds for each request that is being throttled (irrespective of retry count) and returns the response with error code 429.
-  This time can also be overriden in the RetryOptions property on ConnectionPolicy object.
-
-- DocumentClient now returns x-ms-throttle-retry-count and x-ms-throttle-retry-wait-time-ms as the response headers in every request to denote the throttle retry count and the cummulative time the request waited between the retries.
-
-- The RetryOptions class was added, exposing the RetryOptions property on the ConnectionPolicy class that can be used to override some of the default retry options.
-
-## Changes in 1.8.0 :
-
-- Added the support for geo-replicated database accounts.
-
-## Changes in 1.7.0 :
-
-- Added the support for TimeToLive(TTL) feature for documents.
-
-## Changes in 1.6.0 :
-
-- Added support for Partitioned Collections.
-- Added support for new offer types.
-
-## Changes in 1.5.6 :
-
-- Fixed RangePartitionResolver.resolveForRead bug where it was not returning links due to a bad concat of results.
-- Move compareFunction from Range class to RangePartitionResolver class.
-
-## Changes in 1.5.5 :
-
-- Fixed hashParitionResolver resolveForRead(): When no partition key supplied was throwing exception, instead of returning a list of all registered links.
-
-## Changes in 1.5.4 :
-
-- Dedicated HTTPS Agent: Avoid modifying the global. Use a dedicated agent for all of the lib’s requests.
-
-## Changes in 1.5.3 :
-
-- Properly handle dashes in the mediaIds.
-
-## Changes in 1.5.2 :
-
-- Fix memory leak.
-
-## Changes in 1.5.1 :
-
-- Renamed "Hash" directory to "hash".
-
-## Changes in 1.5.0 :
-
-- Added client-side sharding support.
-- Added hash partition resolver implementation.
-- Added range partitoin resolver implementation.
-
-## Changes in 1.4.0 :
-
-- Implement Upsert. New upsertXXX methods on documentClient.
-
-## Changes in 1.3.0 :
-
-- Skipped to bring version numbers in alignment with other SDKs.
-
-## Changes in 1.2.2 :
-
-- Split Q promises wrapper to new repository.
-- Update to package file for npm registry.
-
-## Changes in 1.2.1 :
-
-- Implements ID Based Routing.
-- Fixes Issue [#49](https://github.com/Azure/azure-documentdb-node/issues/49) - current property conflicts with method current().
-
-## Changes in 1.2.0 :
-
-- Added support for GeoSpatial index.
-- Validates id property for all resources. Ids for resources cannot contain ?, /, #, \\, characters or end with a space.
-- Adds new header "index transformation progress" to ResourceResponse.
-
-## Changes in 1.1.0 :
-
-- Implements V2 indexing policy.
-
-## Changes in 1.0.3 :
-
-- Issue [#40](https://github.com/Azure/azure-documentdb-node/issues/40) - Implemented eslint and grunt configurations in the core and promise SDK.
-
-## Changes in 1.0.2 :
-
-- Issue [#45](https://github.com/Azure/azure-documentdb-node/issues/45) - Promises wrapper does not include header with error.
-
-## Changes in 1.0.1 :
-
-- Implemented ability to query for conflicts by adding readConflicts, readConflictAsync, queryConflicts.
-- Updated API documentation.
-- Issue [#41](https://github.com/Azure/azure-documentdb-node/issues/41) - client.createDocumentAsync error.
diff --git a/sdk/cosmosdb/cosmos/dev.md b/sdk/cosmosdb/cosmos/dev.md
deleted file mode 100644
index 1b93f1330617..000000000000
--- a/sdk/cosmosdb/cosmos/dev.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# Dev docs
-
-```bash
-# Info on how to build the SDK and run the samples
-
-npm i          # install dependencies and tools
-npm run build  # builds the project
-npm run test   # runs the tests
-
-# see below prereqs, more commands, and config options
-```
-
-## Pre-reqs
-
-- [Node v6 or above](https://nodejs.org/en/)
-  - Recommend using Node 8 LTS
-  - Recommend using a Node version manager ([nvm-windows](https://github.com/coreybutler/nvm-windows/releases), [nvm (mac/linux)](https://github.com/creationix/nvm/), [n (mac/linux)](https://github.com/tj/n))
-- npm (comes with Node)(all tooling is done via npm scripts)
-- All OS's should be supported (emulator only runs on windows)
-- (Recommended) [VS Code](https://code.visualstudio.com/)
-- Cosmos DB (Azure or Local Emulator) (emulator only works on Windows, right now, so mac/linux needs a cloud instance)
-
-## Available commands
-
-```
-Lifecycle scripts included in @azure/cosmos:
-  test
-    mocha -r ./src/test/common/setup.ts ./lib/test/ --recursive --timeout 100000 -i -g .*ignore.js
-
-available via `npm run-script`:
-  clean
-    rimraf lib
-  lint
-    tslint --project tsconfig.json
-  format
-    prettier --write --config .prettierrc.json "src/**/*.ts"
-  check-format
-    prettier --list-different --config .prettierrc.json "src/**/*.ts"
-  compile
-    echo Using TypeScript && tsc --version && tsc --pretty
-  compile-prod
-    echo Using TypeScript && tsc --version && tsc -p tsconfig.prod.json --pretty
-  docs
-    typedoc --excludePrivate --exclude "**/test/**" --mode file --out ./lib/docs ./src
-  pack
-    webpack -d
-  pack-prod
-    webpack -p
-  build
-    npm run clean && npm run check-format && npm run lint && npm run compile && npm run docs && npm run pack
-  build-prod
-    npm run clean && npm run check-format && npm run lint && npm run compile-prod && npm run docs && npm run pack-prod
-  test-ts
-    mocha -r ts-node/register -r ./src/test/common/setup.ts ./src/test/**/*.spec.ts --recursive --timeout 100000 -i -g .*ignore.js
-  test-browser
-    karma start ./karma.config.js --single-run
-```
-
-## Building the SDK
-
-1. Install dependencies `npm i`
-2. Build library `npm run build`
-
-## Testing the SDK
-
-1. Build the SDK (see above)
-2. Run all tests `npm run test`
-
-The above assumes you have the local emulator installed. If you need to use a remote endpoint, check out the `ACCOUNT_HOST` and `ACCOUNT_KEY` below.
-
-### Test config
-
-Extra environment variables you can use:
-
-- `MOCHA_TIMEOUT`: time in milliseconds before timeout (default is different per test, mostly 10-20 seconds). Useful to set to 999999 during debugging.
-- `ACCOUNT_HOST`: account endpoint for testing (default is the emulator running on localhost:8081
-- `ACCOUNT_KEY`: masterkey for testing (default is the emulators default key)
-- `TESTS_MULTIREGION`: enables tests that require a multi-region write enabled database account with at least two regions, and disables tests that won't work with multi-region write enabled.
-
-## VS Code
-
-You can also run the tests via VS Code. There should already be a launch.json for launching the mocha tests. You can modify the `-g` setting to run a specific test. (aka change `.*` to `.*validate database CRUD.*` or whatever your test cases are called)
-
-You can also build via the configured tasks (`build` does a full build, and `compile` just does a typescript compile with no linting, formatting, etc.)
-
-# Samples
-
-Build the SDK and make sure the tests run before you try any samples (they depend on the SDK)
-
-- [TodoApp](./samples/TodoApp)
-
-We recommend using [VS code's multi-root workspaces](https://code.visualstudio.com/docs/editor/multi-root-workspaces) for testing the samples, especially if you're using the samples to test the SDK. There is a `launch.json` for the samples thave have been updated and multi-root workspaces will show all `launch.json`s.
diff --git a/sdk/cosmosdb/cosmos/karma.config.js b/sdk/cosmosdb/cosmos/karma.config.js
deleted file mode 100644
index 2d428cf845e1..000000000000
--- a/sdk/cosmosdb/cosmos/karma.config.js
+++ /dev/null
@@ -1,81 +0,0 @@
-// Karma configuration
-// Generated on Thu May 24 2018 16:35:54 GMT-0700 (Pacific Daylight Time)
-
-module.exports = function (config) {
-  config.set({
-    // frameworks to use
-    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
-    frameworks: ['mocha'],
-
-
-    // list of files / patterns to load in the browser
-    files: [
-      './browser-test.js'
-    ],
-
-
-    // list of files / patterns to exclude
-    exclude: [
-      './lib/dist/**'
-    ],
-
-
-    // preprocess matching files before serving them to the browser
-    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
-    preprocessors: {
-      './browser-test.js': [ 'webpack', 'sourcemap' ]
-    },
-
-    webpack: require('./webpack.config.js'),
-
-    webpackMiddleware: {
-      stats: "errors-only"
-    },
-
-
-    // test results reporter to use
-    // possible values: 'dots', 'progress'
-    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
-    reporters: ['progress', 'mocha'],
-
-
-    // web server port
-    port: 9876,
-
-
-    // enable / disable colors in the output (reporters and logs)
-    colors: true,
-
-
-    // level of logging
-    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
-    logLevel: config.LOG_DEBUG,
-
-
-    // enable / disable watching file and executing tests whenever any file changes
-    autoWatch: true,
-    browserDisconnectTimeout: 120000,
-    browserNoActivityTimeout: 120000,
-    browserDisconnectTolerance: 5,
-
-    // start these browsers
-    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
-    browsers: ['Chrome_without_security'],
-
-    customLaunchers: {
-      Chrome_without_security: {
-        base: 'Chrome',
-        flags: ['--disable-web-security', '--auto-open-devtools-for-tabs']
-      }
-    },
-
-
-    // Continuous Integration mode
-    // if true, Karma captures browsers, runs the tests and exits
-    singleRun: false,
-
-    // Concurrency level
-    // how many browser should be started simultaneous
-    concurrency: Infinity
-  })
-}
diff --git a/sdk/cosmosdb/cosmos/package.json b/sdk/cosmosdb/cosmos/package.json
deleted file mode 100644
index 169648a14aec..000000000000
--- a/sdk/cosmosdb/cosmos/package.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
-  "name": "@azure/cosmos",
-  "sdk-type": "client",
-  "description": "Azure Cosmos DB Service Node.js SDK for SQL API",
-  "keywords": [
-    "cosmosdb",
-    "cosmos db",
-    "documentdb",
-    "document database",
-    "azure",
-    "nosql",
-    "database",
-    "cloud"
-  ],
-  "version": "2.1.5",
-  "author": "Microsoft Corporation",
-  "main": "./lib/src/index.js",
-  "types": "./lib/src/index.d.ts",
-  "engine": {
-    "node": ">=6.0.0"
-  },
-  "scripts": {
-    "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit",
-    "build:dev": "npm run check-format && npm run lint && npm run build:test",
-    "build:test": "npm run compile:dev && npm run webpack:dev",
-    "build": "npm run compile && npm run webpack",
-    "check-format": "prettier --list-different --config ../../.prettierrc.json \"src/**/*.ts\" \"ts-test/**/*.ts\" \"*.{js,json}\"",
-    "clean": "rimraf lib",
-    "compile:dev": "echo Using TypeScript && tsc --version && tsc --pretty",
-    "compile": "echo Using TypeScript && tsc --version && tsc -p tsconfig.prod.json --pretty",
-    "format": "prettier --write --config ../../.prettierrc.json \"src/**/*.ts\" \"ts-test/**/*.ts\" \"*.{js,json}\"",
-    "integration-test:browser": "echo skipped",
-    "integration-test:node": "mocha -r ./src/test/common/setup.ts ./lib/src/test/ --recursive --timeout 100000 --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=- -i -g .*ignore.js",
-    "integration-test": "npm run integration-test:node && npm run integration-test:browser",
-    "lint:fix": "eslint \"src/**/*.ts\" \"ts-test/**/*.ts\" -c ../../.eslintrc.json --fix --fix-type [problem,suggestion]",
-    "lint": "eslint -c ../../.eslintrc.json src ts-test --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o cosmos-lintReport.html || exit 0",
-    "pack": "npm pack 2>&1",
-    "prebuild": "npm run clean",
-    "smoke-test": "node ts-test.js",
-    "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser",
-    "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node",
-    "test": "npm run build:test && npm run unit-test && npm run integration-test",
-    "unit-test:browser": "echo skipped",
-    "unit-test:node": "echo skipped",
-    "unit-test": "npm run unit-test:node && npm run unit-test:browser",
-    "webpack:dev": "webpack -d",
-    "webpack": "webpack -p"
-  },
-  "devDependencies": {
-    "@types/mocha": "^5.2.5",
-    "@types/node": "^8.0.0",
-    "@types/priorityqueuejs": "^1.0.1",
-    "@types/semaphore": "^1.1.0",
-    "@types/sinon": "^5.0.5",
-    "@types/tunnel": "^0.0.0",
-    "@types/underscore": "^1.8.8",
-    "@typescript-eslint/eslint-plugin": "^1.11.0",
-    "@typescript-eslint/parser": "^1.11.0",
-    "eslint": "^5.16.0",
-    "eslint-config-prettier": "^4.2.0",
-    "eslint-detailed-reporter": "^0.8.0",
-    "eslint-plugin-no-null": "^1.0.2",
-    "eslint-plugin-no-only-tests": "^2.3.0",
-    "eslint-plugin-promise": "^4.1.1",
-    "execa": "1.0.0",
-    "mocha": "^5.2.0",
-    "mocha-junit-reporter": "^1.18.0",
-    "mocha-multi": "^1.0.1",
-    "prettier": "^1.16.4",
-    "requirejs": "^2.3.5",
-    "rimraf": "^2.6.2",
-    "sinon": "^7.1.0",
-    "ts-node": "^7.0.1",
-    "typescript": "^3.2.2",
-    "webpack": "^4.16.3",
-    "webpack-cli": "^3.2.3"
-  },
-  "dependencies": {
-    "binary-search-bounds": "2.0.3",
-    "create-hmac": "^1.1.7",
-    "priorityqueuejs": "1.0.0",
-    "semaphore": "1.0.5",
-    "stream-http": "^2.8.3",
-    "tslib": "^1.9.3",
-    "tunnel": "0.0.6"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/Azure/azure-cosmos-js"
-  },
-  "license": "MIT"
-}
diff --git a/sdk/cosmosdb/cosmos/samples/ChangeFeed/README.md b/sdk/cosmosdb/cosmos/samples/ChangeFeed/README.md
deleted file mode 100644
index e69de29bb2d1..000000000000
diff --git a/sdk/cosmosdb/cosmos/samples/ChangeFeed/app.js b/sdk/cosmosdb/cosmos/samples/ChangeFeed/app.js
deleted file mode 100644
index 29a0cd02ee0f..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ChangeFeed/app.js
+++ /dev/null
@@ -1,157 +0,0 @@
-// @ts-check
-"use strict";
-
-const cosmos = require("../../lib/src");
-const CosmosClient = cosmos.CosmosClient;
-const config = require("../Shared/config");
-const databaseId = config.names.database;
-const containerId = config.names.container;
-
-const endpoint = config.connection.endpoint;
-const masterKey = config.connection.authKey;
-
-// Establish a new instance of the CosmosClient to be used throughout this demo
-const client = new CosmosClient({ endpoint, auth: { masterKey } });
-
-// We'll use the same pk value for all these samples
-const pk = "0";
-
-function doesMatch(actual, expected) {
-  for (let i = 0; i < actual.length; i++) {
-    if (actual[i] !== expected[i]) {
-      return "❌";
-    }
-  }
-  return "✅";
-}
-
-function logResult(scenario, actual, expected) {
-  const status = doesMatch(actual, expected);
-  console.log(`  ${status} ${scenario} - expected: [${expected.join(", ")}] - actual: [${actual.join(", ")}]`);
-}
-
-async function run() {
-  const container = await init();
-
-  try {
-    console.log(`
-✨✨✨ Change Feed Samples ✨✨✨
-
-  There are 4 scenarios for change feed:
-      1. Start from a specific continuation
-      2. Start from a specific point in time
-      3. Start from the beginning
-      4. Start from now
-
-  All 4 scenarios will eventually catch up to each other if read for long enough
-
-  In this sample, we expect the scenario to see the following items, by id:
-    1. [3]
-    2. [2, 3]
-    3. [1, 2, 3]
-    4. []
-
-  After we've read to this point, if we insert a new item id 4, we expect all of them to see it, since they will all be caught up.
-`);
-
-    console.log("📢 Phase 1: All scenarios see different results ");
-
-    await container.items.create({ id: "1", pk });
-    console.log("  👉 Inserted id=1");
-
-    const now = new Date();
-    console.log("  👉 Saved timestamp for the specific point in time scenario");
-    const { headers } = await container.items.create({ id: "2", pk });
-    const lsn = headers["lsn"];
-    console.log(`  👉 Inserted id=2 after timestamp with LSN of ${lsn}`);
-
-    await container.items.create({ id: "3", pk });
-
-    console.log(`  👉 Inserted id=3`);
-
-    const specificContinuationIterator = container.items.readChangeFeed(pk, { continuation: lsn });
-    const specificPointInTimeIterator = container.items.readChangeFeed(pk, { startTime: now });
-    const fromBeginningIterator = container.items.readChangeFeed(pk, { startFromBeginning: true });
-    const fromNowIterator = container.items.readChangeFeed(pk, {});
-
-    const { result: specificContinuationResult } = await specificContinuationIterator.executeNext();
-
-    logResult("initial specific Continuation scenario", [3], specificContinuationResult.map(v => parseInt(v.id)));
-
-    // First page is empty. It is catching up to a valid continuation.
-    const { result: shouldBeEmpty } = await specificPointInTimeIterator.executeNext();
-    logResult(
-      "initial specific point in time scenario should be empty while it finds the right continuation",
-      [],
-      shouldBeEmpty.map(v => parseInt(v.id))
-    );
-    // Second page should have results
-    const { result: specificPointInTimeResults } = await specificPointInTimeIterator.executeNext();
-    logResult(
-      "second specific point in time scenario should have caught up now",
-      [2, 3],
-      specificPointInTimeResults.map(v => parseInt(v.id))
-    );
-
-    const { result: fromBeginningResults } = await fromBeginningIterator.executeNext();
-    logResult("initial from beginning scenario", [1, 2, 3], fromBeginningResults.map(v => parseInt(v.id)));
-
-    const { result: fromNowResultsShouldBeEmpty } = await fromNowIterator.executeNext();
-    logResult("initial from now scenario should be empty", [], fromNowResultsShouldBeEmpty.map(v => parseInt(v.id)));
-
-    // Now they should all be caught up to the point after id=3, so if we insert a id=4, they should all get it.
-    console.log("📢 Phase 2: All scenarios are caught up and should see the same results");
-
-    await container.items.create({ id: "4", pk });
-    console.log("  👉 Inserting id=4 - all scenarios should see this");
-
-    const { result: specificContinuationResult2 } = await specificContinuationIterator.executeNext();
-    logResult(
-      "after insert, Specific Continuation scenario",
-      [4],
-      specificContinuationResult2.map(v => parseInt(v.id))
-    );
-
-    const { result: specificPointInTimeResults2 } = await specificPointInTimeIterator.executeNext();
-    logResult(
-      "after insert, specific point in time scenario",
-      [4],
-      specificPointInTimeResults2.map(v => parseInt(v.id))
-    );
-
-    const { result: fromBeginningResults2 } = await fromBeginningIterator.executeNext();
-    logResult("after insert, from beginning scenario", [4], fromBeginningResults2.map(v => parseInt(v.id)));
-
-    const { result: fromNowResults2 } = await fromNowIterator.executeNext();
-    logResult("after insert, from now scenario", [4], fromNowResults2.map(v => parseInt(v.id)));
-  } catch (err) {
-    handleError(err);
-  } finally {
-    await finish(container);
-  }
-}
-
-async function init() {
-  const { database } = await client.databases.createIfNotExists({ id: databaseId });
-  const { container } = await database.containers.createIfNotExists({
-    id: containerId,
-    partitionKey: { kind: "Hash", paths: ["/pk"] }
-  });
-  return container;
-}
-
-async function handleError(error) {
-  console.log(`\nAn error with code '${error.code}' has occurred:`);
-  console.log(`\t${error}`);
-}
-
-async function finish(container) {
-  try {
-    await container.database.delete();
-    console.log("\nEnd of demo.");
-  } catch (err) {
-    console.log(`Database[${databaseId}] might not have deleted properly. You might need to delete it manually.`);
-  }
-}
-
-run().catch(handleError);
diff --git a/sdk/cosmosdb/cosmos/samples/ChangeFeed/package.json b/sdk/cosmosdb/cosmos/samples/ChangeFeed/package.json
deleted file mode 100644
index c5e0e37a610d..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ChangeFeed/package.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "name": "cosmos-change-feed",
-  "version": "0.0.0",
-  "private": true,
-  "description": "A sample showing usage of the change feed in Cosmos DB",
-  "main": "app.js",
-  "dependencies": {},
-  "scripts": {
-    "start": "node app.js"
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/ContainerManagement/README.md b/sdk/cosmosdb/cosmos/samples/ContainerManagement/README.md
deleted file mode 100644
index 94fb94376257..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ContainerManagement/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-Samples for performing basic CRUD operations on an Azure Cosmos DB collection
-
-- createCollection - given an id, create a new Collection with the default indexingPolicy
-- listCollections - example of using the QueryIterator to get a list of Collections in a Database
-- getOfferType - get the Offer.OfferType for a collection. This is what determines if a Collection is S1, S2, or S3
-- modifyOfferType - change the Offer.OfferType for a collection. This is how you scale a Collection up or down
-- deleteCollection - given just the collection id, delete the collection
\ No newline at end of file
diff --git a/sdk/cosmosdb/cosmos/samples/ContainerManagement/app.js b/sdk/cosmosdb/cosmos/samples/ContainerManagement/app.js
deleted file mode 100644
index 126f42530a62..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ContainerManagement/app.js
+++ /dev/null
@@ -1,80 +0,0 @@
-// @ts-check
-"use strict";
-console.log();
-console.log("Azure Cosmos DB Node.js Samples");
-console.log("================================");
-console.log();
-console.log("container MANAGEMENT");
-console.log("=====================");
-console.log();
-
-const cosmos = require("../../lib/src");
-const CosmosClient = cosmos.CosmosClient;
-const config = require("../Shared/config");
-const databaseId = config.names.database;
-const containerId = config.names.container;
-
-const endpoint = config.connection.endpoint;
-const masterKey = config.connection.authKey;
-
-// Establish a new instance of the CosmosClient to be used throughout this demo
-const client = new CosmosClient({ endpoint, auth: { masterKey } });
-
-//---------------------------------------------------------------------------------
-// This demo performs a few steps
-// 1. create container  - given an id, create a new container with thedefault indexingPolicy
-// 2. read all containers   - example of using the QueryIterator to get a list of containers in a Database
-// 3. read container    - Read a container by its _self
-// 4. delete container  - given just the container id, delete the container
-//---------------------------------------------------------------------------------
-
-//ensuring a database exists for us to work with
-async function run() {
-  const database = await init(databaseId);
-
-  //1.
-  console.log(`1. create container with id '${containerId}'`);
-  await database.containers.createIfNotExists({ id: containerId });
-
-  //2.
-  console.log("\n2. read all containers in database");
-  const iterator = database.containers.readAll();
-  const { result: containersList } = await iterator.toArray();
-  console.log(" --- Priting via iterator.toArray");
-  console.log(containersList);
-
-  //3.
-  console.log("\n3. read container definition");
-  const container = database.container(containerId);
-  const { body: containerDef } = await container.read();
-
-  console.log(`container with url '${container.url}' was found its id is '${containerDef.id}'`);
-
-  //4.
-  console.log(`\n4. deletecontainer '${containerId}'`);
-  await container.delete();
-  await finish(database);
-}
-
-async function init(databaseId) {
-  const { database } = await client.databases.createIfNotExists({ id: databaseId });
-  return database;
-}
-
-async function handleError(error) {
-  console.log(`\nAn error with code '${error.code}' has occurred:`);
-  console.log("\t" + error);
-
-  await finish();
-}
-
-async function finish(database) {
-  try {
-    await database.delete();
-    console.log("\nEnd of demo.");
-  } catch (err) {
-    console.log(`Database[${databaseId}] might not have deleted properly. You might need to delete it manually.`);
-  }
-}
-
-run().catch(handleError);
diff --git a/sdk/cosmosdb/cosmos/samples/ContainerManagement/package.json b/sdk/cosmosdb/cosmos/samples/ContainerManagement/package.json
deleted file mode 100644
index 0f8310e5113e..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ContainerManagement/package.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "name": "cosmos-container-management",
-  "version": "0.0.0",
-  "private": true,
-  "description": "A sample showing managing containers in Cosmos DB",
-  "main": "app.js",
-  "dependencies": {},
-  "scripts": {
-    "start": "node app.js"
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/DatabaseManagement/README.md b/sdk/cosmosdb/cosmos/samples/DatabaseManagement/README.md
deleted file mode 100644
index 7987bfbd1125..000000000000
--- a/sdk/cosmosdb/cosmos/samples/DatabaseManagement/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-Samples for performing basic CRUD operations on an Azure Cosmos DB database
-
-- createCollection  - given an id, create a new Collectionwith thedefault indexingPolicy
-- listCollections   - example of using the QueryIterator to get a list of Collections in a Database
-- readCollection    - Read a collection by its _self
-- readCollection    - Read a collection by its id (using new ID Based Routing)
-- getOfferType      - get the Offer.OfferType for a collection. This is what determines if aCollection is S1, S2, or S3 
-- modifyOfferType   - change the Offer.OfferType for a collection. This is how you scale a Collection up or down
-- deleteCollection  - given just the collection id, delete the collection
\ No newline at end of file
diff --git a/sdk/cosmosdb/cosmos/samples/DatabaseManagement/app.js b/sdk/cosmosdb/cosmos/samples/DatabaseManagement/app.js
deleted file mode 100644
index 3812a3c3f0db..000000000000
--- a/sdk/cosmosdb/cosmos/samples/DatabaseManagement/app.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// @ts-check
-"use strict";
-console.log();
-console.log("Azure Cosmos DB Node.js Samples");
-console.log("================================");
-console.log();
-console.log("DATABASE MANAGEMENT");
-console.log("===================");
-console.log();
-
-const assert = require("assert");
-const cosmos = require("../../lib/src");
-const CosmosClient = cosmos.CosmosClient;
-const config = require("../Shared/config");
-const databaseId = config.names.database;
-
-const endpoint = config.connection.endpoint;
-const masterKey = config.connection.authKey;
-
-// Establish a new instance of the CosmosClient to be used throughout this demo
-const client = new CosmosClient({ endpoint, auth: { masterKey } });
-
-//---------------------------------------------------------------------------------------------------
-// This demo performs the following CRUD operations on a Database
-//
-// 1. create Database    - If the database was not found, try create it
-// 2. read all Databases     - Once the database was created, list all the databases on the account
-// 3. read Database      - Read a database by its id
-// 4. delete Database    - Delete a database given its id
-//
-//---------------------------------------------------------------------------------------------------
-
-async function run() {
-  // 1.
-  console.log(`\n1. Create database, if it doesn't already exist '${databaseId}'`);
-  await client.databases.createIfNotExists({ id: databaseId });
-  console.log("Database with id " + databaseId + " created.");
-
-  // 2.
-  console.log("\n2. Read all databases");
-  const { result: dbDefList } = await client.databases.readAll().toArray();
-  console.log(dbDefList);
-
-  // 3.
-  console.log(`\n3. readDatabase - with id '${databaseId}'`);
-  const { body: dbDef } = await client.database(databaseId).read();
-  // This uses Object deconstruction to just grab the body of the response,
-  // but you can also grab the whole response object to use
-  const databaseResponse = await client.database(databaseId).read();
-  const alsoDbDef = databaseResponse.body;
-  assert.equal(dbDef.id, alsoDbDef.id); // The bodies will also almost be equal, _ts will defer based on the read time
-  // This applies for all response types, not just DatabaseResponse.
-
-  console.log(`Database with id of ${dbDef.id}' was found`);
-
-  // 4.
-  console.log(`\n4. delete database with id '${databaseId}'`);
-  await client.database(databaseId).delete();
-
-  await finish();
-}
-
-function handleError(error) {
-  console.log();
-  console.log(`An error with code '${error.code}' has occurred:`);
-  console.log(`\t${error.body || error}`);
-  console.log();
-
-  finish();
-}
-
-function finish() {
-  console.log();
-  console.log("End of demo.");
-}
-
-run().catch(handleError);
diff --git a/sdk/cosmosdb/cosmos/samples/DatabaseManagement/package.json b/sdk/cosmosdb/cosmos/samples/DatabaseManagement/package.json
deleted file mode 100644
index 03f81d6e9c5b..000000000000
--- a/sdk/cosmosdb/cosmos/samples/DatabaseManagement/package.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "name": "cosmos-database-management",
-  "version": "0.0.0",
-  "private": true,
-  "description": "A sample showing managing databases in Cosmos DB",
-  "main": "app.js",
-  "dependencies": {},
-  "scripts": {
-    "start": "node app.js"
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/IndexManagement/README.md b/sdk/cosmosdb/cosmos/samples/IndexManagement/README.md
deleted file mode 100644
index 0547a6cdfe6a..000000000000
--- a/sdk/cosmosdb/cosmos/samples/IndexManagement/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-While Azure Cosmos DB automatically indexes all paths of all documents in a consistent manner, you have the ability to tweak and customize this
-behavior should you need (or want) to. 
-
-Samples for working with Azure Cosmos DB IndexPolicy on a Collection
-
-1. explictlyExcludeFromIndex - how to manually exclude a document from being indexed 
-2. useManualIndexing         - switch auto indexing off, and then manually add individual docs 
-3. useLazyIndexing           - create a collection with indexing mode set to Lazy instead of consistent 
-4. forceScanOnHashIndexPath  - use a directive to allow a scan on a string path during a range operation 
-5. useRangeIndexOnStrings    - create a range index on string path 
-6. excludePathsFromIndex     - create a custom indexPolicy that excludes specific path in document 
-7. performIndexTransforms    - create a collection with default indexPolicy, then update this online
-8. waitForIndexTransforms    - waits for index transform to complete by repeatedly doing a readCollection checking and checking headers
-
-
diff --git a/sdk/cosmosdb/cosmos/samples/IndexManagement/app.js b/sdk/cosmosdb/cosmos/samples/IndexManagement/app.js
deleted file mode 100644
index d9048ec4c271..000000000000
--- a/sdk/cosmosdb/cosmos/samples/IndexManagement/app.js
+++ /dev/null
@@ -1,555 +0,0 @@
-// @ts-check
-
-console.log();
-console.log("Azure CosmosDB Node.js Samples");
-console.log("================================");
-console.log();
-console.log("INDEX MANAGEMENT");
-console.log("================");
-console.log();
-
-const cosmos = require("../../lib/src");
-const CosmosClient = cosmos.CosmosClient;
-const config = require("../Shared/config");
-const fs = require("fs");
-const databaseId = config.names.database;
-const containerId = config.names.container;
-
-const endpoint = config.connection.endpoint;
-const masterKey = config.connection.authKey;
-
-// Establish a new instance of the CosmosClient to be used throughout this demo
-const client = new CosmosClient({ endpoint, auth: { masterKey } });
-
-//IMPORTANT:
-//this sample creates and delete containers at least 7 times.
-//each time you execute containers.create() you are charged for 1hr (our smallest billing unit)
-//even if that container is only alive for a few seconds.
-//so please take note of this before running this sample
-
-//TODO: Now that index transforms exist, refactor to create only 1 container and just reuse each time
-
-//NOTE:
-//when using the new IDBased Routing URIs, instead of the _self, as we 're doing in this sample
-//ensure that the URI does not end with a trailing '/' character
-//so dbs/databaseId instead of dbs/databaseId/
-//also, ensure there is no leading space
-
-//-----------------------------------------------------------------------------------------------------------
-// This demo performs a few steps
-// 1. explictlyExcludeFromIndex - how to manually exclude an item from being indexed
-// 2. useManualIndexing         - switch auto indexing off, and then manually add individual items
-// 3. useLazyIndexing           - create a container with indexing mode set to Lazy instead of consistent
-// 4. forceScanOnHashIndexPath  - use a directive to allow a scan on a string path during a range operation
-// 5. useRangeIndexOnStrings    - create a range index on string path
-// 6. excludePathsFromIndex     - create a custom indexPolicy that excludes specific path in an item
-// 7. performIndexTransforms    - create a container with default indexPolicy, then update this online
-//------------------------------------------------------------------------------------------------------------
-async function run() {
-  // Gets a database for us to work with
-  const { database } = await init();
-  //1.
-  console.log("\n1.");
-  console.log("explictlyExcludeFromIndex - manually exclude an item from being indexed");
-  await explictlyExcludeFromIndex(database);
-  //2.
-  console.log("\n2.");
-  console.log("useManualIndexing - switch auto indexing off, and manually index item");
-  await useManualIndexing(database);
-  //3.
-  console.log("\n3.");
-  console.log("useLazyIndexing - create container lazy index");
-  await useLazyIndexing(database);
-  //4.
-  console.log("\n4.");
-  console.log("forceScanOnHashIndexPath  - use index directive to allow range scan on path without range index");
-  await forceScanOnHashIndexPath(database);
-  //5.
-  console.log("\n5.");
-  console.log("useRangeIndexOnStrings  - create a range index on string path");
-  await useRangeIndexOnStrings(database);
-  //6.
-  console.log("\n6.");
-  console.log("excludePathsFromIndex  - create a range index on string path");
-  await excludePathsFromIndex(database);
-  //7.
-  console.log("\n7.");
-  console.log("performIndexTransforms  - update an index policy online");
-  await performIndexTransforms(database);
-  await finish();
-}
-
-async function init(callback) {
-  return client.databases.createIfNotExists({ id: databaseId });
-}
-
-/**
- *
- * @param {cosmos.Database} database
- */
-async function explictlyExcludeFromIndex(database) {
-  console.log("create container with default index policy");
-
-  //we're using the default indexing policy because by default indexingMode == consistent & automatic == true
-  //which means that by default all items added to a container are indexed as the item is written
-  const containerId = "ExplictExcludeDemo";
-  const { body: containerDef, container } = await database.containers.create({ id: containerId });
-  const itemSpec = { id: "item1", foo: "bar" };
-
-  console.log("Create item, but exclude from index");
-
-  //items.create() takes RequestOptions as 3rd parameter.
-  //One of these options is indexingDirectives which can be include, or exclude
-  //we're using exclude this time to manually exclude this item from being indexed
-  const { body: itemDef, item } = await container.items.create(itemSpec, { indexingDirective: "exclude" });
-  console.log(`Item with id '${itemDef.id}' created`);
-
-  const querySpec = {
-    query: "SELECT * FROM root r WHERE r.foo=@foo",
-    parameters: [
-      {
-        name: "@foo",
-        value: "bar"
-      }
-    ]
-  };
-
-  console.log("Querying all items for the given item should not find any results");
-  const { result: results } = await container.items.query(querySpec).toArray();
-  if (results.length !== 0) {
-    throw new Error("there were not meant to be results");
-  }
-  console.log("No results found");
-
-  console.log("item.read() should still find the item");
-
-  const { body: readItemDef } = await item.read();
-  console.log(`item.read() found item and its _self is '${readItemDef._self}'`);
-
-  await container.delete();
-  console.log(`Container '${containerId}' deleted`);
-}
-
-/**
- *
- * @param {cosmos.Database} database
- */
-async function useManualIndexing(database) {
-  console.log("create container with indexingPolicy.automatic : false");
-
-  const containerId = "ManualIndexDemo";
-  const indexingPolicySpec = { automatic: false };
-
-  const { container } = await database.containers.create({
-    id: containerId,
-    indexingPolicy: indexingPolicySpec
-  });
-
-  // items.create() takes RequestOptions as 2nd parameter.
-  // One of these options is indexingDirectives which can be include, or exclude
-  // we're using include this time to manually index this particular item
-  console.log("Create item, and explicitly include in index");
-  const itemSpec = { id: "item1", foo: "bar" };
-  const { body: itemDef } = await container.items.create(itemSpec, { indexingDirective: "include" });
-  console.log("Item with id '" + itemDef.id + "' created");
-
-  const querySpec = {
-    query: "SELECT * FROM root r WHERE r.foo=@foo",
-    parameters: [
-      {
-        name: "@foo",
-        value: "bar"
-      }
-    ]
-  };
-
-  console.log("Querying all items for a given item should find a result as it was indexed");
-  const { result: results } = await container.items.query(querySpec).toArray();
-  if (results.length === 0) {
-    throw new Error("There were meant to be results");
-  } else {
-    const itemDef = results[0];
-    console.log("Item with id '" + itemDef.id + "' found");
-
-    await container.delete();
-    console.log("Container '" + containerId + "' deleted");
-  }
-}
-
-/**
- *
- * @param {cosmos.Database} database
- */
-async function useLazyIndexing(database) {
-  // Azure Cosmos DB offers synchronous (consistent) and asynchronous (lazy) index updates.
-  // By default, the index is updated synchronously on each insert, replace or delete of a item to the container.
-  // There are times when you might want to configure certain containers to update their index asynchronously.
-  // Lazy indexing boosts the write performance and lowers RU charge of each insert
-  // and is ideal for bulk ingestion scenarios for primarily read-heavy containers
-  // It is important to note that you might get inconsistent reads whilst the writes are in progress,
-  // However once the write volume tapers off and the index catches up, then the reads continue as normal
-
-  // It is difficult to demonstrate this is a code sample as you only really notice this under sustained
-  // heavy-write workloads. So this code sample shows just how to create the custom index polixy needed
-
-  console.log("create container with indexingPolicy.indexMode : lazy");
-
-  // allowed values for IndexingMode are consistent (default), lazy and none
-  const containerId = "LazyIndexDemo";
-  /** @type cosmos.DocumentBase.IndexingPolicy */
-  const indexingPolicySpec = { indexingMode: cosmos.DocumentBase.IndexingMode.lazy };
-
-  // You can also set the indexing policy Mode via string
-  indexingPolicySpec.indexingMode = "lazy";
-
-  const { body: containerDef, container } = await database.containers.create({
-    id: containerId,
-    indexingPolicy: indexingPolicySpec
-  });
-  console.log("Container '" + containerDef.id + "' created with index policy: ");
-  console.log(containerDef.indexingPolicy);
-
-  await container.delete();
-  console.log("Container '" + containerId + "' deleted");
-}
-/**
- *
- * @param {cosmos.Database} database
- */
-async function forceScanOnHashIndexPath(database) {
-  // Azure Cosmos DB index knows about 3 datatypes - numbers, strings and geojson
-  // By default, the index on a container does not put range indexes on to string paths
-  // Therefore, if you try and do a range operation on a string path with a default index policy, you will get an error
-  // You can override this by using an request option, that is what this demonstrates
-  // NOTE - it is not recommended to do this often due to the high charge associated with a full container scan
-  //        if you find yourself doing this often on a particular path, create a range index for strings on that path
-
-  console.log("create container with default index policy");
-  const containerId = "ForceScanDemo";
-
-  const { body: containerDef, container } = await database.containers.create({ id: containerId });
-  console.log("Container '" + containerDef.id + "' created with default index policy (i.e. no range on strings)");
-
-  //create an item
-  console.log("Creating item");
-  await container.items.create({ id: "item1", stringField: "a string value" });
-  console.log("Item created");
-
-  //try a range query on the item, expect an error
-  const querySpec = {
-    query: "SELECT * FROM root r WHERE r.stringField > @value",
-    parameters: [
-      {
-        name: "@value",
-        value: "a"
-      }
-    ]
-  };
-
-  console.log("Querying for item where stringField > 'a', should fail");
-  try {
-    await container.items.query(querySpec).toArray();
-  } catch (err) {
-    console.log("Query failed with " + err.code);
-  }
-  //try same range query again, this time specifying the directive to do a scan,
-  //be wary of high RU cost that you could get for even a single item!
-  //we won't particularly see a high charge this time because there is only 1 item in the container
-  //so a scan on 1 item isn't costly. a few thousand items will be very different
-  console.log("Repeating query for item where stringField > 'a', this time with enableScanInQuery: true");
-
-  //notice how we're switching to queryIterator.executeNext instead of calling .toArray() as before
-  //reason being, toArray will issue multiple requests to the server until it has fetched all results
-  //here we can control this using executeNext.
-  //now we can get the headers for each request which includes the charge, continuation tokens etc.
-
-  const queryIterator = container.items.query(querySpec, { enableScanInQuery: true });
-  const { result: items, headers } = await queryIterator.executeNext();
-  const charge = headers["x-ms-request-charge"];
-  const itemDef = items[0];
-
-  console.log("Item '" + itemDef.id + "' found, request charge: " + charge);
-
-  await container.delete();
-  console.log("Container '" + containerId + "' deleted");
-}
-
-/**
- *
- * @param {cosmos.Database} database
- */
-async function useRangeIndexOnStrings(database) {
-  // Azure Cosmos DB index knows about 3 datatypes - numbers, strings and geojson
-  // By default, the index on a container does not put range indexes on to string paths
-  // In this demo we are going to create a custom index policy which enables range index on a string path
-
-  console.log("create container with range index on string paths");
-  const containerId = "RangeIndexDemo";
-  /**
-   * @type cosmos.DocumentBase.IndexingPolicy
-   */
-  const indexPolicySpec = {
-    includedPaths: [
-      {
-        path: "/*",
-        indexes: [
-          {
-            kind: cosmos.DocumentBase.IndexKind.Range,
-            dataType: cosmos.DocumentBase.DataType.String
-          },
-          {
-            kind: cosmos.DocumentBase.IndexKind.Range,
-            dataType: cosmos.DocumentBase.DataType.Number
-          }
-        ]
-      }
-    ]
-  };
-
-  const { body: containerDef, container } = await database.containers.create({
-    id: containerId,
-    indexingPolicy: indexPolicySpec
-  });
-  console.log("Container '" + containerDef.id + "' created with custom index policy");
-
-  //create an item
-  console.log("Creating item");
-  await container.items.create({ id: "item1", stringField: "a string value" });
-  console.log("Item created");
-
-  //try a range query on the item, expect an error
-  const querySpec = {
-    query: "SELECT * FROM root r WHERE r.stringField > @value",
-    parameters: [
-      {
-        name: "@value",
-        value: "a"
-      }
-    ]
-  };
-
-  console.log("Querying for item where stringField > 'a', should return results");
-
-  //notice how we're switching to queryIterator.executeNext instead of calling .toArray() as before
-  //reason being, toArray will issue multiple requests to the server until it has fetched all results
-  //here we can control this using executeNext.
-  //now we can get the headers for each request which includes the charge, continuation tokens etc.
-  const queryIterator = container.items.query(querySpec, { enableScanInQuery: true });
-  const { result: items, headers } = await queryIterator.executeNext();
-  const charge = headers["x-ms-request-charge"];
-  const itemDef = items[0];
-
-  console.log("Item '" + itemDef.id + "' found, request charge: " + charge);
-
-  await container.delete();
-  console.log("Container '" + containerId + "' deleted");
-}
-
-/**
- *
- * @param {cosmos.Database} database
- */
-async function excludePathsFromIndex(database) {
-  console.log("create container with an excluded path");
-  const containerId = "ExcludePathDemo";
-  const indexPolicySpec = {
-    //the special "/" must always be included somewhere. in this case we're including root
-    //and then excluding specific paths
-    includedPaths: [
-      {
-        path: "/",
-        indexes: [
-          {
-            kind: cosmos.DocumentBase.IndexKind.Hash,
-            dataType: cosmos.DocumentBase.DataType.Number,
-            precision: 2
-          }
-        ]
-      }
-    ],
-    excludedPaths: [
-      {
-        path: "/metaData/*"
-      }
-    ]
-  };
-
-  const { body: containerDef, container } = await database.containers.create({
-    id: containerId,
-    indexingPolicy: indexPolicySpec
-  });
-  console.log("Container '" + containerDef.id + "' created with excludedPaths");
-
-  const itemId = "item1";
-
-  const itemSpec = {
-    id: itemId,
-    metaData: "meta",
-    subDoc: {
-      searchable: "searchable",
-      subSubDoc: { someProperty: "value" }
-    }
-  };
-
-  //create an item
-  console.log("Creating item");
-  const { item } = await container.items.create(itemSpec);
-  console.log("Item created");
-
-  //try a query on an excluded property, expect no results
-  const querySpec = {
-    query: "SELECT * FROM root r WHERE r.metaData = @value",
-    parameters: [
-      {
-        name: "@value",
-        value: "meta"
-      }
-    ]
-  };
-
-  try {
-    //expecting an exception on this query due to the fact that it includes paths that
-    //have been excluded. If you want to force a scan, then enableScanInQuery like we did in forceScanOnHashIndexPath()
-    console.log("Querying for item where metaData = 'meta', should throw an exception");
-    await container.items.query(querySpec).toArray();
-    throw new Error("Should've produced an error");
-  } catch (err) {
-    if (err.code !== undefined) {
-      console.log("Threw, as expected");
-    } else {
-      throw err;
-    }
-  } //show that you can still read the item by its id
-  console.log("Can still item.read() using '" + item.id + "'");
-  const { body: itemDef } = await item.read();
-  console.log("Item '" + item.id + "' read and it's _self is '" + itemDef._self + "'");
-
-  await container.delete();
-  console.log("Container '" + containerId + "' deleted");
-}
-
-/**
- *
- * @param {cosmos.Database} database
- */
-async function performIndexTransforms(database) {
-  //create container with default index policy
-  console.log("Creating container with default index policy (i.e. no range on strings)");
-  const containterId = "IndexTransformsDemo";
-
-  const { body: containerDef, container } = await database.containers.create({ id: containterId });
-  console.log("Container '" + containerDef.id + "' created");
-
-  //create item
-  const itemSpec = {
-    id: "item1",
-    stringField: "a string"
-  };
-
-  console.log("Creating item");
-  const { body: itemDef, item } = await container.items.create(itemSpec);
-  console.log("Item with id '" + itemDef.id + "' created");
-
-  //define a new indexPolicy which includes Range on all string paths (and Hash on all numbers)
-  const indexPolicySpec = {
-    includedPaths: [
-      {
-        path: "/*",
-        indexes: [
-          {
-            kind: "Range",
-            dataType: "String"
-          },
-          {
-            kind: "Range",
-            dataType: "Number"
-          }
-        ]
-      }
-    ]
-  };
-
-  const containerSpec = { id: containterId };
-  containerSpec.indexingPolicy = indexPolicySpec;
-
-  //container.replace() to update the indexPolicy
-  await container.replace(containerSpec);
-  console.log("Waiting for index transform to be completed");
-
-  //Index transform is an async operation that is performed on a Container
-  //You can contiue to use the container while this is happening, but depending
-  //on the transform and your queries you may get inconsistent results as the index is updated
-
-  //Here, we'll just wait for index transform to complete.
-  //this will be almost instant because we only have one item
-  //but this can take some time on larger containers
-  await waitForIndexTransformToComplete(container);
-  console.log("Index transform completed");
-
-  const querySpec = {
-    query: "SELECT * FROM root r WHERE r.stringField > @value",
-    parameters: [
-      {
-        name: "@value",
-        value: "a"
-      }
-    ]
-  };
-
-  // Querying all items doing a range operation on a string (this would've failed without the transform)
-  const { result: results } = await container.items.query(querySpec).toArray();
-  if (results.length == 0) {
-    throw new Error("Should've found an item");
-  } else {
-    const queryDoc = results[0];
-    console.log("Item with id '" + queryDoc.id + "' found");
-  }
-}
-
-async function sleep(timeMS) {
-  return new Promise((resolve, reject) => {
-    setTimeout(() => {
-      resolve();
-    }, timeMS);
-  });
-}
-
-/**
- * To figure out the progress of and index transform,
-  do a container read and check the header property of the response.
-  The headers container includes a header that indicates progress between 0 and 100
- * @param {cosmos.Container} container
- */
-async function waitForIndexTransformToComplete(container) {
-  // To figure out the progress of and index transform,
-  // do a container.read() and check the 3rd parameter of the callback
-  // The headers container includes a header that indicates progress between 0 and 100
-  let progress = 0;
-  let count = 0;
-
-  while (progress >= 0 && progress < 100) {
-    console.log("Reading container");
-    const { headers } = await container.read();
-
-    progress = headers["x-ms-documentdb-collection-index-transformation-progress"];
-    console.log("Progress is currently " + progress);
-
-    console.log("Waiting for 100ms");
-    await sleep(100);
-  }
-  console.log("Done waiting, progress == 100");
-}
-
-async function handleError(error) {
-  console.log(`\nAn error with code '${error.code}' has occurred:`);
-  console.log("\t" + error.body || error);
-
-  await finish();
-}
-
-async function finish() {
-  await client.database(databaseId).delete();
-  console.log("\nEnd of demo.");
-}
-
-run().catch(handleError);
diff --git a/sdk/cosmosdb/cosmos/samples/IndexManagement/package.json b/sdk/cosmosdb/cosmos/samples/IndexManagement/package.json
deleted file mode 100644
index dd025237dc8e..000000000000
--- a/sdk/cosmosdb/cosmos/samples/IndexManagement/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "name": "cosmosdb-index-management",
-  "version": "0.0.0",
-  "private": true,
-  "description": "A Sample to explain the many ways to set indexes on Azure Cosmos DB",
-  "scripts": {
-    "start": "node app.js"
-  },
-  "dependencies": {}
-}
diff --git a/sdk/cosmosdb/cosmos/samples/ItemManagement/README.md b/sdk/cosmosdb/cosmos/samples/ItemManagement/README.md
deleted file mode 100644
index 78990bb15034..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ItemManagement/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-Samples for performing basic CRUD operations on Azure Cosmos DB documents
-
-- createDocuments   -	Insert some documents in to collection
-- listDocuments     -	Read the document feed for a collection
-- readDocument      -	Read a single document by its id
-- queryDocuments	-	Query for documents by some property
-- replaceDocument	-	Update some properties and replace the document
-- deleteDocument	-	Given a document id, delete it
diff --git a/sdk/cosmosdb/cosmos/samples/ItemManagement/app.js b/sdk/cosmosdb/cosmos/samples/ItemManagement/app.js
deleted file mode 100644
index cded1b87f53d..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ItemManagement/app.js
+++ /dev/null
@@ -1,198 +0,0 @@
-// @ts-check
-
-console.log();
-console.log("Azure Cosmos DB Node.js Samples");
-console.log("================================");
-console.log();
-console.log("ITEM MANAGEMENT");
-console.log("===================");
-console.log();
-
-const cosmos = require("../../lib/src");
-const CosmosClient = cosmos.CosmosClient;
-const config = require("../Shared/config");
-const fs = require("fs");
-const databaseId = config.names.database;
-const containerId = config.names.container;
-
-const endpoint = config.connection.endpoint;
-const masterKey = config.connection.authKey;
-
-const getItemDefinitions = function() {
-  const data = fs.readFileSync("../Shared/Data/Families.json", "utf8");
-  return JSON.parse(data).Families;
-};
-
-// Establish a new instance of the CosmosClient to be used throughout this demo
-const client = new CosmosClient({ endpoint, auth: { masterKey } });
-
-//-------------------------------------------------------------------------------------------------------
-// This demo performs a few steps
-// 1. create items   - Insert some items in to container
-// 2. list items     - Read the item feed for a container
-// 3. read item
-// 3.1                  - Read a single item by its id
-// 3.2                  - Use ETag and AccessCondition to only return a item if ETag does not match
-// 4. query items    - Query for items by some property
-// 5. replace item
-// 5.1                  - Update some properties and replace the item
-// 5.2                  - Use ETag and AccessCondition to only replace item if it has not changed
-// 6. upsert item    - Update a item if it exists, else create new item
-// 7. delete item    - Given a item id, delete it
-//-------------------------------------------------------------------------------------------------------
-
-async function run() {
-  //ensuring a database & container exists for us to work with
-  const { container, database } = await init();
-
-  //1.
-  console.log(`\n1. insert items in to database '${databaseId}' and container '${containerId}'`);
-  const promises = getItemDefinitions().map(itemDef => container.items.create(itemDef));
-  const items = await Promise.all(promises);
-  console.log(`${items.length} items created`);
-
-  //2.
-  console.log(`\n2. list items in container '${container.id}'`);
-  const { result: itemDefList } = await container.items.readAll().toArray();
-
-  itemDefList.forEach(({ id }) => console.log(id));
-
-  //3.1
-  const item = container.item(itemDefList[0].id);
-  console.log(`\n3.1 read item '${item.id}'`);
-  const { body: readDoc } = await item.read();
-  console.log(`item with id '${item.id}' found`);
-
-  //3.2
-  console.log("\n3.2 read item with AccessCondition and no change to _etag");
-  const { body: item2, headers } = await item.read({
-    accessCondition: { type: "IfNoneMatch", condition: readDoc._etag }
-  });
-  if (!item2 && headers["content-length"] == 0) {
-    console.log(
-      "As expected, no item returned. This is because the etag sent matched the etag on the server. i.e. you have the latest version of the item already"
-    );
-  }
-
-  //if we someone else updates this item, its etag on the server would change.
-  //repeating the above read with the old etag would then get a item in the response
-  readDoc.foo = "bar";
-  await item.replace(readDoc);
-  const { body: item3, headers: headers3 } = await item.read({
-    accessCondition: { type: "IfNoneMatch", condition: readDoc._etag }
-  });
-  if (!item3 && headers3["content-length"] === 0) {
-    throw "Expected item this time. Something is wrong!";
-  } else {
-    console.log("This time the read request returned the item because the etag values did not match");
-  }
-
-  //4.
-  const querySpec = {
-    query: "SELECT * FROM Families f WHERE  f.lastName = @lastName",
-    parameters: [
-      {
-        name: "@lastName",
-        value: "Andersen"
-      }
-    ]
-  };
-
-  console.log(`\n4. query items in container '${container.id}'`);
-  const { result: results } = await container.items.query(querySpec).toArray();
-
-  if (results.length == 0) {
-    throw "No items found matching";
-  } else if (results.length > 1) {
-    throw "More than 1 item found matching";
-  }
-
-  const person = results[0];
-  console.log(`The '${person.id}' family has lastName '${person.lastName}'`);
-  console.log(`The '${person.id}' family has ${person.children.length} children '`);
-
-  //add a new child to this family, and change the family's lastName
-  const childDef = {
-    firstName: "Newborn",
-    gender: "unknown",
-    fingers: 10,
-    toes: 10
-  };
-
-  person.children.push(childDef);
-  person.lastName = "Updated Family";
-
-  //5.1
-  console.log(`\n5.1 replace item with id '${item.id}'`);
-  const { body: updatedPerson } = await item.replace(person);
-
-  console.log(`The '${person.id}' family has lastName '${updatedPerson.lastName}'`);
-  console.log(`The '${person.id}' family has ${updatedPerson.children.length} children '`);
-
-  // 5.2
-  console.log("\n5.2 trying to replace item when item has changed in the database");
-  // The replace item above will work even if there's a new version of item on the server from what you originally read
-  // If you want to prevent this from happening you can opt-in to a conditional update
-  // Using accessCondition and etag you can specify that the replace only occurs if the etag you are sending matches the etag on the server
-  // i.e. Only replace if the item hasn't changed
-
-  // let's go update item
-  person.foo = "bar";
-  await item.replace(person);
-
-  // now let's try another update to item with accessCondition and etag set
-  person.foo = "should never get set";
-  try {
-    await item.replace(person, { accessCondition: { type: "IfMatch", condition: person._etag } });
-    throw new Error("This should have failed!");
-  } catch (err) {
-    if (err.code == 412) {
-      console.log("As expected, the replace item failed with a pre-condition failure");
-    } else {
-      throw err;
-    }
-  }
-
-  //6.
-  const upsertSource = itemDefList[1];
-  console.log(`6. Upserting person ${upsertSource.id} with _rid ${upsertSource._rid}...`);
-
-  // a non-identity change will cause an update on upsert
-  upsertSource.foo = "baz";
-  const { body: upsertedPerson1 } = await container.items.upsert(upsertSource);
-  console.log(`Upserted ${upsertedPerson1.id} to _rid ${upsertedPerson1._rid}.`);
-
-  // an identity change will cause an insert on upsert
-  upsertSource.id = "HazzardFamily";
-  const { body: upsertedPerson2 } = await container.items.upsert(upsertSource);
-  console.log(`Upserted ${upsertedPerson2.id} to _rid ${upsertedPerson2._rid}.`);
-
-  if (upsertedPerson1._rid === upsertedPerson2._rid)
-    throw new Error("These two upserted records should have different resource IDs.");
-
-  //7.
-  console.log("\n6. delete item '" + item.id + "'");
-  await item.delete();
-
-  await finish();
-}
-
-async function init() {
-  const { database } = await client.databases.createIfNotExists({ id: databaseId });
-  const { container } = await database.containers.createIfNotExists({ id: containerId });
-  return { database, container };
-}
-
-async function handleError(error) {
-  console.log(`\nAn error with code '${error.code}' has occurred:`);
-  console.log("\t" + error.body || error);
-
-  await finish();
-}
-
-async function finish() {
-  await client.database(databaseId).delete();
-  console.log("\nEnd of demo.");
-}
-
-run().catch(handleError);
diff --git a/sdk/cosmosdb/cosmos/samples/ItemManagement/package.json b/sdk/cosmosdb/cosmos/samples/ItemManagement/package.json
deleted file mode 100644
index 0ec8f505a3df..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ItemManagement/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "name": "cosmos-item-management",
-  "version": "0.0.0",
-  "private": true,
-  "description": "Sample showing how to do item management in Cosmos",
-  "dependencies": {},
-  "scripts": {
-    "start": "node app.js"
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/ConflictWorker.ts b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/ConflictWorker.ts
deleted file mode 100644
index f3ba3503dbd6..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/ConflictWorker.ts
+++ /dev/null
@@ -1,712 +0,0 @@
-// tslint:disable:no-console
-
-import { v4 as guid } from "uuid";
-import { Container, CosmosClient, Item, ItemDefinition, ItemResponse, Items } from "../../lib";
-import { ItemBody } from "../../lib/client/Item/ItemBody";
-import { Constants, StatusCodes } from "../../lib/common";
-import logger from "./logger";
-import lwwSprocDef from "./lwwSprocDef";
-
-export class ConflictWorker {
-  private readonly clients: Map = new Map();
-  constructor(
-    private readonly databaseName: string,
-    private readonly basicContainerName: string,
-    private readonly manualContainerName: string,
-    private readonly lwwContainerName: string,
-    private readonly udpContainerName: string
-  ) {}
-
-  public addClient(region: string, client: CosmosClient) {
-    this.clients.set(region, client);
-  }
-
-  public async init(): Promise {
-    const createClient = this.clients.values().next().value;
-
-    const { database } = await createClient.databases.createIfNotExists({ id: this.databaseName });
-    const { container: basicContainer } = await database.containers.createIfNotExists({ id: this.basicContainerName });
-    const { container: manualContainer } = await database.containers.createIfNotExists({
-      id: this.manualContainerName,
-      conflictResolutionPolicy: {
-        mode: "Custom"
-      }
-    });
-    const { container: lwwContainer } = await database.containers.createIfNotExists({
-      id: this.lwwContainerName,
-      conflictResolutionPolicy: {
-        mode: "LastWriterWins",
-        conflictResolutionPath: "/regionId"
-      }
-    });
-    const { container: udpContainer } = await database.containers.createIfNotExists({
-      id: this.udpContainerName,
-      conflictResolutionPolicy: {
-        mode: "Custom",
-        conflictResolutionProcedure: `dbs/${this.databaseName}/colls/${this.udpContainerName}/sprocs/resolver`
-      }
-    });
-
-    // See ./lwwSprocDef for the stored procedure definition include the logic
-    const { sproc: lwwSproc } = await udpContainer.storedProcedures.upsert(lwwSprocDef);
-  }
-
-  public async RunManualConflict() {
-    console.log("Insert Conflict");
-    await this.RunInsertConflictonManual();
-
-    console.log("Update Conflict");
-    await this.RunUpdateConflictOnManual();
-
-    console.log("Delete Conflict");
-    await this.RunDeleteConflictOnManual();
-  }
-
-  public async RunLWWConflict() {
-    console.log("Insert Conflict");
-    await this.RunInsertConflictOnLWW();
-
-    console.log("Update Conflict");
-    await this.RunUpdateConflictOnLWW();
-
-    console.log("Delete Conflict");
-    await this.RunDeleteConflictOnLWW();
-  }
-
-  public async RunUDP() {
-    console.log("Insert Conflict");
-    await this.RunInsertConflictOnUdp();
-
-    console.log("Update Conflict");
-    await this.RunUpdateConflictOnUdp();
-
-    console.log("Delete Conflict");
-    await this.RunDeleteConflictsOnUdp();
-  }
-
-  private async RunInsertConflictonManual() {
-    do {
-      let p = logger(
-        `Performing conflicting insert across ${this.clients.size} regions on ${this.manualContainerName}`
-      ).start();
-      try {
-        const insertTask: Array> = [];
-        const itemBase = { id: guid() };
-
-        let index = 0;
-        for (const [clientRegion, client] of this.clients.entries()) {
-          const container = client.database(this.databaseName).container(this.manualContainerName);
-          const newDef = { regionId: index++, regionEndpoint: clientRegion, ...itemBase }; // TODO: ReadEndpoint?
-          insertTask.push(this.tryInsertItem(container.items, newDef));
-        }
-
-        const items = await Promise.all(insertTask);
-        p.succeed();
-
-        const numberOfConflicts = items.reduce((prev, curr) => (curr !== null ? ++prev : prev), 0);
-
-        if (numberOfConflicts > 1) {
-          p = logger(`Caused ${numberOfConflicts}, verifying conflict resolution`).succeed();
-
-          for (const item of items) {
-            if (item !== null) {
-              await this.validateAllManualConflict(item);
-            }
-          }
-          break;
-        } else {
-          console.log("Retrying insert to induce conflicts");
-        }
-      } catch (err) {
-        p.fail();
-        throw err;
-      }
-    } while (true);
-  }
-
-  private async RunUpdateConflictOnManual() {
-    let retryCount = 5;
-    do {
-      const itemBase = { id: guid() };
-
-      const [initialRegionName, initialClient] = this.clients.entries().next().value;
-      const container = initialClient.database(this.databaseName).container(this.manualContainerName);
-      const item = { regionId: 0, regionEndpoint: initialRegionName, ...itemBase }; // TODO: ReadEndpoint?
-      const { body: newItemDef } = await container.items.create(item);
-
-      await this.sleep(1000); // 1 second for the write to sync
-
-      console.log(
-        `1) Performing conflicting update across ${this.clients.size} regions on ${this.manualContainerName}`
-      );
-
-      const updates: Array> = [];
-      let index = 0;
-      for (const [regionName, client] of this.clients.entries()) {
-        const newDef = {
-          regionId: index++,
-          regionName,
-          ...itemBase,
-          _etag: newItemDef._etag
-        };
-        updates.push(
-          this.tryUpdateItem(
-            client
-              .database(this.databaseName)
-              .container(this.manualContainerName)
-              .item(itemBase.id),
-            newDef
-          )
-        );
-      }
-
-      const updatedItems = await Promise.all(updates);
-      const numberOfConflicts = updatedItems.reduce((p: number, c: ItemDefinition) => (c !== null ? ++p : p), -1);
-      if (numberOfConflicts > 0) {
-        console.log(`2) Caused ${numberOfConflicts} update conflicts, verifying conflict resolution`);
-
-        for (const updatedItem of updatedItems) {
-          if (updatedItem) {
-            await this.validateAllManualConflict(updatedItem);
-          }
-        }
-        return;
-      } else {
-        console.log(`Found ${numberOfConflicts} - retrying to create more conflicts`);
-      }
-    } while (retryCount--);
-    console.error("Could not enduce an update conflict for manual conflict resolution");
-  }
-
-  private async RunDeleteConflictOnManual() {
-    do {
-      const itemBase = { id: guid() };
-
-      const [initialRegionName, initialClient] = this.clients.entries().next().value;
-      const container = initialClient.database(this.databaseName).container(this.manualContainerName);
-      const item = { regionId: 0, regionEndpoint: initialRegionName, ...itemBase }; // TODO: ReadEndpoint?
-      const { body: newItemDef } = await container.items.create(item);
-
-      await this.sleep(1000); // 1 second for the write to sync
-
-      console.log(
-        `1) Performing conflicting delete across ${this.clients.size} regions on ${this.manualContainerName}`
-      );
-
-      const deletes: Array> = [];
-      let index = 0;
-      for (const [regionName, client] of this.clients.entries()) {
-        const newDef = { regionId: index++, regionName, ...itemBase, _etag: newItemDef._etag, _rid: newItemDef._rid };
-        deletes.push(
-          this.tryDeleteItem(
-            client
-              .database(this.databaseName)
-              .container(this.manualContainerName)
-              .item(itemBase.id),
-            newDef
-          )
-        );
-      }
-
-      const deletedItems = await Promise.all(deletes);
-      const numberOfConflicts = deletedItems.reduce((p: number, c: ItemDefinition) => (c !== null ? ++p : p), -1);
-      if (numberOfConflicts > 1) {
-        console.log(`2) Caused ${numberOfConflicts} delete conflicts, verifying conflict resolution`);
-
-        await this.validateLWW(deletedItems, true); // LWW deletes and manual deletes are handled the same
-
-        break;
-      } else {
-        console.warn("Retrying update/delete to induce conflicts");
-      }
-    } while (true);
-  }
-
-  private async validateAllManualConflict(item: ItemDefinition) {
-    let conflictExists = false;
-    for (const [conflictRegion, client] of this.clients.entries()) {
-      conflictExists = await this.validateManualConflict(conflictRegion, client, item);
-    }
-
-    if (conflictExists) {
-      await this.DeleteConflict(item);
-    }
-  }
-
-  private async validateManualConflict(clientRegion: string, client: CosmosClient, item: ItemDefinition) {
-    while (true) {
-      const container = client.database(this.databaseName).container(this.manualContainerName);
-
-      const { result: conflicts } = await container.conflicts.readAll().toArray();
-
-      for (const conflict of conflicts) {
-        if (conflict.operationType !== Constants.OperationTypes.Delete) {
-          const content = JSON.parse(conflict.content as any);
-          if (item.id !== content.id) {
-            continue;
-          }
-
-          if (item._rid === content._rid && item._etag === content._etag) {
-            console.log(`Document from region ${item.regionId} lost conflict @ ${clientRegion}`);
-            return true;
-          } else {
-            try {
-              const winner = client.database(this.databaseName).container(this.manualContainerName);
-              console.log(`Document from region ${item.regionId} won the conflict @ ${clientRegion}`);
-              return false;
-            } catch (err) {
-              if (err.code && err.code === StatusCodes.NotFound) {
-                console.log(`Item from region ${item.regionId} not found @ ${clientRegion}`);
-              }
-            }
-          }
-        } else {
-          if (conflict.resourceId === item._rid) {
-            console.log(`Delete conflict found @ ${clientRegion}`);
-            return false;
-          }
-        }
-      }
-
-      console.warn(`Document ${item.id} is not found in conflict feed @ ${clientRegion}, retrying`);
-      await this.sleep(500);
-    }
-  }
-
-  private async RunInsertConflictOnLWW() {
-    do {
-      console.log(`1) Performing conflicting insert across ${this.clients.size} regions on ${this.lwwContainerName}`);
-
-      const inserts: Array> = [];
-      const itemBase = { id: guid() };
-
-      let index = 0;
-      for (const [clientRegion, client] of this.clients.entries()) {
-        const container = client.database(this.databaseName).container(this.lwwContainerName);
-        const newDef = { regionId: index++, regionEndpoint: clientRegion, ...itemBase }; // TODO: ReadEndpoint?
-        inserts.push(this.tryInsertItem(container.items, newDef));
-      }
-
-      const items = (await Promise.all(inserts)).filter(v => v !== null);
-
-      if (items.length > 1) {
-        console.log(`2) Caused ${items.length} insert conflicts, verifying conflict resolution`);
-
-        await this.validateLWW(items);
-        break;
-      } else {
-        console.warn("Retrying insert to induce conflicts");
-      }
-    } while (true);
-  }
-
-  private async RunUpdateConflictOnLWW() {
-    let retry = 5;
-    do {
-      const itemBase = { id: guid() };
-
-      const [initialRegionName, initialClient] = this.clients.entries().next().value;
-      const container = initialClient.database(this.databaseName).container(this.lwwContainerName);
-      const item = { regionId: 0, regionEndpoint: initialRegionName, ...itemBase }; // TODO: ReadEndpoint?
-      const { body: newItemDef } = await container.items.create(item);
-
-      await this.sleep(1000); // 1 second for the write to sync
-
-      console.log(`1) Performing conflicting update across ${this.clients.size} regions on ${this.lwwContainerName}`);
-
-      const updates: Array> = [];
-      let index = 0;
-      for (const [regionName, client] of this.clients.entries()) {
-        const newDef = { regionId: index++, regionName, ...itemBase, _etag: newItemDef._etag };
-        updates.push(
-          this.tryUpdateItem(
-            client
-              .database(this.databaseName)
-              .container(this.lwwContainerName)
-              .item(itemBase.id),
-            newDef
-          )
-        );
-      }
-
-      const items = (await Promise.all(updates)).filter(v => v !== null);
-
-      if (items.length > 1) {
-        console.log(`2) Caused ${items.length} update conflicts, verifying conflict resolution`);
-
-        await this.validateLWW(items);
-        return;
-      } else {
-        console.warn("Retrying update to induce conflicts");
-      }
-    } while (retry--);
-    console.error("Could not induce update conflict on LWW");
-  }
-
-  private async RunDeleteConflictOnLWW() {
-    do {
-      const itemBase = { id: guid() };
-
-      const [initialRegionName, initialClient] = this.clients.entries().next().value;
-      const container = initialClient.database(this.databaseName).container(this.lwwContainerName);
-      const item = { regionId: 0, regionEndpoint: initialRegionName, ...itemBase }; // TODO: ReadEndpoint?
-      const { body: newItemDef } = await container.items.create(item);
-
-      await this.sleep(1000); // 1 second for the write to sync
-
-      console.log(`1) Performing conflicting delete across ${this.clients.size} regions on ${this.lwwContainerName}`);
-
-      const deletes: Array> = [];
-      let index = 0;
-      for (const [regionName, client] of this.clients.entries()) {
-        const newDef = { regionId: index++, regionName, ...itemBase, _etag: newItemDef._etag };
-        if (index % 2 === 1) {
-          deletes.push(
-            this.tryDeleteItem(
-              client
-                .database(this.databaseName)
-                .container(this.lwwContainerName)
-                .item(itemBase.id),
-              newDef
-            )
-          );
-        } else {
-          deletes.push(
-            this.tryUpdateItem(
-              client
-                .database(this.databaseName)
-                .container(this.lwwContainerName)
-                .item(itemBase.id),
-              newDef
-            )
-          );
-        }
-      }
-
-      const items = (await Promise.all(deletes)).filter(v => v !== null);
-      if (items.length > 2) {
-        console.log(`2) Caused ${items.length} delete conflicts, verifying conflict resolution`);
-
-        await this.validateLWW(items, true);
-        break;
-      } else {
-        console.warn("Retrying update/delete to induce conflicts");
-      }
-    } while (true);
-  }
-
-  private async validateLWW(items: ItemDefinition[], hasDeleteConflict: boolean = false) {
-    for (const [regionName, client] of this.clients.entries()) {
-      await this.validateLWWPerClient(regionName, client, items, hasDeleteConflict);
-    }
-  }
-
-  private async validateLWWPerClient(
-    regionName: string,
-    client: CosmosClient,
-    items: ItemDefinition[],
-    hasDeleteConflict: boolean
-  ) {
-    const container = client.database(this.databaseName).container(this.lwwContainerName);
-
-    const { result: conflicts } = await container.conflicts.readAll().toArray();
-
-    if (conflicts.length !== 0) {
-      console.error(`Found ${conflicts.length} conflicts in the lww container`);
-      return;
-    }
-
-    if (hasDeleteConflict) {
-      do {
-        try {
-          await container.item(items[0].id).read();
-        } catch (err) {
-          if (err.code === StatusCodes.NotFound) {
-            console.log(`Delete conflict won @ ${regionName}`);
-            return;
-          }
-        }
-        console.error(`Delete conflict for item ${items[0].id} didn't win @ ${regionName}`);
-        await this.sleep(500);
-      } while (true);
-    }
-
-    const winner = items.reduce((p, c) => (p.regionId <= c.regionId ? c : p), items[0]);
-
-    console.log(`Document from region ${winner.regionId} should be the winner`);
-
-    while (true) {
-      try {
-        const { body: currentItem } = await container.item(winner.id).read();
-
-        if (currentItem.regionId === winner.regionId) {
-          console.log(`Winner document from region ${currentItem.regionId} found at ${regionName}`);
-          break;
-        }
-      } catch (err) {
-        /* No op */
-      }
-
-      console.error(
-        `Winning document version from region ${winner.regionId} is not found @ ${regionName}, retrying...`
-      );
-      await this.sleep(500);
-    }
-  }
-
-  public async RunInsertConflictOnUdp() {
-    do {
-      console.log(`1) Performing conflicting insert across ${this.clients.size} regions on ${this.udpContainerName}`);
-
-      const inserts: Array> = [];
-      const itemBase = { id: guid() };
-
-      let index = 0;
-      for (const [clientRegion, client] of this.clients.entries()) {
-        const container = client.database(this.databaseName).container(this.udpContainerName);
-        const newDef = { regionId: index++, regionEndpoint: clientRegion, ...itemBase }; // TODO: ReadEndpoint?
-        inserts.push(this.tryInsertItem(container.items, newDef));
-      }
-
-      const items = (await Promise.all(inserts)).filter(v => v !== null);
-
-      if (items.length > 1) {
-        console.log(`2) Caused ${items.length} insert conflicts, verifying conflict resolution`);
-
-        await this.validateUDP(items);
-        break;
-      } else {
-        console.warn("Retrying insert to induce conflicts");
-      }
-    } while (true);
-  }
-
-  public async RunUpdateConflictOnUdp() {
-    do {
-      const itemBase = { id: guid() };
-
-      const [initialRegionName, initialClient] = this.clients.entries().next().value;
-      const container = initialClient.database(this.databaseName).container(this.udpContainerName);
-      const item = { regionId: 0, regionEndpoint: initialRegionName, ...itemBase }; // TODO: ReadEndpoint?
-      const { body: newItemDef } = await container.items.create(item);
-
-      await this.sleep(1000); // 1 second for the write to sync
-
-      console.log(`1) Performing conflicting update across ${this.clients.size} regions on ${this.udpContainerName}`);
-
-      const updates: Array> = [];
-      let index = 0;
-      for (const [regionName, client] of this.clients.entries()) {
-        const newDef = { regionId: index++, regionName, ...itemBase, _etag: newItemDef._etag };
-        updates.push(
-          this.tryUpdateItem(
-            client
-              .database(this.databaseName)
-              .container(this.udpContainerName)
-              .item(itemBase.id),
-            newDef
-          )
-        );
-      }
-
-      const items = (await Promise.all(updates)).filter(v => v !== null);
-
-      if (items.length > 1) {
-        console.log(`2) Caused ${items.length} update conflicts, verifying conflict resolution`);
-
-        await this.validateUDP(items);
-        break;
-      } else {
-        console.warn("Retrying update to induce conflicts");
-      }
-    } while (true);
-  }
-
-  public async RunDeleteConflictsOnUdp() {
-    do {
-      const itemBase = { id: guid() };
-
-      const [initialRegionName, initialClient] = this.clients.entries().next().value;
-      const container = initialClient.database(this.databaseName).container(this.udpContainerName);
-      const item = { regionId: 0, regionEndpoint: initialRegionName, ...itemBase }; // TODO: ReadEndpoint?
-      const { body: newItemDef } = await container.items.create(item);
-
-      await this.sleep(1000); // 1 second for the write to sync
-
-      console.log(`1) Performing conflicting delete across ${this.clients.size} regions on ${this.udpContainerName}`);
-
-      const deletes: Array> = [];
-      let index = 0;
-      for (const [regionName, client] of this.clients.entries()) {
-        const newDef = { regionId: index++, regionName, ...itemBase, _etag: newItemDef._etag };
-        if (index % 2 === 1) {
-          deletes.push(
-            this.tryDeleteItem(
-              client
-                .database(this.databaseName)
-                .container(this.udpContainerName)
-                .item(itemBase.id),
-              newDef
-            )
-          );
-        } else {
-          deletes.push(
-            this.tryUpdateItem(
-              client
-                .database(this.databaseName)
-                .container(this.udpContainerName)
-                .item(itemBase.id),
-              newDef
-            )
-          );
-        }
-      }
-
-      const items = (await Promise.all(deletes)).filter(v => v !== null);
-      if (items.length > 2) {
-        console.log(`2) Caused ${items.length} delete conflicts, verifying conflict resolution`);
-
-        await this.validateUDP(items, true);
-        break;
-      } else {
-        console.warn("Retrying update/delete to induce conflicts");
-      }
-    } while (true);
-  }
-
-  private async validateUDP(items: ItemDefinition[], hasDeleteConflict: boolean = false) {
-    for (const [regionName, client] of this.clients.entries()) {
-      await this.validateUDPPerClient(regionName, client, items, hasDeleteConflict);
-    }
-  }
-
-  private async validateUDPPerClient(
-    regionName: string,
-    client: CosmosClient,
-    items: ItemDefinition,
-    hasDeleteConflict: boolean
-  ) {
-    const container = client.database(this.databaseName).container(this.udpContainerName);
-
-    const { result: conflicts } = await container.conflicts.readAll().toArray();
-
-    if (conflicts.length !== 0) {
-      console.error(`Found ${conflicts.length} conflicts in the udp container`);
-      return;
-    }
-
-    if (hasDeleteConflict) {
-      do {
-        try {
-          const { body: shouldNotExist } = await container.item(items[0].id).read();
-        } catch (err) {
-          if (err.code === StatusCodes.NotFound) {
-            console.log(`Delete conflict won @ ${regionName}`);
-            return;
-          }
-        }
-        console.error(`Delete conflict for item ${items[0].id} didn't win @ ${regionName}`);
-        await this.sleep(500);
-      } while (true);
-    }
-
-    const winner = items.reduce((p: ItemDefinition, c: ItemDefinition) => (p.regionId <= c.regionId ? c : p), items[0]);
-
-    console.log(`Document from region ${winner.regionId} should be the winner`);
-
-    while (true) {
-      try {
-        const { body: currentItem } = await container.item(winner.id).read();
-
-        if (currentItem.regionId === winner.regionId) {
-          console.log(`Winner document from region ${currentItem.regionId} found at ${regionName}`);
-          break;
-        }
-      } catch (err) {
-        /* No op */
-      }
-
-      console.error(
-        `Winning document version from region ${winner.regionId} is not found @ ${regionName}, retrying...`
-      );
-      await this.sleep(500);
-    }
-  }
-
-  private async tryInsertItem(items: Items, newDef: ItemDefinition): Promise {
-    try {
-      return (await items.create(newDef)).body;
-    } catch (err) {
-      // Handle conflict error silently
-      if (err.code === StatusCodes.Conflict) {
-        return null;
-      }
-      throw err;
-    }
-  }
-
-  private async tryUpdateItem(item: Item, newDef: ItemDefinition): Promise {
-    const time = Date.now();
-    try {
-      return (await item.replace(newDef, {
-        accessCondition: {
-          type: "IfMatch",
-          condition: newDef._etag
-        }
-      })).body;
-    } catch (err) {
-      if (err.code === StatusCodes.PreconditionFailed || err.code === StatusCodes.NotFound) {
-        console.log(`${await item.container.database.client.getWriteEndpoint()} hit ${err.code} at ${time}`);
-        return null; // Lost synchronously or not document yet. No conflict is induced.
-      } else {
-        console.log("tryUpdateItem hit unexpected error");
-        throw new Error(JSON.stringify(err));
-      }
-    }
-  }
-
-  private async tryDeleteItem(item: Item, newDef: ItemDefinition): Promise {
-    try {
-      const { body: deletedItem } = await item.delete({
-        accessCondition: {
-          type: "IfMatch",
-          condition: newDef._etag
-        }
-      });
-      return newDef;
-    } catch (err) {
-      if (err.code === StatusCodes.PreconditionFailed || err.code === StatusCodes.NotFound) {
-        return null; // Lost synchronously or not document yet. No conflict is induced.
-      } else {
-        throw new Error(err);
-      }
-    }
-  }
-
-  private async DeleteConflict(item: ItemDefinition) {
-    const client = this.clients.values().next().value;
-    const container = client.database(this.databaseName).container(this.manualContainerName);
-    const conflicts = await container.conflicts.readAll().toArray();
-
-    for (const conflict of conflicts.result) {
-      if (conflict.operationType !== Constants.OperationTypes.Delete) {
-        const content = JSON.parse(conflict.content);
-        if (content._rid === item._rid && content._etag === item._etag && content.regionId === item.regionId) {
-          console.log(`Deleting manual conflict ${conflict.resourceId} from region ${item.regionId}`);
-          await container.conflict(conflict.id).delete();
-        }
-      } else if (conflict.resourceId === item._rid) {
-        console.log(`Deleting manual conflict ${conflict.resourceId} from region ${item.regionId}`);
-        await container.conflict(conflict.id).delete();
-      }
-    }
-  }
-
-  private sleep(timeinMS: number): Promise {
-    return new Promise((res, rej) => {
-      setTimeout(() => {
-        res();
-      }, timeinMS);
-    });
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/MultiRegionWriteScenario.ts b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/MultiRegionWriteScenario.ts
deleted file mode 100644
index 4622b1c50104..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/MultiRegionWriteScenario.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { ConnectionPolicy, ConsistencyLevel, CosmosClient } from "../../lib";
-import config from "./config";
-import { ConflictWorker } from "./ConflictWorker";
-import { Worker } from "./Worker";
-// tslint:disable:no-console
-export class MultiRegionWriteScenario {
-  private basicWorkers: Worker[] = [];
-  private conflictWorker: ConflictWorker;
-  constructor() {
-    this.conflictWorker = new ConflictWorker(
-      config.databaseName,
-      config.basicCollectionName,
-      config.manualCollectionName,
-      config.lwwCollectionName,
-      config.udpCollectionName
-    );
-    for (const region of config.regions) {
-      const connectionPolicy: ConnectionPolicy = new ConnectionPolicy();
-      connectionPolicy.UseMultipleWriteLocations = true;
-      connectionPolicy.PreferredLocations = [region];
-      const client = new CosmosClient({
-        endpoint: config.endpoint,
-        auth: { masterKey: config.key },
-        connectionPolicy,
-        consistencyLevel: ConsistencyLevel.Eventual
-      });
-      this.conflictWorker.addClient(region, client);
-      this.basicWorkers.push(
-        new Worker(region, client.database(config.databaseName).container(config.basicCollectionName))
-      );
-    }
-  }
-
-  public async init() {
-    await this.conflictWorker.init();
-    console.log("Initialized containers");
-  }
-
-  public async runBasic() {
-    console.log("################################################");
-    console.log("Basic Active-Active");
-    console.log("################################################");
-
-    console.log("1) Starting insert loops across multiple regions");
-
-    await Promise.all(this.basicWorkers.map(worker => worker.RunLoop(100)));
-
-    console.log("2) Reading from every region...");
-
-    await Promise.all(this.basicWorkers.map(worker => worker.ReadAll(100 * this.basicWorkers.length)));
-
-    console.log("3) Deleting all the documents");
-
-    await this.basicWorkers[0].DeleteAll();
-
-    console.log("################################################");
-  }
-
-  public async runManualConflict() {
-    console.log("################################################");
-    console.log("Manual Conflict Resolution");
-    console.log("################################################");
-
-    await this.conflictWorker.RunManualConflict();
-    console.log("################################################");
-  }
-
-  public async runLWW() {
-    console.log("################################################");
-    console.log("LWW Conflict Resolution");
-    console.log("################################################");
-
-    await this.conflictWorker.RunLWWConflict();
-    console.log("################################################");
-  }
-
-  public async runUDP() {
-    console.log("################################################");
-    console.log("UDP Conflict Resolution");
-    console.log("################################################");
-
-    await this.conflictWorker.RunUDP();
-    console.log("################################################");
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/Worker.ts b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/Worker.ts
deleted file mode 100644
index 8d598cfb5817..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/Worker.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { v4 as guid } from "uuid";
-import { Container, CosmosClient } from "../../lib";
-
-// tslint:disable:no-console
-export class Worker {
-  constructor(private readonly regionName: string, private readonly container: Container) {}
-
-  public async RunLoop(itemsToInsert: number) {
-    let iterationCount = 0;
-
-    let latency: number[] = [];
-    while (iterationCount++ < itemsToInsert) {
-      const start = Date.now();
-      await this.container.items.create({ id: guid() });
-      const end = Date.now();
-      latency.push(end - start);
-    }
-    latency = latency.sort();
-    const p50Index = Math.floor(latency.length / 2);
-
-    console.log(`Inserted ${latency.length} documents at ${this.regionName} with p50 ${latency[p50Index]}`);
-  }
-
-  public async ReadAll(expectedNumberOfItems: number) {
-    while (true) {
-      const { result: items } = await this.container.items.readAll().toArray();
-      if (items.length < expectedNumberOfItems) {
-        console.log(
-          `Total item read ${items.length} from ${
-            this.regionName
-          } is less than ${expectedNumberOfItems}, retrying reads`
-        );
-
-        await this.sleep(1000);
-      } else {
-        console.log(`Read ${items.length} items from ${this.regionName}`);
-        return;
-      }
-    }
-  }
-
-  public async DeleteAll() {
-    const { result: items } = await this.container.items.readAll().toArray();
-    for (const item of items) {
-      await this.container.item(item.id).delete();
-    }
-    console.log(`Deleted all documents from region ${this.regionName}`);
-  }
-
-  private sleep(timeinMS: number) {
-    return new Promise(resolve => {
-      setTimeout(() => {
-        resolve();
-      }, timeinMS);
-    });
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/app.ts b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/app.ts
deleted file mode 100644
index 54ab5101d470..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/app.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { MultiRegionWriteScenario } from "./MultiRegionWriteScenario";
-
-// tslint:disable:no-console
-async function run() {
-  const scenarios = new MultiRegionWriteScenario();
-  await scenarios.init();
-
-  await scenarios.runBasic();
-  await scenarios.runManualConflict();
-  await scenarios.runLWW();
-  await scenarios.runUDP();
-}
-
-run()
-  .catch(err => {
-    console.error(err);
-    process.exit(1);
-  })
-  .then(() => {
-    console.log("Complete!");
-    process.exit(0);
-  });
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/config.ts b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/config.ts
deleted file mode 100644
index cc34928ea30a..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/config.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-const endpoint = process.env["endpoint"];
-const key = process.env["key"];
-
-if (!endpoint || !key) {
-  // tslint:disable-next-line:no-console
-  console.error("Missing endpoint and key environment variables. Exiting...");
-  process.exit(1);
-}
-
-const regions = process.env["regions"].split(";");
-
-const databaseName = process.env["databaseName"] || "js-mww-test";
-const manualCollectionName = process.env["manualCollectionName"] || "manualCollection";
-const lwwCollectionName = process.env["lwwCollectionName"] || "lwwCollection";
-const udpCollectionName = process.env["udpCollectionName"] || "udpCollection";
-const basicCollectionName = process.env["basicCollectionName"] || "basicCollection";
-
-export default {
-  endpoint,
-  key,
-  regions,
-  databaseName,
-  manualCollectionName,
-  lwwCollectionName,
-  udpCollectionName,
-  basicCollectionName
-};
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/logger.ts b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/logger.ts
deleted file mode 100644
index 7d3e4b87004b..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/logger.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import * as Ora from "ora";
-
-export default (text: string) => {
-  return new Ora({
-    spinner: "clock",
-    text
-  });
-};
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/lwwSprocDef.ts b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/lwwSprocDef.ts
deleted file mode 100644
index b2d97b33de8c..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/lwwSprocDef.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { StoredProcedureDefinition } from "../../lib";
-
-const lwwSprocDef: StoredProcedureDefinition = {
-  id: "resolver",
-  body: `function resolver(incomingRecord, existingRecord, isTombstone, conflictingRecords) {
-    var collection = getContext().getCollection();
-
-    if (!incomingRecord) {
-        if (existingRecord) {
-
-            collection.deleteDocument(existingRecord._self, {}, function(err, responseOptions) {
-                if (err) throw err;
-            });
-        }
-    } else if (isTombstone) {
-        // delete always wins.
-    } else {
-        var documentToUse = incomingRecord;
-
-        if (existingRecord) {
-            if (documentToUse.regionId < existingRecord.regionId) {
-                documentToUse = existingRecord;
-            }
-        }
-
-        var i;
-        for (i = 0; i < conflictingRecords.length; i++) {
-            if (documentToUse.regionId < conflictingRecords[i].regionId) {
-                documentToUse = conflictingRecords[i];
-            }
-        }
-
-        tryDelete(conflictingRecords, incomingRecord, existingRecord, documentToUse);
-    }
-
-    function tryDelete(documents, incoming, existing, documentToInsert) {
-        if (documents.length > 0) {
-            collection.deleteDocument(documents[0]._self, {}, function(err, responseOptions) {
-                if (err) throw err;
-
-                documents.shift();
-                tryDelete(documents, incoming, existing, documentToInsert);
-            });
-        } else if (existing) {
-                collection.replaceDocument(existing._self, documentToInsert,
-                    function(err, documentCreated) {
-                        if (err) throw err;
-                    });
-        } else {
-            collection.createDocument(collection.getSelfLink(), documentToInsert,
-                function(err, documentCreated) {
-                    if (err) throw err;
-                });
-        }
-    }
-}`
-};
-
-export default lwwSprocDef;
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/package.json b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/package.json
deleted file mode 100644
index d7b5bc128524..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/package.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "name": "multiregionwrite",
-  "version": "0.0.1",
-  "private": true,
-  "description": "Demonstrates the ability to read between multiple regions and handling conflicts",
-  "main": "app.ts",
-  "scripts": {
-    "start": "ts-node app.ts"
-  },
-  "author": "",
-  "license": "ISC",
-  "dependencies": {
-    "ora": "^3.0.0",
-    "uuid": "^3.3.2"
-  },
-  "devDependencies": {
-    "@types/ora": "^1.3.4",
-    "@types/uuid": "^3.4.3",
-    "ts-node": "^7.0.1",
-    "typescript": "^3.0.1"
-  }
-}
diff --git a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/readme.md b/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/readme.md
deleted file mode 100644
index 96d6ae3e6388..000000000000
--- a/sdk/cosmosdb/cosmos/samples/MultiRegionWrite/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Multi-Region Write
-
-This demo shows off writing to multiple regions at the same time. It also demos different conflict handling scenarios.
-
-## Quick start
-
-1. Install packages: `npm i`
-2. Set environment variables
-   1. endpoint - the endpoint url
-   2. key - the masterkey for the account
-   3. regions - a semicolon deliminated list of regions (aka westus;eastus)
-   4. There are additional config options in the config.ts file, but they are not required.
-3. Start: `npm start`
-
-## Debugging with VS Code
-
-There is a launch.json config named "MultiRegionWrite Debug" which you can use to attach via VS Code.
diff --git a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/JS/README.md b/sdk/cosmosdb/cosmos/samples/ServerSideScripts/JS/README.md
deleted file mode 100644
index f5492d8b3d45..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/JS/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Our server-side javascript samples have moved to:
-https://github.com/Azure/azure-documentdb-js-server/tree/master/samples
-
diff --git a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/JS/upsert.js b/sdk/cosmosdb/cosmos/samples/ServerSideScripts/JS/upsert.js
deleted file mode 100644
index 71522f219624..000000000000
--- a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/JS/upsert.js
+++ /dev/null
@@ -1,74 +0,0 @@
-'use strict';
-/**
- * An Azure Cosmos DB stored procedure that upserts a given document (insert new or update if present) using its id property.
- * This implementation tries to create, and if the create fails then query for the document with the specified document's id, then replace it. - * Use this sproc if creates are more common than replaces, otherwise use "upsertOptimizedForReplace" - * - * @function - * @param {Object} document - A document that should be upserted into this collection. - * @returns {Object.} Returns an object with the property:
- * op - created (or) replaced. - */ -var upsert = { - id: "upsert", - body: function (document) { - var context = getContext(); - var collection = context.getCollection(); - var collectionLink = collection.getSelfLink(); - var response = context.getResponse(); - var errorCodes = { CONFLICT: 409 }; - - // Not checking for existence of document.id for compatibility with createDocument. - if (!document) throw new Error("The document is undefined or null."); - - tryCreate(document, callback); - - function tryCreate(doc, callback) { - var isAccepted = collection.createDocument(collectionLink, doc, callback); - if (!isAccepted) throw new Error("Unable to schedule create document"); - response.setBody({"op": "created"}); - } - - // To replace the document, first issue a query to find it and then call replace. - function tryReplace(doc, callback) { - retrieveDoc(doc, null, function(retrievedDocs){ - var isAccepted = collection.replaceDocument(retrievedDocs[0]._self, doc, callback); - if (!isAccepted) throw new Error("Unable to schedule replace document"); - response.setBody({"op": "replaced"}); - }); - } - - function retrieveDoc(doc, continuation, callback) { - var query = { query: "select * from root r where r.id = @id", parameters: [ {name: "@id", value: doc.id}]}; - var requestOptions = { continuation : continuation }; - var isAccepted = collection.queryDocuments(collectionLink, query, requestOptions, function(err, retrievedDocs, responseOptions) { - if (err) throw err; - - if (retrievedDocs.length > 0) { - callback(retrievedDocs); - } else if (responseOptions.continuation) { - // Conservative check for continuation. Not expected to hit in practice for the "id query" - retrieveDoc(doc, responseOptions.continuation, callback); - } else { - throw new Error("Error in retrieving document: " + doc.id); - } - }); - if (!isAccepted) throw new Error("Unable to query documents"); - } - - // This is called when collection.createDocument is done in order to - // process the result. - function callback(err, doc, options) { - if (err) { - // Replace the document if status code is 409 and upsert is enabled - if(err.number == errorCodes.CONFLICT) { - return tryReplace(document, callback); - } else { - throw err; - } - } - } - } -} - -module.exports = upsert; \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/README.md b/sdk/cosmosdb/cosmos/samples/ServerSideScripts/README.md deleted file mode 100644 index 4590ad2f1cfd..000000000000 --- a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/README.md +++ /dev/null @@ -1 +0,0 @@ -Samples for creating and executing ServerSide Scripts such as Stored Procedures, Triggers and User Defined Functions \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/app.js b/sdk/cosmosdb/cosmos/samples/ServerSideScripts/app.js deleted file mode 100644 index 2054fba556d7..000000000000 --- a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/app.js +++ /dev/null @@ -1,66 +0,0 @@ -// @ts-check -console.log(); -console.log("Azure Cosmos DB Node.js Samples"); -console.log("================================"); -console.log(); -console.log("SERVER SIDE SCRIPTS"); -console.log("==================="); -console.log(); - -/*jshint node:true */ -("use strict"); - -const cosmos = require("../../lib/src"); -const CosmosClient = cosmos.CosmosClient; -const config = require("../Shared/config"); -const fs = require("fs"); -const databaseId = config.names.database; -const containerId = config.names.container; - -const endpoint = config.connection.endpoint; -const masterKey = config.connection.authKey; - -// Establish a new instance of the DocumentDBClient to be used throughout this demo -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -// Path to stored procedure definition -const sprocDefinition = require("./JS/upsert"); - -// Execute the stored procedure with the following parameters. -const sprocParams = [ - { - id: "myDocument", - foo: "bar" - } -]; - -async function run() { - const { database } = await client.databases.create({ id: databaseId }); - const { container } = await database.containers.create({ id: containerId }); - - console.log("Upserting the sproc: '" + sprocDefinition.id + "'"); - - // Query for the stored procedure. - const { sproc, body: sprocDef } = await container.storedProcedures.upsert(sprocDefinition); - - console.log("Executing the sproc: '" + sproc.id + "'"); - console.log("Sproc parameters: " + JSON.stringify(sprocParams)); - - const { body: results, headers } = await sproc.execute(sprocParams); - console.log("//////////////////////////////////"); - if (headers) { - console.log("// responseHeaders"); - console.log(headers); - } - if (results) { - console.log("// results"); - console.log(results); - } - console.log("//////////////////////////////////"); - - await database.delete(); - console.log("Database and Collection DELETED"); - console.log("Demo finished"); -} - -run().catch(console.error); diff --git a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/package.json b/sdk/cosmosdb/cosmos/samples/ServerSideScripts/package.json deleted file mode 100644 index 220bb71ed436..000000000000 --- a/sdk/cosmosdb/cosmos/samples/ServerSideScripts/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "cosmos-serversidescripts-sample", - "private": true, - "version": "0.0.0", - "description": "A sample showing server side scripts with Azure Cosmos DB", - "scripts": { - "start": "node app.js" - }, - "dependencies": {} -} diff --git a/sdk/cosmosdb/cosmos/samples/Shared/Data/Families.json b/sdk/cosmosdb/cosmos/samples/Shared/Data/Families.json deleted file mode 100644 index 73a534f6b771..000000000000 --- a/sdk/cosmosdb/cosmos/samples/Shared/Data/Families.json +++ /dev/null @@ -1,188 +0,0 @@ -{ - "Families": [ - { - "id": "AndersenFamily", - "lastName": "Andersen", - "parents": [ - { - "firstName": "Thomas" - }, - { - "firstName": "Mary Kay" - } - ], - "children": [ - { - "firstName": "Henriette Thaulow", - "gender": "female", - "grade": 5, - "pets": [ - { - "givenName": "Fluffy" - } - ] - } - ], - "address": { - "state": "CA", - "county": "Orange", - "city": "Los Angeles", - "zip" : 90210 - }, - "isRegistered": true - }, - { - "id": "KinDocument", - "familyName": "Kin", - "parents": [ - { - "givenName": "Tatsunari" - } - ], - "address": { - "state": "WA", - "county": "King", - "city": "Redmond", - "zip": 98052 - } - }, - { - "id": "MeyerAndFamily", - "lastName": "Meyer", - "parents": [ - { - "firstName": "April", - "pets": [ - { - "givenName": "Wheeler" - } - ] - } - ], - "children": [ - { - "firstName": "Chris", - "gender": "male" - } - ], - "address": { - "state": "WA", - "county": "King", - "city": "Kirkland", - "zip": 98033 - } - }, - { - "id": "TheAlexanders", - "familyName": "Alexander", - "parents": [ - { - "givenName": "David" - } - ], - "children": [ - { - "givenName": "Michael", - "gender": "male", - "grade": 6 - } - ], - "address": { - "state": "WA", - "county": "King", - "city": "Kirkland", - "zip": 98033 - } - }, - { - "id": "TheSmiths", - "familyName": "Smith", - "parents": [ - { - "givenName": "Tony" - }, - { - "givenName": "Denise", - "pets": [ - { - "givenName": "Chewy" - } - ] - } - ], - "children": [ - { - "givenName": "Jeff", - "gender": "male", - "grade": 2 - }, - { - "givenName": "Ben", - "gender": "male", - "grade": 5 - }, - { - "givenName": "Samantha", - "gender": "female", - "grade": 9 - } - ], - "address": { - "state": "NY", - "county": "Bronx", - "city": "The Bronx", - "zip": 10453 - } - }, - { - "id": "WakefieldFamily", - "parents": [ - { - "familyName": "Wakefield", - "givenName": "Robin" - }, - { - "familyName": "Miller", - "givenName": "Ben" - } - ], - "children": [ - { - "familyName": "Merriam", - "givenName": "Jesse", - "gender": "female", - "grade": 1, - "pets": [ - { - "givenName": "Goofy" - }, - { - "givenName": "Shadow" - } - ] - }, - { - "familyName": "Miller", - "givenName": "Lisa", - "gender": "female", - "grade": 8 - } - ], - "address": { - "state": "FL", - "city": "Miami", - "zip": 33011 - }, - "isRegistered": false - }, - { - "id": "AdamsFamily", - "address": { - "state": "FL", - "city": "Miami", - "zip": 33002 - } - } - ] -} - diff --git a/sdk/cosmosdb/cosmos/samples/Shared/config.js b/sdk/cosmosdb/cosmos/samples/Shared/config.js deleted file mode 100644 index 51ef2b78fee1..000000000000 --- a/sdk/cosmosdb/cosmos/samples/Shared/config.js +++ /dev/null @@ -1,15 +0,0 @@ -exports.connection = { - endpoint: process.env.COSMOS_SAMPLE_ENDPOINT || "https://localhost:8081/", - authKey: - process.env.COSMOS_SAMPLE_ENDPOINT || - "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==" -}; - -if (exports.connection.endpoint.includes("https://localhost")) { - process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; -} - -exports.names = { - database: "NodeSamples", - container: "Data" -}; diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/.vscode/launch.json b/sdk/cosmosdb/cosmos/samples/TodoApp/.vscode/launch.json deleted file mode 100644 index f4816c4c729a..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/.vscode/launch.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "type": "node", - "request": "launch", - "name": "Launch Program", - "program": "${workspaceFolder}/bin/www", - "sourceMaps": true, - "outFiles": [ - "${workspaceFolder}/../../lib/**" - ], - "env": { - "NODE_TLS_REJECT_UNAUTHORIZED": "0" - } - } - ] -} \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/app.js b/sdk/cosmosdb/cosmos/samples/TodoApp/app.js deleted file mode 100644 index fef8252f544e..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/app.js +++ /dev/null @@ -1,72 +0,0 @@ -const CosmosClient = require("../../").CosmosClient; -const config = require("./config"); -const TaskList = require("./routes/tasklist"); -const TaskDao = require("./models/taskDao"); - -const express = require("express"); -const path = require("path"); -const favicon = require("serve-favicon"); -const logger = require("morgan"); -const cookieParser = require("cookie-parser"); -const bodyParser = require("body-parser"); - -const index = require("./routes/index"); -const users = require("./routes/users"); - -const app = express(); - -// view engine setup -app.set("views", path.join(__dirname, "views")); -app.set("view engine", "jade"); - -// uncomment after placing your favicon in /public -//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); -app.use(logger("dev")); -app.use(bodyParser.json()); -app.use(bodyParser.urlencoded({ extended: false })); -app.use(cookieParser()); -app.use(express.static(path.join(__dirname, "public"))); - -//Todo App: -const docDbClient = new CosmosClient({ - endpoint: config.host, - auth: { - masterKey: config.authKey - } -}); -const taskDao = new TaskDao(docDbClient, config.databaseId, config.collectionId); -const taskList = new TaskList(taskDao); -taskDao - .init(err => { - console.error(err); - }) - .catch(err => { - console.error(err); - console.error("Shutting down"); - process.exit(1); - }); - -app.get("/", (req, res, next) => taskList.showTasks(req, res).catch(next)); -app.post("/addtask", (req, res, next) => taskList.addTask(req, res).catch(next)); -app.post("/completetask", (req, res, next) => taskList.completeTask(req, res).catch(next)); -app.set("view engine", "jade"); - -// catch 404 and forward to error handler -app.use(function(req, res, next) { - const err = new Error("Not Found"); - err.status = 404; - next(err); -}); - -// error handler -app.use(function(err, req, res, next) { - // set locals, only providing error in development - res.locals.message = err.message; - res.locals.error = req.app.get("env") === "development" ? err : {}; - - // render the error page - res.status(err.status || 500); - res.render("error"); -}); - -module.exports = app; diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/bin/www b/sdk/cosmosdb/cosmos/samples/TodoApp/bin/www deleted file mode 100644 index 1c58b2944cd8..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/bin/www +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env node - -/** - * Module dependencies. - */ - -const app = require('../app'); -const debug = require('debug')('todo:server'); -const http = require('http'); - -/** - * Get port from environment and store in Express. - */ - -const port = normalizePort(process.env.PORT || '3000'); -app.set('port', port); - -/** - * Create HTTP server. - */ - -const server = http.createServer(app); - -/** - * Listen on provided port, on all network interfaces. - */ - -server.listen(port); -server.on('error', onError); -server.on('listening', onListening); - -/** - * Normalize a port into a number, string, or false. - */ - -function normalizePort(val) { - const port = parseInt(val, 10); - - if (isNaN(port)) { - // named pipe - return val; - } - - if (port >= 0) { - // port number - return port; - } - - return false; -} - -/** - * Event listener for HTTP server "error" event. - */ - -function onError(error) { - if (error.syscall !== 'listen') { - throw error; - } - - const bind = typeof port === 'string' - ? 'Pipe ' + port - : 'Port ' + port; - - // handle specific listen errors with friendly messages - switch (error.code) { - case 'EACCES': - console.error(bind + ' requires elevated privileges'); - process.exit(1); - break; - case 'EADDRINUSE': - console.error(bind + ' is already in use'); - process.exit(1); - break; - default: - throw error; - } -} - -/** - * Event listener for HTTP server "listening" event. - */ - -function onListening() { - const addr = server.address(); - const bind = typeof addr === 'string' - ? 'pipe ' + addr - : 'port ' + addr.port; - debug('Listening on ' + bind); -} diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/config.js b/sdk/cosmosdb/cosmos/samples/TodoApp/config.js deleted file mode 100644 index 463a379dec0c..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/config.js +++ /dev/null @@ -1,14 +0,0 @@ -const config = {}; - -config.host = process.env.HOST || "https://localhost:8081/"; -config.authKey = - process.env.AUTH_KEY || "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="; -config.databaseId = "ToDoList"; -config.collectionId = "Items"; - -if (config.host.includes("https://localhost:")) { - console.log("WARNING: Disabled checking of self-signed certs. Do not have this code in production."); - process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; -} - -module.exports = config; diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/models/taskDao.js b/sdk/cosmosdb/cosmos/samples/TodoApp/models/taskDao.js deleted file mode 100644 index 1c7716859443..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/models/taskDao.js +++ /dev/null @@ -1,77 +0,0 @@ -// @ts-check -const CosmosClient = require("../../../").CosmosClient; - -class TaskDao { - /** - * - * @param {CosmosClient} cosmosClient - * @param {*} databaseId - * @param {*} containerId - */ - constructor(cosmosClient, databaseId, containerId) { - this.client = cosmosClient; - this.databaseId = databaseId; - this.collectionId = containerId; - - this.database = null; - this.container = null; - } - - async init() { - try { - const dbResponse = await this.client.databases.createIfNotExists({ id: this.databaseId }); - this.database = dbResponse.database; - const coResponse = await this.database.containers.create({ id: this.collectionId }); - this.container = coResponse.container; - } catch (err) { - throw err; - } - } - - async find(querySpec) { - if (!this.container) { - throw new Error("Collection is not initialized."); - } - try { - const { result: results } = await this.container.items.query(querySpec).toArray(); - return results; - } catch (err) { - throw err; - } - } - - async addItem(item) { - item.date = Date.now(); - item.completed = false; - try { - const { body: doc } = await this.container.items.create(item); - return doc; - } catch (err) { - throw err; - } - } - - async updateItem(itemId) { - try { - const doc = await this.getItem(itemId); - doc.completed = true; - - const { body: replaced } = await this.container.item(itemId).replace(doc); - return replaced; - } catch (err) { - throw err; - } - } - - async getItem(itemId) { - try { - const { body } = await this.container.item(itemId).read(); - - return body; - } catch (err) { - throw err; - } - } -} - -module.exports = TaskDao; diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/package.json b/sdk/cosmosdb/cosmos/samples/TodoApp/package.json deleted file mode 100644 index 539fb0e4046c..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "todo", - "version": "0.0.0", - "private": true, - "scripts": { - "start": "set NODE_TLS_REJECT_UNAUTHORIZED=0 && node ./bin/www" - }, - "dependencies": { - "async": "^2.1.2", - "body-parser": "~1.15.2", - "cookie-parser": "~1.4.3", - "debug": "~2.2.0", - "express": "~4.14.0", - "jade": "~1.11.0", - "morgan": "~1.7.0", - "serve-favicon": "~2.3.0" - } -} diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/public/stylesheets/style.css b/sdk/cosmosdb/cosmos/samples/TodoApp/public/stylesheets/style.css deleted file mode 100644 index 2c0c235ac1c9..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/public/stylesheets/style.css +++ /dev/null @@ -1,17 +0,0 @@ -body { - padding: 50px; - font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; -} -a { - color: #00B7FF; -} -.well label { - display: block; -} -.well input { - margin-bottom: 5px; -} -.btn { - margin-top: 5px; - border: outset 1px #C8C8C8; -} \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/readme.md b/sdk/cosmosdb/cosmos/samples/TodoApp/readme.md deleted file mode 100644 index 99b87ed39e6c..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/readme.md +++ /dev/null @@ -1,26 +0,0 @@ -# Todo App - -Sample Todo app - -## Prereqs - -- Build the SDK (see [dev.md](../../dev.md)) -- Node 8 (uses async/await) - -## Config - -If you're using the local emulator with default config, it should work without setting any additionanl config - -**Environment Variables** -- `host` - url for the Cosmos DB (default is https://localhost:8081) -- `AUTH_KEY` - master key for the Cosmos DB (default is the well known key for emulator) -- `PORT` - port for the web app (default is 3000) - -## Run - -```bash -npm i -npm start -``` - -open browser to http://localhost:3000 \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/routes/index.js b/sdk/cosmosdb/cosmos/samples/TodoApp/routes/index.js deleted file mode 100644 index 6e84977257a7..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/routes/index.js +++ /dev/null @@ -1,9 +0,0 @@ -const express = require('express'); -const router = express.Router(); - -/* GET home page. */ -router.get('/', function(req, res, next) { - res.render('index', { title: 'Express' }); -}); - -module.exports = router; diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/routes/tasklist.js b/sdk/cosmosdb/cosmos/samples/TodoApp/routes/tasklist.js deleted file mode 100644 index 51dfe0aa24ed..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/routes/tasklist.js +++ /dev/null @@ -1,63 +0,0 @@ -const CosmosClient = require('../../../').DocumentClient; -const TaskDao = require('../models/TaskDao'); -const async = require('async'); - -class TaskList { - /** - * - * @param {TaskDao} taskDao - */ - constructor(taskDao) { - this.taskDao = taskDao; - } - async showTasks(req, res) { - const querySpec = { - query: 'SELECT * FROM root r WHERE r.completed=@completed', - parameters: [{ - name: '@completed', - value: false - }] - }; - - try { - const items = await this.taskDao.find() - res.render('index', { - title: 'My ToDo List ', - tasks: items - }); - - } catch (err) { - throw err; - } - } - - async addTask(req, res) { - const item = req.body; - - try { - await this.taskDao.addItem(item); - res.redirect('/'); - } catch (err) { - throw err; - } - } - - async completeTask(req, res) { - const completedTasks = Object.keys(req.body); - const tasks = []; - - try { - completedTasks.forEach((task) => { - tasks.push(this.taskDao.updateItem(task)); - }); - - await Promise.all(tasks); - - res.redirect('/'); - } catch (err) { - throw err; - } - } -} - -module.exports = TaskList; \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/routes/users.js b/sdk/cosmosdb/cosmos/samples/TodoApp/routes/users.js deleted file mode 100644 index f15a20da957e..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/routes/users.js +++ /dev/null @@ -1,9 +0,0 @@ -const express = require('express'); -const router = express.Router(); - -/* GET users listing. */ -router.get('/', function(req, res, next) { - res.send('respond with a resource'); -}); - -module.exports = router; diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/views/error.jade b/sdk/cosmosdb/cosmos/samples/TodoApp/views/error.jade deleted file mode 100644 index 51ec12c6a263..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/views/error.jade +++ /dev/null @@ -1,6 +0,0 @@ -extends layout - -block content - h1= message - h2= error.status - pre #{error.stack} diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/views/index.jade b/sdk/cosmosdb/cosmos/samples/TodoApp/views/index.jade deleted file mode 100644 index 672292385b09..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/views/index.jade +++ /dev/null @@ -1,40 +0,0 @@ -extends layout - -block content - h1 #{title} - br - - form(action="/completetask", method="post") - table.table.table-striped.table-bordered - tr - td Name - td Category - td Date - td Complete - if (typeof tasks === "undefined") - tr - td - else - each task in tasks - tr - td #{task.name} - td #{task.category} - - var date = new Date(task.date); - - var day = date.getDate(); - - var month = date.getMonth() + 1; - - var year = date.getFullYear(); - td #{month + "/" + day + "/" + year} - td - if(task.completed) - input(type="checkbox", disabled, name="#{task.id}", value="#{!task.completed}", checked=task.completed) - else - input(type="checkbox", name="#{task.id}", value="#{!task.completed}", checked=task.completed) - button.btn(type="submit") Update tasks - hr - form.well(action="/addtask", method="post") - label Item Name: - input(name="name", type="textbox") - label Item Category: - input(name="category", type="textbox") - br - button.btn(type="submit") Add item \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/TodoApp/views/layout.jade b/sdk/cosmosdb/cosmos/samples/TodoApp/views/layout.jade deleted file mode 100644 index 4c6ad80fd843..000000000000 --- a/sdk/cosmosdb/cosmos/samples/TodoApp/views/layout.jade +++ /dev/null @@ -1,13 +0,0 @@ -doctype html -html - head - title= title - link(rel='stylesheet', href='//ajax.aspnetcdn.com/ajax/bootstrap/3.3.2/css/bootstrap.min.css') - link(rel='stylesheet', href='/stylesheets/style.css') - body - nav.navbar.navbar-inverse.navbar-fixed-top - div.navbar-header - a.navbar-brand(href='#') My Tasks - block content - script(src='//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.2.min.js') - script(src='//ajax.aspnetcdn.com/ajax/bootstrap/3.3.2/bootstrap.min.js') \ No newline at end of file diff --git a/sdk/cosmosdb/cosmos/samples/UserManagement/README.md b/sdk/cosmosdb/cosmos/samples/UserManagement/README.md deleted file mode 100644 index 74ceb86a2d39..000000000000 --- a/sdk/cosmosdb/cosmos/samples/UserManagement/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# UserManagement - - diff --git a/sdk/cosmosdb/cosmos/samples/UserManagement/app.js b/sdk/cosmosdb/cosmos/samples/UserManagement/app.js deleted file mode 100644 index 865f5df351a4..000000000000 --- a/sdk/cosmosdb/cosmos/samples/UserManagement/app.js +++ /dev/null @@ -1,259 +0,0 @@ -// @ts-check -console.log(); -console.log("Azure Cosmos DB Node.js Samples"); -console.log("================================"); -console.log(); -console.log("USER MANAGEMENT"); -console.log("================"); -console.log(); - -const cosmos = require("../../lib/src"); -const CosmosClient = cosmos.CosmosClient; -const config = require("../Shared/config"); -const databaseId = config.names.database; -const containerId = config.names.container; - -const endpoint = config.connection.endpoint; -const masterKey = config.connection.authKey; - -const container1Name = "COL1"; -const container2Name = "COL2"; -const user1Name = "Thomas Andersen"; -const user2Name = "Robin Wakefield"; -const item1Name = "item1"; -const item2Name = "item2"; -const item3Name = "item3"; - -// Establish a new instance of the DocumentDBClient to be used throughout this demo -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -async function run() { - const resources = await init(); - await attemptAdminOperations(resources.container1, resources.user1, resources.permission1); - await attemptWriteWithReadPermissionAsync(resources.container1, resources.user1, resources.permission1); - await attemptReadFromTwoCollections( - resources.container1, - resources.container2, - resources.user1, - resources.permission1, - resources.permission3 - ); - await finish(); -} - -async function init() { - //-------------------------------------------------------------------------------------------------- - // We need a database, two containers, two users, and some permissions for this sample, - // So let's go ahead and set these up initially - //-------------------------------------------------------------------------------------------------- - const { database } = await client.databases.createIfNotExists({ id: databaseId }); - const { container: container1 } = await database.containers.createIfNotExists({ id: container1Name }); - const { container: container2 } = await database.containers.createIfNotExists({ id: container2Name }); - - let itemSpec = { id: item1Name }; - - let userDef = { id: user1Name }; - - let permissionDef; - - const { body: itemDef, item: item1 } = await container1.items.create(itemSpec); - console.log(`${item1Name}Created in ${container1Name} !`); - - itemSpec = { id: item2Name }; - - const { item: item2 } = await container1.items.create(itemSpec); - console.log(`${item2Name}Created in ${container1Name} !`); - - itemSpec = { id: item3Name }; - - const { item: item3 } = await container2.items.create(itemSpec); - console.log(`${item3Name} Created in ${container2Name} !`); - - const { user: user1 } = await database.users.create(userDef); - console.log(`${user1Name} created!`); - - userDef = { id: user2Name }; - - const { user: user2 } = await database.users.create(userDef); - console.log(`${user2Name} created!`); - - // Read Permission on container 1 for user1 - permissionDef = { id: "p1", permissionMode: cosmos.DocumentBase.PermissionMode.Read, resource: container1.url }; - - const { ref: permission1 } = await user1.permissions.create(permissionDef); - console.log(`Read only permission assigned to Thomas Andersen on container 1!`); - - permissionDef = { id: "p2", permissionMode: cosmos.DocumentBase.PermissionMode.All, resource: item1.url }; - - // All Permissions on Doc1 for user1 - const { ref: permission2 } = await user1.permissions.create(permissionDef); - console.log("All permission assigned to Thomas Andersen on item 1!"); - - permissionDef = { id: "p3", permissionMode: cosmos.DocumentBase.PermissionMode.Read, resource: container2.url }; - - // Read Permissions on Col2 for user1 - const { ref: permission3 } = await user1.permissions.create(permissionDef); - console.log("Read permission assigned to Thomas Andersen on container 2!"); - - permissionDef = { id: "p4", permissionMode: cosmos.DocumentBase.PermissionMode.All, resource: container2.url }; - - const { ref: permission4 } = await user2.permissions.create(permissionDef); - console.log("All permission assigned to Robin Wakefield on container 2!"); - - const { result: permissions } = await user1.permissions.readAll().toArray(); - console.log(`Fetched permission for Thomas Andersen. Count is : ${permissions.length}`); - - return { user1, user2, container1, container2, permission1, permission2, permission3, permission4 }; -} - -//handle error -async function handleError(error) { - console.log(); - console.log(`An error with code '${error.code}' has occurred:`); - console.log(`\t${error.body || error}`); - if (error.headers) { - console.log(`\t${JSON.stringify(error.headers)}`); - } - console.log(); - try { - await finish(); - } catch (err) { - console.log("Database might not have cleaned itself up properly..."); - } -} - -async function finish() { - await client.database(databaseId).delete(); - console.log(); - console.log("End of demo."); -} - -/** - * - * @param {cosmos.Permission} permission - */ -async function getResourceToken(container, permission) { - const { body: permDef } = await permission.read(); - const resourceToken = {}; - resourceToken[container.url] = permDef._token; - return resourceToken; -} - -/** - * Attempt to do admin operations when user only has Read on a container - * @param {cosmos.Container} container - * @param {cosmos.User} user - * @param {cosmos.Permission} permission - */ -async function attemptAdminOperations(container, user, permission) { - /** @type any */ - const resourceTokens = await getResourceToken(container, permission); - const client = new CosmosClient({ - endpoint, - auth: { - resourceTokens - } - }); - - await client - .database(databaseId) - .container(container.id) - .items.readAll() - .toArray(); - console.log(`${user.id} able to perform read operation on container 1`); - - try { - await client.databases.readAll().toArray(); - } catch (err) { - console.log( - `Expected error occurred as ${user.id} does not have access to get the list of databases. Error code : ${ - err.code - }` - ); - } -} - -/** - * attempts to write in container 1 with user 1 permission. It fails as the user1 has read only permission on container 1 - * @param {cosmos.Container} container - * @param {cosmos.User} user - * @param {cosmos.Permission} permission - */ -async function attemptWriteWithReadPermissionAsync(container, user, permission) { - /** @type any */ - const resourceTokens = await getResourceToken(container, permission); - const client = new CosmosClient({ - endpoint, - auth: { - resourceTokens - } - }); - - const itemDef = { id: "not allowed" }; - try { - await client - .database(databaseId) - .container(container.id) - .items.upsert(itemDef); - } catch (err) { - console.log( - `Expected error occurred as ${ - user.id - } does not have access to insert an item in the first container. Error code : ${err.code}` - ); - } -} - -//attempts to read from both the containers as the user has read permission -/** - * - * @param {cosmos.Container} container1 - * @param {cosmos.Container} container2 - * @param {cosmos.User} user1 - * @param {cosmos.Permission} permission1 - * @param {cosmos.Permission} permission2 - */ -async function attemptReadFromTwoCollections(container1, container2, user1, permission1, permission2) { - const token1 = await getResourceToken(container1, permission1); - const token2 = await getResourceToken(container2, permission2); - const resourceTokens = { ...token1, ...token2 }; - - const client = new CosmosClient({ - endpoint, - auth: { - resourceTokens - } - }); - - const { result: items1 } = await client - .database(databaseId) - .container(container1.id) - .items.readAll() - .toArray(); - console.log(`${user1.id} able to read items from container 1. Document count is ${items1.length}`); - - const { result: items2 } = await client - .database(databaseId) - .container(container2.id) - .items.readAll() - .toArray(); - - console.log(`${user1.id} able to read items from container 2. Document count is ${items2.length}`); - - const itemDef = { id: "not allowed" }; - - try { - await client - .database(databaseId) - .container(container2.id) - .items.upsert(itemDef); - } catch (err) { - console.log( - `Expected error occurred as ${user1.id} does not have access to insert an item in container 2. Error code : ${ - err.code - }` - ); - } -} - -run().catch(handleError); diff --git a/sdk/cosmosdb/cosmos/samples/UserManagement/package.json b/sdk/cosmosdb/cosmos/samples/UserManagement/package.json deleted file mode 100644 index 57f9302c985d..000000000000 --- a/sdk/cosmosdb/cosmos/samples/UserManagement/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "user-management", - "version": "0.0.0", - "private": true, - "description": "UserManagement", - "scripts": { - "start": "node app.js" - }, - "dependencies": {} -} diff --git a/sdk/cosmosdb/cosmos/samples/readme.md b/sdk/cosmosdb/cosmos/samples/readme.md deleted file mode 100644 index d976430b2def..000000000000 --- a/sdk/cosmosdb/cosmos/samples/readme.md +++ /dev/null @@ -1,51 +0,0 @@ -## Introduction - -These samples demonstrate how to use the Node.js SDK to interact with the [Azure Cosmos DB](https://docs.microsoft.com/azure/cosmos-db/) service - -## Running the samples - -### Quick steps: - -1. Start the Cosmos DB emulator -2. Follow the steps in [../dev.md](../dev.md) to build the SDK. -3. `cd` into a given sample's directory -4. `npm start` - -### Debugging - -These samples were built using [VS Code](https://code.visualstudio.com) and includes a `.vscode/launch.json`. However, you do not _need_ anything other than Node.js to run these samples. Just run the app.js in your choice of editor or terminal. - -To debug in VS Code, just use the "Debug File" option, and start it in the sample's app.js of your choice. (For the TodoApp, you need to start from `bin/www`) - -### Cosmos Account - -Before you can run any of the samples you do need an active Azure Cosmos DB account or the emulator. -Head over to [How to create a Azure Cosmos DB database account](https://docs.microsoft.com/azure/cosmos-db/create-sql-api-nodejs#create-a-database-account) and see how to setup your account. Check out the emulator (windows only at the moment) [here](https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator). - -## Description - -Azure Cosmos DB is a fully managed, scalable, query-able, schema free JSON document database service built for modern applications and delivered to you by Microsoft. - -These samples demonstrate how to use the Client SDKs to interact with the service. - -- **CollectionManagement** - CRUD operations on DocumentCollection resources. - -- **DatabaseManagent** - CRUD operations on Database resources. - -- **DocumentManagement** - CRUD operations on Document resources. - -- **IndexManagement** - shows samples on how to customize the Indexing Policy for a Collection should you need to. - -- **Partitioning** - shows samples on using the provided hashPartitionResolver and rangePartitionResolver classes, and how to implement custom resolvers. - -- **ServerSideScripts** - shows how to create, and execute, server-side stored procedures, triggers and user-defined functions. - -- **TodoApp** - Quick and simple todo app. - -After walking through these samples you should have a good idea of how to get going and how to make use of the various Azure Cosmos DB APIs. - -There are step-by-step tutorials and more documentation on the [Azure Cosmos DB documentation](https://docs.microsoft.com/azure/cosmos-db/) page so head over about this NoSQL document database. - -## More information - -For more information on this database service, please refer to the [Azure Cosmos DB](https://azure.microsoft.com/services/cosmos-db/) service page. diff --git a/sdk/cosmosdb/cosmos/src/ChangeFeedIterator.ts b/sdk/cosmosdb/cosmos/src/ChangeFeedIterator.ts deleted file mode 100644 index 62163d591194..000000000000 --- a/sdk/cosmosdb/cosmos/src/ChangeFeedIterator.ts +++ /dev/null @@ -1,142 +0,0 @@ -/// -import { ChangeFeedOptions } from "./ChangeFeedOptions"; -import { ChangeFeedResponse } from "./ChangeFeedResponse"; -import { Resource } from "./client"; -import { ClientContext } from "./ClientContext"; -import { Constants, ResourceType, StatusCodes } from "./common"; -import { FeedOptions } from "./request"; -import { Response } from "./request"; - -/** - * Provides iterator for change feed. - * - * Use `Items.readChangeFeed()` to get an instance of the iterator. - */ -export class ChangeFeedIterator { - private static readonly IfNoneMatchAllHeaderValue = "*"; - private nextIfNoneMatch: string; - private ifModifiedSince: string; - private lastStatusCode: number; - private isPartitionSpecified: boolean; - - /** - * @internal - * @hidden - * - * @param clientContext - * @param resourceId - * @param resourceLink - * @param isPartitionedContainer - * @param changeFeedOptions - */ - constructor( - private clientContext: ClientContext, - private resourceId: string, - private resourceLink: string, - private partitionKey: string | number | boolean, - private isPartitionedContainer: () => Promise, - private changeFeedOptions: ChangeFeedOptions - ) { - // partition key XOR partition key range id - const partitionKeyValid = partitionKey !== undefined; - this.isPartitionSpecified = partitionKeyValid; - - let canUseStartFromBeginning = true; - if (changeFeedOptions.continuation) { - this.nextIfNoneMatch = changeFeedOptions.continuation; - canUseStartFromBeginning = false; - } - - if (changeFeedOptions.startTime) { - // .toUTCString() is platform specific, but most platforms use RFC 1123. - // In ECMAScript 2018, this was standardized to RFC 1123. - // See for more info: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString - this.ifModifiedSince = changeFeedOptions.startTime.toUTCString(); - canUseStartFromBeginning = false; - } - - if (canUseStartFromBeginning && !changeFeedOptions.startFromBeginning) { - this.nextIfNoneMatch = ChangeFeedIterator.IfNoneMatchAllHeaderValue; - } - } - - /** - * Gets a value indicating whether there are potentially additional results that can be retrieved. - * - * Initially returns true. This value is set based on whether the last execution returned a continuation token. - * - * @returns Boolean value representing if whether there are potentially additional results that can be retrieved. - */ - get hasMoreResults(): boolean { - return this.lastStatusCode !== StatusCodes.NotModified; - } - - /** - * Gets an async iterator which will yield pages of results from Azure Cosmos DB. - */ - public async *getAsyncIterator(): AsyncIterable>> { - do { - const result = await this.executeNext(); - if (result.count > 0) { - yield result; - } - } while (this.hasMoreResults); - } - - /** - * Read feed and retrieves the next page of results in Azure Cosmos DB. - */ - public async executeNext(): Promise>> { - const response = await this.getFeedResponse(); - this.lastStatusCode = response.statusCode; - this.nextIfNoneMatch = response.headers[Constants.HttpHeaders.ETag]; - return response; - } - - private async getFeedResponse(): Promise>> { - const isParittionedContainer = await this.isPartitionedContainer(); - if (!this.isPartitionSpecified && isParittionedContainer) { - throw new Error("Container is partitioned, but no partition key or partition key range id was specified."); - } - const feedOptions: FeedOptions = { initialHeaders: {}, a_im: "Incremental feed" }; - - if (typeof this.changeFeedOptions.maxItemCount === "number") { - feedOptions.maxItemCount = this.changeFeedOptions.maxItemCount; - } - - if (this.changeFeedOptions.sessionToken) { - feedOptions.sessionToken = this.changeFeedOptions.sessionToken; - } - - if (this.nextIfNoneMatch) { - feedOptions.accessCondition = { - type: Constants.HttpHeaders.IfNoneMatch, - condition: this.nextIfNoneMatch - }; - } - - if (this.ifModifiedSince) { - feedOptions.initialHeaders[Constants.HttpHeaders.IfModifiedSince] = this.ifModifiedSince; - } - - if (this.partitionKey !== undefined) { - feedOptions.partitionKey = this.partitionKey as any; // TODO: our partition key is too restrictive on the main object - } - - const response: Response> = await (this.clientContext.queryFeed( - this.resourceLink, - ResourceType.item, - this.resourceId, - result => (result ? result.Documents : []), - undefined, - feedOptions - ) as Promise); // TODO: some funky issues with query feed. Probably need to change it up. - - return new ChangeFeedResponse( - response.result, - response.result ? response.result.length : 0, - response.statusCode, - response.headers - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/ChangeFeedOptions.ts b/sdk/cosmosdb/cosmos/src/ChangeFeedOptions.ts deleted file mode 100644 index 8639a5151744..000000000000 --- a/sdk/cosmosdb/cosmos/src/ChangeFeedOptions.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Specifies options for the change feed - * - * Some of these options control where and when to start reading from the change feed. The order of precedence is: - * - continuation - * - startTime - * - startFromBeginning - * - * If none of those options are set, it will start reading changes from the first `ChangeFeedIterator.executeNext()` call. - */ -export interface ChangeFeedOptions { - /** - * Max amount of items to return per page - */ - maxItemCount?: number; - /** - * The continuation token to start from. - * - * This is equivalent to the etag and continuation value from the `ChangeFeedResponse` - */ - continuation?: string; - /** - * The session token to use. If not specified, will use the most recent captured session token to start with. - */ - sessionToken?: string; - /** - * Signals whether to start from the beginning or not. - */ - startFromBeginning?: boolean; - /** - * Specified the start time to start reading changes from. - */ - startTime?: Date; -} diff --git a/sdk/cosmosdb/cosmos/src/ChangeFeedResponse.ts b/sdk/cosmosdb/cosmos/src/ChangeFeedResponse.ts deleted file mode 100644 index 773f3b370fe6..000000000000 --- a/sdk/cosmosdb/cosmos/src/ChangeFeedResponse.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { Constants } from "./common"; -import { IHeaders } from "./queryExecutionContext"; - -/** - * A single response page from the Azure Cosmos DB Change Feed - */ -export class ChangeFeedResponse { - /** - * @internal - * @hidden - * - * @param result - * @param count - * @param statusCode - * @param headers - */ - constructor( - /** - * Gets the items returned in the response from Azure Cosmos DB - */ - public readonly result: T, - /** - * Gets the number of items returned in the response from Azure Cosmos DB - */ - public readonly count: number, - /** - * Gets the status code of the response from Azure Cosmos DB - */ - public readonly statusCode: number, - headers: IHeaders - ) { - this.headers = Object.freeze(headers); - } - - /** - * Gets the request charge for this request from the Azure Cosmos DB service. - */ - public get requestCharge(): number { - const rus = this.headers[Constants.HttpHeaders.RequestCharge]; - return rus ? parseInt(rus, 10) : null; - } - - /** - * Gets the activity ID for the request from the Azure Cosmos DB service. - */ - public get activityId(): string { - return this.headers[Constants.HttpHeaders.ActivityId]; - } - - /** - * Gets the continuation token to be used for continuing enumeration of the Azure Cosmos DB service. - * - * This is equivalent to the `etag` property. - */ - public get continuation(): string { - return this.etag; - } - - /** - * Gets the session token for use in session consistency reads from the Azure Cosmos DB service. - */ - public get sessionToken(): string { - return this.headers[Constants.HttpHeaders.SessionToken]; - } - - /** - * Gets the entity tag associated with last transaction in the Azure Cosmos DB service, - * which can be used as If-Non-Match Access condition for ReadFeed REST request or - * `continuation` property of `ChangeFeedOptions` parameter for - * `Items.readChangeFeed()` - * to get feed changes since the transaction specified by this entity tag. - * - * This is equivalent to the `continuation` property. - */ - public get etag(): string { - return this.headers[Constants.HttpHeaders.ETag]; - } - - /** - * Response headers of the response from Azure Cosmos DB - */ - public headers: IHeaders; -} diff --git a/sdk/cosmosdb/cosmos/src/ClientContext.ts b/sdk/cosmosdb/cosmos/src/ClientContext.ts deleted file mode 100644 index 7723d7934961..000000000000 --- a/sdk/cosmosdb/cosmos/src/ClientContext.ts +++ /dev/null @@ -1,548 +0,0 @@ -import { Constants, CosmosClientOptions, IHeaders, QueryIterator, RequestOptions, Response, SqlQuerySpec } from "."; -import { PartitionKeyRange } from "./client/Container/PartitionKeyRange"; -import { Resource } from "./client/Resource"; -import { Helper, StatusCodes, SubStatusCodes } from "./common"; -import { ConnectionPolicy, ConsistencyLevel, DatabaseAccount, QueryCompatibilityMode } from "./documents"; -import { GlobalEndpointManager } from "./globalEndpointManager"; -import { FetchFunctionCallback } from "./queryExecutionContext"; -import { FeedOptions, RequestHandler } from "./request"; -import { ErrorResponse, getHeaders } from "./request/request"; -import { RequestContext } from "./request/RequestContext"; -import { SessionContainer } from "./session/sessionContainer"; -import { SessionContext } from "./session/SessionContext"; - -/** - * @hidden - * @ignore - */ -export class ClientContext { - private readonly sessionContainer: SessionContainer; - private connectionPolicy: ConnectionPolicy; - private requestHandler: RequestHandler; - - public partitionKeyDefinitionCache: { [containerUrl: string]: any }; // TODO: ParitionKeyDefinitionCache - public constructor( - private cosmosClientOptions: CosmosClientOptions, - private globalEndpointManager: GlobalEndpointManager - ) { - this.connectionPolicy = Helper.parseConnectionPolicy(cosmosClientOptions.connectionPolicy); - this.sessionContainer = new SessionContainer(); - this.requestHandler = new RequestHandler( - globalEndpointManager, - this.connectionPolicy, - this.cosmosClientOptions.agent - ); - this.partitionKeyDefinitionCache = {}; - } - /** @ignore */ - public async read( - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise> { - try { - const requestHeaders = await getHeaders( - this.cosmosClientOptions.auth, - { ...initialHeaders, ...this.cosmosClientOptions.defaultHeaders, ...(options && options.initialHeaders) }, - "get", - path, - id, - type, - options, - undefined, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - this.applySessionToken(path, requestHeaders); - - const request: any = { - // TODO: any - path, - operationType: Constants.OperationTypes.Read, - client: this, - endpointOverride: null - }; - // read will use ReadEndpoint since it uses GET operation - const endpoint = await this.globalEndpointManager.resolveServiceEndpoint(request); - const response = await this.requestHandler.get(endpoint, request, requestHeaders); - this.captureSessionToken(undefined, path, Constants.OperationTypes.Read, response.headers); - return response; - } catch (err) { - this.captureSessionToken(err, path, Constants.OperationTypes.Upsert, (err as ErrorResponse).headers); - throw err; - } - } - - public async queryFeed( - path: string, - type: string, // TODO: code smell: enum? - id: string, - resultFn: (result: { [key: string]: any }) => any[], // TODO: any - query: SqlQuerySpec | string, - options: FeedOptions, - partitionKeyRangeId?: string - ): Promise> { - // Query operations will use ReadEndpoint even though it uses - // GET(for queryFeed) and POST(for regular query operations) - - const request: any = { - // TODO: any request - path, - operationType: Constants.OperationTypes.Query, - client: this, - endpointOverride: null - }; - - const endpoint = await this.globalEndpointManager.resolveServiceEndpoint(request); - - const initialHeaders = { ...this.cosmosClientOptions.defaultHeaders, ...(options && options.initialHeaders) }; - if (query === undefined) { - const reqHeaders = await getHeaders( - this.cosmosClientOptions.auth, - initialHeaders, - "get", - path, - id, - type, - options, - partitionKeyRangeId, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - this.applySessionToken(path, reqHeaders); - - const response = await this.requestHandler.get(endpoint, request, reqHeaders); - this.captureSessionToken(undefined, path, Constants.OperationTypes.Query, response.headers); - return this.processQueryFeedResponse(response, !!query, resultFn); - } else { - initialHeaders[Constants.HttpHeaders.IsQuery] = "true"; - switch (this.cosmosClientOptions.queryCompatibilityMode) { - case QueryCompatibilityMode.SqlQuery: - initialHeaders[Constants.HttpHeaders.ContentType] = Constants.MediaTypes.SQL; - break; - case QueryCompatibilityMode.Query: - case QueryCompatibilityMode.Default: - default: - if (typeof query === "string") { - query = { query }; // Converts query text to query object. - } - initialHeaders[Constants.HttpHeaders.ContentType] = Constants.MediaTypes.QueryJson; - break; - } - - const reqHeaders = await getHeaders( - this.cosmosClientOptions.auth, - initialHeaders, - "post", - path, - id, - type, - options, - partitionKeyRangeId, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - this.applySessionToken(path, reqHeaders); - - const response = await this.requestHandler.post(endpoint, request, query, reqHeaders); - this.captureSessionToken(undefined, path, Constants.OperationTypes.Query, response.headers); - return this.processQueryFeedResponse(response, !!query, resultFn); - } - } - - public queryPartitionKeyRanges(collectionLink: string, query?: string | SqlQuerySpec, options?: FeedOptions) { - const path = Helper.getPathFromLink(collectionLink, "pkranges"); - const id = Helper.getIdFromLink(collectionLink); - const cb: FetchFunctionCallback = innerOptions => { - return this.queryFeed(path, "pkranges", id, result => result.PartitionKeyRanges, query, innerOptions); - }; - return new QueryIterator(this, query, options, cb); - } - - public async delete( - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise> { - try { - const reqHeaders = await getHeaders( - this.cosmosClientOptions.auth, - { ...initialHeaders, ...this.cosmosClientOptions.defaultHeaders, ...(options && options.initialHeaders) }, - "delete", - path, - id, - type, - options, - undefined, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - - const request: RequestContext = { - client: this, - operationType: Constants.OperationTypes.Delete, - path, - resourceType: type - }; - - this.applySessionToken(path, reqHeaders); - // deleteResource will use WriteEndpoint since it uses DELETE operation - const endpoint = await this.globalEndpointManager.resolveServiceEndpoint(request); - const response = await this.requestHandler.delete(endpoint, request, reqHeaders); - if (Helper.parseLink(path).type !== "colls") { - this.captureSessionToken(undefined, path, Constants.OperationTypes.Delete, response.headers); - } else { - this.clearSessionToken(path); - } - return response; - } catch (err) { - this.captureSessionToken(err, path, Constants.OperationTypes.Upsert, (err as ErrorResponse).headers); - throw err; - } - } - - // Most cases, things return the definition + the system resource props - public async create( - body: T, - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise>; - - // But a few cases, like permissions, there is additional junk added to the response that isn't in system resource props - public async create( - body: T, - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise>; - public async create( - body: T, - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise> { - try { - const requestHeaders = await getHeaders( - this.cosmosClientOptions.auth, - { ...initialHeaders, ...this.cosmosClientOptions.defaultHeaders, ...(options && options.initialHeaders) }, - "post", - path, - id, - type, - options, - undefined, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - - const request: RequestContext = { - client: this, - operationType: Constants.OperationTypes.Create, - path, - resourceType: type - }; - - // create will use WriteEndpoint since it uses POST operation - this.applySessionToken(path, requestHeaders); - - const endpoint = await this.globalEndpointManager.resolveServiceEndpoint(request); - const response = await this.requestHandler.post(endpoint, request, body, requestHeaders); - this.captureSessionToken(undefined, path, Constants.OperationTypes.Create, response.headers); - return response; - } catch (err) { - this.captureSessionToken(err, path, Constants.OperationTypes.Upsert, (err as ErrorResponse).headers); - throw err; - } - } - - private processQueryFeedResponse( - res: Response, - isQuery: boolean, - resultFn: (result: { [key: string]: any }) => any[] - ): Response { - if (isQuery) { - return { result: resultFn(res.result), headers: res.headers, statusCode: res.statusCode }; - } else { - const newResult = resultFn(res.result).map((body: any) => body); - return { result: newResult, headers: res.headers, statusCode: res.statusCode }; - } - } - - private applySessionToken(path: string, reqHeaders: IHeaders) { - const request = this.getSessionParams(path); - - if (reqHeaders && reqHeaders[Constants.HttpHeaders.SessionToken]) { - return; - } - - const sessionConsistency: ConsistencyLevel = reqHeaders[Constants.HttpHeaders.ConsistencyLevel]; - if (!sessionConsistency) { - return; - } - - if (sessionConsistency !== ConsistencyLevel.Session) { - return; - } - - if (request.resourceAddress) { - const sessionToken = this.sessionContainer.get(request); - if (sessionToken) { - reqHeaders[Constants.HttpHeaders.SessionToken] = sessionToken; - } - } - } - - public async replace( - resource: any, - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise> { - try { - const reqHeaders = await getHeaders( - this.cosmosClientOptions.auth, - { ...initialHeaders, ...this.cosmosClientOptions.defaultHeaders, ...(options && options.initialHeaders) }, - "put", - path, - id, - type, - options, - undefined, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - - const request: RequestContext = { - client: this, - operationType: Constants.OperationTypes.Replace, - path, - resourceType: type - }; - - this.applySessionToken(path, reqHeaders); - - // replace will use WriteEndpoint since it uses PUT operation - const endpoint = await this.globalEndpointManager.resolveServiceEndpoint(reqHeaders); - const response = await this.requestHandler.put(endpoint, request, resource, reqHeaders); - this.captureSessionToken(undefined, path, Constants.OperationTypes.Replace, response.headers); - return response; - } catch (err) { - this.captureSessionToken(err, path, Constants.OperationTypes.Upsert, (err as ErrorResponse).headers); - throw err; - } - } - - public async upsert( - body: T, - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise>; - public async upsert( - body: T, - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise>; - public async upsert( - body: T, - path: string, - type: string, - id: string, - initialHeaders: IHeaders, - options?: RequestOptions - ): Promise> { - try { - const requestHeaders = await getHeaders( - this.cosmosClientOptions.auth, - { ...initialHeaders, ...this.cosmosClientOptions.defaultHeaders, ...(options && options.initialHeaders) }, - "post", - path, - id, - type, - options, - undefined, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - - const request: RequestContext = { - client: this, - operationType: Constants.OperationTypes.Upsert, - path, - resourceType: type - }; - - Helper.setIsUpsertHeader(requestHeaders); - this.applySessionToken(path, requestHeaders); - - // upsert will use WriteEndpoint since it uses POST operation - const endpoint = await this.globalEndpointManager.resolveServiceEndpoint(request); - const response = await this.requestHandler.post(endpoint, request, body, requestHeaders); - this.captureSessionToken(undefined, path, Constants.OperationTypes.Upsert, response.headers); - return response; - } catch (err) { - this.captureSessionToken(err, path, Constants.OperationTypes.Upsert, (err as ErrorResponse).headers); - throw err; - } - } - - public async execute( - sprocLink: string, - params?: any[], // TODO: any - options?: RequestOptions - ): Promise> { - const initialHeaders = { ...this.cosmosClientOptions.defaultHeaders, ...(options && options.initialHeaders) }; - - // Accept a single parameter or an array of parameters. - // Didn't add type annotation for this because we should legacy this behavior - if (params !== null && params !== undefined && !Array.isArray(params)) { - params = [params]; - } - const path = Helper.getPathFromLink(sprocLink); - const id = Helper.getIdFromLink(sprocLink); - - const headers = await getHeaders( - this.cosmosClientOptions.auth, - initialHeaders, - "post", - path, - id, - "sprocs", - options, - undefined, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - - const request: RequestContext = { - client: this, - operationType: Constants.OperationTypes.Execute, - path, - resourceType: "sprocs" - }; - - // executeStoredProcedure will use WriteEndpoint since it uses POST operation - const endpoint = await this.globalEndpointManager.resolveServiceEndpoint(request); - return this.requestHandler.post(endpoint, request, params, headers); - } - - /** - * Gets the Database account information. - * @param {string} [options.urlConnection] - The endpoint url whose database account needs to be retrieved. \ - * If not present, current client's url will be used. - */ - public async getDatabaseAccount(options: RequestOptions = {}): Promise> { - const urlConnection = options.urlConnection || this.cosmosClientOptions.endpoint; - - const requestHeaders = await getHeaders( - this.cosmosClientOptions.auth, - this.cosmosClientOptions.defaultHeaders, - "get", - "", - "", - "", - {}, - undefined, - this.cosmosClientOptions.connectionPolicy.UseMultipleWriteLocations - ); - - const request: RequestContext = { - client: this, - operationType: Constants.OperationTypes.Read, - path: "", - resourceType: "DatabaseAccount" - }; - - const { result, headers } = await this.requestHandler.get(urlConnection, request, requestHeaders); - - const databaseAccount = new DatabaseAccount(result, headers); - - return { result: databaseAccount, headers }; - } - - public getWriteEndpoint(): Promise { - return this.globalEndpointManager.getWriteEndpoint(); - } - - public getReadEndpoint(): Promise { - return this.globalEndpointManager.getReadEndpoint(); - } - - private captureSessionToken(err: ErrorResponse, path: string, opType: string, resHeaders: IHeaders) { - const request = this.getSessionParams(path); // TODO: any request - request.operationType = opType; - if ( - !err || - (!this.isMasterResource(request.resourceType) && - (err.code === StatusCodes.PreconditionFailed || - err.code === StatusCodes.Conflict || - (err.code === StatusCodes.NotFound && err.substatus !== SubStatusCodes.ReadSessionNotAvailable))) - ) { - this.sessionContainer.set(request, resHeaders); - } - } - - // TODO: some session tests are using this, but I made them use type coercsion to call this method because I don't think it should be public. - private getSessionToken(collectionLink: string) { - if (!collectionLink) { - throw new Error("collectionLink cannot be null"); - } - - const paths = Helper.parseLink(collectionLink); - - if (paths === undefined) { - return ""; - } - - const request = this.getSessionParams(collectionLink); - return this.sessionContainer.get(request); - } - - public clearSessionToken(path: string) { - const request = this.getSessionParams(path); - this.sessionContainer.remove(request); - } - - private getSessionParams(resourceLink: string): SessionContext { - const resourceId: string = null; - let resourceAddress: string = null; - const parserOutput = Helper.parseLink(resourceLink); - - resourceAddress = parserOutput.objectBody.self; - - const resourceType = parserOutput.type; - return { - resourceId, - resourceAddress, - resourceType, - isNameBased: true - }; - } - - private isMasterResource(resourceType: string): boolean { - if ( - resourceType === Constants.Path.OffersPathSegment || - resourceType === Constants.Path.DatabasesPathSegment || - resourceType === Constants.Path.UsersPathSegment || - resourceType === Constants.Path.PermissionsPathSegment || - resourceType === Constants.Path.TopologyPathSegment || - resourceType === Constants.Path.DatabaseAccountPathSegment || - resourceType === Constants.Path.PartitionKeyRangesPathSegment || - resourceType === Constants.Path.CollectionsPathSegment - ) { - return true; - } - - return false; - } -} diff --git a/sdk/cosmosdb/cosmos/src/CosmosClient.ts b/sdk/cosmosdb/cosmos/src/CosmosClient.ts deleted file mode 100644 index b69e14000e14..000000000000 --- a/sdk/cosmosdb/cosmos/src/CosmosClient.ts +++ /dev/null @@ -1,168 +0,0 @@ -import { Agent, AgentOptions } from "https"; -import * as tunnel from "tunnel"; -import * as url from "url"; -import { Constants, RequestOptions } from "."; -import { Database, Databases } from "./client/Database"; -import { Offer, Offers } from "./client/Offer"; -import { ClientContext } from "./ClientContext"; -import { Helper, Platform } from "./common"; -import { CosmosClientOptions } from "./CosmosClientOptions"; -import { DatabaseAccount } from "./documents"; -import { GlobalEndpointManager } from "./globalEndpointManager"; -import { CosmosResponse } from "./request"; - -/** - * Provides a client-side logical representation of the Azure Cosmos DB database account. - * This client is used to configure and execute requests in the Azure Cosmos DB database service. - * @example Instantiate a client and create a new database - * ```typescript - * const client = new CosmosClient({endpoint: "", auth: {masterKey: ""}}); - * await client.databases.create({id: ""}); - * ``` - * @example Instantiate a client with custom Connection Policy - * ```typescript - * const connectionPolicy = new ConnectionPolicy(); - * connectionPolicy.RequestTimeout = 10000; - * const client = new CosmosClient({ - * endpoint: "", - * auth: {masterKey: ""}, - * connectionPolicy - * }); - * ``` - */ -export class CosmosClient { - /** - * Used for creating new databases, or querying/reading all databases. - * - * Use `.database(id)` to read, replace, or delete a specific, existing database by id. - * - * @example Create a new database - * ```typescript - * const {body: databaseDefinition, database} = await client.databases.create({id: ""}); - * ``` - */ - public readonly databases: Databases; - /** - * Used for querying & reading all offers. - * - * Use `.offer(id)` to read, or replace existing offers. - */ - public readonly offers: Offers; - /** - * Creates a new {@link CosmosClient} object. See {@link CosmosClientOptions} for more details on what options you can use. - * @param options bag of options - require at least endpoint and auth to be configured - */ - - private clientContext: ClientContext; - constructor(private options: CosmosClientOptions) { - options.auth = options.auth || {}; - if (options.key) { - options.auth.key = options.key; - } - - options.connectionPolicy = Helper.parseConnectionPolicy(options.connectionPolicy); - - options.defaultHeaders = options.defaultHeaders || {}; - options.defaultHeaders[Constants.HttpHeaders.CacheControl] = "no-cache"; - options.defaultHeaders[Constants.HttpHeaders.Version] = Constants.CurrentVersion; - if (options.consistencyLevel !== undefined) { - options.defaultHeaders[Constants.HttpHeaders.ConsistencyLevel] = options.consistencyLevel; - } - - const platformDefaultHeaders = Platform.getPlatformDefaultHeaders() || {}; - for (const platformDefaultHeader of Object.keys(platformDefaultHeaders)) { - options.defaultHeaders[platformDefaultHeader] = platformDefaultHeaders[platformDefaultHeader]; - } - - options.defaultHeaders[Constants.HttpHeaders.UserAgent] = Platform.getUserAgent(); - - if (!this.options.agent) { - // Initialize request agent - const requestAgentOptions: AgentOptions & tunnel.HttpsOverHttpsOptions & tunnel.HttpsOverHttpOptions = { - keepAlive: true - }; - if (!!this.options.connectionPolicy.ProxyUrl) { - const proxyUrl = url.parse(this.options.connectionPolicy.ProxyUrl); - const port = parseInt(proxyUrl.port, 10); - requestAgentOptions.proxy = { - host: proxyUrl.hostname, - port, - headers: {} - }; - - if (!!proxyUrl.auth) { - requestAgentOptions.proxy.proxyAuth = proxyUrl.auth; - } - - this.options.agent = - proxyUrl.protocol.toLowerCase() === "https:" - ? tunnel.httpsOverHttps(requestAgentOptions) - : tunnel.httpsOverHttp(requestAgentOptions); // TODO: type coersion - } else { - this.options.agent = new Agent(requestAgentOptions); // TODO: Move to request? - } - } - - const globalEndpointManager = new GlobalEndpointManager(this.options, async (opts: RequestOptions) => - this.getDatabaseAccount(opts) - ); - this.clientContext = new ClientContext(options, globalEndpointManager); - - this.databases = new Databases(this, this.clientContext); - this.offers = new Offers(this, this.clientContext); - } - - /** - * Get information about the current {@link DatabaseAccount} (including which regions are supported, etc.) - */ - public async getDatabaseAccount(options?: RequestOptions): Promise> { - const response = await this.clientContext.getDatabaseAccount(options); - return { body: response.result, headers: response.headers, ref: this }; - } - - /** - * Gets the currently used write endpoint url. Useful for troubleshooting purposes. - * - * The url may contain a region suffix (e.g. "-eastus") if we're using location specific endpoints. - */ - public getWriteEndpoint(): Promise { - return this.clientContext.getWriteEndpoint(); - } - - /** - * Gets the currently used read endpoint. Useful for troubleshooting purposes. - * - * The url may contain a region suffix (e.g. "-eastus") if we're using location specific endpoints. - */ - public getReadEndpoint(): Promise { - return this.clientContext.getReadEndpoint(); - } - - /** - * Used for reading, updating, or deleting a existing database by id or accessing containers belonging to that database. - * - * This does not make a network call. Use `.read` to get info about the database after getting the {@link Database} object. - * - * @param id The id of the database. - * @example Create a new container off of an existing database - * ```typescript - * const container = client.database("").containers.create(""); - * ``` - * - * @example Delete an existing database - * ```typescript - * await client.database("").delete(); - * ``` - */ - public database(id: string): Database { - return new Database(this, id, this.clientContext); - } - - /** - * Used for reading, or updating a existing offer by id. - * @param id The id of the offer. - */ - public offer(id: string) { - return new Offer(this, id, this.clientContext); - } -} diff --git a/sdk/cosmosdb/cosmos/src/CosmosClientOptions.ts b/sdk/cosmosdb/cosmos/src/CosmosClientOptions.ts deleted file mode 100644 index f5e170cb0c79..000000000000 --- a/sdk/cosmosdb/cosmos/src/CosmosClientOptions.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { AuthOptions } from "./auth"; -import { ConnectionPolicy, ConsistencyLevel, QueryCompatibilityMode } from "./documents"; -import { IHeaders } from "./queryExecutionContext/IHeaders"; - -// We expose our own Agent interface to avoid taking a dependency on and leaking node types. This interface should mirror the node Agent interface -interface Agent { - maxFreeSockets: number; - maxSockets: number; - sockets: any; - requests: any; - destroy(): void; -} - -export interface CosmosClientOptions { - /** The service endpoint to use to create the client. */ - endpoint: string; - /** The account master or readonly key (alias of auth.key) */ - key?: string; - /** An object that is used for authenticating requests and must contains one of the options */ - auth?: AuthOptions; - /** An instance of {@link ConnectionPolicy} class. - * This parameter is optional and the default connectionPolicy will be used if omitted. - */ - connectionPolicy?: ConnectionPolicy | { [P in keyof ConnectionPolicy]?: ConnectionPolicy[P] }; - /** An optional parameter that represents the consistency level. - * It can take any value from {@link ConsistencyLevel}. - */ - consistencyLevel?: keyof typeof ConsistencyLevel; - defaultHeaders?: IHeaders; - agent?: Agent; - queryCompatibilityMode?: QueryCompatibilityMode; -} diff --git a/sdk/cosmosdb/cosmos/src/LocationCache.ts b/sdk/cosmosdb/cosmos/src/LocationCache.ts deleted file mode 100644 index 09b96668a57d..000000000000 --- a/sdk/cosmosdb/cosmos/src/LocationCache.ts +++ /dev/null @@ -1,361 +0,0 @@ -import { Constants, Helper, ResourceType } from "./common"; -import { CosmosClientOptions } from "./CosmosClientOptions"; -import { DatabaseAccount, Location } from "./documents"; -import { LocationInfo } from "./LocationInfo"; -import { LocationRouting } from "./request/LocationRouting"; -import { RequestContext } from "./request/RequestContext"; - -/** - * @private - * @hidden - */ -enum EndpointOperationType { - None = "None", - Read = "Read", - Write = "Write" -} - -/** - * @private - * @hidden - */ -interface LocationUnavailabilityInfo { - lastUnavailablityCheckTimeStamp: Date; - operationTypes: Set; -} - -/** - * Implements the abstraction to resolve target location for geo-replicated Database Account - * with multiple writable and readable locations. - * @private - * @hidden - */ -export class LocationCache { - private locationUnavailabilityInfoByEndpoint: Map = new Map(); - private locationInfo: LocationInfo; - private lastCacheUpdateTimestamp: Date = new Date(0); - private defaultEndpoint: string; - private enableMultipleWritableLocations: boolean; - - public constructor(private options: CosmosClientOptions) { - this.defaultEndpoint = options.endpoint; - this.locationInfo = new LocationInfo(options.connectionPolicy.PreferredLocations, options.endpoint); - } - - public get prefferredLocations(): string[] { - return this.options.connectionPolicy.PreferredLocations; - } - - public getWriteEndpoint(): string { - return this.getWriteEndpoints()[0]; - } - - public getReadEndpoint(): string { - return this.getReadEndpoints()[0]; - } - - /** - * Gets list of write endpoints ordered by - * 1. Preferred location - * 2. Endpoint availability - */ - public getWriteEndpoints(): ReadonlyArray { - if (this.locationUnavailabilityInfoByEndpoint.size > 0 && this.canUpdateCache(this.lastCacheUpdateTimestamp)) { - this.updateLocationCache(); - } - return this.locationInfo.writeEndpoints; - } - - /** - * Gets list of read endpoints ordered by - * 1. Preferred location - * 2. Endpoint availability - */ - public getReadEndpoints(): ReadonlyArray { - if (this.locationUnavailabilityInfoByEndpoint.size > 0 && this.canUpdateCache(this.lastCacheUpdateTimestamp)) { - this.updateLocationCache(); - } - return this.locationInfo.readEndpoints; - } - - public markCurrentLocationUnavailableForRead(endpoint: string) { - this.markEndpointUnavailable(endpoint, EndpointOperationType.Read); - } - - public markCurrentLocationUnavailableForWrite(endpoint: string) { - this.markEndpointUnavailable(endpoint, EndpointOperationType.Write); - } - - /** - * Invoked when {@link DatabaseAccount} is read - * @param databaseAccount The DatabaseAccount read - */ - public onDatabaseAccountRead(databaseAccount: DatabaseAccount) { - this.updateLocationCache( - databaseAccount.writableLocations, - databaseAccount.readableLocations, - databaseAccount.enableMultipleWritableLocations - ); - } - - public resolveServiceEndpoint(request: RequestContext): string { - request.locationRouting = request.locationRouting || new LocationRouting(); - - let locationIndex = request.locationRouting.locationIndexToRoute || 0; - - if (!this.options.connectionPolicy.EnableEndpointDiscovery) { - return this.defaultEndpoint; - } - - if (request.locationRouting.locationEndpointToRoute) { - return request.locationRouting.locationEndpointToRoute; - } - - // If we're ignoring preferred locations, or if it's a write request that can't use multiple locations - // then default to the first two write locations, alternating (or the default endpoint) - if ( - request.locationRouting.ignorePreferredLocation || - (!Helper.isReadRequest(request) && !this.canUseMultipleWriteLocations(request)) - ) { - const currentInfo = this.locationInfo; - if (currentInfo.orderedWriteLocations.length > 0) { - locationIndex = Math.min(locationIndex % 2, currentInfo.orderedWriteLocations.length - 1); - const writeLocation = currentInfo.orderedWriteLocations[locationIndex]; - return currentInfo.availableWriteEndpointByLocation.get(LocationCache.normalizeLocationName(writeLocation)); - } else { - return this.defaultEndpoint; - } - } else { - // If we're using preferred regions, then choose the correct endpoint based on the location index - const endpoints = Helper.isReadRequest(request) - ? this.locationInfo.readEndpoints - : this.locationInfo.writeEndpoints; - return endpoints[locationIndex % endpoints.length]; - } - } - - public shouldRefreshEndpoints(): { shouldRefresh: boolean; canRefreshInBackground: boolean } { - let canRefreshInBackground = true; - const currentInfo = this.locationInfo; - - const mostPreferredLocation: string = LocationCache.normalizeLocationName( - currentInfo.preferredLocations ? currentInfo.preferredLocations[0] : null - ); - - if (this.options.connectionPolicy.EnableEndpointDiscovery) { - // Refresh if client opts-in to use multiple write locations, but it's not enabled on the server. - const shouldRefresh = - this.options.connectionPolicy.UseMultipleWriteLocations && !this.enableMultipleWritableLocations; - - if (mostPreferredLocation) { - if (currentInfo.availableReadEndpointByLocation.size > 0) { - const mostPreferredReadEndpoint = currentInfo.availableReadEndpointByLocation.get(mostPreferredLocation); - if (mostPreferredReadEndpoint) { - if (mostPreferredReadEndpoint !== currentInfo.readEndpoints[0]) { - return { shouldRefresh: true, canRefreshInBackground }; - } - } else { - return { shouldRefresh: true, canRefreshInBackground }; - } - } - - if (!this.canUseMultipleWriteLocations()) { - if (this.isEndpointUnavailable(currentInfo.writeEndpoints[0], EndpointOperationType.Write)) { - canRefreshInBackground = currentInfo.writeEndpoints.length > 1; - return { shouldRefresh: true, canRefreshInBackground }; - } else { - return { shouldRefresh, canRefreshInBackground }; - } - } else if (mostPreferredLocation) { - const mostPreferredWriteEndpoint = currentInfo.availableWriteEndpointByLocation.get(mostPreferredLocation); - if (mostPreferredWriteEndpoint) { - return { - shouldRefresh: shouldRefresh || mostPreferredWriteEndpoint !== currentInfo.writeEndpoints[0], - canRefreshInBackground - }; - } else { - return { shouldRefresh, canRefreshInBackground }; - } - } - } - } - return { shouldRefresh: false, canRefreshInBackground }; - } - - public canUseMultipleWriteLocations(request?: RequestContext): boolean { - let canUse = this.options.connectionPolicy.UseMultipleWriteLocations && this.enableMultipleWritableLocations; - - if (request) { - canUse = - canUse && - (request.resourceType === ResourceType.item || - (request.resourceType === ResourceType.sproc && request.operationType === Constants.OperationTypes.Execute)); - } - - return canUse; - } - - private clearStaleEndpointUnavailabilityInfo() { - if (this.locationUnavailabilityInfoByEndpoint.size > 0) { - for (const [endpoint, info] of this.locationUnavailabilityInfoByEndpoint.entries()) { - if (info && this.canUpdateCache(info.lastUnavailablityCheckTimeStamp)) { - this.locationUnavailabilityInfoByEndpoint.delete(endpoint); - } - } - } - } - private isEndpointUnavailable(endpoint: string, expectedAvailableOperations: EndpointOperationType) { - const unavailabilityInfo = this.locationUnavailabilityInfoByEndpoint.get(endpoint); - - if ( - expectedAvailableOperations === EndpointOperationType.None || - unavailabilityInfo == null || - !unavailabilityInfo.operationTypes.has(expectedAvailableOperations) - ) { - return false; - } else { - if (this.canUpdateCache(unavailabilityInfo.lastUnavailablityCheckTimeStamp)) { - return false; - } else { - return true; - } - } - } - - private markEndpointUnavailable(unavailableEndpoint: string, unavailableOperationType: EndpointOperationType) { - const unavailabilityInfo = this.locationUnavailabilityInfoByEndpoint.get(unavailableEndpoint); - const now = new Date(Date.now()); - if (unavailabilityInfo == null) { - this.locationUnavailabilityInfoByEndpoint.set(unavailableEndpoint, { - lastUnavailablityCheckTimeStamp: now, - operationTypes: new Set([unavailableOperationType]) - }); - } else { - const unavailableOperations = new Set([unavailableOperationType]); - for (const op of unavailabilityInfo.operationTypes) { - unavailableOperations.add(op); - } - this.locationUnavailabilityInfoByEndpoint.set(unavailableEndpoint, { - lastUnavailablityCheckTimeStamp: now, - operationTypes: unavailableOperations - }); - } - - this.updateLocationCache(); - } - - private updateLocationCache( - writeLocations?: Location[], - readLocations?: Location[], - enableMultipleWritableLocations?: boolean - ) { - if (enableMultipleWritableLocations) { - this.enableMultipleWritableLocations = enableMultipleWritableLocations; - } - - this.clearStaleEndpointUnavailabilityInfo(); - - // TODO: To sstay consistent with .NET, grab a local copy of the locationInfo - - if (this.options.connectionPolicy.EnableEndpointDiscovery) { - if (readLocations) { - ({ - endpointsByLocation: this.locationInfo.availableReadEndpointByLocation, - orderedLocations: this.locationInfo.orderedReadLocations - } = this.getEndpointByLocation(readLocations)); - } - - if (writeLocations) { - ({ - endpointsByLocation: this.locationInfo.availableWriteEndpointByLocation, - orderedLocations: this.locationInfo.orderedWriteLocations - } = this.getEndpointByLocation(writeLocations)); - } - } - - this.locationInfo.writeEndpoints = this.getPreferredAvailableEndpoints( - this.locationInfo.availableWriteEndpointByLocation, - this.locationInfo.orderedWriteLocations, - EndpointOperationType.Write, - this.defaultEndpoint - ); - - this.locationInfo.readEndpoints = this.getPreferredAvailableEndpoints( - this.locationInfo.availableReadEndpointByLocation, - this.locationInfo.orderedReadLocations, - EndpointOperationType.Read, - this.defaultEndpoint - ); - - this.lastCacheUpdateTimestamp = new Date(); - } - - private getPreferredAvailableEndpoints( - endpointsByLocation: ReadonlyMap, - orderedLocations: ReadonlyArray, - expectedAvailableOperation: EndpointOperationType, - fallbackEndpoint: string - ): string[] { - const endpoints = []; - - if (this.options.connectionPolicy.EnableEndpointDiscovery && endpointsByLocation && endpointsByLocation.size > 0) { - if (this.canUseMultipleWriteLocations() || expectedAvailableOperation === EndpointOperationType.Read) { - const unavailableEndpoints: string[] = []; - if (this.options.connectionPolicy.PreferredLocations) { - for (const location of this.options.connectionPolicy.PreferredLocations) { - const endpoint = endpointsByLocation.get(LocationCache.normalizeLocationName(location)); - if (endpoint) { - if (this.isEndpointUnavailable(endpoint, expectedAvailableOperation)) { - unavailableEndpoints.push(endpoint); - } else { - endpoints.push(endpoint); - } - } - } - } - - if (endpoints.length === 0) { - endpoints.push(fallbackEndpoint); - } - } else { - for (const location of orderedLocations) { - const normalizedLocationName = LocationCache.normalizeLocationName(location); - if (endpointsByLocation.has(normalizedLocationName)) { - endpoints.push(endpointsByLocation.get(normalizedLocationName)); - } - } - } - } - - if (endpoints.length === 0) { - endpoints.push(fallbackEndpoint); - } - - return endpoints; - } - - private getEndpointByLocation( - locations: Location[] - ): { endpointsByLocation: Map; orderedLocations: string[] } { - const endpointsByLocation: Map = new Map(); - const orderedLocations: string[] = []; - - for (const location of locations) { - if (!location) { - continue; - } - const normalizedLocationName = LocationCache.normalizeLocationName(location.name); - endpointsByLocation.set(normalizedLocationName, location.databaseAccountEndpoint); - orderedLocations.push(normalizedLocationName); - } - return { endpointsByLocation, orderedLocations }; - } - - private canUpdateCache(timestamp: Date): boolean { - return new Date(Date.now() - Constants.DefaultUnavailableLocationExpirationTimeMS) > timestamp; - } - - private static normalizeLocationName(location: string): string { - return location ? location.toLowerCase().replace(/ /g, "") : null; - } -} diff --git a/sdk/cosmosdb/cosmos/src/LocationInfo.ts b/sdk/cosmosdb/cosmos/src/LocationInfo.ts deleted file mode 100644 index 547bf9ad1a19..000000000000 --- a/sdk/cosmosdb/cosmos/src/LocationInfo.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Used to store the location info in Location Cache - * @private - * @hidden - */ -export class LocationInfo { - public preferredLocations: ReadonlyArray; - public availableReadEndpointByLocation: ReadonlyMap; - public availableWriteEndpointByLocation: ReadonlyMap; - public orderedWriteLocations: ReadonlyArray; - public orderedReadLocations: ReadonlyArray; - public writeEndpoints: ReadonlyArray; - public readEndpoints: ReadonlyArray; - - public constructor(other: LocationInfo); - public constructor(preferredLocations: ReadonlyArray, defaultEndpoint: string); - public constructor( - preferredLocationsOrOtherLocationInfo: ReadonlyArray | LocationInfo, - defaultEndpoint?: string - ) { - let preferredLocations: ReadonlyArray = null; - let other: LocationInfo = null; - if (Array.isArray(preferredLocationsOrOtherLocationInfo)) { - preferredLocations = preferredLocationsOrOtherLocationInfo; - } else if (preferredLocationsOrOtherLocationInfo instanceof LocationInfo) { - other = preferredLocationsOrOtherLocationInfo; - } else { - throw new Error("Invalid type passed to LocationInfo"); - } - - if (preferredLocations && defaultEndpoint) { - this.preferredLocations = preferredLocations; - this.availableWriteEndpointByLocation = new Map(); - this.availableReadEndpointByLocation = new Map(); - this.orderedWriteLocations = []; - this.orderedReadLocations = []; - this.writeEndpoints = [defaultEndpoint]; - this.readEndpoints = [defaultEndpoint]; - } else if (other) { - this.preferredLocations = other.preferredLocations; - this.availableReadEndpointByLocation = other.availableReadEndpointByLocation; - this.availableWriteEndpointByLocation = other.availableWriteEndpointByLocation; - this.orderedReadLocations = other.orderedReadLocations; - this.orderedWriteLocations = other.orderedWriteLocations; - this.writeEndpoints = other.writeEndpoints; - this.readEndpoints = other.readEndpoints; - } else { - // This should never be called - throw new Error("Invalid arguments passed to LocationInfo"); - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/auth.ts b/sdk/cosmosdb/cosmos/src/auth.ts deleted file mode 100644 index c369a8c00313..000000000000 --- a/sdk/cosmosdb/cosmos/src/auth.ts +++ /dev/null @@ -1,173 +0,0 @@ -import createHmac from "create-hmac"; -import { PermissionDefinition } from "./client"; -import { Helper } from "./common"; -import { IHeaders } from "./queryExecutionContext"; - -/** @hidden */ -export interface IRequestInfo { - [index: string]: any; - verb: string; - path: string; - resourceId: string; - resourceType: string; - headers: IHeaders; -} - -export interface ITokenProvider { - getToken: (requestInfo: IRequestInfo, callback?: (err: Error, token: string) => void) => Promise; -} - -export interface AuthOptions { - /** Account master key or read only key */ - key?: string; - /** The authorization master key to use to create the client. */ - masterKey?: string; - /** An object that contains resources tokens. - * Keys for the object are resource Ids and values are the resource tokens. - */ - resourceTokens?: { [resourcePath: string]: string }; - tokenProvider?: any; // TODO: any - /** An array of {@link Permission} objects. */ - permissionFeed?: PermissionDefinition[]; // TODO: any -} - -/** @hidden */ -export class AuthHandler { - public static async getAuthorizationHeader( - authOptions: AuthOptions, - verb: string, - path: string, - resourceId: string, - resourceType: string, - headers: IHeaders - ): Promise { - if (authOptions.permissionFeed) { - authOptions.resourceTokens = {}; - for (const permission of authOptions.permissionFeed) { - const id = Helper.getResourceIdFromPath(permission.resource); - if (!id) { - throw new Error(`authorization error: ${id} \ - is an invalid resourceId in permissionFeed`); - } - - authOptions.resourceTokens[id] = (permission as any)._token; // TODO: any - } - } - - if (authOptions.masterKey || authOptions.key) { - const key = authOptions.masterKey || authOptions.key; - return encodeURIComponent( - AuthHandler.getAuthorizationTokenUsingMasterKey(verb, resourceId, resourceType, headers, key) - ); - } else if (authOptions.resourceTokens) { - return encodeURIComponent( - AuthHandler.getAuthorizationTokenUsingResourceTokens(authOptions.resourceTokens, path, resourceId) - ); - } else if (authOptions.tokenProvider) { - return encodeURIComponent( - await AuthHandler.getAuthorizationTokenUsingTokenProvider(authOptions.tokenProvider, { - verb, - path, - resourceId, - resourceType, - headers - }) - ); - } - } - - private static getAuthorizationTokenUsingMasterKey( - verb: string, - resourceId: string, - resourceType: string, - headers: IHeaders, - masterKey: string - ) { - if (resourceType === "offers") { - resourceId = resourceId && resourceId.toLowerCase(); - } - const key = Buffer.from(masterKey, "base64"); - - const text = - (verb || "").toLowerCase() + - "\n" + - (resourceType || "").toLowerCase() + - "\n" + - (resourceId || "") + - "\n" + - ((headers["x-ms-date"] as string) || "").toLowerCase() + - "\n" + - ((headers["date"] as string) || "").toLowerCase() + - "\n"; - - const body = Buffer.from(text, "utf8"); - const signature = createHmac("sha256", key) - .update(body) - .digest("base64"); - const MasterToken = "master"; - const TokenVersion = "1.0"; - - return `type=${MasterToken}&ver=${TokenVersion}&sig=${signature}`; - } - - // TODO: Resource tokens - private static getAuthorizationTokenUsingResourceTokens( - resourceTokens: { [resourceId: string]: string }, - path: string, - resourceId: string - ) { - if (resourceTokens && Object.keys(resourceTokens).length > 0) { - // For database account access(through getDatabaseAccount API), path and resourceId are "", - // so in this case we return the first token to be used for creating the auth header as the - // service will accept any token in this case - if (!path && !resourceId) { - return resourceTokens[Object.keys(resourceTokens)[0]]; - } - - if (resourceId && resourceTokens[resourceId]) { - return resourceTokens[resourceId]; - } - - // minimum valid path /dbs - if (!path || path.length < 4) { - return null; - } - - // remove '/' from left and right of path - path = path[0] === "/" ? path.substring(1) : path; - path = path[path.length - 1] === "/" ? path.substring(0, path.length - 1) : path; - - const pathSegments = (path && path.split("/")) || []; - - // if it's an incomplete path like /dbs/db1/colls/, start from the paretn resource - let index = pathSegments.length % 2 === 0 ? pathSegments.length - 1 : pathSegments.length - 2; - for (; index > 0; index -= 2) { - const id = decodeURI(pathSegments[index]); - if (resourceTokens[id]) { - return resourceTokens[id]; - } - } - } - return null; - } - - private static getAuthorizationTokenUsingTokenProvider( - tokenProvider: ITokenProvider, - requestInfo: IRequestInfo - ): Promise { - requestInfo.getAuthorizationTokenUsingMasterKey = AuthHandler.getAuthorizationTokenUsingMasterKey; - return new Promise(async (resolve, reject) => { - const callback = (err: Error, token: string) => { - if (reject) { - return reject(err); - } - resolve(token); - }; - - const results = tokenProvider.getToken(requestInfo, callback); - if (results.then && typeof results.then === "function") { - resolve(await results); - } - }); - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Conflict/Conflict.ts b/sdk/cosmosdb/cosmos/src/client/Conflict/Conflict.ts deleted file mode 100644 index 125fdfe2bf06..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Conflict/Conflict.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Constants, Helper } from "../../common"; -import { RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { ConflictDefinition } from "./ConflictDefinition"; -import { ConflictResponse } from "./ConflictResponse"; - -/** - * Use to read or delete a given {@link Conflict} by id. - * - * @see {@link Conflicts} to query or read all conflicts. - */ -export class Conflict { - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return `/${this.container.url}/${Constants.Path.ConflictsPathSegment}/${this.id}`; - } - /** - * @hidden - * @param container The parent {@link Container}. - * @param id The id of the given {@link Conflict}. - */ - constructor( - public readonly container: Container, - public readonly id: string, - private readonly clientContext: ClientContext - ) {} - - /** - * Read the {@link ConflictDefinition} for the given {@link Conflict}. - * @param options - */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url, "conflicts"); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.read(path, "users", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, conflict: this }; - } - - /** - * Delete the given {@link ConflictDefinition}. - * @param options - */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete(path, "conflicts", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, conflict: this }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictDefinition.ts b/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictDefinition.ts deleted file mode 100644 index 035bdd6ac429..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictDefinition.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ItemDefinition } from "../Item"; - -export interface ConflictDefinition { - /** The id of the conflict */ - id?: string; - /** Source resource id */ - resourceId?: string; - resourceType?: string; - operationType?: string; // TODO: enum - content?: string; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResolutionMode.ts b/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResolutionMode.ts deleted file mode 100644 index 38743fb2e13a..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResolutionMode.ts +++ /dev/null @@ -1,4 +0,0 @@ -export enum ConflictResolutionMode { - Custom = "Custom", - LastWriterWins = "LastWriterWins" -} diff --git a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResolutionPolicy.ts b/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResolutionPolicy.ts deleted file mode 100644 index 17acb5c48df2..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResolutionPolicy.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { ConflictResolutionMode } from "./ConflictResolutionMode"; - -/** - * Represents the conflict resolution policy configuration for specifying how to resolve conflicts - * in case writes from different regions result in conflicts on documents in the collection in the Azure Cosmos DB service. - */ -export interface ConflictResolutionPolicy { - /** - * Gets or sets the in the Azure Cosmos DB service. By default it is {@link ConflictResolutionMode.LastWriterWins}. - */ - mode?: keyof typeof ConflictResolutionMode; - /** - * Gets or sets the path which is present in each document in the Azure Cosmos DB service for last writer wins conflict-resolution. - * This path must be present in each document and must be an integer value. - * In case of a conflict occurring on a document, the document with the higher integer value in the specified path will be picked. - * If the path is unspecified, by default the timestamp path will be used. - * - * This value should only be set when using {@link ConflictResolutionMode.LastWriterWins}. - * - * ```typescript - * conflictResolutionPolicy.ConflictResolutionPath = "/name/first"; - * ``` - * - */ - conflictResolutionPath?: string; - /** - * Gets or sets the {@link StoredProcedure} which is used for conflict resolution in the Azure Cosmos DB service. - * This stored procedure may be created after the {@link Container} is created and can be changed as required. - * - * 1. This value should only be set when using {@link ConflictResolutionMode.Custom}. - * 2. In case the stored procedure fails or throws an exception, the conflict resolution will default to registering conflicts in the conflicts feed. - * - * ```typescript - * conflictResolutionPolicy.ConflictResolutionProcedure = "resolveConflict" - * ``` - */ - conflictResolutionProcedure?: string; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResponse.ts b/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResponse.ts deleted file mode 100644 index 548f49902a40..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Conflict/ConflictResponse.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { CosmosResponse } from "../../request"; -import { Resource } from "../Resource"; -import { Conflict } from "./Conflict"; -import { ConflictDefinition } from "./ConflictDefinition"; - -export interface ConflictResponse extends CosmosResponse { - /** A reference to the {@link Conflict} corresponding to the returned {@link ConflictDefinition}. */ - conflict: Conflict; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Conflict/Conflicts.ts b/sdk/cosmosdb/cosmos/src/client/Conflict/Conflicts.ts deleted file mode 100644 index 5111ccbe3f86..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Conflict/Conflicts.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions } from "../../request"; -import { Container } from "../Container"; -import { Resource } from "../Resource"; -import { ConflictDefinition } from "./ConflictDefinition"; - -/** - * Use to query or read all conflicts. - * - * @see {@link Conflict} to read or delete a given {@link Conflict} by id. - */ -export class Conflicts { - constructor(public readonly container: Container, private readonly clientContext: ClientContext) {} - - /** - * Queries all conflicts. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return results in an array or iterate over them one at a time. - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Queries all conflicts. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return results in an array or iterate over them one at a time. - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.container.url, "conflicts"); - const id = Helper.getIdFromLink(this.container.url); - - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed(path, "conflicts", id, result => result.Conflicts, query, innerOptions); - }); - } - - /** - * Reads all conflicts - * @param options Use to set options like response page size, continuation tokens, etc. - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Conflict/index.ts b/sdk/cosmosdb/cosmos/src/client/Conflict/index.ts deleted file mode 100644 index 128da8fc1186..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Conflict/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { Conflict } from "./Conflict"; -export { Conflicts } from "./Conflicts"; -export { ConflictDefinition } from "./ConflictDefinition"; -export { ConflictResponse } from "./ConflictResponse"; -export { ConflictResolutionPolicy } from "./ConflictResolutionPolicy"; -export { ConflictResolutionMode } from "./ConflictResolutionMode"; diff --git a/sdk/cosmosdb/cosmos/src/client/Container/Container.ts b/sdk/cosmosdb/cosmos/src/client/Container/Container.ts deleted file mode 100644 index 5bfc1ca599fc..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Container/Container.ts +++ /dev/null @@ -1,241 +0,0 @@ -import { PartitionKey } from "../.."; -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { PartitionKeyDefinition } from "../../documents"; -import { CosmosResponse, FeedOptions, RequestOptions } from "../../request"; -import { Conflict, Conflicts } from "../Conflict"; -import { Database } from "../Database"; -import { Item, Items } from "../Item"; -import { StoredProcedure, StoredProcedures } from "../StoredProcedure"; -import { Trigger, Triggers } from "../Trigger"; -import { UserDefinedFunction, UserDefinedFunctions } from "../UserDefinedFunction"; -import { ContainerDefinition } from "./ContainerDefinition"; -import { ContainerResponse } from "./ContainerResponse"; - -/** - * Operations for reading, replacing, or deleting a specific, existing container by id. - * - * @see {@link Containers} for creating new containers, and reading/querying all containers; use `.containers`. - * - * Note: all these operations make calls against a fixed budget. - * You should design your system such that these calls scale sublinearly with your application. - * For instance, do not call `container(id).read()` before every single `item.read()` call, to ensure the container exists; - * do this once on application start up. - */ -export class Container { - /** - * Operations for creating new items, and reading/querying all items - * - * For reading, replacing, or deleting an existing item, use `.item(id)`. - * - * @example Create a new item - * ```typescript - * const {body: createdItem} = await container.items.create({id: "", properties: {}}); - * ``` - */ - public readonly items: Items; - /** - * Operations for creating new stored procedures, and reading/querying all stored procedures. - * - * For reading, replacing, or deleting an existing stored procedure, use `.storedProcedure(id)`. - */ - public readonly storedProcedures: StoredProcedures; - /** - * Operations for creating new triggers, and reading/querying all triggers. - * - * For reading, replacing, or deleting an existing trigger, use `.trigger(id)`. - */ - public readonly triggers: Triggers; - /** - * Operations for creating new user defined functions, and reading/querying all user defined functions. - * - * For reading, replacing, or deleting an existing user defined function, use `.userDefinedFunction(id)`. - */ - public readonly userDefinedFunctions: UserDefinedFunctions; - - public readonly conflicts: Conflicts; - - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createDocumentCollectionUri(this.database.id, this.id); - } - - /** - * Returns a container instance. Note: You should get this from `database.container(id)`, rather than creating your own object. - * @param database The parent {@link Database}. - * @param id The id of the given container. - * @hidden - */ - constructor( - public readonly database: Database, - public readonly id: string, - private readonly clientContext: ClientContext - ) { - this.items = new Items(this, this.clientContext); - this.storedProcedures = new StoredProcedures(this, this.clientContext); - this.triggers = new Triggers(this, this.clientContext); - this.userDefinedFunctions = new UserDefinedFunctions(this, this.clientContext); - this.conflicts = new Conflicts(this, this.clientContext); - } - - /** - * Used to read, replace, or delete a specific, existing {@link Item} by id. - * - * Use `.items` for creating new items, or querying/reading all items. - * - * @param id The id of the {@link Item}. - * @param partitionKey The partition key of the {@link Item}. (Required for partitioned containers). - * @example Replace an item - * const {body: replacedItem} = await container.item("").replace({id: "", title: "Updated post", authorID: 5}); - */ - public item(id: string, partitionKey?: string): Item { - return new Item(this, id, partitionKey, this.clientContext); - } - - /** - * Used to read, replace, or delete a specific, existing {@link UserDefinedFunction} by id. - * - * Use `.userDefinedFunctions` for creating new user defined functions, or querying/reading all user defined functions. - * @param id The id of the {@link UserDefinedFunction}. - */ - public userDefinedFunction(id: string): UserDefinedFunction { - return new UserDefinedFunction(this, id, this.clientContext); - } - - /** - * Used to read, replace, or delete a specific, existing {@link Conflict} by id. - * - * Use `.conflicts` for creating new conflicts, or querying/reading all conflicts. - * @param id The id of the {@link Conflict}. - */ - public conflict(id: string): Conflict { - return new Conflict(this, id, this.clientContext); - } - - /** - * Used to read, replace, or delete a specific, existing {@link StoredProcedure} by id. - * - * Use `.storedProcedures` for creating new stored procedures, or querying/reading all stored procedures. - * @param id The id of the {@link StoredProcedure}. - */ - public storedProcedure(id: string): StoredProcedure { - return new StoredProcedure(this, id, this.clientContext); - } - - /** - * Used to read, replace, or delete a specific, existing {@link Trigger} by id. - * - * Use `.triggers` for creating new triggers, or querying/reading all triggers. - * @param id The id of the {@link Trigger}. - */ - public trigger(id: string): Trigger { - return new Trigger(this, id, this.clientContext); - } - - /** Read the container's definition */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.read(path, "colls", id, undefined, options); - this.clientContext.partitionKeyDefinitionCache[this.url] = response.result.partitionKey; - return { - body: response.result, - headers: response.headers, - ref: this, - container: this - }; - } - - /** Replace the container's definition */ - public async replace(body: ContainerDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.replace(body, path, "colls", id, undefined, options); - return { - body: response.result, - headers: response.headers, - ref: this, - container: this - }; - } - - /** Delete the container */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete(path, "colls", id, undefined, options); - return { - body: response.result, - headers: response.headers, - ref: this, - container: this - }; - } - - /** - * Gets the partition key definition first by looking into the cache otherwise by reading the collection. - * @ignore - * @param {string} collectionLink - Link to the collection whose partition key needs to be extracted. - * @param {function} callback - \ - * The arguments to the callback are(in order): error, partitionKeyDefinition, response object and response headers - */ - public async getPartitionKeyDefinition(): Promise> { - // $ISSUE-felixfan-2016-03-17: Make name based path and link based path use the same key - // $ISSUE-felixfan-2016-03-17: Refresh partitionKeyDefinitionCache when necessary - if (this.url in this.clientContext.partitionKeyDefinitionCache) { - return { - body: this.clientContext.partitionKeyDefinitionCache[this.url], - ref: this - }; - } - - const { headers } = await this.read(); - return { - body: this.clientContext.partitionKeyDefinitionCache[this.url], - headers, - ref: this - }; - } - - public readPartitionKeyRanges(feedOptions?: FeedOptions) { - feedOptions = feedOptions || {}; - return this.clientContext.queryPartitionKeyRanges(this.url, undefined, feedOptions); - } - - // TODO: The ParitionKey type is REALLY weird. Now that it's being exported, we should clean it up. - public extractPartitionKey(document: any, partitionKeyDefinition: PartitionKeyDefinition): PartitionKey[] { - // TODO: any - if (partitionKeyDefinition && partitionKeyDefinition.paths && partitionKeyDefinition.paths.length > 0) { - const partitionKey: PartitionKey[] = []; - partitionKeyDefinition.paths.forEach((path: string) => { - const pathParts = Helper.parsePath(path); - - let obj = document; - for (const part of pathParts) { - if (!(typeof obj === "object" && part in obj)) { - obj = {}; - break; - } - - obj = obj[part]; - } - - partitionKey.push(obj); - }); - - return partitionKey; - } - - return undefined; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Container/ContainerDefinition.ts b/sdk/cosmosdb/cosmos/src/client/Container/ContainerDefinition.ts deleted file mode 100644 index c664c0d433b7..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Container/ContainerDefinition.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { IndexingPolicy, PartitionKey, PartitionKeyDefinition } from "../../documents"; -import { ConflictResolutionPolicy } from "../Conflict/ConflictResolutionPolicy"; -import { UniqueKeyPolicy } from "./UniqueKeyPolicy"; - -export interface ContainerDefinition { - /** The id of the container. */ - id?: string; - /** TODO */ - partitionKey?: PartitionKeyDefinition; - /** The indexing policy associated with the container. */ - indexingPolicy?: IndexingPolicy; - /** The default time to live in seconds for items in a container. */ - defaultTtl?: number; - /** The conflict resolution policy used to resolve conflicts in a container. */ - conflictResolutionPolicy?: ConflictResolutionPolicy; - /** Policy for additional keys that must be unique per partion key */ - uniqueKeyPolicy?: UniqueKeyPolicy; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Container/ContainerResponse.ts b/sdk/cosmosdb/cosmos/src/client/Container/ContainerResponse.ts deleted file mode 100644 index 529d6bf0dec7..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Container/ContainerResponse.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Container } from "."; -import { CosmosResponse } from "../../request/CosmosResponse"; -import { Resource } from "../Resource"; -import { ContainerDefinition } from "./ContainerDefinition"; - -/** Response object for Container operations */ -export interface ContainerResponse extends CosmosResponse { - /** A reference to the {@link Container} that the returned {@link ContainerDefinition} corresponds to. */ - container: Container; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Container/Containers.ts b/sdk/cosmosdb/cosmos/src/client/Container/Containers.ts deleted file mode 100644 index d07723343c4f..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Container/Containers.ts +++ /dev/null @@ -1,164 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, StatusCodes } from "../../common"; -import { HeaderUtils, SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Database } from "../Database"; -import { Resource } from "../Resource"; -import { Container } from "./Container"; -import { ContainerDefinition } from "./ContainerDefinition"; -import { ContainerResponse } from "./ContainerResponse"; - -/** - * Operations for creating new containers, and reading/querying all containers - * - * @see {@link Container} for reading, replacing, or deleting an existing container; use `.container(id)`. - * - * Note: all these operations make calls against a fixed budget. - * You should design your system such that these calls scale sublinearly with your application. - * For instance, do not call `containers.readAll()` before every single `item.read()` call, to ensure the container exists; - * do this once on application start up. - */ -export class Containers { - constructor(public readonly database: Database, private readonly clientContext: ClientContext) {} - - /** - * Queries all containers. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return specific contaienrs in an array or iterate over them one at a time. - * @example Read all containers to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT * FROM root r WHERE r.id = @container", - * parameters: [ - * {name: "@container", value: "Todo"} - * ] - * }; - * const {body: containerList} = await client.database("").containers.query(querySpec).toArray(); - * ``` - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Queries all containers. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return specific contaienrs in an array or iterate over them one at a time. - * @example Read all containers to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT * FROM root r WHERE r.id = @container", - * parameters: [ - * {name: "@container", value: "Todo"} - * ] - * }; - * const {body: containerList} = await client.database("").containers.query(querySpec).toArray(); - * ``` - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.database.url, "colls"); - const id = Helper.getIdFromLink(this.database.url); - - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed( - path, - "colls", - id, - result => result.DocumentCollections, - query, - innerOptions - ); - }); - } - - /** - * Creates a container. - * - * A container is a named logical container for items. - * - * A database may contain zero or more named containers and each container consists of - * zero or more JSON items. - * - * Being schema-free, the items in a container do not need to share the same structure or fields. - * - * - * Since containers are application resources, they can be authorized using either the - * master key or resource keys. - * - * @param body Represents the body of the container. - * @param options Use to set options like response page size, continuation tokens, etc. - */ - public async create(body: ContainerDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - const path = Helper.getPathFromLink(this.database.url, "colls"); - const id = Helper.getIdFromLink(this.database.url); - - const response = await this.clientContext.create(body, path, "colls", id, undefined, options); - const ref = new Container(this.database, response.result.id, this.clientContext); - return { - body: response.result, - headers: response.headers, - ref, - container: ref - }; - } - - /** - * Checks if a Container exists, and, if it doesn't, creates it. - * This will make a read operation based on the id in the `body`, then if it is not found, a create operation. - * You should confirm that the output matches the body you passed in for non-default properties (i.e. indexing policy/etc.) - * - * A container is a named logical container for items. - * - * A database may contain zero or more named containers and each container consists of - * zero or more JSON items. - * - * Being schema-free, the items in a container do not need to share the same structure or fields. - * - * - * Since containers are application resources, they can be authorized using either the - * master key or resource keys. - * - * @param body Represents the body of the container. - * @param options Use to set options like response page size, continuation tokens, etc. - */ - public async createIfNotExists(body: ContainerDefinition, options?: RequestOptions): Promise { - if (!body || body.id === null || body.id === undefined) { - throw new Error("body parameter must be an object with an id property"); - } - /* - 1. Attempt to read the Database (based on an assumption that most databases will already exist, so its faster) - 2. If it fails with NotFound error, attempt to create the db. Else, return the read results. - */ - try { - const readResponse = await this.database.container(body.id).read(options); - return readResponse; - } catch (err) { - if (err.code === StatusCodes.NotFound) { - const createResponse = await this.create(body, options); - // Must merge the headers to capture RU costskaty - HeaderUtils.mergeHeaders(createResponse.headers, err.headers); - return createResponse; - } else { - throw err; - } - } - } - - /** - * Read all containers. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return all containers in an array or iterate over them one at a time. - * @example Read all containers to array. - * ```typescript - * const {body: containerList} = await client.database("").containers.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Container/PartitionKeyRange.ts b/sdk/cosmosdb/cosmos/src/client/Container/PartitionKeyRange.ts deleted file mode 100644 index b52219135e67..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Container/PartitionKeyRange.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface PartitionKeyRange { - id: string; - minInclusive: string; - maxExclusive: string; - ridPrefix: number; - throughputFraction: number; - status: string; - parents: string[]; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Container/UniqueKeyPolicy.ts b/sdk/cosmosdb/cosmos/src/client/Container/UniqueKeyPolicy.ts deleted file mode 100644 index 777ee811d729..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Container/UniqueKeyPolicy.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** Interface for setting unique keys on container creation */ -export interface UniqueKeyPolicy { - uniqueKeys: UniqueKey[]; -} - -/** Interface for a single unique key passed as part of UniqueKeyPolicy */ -export interface UniqueKey { - paths: string[]; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Container/index.ts b/sdk/cosmosdb/cosmos/src/client/Container/index.ts deleted file mode 100644 index b33252018302..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Container/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { Container } from "./Container"; -export { Containers } from "./Containers"; -export { ContainerDefinition } from "./ContainerDefinition"; -export { ContainerResponse } from "./ContainerResponse"; -export { PartitionKeyRange } from "./PartitionKeyRange"; diff --git a/sdk/cosmosdb/cosmos/src/client/Database/Database.ts b/sdk/cosmosdb/cosmos/src/client/Database/Database.ts deleted file mode 100644 index 6e3c9d1b2916..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Database/Database.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { CosmosClient } from "../../CosmosClient"; -import { RequestOptions } from "../../request"; -import { Container, Containers } from "../Container"; -import { User, Users } from "../User"; -import { DatabaseDefinition } from "./DatabaseDefinition"; -import { DatabaseResponse } from "./DatabaseResponse"; - -/** - * Operations for reading or deleting an existing database. - * - * @see {@link Databases} for creating new databases, and reading/querying all databases; use `client.databases`. - * - * Note: all these operations make calls against a fixed budget. - * You should design your system such that these calls scale sublinearly with your application. - * For instance, do not call `database.read()` before every single `item.read()` call, to ensure the database exists; - * do this once on application start up. - */ -export class Database { - /** - * Used for creating new containers, or querying/reading all containers. - * - * Use `.container(id)` to read, replace, or delete a specific, existing {@link Database} by id. - * - * @example Create a new container - * ```typescript - * const {body: containerDefinition, container} = await client.database("").containers.create({id: ""}); - * ``` - */ - public readonly containers: Containers; - /** - * Used for creating new users, or querying/reading all users. - * - * Use `.user(id)` to read, replace, or delete a specific, existing {@link User} by id. - */ - public readonly users: Users; - - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createDatabaseUri(this.id); - } - - /** Returns a new {@link Database} instance. - * - * Note: the intention is to get this object from {@link CosmosClient} via `client.database(id)`, not to instantiate it yourself. - */ - constructor(public readonly client: CosmosClient, public readonly id: string, private clientContext: ClientContext) { - this.containers = new Containers(this, this.clientContext); - this.users = new Users(this, this.clientContext); - } - - /** - * Used to read, replace, or delete a specific, existing {@link Database} by id. - * - * Use `.containers` creating new containers, or querying/reading all containers. - * - * @example Delete a container - * ```typescript - * await client.database("").container("").delete(); - * ``` - */ - public container(id: string): Container { - return new Container(this, id, this.clientContext); - } - - /** - * Used to read, replace, or delete a specific, existing {@link User} by id. - * - * Use `.users` for creating new users, or querying/reading all users. - */ - public user(id: string): User { - return new User(this, id, this.clientContext); - } - - /** Read the definition of the given Database. */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - const response = await this.clientContext.read(path, "dbs", id, undefined, options); - return { - body: response.result, - headers: response.headers, - ref: this, - database: this - }; - } - - /** Delete the given Database. */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - const response = await this.clientContext.delete(path, "dbs", id, undefined, options); - return { - body: response.result, - headers: response.headers, - ref: this, - database: this - }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Database/DatabaseDefinition.ts b/sdk/cosmosdb/cosmos/src/client/Database/DatabaseDefinition.ts deleted file mode 100644 index 643cb2a62881..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Database/DatabaseDefinition.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface DatabaseDefinition { - /** The id of the database. */ - id?: string; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Database/DatabaseResponse.ts b/sdk/cosmosdb/cosmos/src/client/Database/DatabaseResponse.ts deleted file mode 100644 index 69c8df153230..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Database/DatabaseResponse.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { CosmosResponse } from "../../request/CosmosResponse"; -import { Resource } from "../Resource"; -import { Database } from "./Database"; -import { DatabaseDefinition } from "./DatabaseDefinition"; - -/** Response object for Database operations */ -export interface DatabaseResponse extends CosmosResponse { - /** A reference to the {@link Database} that the returned {@link DatabaseDefinition} corresponds to. */ - database: Database; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Database/Databases.ts b/sdk/cosmosdb/cosmos/src/client/Database/Databases.ts deleted file mode 100644 index a1d867cb4d51..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Database/Databases.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, StatusCodes } from "../../common"; -import { CosmosClient } from "../../CosmosClient"; -import { FetchFunctionCallback, HeaderUtils, SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Resource } from "../Resource"; -import { Database } from "./Database"; -import { DatabaseDefinition } from "./DatabaseDefinition"; -import { DatabaseResponse } from "./DatabaseResponse"; - -/** - * Operations for creating new databases, and reading/querying all databases - * - * @see {@link Database} for reading or deleting an existing database; use `client.database(id)`. - * - * Note: all these operations make calls against a fixed budget. - * You should design your system such that these calls scale sublinearly with your application. - * For instance, do not call `databases.readAll()` before every single `item.read()` call, to ensure the database exists; - * do this once on application start up. - */ -export class Databases { - /** - * @hidden - * @param client The parent {@link CosmosClient} for the Database. - */ - constructor(public readonly client: CosmosClient, private readonly clientContext: ClientContext) {} - - /** - * Queries all databases. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return all databases in an array or iterate over them one at a time. - * @example Read all databases to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT * FROM root r WHERE r.id = @db", - * parameters: [ - * {name: "@db", value: "Todo"} - * ] - * }; - * const {body: databaseList} = await client.databases.query(querySpec).toArray(); - * ``` - */ - public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Queries all databases. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return all databases in an array or iterate over them one at a time. - * @example Read all databases to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT * FROM root r WHERE r.id = @db", - * parameters: [ - * {name: "@db", value: "Todo"} - * ] - * }; - * const {body: databaseList} = await client.databases.query(querySpec).toArray(); - * ``` - */ - public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator { - const cb: FetchFunctionCallback = innerOptions => { - return this.clientContext.queryFeed("/dbs", "dbs", "", result => result.Databases, query, innerOptions); - }; - return new QueryIterator(this.clientContext, query, options, cb); - } - - /** - * Send a request for creating a database. - * - * A database manages users, permissions and a set of containers. - * Each Azure Cosmos DB Database Account is able to support multiple independent named databases, - * with the database being the logical container for data. - * - * Each Database consists of one or more containers, each of which in turn contain one or more - * documents. Since databases are an administrative resource, the Service Master Key will be - * required in order to access and successfully complete any action using the User APIs. - * - * @param body The {@link DatabaseDefinition} that represents the {@link Database} to be created. - * @param options Use to set options like response page size, continuation tokens, etc. - */ - public async create(body: DatabaseDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = "/dbs"; // TODO: constant - const response = await this.clientContext.create( - body, - path, - "dbs", - undefined, - undefined, - options - ); - const ref = new Database(this.client, body.id, this.clientContext); - return { - body: response.result, - headers: response.headers, - ref, - database: ref - }; - } - - /** - * Check if a database exists, and if it doesn't, create it. - * This will make a read operation based on the id in the `body`, then if it is not found, a create operation. - * - * A database manages users, permissions and a set of containers. - * Each Azure Cosmos DB Database Account is able to support multiple independent named databases, - * with the database being the logical container for data. - * - * Each Database consists of one or more containers, each of which in turn contain one or more - * documents. Since databases are an an administrative resource, the Service Master Key will be - * required in order to access and successfully complete any action using the User APIs. - * - * @param body The {@link DatabaseDefinition} that represents the {@link Database} to be created. - * @param options - */ - public async createIfNotExists(body: DatabaseDefinition, options?: RequestOptions): Promise { - if (!body || body.id === null || body.id === undefined) { - throw new Error("body parameter must be an object with an id property"); - } - /* - 1. Attempt to read the Database (based on an assumption that most databases will already exist, so its faster) - 2. If it fails with NotFound error, attempt to create the db. Else, return the read results. - */ - try { - const readResponse = await this.client.database(body.id).read(options); - return readResponse; - } catch (err) { - if (err.code === StatusCodes.NotFound) { - const createResponse = await this.create(body, options); - // Must merge the headers to capture RU costskaty - HeaderUtils.mergeHeaders(createResponse.headers, err.headers); - return createResponse; - } else { - throw err; - } - } - } - - // TODO: DatabaseResponse for QueryIterator? - /** - * Reads all databases. - * @param options Use to set options like response page size, continuation tokens, etc. - * @returns {@link QueryIterator} Allows you to return all databases in an array or iterate over them one at a time. - * @example Read all databases to array. - * ```typescript - * const {body: databaseList} = await client.databases.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Database/index.ts b/sdk/cosmosdb/cosmos/src/client/Database/index.ts deleted file mode 100644 index cc20795c666b..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Database/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { Database } from "./Database"; -export { Databases } from "./Databases"; -export { DatabaseDefinition } from "./DatabaseDefinition"; -export { DatabaseResponse } from "./DatabaseResponse"; diff --git a/sdk/cosmosdb/cosmos/src/client/Item/Item.ts b/sdk/cosmosdb/cosmos/src/client/Item/Item.ts deleted file mode 100644 index 2d11339c62e6..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Item/Item.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { Resource } from "../Resource"; -import { ItemDefinition } from "./ItemDefinition"; -import { ItemResponse } from "./ItemResponse"; - -/** - * Used to perform operations on a specific item. - * - * @see {@link Items} for operations on all items; see `container.items`. - */ -export class Item { - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createDocumentUri(this.container.database.id, this.container.id, this.id); - } - - /** - * @hidden - * @param container The parent {@link Container}. - * @param id The id of the given {@link Item}. - * @param primaryKey The primary key of the given {@link Item} (only for partitioned containers). - */ - constructor( - public readonly container: Container, - public readonly id: string, - public readonly primaryKey: string, - private readonly clientContext: ClientContext - ) {} - - /** - * Read the item's definition. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param options Additional options for the request, such as the partition key. - * Note, if you provide a partition key on the options object, it will override the primary key on `this.primaryKey`. - */ - public read(options?: RequestOptions): Promise>; - /** - * Read the item's definition. - * - * Any provided type, T, is not necessarily enforced by the SDK. - * You may get more or less properties and it's up to your logic to enforce it. - * If the type, T, is a class, it won't pass `typeof` comparisons, because it won't have a match prototype. - * It's recommended to only use interfaces. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param options Additional options for the request, such as the partition key. - * Note, if you provide a partition key on the options object, it will override the primary key on `this.primaryKey`. - * - * @example Using custom type for response - * ```typescript - * interface TodoItem { - * title: string; - * done: bool; - * id: string; - * } - * - * let item: TodoItem; - * ({body: item} = await item.read()); - * ``` - */ - public read(options?: RequestOptions): Promise>; - public async read(options?: RequestOptions): Promise> { - options = options || {}; - if ((!options || !options.partitionKey) && this.primaryKey) { - options.partitionKey = this.primaryKey; - } - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - const response = await this.clientContext.read(path, "docs", id, undefined, options); - - return { - body: response.result, - headers: response.headers, - ref: this, - item: this - }; - } - - /** - * Replace the item's definition. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param body The definition to replace the existing {@link Item}'s definition with. - * @param options Additional options for the request, such as the partition key. - */ - public replace(body: ItemDefinition, options?: RequestOptions): Promise>; - /** - * Replace the item's definition. - * - * Any provided type, T, is not necessarily enforced by the SDK. - * You may get more or less properties and it's up to your logic to enforce it. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param body The definition to replace the existing {@link Item}'s definition with. - * @param options Additional options for the request, such as the partition key. - */ - public replace(body: T, options?: RequestOptions): Promise>; - public async replace(body: T, options?: RequestOptions): Promise> { - options = options || {}; - if ((!options || !options.partitionKey) && this.primaryKey) { - options.partitionKey = this.primaryKey; - } - if (options.partitionKey === undefined && options.skipGetPartitionKeyDefinition !== true) { - const { body: partitionKeyDefinition } = await this.container.getPartitionKeyDefinition(); - options.partitionKey = this.container.extractPartitionKey(body, partitionKeyDefinition); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.replace(body, path, "docs", id, undefined, options); - return { - body: response.result, - headers: response.headers, - ref: this, - item: this - }; - } - - /** - * Delete the item. - * @param options Additional options for the request, such as the partition key. - */ - public delete(options?: RequestOptions): Promise>; - /** - * Delete the item. - * - * Any provided type, T, is not necessarily enforced by the SDK. - * You may get more or less properties and it's up to your logic to enforce it. - * - * @param options Additional options for the request, such as the partition key. - */ - public delete(options?: RequestOptions): Promise>; - public async delete(options?: RequestOptions): Promise> { - options = options || {}; - if ((!options || !options.partitionKey) && this.primaryKey) { - options.partitionKey = this.primaryKey; - } - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete(path, "docs", id, undefined, options); - return { - body: response.result, - headers: response.headers, - ref: this, - item: this - }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Item/ItemDefinition.ts b/sdk/cosmosdb/cosmos/src/client/Item/ItemDefinition.ts deleted file mode 100644 index 9bd90125516c..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Item/ItemDefinition.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Items in Cosmos DB are simply JSON objects. - * Most of the Item operations allow for your to provide your own type - * that extends the very simple ItemDefinition. - * - * You cannot use any reserved keys. You can see the reserved key list - * in {@link ItemBody} - */ -export interface ItemDefinition { - [key: string]: any; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Item/ItemResponse.ts b/sdk/cosmosdb/cosmos/src/client/Item/ItemResponse.ts deleted file mode 100644 index 9685f4dd1ff3..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Item/ItemResponse.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { CosmosResponse } from "../../request/CosmosResponse"; -import { Resource } from "../Resource"; -import { Item } from "./Item"; -import { ItemDefinition } from "./ItemDefinition"; - -export interface ItemResponse extends CosmosResponse { - /** Reference to the {@link Item} the response corresponds to. */ - item: Item; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Item/Items.ts b/sdk/cosmosdb/cosmos/src/client/Item/Items.ts deleted file mode 100644 index 88b6cc5562d6..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Item/Items.ts +++ /dev/null @@ -1,297 +0,0 @@ -import { ChangeFeedIterator } from "../../ChangeFeedIterator"; -import { ChangeFeedOptions } from "../../ChangeFeedOptions"; -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { FetchFunctionCallback, SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { Resource } from "../Resource"; -import { Item } from "./Item"; -import { ItemDefinition } from "./ItemDefinition"; -import { ItemResponse } from "./ItemResponse"; - -function isChangeFeedOptions(options: unknown): options is ChangeFeedOptions { - const optionsType = typeof options; - return options && !(optionsType === "string" || optionsType === "boolean" || optionsType === "number"); -} - -/** - * Operations for creating new items, and reading/querying all items - * - * @see {@link Item} for reading, replacing, or deleting an existing container; use `.item(id)`. - */ -export class Items { - /** - * Create an instance of {@link Items} linked to the parent {@link Container}. - * @param container The parent container. - * @hidden - */ - constructor(public readonly container: Container, private readonly clientContext: ClientContext) {} - - /** - * Queries all items. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Used for modifying the request (for instance, specifying the partition key). - * @example Read all items to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT * FROM Families f WHERE f.lastName = @lastName", - * parameters: [ - * {name: "@lastName", value: "Hendricks"} - * ] - * }; - * const {result: items} = await items.query(querySpec).toArray(); - * ``` - */ - public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Queries all items. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options Used for modifying the request (for instance, specifying the partition key). - * @example Read all items to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT firstname FROM Families f WHERE f.lastName = @lastName", - * parameters: [ - * {name: "@lastName", value: "Hendricks"} - * ] - * }; - * const {result: items} = await items.query<{firstName: string}>(querySpec).toArray(); - * ``` - */ - public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.container.url, "docs"); - const id = Helper.getIdFromLink(this.container.url); - - const fetchFunction: FetchFunctionCallback = (innerOptions: FeedOptions) => { - return this.clientContext.queryFeed( - path, - "docs", - id, - result => (result ? result.Documents : []), - query, - innerOptions - ); - }; - - return new QueryIterator(this.clientContext, query, options, fetchFunction, this.container.url); - } - - /** - * Create a `ChangeFeedIterator` to iterate over pages of changes - * - * @param partitionKey - * @param changeFeedOptions - * - * @example Read from the beginning of the change feed. - * ```javascript - * const iterator = items.readChangeFeed({ startFromBeginning: true }); - * const firstPage = await iterator.executeNext(); - * const firstPageResults = firstPage.result - * const secondPage = await iterator.executeNext(); - * ``` - */ - public readChangeFeed( - partitionKey: string | number | boolean, - changeFeedOptions: ChangeFeedOptions - ): ChangeFeedIterator; - /** - * Create a `ChangeFeedIterator` to iterate over pages of changes - * - * @param changeFeedOptions - */ - public readChangeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator; - /** - * Create a `ChangeFeedIterator` to iterate over pages of changes - * - * @param partitionKey - * @param changeFeedOptions - */ - public readChangeFeed( - partitionKey: string | number | boolean, - changeFeedOptions: ChangeFeedOptions - ): ChangeFeedIterator; - /** - * Create a `ChangeFeedIterator` to iterate over pages of changes - * - * @param changeFeedOptions - */ - public readChangeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator; - public readChangeFeed( - partitionKeyOrChangeFeedOptions?: string | number | boolean | ChangeFeedOptions, - changeFeedOptions?: ChangeFeedOptions - ): ChangeFeedIterator { - let partitionKey: string | number | boolean; - if (!changeFeedOptions && isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) { - partitionKey = undefined; - changeFeedOptions = partitionKeyOrChangeFeedOptions; - } else if (partitionKeyOrChangeFeedOptions !== undefined && !isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) { - partitionKey = partitionKeyOrChangeFeedOptions; - } - - if (!changeFeedOptions) { - throw new Error("changeFeedOptions must be a valid object"); - } - - const path = Helper.getPathFromLink(this.container.url, "docs"); - const id = Helper.getIdFromLink(this.container.url); - return new ChangeFeedIterator( - this.clientContext, - id, - path, - partitionKey, - async () => { - const bodyWillBeTruthyIfPartitioned = (await this.container.getPartitionKeyDefinition()).body; - return !!bodyWillBeTruthyIfPartitioned; - }, - changeFeedOptions - ); - } - - /** - * Read all items. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param options Used for modifying the request (for instance, specifying the partition key). - * @example Read all items to array. - * ```typescript - * const {body: containerList} = await items.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator; - /** - * Read all items. - * - * Any provided type, T, is not necessarily enforced by the SDK. - * You may get more or less properties and it's up to your logic to enforce it. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param options Used for modifying the request (for instance, specifying the partition key). - * @example Read all items to array. - * ```typescript - * const {body: containerList} = await items.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator; - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } - - /** - * Create a item. - * - * There is no set schema for JSON items. They may contain any number of custom properties.. - * - * @param body Represents the body of the item. Can contain any number of user defined properties. - * @param options Used for modifying the request (for instance, specifying the partition key). - */ - public async create(body: any, options?: RequestOptions): Promise>; - /** - * Create a item. - * - * Any provided type, T, is not necessarily enforced by the SDK. - * You may get more or less properties and it's up to your logic to enforce it. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param body Represents the body of the item. Can contain any number of user defined properties. - * @param options Used for modifying the request (for instance, specifying the partition key). - */ - public async create(body: T, options?: RequestOptions): Promise>; - public async create(body: T, options: RequestOptions = {}): Promise> { - if (options.partitionKey === undefined && options.skipGetPartitionKeyDefinition !== true) { - const { body: partitionKeyDefinition } = await this.container.getPartitionKeyDefinition(); - options.partitionKey = this.container.extractPartitionKey(body, partitionKeyDefinition); - } - - // Generate random document id if the id is missing in the payload and - // options.disableAutomaticIdGeneration != true - if ((body.id === undefined || body.id === "") && !options.disableAutomaticIdGeneration) { - (body as ItemDefinition).id = Helper.generateGuidId(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "docs"); - const id = Helper.getIdFromLink(this.container.url); - - const response = await this.clientContext.create(body, path, "docs", id, undefined, options); - - const ref = new Item( - this.container, - (response.result as any).id, - (options && options.partitionKey) as string, - this.clientContext - ); - return { - body: response.result, - headers: response.headers, - ref, - item: ref - }; - } - - /** - * Upsert an item. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param body Represents the body of the item. Can contain any number of user defined properties. - * @param options Used for modifying the request (for instance, specifying the partition key). - */ - public async upsert(body: any, options?: RequestOptions): Promise>; - /** - * Upsert an item. - * - * Any provided type, T, is not necessarily enforced by the SDK. - * You may get more or less properties and it's up to your logic to enforce it. - * - * There is no set schema for JSON items. They may contain any number of custom properties. - * - * @param body Represents the body of the item. Can contain any number of user defined properties. - * @param options Used for modifying the request (for instance, specifying the partition key). - */ - public async upsert(body: T, options?: RequestOptions): Promise>; - public async upsert(body: T, options: RequestOptions = {}): Promise> { - if (options.partitionKey === undefined && options.skipGetPartitionKeyDefinition !== true) { - const { body: partitionKeyDefinition } = await this.container.getPartitionKeyDefinition(); - options.partitionKey = this.container.extractPartitionKey(body, partitionKeyDefinition); - } - - // Generate random document id if the id is missing in the payload and - // options.disableAutomaticIdGeneration != true - if ((body.id === undefined || body.id === "") && !options.disableAutomaticIdGeneration) { - (body as ItemDefinition).id = Helper.generateGuidId(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "docs"); - const id = Helper.getIdFromLink(this.container.url); - - const response = (await this.clientContext.upsert(body, path, "docs", id, undefined, options)) as T & Resource; - - const ref = new Item( - this.container, - (response.result as any).id, - (options && options.partitionKey) as string, - this.clientContext - ); - return { - body: response.result, - headers: response.headers, - ref, - item: ref - }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Item/index.ts b/sdk/cosmosdb/cosmos/src/client/Item/index.ts deleted file mode 100644 index 1f37b9feab76..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Item/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { Item } from "./Item"; -export { Items } from "./Items"; -export { ItemResponse } from "./ItemResponse"; -export { ItemDefinition } from "./ItemDefinition"; diff --git a/sdk/cosmosdb/cosmos/src/client/Offer/Offer.ts b/sdk/cosmosdb/cosmos/src/client/Offer/Offer.ts deleted file mode 100644 index fcac4ca72476..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Offer/Offer.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Constants, Helper } from "../../common"; -import { CosmosClient } from "../../CosmosClient"; -import { RequestOptions } from "../../request"; -import { OfferDefinition } from "./OfferDefinition"; -import { OfferResponse } from "./OfferResponse"; - -/** - * Use to read or replace an existing {@link Offer} by id. - * - * @see {@link Offers} to query or read all offers. - */ -export class Offer { - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return `/${Constants.Path.OffersPathSegment}/${this.id}`; - } - /** - * @hidden - * @param client The parent {@link CosmosClient} for the Database Account. - * @param id The id of the given {@link Offer}. - */ - constructor( - public readonly client: CosmosClient, - public readonly id: string, - private readonly clientContext: ClientContext - ) {} - - /** - * Read the {@link OfferDefinition} for the given {@link Offer}. - * @param options - */ - public async read(options?: RequestOptions): Promise { - const response = await this.clientContext.read(this.url, "offers", this.id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, offer: this }; - } - - /** - * Replace the given {@link Offer} with the specified {@link OfferDefinition}. - * @param body The specified {@link OfferDefinition} - * @param options - */ - public async replace(body: OfferDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - const response = await this.clientContext.replace( - body, - this.url, - "offers", - this.id, - undefined, - options - ); - return { body: response.result, headers: response.headers, ref: this, offer: this }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Offer/OfferDefinition.ts b/sdk/cosmosdb/cosmos/src/client/Offer/OfferDefinition.ts deleted file mode 100644 index 42084dfac993..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Offer/OfferDefinition.ts +++ /dev/null @@ -1,11 +0,0 @@ -export interface OfferDefinition { - id?: string; - offerType?: string; // TODO: enum? - offerVersion?: string; // TODO: enum? - resource?: string; - offerResourceId?: string; - content?: { - offerThroughput: number; - offerIsRUPerMinuteThroughputEnabled: boolean; - }; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Offer/OfferResponse.ts b/sdk/cosmosdb/cosmos/src/client/Offer/OfferResponse.ts deleted file mode 100644 index 8d1095ad004a..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Offer/OfferResponse.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { CosmosResponse } from "../../request"; -import { Resource } from "../Resource"; -import { Offer } from "./Offer"; -import { OfferDefinition } from "./OfferDefinition"; - -export interface OfferResponse extends CosmosResponse { - /** A reference to the {@link Offer} corresponding to the returned {@link OfferDefinition}. */ - offer: Offer; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Offer/Offers.ts b/sdk/cosmosdb/cosmos/src/client/Offer/Offers.ts deleted file mode 100644 index 52da61d0b5ef..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Offer/Offers.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { CosmosClient } from "../../CosmosClient"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions } from "../../request"; -import { Resource } from "../Resource"; -import { OfferDefinition } from "./OfferDefinition"; - -/** - * Use to query or read all Offers. - * - * @see {@link Offer} to read or replace an existing {@link Offer} by id. - */ -export class Offers { - /** - * @hidden - * @param client The parent {@link CosmosClient} for the offers. - */ - constructor(public readonly client: CosmosClient, private readonly clientContext: ClientContext) {} - - /** - * Query all offers. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Query all offers. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed("/offers", "offers", "", result => result.Offers, query, innerOptions); - }); - } - - /** - * Read all offers. - * @param options - * @example Read all offers to array. - * ```typescript - * const {body: offerList} = await client.offers.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Offer/index.ts b/sdk/cosmosdb/cosmos/src/client/Offer/index.ts deleted file mode 100644 index fe384dee31f5..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Offer/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { Offer } from "./Offer"; -export { Offers } from "./Offers"; -export { OfferDefinition } from "./OfferDefinition"; -export { OfferResponse } from "./OfferResponse"; diff --git a/sdk/cosmosdb/cosmos/src/client/Permission/Permission.ts b/sdk/cosmosdb/cosmos/src/client/Permission/Permission.ts deleted file mode 100644 index 9998c23d8499..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Permission/Permission.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { RequestOptions } from "../../request/RequestOptions"; -import { User } from "../User"; -import { PermissionBody } from "./PermissionBody"; -import { PermissionDefinition } from "./PermissionDefinition"; -import { PermissionResponse } from "./PermissionResponse"; - -/** - * Use to read, replace, or delete a given {@link Permission} by id. - * - * @see {@link Permissions} to create, upsert, query, or read all Permissions. - */ -export class Permission { - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createPermissionUri(this.user.database.id, this.user.id, this.id); - } - /** - * @hidden - * @param user The parent {@link User}. - * @param id The id of the given {@link Permission}. - */ - constructor(public readonly user: User, public readonly id: string, private readonly clientContext: ClientContext) {} - - /** - * Read the {@link PermissionDefinition} of the given {@link Permission}. - * @param options - */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.read( - path, - "permissions", - id, - undefined, - options - ); - return { - body: response.result, - headers: response.headers, - ref: this, - permission: this - }; - } - - /** - * Replace the given {@link Permission} with the specified {@link PermissionDefinition}. - * @param body The specified {@link PermissionDefinition}. - * @param options - */ - public async replace(body: PermissionDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.replace( - body, - path, - "permissions", - id, - undefined, - options - ); - return { - body: response.result, - headers: response.headers, - ref: this, - permission: this - }; - } - - /** - * Delete the given {@link Permission}. - * @param options - */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete( - path, - "permissions", - id, - undefined, - options - ); - return { - body: response.result, - headers: response.headers, - ref: this, - permission: this - }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Permission/PermissionBody.ts b/sdk/cosmosdb/cosmos/src/client/Permission/PermissionBody.ts deleted file mode 100644 index 028046fda93e..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Permission/PermissionBody.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Resource } from "../Resource"; - -export interface PermissionBody { - /** System generated resource token for the particular resource and user */ - _token: string; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Permission/PermissionDefinition.ts b/sdk/cosmosdb/cosmos/src/client/Permission/PermissionDefinition.ts deleted file mode 100644 index b625065fccfa..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Permission/PermissionDefinition.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { PermissionMode } from "../../documents"; - -export interface PermissionDefinition { - /** The id of the permission */ - id: string; - /** The mode of the permission, must be a value of {@link PermissionMode} */ - permissionMode: PermissionMode; - /** The link of the resource that the permission will be applied to. */ - resource: string; - resourcePartitionKey?: string | any[]; // TODO: what's allowed here? -} diff --git a/sdk/cosmosdb/cosmos/src/client/Permission/PermissionResponse.ts b/sdk/cosmosdb/cosmos/src/client/Permission/PermissionResponse.ts deleted file mode 100644 index 1708c4d8f8ad..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Permission/PermissionResponse.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { CosmosResponse } from "../../request"; -import { Resource } from "../Resource"; -import { Permission } from "./Permission"; -import { PermissionBody } from "./PermissionBody"; -import { PermissionDefinition } from "./PermissionDefinition"; - -export interface PermissionResponse - extends CosmosResponse { - /** A reference to the {@link Permission} corresponding to the returned {@link PermissionDefinition}. */ - permission: Permission; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Permission/Permissions.ts b/sdk/cosmosdb/cosmos/src/client/Permission/Permissions.ts deleted file mode 100644 index 86e28657a0cd..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Permission/Permissions.ts +++ /dev/null @@ -1,122 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Resource } from "../Resource"; -import { User } from "../User"; -import { Permission } from "./Permission"; -import { PermissionBody } from "./PermissionBody"; -import { PermissionDefinition } from "./PermissionDefinition"; -import { PermissionResponse } from "./PermissionResponse"; - -/** - * Use to create, replace, query, and read all Permissions. - * - * @see {@link Permission} to read, replace, or delete a specific permission by id. - */ -export class Permissions { - /** - * @hidden - * @param user The parent {@link User}. - */ - constructor(public readonly user: User, private readonly clientContext: ClientContext) {} - - /** - * Query all permissions. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Query all permissions. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.user.url, "permissions"); - const id = Helper.getIdFromLink(this.user.url); - - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed(path, "permissions", id, result => result.Permissions, query, innerOptions); - }); - } - - /** - * Read all permissions. - * @param options - * @example Read all permissions to array. - * ```typescript - * const {body: permissionList} = await user.permissions.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } - - /** - * Create a permission. - * - * A permission represents a per-User Permission to access a specific resource - * e.g. Item or Container. - * @param body Represents the body of the permission. - */ - public async create(body: PermissionDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.user.url, "permissions"); - const id = Helper.getIdFromLink(this.user.url); - - const response = await this.clientContext.create( - body, - path, - "permissions", - id, - undefined, - options - ); - const ref = new Permission(this.user, response.result.id, this.clientContext); - return { - body: response.result, - headers: response.headers, - ref, - permission: ref - }; - } - - /** - * Upsert a permission. - * - * A permission represents a per-User Permission to access a - * specific resource e.g. Item or Container. - */ - public async upsert(body: PermissionDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.user.url, "permissions"); - const id = Helper.getIdFromLink(this.user.url); - - const response = await this.clientContext.upsert( - body, - path, - "permissions", - id, - undefined, - options - ); - const ref = new Permission(this.user, response.result.id, this.clientContext); - return { - body: response.result, - headers: response.headers, - ref, - permission: ref - }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Permission/index.ts b/sdk/cosmosdb/cosmos/src/client/Permission/index.ts deleted file mode 100644 index 4193883635de..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Permission/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { Permission } from "./Permission"; -export { Permissions } from "./Permissions"; -export { PermissionDefinition } from "./PermissionDefinition"; -export { PermissionResponse } from "./PermissionResponse"; diff --git a/sdk/cosmosdb/cosmos/src/client/Resource.ts b/sdk/cosmosdb/cosmos/src/client/Resource.ts deleted file mode 100644 index 88894835a3a5..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Resource.ts +++ /dev/null @@ -1,12 +0,0 @@ -export interface Resource { - /** Required. User settable property. Unique name that identifies the item, that is, no two items share the same ID within a database. The id must not exceed 255 characters. */ - id: string; - /** System generated property. The resource ID (_rid) is a unique identifier that is also hierarchical per the resource stack on the resource model. It is used internally for placement and navigation of the item resource. */ - _rid: string; - /** System generated property. Specifies the last updated timestamp of the resource. The value is a timestamp. */ - _ts: number; - /** System generated property. The unique addressable URI for the resource. */ - _self: string; - /** System generated property. Represents the resource etag required for optimistic concurrency control. */ - _etag: string; -} diff --git a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedure.ts b/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedure.ts deleted file mode 100644 index eab8410fb9d1..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedure.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { CosmosResponse, RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { StoredProcedureDefinition } from "./StoredProcedureDefinition"; -import { StoredProcedureResponse } from "./StoredProcedureResponse"; - -/** - * Operations for reading, replacing, deleting, or executing a specific, existing stored procedure by id. - * - * For operations to create, upsert, read all, or query Stored Procedures, - */ -export class StoredProcedure { - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createStoredProcedureUri(this.container.database.id, this.container.id, this.id); - } - /** - * Creates a new instance of {@link StoredProcedure} linked to the parent {@link Container}. - * @param container The parent {@link Container}. - * @param id The id of the given {@link StoredProcedure}. - * @hidden - */ - constructor( - public readonly container: Container, - public readonly id: string, - private readonly clientContext: ClientContext - ) {} - - /** - * Read the {@link StoredProcedureDefinition} for the given {@link StoredProcedure}. - * @param options - */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - const response = await this.clientContext.read(path, "sprocs", id, undefined, options); - - return { body: response.result, headers: response.headers, ref: this, storedProcedure: this, sproc: this }; - } - - /** - * Replace the given {@link StoredProcedure} with the specified {@link StoredProcedureDefinition}. - * @param body The specified {@link StoredProcedureDefinition} to replace the existing definition. - * @param options - */ - public async replace(body: StoredProcedureDefinition, options?: RequestOptions): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.replace( - body, - path, - "sprocs", - id, - undefined, - options - ); - - return { body: response.result, headers: response.headers, ref: this, storedProcedure: this, sproc: this }; - } - - /** - * Delete the given {@link StoredProcedure}. - * @param options - */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete(path, "sprocs", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, storedProcedure: this, sproc: this }; - } - - /** - * Execute the given {@link StoredProcedure}. - * @param params Array of parameters to pass as arguments to the given {@link StoredProcedure}. - * @param options Additional options, such as the partition key to invoke the {@link StoredProcedure} on. - */ - public async execute(params?: any[], options?: RequestOptions): Promise>; - /** - * Execute the given {@link StoredProcedure}. - * - * The specified type, T, is not enforced by the client. - * Be sure to validate the response from the stored procedure matches the type, T, you provide. - * - * @param params Array of parameters to pass as arguments to the given {@link StoredProcedure}. - * @param options Additional options, such as the partition key to invoke the {@link StoredProcedure} on. - */ - public async execute(params?: any[], options?: RequestOptions): Promise>; - public async execute(params?: any[], options?: RequestOptions): Promise> { - const response = await this.clientContext.execute(this.url, params, options); - return { body: response.result, headers: response.headers, ref: this }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedureDefinition.ts b/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedureDefinition.ts deleted file mode 100644 index ad5586edd881..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedureDefinition.ts +++ /dev/null @@ -1,10 +0,0 @@ -export interface StoredProcedureDefinition { - /** - * The id of the {@link StoredProcedure}. - */ - id?: string; - /** - * The body of the {@link StoredProcedure}. This is a JavaScript function. - */ - body?: string | ((...inputs: any[]) => void); -} diff --git a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedureResponse.ts b/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedureResponse.ts deleted file mode 100644 index 7e840cf6143c..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedureResponse.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { CosmosResponse } from "../../request"; -import { Resource } from "../Resource"; -import { StoredProcedure } from "./StoredProcedure"; -import { StoredProcedureDefinition } from "./StoredProcedureDefinition"; - -export interface StoredProcedureResponse extends CosmosResponse { - /** - * A reference to the {@link StoredProcedure} which the {@link StoredProcedureDefinition} corresponds to. - */ - storedProcedure: StoredProcedure; - - /** - * Alias for storedProcedure. - * - * A reference to the {@link StoredProcedure} which the {@link StoredProcedureDefinition} corresponds to. - */ - sproc: StoredProcedure; -} diff --git a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedures.ts b/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedures.ts deleted file mode 100644 index d687111f77b9..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/StoredProcedures.ts +++ /dev/null @@ -1,145 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { Resource } from "../Resource"; -import { StoredProcedure } from "./StoredProcedure"; -import { StoredProcedureDefinition } from "./StoredProcedureDefinition"; -import { StoredProcedureResponse } from "./StoredProcedureResponse"; - -/** - * Operations for creating, upserting, or reading/querying all Stored Procedures. - * - * For operations to read, replace, delete, or execute a specific, existing stored procedure by id, see `container.storedProcedure()`. - */ -export class StoredProcedures { - /** - * @param container The parent {@link Container}. - * @hidden - */ - constructor(public readonly container: Container, private readonly clientContext: ClientContext) {} - - /** - * Query all Stored Procedures. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - * @example Read all stored procedures to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT * FROM root r WHERE r.id = @sproc", - * parameters: [ - * {name: "@sproc", value: "Todo"} - * ] - * }; - * const {body: sprocList} = await containers.storedProcedures.query(querySpec).toArray(); - * ``` - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Query all Stored Procedures. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - * @example Read all stored procedures to array. - * ```typescript - * const querySpec: SqlQuerySpec = { - * query: "SELECT * FROM root r WHERE r.id = @sproc", - * parameters: [ - * {name: "@sproc", value: "Todo"} - * ] - * }; - * const {body: sprocList} = await containers.storedProcedures.query(querySpec).toArray(); - * ``` - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.container.url, "sprocs"); - const id = Helper.getIdFromLink(this.container.url); - - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed(path, "sprocs", id, result => result.StoredProcedures, query, innerOptions); - }); - } - - /** - * Read all stored procedures. - * @param options - * @example Read all stored procedures to array. - * ```typescript - * const {body: sprocList} = await containers.storedProcedures.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } - - /** - * Create a StoredProcedure. - * - * Azure Cosmos DB allows stored procedures to be executed in the storage tier, - * directly against an item container. The script - * gets executed under ACID transactions on the primary storage partition of the - * specified container. For additional details, - * refer to the server-side JavaScript API documentation. - */ - public async create(body: StoredProcedureDefinition, options?: RequestOptions): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "sprocs"); - const id = Helper.getIdFromLink(this.container.url); - - const response = await this.clientContext.create( - body, - path, - "sprocs", - id, - undefined, - options - ); - const ref = new StoredProcedure(this.container, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, storedProcedure: ref, sproc: ref }; - } - - /** - * Upsert a StoredProcedure. - * - * Azure Cosmos DB allows stored procedures to be executed in the storage tier, - * directly against a document container. The script - * gets executed under ACID transactions on the primary storage partition of the - * specified container. For additional details, - * refer to the server-side JavaScript API documentation. - * - */ - public async upsert(body: StoredProcedureDefinition, options?: RequestOptions): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "sprocs"); - const id = Helper.getIdFromLink(this.container.url); - - const response = await this.clientContext.upsert( - body, - path, - "sprocs", - id, - undefined, - options - ); - const ref = new StoredProcedure(this.container, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, storedProcedure: ref, sproc: ref }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/index.ts b/sdk/cosmosdb/cosmos/src/client/StoredProcedure/index.ts deleted file mode 100644 index 07c3a4e83744..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/StoredProcedure/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { StoredProcedure } from "./StoredProcedure"; -export { StoredProcedures } from "./StoredProcedures"; -export { StoredProcedureDefinition } from "./StoredProcedureDefinition"; -export { StoredProcedureResponse } from "./StoredProcedureResponse"; diff --git a/sdk/cosmosdb/cosmos/src/client/Trigger/Trigger.ts b/sdk/cosmosdb/cosmos/src/client/Trigger/Trigger.ts deleted file mode 100644 index fbf527867098..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Trigger/Trigger.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { CosmosClient } from "../../CosmosClient"; -import { RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { TriggerDefinition } from "./TriggerDefinition"; -import { TriggerResponse } from "./TriggerResponse"; - -/** - * Operations to read, replace, or delete a {@link Trigger}. - * - * Use `container.triggers` to create, upsert, query, or read all. - */ -export class Trigger { - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createTriggerUri(this.container.database.id, this.container.id, this.id); - } - - private client: CosmosClient; - - /** - * @hidden - * @param container The parent {@link Container}. - * @param id The id of the given {@link Trigger}. - */ - constructor( - public readonly container: Container, - public readonly id: string, - private readonly clientContext: ClientContext - ) { - this.client = this.container.database.client; - } - - /** - * Read the {@link TriggerDefinition} for the given {@link Trigger}. - * @param options - */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.read(path, "triggers", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, trigger: this }; - } - - /** - * Replace the given {@link Trigger} with the specified {@link TriggerDefinition}. - * @param body The specified {@link TriggerDefinition} to replace the existing definition with. - * @param options - */ - public async replace(body: TriggerDefinition, options?: RequestOptions): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.replace( - body, - path, - "triggers", - id, - undefined, - options - ); - - return { body: response.result, headers: response.headers, ref: this, trigger: this }; - } - - /** - * Delete the given {@link Trigger}. - * @param options - */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete(path, "triggers", id, undefined, options); - - return { body: response.result, headers: response.headers, ref: this, trigger: this }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Trigger/TriggerDefinition.ts b/sdk/cosmosdb/cosmos/src/client/Trigger/TriggerDefinition.ts deleted file mode 100644 index 861153476fa5..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Trigger/TriggerDefinition.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { TriggerOperation, TriggerType } from "../../documents"; - -export interface TriggerDefinition { - /** The id of the trigger. */ - id?: string; - /** The body of the trigger, it can also be passed as a stringifed function */ - body: (() => void) | string; - /** The type of the trigger, should be one of the values of {@link TriggerType}. */ - triggerType: TriggerType; - /** The trigger operation, should be one of the values of {@link TriggerOperation}. */ - triggerOperation: TriggerOperation; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Trigger/TriggerResponse.ts b/sdk/cosmosdb/cosmos/src/client/Trigger/TriggerResponse.ts deleted file mode 100644 index 23c1b9b89431..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Trigger/TriggerResponse.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Trigger } from "."; -import { CosmosResponse } from "../../request"; -import { Resource } from "../Resource"; -import { TriggerDefinition } from "./TriggerDefinition"; - -export interface TriggerResponse extends CosmosResponse { - /** A reference to the {@link Trigger} corresponding to the returned {@link TriggerDefinition}. */ - trigger: Trigger; -} diff --git a/sdk/cosmosdb/cosmos/src/client/Trigger/Triggers.ts b/sdk/cosmosdb/cosmos/src/client/Trigger/Triggers.ts deleted file mode 100644 index d1effc3abeac..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Trigger/Triggers.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { Resource } from "../Resource"; -import { Trigger } from "./Trigger"; -import { TriggerDefinition } from "./TriggerDefinition"; -import { TriggerResponse } from "./TriggerResponse"; - -/** - * Operations to create, upsert, query, and read all triggers. - * - * Use `container.triggers` to read, replace, or delete a {@link Trigger}. - */ -export class Triggers { - /** - * @hidden - * @param container The parent {@link Container}. - */ - constructor(public readonly container: Container, private readonly clientContext: ClientContext) {} - - /** - * Query all Triggers. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Query all Triggers. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.container.url, "triggers"); - const id = Helper.getIdFromLink(this.container.url); - - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed(path, "triggers", id, result => result.Triggers, query, innerOptions); - }); - } - - /** - * Read all Triggers. - * @param options - * @example Read all trigger to array. - * ```typescript - * const {body: triggerList} = await container.triggers.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } - /** - * Create a trigger. - * - * Azure Cosmos DB supports pre and post triggers defined in JavaScript to be executed - * on creates, updates and deletes. - * - * For additional details, refer to the server-side JavaScript API documentation. - * @param body - * @param options - */ - public async create(body: TriggerDefinition, options?: RequestOptions): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "triggers"); - const id = Helper.getIdFromLink(this.container.url); - - const response = await this.clientContext.create(body, path, "triggers", id, undefined, options); - const ref = new Trigger(this.container, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, trigger: ref }; - } - - /** - * Upsert a trigger. - * - * Azure Cosmos DB supports pre and post triggers defined in JavaScript to be - * executed on creates, updates and deletes. - * - * For additional details, refer to the server-side JavaScript API documentation. - * @param body - * @param options - */ - public async upsert(body: TriggerDefinition, options?: RequestOptions): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "triggers"); - const id = Helper.getIdFromLink(this.container.url); - - const response = await this.clientContext.upsert(body, path, "triggers", id, undefined, options); - const ref = new Trigger(this.container, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, trigger: ref }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/Trigger/index.ts b/sdk/cosmosdb/cosmos/src/client/Trigger/index.ts deleted file mode 100644 index 226828b27417..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/Trigger/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { Trigger } from "./Trigger"; -export { Triggers } from "./Triggers"; -export { TriggerDefinition } from "./TriggerDefinition"; -export { TriggerResponse } from "./TriggerResponse"; diff --git a/sdk/cosmosdb/cosmos/src/client/User/User.ts b/sdk/cosmosdb/cosmos/src/client/User/User.ts deleted file mode 100644 index e3aca0b129ff..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/User/User.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { RequestOptions } from "../../request"; -import { Database } from "../Database"; -import { Permission, Permissions } from "../Permission"; -import { UserDefinition } from "./UserDefinition"; -import { UserResponse } from "./UserResponse"; - -/** - * Used to read, replace, and delete Users. - * - * Additionally, you can access the permissions for a given user via `user.permission` and `user.permissions`. - * - * @see {@link Users} to create, upsert, query, or read all. - */ -export class User { - /** - * Operations for creating, upserting, querying, or reading all operations. - * - * See `client.permission(id)` to read, replace, or delete a specific Permission by id. - */ - public readonly permissions: Permissions; - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createUserUri(this.database.id, this.id); - } - /** - * @hidden - * @param database The parent {@link Database}. - * @param id - */ - constructor( - public readonly database: Database, - public readonly id: string, - private readonly clientContext: ClientContext - ) { - this.permissions = new Permissions(this, this.clientContext); - } - - /** - * Operations to read, replace, or delete a specific Permission by id. - * - * See `client.permissions` for creating, upserting, querying, or reading all operations. - * @param id - */ - public permission(id: string): Permission { - return new Permission(this, id, this.clientContext); - } - - /** - * Read the {@link UserDefinition} for the given {@link User}. - * @param options - */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - const response = await this.clientContext.read(path, "users", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, user: this }; - } - - /** - * Replace the given {@link User}'s definition with the specified {@link UserDefinition}. - * @param body The specified {@link UserDefinition} to replace the definition. - * @param options - */ - public async replace(body: UserDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.replace(body, path, "users", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, user: this }; - } - - /** - * Delete the given {@link User}. - * @param options - */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete(path, "users", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, user: this }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/User/UserDefinition.ts b/sdk/cosmosdb/cosmos/src/client/User/UserDefinition.ts deleted file mode 100644 index a533497a843d..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/User/UserDefinition.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface UserDefinition { - /** The id of the user. */ - id?: string; -} diff --git a/sdk/cosmosdb/cosmos/src/client/User/UserResponse.ts b/sdk/cosmosdb/cosmos/src/client/User/UserResponse.ts deleted file mode 100644 index 08960cd11e81..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/User/UserResponse.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { CosmosResponse } from "../../request"; -import { Resource } from "../Resource"; -import { User } from "./User"; -import { UserDefinition } from "./UserDefinition"; - -export interface UserResponse extends CosmosResponse { - /** A reference to the {@link User} corresponding to the returned {@link UserDefinition}. */ - user: User; -} diff --git a/sdk/cosmosdb/cosmos/src/client/User/Users.ts b/sdk/cosmosdb/cosmos/src/client/User/Users.ts deleted file mode 100644 index 14add0008c7f..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/User/Users.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Database } from "../Database"; -import { Resource } from "../Resource"; -import { User } from "./User"; -import { UserDefinition } from "./UserDefinition"; -import { UserResponse } from "./UserResponse"; - -/** - * Used to create, upsert, query, and read all users. - * - * @see {@link User} to read, replace, or delete a specific User by id. - */ -export class Users { - /** - * @hidden - * @param database The parent {@link Database}. - */ - constructor(public readonly database: Database, private readonly clientContext: ClientContext) {} - - /** - * Query all users. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Query all users. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.database.url, "users"); - const id = Helper.getIdFromLink(this.database.url); - - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed(path, "users", id, result => result.Users, query, innerOptions); - }); - } - - /** - * Read all users. - * @param options - * @example Read all users to array. - * ```typescript - * const {body: usersList} = await database.users.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } - - /** - * Create a database user with the specified {@link UserDefinition}. - * @param body The specified {@link UserDefinition}. - * @param options - */ - public async create(body: UserDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.database.url, "users"); - const id = Helper.getIdFromLink(this.database.url); - const response = await this.clientContext.create(body, path, "users", id, undefined, options); - const ref = new User(this.database, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, user: ref }; - } - - /** - * Upsert a database user with a specified {@link UserDefinition}. - * @param body The specified {@link UserDefinition}. - * @param options - */ - public async upsert(body: UserDefinition, options?: RequestOptions): Promise { - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.database.url, "users"); - const id = Helper.getIdFromLink(this.database.url); - - const response = await this.clientContext.upsert(body, path, "users", id, undefined, options); - const ref = new User(this.database, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, user: ref }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/User/index.ts b/sdk/cosmosdb/cosmos/src/client/User/index.ts deleted file mode 100644 index 1936bbed8b79..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/User/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { User } from "./User"; -export { Users } from "./Users"; -export { UserDefinition } from "./UserDefinition"; -export { UserResponse } from "./UserResponse"; diff --git a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunction.ts b/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunction.ts deleted file mode 100644 index a2545b246cf7..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunction.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper, UriFactory } from "../../common"; -import { RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { UserDefinedFunctionDefinition } from "./UserDefinedFunctionDefinition"; -import { UserDefinedFunctionResponse } from "./UserDefinedFunctionResponse"; - -/** - * Used to read, replace, or delete a specified User Definied Function by id. - * - * @see {@link UserDefinedFunction} to create, upsert, query, read all User Defined Functions. - */ -export class UserDefinedFunction { - /** - * Returns a reference URL to the resource. Used for linking in Permissions. - */ - public get url() { - return UriFactory.createUserDefinedFunctionUri(this.container.database.id, this.container.id, this.id); - } - /** - * @hidden - * @param container The parent {@link Container}. - * @param id The id of the given {@link UserDefinedFunction}. - */ - constructor( - public readonly container: Container, - public readonly id: string, - private readonly clientContext: ClientContext - ) {} - - /** - * Read the {@link UserDefinedFunctionDefinition} for the given {@link UserDefinedFunction}. - * @param options - */ - public async read(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.read(path, "udfs", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, userDefinedFunction: this, udf: this }; - } - - /** - * Replace the given {@link UserDefinedFunction} with the specified {@link UserDefinedFunctionDefinition}. - * @param body The specified {@link UserDefinedFunctionDefinition}. - * @param options - */ - public async replace( - body: UserDefinedFunctionDefinition, - options?: RequestOptions - ): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.replace( - body, - path, - "udfs", - id, - undefined, - options - ); - return { body: response.result, headers: response.headers, ref: this, userDefinedFunction: this, udf: this }; - } - - /** - * Delete the given {@link UserDefined}. - * @param options - */ - public async delete(options?: RequestOptions): Promise { - const path = Helper.getPathFromLink(this.url); - const id = Helper.getIdFromLink(this.url); - - const response = await this.clientContext.delete(path, "udfs", id, undefined, options); - return { body: response.result, headers: response.headers, ref: this, userDefinedFunction: this, udf: this }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctionDefinition.ts b/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctionDefinition.ts deleted file mode 100644 index 565552958a50..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctionDefinition.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface UserDefinedFunctionDefinition { - /** The id of the {@link UserDefinedFunction} */ - id?: string; - /** The body of the user defined function, it can also be passed as a stringifed function */ - body?: string | (() => void); -} diff --git a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctionResponse.ts b/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctionResponse.ts deleted file mode 100644 index 182724973a9b..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctionResponse.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { CosmosResponse } from "../../request"; -import { Resource } from "../Resource"; -import { UserDefinedFunction } from "./UserDefinedFunction"; -import { UserDefinedFunctionDefinition } from "./UserDefinedFunctionDefinition"; - -export interface UserDefinedFunctionResponse - extends CosmosResponse { - /** A reference to the {@link UserDefinedFunction} corresponding to the returned {@link UserDefinedFunctionDefinition}. */ - userDefinedFunction: UserDefinedFunction; - /** - * Alias for `userDefinedFunction(id). - * - * A reference to the {@link UserDefinedFunction} corresponding to the returned {@link UserDefinedFunctionDefinition}. - */ - udf: UserDefinedFunction; -} diff --git a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctions.ts b/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctions.ts deleted file mode 100644 index 2e3e4ea6c76c..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/UserDefinedFunctions.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { FeedOptions, RequestOptions } from "../../request"; -import { Container } from "../Container"; -import { Resource } from "../Resource"; -import { UserDefinedFunction } from "./UserDefinedFunction"; -import { UserDefinedFunctionDefinition } from "./UserDefinedFunctionDefinition"; -import { UserDefinedFunctionResponse } from "./UserDefinedFunctionResponse"; - -/** - * Used to create, upsert, query, or read all User Defined Functions. - * - * @see {@link UserDefinedFunction} to read, replace, or delete a given User Defined Function by id. - */ -export class UserDefinedFunctions { - /** - * @hidden - * @param container The parent {@link Container}. - */ - constructor(public readonly container: Container, private readonly clientContext: ClientContext) {} - - /** - * Query all User Defined Functions. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - /** - * Query all User Defined Functions. - * @param query Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query. - * @param options - */ - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator; - public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator { - const path = Helper.getPathFromLink(this.container.url, "udfs"); - const id = Helper.getIdFromLink(this.container.url); - - return new QueryIterator(this.clientContext, query, options, innerOptions => { - return this.clientContext.queryFeed(path, "udfs", id, result => result.UserDefinedFunctions, query, innerOptions); - }); - } - - /** - * Read all User Defined Functions. - * @param options - * @example Read all User Defined Functions to array. - * ```typescript - * const {body: udfList} = await container.userDefinedFunctions.readAll().toArray(); - * ``` - */ - public readAll(options?: FeedOptions): QueryIterator { - return this.query(undefined, options); - } - - /** - * Create a UserDefinedFunction. - * - * Azure Cosmos DB supports JavaScript UDFs which can be used inside queries, stored procedures and triggers. - * - * For additional details, refer to the server-side JavaScript API documentation. - * - */ - public async create( - body: UserDefinedFunctionDefinition, - options?: RequestOptions - ): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "udfs"); - const id = Helper.getIdFromLink(this.container.url); - - const response = await this.clientContext.create( - body, - path, - "udfs", - id, - undefined, - options - ); - const ref = new UserDefinedFunction(this.container, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, userDefinedFunction: ref, udf: ref }; - } - - /** - * Upsert a UserDefinedFunction. - * - * Azure Cosmos DB supports JavaScript UDFs which can be used inside queries, stored procedures and triggers. - * - * For additional details, refer to the server-side JavaScript API documentation. - * - */ - public async upsert( - body: UserDefinedFunctionDefinition, - options?: RequestOptions - ): Promise { - if (body.body) { - body.body = body.body.toString(); - } - - const err = {}; - if (!Helper.isResourceValid(body, err)) { - throw err; - } - - const path = Helper.getPathFromLink(this.container.url, "udfs"); - const id = Helper.getIdFromLink(this.container.url); - - const response = await this.clientContext.upsert( - body, - path, - "udfs", - id, - undefined, - options - ); - const ref = new UserDefinedFunction(this.container, response.result.id, this.clientContext); - return { body: response.result, headers: response.headers, ref, userDefinedFunction: ref, udf: ref }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/index.ts b/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/index.ts deleted file mode 100644 index 120edaba4afa..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/UserDefinedFunction/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { UserDefinedFunction } from "./UserDefinedFunction"; -export { UserDefinedFunctions } from "./UserDefinedFunctions"; -export { UserDefinedFunctionDefinition } from "./UserDefinedFunctionDefinition"; -export { UserDefinedFunctionResponse } from "./UserDefinedFunctionResponse"; diff --git a/sdk/cosmosdb/cosmos/src/client/index.ts b/sdk/cosmosdb/cosmos/src/client/index.ts deleted file mode 100644 index 6559a2c2e851..000000000000 --- a/sdk/cosmosdb/cosmos/src/client/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -export * from "./Conflict"; -export * from "./Container"; -export * from "./Database"; -export * from "./Item"; -export * from "./Offer"; -export * from "./Permission"; -export * from "./StoredProcedure"; -export * from "./Trigger"; -export * from "./User"; -export * from "./UserDefinedFunction"; -export * from "./Resource"; diff --git a/sdk/cosmosdb/cosmos/src/common/constants.ts b/sdk/cosmosdb/cosmos/src/common/constants.ts deleted file mode 100644 index 33a82ad016bd..000000000000 --- a/sdk/cosmosdb/cosmos/src/common/constants.ts +++ /dev/null @@ -1,263 +0,0 @@ -import { version } from "../../package.json"; - -export const Constants = { - MediaTypes: { - Any: "*/*", - ImageJpeg: "image/jpeg", - ImagePng: "image/png", - Javascript: "application/x-javascript", - Json: "application/json", - OctetStream: "application/octet-stream", - QueryJson: "application/query+json", - SQL: "application/sql", - TextHtml: "text/html", - TextPlain: "text/plain", - Xml: "application/xml" - }, - - HttpMethods: { - Get: "GET", - Post: "POST", - Put: "PUT", - Delete: "DELETE", - Head: "HEAD", - Options: "OPTIONS" - }, - - HttpHeaders: { - Authorization: "authorization", - ETag: "etag", - MethodOverride: "X-HTTP-Method", - Slug: "Slug", - ContentType: "Content-Type", - LastModified: "Last-Modified", - ContentEncoding: "Content-Encoding", - CharacterSet: "CharacterSet", - UserAgent: "User-Agent", - IfModifiedSince: "If-Modified-Since", - IfMatch: "If-Match", - IfNoneMatch: "If-None-Match", - ContentLength: "Content-Length", - AcceptEncoding: "Accept-Encoding", - KeepAlive: "Keep-Alive", - CacheControl: "Cache-Control", - TransferEncoding: "Transfer-Encoding", - ContentLanguage: "Content-Language", - ContentLocation: "Content-Location", - ContentMd5: "Content-Md5", - ContentRange: "Content-Range", - Accept: "Accept", - AcceptCharset: "Accept-Charset", - AcceptLanguage: "Accept-Language", - IfRange: "If-Range", - IfUnmodifiedSince: "If-Unmodified-Since", - MaxForwards: "Max-Forwards", - ProxyAuthorization: "Proxy-Authorization", - AcceptRanges: "Accept-Ranges", - ProxyAuthenticate: "Proxy-Authenticate", - RetryAfter: "Retry-After", - SetCookie: "Set-Cookie", - WwwAuthenticate: "Www-Authenticate", - Origin: "Origin", - Host: "Host", - AccessControlAllowOrigin: "Access-Control-Allow-Origin", - AccessControlAllowHeaders: "Access-Control-Allow-Headers", - KeyValueEncodingFormat: "application/x-www-form-urlencoded", - WrapAssertionFormat: "wrap_assertion_format", - WrapAssertion: "wrap_assertion", - WrapScope: "wrap_scope", - SimpleToken: "SWT", - HttpDate: "date", - Prefer: "Prefer", - Location: "Location", - Referer: "referer", - A_IM: "A-IM", - - // Query - Query: "x-ms-documentdb-query", - IsQuery: "x-ms-documentdb-isquery", - - // Our custom Azure Cosmos DB headers - Continuation: "x-ms-continuation", - PageSize: "x-ms-max-item-count", - ItemCount: "x-ms-item-count", - - // Request sender generated. Simply echoed by backend. - ActivityId: "x-ms-activity-id", - PreTriggerInclude: "x-ms-documentdb-pre-trigger-include", - PreTriggerExclude: "x-ms-documentdb-pre-trigger-exclude", - PostTriggerInclude: "x-ms-documentdb-post-trigger-include", - PostTriggerExclude: "x-ms-documentdb-post-trigger-exclude", - IndexingDirective: "x-ms-indexing-directive", - SessionToken: "x-ms-session-token", - ConsistencyLevel: "x-ms-consistency-level", - XDate: "x-ms-date", - CollectionPartitionInfo: "x-ms-collection-partition-info", - CollectionServiceInfo: "x-ms-collection-service-info", - RetryAfterInMilliseconds: "x-ms-retry-after-ms", - IsFeedUnfiltered: "x-ms-is-feed-unfiltered", - ResourceTokenExpiry: "x-ms-documentdb-expiry-seconds", - EnableScanInQuery: "x-ms-documentdb-query-enable-scan", - EmitVerboseTracesInQuery: "x-ms-documentdb-query-emit-traces", - EnableCrossPartitionQuery: "x-ms-documentdb-query-enablecrosspartition", - ParallelizeCrossPartitionQuery: "x-ms-documentdb-query-parallelizecrosspartitionquery", - - // QueryMetrics - // Request header to tell backend to give you query metrics. - PopulateQueryMetrics: "x-ms-documentdb-populatequerymetrics", - // Response header that holds the serialized version of query metrics. - QueryMetrics: "x-ms-documentdb-query-metrics", - - // Version headers and values - Version: "x-ms-version", - - // Owner name - OwnerFullName: "x-ms-alt-content-path", - - // Owner ID used for name based request in session token. - OwnerId: "x-ms-content-path", - - // Partition Key - PartitionKey: "x-ms-documentdb-partitionkey", - PartitionKeyRangeID: "x-ms-documentdb-partitionkeyrangeid", - - // Quota Info - MaxEntityCount: "x-ms-root-entity-max-count", - CurrentEntityCount: "x-ms-root-entity-current-count", - CollectionQuotaInMb: "x-ms-collection-quota-mb", - CollectionCurrentUsageInMb: "x-ms-collection-usage-mb", - MaxMediaStorageUsageInMB: "x-ms-max-media-storage-usage-mb", - CurrentMediaStorageUsageInMB: "x-ms-media-storage-usage-mb", - RequestCharge: "x-ms-request-charge", - PopulateQuotaInfo: "x-ms-documentdb-populatequotainfo", - MaxResourceQuota: "x-ms-resource-quota", - - // Offer header - OfferType: "x-ms-offer-type", - OfferThroughput: "x-ms-offer-throughput", - - // Custom RUs/minute headers - DisableRUPerMinuteUsage: "x-ms-documentdb-disable-ru-per-minute-usage", - IsRUPerMinuteUsed: "x-ms-documentdb-is-ru-per-minute-used", - OfferIsRUPerMinuteThroughputEnabled: "x-ms-offer-is-ru-per-minute-throughput-enabled", - - // Index progress headers - IndexTransformationProgress: "x-ms-documentdb-collection-index-transformation-progress", - LazyIndexingProgress: "x-ms-documentdb-collection-lazy-indexing-progress", - - // Upsert header - IsUpsert: "x-ms-documentdb-is-upsert", - - // Sub status of the error - SubStatus: "x-ms-substatus", - - // StoredProcedure related headers - EnableScriptLogging: "x-ms-documentdb-script-enable-logging", - ScriptLogResults: "x-ms-documentdb-script-log-results", - - // Multi-Region Write - ALLOW_MULTIPLE_WRITES: "x-ms-cosmos-allow-tentative-writes" - }, - - // GlobalDB related constants - WritableLocations: "writableLocations", - ReadableLocations: "readableLocations", - Name: "name", - DatabaseAccountEndpoint: "databaseAccountEndpoint", - - // ServiceDocument Resource - ENABLE_MULTIPLE_WRITABLE_LOCATIONS: "enableMultipleWriteLocations", - - // Background refresh time - DefaultUnavailableLocationExpirationTimeMS: 5 * 60 * 1000, - - // Client generated retry count response header - ThrottleRetryCount: "x-ms-throttle-retry-count", - ThrottleRetryWaitTimeInMs: "x-ms-throttle-retry-wait-time-ms", - - CurrentVersion: "2018-06-18", - - SDKName: "azure-cosmos-js", - SDKVersion: version, - - DefaultPrecisions: { - DefaultNumberHashPrecision: 3, - DefaultNumberRangePrecision: -1, - DefaultStringHashPrecision: 3, - DefaultStringRangePrecision: -1 - }, - - ConsistentHashRing: { - DefaultVirtualNodesPerCollection: 128 - }, - - RegularExpressions: { - TrimLeftSlashes: new RegExp("^[/]+"), - TrimRightSlashes: new RegExp("[/]+$"), - IllegalResourceIdCharacters: new RegExp("[/\\\\?#]") - }, - - Quota: { - CollectionSize: "collectionSize" - }, - - Path: { - DatabasesPathSegment: "dbs", - CollectionsPathSegment: "colls", - UsersPathSegment: "users", - DocumentsPathSegment: "docs", - PermissionsPathSegment: "permissions", - StoredProceduresPathSegment: "sprocs", - TriggersPathSegment: "triggers", - UserDefinedFunctionsPathSegment: "udfs", - ConflictsPathSegment: "conflicts", - AttachmentsPathSegment: "attachments", - PartitionKeyRangesPathSegment: "pkranges", - SchemasPathSegment: "schemas", - OffersPathSegment: "offers", - TopologyPathSegment: "topology", - DatabaseAccountPathSegment: "databaseaccount" - }, - - OperationTypes: { - Create: "create", - Replace: "replace", - Upsert: "upsert", - Delete: "delete", - Read: "read", - Query: "query", - Execute: "execute" - }, - - PartitionKeyRange: { - // Partition Key Range Constants - MinInclusive: "minInclusive", - MaxExclusive: "maxExclusive", - Id: "id" - }, - - QueryRangeConstants: { - // Partition Key Range Constants - MinInclusive: "minInclusive", - MaxExclusive: "maxExclusive", - min: "min" - }, - - EffectiveParitionKeyConstants: { - MinimumInclusiveEffectivePartitionKey: "", - MaximumExclusiveEffectivePartitionKey: "FF" - } -}; - -export enum ResourceType { - database = "dbs", - offer = "offers", - user = "users", - permission = "permissions", - container = "colls", - conflicts = "conflicts", - sproc = "sprocs", - udf = "udfs", - trigger = "triggers", - item = "docs" -} diff --git a/sdk/cosmosdb/cosmos/src/common/helper.ts b/sdk/cosmosdb/cosmos/src/common/helper.ts deleted file mode 100644 index 937e6c240774..000000000000 --- a/sdk/cosmosdb/cosmos/src/common/helper.ts +++ /dev/null @@ -1,328 +0,0 @@ -import { Constants } from "."; -import { IHeaders } from ".."; -import { ConnectionPolicy } from "../documents"; -import { RequestContext } from "../request/RequestContext"; - -/** @hidden */ -const Regexes = Constants.RegularExpressions; - -/** @hidden */ -export class Helper { - public static jsonStringifyAndEscapeNonASCII(arg: any) { - // TODO: better way for this? Not sure. - // escapes non-ASCII characters as \uXXXX - return JSON.stringify(arg).replace(/[\u0080-\uFFFF]/g, m => { - return "\\u" + ("0000" + m.charCodeAt(0).toString(16)).slice(-4); - }); - } - - public static parseLink(resourcePath: string) { - if (resourcePath.length === 0) { - /* for DatabaseAccount case, both type and objectBody will be undefined. */ - return { - type: undefined, - objectBody: undefined - }; - } - - if (resourcePath[resourcePath.length - 1] !== "/") { - resourcePath = resourcePath + "/"; - } - - if (resourcePath[0] !== "/") { - resourcePath = "/" + resourcePath; - } - - /* - The path will be in the form of /[resourceType]/[resourceId]/ .... - /[resourceType]//[resourceType]/[resourceId]/ .... /[resourceType]/[resourceId]/ - or /[resourceType]/[resourceId]/ .... /[resourceType]/[resourceId]/[resourceType]/[resourceId]/ .... - /[resourceType]/[resourceId]/ - The result of split will be in the form of - [[[resourceType], [resourceId] ... ,[resourceType], [resourceId], ""] - In the first case, to extract the resourceId it will the element before last ( at length -2 ) - and the type will be before it ( at length -3 ) - In the second case, to extract the resource type it will the element before last ( at length -2 ) - */ - const pathParts = resourcePath.split("/"); - let id; - let type; - if (pathParts.length % 2 === 0) { - // request in form /[resourceType]/[resourceId]/ .... /[resourceType]/[resourceId]. - id = pathParts[pathParts.length - 2]; - type = pathParts[pathParts.length - 3]; - } else { - // request in form /[resourceType]/[resourceId]/ .... /[resourceType]/. - id = pathParts[pathParts.length - 3]; - type = pathParts[pathParts.length - 2]; - } - - const result = { - type, - objectBody: { - id, - self: resourcePath - } - }; - - return result; - } - - public static isReadRequest(request: RequestContext): boolean { - return ( - request.operationType === Constants.OperationTypes.Read || - request.operationType === Constants.OperationTypes.Query - ); - } - - public static sleep(time: number): Promise { - return new Promise(resolve => { - setTimeout(() => { - resolve(); - }, time); - }); - } - - public static getContainerLink(link: string) { - return link - .split("/") - .slice(0, 4) - .join("/"); - } - - public static trimSlashes(source: string) { - return source - .replace(Constants.RegularExpressions.TrimLeftSlashes, "") - .replace(Constants.RegularExpressions.TrimRightSlashes, ""); - } - - public static getHexaDigit() { - return Math.floor(Math.random() * 16).toString(16); - } - - public static setIsUpsertHeader(headers: IHeaders) { - if (headers === undefined || headers === null) { - throw new Error('The "headers" parameter must not be null or undefined'); - } - - if (!(headers instanceof Object)) { - throw new Error(`The "headers" parameter must be an instance of "Object". Actual type is: "${typeof headers}".`); - } - - (headers as IHeaders)[Constants.HttpHeaders.IsUpsert] = true; - } - - // TODO: replace with well known library? - public static generateGuidId() { - let id = ""; - - for (let i = 0; i < 8; i++) { - id += Helper.getHexaDigit(); - } - - id += "-"; - - for (let i = 0; i < 4; i++) { - id += Helper.getHexaDigit(); - } - - id += "-"; - - for (let i = 0; i < 4; i++) { - id += Helper.getHexaDigit(); - } - - id += "-"; - - for (let i = 0; i < 4; i++) { - id += Helper.getHexaDigit(); - } - - id += "-"; - - for (let i = 0; i < 12; i++) { - id += Helper.getHexaDigit(); - } - - return id; - } - - public static parsePath(path: string) { - const pathParts = []; - let currentIndex = 0; - - const throwError = () => { - throw new Error("Path " + path + " is invalid at index " + currentIndex); - }; - - const getEscapedToken = () => { - const quote = path[currentIndex]; - let newIndex = ++currentIndex; - - while (true) { - newIndex = path.indexOf(quote, newIndex); - if (newIndex === -1) { - throwError(); - } - - if (path[newIndex - 1] !== "\\") { - break; - } - - ++newIndex; - } - - const token = path.substr(currentIndex, newIndex - currentIndex); - currentIndex = newIndex + 1; - return token; - }; - - const getToken = () => { - const newIndex = path.indexOf("/", currentIndex); - let token = null; - if (newIndex === -1) { - token = path.substr(currentIndex); - currentIndex = path.length; - } else { - token = path.substr(currentIndex, newIndex - currentIndex); - currentIndex = newIndex; - } - - token = token.trim(); - return token; - }; - - while (currentIndex < path.length) { - if (path[currentIndex] !== "/") { - throwError(); - } - - if (++currentIndex === path.length) { - break; - } - - if (path[currentIndex] === '"' || path[currentIndex] === "'") { - pathParts.push(getEscapedToken()); - } else { - pathParts.push(getToken()); - } - } - - return pathParts; - } - public static isResourceValid(resource: any, err: any) { - // TODO: any TODO: code smell - if (resource.id) { - if (typeof resource.id !== "string") { - err.message = "Id must be a string."; - return false; - } - - if ( - resource.id.indexOf("/") !== -1 || - resource.id.indexOf("\\") !== -1 || - resource.id.indexOf("?") !== -1 || - resource.id.indexOf("#") !== -1 - ) { - err.message = "Id contains illegal chars."; - return false; - } - if (resource.id[resource.id.length - 1] === " ") { - err.message = "Id ends with a space."; - return false; - } - } - return true; - } - - /** @ignore */ - public static getIdFromLink(resourceLink: string, isNameBased: boolean = true) { - if (isNameBased) { - resourceLink = Helper.trimSlashes(resourceLink); - return resourceLink; - } else { - return Helper.parseLink(resourceLink).objectBody.id.toLowerCase(); - } - } - - /** @ignore */ - public static getPathFromLink(resourceLink: string, resourceType?: string, isNameBased: boolean = true) { - if (isNameBased) { - resourceLink = Helper.trimSlashes(resourceLink); - if (resourceType) { - return "/" + encodeURI(resourceLink) + "/" + resourceType; - } else { - return "/" + encodeURI(resourceLink); - } - } else { - if (resourceType) { - return "/" + resourceLink + resourceType + "/"; - } else { - return "/" + resourceLink; - } - } - } - public static isStringNullOrEmpty(inputString: string) { - // checks whether string is null, undefined, empty or only contains space - return !inputString || /^\s*$/.test(inputString); - } - - public static trimSlashFromLeftAndRight(inputString: string) { - if (typeof inputString !== "string") { - throw new Error("invalid input: input is not string"); - } - - return inputString.replace(Regexes.TrimLeftSlashes, "").replace(Regexes.TrimRightSlashes, ""); - } - - public static validateResourceId(resourceId: string) { - // if resourceId is not a string or is empty throw an error - if (typeof resourceId !== "string" || this.isStringNullOrEmpty(resourceId)) { - throw new Error("Resource Id must be a string and cannot be undefined, null or empty"); - } - - // if resourceId starts or ends with space throw an error - if (resourceId[resourceId.length - 1] === " ") { - throw new Error("Resource Id cannot end with space"); - } - - // if resource id contains illegal characters throw an error - if (Regexes.IllegalResourceIdCharacters.test(resourceId)) { - throw new Error("Illegal characters ['/', '\\', '?', '#'] cannot be used in resourceId"); - } - - return true; - } - - public static getResourceIdFromPath(resourcePath: string) { - if (!resourcePath || typeof resourcePath !== "string") { - return null; - } - - const trimmedPath = this.trimSlashFromLeftAndRight(resourcePath); - const pathSegments = trimmedPath.split("/"); - - // number of segments of a path must always be even - if (pathSegments.length % 2 !== 0) { - return null; - } - - return pathSegments[pathSegments.length - 1]; - } - - public static parseConnectionPolicy(policy: any): ConnectionPolicy { - if (!policy) { - return new ConnectionPolicy(); - } else if (policy instanceof ConnectionPolicy) { - return policy; - } else { - const connectionPolicy = new ConnectionPolicy(); - for (const key of Object.getOwnPropertyNames(connectionPolicy)) { - if ((policy as any)[key] !== undefined) { - (connectionPolicy as any)[key] = (policy as any)[key]; - } - } - return connectionPolicy; - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/common/index.ts b/sdk/cosmosdb/cosmos/src/common/index.ts deleted file mode 100644 index c62565958338..000000000000 --- a/sdk/cosmosdb/cosmos/src/common/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./constants"; -export * from "./helper"; -export * from "./statusCodes"; -export * from "./uriFactory"; -export * from "./platform"; diff --git a/sdk/cosmosdb/cosmos/src/common/platform.ts b/sdk/cosmosdb/cosmos/src/common/platform.ts deleted file mode 100644 index e52428f94738..000000000000 --- a/sdk/cosmosdb/cosmos/src/common/platform.ts +++ /dev/null @@ -1,44 +0,0 @@ -import * as os from "os"; -import { Constants } from "."; - -/** @hidden */ - -export class Platform { - public static getPlatformDefaultHeaders(): { [key: string]: string } { - const defaultHeaders: { [key: string]: string } = {}; - defaultHeaders[Constants.HttpHeaders.UserAgent] = Platform.getUserAgent(); - return defaultHeaders; - } - - public static getDecodedDataLength(encodedData: string): number { - const buffer = Buffer.from(encodedData, "base64"); - return buffer.length; - } - - public static getUserAgent() { - // gets the user agent in the following format - // "{OSName}/{OSVersion} Nodejs/{NodejsVersion} documentdb-nodejs-sdk/{SDKVersion}" - // for example: - // "linux/3.4.0+ Nodejs/v0.10.25 documentdb-nodejs-sdk/1.10.0" - // "win32/10.0.14393 Nodejs/v4.4.7 documentdb-nodejs-sdk/1.10.0" - const osName = Platform._getSafeUserAgentSegmentInfo(os.platform()); - const osVersion = Platform._getSafeUserAgentSegmentInfo(os.release()); - const nodejsVersion = Platform._getSafeUserAgentSegmentInfo(process.version); - - const userAgent = `${osName}/${osVersion} Nodejs/${nodejsVersion} ${Constants.SDKName}/${Constants.SDKVersion}`; - return userAgent; - } - - public static _getSafeUserAgentSegmentInfo(s: string) { - // catch null, undefined, etc - if (typeof s !== "string") { - s = "unknown"; - } - // remove all white spaces - s = s.replace(/\s+/g, ""); - if (!s) { - s = "unknown"; - } - return s; - } -} diff --git a/sdk/cosmosdb/cosmos/src/common/statusCodes.ts b/sdk/cosmosdb/cosmos/src/common/statusCodes.ts deleted file mode 100644 index 9da422439934..000000000000 --- a/sdk/cosmosdb/cosmos/src/common/statusCodes.ts +++ /dev/null @@ -1,47 +0,0 @@ -// tslint:disable:object-literal-key-quotes -export const StatusCodes = { - // Success - Ok: 200, - Created: 201, - Accepted: 202, - NoContent: 204, - NotModified: 304, - - // Client error - BadRequest: 400, - Unauthorized: 401, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - PreconditionFailed: 412, - RequestEntityTooLarge: 413, - TooManyRequests: 429, - RetryWith: 449, - - // Server Error - InternalServerError: 500, - ServiceUnavailable: 503, - - // Operation pause and cancel. These are FAKE status codes for QOS logging purpose only. - OperationPaused: 1200, - OperationCancelled: 1201 -}; - -export const SubStatusCodes = { - Unknown: 0, - - // 400: Bad Request Substatus - CrossPartitionQueryNotServable: 1004, - - // 410: StatusCodeType_Gone: substatus - PartitionKeyRangeGone: 1002, - - // 404: NotFound Substatus - ReadSessionNotAvailable: 1002, - - // 403: Forbidden Substatus - WriteForbidden: 3 -}; diff --git a/sdk/cosmosdb/cosmos/src/common/uriFactory.ts b/sdk/cosmosdb/cosmos/src/common/uriFactory.ts deleted file mode 100644 index b78723de62d0..000000000000 --- a/sdk/cosmosdb/cosmos/src/common/uriFactory.ts +++ /dev/null @@ -1,226 +0,0 @@ -import { Constants, Helper } from "."; - -/** @hidden */ -export class UriFactory { - /** - * Given a database id, this creates a database link. - * @param {string} databaseId -The database id - * @returns {string} -A database link in the format of dbs/{0} \ - * with {0} being a Uri escaped version of the databaseId - * @description Would be used when creating or deleting a DocumentCollection \ - * or a User in Azure Cosmos DB database service - */ - public static createDatabaseUri(databaseId: string) { - databaseId = Helper.trimSlashFromLeftAndRight(databaseId); - Helper.validateResourceId(databaseId); - - return Constants.Path.DatabasesPathSegment + "/" + databaseId; - } - - /** - * Given a database and collection id, this creates a collection link. - * @param {string} databaseId -The database id - * @param {string} collectionId -The collection id - * @returns {string} A collection link in the format of dbs/{0}/colls/{1} \ - * with {0} being a Uri escaped version of the databaseId and {1} being collectionId - * @description Would be used when updating or deleting a DocumentCollection, creating a \ - * Document, a StoredProcedure, a Trigger, a UserDefinedFunction, or when executing a query \ - * with CreateDocumentQuery in Azure Cosmos DB database service. - */ - public static createDocumentCollectionUri(databaseId: string, collectionId: string) { - collectionId = Helper.trimSlashFromLeftAndRight(collectionId); - Helper.validateResourceId(collectionId); - - return this.createDatabaseUri(databaseId) + "/" + Constants.Path.CollectionsPathSegment + "/" + collectionId; - } - - /** - * Given a database and user id, this creates a user link. - * @param {string} databaseId -The database id - * @param {string} userId -The user id - * @returns {string} A user link in the format of dbs/{0}/users/{1} \ - * with {0} being a Uri escaped version of the databaseId and {1} being userId - * @description Would be used when creating a Permission, or when replacing or deleting \ - * a User in Azure Cosmos DB database service - */ - public static createUserUri(databaseId: string, userId: string) { - userId = Helper.trimSlashFromLeftAndRight(userId); - Helper.validateResourceId(userId); - - return this.createDatabaseUri(databaseId) + "/" + Constants.Path.UsersPathSegment + "/" + userId; - } - - /** - * Given a database and collection id, this creates a collection link. - * @param {string} databaseId -The database id - * @param {string} collectionId -The collection id - * @param {string} documentId -The document id - * @returns {string} -A document link in the format of \ - * dbs/{0}/colls/{1}/docs/{2} with {0} being a Uri escaped version of \ - * the databaseId, {1} being collectionId and {2} being the documentId - * @description Would be used when creating an Attachment, or when replacing \ - * or deleting a Document in Azure Cosmos DB database service - */ - public static createDocumentUri(databaseId: string, collectionId: string, documentId: string) { - documentId = Helper.trimSlashFromLeftAndRight(documentId); - Helper.validateResourceId(documentId); - - return ( - this.createDocumentCollectionUri(databaseId, collectionId) + - "/" + - Constants.Path.DocumentsPathSegment + - "/" + - documentId - ); - } - - /** - * Given a database, collection and document id, this creates a document link. - * @param {string} databaseId -The database Id - * @param {string} userId -The user Id - * @param {string} permissionId - The permissionId - * @returns {string} A permission link in the format of dbs/{0}/users/{1}/permissions/{2} \ - * with {0} being a Uri escaped version of the databaseId, {1} being userId and {2} being permissionId - * @description Would be used when replacing or deleting a Permission in Azure Cosmos DB database service. - */ - public static createPermissionUri(databaseId: string, userId: string, permissionId: string) { - permissionId = Helper.trimSlashFromLeftAndRight(permissionId); - Helper.validateResourceId(permissionId); - - return this.createUserUri(databaseId, userId) + "/" + Constants.Path.PermissionsPathSegment + "/" + permissionId; - } - - /** - * Given a database, collection and stored proc id, this creates a stored proc link. - * @param {string} databaseId -The database Id - * @param {string} collectionId -The collection Id - * @param {string} storedProcedureId -The stored procedure Id - * @returns {string} -A stored procedure link in the format of \ - * dbs/{0}/colls/{1}/sprocs/{2} with {0} being a Uri escaped version of the databaseId, \ - * {1} being collectionId and {2} being the storedProcedureId - * @description Would be used when replacing, executing, or deleting a StoredProcedure in \ - * Azure Cosmos DB database service. - */ - public static createStoredProcedureUri(databaseId: string, collectionId: string, storedProcedureId: string) { - storedProcedureId = Helper.trimSlashFromLeftAndRight(storedProcedureId); - Helper.validateResourceId(storedProcedureId); - - return ( - UriFactory.createDocumentCollectionUri(databaseId, collectionId) + - "/" + - Constants.Path.StoredProceduresPathSegment + - "/" + - storedProcedureId - ); - } - - /** - * @summary Given a database, collection and trigger id, this creates a trigger link. - * @param {string} databaseId -The database Id - * @param {string} collectionId -The collection Id - * @param {string} triggerId -The trigger Id - * @returns {string} -A trigger link in the format of \ - * dbs/{0}/colls/{1}/triggers/{2} with {0} being a Uri escaped version of the databaseId, \ - * {1} being collectionId and {2} being the triggerId - * @description Would be used when replacing, executing, or deleting a Trigger in Azure Cosmos DB database service - */ - public static createTriggerUri(databaseId: string, collectionId: string, triggerId: string) { - triggerId = Helper.trimSlashFromLeftAndRight(triggerId); - Helper.validateResourceId(triggerId); - - return ( - this.createDocumentCollectionUri(databaseId, collectionId) + - "/" + - Constants.Path.TriggersPathSegment + - "/" + - triggerId - ); - } - - /** - * @summary Given a database, collection and udf id, this creates a udf link. - * @param {string} databaseId -The database Id - * @param {string} collectionId -The collection Id - * @param {string} udfId -The User Defined Function Id - * @returns {string} -A udf link in the format of dbs/{0}/colls/{1}/udfs/{2} \ - * with {0} being a Uri escaped version of the databaseId, {1} being collectionId and {2} being the udfId - * @description Would be used when replacing, executing, or deleting a UserDefinedFunction in \ - * Azure Cosmos DB database service - */ - public static createUserDefinedFunctionUri(databaseId: string, collectionId: string, udfId: string) { - udfId = Helper.trimSlashFromLeftAndRight(udfId); - Helper.validateResourceId(udfId); - - return ( - this.createDocumentCollectionUri(databaseId, collectionId) + - "/" + - Constants.Path.UserDefinedFunctionsPathSegment + - "/" + - udfId - ); - } - - /** - * @summary Given a database, collection and conflict id, this creates a conflict link. - * @param {string} databaseId -The database Id - * @param {string} collectionId -The collection Id - * @param {string} conflictId -The conflict Id - * @returns {string} -A conflict link in the format of dbs/{0}/colls/{1}/conflicts/{2} \ - * with {0} being a Uri escaped version of the databaseId, {1} being collectionId and {2} being the conflictId - * @description Would be used when creating a Conflict in Azure Cosmos DB database service. - */ - public static createConflictUri(databaseId: string, collectionId: string, conflictId: string) { - conflictId = Helper.trimSlashFromLeftAndRight(conflictId); - Helper.validateResourceId(conflictId); - - return ( - this.createDocumentCollectionUri(databaseId, collectionId) + - "/" + - Constants.Path.ConflictsPathSegment + - "/" + - conflictId - ); - } - - /** - * @summary Given a database, collection and conflict id, this creates a conflict link. - * @param {string} databaseId -The database Id - * @param {string} collectionId -The collection Id - * @param {string} documentId -The document Id\ - * @param {string} attachmentId -The attachment Id - * @returns {string} -A conflict link in the format of dbs/{0}/colls/{1}/conflicts/{2} \ - * with {0} being a Uri escaped version of the databaseId, {1} being collectionId and {2} being the conflictId - * @description Would be used when creating a Conflict in Azure Cosmos DB database service. - */ - public static createAttachmentUri( - databaseId: string, - collectionId: string, - documentId: string, - attachmentId: string - ) { - attachmentId = Helper.trimSlashFromLeftAndRight(attachmentId); - Helper.validateResourceId(attachmentId); - - return ( - this.createDocumentUri(databaseId, collectionId, documentId) + - "/" + - Constants.Path.AttachmentsPathSegment + - "/" + - attachmentId - ); - } - - /** - * @summary Given a database and collection, this creates a partition key ranges link in\ - * the Azure Cosmos DB database service. - * @param {string} databaseId -The database Id - * @param {string} collectionId -The collection Id - * @returns {string} -A partition key ranges link in the format of \ - * dbs/{0}/colls/{1}/pkranges with {0} being a Uri escaped version of the databaseId and {1} being collectionId - */ - public static createPartitionKeyRangesUri(databaseId: string, collectionId: string) { - return ( - this.createDocumentCollectionUri(databaseId, collectionId) + "/" + Constants.Path.PartitionKeyRangesPathSegment - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/documents/ConnectionMode.ts b/sdk/cosmosdb/cosmos/src/documents/ConnectionMode.ts deleted file mode 100644 index 159c9e182967..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/ConnectionMode.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** Determines the connection behavior of the CosmosClient. Note, we currently only support Gateway Mode. */ -export enum ConnectionMode { - /** Gateway mode talks to a intermediate gateway which handles the direct communicationi with your individual partitions. */ - Gateway = 0 -} diff --git a/sdk/cosmosdb/cosmos/src/documents/ConnectionPolicy.ts b/sdk/cosmosdb/cosmos/src/documents/ConnectionPolicy.ts deleted file mode 100644 index 1ec78379b75b..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/ConnectionPolicy.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { ConnectionMode, MediaReadMode } from "."; -import { RetryOptions } from "../retry"; -/** - * Represents the Connection policy associated with a CosmosClient in the Azure Cosmos DB database service. - */ -export class ConnectionPolicy { - private static readonly defaultRequestTimeout: number = 60000; - private static readonly defaultMediaRequestTimeout: number = 300000; - - /** Determines which mode to connect to Cosmos with. (Currently only supports Gateway option) */ - public ConnectionMode = ConnectionMode.Gateway; - /** Attachment content (aka media) download mode. Should be one of the values of {@link MediaReadMode} */ - public MediaReadMode: keyof typeof MediaReadMode = MediaReadMode.Buffered; - - /** Time to wait for response from network peer for attachment content (aka media) operations. Represented in milliseconds. */ - public MediaRequestTimeout = ConnectionPolicy.defaultMediaRequestTimeout; - /** Request timeout (time to wait for response from network peer). Represented in milliseconds. */ - public RequestTimeout = ConnectionPolicy.defaultRequestTimeout; - /** Flag to enable/disable automatic redirecting of requests based on read/write operations. */ - public EnableEndpointDiscovery = true; - /** List of azure regions to be used as preferred locations for read requests. */ - public PreferredLocations: string[] = []; - /** RetryOptions instance which defines several configurable properties used during retry. */ - public RetryOptions = new RetryOptions(); - /** - * Flag to disable SSL verification for the requests. SSL verification is enabled by default. Don't set this when targeting production endpoints. - * This is intended to be used only when targeting emulator endpoint to avoid failing your requests with SSL related error. - */ - public DisableSSLVerification = false; - /** Http/Https proxy url */ - public ProxyUrl = ""; - /** - * The flag that enables writes on any locations (regions) for geo-replicated database accounts in the Azure Cosmos DB service. - * Default is `false`. - */ - public UseMultipleWriteLocations: boolean = false; -} diff --git a/sdk/cosmosdb/cosmos/src/documents/ConsistencyLevel.ts b/sdk/cosmosdb/cosmos/src/documents/ConsistencyLevel.ts deleted file mode 100644 index 413208702c73..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/ConsistencyLevel.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Represents the consistency levels supported for Azure Cosmos DB client operations.
- * The requested ConsistencyLevel must match or be weaker than that provisioned for the database account. - * Consistency levels. - * - * Consistency levels by order of strength are Strong, BoundedStaleness, Session, Consistent Prefix, and Eventual. - * - * See https://aka.ms/cosmos-consistency for more detailed documentation on Consistency Levels. - */ -export enum ConsistencyLevel { - /** - * Strong Consistency guarantees that read operations always return the value that was last written. - */ - Strong = "Strong", - /** - * Bounded Staleness guarantees that reads are not too out-of-date. - * This can be configured based on number of operations (MaxStalenessPrefix) or time (MaxStalenessIntervalInSeconds). - */ - BoundedStaleness = "BoundedStaleness", - /** - * Session Consistency guarantees monotonic reads (you never read old data, then new, then old again), - * monotonic writes (writes are ordered) and read your writes (your writes are immediately visible to your reads) - * within any single session. - */ - Session = "Session", - /** - * Eventual Consistency guarantees that reads will return a subset of writes. - * All writes will be eventually be available for reads. - */ - Eventual = "Eventual", - /** - * ConsistentPrefix Consistency guarantees that reads will return some prefix of all writes with no gaps. - * All writes will be eventually be available for reads.` - */ - ConsistentPrefix = "ConsistentPrefix" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/DataType.ts b/sdk/cosmosdb/cosmos/src/documents/DataType.ts deleted file mode 100644 index e0490a2e23a0..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/DataType.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** Defines a target data type of an index path specification in the Azure Cosmos DB service. */ -export enum DataType { - /** Represents a numeric data type. */ - Number = "Number", - /** Represents a string data type. */ - String = "String", - /** Represents a point data type. */ - Point = "Point", - /** Represents a line string data type. */ - LineString = "LineString", - /** Represents a polygon data type. */ - Polygon = "Polygon", - /** Represents a multi-polygon data type. */ - MultiPolygon = "MultiPolygon" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/DatabaseAccount.ts b/sdk/cosmosdb/cosmos/src/documents/DatabaseAccount.ts deleted file mode 100644 index 5807dca2f795..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/DatabaseAccount.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { ConsistencyLevel } from "."; -import { Constants } from "../common"; -import { IHeaders } from "../queryExecutionContext"; - -/** - * Represents a DatabaseAccount in the Azure Cosmos DB database service. - */ -export class DatabaseAccount { - /** The list of writable locations for a geo-replicated database account. */ - public readonly writableLocations: Location[] = []; - /** The list of readable locations for a geo-replicated database account. */ - public readonly readableLocations: Location[] = []; - /** The self-link for Databases in the databaseAccount. */ - public readonly DatabasesLink: string; - /** The self-link for Media in the databaseAccount. */ - public readonly MediaLink: string; - /** Attachment content (media) storage quota in MBs ( Retrieved from gateway ). */ - public readonly MaxMediaStorageUsageInMB: number; - /** - * Current attachment content (media) usage in MBs (Retrieved from gateway ) - * - * Value is returned from cached information updated periodically and is not guaranteed - * to be real time. - */ - public readonly CurrentMediaStorageUsageInMB: number; - /** Gets the UserConsistencyPolicy settings. */ - public readonly ConsistencyPolicy: ConsistencyLevel; - public readonly enableMultipleWritableLocations: boolean; - - // TODO: body - any - public constructor(body: { [key: string]: any }, headers: IHeaders) { - this.DatabasesLink = "/dbs/"; - this.MediaLink = "/media/"; - this.MaxMediaStorageUsageInMB = headers[Constants.HttpHeaders.MaxMediaStorageUsageInMB]; - this.CurrentMediaStorageUsageInMB = headers[Constants.HttpHeaders.CurrentMediaStorageUsageInMB]; - this.ConsistencyPolicy = body.UserConsistencyPolicy - ? (body.UserConsistencyPolicy.defaultConsistencyLevel as ConsistencyLevel) - : ConsistencyLevel.Session; - if (body[Constants.WritableLocations] && body.id !== "localhost") { - this.writableLocations = body[Constants.WritableLocations] as Location[]; - } - if (body[Constants.ReadableLocations] && body.id !== "localhost") { - this.readableLocations = body[Constants.ReadableLocations] as Location[]; - } - if (body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS]) { - this.enableMultipleWritableLocations = - body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS] === true || - body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS] === "true"; - } - } -} - -/** - * Used to specify the locations that are available, read is index 1 and write is index 0. - */ -export interface Location { - name: string; - databaseAccountEndpoint: string; -} diff --git a/sdk/cosmosdb/cosmos/src/documents/Document.ts b/sdk/cosmosdb/cosmos/src/documents/Document.ts deleted file mode 100644 index 506bd0fe8480..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/Document.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface Document { - [key: string]: any; -} diff --git a/sdk/cosmosdb/cosmos/src/documents/IndexKind.ts b/sdk/cosmosdb/cosmos/src/documents/IndexKind.ts deleted file mode 100644 index d86470a0f630..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/IndexKind.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Specifies the supported Index types. - */ -export enum IndexKind { - /** - * This is supplied for a path which has no sorting requirement. This kind of an index has better precision than corresponding range index. - */ - Hash = "Hash", - /** - * This is supplied for a path which requires sorting. - */ - Range = "Range", - /** - * This is supplied for a path which requires geospatial indexing. - */ - Spatial = "Spatial" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/IndexingMode.ts b/sdk/cosmosdb/cosmos/src/documents/IndexingMode.ts deleted file mode 100644 index 7c67a1d96dd3..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/IndexingMode.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Specifies the supported indexing modes. - * @property Consistent - * @property Lazy - */ -export enum IndexingMode { - /** - * Index is updated synchronously with a create or update operation. - * - * With consistent indexing, query behavior is the same as the default consistency level for the container. - * The index is always kept up to date with the data. - */ - consistent = "consistent", - /** - * Index is updated asynchronously with respect to a create or update operation. - * - * With lazy indexing, queries are eventually consistent. The index is updated when the container is idle. - */ - lazy = "lazy", - /** No Index is provided. */ - none = "none" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/IndexingPolicy.ts b/sdk/cosmosdb/cosmos/src/documents/IndexingPolicy.ts deleted file mode 100644 index 8fd1d01545e2..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/IndexingPolicy.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { DataType, IndexingMode, IndexKind } from "."; - -export interface IndexingPolicy { - /** The indexing mode (consistent or lazy) {@link IndexingMode}. */ - indexingMode?: keyof typeof IndexingMode; - automatic?: boolean; - /** An array of {@link IncludedPath} represents the paths to be included for indexing. */ - includedPaths?: IndexedPath[]; - /** An array of {@link IncludedPath} represents the paths to be excluded for indexing. */ - excludedPaths?: IndexedPath[]; -} - -export interface IndexedPath { - path: string; - indexes?: Index[]; -} - -export interface Index { - kind: keyof typeof IndexKind; - dataType: keyof typeof DataType; - precision?: number; -} diff --git a/sdk/cosmosdb/cosmos/src/documents/MediaReadMode.ts b/sdk/cosmosdb/cosmos/src/documents/MediaReadMode.ts deleted file mode 100644 index 41e6d29dfce5..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/MediaReadMode.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Enum for media read mode values. - */ -export enum MediaReadMode { - /** - * Content is buffered at the client and not directly streamed from the content store. - *

Use Buffered to reduce the time taken to read and write media files.

- */ - Buffered = "Buffered", - /** - * Content is directly streamed from the content store without any buffering at the client. - *

Use Streamed to reduce the client memory overhead of reading and writing media files.

- */ - Streamed = "Streamed" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/PartitionKey.ts b/sdk/cosmosdb/cosmos/src/documents/PartitionKey.ts deleted file mode 100644 index 9f3d7a6a9631..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/PartitionKey.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Point, Range } from "../range"; -import { PartitionKeyDefinition } from "./PartitionKeyDefinition"; - -export type PartitionKey = PartitionKeyDefinition | Point | Range; diff --git a/sdk/cosmosdb/cosmos/src/documents/PartitionKeyDefinition.ts b/sdk/cosmosdb/cosmos/src/documents/PartitionKeyDefinition.ts deleted file mode 100644 index 2f4e65a26d6a..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/PartitionKeyDefinition.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { PartitionKind } from "."; - -export interface PartitionKeyDefinition { - paths: string[]; - kind: keyof typeof PartitionKind; -} diff --git a/sdk/cosmosdb/cosmos/src/documents/PartitionKind.ts b/sdk/cosmosdb/cosmos/src/documents/PartitionKind.ts deleted file mode 100644 index ee5a54b633da..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/PartitionKind.ts +++ /dev/null @@ -1,3 +0,0 @@ -export enum PartitionKind { - Hash = "Hash" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/PermissionMode.ts b/sdk/cosmosdb/cosmos/src/documents/PermissionMode.ts deleted file mode 100644 index c6484ecd551c..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/PermissionMode.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Enum for permission mode values. - */ -export enum PermissionMode { - /** Permission not valid. */ - None = "none", - /** Permission applicable for read operations only. */ - Read = "read", - /** Permission applicable for all operations. */ - All = "all" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/QueryCompatibilityMode.ts b/sdk/cosmosdb/cosmos/src/documents/QueryCompatibilityMode.ts deleted file mode 100644 index 5354cfaaaacd..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/QueryCompatibilityMode.ts +++ /dev/null @@ -1,6 +0,0 @@ -// TODO: Should we remove this? -export enum QueryCompatibilityMode { - Default = 0, - Query = 1, - SqlQuery = 2 -} diff --git a/sdk/cosmosdb/cosmos/src/documents/TriggerOperation.ts b/sdk/cosmosdb/cosmos/src/documents/TriggerOperation.ts deleted file mode 100644 index 4e6c6eb726eb..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/TriggerOperation.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Enum for trigger operation values. - * specifies the operations on which a trigger should be executed. - */ -export enum TriggerOperation { - /** All operations. */ - All = "all", - /** Create operations only. */ - Create = "create", - /** Update operations only. */ - Update = "update", - /** Delete operations only. */ - Delete = "delete", - /** Replace operations only. */ - Replace = "replace" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/TriggerType.ts b/sdk/cosmosdb/cosmos/src/documents/TriggerType.ts deleted file mode 100644 index 00204000ae47..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/TriggerType.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Enum for trigger type values. - * Specifies the type of the trigger. - */ -export enum TriggerType { - /** Trigger should be executed before the associated operation(s). */ - Pre = "pre", - /** Trigger should be executed after the associated operation(s). */ - Post = "post" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/UserDefinedFunctionType.ts b/sdk/cosmosdb/cosmos/src/documents/UserDefinedFunctionType.ts deleted file mode 100644 index fcb1ac833783..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/UserDefinedFunctionType.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Enum for udf type values. - * Specifies the types of user defined functions. - */ -export enum UserDefinedFunctionType { - /** The User Defined Function is written in JavaScript. This is currently the only option. */ - Javascript = "Javascript" -} diff --git a/sdk/cosmosdb/cosmos/src/documents/index.ts b/sdk/cosmosdb/cosmos/src/documents/index.ts deleted file mode 100644 index d4dec283aa24..000000000000 --- a/sdk/cosmosdb/cosmos/src/documents/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -export * from "./ConnectionMode"; -export * from "./ConnectionPolicy"; -export * from "./ConsistencyLevel"; -export * from "./DatabaseAccount"; -export * from "./DataType"; -export * from "./Document"; -export * from "./IndexingMode"; -export * from "./IndexingPolicy"; -export * from "./IndexKind"; -export * from "./MediaReadMode"; -export * from "./PartitionKey"; -export * from "./PartitionKeyDefinition"; -export * from "./PartitionKind"; -export * from "./PermissionMode"; -export * from "./QueryCompatibilityMode"; -export * from "./TriggerOperation"; -export * from "./TriggerType"; -export * from "./UserDefinedFunctionType"; diff --git a/sdk/cosmosdb/cosmos/src/globalEndpointManager.ts b/sdk/cosmosdb/cosmos/src/globalEndpointManager.ts deleted file mode 100644 index 4d588116df30..000000000000 --- a/sdk/cosmosdb/cosmos/src/globalEndpointManager.ts +++ /dev/null @@ -1,226 +0,0 @@ -import * as url from "url"; -import { RequestOptions } from "."; -import { Constants, Helper } from "./common"; -import { CosmosClient } from "./CosmosClient"; -import { CosmosClientOptions } from "./CosmosClientOptions"; -import { DatabaseAccount } from "./documents"; -import { LocationCache } from "./LocationCache"; -import { CosmosResponse } from "./request"; -import { RequestContext } from "./request/RequestContext"; - -/** - * @hidden - * This internal class implements the logic for endpoint management for geo-replicated database accounts. - * @property {object} client - The document client instance. - * @property {string} defaultEndpoint - The endpoint used to create the client instance. - * @property {bool} enableEndpointDiscovery - Flag to enable/disable automatic redirecting of requests - * based on read/write operations. - * @property {Array} preferredLocations - List of azure regions to be used as preferred locations - * for read requests. - * @property {bool} isEndpointCacheInitialized - Flag to determine whether the endpoint cache is initialized or not. - */ -export class GlobalEndpointManager { - private defaultEndpoint: string; - public enableEndpointDiscovery: boolean; - private isEndpointCacheInitialized: boolean; - private locationCache: LocationCache; - private isRefreshing: boolean; - private readonly backgroundRefreshTimeIntervalInMS: number; - - /** - * @constructor GlobalEndpointManager - * @param {object} options - The document client instance. - */ - constructor( - options: CosmosClientOptions, - private readDatabaseAccount: (opts: RequestOptions) => Promise> - ) { - this.defaultEndpoint = options.endpoint; - this.enableEndpointDiscovery = options.connectionPolicy.EnableEndpointDiscovery; - this.isEndpointCacheInitialized = false; - this.locationCache = new LocationCache(options); - this.isRefreshing = false; - this.backgroundRefreshTimeIntervalInMS = Constants.DefaultUnavailableLocationExpirationTimeMS; - } - - /** - * Gets the current read endpoint from the endpoint cache. - */ - public async getReadEndpoint(): Promise { - if (!this.isEndpointCacheInitialized) { - await this.refreshEndpointList(); - } - return this.locationCache.getReadEndpoint(); - } - - /** - * Gets the current write endpoint from the endpoint cache. - */ - public async getWriteEndpoint(): Promise { - if (!this.isEndpointCacheInitialized) { - await this.refreshEndpointList(); - } - return this.locationCache.getWriteEndpoint(); - } - - public async getReadEndpoints(): Promise> { - if (!this.isEndpointCacheInitialized) { - await this.refreshEndpointList(); - } - return this.locationCache.getReadEndpoints(); - } - - public async getWriteEndpoints(): Promise> { - if (!this.isEndpointCacheInitialized) { - await this.refreshEndpointList(); - } - return this.locationCache.getWriteEndpoints(); - } - - public markCurrentLocationUnavailableForRead(endpoint: string) { - this.locationCache.markCurrentLocationUnavailableForRead(endpoint); - } - - public markCurrentLocationUnavailableForWrite(endpoint: string) { - this.locationCache.markCurrentLocationUnavailableForWrite(endpoint); - } - - public canUseMultipleWriteLocations(request: RequestContext) { - return this.locationCache.canUseMultipleWriteLocations(request); - } - - public async resolveServiceEndpoint(request: RequestContext) { - if (!this.isEndpointCacheInitialized) { - await this.refreshEndpointList(); - } - return this.locationCache.resolveServiceEndpoint(request); - } - - /** - * Refreshes the endpoint list by retrieving the writable and readable locations - * from the geo-replicated database account and then updating the locations cache. - * We skip the refreshing if EnableEndpointDiscovery is set to False - */ - public async refreshEndpointList(): Promise { - if (!this.isRefreshing) { - this.isRefreshing = true; - let shouldRefresh = false; - const databaseAccount = await this.getDatabaseAccountFromAnyEndpoint(); - if (databaseAccount) { - this.locationCache.onDatabaseAccountRead(databaseAccount); - } - - ({ shouldRefresh } = this.locationCache.shouldRefreshEndpoints()); - if (shouldRefresh) { - this.backgroundRefresh(); - return; - } else { - this.isRefreshing = false; - this.isEndpointCacheInitialized = true; - } - } - } - - private backgroundRefresh() { - process.nextTick(async () => { - this.isRefreshing = true; - let shouldRefresh = false; - try { - do { - const databaseAccount = await this.getDatabaseAccountFromAnyEndpoint(); - if (databaseAccount) { - this.locationCache.onDatabaseAccountRead(databaseAccount); - } - - ({ shouldRefresh } = this.locationCache.shouldRefreshEndpoints()); - if (!shouldRefresh) { - break; - } - await Helper.sleep(this.backgroundRefreshTimeIntervalInMS); - } while (shouldRefresh); - } catch (err) { - /* swallow error */ - // TODO: Tracing - } - this.isRefreshing = false; - this.isEndpointCacheInitialized = true; - }); - } - - /** - * Gets the database account first by using the default endpoint, and if that doesn't returns - * use the endpoints for the preferred locations in the order they are specified to get - * the database account. - * @memberof GlobalEndpointManager - * @instance - * @param {function} callback - The callback function which takes databaseAccount(object) as an argument. - */ - private async getDatabaseAccountFromAnyEndpoint(): Promise { - try { - const options = { urlConnection: this.defaultEndpoint }; - const { body: databaseAccount } = await this.readDatabaseAccount(options); - return databaseAccount; - // If for any reason(non - globaldb related), we are not able to get the database - // account from the above call to readDatabaseAccount, - // we would try to get this information from any of the preferred locations that the user - // might have specified (by creating a locational endpoint) - // and keeping eating the exception until we get the database account and return None at the end, - // if we are not able to get that info from any endpoints - } catch (err) { - // TODO: Tracing - } - - if (this.locationCache.prefferredLocations) { - for (const location of this.locationCache.prefferredLocations) { - try { - const locationalEndpoint = GlobalEndpointManager.getLocationalEndpoint(this.defaultEndpoint, location); - const options = { urlConnection: locationalEndpoint }; - const { body: databaseAccount } = await this.readDatabaseAccount(options); - if (databaseAccount) { - return databaseAccount; - } - } catch (err) { - // TODO: Tracing - } - } - } - } - - /** - * Gets the locational endpoint using the location name passed to it using the default endpoint. - * @memberof GlobalEndpointManager - * @instance - * @param {string} defaultEndpoint - The default endpoint to use for the endpoint. - * @param {string} locationName - The location name for the azure region like "East US". - */ - private static getLocationalEndpoint(defaultEndpoint: string, locationName: string) { - // For defaultEndpoint like 'https://contoso.documents.azure.com:443/' parse it to generate URL format - // This defaultEndpoint should be global endpoint(and cannot be a locational endpoint) - // and we agreed to document that - const endpointUrl = url.parse(defaultEndpoint, true, true); - - // hostname attribute in endpointUrl will return 'contoso.documents.azure.com' - if (endpointUrl.hostname) { - const hostnameParts = endpointUrl.hostname - .toString() - .toLowerCase() - .split("."); - if (hostnameParts) { - // globalDatabaseAccountName will return 'contoso' - const globalDatabaseAccountName = hostnameParts[0]; - - // Prepare the locationalDatabaseAccountName as contoso-EastUS for location_name 'East US' - const locationalDatabaseAccountName = globalDatabaseAccountName + "-" + locationName.replace(" ", ""); - - // Replace 'contoso' with 'contoso-EastUS' and - // return locationalEndpoint as https://contoso-EastUS.documents.azure.com:443/ - const locationalEndpoint = defaultEndpoint - .toLowerCase() - .replace(globalDatabaseAccountName, locationalDatabaseAccountName); - return locationalEndpoint; - } - } - - return null; - } -} diff --git a/sdk/cosmosdb/cosmos/src/index.ts b/sdk/cosmosdb/cosmos/src/index.ts deleted file mode 100644 index 3364c07b688d..000000000000 --- a/sdk/cosmosdb/cosmos/src/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -import * as DocumentBase from "./documents"; -export { - ConnectionMode, - ConsistencyLevel, - ConnectionPolicy, - DatabaseAccount, - DataType, - Index, - IndexedPath, - IndexingMode, - IndexingPolicy, - IndexKind, - Location, - MediaReadMode, - PartitionKey, - PartitionKeyDefinition, - PartitionKind, - PermissionMode, - QueryCompatibilityMode, - TriggerOperation, - TriggerType, - UserDefinedFunctionType -} from "./documents"; - -export { UniqueKeyPolicy, UniqueKey } from "./client/Container/UniqueKeyPolicy"; -export { DocumentBase, DocumentBase as AzureDocuments }; -export { Constants, UriFactory } from "./common"; -export { RetryOptions } from "./retry"; -export { Response, RequestOptions, FeedOptions, MediaOptions, ErrorResponse } from "./request"; -export { IHeaders, SqlParameter, SqlQuerySpec } from "./queryExecutionContext"; -export { QueryIterator } from "./queryIterator"; -export * from "./queryMetrics"; -export { CosmosClient } from "./CosmosClient"; -export { CosmosClientOptions } from "./CosmosClientOptions"; -export * from "./client"; diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/AverageAggregator.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/AverageAggregator.ts deleted file mode 100644 index 584f0b0333da..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/AverageAggregator.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { IAggregator } from "./IAggregator"; - -/** @hidden */ -export interface IAverageAggregator { - sum: number; - count: number; -} - -/** @hidden */ -export class AverageAggregator implements IAverageAggregator, IAggregator { - public sum: number; - public count: number; - /** - * Add the provided item to aggregation result. - * @memberof AverageAggregator - * @instance - * @param other - */ - public aggregate(other: IAverageAggregator) { - if (other == null || other.sum == null) { - return; - } - if (this.sum == null) { - this.sum = 0.0; - this.count = 0; - } - this.sum += other.sum; - this.count += other.count; - } - - /** - * Get the aggregation result. - * @memberof AverageAggregator - * @instance - */ - public getResult() { - if (this.sum == null || this.count <= 0) { - return undefined; - } - return this.sum / this.count; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/CountAggregator.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/CountAggregator.ts deleted file mode 100644 index 643238e68a98..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/CountAggregator.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { IAggregator } from "./IAggregator"; - -/** @hidden */ -export class CountAggregator implements IAggregator { - public value: number; - /** - * Represents an aggregator for COUNT operator. - * @constructor CountAggregator - * @ignore - */ - constructor() { - this.value = 0; - } - /** - * Add the provided item to aggregation result. - * @memberof CountAggregator - * @instance - * @param other - */ - public aggregate(other: number) { - this.value += other; - } - - /** - * Get the aggregation result. - * @memberof CountAggregator - * @instance - */ - public getResult() { - return this.value; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/IAggregator.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/IAggregator.ts deleted file mode 100644 index cbc8625049b2..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/IAggregator.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** @hidden */ -export interface IAggregator { - aggregate: (other: T) => void; - getResult: () => number; -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/MaxAggregator.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/MaxAggregator.ts deleted file mode 100644 index acbe634434ba..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/MaxAggregator.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { OrderByDocumentProducerComparator } from "../orderByDocumentProducerComparator"; -import { IAggregator } from "./IAggregator"; - -/** @hidden */ -export class MaxAggregator implements IAggregator { - private value: number; - private comparer: OrderByDocumentProducerComparator; - /** - * Represents an aggregator for MAX operator. - * @constructor MaxAggregator - * @ignore - */ - constructor() { - this.value = undefined; - this.comparer = new OrderByDocumentProducerComparator(["Ascending"]); - } - /** - * Add the provided item to aggregation result. - * @memberof MaxAggregator - * @instance - * @param other - */ - public aggregate(other: number) { - if (this.value === undefined) { - this.value = other; - } else if (this.comparer.compareValue(other, typeof other, this.value, typeof this.value) > 0) { - this.value = other; - } - } - - /** - * Get the aggregation result. - * @memberof MaxAggregator - * @instance - */ - public getResult() { - return this.value; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/MinAggregator.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/MinAggregator.ts deleted file mode 100644 index e8c8516b1ffe..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/MinAggregator.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { OrderByDocumentProducerComparator } from "../orderByDocumentProducerComparator"; -import { IAggregator } from "./IAggregator"; - -/** @hidden */ -export class MinAggregator implements IAggregator { - private value: number; - private comparer: OrderByDocumentProducerComparator; - /** - * Represents an aggregator for MIN operator. - * @constructor MinAggregator - * @ignore - */ - constructor() { - this.value = undefined; - this.comparer = new OrderByDocumentProducerComparator(["Ascending"]); - } - /** - * Add the provided item to aggregation result. - * @memberof MinAggregator - * @instance - * @param other - */ - public aggregate(other: number) { - if (this.value === undefined) { - this.value = other; - } else { - const otherType = other == null ? "NoValue" : typeof other; - if (this.comparer.compareValue(other, otherType, this.value, typeof this.value) < 0) { - this.value = other; - } - } - } - - /** - * Get the aggregation result. - * @memberof MinAggregator - * @instance - */ - public getResult() { - return this.value; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/SumAggregator.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/SumAggregator.ts deleted file mode 100644 index d38ba9462076..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/SumAggregator.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { IAggregator } from "./IAggregator"; - -/** @hidden */ -export class SumAggregator implements IAggregator { - public sum: number; - /** - * Add the provided item to aggregation result. - * @memberof SumAggregator - * @instance - * @param other - */ - public aggregate(other: number) { - if (other === undefined) { - return; - } - if (this.sum === undefined) { - this.sum = other; - } else { - this.sum += other; - } - } - - /** - * Get the aggregation result. - * @memberof SumAggregator - * @instance - */ - public getResult() { - return this.sum; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/index.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/index.ts deleted file mode 100644 index bdc4f74e76b1..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/Aggregators/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./AverageAggregator"; -export * from "./CountAggregator"; -export * from "./MaxAggregator"; -export * from "./MinAggregator"; -export * from "./SumAggregator"; -export * from "./IAggregator"; diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/AggregateEndpointComponent.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/AggregateEndpointComponent.ts deleted file mode 100644 index aa43cc892e6e..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/AggregateEndpointComponent.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { IHeaders } from ".."; -import { Response } from "../../request/request"; -import { AverageAggregator, CountAggregator, MaxAggregator, MinAggregator, SumAggregator } from "../Aggregators"; -import { IExecutionContext } from "../IExecutionContext"; -import { IEndpointComponent } from "./IEndpointComponent"; - -/** @hidden */ -export class AggregateEndpointComponent implements IEndpointComponent { - private toArrayTempResources: any[]; - private aggregateValues: any[]; - private aggregateValuesIndex: number; - private localAggregators: any[]; - - /** - * Represents an endpoint in handling aggregate queries. - * @constructor AggregateEndpointComponent - * @param { object } executionContext - Underlying Execution Context - * @ignore - */ - constructor(private executionContext: IExecutionContext, aggregateOperators: string[]) { - // TODO: any - this.executionContext = executionContext; - this.localAggregators = []; - aggregateOperators.forEach((aggregateOperator: string) => { - switch (aggregateOperator) { - case "Average": - this.localAggregators.push(new AverageAggregator()); - break; - case "Count": - this.localAggregators.push(new CountAggregator()); - break; - case "Max": - this.localAggregators.push(new MaxAggregator()); - break; - case "Min": - this.localAggregators.push(new MinAggregator()); - break; - case "Sum": - this.localAggregators.push(new SumAggregator()); - break; - } - }); - } - /** - * Populate the aggregated values - * @ignore - */ - private async _getAggregateResult(): Promise> { - this.toArrayTempResources = []; - this.aggregateValues = []; - this.aggregateValuesIndex = -1; - - try { - const { result: resources, headers } = await this._getQueryResults(); - - resources.forEach((resource: any) => { - // TODO: any - this.localAggregators.forEach(aggregator => { - let itemValue; - // Get the value of the first property if it exists - if (resource && Object.keys(resource).length > 0) { - const key = Object.keys(resource)[0]; - itemValue = resource[key]; - } - aggregator.aggregate(itemValue); - }); - }); - - // Get the aggregated results - this.localAggregators.forEach(aggregator => { - this.aggregateValues.push(aggregator.getResult()); - }); - - return { result: this.aggregateValues, headers }; - } catch (err) { - throw err; - } - } - - /** - * Get the results of queries from all partitions - * @ignore - */ - public async _getQueryResults(): Promise> { - try { - const { result: item, headers } = await this.executionContext.nextItem(); - if (item === undefined) { - // no more results - return { result: this.toArrayTempResources, headers }; - } - - this.toArrayTempResources = this.toArrayTempResources.concat(item); - return this._getQueryResults(); - } catch (err) { - throw err; - } - } - - /** - * Execute a provided function on the next element in the AggregateEndpointComponent. - * @memberof AggregateEndpointComponent - * @instance - * @param {callback} callback - Function to execute for each element. \ - * the function takes two parameters error, element. - */ - public async nextItem(): Promise> { - try { - let resHeaders: IHeaders; - let resources: any; - if (this.aggregateValues === undefined) { - ({ result: resources, headers: resHeaders } = await this._getAggregateResult()); - } - const resource = - this.aggregateValuesIndex < this.aggregateValues.length - ? this.aggregateValues[++this.aggregateValuesIndex] - : undefined; - - return { result: resource, headers: resHeaders }; - } catch (err) { - throw err; - } - } - - /** - * Retrieve the current element on the AggregateEndpointComponent. - * @memberof AggregateEndpointComponent - * @instance - * @param {callback} callback - Function to execute for the current element. \ - * the function takes two parameters error, element. - */ - public async current(): Promise> { - if (this.aggregateValues === undefined) { - const { result: resouces, headers } = await this._getAggregateResult(); - return { - result: this.aggregateValues[this.aggregateValuesIndex], - headers - }; - } else { - return { - result: this.aggregateValues[this.aggregateValuesIndex], - headers: undefined - }; - } - } - - /** - * Determine if there are still remaining resources to processs. - * @memberof AggregateEndpointComponent - * @instance - * @returns {Boolean} true if there is other elements to process in the AggregateEndpointComponent. - */ - public hasMoreResults() { - return this.aggregateValues != null && this.aggregateValuesIndex < this.aggregateValues.length - 1; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/IEndpointComponent.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/IEndpointComponent.ts deleted file mode 100644 index 65f577197ab5..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/IEndpointComponent.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Response } from "../../request/request"; - -/** @hidden */ -export interface IEndpointComponent { - nextItem: () => Promise>; - current: () => Promise>; - hasMoreResults: () => boolean; - fetchMore?: () => Promise>; -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.ts deleted file mode 100644 index 48604052354f..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { Response } from "../../request/request"; -import { IExecutionContext } from "../IExecutionContext"; -import { IEndpointComponent } from "./IEndpointComponent"; - -/** @hidden */ -export class OrderByEndpointComponent implements IEndpointComponent { - /** - * Represents an endpoint in handling an order by query. For each processed orderby \ - * result it returns 'payload' item of the result - * @constructor OrderByEndpointComponent - * @param {object} executionContext - Underlying Execution Context - * @ignore - */ - constructor(private executionContext: IExecutionContext) {} - /** - * Execute a provided function on the next element in the OrderByEndpointComponent. - * @memberof OrderByEndpointComponent - * @instance - * @param {callback} callback - Function to execute for each element. the function \ - * takes two parameters error, element. - */ - public async nextItem(): Promise> { - try { - const { result: item, headers } = await this.executionContext.nextItem(); - return { - result: item !== undefined ? item.payload : undefined, - headers - }; - } catch (err) { - throw err; - } - } - - /** - * Retrieve the current element on the OrderByEndpointComponent. - * @memberof OrderByEndpointComponent - * @instance - * @param {callback} callback - Function to execute for the current element. \ - * the function takes two parameters error, element. - */ - public async current(): Promise> { - try { - const { result: item, headers } = await this.executionContext.current(); - return { - result: item !== undefined ? item.payload : undefined, - headers - }; - } catch (err) { - throw err; - } - } - - /** - * Determine if there are still remaining resources to processs. - * @memberof OrderByEndpointComponent - * @instance - * @returns {Boolean} true if there is other elements to process in the OrderByEndpointComponent. - */ - public hasMoreResults() { - return this.executionContext.hasMoreResults(); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/TopEndpointComponent.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/TopEndpointComponent.ts deleted file mode 100644 index 28581e6e0ddd..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/TopEndpointComponent.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Response } from "../../request/request"; -import { IExecutionContext } from "../IExecutionContext"; -import { IEndpointComponent } from "./IEndpointComponent"; - -/** @hidden */ -export class TopEndpointComponent implements IEndpointComponent { - /** - * Represents an endpoint in handling top query. It only returns as many results as top arg specified. - * @constructor TopEndpointComponent - * @param { object } executionContext - Underlying Execution Context - * @ignore - */ - constructor(private executionContext: IExecutionContext, private topCount: number) {} - - /** - * Execute a provided function on the next element in the TopEndpointComponent. - * @memberof TopEndpointComponent - * @instance - * @param {callback} callback - Function to execute for each element. \ - * the function takes two parameters error, element. - */ - public async nextItem(): Promise> { - if (this.topCount <= 0) { - return { result: undefined, headers: undefined }; - } - this.topCount--; - try { - return this.executionContext.nextItem(); - } catch (err) { - throw err; - } - } - - /** - * Retrieve the current element on the TopEndpointComponent. - * @memberof TopEndpointComponent - * @instance - * @param {callback} callback - Function to execute for the current element. \ - * the function takes two parameters error, element. - */ - public async current(): Promise> { - if (this.topCount <= 0) { - return { result: undefined, headers: undefined }; - } - try { - return this.executionContext.current(); - } catch (err) { - throw err; - } - } - - /** - * Determine if there are still remaining resources to processs. - * @memberof TopEndpointComponent - * @instance - * @returns {Boolean} true if there is other elements to process in the TopEndpointComponent. - */ - public hasMoreResults() { - return this.topCount > 0 && this.executionContext.hasMoreResults(); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/index.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/index.ts deleted file mode 100644 index 25d9d69a0a66..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/EndpointComponent/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from "./AggregateEndpointComponent"; -export * from "./IEndpointComponent"; -export * from "./OrderByEndpointComponent"; -export * from "./TopEndpointComponent"; diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/FetchResult.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/FetchResult.ts deleted file mode 100644 index 6e1dfd1fa74e..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/FetchResult.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** @hidden */ -export enum FetchResultType { - "Done" = 0, - "Exception" = 1, - "Result" = 2 -} - -/** @hidden */ -export class FetchResult { - public feedResponse: any; - public fetchResultType: FetchResultType; - public error: any; - /** - * Wraps fetch results for the document producer. - * This allows the document producer to buffer exceptions so that actual results don't get flushed during splits. - * @constructor DocumentProducer - * @param {object} feedReponse - The response the document producer got back on a successful fetch - * @param {object} error - The exception meant to be buffered on an unsuccessful fetch - * @ignore - */ - constructor(feedResponse: any, error: any) { - // TODO: feedResponse/error - if (feedResponse) { - this.feedResponse = feedResponse; - this.fetchResultType = FetchResultType.Result; - } else { - this.error = error; - this.fetchResultType = FetchResultType.Exception; - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/IExecutionContext.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/IExecutionContext.ts deleted file mode 100644 index d1a834292616..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/IExecutionContext.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Response } from "../request/request"; - -/** @hidden */ -export interface IExecutionContext { - nextItem: () => Promise>; - current: () => Promise>; - hasMoreResults: () => boolean; - fetchMore?: () => Promise>; // TODO: code smell -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/IHeaders.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/IHeaders.ts deleted file mode 100644 index 8d27ec2e198c..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/IHeaders.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface IHeaders { - [key: string]: string | boolean | number; -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/SqlQuerySpec.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/SqlQuerySpec.ts deleted file mode 100644 index 2330692f9535..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/SqlQuerySpec.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Represents a SQL query in the Azure Cosmos DB service. - * - * Queries with inputs should be parameterized to protect against SQL injection. - * - * @example Parameterized SQL Query - * ```typescript - * const query: SqlQuerySpec = { - * query: "SELECT * FROM Families f where f.lastName = @lastName", - * parameters: [ - * {name: "@lastName", value: "Wakefield"} - * ] - * }; - * ``` - */ -export interface SqlQuerySpec { - /** The text of the SQL query */ - query: string; - /** The parameters you provide in the query */ - parameters?: SqlParameter[]; -} - -/** - * Represents a parameter in a Parameterized SQL query, specified in {@link SqlQuerySpec} - */ -export interface SqlParameter { - /** Name of the parameter. (i.e. "@lastName") */ - name: string; - /** Value of the parameter (this is safe to come from users, assuming they are authorized) */ - value: string | number | boolean; -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/defaultQueryExecutionContext.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/defaultQueryExecutionContext.ts deleted file mode 100644 index 309b358ccd10..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/defaultQueryExecutionContext.ts +++ /dev/null @@ -1,203 +0,0 @@ -import { IExecutionContext } from "."; -import { ClientContext } from "../ClientContext"; -import { Constants } from "../common"; -import { ClientSideMetrics, QueryMetrics } from "../queryMetrics"; -import { Response } from "../request"; -import { SqlQuerySpec } from "./SqlQuerySpec"; - -/** @hidden */ -export type FetchFunctionCallback = (options: any) => Promise>; - -/** @hidden */ -enum STATES { - start = "start", - inProgress = "inProgress", - ended = "ended" -} - -/** @hidden */ -export class DefaultQueryExecutionContext implements IExecutionContext { - private static readonly STATES = STATES; - private query: string | SqlQuerySpec; - private resources: any; // TODO: any resources - private currentIndex: number; - private currentPartitionIndex: number; - private fetchFunctions: FetchFunctionCallback[]; - private options: any; // TODO: any options - public continuation: any; // TODO: any continuation - private state: STATES; - /** - * Provides the basic Query Execution Context. - * This wraps the internal logic query execution using provided fetch functions - * @constructor DefaultQueryExecutionContext - * @param {ClientContext} clientContext - Is used to read the partitionKeyRanges for split proofing - * @param {SqlQuerySpec | string} query - A SQL query. - * @param {FeedOptions} [options] - Represents the feed options. - * @param {callback | callback[]} fetchFunctions - A function to retrieve each page of data. - * An array of functions may be used to query more than one partition. - * @ignore - */ - constructor( - private clientContext: ClientContext, - query: string | SqlQuerySpec, - options: any, - fetchFunctions: FetchFunctionCallback | FetchFunctionCallback[] - ) { - // TODO: any options - this.query = query; - this.resources = []; - this.currentIndex = 0; - this.currentPartitionIndex = 0; - this.fetchFunctions = Array.isArray(fetchFunctions) ? fetchFunctions : [fetchFunctions]; - this.options = options || {}; - this.continuation = this.options.continuation || null; - this.state = DefaultQueryExecutionContext.STATES.start; - } - - /** - * Execute a provided callback on the next element in the execution context. - * @memberof DefaultQueryExecutionContext - * @instance - */ - public async nextItem(): Promise> { - ++this.currentIndex; - const response = await this.current(); - return response; - } - - /** - * Retrieve the current element on the execution context. - * @memberof DefaultQueryExecutionContext - * @instance - */ - public async current(): Promise> { - if (this.currentIndex < this.resources.length) { - return { - result: this.resources[this.currentIndex], - headers: undefined - }; - } - - if (this._canFetchMore()) { - const { result: resources, headers } = await this.fetchMore(); - // if (err) { - // return callback(err, undefined, headers); - // } - // TODO: returning data and error is an anti-pattern - - this.resources = resources; - if (this.resources.length === 0) { - if (!this.continuation && this.currentPartitionIndex >= this.fetchFunctions.length) { - this.state = DefaultQueryExecutionContext.STATES.ended; - return { result: undefined, headers }; - } else { - return this.current(); - } - } - return { result: this.resources[this.currentIndex], headers }; - } else { - this.state = DefaultQueryExecutionContext.STATES.ended; - return { result: undefined, headers: undefined }; - } - } - - /** - * Determine if there are still remaining resources to processs based on - * the value of the continuation token or the elements remaining on the current batch in the execution context. - * @memberof DefaultQueryExecutionContext - * @instance - * @returns {Boolean} true if there is other elements to process in the DefaultQueryExecutionContext. - */ - public hasMoreResults() { - return ( - this.state === DefaultQueryExecutionContext.STATES.start || - this.continuation !== undefined || - this.currentIndex < this.resources.length - 1 || - this.currentPartitionIndex < this.fetchFunctions.length - ); - } - - /** - * Fetches the next batch of the feed and pass them as an array to a callback - * @memberof DefaultQueryExecutionContext - * @instance - */ - public async fetchMore(): Promise> { - if (this.currentPartitionIndex >= this.fetchFunctions.length) { - return { headers: undefined, result: undefined }; - } - - // Keep to the original continuation and to restore the value after fetchFunction call - const originalContinuation = this.options.continuation; - this.options.continuation = this.continuation; - - // Return undefined if there is no more results - if (this.currentPartitionIndex >= this.fetchFunctions.length) { - return { headers: undefined, result: undefined }; - } - - const fetchFunction = this.fetchFunctions[this.currentPartitionIndex]; - let resources; - let responseHeaders; - try { - const response = await fetchFunction(this.options); - resources = response.result; - responseHeaders = response.headers; - } catch (err) { - this.state = DefaultQueryExecutionContext.STATES.ended; - // return callback(err, undefined, responseHeaders); - // TODO: Error and data being returned is an antipattern, this might broken - throw err; - } - - this.continuation = responseHeaders[Constants.HttpHeaders.Continuation]; - if (!this.continuation) { - ++this.currentPartitionIndex; - } - - this.state = DefaultQueryExecutionContext.STATES.inProgress; - this.currentIndex = 0; - this.options.continuation = originalContinuation; - - // deserializing query metrics so that we aren't working with delimited strings in the rest of the code base - if (Constants.HttpHeaders.QueryMetrics in responseHeaders) { - const delimitedString = responseHeaders[Constants.HttpHeaders.QueryMetrics]; - let queryMetrics = QueryMetrics.createFromDelimitedString(delimitedString); - - // Add the request charge to the query metrics so that we can have per partition request charge. - if (Constants.HttpHeaders.RequestCharge in responseHeaders) { - queryMetrics = new QueryMetrics( - queryMetrics.retrievedDocumentCount, - queryMetrics.retrievedDocumentSize, - queryMetrics.outputDocumentCount, - queryMetrics.outputDocumentSize, - queryMetrics.indexHitDocumentCount, - queryMetrics.totalQueryExecutionTime, - queryMetrics.queryPreparationTimes, - queryMetrics.indexLookupTime, - queryMetrics.documentLoadTime, - queryMetrics.vmExecutionTime, - queryMetrics.runtimeExecutionTimes, - queryMetrics.documentWriteTime, - new ClientSideMetrics(responseHeaders[Constants.HttpHeaders.RequestCharge]) - ); - } - - // Wraping query metrics in a object where the key is '0' just so single partition - // and partition queries have the same response schema - responseHeaders[Constants.HttpHeaders.QueryMetrics] = {}; - responseHeaders[Constants.HttpHeaders.QueryMetrics]["0"] = queryMetrics; - } - - return { result: resources, headers: responseHeaders }; - } - - private _canFetchMore() { - const res = - this.state === DefaultQueryExecutionContext.STATES.start || - (this.continuation && this.state === DefaultQueryExecutionContext.STATES.inProgress) || - (this.currentPartitionIndex < this.fetchFunctions.length && - this.state === DefaultQueryExecutionContext.STATES.inProgress); - return res; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/documentProducer.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/documentProducer.ts deleted file mode 100644 index 53a2f2e41d96..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/documentProducer.ts +++ /dev/null @@ -1,304 +0,0 @@ -import { FetchFunctionCallback, SqlQuerySpec } from "."; -import { ClientContext } from "../ClientContext"; -import { Constants, Helper, StatusCodes, SubStatusCodes } from "../common"; -import { FeedOptions } from "../request"; -import { Response } from "../request/request"; -import { DefaultQueryExecutionContext } from "./defaultQueryExecutionContext"; -import { FetchResult, FetchResultType } from "./FetchResult"; -import { HeaderUtils, IHeaders } from "./headerUtils"; - -/** @hidden */ -const HttpHeaders = Constants; - -/** @hidden */ -enum DocumentProducerStates { - started = "started", - inProgress = "inProgress", - ended = "ended" -} - -/** @hidden */ -export class DocumentProducer { - // // Static Members - // STATES: Object.freeze({ started: "started", inProgress: "inProgress", ended: "ended" }) - private static readonly STATES = DocumentProducerStates; - private collectionLink: string; - private query: string | SqlQuerySpec; - public targetPartitionKeyRange: any; // TODO: any partitionkeyrange - public fetchResults: FetchResult[]; - private state: DocumentProducerStates; - public allFetched: boolean; - private err: Error; - public previousContinuationToken: string; - public continuationToken: string; - private respHeaders: IHeaders; - private internalExecutionContext: DefaultQueryExecutionContext; - - /** - * Provides the Target Partition Range Query Execution Context. - * @constructor DocumentProducer - * @param {ClientContext} clientContext - The service endpoint to use to create the client. - * @param {String} collectionLink - Represents collection link - * @param {SqlQuerySpec | string} query - A SQL query. - * @param {object} targetPartitionKeyRange - Query Target Partition key Range - * @ignore - */ - constructor( - private clientContext: ClientContext, - collectionLink: string, - query: SqlQuerySpec, - targetPartitionKeyRange: any, // TODO: any partition key range - options: FeedOptions - ) { - // TODO: any options - this.collectionLink = collectionLink; - this.query = query; - this.targetPartitionKeyRange = targetPartitionKeyRange; - this.fetchResults = []; - - this.state = DocumentProducer.STATES.started; - this.allFetched = false; - this.err = undefined; - - this.previousContinuationToken = undefined; - this.continuationToken = undefined; - this.respHeaders = HeaderUtils.getInitialHeader(); - - // tslint:disable-next-line:no-shadowed-variable - this.internalExecutionContext = new DefaultQueryExecutionContext(clientContext, query, options, this.fetchFunction); - this.state = DocumentProducer.STATES.inProgress; - } - /** - * Synchronously gives the contiguous buffered results (stops at the first non result) if any - * @returns {Object} - buffered current items if any - * @ignore - */ - public peekBufferedItems() { - const bufferedResults = []; - for (let i = 0, done = false; i < this.fetchResults.length && !done; i++) { - const fetchResult = this.fetchResults[i]; - switch (fetchResult.fetchResultType) { - case FetchResultType.Done: - done = true; - break; - case FetchResultType.Exception: - done = true; - break; - case FetchResultType.Result: - bufferedResults.push(fetchResult.feedResponse); - break; - } - } - return bufferedResults; - } - - public fetchFunction: FetchFunctionCallback = async (options: any) => { - const path = Helper.getPathFromLink(this.collectionLink, "docs"); - const id = Helper.getIdFromLink(this.collectionLink); - - return this.clientContext.queryFeed( - path, - "docs", - id, - (result: any) => result.Documents, // TODO: any - this.query, - options, - this.targetPartitionKeyRange["id"] - ); - }; - - public hasMoreResults() { - return this.internalExecutionContext.hasMoreResults() || this.fetchResults.length !== 0; - } - - public gotSplit() { - const fetchResult = this.fetchResults[0]; - if (fetchResult.fetchResultType === FetchResultType.Exception) { - if (DocumentProducer._needPartitionKeyRangeCacheRefresh(fetchResult.error)) { - return true; - } - } - - return false; - } - - private _getAndResetActiveResponseHeaders() { - const ret = this.respHeaders; - this.respHeaders = HeaderUtils.getInitialHeader(); - return ret; - } - - private _updateStates(err: any, allFetched: boolean) { - // TODO: any Error - if (err) { - this.state = DocumentProducer.STATES.ended; - this.err = err; - return; - } - if (allFetched) { - this.allFetched = true; - } - if (this.allFetched && this.peekBufferedItems().length === 0) { - this.state = DocumentProducer.STATES.ended; - } - if (this.internalExecutionContext.continuation === this.continuationToken) { - // nothing changed - return; - } - this.previousContinuationToken = this.continuationToken; - this.continuationToken = this.internalExecutionContext.continuation; - } - - private static _needPartitionKeyRangeCacheRefresh(error: any) { - // TODO: error - return ( - error.code === StatusCodes.Gone && - "substatus" in error && - error["substatus"] === SubStatusCodes.PartitionKeyRangeGone - ); - } - - /** - * Fetches and bufferes the next page of results and executes the given callback - * @memberof DocumentProducer - * @instance - */ - public async bufferMore(): Promise> { - if (this.err) { - throw this.err; - } - - try { - const { result: resources, headers: headerResponse } = await this.internalExecutionContext.fetchMore(); - this._updateStates(undefined, resources === undefined); - if (resources !== undefined) { - // some more results - resources.forEach((element: any) => { - // TODO: resources any - this.fetchResults.push(new FetchResult(element, undefined)); - }); - } - - // need to modify the header response so that the query metrics are per partition - if (headerResponse != null && Constants.HttpHeaders.QueryMetrics in headerResponse) { - // "0" is the default partition before one is actually assigned. - const queryMetrics = headerResponse[Constants.HttpHeaders.QueryMetrics]["0"]; - - // Wraping query metrics in a object where the keys are the partition key range. - headerResponse[Constants.HttpHeaders.QueryMetrics] = {}; - headerResponse[Constants.HttpHeaders.QueryMetrics][this.targetPartitionKeyRange.id] = queryMetrics; - } - - return { result: resources, headers: headerResponse }; - } catch (err) { - // TODO: any error - if (DocumentProducer._needPartitionKeyRangeCacheRefresh(err)) { - // Split just happend - // Buffer the error so the execution context can still get the feedResponses in the itemBuffer - const bufferedError = new FetchResult(undefined, err); - this.fetchResults.push(bufferedError); - // Putting a dummy result so that the rest of code flows - return { result: [bufferedError], headers: err.headers }; - } else { - this._updateStates(err, err.resources === undefined); - throw err; - } - } - } - - /** - * Synchronously gives the bufferend current item if any - * @returns {Object} - buffered current item if any - * @ignore - */ - public getTargetParitionKeyRange() { - return this.targetPartitionKeyRange; - } - - /** - * Execute a provided function on the next element in the DocumentProducer. - * @memberof DocumentProducer - * @instance - * @param {callback} callback - Function to execute for each element. the function \ - * takes two parameters error, element. - */ - public async nextItem(): Promise> { - if (this.err) { - this._updateStates(this.err, undefined); - throw this.err; - } - - try { - const { result, headers } = await this.current(); - - const fetchResult = this.fetchResults.shift(); - this._updateStates(undefined, result === undefined); - if (fetchResult.feedResponse !== result) { - throw new Error(`Expected ${fetchResult.feedResponse} to equal ${result}`); - } - switch (fetchResult.fetchResultType) { - case FetchResultType.Done: - return { result: undefined, headers }; - case FetchResultType.Exception: - fetchResult.error.headers = headers; - throw fetchResult.error; - case FetchResultType.Result: - return { result: fetchResult.feedResponse, headers }; - } - } catch (err) { - this._updateStates(err, err.item === undefined); - throw err; - } - } - - /** - * Retrieve the current element on the DocumentProducer. - * @memberof DocumentProducer - * @instance - * @param {callback} callback - Function to execute for the current element. \ - * the function takes two parameters error, element. - */ - public async current(): Promise> { - // If something is buffered just give that - if (this.fetchResults.length > 0) { - const fetchResult = this.fetchResults[0]; - // Need to unwrap fetch results - switch (fetchResult.fetchResultType) { - case FetchResultType.Done: - return { - result: undefined, - headers: this._getAndResetActiveResponseHeaders() - }; - case FetchResultType.Exception: - fetchResult.error.headers = this._getAndResetActiveResponseHeaders(); - throw fetchResult.error; - case FetchResultType.Result: - return { - result: fetchResult.feedResponse, - headers: this._getAndResetActiveResponseHeaders() - }; - } - } - - // If there isn't anymore items left to fetch then let the user know. - if (this.allFetched) { - return { - result: undefined, - headers: this._getAndResetActiveResponseHeaders() - }; - } - - // If there are no more bufferd items and there are still items to be fetched then buffer more - try { - const { result, headers } = await this.bufferMore(); - if (result === undefined) { - return { result: undefined, headers }; - } - HeaderUtils.mergeHeaders(this.respHeaders, headers); - - return this.current(); - } catch (err) { - throw err; - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/headerUtils.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/headerUtils.ts deleted file mode 100644 index f1f7127d0d5b..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/headerUtils.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Constants } from "../common"; -import { QueryMetrics } from "../queryMetrics"; - -export interface IHeaders { - [key: string]: any; -} - -/** @hidden */ -// TODO: docs -export class HeaderUtils { - public static getRequestChargeIfAny(headers: IHeaders): number { - if (typeof headers === "number") { - return headers; - } else if (typeof headers === "string") { - return parseFloat(headers); - } - - if (headers) { - const rc = headers[Constants.HttpHeaders.RequestCharge]; - if (rc) { - return parseFloat(rc as string); - } else { - return 0; - } - } else { - return 0; - } - } - - public static getInitialHeader(): IHeaders { - const headers: IHeaders = {}; - headers[Constants.HttpHeaders.RequestCharge] = 0; - headers[Constants.HttpHeaders.QueryMetrics] = {}; - return headers; - } - - // TODO: The name of this method isn't very accurate to what it does - public static mergeHeaders(headers: IHeaders, toBeMergedHeaders: IHeaders) { - if (headers[Constants.HttpHeaders.RequestCharge] === undefined) { - headers[Constants.HttpHeaders.RequestCharge] = 0; - } - - if (headers[Constants.HttpHeaders.QueryMetrics] === undefined) { - headers[Constants.HttpHeaders.QueryMetrics] = QueryMetrics.zero; - } - - if (!toBeMergedHeaders) { - return; - } - - (headers[Constants.HttpHeaders.RequestCharge] as number) += HeaderUtils.getRequestChargeIfAny(toBeMergedHeaders); - if (toBeMergedHeaders[Constants.HttpHeaders.IsRUPerMinuteUsed]) { - headers[Constants.HttpHeaders.IsRUPerMinuteUsed] = toBeMergedHeaders[Constants.HttpHeaders.IsRUPerMinuteUsed]; - } - - if (Constants.HttpHeaders.QueryMetrics in toBeMergedHeaders) { - const headerQueryMetrics = headers[Constants.HttpHeaders.QueryMetrics]; - const toBeMergedHeaderQueryMetrics = toBeMergedHeaders[Constants.HttpHeaders.QueryMetrics]; - - for (const partitionId in toBeMergedHeaderQueryMetrics) { - if (partitionId in headerQueryMetrics) { - const combinedQueryMetrics = headerQueryMetrics[partitionId].add(toBeMergedHeaderQueryMetrics[partitionId]); - headerQueryMetrics[partitionId] = combinedQueryMetrics; - } else { - headerQueryMetrics[partitionId] = toBeMergedHeaderQueryMetrics[partitionId]; - } - } - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/index.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/index.ts deleted file mode 100644 index 600c83fec4dd..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -export * from "./headerUtils"; -export * from "./SqlQuerySpec"; -export * from "./defaultQueryExecutionContext"; -export * from "./Aggregators"; -export * from "./EndpointComponent"; -export * from "./documentProducer"; -export * from "./FetchResult"; -export * from "./orderByDocumentProducerComparator"; -export * from "./IExecutionContext"; -export * from "./partitionedQueryExecutionContextInfoParser"; -export * from "./parallelQueryExecutionContextBase"; -export * from "./parallelQueryExecutionContext"; -export * from "./orderByQueryExecutionContext"; -export * from "./pipelinedQueryExecutionContext"; -export * from "./proxyQueryExecutionContext"; diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByDocumentProducerComparator.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByDocumentProducerComparator.ts deleted file mode 100644 index cea50281d950..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByDocumentProducerComparator.ts +++ /dev/null @@ -1,139 +0,0 @@ -import { DocumentProducer } from "./documentProducer"; - -// TODO: this smells funny -/** @hidden */ -const TYPEORDCOMPARATOR: { - [type: string]: { ord: number; compFunc?: (a: any, b: any) => number }; -} = Object.freeze({ - NoValue: { - ord: 0 - }, - undefined: { - ord: 1 - }, - boolean: { - ord: 2, - compFunc: (a: boolean, b: boolean) => { - return a === b ? 0 : a > b ? 1 : -1; - } - }, - number: { - ord: 4, - compFunc: (a: number, b: number) => { - return a === b ? 0 : a > b ? 1 : -1; - } - }, - string: { - ord: 5, - compFunc: (a: string, b: string) => { - return a === b ? 0 : a > b ? 1 : -1; - } - } -}); - -/** @hidden */ -export class OrderByDocumentProducerComparator { - constructor(public sortOrder: string[]) {} // TODO: This should be an enum - - public targetPartitionKeyRangeDocProdComparator(docProd1: DocumentProducer, docProd2: DocumentProducer) { - const a = docProd1.getTargetParitionKeyRange()["minInclusive"]; - const b = docProd2.getTargetParitionKeyRange()["minInclusive"]; - return a === b ? 0 : a > b ? 1 : -1; - } - - public compare(docProd1: DocumentProducer, docProd2: DocumentProducer) { - // Need to check for split, since we don't want to dereference "item" of undefined / exception - if (docProd1.gotSplit()) { - return -1; - } - if (docProd2.gotSplit()) { - return 1; - } - - const orderByItemsRes1 = this.getOrderByItems(docProd1.peekBufferedItems()[0]); - const orderByItemsRes2 = this.getOrderByItems(docProd2.peekBufferedItems()[0]); - - // validate order by items and types - // TODO: once V1 order by on different types is fixed this need to change - this.validateOrderByItems(orderByItemsRes1, orderByItemsRes2); - - // no async call in the for loop - for (let i = 0; i < orderByItemsRes1.length; i++) { - // compares the orderby items one by one - const compRes = this.compareOrderByItem(orderByItemsRes1[i], orderByItemsRes2[i]); - if (compRes !== 0) { - if (this.sortOrder[i] === "Ascending") { - return compRes; - } else if (this.sortOrder[i] === "Descending") { - return -compRes; - } - } - } - - return this.targetPartitionKeyRangeDocProdComparator(docProd1, docProd2); - } - - // TODO: This smells funny - public compareValue(item1: any, type1: string, item2: any, type2: string) { - const type1Ord = TYPEORDCOMPARATOR[type1].ord; - const type2Ord = TYPEORDCOMPARATOR[type2].ord; - const typeCmp = type1Ord - type2Ord; - - if (typeCmp !== 0) { - // if the types are different, use type ordinal - return typeCmp; - } - - // both are of the same type - if (type1Ord === TYPEORDCOMPARATOR["undefined"].ord || type1Ord === TYPEORDCOMPARATOR["NoValue"].ord) { - // if both types are undefined or Null they are equal - return 0; - } - - const compFunc = TYPEORDCOMPARATOR[type1].compFunc; - if (typeof compFunc === "undefined") { - throw new Error("Cannot find the comparison function"); - } - // same type and type is defined compare the items - return compFunc(item1, item2); - } - - public compareOrderByItem(orderByItem1: any, orderByItem2: any) { - const type1 = this.getType(orderByItem1); - const type2 = this.getType(orderByItem2); - return this.compareValue(orderByItem1["item"], type1, orderByItem2["item"], type2); - } - - public validateOrderByItems(res1: string[], res2: string[]) { - this._throwIf(res1.length !== res2.length, `Expected ${res1.length}, but got ${res2.length}.`); - this._throwIf(res1.length !== this.sortOrder.length, "orderByItems cannot have a different size than sort orders."); - - for (let i = 0; i < this.sortOrder.length; i++) { - const type1 = this.getType(res1[i]); - const type2 = this.getType(res2[i]); - this._throwIf(type1 !== type2, `Expected ${type1}, but got ${type2}.`); - } - } - - public getType(orderByItem: any) { - // TODO: any item? - if (orderByItem === undefined || orderByItem.item === undefined) { - return "NoValue"; - } - const type = typeof orderByItem.item; - this._throwIf(TYPEORDCOMPARATOR[type] === undefined, `unrecognizable type ${type}`); - return type; - } - - public getOrderByItems(res: any) { - // TODO: any res? - return res["orderByItems"]; - } - - // TODO: this should be done differently... - public _throwIf(condition: boolean, msg: string) { - if (condition) { - throw Error(msg); - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByQueryExecutionContext.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByQueryExecutionContext.ts deleted file mode 100644 index d23964638bfe..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/orderByQueryExecutionContext.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { - DocumentProducer, - IExecutionContext, - OrderByDocumentProducerComparator, - ParallelQueryExecutionContextBase, - PartitionedQueryExecutionContextInfo -} from "."; -import { ClientContext } from "../ClientContext"; - -/** @hidden */ -export class OrderByQueryExecutionContext extends ParallelQueryExecutionContextBase implements IExecutionContext { - private orderByComparator: any; - /** - * Provides the OrderByQueryExecutionContext. - * This class is capable of handling orderby queries and dervives from ParallelQueryExecutionContextBase. - * - * When handling a parallelized query, it instantiates one instance of - * DocumentProcuder per target partition key range and aggregates the result of each. - * - * @constructor ParallelQueryExecutionContext - * @param {ClientContext} clientContext - The service endpoint to use to create the client. - * @param {string} collectionLink - The Collection Link - * @param {FeedOptions} [options] - Represents the feed options. - * @param {object} partitionedQueryExecutionInfo - PartitionedQueryExecutionInfo - * @ignore - */ - constructor( - clientContext: ClientContext, - collectionLink: string, - query: any, // TODO: any query - options: any, // TODO: any options - partitionedQueryExecutionInfo: PartitionedQueryExecutionContextInfo - ) { - // Calling on base class constructor - super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo); - this.orderByComparator = new OrderByDocumentProducerComparator(this.sortOrders); - } - // Instance members are inherited - - // Overriding documentProducerComparator for OrderByQueryExecutionContexts - /** - * Provides a Comparator for document producers which respects orderby sort order. - * @returns {object} - Comparator Function - * @ignore - */ - public documentProducerComparator(docProd1: DocumentProducer, docProd2: DocumentProducer) { - return this.orderByComparator.compare(docProd1, docProd2); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContext.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContext.ts deleted file mode 100644 index 97b55fea87d8..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContext.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { - DocumentProducer, - IExecutionContext, - ParallelQueryExecutionContextBase, - PartitionedQueryExecutionContextInfo -} from "."; -import { ClientContext } from "../ClientContext"; -import { PARITIONKEYRANGE } from "../routing"; - -/** @hidden */ -export class ParallelQueryExecutionContext extends ParallelQueryExecutionContextBase implements IExecutionContext { - /** - * Provides the ParallelQueryExecutionContext. - * This class is capable of handling parallelized queries and dervives from ParallelQueryExecutionContextBase. - * - * @constructor ParallelQueryExecutionContext - * @param {ClientContext} clientContext - The service endpoint to use to create the client. - * @param {string} collectionLink - The Collection Link - * @param {FeedOptions} [options] - Represents the feed options. - * @param {object} partitionedQueryExecutionInfo - PartitionedQueryExecutionInfo - * @ignore - */ - constructor( - clientContext: ClientContext, - collectionLink: string, - query: any, - options: any, - partitionedQueryExecutionInfo: PartitionedQueryExecutionContextInfo - ) { - // Calling on base class constructor - super(clientContext, collectionLink, query, options, partitionedQueryExecutionInfo); - } - // Instance members are inherited - - // Overriding documentProducerComparator for ParallelQueryExecutionContexts - /** - * Provides a Comparator for document producers using the min value of the corresponding target partition. - * @returns {object} - Comparator Function - * @ignore - */ - public documentProducerComparator(docProd1: DocumentProducer, docProd2: DocumentProducer) { - const a = docProd1.getTargetParitionKeyRange()["minInclusive"]; - const b = docProd2.getTargetParitionKeyRange()["minInclusive"]; - return a === b ? 0 : a > b ? 1 : -1; - } - - private _buildContinuationTokenFrom(documentProducer: DocumentProducer) { - // given the document producer constructs the continuation token - if (documentProducer.allFetched && documentProducer.peekBufferedItems().length === 0) { - return undefined; - } - - const min = documentProducer.targetPartitionKeyRange[PARITIONKEYRANGE.MinInclusive]; - const max = documentProducer.targetPartitionKeyRange[PARITIONKEYRANGE.MaxExclusive]; - const range = { - min, - max, - id: documentProducer.targetPartitionKeyRange.id - }; - - // TODO: static method - const withNullDefault = (token: any) => { - if (token) { - return token; - } else if (token === null || token === undefined) { - return null; - } - }; - - const documentProducerContinuationToken = - documentProducer.peekBufferedItems().length > 0 - ? documentProducer.previousContinuationToken - : documentProducer.continuationToken; - - return { - token: withNullDefault(documentProducerContinuationToken), - range - }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContextBase.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContextBase.ts deleted file mode 100644 index b1a92a01af77..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/parallelQueryExecutionContextBase.ts +++ /dev/null @@ -1,571 +0,0 @@ -import * as bs from "binary-search-bounds"; -import PriorityQueue from "priorityqueuejs"; -import semaphore from "semaphore"; -import { - DocumentProducer, - HeaderUtils, - IExecutionContext, - IHeaders, - PartitionedQueryExecutionContextInfo, - PartitionedQueryExecutionContextInfoParser -} from "."; -import { ClientContext } from "../ClientContext"; -import { StatusCodes, SubStatusCodes } from "../common"; -import { Response } from "../request/request"; -import { PARITIONKEYRANGE, QueryRange, SmartRoutingMapProvider } from "../routing"; - -/** @hidden */ -export enum ParallelQueryExecutionContextBaseStates { - started = "started", - inProgress = "inProgress", - ended = "ended" -} - -/** @hidden */ -export abstract class ParallelQueryExecutionContextBase implements IExecutionContext { - private static readonly DEFAULT_PAGE_SIZE = 10; - - private err: any; - private state: any; - private static STATES = ParallelQueryExecutionContextBaseStates; - private routingProvider: SmartRoutingMapProvider; - protected sortOrders: any; - private pageSize: any; - private requestContinuation: any; - private respHeaders: IHeaders; - private orderByPQ: PriorityQueue; - private sem: any; - private waitingForInternalExecutionContexts: number; - /** - * Provides the ParallelQueryExecutionContextBase. - * This is the base class that ParallelQueryExecutionContext and OrderByQueryExecutionContext will derive from. - * - * When handling a parallelized query, it instantiates one instance of - * DocumentProcuder per target partition key range and aggregates the result of each. - * - * @constructor ParallelQueryExecutionContext - * @param {ClientContext} clientContext - The service endpoint to use to create the client. - * @param {string} collectionLink - The Collection Link - * @param {FeedOptions} [options] - Represents the feed options. - * @param {object} partitionedQueryExecutionInfo - PartitionedQueryExecutionInfo - * @ignore - */ - constructor( - private clientContext: ClientContext, - private collectionLink: string, - private query: any, // TODO: any - It's not SQLQuerySpec - private options: any, - private partitionedQueryExecutionInfo: PartitionedQueryExecutionContextInfo - ) { - this.clientContext = clientContext; - this.collectionLink = collectionLink; - this.query = query; - this.options = options; - this.partitionedQueryExecutionInfo = partitionedQueryExecutionInfo; - - this.err = undefined; - this.state = ParallelQueryExecutionContextBase.STATES.started; - this.routingProvider = new SmartRoutingMapProvider(this.clientContext); - this.sortOrders = PartitionedQueryExecutionContextInfoParser.parseOrderBy(this.partitionedQueryExecutionInfo); - - if (options === undefined || options["maxItemCount"] === undefined) { - this.pageSize = ParallelQueryExecutionContextBase.DEFAULT_PAGE_SIZE; - this.options["maxItemCount"] = this.pageSize; - } else { - this.pageSize = options["maxItemCount"]; - } - - this.requestContinuation = options ? options.continuation : null; - // response headers of undergoing operation - this.respHeaders = HeaderUtils.getInitialHeader(); - - // Make priority queue for documentProducers - // The comparator is supplied by the derived class - this.orderByPQ = new PriorityQueue((a: DocumentProducer, b: DocumentProducer) => - this.documentProducerComparator(b, a) - ); - // Creating the documentProducers - this.sem = semaphore(1); - // Creating callback for semaphore - // TODO: Code smell - const createDocumentProducersAndFillUpPriorityQueueFunc = async () => { - // ensure the lock is released after finishing up - try { - const targetPartitionRanges = await this._onTargetPartitionRanges(); - this.waitingForInternalExecutionContexts = targetPartitionRanges.length; - // default to 1 if none is provided. - const maxDegreeOfParallelism = - options.maxDegreeOfParallelism > 0 - ? Math.min(options.maxDegreeOfParallelism, targetPartitionRanges.length) - : targetPartitionRanges.length; - - const parallelismSem = semaphore(maxDegreeOfParallelism); - let filteredPartitionKeyRanges = []; - // The document producers generated from filteredPartitionKeyRanges - const targetPartitionQueryExecutionContextList: DocumentProducer[] = []; - - if (this.requestContinuation) { - // Need to create the first documentProducer with the suppliedCompositeContinuationToken - try { - const suppliedCompositeContinuationToken = JSON.parse(this.requestContinuation); - filteredPartitionKeyRanges = this.getPartitionKeyRangesForContinuation( - suppliedCompositeContinuationToken, - targetPartitionRanges - ); - if (filteredPartitionKeyRanges.length > 0) { - targetPartitionQueryExecutionContextList.push( - this._createTargetPartitionQueryExecutionContext( - filteredPartitionKeyRanges[0], - suppliedCompositeContinuationToken.token - ) - ); - // Slicing the first element off, since we already made a documentProducer for it - filteredPartitionKeyRanges = filteredPartitionKeyRanges.slice(1); - } - } catch (e) { - this.err = e; - this.sem.leave(); - } - } else { - filteredPartitionKeyRanges = targetPartitionRanges; - } - - // Create one documentProducer for each partitionTargetRange - filteredPartitionKeyRanges.forEach((partitionTargetRange: any) => { - // TODO: any partitionTargetRange - // no async callback - targetPartitionQueryExecutionContextList.push( - this._createTargetPartitionQueryExecutionContext(partitionTargetRange) - ); - }); - - // Fill up our priority queue with documentProducers - targetPartitionQueryExecutionContextList.forEach(documentProducer => { - // has async callback - const throttledFunc = async () => { - try { - const { result: document, headers } = await documentProducer.current(); - this._mergeWithActiveResponseHeaders(headers); - if (document === undefined) { - // no results on this one - return; - } - // if there are matching results in the target ex range add it to the priority queue - try { - this.orderByPQ.enq(documentProducer); - } catch (e) { - this.err = e; - } - } catch (err) { - this._mergeWithActiveResponseHeaders(err.headers); - this.err = err; - } finally { - parallelismSem.leave(); - this._decrementInitiationLock(); - } - }; - parallelismSem.take(throttledFunc); - }); - } catch (err) { - this.err = err; - // release the lock - this.sem.leave(); - return; - } - }; - this.sem.take(createDocumentProducersAndFillUpPriorityQueueFunc); - } - - protected abstract documentProducerComparator(dp1: DocumentProducer, dp2: DocumentProducer): number; - // TODO: any TODO: any - public getPartitionKeyRangesForContinuation(suppliedCompositeContinuationToken: any, partitionKeyRanges: any) { - const startRange: any = {}; // TODO: any - startRange[PARITIONKEYRANGE.MinInclusive] = suppliedCompositeContinuationToken.range.min; - startRange[PARITIONKEYRANGE.MaxExclusive] = suppliedCompositeContinuationToken.range.max; - - const vbCompareFunction = (x: any, y: any) => { - // TODO: any - if (x[PARITIONKEYRANGE.MinInclusive] > y[PARITIONKEYRANGE.MinInclusive]) { - return 1; - } - if (x[PARITIONKEYRANGE.MinInclusive] < y[PARITIONKEYRANGE.MinInclusive]) { - return -1; - } - - return 0; - }; - - const minIndex = bs.le(partitionKeyRanges, startRange, vbCompareFunction); - // that's an error - - if (minIndex > 0) { - throw new Error("BadRequestException: InvalidContinuationToken"); - } - - // return slice of the partition key ranges - return partitionKeyRanges.slice(minIndex, partitionKeyRanges.length - minIndex); - } - - private _decrementInitiationLock() { - // decrements waitingForInternalExecutionContexts - // if waitingForInternalExecutionContexts reaches 0 releases the semaphore and changes the state - this.waitingForInternalExecutionContexts = this.waitingForInternalExecutionContexts - 1; - if (this.waitingForInternalExecutionContexts === 0) { - this.sem.leave(); - if (this.orderByPQ.size() === 0) { - this.state = ParallelQueryExecutionContextBase.STATES.inProgress; - } - } - } - - private _mergeWithActiveResponseHeaders(headers: IHeaders) { - HeaderUtils.mergeHeaders(this.respHeaders, headers); - } - - private _getAndResetActiveResponseHeaders() { - const ret = this.respHeaders; - this.respHeaders = HeaderUtils.getInitialHeader(); - return ret; - } - - private async _onTargetPartitionRanges() { - // invokes the callback when the target partition ranges are ready - const parsedRanges = PartitionedQueryExecutionContextInfoParser.parseQueryRanges( - this.partitionedQueryExecutionInfo - ); - const queryRanges = parsedRanges.map((item: any) => QueryRange.parseFromDict(item)); // TODO: any - return this.routingProvider.getOverlappingRanges(this.collectionLink, queryRanges); - } - - /** - * Gets the replacement ranges for a partitionkeyrange that has been split - * @memberof ParallelQueryExecutionContextBase - * @instance - */ - private async _getReplacementPartitionKeyRanges(documentProducer: DocumentProducer) { - const routingMapProvider = this.clientContext.partitionKeyDefinitionCache; - const partitionKeyRange = documentProducer.targetPartitionKeyRange; - // Download the new routing map - this.routingProvider = new SmartRoutingMapProvider(this.clientContext); - // Get the queryRange that relates to this partitionKeyRange - const queryRange = QueryRange.parsePartitionKeyRange(partitionKeyRange); - return this.routingProvider.getOverlappingRanges(this.collectionLink, [queryRange]); - } - - // TODO: P0 Code smell - can barely tell what this is doing - /** - * Removes the current document producer from the priqueue, - * replaces that document producer with child document producers, - * then reexecutes the originFunction with the corrrected executionContext - * @memberof ParallelQueryExecutionContextBase - * @instance - */ - private async _repairExecutionContext(originFunction: any) { - // TODO: any - // Get the replacement ranges - // Removing the invalid documentProducer from the orderByPQ - const parentDocumentProducer = this.orderByPQ.deq(); - try { - const replacementPartitionKeyRanges: any[] = await this._getReplacementPartitionKeyRanges(parentDocumentProducer); - const replacementDocumentProducers: DocumentProducer[] = []; - // Create the replacement documentProducers - replacementPartitionKeyRanges.forEach(partitionKeyRange => { - // Create replacment document producers with the parent's continuationToken - const replacementDocumentProducer = this._createTargetPartitionQueryExecutionContext( - partitionKeyRange, - parentDocumentProducer.continuationToken - ); - replacementDocumentProducers.push(replacementDocumentProducer); - }); - // We need to check if the documentProducers even has anything left to fetch from before enqueing them - const checkAndEnqueueDocumentProducer = async ( - documentProducerToCheck: DocumentProducer, - checkNextDocumentProducerCallback: any - ) => { - try { - const { result: afterItem, headers } = await documentProducerToCheck.current(); - if (afterItem === undefined) { - // no more results left in this document producer, so we don't enqueue it - } else { - // Safe to put document producer back in the queue - this.orderByPQ.enq(documentProducerToCheck); - } - - await checkNextDocumentProducerCallback(); - } catch (err) { - this.err = err; - return; - } - }; - const checkAndEnqueueDocumentProducers = async (rdp: DocumentProducer[]) => { - if (rdp.length > 0) { - // We still have a replacementDocumentProducer to check - const replacementDocumentProducer = rdp.shift(); - await checkAndEnqueueDocumentProducer(replacementDocumentProducer, async () => { - await checkAndEnqueueDocumentProducers(rdp); - }); - } else { - // reexecutes the originFunction with the corrrected executionContext - return originFunction(); - } - }; - // Invoke the recursive function to get the ball rolling - await checkAndEnqueueDocumentProducers(replacementDocumentProducers); - } catch (err) { - this.err = err; - throw err; - } - } - - private static _needPartitionKeyRangeCacheRefresh(error: any) { - // TODO: any error - return ( - error.code === StatusCodes.Gone && - "substatus" in error && - error["substatus"] === SubStatusCodes.PartitionKeyRangeGone - ); - } - - /** - * Checks to see if the executionContext needs to be repaired. - * if so it repairs the execution context and executes the ifCallback, - * else it continues with the current execution context and executes the elseCallback - * @memberof ParallelQueryExecutionContextBase - * @instance - */ - private async _repairExecutionContextIfNeeded(ifCallback: any, elseCallback: any) { - const documentProducer = this.orderByPQ.peek(); - // Check if split happened - try { - const { result: element, headers } = await documentProducer.current(); - elseCallback(); - } catch (err) { - if (ParallelQueryExecutionContextBase._needPartitionKeyRangeCacheRefresh(err)) { - // Split has happened so we need to repair execution context before continueing - return this._repairExecutionContext(ifCallback); - } else { - // Something actually bad happened ... - this.err = err; - throw err; - } - } - } - - /** - * Execute a provided function on the next element in the ParallelQueryExecutionContextBase. - * @memberof ParallelQueryExecutionContextBase - * @instance - * @param {callback} callback - Function to execute for each element. the function takes two \ - * parameters error, element. - */ - public async nextItem(): Promise> { - if (this.err) { - // if there is a prior error return error - throw this.err; - } - return new Promise>((resolve, reject) => { - this.sem.take(() => { - // NOTE: lock must be released before invoking quitting - if (this.err) { - // release the lock before invoking callback - this.sem.leave(); - // if there is a prior error return error - this.err.headers = this._getAndResetActiveResponseHeaders(); - reject(this.err); - return; - } - - if (this.orderByPQ.size() === 0) { - // there is no more results - this.state = ParallelQueryExecutionContextBase.STATES.ended; - // release the lock before invoking callback - this.sem.leave(); - return resolve({ - result: undefined, - headers: this._getAndResetActiveResponseHeaders() - }); - } - - const ifCallback = () => { - // Release the semaphore to avoid deadlock - this.sem.leave(); - // Reexcute the function - return resolve(this.nextItem()); - }; - const elseCallback = async () => { - let documentProducer: DocumentProducer; - try { - documentProducer = this.orderByPQ.deq(); - } catch (e) { - // if comparing elements of the priority queue throws exception - // set that error and return error - this.err = e; - // release the lock before invoking callback - this.sem.leave(); - this.err.headers = this._getAndResetActiveResponseHeaders(); - reject(this.err); - return; - } - - let item: any; - let headers: IHeaders; - try { - const response = await documentProducer.nextItem(); - item = response.result; - headers = response.headers; - this._mergeWithActiveResponseHeaders(headers); - if (item === undefined) { - // this should never happen - // because the documentProducer already has buffered an item - // assert item !== undefined - this.err = new Error( - `Extracted DocumentProducer from the priority queue \ - doesn't have any buffered item!` - ); - // release the lock before invoking callback - this.sem.leave(); - return resolve({ - result: undefined, - headers: this._getAndResetActiveResponseHeaders() - }); - } - } catch (err) { - this.err = new Error( - `Extracted DocumentProducer from the priority queue fails to get the \ - buffered item. Due to ${JSON.stringify(err)}` - ); - this.err.headers = this._getAndResetActiveResponseHeaders(); - // release the lock before invoking callback - this.sem.leave(); - reject(this.err); - return; - } - - // we need to put back the document producer to the queue if it has more elements. - // the lock will be released after we know document producer must be put back in the queue or not - try { - const { result: afterItem, headers: currentHeaders } = await documentProducer.current(); - if (afterItem === undefined) { - // no more results is left in this document producer - } else { - try { - const headItem = documentProducer.fetchResults[0]; - if (typeof headItem === "undefined") { - throw new Error("Extracted DocumentProducer from PQ is invalid state with no result!"); - } - this.orderByPQ.enq(documentProducer); - } catch (e) { - // if comparing elements in priority queue throws exception - // set error - this.err = e; - } - } - } catch (err) { - if (ParallelQueryExecutionContextBase._needPartitionKeyRangeCacheRefresh(err)) { - // We want the document producer enqueued - // So that later parts of the code can repair the execution context - this.orderByPQ.enq(documentProducer); - } else { - // Something actually bad happened - this.err = err; - reject(this.err); - } - } finally { - // release the lock before returning - this.sem.leave(); - } - // invoke the callback on the item - return resolve({ - result: item, - headers: this._getAndResetActiveResponseHeaders() - }); - }; - this._repairExecutionContextIfNeeded(ifCallback, elseCallback).catch(reject); - }); - }); - } - - /** - * Retrieve the current element on the ParallelQueryExecutionContextBase. - * @memberof ParallelQueryExecutionContextBase - * @instance - * @param {callback} callback - Function to execute for the current element. \ - * the function takes two parameters error, element. - */ - public async current(): Promise> { - if (this.err) { - this.err.headerse = this._getAndResetActiveResponseHeaders(); - throw this.err; - } - return new Promise>((resolve, reject) => { - this.sem.take(() => { - try { - if (this.err) { - this.err = this._getAndResetActiveResponseHeaders(); - throw this.err; - } - - if (this.orderByPQ.size() === 0) { - return resolve({ - result: undefined, - headers: this._getAndResetActiveResponseHeaders() - }); - } - - const ifCallback = () => { - // Reexcute the function - return resolve(this.current()); - }; - - const elseCallback = () => { - const documentProducer = this.orderByPQ.peek(); - return resolve(documentProducer.current()); - }; - - this._repairExecutionContextIfNeeded(ifCallback, elseCallback).catch(reject); - } finally { - this.sem.leave(); - } - }); - }); - } - - /** - * Determine if there are still remaining resources to processs based on the value of the continuation \ - * token or the elements remaining on the current batch in the QueryIterator. - * @memberof ParallelQueryExecutionContextBase - * @instance - * @returns {Boolean} true if there is other elements to process in the ParallelQueryExecutionContextBase. - */ - public hasMoreResults() { - return !(this.state === ParallelQueryExecutionContextBase.STATES.ended || this.err !== undefined); - } - - /** - * Creates document producers - */ - private _createTargetPartitionQueryExecutionContext(partitionKeyTargetRange: any, continuationToken?: any) { - // TODO: any - // creates target partition range Query Execution Context - let rewrittenQuery = PartitionedQueryExecutionContextInfoParser.parseRewrittenQuery( - this.partitionedQueryExecutionInfo - ); - let query = this.query; - if (typeof query === "string") { - query = { query }; - } - - const formatPlaceHolder = "{documentdb-formattableorderbyquery-filter}"; - if (rewrittenQuery) { - query = JSON.parse(JSON.stringify(query)); - // We hardcode the formattable filter to true for now - rewrittenQuery = rewrittenQuery.replace(formatPlaceHolder, "true"); - query["query"] = rewrittenQuery; - } - - const options = JSON.parse(JSON.stringify(this.options)); - options.continuationToken = continuationToken; - - return new DocumentProducer(this.clientContext, this.collectionLink, query, partitionKeyTargetRange, options); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/partitionedQueryExecutionContextInfoParser.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/partitionedQueryExecutionContextInfoParser.ts deleted file mode 100644 index 42ca0700b4df..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/partitionedQueryExecutionContextInfoParser.ts +++ /dev/null @@ -1,50 +0,0 @@ -/** @hidden */ -const PartitionedQueryContants = { - QueryInfoPath: "queryInfo", - TopPath: ["queryInfo", "top"], - OrderByPath: ["queryInfo", "orderBy"], - AggregatePath: ["queryInfo", "aggregates"], - QueryRangesPath: "queryRanges", - RewrittenQueryPath: ["queryInfo", "rewrittenQuery"] -}; - -/** @hidden */ -export interface PartitionedQueryExecutionContextInfo { - [key: string]: any; -} - -// TODO: any partitionedQueryExecutionInfo -/** @hidden */ -export class PartitionedQueryExecutionContextInfoParser { - public static parseRewrittenQuery(partitionedQueryExecutionInfo: { [key: string]: any }) { - return this._extract(partitionedQueryExecutionInfo, PartitionedQueryContants.RewrittenQueryPath); - } - public static parseQueryRanges(partitionedQueryExecutionInfo: { [key: string]: any }) { - return this._extract(partitionedQueryExecutionInfo, PartitionedQueryContants.QueryRangesPath); - } - public static parseOrderBy(partitionedQueryExecutionInfo: { [key: string]: any }) { - return this._extract(partitionedQueryExecutionInfo, PartitionedQueryContants.OrderByPath); - } - public static parseAggregates(partitionedQueryExecutionInfo: { [key: string]: any }) { - return this._extract(partitionedQueryExecutionInfo, PartitionedQueryContants.AggregatePath); - } - public static parseTop(partitionedQueryExecutionInfo: { [key: string]: any }) { - return this._extract(partitionedQueryExecutionInfo, PartitionedQueryContants.TopPath); - } - private static _extract(partitionedQueryExecutionInfo: { [key: string]: any }, path: string | string[]) { - let item = partitionedQueryExecutionInfo; - if (typeof path === "string") { - return item[path]; - } - if (!Array.isArray(path)) { - throw new Error(`JSON.stringify(path is expected to be an array`); - } - for (const p of path) { - item = item[p]; - if (item === undefined) { - return; - } - } - return item; - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/pipelinedQueryExecutionContext.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/pipelinedQueryExecutionContext.ts deleted file mode 100644 index 39033d67c8d0..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/pipelinedQueryExecutionContext.ts +++ /dev/null @@ -1,140 +0,0 @@ -import { - HeaderUtils, - IExecutionContext, - IHeaders, - OrderByQueryExecutionContext, - ParallelQueryExecutionContext, - PartitionedQueryExecutionContextInfo, - PartitionedQueryExecutionContextInfoParser -} from "."; -import { ClientContext } from "../ClientContext"; -import { Response } from "../request/request"; -import { - AggregateEndpointComponent, - IEndpointComponent, - OrderByEndpointComponent, - TopEndpointComponent -} from "./EndpointComponent"; - -/** @hidden */ -export class PipelinedQueryExecutionContext implements IExecutionContext { - private fetchBuffer: any[]; - private fetchMoreRespHeaders: IHeaders; - private endpoint: IEndpointComponent; - private pageSize: number; - private static DEFAULT_PAGE_SIZE = 10; - constructor( - private clientContext: ClientContext, - private collectionLink: string, - private query: any, // TODO: any query - private options: any, // TODO: any options - private partitionedQueryExecutionInfo: PartitionedQueryExecutionContextInfo - ) { - this.endpoint = null; - this.pageSize = options["maxItemCount"]; - if (this.pageSize === undefined) { - this.pageSize = PipelinedQueryExecutionContext.DEFAULT_PAGE_SIZE; - } - - // Pick between parallel vs order by execution context - const sortOrders = PartitionedQueryExecutionContextInfoParser.parseOrderBy(partitionedQueryExecutionInfo); - if (Array.isArray(sortOrders) && sortOrders.length > 0) { - // Need to wrap orderby execution context in endpoint component, since the data is nested as a \ - // "payload" property. - this.endpoint = new OrderByEndpointComponent( - new OrderByQueryExecutionContext( - this.clientContext, - this.collectionLink, - this.query, - this.options, - this.partitionedQueryExecutionInfo - ) - ); - } else { - this.endpoint = new ParallelQueryExecutionContext( - this.clientContext, - this.collectionLink, - this.query, - this.options, - this.partitionedQueryExecutionInfo - ); - } - - // If aggregate then add that to the pipeline - const aggregates = PartitionedQueryExecutionContextInfoParser.parseAggregates(partitionedQueryExecutionInfo); - if (Array.isArray(aggregates) && aggregates.length > 0) { - this.endpoint = new AggregateEndpointComponent(this.endpoint, aggregates); - } - - // If top then add that to the pipeline - const top = PartitionedQueryExecutionContextInfoParser.parseTop(partitionedQueryExecutionInfo); - if (typeof top === "number") { - this.endpoint = new TopEndpointComponent(this.endpoint, top); - } - } - - public async nextItem(): Promise> { - return this.endpoint.nextItem(); - } - - public async current(): Promise> { - return this.endpoint.current(); - } - - // Removed callback here beacuse it wouldn't have ever worked... - public hasMoreResults(): boolean { - return this.endpoint.hasMoreResults(); - } - - public async fetchMore(): Promise> { - // if the wrapped endpoint has different implementation for fetchMore use that - // otherwise use the default implementation - if (typeof this.endpoint.fetchMore === "function") { - return this.endpoint.fetchMore(); - } else { - this.fetchBuffer = []; - this.fetchMoreRespHeaders = HeaderUtils.getInitialHeader(); - return this._fetchMoreImplementation(); - } - } - - private async _fetchMoreImplementation(): Promise> { - try { - const { result: item, headers } = await this.endpoint.nextItem(); - HeaderUtils.mergeHeaders(this.fetchMoreRespHeaders, headers); - if (item === undefined) { - // no more results - if (this.fetchBuffer.length === 0) { - return { - result: undefined, - headers: this.fetchMoreRespHeaders - }; - } else { - // Just give what we have - const temp = this.fetchBuffer; - this.fetchBuffer = []; - return { result: temp, headers: this.fetchMoreRespHeaders }; - } - } else { - // append the result - this.fetchBuffer.push(item); - if (this.fetchBuffer.length >= this.pageSize) { - // fetched enough results - const temp = this.fetchBuffer.slice(0, this.pageSize); - this.fetchBuffer = this.fetchBuffer.splice(this.pageSize); - return { result: temp, headers: this.fetchMoreRespHeaders }; - } else { - // recursively fetch more - // TODO: is recursion a good idea? - return this._fetchMoreImplementation(); - } - } - } catch (err) { - HeaderUtils.mergeHeaders(this.fetchMoreRespHeaders, err.headers); - err.headers = this.fetchMoreRespHeaders; - if (err) { - throw err; - } - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryExecutionContext/proxyQueryExecutionContext.ts b/sdk/cosmosdb/cosmos/src/queryExecutionContext/proxyQueryExecutionContext.ts deleted file mode 100644 index 44b7801246a0..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryExecutionContext/proxyQueryExecutionContext.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { - DefaultQueryExecutionContext, - FetchFunctionCallback, - IExecutionContext, - PartitionedQueryExecutionContextInfo, - PipelinedQueryExecutionContext, - SqlQuerySpec -} from "."; -import { ClientContext } from "../ClientContext"; -import { StatusCodes, SubStatusCodes } from "../common"; -import { Response } from "../request/request"; - -/** @hidden */ -export class ProxyQueryExecutionContext implements IExecutionContext { - private queryExecutionContext: IExecutionContext; - - constructor( - private clientContext: ClientContext, - private query: SqlQuerySpec | string, - private options: any, // TODO: any options - private fetchFunctions: FetchFunctionCallback | FetchFunctionCallback[], - private resourceLink: string | string[] - ) { - this.query = query; - this.fetchFunctions = fetchFunctions; - // clone options - this.options = JSON.parse(JSON.stringify(options || {})); - this.resourceLink = resourceLink; - this.queryExecutionContext = new DefaultQueryExecutionContext( - this.clientContext, - this.query, - this.options, - this.fetchFunctions - ); - } - /** - * Execute a provided function on the next element in the ProxyQueryExecutionContext. - * @memberof ProxyQueryExecutionContext - * @instance - * @param {callback} callback - Function to execute for each element. \ - * the function takes two parameters error, element. - */ - public async nextItem(): Promise> { - try { - const r = await this.queryExecutionContext.nextItem(); - return r; - } catch (err) { - if (this._hasPartitionedExecutionInfo(err)) { - // if this's a partitioned execution info switches the execution context - const partitionedExecutionInfo = this._getParitionedExecutionInfo(err); - this.queryExecutionContext = this._createPipelinedExecutionContext(partitionedExecutionInfo); - try { - // TODO: recusion might be bad... - return this.nextItem(); - } catch (e) { - throw e; - } - } else { - throw err; - } - } - } - - private _createPipelinedExecutionContext(partitionedExecutionInfo: PartitionedQueryExecutionContextInfo) { - if (!this.resourceLink) { - throw new Error("for top/orderby resourceLink is required"); - } - if (Array.isArray(this.resourceLink) && this.resourceLink.length !== 1) { - throw new Error("for top/orderby exactly one collectionLink is required"); - } - - const collectionLink = Array.isArray(this.resourceLink) ? this.resourceLink[0] : this.resourceLink; - - return new PipelinedQueryExecutionContext( - this.clientContext, - collectionLink, - this.query, - this.options, - partitionedExecutionInfo - ); - } - - /** - * Retrieve the current element on the ProxyQueryExecutionContext. - * @memberof ProxyQueryExecutionContext - * @instance - * @param {callback} callback - Function to execute for the current element. \ - * the function takes two parameters error, element. - */ - public async current(): Promise> { - try { - return await this.queryExecutionContext.current(); - } catch (err) { - if (this._hasPartitionedExecutionInfo(err)) { - // if this's a partitioned execution info switches the execution context - const partitionedExecutionInfo = this._getParitionedExecutionInfo(err); - this.queryExecutionContext = this._createPipelinedExecutionContext(partitionedExecutionInfo); - - // TODO: recursion - try { - return this.current(); - } catch (e) { - throw e; - } - } else { - throw err; - } - } - } - - /** - * Determine if there are still remaining resources to process. - * @memberof ProxyQueryExecutionContext - * @instance - * @returns {Boolean} true if there is other elements to process in the ProxyQueryExecutionContext. - */ - public hasMoreResults() { - return this.queryExecutionContext.hasMoreResults(); - } - - public async fetchMore(): Promise> { - try { - return await this.queryExecutionContext.fetchMore(); - } catch (err) { - if (this._hasPartitionedExecutionInfo(err)) { - // if this's a partitioned execution info switches the execution context - const partitionedExecutionInfo = this._getParitionedExecutionInfo(err); - this.queryExecutionContext = this._createPipelinedExecutionContext(partitionedExecutionInfo); - try { - // TODO: maybe should move the others to use this pattern as it avoid the recursion issue. - return this.queryExecutionContext.fetchMore(); - } catch (e) { - throw e; - } - } else { - throw err; - } - } - } - - private _hasPartitionedExecutionInfo(error: any) { - // TODO: any error - return ( - error.code === StatusCodes.BadRequest && - "substatus" in error && - error["substatus"] === SubStatusCodes.CrossPartitionQueryNotServable - ); - } - - private _getParitionedExecutionInfo(error: any) { - // TODO: any error - return JSON.parse(JSON.parse(error.body).additionalErrorInfo); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryIterator.ts b/sdk/cosmosdb/cosmos/src/queryIterator.ts deleted file mode 100644 index 66121c73ac04..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryIterator.ts +++ /dev/null @@ -1,189 +0,0 @@ -/// -import { ClientContext } from "./ClientContext"; -import { - FetchFunctionCallback, - IExecutionContext, - IHeaders, - ProxyQueryExecutionContext, - SqlQuerySpec -} from "./queryExecutionContext"; -import { FeedOptions } from "./request/FeedOptions"; -import { Response } from "./request/request"; - -/** - * Represents a QueryIterator Object, an implmenetation of feed or query response that enables - * traversal and iterating over the response - * in the Azure Cosmos DB database service. - */ -export class QueryIterator { - private toArrayTempResources: T[]; // TODO - private toArrayLastResHeaders: IHeaders; - private queryExecutionContext: IExecutionContext; - /** - * @hidden - */ - constructor( - private clientContext: ClientContext, - private query: SqlQuerySpec | string, - private options: FeedOptions, - private fetchFunctions: FetchFunctionCallback | FetchFunctionCallback[], - private resourceLink?: string | string[] - ) { - this.query = query; - this.fetchFunctions = fetchFunctions; - this.options = options; - this.resourceLink = resourceLink; - this.queryExecutionContext = this._createQueryExecutionContext(); - } - - /** - * Calls a specified callback for each item returned from the query. - * Runs serially; each callback blocks the next. - * - * @param callback Specified callback. - * First param is the result, - * second param (optional) is the current headers object state, - * third param (optional) is current index. - * No more callbacks will be called if one of them results false. - * - * @returns Promise - you should await or .catch the Promise in case there are any errors - * - * @example Iterate over all databases - * ```typescript - * await client.databases.readAll().forEach((db, headers, index) => { - * console.log(`Got ${db.id} from forEach`); - * }) - * ``` - */ - public async forEach(callback: (result: T, headers?: IHeaders, index?: number) => boolean | void): Promise { - this.reset(); - let index = 0; - while (this.queryExecutionContext.hasMoreResults()) { - const result = await this.queryExecutionContext.nextItem(); - if (result.result === undefined) { - return; - } - if (callback(result.result, result.headers, index) === false) { - return; - } else { - ++index; - } - } - } - - /** - * Gets an async iterator that will yield results until completion. - * - * NOTE: AsyncIterators are a very new feature and you might need to - * use polyfils/etc. in order to use them in your code. - * - * If you're using TypeScript, you can use the following polyfill as long - * as you target ES6 or higher and are running on Node 6 or higher. - * - * ```typescript - * if (!Symbol || !Symbol.asyncIterator) { - * (Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator"); - * } - * ``` - * - * @see QueryIterator.forEach for very similar functionality. - * - * @example Iterate over all databases - * ```typescript - * for await(const {result: db} in client.databases.readAll().getAsyncIterator()) { - * console.log(`Got ${db.id} from AsyncIterator`); - * } - * ``` - */ - public async *getAsyncIterator(): AsyncIterable> { - this.reset(); - while (this.queryExecutionContext.hasMoreResults()) { - const result = await this.queryExecutionContext.nextItem(); - if (result.result === undefined) { - return; - } - yield result; - } - } - - /** - * Execute a provided function on the next element in the QueryIterator. - */ - public async nextItem(): Promise> { - return this.queryExecutionContext.nextItem(); - } - - /** - * Retrieve the current element on the QueryIterator. - */ - public async current(): Promise> { - return this.queryExecutionContext.current(); - } - - // TODO: why is has more results deprecated? - /** - * @deprecated Instead check if nextItem() or current() returns undefined. - * - * Determine if there are still remaining resources to processs based on the value of the continuation token or the\ - * elements remaining on the current batch in the QueryIterator. - * @returns {Boolean} true if there is other elements to process in the QueryIterator. - */ - public hasMoreResults(): boolean { - return this.queryExecutionContext.hasMoreResults(); - } - - /** - * Retrieve all the elements of the feed and pass them as an array to a function - */ - public async toArray(): Promise> { - if (arguments.length !== 0) { - throw new Error("toArray takes no arguments"); - } - this.reset(); - this.toArrayTempResources = []; - return this._toArrayImplementation(); - } - - /** - * Retrieve the next batch of the feed and pass them as an array to a function - */ - public async executeNext(): Promise> { - return this.queryExecutionContext.fetchMore(); - } - - /** - * Reset the QueryIterator to the beginning and clear all the resources inside it - */ - public reset() { - this.queryExecutionContext = this._createQueryExecutionContext(); - } - - private async _toArrayImplementation(): Promise> { - while (this.queryExecutionContext.hasMoreResults()) { - const { result, headers } = await this.queryExecutionContext.nextItem(); - // concatinate the results and fetch more - this.toArrayLastResHeaders = headers; - - if (result === undefined) { - // no more results - break; - } - - this.toArrayTempResources.push(result); - } - return { - result: this.toArrayTempResources, - headers: this.toArrayLastResHeaders - }; - } - - private _createQueryExecutionContext() { - return new ProxyQueryExecutionContext( - this.clientContext, - this.query, - this.options, - this.fetchFunctions, - this.resourceLink - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/clientSideMetrics.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/clientSideMetrics.ts deleted file mode 100644 index e2a48064a175..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/clientSideMetrics.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { QueryMetricsUtils } from "./queryMetricsUtils"; - -export class ClientSideMetrics { - constructor(public readonly requestCharge: number) {} - - /** - * Adds one or more ClientSideMetrics to a copy of this instance and returns the result. - */ - public add(...clientSideMetricsArray: ClientSideMetrics[]) { - if (arguments == null || arguments.length === 0) { - throw new Error("arguments was null or empty"); - } - - let requestCharge = this.requestCharge; - for (const clientSideMetrics of clientSideMetricsArray) { - if (clientSideMetrics == null) { - throw new Error("clientSideMetrics has null or undefined item(s)"); - } - - requestCharge += clientSideMetrics.requestCharge; - } - - return new ClientSideMetrics(requestCharge); - } - - public static readonly zero = new ClientSideMetrics(0); - - public static createFromArray(...clientSideMetricsArray: ClientSideMetrics[]) { - if (clientSideMetricsArray == null) { - throw new Error("clientSideMetricsArray is null or undefined item(s)"); - } - - return this.zero.add(...clientSideMetricsArray); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/index.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/index.ts deleted file mode 100644 index 74bba09cae48..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { ClientSideMetrics } from "./clientSideMetrics"; -export { QueryMetrics } from "./queryMetrics"; -export { default as QueryMetricsConstants } from "./queryMetricsConstants"; -export { QueryMetricsUtils } from "./queryMetricsUtils"; -export { QueryPreparationTimes } from "./queryPreparationTime"; -export { RuntimeExecutionTimes } from "./runtimeExecutionTimes"; -export { TimeSpan } from "./timeSpan"; diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetrics.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetrics.ts deleted file mode 100644 index 9f65dd415f7e..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetrics.ts +++ /dev/null @@ -1,213 +0,0 @@ -import { ClientSideMetrics } from "./clientSideMetrics"; -import QueryMetricsConstants from "./queryMetricsConstants"; -import { QueryMetricsUtils } from "./queryMetricsUtils"; -import { QueryPreparationTimes } from "./queryPreparationTime"; -import { RuntimeExecutionTimes } from "./runtimeExecutionTimes"; -import { TimeSpan } from "./timeSpan"; - -export class QueryMetrics { - constructor( - public readonly retrievedDocumentCount: number, - public readonly retrievedDocumentSize: number, - public readonly outputDocumentCount: number, - public readonly outputDocumentSize: number, - public readonly indexHitDocumentCount: number, - public readonly totalQueryExecutionTime: TimeSpan, - public readonly queryPreparationTimes: QueryPreparationTimes, - public readonly indexLookupTime: TimeSpan, - public readonly documentLoadTime: TimeSpan, - public readonly vmExecutionTime: TimeSpan, - public readonly runtimeExecutionTimes: RuntimeExecutionTimes, - public readonly documentWriteTime: TimeSpan, - public readonly clientSideMetrics: ClientSideMetrics - ) {} - - /** - * Gets the IndexHitRatio - * @memberof QueryMetrics - * @instance - * @ignore - */ - public get indexHitRatio() { - return this.retrievedDocumentCount === 0 ? 1 : this.indexHitDocumentCount / this.retrievedDocumentCount; - } - - /** - * returns a new QueryMetrics instance that is the addition of this and the arguments. - */ - public add(queryMetricsArray: QueryMetrics[]) { - if (arguments == null || arguments.length === 0) { - throw new Error("arguments was null or empty"); - } - - let retrievedDocumentCount = 0; - let retrievedDocumentSize = 0; - let outputDocumentCount = 0; - let outputDocumentSize = 0; - let indexHitDocumentCount = 0; - let totalQueryExecutionTime = TimeSpan.zero; - const queryPreparationTimesArray = []; - let indexLookupTime = TimeSpan.zero; - let documentLoadTime = TimeSpan.zero; - let vmExecutionTime = TimeSpan.zero; - const runtimeExecutionTimesArray = []; - let documentWriteTime = TimeSpan.zero; - const clientSideQueryMetricsArray = []; - - queryMetricsArray.push(this); - - for (const queryMetrics of queryMetricsArray) { - if (queryMetrics == null) { - throw new Error("queryMetricsArray has null or undefined item(s)"); - } - - retrievedDocumentCount += queryMetrics.retrievedDocumentCount; - retrievedDocumentSize += queryMetrics.retrievedDocumentSize; - outputDocumentCount += queryMetrics.outputDocumentCount; - outputDocumentSize += queryMetrics.outputDocumentSize; - indexHitDocumentCount += queryMetrics.indexHitDocumentCount; - totalQueryExecutionTime = totalQueryExecutionTime.add(queryMetrics.totalQueryExecutionTime); - queryPreparationTimesArray.push(queryMetrics.queryPreparationTimes); - indexLookupTime = indexLookupTime.add(queryMetrics.indexLookupTime); - documentLoadTime = documentLoadTime.add(queryMetrics.documentLoadTime); - vmExecutionTime = vmExecutionTime.add(queryMetrics.vmExecutionTime); - runtimeExecutionTimesArray.push(queryMetrics.runtimeExecutionTimes); - documentWriteTime = documentWriteTime.add(queryMetrics.documentWriteTime); - clientSideQueryMetricsArray.push(queryMetrics.clientSideMetrics); - } - - return new QueryMetrics( - retrievedDocumentCount, - retrievedDocumentSize, - outputDocumentCount, - outputDocumentSize, - indexHitDocumentCount, - totalQueryExecutionTime, - QueryPreparationTimes.createFromArray(queryPreparationTimesArray), - indexLookupTime, - documentLoadTime, - vmExecutionTime, - RuntimeExecutionTimes.createFromArray(runtimeExecutionTimesArray), - documentWriteTime, - ClientSideMetrics.createFromArray(...clientSideQueryMetricsArray) - ); - } - - /** - * Output the QueryMetrics as a delimited string. - * @memberof QueryMetrics - * @instance - * @ignore - */ - public toDelimitedString() { - return ( - QueryMetricsConstants.RetrievedDocumentCount + - "=" + - this.retrievedDocumentCount + - ";" + - QueryMetricsConstants.RetrievedDocumentSize + - "=" + - this.retrievedDocumentSize + - ";" + - QueryMetricsConstants.OutputDocumentCount + - "=" + - this.outputDocumentCount + - ";" + - QueryMetricsConstants.OutputDocumentSize + - "=" + - this.outputDocumentSize + - ";" + - QueryMetricsConstants.IndexHitRatio + - "=" + - this.indexHitRatio + - ";" + - QueryMetricsConstants.TotalQueryExecutionTimeInMs + - "=" + - this.totalQueryExecutionTime.totalMilliseconds() + - ";" + - this.queryPreparationTimes.toDelimitedString() + - ";" + - QueryMetricsConstants.IndexLookupTimeInMs + - "=" + - this.indexLookupTime.totalMilliseconds() + - ";" + - QueryMetricsConstants.DocumentLoadTimeInMs + - "=" + - this.documentLoadTime.totalMilliseconds() + - ";" + - QueryMetricsConstants.VMExecutionTimeInMs + - "=" + - this.vmExecutionTime.totalMilliseconds() + - ";" + - this.runtimeExecutionTimes.toDelimitedString() + - ";" + - QueryMetricsConstants.DocumentWriteTimeInMs + - "=" + - this.documentWriteTime.totalMilliseconds() - ); - } - - public static readonly zero = new QueryMetrics( - 0, - 0, - 0, - 0, - 0, - TimeSpan.zero, - QueryPreparationTimes.zero, - TimeSpan.zero, - TimeSpan.zero, - TimeSpan.zero, - RuntimeExecutionTimes.zero, - TimeSpan.zero, - ClientSideMetrics.zero - ); - - /** - * Returns a new instance of the QueryMetrics class that is the aggregation of an array of query metrics. - * @memberof QueryMetrics - * @instance - */ - public static createFromArray(queryMetricsArray: QueryMetrics[]) { - if (queryMetricsArray == null) { - throw new Error("queryMetricsArray is null or undefined item(s)"); - } - - return QueryMetrics.zero.add(queryMetricsArray); - } - - /** - * Returns a new instance of the QueryMetrics class this is deserialized from a delimited string. - * @memberof QueryMetrics - * @instance - */ - public static createFromDelimitedString(delimitedString: string, clientSideMetrics?: ClientSideMetrics) { - const metrics = QueryMetricsUtils.parseDelimitedString(delimitedString); - - const indexHitRatio = metrics[QueryMetricsConstants.IndexHitRatio] || 0; - const retrievedDocumentCount = metrics[QueryMetricsConstants.RetrievedDocumentCount] || 0; - const indexHitCount = indexHitRatio * retrievedDocumentCount; - const outputDocumentCount = metrics[QueryMetricsConstants.OutputDocumentCount] || 0; - const outputDocumentSize = metrics[QueryMetricsConstants.OutputDocumentSize] || 0; - const retrievedDocumentSize = metrics[QueryMetricsConstants.RetrievedDocumentSize] || 0; - const totalQueryExecutionTime = QueryMetricsUtils.timeSpanFromMetrics( - metrics, - QueryMetricsConstants.TotalQueryExecutionTimeInMs - ); - return new QueryMetrics( - retrievedDocumentCount, - retrievedDocumentSize, - outputDocumentCount, - outputDocumentSize, - indexHitCount, - totalQueryExecutionTime, - QueryPreparationTimes.createFromDelimitedString(delimitedString), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.IndexLookupTimeInMs), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.DocumentLoadTimeInMs), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.VMExecutionTimeInMs), - RuntimeExecutionTimes.createFromDelimitedString(delimitedString), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.DocumentWriteTimeInMs), - clientSideMetrics || ClientSideMetrics.zero - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetricsConstants.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetricsConstants.ts deleted file mode 100644 index 8eadeb10a672..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetricsConstants.ts +++ /dev/null @@ -1,61 +0,0 @@ -export default { - // QueryMetrics - RetrievedDocumentCount: "retrievedDocumentCount", - RetrievedDocumentSize: "retrievedDocumentSize", - OutputDocumentCount: "outputDocumentCount", - OutputDocumentSize: "outputDocumentSize", - IndexHitRatio: "indexUtilizationRatio", - IndexHitDocumentCount: "indexHitDocumentCount", - TotalQueryExecutionTimeInMs: "totalExecutionTimeInMs", - - // QueryPreparationTimes - QueryCompileTimeInMs: "queryCompileTimeInMs", - LogicalPlanBuildTimeInMs: "queryLogicalPlanBuildTimeInMs", - PhysicalPlanBuildTimeInMs: "queryPhysicalPlanBuildTimeInMs", - QueryOptimizationTimeInMs: "queryOptimizationTimeInMs", - - // QueryTimes - IndexLookupTimeInMs: "indexLookupTimeInMs", - DocumentLoadTimeInMs: "documentLoadTimeInMs", - VMExecutionTimeInMs: "VMExecutionTimeInMs", - DocumentWriteTimeInMs: "writeOutputTimeInMs", - - // RuntimeExecutionTimes - QueryEngineTimes: "queryEngineTimes", - SystemFunctionExecuteTimeInMs: "systemFunctionExecuteTimeInMs", - UserDefinedFunctionExecutionTimeInMs: "userFunctionExecuteTimeInMs", - - // QueryMetrics Text - RetrievedDocumentCountText: "Retrieved Document Count", - RetrievedDocumentSizeText: "Retrieved Document Size", - OutputDocumentCountText: "Output Document Count", - OutputDocumentSizeText: "Output Document Size", - IndexUtilizationText: "Index Utilization", - TotalQueryExecutionTimeText: "Total Query Execution Time", - - // QueryPreparationTimes Text - QueryPreparationTimesText: "Query Preparation Times", - QueryCompileTimeText: "Query Compilation Time", - LogicalPlanBuildTimeText: "Logical Plan Build Time", - PhysicalPlanBuildTimeText: "Physical Plan Build Time", - QueryOptimizationTimeText: "Query Optimization Time", - - // QueryTimes Text - QueryEngineTimesText: "Query Engine Times", - IndexLookupTimeText: "Index Lookup Time", - DocumentLoadTimeText: "Document Load Time", - WriteOutputTimeText: "Document Write Time", - - // RuntimeExecutionTimes Text - RuntimeExecutionTimesText: "Runtime Execution Times", - TotalExecutionTimeText: "Query Engine Execution Time", - SystemFunctionExecuteTimeText: "System Function Execution Time", - UserDefinedFunctionExecutionTimeText: "User-defined Function Execution Time", - - // ClientSideQueryMetrics Text - ClientSideQueryMetricsText: "Client Side Metrics", - RetriesText: "Retry Count", - RequestChargeText: "Request Charge", - FetchExecutionRangesText: "Partition Execution Timeline", - SchedulingMetricsText: "Scheduling Metrics" -}; diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetricsUtils.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetricsUtils.ts deleted file mode 100644 index 3aca74aedcb9..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/queryMetricsUtils.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { TimeSpan } from "./timeSpan"; - -export class QueryMetricsUtils { - public static parseDelimitedString(delimitedString: string) { - if (delimitedString == null) { - throw new Error("delimitedString is null or undefined"); - } - - const metrics: { [key: string]: any } = {}; - - const headerAttributes = delimitedString.split(";"); - for (const attribute of headerAttributes) { - const attributeKeyValue = attribute.split("="); - - if (attributeKeyValue.length !== 2) { - throw new Error("recieved a malformed delimited string"); - } - - const attributeKey = attributeKeyValue[0]; - const attributeValue = parseFloat(attributeKeyValue[1]); - - metrics[attributeKey] = attributeValue; - } - - return metrics; - } - - public static timeSpanFromMetrics(metrics: { [key: string]: any } /* TODO: any */, key: string) { - if (key in metrics) { - return TimeSpan.fromMilliseconds(metrics[key]); - } - - return TimeSpan.zero; - } - - public static isNumeric(input: any) { - return !isNaN(parseFloat(input)) && isFinite(input); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/queryPreparationTime.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/queryPreparationTime.ts deleted file mode 100644 index 194aa3e873d0..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/queryPreparationTime.ts +++ /dev/null @@ -1,88 +0,0 @@ -import QueryMetricsConstants from "./queryMetricsConstants"; -import { QueryMetricsUtils } from "./queryMetricsUtils"; -import { TimeSpan } from "./timeSpan"; - -export class QueryPreparationTimes { - constructor( - public readonly queryCompilationTime: TimeSpan, - public readonly logicalPlanBuildTime: TimeSpan, - public readonly physicalPlanBuildTime: TimeSpan, - public readonly queryOptimizationTime: TimeSpan - ) {} - - /** - * returns a new QueryPreparationTimes instance that is the addition of this and the arguments. - */ - public add(...queryPreparationTimesArray: QueryPreparationTimes[]) { - if (arguments == null || arguments.length === 0) { - throw new Error("arguments was null or empty"); - } - - let queryCompilationTime = this.queryCompilationTime; - let logicalPlanBuildTime = this.logicalPlanBuildTime; - let physicalPlanBuildTime = this.physicalPlanBuildTime; - let queryOptimizationTime = this.queryOptimizationTime; - - for (const queryPreparationTimes of queryPreparationTimesArray) { - if (queryPreparationTimes == null) { - throw new Error("queryPreparationTimesArray has null or undefined item(s)"); - } - - queryCompilationTime = queryCompilationTime.add(queryPreparationTimes.queryCompilationTime); - logicalPlanBuildTime = logicalPlanBuildTime.add(queryPreparationTimes.logicalPlanBuildTime); - physicalPlanBuildTime = physicalPlanBuildTime.add(queryPreparationTimes.physicalPlanBuildTime); - queryOptimizationTime = queryOptimizationTime.add(queryPreparationTimes.queryOptimizationTime); - } - - return new QueryPreparationTimes( - queryCompilationTime, - logicalPlanBuildTime, - physicalPlanBuildTime, - queryOptimizationTime - ); - } - - /** - * Output the QueryPreparationTimes as a delimited string. - */ - public toDelimitedString() { - return ( - `${QueryMetricsConstants.QueryCompileTimeInMs}=${this.queryCompilationTime.totalMilliseconds()};` + - `${QueryMetricsConstants.LogicalPlanBuildTimeInMs}=${this.logicalPlanBuildTime.totalMilliseconds()};` + - `${QueryMetricsConstants.PhysicalPlanBuildTimeInMs}=${this.physicalPlanBuildTime.totalMilliseconds()};` + - `${QueryMetricsConstants.QueryOptimizationTimeInMs}=${this.queryOptimizationTime.totalMilliseconds()}` - ); - } - - public static readonly zero = new QueryPreparationTimes(TimeSpan.zero, TimeSpan.zero, TimeSpan.zero, TimeSpan.zero); - - /** - * Returns a new instance of the QueryPreparationTimes class that is the - * aggregation of an array of QueryPreparationTimes. - * @memberof QueryMetrics - * @instance - */ - public static createFromArray(queryPreparationTimesArray: QueryPreparationTimes[]) { - if (queryPreparationTimesArray == null) { - throw new Error("queryPreparationTimesArray is null or undefined item(s)"); - } - - return QueryPreparationTimes.zero.add(...queryPreparationTimesArray); - } - - /** - * Returns a new instance of the QueryPreparationTimes class this is deserialized from a delimited string. - * @memberof QueryMetrics - * @instance - */ - public static createFromDelimitedString(delimitedString: string) { - const metrics = QueryMetricsUtils.parseDelimitedString(delimitedString); - - return new QueryPreparationTimes( - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.QueryCompileTimeInMs), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.LogicalPlanBuildTimeInMs), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.PhysicalPlanBuildTimeInMs), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.QueryOptimizationTimeInMs) - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/runtimeExecutionTimes.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/runtimeExecutionTimes.ts deleted file mode 100644 index 804ac3dfa4f0..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/runtimeExecutionTimes.ts +++ /dev/null @@ -1,98 +0,0 @@ -import QueryMetricsConstants from "./queryMetricsConstants"; -import { QueryMetricsUtils } from "./queryMetricsUtils"; -import { TimeSpan } from "./timeSpan"; - -export class RuntimeExecutionTimes { - constructor( - public readonly queryEngineExecutionTime: TimeSpan, - public readonly systemFunctionExecutionTime: TimeSpan, - public readonly userDefinedFunctionExecutionTime: TimeSpan - ) {} - - /** - * returns a new RuntimeExecutionTimes instance that is the addition of this and the arguments. - */ - public add(...runtimeExecutionTimesArray: RuntimeExecutionTimes[]) { - if (arguments == null || arguments.length === 0) { - throw new Error("arguments was null or empty"); - } - - let queryEngineExecutionTime = this.queryEngineExecutionTime; - let systemFunctionExecutionTime = this.systemFunctionExecutionTime; - let userDefinedFunctionExecutionTime = this.userDefinedFunctionExecutionTime; - - for (const runtimeExecutionTimes of runtimeExecutionTimesArray) { - if (runtimeExecutionTimes == null) { - throw new Error("runtimeExecutionTimes has null or undefined item(s)"); - } - - queryEngineExecutionTime = queryEngineExecutionTime.add(runtimeExecutionTimes.queryEngineExecutionTime); - systemFunctionExecutionTime = systemFunctionExecutionTime.add(runtimeExecutionTimes.systemFunctionExecutionTime); - userDefinedFunctionExecutionTime = userDefinedFunctionExecutionTime.add( - runtimeExecutionTimes.userDefinedFunctionExecutionTime - ); - } - - return new RuntimeExecutionTimes( - queryEngineExecutionTime, - systemFunctionExecutionTime, - userDefinedFunctionExecutionTime - ); - } - - /** - * Output the RuntimeExecutionTimes as a delimited string. - */ - public toDelimitedString() { - // tslint:disable-next-line:max-line-length - return ( - `${ - QueryMetricsConstants.SystemFunctionExecuteTimeInMs - }=${this.systemFunctionExecutionTime.totalMilliseconds()};` + - // tslint:disable-next-line:max-line-length - `${ - QueryMetricsConstants.UserDefinedFunctionExecutionTimeInMs - }=${this.userDefinedFunctionExecutionTime.totalMilliseconds()}` - ); - } - - public static readonly zero = new RuntimeExecutionTimes(TimeSpan.zero, TimeSpan.zero, TimeSpan.zero); - - /** - * Returns a new instance of the RuntimeExecutionTimes class that is - * the aggregation of an array of RuntimeExecutionTimes. - */ - public static createFromArray(runtimeExecutionTimesArray: RuntimeExecutionTimes[]) { - if (runtimeExecutionTimesArray == null) { - throw new Error("runtimeExecutionTimesArray is null or undefined item(s)"); - } - - return RuntimeExecutionTimes.zero.add(...runtimeExecutionTimesArray); - } - - /** - * Returns a new instance of the RuntimeExecutionTimes class this is deserialized from a delimited string. - */ - public static createFromDelimitedString(delimitedString: string) { - const metrics = QueryMetricsUtils.parseDelimitedString(delimitedString); - - const vmExecutionTime = QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.VMExecutionTimeInMs); - const indexLookupTime = QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.IndexLookupTimeInMs); - const documentLoadTime = QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.DocumentLoadTimeInMs); - const documentWriteTime = QueryMetricsUtils.timeSpanFromMetrics( - metrics, - QueryMetricsConstants.DocumentWriteTimeInMs - ); - - let queryEngineExecutionTime = TimeSpan.zero; - queryEngineExecutionTime = queryEngineExecutionTime.add(vmExecutionTime); - queryEngineExecutionTime = queryEngineExecutionTime.subtract(indexLookupTime); - queryEngineExecutionTime = queryEngineExecutionTime.subtract(documentLoadTime); - queryEngineExecutionTime = queryEngineExecutionTime.subtract(documentWriteTime); - return new RuntimeExecutionTimes( - queryEngineExecutionTime, - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.SystemFunctionExecuteTimeInMs), - QueryMetricsUtils.timeSpanFromMetrics(metrics, QueryMetricsConstants.UserDefinedFunctionExecutionTimeInMs) - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/queryMetrics/timeSpan.ts b/sdk/cosmosdb/cosmos/src/queryMetrics/timeSpan.ts deleted file mode 100644 index 1bf4c2677f17..000000000000 --- a/sdk/cosmosdb/cosmos/src/queryMetrics/timeSpan.ts +++ /dev/null @@ -1,273 +0,0 @@ -// Ported this implementation to javascript: -// https://referencesource.microsoft.com/#mscorlib/system/timespan.cs,83e476c1ae112117 -/** @hidden */ -const ticksPerMillisecond = 10000; -/** @hidden */ -const millisecondsPerTick = 1.0 / ticksPerMillisecond; - -/** @hidden */ -const ticksPerSecond = ticksPerMillisecond * 1000; // 10,000,000 -/** @hidden */ -const secondsPerTick = 1.0 / ticksPerSecond; // 0.0001 - -/** @hidden */ -const ticksPerMinute = ticksPerSecond * 60; // 600,000,000 -/** @hidden */ -const minutesPerTick = 1.0 / ticksPerMinute; // 1.6666666666667e-9 - -/** @hidden */ -const ticksPerHour = ticksPerMinute * 60; // 36,000,000,000 -/** @hidden */ -const hoursPerTick = 1.0 / ticksPerHour; // 2.77777777777777778e-11 - -/** @hidden */ -const ticksPerDay = ticksPerHour * 24; // 864,000,000,000 -/** @hidden */ -const daysPerTick = 1.0 / ticksPerDay; // 1.1574074074074074074e-12 - -/** @hidden */ -const millisPerSecond = 1000; -/** @hidden */ -const millisPerMinute = millisPerSecond * 60; // 60,000 -/** @hidden */ -const millisPerHour = millisPerMinute * 60; // 3,600,000 -/** @hidden */ -const millisPerDay = millisPerHour * 24; // 86,400,000 - -/** @hidden */ -const maxMilliSeconds = Number.MAX_SAFE_INTEGER / ticksPerMillisecond; -/** @hidden */ -const minMilliSeconds = Number.MIN_SAFE_INTEGER / ticksPerMillisecond; - -/** - * Represents a time interval. - * - * @constructor TimeSpan - * @param {number} days - Number of days. - * @param {number} hours - Number of hours. - * @param {number} minutes - Number of minutes. - * @param {number} seconds - Number of seconds. - * @param {number} milliseconds - Number of milliseconds. - * @ignore - */ -export class TimeSpan { - // tslint:disable-next-line:variable-name - protected _ticks: number; - constructor(days: number, hours: number, minutes: number, seconds: number, milliseconds: number) { - // Constructor - if (!Number.isInteger(days)) { - throw new Error("days is not an integer"); - } - - if (!Number.isInteger(hours)) { - throw new Error("hours is not an integer"); - } - - if (!Number.isInteger(minutes)) { - throw new Error("minutes is not an integer"); - } - - if (!Number.isInteger(seconds)) { - throw new Error("seconds is not an integer"); - } - - if (!Number.isInteger(milliseconds)) { - throw new Error("milliseconds is not an integer"); - } - - const totalMilliSeconds = (days * 3600 * 24 + hours * 3600 + minutes * 60 + seconds) * 1000 + milliseconds; - if (totalMilliSeconds > maxMilliSeconds || totalMilliSeconds < minMilliSeconds) { - throw new Error("Total number of milliseconds was either too large or too small"); - } - - this._ticks = totalMilliSeconds * ticksPerMillisecond; - } - - /** - * Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance. - * @param {TimeSpan} ts - The time interval to add. - * @memberof TimeSpan - * @instance - */ - public add(ts: TimeSpan) { - if (TimeSpan.additionDoesOverflow(this._ticks, ts._ticks)) { - throw new Error("Adding the two timestamps causes an overflow."); - } - - const results = this._ticks + ts._ticks; - return TimeSpan.fromTicks(results); - } - - /** - * Returns a new TimeSpan object whose value is the difference of the specified TimeSpan object and this instance. - * @param {TimeSpan} ts - The time interval to subtract. - * @memberof TimeSpan - * @instance - */ - public subtract(ts: TimeSpan) { - if (TimeSpan.subtractionDoesUnderflow(this._ticks, ts._ticks)) { - throw new Error("Subtracting the two timestamps causes an underflow."); - } - - const results = this._ticks - ts._ticks; - return TimeSpan.fromTicks(results); - } - - /** - * Compares this instance to a specified object and returns an integer that indicates whether this - * instance is shorter than, equal to, or longer than the specified object. - * @param {TimeSpan} value - The time interval to add. - * @memberof TimeSpan - * @instance - */ - public compareTo(value: TimeSpan) { - if (value == null) { - return 1; - } - - if (!TimeSpan.isTimeSpan(value)) { - throw new Error("Argument must be a TimeSpan object"); - } - - return TimeSpan.compare(this, value); - } - - /** - * Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object. - * @memberof TimeSpan - * @instance - */ - public duration() { - return TimeSpan.fromTicks(this._ticks >= 0 ? this._ticks : -this._ticks); - } - - /** - * Returns a value indicating whether this instance is equal to a specified object. - * @memberof TimeSpan - * @param {TimeSpan} value - The time interval to check for equality. - * @instance - */ - public equals(value: TimeSpan) { - if (TimeSpan.isTimeSpan(value)) { - return this._ticks === value._ticks; - } - - return false; - } - - /** - * Returns a new TimeSpan object whose value is the negated value of this instance. - * @memberof TimeSpan - * @param {TimeSpan} value - The time interval to check for equality. - * @instance - */ - public negate() { - return TimeSpan.fromTicks(-this._ticks); - } - - public days() { - return Math.floor(this._ticks / ticksPerDay); - } - - public hours() { - return Math.floor(this._ticks / ticksPerHour); - } - - public milliseconds() { - return Math.floor(this._ticks / ticksPerMillisecond); - } - - public seconds() { - return Math.floor(this._ticks / ticksPerSecond); - } - - public ticks() { - return this._ticks; - } - - public totalDays() { - return this._ticks * daysPerTick; - } - public totalHours() { - return this._ticks * hoursPerTick; - } - - public totalMilliseconds() { - return this._ticks * millisecondsPerTick; - } - - public totalMinutes() { - return this._ticks * minutesPerTick; - } - - public totalSeconds() { - return this._ticks * secondsPerTick; - } - - public static fromTicks(value: number) { - const timeSpan = new TimeSpan(0, 0, 0, 0, 0); - timeSpan._ticks = value; - return timeSpan; - } - - public static readonly zero = new TimeSpan(0, 0, 0, 0, 0); - public static readonly maxValue = TimeSpan.fromTicks(Number.MAX_SAFE_INTEGER); - public static readonly minValue = TimeSpan.fromTicks(Number.MIN_SAFE_INTEGER); - - public static isTimeSpan(timespan: TimeSpan) { - return timespan._ticks; - } - - public static additionDoesOverflow(a: number, b: number) { - const c = a + b; - return a !== c - b || b !== c - a; - } - - public static subtractionDoesUnderflow(a: number, b: number) { - const c = a - b; - return a !== c + b || b !== a - c; - } - - public static compare(t1: TimeSpan, t2: TimeSpan) { - if (t1._ticks > t2._ticks) { - return 1; - } - if (t1._ticks < t2._ticks) { - return -1; - } - return 0; - } - - public static interval(value: number, scale: number) { - if (isNaN(value)) { - throw new Error("value must be a number"); - } - - const milliseconds = value * scale; - if (milliseconds > maxMilliSeconds || milliseconds < minMilliSeconds) { - throw new Error("timespan too long"); - } - - return TimeSpan.fromTicks(Math.floor(milliseconds * ticksPerMillisecond)); - } - - public static fromMilliseconds(value: number) { - return TimeSpan.interval(value, 1); - } - - public static fromSeconds(value: number) { - return TimeSpan.interval(value, millisPerSecond); - } - - public static fromMinutes(value: number) { - return TimeSpan.interval(value, millisPerMinute); - } - - public static fromHours(value: number) { - return TimeSpan.interval(value, millisPerHour); - } - - public static fromDays(value: number) { - return TimeSpan.interval(value, millisPerDay); - } -} diff --git a/sdk/cosmosdb/cosmos/src/range/Range.ts b/sdk/cosmosdb/cosmos/src/range/Range.ts deleted file mode 100644 index fba13bd3fcc7..000000000000 --- a/sdk/cosmosdb/cosmos/src/range/Range.ts +++ /dev/null @@ -1,136 +0,0 @@ -import { PartitionKey } from "../documents"; - -/** @hidden */ -export type CompareFunction = (x: Point, y: Point) => number; - -/** @hidden */ -export type Point = number | string; - -/** @hidden */ -export class Range { - public readonly low: Point; - public readonly high: Point; - - /** - * Represents a range object used by the RangePartitionResolver in the Azure Cosmos DB database service. - * @class Range - * @param {object} options - The Range constructor options. - * @param {any} options.low - The low value in the range. - * @param {any} options.high - The high value in the range. - */ - constructor(options?: any) { - // TODO: any options - if (options === undefined) { - options = {}; - } - if (options === null) { - throw new Error("Invalid argument: 'options' is null"); - } - if (typeof options !== "object") { - throw new Error("Invalid argument: 'options' is not an object"); - } - if (options.high === undefined) { - options.high = options.low; - } - this.low = options.low; - this.high = options.high; - - Object.freeze(this); - } - - // TODO: private? - public _compare(x: Point, y: Point, compareFunction?: CompareFunction) { - // Same semantics as Array.sort - // http://www.ecma-international.org/ecma-262/6.0/#sec-sortcompare - if (x === undefined && y === undefined) { - return 0; - } - if (x === undefined) { - return 1; - } - if (y === undefined) { - return -1; - } - if (compareFunction !== undefined) { - const v = Number(compareFunction(x, y)); - if (Number.isNaN(v)) { - return 0; - } - return v; - } - const xString = String(x); - const yString = String(y); - if (xString < yString) { - return -1; - } - if (xString > yString) { - return 1; - } - return 0; - } - - // TODO: This is an alias for backwards compatibility. Need to decide if this is public surface area or not - // tslint:disable-next-line:variable-name - public _contains = this.contains; - - public contains(other: Point | Range, compareFunction?: CompareFunction) { - if (Range.isRange(other)) { - return this._containsRange(other as Range, compareFunction); - } else { - return this._containsPoint(other as number, compareFunction); - } - } - - // TODO: private? - public _containsPoint(point: Point, compareFunction?: CompareFunction) { - return ( - this._compare(point, this.low, compareFunction) >= 0 && this._compare(point, this.high, compareFunction) <= 0 - ); - } - - // TODO: private? - public _containsRange(range: Range, compareFunction?: CompareFunction) { - return ( - this._compare(range.low, this.low, compareFunction) >= 0 && - this._compare(range.high, this.high, compareFunction) <= 0 - ); - } - - // TODO: alias for backwards compat - // tslint:disable-next-line:variable-name - public _intersect = this.intersect; - - public intersect(range: Range, compareFunction?: CompareFunction) { - if (range === undefined || range === null) { - throw new Error("Invalid Argument: 'other' is undefined or null"); - } - const maxLow = this._compare(this.low, range.low, compareFunction) >= 0 ? this.low : range.low; - const minHigh = this._compare(this.high, range.high, compareFunction) <= 0 ? this.high : range.high; - return this._compare(maxLow, minHigh, compareFunction) <= 0; - } - - // TODO: alias for backwards compat - // tslint:disable-next-line:variable-name - public _toString = this.toString; - - public toString() { - return String(this.low) + "," + String(this.high); - } - - // TODO: alias for backwards compat - // tslint:disable-next-line:variable-name - public static _isRange = Range.isRange; - - public static isRange(pointOrRange: Point | Range | PartitionKey) { - if (pointOrRange === undefined) { - return false; - } - if (pointOrRange === null) { - return false; - } - if (typeof pointOrRange !== "object") { - return false; - } - return pointOrRange instanceof Range; - } -} diff --git a/sdk/cosmosdb/cosmos/src/range/RangePartitionResolver.ts b/sdk/cosmosdb/cosmos/src/range/RangePartitionResolver.ts deleted file mode 100644 index fbe00b7ebf5b..000000000000 --- a/sdk/cosmosdb/cosmos/src/range/RangePartitionResolver.ts +++ /dev/null @@ -1,153 +0,0 @@ -import { CompareFunction, Range } from "."; -import { Document, PartitionKey } from "../documents"; - -/** @hidden */ -export type PartitionKeyExtractorFunction = (obj: object) => PartitionKey; -/** @hidden */ -export type PartitionKeyExtractor = string | PartitionKeyExtractorFunction; -/** @hidden */ -export interface PartitionKeyMapItem { - range: Range; - link: string; -} - -/** @hidden */ -export class RangePartitionResolver { - // TODO: should these be public? - public partitionKeyExtractor: PartitionKeyExtractor; - public partitionKeyMap: PartitionKeyMapItem[]; - public compareFunction: CompareFunction; - /** - * RangePartitionResolver implements partitioning using a partition map of ranges of values to a \ - * collection link in the Azure Cosmos DB database service. - * @class RangePartitionResolver - * @param {PartitionKeyExtractor} partitionKeyExtractor - If partitionKeyExtractor is a string, \ - * it should be the name of the property in the document to execute the hashing on. - * If partitionKeyExtractor is a function, \ - * it should be a function to extract the partition key from an object. - * @param {Array} partitionKeyMap - The map from Range to collection link that\ - * is used for partitioning requests. - * @param {function} compareFunction - Optional function that accepts two arguments\ - * x and y and returns a negative value if x < y, zero if x = y, or a positive value if x > y. - */ - constructor( - partitionKeyExtractor: PartitionKeyExtractor, - partitionKeyMap: PartitionKeyMapItem[], - compareFunction?: CompareFunction - ) { - if (partitionKeyExtractor === undefined || partitionKeyExtractor === null) { - throw new Error("partitionKeyExtractor cannot be null or undefined"); - } - if (typeof partitionKeyExtractor !== "string" && typeof partitionKeyExtractor !== "function") { - throw new Error("partitionKeyExtractor must be either a 'string' or a 'function'"); - } - if (partitionKeyMap === undefined || partitionKeyMap === null) { - throw new Error("partitionKeyMap cannot be null or undefined"); - } - if (!Array.isArray(partitionKeyMap)) { - throw new Error("partitionKeyMap has to be an Array"); - } - const allMapEntriesAreValid = partitionKeyMap.every(m => { - if (m === undefined || m === null) { - return false; - } - if (m.range === undefined) { - return false; - } - if (!(m.range instanceof Range)) { - return false; - } - if (m.link === undefined) { - return false; - } - if (typeof m.link !== "string") { - return false; - } - return true; - }); - if (!allMapEntriesAreValid) { - throw new Error("All partitionKeyMap entries have to be a tuple {range: Range, link: string }"); - } - if (compareFunction !== undefined && typeof compareFunction !== "function") { - throw new Error("Invalid argument: 'compareFunction' is not a function"); - } - - this.partitionKeyExtractor = partitionKeyExtractor; - this.partitionKeyMap = partitionKeyMap; - this.compareFunction = compareFunction; - } - - /** - * Extracts the partition key from the specified document using the partitionKeyExtractor - * @memberof RangePartitionResolver - * @instance - * @param {object} document - The document from which to extract the partition key. - * @returns {} - */ - public getPartitionKey(document: Document): PartitionKey { - if (typeof this.partitionKeyExtractor === "string") { - return document[this.partitionKeyExtractor] as number; - } - if (typeof this.partitionKeyExtractor === "function") { - return this.partitionKeyExtractor(document); - } - throw new Error(`Unable to extract partition key from document. \ - Ensure PartitionKeyExtractor is a valid function or property name.`); - } - - /** - * Given a partition key, returns the correct collection link for creating a document using the range partition map. - * @memberof RangePartitionResolver - * @instance - * @param {any} partitionKey - The partition key used to determine the target collection for create - * @returns {string} - The target collection link that will be used for document creation. - */ - public resolveForCreate(partitionKey: PartitionKey) { - const range = new Range({ low: partitionKey }); - const mapEntry = this.getFirstContainingMapEntryOrNull(range); - if (mapEntry !== undefined && mapEntry !== null) { - return mapEntry.link; - } - throw new Error(`Invalid operation: A containing range for \ -'${range.toString()}' doesn't exist in the partition map.`); - } - - /** - * Given a partition key, returns a list of collection links to read from using the range partition map. - * @memberof RangePartitionResolver - * @instance - * @param {any} partitionKey - The partition key used to determine the target collection for query - * @returns {string[]} - The list of target collection links. - */ - public resolveForRead(partitionKey: PartitionKey) { - if (partitionKey === undefined || partitionKey === null) { - return this.partitionKeyMap.map(i => i.link); - } else { - return this._getIntersectingMapEntries(partitionKey).map(i => i.link); - } - } - - // TODO: did this for backwards compat test, probably need to consider making these private - public _getFirstContainingMapEntryOrNull(point: any) { - return this.getFirstContainingMapEntryOrNull(point); - } - public getFirstContainingMapEntryOrNull(point: any) { - // TODO: any Point - const containingMapEntries = this.partitionKeyMap.filter( - p => p.range !== undefined && p.range.contains(point, this.compareFunction) - ); - if (containingMapEntries && containingMapEntries.length > 0) { - return containingMapEntries[0]; - } - return null; - } - - public _getIntersectingMapEntries(partitionKey: PartitionKey) { - const partitionKeys: PartitionKey[] = Array.isArray(partitionKey) ? partitionKey : [partitionKey]; - const ranges: Range[] = partitionKeys.map(p => (Range.isRange(p) ? (p as Range) : new Range({ low: p }))); - - return ranges.reduce((result, range) => { - return result.concat(this.partitionKeyMap.filter(entry => entry.range.intersect(range, this.compareFunction))); - }, []); - } -} diff --git a/sdk/cosmosdb/cosmos/src/range/index.ts b/sdk/cosmosdb/cosmos/src/range/index.ts deleted file mode 100644 index bb50cf3a68d4..000000000000 --- a/sdk/cosmosdb/cosmos/src/range/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./Range"; -export * from "./RangePartitionResolver"; diff --git a/sdk/cosmosdb/cosmos/src/request/CosmosResponse.ts b/sdk/cosmosdb/cosmos/src/request/CosmosResponse.ts deleted file mode 100644 index f827de5978bf..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/CosmosResponse.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { IHeaders } from "../queryExecutionContext"; - -export interface CosmosResponse { - body?: T; - headers?: IHeaders; - ref?: U; -} diff --git a/sdk/cosmosdb/cosmos/src/request/ErrorResponse.ts b/sdk/cosmosdb/cosmos/src/request/ErrorResponse.ts deleted file mode 100644 index e035892f368b..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/ErrorResponse.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { IHeaders } from ".."; - -export interface ErrorResponse { - code?: number; - substatus?: number; - body?: any; - headers?: IHeaders; - activityId?: string; - retryAfterInMilliseconds?: number; - [key: string]: any; -} diff --git a/sdk/cosmosdb/cosmos/src/request/FeedOptions.ts b/sdk/cosmosdb/cosmos/src/request/FeedOptions.ts deleted file mode 100644 index 9c7a73697e9b..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/FeedOptions.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { IHeaders } from ".."; - -/** - * The feed options and query methods. - */ -export interface FeedOptions { - /** Opaque token for continuing the enumeration. */ - continuation?: string; - /** - * DisableRUPerMinuteUsage is used to enable/disable Request Units(RUs)/minute capacity to serve - * the request if regular provisioned RUs/second is exhausted. - */ - disableRUPerMinuteUsage?: boolean; - /** - * A value indicating whether users are enabled to send more than one request to execute the query in the Azure Cosmos DB database service. - * - * More than one request is necessary if the query is not scoped to single partition key value. - */ - enableCrossPartitionQuery?: boolean; - /** Allow scan on the queries which couldn't be served as indexing was opted out on the requested paths. */ - enableScanInQuery?: boolean; - /** - * The maximum number of concurrent operations that run client side during parallel query execution in the - * Azure Cosmos DB database service. Negative values make the system automatically decides the number of - * concurrent operations to run. - */ - maxDegreeOfParallelism?: number; - /** Max number of items to be returned in the enumeration operation. */ - maxItemCount?: number; - /** Specifies a partition key definition for a particular path in the Azure Cosmos DB database service. */ - partitionKey?: string; - /** Token for use with Session consistency. */ - sessionToken?: string; - /** (Advanced use case) Initial headers to start with when sending requests to Cosmos */ - initialHeaders?: IHeaders; - /** Indicates a change feed request. Must be set to "Incremental feed", or omitted otherwise. */ - a_im?: string; - /** Conditions Associated with the request. */ - accessCondition?: { - /** Conditional HTTP method header type (IfMatch or IfNoneMatch). */ - type: string; - /** Conditional HTTP method header value (the _etag field from the last version you read). */ - condition: string; - }; - /** Enable returning query metrics in response headers */ - populateQueryMetrics?: boolean; -} diff --git a/sdk/cosmosdb/cosmos/src/request/LocationRouting.ts b/sdk/cosmosdb/cosmos/src/request/LocationRouting.ts deleted file mode 100644 index 2dc81cc96e03..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/LocationRouting.ts +++ /dev/null @@ -1,38 +0,0 @@ -export class LocationRouting { - private pIgnorePreferredLocation: boolean; - private pLocationIndexToRoute: number; - private pLocationEndpointToRoute: string; - public get ignorePreferredLocation() { - return this.pIgnorePreferredLocation; - } - - public get locationIndexToRoute() { - return this.pLocationIndexToRoute; - } - - public get locationEndpointToRoute() { - return this.pLocationEndpointToRoute; - } - - public routeToLocation(locationEndpoint: string): void; - public routeToLocation(locationIndex: number, ignorePreferredLocation: boolean): void; - public routeToLocation(endpointOrIndex: string | number, ignorePreferredLocation?: boolean) { - if (arguments.length === 2 && typeof endpointOrIndex === "number") { - this.pLocationIndexToRoute = endpointOrIndex; - this.pIgnorePreferredLocation = ignorePreferredLocation; - this.pLocationEndpointToRoute = undefined; - } else if (arguments.length === 1 && typeof endpointOrIndex === "string") { - this.pLocationEndpointToRoute = endpointOrIndex; - this.pLocationIndexToRoute = undefined; - this.pIgnorePreferredLocation = undefined; - } else { - throw new Error("Invalid arguments passed to routeToLocation"); - } - } - - public clearRouteToLocation(): void { - this.pLocationEndpointToRoute = undefined; - this.pLocationIndexToRoute = undefined; - this.pIgnorePreferredLocation = undefined; - } -} diff --git a/sdk/cosmosdb/cosmos/src/request/MediaOptions.ts b/sdk/cosmosdb/cosmos/src/request/MediaOptions.ts deleted file mode 100644 index 87e6298b49a6..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/MediaOptions.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { IHeaders } from ".."; - -/** - * Options associated with upload media. - */ -export interface MediaOptions { - /** (Advanced use case) Initial headers to start with when sending requests to Cosmos */ - initialHeaders?: IHeaders; - /** HTTP Slug header value. */ - slug?: string; - /** HTTP ContentType header value. */ - contentType?: string; -} diff --git a/sdk/cosmosdb/cosmos/src/request/RequestContext.ts b/sdk/cosmosdb/cosmos/src/request/RequestContext.ts deleted file mode 100644 index 686320355ca8..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/RequestContext.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ClientContext } from "../ClientContext"; -import { LocationRouting } from "./LocationRouting"; - -export interface RequestContext { - path?: string; - operationType?: string; - client?: ClientContext; - retryCount?: number; - resourceType?: string; - locationRouting?: LocationRouting; -} diff --git a/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts b/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts deleted file mode 100644 index db682e8d5cdd..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/RequestHandler.ts +++ /dev/null @@ -1,197 +0,0 @@ -import { Agent, OutgoingHttpHeaders } from "http"; -import { RequestOptions } from "https"; // TYPES ONLY -import * as querystring from "querystring"; -import { Constants, IHeaders } from ".."; -import { ConnectionPolicy } from "../documents"; -import { GlobalEndpointManager } from "../globalEndpointManager"; -import { RetryUtility } from "../retry"; -import { bodyFromData, createRequestObject, parse, Response } from "./request"; -import { RequestContext } from "./RequestContext"; - -/** @hidden */ -export class RequestHandler { - public constructor( - private globalEndpointManager: GlobalEndpointManager, - private connectionPolicy: ConnectionPolicy, - private requestAgent: Agent - ) {} - public static async createRequestObjectStub( - connectionPolicy: ConnectionPolicy, - requestOptions: RequestOptions, - body: Buffer - ) { - return createRequestObject(connectionPolicy, requestOptions, body); - } - - /** - * Creates the request object, call the passed callback when the response is retrieved. - * @param {object} globalEndpointManager - an instance of GlobalEndpointManager class. - * @param {object} connectionPolicy - an instance of ConnectionPolicy that has the connection configs. - * @param {object} requestAgent - the https agent used for send request - * @param {string} method - the http request method ( 'get', 'post', 'put', .. etc ). - * @param {String} hostname - The base url for the endpoint. - * @param {string} path - the path of the requesed resource. - * @param {Object} data - the request body. It can be either string, buffer, or undefined. - * @param {Object} queryParams - query parameters for the request. - * @param {Object} headers - specific headers for the request. - * @param {function} callback - the callback that will be called when the response is retrieved and processed. - */ - public static async request( - globalEndpointManager: GlobalEndpointManager, - connectionPolicy: ConnectionPolicy, - requestAgent: Agent, - method: string, - hostname: string, - request: RequestContext, - data: string | Buffer, - queryParams: any, // TODO: any query params types - headers: IHeaders - ): Promise> { - // TODO: any - const path = (request as { path: string }).path === undefined ? request : (request as { path: string }).path; - let body: any; // TODO: any - - if (data) { - body = bodyFromData(data); - if (!body) { - return { - result: { - message: "parameter data must be a javascript object, string, or Buffer" - }, - headers: undefined - }; - } - } - - let buffer; - if (body) { - if (Buffer.isBuffer(body)) { - buffer = body; - } else if (typeof body === "string") { - buffer = Buffer.from(body, "utf8"); - } else { - return { - result: { - message: "body must be string or Buffer" - }, - headers: undefined - }; - } - } - - const requestOptions: RequestOptions = parse(hostname); - requestOptions.method = method; - requestOptions.path += path; - requestOptions.headers = headers as OutgoingHttpHeaders; - requestOptions.agent = requestAgent; - requestOptions.secureProtocol = "TLSv1_client_method"; // TODO: Should be a constant - - if (connectionPolicy.DisableSSLVerification === true) { - requestOptions.rejectUnauthorized = false; - } - - if (queryParams) { - requestOptions.path += "?" + querystring.stringify(queryParams); - } - - if (buffer) { - requestOptions.headers[Constants.HttpHeaders.ContentLength] = buffer.length; - return RetryUtility.execute( - globalEndpointManager, - buffer, - this.createRequestObjectStub, - connectionPolicy, - requestOptions, - request - ); - } else { - return RetryUtility.execute( - globalEndpointManager, - null, - this.createRequestObjectStub, - connectionPolicy, - requestOptions, - request - ); - } - } - - /** @ignore */ - public get(urlString: string, request: RequestContext, headers: IHeaders) { - // TODO: any - return RequestHandler.request( - this.globalEndpointManager, - this.connectionPolicy, - this.requestAgent, - "GET", - urlString, - request, - undefined, - "", - headers - ); - } - - /** @ignore */ - public post(urlString: string, request: RequestContext, body: any, headers: IHeaders) { - // TODO: any - return RequestHandler.request( - this.globalEndpointManager, - this.connectionPolicy, - this.requestAgent, - "POST", - urlString, - request, - body, - "", - headers - ); - } - - /** @ignore */ - public put(urlString: string, request: RequestContext, body: any, headers: IHeaders) { - // TODO: any - return RequestHandler.request( - this.globalEndpointManager, - this.connectionPolicy, - this.requestAgent, - "PUT", - urlString, - request, - body, - "", - headers - ); - } - - /** @ignore */ - public head(urlString: string, request: any, headers: IHeaders) { - // TODO: any - return RequestHandler.request( - this.globalEndpointManager, - this.connectionPolicy, - this.requestAgent, - "HEAD", - urlString, - request, - undefined, - "", - headers - ); - } - - /** @ignore */ - public delete(urlString: string, request: RequestContext, headers: IHeaders) { - return RequestHandler.request( - this.globalEndpointManager, - this.connectionPolicy, - this.requestAgent, - "DELETE", - urlString, - request, - undefined, - "", - headers - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/request/RequestOptions.ts b/sdk/cosmosdb/cosmos/src/request/RequestOptions.ts deleted file mode 100644 index 994329c8389e..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/RequestOptions.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { IHeaders } from ".."; -import { PartitionKey } from "../documents"; - -/** - * Options that can be specified for a requested issued to the Azure Cosmos DB servers.= - */ -export interface RequestOptions { - /** Conditions Associated with the request. */ - accessCondition?: { - /** Conditional HTTP method header type (IfMatch or IfNoneMatch). */ - type: string; - /** Conditional HTTP method header value (the _etag field from the last version you read). */ - condition: string; - }; - /** Consistency level required by the client. */ - consistencyLevel?: string; - /** - * DisableRUPerMinuteUsage is used to enable/disable Request Units(RUs)/minute capacity - * to serve the request if regular provisioned RUs/second is exhausted. - */ - disableRUPerMinuteUsage?: boolean; - /** Enables or disables logging in JavaScript stored procedures. */ - enableScriptLogging?: boolean; - /** Specifies indexing directives (index, do not index .. etc). */ - indexingDirective?: string; - /** Represents Request Units(RU)/Minute throughput is enabled/disabled for a container. */ - offerEnableRUPerMinuteThroughput?: boolean; - /** The offer throughput provisioned for a container in measurement of Requests-per-Unit. */ - offerThroughput?: number; - /** - * Offer type when creating document containers. - * - * This option is only valid when creating a document container. - */ - offerType?: string; - /** Specifies a partition key definition for a particular path in the Azure Cosmos DB database service. */ - partitionKey?: PartitionKey | PartitionKey[]; - /** Enables/disables getting document container quota related stats for document container read requests. */ - populateQuotaInfo?: boolean; - /** Indicates what is the post trigger to be invoked after the operation. */ - postTriggerInclude?: string | string[]; - /** Indicates what is the pre trigger to be invoked before the operation. */ - preTriggerInclude?: string | string[]; - /** Expiry time (in seconds) for resource token associated with permission (applicable only for requests on permissions). */ - resourceTokenExpirySeconds?: number; - /** Token for use with Session consistency. */ - sessionToken?: string; - /** (Advanced use case) Initial headers to start with when sending requests to Cosmos */ - initialHeaders?: IHeaders; - /** (Advanced use case) The url to connect to. */ - urlConnection?: string; - /** (Advanced use case) Skip getting info on the parititon key from the container. */ - skipGetPartitionKeyDefinition?: boolean; - /** Disable automatic id generation (will cause creates to fail if id isn't on the definition) */ - disableAutomaticIdGeneration?: boolean; -} diff --git a/sdk/cosmosdb/cosmos/src/request/Response.ts b/sdk/cosmosdb/cosmos/src/request/Response.ts deleted file mode 100644 index c43eea329e51..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/Response.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { IHeaders } from ".."; - -export interface Response { - headers?: IHeaders; - result?: T; - statusCode?: number; -} diff --git a/sdk/cosmosdb/cosmos/src/request/index.ts b/sdk/cosmosdb/cosmos/src/request/index.ts deleted file mode 100644 index 29235457e015..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { ErrorResponse } from "./ErrorResponse"; -export { FeedOptions } from "./FeedOptions"; -export { MediaOptions } from "./MediaOptions"; -export { RequestHandler } from "./RequestHandler"; -export { RequestOptions } from "./RequestOptions"; -export { Response } from "./Response"; -export { CosmosResponse } from "./CosmosResponse"; diff --git a/sdk/cosmosdb/cosmos/src/request/request.ts b/sdk/cosmosdb/cosmos/src/request/request.ts deleted file mode 100644 index 4c7344b6c0a1..000000000000 --- a/sdk/cosmosdb/cosmos/src/request/request.ts +++ /dev/null @@ -1,307 +0,0 @@ -import { ClientRequest, ClientResponse } from "http"; // TYPES ONLY -import * as https from "https"; // TYPES ONLY -import { Socket } from "net"; -import { Stream } from "stream"; -import * as url from "url"; - -import { Constants, Helper } from "../common"; -import { ConnectionPolicy, MediaReadMode } from "../documents"; -import { IHeaders } from "../queryExecutionContext"; - -import { ErrorResponse } from "./ErrorResponse"; -export { ErrorResponse }; // Should refactor this out - -import { FeedOptions, MediaOptions, RequestOptions } from "."; -import { AuthHandler, AuthOptions } from "../auth"; -import { Response } from "./Response"; -export { Response }; // Should refactor this out - -// ---------------------------------------------------------------------------- -// Utility methods -// - -/** @hidden */ -function javaScriptFriendlyJSONStringify(s: object) { - // two line terminators (Line separator and Paragraph separator) are not needed to be escaped in JSON - // but are needed to be escaped in JavaScript. - return JSON.stringify(s) - .replace(/\u2028/g, "\\u2028") - .replace(/\u2029/g, "\\u2029"); -} - -/** @hidden */ -export function bodyFromData(data: Stream | Buffer | string | object) { - if ((data as Stream).pipe) { - return data; - } - if (Buffer.isBuffer(data)) { - return data; - } - if (typeof data === "string") { - return data; - } - if (typeof data === "object") { - return javaScriptFriendlyJSONStringify(data); - } - return undefined; -} - -/** @hidden */ -export function parse(urlString: string) { - return url.parse(urlString); -} - -/** @hidden */ -export function createRequestObject( - connectionPolicy: ConnectionPolicy, - requestOptions: https.RequestOptions, - body: Buffer -): Promise> { - return new Promise>((resolve, reject) => { - function onTimeout() { - httpsRequest.abort(); - } - - const isMedia = requestOptions.path.indexOf("//media") === 0; - - const httpsRequest: ClientRequest = https.request(requestOptions, (response: ClientResponse) => { - // In case of media response, return the stream to the user and the user will need - // to handle reading the stream. - if (isMedia && connectionPolicy.MediaReadMode === MediaReadMode.Streamed) { - return resolve({ - result: response, - headers: response.headers as IHeaders - }); - } - - let data = ""; - - // if the requested data is text (not attachment/media) set the encoding to UTF-8 - if (!isMedia) { - response.setEncoding("utf8"); - } - - response.on("data", chunk => { - data += chunk; - }); - response.on("end", () => { - if (response.statusCode >= 400) { - return reject(getErrorBody(response, data, response.headers as IHeaders)); - } - - let result; - try { - result = isMedia ? data : data.length > 0 ? JSON.parse(data) : undefined; - } catch (exception) { - return reject(exception); - } - - resolve({ result, headers: response.headers as IHeaders, statusCode: response.statusCode }); - }); - }); - - httpsRequest.once("socket", (socket: Socket) => { - if (isMedia) { - socket.setTimeout(connectionPolicy.MediaRequestTimeout); - } else { - socket.setTimeout(connectionPolicy.RequestTimeout); - } - - socket.once("timeout", onTimeout); - - httpsRequest.once("response", () => { - socket.removeListener("timeout", onTimeout); - }); - }); - - httpsRequest.once("error", reject); - - if (body) { - httpsRequest.write(body); - httpsRequest.end(); - } else { - httpsRequest.end(); - } - }); -} - -/** - * Constructs the error body from the response and the data returned from the request. - * @param {object} response - response object returned from the executon of a request. - * @param {object} data - the data body returned from the executon of a request. - * @hidden - */ -function getErrorBody(response: ClientResponse, data: string, headers: IHeaders): ErrorResponse { - const errorBody: ErrorResponse = { - code: response.statusCode, - body: data, - headers - }; - - if (Constants.HttpHeaders.ActivityId in response.headers) { - errorBody.activityId = response.headers[Constants.HttpHeaders.ActivityId] as string; - } - - if (Constants.HttpHeaders.SubStatus in response.headers) { - errorBody.substatus = parseInt(response.headers[Constants.HttpHeaders.SubStatus] as string, 10); - } - - if (Constants.HttpHeaders.RetryAfterInMilliseconds in response.headers) { - errorBody.retryAfterInMilliseconds = parseInt( - response.headers[Constants.HttpHeaders.RetryAfterInMilliseconds] as string, - 10 - ); - } - - return errorBody; -} - -export async function getHeaders( - authOptions: AuthOptions, - defaultHeaders: IHeaders, - verb: string, - path: string, - resourceId: string, - resourceType: string, - options: RequestOptions | FeedOptions | MediaOptions, - partitionKeyRangeId?: string, - useMultipleWriteLocations?: boolean -): Promise { - const headers: IHeaders = { ...defaultHeaders }; - const opts: RequestOptions & FeedOptions & MediaOptions = (options || {}) as any; // TODO: this is dirty - - if (useMultipleWriteLocations) { - headers[Constants.HttpHeaders.ALLOW_MULTIPLE_WRITES] = true; - } - - if (opts.continuation) { - headers[Constants.HttpHeaders.Continuation] = opts.continuation; - } - - if (opts.preTriggerInclude) { - headers[Constants.HttpHeaders.PreTriggerInclude] = - opts.preTriggerInclude.constructor === Array - ? (opts.preTriggerInclude as string[]).join(",") - : (opts.preTriggerInclude as string); - } - - if (opts.postTriggerInclude) { - headers[Constants.HttpHeaders.PostTriggerInclude] = - opts.postTriggerInclude.constructor === Array - ? (opts.postTriggerInclude as string[]).join(",") - : (opts.postTriggerInclude as string); - } - - if (opts.offerType) { - headers[Constants.HttpHeaders.OfferType] = opts.offerType; - } - - if (opts.offerThroughput) { - headers[Constants.HttpHeaders.OfferThroughput] = opts.offerThroughput; - } - - if (opts.maxItemCount) { - headers[Constants.HttpHeaders.PageSize] = opts.maxItemCount; - } - - if (opts.accessCondition) { - if (opts.accessCondition.type === "IfMatch") { - headers[Constants.HttpHeaders.IfMatch] = opts.accessCondition.condition; - } else { - headers[Constants.HttpHeaders.IfNoneMatch] = opts.accessCondition.condition; - } - } - - if (opts.a_im) { - headers[Constants.HttpHeaders.A_IM] = opts.a_im; - } - - if (opts.indexingDirective) { - headers[Constants.HttpHeaders.IndexingDirective] = opts.indexingDirective; - } - - if (opts.consistencyLevel) { - headers[Constants.HttpHeaders.ConsistencyLevel] = opts.consistencyLevel; - } - - if (opts.resourceTokenExpirySeconds) { - headers[Constants.HttpHeaders.ResourceTokenExpiry] = opts.resourceTokenExpirySeconds; - } - - if (opts.sessionToken) { - headers[Constants.HttpHeaders.SessionToken] = opts.sessionToken; - } - - if (opts.enableScanInQuery) { - headers[Constants.HttpHeaders.EnableScanInQuery] = opts.enableScanInQuery; - } - - if (opts.enableCrossPartitionQuery) { - headers[Constants.HttpHeaders.EnableCrossPartitionQuery] = opts.enableCrossPartitionQuery; - } - - if (opts.populateQuotaInfo) { - headers[Constants.HttpHeaders.PopulateQuotaInfo] = opts.populateQuotaInfo; - } - - if (opts.populateQueryMetrics) { - headers[Constants.HttpHeaders.PopulateQueryMetrics] = opts.populateQueryMetrics; - } - - if (opts.maxDegreeOfParallelism !== undefined) { - headers[Constants.HttpHeaders.ParallelizeCrossPartitionQuery] = true; - } - - if (opts.populateQuotaInfo) { - headers[Constants.HttpHeaders.PopulateQuotaInfo] = true; - } - - if (opts.partitionKey !== undefined) { - let partitionKey: string[] | string = opts.partitionKey; - if (partitionKey === null || !Array.isArray(partitionKey)) { - partitionKey = [partitionKey as string]; - } - headers[Constants.HttpHeaders.PartitionKey] = Helper.jsonStringifyAndEscapeNonASCII(partitionKey); - } - - if (authOptions.masterKey || authOptions.key || authOptions.tokenProvider) { - headers[Constants.HttpHeaders.XDate] = new Date().toUTCString(); - } - - if (verb === "post" || verb === "put") { - if (!headers[Constants.HttpHeaders.ContentType]) { - headers[Constants.HttpHeaders.ContentType] = Constants.MediaTypes.Json; - } - } - - if (!headers[Constants.HttpHeaders.Accept]) { - headers[Constants.HttpHeaders.Accept] = Constants.MediaTypes.Json; - } - - if (partitionKeyRangeId !== undefined) { - headers[Constants.HttpHeaders.PartitionKeyRangeID] = partitionKeyRangeId; - } - - if (opts.enableScriptLogging) { - headers[Constants.HttpHeaders.EnableScriptLogging] = opts.enableScriptLogging; - } - - if (opts.offerEnableRUPerMinuteThroughput) { - headers[Constants.HttpHeaders.OfferIsRUPerMinuteThroughputEnabled] = true; - } - - if (opts.disableRUPerMinuteUsage) { - headers[Constants.HttpHeaders.DisableRUPerMinuteUsage] = true; - } - if ( - authOptions.masterKey || - authOptions.key || - authOptions.resourceTokens || - authOptions.tokenProvider || - authOptions.permissionFeed - ) { - const token = await AuthHandler.getAuthorizationHeader(authOptions, verb, path, resourceId, resourceType, headers); - headers[Constants.HttpHeaders.Authorization] = token; - } - return headers; -} diff --git a/sdk/cosmosdb/cosmos/src/retry/IRetryPolicy.ts b/sdk/cosmosdb/cosmos/src/retry/IRetryPolicy.ts deleted file mode 100644 index 335f75e01657..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/IRetryPolicy.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ErrorResponse } from "../request"; -import { RetryContext } from "./RetryContext"; - -export interface IRetryPolicy { - retryAfterInMilliseconds: number; - shouldRetry: ( - errorResponse: ErrorResponse, - retryContext?: RetryContext, - locationEndpoint?: string - ) => Promise; -} diff --git a/sdk/cosmosdb/cosmos/src/retry/RetryContext.ts b/sdk/cosmosdb/cosmos/src/retry/RetryContext.ts deleted file mode 100644 index cbee76b1383b..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/RetryContext.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface RetryContext { - retryCount?: number; - retryRequestOnPreferredLocations?: boolean; - clearSessionTokenNotAvailable?: boolean; -} diff --git a/sdk/cosmosdb/cosmos/src/retry/defaultRetryPolicy.ts b/sdk/cosmosdb/cosmos/src/retry/defaultRetryPolicy.ts deleted file mode 100644 index 63029bc98556..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/defaultRetryPolicy.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { ErrorResponse } from "../request"; - -/** - * This class implements the default connection retry policy for requests. - * @property {int} currentRetryAttemptCount - Current retry attempt count. - * @hidden - */ -export class DefaultRetryPolicy { - private maxRetryAttemptCount: number = 10; - private currentRetryAttemptCount: number = 0; - public retryAfterInMilliseconds: number = 1000; - - // Windows Socket Error Codes - private WindowsInterruptedFunctionCall: number = 10004; - private WindowsFileHandleNotValid: number = 10009; - private WindowsPermissionDenied: number = 10013; - private WindowsBadAddress: number = 10014; - private WindowsInvalidArgumnet: number = 10022; - private WindowsResourceTemporarilyUnavailable: number = 10035; - private WindowsOperationNowInProgress: number = 10036; - private WindowsAddressAlreadyInUse: number = 10048; - private WindowsConnectionResetByPeer: number = 10054; - private WindowsCannotSendAfterSocketShutdown: number = 10058; - private WindowsConnectionTimedOut: number = 10060; - private WindowsConnectionRefused: number = 10061; - private WindowsNameTooLong: number = 10063; - private WindowsHostIsDown: number = 10064; - private WindowsNoRouteTohost: number = 10065; - - // Linux Error Codes - private LinuxConnectionReset = "ECONNRESET"; - - private CONNECTION_ERROR_CODES: any[] = [ - this.WindowsInterruptedFunctionCall, - this.WindowsFileHandleNotValid, - this.WindowsPermissionDenied, - this.WindowsBadAddress, - this.WindowsInvalidArgumnet, - this.WindowsResourceTemporarilyUnavailable, - this.WindowsOperationNowInProgress, - this.WindowsAddressAlreadyInUse, - this.WindowsConnectionResetByPeer, - this.WindowsCannotSendAfterSocketShutdown, - this.WindowsConnectionTimedOut, - this.WindowsConnectionRefused, - this.WindowsNameTooLong, - this.WindowsHostIsDown, - this.WindowsNoRouteTohost, - this.LinuxConnectionReset - ]; - - /** - * @constructor ResourceThrottleRetryPolicy - * @param {string} operationType - The type of operation being performed. - */ - constructor(private operationType: string) {} - /** - * Determines whether the request should be retried or not. - * @param {object} err - Error returned by the request. - * @param {function} callback - The callback function which takes bool argument which - * specifies whether the request will be retried or not. - */ - public async shouldRetry(err: ErrorResponse): Promise { - if (err) { - if (this.currentRetryAttemptCount < this.maxRetryAttemptCount && this.needs_retry(err.code)) { - this.currentRetryAttemptCount++; - return true; - } - } - return false; - } - - private needs_retry(code: number | string) { - if ( - (this.operationType === "read" || this.operationType === "query") && - this.CONNECTION_ERROR_CODES.indexOf(code) !== -1 - ) { - return true; - } else { - return false; - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/retry/endpointDiscoveryRetryPolicy.ts b/sdk/cosmosdb/cosmos/src/retry/endpointDiscoveryRetryPolicy.ts deleted file mode 100644 index cb18c0c4bab3..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/endpointDiscoveryRetryPolicy.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { Helper } from "../common"; -import { GlobalEndpointManager } from "../globalEndpointManager"; -import { ErrorResponse } from "../request/request"; -import { RequestContext } from "../request/RequestContext"; -import { IRetryPolicy } from "./IRetryPolicy"; -import { RetryContext } from "./RetryContext"; - -/** - * This class implements the retry policy for endpoint discovery. - * @hidden - */ -export class EndpointDiscoveryRetryPolicy implements IRetryPolicy { - /** Current retry attempt count. */ - public currentRetryAttemptCount: number; - /** Retry interval in milliseconds. */ - public retryAfterInMilliseconds: number; - - /** Max number of retry attempts to perform. */ - private maxRetryAttemptCount: number; - private static readonly maxRetryAttemptCount = 120; // TODO: Constant? - private static readonly retryAfterInMilliseconds = 1000; - - /** - * @constructor EndpointDiscoveryRetryPolicy - * @param {object} globalEndpointManager The GlobalEndpointManager instance. - */ - constructor(private globalEndpointManager: GlobalEndpointManager, private request: RequestContext) { - this.maxRetryAttemptCount = EndpointDiscoveryRetryPolicy.maxRetryAttemptCount; - this.currentRetryAttemptCount = 0; - this.retryAfterInMilliseconds = EndpointDiscoveryRetryPolicy.retryAfterInMilliseconds; - } - - /** - * Determines whether the request should be retried or not. - * @param {object} err - Error returned by the request. - */ - public async shouldRetry( - err: ErrorResponse, - retryContext?: RetryContext, - locationEndpoint?: string - ): Promise { - if (!err) { - return false; - } - - if (!retryContext || !locationEndpoint) { - return false; - } - - if (!this.globalEndpointManager.enableEndpointDiscovery) { - return false; - } - - if (this.currentRetryAttemptCount >= this.maxRetryAttemptCount) { - return false; - } - - this.currentRetryAttemptCount++; - - if (Helper.isReadRequest(this.request)) { - this.globalEndpointManager.markCurrentLocationUnavailableForRead(locationEndpoint); - } else { - this.globalEndpointManager.markCurrentLocationUnavailableForWrite(locationEndpoint); - } - - // Check location index increment - // TODO: Tracing - // console.log("Write region was changed, refreshing the regions list from database account - // and will retry the request."); - await this.globalEndpointManager.refreshEndpointList(); - - retryContext.retryCount = this.currentRetryAttemptCount; - retryContext.clearSessionTokenNotAvailable = false; - retryContext.retryRequestOnPreferredLocations = false; - - return true; - } -} diff --git a/sdk/cosmosdb/cosmos/src/retry/index.ts b/sdk/cosmosdb/cosmos/src/retry/index.ts deleted file mode 100644 index a68e2696f7b4..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./retryOptions"; -export * from "./endpointDiscoveryRetryPolicy"; -export * from "./resourceThrottleRetryPolicy"; -export * from "./sessionRetryPolicy"; -export * from "./retryUtility"; diff --git a/sdk/cosmosdb/cosmos/src/retry/resourceThrottleRetryPolicy.ts b/sdk/cosmosdb/cosmos/src/retry/resourceThrottleRetryPolicy.ts deleted file mode 100644 index 2b539dd56442..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/resourceThrottleRetryPolicy.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { StatusCodes } from "../common"; -import { ErrorResponse } from "../request/request"; - -/** - * This class implements the resource throttle retry policy for requests. - * @hidden - */ -export class ResourceThrottleRetryPolicy { - /** Current retry attempt count. */ - public currentRetryAttemptCount: number = 0; - /** Cummulative wait time in milliseconds for a request while the retries are happening. */ - public cummulativeWaitTimeinMilliseconds: number = 0; - /** Max wait time in milliseconds to wait for a request while the retries are happening. */ - public retryAfterInMilliseconds: number = 0; - - /** Max number of retries to be performed for a request. */ - private maxWaitTimeInMilliseconds: number; - /** - * @constructor ResourceThrottleRetryPolicy - * @param {int} maxRetryAttemptCount - Max number of retries to be performed for a request. - * @param {int} fixedRetryIntervalInMilliseconds - Fixed retry interval in milliseconds to wait between each \ - * retry ignoring the retryAfter returned as part of the response. - * @param {int} maxWaitTimeInSeconds - Max wait time in seconds to wait for a request while the \ - * retries are happening. - */ - constructor( - private maxRetryAttemptCount: number, - private fixedRetryIntervalInMilliseconds: number, - maxWaitTimeInSeconds: number - ) { - this.maxWaitTimeInMilliseconds = maxWaitTimeInSeconds * 1000; - this.currentRetryAttemptCount = 0; - this.cummulativeWaitTimeinMilliseconds = 0; - } - /** - * Determines whether the request should be retried or not. - * @param {object} err - Error returned by the request. - */ - public async shouldRetry(err: ErrorResponse): Promise { - // TODO: any custom error object - if (err) { - if (this.currentRetryAttemptCount < this.maxRetryAttemptCount) { - this.currentRetryAttemptCount++; - this.retryAfterInMilliseconds = 0; - - if (this.fixedRetryIntervalInMilliseconds) { - this.retryAfterInMilliseconds = this.fixedRetryIntervalInMilliseconds; - } else if (err.retryAfterInMilliseconds) { - this.retryAfterInMilliseconds = err.retryAfterInMilliseconds; - } - - if (this.cummulativeWaitTimeinMilliseconds < this.maxWaitTimeInMilliseconds) { - this.cummulativeWaitTimeinMilliseconds += this.retryAfterInMilliseconds; - return true; - } - } - } - return false; - } -} diff --git a/sdk/cosmosdb/cosmos/src/retry/retryOptions.ts b/sdk/cosmosdb/cosmos/src/retry/retryOptions.ts deleted file mode 100644 index 605fa54d19b5..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/retryOptions.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Represents the Retry policy assocated with throttled requests in the Azure Cosmos DB database service. - */ -export class RetryOptions { - constructor( - /** Max number of retries to be performed for a request. Default value 9. */ - public readonly MaxRetryAttemptCount: number = 9, - /** Fixed retry interval in milliseconds to wait between each retry ignoring the retryAfter returned as part of the response. */ - public readonly FixedRetryIntervalInMilliseconds: number = 0, - /** Max wait time in seconds to wait for a request while the retries are happening. Default value 30 seconds. */ - public readonly MaxWaitTimeInSeconds: number = 30 - ) {} -} diff --git a/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts b/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts deleted file mode 100644 index a6dee96c6797..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/retryUtility.ts +++ /dev/null @@ -1,171 +0,0 @@ -import { RequestOptions } from "https"; -import * as url from "url"; -import { EndpointDiscoveryRetryPolicy, ResourceThrottleRetryPolicy, SessionRetryPolicy } from "."; -import { Constants, Helper, StatusCodes, SubStatusCodes } from "../common"; -import { ConnectionPolicy } from "../documents"; -import { GlobalEndpointManager } from "../globalEndpointManager"; -import { Response } from "../request"; -import { LocationRouting } from "../request/LocationRouting"; -import { RequestContext } from "../request/RequestContext"; -import { DefaultRetryPolicy } from "./defaultRetryPolicy"; -import { IRetryPolicy } from "./IRetryPolicy"; -import { RetryContext } from "./RetryContext"; - -/** @hidden */ -export type CreateRequestObjectStubFunction = ( - connectionPolicy: ConnectionPolicy, - requestOptions: RequestOptions, - body: Buffer -) => Promise>; // TODO: any response - -/** @hidden */ -export class RetryUtility { - /** - * Executes the retry policy for the created request object. - * @param {object} globalEndpointManager - an instance of GlobalEndpointManager class. - * @param {object} body - request body. A buffer or a string. - * @param {function} createRequestObjectStub - stub function that creates the request object. - * @param {object} connectionPolicy - an instance of ConnectionPolicy that has the connection configs. - * @param {RequestOptions} requestOptions - The request options. - * @param {function} callback - the callback that will be called when the request is finished executing. - */ - public static async execute( - globalEndpointManager: GlobalEndpointManager, - body: Buffer, - createRequestObjectFunc: CreateRequestObjectStubFunction, - connectionPolicy: ConnectionPolicy, - requestOptions: RequestOptions, - request: RequestContext - ): Promise> { - // TODO: any request - const r: RequestContext = typeof request !== "string" ? request : { path: "", operationType: "nonReadOps" }; - - const endpointDiscoveryRetryPolicy = new EndpointDiscoveryRetryPolicy(globalEndpointManager, r); - const resourceThrottleRetryPolicy = new ResourceThrottleRetryPolicy( - connectionPolicy.RetryOptions.MaxRetryAttemptCount, - connectionPolicy.RetryOptions.FixedRetryIntervalInMilliseconds, - connectionPolicy.RetryOptions.MaxWaitTimeInSeconds - ); - const sessionReadRetryPolicy = new SessionRetryPolicy(globalEndpointManager, r, connectionPolicy); - const defaultRetryPolicy = new DefaultRetryPolicy(request.operationType); - - return this.apply( - body, - createRequestObjectFunc, - connectionPolicy, - requestOptions, - endpointDiscoveryRetryPolicy, - resourceThrottleRetryPolicy, - sessionReadRetryPolicy, - defaultRetryPolicy, - globalEndpointManager, - request, - {} - ); - } - - /** - * Applies the retry policy for the created request object. - * @param {object} body - request body. A buffer or a string. - * @param {function} createRequestObjectFunc - function that creates the request object. - * @param {object} connectionPolicy - an instance of ConnectionPolicy that has the connection configs. - * @param {RequestOptions} requestOptions - The request options. - * @param {EndpointDiscoveryRetryPolicy} endpointDiscoveryRetryPolicy - The endpoint discovery retry policy \ - * instance. - * @param {ResourceThrottleRetryPolicy} resourceThrottleRetryPolicy - The resource throttle retry policy instance. - * @param {function} callback - the callback that will be called when the response is retrieved and processed. - */ - public static async apply( - body: Buffer, - createRequestObjectFunc: CreateRequestObjectStubFunction, - connectionPolicy: ConnectionPolicy, - requestOptions: RequestOptions, - endpointDiscoveryRetryPolicy: EndpointDiscoveryRetryPolicy, - resourceThrottleRetryPolicy: ResourceThrottleRetryPolicy, - sessionReadRetryPolicy: SessionRetryPolicy, - defaultRetryPolicy: DefaultRetryPolicy, - globalEndpointManager: GlobalEndpointManager, - request: RequestContext, - retryContext: RetryContext - ): Promise> { - // TODO: any response - const httpsRequest = createRequestObjectFunc(connectionPolicy, requestOptions, body); - if (!request.locationRouting) { - request.locationRouting = new LocationRouting(); - } - request.locationRouting.clearRouteToLocation(); - if (retryContext) { - request.locationRouting.routeToLocation( - retryContext.retryCount || 0, - !retryContext.retryRequestOnPreferredLocations - ); - if (retryContext.clearSessionTokenNotAvailable) { - request.client.clearSessionToken(request.path); - } - } - const locationEndpoint = await globalEndpointManager.resolveServiceEndpoint(request); - requestOptions = this.modifyRequestOptions(requestOptions, url.parse(locationEndpoint)); - request.locationRouting.routeToLocation(locationEndpoint); - try { - const response = await (httpsRequest as Promise>); - response.headers[Constants.ThrottleRetryCount] = resourceThrottleRetryPolicy.currentRetryAttemptCount; - response.headers[Constants.ThrottleRetryWaitTimeInMs] = - resourceThrottleRetryPolicy.cummulativeWaitTimeinMilliseconds; - return response; - } catch (err) { - // TODO: any error - let retryPolicy: IRetryPolicy = null; - const headers = err.headers || {}; - if (err.code === StatusCodes.Forbidden && err.substatus === SubStatusCodes.WriteForbidden) { - retryPolicy = endpointDiscoveryRetryPolicy; - } else if (err.code === StatusCodes.TooManyRequests) { - retryPolicy = resourceThrottleRetryPolicy; - } else if (err.code === StatusCodes.NotFound && err.substatus === SubStatusCodes.ReadSessionNotAvailable) { - retryPolicy = sessionReadRetryPolicy; - } else { - retryPolicy = defaultRetryPolicy; - } - const results = await retryPolicy.shouldRetry(err, retryContext, locationEndpoint); - if (!results) { - headers[Constants.ThrottleRetryCount] = resourceThrottleRetryPolicy.currentRetryAttemptCount; - headers[Constants.ThrottleRetryWaitTimeInMs] = resourceThrottleRetryPolicy.cummulativeWaitTimeinMilliseconds; - err.headers = { ...err.headers, ...headers }; - throw err; - } else { - request.retryCount++; - const newUrl = (results as any)[1]; // TODO: any hack - if (newUrl !== undefined) { - RetryUtility.modifyRequestOptions(requestOptions, url.parse(newUrl)); - } - await Helper.sleep(retryPolicy.retryAfterInMilliseconds); - return this.apply( - body, - createRequestObjectFunc, - connectionPolicy, - requestOptions, - endpointDiscoveryRetryPolicy, - resourceThrottleRetryPolicy, - sessionReadRetryPolicy, - defaultRetryPolicy, - globalEndpointManager, - request, - retryContext - ); - } - } - } - - private static modifyRequestOptions( - oldRequestOptions: RequestOptions | any, // TODO: any hack is bad - newUrl: url.UrlWithStringQuery | any - ) { - // TODO: any hack is bad - const properties = Object.keys(newUrl); - for (const index in properties) { - if (properties[index] !== "path") { - oldRequestOptions[properties[index]] = newUrl[properties[index]]; - } - } - return oldRequestOptions; - } -} diff --git a/sdk/cosmosdb/cosmos/src/retry/sessionRetryPolicy.ts b/sdk/cosmosdb/cosmos/src/retry/sessionRetryPolicy.ts deleted file mode 100644 index ee1f62da4a16..000000000000 --- a/sdk/cosmosdb/cosmos/src/retry/sessionRetryPolicy.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { Helper } from "../common"; -import { ConnectionPolicy } from "../documents"; -import { GlobalEndpointManager } from "../globalEndpointManager"; -import { ErrorResponse } from "../request/request"; -import { RequestContext } from "../request/RequestContext"; -import { IRetryPolicy } from "./IRetryPolicy"; -import { RetryContext } from "./RetryContext"; - -/** - * This class implements the retry policy for session consistent reads. - * @hidden - */ -export class SessionRetryPolicy implements IRetryPolicy { - /** Current retry attempt count. */ - public currentRetryAttemptCount = 0; - /** Retry interval in milliseconds. */ - public retryAfterInMilliseconds = 0; - - /** - * @constructor SessionReadRetryPolicy - * @param {object} globalEndpointManager - The GlobalEndpointManager instance. - * @property {object} request - The Http request information - */ - constructor( - private globalEndpointManager: GlobalEndpointManager, - private request: RequestContext, - private connectionPolicy: ConnectionPolicy - ) {} - - /** - * Determines whether the request should be retried or not. - * @param {object} err - Error returned by the request. - * @param {function} callback - The callback function which takes bool argument which specifies whether the request\ - * will be retried or not. - */ - public async shouldRetry(err: ErrorResponse, retryContext?: RetryContext): Promise { - if (!err) { - return false; - } - - if (!retryContext) { - return false; - } - - if (!this.connectionPolicy.EnableEndpointDiscovery) { - return false; - } - - if (this.globalEndpointManager.canUseMultipleWriteLocations(this.request)) { - // If we can write to multiple locations, we should against every write endpoint until we succeed - const endpoints = Helper.isReadRequest(this.request) - ? await this.globalEndpointManager.getReadEndpoints() - : await this.globalEndpointManager.getWriteEndpoints(); - if (this.currentRetryAttemptCount > endpoints.length) { - return false; - } else { - retryContext.retryCount = ++this.currentRetryAttemptCount - 1; - retryContext.retryRequestOnPreferredLocations = this.currentRetryAttemptCount > 1; - retryContext.clearSessionTokenNotAvailable = this.currentRetryAttemptCount === endpoints.length; - return true; - } - } else { - if (this.currentRetryAttemptCount > 1) { - return false; - } else { - retryContext.retryCount = ++this.currentRetryAttemptCount - 1; - retryContext.retryRequestOnPreferredLocations = false; // Forces all operations to primary write endpoint - retryContext.clearSessionTokenNotAvailable = true; - return true; - } - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/routing/CollectionRoutingMapFactory.ts b/sdk/cosmosdb/cosmos/src/routing/CollectionRoutingMapFactory.ts deleted file mode 100644 index 62438f1d6cae..000000000000 --- a/sdk/cosmosdb/cosmos/src/routing/CollectionRoutingMapFactory.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { InMemoryCollectionRoutingMap } from "."; -import { Constants } from "../common"; - -function compareRanges(a: any, b: any) { - const aVal = a[0][Constants.PartitionKeyRange.MinInclusive]; - const bVal = b[0][Constants.PartitionKeyRange.MinInclusive]; - if (aVal > bVal) { - return 1; - } - if (aVal < bVal) { - return -1; - } - return 0; -} - -/** @hidden */ -export class CollectionRoutingMapFactory { - public static createCompleteRoutingMap(partitionKeyRangeInfoTuppleList: any[], collectionUniqueId: string) { - const rangeById: any = {}; // TODO: any - const rangeByInfo: any = {}; // TODO: any - - let sortedRanges = []; - - // the for loop doesn't invoke any async callback - for (const r of partitionKeyRangeInfoTuppleList) { - rangeById[r[0][Constants.PartitionKeyRange.Id]] = r; - rangeByInfo[r[1]] = r[0]; - sortedRanges.push(r); - } - - sortedRanges = sortedRanges.sort(compareRanges); - const partitionKeyOrderedRange = sortedRanges.map(r => r[0]); - const orderedPartitionInfo = sortedRanges.map(r => r[1]); - - if (!this._isCompleteSetOfRange(partitionKeyOrderedRange)) { - return undefined; - } - return new InMemoryCollectionRoutingMap( - rangeById, - rangeByInfo, - partitionKeyOrderedRange, - orderedPartitionInfo, - collectionUniqueId - ); - } - - private static _isCompleteSetOfRange(partitionKeyOrderedRange: any) { - // TODO: any - let isComplete = false; - if (partitionKeyOrderedRange.length > 0) { - const firstRange = partitionKeyOrderedRange[0]; - const lastRange = partitionKeyOrderedRange[partitionKeyOrderedRange.length - 1]; - isComplete = - firstRange[Constants.PartitionKeyRange.MinInclusive] === - Constants.EffectiveParitionKeyConstants.MinimumInclusiveEffectivePartitionKey; - isComplete = - isComplete && - lastRange[Constants.PartitionKeyRange.MaxExclusive] === - Constants.EffectiveParitionKeyConstants.MaximumExclusiveEffectivePartitionKey; - - for (let i = 1; i < partitionKeyOrderedRange.length; i++) { - const previousRange = partitionKeyOrderedRange[i - 1]; - const currentRange = partitionKeyOrderedRange[i]; - isComplete = - isComplete && - previousRange[Constants.PartitionKeyRange.MaxExclusive] === - currentRange[Constants.PartitionKeyRange.MinInclusive]; - - if (!isComplete) { - if ( - previousRange[Constants.PartitionKeyRange.MaxExclusive] > - currentRange[Constants.PartitionKeyRange.MinInclusive] - ) { - throw Error("Ranges overlap"); - } - break; - } - } - } - return isComplete; - } -} diff --git a/sdk/cosmosdb/cosmos/src/routing/QueryRange.ts b/sdk/cosmosdb/cosmos/src/routing/QueryRange.ts deleted file mode 100644 index 7684cb294102..000000000000 --- a/sdk/cosmosdb/cosmos/src/routing/QueryRange.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { Constants } from "../common"; - -/** @hidden */ -export class QueryRange { - public min: string; - public max: string; - public isMinInclusive: boolean; - public isMaxInclusive: boolean; - - /** - * Represents a QueryRange. - * @constructor QueryRange - * @param {string} rangeMin - min - * @param {string} rangeMin - max - * @param {boolean} isMinInclusive - isMinInclusive - * @param {boolean} isMaxInclusive - isMaxInclusive - * @ignore - */ - constructor(rangeMin: string, rangeMax: string, isMinInclusive: boolean, isMaxInclusive: boolean) { - this.min = rangeMin; - this.max = rangeMax; - this.isMinInclusive = isMinInclusive; - this.isMaxInclusive = isMaxInclusive; - } - public overlaps(other: QueryRange) { - // tslint:disable-next-line:no-this-assignment - const range1 = this; - const range2 = other; - if (range1 === undefined || range2 === undefined) { - return false; - } - if (range1.isEmpty() || range2.isEmpty()) { - return false; - } - - if (range1.min <= range2.max || range2.min <= range1.max) { - if ( - (range1.min === range2.max && !(range1.isMinInclusive && range2.isMaxInclusive)) || - (range2.min === range1.max && !(range2.isMinInclusive && range1.isMaxInclusive)) - ) { - return false; - } - return true; - } - return false; - } - - public isEmpty() { - return !(this.isMinInclusive && this.isMaxInclusive) && this.min === this.max; - } - /** - * Parse a QueryRange from a partitionKeyRange - * @returns QueryRange - * @ignore - */ - public static parsePartitionKeyRange(partitionKeyRange: any) { - // TODO: paritionkeyrange - return new QueryRange( - partitionKeyRange[Constants.PartitionKeyRange.MinInclusive], - partitionKeyRange[Constants.PartitionKeyRange.MaxExclusive], - true, - false - ); - } - /** - * Parse a QueryRange from a dictionary - * @returns QueryRange - * @ignore - */ - public static parseFromDict(queryRangeDict: any) { - // TODO: queryRangeDictionary - return new QueryRange( - queryRangeDict.min, - queryRangeDict.max, - queryRangeDict.isMinInclusive, - queryRangeDict.isMaxInclusive - ); - } -} diff --git a/sdk/cosmosdb/cosmos/src/routing/inMemoryCollectionRoutingMap.ts b/sdk/cosmosdb/cosmos/src/routing/inMemoryCollectionRoutingMap.ts deleted file mode 100644 index 89f24b57e19a..000000000000 --- a/sdk/cosmosdb/cosmos/src/routing/inMemoryCollectionRoutingMap.ts +++ /dev/null @@ -1,139 +0,0 @@ -import * as bs from "binary-search-bounds"; // TODO: missing types -import { Constants } from "../common"; -import { Range } from "../range"; -import { QueryRange } from "./QueryRange"; - -/** @hidden */ -export class InMemoryCollectionRoutingMap { - private rangeById: Range[]; - private rangeByInfo: string; - private orderedPartitionKeyRanges: any[]; - private orderedRanges: QueryRange[]; - // TODO: chrande made this public, even though it is implementation detail for a test - public orderedPartitionInfo: any; - private collectionUniqueId: any; - - /** - * Represents a InMemoryCollectionRoutingMap Object, - * Stores partition key ranges in an efficient way with some additional information and provides - * convenience methods for working with set of ranges. - */ - constructor( - rangeById: Range[], - rangeByInfo: string, - orderedPartitionKeyRanges: any[], - orderedPartitionInfo: any, - collectionUniqueId: string - ) { - this.rangeById = rangeById; - this.rangeByInfo = rangeByInfo; - this.orderedPartitionKeyRanges = orderedPartitionKeyRanges; - this.orderedRanges = orderedPartitionKeyRanges.map(pkr => { - return new QueryRange( - pkr[Constants.PartitionKeyRange.MinInclusive], - pkr[Constants.PartitionKeyRange.MaxExclusive], - true, - false - ); - }); - this.orderedPartitionInfo = orderedPartitionInfo; - this.collectionUniqueId = collectionUniqueId; - } - public getOrderedParitionKeyRanges() { - return this.orderedPartitionKeyRanges; - } - - public getRangeByEffectivePartitionKey(effectivePartitionKeyValue: string) { - if (Constants.EffectiveParitionKeyConstants.MinimumInclusiveEffectivePartitionKey === effectivePartitionKeyValue) { - return this.orderedPartitionKeyRanges[0]; - } - - if (Constants.EffectiveParitionKeyConstants.MaximumExclusiveEffectivePartitionKey === effectivePartitionKeyValue) { - return undefined; - } - - const sortedLow = this.orderedRanges.map(r => { - return { v: r.min, b: !r.isMinInclusive }; - }); - - const index = bs.le( - sortedLow, - { v: effectivePartitionKeyValue, b: true }, - InMemoryCollectionRoutingMap._vbCompareFunction - ); - // that's an error - if (index < 0) { - throw new Error("error in collection routing map, queried partition key is less than the start range."); - } - - return this.orderedPartitionKeyRanges[index]; - } - - private static _vbCompareFunction(x: any, y: any) { - // TODO: What is x & y? A bs type? - if (x.v > y.v) { - return 1; - } - if (x.v < y.v) { - return -1; - } - if (x.b > y.b) { - return 1; - } - if (x.b < y.b) { - return -1; - } - return 0; - } - - public getOverlappingRanges(providedQueryRanges: QueryRange | QueryRange[]) { - const pqr: QueryRange[] = Array.isArray(providedQueryRanges) ? providedQueryRanges : [providedQueryRanges]; - const minToPartitionRange: any = {}; // TODO: any - const sortedLow = this.orderedRanges.map(r => { - return { v: r.min, b: !r.isMinInclusive }; - }); - const sortedHigh = this.orderedRanges.map(r => { - return { v: r.max, b: r.isMaxInclusive }; - }); - - // this for loop doesn't invoke any async callback - for (const queryRange of pqr) { - if (queryRange.isEmpty()) { - continue; - } - const minIndex = bs.le( - sortedLow, - { v: queryRange.min, b: !queryRange.isMinInclusive }, - InMemoryCollectionRoutingMap._vbCompareFunction - ); - - if (minIndex < 0) { - throw new Error("error in collection routing map, queried value is less than the start range."); - } - - const maxIndex = bs.ge( - sortedHigh, - { v: queryRange.max, b: queryRange.isMaxInclusive }, - InMemoryCollectionRoutingMap._vbCompareFunction - ); - if (maxIndex > sortedHigh.length) { - throw new Error("error in collection routing map, queried value is greater than the end range."); - } - - // the for loop doesn't invoke any async callback - for (let j = minIndex; j < maxIndex + 1; j++) { - if (queryRange.overlaps(this.orderedRanges[j])) { - minToPartitionRange[ - this.orderedPartitionKeyRanges[j][Constants.PartitionKeyRange.MinInclusive] - ] = this.orderedPartitionKeyRanges[j]; - } - } - } - - const overlappingPartitionKeyRanges = Object.keys(minToPartitionRange).map(k => minToPartitionRange[k]); - - return overlappingPartitionKeyRanges.sort(r => { - return r[Constants.PartitionKeyRange.MinInclusive]; - }); - } -} diff --git a/sdk/cosmosdb/cosmos/src/routing/index.ts b/sdk/cosmosdb/cosmos/src/routing/index.ts deleted file mode 100644 index 66e33c4dd252..000000000000 --- a/sdk/cosmosdb/cosmos/src/routing/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./QueryRange"; -export * from "./CollectionRoutingMapFactory"; -export * from "./inMemoryCollectionRoutingMap"; -export * from "./partitionKeyRangeCache"; -export * from "./smartRoutingMapProvider"; diff --git a/sdk/cosmosdb/cosmos/src/routing/partitionKeyRangeCache.ts b/sdk/cosmosdb/cosmos/src/routing/partitionKeyRangeCache.ts deleted file mode 100644 index ddd99065d834..000000000000 --- a/sdk/cosmosdb/cosmos/src/routing/partitionKeyRangeCache.ts +++ /dev/null @@ -1,75 +0,0 @@ -import semaphore from "semaphore"; -import { CollectionRoutingMapFactory, InMemoryCollectionRoutingMap, QueryRange } from "."; -import { ClientContext } from "../ClientContext"; -import { Helper } from "../common"; - -/** @hidden */ -export class PartitionKeyRangeCache { - private collectionRoutingMapByCollectionId: { - [key: string]: InMemoryCollectionRoutingMap; - }; - private sem: semaphore.Semaphore; - - constructor(private clientContext: ClientContext) { - this.collectionRoutingMapByCollectionId = {}; - this.sem = semaphore(1); - } - /** - * Finds or Instantiates the requested Collection Routing Map and invokes callback - * @param {callback} callback - Function to execute for the collection routing map. - * the function takes two parameters error, collectionRoutingMap. - * @param {string} collectionLink - Requested collectionLink - * @ignore - */ - public async onCollectionRoutingMap(collectionLink: string): Promise { - const collectionId = Helper.getIdFromLink(collectionLink); - - let collectionRoutingMap = this.collectionRoutingMapByCollectionId[collectionId]; - if (collectionRoutingMap === undefined) { - // attempt to consturct collection routing map - collectionRoutingMap = await new Promise((resolve, reject) => { - const semaphorizedFuncCollectionMapInstantiator = async () => { - let crm: InMemoryCollectionRoutingMap = this.collectionRoutingMapByCollectionId[collectionId]; - if (crm === undefined) { - try { - const { result: resources } = await this.clientContext.queryPartitionKeyRanges(collectionLink).toArray(); - - crm = CollectionRoutingMapFactory.createCompleteRoutingMap(resources.map(r => [r, true]), collectionId); - - this.collectionRoutingMapByCollectionId[collectionId] = crm; - this.sem.leave(); - resolve(crm); - } catch (err) { - this.sem.leave(); - reject(err); - } - } else { - // sanity gaurd - this.sem.leave(); - // TODO: it looks like this code should never be reached... - // return resolve(collectionRoutingMap.getOverlappingRanges(partitionKeyRanges)); - reject(new Error("Not yet implemented")); - } - }; - - // We want only one attempt to construct collectionRoutingMap - // so we pass the consturction in the semaphore take - this.sem.take(semaphorizedFuncCollectionMapInstantiator); - }); - } - return collectionRoutingMap; - } - - /** - * Given the query ranges and a collection, invokes the callback on the list of overlapping partition key ranges - * @param {callback} callback - Function execute on the overlapping partition key ranges result, - * takes two parameters error, partition key ranges - * @param collectionLink - * @param queryRanges - * @ignore - */ - public async getOverlappingRanges(collectionLink: string, queryRanges: QueryRange) { - const crm = await this.onCollectionRoutingMap(collectionLink); - return crm.getOverlappingRanges(queryRanges); - } -} diff --git a/sdk/cosmosdb/cosmos/src/routing/smartRoutingMapProvider.ts b/sdk/cosmosdb/cosmos/src/routing/smartRoutingMapProvider.ts deleted file mode 100644 index 9785f8212488..000000000000 --- a/sdk/cosmosdb/cosmos/src/routing/smartRoutingMapProvider.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { PartitionKeyRangeCache, QueryRange } from "."; -import { ClientContext } from "../ClientContext"; -import { Constants } from "../common"; - -/** @hidden */ -export const PARITIONKEYRANGE = Constants.PartitionKeyRange; - -/** @hidden */ -export class SmartRoutingMapProvider { - private partitionKeyRangeCache: PartitionKeyRangeCache; - - constructor(clientContext: ClientContext) { - this.partitionKeyRangeCache = new PartitionKeyRangeCache(clientContext); - } - private static _secondRangeIsAfterFirstRange(range1: QueryRange, range2: QueryRange) { - if (typeof range1.max === "undefined") { - throw new Error("range1 must have max"); - } - - if (typeof range2.min === "undefined") { - throw new Error("range2 must have min"); - } - - if (range1.max > range2.min) { - // r.min < #previous_r.max - return false; - } else { - if (range1.max === range2.min && range1.isMaxInclusive && range2.isMinInclusive) { - // the inclusive ending endpoint of previous_r is the same as the inclusive beginning endpoint of r - // they share a point - return false; - } - return true; - } - } - - private static _isSortedAndNonOverlapping(ranges: QueryRange[]) { - for (let idx = 1; idx < ranges.length; idx++) { - const previousR = ranges[idx - 1]; - const r = ranges[idx]; - if (!this._secondRangeIsAfterFirstRange(previousR, r)) { - return false; - } - } - return true; - } - - private static _stringMax(a: string, b: string) { - return a >= b ? a : b; - } - - private static _stringCompare(a: string, b: string) { - return a === b ? 0 : a > b ? 1 : -1; - } - - private static _subtractRange(r: QueryRange, partitionKeyRange: any) { - const left = this._stringMax(partitionKeyRange[PARITIONKEYRANGE.MaxExclusive], r.min); - const leftInclusive = this._stringCompare(left, r.min) === 0 ? r.isMinInclusive : false; - return new QueryRange(left, r.max, leftInclusive, r.isMaxInclusive); - } - - /** - * Given the sorted ranges and a collection, invokes the callback on the list of overlapping partition key ranges - * @param {callback} callback - Function execute on the overlapping partition key ranges result, - * takes two parameters error, partition key ranges - * @param collectionLink - * @param sortedRanges - * @ignore - */ - public async getOverlappingRanges(collectionLink: string, sortedRanges: QueryRange[]): Promise { - // validate if the list is non- overlapping and sorted TODO: any PartitionKeyRanges - if (!SmartRoutingMapProvider._isSortedAndNonOverlapping(sortedRanges)) { - throw new Error("the list of ranges is not a non-overlapping sorted ranges"); - } - - let partitionKeyRanges: any[] = []; // TODO: any ParitionKeyRanges - - if (sortedRanges.length === 0) { - return partitionKeyRanges; - } - - const collectionRoutingMap = await this.partitionKeyRangeCache.onCollectionRoutingMap(collectionLink); - - let index = 0; - let currentProvidedRange = sortedRanges[index]; - while (true) { - if (currentProvidedRange.isEmpty()) { - // skip and go to the next item - if (++index >= sortedRanges.length) { - return partitionKeyRanges; - } - currentProvidedRange = sortedRanges[index]; - continue; - } - - let queryRange; - if (partitionKeyRanges.length > 0) { - queryRange = SmartRoutingMapProvider._subtractRange( - currentProvidedRange, - partitionKeyRanges[partitionKeyRanges.length - 1] - ); - } else { - queryRange = currentProvidedRange; - } - - const overlappingRanges = collectionRoutingMap.getOverlappingRanges(queryRange); - if (overlappingRanges.length <= 0) { - throw new Error(`error: returned overlapping ranges for queryRange ${queryRange} is empty`); - } - partitionKeyRanges = partitionKeyRanges.concat(overlappingRanges); - - const lastKnownTargetRange = QueryRange.parsePartitionKeyRange(partitionKeyRanges[partitionKeyRanges.length - 1]); - if (!lastKnownTargetRange) { - throw new Error("expected lastKnowTargetRange to be truthy"); - } - // the overlapping ranges must contain the requested range - - if (SmartRoutingMapProvider._stringCompare(currentProvidedRange.max, lastKnownTargetRange.max) > 0) { - throw new Error(`error: returned overlapping ranges ${overlappingRanges} \ - does not contain the requested range ${queryRange}`); - } - - // the current range is contained in partitionKeyRanges just move forward - if (++index >= sortedRanges.length) { - return partitionKeyRanges; - } - currentProvidedRange = sortedRanges[index]; - - while (SmartRoutingMapProvider._stringCompare(currentProvidedRange.max, lastKnownTargetRange.max) <= 0) { - // the current range is covered too.just move forward - if (++index >= sortedRanges.length) { - return partitionKeyRanges; - } - currentProvidedRange = sortedRanges[index]; - } - } - } -} diff --git a/sdk/cosmosdb/cosmos/src/session/SessionContext.ts b/sdk/cosmosdb/cosmos/src/session/SessionContext.ts deleted file mode 100644 index aa660ef66ce9..000000000000 --- a/sdk/cosmosdb/cosmos/src/session/SessionContext.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface SessionContext { - resourceId?: string; - resourceAddress?: string; - resourceType?: string; // TODO: enum - isNameBased?: boolean; - operationType?: string; // TODO: enum -} diff --git a/sdk/cosmosdb/cosmos/src/session/VectorSessionToken.ts b/sdk/cosmosdb/cosmos/src/session/VectorSessionToken.ts deleted file mode 100644 index fcdbc51ff9f1..000000000000 --- a/sdk/cosmosdb/cosmos/src/session/VectorSessionToken.ts +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Models vector clock bases session token. Session token has the following format: - * {Version}#{GlobalLSN}#{RegionId1}={LocalLsn1}#{RegionId2}={LocalLsn2}....#{RegionIdN}={LocalLsnN} - * 'Version' captures the configuration number of the partition which returned this session token. - * 'Version' is incremented everytime topology of the partition is updated (say due to Add/Remove/Failover). - * - * The choice of separators '#' and '=' is important. Separators ';' and ',' are used to delimit - * per-partitionKeyRange session token - * @hidden - * @private - * - */ -export class VectorSessionToken { - private static readonly SEGMENT_SEPARATOR = "#"; - private static readonly REGION_PROGRESS_SEPARATOR = "="; - - constructor( - private readonly version: number, - private readonly globalLsn: number, - private readonly localLsnByregion: Map, - private readonly sessionToken?: string - ) { - if (!this.sessionToken) { - const regionAndLocalLsn = []; - for (const [key, value] of this.localLsnByregion.entries()) { - regionAndLocalLsn.push(`${key}${VectorSessionToken.REGION_PROGRESS_SEPARATOR}${value}`); - } - const regionProgress = regionAndLocalLsn.join(VectorSessionToken.SEGMENT_SEPARATOR); - if (regionProgress === "") { - this.sessionToken = `${this.version}${VectorSessionToken.SEGMENT_SEPARATOR}${this.globalLsn}`; - } else { - this.sessionToken = `${this.version}${VectorSessionToken.SEGMENT_SEPARATOR}${this.globalLsn}${ - VectorSessionToken.SEGMENT_SEPARATOR - }${regionProgress}`; - } - } - } - - public static create(sessionToken: string): VectorSessionToken { - if (!sessionToken) { - return null; - } - - const [versionStr, globalLsnStr, ...regionSegments] = sessionToken.split(VectorSessionToken.SEGMENT_SEPARATOR); - - const version = parseInt(versionStr, 10); - const globalLsn = parseFloat(globalLsnStr); - - if (typeof version !== "number" || typeof globalLsn !== "number") { - return null; - } - - const lsnByRegion = new Map(); - for (const regionSegment of regionSegments) { - const [regionIdStr, localLsnStr] = regionSegment.split(VectorSessionToken.REGION_PROGRESS_SEPARATOR); - - if (!regionIdStr || !localLsnStr) { - return null; - } - - const regionId = parseInt(regionIdStr, 10); - let localLsn: string; - try { - localLsn = localLsnStr; - } catch (err) { - // TODO: log error - return null; - } - if (typeof regionId !== "number") { - return null; - } - - lsnByRegion.set(regionId, localLsn); - } - - return new VectorSessionToken(version, globalLsn, lsnByRegion, sessionToken); - } - - public equals(other: VectorSessionToken): boolean { - return !other - ? false - : this.version === other.version && - this.globalLsn === other.globalLsn && - this.areRegionProgressEqual(other.localLsnByregion); - } - - public merge(other: VectorSessionToken): VectorSessionToken { - if (other == null) { - throw new Error("other (Vector Session Token) must not be null"); - } - - if (this.version === other.version && this.localLsnByregion.size !== other.localLsnByregion.size) { - throw new Error(`Compared session tokens ${this.sessionToken} and ${other.sessionToken} have unexpected regions`); - } - - const [higherVersionSessionToken, lowerVersionSessionToken]: [VectorSessionToken, VectorSessionToken] = - this.version < other.version ? [other, this] : [this, other]; - - const highestLocalLsnByRegion = new Map(); - - for (const [regionId, highLocalLsn] of higherVersionSessionToken.localLsnByregion.entries()) { - const lowLocalLsn = lowerVersionSessionToken.localLsnByregion.get(regionId); - if (lowLocalLsn) { - highestLocalLsnByRegion.set(regionId, max(highLocalLsn, lowLocalLsn)); - } else if (this.version === other.version) { - throw new Error( - `Compared session tokens have unexpected regions. Session 1: ${this.sessionToken} - Session 2: ${ - this.sessionToken - }` - ); - } else { - highestLocalLsnByRegion.set(regionId, highLocalLsn); - } - } - - return new VectorSessionToken( - Math.max(this.version, other.version), - Math.max(this.globalLsn, other.globalLsn), - highestLocalLsnByRegion - ); - } - - public toString() { - return this.sessionToken; - } - - private areRegionProgressEqual(other: Map): boolean { - if (this.localLsnByregion.size !== other.size) { - return false; - } - - for (const [regionId, localLsn] of this.localLsnByregion.entries()) { - const otherLocalLsn = other.get(regionId); - - if (localLsn !== otherLocalLsn) { - return false; - } - } - return true; - } -} - -function max(int1: string, int2: string) { - // NOTE: This only works for positive numbers - if (int1.length === int2.length) { - return int1 > int2 ? int1 : int2; - } else if (int1.length > int2.length) { - return int1; - } else { - return int2; - } -} diff --git a/sdk/cosmosdb/cosmos/src/session/sessionContainer.ts b/sdk/cosmosdb/cosmos/src/session/sessionContainer.ts deleted file mode 100644 index 4442dea7fd7f..000000000000 --- a/sdk/cosmosdb/cosmos/src/session/sessionContainer.ts +++ /dev/null @@ -1,157 +0,0 @@ -import { Constants, Helper } from "../common"; -import { IHeaders } from "../queryExecutionContext"; -import { SessionContext } from "./SessionContext"; -import { VectorSessionToken } from "./VectorSessionToken"; - -/** @hidden */ -export class SessionContainer { - private static readonly EMPTY_SESSION_TOKEN = ""; - private static readonly SESSION_TOKEN_SEPARATOR = ","; - private static readonly SESSION_TOKEN_PARTITION_SPLITTER = ":"; - constructor( - private collectionNameToCollectionResourceId = new Map(), - private collectionResourceIdToSessionTokens = new Map>() - ) {} - - public get(request: SessionContext) { - if (!request) { - throw new Error("request cannot be null"); - } - const collectionName = Helper.getContainerLink(Helper.trimSlashes(request.resourceAddress)); - const rangeIdToTokenMap = this.getPartitionKeyRangeIdToTokenMap(collectionName); - return SessionContainer.getCombinedSessionTokenString(rangeIdToTokenMap); - } - - public remove(request: SessionContext) { - let collectionResourceId: string; - const resourceAddress = Helper.trimSlashes(request.resourceAddress); - const collectionName = Helper.getContainerLink(resourceAddress); - if (collectionName) { - collectionResourceId = this.collectionNameToCollectionResourceId.get(collectionName); - this.collectionNameToCollectionResourceId.delete(collectionName); - } - if (collectionResourceId !== undefined) { - this.collectionResourceIdToSessionTokens.delete(collectionResourceId); - } - } - - public set(request: SessionContext, resHeaders: IHeaders) { - // TODO: we check the master logic a few different places. Might not need it. - if (!resHeaders || SessionContainer.isReadingFromMaster(request.resourceType, request.operationType)) { - return; - } - - const sessionTokenString = resHeaders[Constants.HttpHeaders.SessionToken]; - if (!sessionTokenString) { - return; - } - - const containerName = this.getContainerName(request, resHeaders); - - const ownerId = !request.isNameBased - ? request.resourceId - : resHeaders[Constants.HttpHeaders.OwnerId] || request.resourceId; - - if (!ownerId) { - return; - } - - if (containerName && this.validateOwnerID(ownerId)) { - if (!this.collectionResourceIdToSessionTokens.has(ownerId)) { - this.collectionResourceIdToSessionTokens.set(ownerId, new Map()); - } - - if (!this.collectionNameToCollectionResourceId.has(containerName)) { - this.collectionNameToCollectionResourceId.set(containerName, ownerId); - } - - const containerSessionContainer = this.collectionResourceIdToSessionTokens.get(ownerId); - SessionContainer.compareAndSetToken(sessionTokenString, containerSessionContainer); - } - } - - private validateOwnerID(ownerId: string) { - const ownerIdBuffer = Buffer.from(ownerId, "base64"); - // If ownerId contains exactly 8 bytes it represents a unique database+collection identifier. Otherwise it represents another resource - // The first 4 bytes are the database. The last 4 bytes are the collection. - if (ownerIdBuffer.length === 8) { - return true; - } - return false; - } - - private getPartitionKeyRangeIdToTokenMap(collectionName: string): Map { - let rangeIdToTokenMap: Map = null; - if (collectionName && this.collectionNameToCollectionResourceId.has(collectionName)) { - rangeIdToTokenMap = this.collectionResourceIdToSessionTokens.get( - this.collectionNameToCollectionResourceId.get(collectionName) - ); - } - - return rangeIdToTokenMap; - } - - private static getCombinedSessionTokenString(tokens: Map) { - if (!tokens || tokens.size === 0) { - return SessionContainer.EMPTY_SESSION_TOKEN; - } - - let result = ""; - for (const [range, token] of tokens.entries()) { - result += - range + - SessionContainer.SESSION_TOKEN_PARTITION_SPLITTER + - token.toString() + - SessionContainer.SESSION_TOKEN_SEPARATOR; - } - return result.slice(0, -1); - } - - private static compareAndSetToken(newTokenString: string, containerSessionTokens: Map) { - if (!newTokenString) { - return; - } - - const partitionsParts = newTokenString.split(SessionContainer.SESSION_TOKEN_SEPARATOR); - for (const partitionPart of partitionsParts) { - const newTokenParts = partitionPart.split(SessionContainer.SESSION_TOKEN_PARTITION_SPLITTER); - if (newTokenParts.length !== 2) { - return; - } - - const range = newTokenParts[0]; - const newToken = VectorSessionToken.create(newTokenParts[1]); - const tokenForRange = !containerSessionTokens.get(range) - ? newToken - : containerSessionTokens.get(range).merge(newToken); - containerSessionTokens.set(range, tokenForRange); - } - } - - // TODO: have a assert if the type doesn't mastch known types - private static isReadingFromMaster(resourceType: string, operationType: string): boolean { - if ( - resourceType === Constants.Path.OffersPathSegment || - resourceType === Constants.Path.DatabasesPathSegment || - resourceType === Constants.Path.UsersPathSegment || - resourceType === Constants.Path.PermissionsPathSegment || - resourceType === Constants.Path.TopologyPathSegment || - resourceType === Constants.Path.DatabaseAccountPathSegment || - resourceType === Constants.Path.PartitionKeyRangesPathSegment || - (resourceType === Constants.Path.CollectionsPathSegment && operationType === Constants.OperationTypes.Query) - ) { - return true; - } - - return false; - } - - private getContainerName(request: SessionContext, headers: IHeaders) { - let ownerFullName = headers[Constants.HttpHeaders.OwnerFullName]; - if (!ownerFullName) { - ownerFullName = Helper.trimSlashes(request.resourceAddress); - } - - return Helper.getContainerLink(ownerFullName as string); - } -} diff --git a/sdk/cosmosdb/cosmos/src/test/common/BaselineTest.PathParser.ts b/sdk/cosmosdb/cosmos/src/test/common/BaselineTest.PathParser.ts deleted file mode 100644 index 5c9435a0fe91..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/common/BaselineTest.PathParser.ts +++ /dev/null @@ -1,98 +0,0 @@ -export default [ - { - path: "/", - parts: [] - }, - { - path: "/*", - parts: ["*"] - }, - { - path: '/"Key1"/*', - parts: ["Key1", "*"] - }, - { - path: '/"Key1"/"StringValue"/*', - parts: ["Key1", "StringValue", "*"] - }, - { - path: "/'Key1'/'StringValue'/*", - parts: ["Key1", "StringValue", "*"] - }, - { - path: "/'Ke\\\"\\\"y1'/'Strin\\\"gValue'/*", - parts: ['Ke\\"\\"y1', 'Strin\\"gValue', "*"] - }, - { - path: '/\'Ke\\"\\"y1\'/"Strin\'gValue"/*', - parts: ['Ke\\"\\"y1', "Strin'gValue", "*"] - }, - { - path: "/'Key1'/'StringValue'/*", - parts: ["Key1", "StringValue", "*"] - }, - { - path: '/"Key1"/"Key2"/*', - parts: ["Key1", "Key2", "*"] - }, - { - path: '/"Key1"/"Key2"/"Key3"/*', - parts: ["Key1", "Key2", "Key3", "*"] - }, - { - path: '/"A"/"B"/"R"/[]/"Address"/[]/*', - parts: ["A", "B", "R", "[]", "Address", "[]", "*"] - }, - { - path: '/"A"/"B"/"R"/[]/"Address"/[]/*', - parts: ["A", "B", "R", "[]", "Address", "[]", "*"] - }, - { - path: '/"A"/"B"/"R"/[]/"Address"/*', - parts: ["A", "B", "R", "[]", "Address", "*"] - }, - { - path: '/"Key1"/"Key2"/?', - parts: ["Key1", "Key2", "?"] - }, - { - path: '/"Key1"/"Key2"/*', - parts: ["Key1", "Key2", "*"] - }, - { - path: '/"123"/"StringValue"/*', - parts: ["123", "StringValue", "*"] - }, - { - path: "/'!@#$%^&*()_+='/'StringValue'/*", - parts: ["!@#$%^&*()_+=", "StringValue", "*"] - }, - { - path: '/"_ts"/?', - parts: ["_ts", "?"] - }, - { - path: '/[]/"City"/*', - parts: ["[]", "City", "*"] - }, - { - path: "/[]/*", - parts: ["[]", "*"] - }, - { - path: '/[]/"fine!"/*', - parts: ["[]", "fine!", "*"] - }, - { - path: - '/"this is a long key with speicial characters (*)(*)__)((*&*(&*&\'*(&)()(*_)()(_(_)*!@#$%^ and numbers 132654890"/*', - parts: [ - "this is a long key with speicial characters (*)(*)__)((*&*(&*&'*(&)()(*_)()(_(_)*!@#$%^ and numbers 132654890", - "*" - ] - }, - { - path: "/ Key 1 / Key 2 ", - parts: ["Key 1", "Key 2"] - } -]; diff --git a/sdk/cosmosdb/cosmos/src/test/common/MockClientContext.ts b/sdk/cosmosdb/cosmos/src/test/common/MockClientContext.ts deleted file mode 100644 index 12d8e1481e45..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/common/MockClientContext.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { MockedQueryIterator } from "./MockQueryIterator"; - -/** @hidden */ -export class MockedClientContext { - constructor(private partitionKeyRanges: any, private collectionId: any) {} - public readPartitionKeyRanges(collectionLink: any) { - return new MockedQueryIterator(this.partitionKeyRanges); - } - - public queryPartitionKeyRanges(collectionLink: any) { - return new MockedQueryIterator(this.partitionKeyRanges); - } -} diff --git a/sdk/cosmosdb/cosmos/src/test/common/MockQueryIterator.ts b/sdk/cosmosdb/cosmos/src/test/common/MockQueryIterator.ts deleted file mode 100644 index 69ff985c9572..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/common/MockQueryIterator.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** @hidden */ -export class MockedQueryIterator { - constructor(private results: any) {} - public async toArray() { - return { result: this.results }; - } -} diff --git a/sdk/cosmosdb/cosmos/src/test/common/TestData.ts b/sdk/cosmosdb/cosmos/src/test/common/TestData.ts deleted file mode 100644 index 57af3d0bf014..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/common/TestData.ts +++ /dev/null @@ -1,42 +0,0 @@ -/** @hidden */ -export class TestData { - public numberOfDocuments: number; - public field: string; - public numberOfDocsWithSamePartitionKey: number; - public numberOfDocumentsWithNumbericId: number; - public sum: number; - public docs: any[]; - constructor(public partitionKey: string, public uniquePartitionKey: string) { - this.numberOfDocuments = 800; - this.field = "field"; - const docs = []; - - const values = [null, false, true, "abc", "cdfg", "opqrs", "ttttttt", "xyz", "oo", "ppp"]; - for (const value of values) { - const d: any = {}; - d[partitionKey] = value; - docs.push(d); - } - - this.numberOfDocsWithSamePartitionKey = 400; - for (let i = 0; i < this.numberOfDocsWithSamePartitionKey; ++i) { - const d: any = {}; - d[partitionKey] = uniquePartitionKey; - d["resourceId"] = i.toString(); - d[this.field] = i + 1; - docs.push(d); - } - - this.numberOfDocumentsWithNumbericId = - this.numberOfDocuments - values.length - this.numberOfDocsWithSamePartitionKey; - for (let i = 0; i < this.numberOfDocumentsWithNumbericId; ++i) { - const d: any = {}; - d[partitionKey] = i + 1; - docs.push(d); - } - - this.sum = (this.numberOfDocumentsWithNumbericId * (this.numberOfDocumentsWithNumbericId + 1)) / 2.0; - - this.docs = docs; - } -} diff --git a/sdk/cosmosdb/cosmos/src/test/common/TestHelpers.ts b/sdk/cosmosdb/cosmos/src/test/common/TestHelpers.ts deleted file mode 100644 index c6158f3d1c56..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/common/TestHelpers.ts +++ /dev/null @@ -1,328 +0,0 @@ -import assert from "assert"; -import { Container, CosmosClient, Database, DatabaseDefinition, Item, RequestOptions, Response } from "../.."; -import { - ContainerDefinition, - ItemDefinition, - ItemResponse, - PermissionResponse, - Resource, - TriggerResponse, - User, - UserDefinedFunctionResponse -} from "../../client"; -import { StoredProcedureResponse } from "../../client/StoredProcedure/StoredProcedureResponse"; -import { UserResponse } from "../../client/User/UserResponse"; -import { endpoint, masterKey } from "./_testConfig"; - -const defaultClient = new CosmosClient({ endpoint, auth: { masterKey } }); - -export function addEntropy(name: string): string { - return name + getEntropy(); -} - -export function getEntropy(): string { - return `${Math.floor(Math.random() * 10000)}`; -} - -export async function removeAllDatabases(client: CosmosClient = defaultClient) { - try { - const { result: databases } = await client.databases.readAll().toArray(); - const length = databases.length; - - if (length === 0) { - return; - } - - const count = 0; - await Promise.all( - databases.map>>(async (database: DatabaseDefinition) => - client.database(database.id).delete() - ) - ); - } catch (err) { - // TODO: remove console logging for errors and add ts-lint flag back - console.log("An error occured", err); - assert.fail(err); - throw err; - } -} - -export async function getTestDatabase(testName: string, client: CosmosClient = defaultClient) { - const entropy = Math.floor(Math.random() * 10000); - const id = `${testName.replace(" ", "").substring(0, 30)}${entropy}`; - await client.databases.create({ id }); - return client.database(id); -} - -export async function getTestContainer( - testName: string, - client: CosmosClient = defaultClient, - containerDef?: ContainerDefinition, - options?: RequestOptions -) { - const db = await getTestDatabase(testName, client); - const entropy = Math.floor(Math.random() * 10000); - const id = `${testName.replace(" ", "").substring(0, 30)}${entropy}`; - await db.containers.create({ ...containerDef, ...{ id } }, options); - return db.container(id); -} - -export async function bulkInsertItems( - container: Container, - documents: any[] -): Promise> { - const returnedDocuments = []; - for (const doc of documents) { - try { - const { body: document } = await container.items.create(doc); - returnedDocuments.push(document); - } catch (err) { - throw err; - } - } - return returnedDocuments; -} - -export async function bulkReadItems(container: Container, documents: any[], partitionKey: string) { - for (const document of documents) { - try { - const options = - partitionKey && document.hasOwnProperty(partitionKey) - ? { partitionKey: document[partitionKey] } - : { partitionKey: {} }; - - // TODO: should we block or do all requests in parallel? - const { body: doc } = await container.item(document.id).read(options); - - assert.equal(JSON.stringify(doc), JSON.stringify(document)); - } catch (err) { - throw err; - } - } -} - -export async function bulkReplaceItems(container: Container, documents: any[]): Promise { - const returnedDocuments: any[] = []; - for (const document of documents) { - try { - const { body: doc } = await container.item(document.id).replace(document); - const expectedModifiedDocument = JSON.parse(JSON.stringify(document)); - delete expectedModifiedDocument._etag; - delete expectedModifiedDocument._ts; - const actualModifiedDocument = JSON.parse(JSON.stringify(doc)); - delete actualModifiedDocument._etag; - delete actualModifiedDocument._ts; - assert.equal(JSON.stringify(actualModifiedDocument), JSON.stringify(expectedModifiedDocument)); - returnedDocuments.push(doc); - } catch (err) { - throw err; - } - } - return returnedDocuments; -} - -export async function bulkDeleteItems( - container: Container, - documents: any[], - partitionKeyPropertyName: string -): Promise { - for (const document of documents) { - try { - const options = - partitionKeyPropertyName && document.hasOwnProperty(partitionKeyPropertyName) - ? { partitionKey: document[partitionKeyPropertyName] } - : { partitionKey: {} }; - - await container.item(document.id).delete(options); - } catch (err) { - throw err; - } - } -} - -export async function bulkQueryItemsWithPartitionKey( - container: Container, - documents: any[], - partitionKeyPropertyName: any -): Promise { - for (const document of documents) { - try { - if (!document.hasOwnProperty(partitionKeyPropertyName)) { - continue; - } - - const querySpec = { - query: "SELECT * FROM root r WHERE r." + partitionKeyPropertyName + "=@key", - parameters: [ - { - name: "@key", - value: document[partitionKeyPropertyName] - } - ] - }; - - const { result: results } = await container.items.query(querySpec).toArray(); - assert.equal(results.length, 1, "Expected exactly 1 document"); - assert.equal(JSON.stringify(results[0]), JSON.stringify(document)); - } catch (err) { - throw err; - } - } -} - -// Item -export async function createOrUpsertItem( - container: Container, - body: any, - options: RequestOptions, - isUpsertTest: boolean -): Promise> { - if (isUpsertTest) { - return container.items.upsert(body, options); - } else { - return container.items.create(body, options); - } -} - -export async function replaceOrUpsertItem( - container: Container, - body: any, - options: RequestOptions, - isUpsertTest: boolean -): Promise> { - if (isUpsertTest) { - return container.items.upsert(body, options); - } else { - return container.item(body.id).replace(body, options); - } -} - -// User -export function createOrUpsertUser( - database: Database, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return database.users.upsert(body, options); - } else { - return database.users.create(body, options); - } -} -export function replaceOrUpsertUser( - database: Database, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return database.users.upsert(body, options); - } else { - return database.user(body.id).replace(body, options); - } -} - -export function createOrUpsertPermission( - user: User, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return user.permissions.upsert(body, options); - } else { - return user.permissions.create(body, options); - } -} - -export function replaceOrUpsertPermission( - user: User, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return user.permissions.upsert(body, options); - } else { - return user.permission(body.id).replace(body, options); - } -} - -// Trigger -export function createOrUpsertTrigger( - container: Container, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return container.triggers.upsert(body, options); - } else { - return container.triggers.create(body, options); - } -} -export function replaceOrUpsertTrigger( - container: Container, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return container.triggers.upsert(body, options); - } else { - return container.trigger(body.id).replace(body, options); - } -} - -// User Defined Function -export function createOrUpsertUserDefinedFunction( - container: Container, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return container.userDefinedFunctions.upsert(body, options); - } else { - return container.userDefinedFunctions.create(body, options); - } -} -export function replaceOrUpsertUserDefinedFunction( - container: Container, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return container.userDefinedFunctions.upsert(body, options); - } else { - return container.userDefinedFunction(body.id).replace(body, options); - } -} - -// Stored Procedure -export function createOrUpsertStoredProcedure( - container: Container, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return container.storedProcedures.upsert(body, options); - } else { - return container.storedProcedures.create(body, options); - } -} -export function replaceOrUpsertStoredProcedure( - container: Container, - body: any, - options: any, - isUpsertTest: boolean -): Promise { - if (isUpsertTest) { - return container.storedProcedures.upsert(body, options); - } else { - return container.storedProcedure(body.id).replace(body, options); - } -} diff --git a/sdk/cosmosdb/cosmos/src/test/common/_testConfig.ts b/sdk/cosmosdb/cosmos/src/test/common/_testConfig.ts deleted file mode 100644 index 014468392586..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/common/_testConfig.ts +++ /dev/null @@ -1,11 +0,0 @@ -// [SuppressMessage("Microsoft.Security", "CS002:SecretInNextLine")] -const masterKey = - process.env.ACCOUNT_KEY || "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="; -const endpoint = process.env.ACCOUNT_HOST || "https://localhost:8081"; - -// This is needed to disable SSL verification for the tests running against emulator. -if (endpoint.includes("https://localhost")) { - process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; -} - -export { masterKey, endpoint }; diff --git a/sdk/cosmosdb/cosmos/src/test/common/setup.ts b/sdk/cosmosdb/cosmos/src/test/common/setup.ts deleted file mode 100644 index 3a3e44cade2f..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/common/setup.ts +++ /dev/null @@ -1,11 +0,0 @@ -process.on("unhandledRejection", error => { - if (error.body) { - try { - error.body = JSON.parse(error.body); - } catch (err) { - /* NO OP */ - } - } - console.error(new Error("Unhandled exception found")); - console.error(JSON.stringify(error, null, " ")); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/authorization.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/authorization.spec.ts deleted file mode 100644 index 7bb4ffd25b01..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/authorization.spec.ts +++ /dev/null @@ -1,241 +0,0 @@ -import assert from "assert"; -import { CosmosClient, DocumentBase } from "../.."; -import { PermissionDefinition } from "../../client"; -import { endpoint, masterKey } from "../common/_testConfig"; -import { createOrUpsertPermission, getTestContainer, getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - - describe("Validate Authorization", function() { - it("should handle all the key options", async function() { - const clientOptionsKey = new CosmosClient({ endpoint, key: masterKey }); - assert( - undefined !== (await clientOptionsKey.databases.readAll().toArray()), - "Should be able to fetch list of databases" - ); - - const clientOptionsAuthKey = new CosmosClient({ endpoint, auth: { key: masterKey } }); - assert( - undefined !== (await clientOptionsAuthKey.databases.readAll().toArray()), - "Should be able to fetch list of databases" - ); - - const clientOptionsAuthMasterKey = new CosmosClient({ endpoint, auth: { masterKey } }); - assert( - undefined !== (await clientOptionsAuthMasterKey.databases.readAll().toArray()), - "Should be able to fetch list of databases" - ); - }); - - const setupEntities = async function(isUpsertTest: boolean) { - // create database - const database = await getTestDatabase("Validate Authorization database"); - // create container1 - - const { body: container1 } = await database.containers.create({ id: "Validate Authorization container" }); - // create document1 - const { body: document1 } = await database - .container(container1.id) - .items.create({ id: "coll1doc1", foo: "bar", key: "value" }); - // create document 2 - const { body: document2 } = await database - .container(container1.id) - .items.create({ id: "coll1doc2", foo: "bar2", key: "value2" }); - - // create container 2 - const { body: container2 } = await database.containers.create({ id: "sample container2" }); - - // create user1 - const { body: user1 } = await database.users.create({ id: "user1" }); - let permission = { - id: "permission On Coll1", - permissionMode: DocumentBase.PermissionMode.Read, - resource: (container1 as any)._self - }; // TODO: any rid stuff - // create permission for container1 - const { body: permissionOnColl1 } = await createOrUpsertPermission( - database.user(user1.id), - permission, - undefined, - isUpsertTest - ); - assert((permissionOnColl1 as any)._token !== undefined, "permission token is invalid"); - permission = { - id: "permission On Doc1", - permissionMode: DocumentBase.PermissionMode.All, - resource: (document2 as any)._self // TODO: any rid - }; - // create permission for document 2 - const { body: permissionOnDoc2 } = await createOrUpsertPermission( - database.user(user1.id), - permission, - undefined, - isUpsertTest - ); - assert((permissionOnDoc2 as any)._token !== undefined, "permission token is invalid"); // TODO: any rid - - // create user 2 - const { body: user2 } = await database.users.create({ id: "user2" }); - permission = { - id: "permission On coll2", - permissionMode: DocumentBase.PermissionMode.All, - resource: (container2 as any)._self // TODO: any rid - }; - // create permission on container 2 - const { body: permissionOnColl2 } = await createOrUpsertPermission( - database.user(user2.id), - permission, - undefined, - isUpsertTest - ); - const entities = { - database, - coll1: container1, - coll2: container2, - doc1: document1, - doc2: document2, - user1, - user2, - permissionOnColl1, - permissionOnDoc2, - permissionOnColl2 - }; - - return entities; - }; - - const authorizationCRUDTest = async function(isUpsertTest: boolean) { - try { - const badclient = new CosmosClient({ endpoint, auth: undefined }); - const { result: databases } = await badclient.databases.readAll().toArray(); - assert.fail("Must fail"); - } catch (err) { - assert(err !== undefined, "error should not be undefined"); - const unauthorizedErrorCode = 401; - assert.equal(err.code, unauthorizedErrorCode, "error code should be equal to 401"); - } - - // setup entities - // TODO: should move this out of this test and into before/etc. - const entities = await setupEntities(isUpsertTest); - const resourceTokens: any = {}; - resourceTokens[entities.coll1.id] = (entities.permissionOnColl1 as any)._token; - resourceTokens[entities.doc1.id] = (entities.permissionOnColl1 as any)._token; - - const col1Client = new CosmosClient({ endpoint, auth: { resourceTokens } }); - - // 1. Success-- Use Col1 Permission to Read - const { body: successColl1 } = await col1Client - .database(entities.database.id) - .container(entities.coll1.id) - .read(); - assert(successColl1 !== undefined, "error reading container"); - - // 2. Failure-- Use Col1 Permission to delete - try { - await col1Client - .database(entities.database.id) - .container(entities.coll1.id) - .delete(); - assert.fail("must fail if no permission"); - } catch (err) { - assert(err !== undefined, "expected to fail, no permission to delete"); - assert.equal(err.code, 403, "Must return a code for not authorized"); - } - - // 3. Success-- Use Col1 Permission to Read All Docs - const { result: successDocuments } = await col1Client - .database(entities.database.id) - .container(entities.coll1.id) - .items.readAll() - .toArray(); - assert(successDocuments !== undefined, "error reading documents"); - assert.equal(successDocuments.length, 2, "Expected 2 Documents to be succesfully read"); - - // 4. Success-- Use Col1 Permission to Read Col1Doc1 - const { body: successDoc } = await col1Client - .database(entities.database.id) - .container(entities.coll1.id) - .item(entities.doc1.id) - .read(); - assert(successDoc !== undefined, "error reading document"); - assert.equal(successDoc.id, entities.doc1.id, "Expected to read children using parent permissions"); - - // TODO: Permission Feed uses RID right now - /* - const col2Client = new CosmosClient({ - endpoint, - auth: { permissionFeed: [entities.permissionOnColl2] }, - }); - const doc = { id: "new doc", CustomProperty1: "BBBBBB", customProperty2: 1000 }; - const col2Container = await col2Client.databaseDatabase(entities.db.id) - .containerContainer(entities.coll2.id); - const { result: successDoc2 } = await createOrUpsertItem( - col2Container, doc, undefined, isUpsertTest); - assert(successDoc2 !== undefined, "error creating document"); - assert.equal(successDoc2.CustomProperty1, doc.CustomProperty1, - "document should have been created successfully"); - */ - }; - - const authorizationCRUDOverMultiplePartitionsTest = async function() { - // create database - // create container - const partitionKey = "key"; - const containerDefinition = { - id: "coll1", - partitionKey: { paths: ["/" + partitionKey], kind: DocumentBase.PartitionKind.Hash } - }; - const container = await getTestContainer("authorization CRUD multiple partitons", undefined, containerDefinition); - // create user - const { body: userDef } = await container.database.users.create({ id: "user1" }); - const user = container.database.user(userDef.id); - - const key = 1; - const permissionDefinition: PermissionDefinition = { - id: "permission1", - permissionMode: DocumentBase.PermissionMode.All, - resource: container.url, - resourcePartitionKey: [key] - }; - - // create permission - const { body: permission } = await user.permissions.create(permissionDefinition); - assert((permission as any)._token !== undefined, "permission token is invalid"); - const resourceTokens: any = {}; - resourceTokens[container.id] = (permission as any)._token; - - const restrictedClient = new CosmosClient({ endpoint, auth: { resourceTokens } }); - await restrictedClient - .database(container.database.id) - .container(container.id) - .items.create({ id: "document1", key: 1 }); - try { - await restrictedClient - .database(container.database.id) - .container(container.id) - .items.create({ id: "document2", key: 2 }); - assert.fail("Must throw unauthorized on read"); - } catch (err) { - const unauthorizedErrorCode = 403; - assert.equal(err.code, unauthorizedErrorCode); - } - }; - - it("nativeApi Should do authorization successfully name based", async function() { - await authorizationCRUDTest(false); - }); - - it("nativeApi Should do authorization successfully name based with upsert", async function() { - await authorizationCRUDTest(true); - }); - - it("nativeApi Should do authorization over multiple partitions successfully name based", async function() { - await authorizationCRUDOverMultiplePartitionsTest(); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/client.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/client.spec.ts deleted file mode 100644 index d940b0fdd879..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/client.spec.ts +++ /dev/null @@ -1,48 +0,0 @@ -import assert from "assert"; -import { Agent } from "http"; -import { CosmosClient, DocumentBase } from "../.."; -import { endpoint, masterKey } from "../common/_testConfig"; -import { getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 20000); - - describe("Validate client request timeout", function() { - it("nativeApi Client Should throw exception", async function() { - const connectionPolicy = new DocumentBase.ConnectionPolicy(); - // making timeout 5 ms to make sure it will throw - // (create database request takes 10ms-15ms to finish on emulator) - connectionPolicy.RequestTimeout = 1; - const client = new CosmosClient({ endpoint, auth: { masterKey }, connectionPolicy }); - // create database - try { - await getTestDatabase("request timeout", client); - assert.fail("Must throw when trying to connect to database"); - } catch (err) { - assert.equal(err.code, "ECONNRESET", "client should throw exception"); - } - }); - }); - - describe("Constructor", function() { - it("Should work with a non-class based Connection Policy", function() { - const client = new CosmosClient({ - endpoint: "https://faaaaaake.com", - auth: { masterKey: "" }, - connectionPolicy: { - RequestTimeout: 10000 - } - }); - assert.ok(client !== undefined, "client shouldn't be undefined if it succeeded"); - }); - - it("Accepts node Agent", function() { - const client = new CosmosClient({ - endpoint: "https://faaaaaake.com", - auth: { masterKey: "" }, - agent: new Agent() - }); - assert.ok(client !== undefined, "client shouldn't be undefined if it succeeded"); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/container.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/container.spec.ts deleted file mode 100644 index 2047b7264138..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/container.spec.ts +++ /dev/null @@ -1,439 +0,0 @@ -import assert from "assert"; -import { Constants, DocumentBase } from "../.."; -import { ContainerDefinition, Database } from "../../client"; -import { DataType, Index, IndexedPath, IndexingMode, IndexingPolicy, IndexKind } from "../../documents"; -import { getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - - describe("Validate Container CRUD", function() { - const containerCRUDTest = async function(hasPartitionKey: boolean) { - try { - // create database - const database = await getTestDatabase("Validate Container CRUD"); - - // create a container - const containerDefinition: ContainerDefinition = { - id: "sample container", - indexingPolicy: { indexingMode: IndexingMode.consistent } - }; - - if (hasPartitionKey) { - containerDefinition.partitionKey = { paths: ["/id"], kind: DocumentBase.PartitionKind.Hash }; - } - - const { body: containerDef } = await database.containers.create(containerDefinition); - const container = database.container(containerDef.id); - assert.equal(containerDefinition.id, containerDef.id); - assert.equal("consistent", containerDef.indexingPolicy.indexingMode); - if (containerDef.partitionKey) { - assert.equal(containerDef.partitionKey.kind, containerDefinition.partitionKey.kind); - assert.deepEqual(containerDef.partitionKey.paths, containerDefinition.partitionKey.paths); - } - // read containers after creation - const { result: containers } = await database.containers.readAll().toArray(); - - assert.equal(containers.length, 1, "create should increase the number of containers"); - // query containers - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: containerDefinition.id - } - ] - }; - const { result: results } = await database.containers.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - const { result: ranges } = await container.readPartitionKeyRanges().toArray(); - assert(ranges.length > 0, "container should have at least 1 partition"); - - // Replacing indexing policy is allowed. - containerDef.indexingPolicy.indexingMode = IndexingMode.lazy; - const { body: replacedContainer } = await container.replace(containerDef); - assert.equal("lazy", replacedContainer.indexingPolicy.indexingMode); - - // Replacing partition key is not allowed. - try { - containerDef.partitionKey = { paths: ["/key"], kind: DocumentBase.PartitionKind.Hash }; - await container.replace(containerDef); - assert.fail("Replacing paritionkey must throw"); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode, "response should return error code " + badRequestErrorCode); - } finally { - containerDef.partitionKey = containerDefinition.partitionKey; // Resume partition key - } - // Replacing id is not allowed. - try { - containerDef.id = "try_to_replace_id"; - await container.replace(containerDef); - assert.fail("Replacing container id must throw"); - } catch (err) { - const notFoundErrorCode = 400; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - - // read container - containerDef.id = containerDefinition.id; // Resume Id. - const { body: readcontainer } = await container.read(); - assert.equal(containerDefinition.id, readcontainer.id); - - // delete container - await container.delete(); - - // read container after deletion - try { - await container.read(); - assert.fail("Must fail to read container after delete"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - } catch (err) { - throw err; - } - }; - - const badPartitionKeyDefinitionTest = async function(isNameBased: boolean) { - try { - // create database - const database = await getTestDatabase("container CRUD bad partition key"); - - // create a container - const badPartitionKeyDefinition: any = { - paths: "/id", // This is invalid. Must be an array. - kind: DocumentBase.PartitionKind.Hash - }; - - const containerDefinition: ContainerDefinition = { - id: "sample container", - indexingPolicy: { indexingMode: IndexingMode.consistent }, - partitionKey: badPartitionKeyDefinition // This is invalid, forced using type coersion - }; - - try { - await database.containers.create(containerDefinition); - } catch (err) { - assert.equal(err.code, 400); - } - } catch (err) { - throw err; - } - }; - - it("nativeApi Should do container CRUD operations successfully name based", async function() { - try { - await containerCRUDTest(false); - } catch (err) { - throw err; - } - }); - - it("nativeApi Should do elastic container CRUD operations successfully name based", async function() { - try { - await containerCRUDTest(true); - } catch (err) { - throw err; - } - }); - - it("nativeApi container with bad partition key definition name based", async function() { - try { - await badPartitionKeyDefinitionTest(true); - } catch (err) { - throw err; - } - }); - - it("nativeApi container with bad partition key definition name based", async function() { - try { - await badPartitionKeyDefinitionTest(false); - } catch (err) { - throw err; - } - }); - }); - - describe("Validate container indexing policy", function() { - it("nativeApi Should create container with correct indexing policy name based", async function() { - // create database - const database = await getTestDatabase("container test database"); - - // create container - const { body: containerDef } = await database.containers.create({ id: "container test container" }); - const container = database.container(containerDef.id); - - assert.equal( - containerDef.indexingPolicy.indexingMode, - DocumentBase.IndexingMode.consistent, - "default indexing mode should be consistent" - ); - await container.delete(); - - const lazyContainerDefinition: ContainerDefinition = { - id: "lazy container", - indexingPolicy: { indexingMode: DocumentBase.IndexingMode.lazy } - }; - - const { body: lazyContainerDef } = await database.containers.create(lazyContainerDefinition); - const lazyContainer = database.container(lazyContainerDef.id); - - assert.equal( - lazyContainerDef.indexingPolicy.indexingMode, - DocumentBase.IndexingMode.lazy, - "indexing mode should be lazy" - ); - - await lazyContainer.delete(); - - const uniqueKeysContainerDefinition: ContainerDefinition = { - id: "uniqueKeysContainer", - uniqueKeyPolicy: { uniqueKeys: [{ paths: ["/foo"] }] } - }; - - const { body: uniqueKeysContainerDef } = await database.containers.create(uniqueKeysContainerDefinition); - const uniqueKeysContainer = database.container(uniqueKeysContainerDef.id); - - assert.equal(uniqueKeysContainerDef.uniqueKeyPolicy.uniqueKeys[0].paths, "/foo"); - - await uniqueKeysContainer.delete(); - - const consistentcontainerDefinition: ContainerDefinition = { - id: "lazy container", - indexingPolicy: { indexingMode: "consistent" } // tests the type flexibility - }; - const { body: consistentContainerDef } = await database.containers.create(consistentcontainerDefinition); - const consistentContainer = database.container(consistentContainerDef.id); - assert.equal( - containerDef.indexingPolicy.indexingMode, - DocumentBase.IndexingMode.consistent, - "indexing mode should be consistent" - ); - await consistentContainer.delete(); - - const containerDefinition: ContainerDefinition = { - id: "containerWithIndexingPolicy", - indexingPolicy: { - automatic: true, - indexingMode: DocumentBase.IndexingMode.consistent, - includedPaths: [ - { - path: "/", - indexes: [ - { - kind: DocumentBase.IndexKind.Hash, - dataType: DocumentBase.DataType.Number, - precision: 2 - } - ] - } - ], - excludedPaths: [ - { - path: '/"systemMetadata"/*' - } - ] - } - }; - - const { body: containerWithIndexingPolicyDef } = await database.containers.create(containerDefinition); - - // Two included paths. - assert.equal( - 1, - containerWithIndexingPolicyDef.indexingPolicy.includedPaths.length, - "Unexpected includedPaths length" - ); - // The first included path is what we created. - assert.equal("/", containerWithIndexingPolicyDef.indexingPolicy.includedPaths[0].path); - // Backend adds a default index - assert(containerWithIndexingPolicyDef.indexingPolicy.includedPaths[0].indexes.length > 1); - assert.equal( - DocumentBase.IndexKind.Range, - containerWithIndexingPolicyDef.indexingPolicy.includedPaths[0].indexes[0].kind - ); - // The second included path is a timestamp index created by the server. - - // And two excluded paths. - assert.equal( - 2, - containerWithIndexingPolicyDef.indexingPolicy.excludedPaths.length, - "Unexpected excludedPaths length" - ); - assert.equal('/"systemMetadata"/*', containerWithIndexingPolicyDef.indexingPolicy.excludedPaths[0].path); - }); - - const checkDefaultIndexingPolicyPaths = function(indexingPolicy: IndexingPolicy) { - assert.equal(1, indexingPolicy["excludedPaths"].length); - assert.equal(1, indexingPolicy["includedPaths"].length); - - let rootIncludedPath: IndexedPath = null; - if (indexingPolicy["includedPaths"][0]["path"] === "/*") { - rootIncludedPath = indexingPolicy["includedPaths"][0]; - } - - assert(rootIncludedPath); // root path should exist. - - // In the root path, there should be two indexes. One for Strings and one for Numbers. - assert.equal(2, rootIncludedPath["indexes"].length); - }; - - const defaultIndexingPolicyTest = async function() { - try { - // create database - const database = await getTestDatabase("container test database"); - - // create container with no indexing policy specified. - const containerDefinition01: ContainerDefinition = { id: "TestCreateDefaultPolicy01" }; - const { body: containerNoIndexPolicyDef } = await database.containers.create(containerDefinition01); - checkDefaultIndexingPolicyPaths(containerNoIndexPolicyDef["indexingPolicy"]); - - // create container with partial policy specified. - const containerDefinition02: ContainerDefinition = { - id: "TestCreateDefaultPolicy02", - indexingPolicy: { - indexingMode: IndexingMode.lazy, - automatic: true - } - }; - - const { body: containerWithPartialPolicyDef } = await database.containers.create(containerDefinition02); - checkDefaultIndexingPolicyPaths((containerWithPartialPolicyDef as any)["indexingPolicy"]); - - // create container with default policy. - const containerDefinition03 = { - id: "TestCreateDefaultPolicy03", - indexingPolicy: {} - }; - const { body: containerDefaultPolicy } = await database.containers.create(containerDefinition03); - checkDefaultIndexingPolicyPaths((containerDefaultPolicy as any)["indexingPolicy"]); - - // create container with indexing policy missing indexes. - const containerDefinition04 = { - id: "TestCreateDefaultPolicy04", - indexingPolicy: { - includedPaths: [ - { - path: "/*" - } - ] - } - }; - const { body: containerMissingIndexes } = await database.containers.create(containerDefinition04); - checkDefaultIndexingPolicyPaths((containerMissingIndexes as any)["indexingPolicy"]); - - // create container with indexing policy missing precision. - const containerDefinition05 = { - id: "TestCreateDefaultPolicy05", - indexingPolicy: { - includedPaths: [ - { - path: "/*", - indexes: [ - { - kind: IndexKind.Hash, - dataType: DataType.String - }, - { - kind: IndexKind.Range, - dataType: DataType.Number - } - ] - } - ] - } - }; - const { body: containerMissingPrecision } = await database.containers.create(containerDefinition05); - checkDefaultIndexingPolicyPaths((containerMissingPrecision as any)["indexingPolicy"]); - } catch (err) { - throw err; - } - }; - - it("nativeApi Should create container with default indexing policy name based", async function() { - try { - await defaultIndexingPolicyTest(); - } catch (err) { - throw err; - } - }); - }); - - describe("Validate response headers", function() { - const createThenReadcontainer = async function(database: Database, body: ContainerDefinition) { - try { - const { body: createdcontainer, headers } = await database.containers.create(body); - const response = await database.container(createdcontainer.id).read(); - return response; - } catch (err) { - throw err; - } - }; - - const indexProgressHeadersTest = async function() { - try { - const database = await getTestDatabase("Validate response headers"); - const { headers: headers1 } = await createThenReadcontainer(database, { id: "consistent_coll" }); - assert.notEqual(headers1[Constants.HttpHeaders.IndexTransformationProgress], undefined); - assert.equal(headers1[Constants.HttpHeaders.LazyIndexingProgress], undefined); - - const lazyContainerDefinition = { - id: "lazy_coll", - indexingPolicy: { indexingMode: DocumentBase.IndexingMode.lazy } - }; - const { headers: headers2 } = await createThenReadcontainer(database, lazyContainerDefinition); - assert.notEqual(headers2[Constants.HttpHeaders.IndexTransformationProgress], undefined); - assert.notEqual(headers2[Constants.HttpHeaders.LazyIndexingProgress], undefined); - - const noneContainerDefinition = { - id: "none_coll", - indexingPolicy: { indexingMode: DocumentBase.IndexingMode.none, automatic: false } - }; - const { headers: headers3 } = await createThenReadcontainer(database, noneContainerDefinition); - assert.notEqual(headers3[Constants.HttpHeaders.IndexTransformationProgress], undefined); - assert.equal(headers3[Constants.HttpHeaders.LazyIndexingProgress], undefined); - } catch (err) { - throw err; - } - }; - - it("nativeApi Validate index progress headers name based", async function() { - try { - await indexProgressHeadersTest(); - } catch (err) { - throw err; - } - }); - }); -}); - -describe("containers.createIfNotExists", function() { - let database: Database; - before(async function() { - // create database - database = await getTestDatabase("containers.createIfNotExists"); - }); - - it("should handle container does not exist", async function() { - const def: ContainerDefinition = { id: "does not exist" }; - const { container } = await database.containers.createIfNotExists(def); - const { body: readDef } = await container.read(); - assert.equal(def.id, readDef.id); - }); - - it("should handle container exists", async function() { - const def: ContainerDefinition = { id: "does exist" }; - await database.containers.create(def); - - const { container } = await database.containers.createIfNotExists(def); - const { body: readDef } = await container.read(); - assert.equal(def.id, readDef.id); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/database.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/database.spec.ts deleted file mode 100644 index b1ed9bc736de..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/database.spec.ts +++ /dev/null @@ -1,131 +0,0 @@ -import assert from "assert"; -import { CosmosClient, DatabaseDefinition } from "../.."; -import { endpoint, masterKey } from "../common/_testConfig"; -import { addEntropy, removeAllDatabases } from "../common/TestHelpers"; - -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - - describe("Validate Database CRUD", async function() { - const databaseCRUDTest = async function() { - // read databases - const { result: databases } = await client.databases.readAll().toArray(); - assert.equal(databases.constructor, Array, "Value should be an array"); - - // create a database - const beforeCreateDatabasesCount = databases.length; - const databaseDefinition = { id: "database test database" }; - const { body: db } = await client.databases.create(databaseDefinition); - assert.equal(db.id, databaseDefinition.id); - - // read databases after creation - const { result: databases2 } = await client.databases.readAll().toArray(); - assert.equal(databases2.length, beforeCreateDatabasesCount + 1, "create should increase the number of databases"); - // query databases - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: databaseDefinition.id - } - ] - }; - const { result: results } = await client.databases.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - // delete database - await client.database(db.id).delete(); - try { - // read database after deletion - await client.database(db.id).read(); - assert.fail("Read database on non-existent database should fail"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }; - - it("nativeApi Should do database CRUD operations successfully name based", async function() { - await databaseCRUDTest(); - }); - - describe("databases.createIfNotExists", function() { - it("should handle does not exist", async function() { - const def: DatabaseDefinition = { id: addEntropy("does not exist") }; - const { database } = await client.databases.createIfNotExists(def); - const { body: readDef } = await database.read(); - assert.equal(def.id, readDef.id); - }); - - it("should handle does exist", async function() { - const def: DatabaseDefinition = { id: addEntropy("does exist") }; - // Set up - await client.databases.create(def); - - // Now call createIfNotExists on existing db - const { database } = await client.databases.createIfNotExists(def); - const { body: readDef } = await database.read(); - assert.equal(def.id, readDef.id); - }); - }); - }); - - // TODO: These are unit tests, not e2e tests like above, so maybe should seperate these. - describe("Validate Id validation", function() { - it("nativeApi Should fail on ends with a space", async function() { - // Id shoudn't end with a space. - try { - await client.databases.create({ id: "id_ends_with_space " }); - assert.fail("Must throw if id ends with a space"); - } catch (err) { - assert.equal("Id ends with a space.", err.message); - } - }); - - it("nativeAPI Should fail on contains '/'", async function() { - // Id shoudn't contain "/". - try { - await client.databases.create({ id: "id_with_illegal/_char" }); - assert.fail("Must throw if id has illegal characters"); - } catch (err) { - assert.equal("Id contains illegal chars.", err.message); - } - }); - - it("nativeAPI Should fail on contains '\\'", async function() { - // Id shoudn't contain "\\". - try { - await client.databases.create({ id: "id_with_illegal\\_char" }); - assert.fail("Must throw if id contains illegal characters"); - } catch (err) { - assert.equal("Id contains illegal chars.", err.message); - } - }); - - it("nativeAPI Should fail on contains '?'", async function() { - // Id shoudn't contain "?". - try { - await client.databases.create({ id: "id_with_illegal?_?char" }); - assert.fail("Must throw if id contains illegal characters"); - } catch (err) { - assert.equal("Id contains illegal chars.", err.message); - } - }); - - it("nativeAPI should fail on contains '#'", async function() { - // Id shoudn't contain "#". - try { - await client.databases.create({ id: "id_with_illegal#_char" }); - assert.fail("Must throw if id contains illegal characters"); - } catch (err) { - assert.equal("Id contains illegal chars.", err.message); - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/databaseaccount.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/databaseaccount.spec.ts deleted file mode 100644 index fea091b1c7ef..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/databaseaccount.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import assert from "assert"; -import { CosmosClient } from "../.."; -import { endpoint, masterKey } from "../common/_testConfig"; -import { removeAllDatabases } from "../common/TestHelpers"; - -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - await removeAllDatabases(); - }); - - describe("validate database account functionality", function() { - const databaseAccountTest = async function() { - const { body: databaseAccount, headers } = await client.getDatabaseAccount(); - assert.equal(databaseAccount.DatabasesLink, "/dbs/"); - assert.equal(databaseAccount.MediaLink, "/media/"); - assert.equal(databaseAccount.MaxMediaStorageUsageInMB, headers["x-ms-max-media-storage-usage-mb"]); // TODO: should use constants here - assert.equal(databaseAccount.CurrentMediaStorageUsageInMB, headers["x-ms-media-storage-usage-mb"]); - assert(databaseAccount.ConsistencyPolicy !== undefined); - }; - - it("nativeApi Should get database account successfully name based", async function() { - await databaseAccountTest(); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/item.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/item.spec.ts deleted file mode 100644 index 75654fcddd3a..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/item.spec.ts +++ /dev/null @@ -1,195 +0,0 @@ -import assert from "assert"; -import { Container, DocumentBase } from "../.."; -import { ItemDefinition } from "../../client"; -import { - bulkDeleteItems, - bulkInsertItems, - bulkQueryItemsWithPartitionKey, - bulkReadItems, - bulkReplaceItems, - createOrUpsertItem, - getTestDatabase, - removeAllDatabases, - replaceOrUpsertItem -} from "../common/TestHelpers"; - -/** - * @ignore - * @hidden - */ -interface TestItem { - id?: string; - name?: string; - foo?: string; - key?: string; - replace?: string; -} - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - - describe("Validate Document CRUD", function() { - const documentCRUDTest = async function(isUpsertTest: boolean) { - // create database - const database = await getTestDatabase("sample 中文 database"); - // create container - const { body: containerdef } = await database.containers.create({ id: "sample container" }); - const container: Container = database.container(containerdef.id); - - // read items - const { result: items } = await container.items.readAll().toArray(); - assert(Array.isArray(items), "Value should be an array"); - - // create an item - const beforeCreateDocumentsCount = items.length; - const itemDefinition: TestItem = { - name: "sample document", - foo: "bar", - key: "value", - replace: "new property" - }; - try { - await createOrUpsertItem(container, itemDefinition, { disableAutomaticIdGeneration: true }, isUpsertTest); - assert.fail("id generation disabled must throw with invalid id"); - } catch (err) { - assert(err !== undefined, "should throw an error because automatic id generation is disabled"); - } - const { body: document } = await createOrUpsertItem(container, itemDefinition, undefined, isUpsertTest); - assert.equal(document.name, itemDefinition.name); - assert(document.id !== undefined); - // read documents after creation - const { result: documents2 } = await container.items.readAll().toArray(); - assert.equal(documents2.length, beforeCreateDocumentsCount + 1, "create should increase the number of documents"); - // query documents - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: document.id - } - ] - }; - const { result: results } = await container.items.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - const { result: results2 } = await container.items.query(querySpec, { enableScanInQuery: true }).toArray(); - assert(results2.length > 0, "number of results for the query should be > 0"); - - // replace document - document.name = "replaced document"; - document.foo = "not bar"; - const { body: replacedDocument } = await replaceOrUpsertItem(container, document, undefined, isUpsertTest); - assert.equal(replacedDocument.name, "replaced document", "document name property should change"); - assert.equal(replacedDocument.foo, "not bar", "property should have changed"); - assert.equal(document.id, replacedDocument.id, "document id should stay the same"); - // read document - const { body: document2 } = await container.item(replacedDocument.id).read(); - assert.equal(replacedDocument.id, document2.id); - // delete document - const { body: res } = await container.item(replacedDocument.id).delete(); - - // read documents after deletion - try { - const { body: document3 } = await container.item(replacedDocument.id).read(); - assert.fail("must throw if document doesn't exist"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }; - - const documentCRUDMultiplePartitionsTest = async function() { - // create database - const database = await getTestDatabase("db1"); - const partitionKey = "key"; - - // create container - const containerDefinition = { - id: "coll1", - partitionKey: { paths: ["/" + partitionKey], kind: DocumentBase.PartitionKind.Hash } - }; - - const { body: containerdef } = await database.containers.create(containerDefinition, { offerThroughput: 12000 }); - const container = database.container(containerdef.id); - - const documents = [ - { id: "document1" }, - { id: "document2", key: null, prop: 1 }, - { id: "document3", key: false, prop: 1 }, - { id: "document4", key: true, prop: 1 }, - { id: "document5", key: 1, prop: 1 }, - { id: "document6", key: "A", prop: 1 } - ]; - - let returnedDocuments = await bulkInsertItems(container, documents); - - assert.equal(returnedDocuments.length, documents.length); - returnedDocuments.sort(function(doc1, doc2) { - return doc1.id.localeCompare(doc2.id); - }); - await bulkReadItems(container, returnedDocuments, partitionKey); - const { result: successDocuments } = await container.items.readAll().toArray(); - assert(successDocuments !== undefined, "error reading documents"); - assert.equal( - successDocuments.length, - returnedDocuments.length, - "Expected " + returnedDocuments.length + " documents to be succesfully read" - ); - successDocuments.sort(function(doc1, doc2) { - return doc1.id.localeCompare(doc2.id); - }); - assert.equal( - JSON.stringify(successDocuments), - JSON.stringify(returnedDocuments), - "Unexpected documents are returned" - ); - - returnedDocuments.forEach(function(document) { - ++document.prop; - }); - const newReturnedDocuments = await bulkReplaceItems(container, returnedDocuments); - returnedDocuments = newReturnedDocuments; - await bulkQueryItemsWithPartitionKey(container, returnedDocuments, partitionKey); - const querySpec = { - query: "SELECT * FROM Root" - }; - try { - const { result: badUpdate } = await container.items.query(querySpec, { enableScanInQuery: true }).toArray(); - assert.fail("Must fail"); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode, "response should return error code " + badRequestErrorCode); - } - const { result: results } = await container.items - .query(querySpec, { enableScanInQuery: true, enableCrossPartitionQuery: true }) - .toArray(); - assert(results !== undefined, "error querying documents"); - results.sort(function(doc1, doc2) { - return doc1.id.localeCompare(doc2.id); - }); - assert.equal( - results.length, - returnedDocuments.length, - "Expected " + returnedDocuments.length + " documents to be succesfully queried" - ); - assert.equal(JSON.stringify(results), JSON.stringify(returnedDocuments), "Unexpected query results"); - - await bulkDeleteItems(container, returnedDocuments, partitionKey); - }; - - it("nativeApi Should do document CRUD operations successfully name based", async function() { - await documentCRUDTest(false); - }); - - it("nativeApi Should do document CRUD operations successfully name based with upsert", async function() { - await documentCRUDTest(true); - }); - - it("nativeApi Should do document CRUD operations over multiple partitions", async function() { - await documentCRUDMultiplePartitionsTest(); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/offer.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/offer.spec.ts deleted file mode 100644 index 2d7a546e9938..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/offer.spec.ts +++ /dev/null @@ -1,119 +0,0 @@ -import assert from "assert"; -import { Constants, CosmosClient } from "../.."; -import { endpoint, masterKey } from "../common/_testConfig"; -import { getEntropy, getTestContainer, removeAllDatabases } from "../common/TestHelpers"; - -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -const validateOfferResponseBody = function(offer: any) { - assert(offer.id, "Id cannot be null"); - assert(offer._rid, "Resource Id (Rid) cannot be null"); - assert(offer._self, "Self Link cannot be null"); - assert(offer.resource, "Resource Link cannot be null"); - assert(offer._self.indexOf(offer.id) !== -1, "Offer id not contained in offer self link."); -}; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - - beforeEach(async function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - await removeAllDatabases(); - }); - - describe("Validate Offer CRUD", function() { - it("nativeApi Should do offer read and query operations successfully name based single partition collection", async function() { - const mbInBytes = 1024 * 1024; - const offerThroughput = 400; - const container = await getTestContainer("Validate Offer CRUD"); - - const { headers } = await container.read({ populateQuotaInfo: true }); - - // Validate the collection size quota - assert.notEqual(headers[Constants.HttpHeaders.MaxResourceQuota], null); - assert.notEqual(headers[Constants.HttpHeaders.MaxResourceQuota], ""); - const collectionSize: number = Number( - (headers[Constants.HttpHeaders.MaxResourceQuota] as string).split(";").reduce((map: any, obj: string) => { - const items = obj.split("="); - map[items[0]] = items[1]; - return map; - }, {})[Constants.Quota.CollectionSize] - ); - assert.equal(collectionSize, 10 * mbInBytes, "Collection size is unexpected"); - - const { result: offers } = await client.offers.readAll().toArray(); - assert.equal(offers.length, 1); - const expectedOffer = offers[0]; - assert.equal( - expectedOffer.content.offerThroughput, - offerThroughput, - "Expected offerThroughput to be " + offerThroughput - ); - validateOfferResponseBody(expectedOffer); - - // Read the offer - const { body: readOffer } = await client.offer(expectedOffer.id).read(); - validateOfferResponseBody(readOffer); - // Check if the read offer is what we expected. - assert.equal(expectedOffer.id, readOffer.id); - assert.equal(expectedOffer._rid, readOffer._rid); - assert.equal(expectedOffer._self, readOffer._self); - assert.equal(expectedOffer.resource, readOffer.resource); - - // Query for offer. - const querySpec = { - query: "select * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: expectedOffer.id - } - ] - }; - const { result: offers2 } = await client.offers.query(querySpec).toArray(); - assert.equal(offers2.length, 1); - const oneOffer = offers2[0]; - validateOfferResponseBody(oneOffer); - // Now delete the collection. - await container.delete(); - // read offer after deleting collection. - try { - await client.offer(expectedOffer.id).read(); - assert.fail("Must throw after delete"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }); - - it("nativeApi Should do offer replace operations successfully name based", async function() { - const container = await getTestContainer("Validate Offer CRUD"); - const { result: offers } = await client.offers.readAll().toArray(); - assert.equal(offers.length, 1); - const expectedOffer = offers[0]; - validateOfferResponseBody(expectedOffer); - // Replace the offer. - const offerToReplace = Object.assign({}, expectedOffer); - const oldThroughput = offerToReplace.content.offerThroughput; - offerToReplace.content.offerThroughput = oldThroughput + 100; - const { body: replacedOffer } = await client.offer(offerToReplace.id).replace(offerToReplace); - validateOfferResponseBody(replacedOffer); - // Check if the replaced offer is what we expect. - assert.equal(replacedOffer.id, offerToReplace.id); - assert.equal(replacedOffer._rid, offerToReplace._rid); - assert.equal(replacedOffer._self, offerToReplace._self); - assert.equal(replacedOffer.resource, offerToReplace.resource); - assert.equal(replacedOffer.content.offerThroughput, offerToReplace.content.offerThroughput); - // Replace an offer with a bad id. - try { - const offerBadId = Object.assign({}, offerToReplace); - offerBadId._rid = "NotAllowed"; - await client.offer(offerBadId._self).replace(offerBadId); - assert.fail("Must throw after replace with bad id"); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode); - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/offer.spec.ts.ignore b/sdk/cosmosdb/cosmos/src/test/functional/offer.spec.ts.ignore deleted file mode 100644 index 6c118eca4f64..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/offer.spec.ts.ignore +++ /dev/null @@ -1,301 +0,0 @@ -/* Offer is going to be moved to the resources themselves, not a first class top level object */ - - - -import assert from "assert"; -import { Base, Constants, CosmosClient } from "../../"; -import testConfig from "./../common/_testConfig"; -import { TestHelpers } from "./../common/TestHelpers"; -import { OfferDefinition } from "../../client"; - -const endpoint = testConfig.host; -const masterKey = testConfig.masterKey; -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -describe("NodeJS CRUD Tests", function () { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - // remove all databases from the endpoint before each test - beforeEach(async function () { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - await TestHelpers.removeAllDatabases(); - }); - - describe("Validate Offer CRUD", function () { - const validateOfferResponseBody = function ( - offer: any, expectedCollLink: string, expectedOfferType: string) { - assert(offer.id, "Id cannot be null"); - assert(offer._rid, "Resource Id (Rid) cannot be null"); - assert(offer._self, "Self Link cannot be null"); - assert(offer.resource, "Resource Link cannot be null"); - assert(offer._self.indexOf(offer.id) !== -1, "Offer id not contained in offer self link."); - assert.equal(expectedCollLink.replace(/^\/|\/$/g, ""), offer.resource.replace(/^\/|\/$/g, "")); - if (expectedOfferType) { - assert.equal(expectedOfferType, offer.offerType); - } - }; - - const offerReadAndQueryTest = async function ( - isPartitionedCollection: boolean, offerThroughput: number, expectedCollectionSize: number) { - - const collectionRequestOptions = { offerThroughput }; - let collectionDefinition: any = ""; - if (isPartitionedCollection) { - collectionDefinition = { - id: Base.generateGuidId(), - indexingPolicy: { - includedPaths: [ - { - path: "/", - indexes: [ - { - kind: "Range", - dataType: "Number", - }, - { - kind: "Range", - dataType: "String", - }, - ], - }, - ], - }, - partitionKey: { - paths: [ - "/id", - ], - kind: "Hash", - }, - }; - } else { - collectionDefinition = { id: "sample collection" }; - } - const container = await TestHelpers.getTestContainer( - client, "Validate Offer CRUD", collectionDefinition, collectionRequestOptions); - - const { result: createdContainerDef, headers } = await container.read({ populateQuotaInfo: true }); - - // Validate the collection size quota - assert.notEqual(headers[Constants.HttpHeaders.MaxResourceQuota], null); - assert.notEqual(headers[Constants.HttpHeaders.MaxResourceQuota], ""); - const collectionSize: number = Number((headers[Constants.HttpHeaders.MaxResourceQuota] as string).split(";") - .reduce((map: any, obj: string) => { - const items = obj.split("="); - map[items[0]] = items[1]; - return map; - }, {})[Constants.Quota.CollectionSize]); - assert.equal(collectionSize, expectedCollectionSize, "Collection size is unexpected"); - - const { result: offers } = await client.offers.read().toArray(); - assert.equal(offers.length, 1); - const expectedOffer = offers[0]; - assert.equal(expectedOffer.content.offerThroughput, collectionRequestOptions.offerThroughput, - "Expected offerThroughput to be " + collectionRequestOptions.offerThroughput); - validateOfferResponseBody(expectedOffer, createdContainerDef._self, undefined); - - // Read the offer - const { result: readOffer } = await client.readOffer(expectedOffer._self); - validateOfferResponseBody(readOffer, createdContainerDef._self, undefined); - // Check if the read offer is what we expected. - assert.equal(expectedOffer.id, readOffer.id); - assert.equal(expectedOffer._rid, readOffer._rid); - assert.equal(expectedOffer._self, readOffer._self); - assert.equal(expectedOffer.resource, readOffer.resource); - // Read offer with a bad offer link. - try { - const badLink = expectedOffer._self.substring(0, expectedOffer._self.length - 1) + "x/"; - await client.readOffer(badLink); - assert.fail("Must throw after read with bad offer"); - } catch (err) { - const notFoundErrorCode = 400; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - // Query for offer. - const querySpec = { - query: "select * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: expectedOffer.id, - }, - ], - }; - const { result: offers2 } = await client.queryOffers(querySpec).toArray(); - assert.equal(offers2.length, 1); - const oneOffer = offers2[0]; - validateOfferResponseBody(oneOffer, createdContainerDef._self, undefined); - // Now delete the collection. - await client.deleteCollection( - TestHelpers.getCollectionLink(isNameBased, db, createdContainerDef)); - // read offer after deleting collection. - try { - await client.readOffer(expectedOffer._self); - assert.fail("Must throw after delete"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }; - - const mbInBytes = 1024 * 1024; - const offerThroughputSinglePartitionCollection = 5000; - const minOfferThroughputPCollectionWithMultiPartitions = 2000; - const maxOfferThroughputPCollectionWithSinglePartition = minOfferThroughputPCollectionWithMultiPartitions - 100; - - it.skip("nativeApi Should do offer read and query operations successfully name based single partition collection", async function () { - try { - await offerReadAndQueryTest(true, false, offerThroughputSinglePartitionCollection, mbInBytes); - } catch (err) { - throw err; - } - }); - - it.skip("nativeApi Should do offer read and query operations successfully rid based single partition collection", async function () { - try { - await offerReadAndQueryTest(false, false, offerThroughputSinglePartitionCollection, mbInBytes); - } catch (err) { - throw err; - } - }); - - it.skip("nativeApi Should do offer read and query operations successfully w/ name based p-Collection w/ 1 partition", async function () { - try { - await offerReadAndQueryTest(true, true, maxOfferThroughputPCollectionWithSinglePartition, mbInBytes); - } catch (err) { - throw err; - } - }); - - it.skip("nativeApi Should do offer read and query operations successfully w/ rid based p-Collection w/ 1 partition", async function () { - try { - await offerReadAndQueryTest(false, true, maxOfferThroughputPCollectionWithSinglePartition, mbInBytes); - } catch (err) { - throw err; - } - }); - - it.skip("nativeApi Should do offer read and query operations successfully w/ name based p-Collection w/ multi partitions", async function () { - try { - await offerReadAndQueryTest(true, true, minOfferThroughputPCollectionWithMultiPartitions, 5 * mbInBytes); - } catch (err) { - throw err; - } - }); - - it.skip("nativeApi Should do offer read and query operations successfully w/ rid based p-Collection w/ multi partitions", async function () { - try { - await offerReadAndQueryTest(false, true, minOfferThroughputPCollectionWithMultiPartitions, 5 * mbInBytes); - } catch (err) { - throw err; - } - }); - - const offerReplaceTest = async function (isNameBased: boolean) { - try { - const client = new CosmosClient(endpoint, { masterKey }); - // create database - const { result: db } = await client.createDatabase({ id: "sample database" }); - // create collection - const { result: collection } = await client.createCollection( - TestHelpers.getDatabaseLink(isNameBased, db), { id: "sample collection" }); - const { result: offers } = await client.readOffers().toArray(); - assert.equal(offers.length, 1); - const expectedOffer = offers[0]; - validateOfferResponseBody(expectedOffer, collection._self, undefined); - // Replace the offer. - const offerToReplace = Base.extend({}, expectedOffer); - const oldThroughput = offerToReplace.content.offerThroughput; - offerToReplace.content.offerThroughput = oldThroughput + 100; - const { result: replacedOffer } = await client.replaceOffer(offerToReplace._self, offerToReplace); - validateOfferResponseBody(replacedOffer, collection._self, undefined); - // Check if the replaced offer is what we expect. - assert.equal(replacedOffer.id, offerToReplace.id); - assert.equal(replacedOffer._rid, offerToReplace._rid); - assert.equal(replacedOffer._self, offerToReplace._self); - assert.equal(replacedOffer.resource, offerToReplace.resource); - assert.equal(replacedOffer.content.offerThroughput, offerToReplace.content.offerThroughput); - // Replace an offer with a bad id. - try { - const offerBadId = Base.extend({}, offerToReplace); - offerBadId._rid = "NotAllowed"; - await client.replaceOffer(offerBadId._self, offerBadId); - assert.fail("Must throw after replace with bad id"); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode); - } - // Replace an offer with a bad rid. - try { - const offerBadRid = Base.extend({}, offerToReplace); - offerBadRid._rid = "InvalidRid"; - await client.replaceOffer(offerBadRid._self, offerBadRid); - assert.fail("Must throw after replace with bad rid"); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode); - } - // Replace an offer with null id and rid. - try { - const offerNullId = Base.extend({}, offerToReplace); - offerNullId.id = undefined; - offerNullId._rid = undefined; - await client.replaceOffer(offerNullId._self, offerNullId); - assert.fail("Must throw after repalce with null id and rid"); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode); - } - } catch (err) { - throw err; - } - }; - - it("nativeApi Should do offer replace operations successfully name based", async function () { - try { - await offerReplaceTest(true); - } catch (err) { - throw err; - } - }); - - it("nativeApi Should do offer replace operations successfully rid based", async function () { - try { - await offerReplaceTest(false); - } catch (err) { - throw err; - } - }); - - const createCollectionWithOfferTypeTest = async function (isNameBased: boolean) { - try { - const client = new CosmosClient(endpoint, { masterKey }); - // create database - const { result: db } = await client.createDatabase({ id: "sample database" }); - // create collection - const { result: collection } = await client.createCollection( - TestHelpers.getDatabaseLink(isNameBased, db), { id: "sample collection" }, { offerType: "S2" }); - const { result: offers } = await client.readOffers().toArray(); - assert.equal(offers.length, 1); - const expectedOffer = offers[0]; - assert.equal(expectedOffer.offerType, "S2"); - } catch (err) { - throw err; - } - }; - - it("nativeApi Should create collection with specified offer type successfully name based", async function () { - try { - await createCollectionWithOfferTypeTest(true); - } catch (err) { - throw err; - } - }); - - it("nativeApi Should create collection with specified offer type successfully rid based", async function () { - try { - await createCollectionWithOfferTypeTest(false); - } catch (err) { - throw err; - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/permission.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/permission.spec.ts deleted file mode 100644 index 1e6239949477..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/permission.spec.ts +++ /dev/null @@ -1,239 +0,0 @@ -import assert from "assert"; -import { DocumentBase } from "../.."; -import { PermissionDefinition } from "../../client"; -import { - createOrUpsertPermission, - getTestContainer, - removeAllDatabases, - replaceOrUpsertPermission -} from "../common/TestHelpers"; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - describe("Validate Permission CRUD", function() { - const permissionCRUDTest = async function(isUpsertTest: boolean) { - try { - // create container & database - const container = await getTestContainer("Validate Permission Crud"); - - // create user - const { body: userDef } = await container.database.users.create({ id: "new user" }); - const user = container.database.user(userDef.id); - // list permissions - const { result: permissions } = await user.permissions.readAll().toArray(); - assert.equal(permissions.constructor, Array, "Value should be an array"); - const beforeCreateCount = permissions.length; - const permissionDef: PermissionDefinition = { - id: "new permission", - permissionMode: DocumentBase.PermissionMode.Read, - resource: container.url - }; - - // create permission - const { body: createdPermission } = await createOrUpsertPermission( - user, - permissionDef, - undefined, - isUpsertTest - ); - let permission = user.permission(createdPermission.id); - assert.equal(createdPermission.id, "new permission", "permission name error"); - - // list permissions after creation - const { result: permissionsAfterCreation } = await user.permissions.readAll().toArray(); - assert.equal(permissionsAfterCreation.length, beforeCreateCount + 1); - - // query permissions - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: permissionDef.id - } - ] - }; - const { result: results } = await user.permissions.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - permissionDef.permissionMode = DocumentBase.PermissionMode.All; - const { body: replacedPermission } = await replaceOrUpsertPermission( - user, - permissionDef, - undefined, - isUpsertTest - ); - assert.equal( - replacedPermission.permissionMode, - DocumentBase.PermissionMode.All, - "permission mode should change" - ); - assert.equal(permissionDef.id, replacedPermission.id, "permission id should stay the same"); - - // to change the id of an existing resourcewe have to use replace - permissionDef.id = "replaced permission"; - const { body: replacedPermission2 } = await permission.replace(permissionDef); - assert.equal(replacedPermission2.id, "replaced permission", "permission name should change"); - assert.equal(permissionDef.id, replacedPermission2.id, "permission id should stay the same"); - permission = user.permission(replacedPermission2.id); - - // read permission - const { body: permissionAfterReplace } = await permission.read(); - assert.equal(permissionAfterReplace.id, permissionDef.id); - - // delete permission - const { body: res } = await permission.delete(); - - // read permission after deletion - try { - await permission.read(); - assert.fail("Must fail to read permission after deletion"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - } catch (err) { - throw err; - } - }; - - const permissionCRUDOverMultiplePartitionsTest = async function(isUpsertTest: boolean) { - try { - // create database - // create container - const partitionKey = "id"; - const containerDefinition = { - id: "coll1", - partitionKey: { paths: ["/" + partitionKey], kind: DocumentBase.PartitionKind.Hash } - }; - const container = await getTestContainer( - "permission CRUD over multiple partitions", - undefined, - containerDefinition - ); - - // create user - const { body: userDef } = await container.database.users.create({ id: "new user" }); - const user = container.database.user(userDef.id); - - // list permissions - const { result: permissions } = await user.permissions.readAll().toArray(); - assert(Array.isArray(permissions), "Value should be an array"); - const beforeCreateCount = permissions.length; - const permissionDefinition = { - id: "new permission", - permissionMode: DocumentBase.PermissionMode.Read, - resource: container.url, - resourcePartitionKey: [1] - }; - - // create permission - const response = await createOrUpsertPermission(user, permissionDefinition, undefined, isUpsertTest); - const permissionDef = response.body; - let permission = user.permission(permissionDef.id); - assert.equal(permissionDef.id, permissionDefinition.id, "permission name error"); - assert.equal( - JSON.stringify(permissionDef.resourcePartitionKey), - JSON.stringify(permissionDefinition.resourcePartitionKey), - "permission resource partition key error" - ); - - // list permissions after creation - const { result: permissionsAfterCreation } = await user.permissions.readAll().toArray(); - assert.equal(permissionsAfterCreation.length, beforeCreateCount + 1); - - // query permissions - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: permissionDef.id - } - ] - }; - const { result: results } = await user.permissions.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - // Replace permission - permissionDef.permissionMode = DocumentBase.PermissionMode.All; - const { body: replacedPermission } = await replaceOrUpsertPermission( - user, - permissionDef, - undefined, - isUpsertTest - ); - assert.equal( - replacedPermission.permissionMode, - DocumentBase.PermissionMode.All, - "permission mode should change" - ); - assert.equal(replacedPermission.id, permissionDef.id, "permission id should stay the same"); - assert.equal( - JSON.stringify(replacedPermission.resourcePartitionKey), - JSON.stringify(permissionDef.resourcePartitionKey), - "permission resource partition key error" - ); - - // to change the id of an existing resourcewe have to use replace - permissionDef.id = "replaced permission"; - const { body: replacedPermission2 } = await permission.replace(permissionDef); - assert.equal(replacedPermission2.id, permissionDef.id); - permission = user.permission(replacedPermission2.id); - - // read permission - const { body: permissionAfterReplace } = await permission.read(); - assert.equal(permissionAfterReplace.id, replacedPermission2.id); - - // delete permission - const { body: res } = await permission.delete(); - - // read permission after deletion - try { - await permission.read(); - assert.fail("Must throw on read after delete"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - } catch (err) { - throw err; - } - }; - - it("nativeApi Should do Permission CRUD operations successfully name based", async function() { - try { - await permissionCRUDTest(false); - } catch (err) { - throw err; - } - }); - - it("nativeApi Should do Permission CRUD operations successfully name based with upsert", async function() { - try { - await permissionCRUDTest(true); - } catch (err) { - throw err; - } - }); - - it("nativeApi Should do Permission CRUD operations over multiple partitions successfully name based", async function() { - try { - await permissionCRUDOverMultiplePartitionsTest(false); - } catch (err) { - throw err; - } - }); - - it("nativeApi Should do Permission CRUD operations over multiple partitions successfully with upsert", async function() { - try { - await permissionCRUDOverMultiplePartitionsTest(true); - } catch (err) { - throw err; - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/query.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/query.spec.ts deleted file mode 100644 index 7b94b8ae4b09..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/query.spec.ts +++ /dev/null @@ -1,224 +0,0 @@ -import assert from "assert"; -import { Constants, CosmosClient, DocumentBase } from "../.."; -import { Container } from "../../client"; -import { endpoint, masterKey } from "../common/_testConfig"; -import { bulkInsertItems, getTestContainer, getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -// TODO: This is required for Node 6 and above, so just putting it in here. -// Might want to decide on only supporting async iterators once Node supports them officially. -if (!Symbol || !Symbol.asyncIterator) { - (Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator"); -} - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - before(async function() { - await removeAllDatabases(); - }); - - describe("Validate Queries CRUD", function() { - const queriesCRUDTest = async function() { - try { - // create a database - const database = await getTestDatabase("query test database"); - // query databases - const querySpec0 = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: database.id - } - ] - }; - const { result: results } = await client.databases.query(querySpec0).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - const querySpec1 = { - query: "SELECT * FROM root r WHERE r.id='" + database.id + "'" - }; - const { result: results2 } = await client.databases.query(querySpec1).toArray(); - assert(results2.length > 0, "number of results for the query should be > 0"); - const querySpec2 = "SELECT * FROM root r WHERE r.id='" + database.id + "'"; - const { result: results3 } = await client.databases.query(querySpec2).toArray(); - assert(results3.length > 0, "number of results for the query should be > 0"); - } catch (err) { - throw err; - } - }; - - it("nativeApi Should do queries CRUD operations successfully name based", async function() { - try { - await queriesCRUDTest(); - } catch (err) { - throw err; - } - }); - }); - - describe("Validate QueryIterator Functionality For Multiple Partition container", function() { - const documentDefinitions = [ - { id: "document1" }, - { id: "document2", key: null, prop: 1 }, - { id: "document3", key: false, prop: 1 }, - { id: "document4", key: true, prop: 1 }, - { id: "document5", key: 1, prop: 1 }, - { id: "document6", key: "A", prop: 1 } - ]; - - let container: Container; - - // creates a new database, creates a new collecton, bulk inserts documents to the container - beforeEach(async function() { - const partitionKey = "key"; - const containerDefinition = { - id: "coll1", - partitionKey: { - paths: ["/" + partitionKey], - kind: DocumentBase.PartitionKind.Hash - } - }; - - const containerOptions = { offerThroughput: 12000 }; - container = await getTestContainer("query CRUD database 中文", client, containerDefinition, containerOptions); - await bulkInsertItems(container, documentDefinitions); - }); - - it("nativeApi validate QueryIterator nextItem on Multiple Partition Colleciton", async function() { - // obtain an instance of queryIterator - const queryIterator = container.items.readAll(); - let cnt = 0; - while (queryIterator.hasMoreResults()) { - const { result } = await queryIterator.nextItem(); - if (result === undefined) { - break; - } - cnt++; - } - assert.equal(cnt, documentDefinitions.length); - }); - }); - - describe("Validate QueryIterator Functionality", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 30000); - let resources: { container: Container; doc1: any; doc2: any; doc3: any }; - beforeEach(async function() { - const container = await getTestContainer("Validate QueryIterator Functionality", client); - const { body: doc1 } = await container.items.create({ id: "doc1", prop1: "value1" }); - const { body: doc2 } = await container.items.create({ id: "doc2", prop1: "value2" }); - const { body: doc3 } = await container.items.create({ id: "doc3", prop1: "value3" }); - resources = { container, doc1, doc2, doc3 }; - }); - - const queryIteratorToArrayTest = async function() { - const queryIterator = resources.container.items.readAll({ maxItemCount: 2 }); - const { result: docs } = await queryIterator.toArray(); - assert.equal(docs.length, 3, "queryIterator should return all documents using continuation"); - assert.equal(docs[0].id, resources.doc1.id); - assert.equal(docs[1].id, resources.doc2.id); - assert.equal(docs[2].id, resources.doc3.id); - }; - - const queryIteratorAsyncIteratorTest = async function() { - const queryIterator = resources.container.items.readAll({ maxItemCount: 2 }); - let counter = 0; - for await (const { result: doc } of queryIterator.getAsyncIterator()) { - counter++; - if (counter === 1) { - assert.equal(doc.id, resources.doc1.id, "first document should be doc1"); - } else if (counter === 2) { - assert.equal(doc.id, resources.doc2.id, "second document should be doc2"); - } else if (counter === 3) { - assert.equal(doc.id, resources.doc3.id, "third document should be doc3"); - } - } - assert(counter === 3, "iterator should have run 3 times"); - }; - - const queryIteratorForEachTest = async function() { - const queryIterator = resources.container.items.readAll({ maxItemCount: 2 }); - let counter = 0; - await queryIterator.forEach((item, headers, index) => { - counter++; - if (index === 0) { - assert.equal(item.id, resources.doc1.id, "first document should be doc1"); - } else if (index === 1) { - assert.equal(item.id, resources.doc2.id, "second document should be doc2"); - } else if (index === 2) { - assert.equal(item.id, resources.doc3.id, "third document should be doc3"); - } - }); - assert(counter === 3, "iterator should have run 3 times"); - }; - - const queryIteratorNextAndMoreTest = async function() { - const queryIterator = resources.container.items.readAll({ maxItemCount: 2 }); - assert.equal(queryIterator.hasMoreResults(), true); - const { result: doc2 } = await queryIterator.nextItem(); - assert.equal(doc2.id, resources.doc1.id, "call queryIterator.nextItem after reset should return first document"); - const { result: doc1 } = await queryIterator.current(); - assert.equal(doc1.id, resources.doc1.id, "call queryIterator.current after reset should return first document"); - assert.equal(queryIterator.hasMoreResults(), true); - const { result: doc4 } = await queryIterator.nextItem(); - assert.equal(doc4.id, resources.doc2.id, "call queryIterator.nextItem again should return second document"); - const { result: doc3 } = await queryIterator.current(); - assert.equal(doc3.id, resources.doc2.id, "call queryIterator.current should return second document"); - assert.equal(queryIterator.hasMoreResults(), true); - const { result: doc6 } = await queryIterator.nextItem(); - assert.equal(doc6.id, resources.doc3.id, "call queryIterator.nextItem again should return third document"); - const { result: doc5 } = await queryIterator.current(); - assert.equal(doc5.id, resources.doc3.id, "call queryIterator.current should return third document"); - const { result: doc7 } = await queryIterator.nextItem(); - assert.equal(doc7, undefined, "queryIterator should return undefined if there is no elements"); - }; - - const queryIteratorExecuteNextTest = async function() { - let queryIterator = resources.container.items.readAll({ maxItemCount: 2 }); - const { result: docs, headers } = await queryIterator.executeNext(); - - assert(headers !== undefined, "executeNext should pass headers as the third parameter to the callback"); - assert(headers[Constants.HttpHeaders.RequestCharge] > 0, "RequestCharge has to be non-zero"); - assert.equal(docs.length, 2, "first batch size should be 2"); - assert.equal(docs[0].id, resources.doc1.id, "first batch first document should be doc1"); - assert.equal(docs[1].id, resources.doc2.id, "batch first second document should be doc2"); - const { result: docs2 } = await queryIterator.executeNext(); - assert.equal(docs2.length, 1, "second batch size is unexpected"); - assert.equal(docs2[0].id, resources.doc3.id, "second batch element should be doc3"); - - // validate Iterator.executeNext with continuation token - queryIterator = resources.container.items.readAll({ - maxItemCount: 2, - continuation: headers[Constants.HttpHeaders.Continuation] as string - }); - const { result: docsWithContinuation, headers: headersWithContinuation } = await queryIterator.executeNext(); - assert( - headersWithContinuation !== undefined, - "executeNext should pass headers as the third parameter to the callback" - ); - assert(headersWithContinuation[Constants.HttpHeaders.RequestCharge] > 0, "RequestCharge has to be non-zero"); - assert.equal(docsWithContinuation.length, 1, "second batch size with continuation token is unexpected"); - assert.equal(docsWithContinuation[0].id, resources.doc3.id, "second batch element should be doc3"); - }; - - it("nativeApi validate QueryIterator iterator toArray name based", async function() { - await queryIteratorToArrayTest(); - }); - - it("validate queryIterator asyncIterator", async function() { - await queryIteratorAsyncIteratorTest(); - }); - - it("validate queryIterator forEach", async function() { - await queryIteratorForEachTest(); - }); - - it("nativeApi validate queryIterator nextItem and hasMoreResults name based", async function() { - await queryIteratorNextAndMoreTest(); - }); - - it("nativeApi validate queryIterator iterator executeNext name based", async function() { - await queryIteratorExecuteNextTest(); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/spatial.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/spatial.spec.ts deleted file mode 100644 index fdc6c603dbeb..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/spatial.spec.ts +++ /dev/null @@ -1,83 +0,0 @@ -import assert from "assert"; -import { Database, DocumentBase } from "../.."; -import { createOrUpsertItem, getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - - describe("Validate spatial index", function() { - const spatialIndexTest = async function(isUpsertTest: boolean) { - try { - // create database - const database: Database = await getTestDatabase("validate spatial index"); - - // create container using an indexing policy with spatial index. - const indexingPolicy = { - includedPaths: [ - { - path: '/"Location"/?', - indexes: [ - { - kind: DocumentBase.IndexKind.Spatial, - dataType: DocumentBase.DataType.Point - } - ] - }, - { - path: "/" - } - ] - }; - const entropy = Math.floor(Math.random() * 10000); - const { body: containerDef } = await database.containers.create({ - id: `sample container${entropy}`, - indexingPolicy - }); - const container = database.container(containerDef.id); - - const location1 = { - id: "location1", - Location: { - type: "Point", - coordinates: [20.0, 20.0] - } - }; - await createOrUpsertItem(container, location1, undefined, isUpsertTest); - const location2 = { - id: "location2", - Location: { - type: "Point", - coordinates: [100.0, 100.0] - } - }; - await createOrUpsertItem(container, location2, undefined, isUpsertTest); - const query = - "SELECT * FROM root WHERE (ST_DISTANCE(root.Location, {type: 'Point', coordinates: [20.1, 20]}) < 20000) "; - const { result: results } = await container.items.query(query).toArray(); - assert.equal(1, results.length); - assert.equal("location1", results[0].id); - } catch (err) { - throw err; - } - }; - - it("nativeApi Should support spatial index name based", async function() { - try { - await spatialIndexTest(false); - } catch (err) { - throw err; - } - }); - - it("nativeApi Should support spatial index name based with upsert", async function() { - try { - await spatialIndexTest(true); - } catch (err) { - throw err; - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/sproc.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/sproc.spec.ts deleted file mode 100644 index 36c00aa388db..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/sproc.spec.ts +++ /dev/null @@ -1,386 +0,0 @@ -import assert from "assert"; -import { Constants, CosmosClient, DocumentBase } from "../.."; -import { Container, StoredProcedureDefinition } from "../../client"; -import { bulkInsertItems, getTestContainer, getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -// Used for sproc -declare var getContext: any; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - describe("Validate sproc CRUD", function() { - let container: Container; - beforeEach(async function() { - container = await getTestContainer(this.test.fullTitle()); - }); - - it("nativeApi Should do sproc CRUD operations successfully with create/replace", async function() { - // read sprocs - const { result: sprocs } = await container.storedProcedures.readAll().toArray(); - assert.equal(sprocs.constructor, Array, "Value should be an array"); - - // create a sproc - const beforeCreateSprocsCount = sprocs.length; - const sprocDefinition: StoredProcedureDefinition = { - id: "sample sproc", - body: "function () { const x = 10; }" - }; - - const { body: sproc } = await container.storedProcedures.create(sprocDefinition); - - assert.equal(sproc.id, sprocDefinition.id); - assert.equal(sproc.body, "function () { const x = 10; }"); - - // read sprocs after creation - const { result: sprocsAfterCreation } = await container.storedProcedures.readAll().toArray(); - assert.equal( - sprocsAfterCreation.length, - beforeCreateSprocsCount + 1, - "create should increase the number of sprocs" - ); - - // query sprocs - const querySpec = { - query: "SELECT * FROM root r" - }; - const { result: queriedSprocs } = await container.storedProcedures.query(querySpec).toArray(); - assert(queriedSprocs.length > 0, "number of sprocs for the query should be > 0"); - - // replace sproc - // prettier-ignore - sproc.body = function() { const x = 20; }; - const { body: replacedSproc } = await container.storedProcedure(sproc.id).replace(sproc); - - assert.equal(replacedSproc.id, sproc.id); - assert.equal(replacedSproc.body, "function () { const x = 20; }"); - - // read sproc - const { body: sprocAfterReplace } = await container.storedProcedure(replacedSproc.id).read(); - assert.equal(replacedSproc.id, sprocAfterReplace.id); - - // delete sproc - await container.storedProcedure(replacedSproc.id).delete(); - - // read sprocs after deletion - try { - await container.storedProcedure(replacedSproc.id).read(); - assert.fail("Must fail to read sproc after deletion"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }); - - it("nativeApi Should do sproc CRUD operations successfully name based with upsert", async function() { - // read sprocs - const { result: sprocs } = await container.storedProcedures.readAll().toArray(); - assert.equal(sprocs.constructor, Array, "Value should be an array"); - - // create a sproc - const beforeCreateSprocsCount = sprocs.length; - const sprocDefinition: StoredProcedureDefinition = { - id: "sample sproc", - // prettier-ignore - body: function() { const x = 10; } // tslint:disable-line:object-literal-shorthand - }; - - const { body: sproc } = await container.storedProcedures.upsert(sprocDefinition); - - assert.equal(sproc.id, sprocDefinition.id); - assert.equal(sproc.body, "function () { const x = 10; }"); - - // read sprocs after creation - const { result: sprocsAfterCreation } = await container.storedProcedures.readAll().toArray(); - assert.equal( - sprocsAfterCreation.length, - beforeCreateSprocsCount + 1, - "create should increase the number of sprocs" - ); - - // query sprocs - const querySpec = { - query: "SELECT * FROM root r" - }; - const { result: queriedSprocs } = await container.storedProcedures.query(querySpec).toArray(); - assert(queriedSprocs.length > 0, "number of sprocs for the query should be > 0"); - - // replace sproc - // prettier-ignore - sproc.body = function() { const x = 20; }; - const { body: replacedSproc } = await container.storedProcedures.upsert(sproc); - - assert.equal(replacedSproc.id, sproc.id); - assert.equal(replacedSproc.body, "function () { const x = 20; }"); - - // read sproc - const { body: sprocAfterReplace } = await container.storedProcedure(replacedSproc.id).read(); - assert.equal(replacedSproc.id, sprocAfterReplace.id); - - // delete sproc - await container.storedProcedure(replacedSproc.id).delete(); - - // read sprocs after deletion - try { - await container.storedProcedure(replacedSproc.id).read(); - assert.fail("Must fail to read sproc after deletion"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }); - }); - - describe("Validate stored procedure functionality", function() { - let container: Container; - beforeEach(async function() { - container = await getTestContainer(this.test.fullTitle()); - }); - - it("nativeApi should do stored procedure operations successfully with create/replace", async function() { - // tslint:disable:no-var-keyword - // tslint:disable:prefer-const - // tslint:disable:curly - // tslint:disable:no-string-throw - // tslint:disable:object-literal-shorthand - const sproc1: StoredProcedureDefinition = { - id: "storedProcedure1", - body: function() { - for (var i = 0; i < 1000; i++) { - const item = getContext() - .getResponse() - .getBody(); - if (i > 0 && item !== i - 1) throw "body mismatch"; - getContext() - .getResponse() - .setBody(i); - } - } - }; - - const sproc2: StoredProcedureDefinition = { - id: "storedProcedure2", - body: function() { - for (var i = 0; i < 10; i++) - getContext() - .getResponse() - .appendValue("Body", i); - } - }; - - const sproc3: StoredProcedureDefinition = { - id: "storedProcedure3", - // TODO: I put any in here, but not sure how this will work... - body: function(input: any) { - getContext() - .getResponse() - .setBody("a" + input.temp); - } - }; - - // tslint:enable:no-var-keyword - // tslint:enable:prefer-const - // tslint:enable:curly - // tslint:enable:no-string-throw - // tslint:enable:object-literal-shorthand - - const { body: retrievedSproc } = await container.storedProcedures.create(sproc1); - const { body: result } = await container.storedProcedure(retrievedSproc.id).execute(); - assert.equal(result, 999); - - const { body: retrievedSproc2 } = await container.storedProcedures.create(sproc2); - const { body: result2 } = await container.storedProcedure(retrievedSproc2.id).execute(); - assert.equal(result2, 123456789); - const { body: retrievedSproc3 } = await container.storedProcedures.create(sproc3); - const { body: result3 } = await container.storedProcedure(retrievedSproc3.id).execute([{ temp: "so" }]); - assert.equal(result3, "aso"); - }); - - it("nativeApi Should do stored procedure operations successfully with upsert", async function() { - // tslint:disable:no-var-keyword - // tslint:disable:prefer-const - // tslint:disable:curly - // tslint:disable:no-string-throw - // tslint:disable:object-literal-shorthand - const sproc1: StoredProcedureDefinition = { - id: "storedProcedure1", - body: function() { - for (var i = 0; i < 1000; i++) { - const item = getContext() - .getResponse() - .getBody(); - if (i > 0 && item !== i - 1) throw "body mismatch"; - getContext() - .getResponse() - .setBody(i); - } - } - }; - - const sproc2: StoredProcedureDefinition = { - id: "storedProcedure2", - body: function() { - for (var i = 0; i < 10; i++) - getContext() - .getResponse() - .appendValue("Body", i); - } - }; - - const sproc3: StoredProcedureDefinition = { - id: "storedProcedure3", - // TODO: I put any in here, but not sure how this will work... - body: function(input: any) { - getContext() - .getResponse() - .setBody("a" + input.temp); - } - }; - - // tslint:enable:no-var-keyword - // tslint:enable:prefer-const - // tslint:enable:curly - // tslint:enable:no-string-throw - // tslint:enable:object-literal-shorthand - - const { body: retrievedSproc } = await container.storedProcedures.upsert(sproc1); - const { body: result } = await container.storedProcedure(retrievedSproc.id).execute(); - assert.equal(result, 999); - - const { body: retrievedSproc2 } = await container.storedProcedures.upsert(sproc2); - const { body: result2 } = await container.storedProcedure(retrievedSproc2.id).execute(); - assert.equal(result2, 123456789); - const { body: retrievedSproc3 } = await container.storedProcedures.upsert(sproc3); - const { body: result3 } = await container.storedProcedure(retrievedSproc3.id).execute([{ temp: "so" }]); - assert.equal(result3, "aso"); - }); - }); - - it("nativeApi Should execute stored procedure with partition key successfully name based", async function() { - const database = await getTestDatabase("sproc test database"); - // create container - const partitionKey = "key"; - - const containerDefinition = { - id: "coll1", - partitionKey: { paths: ["/" + partitionKey], kind: DocumentBase.PartitionKind.Hash } - }; - - const { body: containerResult } = await database.containers.create(containerDefinition, { offerThroughput: 12000 }); - const container = await database.container(containerResult.id); - - // tslint:disable:no-var-keyword - // tslint:disable:prefer-const - // tslint:disable:curly - // tslint:disable:no-string-throw - // tslint:disable:no-shadowed-variable - // tslint:disable:object-literal-shorthand - const querySproc = { - id: "querySproc", - body: function() { - var context = getContext(); - var container = context.getCollection(); - var response = context.getResponse(); - - // query for players - var query = "SELECT r.id, r.key, r.prop FROM r"; - var accept = container.queryDocuments(container.getSelfLink(), query, {}, function( - err: any, - documents: any, - responseOptions: any - ) { - if (err) throw new Error("Error" + err.message); - response.setBody(documents); - }); - - if (!accept) throw "Unable to read player details, abort "; - } - }; - // tslint:enable:no-var-keyword - // tslint:enable:prefer-const - // tslint:enable:curly - // tslint:enable:no-string-throw - // tslint:enable:no-shadowed-variable - // tslint:enable:object-literal-shorthand - - const documents = [ - { id: "document1" }, - { id: "document2", key: null, prop: 1 }, - { id: "document3", key: false, prop: 1 }, - { id: "document4", key: true, prop: 1 }, - { id: "document5", key: 1, prop: 1 }, - { id: "document6", key: "A", prop: 1 } - ]; - - const returnedDocuments = await bulkInsertItems(container, documents); - const { body: sproc } = await container.storedProcedures.create(querySproc); - const { body: result } = await container.storedProcedure(sproc.id).execute([], { partitionKey: null }); - assert(result !== undefined); - assert.equal(result.length, 1); - assert.equal(JSON.stringify(result[0]), JSON.stringify(documents[1])); - - const { body: result2 } = await container.storedProcedure(sproc.id).execute(null, { partitionKey: 1 }); - assert(result2 !== undefined); - assert.equal(result2.length, 1); - assert.equal(JSON.stringify(result2[0]), JSON.stringify(documents[4])); - }); - - it("nativeApi Should enable/disable script logging while executing stored procedure", async function() { - // create database - const database = await getTestDatabase("sproc test database"); - // create container - const { body: containerResult } = await database.containers.create({ id: "sample container" }); - - const container = await database.container(containerResult.id); - - // tslint:disable:curly - // tslint:disable:no-string-throw - // tslint:disable:no-shadowed-variable - // tslint:disable:one-line - // tslint:disable:object-literal-shorthand - const sproc1 = { - id: "storedProcedure", - body: function() { - const mytext = "x"; - const myval = 1; - try { - console.log("The value of %s is %s.", mytext, myval); - getContext() - .getResponse() - .setBody("Success!"); - } catch (err) { - getContext() - .getResponse() - .setBody("inline err: [" + err.number + "] " + err); - } - } - }; - - // tslint:enable:curly - // tslint:enable:no-string-throw - // tslint:enable:no-shadowed-variable - // tslint:enable:one-line - // tslint:enable:object-literal-shorthand - - const { body: retrievedSproc } = await container.storedProcedures.create(sproc1); - const { body: result1, headers: headers1 } = await container.storedProcedure(retrievedSproc.id).execute(); - assert.equal(result1, "Success!"); - assert.equal(headers1[Constants.HttpHeaders.ScriptLogResults], undefined); - - let requestOptions = { enableScriptLogging: true }; - const { body: result2, headers: headers2 } = await container - .storedProcedure(retrievedSproc.id) - .execute([], requestOptions); - assert.equal(result2, "Success!"); - assert.equal(headers2[Constants.HttpHeaders.ScriptLogResults], encodeURIComponent("The value of x is 1.")); - - requestOptions = { enableScriptLogging: false }; - const { body: result3, headers: headers3 } = await container - .storedProcedure(retrievedSproc.id) - .execute([], requestOptions); - assert.equal(result3, "Success!"); - assert.equal(headers3[Constants.HttpHeaders.ScriptLogResults], undefined); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/trigger.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/trigger.spec.ts deleted file mode 100644 index e3102f0c8ffa..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/trigger.spec.ts +++ /dev/null @@ -1,303 +0,0 @@ -import assert from "assert"; -import { DocumentBase } from "../.."; -import { Container, TriggerDefinition } from "../../client"; -import { getTestContainer, removeAllDatabases } from "../common/TestHelpers"; - -const notFoundErrorCode = 404; - -// Mock for trigger function bodies -declare var getContext: any; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - let container: Container; - - beforeEach(async function() { - await removeAllDatabases(); - container = await getTestContainer("trigger container"); - }); - - describe("Validate Trigger CRUD", function() { - it("nativeApi Should do trigger CRUD operations successfully name based", async function() { - // read triggers - const { result: triggers } = await container.triggers.readAll().toArray(); - assert.equal(Array.isArray(triggers), true); - - // create a trigger - const beforeCreateTriggersCount = triggers.length; - // tslint:disable:no-var-keyword - // tslint:disable:prefer-const - const triggerDefinition: TriggerDefinition = { - id: "sample trigger", - body: "serverScript() { var x = 10; }", - triggerType: DocumentBase.TriggerType.Pre, - triggerOperation: DocumentBase.TriggerOperation.All - }; - // tslint:enable:no-var-keyword - // tslint:enable:prefer-const - - const { body: trigger } = await container.triggers.create(triggerDefinition); - - assert.equal(trigger.id, triggerDefinition.id); - assert.equal(trigger.body, "serverScript() { var x = 10; }"); - - // read triggers after creation - const { result: triggersAfterCreation } = await container.triggers.readAll().toArray(); - assert.equal( - triggersAfterCreation.length, - beforeCreateTriggersCount + 1, - "create should increase the number of triggers" - ); - - // query triggers - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: triggerDefinition.id - } - ] - }; - const { result: results } = await container.triggers.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - // replace trigger - // prettier-ignore - trigger.body = function() { const x = 20; }; - const { body: replacedTrigger } = await container.trigger(trigger.id).replace(trigger); - - assert.equal(replacedTrigger.id, trigger.id); - assert.equal(replacedTrigger.body, "function () { const x = 20; }"); - - // read trigger - const { body: triggerAfterReplace } = await container.trigger(replacedTrigger.id).read(); - assert.equal(replacedTrigger.id, triggerAfterReplace.id); - - // delete trigger - await await container.trigger(replacedTrigger.id).delete(); - - // read triggers after deletion - try { - await container.trigger(replacedTrigger.id).read(); - assert.fail("Must fail to read after deletion"); - } catch (err) { - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }); - - it("nativeApi Should do trigger CRUD operations successfully name based with upsert", async function() { - // read triggers - const { result: triggers } = await container.triggers.readAll().toArray(); - assert.equal(Array.isArray(triggers), true); - - // create a trigger - const beforeCreateTriggersCount = triggers.length; - // tslint:disable:no-var-keyword - // tslint:disable:prefer-const - const triggerDefinition: TriggerDefinition = { - id: "sample trigger", - body: "serverScript() { var x = 10; }", - triggerType: DocumentBase.TriggerType.Pre, - triggerOperation: DocumentBase.TriggerOperation.All - }; - // tslint:enable:no-var-keyword - // tslint:enable:prefer-const - - const { body: trigger } = await container.triggers.upsert(triggerDefinition); - - assert.equal(trigger.id, triggerDefinition.id); - assert.equal(trigger.body, "serverScript() { var x = 10; }"); - - // read triggers after creation - const { result: triggersAfterCreation } = await container.triggers.readAll().toArray(); - assert.equal( - triggersAfterCreation.length, - beforeCreateTriggersCount + 1, - "create should increase the number of triggers" - ); - - // query triggers - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: triggerDefinition.id - } - ] - }; - const { result: results } = await container.triggers.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - // replace trigger - // prettier-ignore - trigger.body = function() { const x = 20; }; - const { body: replacedTrigger } = await container.triggers.upsert(trigger); - - assert.equal(replacedTrigger.id, trigger.id); - assert.equal(replacedTrigger.body, "function () { const x = 20; }"); - - // read trigger - const { body: triggerAfterReplace } = await container.trigger(replacedTrigger.id).read(); - assert.equal(replacedTrigger.id, triggerAfterReplace.id); - - // delete trigger - await await container.trigger(replacedTrigger.id).delete(); - - // read triggers after deletion - try { - await container.trigger(replacedTrigger.id).read(); - assert.fail("Must fail to read after deletion"); - } catch (err) { - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }); - }); - - describe("validate trigger functionality", function() { - const triggers: TriggerDefinition[] = [ - { - id: "t1", - // tslint:disable:no-var-keyword - // tslint:disable:prefer-const - // tslint:disable:curly - // tslint:disable:no-string-throw - // tslint:disable:object-literal-shorthand - body: function() { - var item = getContext() - .getRequest() - .getBody(); - item.id = item.id.toUpperCase() + "t1"; - getContext() - .getRequest() - .setBody(item); - }, - triggerType: DocumentBase.TriggerType.Pre, - triggerOperation: DocumentBase.TriggerOperation.All - }, - { - id: "t2", - body: "function() { }", // trigger already stringified - triggerType: DocumentBase.TriggerType.Pre, - triggerOperation: DocumentBase.TriggerOperation.All - }, - { - id: "t3", - body: function() { - const item = getContext() - .getRequest() - .getBody(); - item.id = item.id.toLowerCase() + "t3"; - getContext() - .getRequest() - .setBody(item); - }, - triggerType: DocumentBase.TriggerType.Pre, - triggerOperation: DocumentBase.TriggerOperation.All - }, - { - id: "response1", - body: function() { - const prebody = getContext() - .getRequest() - .getBody(); - if (prebody.id !== "TESTING POST TRIGGERt1") throw "name mismatch"; - const postbody = getContext() - .getResponse() - .getBody(); - if (postbody.id !== "TESTING POST TRIGGERt1") throw "name mismatch"; - }, - triggerType: DocumentBase.TriggerType.Post, - triggerOperation: DocumentBase.TriggerOperation.All - }, - { - id: "triggerOpType", - body: "function() { }", - triggerType: DocumentBase.TriggerType.Post, - triggerOperation: DocumentBase.TriggerOperation.Delete - } - ]; - // tslint:enable:no-var-keyword - // tslint:enable:prefer-const - // tslint:enable:curly - // tslint:enable:no-string-throw - // tslint:enable:object-literal-shorthand - - it("should do trigger operations successfully with create", async function() { - for (const trigger of triggers) { - await container.triggers.create(trigger); - } - // create document - const { body: document } = await container.items.create( - { id: "doc1", key: "value" }, - { preTriggerInclude: "t1" } - ); - assert.equal(document.id, "DOC1t1", "name should be capitalized"); - const { body: document2 } = await container.items.create( - { id: "doc2", key2: "value2" }, - { preTriggerInclude: "t2" } - ); - assert.equal(document2.id, "doc2", "name shouldn't change"); - const { body: document3 } = await container.items.create( - { id: "Doc3", prop: "empty" }, - { preTriggerInclude: "t3" } - ); - assert.equal(document3.id, "doc3t3"); - const { body: document4 } = await container.items.create( - { id: "testing post trigger" }, - { postTriggerInclude: "response1", preTriggerInclude: "t1" } - ); - assert.equal(document4.id, "TESTING POST TRIGGERt1"); - const { body: document5, headers } = await container.items.create( - { id: "responseheaders" }, - { preTriggerInclude: "t1" } - ); - assert.equal(document5.id, "RESPONSEHEADERSt1"); - try { - await container.items.create({ id: "Docoptype" }, { postTriggerInclude: "triggerOpType" }); - assert.fail("Must fail"); - } catch (err) { - assert.equal(err.code, 400, "Must throw when using a DELETE trigger on a CREATE operation"); - } - }); - - it("should do trigger operations successfully with upsert", async function() { - for (const trigger of triggers) { - await container.triggers.upsert(trigger); - } - // create document - const { body: document } = await container.items.upsert( - { id: "doc1", key: "value" }, - { preTriggerInclude: "t1" } - ); - assert.equal(document.id, "DOC1t1", "name should be capitalized"); - const { body: document2 } = await container.items.upsert( - { id: "doc2", key2: "value2" }, - { preTriggerInclude: "t2" } - ); - assert.equal(document2.id, "doc2", "name shouldn't change"); - const { body: document3 } = await container.items.upsert( - { id: "Doc3", prop: "empty" }, - { preTriggerInclude: "t3" } - ); - assert.equal(document3.id, "doc3t3"); - const { body: document4 } = await container.items.upsert( - { id: "testing post trigger" }, - { postTriggerInclude: "response1", preTriggerInclude: "t1" } - ); - assert.equal(document4.id, "TESTING POST TRIGGERt1"); - const { body: document5, headers } = await container.items.upsert( - { id: "responseheaders" }, - { preTriggerInclude: "t1" } - ); - assert.equal(document5.id, "RESPONSEHEADERSt1"); - try { - await container.items.upsert({ id: "Docoptype" }, { postTriggerInclude: "triggerOpType" }); - assert.fail("Must fail"); - } catch (err) { - assert.equal(err.code, 400, "Must throw when using a DELETE trigger on a CREATE operation"); - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/ttl.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/ttl.spec.ts deleted file mode 100644 index be6ffee23680..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/ttl.spec.ts +++ /dev/null @@ -1,303 +0,0 @@ -import assert from "assert"; -import { Container, ContainerDefinition, Database } from "../../client"; -import { getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -async function sleep(time: number) { - return new Promise(resolve => { - setTimeout(resolve, time); - }); -} - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 600000); - beforeEach(async function() { - await removeAllDatabases(); - }); - - describe("TTL tests", function() { - async function createcontainerWithInvalidDefaultTtl( - db: Database, - containerDefinition: ContainerDefinition, - collId: any, - defaultTtl: number - ) { - containerDefinition.id = collId; - containerDefinition.defaultTtl = defaultTtl; - try { - await db.containers.create(containerDefinition); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode, "response should return error code " + badRequestErrorCode); - } - } - - async function createItemWithInvalidTtl(container: Container, itemDefinition: any, itemId: any, ttl: number) { - itemDefinition.id = itemId; - itemDefinition.ttl = ttl; - - try { - await container.items.create(itemDefinition); - assert.fail("Must throw if using invalid TTL"); - } catch (err) { - const badRequestErrorCode = 400; - assert.equal(err.code, badRequestErrorCode, "response should return error code " + badRequestErrorCode); - } - } - - it("nativeApi Validate container and Item TTL values.", async function() { - try { - const database = await getTestDatabase("ttl test1 database"); - - const containerDefinition = { - id: "sample container1", - defaultTtl: 5 - }; - const { body: containerResult } = await database.containers.create(containerDefinition); - - assert.equal(containerDefinition.defaultTtl, containerResult.defaultTtl); - const container = database.container(containerResult.id); - - // null, 0, -10 are unsupported value for defaultTtl.Valid values are -1 or a non-zero positive 32-bit integer value - await createcontainerWithInvalidDefaultTtl(database, containerDefinition, "sample container2", null); - await createcontainerWithInvalidDefaultTtl(database, containerDefinition, "sample container3", 0); - await createcontainerWithInvalidDefaultTtl(database, containerDefinition, "sample container4", -10); - - const itemDefinition = { - id: "doc", - name: "sample Item", - key: "value", - ttl: 2 - }; - - // 0, null, -10 are unsupported value for ttl.Valid values are -1 or a non-zero positive 32-bit integer value - await createItemWithInvalidTtl(container, itemDefinition, "doc1", 0); - await createItemWithInvalidTtl(container, itemDefinition, "doc2", null); - await createItemWithInvalidTtl(container, itemDefinition, "doc3", -10); - } catch (err) { - throw err; - } - }); - - async function checkItemGone(container: Container, createdItem: any) { - try { - await container.item(createdItem.id).read(); - assert.fail("Must throw if the Item isn't there"); - } catch (err) { - const badRequestErrorCode = 404; - assert.equal(err.code, badRequestErrorCode, "response should return error code " + badRequestErrorCode); - } - } - - async function checkItemExists(container: Container, createdItem: any) { - const { body: readItem } = await container.item(createdItem.id).read(); - assert.equal(readItem.ttl, createdItem.ttl); - } - - async function positiveDefaultTtlStep4(container: Container, createdItem: any) { - // the created Item should NOT be gone as it 's ttl value is set to 8 which overrides the containers' s defaultTtl value(5) - await checkItemExists(container, createdItem); - await sleep(4000); - await checkItemGone(container, createdItem); - } - - async function positiveDefaultTtlStep3(container: Container, createdItem: any, itemDefinition: any) { - // the created Item should be gone now as it 's ttl value is set to 2 which overrides the containers' s defaultTtl value(5) - await checkItemGone(container, createdItem); - itemDefinition.id = "doc4"; - itemDefinition.ttl = 8; - - const { body: doc } = await container.items.create(itemDefinition); - await sleep(6000); - await positiveDefaultTtlStep4(container, doc); - } - - async function positiveDefaultTtlStep2(container: Container, createdItem: any, itemDefinition: any) { - // the created Item should NOT be gone as it 's ttl value is set to -1(never expire) which overrides the containers' s defaultTtl value - await checkItemExists(container, createdItem); - itemDefinition.id = "doc3"; - itemDefinition.ttl = 2; - - const { body: doc } = await container.items.create(itemDefinition); - await sleep(4000); - await positiveDefaultTtlStep3(container, doc, itemDefinition); - } - - async function positiveDefaultTtlStep1(container: Container, createdItem: any, itemDefinition: any) { - // the created Item should be gone now as it 's ttl value would be same as defaultTtl value of the container - await checkItemGone(container, createdItem); - itemDefinition.id = "doc2"; - itemDefinition.ttl = -1; - - const { body: doc } = await container.items.create(itemDefinition); - await sleep(5000); - await positiveDefaultTtlStep2(container, doc, itemDefinition); - } - - it("nativeApi Validate Item TTL with positive defaultTtl.", async function() { - const database = await getTestDatabase("ttl test2 database"); - - const containerDefinition = { - id: "sample container", - defaultTtl: 5 - }; - - const { body: containerResult } = await database.containers.create(containerDefinition); - - const container = await database.container(containerResult.id); - - const itemDefinition = { - id: "doc1", - name: "sample Item", - key: "value" - }; - - const { body: createdItem } = await container.items.create(itemDefinition); - await sleep(7000); - await positiveDefaultTtlStep1(container, createdItem, itemDefinition); - }); - - async function minusOneDefaultTtlStep1( - container: Container, - createdItem1: any, - createdItem2: any, - createdItem3: any - ) { - // the created Item should be gone now as it 's ttl value is set to 2 which overrides the containers' s defaultTtl value(-1) - await checkItemGone(container, createdItem3); - - // The Items with id doc1 and doc2 will never expire - const { body: readItem1 } = await container.item(createdItem1.id).read(); - assert.equal(readItem1.id, createdItem1.id); - - const { body: readItem2 } = await container.item(createdItem2.id).read(); - assert.equal(readItem2.id, createdItem2.id); - } - - it("nativeApi Validate Item TTL with -1 defaultTtl.", async function() { - const database = await getTestDatabase("ttl test2 database"); - - const containerDefinition = { - id: "sample container", - defaultTtl: -1 - }; - - const { body: createdContainer } = await database.containers.create(containerDefinition); - - const container = await database.container(createdContainer.id); - - const itemDefinition: any = { - id: "doc1", - name: "sample Item", - key: "value" - }; - - // the created Item 's ttl value would be -1 inherited from the container' s defaultTtl and this Item will never expire - const { body: createdItem1 } = await container.items.create(itemDefinition); - - // This Item is also set to never expire explicitly - itemDefinition.id = "doc2"; - itemDefinition.ttl = -1; - - const { body: createdItem2 } = await container.items.create(itemDefinition); - - itemDefinition.id = "doc3"; - itemDefinition.ttl = 2; - - const { body: createdItem3 } = await container.items.create(itemDefinition); - await sleep(4000); - await minusOneDefaultTtlStep1(container, createdItem1, createdItem2, createdItem3); - }); - - it("nativeApi Validate Item TTL with no defaultTtl.", async function() { - const database = await getTestDatabase("ttl test3 database"); - - const containerDefinition = { id: "sample container" }; - - const { body: createdContainer } = await database.containers.create(containerDefinition); - - const container = await database.container(createdContainer.id); - - const itemDefinition = { - id: "doc1", - name: "sample Item", - key: "value", - ttl: 5 - }; - - const { body: createdItem } = await container.items.create(itemDefinition); - - // Created Item still exists even after ttl time has passed since the TTL is disabled at container level(no defaultTtl property defined) - await sleep(7000); - await checkItemExists(container, createdItem); - }); - - async function miscCasesStep4(container: Container, createdItem: any, itemDefinition: any) { - // Created Item still exists even after ttl time has passed since the TTL is disabled at container level - await checkItemExists(container, createdItem); - } - - async function miscCasesStep3(container: Container, upsertedItem: any, itemDefinition: any) { - // the upserted Item should be gone now after 10 secs from the last write(upsert) of the Item - await checkItemGone(container, upsertedItem); - const query = "SELECT * FROM root r"; - const { result: results } = await container.items.query(query).toArray(); - assert.equal(results.length, 0); - - // Use a container definition without defaultTtl to disable ttl at container level - const containerDefinition = { id: container.id }; - - await container.replace(containerDefinition); - - itemDefinition.id = "doc2"; - - const { body: createdItem } = await container.items.create(itemDefinition); - await sleep(5000); - await miscCasesStep4(container, createdItem, itemDefinition); - } - - async function miscCasesStep2(container: Container, itemDefinition: any) { - // Upsert the Item after 3 secs to reset the Item 's ttl - itemDefinition.key = "value2"; - const { body: upsertedItem } = await container.items.upsert(itemDefinition); - await sleep(7000); - // Upserted Item still exists after (3+7)10 secs from Item creation time( with container 's defaultTtl set to 8) since it' s ttl was reset after 3 secs by upserting it - await checkItemExists(container, upsertedItem); - await sleep(3000); - await miscCasesStep3(container, upsertedItem, itemDefinition); - } - - async function miscCasesStep1(container: Container, createdItem: any, itemDefinition: any) { - // the created Item should be gone now as the ttl time expired - await checkItemGone(container, createdItem); - // We can create a Item with the same id after the ttl time has expired - const { body: doc } = await container.items.create(itemDefinition); - assert.equal(itemDefinition.id, doc.id); - await sleep(3000); - await miscCasesStep2(container, itemDefinition); - } - - it("nativeApi Validate Item TTL Misc cases.", async function() { - const database = await getTestDatabase("ttl test4 database"); - - const containerDefinition = { - id: "sample container", - defaultTtl: 8 - }; - - const { body: containerResult } = await database.containers.create(containerDefinition); - - const container = await database.container(containerResult.id); - - const itemDefinition = { - id: "doc1", - name: "sample Item", - key: "value" - }; - - const { body: createdItem } = await container.items.create(itemDefinition); - - await sleep(10000); - await miscCasesStep1(container, createdItem, itemDefinition); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/udf.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/udf.spec.ts deleted file mode 100644 index ddea389fe4b8..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/udf.spec.ts +++ /dev/null @@ -1,142 +0,0 @@ -import assert from "assert"; -import { Container } from "../.."; -import { UserDefinedFunctionDefinition } from "../../client"; -import { getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -const containerId = "sample container"; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - - beforeEach(async function() { - await removeAllDatabases(); - }); - - describe("User Defined Function", function() { - let container: Container; - - beforeEach(async function() { - // create database - const database = await getTestDatabase("udf test database"); - - // create container - await database.containers.create({ id: containerId }); - - container = await database.container(containerId); - }); - it("nativeApi Should do UDF CRUD operations successfully", async function() { - const { result: udfs } = await container.userDefinedFunctions.readAll().toArray(); - - // create a udf - const beforeCreateUdfsCount = udfs.length; - const udfDefinition: UserDefinedFunctionDefinition = { - id: "sample udf", - body: "function () { const x = 10; }" - }; - - // TODO also handle upsert case - const { body: udf } = await container.userDefinedFunctions.create(udfDefinition); - - assert.equal(udf.id, udfDefinition.id); - assert.equal(udf.body, "function () { const x = 10; }"); - - // read udfs after creation - const { result: udfsAfterCreate } = await container.userDefinedFunctions.readAll().toArray(); - assert.equal(udfsAfterCreate.length, beforeCreateUdfsCount + 1, "create should increase the number of udfs"); - - // query udfs - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: udfDefinition.id - } - ] - }; - const { result: results } = await container.userDefinedFunctions.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - // replace udf - udfDefinition.body = "function () { const x = 10; }"; - const { body: replacedUdf } = await container.userDefinedFunction(udfDefinition.id).replace(udfDefinition); - - assert.equal(replacedUdf.id, udfDefinition.id); - assert.equal(replacedUdf.body, "function () { const x = 10; }"); - - // read udf - const { body: udfAfterReplace } = await container.userDefinedFunction(replacedUdf.id).read(); - - assert.equal(replacedUdf.id, udfAfterReplace.id); - - // delete udf - const { body: res } = await container.userDefinedFunction(replacedUdf.id).delete(); - - // read udfs after deletion - try { - const { body: badudf } = await container.userDefinedFunction(replacedUdf.id).read(); - assert.fail("Must fail to read after delete"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }); - - it("nativeApi Should do UDF CRUD operations successfully", async function() { - const { result: udfs } = await container.userDefinedFunctions.readAll().toArray(); - - // create a udf - const beforeCreateUdfsCount = udfs.length; - const udfDefinition = { - id: "sample udf", - body: "function () { const x = 10; }" - }; - - const { body: udf } = await container.userDefinedFunctions.upsert(udfDefinition); - - assert.equal(udf.id, udfDefinition.id); - assert.equal(udf.body, "function () { const x = 10; }"); - - // read udfs after creation - const { result: udfsAfterCreate } = await container.userDefinedFunctions.readAll().toArray(); - assert.equal(udfsAfterCreate.length, beforeCreateUdfsCount + 1, "create should increase the number of udfs"); - - // query udfs - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: udfDefinition.id - } - ] - }; - const { result: results } = await container.userDefinedFunctions.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - // replace udf - udfDefinition.body = "function () { const x = 10; }"; - const { body: replacedUdf } = await container.userDefinedFunctions.upsert(udfDefinition); - - assert.equal(replacedUdf.id, udfDefinition.id); - assert.equal(replacedUdf.body, "function () { const x = 10; }"); - - // read udf - const { body: udfAfterReplace } = await container.userDefinedFunction(replacedUdf.id).read(); - - assert.equal(replacedUdf.id, udfAfterReplace.id); - - // delete udf - const { body: res } = await container.userDefinedFunction(replacedUdf.id).delete(); - - // read udfs after deletion - try { - const { body: badudf } = await container.userDefinedFunction(replacedUdf.id).read(); - assert.fail("Must fail to read after delete"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/functional/user.spec.ts b/sdk/cosmosdb/cosmos/src/test/functional/user.spec.ts deleted file mode 100644 index 58d8a91c13c9..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/functional/user.spec.ts +++ /dev/null @@ -1,81 +0,0 @@ -import assert from "assert"; -import { UserDefinition } from "../../client"; -import { createOrUpsertUser, getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -describe("NodeJS CRUD Tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - beforeEach(async function() { - await removeAllDatabases(); - }); - describe("Validate User CRUD", function() { - const userCRUDTest = async function(isUpsertTest: boolean) { - // create database - const database = await getTestDatabase("Validate user CRUD"); - - // list users - const { result: users } = await database.users.readAll().toArray(); - assert.equal(users.constructor, Array, "Value should be an array"); - const beforeCreateCount = users.length; - - // create user - const { body: userDef } = await createOrUpsertUser(database, { id: "new user" }, undefined, isUpsertTest); - assert.equal(userDef.id, "new user", "user name error"); - let user = database.user(userDef.id); - - // list users after creation - const { result: usersAfterCreation } = await database.users.readAll().toArray(); - assert.equal(usersAfterCreation.length, beforeCreateCount + 1); - - // query users - const querySpec = { - query: "SELECT * FROM root r WHERE r.id=@id", - parameters: [ - { - name: "@id", - value: "new user" - } - ] - }; - const { result: results } = await database.users.query(querySpec).toArray(); - assert(results.length > 0, "number of results for the query should be > 0"); - - // replace user - userDef.id = "replaced user"; - let replacedUser: UserDefinition; - if (isUpsertTest) { - const r = await database.users.upsert(userDef); - replacedUser = r.body; - } else { - const r = await user.replace(userDef); - replacedUser = r.body; - } - assert.equal(replacedUser.id, "replaced user", "user name should change"); - assert.equal(userDef.id, replacedUser.id, "user id should stay the same"); - user = database.user(replacedUser.id); - - // read user - const { body: userAfterReplace } = await user.read(); - assert.equal(replacedUser.id, userAfterReplace.id); - - // delete user - const { body: res } = await user.delete(); - - // read user after deletion - try { - await user.read(); - assert.fail("Must fail to read user after deletion"); - } catch (err) { - const notFoundErrorCode = 404; - assert.equal(err.code, notFoundErrorCode, "response should return error code 404"); - } - }; - - it("nativeApi Should do User CRUD operations successfully name based", async function() { - await userCRUDTest(false); - }); - - it("nativeApi Should do User CRUD operations successfully name based with upsert", async function() { - await userCRUDTest(true); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/aggregateQuery.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/aggregateQuery.spec.ts deleted file mode 100644 index 7cb915c19834..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/aggregateQuery.spec.ts +++ /dev/null @@ -1,323 +0,0 @@ -import assert from "assert"; -import * as util from "util"; -import { QueryIterator } from "../.."; -import { Container, ContainerDefinition, Database } from "../../client"; -import { DataType, IndexKind, PartitionKind } from "../../documents"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { FeedOptions } from "../../request"; -import { TestData } from "../common/TestData"; -import { bulkInsertItems, getTestContainer, removeAllDatabases } from "../common/TestHelpers"; - -// process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; - -describe("NodeJS Aggregate Query Tests", async function() { - this.timeout(process.env.MOCHA_TIMEOUT || 20000); - const partitionKey = "key"; - const uniquePartitionKey = "uniquePartitionKey"; - const testdata = new TestData(partitionKey, uniquePartitionKey); - const documentDefinitions = testdata.docs; - let db: Database; - let container: Container; - - const containerDefinition: ContainerDefinition = { - id: "sample container", - indexingPolicy: { - includedPaths: [ - { - path: "/", - indexes: [ - { - kind: IndexKind.Hash, - dataType: DataType.String - }, - { - kind: IndexKind.Range, - dataType: DataType.Number - } - ] - } - ] - }, - partitionKey: { - paths: ["/" + partitionKey], - kind: PartitionKind.Hash - } - }; - - const containerOptions = { offerThroughput: 10100 }; - - describe("Validate Aggregate Document Query", function() { - // - removes all the databases, - // - creates a new database, - // - creates a new collecton, - // - bulk inserts documents to the container - before(async function() { - await removeAllDatabases(); - container = await getTestContainer( - "Validate Aggregate Document Query", - undefined, - containerDefinition, - containerOptions - ); - db = container.database; - await bulkInsertItems(container, documentDefinitions); - }); - - const validateResult = function(actualValue: any, expectedValue: any) { - assert.deepEqual(actualValue, expectedValue, "actual value doesn't match with expected value."); - }; - - const validateToArray = async function(queryIterator: QueryIterator, expectedResults: any) { - try { - const { result: results } = await queryIterator.toArray(); - assert.equal(results.length, expectedResults.length, "invalid number of results"); - assert.equal(queryIterator.hasMoreResults(), false, "hasMoreResults: no more results is left"); - } catch (err) { - throw err; - } - }; - - const validateNextItem = async function(queryIterator: QueryIterator, expectedResults: any) { - let results: any = []; - - try { - while (results.length < expectedResults.length) { - const { result: item } = await queryIterator.nextItem(); - if (item === undefined) { - assert(!queryIterator.hasMoreResults(), "hasMoreResults must signal results exhausted"); - validateResult(results, expectedResults); - return; - } - results = results.concat(item); - - if (results.length < expectedResults.length) { - assert(queryIterator.hasMoreResults(), "hasMoreResults must indicate more results"); - } - } - } catch (err) { - throw err; - } - }; - - const validateNextItemAndCurrentAndHasMoreResults = async function( - queryIterator: QueryIterator, - expectedResults: any[] - ) { - // curent and nextItem recursively invoke each other till queryIterator is exhausted - //////////////////////////////// - // validate nextItem() - //////////////////////////////// - - const results: any[] = []; - try { - while (results.length <= expectedResults.length) { - const { result: item } = await queryIterator.nextItem(); - const { result: currentItem } = await queryIterator.current(); - if (item === undefined) { - break; - } - results.push(item); - if (results.length < expectedResults.length) { - assert(queryIterator.hasMoreResults(), "hasMoreResults must indicate more results"); - } - assert.equal(item, currentItem, "current must give the previously item returned by nextItem"); - } - - assert(!queryIterator.hasMoreResults(), "hasMoreResults must signal results exhausted"); - validateResult(results, expectedResults); - } catch (err) { - throw err; - } - }; - - const validateExecuteNextAndHasMoreResults = async function( - queryIterator: QueryIterator, - options: any, - expectedResults: any[] - ) { - //////////////////////////////// - // validate executeNext() - //////////////////////////////// - const pageSize = options["maxItemCount"]; - const listOfResultPages: any[] = []; - const listOfHeaders: any[] = []; - - let totalFetchedResults: any[] = []; - - try { - while (totalFetchedResults.length <= expectedResults.length) { - const { result: results, headers } = await queryIterator.executeNext(); - listOfResultPages.push(results); - listOfHeaders.push(headers); - - if (results === undefined || totalFetchedResults.length === expectedResults.length) { - break; - } - - totalFetchedResults = totalFetchedResults.concat(results); - - if (totalFetchedResults.length < expectedResults.length) { - // there are more results - assert(results.length <= pageSize, "executeNext: invalid fetch block size"); - assert.equal(results.length, pageSize, "executeNext: invalid fetch block size"); - assert(queryIterator.hasMoreResults(), "hasMoreResults expects to return true"); - } else { - // no more results - assert.equal( - expectedResults.length, - totalFetchedResults.length, - "executeNext: didn't fetch all the results" - ); - assert(results.length <= pageSize, "executeNext: actual fetch size is more than the requested page size"); - } - } - - // no more results - validateResult(totalFetchedResults, expectedResults); - assert.equal(queryIterator.hasMoreResults(), false, "hasMoreResults: no more results is left"); - } catch (err) { - throw err; - } - }; - - const validateForEach = async function(queryIterator: QueryIterator, expectedResults: any[]) { - //////////////////////////////// - // validate forEach() - //////////////////////////////// - - const results: any[] = []; - let callbackSingnalledEnd = false; - // forEach uses callbacks still, so just wrap in a promise - for await (const { result: item } of queryIterator.getAsyncIterator()) { - // if the previous invocation returned false, forEach must avoid invoking the callback again! - assert.equal(callbackSingnalledEnd, false, "forEach called callback after the first false returned"); - results.push(item); - if (results.length === expectedResults.length) { - callbackSingnalledEnd = true; - } - } - validateResult(results, expectedResults); - }; - - const executeQueryAndValidateResults = async function(query: string | SqlQuerySpec, expectedResults: any[]) { - const options: FeedOptions = { enableCrossPartitionQuery: true, maxDegreeOfParallelism: 2, maxItemCount: 1 }; - - const queryIterator = container.items.query(query, options); - await validateToArray(queryIterator, expectedResults); - queryIterator.reset(); - await validateExecuteNextAndHasMoreResults(queryIterator, options, expectedResults); - queryIterator.reset(); - await validateNextItemAndCurrentAndHasMoreResults(queryIterator, expectedResults); - await validateForEach(queryIterator, expectedResults); - }; - - const generateTestConfigs = function() { - const testConfigs: any[] = []; - const aggregateQueryFormat = "SELECT VALUE %s(r.%s) FROM r WHERE %s"; - const aggregateOrderByQueryFormat = "SELECT VALUE %s(r.%s) FROM r WHERE %s ORDER BY r.%s"; - const aggregateConfigs = [ - { - operator: "AVG", - expected: testdata.sum / testdata.numberOfDocumentsWithNumbericId, - condition: util.format("IS_NUMBER(r.%s)", partitionKey) - }, - { operator: "AVG", expected: undefined, condition: "true" }, - { - operator: "COUNT", - expected: testdata.numberOfDocuments, - condition: "true" - }, - { operator: "MAX", expected: "xyz", condition: "true" }, - { operator: "MIN", expected: null, condition: "true" }, - { - operator: "SUM", - expected: testdata.sum, - condition: util.format("IS_NUMBER(r.%s)", partitionKey) - }, - { operator: "SUM", expected: undefined, condition: "true" } - ]; - - aggregateConfigs.forEach(function(config) { - let query = util.format(aggregateQueryFormat, config.operator, partitionKey, config.condition); - let testName = util.format("%s %s", config.operator, config.condition); - testConfigs.push({ - testName, - query, - expected: config.expected - }); - - query = util.format(aggregateOrderByQueryFormat, config.operator, partitionKey, config.condition, partitionKey); - testName = util.format("%s %s OrderBy", config.operator, config.condition); - testConfigs.push({ - testName, - query, - expected: config.expected - }); - }); - - const aggregateSinglePartitionQueryFormat = "SELECT VALUE %s(r.%s) FROM r WHERE r.%s = '%s'"; - const aggregateSinglePartitionQueryFormatSelect = "SELECT %s(r.%s) FROM r WHERE r.%s = '%s'"; - const samePartitionSum = - (testdata.numberOfDocsWithSamePartitionKey * (testdata.numberOfDocsWithSamePartitionKey + 1)) / 2.0; - const aggregateSinglePartitionConfigs = [ - { - operator: "AVG", - expected: samePartitionSum / testdata.numberOfDocsWithSamePartitionKey - }, - { - operator: "COUNT", - expected: testdata.numberOfDocsWithSamePartitionKey - }, - { - operator: "MAX", - expected: testdata.numberOfDocsWithSamePartitionKey - }, - { operator: "MIN", expected: 1 }, - { operator: "SUM", expected: samePartitionSum } - ]; - - aggregateSinglePartitionConfigs.forEach(function(config) { - let query = util.format( - aggregateSinglePartitionQueryFormat, - config.operator, - testdata.field, - partitionKey, - uniquePartitionKey - ); - let testName = util.format("%s SinglePartition %s", config.operator, "SELECT VALUE"); - testConfigs.push({ - testName, - query, - expected: config.expected - }); - - query = util.format( - aggregateSinglePartitionQueryFormatSelect, - config.operator, - testdata.field, - partitionKey, - uniquePartitionKey - ); - testName = util.format("%s SinglePartition %s", config.operator, "SELECT"); - testConfigs.push({ - testName, - query, - expected: { $1: config.expected } - }); - }); - - return testConfigs; - }; - - generateTestConfigs().forEach(function(test) { - it(test.testName, async function() { - try { - const expected = test.expected === undefined ? [] : [test.expected]; - await executeQueryAndValidateResults(test.query, expected); - } catch (err) { - throw err; - } - }); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/authorization.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/authorization.spec.ts deleted file mode 100644 index 145cf914123a..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/authorization.spec.ts +++ /dev/null @@ -1,152 +0,0 @@ -import assert from "assert"; -import { Container, CosmosClient, DocumentBase } from "../.."; -import { Database } from "../../client"; -import { endpoint } from "../common/_testConfig"; -import { getTestContainer, removeAllDatabases } from "../common/TestHelpers"; - -describe("Authorization", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - - // TODO: should have types for all these things - let database: Database; - let container: Container; - - let userReadDefinition: any = { id: "User With Read Permission" }; - let userAllDefinition: any = { id: "User With All Permission" }; - let collReadPermission: any = { - id: "container Read Permission", - permissionMode: DocumentBase.PermissionMode.Read - }; - let collAllPermission: any = { - id: "container All Permission", - permissionMode: DocumentBase.PermissionMode.All - }; - /************** TEST **************/ - - beforeEach(async function() { - await removeAllDatabases(); - - // create a database & container - container = await getTestContainer("Authorization tests"); - database = container.database; - - // create userReadPermission - const { body: userDef } = await container.database.users.create(userReadDefinition); - assert.equal(userReadDefinition.id, userDef.id, "userReadPermission is not created properly"); - userReadDefinition = userDef; - const userRead = container.database.user(userDef.id); - - // give permission to read container, to userReadPermission - collReadPermission.resource = container.url; - const { body: readPermission } = await userRead.permissions.create(collReadPermission); - assert.equal(readPermission.id, collReadPermission.id, "permission to read coll1 is not created properly"); - collReadPermission = readPermission; - - // create userAllPermission - const { body: userAllDef } = await container.database.users.create(userAllDefinition); - assert.equal(userAllDefinition.id, userAllDef.id, "userAllPermission is not created properly"); - userAllDefinition = userAllDef; - const userAll = container.database.user(userAllDef.id); - - // create collAllPermission - collAllPermission.resource = container.url; - const { body: allPermission } = await userAll.permissions.create(collAllPermission); - assert.equal(collAllPermission.id, allPermission.id, "permission to read coll2 is not created properly"); - collAllPermission = allPermission; - }); - - afterEach(async function() { - await removeAllDatabases(); - }); - - it("Accessing container by resourceTokens", async function() { - const rTokens: any = {}; - rTokens[container.id] = collReadPermission._token; - - const clientReadPermission = new CosmosClient({ - endpoint, - auth: { resourceTokens: rTokens } - }); - - const { body: coll } = await clientReadPermission - .database(database.id) - .container(container.id) - .read(); - assert.equal(coll.id, container.id, "invalid container"); - }); - - it("Accessing container by permissionFeed", async function() { - const clientReadPermission = new CosmosClient({ - endpoint, - auth: { permissionFeed: [collReadPermission] } - }); - - // self link must be used to access a resource using permissionFeed - const { body: coll } = await clientReadPermission - .database(database.id) - .container(container.id) - .read(); - assert.equal(coll.id, container.id, "invalid container"); - }); - - it("Accessing container without permission fails", async function() { - const clientNoPermission = new CosmosClient({ endpoint, auth: null }); - - try { - await clientNoPermission - .database(database.id) - .container(container.id) - .read(); - assert.fail("accessing container did not throw"); - } catch (err) { - assert(err !== undefined); // TODO: should check that we get the right error message - } - }); - - it("Accessing document by permissionFeed of parent container", async function() { - const { body: createdDoc } = await container.items.create({ - id: "document1" - }); - const clientReadPermission = new CosmosClient({ - endpoint, - auth: { permissionFeed: [collReadPermission] } - }); - assert.equal("document1", createdDoc.id, "invalid documnet create"); - - const { body: readDoc } = await clientReadPermission - .database(database.id) - .container(container.id) - .item(createdDoc.id) - .read(); - assert.equal(readDoc.id, createdDoc.id, "invalid document read"); - }); - - it("Modifying container by resourceTokens", async function() { - const rTokens: any = {}; - rTokens[container.id] = collAllPermission._token; - const clientAllPermission = new CosmosClient({ - endpoint, - auth: { resourceTokens: rTokens } - }); - - // delete container - return clientAllPermission - .database(database.id) - .container(container.id) - .delete(); - }); - - it("Modifying container by permissionFeed", async function() { - const clientAllPermission = new CosmosClient({ - endpoint, - auth: { permissionFeed: [collAllPermission] } - }); - - // self link must be used to access a resource using permissionFeed - // delete container - return clientAllPermission - .database(database.id) - .container(container.id) - .delete(); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/container.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/container.spec.ts deleted file mode 100644 index d182745d1a53..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/container.spec.ts +++ /dev/null @@ -1,51 +0,0 @@ -import assert from "assert"; -import { Container } from "../../client"; - -describe("Container", function() { - describe("extractPartitionKey", function() { - let partitionKeyDefinition: any; // TODO: any - const container: Container = new Container({ database: { client: null } } as any, undefined, undefined); - - beforeEach(function() { - partitionKeyDefinition = undefined; - }); - - describe("With undefined partitionKeyDefinition", function() { - it("should return undefined", function() { - const document: any = {}; - const result = container.extractPartitionKey(document, partitionKeyDefinition); - assert.equal(result, undefined); - }); - }); - - describe("With a defined partitionKeyDefinition", function() { - beforeEach(function() { - partitionKeyDefinition = { paths: ["/a/b"] }; - }); - - it("should return [{}] when document has no partition key value", function() { - const document = {}; - const result = container.extractPartitionKey(document, partitionKeyDefinition); - assert.deepEqual(result, [{}]); - }); - - it("should return [null] when document has a null partition key value", function() { - const document: any = { a: { b: null } }; - const result = container.extractPartitionKey(document, partitionKeyDefinition); - assert.deepEqual(result, [null]); - }); - - it("should return [{}] when document has a partially defined partition key value", function() { - const document = { a: "some value" }; - const result = container.extractPartitionKey(document, partitionKeyDefinition); - assert.deepEqual(result, [{}]); - }); - - it("should return [value] when document has a valid partition key value", function() { - const document = { a: { b: "some value" } }; - const result = container.extractPartitionKey(document, partitionKeyDefinition); - assert.deepEqual(result, ["some value"]); - }); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/crossPartition.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/crossPartition.spec.ts deleted file mode 100644 index ee3f8f8d858e..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/crossPartition.spec.ts +++ /dev/null @@ -1,913 +0,0 @@ -import assert from "assert"; -import * as util from "util"; -import { Constants } from "../.."; -import { Container, ContainerDefinition } from "../../client"; -import { DataType, IndexKind, PartitionKind } from "../../documents"; -import { SqlQuerySpec } from "../../queryExecutionContext"; -import { QueryIterator } from "../../queryIterator"; -import { bulkInsertItems, getTestContainer, removeAllDatabases } from "../common/TestHelpers"; - -function compare(key: string) { - return function(a: any, b: any): number { - if (a[key] > b[key]) { - return 1; - } - if (a[key] < b[key]) { - return -1; - } - return 0; - }; -} - -describe("Cross Partition", function() { - this.timeout(process.env.MOCHA_TIMEOUT || "30000"); - const generateDocuments = function(docSize: number) { - const docs = []; - for (let i = 0; i < docSize; i++) { - const d = { - id: i.toString(), - name: "sample document", - spam: "eggs" + i.toString(), - cnt: i, - key: "value", - spam2: i === 3 ? "eggs" + i.toString() : i, - boolVar: i % 2 === 0, - number: 1.1 * i - }; - docs.push(d); - } - return docs; - }; - - describe("Validate Query", function() { - const documentDefinitions = generateDocuments(20); - - const containerDefinition: ContainerDefinition = { - id: "sample container", - indexingPolicy: { - includedPaths: [ - { - path: "/", - indexes: [ - { - kind: IndexKind.Range, - dataType: DataType.Number - }, - { - kind: IndexKind.Range, - dataType: DataType.String - } - ] - } - ] - }, - partitionKey: { - paths: ["/id"], - kind: PartitionKind.Hash - } - }; - const containerOptions = { offerThroughput: 25100 }; - - let container: Container; - - // - removes all the databases, - // - creates a new database, - // - creates a new collecton, - // - bulk inserts documents to the container - before(async function() { - await removeAllDatabases(); - container = await getTestContainer("Validate 中文 Query", undefined, containerDefinition, containerOptions); - await bulkInsertItems(container, documentDefinitions); - }); - - const validateResults = function(actualResults: any[], expectedOrderIds: string[]) { - assert.equal( - actualResults.length, - expectedOrderIds.length, - "actual results length doesn't match with expected results length." - ); - - for (let i = 0; i < actualResults.length; i++) { - assert.equal( - actualResults[i].id, - expectedOrderIds[i], - "actual result content doesn't match with expected result content. " + - actualResults[i].id + - " != " + - expectedOrderIds[i] - ); - } - }; - - const validateToArray = async function( - queryIterator: QueryIterator, - options: any, - expectedOrderIds: string[] - ) { - //////////////////////////////// - // validate toArray() - //////////////////////////////// - options.continuation = undefined; - try { - const { result: results } = await queryIterator.toArray(); - assert.equal(results.length, expectedOrderIds.length, "invalid number of results"); - assert.equal(queryIterator.hasMoreResults(), false, "hasMoreResults: no more results is left"); - - return validateResults(results, expectedOrderIds); - } catch (err) { - throw err; - } - }; - - const validateNextItem = async function(queryIterator: QueryIterator, expectedOrderIds: string[]) { - //////////////////////////////// - // validate nextItem() - //////////////////////////////// - const results: any[] = []; - try { - while (results.length < expectedOrderIds.length) { - assert(queryIterator.hasMoreResults(), "hasMoreResults must indicate more results"); - const { result: item } = await queryIterator.nextItem(); - if (item === undefined) { - break; - } - results.push(item); - } - - assert(!queryIterator.hasMoreResults(), "hasMoreResults must signal results exhausted"); - validateResults(results, expectedOrderIds); - } catch (err) { - throw err; - } - }; - - const validateNextItemAndCurrentAndHasMoreResults = async function( - queryIterator: QueryIterator, - expectedOrderIds: string[] - ) { - // curent and nextItem recursively invoke each other till queryIterator is exhausted - //////////////////////////////// - // validate nextItem() - //////////////////////////////// - const results: any[] = []; - try { - while (results.length <= expectedOrderIds.length) { - const { result: currentItem } = await queryIterator.current(); - const { result: item } = await queryIterator.nextItem(); - if (!item) { - break; - } - results.push(item); - if (results.length < expectedOrderIds.length) { - assert(queryIterator.hasMoreResults(), "hasMoreResults must indicate more results"); - } - assert.equal(item, currentItem, "current must give the previously item returned by nextItem"); - } - - assert(!queryIterator.hasMoreResults(), "hasMoreResults must signal results exhausted"); - validateResults(results, expectedOrderIds); - } catch (err) { - throw err; - } - }; - - const validateExecuteNextAndHasMoreResults = async function( - options: any, - queryIterator: QueryIterator, - expectedOrderIds: string[], - validateExecuteNextWithContinuationToken?: boolean - ) { - const pageSize = options["maxItemCount"]; - - //////////////////////////////// - // validate executeNext() - //////////////////////////////// - - const listOfResultPages: any[] = []; - const listOfHeaders: any[] = []; - - let totalFetchedResults: any[] = []; - - try { - while (totalFetchedResults.length <= expectedOrderIds.length) { - const { result: results, headers } = await queryIterator.executeNext(); - listOfResultPages.push(results); - listOfHeaders.push(headers); - - if (results === undefined || totalFetchedResults.length === expectedOrderIds.length) { - break; - } - - totalFetchedResults = totalFetchedResults.concat(results); - - if (totalFetchedResults.length < expectedOrderIds.length) { - // there are more results - assert(results.length <= pageSize, "executeNext: invalid fetch block size"); - if (validateExecuteNextWithContinuationToken) { - assert(results.length <= pageSize, "executeNext: invalid fetch block size"); - } else { - assert.equal(results.length, pageSize, "executeNext: invalid fetch block size"); - } - assert(queryIterator.hasMoreResults(), "hasMoreResults expects to return true"); - } else { - // no more results - assert.equal( - expectedOrderIds.length, - totalFetchedResults.length, - "executeNext: didn't fetch all the results" - ); - assert(results.length <= pageSize, "executeNext: actual fetch size is more than the requested page size"); - } - } - - // no more results - validateResults(totalFetchedResults, expectedOrderIds); - assert.equal(queryIterator.hasMoreResults(), false, "hasMoreResults: no more results is left"); - if (validateExecuteNextWithContinuationToken) { - // TODO: chrande - // I don't think this code is ever called, which means we're missing tests or should delete it. - throw new Error("Not yet implemented"); - // return validateExecuteNextWithGivenContinuationToken( - // containerLink, query, options, listOfResultPages, listOfHeaders); - } - } catch (err) { - throw err; - } - }; - - const validateForEach = async function(queryIterator: QueryIterator, expectedOrderIds: any[]) { - //////////////////////////////// - // validate forEach() - //////////////////////////////// - const results: any[] = []; - let callbackSingnalledEnd = false; - // forEach uses callbacks still, so just wrap in a promise - for await (const { result: item } of queryIterator.getAsyncIterator()) { - // if the previous invocation returned false, forEach must avoid invoking the callback again! - assert.equal(callbackSingnalledEnd, false, "forEach called callback after the first false returned"); - results.push(item); - if (results.length === expectedOrderIds.length) { - callbackSingnalledEnd = true; - } - } - validateResults(results, expectedOrderIds); - }; - - const validateQueryMetrics = async function(queryIterator: QueryIterator) { - try { - while (queryIterator.hasMoreResults()) { - const { result: results, headers } = await queryIterator.executeNext(); - if (results === undefined) { - break; - } - - assert.notEqual(headers[Constants.HttpHeaders.QueryMetrics], null); - } - } catch (err) { - throw err; - } - }; - - const executeQueryAndValidateResults = async function( - query: string | SqlQuerySpec, - options: any, - expectedOrderIds: any[], - validateExecuteNextWithContinuationToken?: boolean - ) { - options.populateQueryMetrics = true; - validateExecuteNextWithContinuationToken = validateExecuteNextWithContinuationToken || false; - const queryIterator = container.items.query(query, options); - - await validateToArray(queryIterator, options, expectedOrderIds); - queryIterator.reset(); - await validateExecuteNextAndHasMoreResults( - options, - queryIterator, - expectedOrderIds, - validateExecuteNextWithContinuationToken - ); - queryIterator.reset(); - await validateNextItemAndCurrentAndHasMoreResults(queryIterator, expectedOrderIds); - await validateForEach(queryIterator, expectedOrderIds); - await validateQueryMetrics(queryIterator); - }; - - const requestChargeValidator = async function(queryIterator: QueryIterator) { - let counter = 0; - let totalRequestCharge = 0; - - while (queryIterator.hasMoreResults()) { - const { result: results, headers } = await queryIterator.executeNext(); - const rc: number = (headers || {})[Constants.HttpHeaders.RequestCharge] as number; - - if (counter === 0) { - assert(rc > 0); - counter += 1; - } - - if (results === undefined) { - assert(totalRequestCharge > 0); - return; - } else { - totalRequestCharge += rc; - assert(rc >= 0); - } - } - }; - - it("Validate Parallel Query As String With maxDegreeOfParallelism = 0", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 0 - }; - - const expectedOrderedIds = [1, 10, 18, 2, 3, 13, 14, 16, 17, 0, 11, 12, 5, 9, 19, 4, 6, 7, 8, 15]; - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds, false); - }); - - it("Validate Parallel Query As String With maxDegreeOfParallelism: -1", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: -1, - populateQueryMetrics: true - }; - - const expectedOrderedIds = [1, 10, 18, 2, 3, 13, 14, 16, 17, 0, 11, 12, 5, 9, 19, 4, 6, 7, 8, 15]; - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds, false); - }); - - it("Validate Parallel Query As String With maxDegreeOfParallelism: 1", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 1 - }; - - const expectedOrderedIds = [1, 10, 18, 2, 3, 13, 14, 16, 17, 0, 11, 12, 5, 9, 19, 4, 6, 7, 8, 15]; - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds, false); - }); - - it("Validate Parallel Query As String With maxDegreeOfParallelism: 3", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 3 - }; - - const expectedOrderedIds = [1, 10, 18, 2, 3, 13, 14, 16, 17, 0, 11, 12, 5, 9, 19, 4, 6, 7, 8, 15]; - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds, false); - }); - - it("Validate Parallel Query Request Charge With maxDegreeOfParallelism: 3", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 3 - }; - - const queryIterator = container.items.query(query, options); - await requestChargeValidator(queryIterator); - }); - - it("Validate Parallel Query Request Charge With maxDegreeOfParallelism: 1", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 1 - }; - - const queryIterator = container.items.query(query, options); - await requestChargeValidator(queryIterator); - }); - - it("Validate Simple OrderBy Query Request Charge With maxDegreeOfParallelism = 1", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 1 - }; - - const queryIterator = container.items.query(query, options); - await requestChargeValidator(queryIterator); - }); - - it("Validate Simple OrderBy Query Request Charge With maxDegreeOfParallelism = 0", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 0 - }; - - const queryIterator = container.items.query(query, options); - await requestChargeValidator(queryIterator); - }); - - it("Validate Top Query Request Charge with maxDegreeOfParallelism = 3", async function() { - // a top query - const topCount = 6; - // sanity check - assert(topCount < documentDefinitions.length, "test setup is wrong"); - - const query = util.format("SELECT top %d * FROM root r", topCount); - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 3 - }; - - const queryIterator = container.items.query(query, options); - await requestChargeValidator(queryIterator); - }); - - it("Validate Top Query Request Charge with maxDegreeOfParallelism = 0", async function() { - // a top query - const topCount = 6; - // sanity check - assert(topCount < documentDefinitions.length, "test setup is wrong"); - - const query = util.format("SELECT top %d * FROM root r", topCount); - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 0 - }; - - const queryIterator = container.items.query(query, options); - await requestChargeValidator(queryIterator); - }); - - it("Validate Simple OrderBy Query As String With maxDegreeOfParallelism = 0", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 0 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds); - }); - - it("Validate Simple OrderBy Query As String With maxDegreeOfParallelism = 1", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 1 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds); - }); - - it("Validate Simple OrderBy Query As String With maxDegreeOfParallelism = 3", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 3 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds); - }); - - it("Validate Simple OrderBy Query As String With maxDegreeOfParallelism = -1", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: -1 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds); - }); - - it("Validate Simple OrderBy Query As String", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds); - }); - - it("Validate Simple OrderBy Query", async function() { - // simple order by query - const querySpec = { - query: "SELECT * FROM root r order by r.spam" - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(querySpec, options, expectedOrderedIds); - }); - - it("Validate OrderBy Query With ASC", async function() { - // an order by query with explicit ascending ordering - const querySpec = { - query: "SELECT * FROM root r order by r.spam ASC" - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(querySpec, options, expectedOrderedIds); - }); - - it("Validate OrderBy Query With DESC", async function() { - // an order by query with explicit descending ordering - const querySpec = { - query: "SELECT * FROM root r order by r.spam DESC" - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions - .sort(compare("spam")) - .map(function(r) { - return r["id"]; - }) - .reverse(); - - // validates the results size and order - await executeQueryAndValidateResults(querySpec, options, expectedOrderedIds); - }); - - it("Validate OrderBy with top", async function() { - // an order by query with top, total existing docs more than requested top count - const topCount = 9; - const querySpec = { - query: util.format("SELECT top %d * FROM root r order by r.spam", topCount) - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions - .sort(compare("spam")) - .map(function(r) { - return r["id"]; - }) - .slice(0, topCount); - - await executeQueryAndValidateResults(querySpec, options, expectedOrderedIds); - }); - - it("Validate OrderBy with Top Query (less results than top counts)", async function() { - // an order by query with top, total existing docs less than requested top count - const topCount = 30; - // sanity check - assert(topCount > documentDefinitions.length, "test setup is wrong"); - const querySpec = { - query: util.format("SELECT top %d * FROM root r order by r.spam", topCount) - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - await executeQueryAndValidateResults(querySpec, options, expectedOrderedIds); - }); - - it("Validate Top Query with maxDegreeOfParallelism = 3", async function() { - // a top query - const topCount = 6; - // sanity check - assert(topCount < documentDefinitions.length, "test setup is wrong"); - - const query = util.format("SELECT top %d * FROM root r", topCount); - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2, - maxDegreeOfParallelism: 3 - }; - - // prepare expected behaviour verifier - const queryIterator = container.items.query(query, options); - - const { result: results } = await queryIterator.toArray(); - assert.equal(results.length, topCount); - - // select unique ids - const uniqueIds: any = {}; - results.forEach(function(item) { - uniqueIds[item.id] = true; - }); - // assert no duplicate results - assert.equal(results.length, Object.keys(uniqueIds).length); - }); - - it("Validate Top Query", async function() { - // a top query - const topCount = 6; - // sanity check - assert(topCount < documentDefinitions.length, "test setup is wrong"); - - const query = util.format("SELECT top %d * FROM root r", topCount); - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - // prepare expected behaviour verifier - const queryIterator = container.items.query(query, options); - - const { result: results } = await queryIterator.toArray(); - assert.equal(results.length, topCount); - - // select unique ids - const uniqueIds: any = {}; - results.forEach(item => { - uniqueIds[item.id] = true; - }); - // assert no duplicate results - assert.equal(results.length, Object.keys(uniqueIds).length); - }); - - it("Validate Top Query (with 0 topCount)", async function() { - // a top query - const topCount = 0; - // sanity check - assert(topCount < documentDefinitions.length, "test setup is wrong"); - - const query = util.format("SELECT top %d * FROM root r", topCount); - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - // prepare expected behaviour verifier - const queryIterator = container.items.query(query, options); - - const { result: results } = await queryIterator.toArray(); - assert.equal(results.length, topCount); - - // select unique ids - const uniqueIds: any = {}; - results.forEach(item => { - uniqueIds[item.id] = true; - }); - // assert no duplicate results - assert.equal(results.length, Object.keys(uniqueIds).length); - }); - - it("Validate Parametrized Top Query", async function() { - // a top query - const topCount = 6; - // sanity check - assert(topCount < documentDefinitions.length, "test setup is wrong"); - - const querySpec: SqlQuerySpec = { - query: "SELECT top @n * FROM root r", - - parameters: [{ name: "@n", value: topCount }] - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - // prepare expected behaviour verifier - const queryIterator = container.items.query(querySpec, options); - - const { result: results } = await queryIterator.toArray(); - assert.equal(results.length, topCount); - - // select unique ids - const uniqueIds: any = {}; - results.forEach(item => { - uniqueIds[item.id] = true; - }); - // assert no duplicate results - assert.equal(results.length, Object.keys(uniqueIds).length); - }); - - it("Validate OrderBy with Parametrized Top Query", async function() { - // a parametrized top order by query - const topCount = 9; - // sanity check - assert(topCount < documentDefinitions.length, "test setup is wrong"); - // a parametrized top order by query - const querySpec = { - query: "SELECT top @n * FROM root r order by r.spam", - - parameters: [{ name: "@n", value: topCount }] - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions - .sort(compare("spam")) - .map(function(r) { - return r["id"]; - }) - .slice(0, topCount); - - await executeQueryAndValidateResults(querySpec, options, expectedOrderedIds); - }); - - it("Validate OrderBy with Parametrized Predicate", async function() { - // an order by query combined with parametrized predicate - const querySpec = { - query: "SELECT * FROM root r where r.cnt > @cnt order by r.spam", - parameters: [{ name: "@cnt", value: 5 }] - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions - .sort(compare("spam")) - .filter(function(r) { - return r["cnt"] > 5; - }) - .map(function(r) { - return r["id"]; - }); - - await executeQueryAndValidateResults(querySpec, options, expectedOrderedIds); - }); - - it("Validate Error Handling - Orderby where types are noncomparable", async function() { - // test orderby with different order by item type - // an order by query - const query = { - query: "SELECT * FROM root r order by r.spam2" - }; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - // prepare expected behaviour verifier - try { - const queryIterator = container.items.query(query, options); - await queryIterator.toArray(); - } catch (err) { - assert.notEqual(err, undefined); - } - }); - - it("Validate OrderBy Integer Query", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.cnt"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("cnt")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds); - }); - - it("Validate OrderBy Floating Point Number Query", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.number"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("number")).map(function(r) { - return r["id"]; - }); - - // validates the results size and order - await executeQueryAndValidateResults(query, options, expectedOrderedIds); - }); - - it("Validate OrderBy Boolean Query", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.boolVar"; - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const queryIterator = container.items.query(query, options); - const { result: results } = await queryIterator.toArray(); - assert.equal(results.length, documentDefinitions.length); - - let index = 0; - while (index < results.length) { - if (results[index].boolVar) { - break; - } - assert(results[index].id % 2 === 1); - index++; - } - - while (index < results.length) { - assert(results[index].boolVar); - assert(results[index].id % 2 === 0); - index++; - } - }); - - it("Validate Failure", async function() { - // simple order by query in string format - const query = "SELECT * FROM root r order by r.spam"; - - const options = { - enableCrossPartitionQuery: true, - maxItemCount: 2 - }; - - const expectedOrderedIds = documentDefinitions.sort(compare("spam")).map(function(r) { - return r["id"]; - }); - - const queryIterator = container.items.query(query, options); - - let firstTime = true; - - const { result } = await queryIterator.current(); - - if (firstTime) { - firstTime = false; - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/encoding.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/encoding.spec.ts deleted file mode 100644 index 64970c360f54..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/encoding.spec.ts +++ /dev/null @@ -1,50 +0,0 @@ -import assert from "assert"; -import { IndexingMode } from "../../documents"; -import { getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -const testDoc = { - id: "ABC", - content: - "€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€" -}; - -describe("Create And Read Validation", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - - const dateTime = new Date(); - const databaseId = "encodingTestDB"; - - afterEach(async function() { - await removeAllDatabases(); - }); - beforeEach(async function() { - await removeAllDatabases(); - }); - - it("check if the document from db matches the actual document", async function() { - try { - // Create Database - const database = await getTestDatabase(databaseId); - const containerBody = { - id: "डेटाबेस پایگاه داده 数据库" + dateTime.getTime(), - indexingPolicy: { indexingMode: IndexingMode.lazy } // Modes : Lazy, Consistent - }; - - // Create a container inside the database - const { body: containerDef } = await database.containers.create(containerBody); - const container = database.container(containerDef.id); - - assert.equal(containerDef.id, containerBody.id, "invalid container Id"); - - // Add the document in the container - const { body: doc } = await container.items.create(testDoc); - assert.equal(doc.id, testDoc.id, "invalid document Id"); - - // Read the container and see if it matches to the initial document - const { body: resultDoc } = await container.item(doc.id).read<{ id: string; content: string }>(); - assert.equal(testDoc.content, resultDoc.content, "read document result is different from initial document"); - } catch (err) { - throw err; - } - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/incrementalFeed.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/incrementalFeed.spec.ts deleted file mode 100644 index a17bbce31733..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/incrementalFeed.spec.ts +++ /dev/null @@ -1,367 +0,0 @@ -import assert from "assert"; -import { RequestOptions } from "../.."; -import { Container, ContainerDefinition } from "../../client"; -import { Helper } from "../../common"; -import { getTestContainer, removeAllDatabases } from "../common/TestHelpers"; - -describe("Change Feed Iterator", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 20000); - - describe("Non-partitioned", function() { - // delete all databases and create sample database - before(async function() { - await removeAllDatabases(); - }); - - (process.env.TESTS_MULTIREGION ? describe.skip : describe)("Should only find items after start time", function() { - let container: Container; - - // create container and two items - before(async function() { - container = await getTestContainer("Newly updated items should be fetched incrementally"); - }); - - after(async function() { - await container.delete(); - }); - - it("should fetch updated items only with start time", async function() { - await container.items.create({ id: "item1" }); - const date = new Date(); - await Helper.sleep(3000); - await container.items.create({ id: "item2" }); - const iterator = container.items.readChangeFeed({ startTime: date }); - - const { result: itemsShouldBeEmpty, etag: initialEtag } = await iterator.executeNext(); - - assert(initialEtag, "change feed response should have etag header"); - const etag = initialEtag; - - assert.equal(itemsShouldBeEmpty.length, 0, "Initial request should have empty results"); - - const { result: items } = await iterator.executeNext(); - - assert.equal(items.length, 1, "initial number of items should be equal 1"); - assert.equal(items[0].id, "item2", "should find the newest item, but not the old"); - const item = { id: "item2", name: "xyz" }; - - const { body: replaced } = await container.item(item.id).replace(item); - assert.deepEqual(replaced.name, "xyz", "replaced item should be valid"); - - // Should continue from last etag - const { result: itemsAfterUpdate } = await iterator.executeNext(); - assert.equal(itemsAfterUpdate.length, 1, "initial number of items should be equal 1"); - assert.equal(itemsAfterUpdate[0].name, "xyz", "fetched item should have 'name: xyz'"); - assert.equal(itemsAfterUpdate[0].id, item.id, "fetched item should be valid"); - - // Equivalent to execute next on other iterator from the previous etag - const iteratorWithContinuation = container.items.readChangeFeed({ continuation: etag }); - const { result: itemsWithContinuation } = await iteratorWithContinuation.executeNext(); - assert.equal(itemsWithContinuation.length, 1, "initial number of items should be equal 1"); - assert.equal(itemsWithContinuation[0].name, "xyz", "fetched item should have 'name: xyz'"); - assert.equal(itemsWithContinuation[0].id, item.id, "fetched item should be valid"); - - const { result: shouldHaveNoItems } = await iterator.executeNext(); - assert.equal(shouldHaveNoItems.length, 0, "there should be 0 results"); - const hasMoreResults = iterator.hasMoreResults; - assert.equal(hasMoreResults, false, "hasMoreResults should be false when we read the whole page"); - }); - }); - - describe("Newly updated items should be fetched incrementally", function() { - let container: Container; - - // create container and two items - before(async function() { - container = await getTestContainer("Newly updated items should be fetched incrementally"); - await container.items.create({ id: "item1" }); - await container.items.create({ id: "item2" }); - }); - - after(async function() { - await container.delete(); - }); - - it("should fetch updated items only", async function() { - const iterator = container.items.readChangeFeed({ startFromBeginning: true }); - - const { result: items, headers } = await iterator.executeNext(); - assert(headers.etag, "change feed response should have etag header"); - const etag = headers.etag; - - assert.equal(items.length, 2, "initial number of items should be equal 2"); - - const item = items[1]; - item.name = "xyz"; - - const { body: replaced } = await container.item(item.id).replace(item); - assert.deepEqual(replaced.name, "xyz", "replaced item should be valid"); - - // Should continue from last etag - const { result: itemsAfterUpdate } = await iterator.executeNext(); - assert.equal(itemsAfterUpdate.length, 1, "initial number of items should be equal 1"); - assert.equal(itemsAfterUpdate[0].name, "xyz", "fetched item should have 'name: xyz'"); - assert.equal(itemsAfterUpdate[0].id, item.id, "fetched item should be valid"); - - // Equivalent to execute next on other iterator from the previous etag - const iteratorWithContinuation = container.items.readChangeFeed({ continuation: etag }); - const { result: itemsWithContinuation } = await iteratorWithContinuation.executeNext(); - assert.equal(itemsWithContinuation.length, 1, "initial number of items should be equal 1"); - assert.equal(itemsWithContinuation[0].name, "xyz", "fetched item should have 'name: xyz'"); - assert.equal(itemsWithContinuation[0].id, item.id, "fetched item should be valid"); - - const { result: shouldHaveNoItems } = await iterator.executeNext(); - assert.equal(shouldHaveNoItems.length, 0, "there should be 0 results"); - const hasMoreResults = iterator.hasMoreResults; - assert.equal(hasMoreResults, false, "hasMoreResults should be false when we read the whole page"); - }); - }); - - describe("Async iterator should find items", function() { - let container: Container; - - // create container and two items - before(async function() { - container = await getTestContainer("Newly updated items should be fetched incrementally"); - await container.items.create({ id: "item1" }); - await container.items.create({ id: "item2" }); - }); - - after(async function() { - await container.delete(); - }); - - it("should fetch updated items only", async function() { - const iterator = container.items.readChangeFeed({ startFromBeginning: true }); - - const items: any[] = []; - for await (const page of iterator.getAsyncIterator()) { - if (page.result.length === 0) { - break; - } - items.push(...page.result); - } - - assert.equal(items.length, 2, "initial number of items should be equal 2"); - - const item = items[1]; - item.name = "xyz"; - - const { body: replaced } = await container.item(item.id).replace(item); - assert.deepEqual(replaced.name, "xyz", "replaced item should be valid"); - - // Should continue from last etag - const itemsAfterUpdate: any[] = []; - for await (const page of iterator.getAsyncIterator()) { - if (page.result.length === 0) { - break; - } - itemsAfterUpdate.push(...page.result); - } - assert.equal(itemsAfterUpdate.length, 1, "initial number of items should be equal 1"); - assert.equal(itemsAfterUpdate[0].name, "xyz", "fetched item should have 'name: xyz'"); - assert.equal(itemsAfterUpdate[0].id, item.id, "fetched item should be valid"); - - const { result: shouldHaveNoItems } = await iterator.executeNext(); - assert.equal(shouldHaveNoItems.length, 0, "there should be 0 results"); - const hasMoreResults = iterator.hasMoreResults; - assert.equal(hasMoreResults, false, "hasMoreResults should be false when we read the whole page"); - - let count = 0; - for await (const page of iterator.getAsyncIterator()) { - ++count; - } - assert.equal(count, 0, "async iterator should return any results if there are none left to serve"); - }); - }); - - describe("Newly created items should be fetched incrementally", async function() { - let container: Container; - - // create container and one item - before(async function() { - container = await getTestContainer("Newly updated items should be fetched incrementally"); - await container.items.create({ id: "item1" }); - }); - - after(async function() { - await container.delete(); - }); - - it("should fetch new items only", async function() { - const iterator = container.items.readChangeFeed({}); - - const { result: items, headers } = await iterator.executeNext(); - assert(headers.etag, "change feed response should have etag header"); - assert.equal(items.length, 0, "change feed response should have no items on it initially"); - - const { body: itemThatWasCreated } = await container.items.create({ - id: "item2", - prop: 1 - }); - - const { result: itemsAfterCreate } = await iterator.executeNext(); - assert.equal(itemsAfterCreate.length, 1, "should have 1 item from create"); - const itemThatWasFound = itemsAfterCreate[0]; - - assert.notDeepEqual(itemThatWasFound, itemThatWasCreated, "actual should not match with expected value."); - delete itemThatWasFound._lsn; - delete itemThatWasFound._metadata; - assert.deepEqual(itemThatWasFound, itemThatWasCreated, "actual value doesn't match with expected value."); - - const { result: itemsShouldBeEmptyWithNoNewCreates } = await iterator.executeNext(); - assert.equal(itemsShouldBeEmptyWithNoNewCreates.length, 0, "should be nothing new"); - - await container.items.create({ id: "item3" }); - await container.items.create({ id: "item4" }); - const { result: itemsShouldHave2NewItems } = await iterator.executeNext(); - assert.equal(itemsShouldHave2NewItems.length, 2, "there should be 2 results"); - - const { result: shouldHaveNoItems } = await iterator.executeNext(); - assert.equal(shouldHaveNoItems.length, 0, "there should be 0 results"); - const hasMoreResults = iterator.hasMoreResults; - assert.equal(hasMoreResults, false, "hasMoreResults should be false when we read the whole page"); - }); - }); - }); - - describe("Partition Key", function() { - // delete all databases and create sample database - before(async function() { - await removeAllDatabases(); - }); - - describe("Newly updated items should be fetched incrementally", function() { - let container: Container; - - // create container and two items - before(async function() { - const containerDef: ContainerDefinition = { - partitionKey: { - kind: "Hash", - paths: ["/key"] - } - }; - const throughput: RequestOptions = { offerThroughput: 25100 }; - container = await getTestContainer( - "Newly updated items should be fetched incrementally", - undefined, - containerDef, - throughput - ); - await container.items.create({ id: "item1", key: "0" }); - await container.items.create({ id: "item2", key: "0" }); - await container.items.create({ id: "item1", key: "1" }); - await container.items.create({ id: "item2", key: "1" }); - }); - - after(async function() { - await container.delete(); - }); - - it("should throw if used with no partition key or partition key range id", async function() { - const iterator = container.items.readChangeFeed({ startFromBeginning: true }); - - try { - await iterator.executeNext(); - } catch (err) { - assert.equal( - err.message, - "Container is partitioned, but no partition key or partition key range id was specified." - ); - return; - } - assert.fail("Should have failed"); - }); - - it("should fetch updated items only", async function() { - const iterator = container.items.readChangeFeed("0", { startFromBeginning: true }); - - const { result: items, headers } = await iterator.executeNext(); - assert(headers.etag, "change feed response should have etag header"); - - assert.equal(items.length, 2, "initial number of items should be equal 2"); - - const item = items[1]; - item.name = "xyz"; - - const { body: replaced } = await container.item(item.id).replace(item); - assert.deepEqual(replaced.name, "xyz", "replaced item should be valid"); - - const { result: itemsAfterUpdate } = await iterator.executeNext(); - assert.equal(itemsAfterUpdate.length, 1, "initial number of items should be equal 1"); - assert.equal(itemsAfterUpdate[0].name, "xyz", "fetched item should have 'name: xyz'"); - assert.equal(itemsAfterUpdate[0].id, item.id, "fetched item should be valid"); - - const { result: shouldHaveNoItems } = await iterator.executeNext(); - assert.equal(shouldHaveNoItems.length, 0, "there should be 0 results"); - const hasMoreResults = iterator.hasMoreResults; - assert.equal(hasMoreResults, false, "hasMoreResults should be false when we read the whole page"); - }); - }); - - describe("Newly created items should be fetched incrementally", async function() { - let container: Container; - - // create container and one item - before(async function() { - const containerDef: ContainerDefinition = { - partitionKey: { - kind: "Hash", - paths: ["/key"] - } - }; - const throughput: RequestOptions = { offerThroughput: 25100 }; - container = await getTestContainer( - "Newly updated items should be fetched incrementally", - undefined, - containerDef, - throughput - ); - await container.items.create({ id: "item1", key: "0" }); - await container.items.create({ id: "item1", key: "1" }); - }); - - after(async function() { - await container.delete(); - }); - - it("should fetch new items only", async function() { - const iterator = container.items.readChangeFeed("0", {}); - - const { result: items, headers } = await iterator.executeNext(); - assert(headers.etag, "change feed response should have etag header"); - assert.equal(items.length, 0, "change feed response should have no items on it initially"); - - const { body: itemThatWasCreated, headers: createHeaders } = await container.items.create({ - id: "item2", - prop: 1, - key: "0" - }); - - const { result: itemsAfterCreate } = await iterator.executeNext(); - assert.equal(itemsAfterCreate.length, 1, "should have 1 item from create"); - const itemThatWasFound = itemsAfterCreate[0]; - - assert.notDeepEqual(itemThatWasFound, itemThatWasCreated, "actual should not match with expected value."); - delete itemThatWasFound._lsn; - delete itemThatWasFound._metadata; - assert.deepEqual(itemThatWasFound, itemThatWasCreated, "actual value doesn't match with expected value."); - - const { result: itemsShouldBeEmptyWithNoNewCreates } = await iterator.executeNext(); - assert.equal(itemsShouldBeEmptyWithNoNewCreates.length, 0, "should be nothing new"); - - await container.items.create({ id: "item3", key: "0" }); - await container.items.create({ id: "item4", key: "0" }); - await container.items.create({ id: "item3", key: "1" }); - await container.items.create({ id: "item4", key: "1" }); - const { result: itemsShouldHave2NewItems } = await iterator.executeNext(); - assert.equal(itemsShouldHave2NewItems.length, 2, "there should be 2 results"); - const { result: shouldHaveNoItems } = await iterator.executeNext(); - assert.equal(shouldHaveNoItems.length, 0, "there should be 0 results"); - const hasMoreResults = iterator.hasMoreResults; - assert.equal(hasMoreResults, false, "hasMoreResults should be false when we read the whole page"); - }); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/multiregion.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/multiregion.spec.ts deleted file mode 100644 index f88487e83d28..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/multiregion.spec.ts +++ /dev/null @@ -1,52 +0,0 @@ -import assert from "assert"; - -import { CosmosClient } from "../../CosmosClient"; -import { ConnectionPolicy, DatabaseAccount } from "../../documents"; - -import { endpoint, masterKey } from "../common/_testConfig"; - -// This test requires a multi-region write enabled account with at least two regions. -(process.env.TESTS_MULTIREGION ? describe : describe.skip)("Multi-region tests", function() { - this.timeout(process.env.MOCHA_TIMEOUT || "30000"); - let preferredLocations: string[] = []; - let dbAccount: DatabaseAccount; - - before(async function() { - const client = new CosmosClient({ endpoint, auth: { masterKey } }); - ({ body: dbAccount } = await client.getDatabaseAccount()); - // We reverse the order of the preferred locations list to make sure - // we don't just follow the order we got back from the server - preferredLocations = dbAccount.readableLocations.map(v => v.name).reverse(); - assert( - preferredLocations.length > 1, - "Not a multi-region account. Please add a region before running this test again." - ); - }); - - it("Preferred locations should be honored for readEndpoint", async function() { - const connectionPolicy = new ConnectionPolicy(); - connectionPolicy.PreferredLocations = preferredLocations; - const client = new CosmosClient({ endpoint, auth: { masterKey }, connectionPolicy }); - const currentReadEndpoint = await client.getReadEndpoint(); - assert( - currentReadEndpoint.includes(preferredLocations[0].toLowerCase().replace(/ /g, "")), - "The readendpoint should be the first preferred location" - ); - }); - - it("Preferred locations should be honored for writeEndpoint", async function() { - assert( - dbAccount.enableMultipleWritableLocations, - "MultipleWriteableLocations must be set on your database account for this test to work" - ); - const connectionPolicy = new ConnectionPolicy(); - connectionPolicy.PreferredLocations = preferredLocations; - connectionPolicy.UseMultipleWriteLocations = true; - const client = new CosmosClient({ endpoint, auth: { masterKey }, connectionPolicy }); - const currentWriteEndpoint = await client.getWriteEndpoint(); - assert( - currentWriteEndpoint.includes(preferredLocations[0].toLowerCase().replace(/ /g, "")), - "The writeendpoint should be the first preferred location" - ); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/proxy.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/proxy.spec.ts deleted file mode 100644 index f1408be1c2ab..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/proxy.spec.ts +++ /dev/null @@ -1,77 +0,0 @@ -import * as http from "http"; -import * as net from "net"; -import * as url from "url"; -import { CosmosClient, DocumentBase } from "../.."; -import { endpoint, masterKey } from "../common/_testConfig"; -import { addEntropy } from "../common/TestHelpers"; - -const isBrowser = new Function("try {return this===window;}catch(e){ return false;}"); -if (!isBrowser()) { - describe("Validate http proxy setting in environment variable", function() { - const proxy = http.createServer((req, resp) => { - resp.writeHead(200, { "Content-Type": "text/plain" }); - resp.end(); - }); - - proxy.on("connect", (req, clientSocket, head) => { - const serverUrl = url.parse(`http://${req.url}`); - const serverSocket = net.connect(parseInt(serverUrl.port, 10), serverUrl.hostname, () => { - clientSocket.write("HTTP/1.1 200 Connection Established\r\n" + "Proxy-agent: Node.js-Proxy\r\n" + "\r\n"); - serverSocket.write(head); - serverSocket.pipe(clientSocket); - clientSocket.pipe(serverSocket); - }); - }); - - const proxyPort = 8989; - const connectionPolicy = new DocumentBase.ConnectionPolicy(); - connectionPolicy.ProxyUrl = "http://127.0.0.1:8989"; - - it("nativeApi Client Should successfully execute request", async function() { - return new Promise((resolve, reject) => { - proxy.listen(proxyPort, "127.0.0.1", async () => { - try { - const client = new CosmosClient({ - endpoint, - auth: { masterKey }, - connectionPolicy - }); - // create database - await client.databases.create({ - id: addEntropy("ProxyTest") - }); - resolve(); - } catch (err) { - throw err; - } finally { - proxy.close(); - } - }); - }); - }); - - it("nativeApi Client Should execute request in error while the proxy setting is not correct", async function() { - this.timeout(process.env.MOCHA_TIMEOUT || 30000); - return new Promise((resolve, reject) => { - proxy.listen(proxyPort + 1, "127.0.0.1", async () => { - try { - const client = new CosmosClient({ - endpoint, - auth: { masterKey }, - connectionPolicy - }); - // create database - await client.databases.create({ - id: addEntropy("ProxyTest") - }); - reject(new Error("Should create database in error while the proxy setting is not correct")); - } catch (err) { - resolve(); - } finally { - proxy.close(); - } - }); - }); - }); - }); -} diff --git a/sdk/cosmosdb/cosmos/src/test/integration/query.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/query.spec.ts deleted file mode 100644 index c8af6f71df21..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/query.spec.ts +++ /dev/null @@ -1,89 +0,0 @@ -import assert from "assert"; -import { Constants, FeedOptions } from "../.."; -import { PartitionKind } from "../../documents"; -import { getTestContainer, getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -const doc = { id: "myId", pk: "pk" }; - -describe("ResourceLink Trimming of leading and trailing slashes", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 10000); - const containerId = "testcontainer"; - - beforeEach(async function() { - await removeAllDatabases(); - }); - - it("validate correct execution of query using named container link with leading and trailing slashes", async function() { - const containerDefinition = { - id: containerId, - partitionKey: { - paths: ["/pk"], - kind: PartitionKind.Hash - } - }; - const containerOptions = { offerThroughput: 10100 }; - - const container = await getTestContainer( - "validate correct execution of query", - undefined, - containerDefinition, - containerOptions - ); - - await container.items.create(doc); - const query = "SELECT * from " + containerId; - const queryOptions = { partitionKey: "pk" }; - const queryIterator = container.items.query(query, queryOptions); - - const { result } = await queryIterator.toArray(); - assert.equal(result[0]["id"], "myId"); - }); -}); - -describe("Test Query Metrics On Single Partition Collection", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 20000); - const collectionId = "testCollection2"; - - const testQueryMetricsOnSinglePartition = async function(document: any) { - try { - const database = await getTestDatabase("query metrics test db"); - - const collectionDefinition = { id: collectionId }; - const collectionOptions = { offerThroughput: 4000 }; - - const { body: createdCollectionDef } = await database.containers.create(collectionDefinition, collectionOptions); - const createdContainer = database.container(createdCollectionDef.id); - - await createdContainer.items.create(document); - const collectionLink = "/dbs/" + database.id + "/colls/" + collectionId + "/"; - const query = "SELECT * from " + collectionId; - const queryOptions: FeedOptions = { populateQueryMetrics: true }; - const queryIterator = createdContainer.items.query(query, queryOptions); - - while (queryIterator.hasMoreResults()) { - const { result: results, headers } = await queryIterator.executeNext(); - - if (results === undefined) { - // no more results - break; - } - - assert.notEqual(headers[Constants.HttpHeaders.QueryMetrics]["0"], null); - } - } catch (err) { - throw err; - } - }; - - afterEach(async function() { - await removeAllDatabases(); - }); - - beforeEach(async function() { - await removeAllDatabases(); - }); - - it("validate that query metrics are correct for a single partition query", async function() { - await testQueryMetricsOnSinglePartition(doc); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/queryMetrics.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/queryMetrics.spec.ts deleted file mode 100644 index 4415400a1258..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/queryMetrics.spec.ts +++ /dev/null @@ -1,199 +0,0 @@ -import assert from "assert"; -import { Constants } from "../../common"; -import { - ClientSideMetrics, - QueryMetrics, - QueryPreparationTimes, - RuntimeExecutionTimes, - TimeSpan -} from "../../queryMetrics"; - -describe("QueryMetrics", function() { - // Properties - const totalQueryExecutionTime = TimeSpan.fromMilliseconds(33.67); - const queryCompilationTime = TimeSpan.fromMilliseconds(0.06); - const logicalPlanBuildTime = TimeSpan.fromMilliseconds(0.02); - const physicalPlanBuildTime = TimeSpan.fromMilliseconds(0.1); - const queryOptimizationTime = TimeSpan.fromMilliseconds(0.01); - const vmExecutionTime = TimeSpan.fromMilliseconds(32.56); - const indexLookupTime = TimeSpan.fromMilliseconds(0.36); - const documentLoadTime = TimeSpan.fromMilliseconds(9.58); - const systemFunctionExecutionTime = TimeSpan.fromMilliseconds(0.05); - const userDefinedFunctionExecutionTime = TimeSpan.fromMilliseconds(0.07); - const documentWriteTime = TimeSpan.fromMilliseconds(18.1); - const retrievedDocumentCount = 2000; - const retrievedDocumentSize = 1125600; - const outputDocumentCount = 2000; - const outputDocumentSize = 1125600; - const indexUtilizationRatio = 1.0; - const requestCharge = 42; - - const delimitedString = - "totalExecutionTimeInMs=33.67;queryCompileTimeInMs=0.06;queryLogicalPlanBuildTimeInMs=0.02;queryPhysicalPlanBuildTimeInMs=0.10;queryOptimizationTimeInMs=0.01;VMExecutionTimeInMs=32.56;indexLookupTimeInMs=0.36;documentLoadTimeInMs=9.58;systemFunctionExecuteTimeInMs=0.05;userFunctionExecuteTimeInMs=0.07;retrievedDocumentCount=2000;retrievedDocumentSize=1125600;outputDocumentCount=2000;outputDocumentSize=1125600;writeOutputTimeInMs=18.10;indexUtilizationRatio=1.00"; - - const queryEngineExecutionTime = TimeSpan.zero - .add(vmExecutionTime) - .subtract(indexLookupTime) - .subtract(documentLoadTime) - .subtract(documentWriteTime); - - // Base line query metrics - const queryMetrics = new QueryMetrics( - retrievedDocumentCount, - retrievedDocumentSize, - outputDocumentCount, - outputDocumentSize, - indexUtilizationRatio * retrievedDocumentCount, - totalQueryExecutionTime, - new QueryPreparationTimes(queryCompilationTime, logicalPlanBuildTime, physicalPlanBuildTime, queryOptimizationTime), - indexLookupTime, - documentLoadTime, - vmExecutionTime, - new RuntimeExecutionTimes(queryEngineExecutionTime, systemFunctionExecutionTime, userDefinedFunctionExecutionTime), - documentWriteTime, - new ClientSideMetrics(requestCharge) - ); - - const assertQueryMetricsEquality = function(queryMetrics1: QueryMetrics, queryMetrics2: QueryMetrics) { - assert.deepEqual(queryMetrics1.indexHitRatio, queryMetrics2.indexHitRatio); - assert.deepEqual(queryMetrics1.outputDocumentCount, queryMetrics2.outputDocumentCount); - assert.deepEqual(queryMetrics1.outputDocumentSize, queryMetrics2.outputDocumentSize); - assert.deepEqual(queryMetrics1.retrievedDocumentCount, queryMetrics2.retrievedDocumentCount); - assert.deepEqual(queryMetrics1.retrievedDocumentSize, queryMetrics2.retrievedDocumentSize); - assert.deepEqual(queryMetrics1.totalQueryExecutionTime, queryMetrics2.totalQueryExecutionTime); - - assert.deepEqual(queryMetrics1.documentLoadTime, queryMetrics2.documentLoadTime); - assert.deepEqual(queryMetrics1.documentWriteTime, queryMetrics2.documentWriteTime); - assert.deepEqual(queryMetrics1.indexLookupTime, queryMetrics2.indexLookupTime); - assert.deepEqual(queryMetrics1.vmExecutionTime, queryMetrics2.vmExecutionTime); - - assert.deepEqual( - queryMetrics1.queryPreparationTimes.logicalPlanBuildTime, - queryMetrics2.queryPreparationTimes.logicalPlanBuildTime - ); - assert.deepEqual( - queryMetrics1.queryPreparationTimes.physicalPlanBuildTime, - queryMetrics2.queryPreparationTimes.physicalPlanBuildTime - ); - assert.deepEqual( - queryMetrics1.queryPreparationTimes.queryCompilationTime, - queryMetrics2.queryPreparationTimes.queryCompilationTime - ); - assert.deepEqual( - queryMetrics1.queryPreparationTimes.queryOptimizationTime, - queryMetrics2.queryPreparationTimes.queryOptimizationTime - ); - - assert.deepEqual( - queryMetrics1.runtimeExecutionTimes.queryEngineExecutionTime, - queryMetrics2.runtimeExecutionTimes.queryEngineExecutionTime - ); - assert.deepEqual( - queryMetrics1.runtimeExecutionTimes.systemFunctionExecutionTime, - queryMetrics2.runtimeExecutionTimes.systemFunctionExecutionTime - ); - assert.deepEqual( - queryMetrics1.runtimeExecutionTimes.userDefinedFunctionExecutionTime, - queryMetrics2.runtimeExecutionTimes.userDefinedFunctionExecutionTime - ); - - assert.deepEqual(queryMetrics1.clientSideMetrics.requestCharge, queryMetrics2.clientSideMetrics.requestCharge); - }; - - it("Can Be Cloned", function() { - const queryMetrics2 = new QueryMetrics( - queryMetrics.retrievedDocumentCount, - queryMetrics.retrievedDocumentSize, - queryMetrics.outputDocumentCount, - queryMetrics.outputDocumentSize, - queryMetrics.indexHitDocumentCount, - queryMetrics.totalQueryExecutionTime, - queryMetrics.queryPreparationTimes, - queryMetrics.indexLookupTime, - queryMetrics.documentLoadTime, - queryMetrics.vmExecutionTime, - queryMetrics.runtimeExecutionTimes, - queryMetrics.documentWriteTime, - queryMetrics.clientSideMetrics - ); - - assertQueryMetricsEquality(queryMetrics, queryMetrics2); - }); - - it("Should Add Two Query Metrics", function() { - const doubleQueryMetrics = queryMetrics.add([queryMetrics]); - - const doubleRetrievedDocumentCount = retrievedDocumentCount * 2; - const doubleRetrievedDocumentSize = retrievedDocumentSize * 2; - const doubleOutputDocumentCount = outputDocumentCount * 2; - const doubleOutputDocumentSize = outputDocumentSize * 2; - const doubleIndexHitCount = indexUtilizationRatio * retrievedDocumentCount * 2; - const doubleTotalQueryExecutionTime = TimeSpan.fromMilliseconds(totalQueryExecutionTime.totalMilliseconds() * 2); - const doubleQueryCompilationTime = TimeSpan.fromMilliseconds(queryCompilationTime.totalMilliseconds() * 2); - const doubleLogicalPlanBuildTime = TimeSpan.fromMilliseconds(logicalPlanBuildTime.totalMilliseconds() * 2); - const doublePhysicalPlanBuildTime = TimeSpan.fromMilliseconds(physicalPlanBuildTime.totalMilliseconds() * 2); - const doubleIndexLookupTime = TimeSpan.fromMilliseconds(indexLookupTime.totalMilliseconds() * 2); - const doubleDocumentLoadTime = TimeSpan.fromMilliseconds(documentLoadTime.totalMilliseconds() * 2); - const doubleVMExecutionTime = TimeSpan.fromMilliseconds(vmExecutionTime.totalMilliseconds() * 2); - const doubleQueryOptimizationTime = TimeSpan.fromMilliseconds(queryOptimizationTime.totalMilliseconds() * 2); - const doubleQueryEngineExecutionTime = TimeSpan.fromMilliseconds(queryEngineExecutionTime.totalMilliseconds() * 2); - const doubleSystemFunctionExecutionTime = TimeSpan.fromMilliseconds( - systemFunctionExecutionTime.totalMilliseconds() * 2 - ); - const doubleUserDefinedFunctionExecutionTime = TimeSpan.fromMilliseconds( - userDefinedFunctionExecutionTime.totalMilliseconds() * 2 - ); - const doubleDocumentWriteTime = TimeSpan.fromMilliseconds(documentWriteTime.totalMilliseconds() * 2); - const doubleRequestCharge = requestCharge * 2; - - const expectedQueryMetrics = new QueryMetrics( - doubleRetrievedDocumentCount, - doubleRetrievedDocumentSize, - doubleOutputDocumentCount, - doubleOutputDocumentSize, - doubleIndexHitCount, - doubleTotalQueryExecutionTime, - new QueryPreparationTimes( - doubleQueryCompilationTime, - doubleLogicalPlanBuildTime, - doublePhysicalPlanBuildTime, - doubleQueryOptimizationTime - ), - doubleIndexLookupTime, - doubleDocumentLoadTime, - doubleVMExecutionTime, - new RuntimeExecutionTimes( - doubleQueryEngineExecutionTime, - doubleSystemFunctionExecutionTime, - doubleUserDefinedFunctionExecutionTime - ), - doubleDocumentWriteTime, - new ClientSideMetrics(doubleRequestCharge) - ); - - assertQueryMetricsEquality(doubleQueryMetrics, expectedQueryMetrics); - - const queryMetricsFromCreateArray = QueryMetrics.createFromArray([queryMetrics, queryMetrics]); - - assertQueryMetricsEquality(queryMetricsFromCreateArray, expectedQueryMetrics); - }); - - it("Can Be Create From Delimited String", function() { - const queryMetricsFromDelimitedString = QueryMetrics.createFromDelimitedString( - delimitedString, - new ClientSideMetrics(requestCharge) - ); - - assertQueryMetricsEquality(queryMetricsFromDelimitedString, queryMetrics); - }); - - it("Can Be Converted To A Delimited String", function() { - const delimitedStringFromMetrics = queryMetrics.toDelimitedString(); - const queryMetricsFromDelimitedString = QueryMetrics.createFromDelimitedString( - delimitedStringFromMetrics, - new ClientSideMetrics(requestCharge) - ); - - assertQueryMetricsEquality(queryMetrics, queryMetricsFromDelimitedString); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/retry.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/retry.spec.ts deleted file mode 100644 index 6e2fd2428696..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/retry.spec.ts +++ /dev/null @@ -1,141 +0,0 @@ -import assert from "assert"; -import { AzureDocuments, Constants, CosmosClient, RetryOptions } from "../.."; -import * as request from "../../request"; - -describe("retry policy tests", function() { - this.timeout(300000); - const collectionDefinition = { - id: "sample collection" - }; - - const documentDefinition = { - id: "doc", - name: "sample document", - key: "value" - }; - - const connectionPolicy = new AzureDocuments.ConnectionPolicy(); - - // mocked database account to return the WritableLocations and ReadableLocations - // set with the default endpoint - // const mockGetDatabaseAccount = function (options, callback) { - // const databaseAccount = new AzureDocuments.DatabaseAccount(); - // callback(undefined, databaseAccount); - // }; - - const retryAfterInMilliseconds = 1000; - // // mocked request object stub that calls the callback with 429 throttling error - // const mockCreateRequestObjectStub = function (connectionPolicy, requestOptions, callback) { - // callback({ code: 429, body: "Request rate is too large", - // retryAfterInMilliseconds: retryAfterInMilliseconds }); - // }; - - // var mockCreateRequestObjectForDefaultRetryStub = function (connectionPolicy, requestOptions, callback) { - // global.counter++; - // if (global.counter % 5 == 0) - // return global.originalFunc(connectionPolicy, requestOptions, callback) - // else - // return callback({ code: "ECONNRESET", body: "Connection was reset" }) - // } - - // TODO: need to fix this, the stubbing doesn't work with the new way we work - xit("throttle retry policy test default retryAfter", async function() { - // connectionPolicy.RetryOptions = new RetryOptions(5); - // const client = new CosmosClient({endpoint, auth: { masterKey }, connectionPolicy}); - // const { result: db } = await client.createDatabase({ id: "sample database" }); - // const { result: collection } = await client.createCollection(db._self, collectionDefinition); - // const originalGetDatabaseAccount = client.getDatabaseAccount; - // client.getDatabaseAccount = mockGetDatabaseAccount; - // const originalCreateRequestObjectStub = request._createRequestObjectStub; - // request._createRequestObjectStub = mockCreateRequestObjectStub; - // try { - // const { result: createdDocument } = - // await client.createDocument(collection._self, documentDefinition); - // } catch (err) { - // const responseHeaders = (err as request.ErrorResponse).headers; - // assert.equal(err.code, 429, "invalid error code"); - // assert.equal(responseHeaders[Constants.ThrottleRetryCount], - // connectionPolicy.RetryOptions.MaxRetryAttemptCount, "Current retry attempts not maxed out"); - // assert.ok(responseHeaders[Constants.ThrottleRetryWaitTimeInMs] - // >= connectionPolicy.RetryOptions.MaxRetryAttemptCount * retryAfterInMilliseconds); - // } - // request._createRequestObjectStub = originalCreateRequestObjectStub; - // client.getDatabaseAccount = originalGetDatabaseAccount; - }); - - xit("throttle retry policy test fixed retryAfter", async function() { - // connectionPolicy.RetryOptions = new RetryOptions(5, 2000); - // const client = new CosmosClient(endpoint, { masterKey }, connectionPolicy); - // const { result: db } = await client.createDatabase({ id: "sample database" }); - // const { result: collection } = await client.createCollection(db._self, collectionDefinition); - // const originalGetDatabaseAccount = client.getDatabaseAccount; - // client.getDatabaseAccount = mockGetDatabaseAccount; - // const originalCreateRequestObjectStub = request._createRequestObjectStub; - // request._createRequestObjectStub = mockCreateRequestObjectStub; - // try { - // await client.createDocument(collection._self, documentDefinition); - // assert.fail("Must throw"); - // } catch (err) { - // const responseHeaders = (err as request.ErrorResponse).headers; - // assert.equal(err.code, 429, "invalid error code"); - // assert.equal(responseHeaders[Constants.ThrottleRetryCount], - // connectionPolicy.RetryOptions.MaxRetryAttemptCount, "Current retry attempts not maxed out"); - // assert.ok(responseHeaders[Constants.ThrottleRetryWaitTimeInMs] - // >= connectionPolicy.RetryOptions.MaxRetryAttemptCount - // * connectionPolicy.RetryOptions.FixedRetryIntervalInMilliseconds); - // } - // request._createRequestObjectStub = originalCreateRequestObjectStub; - // client.getDatabaseAccount = originalGetDatabaseAccount; - }); - - xit("throttle retry policy test max wait time", async function() { - // connectionPolicy.RetryOptions = new RetryOptions(5, 2000, 3); - // const client = new CosmosClient(endpoint, { masterKey }, connectionPolicy); - // const { result: db } = await client.createDatabase({ id: "sample database" }); - // const { result: collection } = await client.createCollection(db._self, collectionDefinition); - // const originalGetDatabaseAccount = client.getDatabaseAccount; - // client.getDatabaseAccount = mockGetDatabaseAccount; - // const originalCreateRequestObjectStub = request._createRequestObjectStub; - // request._createRequestObjectStub = mockCreateRequestObjectStub; - // try { - // await client.createDocument(collection._self, documentDefinition); - // } catch (err) { - // const responseHeaders = (err as request.ErrorResponse).headers; - // assert.equal(err.code, 429, "invalid error code"); - // assert.ok(responseHeaders[Constants.ThrottleRetryWaitTimeInMs] - // >= connectionPolicy.RetryOptions.MaxWaitTimeInSeconds * 1000); - // } - // request._createRequestObjectStub = originalCreateRequestObjectStub; - // client.getDatabaseAccount = originalGetDatabaseAccount; - }); - - xit("default retry policy validate create failure", async function() { - // const client = new CosmosClient(endpoint, { masterKey }, connectionPolicy); - // const { result: db } = await client.createDatabase({ id: "sample database" }); - // const { result: collection } = await client.createCollection(db._self, collectionDefinition); - // global.originalFunc = request._createRequestObjectStub; - // global.counter = 0; - // request._createRequestObjectStub = mockCreateRequestObjectForDefaultRetryStub; - // try { - // await client.createDocument(collection._self, documentDefinition); - // } catch (err) { - // assert.equal(err.code, "ECONNRESET", "invalid error code"); - // // assert.equal(global.counter, 6, "invalid number of retries"); - // } - // request._createRequestObjectStub = global.originalFunc; - }); - - xit("default retry policy validate read success", async function() { - // const client = new CosmosClient(endpoint, { masterKey }, connectionPolicy); - // const { result: db } = await client.createDatabase({ id: "sample database" }); - // const { result: collection } = await client.createCollection(db._self, collectionDefinition); - // const { result: createdDocument } = await client.createDocument(collection._self, documentDefinition); - // global.originalFunc = request._createRequestObjectStub; - // global.counter = 0; - // request._createRequestObjectStub = mockCreateRequestObjectForDefaultRetryStub; - // const { result: readDocument } = await client.readDocument(createdDocument._self); - // assert.equal(readDocument.id, documentDefinition.id, "invalid document id"); - // assert.equal(global.counter, 5, "invalid number of retries"); - // request._createRequestObjectStub = global.originalFunc; - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/ruPerMin.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/ruPerMin.spec.ts deleted file mode 100644 index 54cb5fb31883..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/ruPerMin.spec.ts +++ /dev/null @@ -1,85 +0,0 @@ -import assert from "assert"; -import { Constants, CosmosClient, Database } from "../.."; -import { endpoint, masterKey } from "../common/_testConfig"; -import { getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -const client = new CosmosClient({ endpoint, auth: { masterKey } }); - -// TODO: these tests are all disabled - -describe("RU Per Minute", function() { - let database: Database; - - // - removes all the databases, - // - creates a new database, - beforeEach(async () => { - await removeAllDatabases(); - database = await getTestDatabase("RU Per minute"); - }); - - // - removes all the databases, - afterEach(async () => { - await removeAllDatabases(); - }); - - xit("Create container with RU Per Minute Offer", async function() { - const containerDefinition = { - id: "sample col" - }; - - const options = { - offerEnableRUPerMinuteThroughput: true, - offerVersion: "V2", - offerThroughput: 400 - }; - - await database.containers.create(containerDefinition, options); - const { result: offers } = await client.offers.readAll().toArray(); - assert.equal(offers.length, 1); - const offer = offers[0]; - - assert.equal(offer.offerType, "Invalid"); - assert.notEqual(offer.content, undefined); - assert.equal(offer.content.offerIsRUPerMinuteThroughputEnabled, true); - }); - - xit("Create container without RU Per Minute Offer", async function() { - const containerDefinition = { - id: "sample col" - }; - - const options = { - offerVersion: "V2", - offerThroughput: 400 - }; - - await database.containers.create(containerDefinition, options); - const { result: offers } = await client.offers.readAll().toArray(); - assert.equal(offers.length, 1); - const offer = offers[0]; - - assert.equal(offer.offerType, "Invalid"); - assert.notEqual(offer.content, undefined); - assert.equal(offer.content.offerIsRUPerMinuteThroughputEnabled, false); - }); - - xit("Create container with RU Per Minute Offer and insert Document with disableRUPerMinuteUsage options", async function() { - const containerDefinition = { - id: "sample col" - }; - - const options = { - offerEnableRUPerMinuteThroughput: true, - offerVersion: "V2", - offerThroughput: 400 - }; - - await database.containers.create(containerDefinition, options); - const container = database.container(containerDefinition.id); - const options2: any = { - disableRUPerMinuteUsage: true - }; - const { headers } = await container.items.create({ id: "sample document" }, options2); - assert(headers[Constants.HttpHeaders.IsRUPerMinuteUsed] !== true); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/session.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/session.spec.ts deleted file mode 100644 index 1d0cb0f783d0..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/session.spec.ts +++ /dev/null @@ -1,366 +0,0 @@ -import assert from "assert"; -import * as sinon from "sinon"; -import { Constants, CosmosClient, IHeaders } from "../.."; -import { ClientContext } from "../../ClientContext"; -import { Helper } from "../../common"; -import { ConsistencyLevel, PartitionKind } from "../../documents"; -import { RequestHandler } from "../../request"; -import { SessionContainer } from "../../session/sessionContainer"; -import { VectorSessionToken } from "../../session/VectorSessionToken"; -import { endpoint, masterKey } from "../common/_testConfig"; -import { getTestDatabase, removeAllDatabases } from "../common/TestHelpers"; - -// TODO: there is alot of "any" types for tokens here -// TODO: there is alot of leaky document client stuff here that will make removing document client hard - -const client = new CosmosClient({ - endpoint, - auth: { masterKey }, - consistencyLevel: ConsistencyLevel.Session -}); - -function getCollection2TokenMap(sessionContainer: SessionContainer): Map> { - return (sessionContainer as any).collectionResourceIdToSessionTokens; -} - -describe("Session Token", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 20000); - - const containerId = "sessionTestColl"; - - const containerDefinition = { - id: containerId, - partitionKey: { paths: ["/id"], kind: PartitionKind.Hash } - }; - const containerOptions = { offerThroughput: 25100 }; - - const clientContext: ClientContext = (client as any).clientContext; - const requestHandler: RequestHandler = (clientContext as any).requestHandler; - const sessionContainer: SessionContainer = (clientContext as any).sessionContainer; - - const getSpy = sinon.spy(requestHandler, "get"); - const postSpy = sinon.spy(requestHandler, "post"); - const putSpy = sinon.spy(requestHandler, "put"); - const deleteSpy = sinon.spy(requestHandler, "delete"); - - beforeEach(async function() { - await removeAllDatabases(); - }); - - it("validate session tokens for sequence of operations", async function() { - const database = await getTestDatabase("session test", client); - - const { body: createdContainerDef } = await database.containers.create(containerDefinition, containerOptions); - const container = database.container(createdContainerDef.id); - assert.equal(postSpy.lastCall.args[3][Constants.HttpHeaders.SessionToken], undefined); - // TODO: testing implementation detail by looking at containerResourceIdToSesssionTokens - let collRid2SessionToken: Map> = (sessionContainer as any) - .collectionResourceIdToSessionTokens; - assert.equal(collRid2SessionToken.size, 0, "Should have no tokens in container"); - - const { body: document1 } = await container.items.create({ id: "1" }); - assert.equal( - postSpy.lastCall.args[3][Constants.HttpHeaders.SessionToken], - undefined, - "Initial create token should be qual" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 1, "Should only have one container in the sessioncontainer"); - const containerRid = collRid2SessionToken.keys().next().value; - let containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 1, "Should only have one partition in container"); - const firstPartition = containerTokens.keys().next().value; - let firstPartitionToken = containerTokens.get(firstPartition); - assert.notEqual(firstPartitionToken, "Should have a token for first partition"); - - const token = sessionContainer.get({ - isNameBased: true, - operationType: "create", - resourceAddress: container.url, - resourceType: "docs", - resourceId: "2" - }); - const { body: document2 } = await container.items.create({ id: "2" }); - assert.equal(postSpy.lastCall.args[3][Constants.HttpHeaders.SessionToken], token, "create token should be equal"); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 1, "Should only have one container in the sessioncontainer"); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - const keysIterator = containerTokens.keys(); - keysIterator.next(); // partition 1 - const secondPartition = keysIterator.next().value; - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match after create" - ); - let secondPartitionToken = containerTokens.get(secondPartition); - assert(secondPartitionToken, "Should have a LSN for second partition"); - - const readToken = sessionContainer.get({ - isNameBased: true, - operationType: "read", - resourceAddress: container.url, - resourceType: "docs", - resourceId: "1" - }); - await container.item(document1.id, "1").read(); - assert.equal(getSpy.lastCall.args[2][Constants.HttpHeaders.SessionToken], readToken, "read token should be equal"); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 1, "Should only have one container in the sessioncontainer"); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match after read" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after read" - ); - - const upsertToken = sessionContainer.get({ - isNameBased: true, - operationType: "upsert", - resourceAddress: container.url, - resourceType: "docs", - resourceId: "1" - }); - const { body: document13 } = await container.items.upsert({ id: "1", operation: "upsert" }, { partitionKey: "1" }); - assert.equal( - postSpy.lastCall.args[3][Constants.HttpHeaders.SessionToken], - upsertToken, - "upsert token should be equal" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 1, "Should only have one container in the sessioncontainer"); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - // TODO: should validate the LSN only increased by 1... - assert.notEqual( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should no longer match after upsert" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after upsert" - ); - firstPartitionToken = containerTokens.get(firstPartition); - - const deleteToken = sessionContainer.get({ - isNameBased: true, - operationType: "delete", - resourceAddress: container.url, - resourceType: "docs", - resourceId: "2" - }); - await container.item(document2.id, "2").delete(); - assert.equal( - deleteSpy.lastCall.args[2][Constants.HttpHeaders.SessionToken], - deleteToken, - "delete token should be equal" - ); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 1, "Should only have one container in the sessioncontainer"); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match delete" - ); - // TODO: should validate the LSN only increased by 1... - assert.notEqual( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should not match after delete" - ); - secondPartitionToken = containerTokens.get(secondPartition); - - const replaceToken = sessionContainer.get({ - isNameBased: true, - operationType: "replace", - resourceAddress: container.url, - resourceType: "docs", - resourceId: "1" - }); - await container.item(document13.id).replace({ id: "1", operation: "replace" }, { partitionKey: "1" }); - assert.equal( - putSpy.lastCall.args[3][Constants.HttpHeaders.SessionToken], - replaceToken, - "replace token should be equal" - ); - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 1, "Should only have one container in the sessioncontainer"); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - // TODO: should validate the LSN only increased by 1... - assert.notEqual( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should no longer match after replace" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after replace" - ); - firstPartitionToken = containerTokens.get(firstPartition); - - const query = "SELECT * from " + containerId; - const queryOptions = { partitionKey: "1" }; - const queryIterator = container.items.query(query, queryOptions); - - const queryToken = sessionContainer.get({ - isNameBased: true, - operationType: "query", - resourceAddress: container.url, - resourceType: "docs" - }); - await queryIterator.toArray(); - assert.equal(postSpy.lastCall.args[3][Constants.HttpHeaders.SessionToken], queryToken); - - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 1, "Should only have one container in the sessioncontainer"); - containerTokens = collRid2SessionToken.get(containerRid); - assert.equal(containerTokens.size, 2, "Should have two partitions in container"); - assert.equal( - containerTokens.get(firstPartition).toString(), - firstPartitionToken.toString(), - "First partition token should still match after query" - ); - assert.equal( - containerTokens.get(secondPartition).toString(), - secondPartitionToken.toString(), - "Second partition token should still match after query" - ); - - const deleteContainerToken = sessionContainer.get({ - isNameBased: true, - operationType: "delete", - resourceAddress: container.url, - resourceType: "container", - resourceId: container.id - }); - await container.delete(); - assert.equal( - deleteSpy.lastCall.args[2][Constants.HttpHeaders.SessionToken], - deleteContainerToken, - "delete container token should match" - ); - collRid2SessionToken = getCollection2TokenMap(sessionContainer); - assert.equal(collRid2SessionToken.size, 0, "collRid map should be empty on container delete"); - - getSpy.restore(); - postSpy.restore(); - deleteSpy.restore(); - putSpy.restore(); - }); - - it("validate 'lsn not caught up' error for higher lsn and clearing session token", async function() { - this.retries(2); - const database = await getTestDatabase("session test", client); - - const containerLink = "dbs/" + database.id + "/colls/" + containerId; - const increaseLSN = function(oldTokens: Map>) { - for (const [coll, tokens] of oldTokens.entries()) { - for (const [pk, token] of tokens.entries()) { - (token as any).globalLsn = (token as any).globalLsn + 200; - const newToken = token.merge(token); - return `0:${newToken.toString()}`; - } - } - throw new Error("No valid token found to increase"); - }; - - await database.containers.create(containerDefinition, containerOptions); - const container = database.container(containerDefinition.id); - const { headers } = await container.items.create({ id: "1" }); - const callbackSpy = sinon.spy(function(path: string, reqHeaders: IHeaders) { - const oldTokens = getCollection2TokenMap(sessionContainer); - reqHeaders[Constants.HttpHeaders.SessionToken] = increaseLSN(oldTokens); - }); - const applySessionTokenStub = sinon.stub(clientContext as any, "applySessionToken").callsFake(callbackSpy); - try { - await container.item("1").read({ partitionKey: "1" }); - assert.fail("readDocument must throw"); - } catch (err) { - assert.equal(err.substatus, 1002, "Substatus should indicate the LSN didn't catchup."); - assert.equal(callbackSpy.callCount, 1); - assert.equal(Helper.trimSlashes(callbackSpy.lastCall.args[0]), containerLink + "/docs/1"); - } finally { - applySessionTokenStub.restore(); - } - await container.item("1").read({ partitionKey: "1" }); - }); - - // TODO: chrande - looks like this might be broken by going name based? - // We never had a name based version of this test. Looks like we fail to set the session token - // because OwnerId is missing on the header. This only happens for name based. - it.skip("client should not have session token of a container created by another client", async function() { - const client2 = new CosmosClient({ - endpoint, - auth: { masterKey }, - consistencyLevel: ConsistencyLevel.Session - }); - const database = await getTestDatabase("clientshouldnothaveanotherclienttoken"); - await database.containers.create(containerDefinition, containerOptions); - const container = database.container(containerDefinition.id); - await container.read(); - await client2 - .database(database.id) - .container(containerDefinition.id) - .delete(); - await client2.database(database.id).containers.create(containerDefinition, containerOptions); - await client2 - .database(database.id) - .container(containerDefinition.id) - .read(); - assert.equal((client as any).clientContext.getSessionToken(container.url), ""); // TODO: _self - assert.notEqual((client2 as any).clientContext.getSessionToken(container.url), ""); - }); - - it("validate session container update on 'Not found' with 'undefined' status code for non master resource", async function() { - const client2 = new CosmosClient({ - endpoint, - auth: { masterKey }, - consistencyLevel: ConsistencyLevel.Session - }); - - const db = await getTestDatabase("session test", client); - - const { body: createdContainerDef } = await db.containers.create(containerDefinition, containerOptions); - const createdContainer = db.container(createdContainerDef.id); - - const { body: createdDocument } = await createdContainer.items.create({ - id: "1" - }); - const requestOptions = { partitionKey: "1" }; - await client2 - .database(db.id) - .container(createdContainerDef.id) - .item(createdDocument.id) - .delete(requestOptions); - const setSessionTokenSpy = sinon.spy(sessionContainer, "set"); - - try { - await createdContainer.item(createdDocument.id).read(requestOptions); - assert.fail("Must throw"); - } catch (err) { - assert.equal(err.code, 404, "expecting 404 (Not found)"); - assert.equal(err.substatus, undefined, "expecting substatus code to be undefined"); - assert.equal(setSessionTokenSpy.callCount, 1, "unexpected number of calls to sesSessionToken"); - } finally { - setSessionTokenSpy.restore(); - } - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/split.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/split.spec.ts deleted file mode 100644 index 35e34a615cd9..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/split.spec.ts +++ /dev/null @@ -1,445 +0,0 @@ -// import assert from "assert"; -// import { execFileSync, spawnSync } from "child_process"; -// import * as Stream from "stream"; -// import * as _ from "underscore"; -// import * as util from "util"; -// import { -// AzureDocuments, Base, Constants, CosmosClient, -// DocumentBase, HashPartitionResolver, Range, -// RangePartitionResolver, RetryOptions, -// } from "../../"; -// import { HeaderUtils } from "../../queryExecutionContext"; -// import testConfig from "./../common/_testConfig"; -// import { TestHelpers } from "./../common/TestHelpers"; - -// process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; - -// const host = testConfig.host; -// const masterKey = testConfig.masterKey; -// const adminUtilitiesPath = testConfig.adminUtilitiesPath; -// const splitRangeCommand = "SplitRange"; -// const partitionKey = "key"; -// const stopWorkload = false; - -// const SplitMethod = { -// EqualRange: 0, -// EqualCount: 1, -// Explicit: 2, -// }; - -// // TODO: These tests are currently disabled. Should remove them or re-enable them. - -// describe.skip("NodeJS Split Tests", function () { -// const generateDocuments = function (docSize) { -// const docs = []; -// for (let i: number = 0; i < docSize; i++) { -// const d = { -// id: i.toString(), -// name: "sample document", -// spam: "eggs" + i.toString(), -// cnt: i, -// key: "value", -// spam2: (i === 3) ? "eggs" + i.toString() : i, -// boolconst: (i % 2 === 0), -// number: 1.1 * i, - -// }; -// docs.push(d); -// } -// return docs; -// }; - -// describe("Validate Split", function () { -// const client = new CosmosClient(host, { masterKey }); -// const documentDefinitions = generateDocuments(20); -// // Global constiable to determine if we should split after a round trip. -// let shouldSplit = true; -// let db: any; -// let collection: any; -// const isNameBased = false; -// // - removes all the databases, -// // - creates a new database, -// // - creates a new collecton, -// // - bulk inserts documents to the collection -// beforeEach(async function () { -// try { -// shouldSplit = true; -// TestHelpers.removeAllDatabases(host, masterKey); - -// const { result: createdDB } = await client.createDatabase({ id: "sample 中文 database" }); -// db = createdDB; - -// const collectionDefinition = { -// id: "sample collection", -// indexingPolicy: { -// includedPaths: [ -// { -// path: "/", -// indexes: [ -// { -// kind: "Range", -// dataType: "Number", -// }, -// { -// kind: "Range", -// dataType: "String", -// }, -// ], -// }, -// ], -// }, -// partitionKey: { -// paths: [ -// "/id", -// ], -// kind: "Hash", -// }, -// }; - -// const collectionOptions = { offerThroughput: 10100 }; -// const { result: createdCollection } = -// await client.createCollection("dbs/sample 中文 database", collectionDefinition, collectionOptions); -// collection = createdCollection; -// await TestHelpers.bulkInsertDocuments(client, isNameBased, db, collection, documentDefinitions); -// } catch (err) { -// throw err; -// } -// }); - -// const executeSplitRange = function (collectionRid, partitionKeyRangeId, minimumAllowedFraction, splitMethod) { -// console.log("Launching Command: "); -// const args = [splitRangeCommand, collectionRid, partitionKeyRangeId, minimumAllowedFraction, splitMethod]; -// const childProcess = spawnSync(adminUtilitiesPath, args, { stdio: "inherit" }); -// assert.equal(childProcess.status, 0); -// }; - -// const validateResults = function (actualResults, expectedOrderIds) { -// assert.equal(actualResults.length, expectedOrderIds.length, -// "actual results length doesn't match with expected results length."); - -// for (let i = 0; i < actualResults.length; i++) { -// assert.equal(actualResults[i].id, expectedOrderIds[i], -// "actual result content doesn't match with expected result content."); -// } -// }; - -// const validateToArray = function (queryIterator, options, expectedOrderIds, done) { - -// //////////////////////////////// -// // validate toArray() -// //////////////////////////////// -// options.continuation = undefined; -// const toArrayVerifier = function (err, results) { -// assert.equal(err, undefined, "unexpected failure in fetching the results: " + JSON.stringify(err)); -// assert.equal(results.length, expectedOrderIds.length, "invalid number of results"); -// assert.equal(queryIterator.hasMoreResults(), false, "hasMoreResults: no more results is left"); - -// validateResults(results, expectedOrderIds); -// return done(); -// }; - -// queryIterator.toArray(toArrayVerifier); -// }; - -// const validateNextItem = function (queryIterator, options, expectedOrderIds, done) { - -// //////////////////////////////// -// // validate nextItem() -// //////////////////////////////// -// const results = []; -// const nextItemVerifier = function (err, item) { -// assert.equal(err, undefined, "unexpected failure in fetching the results: " + err); -// if (item === undefined) { -// assert(!queryIterator.hasMoreResults(), "hasMoreResults must signal results exhausted"); -// validateResults(results, expectedOrderIds); - -// return done(); -// } -// results = results.concat(item); - -// if (results.length < expectedOrderIds.length) { -// assert(queryIterator.hasMoreResults(), "hasMoreResults must indicate more results"); -// } -// return queryIterator.nextItem(nextItemVerifier); -// }; - -// queryIterator.nextItem(nextItemVerifier); -// }; - -// const validateNextItemAndCurrentAndHasMoreResults = function (queryIterator, options, expectedOrderIds, done) { -// // curent and nextItem recursively invoke each other till queryIterator is exhausted -// //////////////////////////////// -// // validate nextItem() -// //////////////////////////////// -// const results = []; -// const nextItemVerifier = function (err, item) { - -// //////////////////////////////// -// // validate current() -// //////////////////////////////// -// const currentVerifier = function (err, currentItem) { -// assert.equal(err, undefined, "unexpected failure in fetching the results: " + err); -// assert.equal(item, currentItem, "current must give the previously item returned by nextItem"); - -// if (currentItem === undefined) { -// assert(!queryIterator.hasMoreResults(), "hasMoreResults must signal results exhausted"); -// validateResults(results, expectedOrderIds); - -// return done(); -// } - -// if (results.length < expectedOrderIds.length) { -// assert(queryIterator.hasMoreResults(), "hasMoreResults must indicate more results"); -// } - -// return queryIterator.nextItem(nextItemVerifier); -// }; - -// assert.equal(err, undefined, "unexpected failure in fetching the results: " + err); - -// if (item === undefined) { -// assert(!queryIterator.hasMoreResults(), "hasMoreResults must signal results exhausted"); -// validateResults(results, expectedOrderIds); - -// return queryIterator.current(currentVerifier); -// } -// results = results.concat(item); - -// if (results.length < expectedOrderIds.length) { -// assert(queryIterator.hasMoreResults(), "hasMoreResults must indicate more results"); -// } - -// const currentVerifier = function (err, currentItem) { -// queryIterator.nextItem(nextItemVerifier); -// } - -// return queryIterator.current(currentVerifier); -// }; -// queryIterator.nextItem(nextItemVerifier); -// }; - -// const validateExecuteNextWithGivenContinuationToken = function (collectionLink, query, origOptions, listOfResultPages, listOfHeaders, done) { -// const options = JSON.parse(JSON.stringify(origOptions)); -// const expectedResults = listOfResultPages.shift(); -// const headers = listOfHeaders.shift(); -// if (headers === undefined) { -// assert(listOfHeaders.length === 0, "only last header is empty"); -// assert(listOfResultPages.length === 0); -// return done(); -// } - -// assert.notEqual(expectedResults, undefined); - -// const continuationToken = headers[Constants.HttpHeaders.Continuation]; - -// const fromTokenValidator = function (token, expectedResultsFromToken, expectedHeadersFromToken) { -// options.continuation = token; -// const queryIterator = client.queryDocuments(collectionLink, query, options); - -// const fromTokenToLastPageValidator = function (queryIterator, token, expectedResultsFromToken, expectedHeadersFromToken) { - -// // validates single page result and -// const resultPageValidator = function (err, resources, headers) { -// assert.equal(err, undefined, "unexpected failure in fetching the results: " + err + JSON.stringify(err)); - -// const exptectedResultPage = expectedResultsFromToken.shift(); -// const expectedHeaders = expectedHeadersFromToken.shift(); -// if (exptectedResultPage === undefined) { -// assert.equal(resources, undefined); -// assert.equal(headers, undefined); -// } else { - -// validateResults(resources, exptectedResultPage.map( -// function (r) { -// return r["id"]; -// })); - -// if (expectedHeaders) { -// assert.equal( -// headers[Constants.HttpHeaders.Continuation], -// expectedHeaders[Constants.HttpHeaders.Continuation]); -// } else { -// assert.equal(headers, undefined); -// } -// } - -// if (expectedHeadersFromToken.length > 0) { -// return fromTokenToLastPageValidator(queryIterator, token, expectedResultsFromToken, expectedHeadersFromToken); -// } else { -// // start testing from next continuation token ... -// return validateExecuteNextWithGivenContinuationToken(collectionLink, query, options, listOfResultPages, listOfHeaders, done); -// } -// } -// queryIterator.executeNext(resultPageValidator); -// } -// return fromTokenToLastPageValidator(queryIterator, continuationToken, listOfResultPages, listOfHeaders); -// } -// return fromTokenValidator(continuationToken, listOfResultPages, listOfHeaders); -// } - -// const validateExecuteNextAndHasMoreResults = function (collectionLink, query, options, queryIterator, expectedOrderIds, done, -// validateExecuteNextWithContinuationToken) { -// const pageSize = options["maxItemCount"]; - -// //////////////////////////////// -// // validate executeNext() -// //////////////////////////////// - -// const listOfResultPages = []; -// const listOfHeaders = []; - -// const totalFetchedResults = []; -// const executeNextValidator = function (err, results, headers) { -// // CollectionRid is case sensitive. -// const collectionRid = collectionLink.split("/")[3]; - -// // Spliting to test split proof after retrieving the page -// if (shouldSplit) { -// executeSplitRange(collectionRid, "0", "0.1", "EqualRange"); -// shouldSplit = false; -// } - -// listOfResultPages.push(results); -// listOfHeaders.push(headers); - -// assert.equal(err, undefined, "unexpected failure in fetching the results: " + err + JSON.stringify(err)); -// if (results === undefined || (totalFetchedResults.length === expectedOrderIds.length)) { -// // no more results -// validateResults(totalFetchedResults, expectedOrderIds); -// assert.equal(queryIterator.hasMoreResults(), false, "hasMoreResults: no more results is left"); -// assert.equal(results, undefined, "unexpected more results" + JSON.stringify(results)); -// if (validateExecuteNextWithContinuationToken) { -// return validateExecuteNextWithGivenContinuationToken( -// collectionLink, query, options, listOfResultPages, listOfHeaders, done, -// ); -// } else { -// return done(); -// } -// } - -// totalFetchedResults = totalFetchedResults.concat(results); - -// if (totalFetchedResults.length < expectedOrderIds.length) { -// // there are more results -// assert(results.length <= pageSize, "executeNext: invalid fetch block size"); -// //if (validateExecuteNextWithContinuationToken) { -// // assert(results.length <= pageSize, "executeNext: invalid fetch block size"); -// // } else { -// // assert.equal(results.length, pageSize, "executeNext: invalid fetch block size"); - -// // } -// assert(queryIterator.hasMoreResults(), "hasMoreResults expects to return true"); -// return queryIterator.executeNext(executeNextValidator); - -// } else { -// // no more results -// assert.equal(expectedOrderIds.length, totalFetchedResults.length, "executeNext: didn't fetch all the results"); -// assert(results.length <= pageSize, "executeNext: actual fetch size is more than the requested page size"); - -// // validate that next execute returns undefined resources -// return queryIterator.executeNext(executeNextValidator); -// } -// }; - -// queryIterator.executeNext(executeNextValidator); -// } - -// const validateForEach = function (queryIterator, options, expectedOrderIds, done) { - -// //////////////////////////////// -// // validate forEach() -// //////////////////////////////// -// const results = []; -// const callbackSingnalledEnd = false; -// const forEachCallback = function (err, item) { -// assert.equal(err, undefined, "unexpected failure in fetching the results: " + err + JSON.stringify(err)); -// // if the previous invocation returned false, forEach must avoid invoking the callback again! -// assert.equal(callbackSingnalledEnd, false, "forEach called callback after the first false returned"); -// results = results.concat(item); -// if (results.length === expectedOrderIds.length) { -// callbackSingnalledEnd = true; -// validateResults(results, expectedOrderIds); -// process.nextTick(done); -// return false -// } -// return true; -// }; - -// queryIterator.forEach(forEachCallback); -// } - -// const executeQueryAndValidateResults = function (collectionLink, query, options, expectedOrderIds, done, validateExecuteNextWithContinuationToken) { - -// validateExecuteNextWithContinuationToken = validateExecuteNextWithContinuationToken || false; -// const queryIterator = client.queryDocuments(collectionLink, query, options); - -// validateToArray(queryIterator, options, expectedOrderIds, -// function () { -// queryIterator.reset(); -// validateExecuteNextAndHasMoreResults(collectionLink, query, options, queryIterator, expectedOrderIds, -// function () { -// queryIterator.reset(); -// validateNextItemAndCurrentAndHasMoreResults(queryIterator, options, expectedOrderIds, -// function () { -// validateForEach(queryIterator, options, expectedOrderIds, done); -// }, -// ); -// }, -// validateExecuteNextWithContinuationToken, -// ); -// }, -// ); -// }; -// // We can only have 5 split test cases, since the VM will only let us split 10 times - -// // Parallel Query Tests -// it("Validate Parallel Query As String With maxDegreeOfParallelism: 3", function (done) { -// // simple order by query in string format -// const query = "SELECT * FROM root r"; -// const options = { enableCrossPartitionQuery: true, maxItemCount: 2, maxDegreeOfParallelism: 3 }; - -// const expectedOrderedIds = [1, 10, 18, 2, 3, 13, 14, 16, 17, 0, 11, 12, 5, 9, 19, 4, 6, 7, 8, 15]; - -// // validates the results size and order -// executeQueryAndValidateResults(getCollectionLink(isNameBased, db, collection), query, options, expectedOrderedIds, done); -// }); - -// // OrderBy Tests -// it("Validate Simple OrderBy Query As String With maxDegreeOfParallelism = 3", function (done) { -// // simple order by query in string format -// const query = "SELECT * FROM root r order by r.spam"; -// const options = { enableCrossPartitionQuery: true, maxItemCount: 2, maxDegreeOfParallelism: 3 }; - -// // prepare expected results -// const getOrderByKey = function (r) { -// return r["spam"]; -// } -// const expectedOrderedIds = (_.sortBy(documentDefinitions, getOrderByKey).map(function (r) { -// return r["id"]; -// })); - -// // validates the results size and order -// executeQueryAndValidateResults(getCollectionLink(isNameBased, db, collection), query, options, expectedOrderedIds, done); -// }); - -// it("Validate OrderBy with top", function (done) { -// // an order by query with top, total existing docs more than requested top count -// const topCount = 9; -// const querySpec = { -// query: util.format("SELECT top %d * FROM root r order by r.spam", topCount), -// } -// const options = { enableCrossPartitionQuery: true, maxItemCount: 2 }; - -// // prepare expected results -// const getOrderByKey = function (r) { -// return r["spam"]; -// } -// const expectedOrderedIds = (_.sortBy(documentDefinitions, getOrderByKey).map(function (r) { -// return r["id"]; -// })).slice(0, topCount); - -// executeQueryAndValidateResults(getCollectionLink(isNameBased, db, collection), querySpec, options, expectedOrderedIds, done); - -// }); -// }); -// }); diff --git a/sdk/cosmosdb/cosmos/src/test/integration/sslVerification.spec.ts b/sdk/cosmosdb/cosmos/src/test/integration/sslVerification.spec.ts deleted file mode 100644 index 916dda0ca30e..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/integration/sslVerification.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -import assert from "assert"; -import { CosmosClient, DocumentBase } from "../.."; -import { getTestDatabase } from "../common/TestHelpers"; - -const endpoint = "https://localhost:443"; -const masterKey = "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="; - -// TODO: Skipping these tests for now until we find a way to run these tests in a seperate nodejs process -// Currently all tests are run in same process so we cannot update the environment variables for different tests -// This test runs fine when run independently but fails when run along with rest of the tests. -describe.skip("Validate SSL verification check for emulator", function() { - it("nativeApi Client Should throw exception", async function() { - try { - const client = new CosmosClient({ endpoint, auth: { masterKey } }); - // create database - await getTestDatabase("ssl verification", client); - } catch (err) { - // connecting to emulator should throw SSL verification error, - // unless you explicitly disable it via connectionPolicy.DisableSSLVerification - assert.equal(err.code, "DEPTH_ZERO_SELF_SIGNED_CERT", "client should throw exception"); - } - }); - - it("nativeApi Client Should successfully execute request", async function() { - const connectionPolicy = new DocumentBase.ConnectionPolicy(); - // Disable SSL verification explicitly - connectionPolicy.DisableSSLVerification = true; - const client = new CosmosClient({ - endpoint, - auth: { masterKey }, - connectionPolicy - }); - - // create database - await getTestDatabase("ssl verification", client); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/readme.md b/sdk/cosmosdb/cosmos/src/test/readme.md deleted file mode 100644 index a18fd8017243..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -Follow these instructions to run the tests locally. - -## Prerequisites - -1. Clone Azure/azure-documentdb-node repository -Please clone the source and tests from [https://github.com/Azure/azure-documentdb-node](https://github.com/Azure/azure-documentdb-node) - -2. Install Node.js and npm -[https://docs.npmjs.com/getting-started/installing-node](https://docs.npmjs.com/getting-started/installing-node) - -3. Install mocha package globally -> npm install -g mocha - -## Running the tests -Using your command-line tool, from the root of your local copy of azure-documentdb-node repository: -If you are contributing changes and submitting PR then you need to ensure that you run the tests against your local copy of the source, and not the published npm package. - -If you just want to run the tests against the published npm package then skip steps #1 & #2 proceed directly to step #3 - -1. Remove documentdb, if previously installed -> npm remove documentdb - -2. Install documentdb -> npm install source - -3. Change to `test` directory -> cd test - -3. Run the tests -> mocha -t 0 -R spec diff --git a/sdk/cosmosdb/cosmos/src/test/unit/helper.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/helper.spec.ts deleted file mode 100644 index d30e881926c8..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/helper.spec.ts +++ /dev/null @@ -1,79 +0,0 @@ -import assert from "assert"; -import { IHeaders } from "../.."; -import { Constants, Helper } from "../../common"; - -describe("Helper methods", function() { - describe("isResourceValid Unit Tests", function() { - it("id is not string", function(done) { - const err = {}; - const result = Helper.isResourceValid({ id: 1 }, err); - - assert.equal(result, false); - assert.deepEqual(err, { message: "Id must be a string." }); - done(); - }); - }); - - describe("setIsUpsertHeader", function() { - it("Should add is-upsert header.", function(done) { - const headers: any = {}; - assert.equal(undefined, headers[Constants.HttpHeaders.IsUpsert]); - Helper.setIsUpsertHeader(headers); - assert.equal(true, headers[Constants.HttpHeaders.IsUpsert]); - done(); - }); - - it("Should update is-upsert header.", function(done) { - const headers: IHeaders = {}; - headers[Constants.HttpHeaders.IsUpsert] = false; - assert.equal(false, headers[Constants.HttpHeaders.IsUpsert]); - Helper.setIsUpsertHeader(headers); - assert.equal(true, headers[Constants.HttpHeaders.IsUpsert]); - done(); - }); - - it("Should throw on undefined headers", function(done) { - assert.throws(function() { - Helper.setIsUpsertHeader(undefined); - }, /The "headers" parameter must not be null or undefined/); - done(); - }); - - it("Should throw on null headers", function(done) { - assert.throws(function() { - Helper.setIsUpsertHeader(null); - }, /The "headers" parameter must not be null or undefined/); - done(); - }); - - it("Should throw on invalid string headers", function(done) { - assert.throws( - function() { - Helper.setIsUpsertHeader("" as any); - }, // Any type is intentional for test failure - /The "headers" parameter must be an instance of "Object". Actual type is: "string"./ - ); - done(); - }); - - it("Should throw on invalid number headers", function(done) { - assert.throws( - function() { - Helper.setIsUpsertHeader(0 as any); - }, // Any type is intentional for test failure - /The "headers" parameter must be an instance of "Object". Actual type is: "number"./ - ); - done(); - }); - - it("Should throw on invalid boolean headers", function(done) { - assert.throws( - function() { - Helper.setIsUpsertHeader(false as any); - }, // Any type is intentional for test failure - /The "headers" parameter must be an instance of "Object". Actual type is: "boolean"./ - ); - done(); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/unit/inMemoryCollectionRoutingMap.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/inMemoryCollectionRoutingMap.spec.ts deleted file mode 100644 index e2ab4f280503..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/inMemoryCollectionRoutingMap.spec.ts +++ /dev/null @@ -1,260 +0,0 @@ -import assert from "assert"; -import { CollectionRoutingMapFactory, InMemoryCollectionRoutingMap, QueryRange } from "../../routing"; - -describe("InMemoryCollectionRoutingMap Tests", function() { - describe("getOverlappingRanges", function() { - const partitionKeyRanges = [ - { id: "0", minInclusive: "", maxExclusive: "05C1C9CD673398" }, - { - id: "1", - minInclusive: "05C1C9CD673398", - maxExclusive: "05C1D9CD673398" - }, - { - id: "2", - minInclusive: "05C1D9CD673398", - maxExclusive: "05C1E399CD6732" - }, - { - id: "3", - minInclusive: "05C1E399CD6732", - maxExclusive: "05C1E9CD673398" - }, - { id: "4", minInclusive: "05C1E9CD673398", maxExclusive: "FF" } - ]; - const partitionRangeWithInfo = partitionKeyRanges.map(r => [r, true]); - const collectionRoutingMap = CollectionRoutingMapFactory.createCompleteRoutingMap( - partitionRangeWithInfo, - "sample collection id" - ); - - it("queryCompleteRange", function() { - const completeRange = new QueryRange("", "FF", true, false); - const overlappingPartitionKeyRanges = collectionRoutingMap.getOverlappingRanges(completeRange); - - assert.equal(overlappingPartitionKeyRanges.length, partitionKeyRanges.length); - assert.deepEqual(overlappingPartitionKeyRanges, partitionKeyRanges); - }); - - it("queryEmptyRange", function() { - const emtpyRange = new QueryRange("05C1C9CD673396", "05C1C9CD673396", true, false); - const overlappingPartitionKeyRanges = collectionRoutingMap.getOverlappingRanges(emtpyRange); - - assert.equal(overlappingPartitionKeyRanges.length, 0); - }); - - it("queryPoint", function() { - const pointRange = new QueryRange("05C1D9CD673397", "05C1D9CD673397", true, true); - const overlappingPartitionKeyRanges = collectionRoutingMap.getOverlappingRanges(pointRange); - - assert.equal(overlappingPartitionKeyRanges.length, 1); - assert(overlappingPartitionKeyRanges[0].minInclusive <= pointRange.min); - assert(overlappingPartitionKeyRanges[0].maxExclusive > pointRange.max); - }); - - it("boundaryPointQuery", function() { - const pointRange = new QueryRange("05C1C9CD673398", "05C1C9CD673398", true, true); - const overlappingPartitionKeyRanges = collectionRoutingMap.getOverlappingRanges(pointRange); - - assert.equal(overlappingPartitionKeyRanges.length, 1); - assert(overlappingPartitionKeyRanges[0].minInclusive <= pointRange.min); - assert(overlappingPartitionKeyRanges[0].maxExclusive > pointRange.max); - assert(overlappingPartitionKeyRanges[0].minInclusive === pointRange.min); - }); - }); - - describe("All methods", function() { - const partitionRangeWithInfo = [ - [ - { - id: "2", - minInclusive: "0000000050", - maxExclusive: "0000000070" - }, - 2 - ], - [ - { - id: "0", - minInclusive: "", - maxExclusive: "0000000030" - }, - 0 - ], - [ - { - id: "1", - minInclusive: "0000000030", - maxExclusive: "0000000050" - }, - 1 - ], - [ - { - id: "3", - minInclusive: "0000000070", - maxExclusive: "FF" - }, - 3 - ] - ]; - - const collectionRoutingMap = CollectionRoutingMapFactory.createCompleteRoutingMap( - partitionRangeWithInfo, - "sample collection id" - ); - - it("validate _orderedPartitionKeyRanges", function() { - assert.equal("0", collectionRoutingMap.getOrderedParitionKeyRanges()[0].id); - assert.equal("1", collectionRoutingMap.getOrderedParitionKeyRanges()[1].id); - assert.equal("2", collectionRoutingMap.getOrderedParitionKeyRanges()[2].id); - assert.equal("3", collectionRoutingMap.getOrderedParitionKeyRanges()[3].id); - }); - - // TODO: bad practice to test implementation details - it("validate _orderedPartitionInfo", function() { - assert.equal(0, collectionRoutingMap.orderedPartitionInfo[0]); - assert.equal(1, collectionRoutingMap.orderedPartitionInfo[1]); - assert.equal(2, collectionRoutingMap.orderedPartitionInfo[2]); - assert.equal(3, collectionRoutingMap.orderedPartitionInfo[3]); - }); - - it("validate getRangeByEffectivePartitionKey", function() { - assert.equal("0", collectionRoutingMap.getRangeByEffectivePartitionKey("").id); - assert.equal("0", collectionRoutingMap.getRangeByEffectivePartitionKey("0000000000").id); - assert.equal("1", collectionRoutingMap.getRangeByEffectivePartitionKey("0000000030").id); - assert.equal("1", collectionRoutingMap.getRangeByEffectivePartitionKey("0000000031").id); - assert.equal("3", collectionRoutingMap.getRangeByEffectivePartitionKey("0000000071").id); - }); - - // // TODO: bad practice to test implementation details - // it("validate getRangeByPartitionKeyRangeId", function () { - // assert.equal("0", collectionRoutingMap.getRangeByPartitionKeyRangeId(0).id); - // assert.equal("1", collectionRoutingMap.getRangeByPartitionKeyRangeId(1).id); - // }); - - it("validate getOverlappingRanges", function() { - const completeRange = new QueryRange("", "FF", true, false); - - const compareId = function(a: any, b: any) { - // TODO: any - return a["id"] - b["id"]; - }; - - const overlappingRanges = collectionRoutingMap.getOverlappingRanges([completeRange]).sort(compareId); - assert.equal(4, overlappingRanges.length); - - let onlyParitionRanges = partitionRangeWithInfo.map(function(item) { - return item[0]; - }); - - onlyParitionRanges = onlyParitionRanges.sort(compareId); - assert.deepEqual(overlappingRanges, onlyParitionRanges); - - const noPoint = new QueryRange("", "", false, false); - assert.equal(0, collectionRoutingMap.getOverlappingRanges([noPoint]).length); - - const onePoint = new QueryRange("0000000040", "0000000040", true, true); - let overlappingPartitionKeyRanges = collectionRoutingMap.getOverlappingRanges([onePoint]); - assert.equal(1, overlappingPartitionKeyRanges.length); - assert.equal("1", overlappingPartitionKeyRanges[0].id); - - const ranges = [ - new QueryRange("0000000040", "0000000045", true, true), - new QueryRange("0000000045", "0000000046", true, true), - new QueryRange("0000000046", "0000000050", true, true) - ]; - overlappingPartitionKeyRanges = collectionRoutingMap.getOverlappingRanges(ranges).sort(compareId); - - assert.equal(2, overlappingPartitionKeyRanges.length); - assert.equal("1", overlappingPartitionKeyRanges[0].id); - assert.equal("2", overlappingPartitionKeyRanges[1].id); - }); - }); - - describe("Error Handling", function() { - describe("Incorrect instantiation", function() { - it("Invalid Routing Map", function() { - const partitionRangeWithInfo = [ - [ - { - id: "1", - minInclusive: "0000000020", - maxExclusive: "0000000030" - }, - 2 - ], - [ - { - id: "2", - minInclusive: "0000000025", - maxExclusive: "0000000035" - }, - 2 - ] - ]; - const collectionUniqueId = ""; - try { - const collectionRoutingMap = CollectionRoutingMapFactory.createCompleteRoutingMap( - partitionRangeWithInfo, - "sample collection id" - ); - assert.fail("must throw exception"); - } catch (e) { - assert.equal(e.message, "Ranges overlap"); - } - }); - - // TODO: test does two things (code smell) - it("Incomplete Routing Map", function() { - let partitionRangeWithInfo = [ - [ - { - id: "2", - minInclusive: "", - maxExclusive: "0000000030" - }, - 2 - ], - [ - { - id: "3", - minInclusive: "0000000031", - maxExclusive: "FF" - }, - 2 - ] - ]; - let collectionRoutingMap = CollectionRoutingMapFactory.createCompleteRoutingMap( - partitionRangeWithInfo, - "sample collection id" - ); - assert.equal(collectionRoutingMap, null); - - partitionRangeWithInfo = [ - [ - { - id: "2", - minInclusive: "", - maxExclusive: "0000000030" - }, - 2 - ], - [ - { - id: "2", - minInclusive: "0000000030", - maxExclusive: "FF" - }, - 2 - ] - ]; - collectionRoutingMap = CollectionRoutingMapFactory.createCompleteRoutingMap( - partitionRangeWithInfo, - "sample collection id" - ); - assert.notEqual(collectionRoutingMap, null); - }); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/unit/locationCache.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/locationCache.spec.ts deleted file mode 100644 index e5e883143e9d..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/locationCache.spec.ts +++ /dev/null @@ -1,390 +0,0 @@ -import { CosmosClientOptions } from "../../CosmosClientOptions"; -import { ConnectionPolicy, DatabaseAccount, Location } from "../../documents"; -import { LocationCache } from "../../LocationCache"; - -import * as assert from "assert"; -import { Constants, ResourceType } from "../../common"; - -const scenarios: Scenario[] = []; -const regions = ["westus", "East US", "eastus2", "south Centralus", "sEasIa"]; - -interface Scenario { - defaultEndpoint?: string; - connectionPolicy?: ConnectionPolicy; - databaseAccount?: DatabaseAccount; -} - -function getEndpointFromRegion(regionName?: string) { - const prefix = "https://test"; - const suffix = ".documents.azure.com:443"; - return `${prefix}${regionName ? `-${regionName}` : ""}${suffix}`; -} - -function addScenario(options?: { numberOfRegions?: number; useMultipleWriteLocations?: boolean }) { - const connectionPolicy = new ConnectionPolicy(); - const databaseAccountConfig: { - writableLocations?: Location[]; - readableLocations?: Location[]; - enableMultipleWriteLocations?: boolean; - } = {}; - const defaultEndpoint = getEndpointFromRegion(); - - if (options) { - if (options.numberOfRegions) { - connectionPolicy.PreferredLocations = regions.slice(0, options.numberOfRegions); - databaseAccountConfig.readableLocations = connectionPolicy.PreferredLocations.map(locationName => { - return { name: locationName, databaseAccountEndpoint: getEndpointFromRegion(locationName) }; - }); - if (options.useMultipleWriteLocations) { - connectionPolicy.UseMultipleWriteLocations = options.useMultipleWriteLocations; - databaseAccountConfig.writableLocations = connectionPolicy.PreferredLocations.map(locationName => { - return { name: locationName, databaseAccountEndpoint: getEndpointFromRegion(locationName) }; - }).sort((a, b) => (a.name > b.name ? 1 : -1)); - databaseAccountConfig.enableMultipleWriteLocations = options.useMultipleWriteLocations; - } else { - databaseAccountConfig.writableLocations = regions - .slice(0, 1) - .map(locationName => { - return { name: locationName, databaseAccountEndpoint: getEndpointFromRegion(locationName) }; - }) - .sort((a, b) => (a.name > b.name ? 1 : -1)); - } - } - } - - scenarios.push({ - connectionPolicy, - defaultEndpoint, - databaseAccount: new DatabaseAccount(databaseAccountConfig, {}) - }); -} - -addScenario(); // Default -addScenario({ numberOfRegions: 1 }); -addScenario({ numberOfRegions: 2 }); -addScenario({ numberOfRegions: 3 }); -addScenario({ numberOfRegions: 5 }); -addScenario({ numberOfRegions: 1, useMultipleWriteLocations: true }); -addScenario({ numberOfRegions: 2, useMultipleWriteLocations: true }); -addScenario({ numberOfRegions: 3, useMultipleWriteLocations: true }); -addScenario({ numberOfRegions: 5, useMultipleWriteLocations: true }); - -describe("Location Cache", function() { - this.timeout(process.env.MOCHA_TIMEOUT || 2000); - for (const scenario of scenarios) { - describe(`when there is a DatabaseAccount refresh and ${ - scenario.connectionPolicy.PreferredLocations.length - } preferred region and multi-region write is ${scenario.connectionPolicy.UseMultipleWriteLocations}.`, function() { - const connectionPolicy: ConnectionPolicy = scenario.connectionPolicy; - const endpoint = scenario.defaultEndpoint; - const cosmosClientOptions: CosmosClientOptions = { auth: {}, endpoint, connectionPolicy }; - const locationCache = new LocationCache(cosmosClientOptions); - - before(function() { - locationCache.onDatabaseAccountRead(scenario.databaseAccount); - }); - - it("shouldn't refresh", function() { - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal(shouldRefresh, false, "shouldn't need to refresh"); - }); - - it("preferred locations should match the connection policy preferred locations", function() { - const preferredLocations = locationCache.prefferredLocations; - assert.equal( - preferredLocations.length, - scenario.connectionPolicy.PreferredLocations.length, - "preffered locations size should match" - ); - }); - - it("read endpoint should match most preferred endpoint", function() { - const readEndpoint = locationCache.getReadEndpoint(); - assert.equal( - readEndpoint, - scenario.connectionPolicy.PreferredLocations.length > 0 ? getEndpointFromRegion(regions[0]) : endpoint, - "read endpoint should match most preferred endpoint after database account info refresh" - ); - }); - - it("write endpoint should match default endpoint", function() { - const writeEndpoint = locationCache.getWriteEndpoint(); - const expectedEndpoint = - scenario.connectionPolicy.PreferredLocations.length > 0 - ? getEndpointFromRegion(scenario.connectionPolicy.PreferredLocations[0]) - : endpoint; - assert.equal( - writeEndpoint, - expectedEndpoint, - "write endpoint should match most preferred endpoint after database account info refresh" - ); - }); - - it(`read request for resolve endpoint, retry count 0, should match read endpoint`, function() { - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Read, - resourceType: ResourceType.item, - retryCount: 0 - }); - - const readEndpoint = locationCache.getReadEndpoint(); - assert.equal(resolveEndpoint, readEndpoint, "resolve endpoint should match read endpoint"); - }); - - it(`write request for resolve endpoint, retry count 0, should match write endpoint`, function() { - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Replace, - resourceType: ResourceType.item, - retryCount: 0 - }); - - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal(resolveEndpoint, writeEndpoint, "resolve endpoint should match write endpoint"); - }); - - // After this, there are side effects. All the "markUnavailable" ones will remove locations from the list. - // It's probably best to not add new "it"s below here to avoid unreliable tests. - if (scenario.connectionPolicy.PreferredLocations.length > 0) { - if (!scenario.connectionPolicy.UseMultipleWriteLocations) { - it("write endpoint should match default endpoint even after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForWrite(locationCache.getWriteEndpoint()); - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal( - writeEndpoint, - scenario.databaseAccount.writableLocations[0].databaseAccountEndpoint, - "write endpoint should match default endpoint prior to any database account info" - ); - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Replace, - resourceType: ResourceType.item, - retryCount: 1 - }); - - assert.equal(resolveEndpoint, writeEndpoint, "resolve endpoint should match write endpoint"); - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal(shouldRefresh, true, "should need to refresh"); - }); - } - } else { - if (!scenario.connectionPolicy.UseMultipleWriteLocations) { - it("write endpoint should match default endpoint even after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForWrite(locationCache.getWriteEndpoint()); - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal( - writeEndpoint, - endpoint, - "write endpoint should match default endpoint prior to any database account info" - ); - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Replace, - resourceType: ResourceType.item, - retryCount: 1 - }); - - assert.equal(resolveEndpoint, writeEndpoint, "resolve endpoint should match write endpoint"); - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal( - shouldRefresh, - scenario.connectionPolicy.PreferredLocations.length > 0, - "should need to refresh" - ); - }); - } - } - - if (scenario.connectionPolicy.PreferredLocations.length > 1) { - it("read endpoint should return next endpoint after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForRead(locationCache.getReadEndpoint()); - const readEndpoint = locationCache.getReadEndpoint(); - assert.equal( - readEndpoint, - getEndpointFromRegion(regions[1]), - "read endpoint should match default endpoint prior to any database account info even if unavailable" - ); - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Read, - resourceType: ResourceType.item, - retryCount: 1 - }); - assert.equal(resolveEndpoint, readEndpoint, "resolve endpoint should match read endpoint"); - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal(shouldRefresh, true, "should need to refresh"); - }); - - if (scenario.connectionPolicy.UseMultipleWriteLocations) { - it("write endpoint should return next endpoint after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForWrite(locationCache.getWriteEndpoint()); - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal( - writeEndpoint, - getEndpointFromRegion(regions[1]), - "write endpoint should match default endpoint prior to any database account info" - ); - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Replace, - resourceType: ResourceType.item, - retryCount: 1 - }); - - assert.equal(resolveEndpoint, writeEndpoint, "resolve endpoint should match write endpoint"); - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal( - shouldRefresh, - scenario.connectionPolicy.PreferredLocations.length > 0, - "should need to refresh" - ); - }); - } - } else { - it("read endpoint should match default endpoint even after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForRead(locationCache.getReadEndpoint()); - const readEndpoint = locationCache.getReadEndpoint(); - assert.equal( - readEndpoint, - endpoint, - "read endpoint should match default endpoint prior to any database account info even if unavailable" - ); - - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Read, - resourceType: ResourceType.item, - retryCount: 1 - }); - assert.equal(resolveEndpoint, readEndpoint, "resolve endpoint should match read endpoint"); - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal( - shouldRefresh, - scenario.connectionPolicy.PreferredLocations.length > 0, - "shouldn't need to refresh" - ); - }); - - if (scenario.connectionPolicy.UseMultipleWriteLocations) { - it("write endpoint should match default endpoint even after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForWrite(locationCache.getWriteEndpoint()); - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal( - writeEndpoint, - endpoint, - "write endpoint should match default endpoint prior to any database account info" - ); - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Replace, - resourceType: ResourceType.item, - retryCount: 1 - }); - - assert.equal(resolveEndpoint, writeEndpoint, "resolve endpoint should match write endpoint"); - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal(shouldRefresh, true, "should need to refresh"); - }); - } - } - }); - - describe(`when there is not a DatabaseAccount refresh and ${ - scenario.connectionPolicy.PreferredLocations.length - } preferred regions and multi-region write is ${scenario.connectionPolicy.UseMultipleWriteLocations}.`, function() { - const connectionPolicy: ConnectionPolicy = scenario.connectionPolicy; - const endpoint = scenario.defaultEndpoint; - const cosmosClientOptions: CosmosClientOptions = { auth: {}, endpoint, connectionPolicy }; - const locationCache = new LocationCache(cosmosClientOptions); - - if (!scenario.connectionPolicy.UseMultipleWriteLocations) { - it("shouldn't refresh", function() { - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal(shouldRefresh, false, "shouldn't need to refresh"); - }); - } else { - it("should refresh", function() { - const { shouldRefresh, canRefreshInBackground } = locationCache.shouldRefreshEndpoints(); - assert.equal(shouldRefresh, true, "should need to refresh"); - }); - } - - it("preferred locations should match the connection policy preferred locations", function() { - const preferredLocations = locationCache.prefferredLocations; - assert.equal( - preferredLocations.length, - scenario.connectionPolicy.PreferredLocations.length, - "preffered locations size should match" - ); - }); - - it("read endpoint should match default endpoint", function() { - const readEndpoint = locationCache.getReadEndpoint(); - assert.equal( - readEndpoint, - endpoint, - "read endpoint should match default endpoint prior to any database account info" - ); - }); - - it("write endpoint should match default endpoint", function() { - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal( - writeEndpoint, - endpoint, - "write endpoint should match default endpoint prior to any database account info" - ); - }); - - it(`read request for resolve endpoint, retry count 0, should match read endpoint`, function() { - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Read, - resourceType: ResourceType.item, - retryCount: 0 - }); - - const readEndpoint = locationCache.getReadEndpoint(); - assert.equal(resolveEndpoint, readEndpoint, "resolve endpoint should match read endpoint"); - }); - - it(`write request for resolve endpoint, retry count 0, should match write endpoint`, function() { - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Replace, - resourceType: ResourceType.item, - retryCount: 0 - }); - - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal(resolveEndpoint, writeEndpoint, "resolve endpoint should match write endpoint"); - }); - - // After this, there are side effects. All the "markUnavailable" ones will remove locations from the list. - // It's probably best to not add new "it"s below here to avoid unreliable tests. - it("read endpoint should match default endpoint even after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForRead(locationCache.getReadEndpoint()); - const readEndpoint = locationCache.getReadEndpoint(); - assert.equal( - readEndpoint, - endpoint, - "read endpoint should match default endpoint prior to any database account info even if unavailable" - ); - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Read, - resourceType: ResourceType.item, - retryCount: 1 - }); - assert.equal(resolveEndpoint, readEndpoint, "resolve endpoint should match read endpoint"); - }); - - it("write endpoint should match default endpoint even after being marked unavailable", function() { - locationCache.markCurrentLocationUnavailableForWrite(locationCache.getWriteEndpoint()); - const writeEndpoint = locationCache.getWriteEndpoint(); - assert.equal( - writeEndpoint, - endpoint, - "write endpoint should match default endpoint prior to any database account info" - ); - const resolveEndpoint = locationCache.resolveServiceEndpoint({ - operationType: Constants.OperationTypes.Replace, - resourceType: ResourceType.item, - retryCount: 1 - }); - - assert.equal(resolveEndpoint, writeEndpoint, "resolve endpoint should match write endpoint"); - }); - }); - } -}); diff --git a/sdk/cosmosdb/cosmos/src/test/unit/plaftorm.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/plaftorm.spec.ts deleted file mode 100644 index a0d959f42bde..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/plaftorm.spec.ts +++ /dev/null @@ -1,53 +0,0 @@ -import assert from "assert"; -import * as os from "os"; -import * as util from "util"; -import { Constants } from "../.."; -import { Platform } from "../../common"; - -// var assert = require("assert") -// , Contants = require("../lib/constants") -// , os = require("os") -// , Platform = require("../lib/platform") -// , util = require("util"); - -describe("Platform.getUserAgent", function() { - it("getUserAgent()", function() { - const userAgent = Platform.getUserAgent(); - const expectedUserAgent = util.format( - "%s/%s Nodejs/%s azure-cosmos-js/%s", - os.platform(), - os.release(), - process.version, - Constants.SDKVersion - ); - assert.strictEqual(userAgent, expectedUserAgent, "invalid UserAgent format"); - }); - - describe("Platform._getSafeUserAgentSegmentInfo()", function() { - it("Removing spaces", function() { - const safeString = Platform._getSafeUserAgentSegmentInfo("a b c"); - assert.strictEqual(safeString, "abc"); - }); - it("empty string handling", function() { - const safeString = Platform._getSafeUserAgentSegmentInfo(""); - assert.strictEqual(safeString, "unknown"); - }); - it("undefined", function() { - const safeString = Platform._getSafeUserAgentSegmentInfo(undefined); - assert.strictEqual(safeString, "unknown"); - }); - it("null", function() { - const safeString = Platform._getSafeUserAgentSegmentInfo(null); - assert.strictEqual(safeString, "unknown"); - }); - }); -}); - -describe("Version", function() { - it("should have matching constant version & package version", function() { - const packageJson = require("../../../package.json"); - const packageVersion = packageJson["version"]; - const constantVersion = Constants.SDKVersion; - assert.equal(constantVersion, packageVersion, "Package.json and Constants.SDKVersion don't match"); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/unit/range.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/range.spec.ts deleted file mode 100644 index 29938ed01b2c..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/range.spec.ts +++ /dev/null @@ -1,420 +0,0 @@ -import assert from "assert"; -import { Range } from "../../range"; - -describe("Range Tests", function() { - describe("constructor", function() { - const invalidOptionsTest = function(options: any, expectedError: any) { - assert.throws(function() { - const r = new Range(options); - }, expectedError); - }; - - const optionsIsNullTest = function(options: any) { - invalidOptionsTest(options, /Invalid argument: 'options' is null/); - }; - - const optionsIsNotAnObjectTest = function(options: any) { - invalidOptionsTest(options, /Invalid argument: 'options' is not an object/); - }; - - const invalidRangeTest = function(options: any) { - invalidOptionsTest(options, /Invalid argument: 'options.low' must be less than or equal than 'options.high'/); - }; - - it("options - undefined (ommited argument)", function() { - assert(new Range()); - }); - - it("options - undefined (literal argument)", function() { - assert(new Range(undefined)); - }); - - it("options - null ", function() { - const options: any = null; - optionsIsNullTest(options); - }); - - it("options - number", function() { - const options = 0; - optionsIsNotAnObjectTest(options); - }); - - it("invalid options - string", function() { - const options = ""; - optionsIsNotAnObjectTest(options); - }); - - it("invalid options - boolean", function() { - const options = false; - optionsIsNotAnObjectTest(options); - }); - - it("Range instances are frozen", function() { - const r = new Range(); - - try { - (r as any).compareFunction = 1; - assert.fail("Must throw"); - } catch (err) { - assert(err.message.includes("add property compareFunction, object is not extensible")); - } - }); - }); - - describe("_contains", function() { - it("undefined,undefined contains undefined is true", function() { - const r = new Range(); - assert(r._contains(undefined)); - }); - - it("undefined,undefined contains null is false", function() { - const r = new Range(); - assert(!r._contains(null)); - }); - - it("null,null contains undefined is true", function() { - const r = new Range({ low: null }); - assert(r._contains(null)); - }); - - it("null,null contains null is true", function() { - const r = new Range({ low: null }); - assert(r._contains(null)); - }); - - it("range contains self is true - default range", function() { - const r = new Range(); - assert(r._contains(r)); - }); - - it("range contains self is true - non-default range", function() { - const r = new Range({ low: "A" }); - assert(r._contains(r)); - }); - - it("A,D contains B,C is true", function() { - const r1 = new Range({ low: "A", high: "D" }); - const r2 = new Range({ low: "B", high: "C" }); - assert(r1._contains(r2)); - }); - - it("B,C contains A,D is false", function() { - const r1 = new Range({ low: "B", high: "C" }); - const r2 = new Range({ low: "A", high: "D" }); - assert(!r1._contains(r2)); - }); - - it("A,C contains B,D is false", function() { - const r1 = new Range({ low: "A", high: "C" }); - const r2 = new Range({ low: "B", high: "D" }); - assert(!r1._contains(r2)); - }); - - it("B,D contains A,C is false", function() { - const r1 = new Range({ low: "B", high: "D" }); - const r2 = new Range({ low: "A", high: "C" }); - assert(!r1._contains(r2)); - }); - - it("A,B contains B,C is false", function() { - const r1 = new Range({ low: "A", high: "B" }); - const r2 = new Range({ low: "B", high: "C" }); - assert(!r1._contains(r2)); - }); - - it("B,C contains A,B is false", function() { - const r1 = new Range({ low: "B", high: "C" }); - const r2 = new Range({ low: "A", high: "B" }); - assert(!r1._contains(r2)); - }); - - it("A,B contains C,D is false", function() { - const r1 = new Range({ low: "A", high: "B" }); - const r2 = new Range({ low: "C", high: "D" }); - assert(!r1._contains(r2)); - }); - - it("C,D contains A,B is false", function() { - const r1 = new Range({ low: "C", high: "D" }); - const r2 = new Range({ low: "A", high: "B" }); - assert(!r1._contains(r2)); - }); - - it("A,C contains B is true", function() { - const r1 = new Range({ low: "A", high: "C" }); - assert(r1._contains("B")); - }); - - it("B,C contains A is false", function() { - const r1 = new Range({ low: "B", high: "C" }); - assert(!r1._contains("A")); - }); - - it("A,B contains C is false", function() { - const r1 = new Range({ low: "A", high: "B" }); - assert(!r1._contains("C")); - }); - }); - - describe("_containsPoint", function() { - const range = new Range({ low: 1, high: 3 }); - - it("numbers, default comparison", function() { - assert(range._containsPoint(20)); - }); - - it("numbers, custom comparison", function() { - assert( - !range._containsPoint(20, function(a, b) { - return a > b ? 1 : -1; - }) - ); - }); - }); - - describe("_containsRange", function() { - const range = new Range({ low: 1, high: 3 }); - - it("numbers, default comparison", function() { - assert(range._containsRange(new Range({ low: 20, high: 29 }))); - }); - - it("numbers, custom comparison", function() { - assert( - !range._containsRange(new Range({ low: 20, high: 29 }), function(a, b) { - return a > b ? 1 : -1; - }) - ); - }); - }); - - describe("_intersect", function() { - const otherIsUndefinedOrNullTest = function(other: any) { - const r = new Range(); - assert.throws(function() { - r._intersect(other); - }, /Invalid Argument: 'other' is undefined or null/); - }; - - it("error - other is undefined", function() { - otherIsUndefinedOrNullTest(undefined); - }); - - it("error - other is null", function() { - otherIsUndefinedOrNullTest(null); - }); - - it("range intersect self is true - default range", function() { - const r = new Range(); - assert(r._intersect(r)); - }); - - it("R intersect R is true - non default range", function() { - const r = new Range({ low: 1, high: "2" }); - assert(r._intersect(r)); - }); - - it("A,D insersects B,C is true", function() { - const r1 = new Range({ low: "A", high: "D" }); - const r2 = new Range({ low: "B", high: "C" }); - assert(r1._intersect(r2)); - }); - - it("B,C insersects A,D is true", function() { - const r1 = new Range({ low: "B", high: "C" }); - const r2 = new Range({ low: "A", high: "D" }); - assert(r1._intersect(r2)); - }); - - it("A,C insersects B,D is true", function() { - const r1 = new Range({ low: "A", high: "C" }); - const r2 = new Range({ low: "B", high: "D" }); - assert(r1._intersect(r2)); - assert(r2._intersect(r1)); - }); - - it("B,D insersects A,C is true", function() { - const r1 = new Range({ low: "B", high: "D" }); - const r2 = new Range({ low: "A", high: "C" }); - assert(r1._intersect(r2)); - }); - - it("A,B insersects B,C is true", function() { - const r1 = new Range({ low: "A", high: "B" }); - const r2 = new Range({ low: "B", high: "C" }); - assert(r1._intersect(r2)); - assert(r2._intersect(r1)); - }); - - it("B,C insersects A,B is true", function() { - const r1 = new Range({ low: "B", high: "C" }); - const r2 = new Range({ low: "A", high: "B" }); - assert(r1._intersect(r2)); - }); - - it("A,B insersects C,D is false", function() { - const r1 = new Range({ low: "A", high: "B" }); - const r2 = new Range({ low: "C", high: "D" }); - assert(!r1._intersect(r2)); - }); - - it("C,D insersects A,B is false", function() { - const r1 = new Range({ low: "C", high: "D" }); - const r2 = new Range({ low: "A", high: "B" }); - assert(!r1._intersect(r2)); - }); - }); - - describe("_toString", function() { - const toStringTest = function(options: any, expectedString: any) { - const r = new Range(options); - assert.strictEqual(r._toString(), expectedString); - }; - - it("undefined values", function() { - toStringTest(undefined, "undefined,undefined"); - }); - it("null values", function() { - toStringTest({ low: null }, "null,null"); - }); - it("NaN values", function() { - toStringTest({ low: NaN }, "NaN,NaN"); - }); - it("number values", function() { - toStringTest({ low: 1 }, "1,1"); - }); - it("string values", function() { - toStringTest({ low: "a" }, "a,a"); - }); - it("boolean values", function() { - toStringTest({ low: false, high: true }, "false,true"); - }); - it("object values", function() { - toStringTest({ low: {} }, "[object Object],[object Object]"); - }); - }); - - describe("_compare", function() { - const r = new Range(); - - const compareAsNumbers = function(a: any, b: any) { - return a - b; - }; - - const constantCompareFunction = function(a: any, b: any) { - return 0; - }; - - it("(undefined, undefined) === 0", function() { - // assert(r._compare() === 0); - // assert(r._compare(undefined) === 0); - assert(r._compare(undefined, undefined) === 0); - }); - - it("(undefined, y) > 0", function() { - assert(r._compare(undefined, null) > 0); - assert(r._compare(undefined, -NaN) > 0); - assert(r._compare(undefined, 0) > 0); - assert(r._compare(undefined, NaN) > 0); - assert(r._compare(undefined, true as any) > 0); - assert(r._compare(undefined, false as any) > 0); - assert(r._compare(undefined, "a") > 0); - assert(r._compare(undefined, "undefined") > 0); - assert(r._compare(undefined, "z") > 0); - assert(r._compare(undefined, [] as any) > 0); - assert(r._compare(undefined, {} as any) > 0); - assert(r._compare(undefined, 2, constantCompareFunction) > 0); - assert(r._compare(undefined, 2, compareAsNumbers) > 0); - }); - - it("(x, undefined) < 0", function() { - assert(r._compare(null, undefined) < 0); - assert(r._compare(-NaN, undefined) < 0); - assert(r._compare(0, undefined) < 0); - assert(r._compare(NaN, undefined) < 0); - assert(r._compare(true as any, undefined) < 0); - assert(r._compare(false as any, undefined) < 0); - assert(r._compare("a", undefined) < 0); - assert(r._compare("undefined", undefined) < 0); - assert(r._compare("z", undefined) < 0); - assert(r._compare([] as any, undefined) < 0); - assert(r._compare({} as any, undefined) < 0); - assert(r._compare(1, undefined, constantCompareFunction) < 0); - assert(r._compare(1, undefined, compareAsNumbers) < 0); - }); - - it("values as strings (default)", function() { - assert(r._compare("A", "B") < 0); - assert(r._compare("", "") === 0); - assert(r._compare("B", "A") > 0); - assert(r._compare("10", "2") < 0); - assert(r._compare(10, "02") > 0); - assert(r._compare(10, 2) < 0); - assert(r._compare(null, "nulm") < 0); - assert(r._compare(null, "null") === 0); - assert(r._compare(null, "nulk") > 0); - assert(r._compare(true as any, "truf") < 0); - assert(r._compare(true as any, "true") === 0); - assert(r._compare(true as any, "trud") > 0); - assert(r._compare({} as any, "[object Object]") === 0); - }); - - it("values as numbers", function() { - assert(r._compare(undefined, 2, compareAsNumbers) > 0); - assert(r._compare(1, 2, compareAsNumbers) < 0); - assert(r._compare(0, 0, compareAsNumbers) === 0); - assert(r._compare(10, 2, compareAsNumbers) > 0); - }); - - it("always return 0", function() { - assert(r._compare(1, 2, constantCompareFunction) === 0); - assert(r._compare(2, 1, constantCompareFunction) === 0); - }); - }); - - describe("_isRange", function() { - it("_isRange(undefined) is false", function() { - assert(!Range._isRange(undefined)); - }); - - it("_isRange(null) is false", function() { - assert(!Range._isRange(null)); - }); - - it("_isRange(non-object) is false", function() { - const points: any[] = [ - undefined, - null, - 1, - "", - true, - NaN, - function() { - /* no op */ - }, - {}, - { - low: "" - } - ]; - - for (const point of points) { - assert(!Range._isRange(point)); - } - }); - - it("_isRange(point) is false", function() { - const ranges: any[] = [ - { - low: "", - high: 1 - } - // new Range(), // TODO: this was here, but _isRange just tests for if it's instanceof - ]; - - for (const range of ranges) { - assert(!Range._isRange(range)); - } - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/unit/rangePartitionResolver.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/rangePartitionResolver.spec.ts deleted file mode 100644 index 751ca1f7cc7f..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/rangePartitionResolver.spec.ts +++ /dev/null @@ -1,349 +0,0 @@ -import assert from "assert"; -import { Range, RangePartitionResolver } from "../../range"; -import { CompareFunction } from "../../range"; - -describe("RangePartitionResolver", function() { - describe("constructor", function() { - // TODO: should split these up into individual tests - it("missing partitionKeyExtractor throws", function() { - const expetcedError = /Error: partitionKeyExtractor cannot be null or undefined/; - - assert.throws(function() { - const r = new RangePartitionResolver(undefined, undefined); - }, expetcedError); - - assert.throws(function() { - const r = new RangePartitionResolver(undefined, undefined); - }, expetcedError); - - assert.throws(function() { - const r = new RangePartitionResolver(null, undefined); - }, expetcedError); - }); - - it("invalid partitionKeyExtractor throws", function() { - const expetcedError = /partitionKeyExtractor must be either a 'string' or a 'function'/; - - assert.throws(function() { - const r = new RangePartitionResolver(0 as any, undefined); - }, expetcedError); - - assert.throws(function() { - const r = new RangePartitionResolver(true as any, undefined); - }, expetcedError); - - assert.throws(function() { - const r = new RangePartitionResolver(NaN as any, undefined); - }, expetcedError); - - assert.throws(function() { - const r = new RangePartitionResolver([] as any, undefined); - }, expetcedError); - - assert.throws(function() { - const r = new RangePartitionResolver({} as any, undefined); - }, expetcedError); - }); - - it("missing partitionKeyMap throws", function() { - const expectedError = /Error: partitionKeyMap cannot be null or undefined/; - - assert.throws(function() { - const r = new RangePartitionResolver("", undefined); - }, expectedError); - - assert.throws(function() { - const r = new RangePartitionResolver( - function() { - /* no op */ - } as any, - undefined - ); - }, expectedError); - - assert.throws(function() { - const r = new RangePartitionResolver("", null); - }, expectedError); - }); - - it("invalid partitionKeyMap throws", function() { - const expectedError = /Error: partitionKeyMap has to be an Array/; - - assert.throws(function() { - const r = new RangePartitionResolver("", 0 as any); - }, expectedError); - - assert.throws(function() { - const r = new RangePartitionResolver("", "" as any); - }, expectedError); - - assert.throws(function() { - const r = new RangePartitionResolver("", true as any); - }, expectedError); - - assert.throws(function() { - const r = new RangePartitionResolver("", NaN as any); - }, expectedError); - - assert.throws(function() { - const r = new RangePartitionResolver("", {} as any); - }, expectedError); - - const rpr = new RangePartitionResolver("", new Array()); - }); - - it("valid RangePartitionResolver", function(done) { - const resolver = new RangePartitionResolver("", []); - assert(resolver); - assert.strictEqual(resolver.partitionKeyExtractor, ""); - assert.deepEqual(resolver.partitionKeyMap, []); - done(); - }); - }); - - describe("getFirstContainingMapEntryOrNull", function() { - it("getFirstContainingMapEntryOrNull - empty map returns null", function(done) { - const ranges = [undefined, null, 0, "", true, [], {}, NaN, new Range()]; - const resolver = new RangePartitionResolver("", []); - ranges.forEach(function(r) { - const result = resolver.getFirstContainingMapEntryOrNull(r); - assert.equal(result, null); - }); - done(); - }); - - it("_tryGetContainingRange - map with no containing entry returns null", function(done) { - const mapEntry = { range: new Range({ low: "A" }), link: "link1" }; - const resolver = new RangePartitionResolver("key", [mapEntry]); - const result = resolver.getFirstContainingMapEntryOrNull(new Range({ low: "B" })); - assert.equal(result, null); - done(); - }); - - it("_tryGetContainingRange - map with single containing entry returns entry", function(done) { - const mapEntry = { range: new Range(), link: "link1" }; - const resolver = new RangePartitionResolver("key", [mapEntry]); - const result = resolver.getFirstContainingMapEntryOrNull(new Range()); - assert.deepEqual(result, { range: new Range(), link: "link1" }); - done(); - }); - - it("_tryGetContainingRange - map with more multiple containing entries returns first entry", function(done) { - const map1 = [ - { range: new Range({ low: "A", high: "B" }), link: "link1" }, - { range: new Range({ low: "A" }), link: "link2" } - ]; - - const resolver1 = new RangePartitionResolver("key", map1); - const result1 = resolver1.getFirstContainingMapEntryOrNull(new Range({ low: "A" })); - assert.strictEqual(result1.link, "link1"); - - const map2 = [ - { range: new Range({ low: "A" }), link: "link2" }, - { range: new Range({ low: "A", high: "Z" }), link: "link1" } - ]; - - const resolver2 = new RangePartitionResolver("key", map2); - const result2 = resolver2.getFirstContainingMapEntryOrNull(new Range({ low: "A" })); - assert.strictEqual(result2.link, "link2"); - done(); - }); - }); - - describe("resolveForCreate", function() { - it("_tryGetContainingRange - map containing parition key returns corresponding link", function(done) { - const resolver = new RangePartitionResolver("key", [ - { range: new Range({ low: "A", high: "M" }), link: "link1" }, - { range: new Range({ low: "N", high: "Z" }), link: "link2" } - ]); - const result = resolver.resolveForCreate("X"); - assert.strictEqual(result, "link2"); - done(); - }); - - it("_tryGetContainingRange - map not containing parition key throws", function(done) { - const resolver = new RangePartitionResolver("key", [ - { range: new Range({ low: "A", high: "M" }), link: "link1" } - ]); - - assert.throws(function() { - const result = resolver.resolveForCreate("X"); - }, /Error: Invalid operation: A containing range for 'X,X' doesn't exist in the partition map./); - done(); - }); - }); - - const resolveForReadTest = function(resolver: any, partitionKey: any, expectedLinks: any) { - const result = resolver.resolveForRead(partitionKey); - assert.deepEqual(expectedLinks, result); - }; - - describe("resolveForRead", function() { - const resolver = new RangePartitionResolver( - function(doc: any) { - // TODO: any - return doc.key; - }, - [ - { - range: new Range({ low: "A", high: "M" }), - link: "link1" - }, - { - range: new Range({ low: "N", high: "Z" }), - link: "link2" - } - ] - ); - - it("undefined", function(done) { - const partitionKey: any = undefined; - const expectedLinks = ["link1", "link2"]; - resolveForReadTest(resolver, partitionKey, expectedLinks); - done(); - }); - - it("null", function(done) { - const partitionKey: any = null; - const expectedLinks = ["link1", "link2"]; - resolveForReadTest(resolver, partitionKey, expectedLinks); - done(); - }); - }); - - describe("resolveForRead string", function() { - const resolver = new RangePartitionResolver( - function(doc: any) { - // TODO: any - return doc.key; - }, - [ - { - range: new Range({ low: "A", high: "M" }), - link: "link1" - }, - { - range: new Range({ low: "N", high: "Z" }), - link: "link2" - } - ] - ); - - it("point", function(done) { - const partitionKey = new Range({ low: "D" }); - const expectedLinks = ["link1"]; - resolveForReadTest(resolver, partitionKey, expectedLinks); - - const partitionKey2 = new Range({ low: "Q" }); - const expectedLinks2 = ["link2"]; - resolveForReadTest(resolver, partitionKey2, expectedLinks2); - done(); - }); - - it("range", function(done) { - const partitionKey = new Range({ low: "D", high: "Q" }); - const expectedLinks = ["link1", "link2"]; - resolveForReadTest(resolver, partitionKey, expectedLinks); - done(); - }); - - it("array of ranges", function(done) { - const partitionKey = [new Range({ low: "A", high: "B" }), new Range({ low: "Q" })]; - const expectedLinks = ["link1", "link2"]; - resolveForReadTest(resolver, partitionKey, expectedLinks); - done(); - }); - }); - - describe("resolveForRead number", function() { - const partitionKeyExtractor = function(doc: any) { - return doc.key; - }; - - const partitionKeyMap = [ - { - range: new Range({ low: 1, high: 15 }), - link: "link1" - }, - { - range: new Range({ low: 16, high: 30 }), - link: "link2" - } - ]; - - it("point, default compareFunction", function(done) { - const resolver = new RangePartitionResolver(partitionKeyExtractor, partitionKeyMap); - - const partitionKey = new Range({ low: 2 }); - const expectedLinks = ["link2"]; - - resolveForReadTest(resolver, partitionKey, expectedLinks); - done(); - }); - - it("point, custom compareFunction", function(done) { - const resolver = new RangePartitionResolver(partitionKeyExtractor, partitionKeyMap, function( - a: number, - b: number - ) { - return a - b; - }); - - const partitionKey = new Range({ low: 2 }); - const expectedLinks = ["link1"]; - - resolveForReadTest(resolver, partitionKey, expectedLinks); - done(); - }); - }); - - describe("compareFunction", function() { - const invalidCompareFunctionTest = function(compareFunction: any) { - assert.throws(function() { - const resolver = new RangePartitionResolver( - "key", - [{ range: new Range({ low: "A" }), link: "link1" }], - compareFunction - ); - }, /Invalid argument: 'compareFunction' is not a function/); - }; - - it("invalid compareFunction - null", function() { - const compareFunction: CompareFunction = null; - invalidCompareFunctionTest(compareFunction); - }); - - it("invalid compareFunction - string", function() { - const compareFunction = ""; - invalidCompareFunctionTest(compareFunction); - }); - - it("invalid compareFunction - number", function() { - const compareFunction = 0; - invalidCompareFunctionTest(compareFunction); - }); - - it("invalid compareFunction - boolean", function() { - const compareFunction = false; - invalidCompareFunctionTest(compareFunction); - }); - - it("invalid compareFunction - object", function() { - const compareFunction = {}; - invalidCompareFunctionTest(compareFunction); - }); - - it("compareFunction throws", function() { - const resolver = new RangePartitionResolver("key", [{ range: new Range({ low: "A" }), link: "link1" }], function( - a, - b - ) { - throw new Error("Compare error"); - }); - - assert.throws(function() { - const result = (resolver as any).resolveForRead("A", ["link1"]); // TODO: any - }, /Error: Compare error/); - }); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/unit/sessionContainer.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/sessionContainer.spec.ts deleted file mode 100644 index 08f586334f78..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/sessionContainer.spec.ts +++ /dev/null @@ -1,91 +0,0 @@ -import assert from "assert"; -import { Constants } from "../../common"; -import { IHeaders } from "../../queryExecutionContext/IHeaders"; -import { SessionContainer } from "../../session/sessionContainer"; -import { SessionContext } from "../../session/SessionContext"; - -describe("SessionContainer", function() { - const collectionLink = "dbs/testDatabase/colls/testCollection"; - const collectionId = "oWxIAN48yN0="; - - it("set/get/delete", function() { - const sc = new SessionContainer(); - - const tokenString = "1:1#100#1=20#2=5#3=30"; - - const nameBasedRequest: SessionContext = { - isNameBased: true, - resourceId: null, - resourceAddress: "/" + collectionLink + "/", - resourceType: "docs", - operationType: "create" - }; - - const resHeadersNameBased: IHeaders = {}; - resHeadersNameBased[Constants.HttpHeaders.OwnerFullName] = collectionLink; - resHeadersNameBased[Constants.HttpHeaders.OwnerId] = collectionId; - resHeadersNameBased[Constants.HttpHeaders.SessionToken] = tokenString; - - // Add a token and get new token, should be equal - sc.set(nameBasedRequest, resHeadersNameBased); - const originalTokenString = sc.get(nameBasedRequest); - assert.equal( - tokenString, - originalTokenString, - "Session token string must be equal to original header on initial set" - ); - - // Add an older token, should still equal original token - const tokenStringWithOlderVersion = "1:1#99#1=19#2=4#3=29"; - resHeadersNameBased[Constants.HttpHeaders.SessionToken] = tokenStringWithOlderVersion; - sc.set(nameBasedRequest, resHeadersNameBased); - const sameTokenString = sc.get(nameBasedRequest); - assert.equal( - tokenString, - sameTokenString, - "Session token string must be equal to the original higher version header" - ); - - // Add a newer version token, should equal new token - const tokenStringWithNewerVersion = "1:1#100#1=30#2=10#3=40"; - resHeadersNameBased[Constants.HttpHeaders.SessionToken] = tokenStringWithNewerVersion; - sc.set(nameBasedRequest, resHeadersNameBased); - const updatedTokenString = sc.get(nameBasedRequest); - assert.equal( - tokenStringWithNewerVersion, - updatedTokenString, - "Session token string must be equal to the new higher version header" - ); - - // Add a new partition's token, should container new and old token - const tokenFromAnotherPartition = "2:1#100#1=10"; - resHeadersNameBased[Constants.HttpHeaders.SessionToken] = tokenFromAnotherPartition; - sc.set(nameBasedRequest, resHeadersNameBased); - const multiplePartitions = sc.get(nameBasedRequest); - assert( - multiplePartitions.includes(tokenStringWithNewerVersion), - "Token string must contain token from updated request" - ); - assert(multiplePartitions.includes(tokenFromAnotherPartition), "Token string must contain from new partition"); - - // Add a token with has multiple partitions in it, 1 old, and 1 new. Should only keep the new one, but still contain tokens for both - const p2TokenWithNewerVersion = "2:2#100#1=10#2=50"; - const tokenWithMultiplePartitions = `${tokenStringWithOlderVersion},${p2TokenWithNewerVersion}`; - resHeadersNameBased[Constants.HttpHeaders.SessionToken] = tokenWithMultiplePartitions; - sc.set(nameBasedRequest, resHeadersNameBased); - const multiplePartitions2 = sc.get(nameBasedRequest); - assert( - multiplePartitions2.includes(tokenStringWithNewerVersion), - "Token string must contain token from previous request for first partition" - ); - assert( - multiplePartitions2.includes(p2TokenWithNewerVersion), - "Token string must contain from updated token for second partition" - ); - - // Remove tokens and get new token, should be empty - sc.remove(nameBasedRequest); - const emptyTokenString = sc.get(nameBasedRequest); - assert.equal("", emptyTokenString, "Session token string must be empty after removal"); - }); -}); diff --git a/sdk/cosmosdb/cosmos/src/test/unit/smartRoutingMapProvider.spec.ts b/sdk/cosmosdb/cosmos/src/test/unit/smartRoutingMapProvider.spec.ts deleted file mode 100644 index 6cd0b2ab1ecd..000000000000 --- a/sdk/cosmosdb/cosmos/src/test/unit/smartRoutingMapProvider.spec.ts +++ /dev/null @@ -1,335 +0,0 @@ -import assert from "assert"; -import { ClientContext } from "../../ClientContext"; -import { PartitionKeyRangeCache, QueryRange, SmartRoutingMapProvider } from "../../routing"; -import { MockedClientContext } from "../common/MockClientContext"; - -describe("Smart Routing Map Provider OverlappingRanges", function() { - const containerLink = "dbs/7JZZAA==/colls/7JZZAOS-JQA=/"; - const containerId = "my container"; - - const partitionKeyRanges = [ - { id: "0", minInclusive: "", maxExclusive: "05C1C9CD673398" }, - { - id: "1", - minInclusive: "05C1C9CD673398", - maxExclusive: "05C1D9CD673398" - }, - { - id: "2", - minInclusive: "05C1D9CD673398", - maxExclusive: "05C1E399CD6732" - }, - { - id: "3", - minInclusive: "05C1E399CD6732", - maxExclusive: "05C1E9CD673398" - }, - { id: "4", minInclusive: "05C1E9CD673398", maxExclusive: "FF" } - ]; - - const mockedClientContext: ClientContext = new MockedClientContext(partitionKeyRanges, containerId) as any; - const smartRoutingMapProvider = new SmartRoutingMapProvider(mockedClientContext); - const partitionKeyRangeCache = new PartitionKeyRangeCache(mockedClientContext); - - describe("Test Full Range", function() { - it('query ranges: ["", ""FF)', function() { - // query range is the whole partition key range - const pkRange = new QueryRange("", "FF", true, false); - return validateOverlappingRanges([pkRange], partitionKeyRanges); - }); - - it('query ranges: ("", ""FF)', function() { - // query range is the whole partition key range - const pkRange = new QueryRange("", "FF", false, false); - return validateOverlappingRanges([pkRange], partitionKeyRanges); - }); - }); - - describe("Test Empty Range", function() { - it("empty query range list", async function() { - // query range list is empty - try { - await validateOverlappingRanges([], []); - } catch (err) { - throw err; - } - }); - - it('query ranges: ("", ""]', async function() { - // validate the overlaping partition key ranges results for empty ranges is empty - try { - await validateOverlappingRanges([new QueryRange("", "", false, true)], []); - } catch (err) { - throw err; - } - }); - - it('query ranges: ("", "")', async function() { - // validate the overlaping partition key ranges results for empty ranges is empty - try { - await validateOverlappingRanges([new QueryRange("", "", false, false)], []); - } catch (err) { - throw err; - } - }); - - it('query ranges: ["", "")', async function() { - // validate the overlaping partition key ranges results for empty ranges is empty - try { - await validateOverlappingRanges([new QueryRange("", "", true, false)], []); - } catch (err) { - throw err; - } - }); - }); - - describe("Error Handling: Bad Overlapping Query Range", function() { - it("overlapping query ranges (in a point)", async function() { - const r1 = new QueryRange("", "AA", true, true); - const r2 = new QueryRange("AA", "FF", true, false); - try { - await validateSmartOverlappingRanges([r1, r2], undefined, true); - } catch (err) { - throw err; - } - }); - - it("overlapping query ranges (in a range)", async function() { - const r1 = new QueryRange("", "AB", true, false); - const r2 = new QueryRange("AA", "FA", true, false); - try { - await validateSmartOverlappingRanges([r1, r2], undefined, true); - } catch (err) { - throw err; - } - }); - - it("not sorted query ranges", async function() { - const r1 = new QueryRange("AB", "AC", true, false); - const r2 = new QueryRange("AA", "AB", true, false); - try { - await validateSmartOverlappingRanges([r1, r2], undefined, true); - } catch (err) { - throw err; - } - }); - }); - - it("Empty Ranges are thrown away", async function() { - const e1 = new QueryRange("", "", true, false); - const r1 = new QueryRange("", "AB", true, false); - const e2 = new QueryRange("AB", "AB", true, false); - const r2 = new QueryRange("AB", "AC", true, false); - const e3 = new QueryRange("AC", "AC", true, false); - const e4 = new QueryRange("AD", "AD", true, false); - try { - await assertOverlappingRangesAreEqual([e1, r1, e2, r2, e3, e4], [r1, r2]); - } catch (err) { - throw err; - } - }); - - it("Single Query Range", async function() { - try { - const r = new QueryRange("AB", "AC", true, false); - await assertBothProvidersResultsEqual([r]); - } catch (err) { - throw err; - } - }); - - it("Multiple Query Ranges", async function() { - try { - const ranges = [ - new QueryRange("0000000040", "0000000045", true, false), - new QueryRange("0000000045", "0000000046", true, false), - new QueryRange("0000000046", "0000000050", true, false) - ]; - await assertBothProvidersResultsEqual(ranges); - } catch (err) { - throw err; - } - }); - - it("Single Boundary Case Query Range", async function() { - const ranges = [new QueryRange("05C1C9CD673398", "05C1D9CD673398", true, false)]; - try { - await validateOverlappingRanges(ranges, partitionKeyRanges.slice(1, 2)); - } catch (err) { - throw err; - } - }); - - it("Two Adjacent Boundary Case Query Ranges", async function() { - const ranges = [ - // partitionKeyRanges[1] - new QueryRange("05C1C9CD673398", "05C1D9CD673398", true, false), - // partitionKeyRanges[2] - new QueryRange("05C1D9CD673398", "05C1D9CD673399", true, false) - ]; - try { - await validateOverlappingRanges(ranges, partitionKeyRanges.slice(1, 3)); - } catch (err) { - throw err; - } - }); - - it("Two Ranges in one partition key range", async function() { - const ranges = [ - // two ranges fall in the same partition key range - new QueryRange("05C1C9CD673400", "05C1C9CD673401", true, false), - new QueryRange("05C1C9CD673402", "05C1C9CD673403", true, false) - ]; - try { - await validateOverlappingRanges(ranges, partitionKeyRanges.slice(1, 2)); - } catch (err) { - throw err; - } - }); - - it("Complex", async function() { - const ranges = [ - // all are covered by partitionKeyRanges[1] - new QueryRange("05C1C9CD673398", "05C1D9CD673391", true, false), - new QueryRange("05C1D9CD673391", "05C1D9CD673392", true, false), - new QueryRange("05C1D9CD673393", "05C1D9CD673395", true, false), - new QueryRange("05C1D9CD673395", "05C1D9CD673395", true, false), - // all are covered by partitionKeyRanges[4]] - new QueryRange("05C1E9CD673398", "05C1E9CD673401", true, false), - new QueryRange("05C1E9CD673402", "05C1E9CD673403", true, false), - // empty range - new QueryRange("FF", "FF", true, false) - ]; - try { - await validateOverlappingRanges(ranges, [partitionKeyRanges[1], partitionKeyRanges[4]]); - } catch (err) { - throw err; - } - }); - - // Validates the results - // smartRoutingMapProvider.getOverlappingRanges() - // partitionKeyRangeCache.getOverlappingRanges() is equal - const assertBothProvidersResultsEqual = async (queryRanges: any) => { - let results1: any; - let results2: any; - let err1: any; - let err2: any; - results1 = results2 = null; - err1 = err2 = null; - try { - results1 = await smartRoutingMapProvider.getOverlappingRanges(containerLink, queryRanges); - } catch (err) { - err1 = err; - } - try { - results2 = await partitionKeyRangeCache.getOverlappingRanges(containerLink, queryRanges); - } catch (err) { - err2 = err; - } - assert.equal(err1, err2); - assert.deepEqual(results1, results2); - }; - - // Validates the results - // smartRoutingMapProvider.getOverlappingRanges() - // partitionKeyRangeCache.getOverlappingRanges() is as expected - const validateOverlappingRanges = async function(queryRanges: any, expectedResults: any, errorExpected?: any) { - try { - errorExpected = errorExpected || false; - await validateSmartOverlappingRanges(queryRanges, expectedResults, errorExpected); - await validatePartitionKeyRangeCacheOverlappingRanges(queryRanges, expectedResults, errorExpected); - } catch (err) { - throw err; - } - }; - - // Validates the results of both - // smartRoutingMapProvider.getOverlappingRanges() - // partitionKeyRangeCache.getOverlappingRanges() is the same for both queryRanges1, queryRanges2 - const assertOverlappingRangesAreEqual = async function(queryRanges1: any, queryRanges2: any) { - try { - await assertProviderOverlappingRangesAreEqual(smartRoutingMapProvider, queryRanges1, queryRanges2); - await assertProviderOverlappingRangesAreEqual(partitionKeyRangeCache as any, queryRanges1, queryRanges2); - await assertBothProvidersResultsEqual(queryRanges1); - } catch (err) { - throw err; - } - }; - - // Validates the results - // provider.getOverlappingRanges() is the same on both queryRanges1, queryRanges2 - const assertProviderOverlappingRangesAreEqual = async function( - provider: SmartRoutingMapProvider, - queryRanges1: any, - queryRanges2: any - ) { - let results1: any; - let results2: any; - let err1: any; - let err2: any; - try { - results1 = await provider.getOverlappingRanges(containerLink, queryRanges1); - } catch (err) { - err1 = err; - } - try { - results2 = await provider.getOverlappingRanges(containerLink, queryRanges2); - } catch (err) { - err2 = err; - } - assert.equal(err1, err2); - assert.deepEqual(results1, results2); - }; - - // Validates the results - // provider.getOverlappingRanges() is as expected - const validateProviderOverlappingRanges = async function( - provider: SmartRoutingMapProvider, - queryRanges: any, - expectedResults: any, - errorExpected?: any - ) { - errorExpected = errorExpected || false; - try { - const results = await provider.getOverlappingRanges(containerLink, queryRanges); - assert.deepEqual(results, expectedResults); - } catch (err) { - if (errorExpected) { - assert.notEqual(err, undefined); - return; - } else { - throw err; - } - } - }; - - // validates that the results of - // smartRoutingMapProvider.getOverlappingRanges() is as expected - const validateSmartOverlappingRanges = async function(queryRanges: any, expectedResults: any, errorExpected: any) { - try { - await validateProviderOverlappingRanges(smartRoutingMapProvider, queryRanges, expectedResults, errorExpected); - } catch (err) { - throw err; - } - }; - - // validates that the results of - // partitionKeyRangeCache.getOverlappingRanges() is as expected - const validatePartitionKeyRangeCacheOverlappingRanges = async function( - queryRanges: any, - expectedResults: any, - errorExpected: any - ) { - try { - await validateProviderOverlappingRanges( - partitionKeyRangeCache as any, - queryRanges, - expectedResults, - errorExpected - ); - } catch (err) { - throw err; - } - }; -}); diff --git a/sdk/cosmosdb/cosmos/src/typings/create-hmac.d.ts b/sdk/cosmosdb/cosmos/src/typings/create-hmac.d.ts deleted file mode 100644 index b60841a8867e..000000000000 --- a/sdk/cosmosdb/cosmos/src/typings/create-hmac.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/// - -declare module "create-hmac" { - import { createHmac } from "crypto"; - - export = createHmac; -} diff --git a/sdk/cosmosdb/cosmos/src/typings/polyfill.d.ts b/sdk/cosmosdb/cosmos/src/typings/polyfill.d.ts deleted file mode 100644 index 4018e67aee4d..000000000000 --- a/sdk/cosmosdb/cosmos/src/typings/polyfill.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare module "binary-search-bounds" { - // tslint:disable-next-line:variable-name - const _bs: any; - export = _bs; -} diff --git a/sdk/cosmosdb/cosmos/tests.yml b/sdk/cosmosdb/cosmos/tests.yml deleted file mode 100644 index 1f37f8947f47..000000000000 --- a/sdk/cosmosdb/cosmos/tests.yml +++ /dev/null @@ -1,17 +0,0 @@ -trigger: none - -jobs: - - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-integration.yml - parameters: - PackagePath: "sdk/cosmosdb/cosmos/" - Toolchain: npm - Matrix: - Windows_Node6: - OSVmImage: "vs2017-win2016" - NodeVersion: "6.x" - TestType: "node" - PreIntegrationSteps: cosmos-integration-nightly - EnvVars: - ACCOUNT_HOST: $(CosmosDbEmulator.Endpoint) - MOCHA_TIMEOUT: 100000 - NODE_TLS_REJECT_UNAUTHORIZED: 0 diff --git a/sdk/cosmosdb/cosmos/ts-test.js b/sdk/cosmosdb/cosmos/ts-test.js deleted file mode 100644 index b1c3976c3d60..000000000000 --- a/sdk/cosmosdb/cosmos/ts-test.js +++ /dev/null @@ -1,33 +0,0 @@ -const execa = require("execa"); - -let versions = ["3.0", "3.1"]; - -if (!process.env.SKIP_LATEST) { - versions.push("latest"); -} - -async function exec(cmd) { - const command = execa.shell(cmd, { cwd: "./ts-test" }); - command.stderr.pipe(process.stderr); - command.stdout.pipe(process.stdout); - return command; -} - -(async () => { - try { - console.log("Running typescript consumer test againast", versions); - await exec("npm init -y"); - console.log("Setting up typescript consumer project"); - await exec("npm install --save ./.."); - console.log("Installing @azure/cosmos as a file dependency"); - for (const version of versions) { - console.log(`Compling with typescript@${version}`); - await exec(`npx -p typescript@${version} tsc ./test.ts --allowSyntheticDefaultImports true`); - } - process.exit(0); - } catch (error) { - console.log("Typescript consumer test failed!"); - console.log(error); - process.exit(1); - } -})(); diff --git a/sdk/cosmosdb/cosmos/ts-test/test.ts b/sdk/cosmosdb/cosmos/ts-test/test.ts deleted file mode 100644 index b63fc13122da..000000000000 --- a/sdk/cosmosdb/cosmos/ts-test/test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import * as Cosmos from "@azure/cosmos"; - -console.log(Object.keys(Cosmos)); diff --git a/sdk/cosmosdb/cosmos/tsconfig.json b/sdk/cosmosdb/cosmos/tsconfig.json deleted file mode 100644 index 36522c6ebae4..000000000000 --- a/sdk/cosmosdb/cosmos/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "declaration": true, - "module": "commonjs", - "moduleResolution": "node", - "importHelpers": true, - "noImplicitAny": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "outDir": "./lib", - "preserveConstEnums": true, - "removeComments": false, - "target": "es6", - "sourceMap": true, - "newLine": "LF", - "resolveJsonModule": true - }, - "include": ["./src/**/*", "./test/**/*.spec.ts", "./samples/MultiRegionWrite/**.ts"], - "exclude": ["node_modules", "samples"] -} diff --git a/sdk/cosmosdb/cosmos/tsconfig.prod.json b/sdk/cosmosdb/cosmos/tsconfig.prod.json deleted file mode 100644 index 3a3efd6ae6ba..000000000000 --- a/sdk/cosmosdb/cosmos/tsconfig.prod.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "./tsconfig", - "compilerOptions": { - "module": "es6" - } -} diff --git a/sdk/cosmosdb/cosmos/webpack.config.js b/sdk/cosmosdb/cosmos/webpack.config.js deleted file mode 100644 index d43093b43b5a..000000000000 --- a/sdk/cosmosdb/cosmos/webpack.config.js +++ /dev/null @@ -1,17 +0,0 @@ -var path = require("path"); -var webpack = require("webpack"); - -module.exports = (env, argv) => ({ - entry: "./lib/src/index.js", - node: { - buffer: true, - net: "mock", - tls: "mock" - }, - output: { - filename: "azurecosmos.js", - path: path.resolve(__dirname, "lib", "dist"), - library: "CosmosClient" - }, - devtool: argv.mode === "production" ? "source-map" : "inline-source-map" -}); diff --git a/sdk/datamigration/arm-datamigration/LICENSE.txt b/sdk/datamigration/arm-datamigration/LICENSE.txt new file mode 100644 index 000000000000..b73b4a1293c3 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019 Microsoft + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/sdk/datamigration/arm-datamigration/README.md b/sdk/datamigration/arm-datamigration/README.md new file mode 100644 index 000000000000..e21bb2044b65 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/README.md @@ -0,0 +1,99 @@ +## Azure DataMigrationServiceClient SDK for JavaScript + +This package contains an isomorphic SDK for DataMigrationServiceClient. + +### Currently supported environments + +- Node.js version 6.x.x or higher +- Browser JavaScript + +### How to Install + +```bash +npm install @azure/arm-datamigration +``` + +### How to use + +#### nodejs - Authentication, client creation and listSkus resourceSkus as an example written in TypeScript. + +##### Install @azure/ms-rest-nodeauth + +- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`. +```bash +npm install @azure/ms-rest-nodeauth@"^3.0.0" +``` + +##### Sample code + +```typescript +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; +import { DataMigrationServiceClient, DataMigrationServiceModels, DataMigrationServiceMappers } from "@azure/arm-datamigration"; +const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; + +msRestNodeAuth.interactiveLogin().then((creds) => { + const client = new DataMigrationServiceClient(creds, subscriptionId); + client.resourceSkus.listSkus().then((result) => { + console.log("The result is:"); + console.log(result); + }); +}).catch((err) => { + console.error(err); +}); +``` + +#### browser - Authentication, client creation and listSkus resourceSkus as an example written in JavaScript. + +##### Install @azure/ms-rest-browserauth + +```bash +npm install @azure/ms-rest-browserauth +``` + +##### Sample code + +See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to Azure in the browser. + +- index.html +```html + + + + @azure/arm-datamigration sample + + + + + + + + +``` + +## Related projects + +- [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/datamigration/arm-datamigration/README.png) diff --git a/sdk/datamigration/arm-datamigration/package.json b/sdk/datamigration/arm-datamigration/package.json new file mode 100644 index 000000000000..85c70792bac6 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/package.json @@ -0,0 +1,58 @@ +{ + "name": "@azure/arm-datamigration", + "author": "Microsoft Corporation", + "description": "DataMigrationServiceClient Library with typescript type definitions for node.js and browser.", + "version": "1.0.1", + "dependencies": { + "@azure/ms-rest-azure-js": "^2.0.1", + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" + }, + "keywords": [ + "node", + "azure", + "typescript", + "browser", + "isomorphic" + ], + "license": "MIT", + "main": "./dist/arm-datamigration.js", + "module": "./esm/dataMigrationServiceClient.js", + "types": "./esm/dataMigrationServiceClient.d.ts", + "devDependencies": { + "typescript": "^3.5.3", + "rollup": "^1.18.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "uglify-js": "^3.6.0" + }, + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/datamigration/arm-datamigration", + "repository": { + "type": "git", + "url": "https://github.com/Azure/azure-sdk-for-js.git" + }, + "bugs": { + "url": "https://github.com/Azure/azure-sdk-for-js/issues" + }, + "files": [ + "dist/**/*.js", + "dist/**/*.js.map", + "dist/**/*.d.ts", + "dist/**/*.d.ts.map", + "esm/**/*.js", + "esm/**/*.js.map", + "esm/**/*.d.ts", + "esm/**/*.d.ts.map", + "src/**/*.ts", + "README.md", + "rollup.config.js", + "tsconfig.json" + ], + "scripts": { + "build": "tsc && rollup -c rollup.config.js && npm run minify", + "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/arm-datamigration.js.map'\" -o ./dist/arm-datamigration.min.js ./dist/arm-datamigration.js", + "prepack": "npm install && npm run build" + }, + "sideEffects": false, + "autoPublish": true +} diff --git a/sdk/datamigration/arm-datamigration/rollup.config.js b/sdk/datamigration/arm-datamigration/rollup.config.js new file mode 100644 index 000000000000..2141aaf9bde7 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/rollup.config.js @@ -0,0 +1,37 @@ +import rollup from "rollup"; +import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + +/** + * @type {rollup.RollupFileOptions} + */ +const config = { + input: "./esm/dataMigrationServiceClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], + output: { + file: "./dist/arm-datamigration.js", + format: "umd", + name: "Azure.ArmDatamigration", + sourcemap: true, + globals: { + "@azure/ms-rest-js": "msRest", + "@azure/ms-rest-azure-js": "msRestAzure" + }, + banner: `/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */` + }, + plugins: [ + nodeResolve({ mainFields: ['module', 'main'] }), + sourcemaps() + ] +}; + +export default config; diff --git a/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClient.ts b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClient.ts new file mode 100644 index 000000000000..62d5230fee13 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClient.ts @@ -0,0 +1,56 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "./models"; +import * as Mappers from "./models/mappers"; +import * as operations from "./operations"; +import { DataMigrationServiceClientContext } from "./dataMigrationServiceClientContext"; + + +class DataMigrationServiceClient extends DataMigrationServiceClientContext { + // Operation groups + resourceSkus: operations.ResourceSkus; + services: operations.Services; + tasks: operations.Tasks; + serviceTasks: operations.ServiceTasks; + projects: operations.Projects; + usages: operations.Usages; + operations: operations.Operations; + files: operations.Files; + + /** + * Initializes a new instance of the DataMigrationServiceClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId Identifier of the subscription + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.DataMigrationServiceClientOptions) { + super(credentials, subscriptionId, options); + this.resourceSkus = new operations.ResourceSkus(this); + this.services = new operations.Services(this); + this.tasks = new operations.Tasks(this); + this.serviceTasks = new operations.ServiceTasks(this); + this.projects = new operations.Projects(this); + this.usages = new operations.Usages(this); + this.operations = new operations.Operations(this); + this.files = new operations.Files(this); + } +} + +// Operation Specifications + +export { + DataMigrationServiceClient, + DataMigrationServiceClientContext, + Models as DataMigrationServiceModels, + Mappers as DataMigrationServiceMappers +}; +export * from "./operations"; diff --git a/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClientContext.ts b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClientContext.ts new file mode 100644 index 000000000000..c2831507a50d --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/dataMigrationServiceClientContext.ts @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as Models from "./models"; +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; + +const packageName = "@azure/arm-datamigration"; +const packageVersion = "1.0.1"; + +export class DataMigrationServiceClientContext extends msRestAzure.AzureServiceClient { + credentials: msRest.ServiceClientCredentials; + apiVersion?: string; + subscriptionId: string; + + /** + * Initializes a new instance of the DataMigrationServiceClient class. + * @param credentials Credentials needed for the client to connect to Azure. + * @param subscriptionId Identifier of the subscription + * @param [options] The parameter options + */ + constructor(credentials: msRest.ServiceClientCredentials, subscriptionId: string, options?: Models.DataMigrationServiceClientOptions) { + if (credentials == undefined) { + throw new Error('\'credentials\' cannot be null.'); + } + if (subscriptionId == undefined) { + throw new Error('\'subscriptionId\' cannot be null.'); + } + + if (!options) { + options = {}; + } + if (!options.userAgent) { + const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); + options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; + } + + super(credentials, options); + + this.apiVersion = '2018-07-15-preview'; + this.acceptLanguage = 'en-US'; + this.longRunningOperationRetryTimeout = 30; + this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; + this.requestContentType = "application/json; charset=utf-8"; + this.credentials = credentials; + this.subscriptionId = subscriptionId; + + if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + this.acceptLanguage = options.acceptLanguage; + } + if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; + } + } +} diff --git a/sdk/datamigration/arm-datamigration/src/models/filesMappers.ts b/sdk/datamigration/arm-datamigration/src/models/filesMappers.ts new file mode 100644 index 000000000000..9e4af9dbd9b4 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/filesMappers.ts @@ -0,0 +1,235 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + AzureActiveDirectoryApp, + BackupFileInfo, + BackupSetInfo, + BaseResource, + BlobShare, + CheckOCIDriverTaskInput, + CheckOCIDriverTaskOutput, + CheckOCIDriverTaskProperties, + CommandProperties, + ConnectionInfo, + ConnectToMongoDbTaskProperties, + ConnectToSourceMySqlTaskInput, + ConnectToSourceMySqlTaskProperties, + ConnectToSourceNonSqlTaskOutput, + ConnectToSourceOracleSyncTaskInput, + ConnectToSourceOracleSyncTaskOutput, + ConnectToSourceOracleSyncTaskProperties, + ConnectToSourcePostgreSqlSyncTaskInput, + ConnectToSourcePostgreSqlSyncTaskOutput, + ConnectToSourcePostgreSqlSyncTaskProperties, + ConnectToSourceSqlServerSyncTaskProperties, + ConnectToSourceSqlServerTaskInput, + ConnectToSourceSqlServerTaskOutput, + ConnectToSourceSqlServerTaskOutputAgentJobLevel, + ConnectToSourceSqlServerTaskOutputDatabaseLevel, + ConnectToSourceSqlServerTaskOutputLoginLevel, + ConnectToSourceSqlServerTaskOutputTaskLevel, + ConnectToSourceSqlServerTaskProperties, + ConnectToTargetAzureDbForMySqlTaskInput, + ConnectToTargetAzureDbForMySqlTaskOutput, + ConnectToTargetAzureDbForMySqlTaskProperties, + ConnectToTargetAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetSqlDbTaskInput, + ConnectToTargetSqlDbTaskOutput, + ConnectToTargetSqlDbTaskProperties, + ConnectToTargetSqlMISyncTaskInput, + ConnectToTargetSqlMISyncTaskOutput, + ConnectToTargetSqlMISyncTaskProperties, + ConnectToTargetSqlMITaskInput, + ConnectToTargetSqlMITaskOutput, + ConnectToTargetSqlMITaskProperties, + ConnectToTargetSqlSqlDbSyncTaskInput, + ConnectToTargetSqlSqlDbSyncTaskProperties, + DatabaseBackupInfo, + DatabaseFileInfo, + DatabaseInfo, + DatabaseSummaryResult, + DatabaseTable, + DataItemMigrationSummaryResult, + DataMigrationService, + FileList, + FileShare, + FileStorageInfo, + GetTdeCertificatesSqlTaskInput, + GetTdeCertificatesSqlTaskOutput, + GetTdeCertificatesSqlTaskProperties, + GetUserTablesOracleTaskInput, + GetUserTablesOracleTaskOutput, + GetUserTablesOracleTaskProperties, + GetUserTablesPostgreSqlTaskInput, + GetUserTablesPostgreSqlTaskOutput, + GetUserTablesPostgreSqlTaskProperties, + GetUserTablesSqlSyncTaskInput, + GetUserTablesSqlSyncTaskOutput, + GetUserTablesSqlSyncTaskProperties, + GetUserTablesSqlTaskInput, + GetUserTablesSqlTaskOutput, + GetUserTablesSqlTaskProperties, + InstallOCIDriverTaskInput, + InstallOCIDriverTaskOutput, + InstallOCIDriverTaskProperties, + MigrateMISyncCompleteCommandInput, + MigrateMISyncCompleteCommandOutput, + MigrateMISyncCompleteCommandProperties, + MigrateMongoDbTaskProperties, + MigrateMySqlAzureDbForMySqlSyncDatabaseInput, + MigrateMySqlAzureDbForMySqlSyncTaskInput, + MigrateMySqlAzureDbForMySqlSyncTaskOutput, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, + MigrateMySqlAzureDbForMySqlSyncTaskProperties, + MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, + MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, + MigrateOracleAzureDbPostgreSqlSyncTaskInput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + MigrateSchemaSqlServerSqlDbDatabaseInput, + MigrateSchemaSqlServerSqlDbTaskInput, + MigrateSchemaSqlServerSqlDbTaskOutput, + MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSchemaSqlServerSqlDbTaskOutputError, + MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSchemaSqlServerSqlDbTaskProperties, + MigrateSchemaSqlTaskOutputError, + MigrateSqlServerSqlDbDatabaseInput, + MigrateSqlServerSqlDbSyncDatabaseInput, + MigrateSqlServerSqlDbSyncTaskInput, + MigrateSqlServerSqlDbSyncTaskOutput, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbSyncTaskOutputError, + MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, + MigrateSqlServerSqlDbSyncTaskOutputTableLevel, + MigrateSqlServerSqlDbSyncTaskProperties, + MigrateSqlServerSqlDbTaskInput, + MigrateSqlServerSqlDbTaskOutput, + MigrateSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbTaskOutputError, + MigrateSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSqlServerSqlDbTaskOutputTableLevel, + MigrateSqlServerSqlDbTaskProperties, + MigrateSqlServerSqlMIDatabaseInput, + MigrateSqlServerSqlMISyncTaskInput, + MigrateSqlServerSqlMISyncTaskOutput, + MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlMISyncTaskOutputError, + MigrateSqlServerSqlMISyncTaskOutputMigrationLevel, + MigrateSqlServerSqlMISyncTaskProperties, + MigrateSqlServerSqlMITaskInput, + MigrateSqlServerSqlMITaskOutput, + MigrateSqlServerSqlMITaskOutputAgentJobLevel, + MigrateSqlServerSqlMITaskOutputDatabaseLevel, + MigrateSqlServerSqlMITaskOutputError, + MigrateSqlServerSqlMITaskOutputLoginLevel, + MigrateSqlServerSqlMITaskOutputMigrationLevel, + MigrateSqlServerSqlMITaskProperties, + MigrateSsisTaskInput, + MigrateSsisTaskOutput, + MigrateSsisTaskOutputMigrationLevel, + MigrateSsisTaskOutputProjectLevel, + MigrateSsisTaskProperties, + MigrateSyncCompleteCommandInput, + MigrateSyncCompleteCommandOutput, + MigrateSyncCompleteCommandProperties, + MigrationEligibilityInfo, + MigrationReportResult, + MigrationValidationDatabaseSummaryResult, + MigrationValidationOptions, + MigrationValidationResult, + MiSqlConnectionInfo, + MongoDbCancelCommand, + MongoDbClusterInfo, + MongoDbCollectionInfo, + MongoDbCollectionProgress, + MongoDbCollectionSettings, + MongoDbCommandInput, + MongoDbConnectionInfo, + MongoDbDatabaseInfo, + MongoDbDatabaseProgress, + MongoDbDatabaseSettings, + MongoDbError, + MongoDbFinishCommand, + MongoDbFinishCommandInput, + MongoDbMigrationProgress, + MongoDbMigrationSettings, + MongoDbObjectInfo, + MongoDbProgress, + MongoDbRestartCommand, + MongoDbShardKeyField, + MongoDbShardKeyInfo, + MongoDbShardKeySetting, + MongoDbThrottlingSettings, + MySqlConnectionInfo, + ODataError, + OracleConnectionInfo, + OracleOCIDriverInfo, + OrphanedUserInfo, + PostgreSqlConnectionInfo, + Project, + ProjectFile, + ProjectFileProperties, + ProjectTask, + ProjectTaskProperties, + ReportableException, + Resource, + SchemaMigrationSetting, + SelectedCertificateInput, + ServerProperties, + ServiceSku, + SqlConnectionInfo, + SqlMigrationTaskInput, + SqlServerSqlMISyncTaskInput, + SsisMigrationInfo, + StartMigrationScenarioServerRoleResult, + SyncMigrationDatabaseErrorEvent, + TrackedResource, + UploadOCIDriverTaskInput, + UploadOCIDriverTaskOutput, + UploadOCIDriverTaskProperties, + ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, + ValidateMigrationInputSqlServerSqlMISyncTaskInput, + ValidateMigrationInputSqlServerSqlMISyncTaskOutput, + ValidateMigrationInputSqlServerSqlMISyncTaskProperties, + ValidateMigrationInputSqlServerSqlMITaskInput, + ValidateMigrationInputSqlServerSqlMITaskOutput, + ValidateMigrationInputSqlServerSqlMITaskProperties, + ValidateMongoDbTaskProperties, + ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, + ValidateOracleAzureDbPostgreSqlSyncTaskOutput, + ValidateSyncMigrationInputSqlServerTaskInput, + ValidateSyncMigrationInputSqlServerTaskOutput +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/models/index.ts b/sdk/datamigration/arm-datamigration/src/models/index.ts new file mode 100644 index 000000000000..fd655227ffe6 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/index.ts @@ -0,0 +1,9184 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; +import * as msRest from "@azure/ms-rest-js"; + +export { BaseResource, CloudError }; + +/** + * ARM resource. + */ +export interface Resource extends BaseResource { + /** + * Resource ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: string; +} + +/** + * ARM tracked top level resource. + */ +export interface TrackedResource extends Resource { + /** + * Resource tags. + */ + tags?: { [propertyName: string]: string }; + /** + * Resource location. + */ + location: string; +} + +/** + * Base class for file properties. + */ +export interface ProjectFileProperties { + /** + * Optional File extension. If submitted it should not have a leading period and must match the + * extension from filePath. + */ + extension?: string; + /** + * Relative path of this file resource. This property can be set when creating or updating the + * file resource. + */ + filePath?: string; + /** + * Modification DateTime. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModified?: Date; + /** + * File content type. This property can be modified to reflect the file content type. + */ + mediaType?: string; + /** + * File size. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly size?: number; +} + +/** + * A file resource + */ +export interface ProjectFile extends Resource { + /** + * HTTP strong entity tag value. This is ignored if submitted. + */ + etag?: string; + /** + * Custom file properties + */ + properties?: ProjectFileProperties; +} + +/** + * Error information in OData format. + */ +export interface ODataError { + /** + * The machine-readable description of the error, such as 'InvalidRequest' or + * 'InternalServerError' + */ + code?: string; + /** + * The human-readable description of the error + */ + message?: string; + /** + * Inner errors that caused this error + */ + details?: ODataError[]; +} + +/** + * Exception object for all custom exceptions + */ +export interface ReportableException { + /** + * Error message + */ + message?: string; + /** + * Actionable steps for this exception + */ + actionableMessage?: string; + /** + * The path to the file where exception occurred + */ + filePath?: string; + /** + * The line number where exception occurred + */ + lineNumber?: string; + /** + * Coded numerical value that is assigned to a specific exception + */ + hResult?: number; + /** + * Stack trace + */ + stackTrace?: string; +} + +/** + * Output for command that completes online migration for an Azure SQL Database Managed Instance. + */ +export interface MigrateMISyncCompleteCommandOutput { + /** + * List of errors that happened during the command execution + */ + errors?: ReportableException[]; +} + +/** + * Input for command that completes online migration for an Azure SQL Database Managed Instance. + */ +export interface MigrateMISyncCompleteCommandInput { + /** + * Name of managed instance database + */ + sourceDatabaseName: string; +} + +/** + * Contains the possible cases for CommandProperties. + */ +export type CommandPropertiesUnion = CommandProperties | MigrateMISyncCompleteCommandProperties | MigrateSyncCompleteCommandProperties | MongoDbCancelCommand | MongoDbFinishCommand | MongoDbRestartCommand; + +/** + * Base class for all types of DMS command properties. If command is not supported by current + * client, this object is returned. + */ +export interface CommandProperties { + /** + * Polymorphic Discriminator + */ + commandType: "CommandProperties"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the command. This is ignored if submitted. Possible values include: 'Unknown', + * 'Accepted', 'Running', 'Succeeded', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: CommandState; +} + +/** + * Properties for the command that completes online migration for an Azure SQL Database Managed + * Instance. + */ +export interface MigrateMISyncCompleteCommandProperties { + /** + * Polymorphic Discriminator + */ + commandType: "Migrate.SqlServer.AzureDbSqlMi.Complete"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the command. This is ignored if submitted. Possible values include: 'Unknown', + * 'Accepted', 'Running', 'Succeeded', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: CommandState; + /** + * Command input + */ + input?: MigrateMISyncCompleteCommandInput; + /** + * Command output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateMISyncCompleteCommandOutput; +} + +/** + * Output for command that completes sync migration for a database. + */ +export interface MigrateSyncCompleteCommandOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * List of errors that happened during the command execution + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ReportableException[]; +} + +/** + * Input for command that completes sync migration for a database. + */ +export interface MigrateSyncCompleteCommandInput { + /** + * Name of database + */ + databaseName: string; + /** + * Time stamp to complete + */ + commitTimeStamp?: Date; +} + +/** + * Properties for the command that completes sync migration for a database. + */ +export interface MigrateSyncCompleteCommandProperties { + /** + * Polymorphic Discriminator + */ + commandType: "Migrate.Sync.Complete.Database"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the command. This is ignored if submitted. Possible values include: 'Unknown', + * 'Accepted', 'Running', 'Succeeded', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: CommandState; + /** + * Command input + */ + input?: MigrateSyncCompleteCommandInput; + /** + * Command output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateSyncCompleteCommandOutput; +} + +/** + * Contains the possible cases for MigrateSsisTaskOutput. + */ +export type MigrateSsisTaskOutputUnion = MigrateSsisTaskOutput | MigrateSsisTaskOutputProjectLevel | MigrateSsisTaskOutputMigrationLevel; + +/** + * Output for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed + * Instance. + */ +export interface MigrateSsisTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateSsisTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigrateSsisTaskOutputProjectLevel. + */ +export interface MigrateSsisTaskOutputProjectLevel { + /** + * Polymorphic Discriminator + */ + resultType: "SsisProjectLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the folder + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly folderName?: string; + /** + * Name of the project + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly projectName?: string; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Stage of SSIS migration. Possible values include: 'None', 'Initialize', 'InProgress', + * 'Completed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly stage?: SsisMigrationStage; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Migration exceptions and warnings + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * An interface representing MigrateSsisTaskOutputMigrationLevel. + */ +export interface MigrateSsisTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Current status of migration. Possible values include: 'Default', 'Connecting', + * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped', + * 'Completed', 'CompletedWithWarnings' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: MigrationStatus; + /** + * Migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Migration exceptions and warnings. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; + /** + * Stage of SSIS migration. Possible values include: 'None', 'Initialize', 'InProgress', + * 'Completed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly stage?: SsisMigrationStage; +} + +/** + * SSIS migration info with SSIS store type, overwrite policy. + */ +export interface SsisMigrationInfo { + /** + * The SSIS store type of source, only SSIS catalog is supported now in DMS. Possible values + * include: 'SsisCatalog' + */ + ssisStoreType?: SsisStoreType; + /** + * The overwrite option for the SSIS project migration. Possible values include: 'Ignore', + * 'Overwrite' + */ + projectOverwriteOption?: SsisMigrationOverwriteOption; + /** + * The overwrite option for the SSIS environment migration. Possible values include: 'Ignore', + * 'Overwrite' + */ + environmentOverwriteOption?: SsisMigrationOverwriteOption; +} + +/** + * Contains the possible cases for ConnectionInfo. + */ +export type ConnectionInfoUnion = ConnectionInfo | MiSqlConnectionInfo | PostgreSqlConnectionInfo | OracleConnectionInfo | MySqlConnectionInfo | MongoDbConnectionInfo | SqlConnectionInfo; + +/** + * Defines the connection properties of a server + */ +export interface ConnectionInfo { + /** + * Polymorphic Discriminator + */ + type: "ConnectionInfo"; + /** + * User name + */ + userName?: string; + /** + * Password credential. + */ + password?: string; +} + +/** + * Properties required to create a connection to Azure SQL database Managed instance + */ +export interface MiSqlConnectionInfo { + /** + * Polymorphic Discriminator + */ + type: "MiSqlConnectionInfo"; + /** + * User name + */ + userName?: string; + /** + * Password credential. + */ + password?: string; + /** + * Resource id for Azure SQL database Managed instance + */ + managedInstanceResourceId: string; +} + +/** + * Information for connecting to PostgreSQL server + */ +export interface PostgreSqlConnectionInfo { + /** + * Polymorphic Discriminator + */ + type: "PostgreSqlConnectionInfo"; + /** + * User name + */ + userName?: string; + /** + * Password credential. + */ + password?: string; + /** + * Name of the server + */ + serverName: string; + /** + * Name of the database + */ + databaseName?: string; + /** + * Port for Server + */ + port: number; +} + +/** + * Information for connecting to Oracle server + */ +export interface OracleConnectionInfo { + /** + * Polymorphic Discriminator + */ + type: "OracleConnectionInfo"; + /** + * User name + */ + userName?: string; + /** + * Password credential. + */ + password?: string; + /** + * EZConnect or TNSName connection string. + */ + dataSource: string; +} + +/** + * Information for connecting to MySQL server + */ +export interface MySqlConnectionInfo { + /** + * Polymorphic Discriminator + */ + type: "MySqlConnectionInfo"; + /** + * User name + */ + userName?: string; + /** + * Password credential. + */ + password?: string; + /** + * Name of the server + */ + serverName: string; + /** + * Port for Server + */ + port: number; +} + +/** + * Describes a connection to a MongoDB data source + */ +export interface MongoDbConnectionInfo { + /** + * Polymorphic Discriminator + */ + type: "MongoDbConnectionInfo"; + /** + * User name + */ + userName?: string; + /** + * Password credential. + */ + password?: string; + /** + * A MongoDB connection string or blob container URL. The user name and password can be specified + * here or in the userName and password properties + */ + connectionString: string; +} + +/** + * Information for connecting to SQL database server + */ +export interface SqlConnectionInfo { + /** + * Polymorphic Discriminator + */ + type: "SqlConnectionInfo"; + /** + * User name + */ + userName?: string; + /** + * Password credential. + */ + password?: string; + /** + * Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber + */ + dataSource: string; + /** + * Authentication type to use for connection. Possible values include: 'None', + * 'WindowsAuthentication', 'SqlAuthentication', 'ActiveDirectoryIntegrated', + * 'ActiveDirectoryPassword' + */ + authentication?: AuthenticationType; + /** + * Whether to encrypt the connection. Default value: true. + */ + encryptConnection?: boolean; + /** + * Additional connection settings + */ + additionalSettings?: string; + /** + * Whether to trust the server certificate. Default value: false. + */ + trustServerCertificate?: boolean; + /** + * Server platform type for connection. Possible values include: 'SqlOnPrem' + */ + platform?: SqlSourcePlatform; +} + +/** + * Base class for migration task input + */ +export interface SqlMigrationTaskInput { + /** + * Information for connecting to source + */ + sourceConnectionInfo: SqlConnectionInfo; + /** + * Information for connecting to target + */ + targetConnectionInfo: SqlConnectionInfo; +} + +/** + * Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed + * Instance. + */ +export interface MigrateSsisTaskInput extends SqlMigrationTaskInput { + /** + * SSIS package migration information. + */ + ssisMigrationInfo: SsisMigrationInfo; +} + +/** + * Contains the possible cases for ProjectTaskProperties. + */ +export type ProjectTaskPropertiesUnion = ProjectTaskProperties | MigrateSsisTaskProperties | GetTdeCertificatesSqlTaskProperties | ValidateOracleAzureDbForPostgreSqlSyncTaskProperties | ValidateMongoDbTaskProperties | ValidateMigrationInputSqlServerSqlMISyncTaskProperties | ValidateMigrationInputSqlServerSqlMITaskProperties | ValidateMigrationInputSqlServerSqlDbSyncTaskProperties | MigrateOracleAzureDbForPostgreSqlSyncTaskProperties | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties | MigrateMySqlAzureDbForMySqlSyncTaskProperties | MigrateSqlServerSqlDbSyncTaskProperties | MigrateSqlServerSqlDbTaskProperties | MigrateSqlServerSqlMISyncTaskProperties | MigrateSqlServerSqlMITaskProperties | MigrateMongoDbTaskProperties | ConnectToTargetAzureDbForMySqlTaskProperties | ConnectToTargetSqlMISyncTaskProperties | ConnectToTargetSqlMITaskProperties | GetUserTablesPostgreSqlTaskProperties | GetUserTablesOracleTaskProperties | GetUserTablesSqlSyncTaskProperties | GetUserTablesSqlTaskProperties | ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties | ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties | ConnectToTargetSqlSqlDbSyncTaskProperties | ConnectToTargetSqlDbTaskProperties | ConnectToSourceOracleSyncTaskProperties | ConnectToSourcePostgreSqlSyncTaskProperties | ConnectToSourceSqlServerSyncTaskProperties | ConnectToSourceSqlServerTaskProperties | ConnectToMongoDbTaskProperties | ConnectToSourceMySqlTaskProperties | MigrateSchemaSqlServerSqlDbTaskProperties | CheckOCIDriverTaskProperties | UploadOCIDriverTaskProperties | InstallOCIDriverTaskProperties; + +/** + * Base class for all types of DMS task properties. If task is not supported by current client, + * this object is returned. + */ +export interface ProjectTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ProjectTaskProperties"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; +} + +/** + * Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database + * Managed Instance. + */ +export interface MigrateSsisTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.Ssis"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateSsisTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateSsisTaskOutputUnion[]; +} + +/** + * Output of the task that gets TDE certificates in Base64 encoded format. + */ +export interface GetTdeCertificatesSqlTaskOutput { + /** + * Mapping from certificate name to base 64 encoded format. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly base64EncodedCertificates?: { [propertyName: string]: string[] }; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Info for certificate to be exported for TDE enabled databases. + */ +export interface SelectedCertificateInput { + /** + * Name of certificate to be exported. + */ + certificateName: string; + /** + * Password to use for encrypting the exported certificate. + */ + password: string; +} + +/** + * File share information with Path, Username, and Password. + */ +export interface FileShare { + /** + * User name credential to connect to the share location + */ + userName?: string; + /** + * Password credential used to connect to the share location. + */ + password?: string; + /** + * The folder path for this share. + */ + path: string; +} + +/** + * Input for the task that gets TDE certificates in Base64 encoded format. + */ +export interface GetTdeCertificatesSqlTaskInput { + /** + * Connection information for SQL Server + */ + connectionInfo: SqlConnectionInfo; + /** + * Backup file share information for file share to be used for temporarily storing files. + */ + backupFileShare: FileShare; + /** + * List containing certificate names and corresponding password to use for encrypting the + * exported certificate. + */ + selectedCertificates: SelectedCertificateInput[]; +} + +/** + * Properties for the task that gets TDE certificates in Base64 encoded format. + */ +export interface GetTdeCertificatesSqlTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "GetTDECertificates.Sql"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: GetTdeCertificatesSqlTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: GetTdeCertificatesSqlTaskOutput[]; +} + +/** + * Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for + * online migrations + */ +export interface ValidateOracleAzureDbPostgreSqlSyncTaskOutput { + /** + * Errors associated with a selected database object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs + */ +export interface MigrateOracleAzureDbPostgreSqlSyncDatabaseInput { + /** + * How to handle object name casing: either Preserve or ToLower + */ + caseManipulation?: string; + /** + * Name of the migration pipeline + */ + name?: string; + /** + * Name of the source schema + */ + schemaName?: string; + /** + * Mapping of source to target tables + */ + tableMap?: { [propertyName: string]: string }; + /** + * Name of target database. Note: Target database will be truncated before starting migration. + */ + targetDatabaseName?: string; + /** + * Migration settings which tune the migration behavior + */ + migrationSetting?: { [propertyName: string]: string }; + /** + * Source settings to tune source endpoint migration behavior + */ + sourceSetting?: { [propertyName: string]: string }; + /** + * Target settings to tune target endpoint migration behavior + */ + targetSetting?: { [propertyName: string]: string }; +} + +/** + * Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online + * migrations + */ +export interface MigrateOracleAzureDbPostgreSqlSyncTaskInput { + /** + * Databases to migrate + */ + selectedDatabases: MigrateOracleAzureDbPostgreSqlSyncDatabaseInput[]; + /** + * Connection information for target Azure Database for PostgreSQL + */ + targetConnectionInfo: PostgreSqlConnectionInfo; + /** + * Connection information for source Oracle + */ + sourceConnectionInfo: OracleConnectionInfo; +} + +/** + * Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL + * for online migrations + */ +export interface ValidateOracleAzureDbForPostgreSqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Validate.Oracle.AzureDbPostgreSql.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + input?: MigrateOracleAzureDbPostgreSqlSyncTaskInput; + /** + * An array containing a single validation error response object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ValidateOracleAzureDbPostgreSqlSyncTaskOutput[]; +} + +/** + * Describes an error or warning that occurred during a MongoDB migration + */ +export interface MongoDbError { + /** + * The non-localized, machine-readable code that describes the error or warning + */ + code?: string; + /** + * The number of times the error or warning has occurred + */ + count?: number; + /** + * The localized, human-readable message that describes the error or warning + */ + message?: string; + /** + * The type of error or warning. Possible values include: 'Error', 'ValidationError', 'Warning' + */ + type?: MongoDbErrorType; +} + +/** + * Base class for MongoDB migration outputs + */ +export interface MongoDbProgress { + /** + * The number of document bytes copied during the Copying stage + */ + bytesCopied: number; + /** + * The number of documents copied during the Copying stage + */ + documentsCopied: number; + /** + * The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. TimeSpan format) + */ + elapsedTime: string; + /** + * The errors and warnings that have occurred for the current object. The keys are the error + * codes. + */ + errors: { [propertyName: string]: MongoDbError }; + /** + * The number of oplog events awaiting replay + */ + eventsPending: number; + /** + * The number of oplog events replayed so far + */ + eventsReplayed: number; + /** + * The timestamp of the last oplog event received, or null if no oplog event has been received + * yet + */ + lastEventTime?: Date; + /** + * The timestamp of the last oplog event replayed, or null if no oplog event has been replayed + * yet + */ + lastReplayTime?: Date; + /** + * The name of the progress object. For a collection, this is the unqualified collection name. + * For a database, this is the database name. For the overall migration, this is null. + */ + name?: string; + /** + * The qualified name of the progress object. For a collection, this is the database-qualified + * name. For a database, this is the database name. For the overall migration, this is null. + */ + qualifiedName?: string; + /** + * The type of progress object. Possible values include: 'Migration', 'Database', 'Collection' + */ + resultType: ResultType; + /** + * Possible values include: 'NotStarted', 'ValidatingInput', 'Initializing', 'Restarting', + * 'Copying', 'InitialReplay', 'Replaying', 'Finalizing', 'Complete', 'Canceled', 'Failed' + */ + state: MongoDbMigrationState; + /** + * The total number of document bytes on the source at the beginning of the Copying stage, or -1 + * if the total size was unknown + */ + totalBytes: number; + /** + * The total number of documents on the source at the beginning of the Copying stage, or -1 if + * the total count was unknown + */ + totalDocuments: number; +} + +/** + * Describes the progress of a collection + */ +export interface MongoDbCollectionProgress extends MongoDbProgress { +} + +/** + * Describes the progress of a database + */ +export interface MongoDbDatabaseProgress extends MongoDbProgress { + /** + * The progress of the collections in the database. The keys are the unqualified names of the + * collections + */ + collections?: { [propertyName: string]: MongoDbCollectionProgress }; +} + +/** + * Describes the progress of the overall migration + */ +export interface MongoDbMigrationProgress extends MongoDbProgress { + /** + * The progress of the databases in the migration. The keys are the names of the databases + */ + databases?: { [propertyName: string]: MongoDbDatabaseProgress }; +} + +/** + * Specifies resource limits for the migration + */ +export interface MongoDbThrottlingSettings { + /** + * The percentage of CPU time that the migrator will try to avoid using, from 0 to 100 + */ + minFreeCpu?: number; + /** + * The number of megabytes of RAM that the migrator will try to avoid using + */ + minFreeMemoryMb?: number; + /** + * The maximum number of work items (e.g. collection copies) that will be processed in parallel + */ + maxParallelism?: number; +} + +/** + * Describes a field reference within a MongoDB shard key + */ +export interface MongoDbShardKeyField { + /** + * The name of the field + */ + name: string; + /** + * The field ordering. Possible values include: 'Forward', 'Reverse', 'Hashed' + */ + order: MongoDbShardKeyOrder; +} + +/** + * Describes a MongoDB shard key + */ +export interface MongoDbShardKeySetting { + /** + * The fields within the shard key + */ + fields: MongoDbShardKeyField[]; + /** + * Whether the shard key is unique + */ + isUnique: boolean; +} + +/** + * Describes how an individual MongoDB collection should be migrated + */ +export interface MongoDbCollectionSettings { + /** + * Whether the migrator is allowed to drop the target collection in the course of performing a + * migration. The default is true. + */ + canDelete?: boolean; + shardKey?: MongoDbShardKeySetting; + /** + * The RUs that should be configured on a CosmosDB target, or null to use the default. This has + * no effect on non-CosmosDB targets. + */ + targetRUs?: number; +} + +/** + * Describes how an individual MongoDB database should be migrated + */ +export interface MongoDbDatabaseSettings { + /** + * The collections on the source database to migrate to the target. The keys are the unqualified + * names of the collections. + */ + collections: { [propertyName: string]: MongoDbCollectionSettings }; + /** + * The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if + * throughput should not be provisioned for the database. This has no effect on non-CosmosDB + * targets. + */ + targetRUs?: number; +} + +/** + * Describes how a MongoDB data migration should be performed + */ +export interface MongoDbMigrationSettings { + /** + * The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) + * during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default + * boost (which is generally the maximum), or null to not boost the RUs. This setting has no + * effect on non-CosmosDB targets. + */ + boostRUs?: number; + /** + * The databases on the source cluster to migrate to the target. The keys are the names of the + * databases. + */ + databases: { [propertyName: string]: MongoDbDatabaseSettings }; + /** + * Describes how changes will be replicated from the source to the target. The default is + * OneTime. Possible values include: 'Disabled', 'OneTime', 'Continuous' + */ + replication?: MongoDbReplication; + /** + * Settings used to connect to the source cluster + */ + source: MongoDbConnectionInfo; + /** + * Settings used to connect to the target cluster + */ + target: MongoDbConnectionInfo; + /** + * Settings used to limit the resource usage of the migration + */ + throttling?: MongoDbThrottlingSettings; +} + +/** + * Properties for the task that validates a migration between MongoDB data sources + */ +export interface ValidateMongoDbTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Validate.MongoDb"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + input?: MongoDbMigrationSettings; + /** + * An array containing a single MongoDbMigrationProgress object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MongoDbMigrationProgress[]; +} + +/** + * Output for task that validates migration input for Azure SQL Database Managed Instance online + * migration + */ +export interface ValidateMigrationInputSqlServerSqlMISyncTaskOutput { + /** + * Database identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Errors associated with a selected database object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Azure Active Directory Application + */ +export interface AzureActiveDirectoryApp { + /** + * Application ID of the Azure Active Directory Application + */ + applicationId: string; + /** + * Key used to authenticate to the Azure Active Directory Application + */ + appKey: string; + /** + * Tenant id of the customer + */ + tenantId: string; +} + +/** + * Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs + */ +export interface MigrateSqlServerSqlMIDatabaseInput { + /** + * Name of the database + */ + name: string; + /** + * Name of the database at destination + */ + restoreDatabaseName: string; + /** + * Backup file share information for backing up this database. + */ + backupFileShare?: FileShare; + /** + * The list of backup files to be used in case of existing backups. + */ + backupFilePaths?: string[]; +} + +/** + * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online + * scenario. + */ +export interface SqlServerSqlMISyncTaskInput { + /** + * Databases to migrate + */ + selectedDatabases: MigrateSqlServerSqlMIDatabaseInput[]; + /** + * Backup file share information for all selected databases. + */ + backupFileShare?: FileShare; + /** + * Fully qualified resourceId of storage + */ + storageResourceId: string; + /** + * Connection information for source SQL Server + */ + sourceConnectionInfo: SqlConnectionInfo; + /** + * Connection information for Azure SQL Database Managed Instance + */ + targetConnectionInfo: MiSqlConnectionInfo; + /** + * Azure Active Directory Application the DMS instance will use to connect to the target instance + * of Azure SQL Database Managed Instance and the Azure Storage Account + */ + azureApp: AzureActiveDirectoryApp; +} + +/** + * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online + * scenario. + */ +export interface ValidateMigrationInputSqlServerSqlMISyncTaskInput extends SqlServerSqlMISyncTaskInput { +} + +/** + * Properties for task that validates migration input for SQL to Azure SQL Database Managed + * Instance sync scenario + */ +export interface ValidateMigrationInputSqlServerSqlMISyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ValidateMigrationInputSqlServerSqlMISyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ValidateMigrationInputSqlServerSqlMISyncTaskOutput[]; +} + +/** + * Information about backup files when existing backup mode is used. + */ +export interface DatabaseBackupInfo { + /** + * Database name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Backup Type. Possible values include: 'Database', 'TransactionLog', 'File', + * 'DifferentialDatabase', 'DifferentialFile', 'Partial', 'DifferentialPartial' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly backupType?: BackupType; + /** + * The list of backup files for the current database. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly backupFiles?: string[]; + /** + * Position of current database backup in the file. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly position?: number; + /** + * Database was damaged when backed up, but the backup operation was requested to continue + * despite errors. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isDamaged?: boolean; + /** + * Whether the backup set is compressed + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isCompressed?: boolean; + /** + * Number of files in the backup set. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly familyCount?: number; + /** + * Date and time when the backup operation finished. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly backupFinishDate?: Date; +} + +/** + * Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations + */ +export interface ValidateMigrationInputSqlServerSqlMITaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Errors associated with the RestoreDatabaseName + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly restoreDatabaseNameErrors?: ReportableException[]; + /** + * Errors associated with the BackupFolder path + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly backupFolderErrors?: ReportableException[]; + /** + * Errors associated with backup share user name and password credentials + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly backupShareCredentialsErrors?: ReportableException[]; + /** + * Errors associated with the storage account provided. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly backupStorageAccountErrors?: ReportableException[]; + /** + * Errors associated with existing backup files. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly existingBackupErrors?: ReportableException[]; + /** + * Information about backup files when existing backup mode is used. + */ + databaseBackupInfo?: DatabaseBackupInfo; +} + +/** + * Blob container storage information. + */ +export interface BlobShare { + /** + * SAS URI of Azure Storage Account Container. + */ + sasUri: string; +} + +/** + * Input for task that validates migration input for SQL to Azure SQL Managed Instance + */ +export interface ValidateMigrationInputSqlServerSqlMITaskInput { + /** + * Information for connecting to source + */ + sourceConnectionInfo: SqlConnectionInfo; + /** + * Information for connecting to target + */ + targetConnectionInfo: SqlConnectionInfo; + /** + * Databases to migrate + */ + selectedDatabases: MigrateSqlServerSqlMIDatabaseInput[]; + /** + * Logins to migrate + */ + selectedLogins?: string[]; + /** + * Backup file share information for all selected databases. + */ + backupFileShare?: FileShare; + /** + * SAS URI of Azure Storage Account Container to be used for storing backup files. + */ + backupBlobShare: BlobShare; + /** + * Backup Mode to specify whether to use existing backup or create new backup. Possible values + * include: 'CreateBackup', 'ExistingBackup' + */ + backupMode?: BackupMode; +} + +/** + * Properties for task that validates migration input for SQL to Azure SQL Database Managed + * Instance + */ +export interface ValidateMigrationInputSqlServerSqlMITaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ValidateMigrationInput.SqlServer.AzureSqlDbMI"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ValidateMigrationInputSqlServerSqlMITaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ValidateMigrationInputSqlServerSqlMITaskOutput[]; +} + +/** + * Output for task that validates migration input for SQL sync migrations + */ +export interface ValidateSyncMigrationInputSqlServerTaskOutput { + /** + * Database identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Errors associated with a selected database object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Database specific information for SQL to Azure SQL DB sync migration task inputs + */ +export interface MigrateSqlServerSqlDbSyncDatabaseInput { + /** + * Unique identifier for database + */ + id?: string; + /** + * Name of database + */ + name?: string; + /** + * Target database name + */ + targetDatabaseName?: string; + /** + * Schema name to be migrated + */ + schemaName?: string; + /** + * Mapping of source to target tables + */ + tableMap?: { [propertyName: string]: string }; + /** + * Migration settings which tune the migration behavior + */ + migrationSetting?: { [propertyName: string]: string }; + /** + * Source settings to tune source endpoint migration behavior + */ + sourceSetting?: { [propertyName: string]: string }; + /** + * Target settings to tune target endpoint migration behavior + */ + targetSetting?: { [propertyName: string]: string }; +} + +/** + * Input for task that validates migration input for SQL sync migrations + */ +export interface ValidateSyncMigrationInputSqlServerTaskInput { + /** + * Information for connecting to source SQL server + */ + sourceConnectionInfo: SqlConnectionInfo; + /** + * Information for connecting to target + */ + targetConnectionInfo: SqlConnectionInfo; + /** + * Databases to migrate + */ + selectedDatabases: MigrateSqlServerSqlDbSyncDatabaseInput[]; +} + +/** + * Properties for task that validates migration input for SQL to Azure SQL DB sync migrations + */ +export interface ValidateMigrationInputSqlServerSqlDbSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ValidateMigrationInput.SqlServer.SqlDb.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ValidateSyncMigrationInputSqlServerTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ValidateSyncMigrationInputSqlServerTaskOutput[]; +} + +/** + * Database migration errors for online migration + */ +export interface SyncMigrationDatabaseErrorEvent { + /** + * String value of timestamp. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly timestampString?: string; + /** + * Event type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly eventTypeString?: string; + /** + * Event text. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly eventText?: string; +} + +/** + * Contains the possible cases for MigrateOracleAzureDbPostgreSqlSyncTaskOutput. + */ +export type MigrateOracleAzureDbPostgreSqlSyncTaskOutputUnion = MigrateOracleAzureDbPostgreSqlSyncTaskOutput | MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError | MigrateOracleAzureDbPostgreSqlSyncTaskOutputError | MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel | MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel | MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel; + +/** + * Output for the task that migrates Oracle databases to Azure Database for PostgreSQL for online + * migrations + */ +export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError. + */ +export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Error message + */ + errorMessage?: string; + /** + * List of error events. + */ + events?: SyncMigrationDatabaseErrorEvent[]; +} + +/** + * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputError. + */ +export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel. + */ +export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel { + /** + * Polymorphic Discriminator + */ + resultType: "TableLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tableName?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Number of applied inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: number; + /** + * Number of applied updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: number; + /** + * Number of applied deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: number; + /** + * Estimate to finish full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEstFinishTime?: Date; + /** + * Full load start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadStartedOn?: Date; + /** + * Full load end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEndedOn?: Date; + /** + * Number of rows applied in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadTotalRows?: number; + /** + * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD', + * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: SyncTableMigrationState; + /** + * Total number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalChangesApplied?: number; + /** + * Number of data errors occurred + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataErrorsCounter?: number; + /** + * Last modified time on target + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModifiedTime?: Date; +} + +/** + * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel. + */ +export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING', + * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', + * 'CANCELLING', 'CANCELLED', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationState?: SyncDatabaseMigrationReportingState; + /** + * Number of incoming changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly incomingChanges?: number; + /** + * Number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly appliedChanges?: number; + /** + * Number of cdc inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: number; + /** + * Number of cdc deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: number; + /** + * Number of cdc updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: number; + /** + * Number of tables completed in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadCompletedTables?: number; + /** + * Number of tables loading in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadLoadingTables?: number; + /** + * Number of tables queued in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadQueuedTables?: number; + /** + * Number of tables errored in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadErroredTables?: number; + /** + * Indicates if initial load (full load) has been completed + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly initializationCompleted?: boolean; + /** + * CDC apply latency + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly latency?: number; +} + +/** + * An interface representing MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel. + */ +export interface MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServer?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServer?: string; +} + +/** + * Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online + * migrations + */ +export interface MigrateOracleAzureDbForPostgreSqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.Oracle.AzureDbForPostgreSql.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateOracleAzureDbPostgreSqlSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateOracleAzureDbPostgreSqlSyncTaskOutputUnion[]; +} + +/** + * Contains the possible cases for MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput. + */ +export type MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputUnion = MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel | MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel; + +/** + * Output for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for + * online migrations + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError. + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Error message + */ + errorMessage?: string; + /** + * List of error events. + */ + events?: SyncMigrationDatabaseErrorEvent[]; +} + +/** + * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError. + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel. + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel { + /** + * Polymorphic Discriminator + */ + resultType: "TableLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tableName?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Number of applied inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: number; + /** + * Number of applied updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: number; + /** + * Number of applied deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: number; + /** + * Estimate to finish full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEstFinishTime?: Date; + /** + * Full load start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadStartedOn?: Date; + /** + * Full load end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEndedOn?: Date; + /** + * Number of rows applied in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadTotalRows?: number; + /** + * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD', + * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: SyncTableMigrationState; + /** + * Total number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalChangesApplied?: number; + /** + * Number of data errors occurred + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataErrorsCounter?: number; + /** + * Last modified time on target + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModifiedTime?: Date; +} + +/** + * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel. + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING', + * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', + * 'CANCELLING', 'CANCELLED', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationState?: SyncDatabaseMigrationReportingState; + /** + * Number of incoming changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly incomingChanges?: number; + /** + * Number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly appliedChanges?: number; + /** + * Number of cdc inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: number; + /** + * Number of cdc deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: number; + /** + * Number of cdc updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: number; + /** + * Number of tables completed in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadCompletedTables?: number; + /** + * Number of tables loading in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadLoadingTables?: number; + /** + * Number of tables queued in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadQueuedTables?: number; + /** + * Number of tables errored in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadErroredTables?: number; + /** + * Indicates if initial load (full load) has been completed + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly initializationCompleted?: boolean; + /** + * CDC apply latency + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly latency?: number; +} + +/** + * An interface representing MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel. + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServer?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServer?: string; +} + +/** + * Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task + * inputs + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput { + /** + * Name of the database + */ + name?: string; + /** + * Name of target database. Note: Target database will be truncated before starting migration. + */ + targetDatabaseName?: string; + /** + * Migration settings which tune the migration behavior + */ + migrationSetting?: { [propertyName: string]: string }; + /** + * Source settings to tune source endpoint migration behavior + */ + sourceSetting?: { [propertyName: string]: string }; + /** + * Target settings to tune target endpoint migration behavior + */ + targetSetting?: { [propertyName: string]: string }; +} + +/** + * Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for + * online migrations + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput { + /** + * Databases to migrate + */ + selectedDatabases: MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput[]; + /** + * Connection information for target Azure Database for PostgreSQL + */ + targetConnectionInfo: PostgreSqlConnectionInfo; + /** + * Connection information for source PostgreSQL + */ + sourceConnectionInfo: PostgreSqlConnectionInfo; +} + +/** + * Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for + * online migrations + */ +export interface MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.PostgreSql.AzureDbForPostgreSql.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputUnion[]; +} + +/** + * Contains the possible cases for MigrateMySqlAzureDbForMySqlSyncTaskOutput. + */ +export type MigrateMySqlAzureDbForMySqlSyncTaskOutputUnion = MigrateMySqlAzureDbForMySqlSyncTaskOutput | MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError | MigrateMySqlAzureDbForMySqlSyncTaskOutputError | MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel | MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel | MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel; + +/** + * Output for the task that migrates MySQL databases to Azure Database for MySQL for online + * migrations + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateMySqlAzureDbForMySqlSyncTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError. + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Error message + */ + errorMessage?: string; + /** + * List of error events. + */ + events?: SyncMigrationDatabaseErrorEvent[]; +} + +/** + * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputError. + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel. + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel { + /** + * Polymorphic Discriminator + */ + resultType: "TableLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tableName?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Number of applied inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: string; + /** + * Number of applied updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: string; + /** + * Number of applied deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: string; + /** + * Estimate to finish full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEstFinishTime?: Date; + /** + * Full load start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadStartedOn?: Date; + /** + * Full load end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEndedOn?: Date; + /** + * Number of rows applied in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadTotalRows?: number; + /** + * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD', + * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: SyncTableMigrationState; + /** + * Total number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalChangesApplied?: number; + /** + * Number of data errors occurred + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataErrorsCounter?: number; + /** + * Last modified time on target + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModifiedTime?: Date; +} + +/** + * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel. + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING', + * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', + * 'CANCELLING', 'CANCELLED', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationState?: SyncDatabaseMigrationReportingState; + /** + * Number of incoming changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly incomingChanges?: number; + /** + * Number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly appliedChanges?: number; + /** + * Number of cdc inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: number; + /** + * Number of cdc deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: number; + /** + * Number of cdc updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: number; + /** + * Number of tables completed in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadCompletedTables?: number; + /** + * Number of tables loading in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadLoadingTables?: number; + /** + * Number of tables queued in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadQueuedTables?: number; + /** + * Number of tables errored in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadErroredTables?: number; + /** + * Indicates if initial load (full load) has been completed + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly initializationCompleted?: boolean; + /** + * CDC apply latency + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly latency?: number; +} + +/** + * An interface representing MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel. + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServer?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServer?: string; +} + +/** + * Database specific information for MySQL to Azure Database for MySQL migration task inputs + */ +export interface MigrateMySqlAzureDbForMySqlSyncDatabaseInput { + /** + * Name of the database + */ + name?: string; + /** + * Name of target database. Note: Target database will be truncated before starting migration. + */ + targetDatabaseName?: string; + /** + * Migration settings which tune the migration behavior + */ + migrationSetting?: { [propertyName: string]: string }; + /** + * Source settings to tune source endpoint migration behavior + */ + sourceSetting?: { [propertyName: string]: string }; + /** + * Target settings to tune target endpoint migration behavior + */ + targetSetting?: { [propertyName: string]: string }; +} + +/** + * Input for the task that migrates MySQL databases to Azure Database for MySQL for online + * migrations + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskInput { + /** + * Connection information for source MySQL + */ + sourceConnectionInfo: MySqlConnectionInfo; + /** + * Connection information for target Azure Database for MySQL + */ + targetConnectionInfo: MySqlConnectionInfo; + /** + * Databases to migrate + */ + selectedDatabases: MigrateMySqlAzureDbForMySqlSyncDatabaseInput[]; +} + +/** + * Properties for the task that migrates MySQL databases to Azure Database for MySQL for online + * migrations + */ +export interface MigrateMySqlAzureDbForMySqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.MySql.AzureDbForMySql.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateMySqlAzureDbForMySqlSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateMySqlAzureDbForMySqlSyncTaskOutputUnion[]; +} + +/** + * Contains the possible cases for MigrateSqlServerSqlDbSyncTaskOutput. + */ +export type MigrateSqlServerSqlDbSyncTaskOutputUnion = MigrateSqlServerSqlDbSyncTaskOutput | MigrateSqlServerSqlDbSyncTaskOutputDatabaseError | MigrateSqlServerSqlDbSyncTaskOutputError | MigrateSqlServerSqlDbSyncTaskOutputTableLevel | MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel | MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel; + +/** + * Output for the task that migrates on-prem SQL Server databases to Azure SQL Database for online + * migrations + */ +export interface MigrateSqlServerSqlDbSyncTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateSqlServerSqlDbSyncTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigrateSqlServerSqlDbSyncTaskOutputDatabaseError. + */ +export interface MigrateSqlServerSqlDbSyncTaskOutputDatabaseError { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Error message + */ + errorMessage?: string; + /** + * List of error events. + */ + events?: SyncMigrationDatabaseErrorEvent[]; +} + +/** + * An interface representing MigrateSqlServerSqlDbSyncTaskOutputError. + */ +export interface MigrateSqlServerSqlDbSyncTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * An interface representing MigrateSqlServerSqlDbSyncTaskOutputTableLevel. + */ +export interface MigrateSqlServerSqlDbSyncTaskOutputTableLevel { + /** + * Polymorphic Discriminator + */ + resultType: "TableLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tableName?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Number of applied inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: number; + /** + * Number of applied updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: number; + /** + * Number of applied deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: number; + /** + * Estimate to finish full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEstFinishTime?: Date; + /** + * Full load start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadStartedOn?: Date; + /** + * Full load end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadEndedOn?: Date; + /** + * Number of rows applied in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadTotalRows?: number; + /** + * Current state of the table migration. Possible values include: 'BEFORE_LOAD', 'FULL_LOAD', + * 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: SyncTableMigrationState; + /** + * Total number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly totalChangesApplied?: number; + /** + * Number of data errors occurred + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataErrorsCounter?: number; + /** + * Last modified time on target + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastModifiedTime?: Date; +} + +/** + * An interface representing MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel. + */ +export interface MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Migration state that this database is in. Possible values include: 'UNDEFINED', 'CONFIGURING', + * 'INITIALIAZING', 'STARTING', 'RUNNING', 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', + * 'CANCELLING', 'CANCELLED', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationState?: SyncDatabaseMigrationReportingState; + /** + * Number of incoming changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly incomingChanges?: number; + /** + * Number of applied changes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly appliedChanges?: number; + /** + * Number of cdc inserts + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcInsertCounter?: number; + /** + * Number of cdc deletes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcDeleteCounter?: number; + /** + * Number of cdc updates + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly cdcUpdateCounter?: number; + /** + * Number of tables completed in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadCompletedTables?: number; + /** + * Number of tables loading in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadLoadingTables?: number; + /** + * Number of tables queued in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadQueuedTables?: number; + /** + * Number of tables errored in full load + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullLoadErroredTables?: number; + /** + * Indicates if initial load (full load) has been completed + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly initializationCompleted?: boolean; + /** + * CDC apply latency + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly latency?: number; +} + +/** + * An interface representing MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel. + */ +export interface MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServer?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServer?: string; + /** + * Count of databases + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseCount?: number; +} + +/** + * Types of validations to run after the migration + */ +export interface MigrationValidationOptions { + /** + * Allows to compare the schema information between source and target. + */ + enableSchemaValidation?: boolean; + /** + * Allows to perform a checksum based data integrity validation between source and target for the + * selected database / tables . + */ + enableDataIntegrityValidation?: boolean; + /** + * Allows to perform a quick and intelligent query analysis by retrieving queries from the source + * database and executes them in the target. The result will have execution statistics for + * executions in source and target databases for the extracted queries. + */ + enableQueryAnalysisValidation?: boolean; +} + +/** + * Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online + * migrations + */ +export interface MigrateSqlServerSqlDbSyncTaskInput extends SqlMigrationTaskInput { + /** + * Databases to migrate + */ + selectedDatabases: MigrateSqlServerSqlDbSyncDatabaseInput[]; + /** + * Validation options + */ + validationOptions?: MigrationValidationOptions; +} + +/** + * Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for + * online migrations + */ +export interface MigrateSqlServerSqlDbSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.SqlServer.AzureSqlDb.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateSqlServerSqlDbSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateSqlServerSqlDbSyncTaskOutputUnion[]; +} + +/** + * Description about the errors happen while performing migration validation + */ +export interface ValidationError { + /** + * Error Text + */ + text?: string; + /** + * Severity of the error. Possible values include: 'Message', 'Warning', 'Error' + */ + severity?: Severity; +} + +/** + * Wait statistics gathered during query batch execution + */ +export interface WaitStatistics { + /** + * Type of the Wait + */ + waitType?: string; + /** + * Total wait time in millisecond(s). Default value: 0. + */ + waitTimeMs?: number; + /** + * Total no. of waits + */ + waitCount?: number; +} + +/** + * Description about the errors happen while performing migration validation + */ +export interface ExecutionStatistics { + /** + * No. of query executions + */ + executionCount?: number; + /** + * CPU Time in millisecond(s) for the query execution + */ + cpuTimeMs?: number; + /** + * Time taken in millisecond(s) for executing the query + */ + elapsedTimeMs?: number; + /** + * Dictionary of sql query execution wait types and the respective statistics + */ + waitStats?: { [propertyName: string]: WaitStatistics }; + /** + * Indicates whether the query resulted in an error + */ + hasErrors?: boolean; + /** + * List of sql Errors + */ + sqlErrors?: string[]; +} + +/** + * Describes query analysis results for execution in source and target + */ +export interface QueryExecutionResult { + /** + * Query text retrieved from the source server + */ + queryText?: string; + /** + * Total no. of statements in the batch + */ + statementsInBatch?: number; + /** + * Query analysis result from the source + */ + sourceResult?: ExecutionStatistics; + /** + * Query analysis result from the target + */ + targetResult?: ExecutionStatistics; +} + +/** + * Results for query analysis comparison between the source and target + */ +export interface QueryAnalysisValidationResult { + /** + * List of queries executed and it's execution results in source and target + */ + queryResults?: QueryExecutionResult; + /** + * Errors that are part of the execution + */ + validationErrors?: ValidationError; +} + +/** + * Description about the errors happen while performing migration validation + */ +export interface SchemaComparisonValidationResultType { + /** + * Name of the object that has the difference + */ + objectName?: string; + /** + * Type of the object that has the difference. e.g (Table/View/StoredProcedure). Possible values + * include: 'StoredProcedures', 'Table', 'User', 'View', 'Function' + */ + objectType?: ObjectType; + /** + * Update action type with respect to target. Possible values include: 'DeletedOnTarget', + * 'ChangedOnTarget', 'AddedOnTarget' + */ + updateAction?: UpdateActionType; +} + +/** + * Results for schema comparison between the source and target + */ +export interface SchemaComparisonValidationResult { + /** + * List of schema differences between the source and target databases + */ + schemaDifferences?: SchemaComparisonValidationResultType; + /** + * List of errors that happened while performing schema compare validation + */ + validationErrors?: ValidationError; + /** + * Count of source database objects + */ + sourceDatabaseObjectCount?: { [propertyName: string]: number }; + /** + * Count of target database objects + */ + targetDatabaseObjectCount?: { [propertyName: string]: number }; +} + +/** + * Results for checksum based Data Integrity validation results + */ +export interface DataIntegrityValidationResult { + /** + * List of failed table names of source and target pair + */ + failedObjects?: { [propertyName: string]: string }; + /** + * List of errors that happened while performing data integrity validation + */ + validationErrors?: ValidationError; +} + +/** + * Database level validation results + */ +export interface MigrationValidationDatabaseLevelResult { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration Identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationId?: string; + /** + * Name of the source database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceDatabaseName?: string; + /** + * Name of the target database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetDatabaseName?: string; + /** + * Validation start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Validation end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Provides data integrity validation result between the source and target tables that are + * migrated. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataIntegrityValidationResult?: DataIntegrityValidationResult; + /** + * Provides schema comparison result between source and target database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly schemaValidationResult?: SchemaComparisonValidationResult; + /** + * Results of some of the query execution result between source and target database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly queryAnalysisValidationResult?: QueryAnalysisValidationResult; + /** + * Current status of validation at the database level. Possible values include: 'Default', + * 'NotStarted', 'Initialized', 'InProgress', 'Completed', 'CompletedWithIssues', 'Stopped', + * 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: ValidationStatus; +} + +/** + * Migration Validation Database level summary result + */ +export interface MigrationValidationDatabaseSummaryResult { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration Identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationId?: string; + /** + * Name of the source database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceDatabaseName?: string; + /** + * Name of the target database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetDatabaseName?: string; + /** + * Validation start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Validation end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Current status of validation at the database level. Possible values include: 'Default', + * 'NotStarted', 'Initialized', 'InProgress', 'Completed', 'CompletedWithIssues', 'Stopped', + * 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: ValidationStatus; +} + +/** + * Migration Validation Result + */ +export interface MigrationValidationResult { + /** + * Migration validation result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration Identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationId?: string; + /** + * Validation summary results for each database + */ + summaryResults?: { [propertyName: string]: MigrationValidationDatabaseSummaryResult }; + /** + * Current status of validation at the migration level. Status from the database validation + * result status will be aggregated here. Possible values include: 'Default', 'NotStarted', + * 'Initialized', 'InProgress', 'Completed', 'CompletedWithIssues', 'Stopped', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: ValidationStatus; +} + +/** + * Contains the possible cases for MigrateSqlServerSqlDbTaskOutput. + */ +export type MigrateSqlServerSqlDbTaskOutputUnion = MigrateSqlServerSqlDbTaskOutput | MigrateSqlServerSqlDbTaskOutputError | MigrateSqlServerSqlDbTaskOutputTableLevel | MigrateSqlServerSqlDbTaskOutputDatabaseLevel | MigrateSqlServerSqlDbTaskOutputMigrationLevel; + +/** + * Output for the task that migrates on-prem SQL Server databases to Azure SQL Database + */ +export interface MigrateSqlServerSqlDbTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateSqlServerSqlDbTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigrateSqlServerSqlDbTaskOutputError. + */ +export interface MigrateSqlServerSqlDbTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * An interface representing MigrateSqlServerSqlDbTaskOutputTableLevel. + */ +export interface MigrateSqlServerSqlDbTaskOutputTableLevel { + /** + * Polymorphic Discriminator + */ + resultType: "TableLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly objectName?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Status message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly statusMessage?: string; + /** + * Number of items + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly itemsCount?: number; + /** + * Number of successfully completed items + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly itemsCompletedCount?: number; + /** + * Wildcard string prefix to use for querying all errors of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorPrefix?: string; + /** + * Wildcard string prefix to use for querying all sub-tem results of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resultPrefix?: string; +} + +/** + * Basic summary of a data item migration + */ +export interface DataItemMigrationSummaryResult { + /** + * Name of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Status message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly statusMessage?: string; + /** + * Number of items + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly itemsCount?: number; + /** + * Number of successfully completed items + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly itemsCompletedCount?: number; + /** + * Wildcard string prefix to use for querying all errors of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorPrefix?: string; + /** + * Wildcard string prefix to use for querying all sub-tem results of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resultPrefix?: string; +} + +/** + * An interface representing MigrateSqlServerSqlDbTaskOutputDatabaseLevel. + */ +export interface MigrateSqlServerSqlDbTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Migration stage that this database is in. Possible values include: 'None', 'Initialize', + * 'Backup', 'FileCopy', 'Restore', 'Completed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly stage?: DatabaseMigrationStage; + /** + * Status message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly statusMessage?: string; + /** + * Migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Number of objects + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly numberOfObjects?: number; + /** + * Number of successfully completed objects + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly numberOfObjectsCompleted?: number; + /** + * Number of database/object errors. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorCount?: number; + /** + * Wildcard string prefix to use for querying all errors of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorPrefix?: string; + /** + * Wildcard string prefix to use for querying all sub-tem results of the item + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resultPrefix?: string; + /** + * Migration exceptions and warnings. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; + /** + * Summary of object results in the migration + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly objectSummary?: { [propertyName: string]: DataItemMigrationSummaryResult }; +} + +/** + * Migration validation report result, contains the url for downloading the generated report. + */ +export interface MigrationReportResult { + /** + * Migration validation result identifier + */ + id?: string; + /** + * The url of the report. + */ + reportUrl?: string; +} + +/** + * Summary of database results in the migration + */ +export interface DatabaseSummaryResult extends DataItemMigrationSummaryResult { + /** + * Size of the database in megabytes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sizeMB?: number; +} + +/** + * An interface representing MigrateSqlServerSqlDbTaskOutputMigrationLevel. + */ +export interface MigrateSqlServerSqlDbTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Duration of task execution in seconds. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly durationInSeconds?: number; + /** + * Current status of migration. Possible values include: 'Default', 'Connecting', + * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped', + * 'Completed', 'CompletedWithWarnings' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: MigrationStatus; + /** + * Migration status message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly statusMessage?: string; + /** + * Migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Selected databases as a map from database name to database id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: { [propertyName: string]: string }; + /** + * Summary of database results in the migration + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseSummary?: { [propertyName: string]: DatabaseSummaryResult }; + /** + * Migration Validation Results + */ + migrationValidationResult?: MigrationValidationResult; + /** + * Migration Report Result, provides unique url for downloading your migration report. + */ + migrationReportResult?: MigrationReportResult; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Migration exceptions and warnings. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * Database specific information for SQL to Azure SQL DB migration task inputs + */ +export interface MigrateSqlServerSqlDbDatabaseInput { + /** + * Name of the database + */ + name?: string; + /** + * Name of target database. Note: Target database will be truncated before starting migration. + */ + targetDatabaseName?: string; + /** + * Whether to set database read only before migration + */ + makeSourceDbReadOnly?: boolean; + /** + * Mapping of source to target tables + */ + tableMap?: { [propertyName: string]: string }; +} + +/** + * Input for the task that migrates on-prem SQL Server databases to Azure SQL Database + */ +export interface MigrateSqlServerSqlDbTaskInput extends SqlMigrationTaskInput { + /** + * Databases to migrate + */ + selectedDatabases: MigrateSqlServerSqlDbDatabaseInput[]; + /** + * Options for enabling various post migration validations. Available options, + * 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables + * after the migration to ensure the correctness of the data. + * 2.) Schema Validation: Performs a thorough schema comparison between the source and target + * tables and provides a list of differences between the source and target database, 3.) Query + * Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache + * or Query Store and execute them and compares the execution time between the source and target + * database. + */ + validationOptions?: MigrationValidationOptions; +} + +/** + * Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database + */ +export interface MigrateSqlServerSqlDbTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.SqlServer.SqlDb"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateSqlServerSqlDbTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateSqlServerSqlDbTaskOutputUnion[]; +} + +/** + * Contains the possible cases for MigrateSqlServerSqlMISyncTaskOutput. + */ +export type MigrateSqlServerSqlMISyncTaskOutputUnion = MigrateSqlServerSqlMISyncTaskOutput | MigrateSqlServerSqlMISyncTaskOutputError | MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel | MigrateSqlServerSqlMISyncTaskOutputMigrationLevel; + +/** + * Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using + * Log Replay Service. + */ +export interface MigrateSqlServerSqlMISyncTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateSqlServerSqlMISyncTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigrateSqlServerSqlMISyncTaskOutputError. + */ +export interface MigrateSqlServerSqlMISyncTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * Information of the backup file + */ +export interface BackupFileInfo { + /** + * Location of the backup file in shared folder + */ + fileLocation?: string; + /** + * Sequence number of the backup file in the backup set + */ + familySequenceNumber?: number; + /** + * Status of the backup file during migration. Possible values include: 'Arrived', 'Queued', + * 'Uploading', 'Uploaded', 'Restoring', 'Restored', 'Cancelled' + */ + status?: BackupFileStatus; +} + +/** + * Information of backup set + */ +export interface BackupSetInfo { + /** + * Id for the set of backup files + */ + backupSetId?: string; + /** + * First log sequence number of the backup file + */ + firstLsn?: string; + /** + * Last log sequence number of the backup file + */ + lastLsn?: string; + /** + * Last modified time of the backup file in share location + */ + lastModifiedTime?: Date; + /** + * Enum of the different backup types. Possible values include: 'Database', 'TransactionLog', + * 'File', 'DifferentialDatabase', 'DifferentialFile', 'Partial', 'DifferentialPartial' + */ + backupType?: BackupType; + /** + * List of files in the backup set + */ + listOfBackupFiles?: BackupFileInfo[]; + /** + * Name of the database to which the backup set belongs + */ + databaseName?: string; + /** + * Date and time that the backup operation began + */ + backupStartDate?: Date; + /** + * Date and time that the backup operation finished + */ + backupFinishedDate?: Date; + /** + * Whether the backup set is restored or not + */ + isBackupRestored?: boolean; +} + +/** + * An interface representing MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel. + */ +export interface MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceDatabaseName?: string; + /** + * Current state of database. Possible values include: 'UNDEFINED', 'INITIAL', + * 'FULL_BACKUP_UPLOAD_START', 'LOG_SHIPPING_START', 'UPLOAD_LOG_FILES_START', 'CUTOVER_START', + * 'POST_CUTOVER_COMPLETE', 'COMPLETED', 'CANCELLED', 'FAILED' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationState?: DatabaseMigrationState; + /** + * Database migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Database migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Details of full backup set + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fullBackupSetInfo?: BackupSetInfo; + /** + * Last applied backup set information + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastRestoredBackupSetInfo?: BackupSetInfo; + /** + * Backup sets that are currently active (Either being uploaded or getting restored) + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly activeBackupSets?: BackupSetInfo[]; + /** + * Name of container created in the Azure Storage account where backups are copied to + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly containerName?: string; + /** + * prefix string to use for querying errors for this database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorPrefix?: string; + /** + * Whether full backup has been applied to the target database or not + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isFullBackupRestored?: boolean; + /** + * Migration exceptions and warnings + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * An interface representing MigrateSqlServerSqlMISyncTaskOutputMigrationLevel. + */ +export interface MigrateSqlServerSqlMISyncTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Count of databases + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseCount?: number; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Source server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerName?: string; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Target server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerName?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Number of database level errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseErrorCount?: number; +} + +/** + * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online + * scenario. + */ +export interface MigrateSqlServerSqlMISyncTaskInput extends SqlServerSqlMISyncTaskInput { +} + +/** + * Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance + * sync scenario + */ +export interface MigrateSqlServerSqlMISyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateSqlServerSqlMISyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateSqlServerSqlMISyncTaskOutputUnion[]; +} + +/** + * Contains the possible cases for MigrateSqlServerSqlMITaskOutput. + */ +export type MigrateSqlServerSqlMITaskOutputUnion = MigrateSqlServerSqlMITaskOutput | MigrateSqlServerSqlMITaskOutputError | MigrateSqlServerSqlMITaskOutputLoginLevel | MigrateSqlServerSqlMITaskOutputAgentJobLevel | MigrateSqlServerSqlMITaskOutputDatabaseLevel | MigrateSqlServerSqlMITaskOutputMigrationLevel; + +/** + * Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + */ +export interface MigrateSqlServerSqlMITaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateSqlServerSqlMITaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * An interface representing MigrateSqlServerSqlMITaskOutputError. + */ +export interface MigrateSqlServerSqlMITaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * An interface representing MigrateSqlServerSqlMITaskOutputLoginLevel. + */ +export interface MigrateSqlServerSqlMITaskOutputLoginLevel { + /** + * Polymorphic Discriminator + */ + resultType: "LoginLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Login name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly loginName?: string; + /** + * Current state of login. Possible values include: 'None', 'InProgress', 'Failed', 'Warning', + * 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Current stage of login. Possible values include: 'None', 'Initialize', 'LoginMigration', + * 'EstablishUserMapping', 'AssignRoleMembership', 'AssignRoleOwnership', + * 'EstablishServerPermissions', 'EstablishObjectPermissions', 'Completed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly stage?: LoginMigrationStage; + /** + * Login migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Login migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Login migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Login migration errors and warnings per login + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * An interface representing MigrateSqlServerSqlMITaskOutputAgentJobLevel. + */ +export interface MigrateSqlServerSqlMITaskOutputAgentJobLevel { + /** + * Polymorphic Discriminator + */ + resultType: "AgentJobLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Agent Job name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The state of the original Agent Job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isEnabled?: boolean; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Migration errors and warnings per job + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * An interface representing MigrateSqlServerSqlMITaskOutputDatabaseLevel. + */ +export interface MigrateSqlServerSqlMITaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * Size of the database in megabytes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sizeMB?: number; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Current stage of migration. Possible values include: 'None', 'Initialize', 'Backup', + * 'FileCopy', 'Restore', 'Completed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly stage?: DatabaseMigrationStage; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Migration exceptions and warnings + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * Information of orphaned users on the SQL server database. + */ +export interface OrphanedUserInfo { + /** + * Name of the orphaned user + */ + name?: string; + /** + * Parent database of the user + */ + databaseName?: string; +} + +/** + * Server role migration result + */ +export interface StartMigrationScenarioServerRoleResult { + /** + * Name of server role. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Migration exceptions and warnings. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * An interface representing MigrateSqlServerSqlMITaskOutputMigrationLevel. + */ +export interface MigrateSqlServerSqlMITaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Current status of migration. Possible values include: 'Default', 'Connecting', + * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped', + * 'Completed', 'CompletedWithWarnings' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: MigrationStatus; + /** + * Current state of migration. Possible values include: 'None', 'InProgress', 'Failed', + * 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Selected agent jobs as a map from name to id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly agentJobs?: { [propertyName: string]: string }; + /** + * Selected logins as a map from name to id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly logins?: { [propertyName: string]: string }; + /** + * Migration progress message + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Map of server role migration results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverRoleResults?: { [propertyName: string]: StartMigrationScenarioServerRoleResult }; + /** + * List of orphaned users. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly orphanedUsersInfo?: OrphanedUserInfo[]; + /** + * Selected databases as a map from database name to database id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: { [propertyName: string]: string }; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Migration exceptions and warnings. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly exceptionsAndWarnings?: ReportableException[]; +} + +/** + * Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance. + */ +export interface MigrateSqlServerSqlMITaskInput extends SqlMigrationTaskInput { + /** + * Databases to migrate + */ + selectedDatabases: MigrateSqlServerSqlMIDatabaseInput[]; + /** + * Logins to migrate. + */ + selectedLogins?: string[]; + /** + * Agent Jobs to migrate. + */ + selectedAgentJobs?: string[]; + /** + * Backup file share information for all selected databases. + */ + backupFileShare?: FileShare; + /** + * SAS URI of Azure Storage Account Container to be used for storing backup files. + */ + backupBlobShare: BlobShare; + /** + * Backup Mode to specify whether to use existing backup or create new backup. If using existing + * backups, backup file paths are required to be provided in selectedDatabases. Possible values + * include: 'CreateBackup', 'ExistingBackup' + */ + backupMode?: BackupMode; +} + +/** + * Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance + */ +export interface MigrateSqlServerSqlMITaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.SqlServer.AzureSqlDbMI"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateSqlServerSqlMITaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateSqlServerSqlMITaskOutputUnion[]; +} + +/** + * Properties for the task that migrates data between MongoDB data sources + */ +export interface MigrateMongoDbTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Migrate.MongoDb"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + input?: MongoDbMigrationSettings; + /** + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MongoDbProgress[]; +} + +/** + * Output for the task that validates connection to Azure Database for MySQL and target server + * requirements + */ +export interface ConnectToTargetAzureDbForMySqlTaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Version of the target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverVersion?: string; + /** + * List of databases on target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: string[]; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that validates connection to Azure Database for MySQL and target server + * requirements + */ +export interface ConnectToTargetAzureDbForMySqlTaskInput { + /** + * Connection information for source MySQL server + */ + sourceConnectionInfo: MySqlConnectionInfo; + /** + * Connection information for target Azure Database for MySQL server + */ + targetConnectionInfo: MySqlConnectionInfo; +} + +/** + * Properties for the task that validates connection to Azure Database for MySQL and target server + * requirements + */ +export interface ConnectToTargetAzureDbForMySqlTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToTarget.AzureDbForMySql"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToTargetAzureDbForMySqlTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToTargetAzureDbForMySqlTaskOutput[]; +} + +/** + * Output for the task that validates connection to Azure SQL Database Managed Instance. + */ +export interface ConnectToTargetSqlMISyncTaskOutput { + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that validates connection to Azure SQL Database Managed Instance online + * scenario. + */ +export interface ConnectToTargetSqlMISyncTaskInput { + /** + * Connection information for Azure SQL Database Managed Instance + */ + targetConnectionInfo: MiSqlConnectionInfo; + /** + * Azure Active Directory Application the DMS instance will use to connect to the target instance + * of Azure SQL Database Managed Instance and the Azure Storage Account + */ + azureApp: AzureActiveDirectoryApp; +} + +/** + * Properties for the task that validates connection to Azure SQL Database Managed Instance + */ +export interface ConnectToTargetSqlMISyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToTarget.AzureSqlDbMI.Sync.LRS"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToTargetSqlMISyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToTargetSqlMISyncTaskOutput[]; +} + +/** + * Output for the task that validates connection to Azure SQL Database Managed Instance. + */ +export interface ConnectToTargetSqlMITaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * List of logins on the target server. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly logins?: string[]; + /** + * List of agent jobs on the target server. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly agentJobs?: string[]; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that validates connection to Azure SQL Database Managed Instance. + */ +export interface ConnectToTargetSqlMITaskInput { + /** + * Connection information for target SQL Server + */ + targetConnectionInfo: SqlConnectionInfo; + /** + * Flag for whether to collect logins from target SQL MI server. Default value: true. + */ + collectLogins?: boolean; + /** + * Flag for whether to collect agent jobs from target SQL MI server. Default value: true. + */ + collectAgentJobs?: boolean; + /** + * Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. Default + * value: false. + */ + validateSsisCatalogOnly?: boolean; +} + +/** + * Properties for the task that validates connection to Azure SQL Database Managed Instance + */ +export interface ConnectToTargetSqlMITaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToTarget.AzureSqlDbMI"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToTargetSqlMITaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToTargetSqlMITaskOutput[]; +} + +/** + * Table properties + */ +export interface DatabaseTable { + /** + * Indicates whether table is empty or not + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly hasRows?: boolean; + /** + * Schema-qualified name of the table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; +} + +/** + * Output for the task that gets the list of tables for a provided list of PostgreSQL databases. + */ +export interface GetUserTablesPostgreSqlTaskOutput { + /** + * The database this result is for + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * List of valid tables found for this database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tables?: DatabaseTable[]; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that gets the list of tables for a provided list of PostgreSQL databases. + */ +export interface GetUserTablesPostgreSqlTaskInput { + /** + * Information for connecting to PostgreSQL source + */ + connectionInfo: PostgreSqlConnectionInfo; + /** + * List of PostgreSQL databases for which to collect tables + */ + selectedDatabases: string[]; +} + +/** + * Properties for the task that collects user tables for the given list of databases + */ +export interface GetUserTablesPostgreSqlTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "GetUserTablesPostgreSql"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: GetUserTablesPostgreSqlTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: GetUserTablesPostgreSqlTaskOutput[]; +} + +/** + * Output for the task that gets the list of tables contained within a provided list of Oracle + * schemas. + */ +export interface GetUserTablesOracleTaskOutput { + /** + * The schema this result is for + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly schemaName?: string; + /** + * List of valid tables found for this schema + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tables?: DatabaseTable[]; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that gets the list of tables contained within a provided list of Oracle + * schemas. + */ +export interface GetUserTablesOracleTaskInput { + /** + * Information for connecting to Oracle source + */ + connectionInfo: OracleConnectionInfo; + /** + * List of Oracle schemas for which to collect tables + */ + selectedSchemas: string[]; +} + +/** + * Properties for the task that collects user tables for the given list of Oracle schemas + */ +export interface GetUserTablesOracleTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "GetUserTablesOracle"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: GetUserTablesOracleTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: GetUserTablesOracleTaskOutput[]; +} + +/** + * Output of the task that collects user tables for the given list of databases + */ +export interface GetUserTablesSqlSyncTaskOutput { + /** + * Mapping from database name to list of source tables + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databasesToSourceTables?: { [propertyName: string]: DatabaseTable[] }; + /** + * Mapping from database name to list of target tables + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databasesToTargetTables?: { [propertyName: string]: DatabaseTable[] }; + /** + * Mapping from database name to list of validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tableValidationErrors?: { [propertyName: string]: string[] }; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that collects user tables for the given list of databases + */ +export interface GetUserTablesSqlSyncTaskInput { + /** + * Connection information for SQL Server + */ + sourceConnectionInfo: SqlConnectionInfo; + /** + * Connection information for SQL DB + */ + targetConnectionInfo: SqlConnectionInfo; + /** + * List of source database names to collect tables for + */ + selectedSourceDatabases: string[]; + /** + * List of target database names to collect tables for + */ + selectedTargetDatabases: string[]; +} + +/** + * Properties for the task that collects user tables for the given list of databases + */ +export interface GetUserTablesSqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "GetUserTables.AzureSqlDb.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: GetUserTablesSqlSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: GetUserTablesSqlSyncTaskOutput[]; +} + +/** + * Output of the task that collects user tables for the given list of databases + */ +export interface GetUserTablesSqlTaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Mapping from database name to list of tables + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databasesToTables?: { [propertyName: string]: DatabaseTable[] }; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that collects user tables for the given list of databases + */ +export interface GetUserTablesSqlTaskInput { + /** + * Connection information for SQL Server + */ + connectionInfo: SqlConnectionInfo; + /** + * List of database names to collect tables for + */ + selectedDatabases: string[]; +} + +/** + * Properties for the task that collects user tables for the given list of databases + */ +export interface GetUserTablesSqlTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "GetUserTables.Sql"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: GetUserTablesSqlTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: GetUserTablesSqlTaskOutput[]; +} + +/** + * An interface representing + * ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem. + */ +export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem { + database?: string; + schemas?: string[]; +} + +/** + * Output for the task that validates connection to Azure Database for PostgreSQL and target server + * requirements for Oracle source. + */ +export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput { + /** + * Version of the target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * List of databases on target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: string[]; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; + /** + * Mapping of schemas per database + */ + databaseSchemaMap?: ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem[]; +} + +/** + * Input for the task that validates connection to Azure Database for PostgreSQL and target server + * requirements for Oracle source. + */ +export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput { + /** + * Connection information for target Azure Database for PostgreSQL server + */ + targetConnectionInfo: PostgreSqlConnectionInfo; +} + +/** + * Properties for the task that validates connection to Azure Database For PostgreSQL server and + * target server requirements for online migration for Oracle source. + */ +export interface ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput[]; +} + +/** + * Output for the task that validates connection to Azure Database for PostgreSQL and target server + * requirements + */ +export interface ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Version of the target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * List of databases on target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: string[]; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that validates connection to Azure Database for PostgreSQL and target server + * requirements + */ +export interface ConnectToTargetAzureDbForPostgreSqlSyncTaskInput { + /** + * Connection information for source PostgreSQL server + */ + sourceConnectionInfo: PostgreSqlConnectionInfo; + /** + * Connection information for target Azure Database for PostgreSQL server + */ + targetConnectionInfo: PostgreSqlConnectionInfo; +} + +/** + * Properties for the task that validates connection to Azure Database For PostgreSQL server and + * target server requirements for online migration + */ +export interface ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToTarget.AzureDbForPostgreSql.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToTargetAzureDbForPostgreSqlSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput[]; +} + +/** + * Output for the task that validates connection to SQL DB and target server requirements + */ +export interface ConnectToTargetSqlDbTaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Source databases as a map from database name to database id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: { [propertyName: string]: string }; + /** + * Version of the target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; +} + +/** + * Input for the task that validates connection to Azure SQL DB and target server requirements + */ +export interface ConnectToTargetSqlSqlDbSyncTaskInput { + /** + * Connection information for source SQL Server + */ + sourceConnectionInfo: SqlConnectionInfo; + /** + * Connection information for target SQL DB + */ + targetConnectionInfo: SqlConnectionInfo; +} + +/** + * Properties for the task that validates connection to SQL DB and target server requirements for + * online migration + */ +export interface ConnectToTargetSqlSqlDbSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToTarget.SqlDb.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToTargetSqlSqlDbSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToTargetSqlDbTaskOutput[]; +} + +/** + * Input for the task that validates connection to SQL DB and target server requirements + */ +export interface ConnectToTargetSqlDbTaskInput { + /** + * Connection information for target SQL DB + */ + targetConnectionInfo: SqlConnectionInfo; +} + +/** + * Properties for the task that validates connection to SQL DB and target server requirements + */ +export interface ConnectToTargetSqlDbTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToTarget.SqlDb"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToTargetSqlDbTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToTargetSqlDbTaskOutput[]; +} + +/** + * Output for the task that validates Oracle database connection + */ +export interface ConnectToSourceOracleSyncTaskOutput { + /** + * Version of the source server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * List of schemas on source server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: string[]; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that validates Oracle database connection + */ +export interface ConnectToSourceOracleSyncTaskInput { + /** + * Information for connecting to Oracle source + */ + sourceConnectionInfo: OracleConnectionInfo; +} + +/** + * Properties for the task that validates Oracle database connection + */ +export interface ConnectToSourceOracleSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToSource.Oracle.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToSourceOracleSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToSourceOracleSyncTaskOutput[]; +} + +/** + * Output for the task that validates connection to PostgreSQL and source server requirements + */ +export interface ConnectToSourcePostgreSqlSyncTaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Version of the source server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * List of databases on source server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: string[]; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that validates connection to PostgreSQL and source server requirements + */ +export interface ConnectToSourcePostgreSqlSyncTaskInput { + /** + * Connection information for source PostgreSQL server + */ + sourceConnectionInfo: PostgreSqlConnectionInfo; +} + +/** + * Properties for the task that validates connection to PostgreSQL server and source server + * requirements for online migration + */ +export interface ConnectToSourcePostgreSqlSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToSource.PostgreSql.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToSourcePostgreSqlSyncTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToSourcePostgreSqlSyncTaskOutput[]; +} + +/** + * Information about migration eligibility of a server object + */ +export interface MigrationEligibilityInfo { + /** + * Whether object is eligible for migration or not. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isEligibileForMigration?: boolean; + /** + * Information about eligibility failure for the server object. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationMessages?: string[]; +} + +/** + * Contains the possible cases for ConnectToSourceSqlServerTaskOutput. + */ +export type ConnectToSourceSqlServerTaskOutputUnion = ConnectToSourceSqlServerTaskOutput | ConnectToSourceSqlServerTaskOutputAgentJobLevel | ConnectToSourceSqlServerTaskOutputLoginLevel | ConnectToSourceSqlServerTaskOutputDatabaseLevel | ConnectToSourceSqlServerTaskOutputTaskLevel; + +/** + * Output for the task that validates connection to SQL Server and also validates source server + * requirements + */ +export interface ConnectToSourceSqlServerTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "ConnectToSourceSqlServerTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * Agent Job level output for the task that validates connection to SQL Server and also validates + * source server requirements + */ +export interface ConnectToSourceSqlServerTaskOutputAgentJobLevel { + /** + * Polymorphic Discriminator + */ + resultType: "AgentJobLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Agent Job name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of Agent Job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly jobCategory?: string; + /** + * The state of the original Agent Job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isEnabled?: boolean; + /** + * The owner of the Agent Job + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly jobOwner?: string; + /** + * UTC Date and time when the Agent Job was last executed. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly lastExecutedOn?: Date; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; + /** + * Information about eligibility of agent job for migration. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationEligibility?: MigrationEligibilityInfo; +} + +/** + * Login level output for the task that validates connection to SQL Server and also validates + * source server requirements + */ +export interface ConnectToSourceSqlServerTaskOutputLoginLevel { + /** + * Polymorphic Discriminator + */ + resultType: "LoginLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Login name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * The type of login. Possible values include: 'WindowsUser', 'WindowsGroup', 'SqlLogin', + * 'Certificate', 'AsymmetricKey', 'ExternalUser', 'ExternalGroup' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly loginType?: LoginType; + /** + * The default database for the login. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly defaultDatabase?: string; + /** + * The state of the login. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly isEnabled?: boolean; + /** + * Information about eligibility of login for migration. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly migrationEligibility?: MigrationEligibilityInfo; +} + +/** + * Database file specific information + */ +export interface DatabaseFileInfo { + /** + * Name of the database + */ + databaseName?: string; + /** + * Unique identifier for database file + */ + id?: string; + /** + * Logical name of the file + */ + logicalName?: string; + /** + * Operating-system full path of the file + */ + physicalFullName?: string; + /** + * Suggested full path of the file for restoring + */ + restoreFullName?: string; + /** + * Database file type. Possible values include: 'Rows', 'Log', 'Filestream', 'NotSupported', + * 'Fulltext' + */ + fileType?: DatabaseFileType; + /** + * Size of the file in megabytes + */ + sizeMB?: number; +} + +/** + * Database level output for the task that validates connection to SQL Server and also validates + * source server requirements + */ +export interface ConnectToSourceSqlServerTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Database name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Size of the file in megabytes + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sizeMB?: number; + /** + * The list of database files + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseFiles?: DatabaseFileInfo[]; + /** + * SQL Server compatibility level of database. Possible values include: 'CompatLevel80', + * 'CompatLevel90', 'CompatLevel100', 'CompatLevel110', 'CompatLevel120', 'CompatLevel130', + * 'CompatLevel140' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly compatibilityLevel?: DatabaseCompatLevel; + /** + * State of the database. Possible values include: 'Online', 'Restoring', 'Recovering', + * 'RecoveryPending', 'Suspect', 'Emergency', 'Offline', 'Copying', 'OfflineSecondary' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseState?: DatabaseState; +} + +/** + * Task level output for the task that validates connection to SQL Server and also validates source + * server requirements + */ +export interface ConnectToSourceSqlServerTaskOutputTaskLevel { + /** + * Polymorphic Discriminator + */ + resultType: "TaskLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Source databases as a map from database name to database id + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: { [propertyName: string]: string }; + /** + * Source logins as a map from login name to login id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly logins?: { [propertyName: string]: string }; + /** + * Source agent jobs as a map from agent job name to id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly agentJobs?: { [propertyName: string]: string }; + /** + * Mapping from database name to TDE certificate name, if applicable + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseTdeCertificateMapping?: { [propertyName: string]: string }; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the task that validates connection to SQL Server and also validates source server + * requirements + */ +export interface ConnectToSourceSqlServerTaskInput { + /** + * Connection information for Source SQL Server + */ + sourceConnectionInfo: SqlConnectionInfo; + /** + * Permission group for validations. Possible values include: 'Default', + * 'MigrationFromSqlServerToAzureDB', 'MigrationFromSqlServerToAzureMI', + * 'MigrationFromMySQLToAzureDBForMySQL' + */ + checkPermissionsGroup?: ServerLevelPermissionsGroup; + /** + * Flag for whether to collect databases from source server. Default value: true. + */ + collectDatabases?: boolean; + /** + * Flag for whether to collect logins from source server. Default value: false. + */ + collectLogins?: boolean; + /** + * Flag for whether to collect agent jobs from source server. Default value: false. + */ + collectAgentJobs?: boolean; + /** + * Flag for whether to collect TDE Certificate names from source server. Default value: false. + */ + collectTdeCertificateInfo?: boolean; + /** + * Flag for whether to validate SSIS catalog is reachable on the source server. Default value: + * false. + */ + validateSsisCatalogOnly?: boolean; +} + +/** + * Properties for the task that validates connection to SQL Server and source server requirements + * for online migration + */ +export interface ConnectToSourceSqlServerSyncTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToSource.SqlServer.Sync"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToSourceSqlServerTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToSourceSqlServerTaskOutputUnion[]; +} + +/** + * Properties for the task that validates connection to SQL Server and also validates source server + * requirements + */ +export interface ConnectToSourceSqlServerTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToSource.SqlServer"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToSourceSqlServerTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToSourceSqlServerTaskOutputUnion[]; +} + +/** + * Describes a MongoDB shard key + */ +export interface MongoDbShardKeyInfo { + /** + * The fields within the shard key + */ + fields: MongoDbShardKeyField[]; + /** + * Whether the shard key is unique + */ + isUnique: boolean; +} + +/** + * Describes a database or collection within a MongoDB data source + */ +export interface MongoDbObjectInfo { + /** + * The average document size, or -1 if the average size is unknown + */ + averageDocumentSize: number; + /** + * The estimated total data size, in bytes, or -1 if the size is unknown. + */ + dataSize: number; + /** + * The estimated total number of documents, or -1 if the document count is unknown + */ + documentCount: number; + /** + * The unqualified name of the database or collection + */ + name: string; + /** + * The qualified name of the database or collection. For a collection, this is the + * database-qualified name. + */ + qualifiedName: string; +} + +/** + * Describes a supported collection within a MongoDB database + */ +export interface MongoDbCollectionInfo extends MongoDbObjectInfo { + /** + * The name of the database containing the collection + */ + databaseName: string; + /** + * Whether the collection is a capped collection (i.e. whether it has a fixed size and acts like + * a circular buffer) + */ + isCapped: boolean; + /** + * Whether the collection is system collection + */ + isSystemCollection: boolean; + /** + * Whether the collection is a view of another collection + */ + isView: boolean; + /** + * The shard key on the collection, or null if the collection is not sharded + */ + shardKey?: MongoDbShardKeyInfo; + /** + * Whether the database has sharding enabled. Note that the migration task will enable sharding + * on the target if necessary. + */ + supportsSharding: boolean; + /** + * The name of the collection that this is a view of, if IsView is true + */ + viewOf?: string; +} + +/** + * Describes a database within a MongoDB data source + */ +export interface MongoDbDatabaseInfo extends MongoDbObjectInfo { + /** + * A list of supported collections in a MongoDB database + */ + collections: MongoDbCollectionInfo[]; + /** + * Whether the database has sharding enabled. Note that the migration task will enable sharding + * on the target if necessary. + */ + supportsSharding: boolean; +} + +/** + * Describes a MongoDB data source + */ +export interface MongoDbClusterInfo { + /** + * A list of non-system databases in the cluster + */ + databases: MongoDbDatabaseInfo[]; + /** + * Whether the cluster supports sharded collections + */ + supportsSharding: boolean; + /** + * The type of data source. Possible values include: 'BlobContainer', 'CosmosDb', 'MongoDb' + */ + type: MongoDbClusterType; + /** + * The version of the data source in the form x.y.z (e.g. 3.6.7). Not used if Type is + * BlobContainer. + */ + version: string; +} + +/** + * Properties for the task that validates the connection to and provides information about a + * MongoDB server + */ +export interface ConnectToMongoDbTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Connect.MongoDb"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + input?: MongoDbConnectionInfo; + /** + * An array containing a single MongoDbClusterInfo object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MongoDbClusterInfo[]; +} + +/** + * A task resource + */ +export interface ProjectTask extends Resource { + /** + * HTTP strong entity tag value. This is ignored if submitted. + */ + etag?: string; + /** + * Custom task properties + */ + properties?: ProjectTaskPropertiesUnion; +} + +/** + * An Azure SKU instance + */ +export interface ServiceSku { + /** + * The unique name of the SKU, such as 'P3' + */ + name?: string; + /** + * The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical' + */ + tier?: string; + /** + * The SKU family, used when the service has multiple performance classes within a tier, such as + * 'A', 'D', etc. for virtual machines + */ + family?: string; + /** + * The size of the SKU, used when the name alone does not denote a service size or when a SKU has + * multiple performance classes within a family, e.g. 'A1' for virtual machines + */ + size?: string; + /** + * The capacity of the SKU, if it supports scaling + */ + capacity?: number; +} + +/** + * A Database Migration Service resource + */ +export interface DataMigrationService extends TrackedResource { + /** + * HTTP strong entity tag value. Ignored if submitted + */ + etag?: string; + /** + * The resource kind. Only 'vm' (the default) is supported. + */ + kind?: string; + /** + * The resource's provisioning state. Possible values include: 'Accepted', 'Deleting', + * 'Deploying', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop', 'Succeeded', + * 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: ServiceProvisioningState; + /** + * The public key of the service, used to encrypt secrets sent to the service + */ + publicKey?: string; + /** + * The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should + * be joined + */ + virtualSubnetId: string; + /** + * Service SKU + */ + sku?: ServiceSku; +} + +/** + * A resource type and proposed name + */ +export interface NameAvailabilityRequest { + /** + * The proposed resource name + */ + name?: string; + /** + * The resource type chain (e.g. virtualMachines/extensions) + */ + type?: string; +} + +/** + * Project Database Details + */ +export interface DatabaseInfo { + /** + * Name of the database + */ + sourceDatabaseName: string; +} + +/** + * A project resource + */ +export interface Project extends TrackedResource { + /** + * Source platform for the project. Possible values include: 'SQL', 'MySQL', 'PostgreSql', + * 'MongoDb', 'Unknown' + */ + sourcePlatform: ProjectSourcePlatform; + /** + * Target platform for the project. Possible values include: 'SQLDB', 'SQLMI', 'AzureDbForMySql', + * 'AzureDbForPostgreSql', 'MongoDb', 'Unknown' + */ + targetPlatform: ProjectTargetPlatform; + /** + * UTC Date and time when project was created + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly creationTime?: Date; + /** + * Information for connecting to source + */ + sourceConnectionInfo?: ConnectionInfoUnion; + /** + * Information for connecting to target + */ + targetConnectionInfo?: ConnectionInfoUnion; + /** + * List of DatabaseInfo + */ + databasesInfo?: DatabaseInfo[]; + /** + * The project's provisioning state. Possible values include: 'Deleting', 'Succeeded' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly provisioningState?: ProjectProvisioningState; +} + +/** + * Error information. + */ +export interface ApiError { + /** + * Error information in OData format + */ + error?: ODataError; +} + +/** + * File storage information. + */ +export interface FileStorageInfo { + /** + * A URI that can be used to access the file content. + */ + uri?: string; + headers?: { [propertyName: string]: string }; +} + +/** + * Localized display text + */ +export interface ServiceOperationDisplay { + /** + * The localized resource provider name + */ + provider?: string; + /** + * The localized resource type name + */ + resource?: string; + /** + * The localized operation name + */ + operation?: string; + /** + * The localized operation description + */ + description?: string; +} + +/** + * Description of an action supported by the Database Migration Service + */ +export interface ServiceOperation { + /** + * The fully qualified action name, e.g. Microsoft.DataMigration/services/read + */ + name?: string; + /** + * Localized display text + */ + display?: ServiceOperationDisplay; +} + +/** + * The name of the quota + */ +export interface QuotaName { + /** + * The localized name of the quota + */ + localizedValue?: string; + /** + * The unlocalized name (or ID) of the quota + */ + value?: string; +} + +/** + * Describes a quota for or usage details about a resource + */ +export interface Quota { + /** + * The current value of the quota. If null or missing, the current value cannot be determined in + * the context of the request. + */ + currentValue?: number; + /** + * The resource ID of the quota object + */ + id?: string; + /** + * The maximum value of the quota. If null or missing, the quota has no maximum, in which case it + * merely tracks usage. + */ + limit?: number; + /** + * The name of the quota + */ + name?: QuotaName; + /** + * The unit for the quota, such as Count, Bytes, BytesPerSecond, etc. + */ + unit?: string; +} + +/** + * Indicates whether a proposed resource name is available + */ +export interface NameAvailabilityResponse { + /** + * If true, the name is valid and available. If false, 'reason' describes why not. + */ + nameAvailable?: boolean; + /** + * The reason why the name is not available, if nameAvailable is false. Possible values include: + * 'AlreadyExists', 'Invalid' + */ + reason?: NameCheckFailureReason; + /** + * The localized reason why the name is not available, if nameAvailable is false + */ + message?: string; +} + +/** + * SKU name, tier, etc. + */ +export interface AvailableServiceSkuSku { + /** + * The name of the SKU + */ + name?: string; + /** + * SKU family + */ + family?: string; + /** + * SKU size + */ + size?: string; + /** + * The tier of the SKU, such as "Basic", "General Purpose", or "Business Critical" + */ + tier?: string; +} + +/** + * A description of the scaling capacities of the SKU + */ +export interface AvailableServiceSkuCapacity { + /** + * The minimum capacity, usually 0 or 1. + */ + minimum?: number; + /** + * The maximum capacity + */ + maximum?: number; + /** + * The default capacity + */ + default?: number; + /** + * The scalability approach. Possible values include: 'none', 'manual', 'automatic' + */ + scaleType?: ServiceScalability; +} + +/** + * Describes the available service SKU. + */ +export interface AvailableServiceSku { + /** + * The resource type, including the provider namespace + */ + resourceType?: string; + /** + * SKU name, tier, etc. + */ + sku?: AvailableServiceSkuSku; + /** + * A description of the scaling capacities of the SKU + */ + capacity?: AvailableServiceSkuCapacity; +} + +/** + * Service health status + */ +export interface DataMigrationServiceStatusResponse { + /** + * The DMS instance agent version + */ + agentVersion?: string; + /** + * The machine-readable status, such as 'Initializing', 'Offline', 'Online', 'Deploying', + * 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or 'Failed' + */ + status?: string; + /** + * The services virtual machine size, such as 'Standard_D2_v2' + */ + vmSize?: string; + /** + * The list of supported task types + */ + supportedTaskTypes?: string[]; +} + +/** + * Describes scaling information of a SKU. + */ +export interface ResourceSkuRestrictions { + /** + * The type of restrictions. Possible values include: 'location' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly type?: ResourceSkuRestrictionsType; + /** + * The value of restrictions. If the restriction type is set to location. This would be different + * locations where the SKU is restricted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly values?: string[]; + /** + * The reason code for restriction. Possible values include: 'QuotaId', + * 'NotAvailableForSubscription' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly reasonCode?: ResourceSkuRestrictionsReasonCode; +} + +/** + * Describes The SKU capabilities object. + */ +export interface ResourceSkuCapabilities { + /** + * An invariant to describe the feature. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * An invariant if the feature is measured by quantity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly value?: string; +} + +/** + * Describes metadata for retrieving price info. + */ +export interface ResourceSkuCosts { + /** + * Used for querying price from commerce. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly meterID?: string; + /** + * The multiplier is needed to extend the base metered cost. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly quantity?: number; + /** + * An invariant to show the extended unit. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly extendedUnit?: string; +} + +/** + * Describes scaling information of a SKU. + */ +export interface ResourceSkuCapacity { + /** + * The minimum capacity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly minimum?: number; + /** + * The maximum capacity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly maximum?: number; + /** + * The default capacity. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly default?: number; + /** + * The scale type applicable to the SKU. Possible values include: 'Automatic', 'Manual', 'None' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly scaleType?: ResourceSkuCapacityScaleType; +} + +/** + * Describes an available DMS SKU. + */ +export interface ResourceSku { + /** + * The type of resource the SKU applies to. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resourceType?: string; + /** + * The name of SKU. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly name?: string; + /** + * Specifies the tier of DMS in a scale set. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly tier?: string; + /** + * The Size of the SKU. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly size?: string; + /** + * The Family of this particular SKU. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly family?: string; + /** + * The Kind of resources that are supported in this SKU. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly kind?: string; + /** + * Not used. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly capacity?: ResourceSkuCapacity; + /** + * The set of locations that the SKU is available. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly locations?: string[]; + /** + * The api versions that support this SKU. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly apiVersions?: string[]; + /** + * Metadata for retrieving price info. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly costs?: ResourceSkuCosts[]; + /** + * A name value pair to describe the capability. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly capabilities?: ResourceSkuCapabilities[]; + /** + * The restrictions because of which SKU cannot be used. This is empty if there are no + * restrictions. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly restrictions?: ResourceSkuRestrictions[]; +} + +/** + * Input for the task that validates MySQL database connection + */ +export interface ConnectToSourceMySqlTaskInput { + /** + * Information for connecting to MySQL source + */ + sourceConnectionInfo: MySqlConnectionInfo; + /** + * Target Platform for the migration. Possible values include: 'SqlServer', 'AzureDbForMySQL' + */ + targetPlatform?: MySqlTargetPlatformType; + /** + * Permission group for validations. Possible values include: 'Default', + * 'MigrationFromSqlServerToAzureDB', 'MigrationFromSqlServerToAzureMI', + * 'MigrationFromMySQLToAzureDBForMySQL' + */ + checkPermissionsGroup?: ServerLevelPermissionsGroup; +} + +/** + * Server properties for MySQL type source + */ +export interface ServerProperties { + /** + * Name of the server platform + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverPlatform?: string; + /** + * Name of the server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverName?: string; + /** + * Version of the database server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverVersion?: string; + /** + * Edition of the database server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverEdition?: string; + /** + * Version of the operating system + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverOperatingSystemVersion?: string; + /** + * Number of databases in the server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverDatabaseCount?: number; +} + +/** + * Output for connect to MySQL type source + */ +export interface ConnectToSourceNonSqlTaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Server properties + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly serverProperties?: ServerProperties; + /** + * List of databases on the server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databases?: string[]; + /** + * Validation errors associated with the task + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Properties for the task that validates MySQL database connection + */ +export interface ConnectToSourceMySqlTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "ConnectToSource.MySql"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: ConnectToSourceMySqlTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: ConnectToSourceNonSqlTaskOutput[]; +} + +/** + * Settings for migrating schema from source to target + */ +export interface SchemaMigrationSetting { + /** + * Option on how to migrate the schema. Possible values include: 'None', 'ExtractFromSource', + * 'UseStorageFile' + */ + schemaOption?: SchemaMigrationOption; + /** + * Resource Identifier of a file resource containing the uploaded schema file + */ + fileId?: string; +} + +/** + * Database input for migrate schema Sql Server to Azure SQL Server scenario + */ +export interface MigrateSchemaSqlServerSqlDbDatabaseInput { + /** + * Name of source database + */ + name?: string; + /** + * Name of target database + */ + targetDatabaseName?: string; + /** + * Database schema migration settings + */ + schemaSetting?: SchemaMigrationSetting; +} + +/** + * Input for task that migrates Schema for SQL Server databases to Azure SQL databases + */ +export interface MigrateSchemaSqlServerSqlDbTaskInput extends SqlMigrationTaskInput { + /** + * Databases to migrate + */ + selectedDatabases: MigrateSchemaSqlServerSqlDbDatabaseInput[]; +} + +/** + * Contains the possible cases for MigrateSchemaSqlServerSqlDbTaskOutput. + */ +export type MigrateSchemaSqlServerSqlDbTaskOutputUnion = MigrateSchemaSqlServerSqlDbTaskOutput | MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel | MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel | MigrateSchemaSqlServerSqlDbTaskOutputError | MigrateSchemaSqlTaskOutputError; + +/** + * Output for the task that migrates Schema for SQL Server databases to Azure SQL databases + */ +export interface MigrateSchemaSqlServerSqlDbTaskOutput { + /** + * Polymorphic Discriminator + */ + resultType: "MigrateSchemaSqlServerSqlDbTaskOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; +} + +/** + * Properties for task that migrates Schema for SQL Server databases to Azure SQL databases + */ +export interface MigrateSchemaSqlServerSqlDbTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "MigrateSchemaSqlServerSqlDb"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + /** + * Task input + */ + input?: MigrateSchemaSqlServerSqlDbTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: MigrateSchemaSqlServerSqlDbTaskOutputUnion[]; +} + +/** + * An interface representing MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel. + */ +export interface MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel { + /** + * Polymorphic Discriminator + */ + resultType: "MigrationLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Overall state of the schema migration. Possible values include: 'None', 'InProgress', + * 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Source server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerVersion?: string; + /** + * Source server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerBrandVersion?: string; + /** + * Target server version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerVersion?: string; + /** + * Target server brand version + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerBrandVersion?: string; +} + +/** + * An interface representing MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel. + */ +export interface MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel { + /** + * Polymorphic Discriminator + */ + resultType: "DatabaseLevelOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * The name of the database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * State of the schema migration for this database. Possible values include: 'None', + * 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', 'Stopped' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: MigrationState; + /** + * Schema migration stage for this database. Possible values include: 'NotStarted', + * 'ValidatingInputs', 'CollectingObjects', 'DownloadingScript', 'GeneratingScript', + * 'UploadingScript', 'DeployingSchema', 'Completed', 'CompletedWithWarnings', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly stage?: SchemaMigrationStage; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Prefix string to use for querying errors for this database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseErrorResultPrefix?: string; + /** + * Prefix string to use for querying schema errors for this database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly schemaErrorResultPrefix?: string; + /** + * Number of successful operations for this database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly numberOfSuccessfulOperations?: number; + /** + * Number of failed operations for this database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly numberOfFailedOperations?: number; + /** + * Identifier for the file resource containing the schema of this database + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly fileId?: string; +} + +/** + * An interface representing MigrateSchemaSqlServerSqlDbTaskOutputError. + */ +export interface MigrateSchemaSqlServerSqlDbTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "SchemaErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Schema command which failed + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commandText?: string; + /** + * Reason of failure + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errorText?: string; +} + +/** + * An interface representing MigrateSchemaSqlTaskOutputError. + */ +export interface MigrateSchemaSqlTaskOutputError { + /** + * Polymorphic Discriminator + */ + resultType: "ErrorOutput"; + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration error + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly error?: ReportableException; +} + +/** + * Describes the input to the 'cancel' and 'restart' MongoDB migration commands + */ +export interface MongoDbCommandInput { + /** + * The qualified name of a database or collection to act upon, or null to act upon the entire + * migration + */ + objectName?: string; +} + +/** + * Properties for the command that cancels a migration in whole or in part + */ +export interface MongoDbCancelCommand { + /** + * Polymorphic Discriminator + */ + commandType: "cancel"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the command. This is ignored if submitted. Possible values include: 'Unknown', + * 'Accepted', 'Running', 'Succeeded', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: CommandState; + /** + * Command input + */ + input?: MongoDbCommandInput; +} + +/** + * Describes the input to the 'finish' MongoDB migration command + */ +export interface MongoDbFinishCommandInput extends MongoDbCommandInput { + /** + * If true, replication for the affected objects will be stopped immediately. If false, the + * migrator will finish replaying queued events before finishing the replication. + */ + immediate: boolean; +} + +/** + * Properties for the command that finishes a migration in whole or in part + */ +export interface MongoDbFinishCommand { + /** + * Polymorphic Discriminator + */ + commandType: "finish"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the command. This is ignored if submitted. Possible values include: 'Unknown', + * 'Accepted', 'Running', 'Succeeded', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: CommandState; + /** + * Command input + */ + input?: MongoDbFinishCommandInput; +} + +/** + * Properties for the command that restarts a migration in whole or in part + */ +export interface MongoDbRestartCommand { + /** + * Polymorphic Discriminator + */ + commandType: "restart"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the command. This is ignored if submitted. Possible values include: 'Unknown', + * 'Accepted', 'Running', 'Succeeded', 'Failed' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: CommandState; + /** + * Command input + */ + input?: MongoDbCommandInput; +} + +/** + * Information about an Oracle OCI driver. + */ +export interface OracleOCIDriverInfo { + /** + * The name of the driver package + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly driverName?: string; + /** + * The size in bytes of the driver package + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly driverSize?: string; + /** + * The MD5 Base64 encoded checksum for the driver package. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly archiveChecksum?: string; + /** + * The checksum for the driver package provided by Oracle. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly oracleChecksum?: string; + /** + * Version listed in the OCI assembly 'oci.dll' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly assemblyVersion?: string; + /** + * List of Oracle database versions supported by this driver. Only major minor of the version is + * listed. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly supportedOracleVersions?: string[]; +} + +/** + * Input for the service task to check for OCI drivers. + */ +export interface CheckOCIDriverTaskInput { + /** + * Version of the source server to check against. Optional. + */ + serverVersion?: string; +} + +/** + * Output for the service task to check for OCI drivers. + */ +export interface CheckOCIDriverTaskOutput { + /** + * Information about the installed driver if found and valid. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly installedDriver?: { [propertyName: string]: OracleOCIDriverInfo[] }; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the service task to upload an OCI driver. + */ +export interface UploadOCIDriverTaskInput { + /** + * File share information for the OCI driver archive. + */ + driverShare?: FileShare; +} + +/** + * Output for the service task to upload an OCI driver. + */ +export interface UploadOCIDriverTaskOutput { + /** + * The name of the driver package that was validated and uploaded. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly driverPackageName?: string; + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Input for the service task to install an OCI driver. + */ +export interface InstallOCIDriverTaskInput { + /** + * Name of the uploaded driver package to install. + */ + driverPackageName?: string; +} + +/** + * Output for the service task to install an OCI driver. + */ +export interface InstallOCIDriverTaskOutput { + /** + * Validation errors + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly validationErrors?: ReportableException[]; +} + +/** + * Properties for the task that checks for OCI drivers. + */ +export interface CheckOCIDriverTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Service.Check.OCI"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + input?: CheckOCIDriverTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: CheckOCIDriverTaskOutput[]; +} + +/** + * Properties for the task that uploads an OCI driver. + */ +export interface UploadOCIDriverTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Service.Upload.OCI"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + input?: UploadOCIDriverTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: UploadOCIDriverTaskOutput[]; +} + +/** + * Properties for the task that installs an OCI driver. + */ +export interface InstallOCIDriverTaskProperties { + /** + * Polymorphic Discriminator + */ + taskType: "Service.Install.OCI"; + /** + * Array of errors. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: ODataError[]; + /** + * The state of the task. This is ignored if submitted. Possible values include: 'Unknown', + * 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', 'FailedInputValidation', 'Faulted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly state?: TaskState; + /** + * Array of command properties. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly commands?: CommandPropertiesUnion[]; + /** + * Key value pairs of client data to attach meta data information to task + */ + clientData?: { [propertyName: string]: string }; + input?: InstallOCIDriverTaskInput; + /** + * Task output. This is ignored if submitted. + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly output?: InstallOCIDriverTaskOutput[]; +} + +/** + * Information about a single database + */ +export interface Database { + /** + * Unique identifier for the database + */ + id?: string; + /** + * Name of the database + */ + name?: string; + /** + * SQL Server compatibility level of database. Possible values include: 'CompatLevel80', + * 'CompatLevel90', 'CompatLevel100', 'CompatLevel110', 'CompatLevel120', 'CompatLevel130', + * 'CompatLevel140' + */ + compatibilityLevel?: DatabaseCompatLevel; + /** + * Collation name of the database + */ + collation?: string; + /** + * Name of the server + */ + serverName?: string; + /** + * Fully qualified name + */ + fqdn?: string; + /** + * Install id of the database + */ + installId?: string; + /** + * Version of the server + */ + serverVersion?: string; + /** + * Edition of the server + */ + serverEdition?: string; + /** + * Product level of the server (RTM, SP, CTP). + */ + serverLevel?: string; + /** + * Default path of the data files + */ + serverDefaultDataPath?: string; + /** + * Default path of the log files + */ + serverDefaultLogPath?: string; + /** + * Default path of the backup folder + */ + serverDefaultBackupPath?: string; + /** + * Number of cores on the server + */ + serverCoreCount?: number; + /** + * Number of cores on the server that have VISIBLE ONLINE status + */ + serverVisibleOnlineCoreCount?: number; + /** + * State of the database. Possible values include: 'Online', 'Restoring', 'Recovering', + * 'RecoveryPending', 'Suspect', 'Emergency', 'Offline', 'Copying', 'OfflineSecondary' + */ + databaseState?: DatabaseState; + /** + * The unique Server Id + */ + serverId?: string; +} + +/** + * A representation of the name of an object in a database + */ +export interface DatabaseObjectName { + /** + * The unescaped name of the database containing the object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly databaseName?: string; + /** + * The unescaped name of the object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly objectName?: string; + /** + * The unescaped name of the schema containing the object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly schemaName?: string; + /** + * Type of the object in the database. Possible values include: 'StoredProcedures', 'Table', + * 'User', 'View', 'Function' + */ + objectType?: ObjectType; +} + +/** + * Metadata for tables selected in migration project + */ +export interface MigrationTableMetadata { + /** + * Source table name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceTableName?: string; + /** + * Target table name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetTableName?: string; +} + +/** + * Common metadata for migration projects + */ +export interface DataMigrationProjectMetadata { + /** + * Source server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerName?: string; + /** + * Source server port number + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerPort?: string; + /** + * Source username + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceUsername?: string; + /** + * Target server name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerName?: string; + /** + * Target username + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetUsername?: string; + /** + * Target database name + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetDbName?: string; + /** + * Whether target connection is Windows authentication + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetUsingWinAuth?: boolean; + /** + * List of tables selected for migration + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly selectedMigrationTables?: MigrationTableMetadata[]; +} + +/** + * Input for the task that reads configuration from project artifacts + */ +export interface GetProjectDetailsNonSqlTaskInput { + /** + * Name of the migration project + */ + projectName: string; + /** + * A URL that points to the location to access project artifacts + */ + projectLocation: string; +} + +/** + * Defines metadata for table to be migrated + */ +export interface NonSqlDataMigrationTable { + /** + * Source table name + */ + sourceName?: string; +} + +/** + * Base class for non sql migration task input + */ +export interface NonSqlMigrationTaskInput { + /** + * Information for connecting to target + */ + targetConnectionInfo: SqlConnectionInfo; + /** + * Target database name + */ + targetDatabaseName: string; + /** + * Name of the migration project + */ + projectName: string; + /** + * A URL that points to the drop location to access project artifacts + */ + projectLocation: string; + /** + * Metadata of the tables selected for migration + */ + selectedTables: NonSqlDataMigrationTable[]; +} + +/** + * Migration Task errors + */ +export interface DataMigrationError { + /** + * Error description + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly message?: string; + /** + * Possible values include: 'Default', 'Warning', 'Error' + */ + type?: ErrorType; +} + +/** + * Object used to report the data migration results of a table + */ +export interface NonSqlDataMigrationTableResult { + /** + * Result code of the data migration. Possible values include: 'Initial', 'Completed', + * 'ObjectNotExistsInSource', 'ObjectNotExistsInTarget', 'TargetObjectIsInaccessible', + * 'FatalError' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly resultCode?: DataMigrationResultCode; + /** + * Name of the source table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceName?: string; + /** + * Name of the target table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetName?: string; + /** + * Number of rows in the source table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceRowCount?: number; + /** + * Number of rows in the target table + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetRowCount?: number; + /** + * Time taken to migrate the data + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly elapsedTimeInMiliseconds?: number; + /** + * List of errors, if any, during migration + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly errors?: DataMigrationError[]; +} + +/** + * Base class for non sql migration task output + */ +export interface NonSqlMigrationTaskOutput { + /** + * Result identifier + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly id?: string; + /** + * Migration start time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly startedOn?: Date; + /** + * Migration end time + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly endedOn?: Date; + /** + * Current state of migration. Possible values include: 'Default', 'Connecting', + * 'SourceAndTargetSelected', 'SelectLogins', 'Configured', 'Running', 'Error', 'Stopped', + * 'Completed', 'CompletedWithWarnings' + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly status?: MigrationStatus; + /** + * Results of the migration. The key contains the table name and the value the table result + * object + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly dataMigrationTableResults?: { [propertyName: string]: NonSqlDataMigrationTableResult }; + /** + * Message about the progress of the migration + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly progressMessage?: string; + /** + * Name of source server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly sourceServerName?: string; + /** + * Name of target server + * **NOTE: This property will not be serialized. It can only be populated by the server.** + */ + readonly targetServerName?: string; +} + +/** + * Database file specific information for input + */ +export interface DatabaseFileInput { + /** + * Unique identifier for database file + */ + id?: string; + /** + * Logical name of the file + */ + logicalName?: string; + /** + * Operating-system full path of the file + */ + physicalFullName?: string; + /** + * Suggested full path of the file for restoring + */ + restoreFullName?: string; + /** + * Database file type. Possible values include: 'Rows', 'Log', 'Filestream', 'NotSupported', + * 'Fulltext' + */ + fileType?: DatabaseFileType; +} + +/** + * Database specific information for SQL to SQL migration task inputs + */ +export interface MigrateSqlServerSqlServerDatabaseInput { + /** + * Name of the database + */ + name?: string; + /** + * Name of the database at destination + */ + restoreDatabaseName?: string; + /** + * The backup and restore folder + */ + backupAndRestoreFolder?: string; + /** + * The list of database files + */ + databaseFiles?: DatabaseFileInput[]; +} + +/** + * Optional Parameters. + */ +export interface ServicesDeleteMethodOptionalParams extends msRest.RequestOptionsBase { + /** + * Delete the resource even if it contains running tasks + */ + deleteRunningTasks?: boolean; +} + +/** + * Optional Parameters. + */ +export interface ServicesBeginDeleteMethodOptionalParams extends msRest.RequestOptionsBase { + /** + * Delete the resource even if it contains running tasks + */ + deleteRunningTasks?: boolean; +} + +/** + * Optional Parameters. + */ +export interface TasksListOptionalParams extends msRest.RequestOptionsBase { + /** + * Filter tasks by task type + */ + taskType?: string; +} + +/** + * Optional Parameters. + */ +export interface TasksGetOptionalParams extends msRest.RequestOptionsBase { + /** + * Expand the response + */ + expand?: string; +} + +/** + * Optional Parameters. + */ +export interface TasksDeleteMethodOptionalParams extends msRest.RequestOptionsBase { + /** + * Delete the resource even if it contains running tasks + */ + deleteRunningTasks?: boolean; +} + +/** + * Optional Parameters. + */ +export interface ServiceTasksListOptionalParams extends msRest.RequestOptionsBase { + /** + * Filter tasks by task type + */ + taskType?: string; +} + +/** + * Optional Parameters. + */ +export interface ServiceTasksGetOptionalParams extends msRest.RequestOptionsBase { + /** + * Expand the response + */ + expand?: string; +} + +/** + * Optional Parameters. + */ +export interface ServiceTasksDeleteMethodOptionalParams extends msRest.RequestOptionsBase { + /** + * Delete the resource even if it contains running tasks + */ + deleteRunningTasks?: boolean; +} + +/** + * Optional Parameters. + */ +export interface ProjectsDeleteMethodOptionalParams extends msRest.RequestOptionsBase { + /** + * Delete the resource even if it contains running tasks + */ + deleteRunningTasks?: boolean; +} + +/** + * An interface representing DataMigrationServiceClientOptions. + */ +export interface DataMigrationServiceClientOptions extends AzureServiceClientOptions { + baseUri?: string; +} + +/** + * @interface + * The DMS List SKUs operation response. + * @extends Array + */ +export interface ResourceSkusResult extends Array { + /** + * The uri to fetch the next page of DMS SKUs. Call ListNext() with this to fetch the next page + * of DMS SKUs. + */ + nextLink?: string; +} + +/** + * @interface + * OData page of available SKUs + * @extends Array + */ +export interface ServiceSkuList extends Array { + /** + * URL to load the next page of service SKUs + */ + nextLink?: string; +} + +/** + * @interface + * OData page of service objects + * @extends Array + */ +export interface DataMigrationServiceList extends Array { + /** + * URL to load the next page of services + */ + nextLink?: string; +} + +/** + * @interface + * OData page of tasks + * @extends Array + */ +export interface TaskList extends Array { + /** + * URL to load the next page of tasks + */ + nextLink?: string; +} + +/** + * @interface + * OData page of project resources + * @extends Array + */ +export interface ProjectList extends Array { + /** + * URL to load the next page of projects + */ + nextLink?: string; +} + +/** + * @interface + * OData page of quota objects + * @extends Array + */ +export interface QuotaList extends Array { + /** + * URL to load the next page of quotas, or null or missing if this is the last page + */ + nextLink?: string; +} + +/** + * @interface + * OData page of action (operation) objects + * @extends Array + */ +export interface ServiceOperationList extends Array { + /** + * URL to load the next page of actions + */ + nextLink?: string; +} + +/** + * @interface + * OData page of files + * @extends Array + */ +export interface FileList extends Array { + /** + * URL to load the next page of files + */ + nextLink?: string; +} + +/** + * Defines values for CommandState. + * Possible values include: 'Unknown', 'Accepted', 'Running', 'Succeeded', 'Failed' + * @readonly + * @enum {string} + */ +export type CommandState = 'Unknown' | 'Accepted' | 'Running' | 'Succeeded' | 'Failed'; + +/** + * Defines values for SsisMigrationStage. + * Possible values include: 'None', 'Initialize', 'InProgress', 'Completed' + * @readonly + * @enum {string} + */ +export type SsisMigrationStage = 'None' | 'Initialize' | 'InProgress' | 'Completed'; + +/** + * Defines values for MigrationState. + * Possible values include: 'None', 'InProgress', 'Failed', 'Warning', 'Completed', 'Skipped', + * 'Stopped' + * @readonly + * @enum {string} + */ +export type MigrationState = 'None' | 'InProgress' | 'Failed' | 'Warning' | 'Completed' | 'Skipped' | 'Stopped'; + +/** + * Defines values for MigrationStatus. + * Possible values include: 'Default', 'Connecting', 'SourceAndTargetSelected', 'SelectLogins', + * 'Configured', 'Running', 'Error', 'Stopped', 'Completed', 'CompletedWithWarnings' + * @readonly + * @enum {string} + */ +export type MigrationStatus = 'Default' | 'Connecting' | 'SourceAndTargetSelected' | 'SelectLogins' | 'Configured' | 'Running' | 'Error' | 'Stopped' | 'Completed' | 'CompletedWithWarnings'; + +/** + * Defines values for SsisMigrationOverwriteOption. + * Possible values include: 'Ignore', 'Overwrite' + * @readonly + * @enum {string} + */ +export type SsisMigrationOverwriteOption = 'Ignore' | 'Overwrite'; + +/** + * Defines values for SsisStoreType. + * Possible values include: 'SsisCatalog' + * @readonly + * @enum {string} + */ +export type SsisStoreType = 'SsisCatalog'; + +/** + * Defines values for SqlSourcePlatform. + * Possible values include: 'SqlOnPrem' + * @readonly + * @enum {string} + */ +export type SqlSourcePlatform = 'SqlOnPrem'; + +/** + * Defines values for AuthenticationType. + * Possible values include: 'None', 'WindowsAuthentication', 'SqlAuthentication', + * 'ActiveDirectoryIntegrated', 'ActiveDirectoryPassword' + * @readonly + * @enum {string} + */ +export type AuthenticationType = 'None' | 'WindowsAuthentication' | 'SqlAuthentication' | 'ActiveDirectoryIntegrated' | 'ActiveDirectoryPassword'; + +/** + * Defines values for MongoDbErrorType. + * Possible values include: 'Error', 'ValidationError', 'Warning' + * @readonly + * @enum {string} + */ +export type MongoDbErrorType = 'Error' | 'ValidationError' | 'Warning'; + +/** + * Defines values for MongoDbMigrationState. + * Possible values include: 'NotStarted', 'ValidatingInput', 'Initializing', 'Restarting', + * 'Copying', 'InitialReplay', 'Replaying', 'Finalizing', 'Complete', 'Canceled', 'Failed' + * @readonly + * @enum {string} + */ +export type MongoDbMigrationState = 'NotStarted' | 'ValidatingInput' | 'Initializing' | 'Restarting' | 'Copying' | 'InitialReplay' | 'Replaying' | 'Finalizing' | 'Complete' | 'Canceled' | 'Failed'; + +/** + * Defines values for MongoDbShardKeyOrder. + * Possible values include: 'Forward', 'Reverse', 'Hashed' + * @readonly + * @enum {string} + */ +export type MongoDbShardKeyOrder = 'Forward' | 'Reverse' | 'Hashed'; + +/** + * Defines values for MongoDbReplication. + * Possible values include: 'Disabled', 'OneTime', 'Continuous' + * @readonly + * @enum {string} + */ +export type MongoDbReplication = 'Disabled' | 'OneTime' | 'Continuous'; + +/** + * Defines values for BackupType. + * Possible values include: 'Database', 'TransactionLog', 'File', 'DifferentialDatabase', + * 'DifferentialFile', 'Partial', 'DifferentialPartial' + * @readonly + * @enum {string} + */ +export type BackupType = 'Database' | 'TransactionLog' | 'File' | 'DifferentialDatabase' | 'DifferentialFile' | 'Partial' | 'DifferentialPartial'; + +/** + * Defines values for BackupMode. + * Possible values include: 'CreateBackup', 'ExistingBackup' + * @readonly + * @enum {string} + */ +export type BackupMode = 'CreateBackup' | 'ExistingBackup'; + +/** + * Defines values for SyncTableMigrationState. + * Possible values include: 'BEFORE_LOAD', 'FULL_LOAD', 'COMPLETED', 'CANCELED', 'ERROR', 'FAILED' + * @readonly + * @enum {string} + */ +export type SyncTableMigrationState = 'BEFORE_LOAD' | 'FULL_LOAD' | 'COMPLETED' | 'CANCELED' | 'ERROR' | 'FAILED'; + +/** + * Defines values for SyncDatabaseMigrationReportingState. + * Possible values include: 'UNDEFINED', 'CONFIGURING', 'INITIALIAZING', 'STARTING', 'RUNNING', + * 'READY_TO_COMPLETE', 'COMPLETING', 'COMPLETE', 'CANCELLING', 'CANCELLED', 'FAILED' + * @readonly + * @enum {string} + */ +export type SyncDatabaseMigrationReportingState = 'UNDEFINED' | 'CONFIGURING' | 'INITIALIAZING' | 'STARTING' | 'RUNNING' | 'READY_TO_COMPLETE' | 'COMPLETING' | 'COMPLETE' | 'CANCELLING' | 'CANCELLED' | 'FAILED'; + +/** + * Defines values for ValidationStatus. + * Possible values include: 'Default', 'NotStarted', 'Initialized', 'InProgress', 'Completed', + * 'CompletedWithIssues', 'Stopped', 'Failed' + * @readonly + * @enum {string} + */ +export type ValidationStatus = 'Default' | 'NotStarted' | 'Initialized' | 'InProgress' | 'Completed' | 'CompletedWithIssues' | 'Stopped' | 'Failed'; + +/** + * Defines values for Severity. + * Possible values include: 'Message', 'Warning', 'Error' + * @readonly + * @enum {string} + */ +export type Severity = 'Message' | 'Warning' | 'Error'; + +/** + * Defines values for UpdateActionType. + * Possible values include: 'DeletedOnTarget', 'ChangedOnTarget', 'AddedOnTarget' + * @readonly + * @enum {string} + */ +export type UpdateActionType = 'DeletedOnTarget' | 'ChangedOnTarget' | 'AddedOnTarget'; + +/** + * Defines values for ObjectType. + * Possible values include: 'StoredProcedures', 'Table', 'User', 'View', 'Function' + * @readonly + * @enum {string} + */ +export type ObjectType = 'StoredProcedures' | 'Table' | 'User' | 'View' | 'Function'; + +/** + * Defines values for DatabaseMigrationStage. + * Possible values include: 'None', 'Initialize', 'Backup', 'FileCopy', 'Restore', 'Completed' + * @readonly + * @enum {string} + */ +export type DatabaseMigrationStage = 'None' | 'Initialize' | 'Backup' | 'FileCopy' | 'Restore' | 'Completed'; + +/** + * Defines values for BackupFileStatus. + * Possible values include: 'Arrived', 'Queued', 'Uploading', 'Uploaded', 'Restoring', 'Restored', + * 'Cancelled' + * @readonly + * @enum {string} + */ +export type BackupFileStatus = 'Arrived' | 'Queued' | 'Uploading' | 'Uploaded' | 'Restoring' | 'Restored' | 'Cancelled'; + +/** + * Defines values for DatabaseMigrationState. + * Possible values include: 'UNDEFINED', 'INITIAL', 'FULL_BACKUP_UPLOAD_START', + * 'LOG_SHIPPING_START', 'UPLOAD_LOG_FILES_START', 'CUTOVER_START', 'POST_CUTOVER_COMPLETE', + * 'COMPLETED', 'CANCELLED', 'FAILED' + * @readonly + * @enum {string} + */ +export type DatabaseMigrationState = 'UNDEFINED' | 'INITIAL' | 'FULL_BACKUP_UPLOAD_START' | 'LOG_SHIPPING_START' | 'UPLOAD_LOG_FILES_START' | 'CUTOVER_START' | 'POST_CUTOVER_COMPLETE' | 'COMPLETED' | 'CANCELLED' | 'FAILED'; + +/** + * Defines values for LoginMigrationStage. + * Possible values include: 'None', 'Initialize', 'LoginMigration', 'EstablishUserMapping', + * 'AssignRoleMembership', 'AssignRoleOwnership', 'EstablishServerPermissions', + * 'EstablishObjectPermissions', 'Completed' + * @readonly + * @enum {string} + */ +export type LoginMigrationStage = 'None' | 'Initialize' | 'LoginMigration' | 'EstablishUserMapping' | 'AssignRoleMembership' | 'AssignRoleOwnership' | 'EstablishServerPermissions' | 'EstablishObjectPermissions' | 'Completed'; + +/** + * Defines values for LoginType. + * Possible values include: 'WindowsUser', 'WindowsGroup', 'SqlLogin', 'Certificate', + * 'AsymmetricKey', 'ExternalUser', 'ExternalGroup' + * @readonly + * @enum {string} + */ +export type LoginType = 'WindowsUser' | 'WindowsGroup' | 'SqlLogin' | 'Certificate' | 'AsymmetricKey' | 'ExternalUser' | 'ExternalGroup'; + +/** + * Defines values for DatabaseState. + * Possible values include: 'Online', 'Restoring', 'Recovering', 'RecoveryPending', 'Suspect', + * 'Emergency', 'Offline', 'Copying', 'OfflineSecondary' + * @readonly + * @enum {string} + */ +export type DatabaseState = 'Online' | 'Restoring' | 'Recovering' | 'RecoveryPending' | 'Suspect' | 'Emergency' | 'Offline' | 'Copying' | 'OfflineSecondary'; + +/** + * Defines values for DatabaseCompatLevel. + * Possible values include: 'CompatLevel80', 'CompatLevel90', 'CompatLevel100', 'CompatLevel110', + * 'CompatLevel120', 'CompatLevel130', 'CompatLevel140' + * @readonly + * @enum {string} + */ +export type DatabaseCompatLevel = 'CompatLevel80' | 'CompatLevel90' | 'CompatLevel100' | 'CompatLevel110' | 'CompatLevel120' | 'CompatLevel130' | 'CompatLevel140'; + +/** + * Defines values for DatabaseFileType. + * Possible values include: 'Rows', 'Log', 'Filestream', 'NotSupported', 'Fulltext' + * @readonly + * @enum {string} + */ +export type DatabaseFileType = 'Rows' | 'Log' | 'Filestream' | 'NotSupported' | 'Fulltext'; + +/** + * Defines values for ServerLevelPermissionsGroup. + * Possible values include: 'Default', 'MigrationFromSqlServerToAzureDB', + * 'MigrationFromSqlServerToAzureMI', 'MigrationFromMySQLToAzureDBForMySQL' + * @readonly + * @enum {string} + */ +export type ServerLevelPermissionsGroup = 'Default' | 'MigrationFromSqlServerToAzureDB' | 'MigrationFromSqlServerToAzureMI' | 'MigrationFromMySQLToAzureDBForMySQL'; + +/** + * Defines values for MongoDbClusterType. + * Possible values include: 'BlobContainer', 'CosmosDb', 'MongoDb' + * @readonly + * @enum {string} + */ +export type MongoDbClusterType = 'BlobContainer' | 'CosmosDb' | 'MongoDb'; + +/** + * Defines values for TaskState. + * Possible values include: 'Unknown', 'Queued', 'Running', 'Canceled', 'Succeeded', 'Failed', + * 'FailedInputValidation', 'Faulted' + * @readonly + * @enum {string} + */ +export type TaskState = 'Unknown' | 'Queued' | 'Running' | 'Canceled' | 'Succeeded' | 'Failed' | 'FailedInputValidation' | 'Faulted'; + +/** + * Defines values for ServiceProvisioningState. + * Possible values include: 'Accepted', 'Deleting', 'Deploying', 'Stopped', 'Stopping', 'Starting', + * 'FailedToStart', 'FailedToStop', 'Succeeded', 'Failed' + * @readonly + * @enum {string} + */ +export type ServiceProvisioningState = 'Accepted' | 'Deleting' | 'Deploying' | 'Stopped' | 'Stopping' | 'Starting' | 'FailedToStart' | 'FailedToStop' | 'Succeeded' | 'Failed'; + +/** + * Defines values for ProjectTargetPlatform. + * Possible values include: 'SQLDB', 'SQLMI', 'AzureDbForMySql', 'AzureDbForPostgreSql', 'MongoDb', + * 'Unknown' + * @readonly + * @enum {string} + */ +export type ProjectTargetPlatform = 'SQLDB' | 'SQLMI' | 'AzureDbForMySql' | 'AzureDbForPostgreSql' | 'MongoDb' | 'Unknown'; + +/** + * Defines values for ProjectSourcePlatform. + * Possible values include: 'SQL', 'MySQL', 'PostgreSql', 'MongoDb', 'Unknown' + * @readonly + * @enum {string} + */ +export type ProjectSourcePlatform = 'SQL' | 'MySQL' | 'PostgreSql' | 'MongoDb' | 'Unknown'; + +/** + * Defines values for ProjectProvisioningState. + * Possible values include: 'Deleting', 'Succeeded' + * @readonly + * @enum {string} + */ +export type ProjectProvisioningState = 'Deleting' | 'Succeeded'; + +/** + * Defines values for NameCheckFailureReason. + * Possible values include: 'AlreadyExists', 'Invalid' + * @readonly + * @enum {string} + */ +export type NameCheckFailureReason = 'AlreadyExists' | 'Invalid'; + +/** + * Defines values for ServiceScalability. + * Possible values include: 'none', 'manual', 'automatic' + * @readonly + * @enum {string} + */ +export type ServiceScalability = 'none' | 'manual' | 'automatic'; + +/** + * Defines values for ResourceSkuRestrictionsType. + * Possible values include: 'location' + * @readonly + * @enum {string} + */ +export type ResourceSkuRestrictionsType = 'location'; + +/** + * Defines values for ResourceSkuRestrictionsReasonCode. + * Possible values include: 'QuotaId', 'NotAvailableForSubscription' + * @readonly + * @enum {string} + */ +export type ResourceSkuRestrictionsReasonCode = 'QuotaId' | 'NotAvailableForSubscription'; + +/** + * Defines values for ResourceSkuCapacityScaleType. + * Possible values include: 'Automatic', 'Manual', 'None' + * @readonly + * @enum {string} + */ +export type ResourceSkuCapacityScaleType = 'Automatic' | 'Manual' | 'None'; + +/** + * Defines values for MySqlTargetPlatformType. + * Possible values include: 'SqlServer', 'AzureDbForMySQL' + * @readonly + * @enum {string} + */ +export type MySqlTargetPlatformType = 'SqlServer' | 'AzureDbForMySQL'; + +/** + * Defines values for SchemaMigrationOption. + * Possible values include: 'None', 'ExtractFromSource', 'UseStorageFile' + * @readonly + * @enum {string} + */ +export type SchemaMigrationOption = 'None' | 'ExtractFromSource' | 'UseStorageFile'; + +/** + * Defines values for SchemaMigrationStage. + * Possible values include: 'NotStarted', 'ValidatingInputs', 'CollectingObjects', + * 'DownloadingScript', 'GeneratingScript', 'UploadingScript', 'DeployingSchema', 'Completed', + * 'CompletedWithWarnings', 'Failed' + * @readonly + * @enum {string} + */ +export type SchemaMigrationStage = 'NotStarted' | 'ValidatingInputs' | 'CollectingObjects' | 'DownloadingScript' | 'GeneratingScript' | 'UploadingScript' | 'DeployingSchema' | 'Completed' | 'CompletedWithWarnings' | 'Failed'; + +/** + * Defines values for DataMigrationResultCode. + * Possible values include: 'Initial', 'Completed', 'ObjectNotExistsInSource', + * 'ObjectNotExistsInTarget', 'TargetObjectIsInaccessible', 'FatalError' + * @readonly + * @enum {string} + */ +export type DataMigrationResultCode = 'Initial' | 'Completed' | 'ObjectNotExistsInSource' | 'ObjectNotExistsInTarget' | 'TargetObjectIsInaccessible' | 'FatalError'; + +/** + * Defines values for ErrorType. + * Possible values include: 'Default', 'Warning', 'Error' + * @readonly + * @enum {string} + */ +export type ErrorType = 'Default' | 'Warning' | 'Error'; + +/** + * Defines values for ResultType. + * Possible values include: 'Migration', 'Database', 'Collection' + * @readonly + * @enum {string} + */ +export type ResultType = 'Migration' | 'Database' | 'Collection'; + +/** + * Contains response data for the listSkus operation. + */ +export type ResourceSkusListSkusResponse = ResourceSkusResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ResourceSkusResult; + }; +}; + +/** + * Contains response data for the listSkusNext operation. + */ +export type ResourceSkusListSkusNextResponse = ResourceSkusResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ResourceSkusResult; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type ServicesCreateOrUpdateResponse = DataMigrationService & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationService; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ServicesGetResponse = DataMigrationService & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationService; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type ServicesUpdateResponse = DataMigrationService & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationService; + }; +}; + +/** + * Contains response data for the checkStatus operation. + */ +export type ServicesCheckStatusResponse = DataMigrationServiceStatusResponse & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationServiceStatusResponse; + }; +}; + +/** + * Contains response data for the listSkus operation. + */ +export type ServicesListSkusResponse = ServiceSkuList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ServiceSkuList; + }; +}; + +/** + * Contains response data for the checkChildrenNameAvailability operation. + */ +export type ServicesCheckChildrenNameAvailabilityResponse = NameAvailabilityResponse & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: NameAvailabilityResponse; + }; +}; + +/** + * Contains response data for the listByResourceGroup operation. + */ +export type ServicesListByResourceGroupResponse = DataMigrationServiceList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationServiceList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ServicesListResponse = DataMigrationServiceList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationServiceList; + }; +}; + +/** + * Contains response data for the checkNameAvailability operation. + */ +export type ServicesCheckNameAvailabilityResponse = NameAvailabilityResponse & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: NameAvailabilityResponse; + }; +}; + +/** + * Contains response data for the beginCreateOrUpdate operation. + */ +export type ServicesBeginCreateOrUpdateResponse = DataMigrationService & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationService; + }; +}; + +/** + * Contains response data for the beginUpdate operation. + */ +export type ServicesBeginUpdateResponse = DataMigrationService & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationService; + }; +}; + +/** + * Contains response data for the listSkusNext operation. + */ +export type ServicesListSkusNextResponse = ServiceSkuList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ServiceSkuList; + }; +}; + +/** + * Contains response data for the listByResourceGroupNext operation. + */ +export type ServicesListByResourceGroupNextResponse = DataMigrationServiceList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationServiceList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ServicesListNextResponse = DataMigrationServiceList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: DataMigrationServiceList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type TasksListResponse = TaskList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: TaskList; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type TasksCreateOrUpdateResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type TasksGetResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type TasksUpdateResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the cancel operation. + */ +export type TasksCancelResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the command operation. + */ +export type TasksCommandResponse = CommandPropertiesUnion & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: CommandPropertiesUnion; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type TasksListNextResponse = TaskList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: TaskList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ServiceTasksListResponse = TaskList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: TaskList; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type ServiceTasksCreateOrUpdateResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ServiceTasksGetResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type ServiceTasksUpdateResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the cancel operation. + */ +export type ServiceTasksCancelResponse = ProjectTask & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectTask; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ServiceTasksListNextResponse = TaskList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: TaskList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type ProjectsListResponse = ProjectList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectList; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type ProjectsCreateOrUpdateResponse = Project & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Project; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type ProjectsGetResponse = Project & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Project; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type ProjectsUpdateResponse = Project & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Project; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type ProjectsListNextResponse = ProjectList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type UsagesListResponse = QuotaList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: QuotaList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type UsagesListNextResponse = QuotaList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: QuotaList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type OperationsListResponse = ServiceOperationList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ServiceOperationList; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type OperationsListNextResponse = ServiceOperationList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ServiceOperationList; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type FilesListResponse = FileList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: FileList; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type FilesGetResponse = ProjectFile & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectFile; + }; +}; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type FilesCreateOrUpdateResponse = ProjectFile & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectFile; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type FilesUpdateResponse = ProjectFile & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ProjectFile; + }; +}; + +/** + * Contains response data for the read operation. + */ +export type FilesReadResponse = FileStorageInfo & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: FileStorageInfo; + }; +}; + +/** + * Contains response data for the readWrite operation. + */ +export type FilesReadWriteResponse = FileStorageInfo & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: FileStorageInfo; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type FilesListNextResponse = FileList & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: FileList; + }; +}; diff --git a/sdk/datamigration/arm-datamigration/src/models/mappers.ts b/sdk/datamigration/arm-datamigration/src/models/mappers.ts new file mode 100644 index 000000000000..f86e0c103197 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/mappers.ts @@ -0,0 +1,11162 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; +import * as msRest from "@azure/ms-rest-js"; + +export const CloudError = CloudErrorMapper; +export const BaseResource = BaseResourceMapper; + +export const Resource: msRest.CompositeMapper = { + serializedName: "Resource", + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const TrackedResource: msRest.CompositeMapper = { + serializedName: "TrackedResource", + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + location: { + required: true, + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const ProjectFileProperties: msRest.CompositeMapper = { + serializedName: "ProjectFileProperties", + type: { + name: "Composite", + className: "ProjectFileProperties", + modelProperties: { + extension: { + serializedName: "extension", + type: { + name: "String" + } + }, + filePath: { + serializedName: "filePath", + type: { + name: "String" + } + }, + lastModified: { + readOnly: true, + serializedName: "lastModified", + type: { + name: "DateTime" + } + }, + mediaType: { + serializedName: "mediaType", + type: { + name: "String" + } + }, + size: { + readOnly: true, + serializedName: "size", + type: { + name: "Number" + } + } + } + } +}; + +export const ProjectFile: msRest.CompositeMapper = { + serializedName: "ProjectFile", + type: { + name: "Composite", + className: "ProjectFile", + modelProperties: { + ...Resource.type.modelProperties, + etag: { + serializedName: "etag", + type: { + name: "String" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ProjectFileProperties" + } + } + } + } +}; + +export const ODataError: msRest.CompositeMapper = { + serializedName: "ODataError", + type: { + name: "Composite", + className: "ODataError", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + }, + details: { + serializedName: "details", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ODataError" + } + } + } + } + } + } +}; + +export const ReportableException: msRest.CompositeMapper = { + serializedName: "ReportableException", + type: { + name: "Composite", + className: "ReportableException", + modelProperties: { + message: { + serializedName: "message", + type: { + name: "String" + } + }, + actionableMessage: { + serializedName: "actionableMessage", + type: { + name: "String" + } + }, + filePath: { + serializedName: "filePath", + type: { + name: "String" + } + }, + lineNumber: { + serializedName: "lineNumber", + type: { + name: "String" + } + }, + hResult: { + serializedName: "hResult", + type: { + name: "Number" + } + }, + stackTrace: { + serializedName: "stackTrace", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateMISyncCompleteCommandOutput: msRest.CompositeMapper = { + serializedName: "MigrateMISyncCompleteCommandOutput", + type: { + name: "Composite", + className: "MigrateMISyncCompleteCommandOutput", + modelProperties: { + errors: { + serializedName: "errors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateMISyncCompleteCommandInput: msRest.CompositeMapper = { + serializedName: "MigrateMISyncCompleteCommandInput", + type: { + name: "Composite", + className: "MigrateMISyncCompleteCommandInput", + modelProperties: { + sourceDatabaseName: { + required: true, + serializedName: "sourceDatabaseName", + type: { + name: "String" + } + } + } + } +}; + +export const CommandProperties: msRest.CompositeMapper = { + serializedName: "CommandProperties", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "commandType", + clientName: "commandType" + }, + uberParent: "CommandProperties", + className: "CommandProperties", + modelProperties: { + errors: { + readOnly: true, + serializedName: "errors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ODataError" + } + } + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + commandType: { + required: true, + serializedName: "commandType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateMISyncCompleteCommandProperties: msRest.CompositeMapper = { + serializedName: "Migrate.SqlServer.AzureDbSqlMi.Complete", + type: { + name: "Composite", + polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator, + uberParent: "CommandProperties", + className: "MigrateMISyncCompleteCommandProperties", + modelProperties: { + ...CommandProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateMISyncCompleteCommandInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Composite", + className: "MigrateMISyncCompleteCommandOutput" + } + } + } + } +}; + +export const MigrateSyncCompleteCommandOutput: msRest.CompositeMapper = { + serializedName: "MigrateSyncCompleteCommandOutput", + type: { + name: "Composite", + className: "MigrateSyncCompleteCommandOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + errors: { + readOnly: true, + serializedName: "errors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSyncCompleteCommandInput: msRest.CompositeMapper = { + serializedName: "MigrateSyncCompleteCommandInput", + type: { + name: "Composite", + className: "MigrateSyncCompleteCommandInput", + modelProperties: { + databaseName: { + required: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + commitTimeStamp: { + serializedName: "commitTimeStamp", + type: { + name: "DateTime" + } + } + } + } +}; + +export const MigrateSyncCompleteCommandProperties: msRest.CompositeMapper = { + serializedName: "Migrate.Sync.Complete.Database", + type: { + name: "Composite", + polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator, + uberParent: "CommandProperties", + className: "MigrateSyncCompleteCommandProperties", + modelProperties: { + ...CommandProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateSyncCompleteCommandInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Composite", + className: "MigrateSyncCompleteCommandOutput" + } + } + } + } +}; + +export const MigrateSsisTaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateSsisTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateSsisTaskOutput", + className: "MigrateSsisTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSsisTaskOutputProjectLevel: msRest.CompositeMapper = { + serializedName: "SsisProjectLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSsisTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSsisTaskOutput", + className: "MigrateSsisTaskOutputProjectLevel", + modelProperties: { + ...MigrateSsisTaskOutput.type.modelProperties, + folderName: { + readOnly: true, + serializedName: "folderName", + type: { + name: "String" + } + }, + projectName: { + readOnly: true, + serializedName: "projectName", + type: { + name: "String" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + stage: { + readOnly: true, + serializedName: "stage", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSsisTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSsisTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSsisTaskOutput", + className: "MigrateSsisTaskOutputMigrationLevel", + modelProperties: { + ...MigrateSsisTaskOutput.type.modelProperties, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + stage: { + readOnly: true, + serializedName: "stage", + type: { + name: "String" + } + } + } + } +}; + +export const SsisMigrationInfo: msRest.CompositeMapper = { + serializedName: "SsisMigrationInfo", + type: { + name: "Composite", + className: "SsisMigrationInfo", + modelProperties: { + ssisStoreType: { + serializedName: "ssisStoreType", + type: { + name: "String" + } + }, + projectOverwriteOption: { + serializedName: "projectOverwriteOption", + type: { + name: "String" + } + }, + environmentOverwriteOption: { + serializedName: "environmentOverwriteOption", + type: { + name: "String" + } + } + } + } +}; + +export const ConnectionInfo: msRest.CompositeMapper = { + serializedName: "ConnectionInfo", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, + uberParent: "ConnectionInfo", + className: "ConnectionInfo", + modelProperties: { + userName: { + serializedName: "userName", + type: { + name: "String" + } + }, + password: { + serializedName: "password", + type: { + name: "String" + } + }, + type: { + required: true, + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const MiSqlConnectionInfo: msRest.CompositeMapper = { + serializedName: "MiSqlConnectionInfo", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator, + uberParent: "ConnectionInfo", + className: "MiSqlConnectionInfo", + modelProperties: { + ...ConnectionInfo.type.modelProperties, + managedInstanceResourceId: { + required: true, + serializedName: "managedInstanceResourceId", + type: { + name: "String" + } + } + } + } +}; + +export const PostgreSqlConnectionInfo: msRest.CompositeMapper = { + serializedName: "PostgreSqlConnectionInfo", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator, + uberParent: "ConnectionInfo", + className: "PostgreSqlConnectionInfo", + modelProperties: { + ...ConnectionInfo.type.modelProperties, + serverName: { + required: true, + serializedName: "serverName", + type: { + name: "String" + } + }, + databaseName: { + serializedName: "databaseName", + type: { + name: "String" + } + }, + port: { + required: true, + serializedName: "port", + type: { + name: "Number" + } + } + } + } +}; + +export const OracleConnectionInfo: msRest.CompositeMapper = { + serializedName: "OracleConnectionInfo", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator, + uberParent: "ConnectionInfo", + className: "OracleConnectionInfo", + modelProperties: { + ...ConnectionInfo.type.modelProperties, + dataSource: { + required: true, + serializedName: "dataSource", + type: { + name: "String" + } + } + } + } +}; + +export const MySqlConnectionInfo: msRest.CompositeMapper = { + serializedName: "MySqlConnectionInfo", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator, + uberParent: "ConnectionInfo", + className: "MySqlConnectionInfo", + modelProperties: { + ...ConnectionInfo.type.modelProperties, + serverName: { + required: true, + serializedName: "serverName", + type: { + name: "String" + } + }, + port: { + required: true, + serializedName: "port", + type: { + name: "Number" + } + } + } + } +}; + +export const MongoDbConnectionInfo: msRest.CompositeMapper = { + serializedName: "MongoDbConnectionInfo", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator, + uberParent: "ConnectionInfo", + className: "MongoDbConnectionInfo", + modelProperties: { + ...ConnectionInfo.type.modelProperties, + connectionString: { + required: true, + serializedName: "connectionString", + type: { + name: "String" + } + } + } + } +}; + +export const SqlConnectionInfo: msRest.CompositeMapper = { + serializedName: "SqlConnectionInfo", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectionInfo.type.polymorphicDiscriminator, + uberParent: "ConnectionInfo", + className: "SqlConnectionInfo", + modelProperties: { + ...ConnectionInfo.type.modelProperties, + dataSource: { + required: true, + serializedName: "dataSource", + type: { + name: "String" + } + }, + authentication: { + serializedName: "authentication", + type: { + name: "String" + } + }, + encryptConnection: { + serializedName: "encryptConnection", + defaultValue: true, + type: { + name: "Boolean" + } + }, + additionalSettings: { + serializedName: "additionalSettings", + type: { + name: "String" + } + }, + trustServerCertificate: { + serializedName: "trustServerCertificate", + defaultValue: false, + type: { + name: "Boolean" + } + }, + platform: { + serializedName: "platform", + type: { + name: "String" + } + } + } + } +}; + +export const SqlMigrationTaskInput: msRest.CompositeMapper = { + serializedName: "SqlMigrationTaskInput", + type: { + name: "Composite", + className: "SqlMigrationTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + } + } + } +}; + +export const MigrateSsisTaskInput: msRest.CompositeMapper = { + serializedName: "MigrateSsisTaskInput", + type: { + name: "Composite", + className: "MigrateSsisTaskInput", + modelProperties: { + ...SqlMigrationTaskInput.type.modelProperties, + ssisMigrationInfo: { + required: true, + serializedName: "ssisMigrationInfo", + type: { + name: "Composite", + className: "SsisMigrationInfo" + } + } + } + } +}; + +export const ProjectTaskProperties: msRest.CompositeMapper = { + serializedName: "ProjectTaskProperties", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "taskType", + clientName: "taskType" + }, + uberParent: "ProjectTaskProperties", + className: "ProjectTaskProperties", + modelProperties: { + errors: { + readOnly: true, + serializedName: "errors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ODataError" + } + } + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + commands: { + readOnly: true, + serializedName: "commands", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CommandProperties" + } + } + } + }, + clientData: { + serializedName: "clientData", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + taskType: { + required: true, + serializedName: "taskType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSsisTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.Ssis", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateSsisTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateSsisTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSsisTaskOutput" + } + } + } + } + } + } +}; + +export const GetTdeCertificatesSqlTaskOutput: msRest.CompositeMapper = { + serializedName: "GetTdeCertificatesSqlTaskOutput", + type: { + name: "Composite", + className: "GetTdeCertificatesSqlTaskOutput", + modelProperties: { + base64EncodedCertificates: { + readOnly: true, + serializedName: "base64EncodedCertificates", + type: { + name: "Dictionary", + value: { + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const SelectedCertificateInput: msRest.CompositeMapper = { + serializedName: "SelectedCertificateInput", + type: { + name: "Composite", + className: "SelectedCertificateInput", + modelProperties: { + certificateName: { + required: true, + serializedName: "certificateName", + type: { + name: "String" + } + }, + password: { + required: true, + serializedName: "password", + type: { + name: "String" + } + } + } + } +}; + +export const FileShare: msRest.CompositeMapper = { + serializedName: "FileShare", + type: { + name: "Composite", + className: "FileShare", + modelProperties: { + userName: { + serializedName: "userName", + type: { + name: "String" + } + }, + password: { + serializedName: "password", + type: { + name: "String" + } + }, + path: { + required: true, + serializedName: "path", + type: { + name: "String" + } + } + } + } +}; + +export const GetTdeCertificatesSqlTaskInput: msRest.CompositeMapper = { + serializedName: "GetTdeCertificatesSqlTaskInput", + type: { + name: "Composite", + className: "GetTdeCertificatesSqlTaskInput", + modelProperties: { + connectionInfo: { + required: true, + serializedName: "connectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + backupFileShare: { + required: true, + serializedName: "backupFileShare", + type: { + name: "Composite", + className: "FileShare" + } + }, + selectedCertificates: { + required: true, + serializedName: "selectedCertificates", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SelectedCertificateInput" + } + } + } + } + } + } +}; + +export const GetTdeCertificatesSqlTaskProperties: msRest.CompositeMapper = { + serializedName: "GetTDECertificates.Sql", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "GetTdeCertificatesSqlTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "GetTdeCertificatesSqlTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GetTdeCertificatesSqlTaskOutput" + } + } + } + } + } + } +}; + +export const ValidateOracleAzureDbPostgreSqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "ValidateOracleAzureDbPostgreSqlSyncTaskOutput", + type: { + name: "Composite", + className: "ValidateOracleAzureDbPostgreSqlSyncTaskOutput", + modelProperties: { + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput", + type: { + name: "Composite", + className: "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput", + modelProperties: { + caseManipulation: { + serializedName: "caseManipulation", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + schemaName: { + serializedName: "schemaName", + type: { + name: "String" + } + }, + tableMap: { + serializedName: "tableMap", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + targetDatabaseName: { + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + migrationSetting: { + serializedName: "migrationSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sourceSetting: { + serializedName: "sourceSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + targetSetting: { + serializedName: "targetSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncTaskInput: msRest.CompositeMapper = { + serializedName: "MigrateOracleAzureDbPostgreSqlSyncTaskInput", + type: { + name: "Composite", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskInput", + modelProperties: { + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput" + } + } + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + }, + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "OracleConnectionInfo" + } + } + } + } +}; + +export const ValidateOracleAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "Validate.Oracle.AzureDbPostgreSql.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ValidateOracleAzureDbPostgreSqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const MongoDbError: msRest.CompositeMapper = { + serializedName: "MongoDbError", + type: { + name: "Composite", + className: "MongoDbError", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + count: { + serializedName: "count", + type: { + name: "Number" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const MongoDbProgress: msRest.CompositeMapper = { + serializedName: "MongoDbProgress", + type: { + name: "Composite", + className: "MongoDbProgress", + modelProperties: { + bytesCopied: { + required: true, + serializedName: "bytesCopied", + type: { + name: "Number" + } + }, + documentsCopied: { + required: true, + serializedName: "documentsCopied", + type: { + name: "Number" + } + }, + elapsedTime: { + required: true, + serializedName: "elapsedTime", + type: { + name: "String" + } + }, + errors: { + required: true, + serializedName: "errors", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "MongoDbError" + } + } + } + }, + eventsPending: { + required: true, + serializedName: "eventsPending", + type: { + name: "Number" + } + }, + eventsReplayed: { + required: true, + serializedName: "eventsReplayed", + type: { + name: "Number" + } + }, + lastEventTime: { + serializedName: "lastEventTime", + type: { + name: "DateTime" + } + }, + lastReplayTime: { + serializedName: "lastReplayTime", + type: { + name: "DateTime" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + qualifiedName: { + serializedName: "qualifiedName", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + }, + state: { + required: true, + serializedName: "state", + type: { + name: "String" + } + }, + totalBytes: { + required: true, + serializedName: "totalBytes", + type: { + name: "Number" + } + }, + totalDocuments: { + required: true, + serializedName: "totalDocuments", + type: { + name: "Number" + } + } + } + } +}; + +export const MongoDbCollectionProgress: msRest.CompositeMapper = { + serializedName: "Collection", + type: { + name: "Composite", + className: "MongoDbCollectionProgress", + modelProperties: { + ...MongoDbProgress.type.modelProperties + } + } +}; + +export const MongoDbDatabaseProgress: msRest.CompositeMapper = { + serializedName: "Database", + type: { + name: "Composite", + className: "MongoDbDatabaseProgress", + modelProperties: { + ...MongoDbProgress.type.modelProperties, + collections: { + serializedName: "collections", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "MongoDbCollectionProgress" + } + } + } + } + } + } +}; + +export const MongoDbMigrationProgress: msRest.CompositeMapper = { + serializedName: "Migration", + type: { + name: "Composite", + className: "MongoDbMigrationProgress", + modelProperties: { + ...MongoDbProgress.type.modelProperties, + databases: { + serializedName: "databases", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "MongoDbDatabaseProgress" + } + } + } + } + } + } +}; + +export const MongoDbThrottlingSettings: msRest.CompositeMapper = { + serializedName: "MongoDbThrottlingSettings", + type: { + name: "Composite", + className: "MongoDbThrottlingSettings", + modelProperties: { + minFreeCpu: { + serializedName: "minFreeCpu", + type: { + name: "Number" + } + }, + minFreeMemoryMb: { + serializedName: "minFreeMemoryMb", + type: { + name: "Number" + } + }, + maxParallelism: { + serializedName: "maxParallelism", + type: { + name: "Number" + } + } + } + } +}; + +export const MongoDbShardKeyField: msRest.CompositeMapper = { + serializedName: "MongoDbShardKeyField", + type: { + name: "Composite", + className: "MongoDbShardKeyField", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + order: { + required: true, + serializedName: "order", + type: { + name: "String" + } + } + } + } +}; + +export const MongoDbShardKeySetting: msRest.CompositeMapper = { + serializedName: "MongoDbShardKeySetting", + type: { + name: "Composite", + className: "MongoDbShardKeySetting", + modelProperties: { + fields: { + required: true, + serializedName: "fields", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MongoDbShardKeyField" + } + } + } + }, + isUnique: { + required: true, + serializedName: "isUnique", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MongoDbCollectionSettings: msRest.CompositeMapper = { + serializedName: "MongoDbCollectionSettings", + type: { + name: "Composite", + className: "MongoDbCollectionSettings", + modelProperties: { + canDelete: { + serializedName: "canDelete", + type: { + name: "Boolean" + } + }, + shardKey: { + serializedName: "shardKey", + type: { + name: "Composite", + className: "MongoDbShardKeySetting" + } + }, + targetRUs: { + serializedName: "targetRUs", + type: { + name: "Number" + } + } + } + } +}; + +export const MongoDbDatabaseSettings: msRest.CompositeMapper = { + serializedName: "MongoDbDatabaseSettings", + type: { + name: "Composite", + className: "MongoDbDatabaseSettings", + modelProperties: { + collections: { + required: true, + serializedName: "collections", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "MongoDbCollectionSettings" + } + } + } + }, + targetRUs: { + serializedName: "targetRUs", + type: { + name: "Number" + } + } + } + } +}; + +export const MongoDbMigrationSettings: msRest.CompositeMapper = { + serializedName: "MongoDbMigrationSettings", + type: { + name: "Composite", + className: "MongoDbMigrationSettings", + modelProperties: { + boostRUs: { + serializedName: "boostRUs", + type: { + name: "Number" + } + }, + databases: { + required: true, + serializedName: "databases", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "MongoDbDatabaseSettings" + } + } + } + }, + replication: { + serializedName: "replication", + type: { + name: "String" + } + }, + source: { + required: true, + serializedName: "source", + type: { + name: "Composite", + className: "MongoDbConnectionInfo" + } + }, + target: { + required: true, + serializedName: "target", + type: { + name: "Composite", + className: "MongoDbConnectionInfo" + } + }, + throttling: { + serializedName: "throttling", + type: { + name: "Composite", + className: "MongoDbThrottlingSettings" + } + } + } + } +}; + +export const ValidateMongoDbTaskProperties: msRest.CompositeMapper = { + serializedName: "Validate.MongoDb", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ValidateMongoDbTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MongoDbMigrationSettings" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MongoDbMigrationProgress" + } + } + } + } + } + } +}; + +export const ValidateMigrationInputSqlServerSqlMISyncTaskOutput: msRest.CompositeMapper = { + serializedName: "ValidateMigrationInputSqlServerSqlMISyncTaskOutput", + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMISyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const AzureActiveDirectoryApp: msRest.CompositeMapper = { + serializedName: "AzureActiveDirectoryApp", + type: { + name: "Composite", + className: "AzureActiveDirectoryApp", + modelProperties: { + applicationId: { + required: true, + serializedName: "applicationId", + type: { + name: "String" + } + }, + appKey: { + required: true, + serializedName: "appKey", + type: { + name: "String" + } + }, + tenantId: { + required: true, + serializedName: "tenantId", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlMIDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlMIDatabaseInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlMIDatabaseInput", + modelProperties: { + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + restoreDatabaseName: { + required: true, + serializedName: "restoreDatabaseName", + type: { + name: "String" + } + }, + backupFileShare: { + serializedName: "backupFileShare", + type: { + name: "Composite", + className: "FileShare" + } + }, + backupFilePaths: { + serializedName: "backupFilePaths", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const SqlServerSqlMISyncTaskInput: msRest.CompositeMapper = { + serializedName: "SqlServerSqlMISyncTaskInput", + type: { + name: "Composite", + className: "SqlServerSqlMISyncTaskInput", + modelProperties: { + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlMIDatabaseInput" + } + } + } + }, + backupFileShare: { + serializedName: "backupFileShare", + type: { + name: "Composite", + className: "FileShare" + } + }, + storageResourceId: { + required: true, + serializedName: "storageResourceId", + type: { + name: "String" + } + }, + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "MiSqlConnectionInfo" + } + }, + azureApp: { + required: true, + serializedName: "azureApp", + type: { + name: "Composite", + className: "AzureActiveDirectoryApp" + } + } + } + } +}; + +export const ValidateMigrationInputSqlServerSqlMISyncTaskInput: msRest.CompositeMapper = { + serializedName: "ValidateMigrationInputSqlServerSqlMISyncTaskInput", + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMISyncTaskInput", + modelProperties: { + ...SqlServerSqlMISyncTaskInput.type.modelProperties + } + } +}; + +export const ValidateMigrationInputSqlServerSqlMISyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ValidateMigrationInputSqlServerSqlMISyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMISyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMISyncTaskOutput" + } + } + } + } + } + } +}; + +export const DatabaseBackupInfo: msRest.CompositeMapper = { + serializedName: "DatabaseBackupInfo", + type: { + name: "Composite", + className: "DatabaseBackupInfo", + modelProperties: { + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + backupType: { + readOnly: true, + serializedName: "backupType", + type: { + name: "String" + } + }, + backupFiles: { + readOnly: true, + serializedName: "backupFiles", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + position: { + readOnly: true, + serializedName: "position", + type: { + name: "Number" + } + }, + isDamaged: { + readOnly: true, + serializedName: "isDamaged", + type: { + name: "Boolean" + } + }, + isCompressed: { + readOnly: true, + serializedName: "isCompressed", + type: { + name: "Boolean" + } + }, + familyCount: { + readOnly: true, + serializedName: "familyCount", + type: { + name: "Number" + } + }, + backupFinishDate: { + readOnly: true, + serializedName: "backupFinishDate", + type: { + name: "DateTime" + } + } + } + } +}; + +export const ValidateMigrationInputSqlServerSqlMITaskOutput: msRest.CompositeMapper = { + serializedName: "ValidateMigrationInputSqlServerSqlMITaskOutput", + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMITaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + restoreDatabaseNameErrors: { + readOnly: true, + serializedName: "restoreDatabaseNameErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + backupFolderErrors: { + readOnly: true, + serializedName: "backupFolderErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + backupShareCredentialsErrors: { + readOnly: true, + serializedName: "backupShareCredentialsErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + backupStorageAccountErrors: { + readOnly: true, + serializedName: "backupStorageAccountErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + existingBackupErrors: { + readOnly: true, + serializedName: "existingBackupErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + databaseBackupInfo: { + serializedName: "databaseBackupInfo", + type: { + name: "Composite", + className: "DatabaseBackupInfo" + } + } + } + } +}; + +export const BlobShare: msRest.CompositeMapper = { + serializedName: "BlobShare", + type: { + name: "Composite", + className: "BlobShare", + modelProperties: { + sasUri: { + required: true, + serializedName: "sasUri", + type: { + name: "String" + } + } + } + } +}; + +export const ValidateMigrationInputSqlServerSqlMITaskInput: msRest.CompositeMapper = { + serializedName: "ValidateMigrationInputSqlServerSqlMITaskInput", + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMITaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlMIDatabaseInput" + } + } + } + }, + selectedLogins: { + serializedName: "selectedLogins", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + backupFileShare: { + serializedName: "backupFileShare", + type: { + name: "Composite", + className: "FileShare" + } + }, + backupBlobShare: { + required: true, + serializedName: "backupBlobShare", + type: { + name: "Composite", + className: "BlobShare" + } + }, + backupMode: { + serializedName: "backupMode", + type: { + name: "String" + } + } + } + } +}; + +export const ValidateMigrationInputSqlServerSqlMITaskProperties: msRest.CompositeMapper = { + serializedName: "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ValidateMigrationInputSqlServerSqlMITaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMITaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ValidateMigrationInputSqlServerSqlMITaskOutput" + } + } + } + } + } + } +}; + +export const ValidateSyncMigrationInputSqlServerTaskOutput: msRest.CompositeMapper = { + serializedName: "ValidateSyncMigrationInputSqlServerTaskOutput", + type: { + name: "Composite", + className: "ValidateSyncMigrationInputSqlServerTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlDbSyncDatabaseInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbSyncDatabaseInput", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + targetDatabaseName: { + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + schemaName: { + serializedName: "schemaName", + type: { + name: "String" + } + }, + tableMap: { + serializedName: "tableMap", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + migrationSetting: { + serializedName: "migrationSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sourceSetting: { + serializedName: "sourceSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + targetSetting: { + serializedName: "targetSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ValidateSyncMigrationInputSqlServerTaskInput: msRest.CompositeMapper = { + serializedName: "ValidateSyncMigrationInputSqlServerTaskInput", + type: { + name: "Composite", + className: "ValidateSyncMigrationInputSqlServerTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbSyncDatabaseInput" + } + } + } + } + } + } +}; + +export const ValidateMigrationInputSqlServerSqlDbSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ValidateMigrationInput.SqlServer.SqlDb.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ValidateSyncMigrationInputSqlServerTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ValidateSyncMigrationInputSqlServerTaskOutput" + } + } + } + } + } + } +}; + +export const SyncMigrationDatabaseErrorEvent: msRest.CompositeMapper = { + serializedName: "SyncMigrationDatabaseErrorEvent", + type: { + name: "Composite", + className: "SyncMigrationDatabaseErrorEvent", + modelProperties: { + timestampString: { + readOnly: true, + serializedName: "timestampString", + type: { + name: "String" + } + }, + eventTypeString: { + readOnly: true, + serializedName: "eventTypeString", + type: { + name: "String" + } + }, + eventText: { + readOnly: true, + serializedName: "eventText", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError: msRest.CompositeMapper = { + serializedName: "DatabaseLevelErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError", + modelProperties: { + ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties, + errorMessage: { + serializedName: "errorMessage", + type: { + name: "String" + } + }, + events: { + serializedName: "events", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SyncMigrationDatabaseErrorEvent" + } + } + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputError", + modelProperties: { + ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel: msRest.CompositeMapper = { + serializedName: "TableLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel", + modelProperties: { + ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties, + tableName: { + readOnly: true, + serializedName: "tableName", + type: { + name: "String" + } + }, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "Number" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "Number" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "Number" + } + }, + fullLoadEstFinishTime: { + readOnly: true, + serializedName: "fullLoadEstFinishTime", + type: { + name: "DateTime" + } + }, + fullLoadStartedOn: { + readOnly: true, + serializedName: "fullLoadStartedOn", + type: { + name: "DateTime" + } + }, + fullLoadEndedOn: { + readOnly: true, + serializedName: "fullLoadEndedOn", + type: { + name: "DateTime" + } + }, + fullLoadTotalRows: { + readOnly: true, + serializedName: "fullLoadTotalRows", + type: { + name: "Number" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + totalChangesApplied: { + readOnly: true, + serializedName: "totalChangesApplied", + type: { + name: "Number" + } + }, + dataErrorsCounter: { + readOnly: true, + serializedName: "dataErrorsCounter", + type: { + name: "Number" + } + }, + lastModifiedTime: { + readOnly: true, + serializedName: "lastModifiedTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel", + modelProperties: { + ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + migrationState: { + readOnly: true, + serializedName: "migrationState", + type: { + name: "String" + } + }, + incomingChanges: { + readOnly: true, + serializedName: "incomingChanges", + type: { + name: "Number" + } + }, + appliedChanges: { + readOnly: true, + serializedName: "appliedChanges", + type: { + name: "Number" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "Number" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "Number" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "Number" + } + }, + fullLoadCompletedTables: { + readOnly: true, + serializedName: "fullLoadCompletedTables", + type: { + name: "Number" + } + }, + fullLoadLoadingTables: { + readOnly: true, + serializedName: "fullLoadLoadingTables", + type: { + name: "Number" + } + }, + fullLoadQueuedTables: { + readOnly: true, + serializedName: "fullLoadQueuedTables", + type: { + name: "Number" + } + }, + fullLoadErroredTables: { + readOnly: true, + serializedName: "fullLoadErroredTables", + type: { + name: "Number" + } + }, + initializationCompleted: { + readOnly: true, + serializedName: "initializationCompleted", + type: { + name: "Boolean" + } + }, + latency: { + readOnly: true, + serializedName: "latency", + type: { + name: "Number" + } + } + } + } +}; + +export const MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel", + modelProperties: { + ...MigrateOracleAzureDbPostgreSqlSyncTaskOutput.type.modelProperties, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServer: { + readOnly: true, + serializedName: "sourceServer", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServer: { + readOnly: true, + serializedName: "targetServer", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateOracleAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.Oracle.AzureDbForPostgreSql.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError: msRest.CompositeMapper = { + serializedName: "DatabaseLevelErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError", + modelProperties: { + ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties, + errorMessage: { + serializedName: "errorMessage", + type: { + name: "String" + } + }, + events: { + serializedName: "events", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SyncMigrationDatabaseErrorEvent" + } + } + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError", + modelProperties: { + ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel: msRest.CompositeMapper = { + serializedName: "TableLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel", + modelProperties: { + ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties, + tableName: { + readOnly: true, + serializedName: "tableName", + type: { + name: "String" + } + }, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "Number" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "Number" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "Number" + } + }, + fullLoadEstFinishTime: { + readOnly: true, + serializedName: "fullLoadEstFinishTime", + type: { + name: "DateTime" + } + }, + fullLoadStartedOn: { + readOnly: true, + serializedName: "fullLoadStartedOn", + type: { + name: "DateTime" + } + }, + fullLoadEndedOn: { + readOnly: true, + serializedName: "fullLoadEndedOn", + type: { + name: "DateTime" + } + }, + fullLoadTotalRows: { + readOnly: true, + serializedName: "fullLoadTotalRows", + type: { + name: "Number" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + totalChangesApplied: { + readOnly: true, + serializedName: "totalChangesApplied", + type: { + name: "Number" + } + }, + dataErrorsCounter: { + readOnly: true, + serializedName: "dataErrorsCounter", + type: { + name: "Number" + } + }, + lastModifiedTime: { + readOnly: true, + serializedName: "lastModifiedTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel", + modelProperties: { + ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + migrationState: { + readOnly: true, + serializedName: "migrationState", + type: { + name: "String" + } + }, + incomingChanges: { + readOnly: true, + serializedName: "incomingChanges", + type: { + name: "Number" + } + }, + appliedChanges: { + readOnly: true, + serializedName: "appliedChanges", + type: { + name: "Number" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "Number" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "Number" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "Number" + } + }, + fullLoadCompletedTables: { + readOnly: true, + serializedName: "fullLoadCompletedTables", + type: { + name: "Number" + } + }, + fullLoadLoadingTables: { + readOnly: true, + serializedName: "fullLoadLoadingTables", + type: { + name: "Number" + } + }, + fullLoadQueuedTables: { + readOnly: true, + serializedName: "fullLoadQueuedTables", + type: { + name: "Number" + } + }, + fullLoadErroredTables: { + readOnly: true, + serializedName: "fullLoadErroredTables", + type: { + name: "Number" + } + }, + initializationCompleted: { + readOnly: true, + serializedName: "initializationCompleted", + type: { + name: "Boolean" + } + }, + latency: { + readOnly: true, + serializedName: "latency", + type: { + name: "Number" + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel", + modelProperties: { + ...MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.type.modelProperties, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServer: { + readOnly: true, + serializedName: "sourceServer", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServer: { + readOnly: true, + serializedName: "targetServer", + type: { + name: "String" + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput", + type: { + name: "Composite", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + targetDatabaseName: { + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + migrationSetting: { + serializedName: "migrationSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sourceSetting: { + serializedName: "sourceSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + targetSetting: { + serializedName: "targetSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput: msRest.CompositeMapper = { + serializedName: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput", + type: { + name: "Composite", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput", + modelProperties: { + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput" + } + } + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + }, + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + } + } + } +}; + +export const MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.PostgreSql.AzureDbForPostgreSql.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + className: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError: msRest.CompositeMapper = { + serializedName: "DatabaseLevelErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError", + modelProperties: { + ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties, + errorMessage: { + serializedName: "errorMessage", + type: { + name: "String" + } + }, + events: { + serializedName: "events", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SyncMigrationDatabaseErrorEvent" + } + } + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputError", + modelProperties: { + ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel: msRest.CompositeMapper = { + serializedName: "TableLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel", + modelProperties: { + ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties, + tableName: { + readOnly: true, + serializedName: "tableName", + type: { + name: "String" + } + }, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "String" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "String" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "String" + } + }, + fullLoadEstFinishTime: { + readOnly: true, + serializedName: "fullLoadEstFinishTime", + type: { + name: "DateTime" + } + }, + fullLoadStartedOn: { + readOnly: true, + serializedName: "fullLoadStartedOn", + type: { + name: "DateTime" + } + }, + fullLoadEndedOn: { + readOnly: true, + serializedName: "fullLoadEndedOn", + type: { + name: "DateTime" + } + }, + fullLoadTotalRows: { + readOnly: true, + serializedName: "fullLoadTotalRows", + type: { + name: "Number" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + totalChangesApplied: { + readOnly: true, + serializedName: "totalChangesApplied", + type: { + name: "Number" + } + }, + dataErrorsCounter: { + readOnly: true, + serializedName: "dataErrorsCounter", + type: { + name: "Number" + } + }, + lastModifiedTime: { + readOnly: true, + serializedName: "lastModifiedTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel", + modelProperties: { + ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + migrationState: { + readOnly: true, + serializedName: "migrationState", + type: { + name: "String" + } + }, + incomingChanges: { + readOnly: true, + serializedName: "incomingChanges", + type: { + name: "Number" + } + }, + appliedChanges: { + readOnly: true, + serializedName: "appliedChanges", + type: { + name: "Number" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "Number" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "Number" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "Number" + } + }, + fullLoadCompletedTables: { + readOnly: true, + serializedName: "fullLoadCompletedTables", + type: { + name: "Number" + } + }, + fullLoadLoadingTables: { + readOnly: true, + serializedName: "fullLoadLoadingTables", + type: { + name: "Number" + } + }, + fullLoadQueuedTables: { + readOnly: true, + serializedName: "fullLoadQueuedTables", + type: { + name: "Number" + } + }, + fullLoadErroredTables: { + readOnly: true, + serializedName: "fullLoadErroredTables", + type: { + name: "Number" + } + }, + initializationCompleted: { + readOnly: true, + serializedName: "initializationCompleted", + type: { + name: "Boolean" + } + }, + latency: { + readOnly: true, + serializedName: "latency", + type: { + name: "Number" + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateMySqlAzureDbForMySqlSyncTaskOutput", + className: "MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel", + modelProperties: { + ...MigrateMySqlAzureDbForMySqlSyncTaskOutput.type.modelProperties, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServer: { + readOnly: true, + serializedName: "sourceServer", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServer: { + readOnly: true, + serializedName: "targetServer", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigrateMySqlAzureDbForMySqlSyncDatabaseInput", + type: { + name: "Composite", + className: "MigrateMySqlAzureDbForMySqlSyncDatabaseInput", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + targetDatabaseName: { + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + migrationSetting: { + serializedName: "migrationSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sourceSetting: { + serializedName: "sourceSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + targetSetting: { + serializedName: "targetSetting", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskInput: msRest.CompositeMapper = { + serializedName: "MigrateMySqlAzureDbForMySqlSyncTaskInput", + type: { + name: "Composite", + className: "MigrateMySqlAzureDbForMySqlSyncTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "MySqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "MySqlConnectionInfo" + } + }, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateMySqlAzureDbForMySqlSyncDatabaseInput" + } + } + } + } + } + } +}; + +export const MigrateMySqlAzureDbForMySqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.MySql.AzureDbForMySql.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateMySqlAzureDbForMySqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateMySqlAzureDbForMySqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlDbSyncTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateSqlServerSqlDbSyncTaskOutput", + className: "MigrateSqlServerSqlDbSyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskOutputDatabaseError: msRest.CompositeMapper = { + serializedName: "DatabaseLevelErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbSyncTaskOutput", + className: "MigrateSqlServerSqlDbSyncTaskOutputDatabaseError", + modelProperties: { + ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties, + errorMessage: { + serializedName: "errorMessage", + type: { + name: "String" + } + }, + events: { + serializedName: "events", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SyncMigrationDatabaseErrorEvent" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbSyncTaskOutput", + className: "MigrateSqlServerSqlDbSyncTaskOutputError", + modelProperties: { + ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskOutputTableLevel: msRest.CompositeMapper = { + serializedName: "TableLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbSyncTaskOutput", + className: "MigrateSqlServerSqlDbSyncTaskOutputTableLevel", + modelProperties: { + ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties, + tableName: { + readOnly: true, + serializedName: "tableName", + type: { + name: "String" + } + }, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "Number" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "Number" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "Number" + } + }, + fullLoadEstFinishTime: { + readOnly: true, + serializedName: "fullLoadEstFinishTime", + type: { + name: "DateTime" + } + }, + fullLoadStartedOn: { + readOnly: true, + serializedName: "fullLoadStartedOn", + type: { + name: "DateTime" + } + }, + fullLoadEndedOn: { + readOnly: true, + serializedName: "fullLoadEndedOn", + type: { + name: "DateTime" + } + }, + fullLoadTotalRows: { + readOnly: true, + serializedName: "fullLoadTotalRows", + type: { + name: "Number" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + totalChangesApplied: { + readOnly: true, + serializedName: "totalChangesApplied", + type: { + name: "Number" + } + }, + dataErrorsCounter: { + readOnly: true, + serializedName: "dataErrorsCounter", + type: { + name: "Number" + } + }, + lastModifiedTime: { + readOnly: true, + serializedName: "lastModifiedTime", + type: { + name: "DateTime" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbSyncTaskOutput", + className: "MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel", + modelProperties: { + ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + migrationState: { + readOnly: true, + serializedName: "migrationState", + type: { + name: "String" + } + }, + incomingChanges: { + readOnly: true, + serializedName: "incomingChanges", + type: { + name: "Number" + } + }, + appliedChanges: { + readOnly: true, + serializedName: "appliedChanges", + type: { + name: "Number" + } + }, + cdcInsertCounter: { + readOnly: true, + serializedName: "cdcInsertCounter", + type: { + name: "Number" + } + }, + cdcDeleteCounter: { + readOnly: true, + serializedName: "cdcDeleteCounter", + type: { + name: "Number" + } + }, + cdcUpdateCounter: { + readOnly: true, + serializedName: "cdcUpdateCounter", + type: { + name: "Number" + } + }, + fullLoadCompletedTables: { + readOnly: true, + serializedName: "fullLoadCompletedTables", + type: { + name: "Number" + } + }, + fullLoadLoadingTables: { + readOnly: true, + serializedName: "fullLoadLoadingTables", + type: { + name: "Number" + } + }, + fullLoadQueuedTables: { + readOnly: true, + serializedName: "fullLoadQueuedTables", + type: { + name: "Number" + } + }, + fullLoadErroredTables: { + readOnly: true, + serializedName: "fullLoadErroredTables", + type: { + name: "Number" + } + }, + initializationCompleted: { + readOnly: true, + serializedName: "initializationCompleted", + type: { + name: "Boolean" + } + }, + latency: { + readOnly: true, + serializedName: "latency", + type: { + name: "Number" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbSyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbSyncTaskOutput", + className: "MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel", + modelProperties: { + ...MigrateSqlServerSqlDbSyncTaskOutput.type.modelProperties, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServer: { + readOnly: true, + serializedName: "sourceServer", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServer: { + readOnly: true, + serializedName: "targetServer", + type: { + name: "String" + } + }, + databaseCount: { + readOnly: true, + serializedName: "databaseCount", + type: { + name: "Number" + } + } + } + } +}; + +export const MigrationValidationOptions: msRest.CompositeMapper = { + serializedName: "MigrationValidationOptions", + type: { + name: "Composite", + className: "MigrationValidationOptions", + modelProperties: { + enableSchemaValidation: { + serializedName: "enableSchemaValidation", + type: { + name: "Boolean" + } + }, + enableDataIntegrityValidation: { + serializedName: "enableDataIntegrityValidation", + type: { + name: "Boolean" + } + }, + enableQueryAnalysisValidation: { + serializedName: "enableQueryAnalysisValidation", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlDbSyncTaskInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbSyncTaskInput", + modelProperties: { + ...SqlMigrationTaskInput.type.modelProperties, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbSyncDatabaseInput" + } + } + } + }, + validationOptions: { + serializedName: "validationOptions", + type: { + name: "Composite", + className: "MigrationValidationOptions" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.SqlServer.AzureSqlDb.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateSqlServerSqlDbSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbSyncTaskOutput" + } + } + } + } + } + } +}; + +export const ValidationError: msRest.CompositeMapper = { + serializedName: "ValidationError", + type: { + name: "Composite", + className: "ValidationError", + modelProperties: { + text: { + serializedName: "text", + type: { + name: "String" + } + }, + severity: { + serializedName: "severity", + type: { + name: "String" + } + } + } + } +}; + +export const WaitStatistics: msRest.CompositeMapper = { + serializedName: "WaitStatistics", + type: { + name: "Composite", + className: "WaitStatistics", + modelProperties: { + waitType: { + serializedName: "waitType", + type: { + name: "String" + } + }, + waitTimeMs: { + serializedName: "waitTimeMs", + defaultValue: 0, + type: { + name: "Number" + } + }, + waitCount: { + serializedName: "waitCount", + type: { + name: "Number" + } + } + } + } +}; + +export const ExecutionStatistics: msRest.CompositeMapper = { + serializedName: "ExecutionStatistics", + type: { + name: "Composite", + className: "ExecutionStatistics", + modelProperties: { + executionCount: { + serializedName: "executionCount", + type: { + name: "Number" + } + }, + cpuTimeMs: { + serializedName: "cpuTimeMs", + type: { + name: "Number" + } + }, + elapsedTimeMs: { + serializedName: "elapsedTimeMs", + type: { + name: "Number" + } + }, + waitStats: { + serializedName: "waitStats", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "WaitStatistics" + } + } + } + }, + hasErrors: { + serializedName: "hasErrors", + type: { + name: "Boolean" + } + }, + sqlErrors: { + serializedName: "sqlErrors", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const QueryExecutionResult: msRest.CompositeMapper = { + serializedName: "QueryExecutionResult", + type: { + name: "Composite", + className: "QueryExecutionResult", + modelProperties: { + queryText: { + serializedName: "queryText", + type: { + name: "String" + } + }, + statementsInBatch: { + serializedName: "statementsInBatch", + type: { + name: "Number" + } + }, + sourceResult: { + serializedName: "sourceResult", + type: { + name: "Composite", + className: "ExecutionStatistics" + } + }, + targetResult: { + serializedName: "targetResult", + type: { + name: "Composite", + className: "ExecutionStatistics" + } + } + } + } +}; + +export const QueryAnalysisValidationResult: msRest.CompositeMapper = { + serializedName: "QueryAnalysisValidationResult", + type: { + name: "Composite", + className: "QueryAnalysisValidationResult", + modelProperties: { + queryResults: { + serializedName: "queryResults", + type: { + name: "Composite", + className: "QueryExecutionResult" + } + }, + validationErrors: { + serializedName: "validationErrors", + type: { + name: "Composite", + className: "ValidationError" + } + } + } + } +}; + +export const SchemaComparisonValidationResultType: msRest.CompositeMapper = { + serializedName: "SchemaComparisonValidationResultType", + type: { + name: "Composite", + className: "SchemaComparisonValidationResultType", + modelProperties: { + objectName: { + serializedName: "objectName", + type: { + name: "String" + } + }, + objectType: { + serializedName: "objectType", + type: { + name: "String" + } + }, + updateAction: { + serializedName: "updateAction", + type: { + name: "String" + } + } + } + } +}; + +export const SchemaComparisonValidationResult: msRest.CompositeMapper = { + serializedName: "SchemaComparisonValidationResult", + type: { + name: "Composite", + className: "SchemaComparisonValidationResult", + modelProperties: { + schemaDifferences: { + serializedName: "schemaDifferences", + type: { + name: "Composite", + className: "SchemaComparisonValidationResultType" + } + }, + validationErrors: { + serializedName: "validationErrors", + type: { + name: "Composite", + className: "ValidationError" + } + }, + sourceDatabaseObjectCount: { + serializedName: "sourceDatabaseObjectCount", + type: { + name: "Dictionary", + value: { + type: { + name: "Number" + } + } + } + }, + targetDatabaseObjectCount: { + serializedName: "targetDatabaseObjectCount", + type: { + name: "Dictionary", + value: { + type: { + name: "Number" + } + } + } + } + } + } +}; + +export const DataIntegrityValidationResult: msRest.CompositeMapper = { + serializedName: "DataIntegrityValidationResult", + type: { + name: "Composite", + className: "DataIntegrityValidationResult", + modelProperties: { + failedObjects: { + serializedName: "failedObjects", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + validationErrors: { + serializedName: "validationErrors", + type: { + name: "Composite", + className: "ValidationError" + } + } + } + } +}; + +export const MigrationValidationDatabaseLevelResult: msRest.CompositeMapper = { + serializedName: "MigrationValidationDatabaseLevelResult", + type: { + name: "Composite", + className: "MigrationValidationDatabaseLevelResult", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + migrationId: { + readOnly: true, + serializedName: "migrationId", + type: { + name: "String" + } + }, + sourceDatabaseName: { + readOnly: true, + serializedName: "sourceDatabaseName", + type: { + name: "String" + } + }, + targetDatabaseName: { + readOnly: true, + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + dataIntegrityValidationResult: { + readOnly: true, + serializedName: "dataIntegrityValidationResult", + type: { + name: "Composite", + className: "DataIntegrityValidationResult" + } + }, + schemaValidationResult: { + readOnly: true, + serializedName: "schemaValidationResult", + type: { + name: "Composite", + className: "SchemaComparisonValidationResult" + } + }, + queryAnalysisValidationResult: { + readOnly: true, + serializedName: "queryAnalysisValidationResult", + type: { + name: "Composite", + className: "QueryAnalysisValidationResult" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const MigrationValidationDatabaseSummaryResult: msRest.CompositeMapper = { + serializedName: "MigrationValidationDatabaseSummaryResult", + type: { + name: "Composite", + className: "MigrationValidationDatabaseSummaryResult", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + migrationId: { + readOnly: true, + serializedName: "migrationId", + type: { + name: "String" + } + }, + sourceDatabaseName: { + readOnly: true, + serializedName: "sourceDatabaseName", + type: { + name: "String" + } + }, + targetDatabaseName: { + readOnly: true, + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const MigrationValidationResult: msRest.CompositeMapper = { + serializedName: "MigrationValidationResult", + type: { + name: "Composite", + className: "MigrationValidationResult", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + migrationId: { + readOnly: true, + serializedName: "migrationId", + type: { + name: "String" + } + }, + summaryResults: { + serializedName: "summaryResults", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "MigrationValidationDatabaseSummaryResult" + } + } + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbTaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlDbTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateSqlServerSqlDbTaskOutput", + className: "MigrateSqlServerSqlDbTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbTaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbTaskOutput", + className: "MigrateSqlServerSqlDbTaskOutputError", + modelProperties: { + ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbTaskOutputTableLevel: msRest.CompositeMapper = { + serializedName: "TableLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbTaskOutput", + className: "MigrateSqlServerSqlDbTaskOutputTableLevel", + modelProperties: { + ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties, + objectName: { + readOnly: true, + serializedName: "objectName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + statusMessage: { + readOnly: true, + serializedName: "statusMessage", + type: { + name: "String" + } + }, + itemsCount: { + readOnly: true, + serializedName: "itemsCount", + type: { + name: "Number" + } + }, + itemsCompletedCount: { + readOnly: true, + serializedName: "itemsCompletedCount", + type: { + name: "Number" + } + }, + errorPrefix: { + readOnly: true, + serializedName: "errorPrefix", + type: { + name: "String" + } + }, + resultPrefix: { + readOnly: true, + serializedName: "resultPrefix", + type: { + name: "String" + } + } + } + } +}; + +export const DataItemMigrationSummaryResult: msRest.CompositeMapper = { + serializedName: "DataItemMigrationSummaryResult", + type: { + name: "Composite", + className: "DataItemMigrationSummaryResult", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + statusMessage: { + readOnly: true, + serializedName: "statusMessage", + type: { + name: "String" + } + }, + itemsCount: { + readOnly: true, + serializedName: "itemsCount", + type: { + name: "Number" + } + }, + itemsCompletedCount: { + readOnly: true, + serializedName: "itemsCompletedCount", + type: { + name: "Number" + } + }, + errorPrefix: { + readOnly: true, + serializedName: "errorPrefix", + type: { + name: "String" + } + }, + resultPrefix: { + readOnly: true, + serializedName: "resultPrefix", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbTaskOutput", + className: "MigrateSqlServerSqlDbTaskOutputDatabaseLevel", + modelProperties: { + ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + stage: { + readOnly: true, + serializedName: "stage", + type: { + name: "String" + } + }, + statusMessage: { + readOnly: true, + serializedName: "statusMessage", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + numberOfObjects: { + readOnly: true, + serializedName: "numberOfObjects", + type: { + name: "Number" + } + }, + numberOfObjectsCompleted: { + readOnly: true, + serializedName: "numberOfObjectsCompleted", + type: { + name: "Number" + } + }, + errorCount: { + readOnly: true, + serializedName: "errorCount", + type: { + name: "Number" + } + }, + errorPrefix: { + readOnly: true, + serializedName: "errorPrefix", + type: { + name: "String" + } + }, + resultPrefix: { + readOnly: true, + serializedName: "resultPrefix", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + objectSummary: { + readOnly: true, + serializedName: "objectSummary", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "DataItemMigrationSummaryResult" + } + } + } + } + } + } +}; + +export const MigrationReportResult: msRest.CompositeMapper = { + serializedName: "MigrationReportResult", + type: { + name: "Composite", + className: "MigrationReportResult", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + reportUrl: { + serializedName: "reportUrl", + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseSummaryResult: msRest.CompositeMapper = { + serializedName: "DatabaseSummaryResult", + type: { + name: "Composite", + className: "DatabaseSummaryResult", + modelProperties: { + ...DataItemMigrationSummaryResult.type.modelProperties, + sizeMB: { + readOnly: true, + serializedName: "sizeMB", + type: { + name: "Number" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlDbTaskOutput", + className: "MigrateSqlServerSqlDbTaskOutputMigrationLevel", + modelProperties: { + ...MigrateSqlServerSqlDbTaskOutput.type.modelProperties, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + durationInSeconds: { + readOnly: true, + serializedName: "durationInSeconds", + type: { + name: "Number" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + }, + statusMessage: { + readOnly: true, + serializedName: "statusMessage", + type: { + name: "String" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + databaseSummary: { + readOnly: true, + serializedName: "databaseSummary", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "DatabaseSummaryResult" + } + } + } + }, + migrationValidationResult: { + serializedName: "migrationValidationResult", + type: { + name: "Composite", + className: "MigrationValidationResult" + } + }, + migrationReportResult: { + serializedName: "migrationReportResult", + type: { + name: "Composite", + className: "MigrationReportResult" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlDbDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlDbDatabaseInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbDatabaseInput", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + targetDatabaseName: { + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + makeSourceDbReadOnly: { + serializedName: "makeSourceDbReadOnly", + type: { + name: "Boolean" + } + }, + tableMap: { + serializedName: "tableMap", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlDbTaskInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlDbTaskInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbTaskInput", + modelProperties: { + ...SqlMigrationTaskInput.type.modelProperties, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbDatabaseInput" + } + } + } + }, + validationOptions: { + serializedName: "validationOptions", + type: { + name: "Composite", + className: "MigrationValidationOptions" + } + } + } + } +}; + +export const MigrateSqlServerSqlDbTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.SqlServer.SqlDb", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateSqlServerSqlDbTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlDbTaskOutput" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlMISyncTaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlMISyncTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateSqlServerSqlMISyncTaskOutput", + className: "MigrateSqlServerSqlMISyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlMISyncTaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMISyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMISyncTaskOutput", + className: "MigrateSqlServerSqlMISyncTaskOutputError", + modelProperties: { + ...MigrateSqlServerSqlMISyncTaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const BackupFileInfo: msRest.CompositeMapper = { + serializedName: "BackupFileInfo", + type: { + name: "Composite", + className: "BackupFileInfo", + modelProperties: { + fileLocation: { + serializedName: "fileLocation", + type: { + name: "String" + } + }, + familySequenceNumber: { + serializedName: "familySequenceNumber", + type: { + name: "Number" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + } + } + } +}; + +export const BackupSetInfo: msRest.CompositeMapper = { + serializedName: "BackupSetInfo", + type: { + name: "Composite", + className: "BackupSetInfo", + modelProperties: { + backupSetId: { + serializedName: "backupSetId", + type: { + name: "String" + } + }, + firstLsn: { + serializedName: "firstLsn", + type: { + name: "String" + } + }, + lastLsn: { + serializedName: "lastLsn", + type: { + name: "String" + } + }, + lastModifiedTime: { + serializedName: "lastModifiedTime", + type: { + name: "DateTime" + } + }, + backupType: { + serializedName: "backupType", + type: { + name: "String" + } + }, + listOfBackupFiles: { + serializedName: "listOfBackupFiles", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackupFileInfo" + } + } + } + }, + databaseName: { + serializedName: "databaseName", + type: { + name: "String" + } + }, + backupStartDate: { + serializedName: "backupStartDate", + type: { + name: "DateTime" + } + }, + backupFinishedDate: { + serializedName: "backupFinishedDate", + type: { + name: "DateTime" + } + }, + isBackupRestored: { + serializedName: "isBackupRestored", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMISyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMISyncTaskOutput", + className: "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel", + modelProperties: { + ...MigrateSqlServerSqlMISyncTaskOutput.type.modelProperties, + sourceDatabaseName: { + readOnly: true, + serializedName: "sourceDatabaseName", + type: { + name: "String" + } + }, + migrationState: { + readOnly: true, + serializedName: "migrationState", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + fullBackupSetInfo: { + readOnly: true, + serializedName: "fullBackupSetInfo", + type: { + name: "Composite", + className: "BackupSetInfo" + } + }, + lastRestoredBackupSetInfo: { + readOnly: true, + serializedName: "lastRestoredBackupSetInfo", + type: { + name: "Composite", + className: "BackupSetInfo" + } + }, + activeBackupSets: { + readOnly: true, + serializedName: "activeBackupSets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackupSetInfo" + } + } + } + }, + containerName: { + readOnly: true, + serializedName: "containerName", + type: { + name: "String" + } + }, + errorPrefix: { + readOnly: true, + serializedName: "errorPrefix", + type: { + name: "String" + } + }, + isFullBackupRestored: { + readOnly: true, + serializedName: "isFullBackupRestored", + type: { + name: "Boolean" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlMISyncTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMISyncTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMISyncTaskOutput", + className: "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel", + modelProperties: { + ...MigrateSqlServerSqlMISyncTaskOutput.type.modelProperties, + databaseCount: { + readOnly: true, + serializedName: "databaseCount", + type: { + name: "Number" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + sourceServerName: { + readOnly: true, + serializedName: "sourceServerName", + type: { + name: "String" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + targetServerName: { + readOnly: true, + serializedName: "targetServerName", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + databaseErrorCount: { + readOnly: true, + serializedName: "databaseErrorCount", + type: { + name: "Number" + } + } + } + } +}; + +export const MigrateSqlServerSqlMISyncTaskInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlMISyncTaskInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlMISyncTaskInput", + modelProperties: { + ...SqlServerSqlMISyncTaskInput.type.modelProperties + } + } +}; + +export const MigrateSqlServerSqlMISyncTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateSqlServerSqlMISyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateSqlServerSqlMISyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlMISyncTaskOutput" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlMITaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateSqlServerSqlMITaskOutput", + className: "MigrateSqlServerSqlMITaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMITaskOutput", + className: "MigrateSqlServerSqlMITaskOutputError", + modelProperties: { + ...MigrateSqlServerSqlMITaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskOutputLoginLevel: msRest.CompositeMapper = { + serializedName: "LoginLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMITaskOutput", + className: "MigrateSqlServerSqlMITaskOutputLoginLevel", + modelProperties: { + ...MigrateSqlServerSqlMITaskOutput.type.modelProperties, + loginName: { + readOnly: true, + serializedName: "loginName", + type: { + name: "String" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + stage: { + readOnly: true, + serializedName: "stage", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskOutputAgentJobLevel: msRest.CompositeMapper = { + serializedName: "AgentJobLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMITaskOutput", + className: "MigrateSqlServerSqlMITaskOutputAgentJobLevel", + modelProperties: { + ...MigrateSqlServerSqlMITaskOutput.type.modelProperties, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + isEnabled: { + readOnly: true, + serializedName: "isEnabled", + type: { + name: "Boolean" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMITaskOutput", + className: "MigrateSqlServerSqlMITaskOutputDatabaseLevel", + modelProperties: { + ...MigrateSqlServerSqlMITaskOutput.type.modelProperties, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + sizeMB: { + readOnly: true, + serializedName: "sizeMB", + type: { + name: "Number" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + stage: { + readOnly: true, + serializedName: "stage", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const OrphanedUserInfo: msRest.CompositeMapper = { + serializedName: "OrphanedUserInfo", + type: { + name: "Composite", + className: "OrphanedUserInfo", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + databaseName: { + serializedName: "databaseName", + type: { + name: "String" + } + } + } + } +}; + +export const StartMigrationScenarioServerRoleResult: msRest.CompositeMapper = { + serializedName: "StartMigrationScenarioServerRoleResult", + type: { + name: "Composite", + className: "StartMigrationScenarioServerRoleResult", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSqlServerSqlMITaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSqlServerSqlMITaskOutput", + className: "MigrateSqlServerSqlMITaskOutputMigrationLevel", + modelProperties: { + ...MigrateSqlServerSqlMITaskOutput.type.modelProperties, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + agentJobs: { + readOnly: true, + serializedName: "agentJobs", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + logins: { + readOnly: true, + serializedName: "logins", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + serverRoleResults: { + readOnly: true, + serializedName: "serverRoleResults", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "StartMigrationScenarioServerRoleResult" + } + } + } + }, + orphanedUsersInfo: { + readOnly: true, + serializedName: "orphanedUsersInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OrphanedUserInfo" + } + } + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + exceptionsAndWarnings: { + readOnly: true, + serializedName: "exceptionsAndWarnings", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlMITaskInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlMITaskInput", + modelProperties: { + ...SqlMigrationTaskInput.type.modelProperties, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlMIDatabaseInput" + } + } + } + }, + selectedLogins: { + serializedName: "selectedLogins", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + selectedAgentJobs: { + serializedName: "selectedAgentJobs", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + backupFileShare: { + serializedName: "backupFileShare", + type: { + name: "Composite", + className: "FileShare" + } + }, + backupBlobShare: { + required: true, + serializedName: "backupBlobShare", + type: { + name: "Composite", + className: "BlobShare" + } + }, + backupMode: { + serializedName: "backupMode", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlMITaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.SqlServer.AzureSqlDbMI", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateSqlServerSqlMITaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateSqlServerSqlMITaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSqlServerSqlMITaskOutput" + } + } + } + } + } + } +}; + +export const MigrateMongoDbTaskProperties: msRest.CompositeMapper = { + serializedName: "Migrate.MongoDb", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateMongoDbTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MongoDbMigrationSettings" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MongoDbProgress" + } + } + } + } + } + } +}; + +export const ConnectToTargetAzureDbForMySqlTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetAzureDbForMySqlTaskOutput", + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForMySqlTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + serverVersion: { + readOnly: true, + serializedName: "serverVersion", + type: { + name: "String" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToTargetAzureDbForMySqlTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetAzureDbForMySqlTaskInput", + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForMySqlTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "MySqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "MySqlConnectionInfo" + } + } + } + } +}; + +export const ConnectToTargetAzureDbForMySqlTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToTarget.AzureDbForMySql", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToTargetAzureDbForMySqlTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForMySqlTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForMySqlTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToTargetSqlMISyncTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetSqlMISyncTaskOutput", + type: { + name: "Composite", + className: "ConnectToTargetSqlMISyncTaskOutput", + modelProperties: { + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToTargetSqlMISyncTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetSqlMISyncTaskInput", + type: { + name: "Composite", + className: "ConnectToTargetSqlMISyncTaskInput", + modelProperties: { + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "MiSqlConnectionInfo" + } + }, + azureApp: { + required: true, + serializedName: "azureApp", + type: { + name: "Composite", + className: "AzureActiveDirectoryApp" + } + } + } + } +}; + +export const ConnectToTargetSqlMISyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToTarget.AzureSqlDbMI.Sync.LRS", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToTargetSqlMISyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToTargetSqlMISyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetSqlMISyncTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToTargetSqlMITaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetSqlMITaskOutput", + type: { + name: "Composite", + className: "ConnectToTargetSqlMITaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + logins: { + readOnly: true, + serializedName: "logins", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + agentJobs: { + readOnly: true, + serializedName: "agentJobs", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToTargetSqlMITaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetSqlMITaskInput", + type: { + name: "Composite", + className: "ConnectToTargetSqlMITaskInput", + modelProperties: { + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + collectLogins: { + serializedName: "collectLogins", + defaultValue: true, + type: { + name: "Boolean" + } + }, + collectAgentJobs: { + serializedName: "collectAgentJobs", + defaultValue: true, + type: { + name: "Boolean" + } + }, + validateSsisCatalogOnly: { + serializedName: "validateSsisCatalogOnly", + defaultValue: false, + type: { + name: "Boolean" + } + } + } + } +}; + +export const ConnectToTargetSqlMITaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToTarget.AzureSqlDbMI", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToTargetSqlMITaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToTargetSqlMITaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetSqlMITaskOutput" + } + } + } + } + } + } +}; + +export const DatabaseTable: msRest.CompositeMapper = { + serializedName: "DatabaseTable", + type: { + name: "Composite", + className: "DatabaseTable", + modelProperties: { + hasRows: { + readOnly: true, + serializedName: "hasRows", + type: { + name: "Boolean" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + } + } + } +}; + +export const GetUserTablesPostgreSqlTaskOutput: msRest.CompositeMapper = { + serializedName: "GetUserTablesPostgreSqlTaskOutput", + type: { + name: "Composite", + className: "GetUserTablesPostgreSqlTaskOutput", + modelProperties: { + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + tables: { + readOnly: true, + serializedName: "tables", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseTable" + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const GetUserTablesPostgreSqlTaskInput: msRest.CompositeMapper = { + serializedName: "GetUserTablesPostgreSqlTaskInput", + type: { + name: "Composite", + className: "GetUserTablesPostgreSqlTaskInput", + modelProperties: { + connectionInfo: { + required: true, + serializedName: "connectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + }, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const GetUserTablesPostgreSqlTaskProperties: msRest.CompositeMapper = { + serializedName: "GetUserTablesPostgreSql", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "GetUserTablesPostgreSqlTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "GetUserTablesPostgreSqlTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GetUserTablesPostgreSqlTaskOutput" + } + } + } + } + } + } +}; + +export const GetUserTablesOracleTaskOutput: msRest.CompositeMapper = { + serializedName: "GetUserTablesOracleTaskOutput", + type: { + name: "Composite", + className: "GetUserTablesOracleTaskOutput", + modelProperties: { + schemaName: { + readOnly: true, + serializedName: "schemaName", + type: { + name: "String" + } + }, + tables: { + readOnly: true, + serializedName: "tables", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseTable" + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const GetUserTablesOracleTaskInput: msRest.CompositeMapper = { + serializedName: "GetUserTablesOracleTaskInput", + type: { + name: "Composite", + className: "GetUserTablesOracleTaskInput", + modelProperties: { + connectionInfo: { + required: true, + serializedName: "connectionInfo", + type: { + name: "Composite", + className: "OracleConnectionInfo" + } + }, + selectedSchemas: { + required: true, + serializedName: "selectedSchemas", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const GetUserTablesOracleTaskProperties: msRest.CompositeMapper = { + serializedName: "GetUserTablesOracle", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "GetUserTablesOracleTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "GetUserTablesOracleTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GetUserTablesOracleTaskOutput" + } + } + } + } + } + } +}; + +export const GetUserTablesSqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "GetUserTablesSqlSyncTaskOutput", + type: { + name: "Composite", + className: "GetUserTablesSqlSyncTaskOutput", + modelProperties: { + databasesToSourceTables: { + readOnly: true, + serializedName: "databasesToSourceTables", + type: { + name: "Dictionary", + value: { + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseTable" + } + } + } + } + } + }, + databasesToTargetTables: { + readOnly: true, + serializedName: "databasesToTargetTables", + type: { + name: "Dictionary", + value: { + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseTable" + } + } + } + } + } + }, + tableValidationErrors: { + readOnly: true, + serializedName: "tableValidationErrors", + type: { + name: "Dictionary", + value: { + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const GetUserTablesSqlSyncTaskInput: msRest.CompositeMapper = { + serializedName: "GetUserTablesSqlSyncTaskInput", + type: { + name: "Composite", + className: "GetUserTablesSqlSyncTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + selectedSourceDatabases: { + required: true, + serializedName: "selectedSourceDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + selectedTargetDatabases: { + required: true, + serializedName: "selectedTargetDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const GetUserTablesSqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "GetUserTables.AzureSqlDb.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "GetUserTablesSqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "GetUserTablesSqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GetUserTablesSqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const GetUserTablesSqlTaskOutput: msRest.CompositeMapper = { + serializedName: "GetUserTablesSqlTaskOutput", + type: { + name: "Composite", + className: "GetUserTablesSqlTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + databasesToTables: { + readOnly: true, + serializedName: "databasesToTables", + type: { + name: "Dictionary", + value: { + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseTable" + } + } + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const GetUserTablesSqlTaskInput: msRest.CompositeMapper = { + serializedName: "GetUserTablesSqlTaskInput", + type: { + name: "Composite", + className: "GetUserTablesSqlTaskInput", + modelProperties: { + connectionInfo: { + required: true, + serializedName: "connectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const GetUserTablesSqlTaskProperties: msRest.CompositeMapper = { + serializedName: "GetUserTables.Sql", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "GetUserTablesSqlTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "GetUserTablesSqlTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GetUserTablesSqlTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem: msRest.CompositeMapper = { + serializedName: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput_databaseSchemaMapItem", + type: { + name: "Composite", + className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem", + modelProperties: { + database: { + serializedName: "database", + type: { + name: "String" + } + }, + schemas: { + serializedName: "schemas", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput", + type: { + name: "Composite", + className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput", + modelProperties: { + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + databaseSchemaMap: { + serializedName: "databaseSchemaMap", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem" + } + } + } + } + } + } +}; + +export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput", + type: { + name: "Composite", + className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput", + modelProperties: { + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + } + } + } +}; + +export const ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput", + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToTargetAzureDbForPostgreSqlSyncTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput", + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + } + } + } +}; + +export const ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToTarget.AzureDbForPostgreSql.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToTargetSqlDbTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetSqlDbTaskOutput", + type: { + name: "Composite", + className: "ConnectToTargetSqlDbTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + } + } + } +}; + +export const ConnectToTargetSqlSqlDbSyncTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetSqlSqlDbSyncTaskInput", + type: { + name: "Composite", + className: "ConnectToTargetSqlSqlDbSyncTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + } + } + } +}; + +export const ConnectToTargetSqlSqlDbSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToTarget.SqlDb.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToTargetSqlSqlDbSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToTargetSqlSqlDbSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetSqlDbTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToTargetSqlDbTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToTargetSqlDbTaskInput", + type: { + name: "Composite", + className: "ConnectToTargetSqlDbTaskInput", + modelProperties: { + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + } + } + } +}; + +export const ConnectToTargetSqlDbTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToTarget.SqlDb", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToTargetSqlDbTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToTargetSqlDbTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToTargetSqlDbTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToSourceOracleSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToSourceOracleSyncTaskOutput", + type: { + name: "Composite", + className: "ConnectToSourceOracleSyncTaskOutput", + modelProperties: { + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToSourceOracleSyncTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToSourceOracleSyncTaskInput", + type: { + name: "Composite", + className: "ConnectToSourceOracleSyncTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "OracleConnectionInfo" + } + } + } + } +}; + +export const ConnectToSourceOracleSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToSource.Oracle.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToSourceOracleSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToSourceOracleSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToSourceOracleSyncTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToSourcePostgreSqlSyncTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToSourcePostgreSqlSyncTaskOutput", + type: { + name: "Composite", + className: "ConnectToSourcePostgreSqlSyncTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToSourcePostgreSqlSyncTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToSourcePostgreSqlSyncTaskInput", + type: { + name: "Composite", + className: "ConnectToSourcePostgreSqlSyncTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "PostgreSqlConnectionInfo" + } + } + } + } +}; + +export const ConnectToSourcePostgreSqlSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToSource.PostgreSql.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToSourcePostgreSqlSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToSourcePostgreSqlSyncTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToSourcePostgreSqlSyncTaskOutput" + } + } + } + } + } + } +}; + +export const MigrationEligibilityInfo: msRest.CompositeMapper = { + serializedName: "MigrationEligibilityInfo", + type: { + name: "Composite", + className: "MigrationEligibilityInfo", + modelProperties: { + isEligibileForMigration: { + readOnly: true, + serializedName: "isEligibileForMigration", + type: { + name: "Boolean" + } + }, + validationMessages: { + readOnly: true, + serializedName: "validationMessages", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ConnectToSourceSqlServerTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToSourceSqlServerTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "ConnectToSourceSqlServerTaskOutput", + className: "ConnectToSourceSqlServerTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const ConnectToSourceSqlServerTaskOutputAgentJobLevel: msRest.CompositeMapper = { + serializedName: "AgentJobLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator, + uberParent: "ConnectToSourceSqlServerTaskOutput", + className: "ConnectToSourceSqlServerTaskOutputAgentJobLevel", + modelProperties: { + ...ConnectToSourceSqlServerTaskOutput.type.modelProperties, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + jobCategory: { + readOnly: true, + serializedName: "jobCategory", + type: { + name: "String" + } + }, + isEnabled: { + readOnly: true, + serializedName: "isEnabled", + type: { + name: "Boolean" + } + }, + jobOwner: { + readOnly: true, + serializedName: "jobOwner", + type: { + name: "String" + } + }, + lastExecutedOn: { + readOnly: true, + serializedName: "lastExecutedOn", + type: { + name: "DateTime" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + }, + migrationEligibility: { + readOnly: true, + serializedName: "migrationEligibility", + type: { + name: "Composite", + className: "MigrationEligibilityInfo" + } + } + } + } +}; + +export const ConnectToSourceSqlServerTaskOutputLoginLevel: msRest.CompositeMapper = { + serializedName: "LoginLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator, + uberParent: "ConnectToSourceSqlServerTaskOutput", + className: "ConnectToSourceSqlServerTaskOutputLoginLevel", + modelProperties: { + ...ConnectToSourceSqlServerTaskOutput.type.modelProperties, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + loginType: { + readOnly: true, + serializedName: "loginType", + type: { + name: "String" + } + }, + defaultDatabase: { + readOnly: true, + serializedName: "defaultDatabase", + type: { + name: "String" + } + }, + isEnabled: { + readOnly: true, + serializedName: "isEnabled", + type: { + name: "Boolean" + } + }, + migrationEligibility: { + readOnly: true, + serializedName: "migrationEligibility", + type: { + name: "Composite", + className: "MigrationEligibilityInfo" + } + } + } + } +}; + +export const DatabaseFileInfo: msRest.CompositeMapper = { + serializedName: "DatabaseFileInfo", + type: { + name: "Composite", + className: "DatabaseFileInfo", + modelProperties: { + databaseName: { + serializedName: "databaseName", + type: { + name: "String" + } + }, + id: { + serializedName: "id", + type: { + name: "String" + } + }, + logicalName: { + serializedName: "logicalName", + type: { + name: "String" + } + }, + physicalFullName: { + serializedName: "physicalFullName", + type: { + name: "String" + } + }, + restoreFullName: { + serializedName: "restoreFullName", + type: { + name: "String" + } + }, + fileType: { + serializedName: "fileType", + type: { + name: "String" + } + }, + sizeMB: { + serializedName: "sizeMB", + type: { + name: "Number" + } + } + } + } +}; + +export const ConnectToSourceSqlServerTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator, + uberParent: "ConnectToSourceSqlServerTaskOutput", + className: "ConnectToSourceSqlServerTaskOutputDatabaseLevel", + modelProperties: { + ...ConnectToSourceSqlServerTaskOutput.type.modelProperties, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + sizeMB: { + readOnly: true, + serializedName: "sizeMB", + type: { + name: "Number" + } + }, + databaseFiles: { + readOnly: true, + serializedName: "databaseFiles", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseFileInfo" + } + } + } + }, + compatibilityLevel: { + readOnly: true, + serializedName: "compatibilityLevel", + type: { + name: "String" + } + }, + databaseState: { + readOnly: true, + serializedName: "databaseState", + type: { + name: "String" + } + } + } + } +}; + +export const ConnectToSourceSqlServerTaskOutputTaskLevel: msRest.CompositeMapper = { + serializedName: "TaskLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: ConnectToSourceSqlServerTaskOutput.type.polymorphicDiscriminator, + uberParent: "ConnectToSourceSqlServerTaskOutput", + className: "ConnectToSourceSqlServerTaskOutputTaskLevel", + modelProperties: { + ...ConnectToSourceSqlServerTaskOutput.type.modelProperties, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + logins: { + readOnly: true, + serializedName: "logins", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + agentJobs: { + readOnly: true, + serializedName: "agentJobs", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + databaseTdeCertificateMapping: { + readOnly: true, + serializedName: "databaseTdeCertificateMapping", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToSourceSqlServerTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToSourceSqlServerTaskInput", + type: { + name: "Composite", + className: "ConnectToSourceSqlServerTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + checkPermissionsGroup: { + serializedName: "checkPermissionsGroup", + type: { + name: "Enum", + allowedValues: [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + } + }, + collectDatabases: { + serializedName: "collectDatabases", + defaultValue: true, + type: { + name: "Boolean" + } + }, + collectLogins: { + serializedName: "collectLogins", + defaultValue: false, + type: { + name: "Boolean" + } + }, + collectAgentJobs: { + serializedName: "collectAgentJobs", + defaultValue: false, + type: { + name: "Boolean" + } + }, + collectTdeCertificateInfo: { + serializedName: "collectTdeCertificateInfo", + defaultValue: false, + type: { + name: "Boolean" + } + }, + validateSsisCatalogOnly: { + serializedName: "validateSsisCatalogOnly", + defaultValue: false, + type: { + name: "Boolean" + } + } + } + } +}; + +export const ConnectToSourceSqlServerSyncTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToSource.SqlServer.Sync", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToSourceSqlServerSyncTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToSourceSqlServerTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToSourceSqlServerTaskOutput" + } + } + } + } + } + } +}; + +export const ConnectToSourceSqlServerTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToSource.SqlServer", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToSourceSqlServerTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToSourceSqlServerTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToSourceSqlServerTaskOutput" + } + } + } + } + } + } +}; + +export const MongoDbShardKeyInfo: msRest.CompositeMapper = { + serializedName: "MongoDbShardKeyInfo", + type: { + name: "Composite", + className: "MongoDbShardKeyInfo", + modelProperties: { + fields: { + required: true, + serializedName: "fields", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MongoDbShardKeyField" + } + } + } + }, + isUnique: { + required: true, + serializedName: "isUnique", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MongoDbObjectInfo: msRest.CompositeMapper = { + serializedName: "MongoDbObjectInfo", + type: { + name: "Composite", + className: "MongoDbObjectInfo", + modelProperties: { + averageDocumentSize: { + required: true, + serializedName: "averageDocumentSize", + type: { + name: "Number" + } + }, + dataSize: { + required: true, + serializedName: "dataSize", + type: { + name: "Number" + } + }, + documentCount: { + required: true, + serializedName: "documentCount", + type: { + name: "Number" + } + }, + name: { + required: true, + serializedName: "name", + type: { + name: "String" + } + }, + qualifiedName: { + required: true, + serializedName: "qualifiedName", + type: { + name: "String" + } + } + } + } +}; + +export const MongoDbCollectionInfo: msRest.CompositeMapper = { + serializedName: "MongoDbCollectionInfo", + type: { + name: "Composite", + className: "MongoDbCollectionInfo", + modelProperties: { + ...MongoDbObjectInfo.type.modelProperties, + databaseName: { + required: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + isCapped: { + required: true, + serializedName: "isCapped", + type: { + name: "Boolean" + } + }, + isSystemCollection: { + required: true, + serializedName: "isSystemCollection", + type: { + name: "Boolean" + } + }, + isView: { + required: true, + serializedName: "isView", + type: { + name: "Boolean" + } + }, + shardKey: { + serializedName: "shardKey", + type: { + name: "Composite", + className: "MongoDbShardKeyInfo" + } + }, + supportsSharding: { + required: true, + serializedName: "supportsSharding", + type: { + name: "Boolean" + } + }, + viewOf: { + serializedName: "viewOf", + type: { + name: "String" + } + } + } + } +}; + +export const MongoDbDatabaseInfo: msRest.CompositeMapper = { + serializedName: "MongoDbDatabaseInfo", + type: { + name: "Composite", + className: "MongoDbDatabaseInfo", + modelProperties: { + ...MongoDbObjectInfo.type.modelProperties, + collections: { + required: true, + serializedName: "collections", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MongoDbCollectionInfo" + } + } + } + }, + supportsSharding: { + required: true, + serializedName: "supportsSharding", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MongoDbClusterInfo: msRest.CompositeMapper = { + serializedName: "MongoDbClusterInfo", + type: { + name: "Composite", + className: "MongoDbClusterInfo", + modelProperties: { + databases: { + required: true, + serializedName: "databases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MongoDbDatabaseInfo" + } + } + } + }, + supportsSharding: { + required: true, + serializedName: "supportsSharding", + type: { + name: "Boolean" + } + }, + type: { + required: true, + serializedName: "type", + type: { + name: "String" + } + }, + version: { + required: true, + serializedName: "version", + type: { + name: "String" + } + } + } + } +}; + +export const ConnectToMongoDbTaskProperties: msRest.CompositeMapper = { + serializedName: "Connect.MongoDb", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToMongoDbTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MongoDbConnectionInfo" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MongoDbClusterInfo" + } + } + } + } + } + } +}; + +export const ProjectTask: msRest.CompositeMapper = { + serializedName: "ProjectTask", + type: { + name: "Composite", + className: "ProjectTask", + modelProperties: { + ...Resource.type.modelProperties, + etag: { + serializedName: "etag", + type: { + name: "String" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "ProjectTaskProperties" + } + } + } + } +}; + +export const ServiceSku: msRest.CompositeMapper = { + serializedName: "ServiceSku", + type: { + name: "Composite", + className: "ServiceSku", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + serializedName: "tier", + type: { + name: "String" + } + }, + family: { + serializedName: "family", + type: { + name: "String" + } + }, + size: { + serializedName: "size", + type: { + name: "String" + } + }, + capacity: { + serializedName: "capacity", + type: { + name: "Number" + } + } + } + } +}; + +export const DataMigrationService: msRest.CompositeMapper = { + serializedName: "DataMigrationService", + type: { + name: "Composite", + className: "DataMigrationService", + modelProperties: { + ...TrackedResource.type.modelProperties, + etag: { + serializedName: "etag", + type: { + name: "String" + } + }, + kind: { + serializedName: "kind", + type: { + name: "String" + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + }, + publicKey: { + serializedName: "properties.publicKey", + type: { + name: "String" + } + }, + virtualSubnetId: { + required: true, + serializedName: "properties.virtualSubnetId", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "ServiceSku" + } + } + } + } +}; + +export const NameAvailabilityRequest: msRest.CompositeMapper = { + serializedName: "NameAvailabilityRequest", + type: { + name: "Composite", + className: "NameAvailabilityRequest", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseInfo: msRest.CompositeMapper = { + serializedName: "DatabaseInfo", + type: { + name: "Composite", + className: "DatabaseInfo", + modelProperties: { + sourceDatabaseName: { + required: true, + serializedName: "sourceDatabaseName", + type: { + name: "String" + } + } + } + } +}; + +export const Project: msRest.CompositeMapper = { + serializedName: "Project", + type: { + name: "Composite", + className: "Project", + modelProperties: { + ...TrackedResource.type.modelProperties, + sourcePlatform: { + required: true, + serializedName: "properties.sourcePlatform", + type: { + name: "String" + } + }, + targetPlatform: { + required: true, + serializedName: "properties.targetPlatform", + type: { + name: "String" + } + }, + creationTime: { + readOnly: true, + serializedName: "properties.creationTime", + type: { + name: "DateTime" + } + }, + sourceConnectionInfo: { + serializedName: "properties.sourceConnectionInfo", + type: { + name: "Composite", + className: "ConnectionInfo" + } + }, + targetConnectionInfo: { + serializedName: "properties.targetConnectionInfo", + type: { + name: "Composite", + className: "ConnectionInfo" + } + }, + databasesInfo: { + serializedName: "properties.databasesInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseInfo" + } + } + } + }, + provisioningState: { + readOnly: true, + serializedName: "properties.provisioningState", + type: { + name: "String" + } + } + } + } +}; + +export const ApiError: msRest.CompositeMapper = { + serializedName: "ApiError", + type: { + name: "Composite", + className: "ApiError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ODataError" + } + } + } + } +}; + +export const FileStorageInfo: msRest.CompositeMapper = { + serializedName: "FileStorageInfo", + type: { + name: "Composite", + className: "FileStorageInfo", + modelProperties: { + uri: { + serializedName: "uri", + type: { + name: "String" + } + }, + headers: { + serializedName: "headers", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ServiceOperationDisplay: msRest.CompositeMapper = { + serializedName: "ServiceOperation_display", + type: { + name: "Composite", + className: "ServiceOperationDisplay", + modelProperties: { + provider: { + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + serializedName: "resource", + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + } + } + } +}; + +export const ServiceOperation: msRest.CompositeMapper = { + serializedName: "ServiceOperation", + type: { + name: "Composite", + className: "ServiceOperation", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "ServiceOperationDisplay" + } + } + } + } +}; + +export const QuotaName: msRest.CompositeMapper = { + serializedName: "Quota_name", + type: { + name: "Composite", + className: "QuotaName", + modelProperties: { + localizedValue: { + serializedName: "localizedValue", + type: { + name: "String" + } + }, + value: { + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const Quota: msRest.CompositeMapper = { + serializedName: "Quota", + type: { + name: "Composite", + className: "Quota", + modelProperties: { + currentValue: { + serializedName: "currentValue", + type: { + name: "Number" + } + }, + id: { + serializedName: "id", + type: { + name: "String" + } + }, + limit: { + serializedName: "limit", + type: { + name: "Number" + } + }, + name: { + serializedName: "name", + type: { + name: "Composite", + className: "QuotaName" + } + }, + unit: { + serializedName: "unit", + type: { + name: "String" + } + } + } + } +}; + +export const NameAvailabilityResponse: msRest.CompositeMapper = { + serializedName: "NameAvailabilityResponse", + type: { + name: "Composite", + className: "NameAvailabilityResponse", + modelProperties: { + nameAvailable: { + serializedName: "nameAvailable", + type: { + name: "Boolean" + } + }, + reason: { + serializedName: "reason", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const AvailableServiceSkuSku: msRest.CompositeMapper = { + serializedName: "AvailableServiceSku_sku", + type: { + name: "Composite", + className: "AvailableServiceSkuSku", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + family: { + serializedName: "family", + type: { + name: "String" + } + }, + size: { + serializedName: "size", + type: { + name: "String" + } + }, + tier: { + serializedName: "tier", + type: { + name: "String" + } + } + } + } +}; + +export const AvailableServiceSkuCapacity: msRest.CompositeMapper = { + serializedName: "AvailableServiceSku_capacity", + type: { + name: "Composite", + className: "AvailableServiceSkuCapacity", + modelProperties: { + minimum: { + serializedName: "minimum", + type: { + name: "Number" + } + }, + maximum: { + serializedName: "maximum", + type: { + name: "Number" + } + }, + default: { + serializedName: "default", + type: { + name: "Number" + } + }, + scaleType: { + serializedName: "scaleType", + type: { + name: "String" + } + } + } + } +}; + +export const AvailableServiceSku: msRest.CompositeMapper = { + serializedName: "AvailableServiceSku", + type: { + name: "Composite", + className: "AvailableServiceSku", + modelProperties: { + resourceType: { + serializedName: "resourceType", + type: { + name: "String" + } + }, + sku: { + serializedName: "sku", + type: { + name: "Composite", + className: "AvailableServiceSkuSku" + } + }, + capacity: { + serializedName: "capacity", + type: { + name: "Composite", + className: "AvailableServiceSkuCapacity" + } + } + } + } +}; + +export const DataMigrationServiceStatusResponse: msRest.CompositeMapper = { + serializedName: "DataMigrationServiceStatusResponse", + type: { + name: "Composite", + className: "DataMigrationServiceStatusResponse", + modelProperties: { + agentVersion: { + serializedName: "agentVersion", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + type: { + name: "String" + } + }, + vmSize: { + serializedName: "vmSize", + type: { + name: "String" + } + }, + supportedTaskTypes: { + serializedName: "supportedTaskTypes", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ResourceSkuRestrictions: msRest.CompositeMapper = { + serializedName: "ResourceSkuRestrictions", + type: { + name: "Composite", + className: "ResourceSkuRestrictions", + modelProperties: { + type: { + readOnly: true, + serializedName: "type", + type: { + name: "String" + } + }, + values: { + readOnly: true, + serializedName: "values", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + reasonCode: { + readOnly: true, + serializedName: "reasonCode", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceSkuCapabilities: msRest.CompositeMapper = { + serializedName: "ResourceSkuCapabilities", + type: { + name: "Composite", + className: "ResourceSkuCapabilities", + modelProperties: { + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + value: { + readOnly: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceSkuCosts: msRest.CompositeMapper = { + serializedName: "ResourceSkuCosts", + type: { + name: "Composite", + className: "ResourceSkuCosts", + modelProperties: { + meterID: { + readOnly: true, + serializedName: "meterID", + type: { + name: "String" + } + }, + quantity: { + readOnly: true, + serializedName: "quantity", + type: { + name: "Number" + } + }, + extendedUnit: { + readOnly: true, + serializedName: "extendedUnit", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceSkuCapacity: msRest.CompositeMapper = { + serializedName: "ResourceSkuCapacity", + type: { + name: "Composite", + className: "ResourceSkuCapacity", + modelProperties: { + minimum: { + readOnly: true, + serializedName: "minimum", + type: { + name: "Number" + } + }, + maximum: { + readOnly: true, + serializedName: "maximum", + type: { + name: "Number" + } + }, + default: { + readOnly: true, + serializedName: "default", + type: { + name: "Number" + } + }, + scaleType: { + readOnly: true, + serializedName: "scaleType", + type: { + name: "String" + } + } + } + } +}; + +export const ResourceSku: msRest.CompositeMapper = { + serializedName: "ResourceSku", + type: { + name: "Composite", + className: "ResourceSku", + modelProperties: { + resourceType: { + readOnly: true, + serializedName: "resourceType", + type: { + name: "String" + } + }, + name: { + readOnly: true, + serializedName: "name", + type: { + name: "String" + } + }, + tier: { + readOnly: true, + serializedName: "tier", + type: { + name: "String" + } + }, + size: { + readOnly: true, + serializedName: "size", + type: { + name: "String" + } + }, + family: { + readOnly: true, + serializedName: "family", + type: { + name: "String" + } + }, + kind: { + readOnly: true, + serializedName: "kind", + type: { + name: "String" + } + }, + capacity: { + readOnly: true, + serializedName: "capacity", + type: { + name: "Composite", + className: "ResourceSkuCapacity" + } + }, + locations: { + readOnly: true, + serializedName: "locations", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + apiVersions: { + readOnly: true, + serializedName: "apiVersions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + costs: { + readOnly: true, + serializedName: "costs", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSkuCosts" + } + } + } + }, + capabilities: { + readOnly: true, + serializedName: "capabilities", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSkuCapabilities" + } + } + } + }, + restrictions: { + readOnly: true, + serializedName: "restrictions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSkuRestrictions" + } + } + } + } + } + } +}; + +export const ConnectToSourceMySqlTaskInput: msRest.CompositeMapper = { + serializedName: "ConnectToSourceMySqlTaskInput", + type: { + name: "Composite", + className: "ConnectToSourceMySqlTaskInput", + modelProperties: { + sourceConnectionInfo: { + required: true, + serializedName: "sourceConnectionInfo", + type: { + name: "Composite", + className: "MySqlConnectionInfo" + } + }, + targetPlatform: { + serializedName: "targetPlatform", + type: { + name: "String" + } + }, + checkPermissionsGroup: { + serializedName: "checkPermissionsGroup", + type: { + name: "Enum", + allowedValues: [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL" + ] + } + } + } + } +}; + +export const ServerProperties: msRest.CompositeMapper = { + serializedName: "ServerProperties", + type: { + name: "Composite", + className: "ServerProperties", + modelProperties: { + serverPlatform: { + readOnly: true, + serializedName: "serverPlatform", + type: { + name: "String" + } + }, + serverName: { + readOnly: true, + serializedName: "serverName", + type: { + name: "String" + } + }, + serverVersion: { + readOnly: true, + serializedName: "serverVersion", + type: { + name: "String" + } + }, + serverEdition: { + readOnly: true, + serializedName: "serverEdition", + type: { + name: "String" + } + }, + serverOperatingSystemVersion: { + readOnly: true, + serializedName: "serverOperatingSystemVersion", + type: { + name: "String" + } + }, + serverDatabaseCount: { + readOnly: true, + serializedName: "serverDatabaseCount", + type: { + name: "Number" + } + } + } + } +}; + +export const ConnectToSourceNonSqlTaskOutput: msRest.CompositeMapper = { + serializedName: "ConnectToSourceNonSqlTaskOutput", + type: { + name: "Composite", + className: "ConnectToSourceNonSqlTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + serverProperties: { + readOnly: true, + serializedName: "serverProperties", + type: { + name: "Composite", + className: "ServerProperties" + } + }, + databases: { + readOnly: true, + serializedName: "databases", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const ConnectToSourceMySqlTaskProperties: msRest.CompositeMapper = { + serializedName: "ConnectToSource.MySql", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "ConnectToSourceMySqlTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "ConnectToSourceMySqlTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectToSourceNonSqlTaskOutput" + } + } + } + } + } + } +}; + +export const SchemaMigrationSetting: msRest.CompositeMapper = { + serializedName: "SchemaMigrationSetting", + type: { + name: "Composite", + className: "SchemaMigrationSetting", + modelProperties: { + schemaOption: { + serializedName: "schemaOption", + type: { + name: "String" + } + }, + fileId: { + serializedName: "fileId", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSchemaSqlServerSqlDbDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigrateSchemaSqlServerSqlDbDatabaseInput", + type: { + name: "Composite", + className: "MigrateSchemaSqlServerSqlDbDatabaseInput", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + targetDatabaseName: { + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + schemaSetting: { + serializedName: "schemaSetting", + type: { + name: "Composite", + className: "SchemaMigrationSetting" + } + } + } + } +}; + +export const MigrateSchemaSqlServerSqlDbTaskInput: msRest.CompositeMapper = { + serializedName: "MigrateSchemaSqlServerSqlDbTaskInput", + type: { + name: "Composite", + className: "MigrateSchemaSqlServerSqlDbTaskInput", + modelProperties: { + ...SqlMigrationTaskInput.type.modelProperties, + selectedDatabases: { + required: true, + serializedName: "selectedDatabases", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSchemaSqlServerSqlDbDatabaseInput" + } + } + } + } + } + } +}; + +export const MigrateSchemaSqlServerSqlDbTaskOutput: msRest.CompositeMapper = { + serializedName: "MigrateSchemaSqlServerSqlDbTaskOutput", + type: { + name: "Composite", + polymorphicDiscriminator: { + serializedName: "resultType", + clientName: "resultType" + }, + uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput", + className: "MigrateSchemaSqlServerSqlDbTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + resultType: { + required: true, + serializedName: "resultType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSchemaSqlServerSqlDbTaskProperties: msRest.CompositeMapper = { + serializedName: "MigrateSchemaSqlServerSqlDb", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "MigrateSchemaSqlServerSqlDbTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MigrateSchemaSqlServerSqlDbTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrateSchemaSqlServerSqlDbTaskOutput" + } + } + } + } + } + } +}; + +export const MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel: msRest.CompositeMapper = { + serializedName: "MigrationLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput", + className: "MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel", + modelProperties: { + ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + sourceServerVersion: { + readOnly: true, + serializedName: "sourceServerVersion", + type: { + name: "String" + } + }, + sourceServerBrandVersion: { + readOnly: true, + serializedName: "sourceServerBrandVersion", + type: { + name: "String" + } + }, + targetServerVersion: { + readOnly: true, + serializedName: "targetServerVersion", + type: { + name: "String" + } + }, + targetServerBrandVersion: { + readOnly: true, + serializedName: "targetServerBrandVersion", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel: msRest.CompositeMapper = { + serializedName: "DatabaseLevelOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput", + className: "MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel", + modelProperties: { + ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties, + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + state: { + readOnly: true, + serializedName: "state", + type: { + name: "String" + } + }, + stage: { + readOnly: true, + serializedName: "stage", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + databaseErrorResultPrefix: { + readOnly: true, + serializedName: "databaseErrorResultPrefix", + type: { + name: "String" + } + }, + schemaErrorResultPrefix: { + readOnly: true, + serializedName: "schemaErrorResultPrefix", + type: { + name: "String" + } + }, + numberOfSuccessfulOperations: { + readOnly: true, + serializedName: "numberOfSuccessfulOperations", + type: { + name: "Number" + } + }, + numberOfFailedOperations: { + readOnly: true, + serializedName: "numberOfFailedOperations", + type: { + name: "Number" + } + }, + fileId: { + readOnly: true, + serializedName: "fileId", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSchemaSqlServerSqlDbTaskOutputError: msRest.CompositeMapper = { + serializedName: "SchemaErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput", + className: "MigrateSchemaSqlServerSqlDbTaskOutputError", + modelProperties: { + ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties, + commandText: { + readOnly: true, + serializedName: "commandText", + type: { + name: "String" + } + }, + errorText: { + readOnly: true, + serializedName: "errorText", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSchemaSqlTaskOutputError: msRest.CompositeMapper = { + serializedName: "ErrorOutput", + type: { + name: "Composite", + polymorphicDiscriminator: MigrateSchemaSqlServerSqlDbTaskOutput.type.polymorphicDiscriminator, + uberParent: "MigrateSchemaSqlServerSqlDbTaskOutput", + className: "MigrateSchemaSqlTaskOutputError", + modelProperties: { + ...MigrateSchemaSqlServerSqlDbTaskOutput.type.modelProperties, + error: { + readOnly: true, + serializedName: "error", + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } +}; + +export const MongoDbCommandInput: msRest.CompositeMapper = { + serializedName: "MongoDbCommandInput", + type: { + name: "Composite", + className: "MongoDbCommandInput", + modelProperties: { + objectName: { + serializedName: "objectName", + type: { + name: "String" + } + } + } + } +}; + +export const MongoDbCancelCommand: msRest.CompositeMapper = { + serializedName: "cancel", + type: { + name: "Composite", + polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator, + uberParent: "CommandProperties", + className: "MongoDbCancelCommand", + modelProperties: { + ...CommandProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MongoDbCommandInput" + } + } + } + } +}; + +export const MongoDbFinishCommandInput: msRest.CompositeMapper = { + serializedName: "MongoDbFinishCommandInput", + type: { + name: "Composite", + className: "MongoDbFinishCommandInput", + modelProperties: { + ...MongoDbCommandInput.type.modelProperties, + immediate: { + required: true, + serializedName: "immediate", + type: { + name: "Boolean" + } + } + } + } +}; + +export const MongoDbFinishCommand: msRest.CompositeMapper = { + serializedName: "finish", + type: { + name: "Composite", + polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator, + uberParent: "CommandProperties", + className: "MongoDbFinishCommand", + modelProperties: { + ...CommandProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MongoDbFinishCommandInput" + } + } + } + } +}; + +export const MongoDbRestartCommand: msRest.CompositeMapper = { + serializedName: "restart", + type: { + name: "Composite", + polymorphicDiscriminator: CommandProperties.type.polymorphicDiscriminator, + uberParent: "CommandProperties", + className: "MongoDbRestartCommand", + modelProperties: { + ...CommandProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "MongoDbCommandInput" + } + } + } + } +}; + +export const OracleOCIDriverInfo: msRest.CompositeMapper = { + serializedName: "OracleOCIDriverInfo", + type: { + name: "Composite", + className: "OracleOCIDriverInfo", + modelProperties: { + driverName: { + readOnly: true, + serializedName: "driverName", + type: { + name: "String" + } + }, + driverSize: { + readOnly: true, + serializedName: "driverSize", + type: { + name: "String" + } + }, + archiveChecksum: { + readOnly: true, + serializedName: "archiveChecksum", + type: { + name: "String" + } + }, + oracleChecksum: { + readOnly: true, + serializedName: "oracleChecksum", + type: { + name: "String" + } + }, + assemblyVersion: { + readOnly: true, + serializedName: "assemblyVersion", + type: { + name: "String" + } + }, + supportedOracleVersions: { + readOnly: true, + serializedName: "supportedOracleVersions", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const CheckOCIDriverTaskInput: msRest.CompositeMapper = { + serializedName: "CheckOCIDriverTaskInput", + type: { + name: "Composite", + className: "CheckOCIDriverTaskInput", + modelProperties: { + serverVersion: { + serializedName: "serverVersion", + type: { + name: "String" + } + } + } + } +}; + +export const CheckOCIDriverTaskOutput: msRest.CompositeMapper = { + serializedName: "CheckOCIDriverTaskOutput", + type: { + name: "Composite", + className: "CheckOCIDriverTaskOutput", + modelProperties: { + installedDriver: { + readOnly: true, + serializedName: "installedDriver", + type: { + name: "Dictionary", + value: { + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OracleOCIDriverInfo" + } + } + } + } + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const UploadOCIDriverTaskInput: msRest.CompositeMapper = { + serializedName: "UploadOCIDriverTaskInput", + type: { + name: "Composite", + className: "UploadOCIDriverTaskInput", + modelProperties: { + driverShare: { + serializedName: "driverShare", + type: { + name: "Composite", + className: "FileShare" + } + } + } + } +}; + +export const UploadOCIDriverTaskOutput: msRest.CompositeMapper = { + serializedName: "UploadOCIDriverTaskOutput", + type: { + name: "Composite", + className: "UploadOCIDriverTaskOutput", + modelProperties: { + driverPackageName: { + readOnly: true, + serializedName: "driverPackageName", + type: { + name: "String" + } + }, + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const InstallOCIDriverTaskInput: msRest.CompositeMapper = { + serializedName: "InstallOCIDriverTaskInput", + type: { + name: "Composite", + className: "InstallOCIDriverTaskInput", + modelProperties: { + driverPackageName: { + serializedName: "driverPackageName", + type: { + name: "String" + } + } + } + } +}; + +export const InstallOCIDriverTaskOutput: msRest.CompositeMapper = { + serializedName: "InstallOCIDriverTaskOutput", + type: { + name: "Composite", + className: "InstallOCIDriverTaskOutput", + modelProperties: { + validationErrors: { + readOnly: true, + serializedName: "validationErrors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReportableException" + } + } + } + } + } + } +}; + +export const CheckOCIDriverTaskProperties: msRest.CompositeMapper = { + serializedName: "Service.Check.OCI", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "CheckOCIDriverTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "CheckOCIDriverTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CheckOCIDriverTaskOutput" + } + } + } + } + } + } +}; + +export const UploadOCIDriverTaskProperties: msRest.CompositeMapper = { + serializedName: "Service.Upload.OCI", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "UploadOCIDriverTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "UploadOCIDriverTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UploadOCIDriverTaskOutput" + } + } + } + } + } + } +}; + +export const InstallOCIDriverTaskProperties: msRest.CompositeMapper = { + serializedName: "Service.Install.OCI", + type: { + name: "Composite", + polymorphicDiscriminator: ProjectTaskProperties.type.polymorphicDiscriminator, + uberParent: "ProjectTaskProperties", + className: "InstallOCIDriverTaskProperties", + modelProperties: { + ...ProjectTaskProperties.type.modelProperties, + input: { + serializedName: "input", + type: { + name: "Composite", + className: "InstallOCIDriverTaskInput" + } + }, + output: { + readOnly: true, + serializedName: "output", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InstallOCIDriverTaskOutput" + } + } + } + } + } + } +}; + +export const Database: msRest.CompositeMapper = { + serializedName: "Database", + type: { + name: "Composite", + className: "Database", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + name: { + serializedName: "name", + type: { + name: "String" + } + }, + compatibilityLevel: { + serializedName: "compatibilityLevel", + type: { + name: "String" + } + }, + collation: { + serializedName: "collation", + type: { + name: "String" + } + }, + serverName: { + serializedName: "serverName", + type: { + name: "String" + } + }, + fqdn: { + serializedName: "fqdn", + type: { + name: "String" + } + }, + installId: { + serializedName: "installId", + type: { + name: "String" + } + }, + serverVersion: { + serializedName: "serverVersion", + type: { + name: "String" + } + }, + serverEdition: { + serializedName: "serverEdition", + type: { + name: "String" + } + }, + serverLevel: { + serializedName: "serverLevel", + type: { + name: "String" + } + }, + serverDefaultDataPath: { + serializedName: "serverDefaultDataPath", + type: { + name: "String" + } + }, + serverDefaultLogPath: { + serializedName: "serverDefaultLogPath", + type: { + name: "String" + } + }, + serverDefaultBackupPath: { + serializedName: "serverDefaultBackupPath", + type: { + name: "String" + } + }, + serverCoreCount: { + serializedName: "serverCoreCount", + type: { + name: "Number" + } + }, + serverVisibleOnlineCoreCount: { + serializedName: "serverVisibleOnlineCoreCount", + type: { + name: "Number" + } + }, + databaseState: { + serializedName: "databaseState", + type: { + name: "String" + } + }, + serverId: { + serializedName: "serverId", + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseObjectName: msRest.CompositeMapper = { + serializedName: "DatabaseObjectName", + type: { + name: "Composite", + className: "DatabaseObjectName", + modelProperties: { + databaseName: { + readOnly: true, + serializedName: "databaseName", + type: { + name: "String" + } + }, + objectName: { + readOnly: true, + serializedName: "objectName", + type: { + name: "String" + } + }, + schemaName: { + readOnly: true, + serializedName: "schemaName", + type: { + name: "String" + } + }, + objectType: { + serializedName: "objectType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrationTableMetadata: msRest.CompositeMapper = { + serializedName: "MigrationTableMetadata", + type: { + name: "Composite", + className: "MigrationTableMetadata", + modelProperties: { + sourceTableName: { + readOnly: true, + serializedName: "sourceTableName", + type: { + name: "String" + } + }, + targetTableName: { + readOnly: true, + serializedName: "targetTableName", + type: { + name: "String" + } + } + } + } +}; + +export const DataMigrationProjectMetadata: msRest.CompositeMapper = { + serializedName: "DataMigrationProjectMetadata", + type: { + name: "Composite", + className: "DataMigrationProjectMetadata", + modelProperties: { + sourceServerName: { + readOnly: true, + serializedName: "sourceServerName", + type: { + name: "String" + } + }, + sourceServerPort: { + readOnly: true, + serializedName: "sourceServerPort", + type: { + name: "String" + } + }, + sourceUsername: { + readOnly: true, + serializedName: "sourceUsername", + type: { + name: "String" + } + }, + targetServerName: { + readOnly: true, + serializedName: "targetServerName", + type: { + name: "String" + } + }, + targetUsername: { + readOnly: true, + serializedName: "targetUsername", + type: { + name: "String" + } + }, + targetDbName: { + readOnly: true, + serializedName: "targetDbName", + type: { + name: "String" + } + }, + targetUsingWinAuth: { + readOnly: true, + serializedName: "targetUsingWinAuth", + type: { + name: "Boolean" + } + }, + selectedMigrationTables: { + readOnly: true, + serializedName: "selectedMigrationTables", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MigrationTableMetadata" + } + } + } + } + } + } +}; + +export const GetProjectDetailsNonSqlTaskInput: msRest.CompositeMapper = { + serializedName: "GetProjectDetailsNonSqlTaskInput", + type: { + name: "Composite", + className: "GetProjectDetailsNonSqlTaskInput", + modelProperties: { + projectName: { + required: true, + serializedName: "projectName", + type: { + name: "String" + } + }, + projectLocation: { + required: true, + serializedName: "projectLocation", + type: { + name: "String" + } + } + } + } +}; + +export const NonSqlDataMigrationTable: msRest.CompositeMapper = { + serializedName: "NonSqlDataMigrationTable", + type: { + name: "Composite", + className: "NonSqlDataMigrationTable", + modelProperties: { + sourceName: { + serializedName: "sourceName", + type: { + name: "String" + } + } + } + } +}; + +export const NonSqlMigrationTaskInput: msRest.CompositeMapper = { + serializedName: "NonSqlMigrationTaskInput", + type: { + name: "Composite", + className: "NonSqlMigrationTaskInput", + modelProperties: { + targetConnectionInfo: { + required: true, + serializedName: "targetConnectionInfo", + type: { + name: "Composite", + className: "SqlConnectionInfo" + } + }, + targetDatabaseName: { + required: true, + serializedName: "targetDatabaseName", + type: { + name: "String" + } + }, + projectName: { + required: true, + serializedName: "projectName", + type: { + name: "String" + } + }, + projectLocation: { + required: true, + serializedName: "projectLocation", + type: { + name: "String" + } + }, + selectedTables: { + required: true, + serializedName: "selectedTables", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NonSqlDataMigrationTable" + } + } + } + } + } + } +}; + +export const DataMigrationError: msRest.CompositeMapper = { + serializedName: "DataMigrationError", + type: { + name: "Composite", + className: "DataMigrationError", + modelProperties: { + message: { + readOnly: true, + serializedName: "message", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const NonSqlDataMigrationTableResult: msRest.CompositeMapper = { + serializedName: "NonSqlDataMigrationTableResult", + type: { + name: "Composite", + className: "NonSqlDataMigrationTableResult", + modelProperties: { + resultCode: { + readOnly: true, + serializedName: "resultCode", + type: { + name: "String" + } + }, + sourceName: { + readOnly: true, + serializedName: "sourceName", + type: { + name: "String" + } + }, + targetName: { + readOnly: true, + serializedName: "targetName", + type: { + name: "String" + } + }, + sourceRowCount: { + readOnly: true, + serializedName: "sourceRowCount", + type: { + name: "Number" + } + }, + targetRowCount: { + readOnly: true, + serializedName: "targetRowCount", + type: { + name: "Number" + } + }, + elapsedTimeInMiliseconds: { + readOnly: true, + serializedName: "elapsedTimeInMiliseconds", + type: { + name: "Number" + } + }, + errors: { + readOnly: true, + serializedName: "errors", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataMigrationError" + } + } + } + } + } + } +}; + +export const NonSqlMigrationTaskOutput: msRest.CompositeMapper = { + serializedName: "NonSqlMigrationTaskOutput", + type: { + name: "Composite", + className: "NonSqlMigrationTaskOutput", + modelProperties: { + id: { + readOnly: true, + serializedName: "id", + type: { + name: "String" + } + }, + startedOn: { + readOnly: true, + serializedName: "startedOn", + type: { + name: "DateTime" + } + }, + endedOn: { + readOnly: true, + serializedName: "endedOn", + type: { + name: "DateTime" + } + }, + status: { + readOnly: true, + serializedName: "status", + type: { + name: "String" + } + }, + dataMigrationTableResults: { + readOnly: true, + serializedName: "dataMigrationTableResults", + type: { + name: "Dictionary", + value: { + type: { + name: "Composite", + className: "NonSqlDataMigrationTableResult" + } + } + } + }, + progressMessage: { + readOnly: true, + serializedName: "progressMessage", + type: { + name: "String" + } + }, + sourceServerName: { + readOnly: true, + serializedName: "sourceServerName", + type: { + name: "String" + } + }, + targetServerName: { + readOnly: true, + serializedName: "targetServerName", + type: { + name: "String" + } + } + } + } +}; + +export const DatabaseFileInput: msRest.CompositeMapper = { + serializedName: "DatabaseFileInput", + type: { + name: "Composite", + className: "DatabaseFileInput", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + logicalName: { + serializedName: "logicalName", + type: { + name: "String" + } + }, + physicalFullName: { + serializedName: "physicalFullName", + type: { + name: "String" + } + }, + restoreFullName: { + serializedName: "restoreFullName", + type: { + name: "String" + } + }, + fileType: { + serializedName: "fileType", + type: { + name: "String" + } + } + } + } +}; + +export const MigrateSqlServerSqlServerDatabaseInput: msRest.CompositeMapper = { + serializedName: "MigrateSqlServerSqlServerDatabaseInput", + type: { + name: "Composite", + className: "MigrateSqlServerSqlServerDatabaseInput", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + restoreDatabaseName: { + serializedName: "restoreDatabaseName", + type: { + name: "String" + } + }, + backupAndRestoreFolder: { + serializedName: "backupAndRestoreFolder", + type: { + name: "String" + } + }, + databaseFiles: { + serializedName: "databaseFiles", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DatabaseFileInput" + } + } + } + } + } + } +}; + +export const ResourceSkusResult: msRest.CompositeMapper = { + serializedName: "ResourceSkusResult", + type: { + name: "Composite", + className: "ResourceSkusResult", + modelProperties: { + value: { + required: true, + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceSku" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ServiceSkuList: msRest.CompositeMapper = { + serializedName: "ServiceSkuList", + type: { + name: "Composite", + className: "ServiceSkuList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AvailableServiceSku" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const DataMigrationServiceList: msRest.CompositeMapper = { + serializedName: "DataMigrationServiceList", + type: { + name: "Composite", + className: "DataMigrationServiceList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "DataMigrationService" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const TaskList: msRest.CompositeMapper = { + serializedName: "TaskList", + type: { + name: "Composite", + className: "TaskList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProjectTask" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ProjectList: msRest.CompositeMapper = { + serializedName: "ProjectList", + type: { + name: "Composite", + className: "ProjectList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Project" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const QuotaList: msRest.CompositeMapper = { + serializedName: "QuotaList", + type: { + name: "Composite", + className: "QuotaList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Quota" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const ServiceOperationList: msRest.CompositeMapper = { + serializedName: "ServiceOperationList", + type: { + name: "Composite", + className: "ServiceOperationList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ServiceOperation" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const FileList: msRest.CompositeMapper = { + serializedName: "FileList", + type: { + name: "Composite", + className: "FileList", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ProjectFile" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const discriminators = { + 'CommandProperties.Migrate.SqlServer.AzureDbSqlMi.Complete' : MigrateMISyncCompleteCommandProperties, + 'CommandProperties.Migrate.Sync.Complete.Database' : MigrateSyncCompleteCommandProperties, + 'CommandProperties' : CommandProperties, + 'MigrateSsisTaskOutput.SsisProjectLevelOutput' : MigrateSsisTaskOutputProjectLevel, + 'MigrateSsisTaskOutput.MigrationLevelOutput' : MigrateSsisTaskOutputMigrationLevel, + 'MigrateSsisTaskOutput' : MigrateSsisTaskOutput, + 'ConnectionInfo.MiSqlConnectionInfo' : MiSqlConnectionInfo, + 'ConnectionInfo.PostgreSqlConnectionInfo' : PostgreSqlConnectionInfo, + 'ConnectionInfo.OracleConnectionInfo' : OracleConnectionInfo, + 'ConnectionInfo.MySqlConnectionInfo' : MySqlConnectionInfo, + 'ConnectionInfo.MongoDbConnectionInfo' : MongoDbConnectionInfo, + 'ConnectionInfo' : ConnectionInfo, + 'ConnectionInfo.SqlConnectionInfo' : SqlConnectionInfo, + 'ProjectTaskProperties.Migrate.Ssis' : MigrateSsisTaskProperties, + 'ProjectTaskProperties.GetTDECertificates.Sql' : GetTdeCertificatesSqlTaskProperties, + 'ProjectTaskProperties.Validate.Oracle.AzureDbPostgreSql.Sync' : ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, + 'ProjectTaskProperties.Validate.MongoDb' : ValidateMongoDbTaskProperties, + 'ProjectTaskProperties.ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS' : ValidateMigrationInputSqlServerSqlMISyncTaskProperties, + 'ProjectTaskProperties.ValidateMigrationInput.SqlServer.AzureSqlDbMI' : ValidateMigrationInputSqlServerSqlMITaskProperties, + 'ProjectTaskProperties.ValidateMigrationInput.SqlServer.SqlDb.Sync' : ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.DatabaseLevelErrorOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.ErrorOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.TableLevelOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.DatabaseLevelOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput.MigrationLevelOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, + 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput' : MigrateOracleAzureDbPostgreSqlSyncTaskOutput, + 'ProjectTaskProperties.Migrate.Oracle.AzureDbForPostgreSql.Sync' : MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.DatabaseLevelErrorOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.ErrorOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.TableLevelOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.DatabaseLevelOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput.MigrationLevelOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, + 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, + 'ProjectTaskProperties.Migrate.PostgreSql.AzureDbForPostgreSql.Sync' : MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.DatabaseLevelErrorOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.ErrorOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputError, + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.TableLevelOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.DatabaseLevelOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput.MigrationLevelOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, + 'MigrateMySqlAzureDbForMySqlSyncTaskOutput' : MigrateMySqlAzureDbForMySqlSyncTaskOutput, + 'ProjectTaskProperties.Migrate.MySql.AzureDbForMySql.Sync' : MigrateMySqlAzureDbForMySqlSyncTaskProperties, + 'MigrateSqlServerSqlDbSyncTaskOutput.DatabaseLevelErrorOutput' : MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, + 'MigrateSqlServerSqlDbSyncTaskOutput.ErrorOutput' : MigrateSqlServerSqlDbSyncTaskOutputError, + 'MigrateSqlServerSqlDbSyncTaskOutput.TableLevelOutput' : MigrateSqlServerSqlDbSyncTaskOutputTableLevel, + 'MigrateSqlServerSqlDbSyncTaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, + 'MigrateSqlServerSqlDbSyncTaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, + 'MigrateSqlServerSqlDbSyncTaskOutput' : MigrateSqlServerSqlDbSyncTaskOutput, + 'ProjectTaskProperties.Migrate.SqlServer.AzureSqlDb.Sync' : MigrateSqlServerSqlDbSyncTaskProperties, + 'MigrateSqlServerSqlDbTaskOutput.ErrorOutput' : MigrateSqlServerSqlDbTaskOutputError, + 'MigrateSqlServerSqlDbTaskOutput.TableLevelOutput' : MigrateSqlServerSqlDbTaskOutputTableLevel, + 'MigrateSqlServerSqlDbTaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlDbTaskOutputDatabaseLevel, + 'MigrateSqlServerSqlDbTaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlDbTaskOutputMigrationLevel, + 'MigrateSqlServerSqlDbTaskOutput' : MigrateSqlServerSqlDbTaskOutput, + 'ProjectTaskProperties.Migrate.SqlServer.SqlDb' : MigrateSqlServerSqlDbTaskProperties, + 'MigrateSqlServerSqlMISyncTaskOutput.ErrorOutput' : MigrateSqlServerSqlMISyncTaskOutputError, + 'MigrateSqlServerSqlMISyncTaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel, + 'MigrateSqlServerSqlMISyncTaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlMISyncTaskOutputMigrationLevel, + 'MigrateSqlServerSqlMISyncTaskOutput' : MigrateSqlServerSqlMISyncTaskOutput, + 'ProjectTaskProperties.Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' : MigrateSqlServerSqlMISyncTaskProperties, + 'MigrateSqlServerSqlMITaskOutput.ErrorOutput' : MigrateSqlServerSqlMITaskOutputError, + 'MigrateSqlServerSqlMITaskOutput.LoginLevelOutput' : MigrateSqlServerSqlMITaskOutputLoginLevel, + 'MigrateSqlServerSqlMITaskOutput.AgentJobLevelOutput' : MigrateSqlServerSqlMITaskOutputAgentJobLevel, + 'MigrateSqlServerSqlMITaskOutput.DatabaseLevelOutput' : MigrateSqlServerSqlMITaskOutputDatabaseLevel, + 'MigrateSqlServerSqlMITaskOutput.MigrationLevelOutput' : MigrateSqlServerSqlMITaskOutputMigrationLevel, + 'MigrateSqlServerSqlMITaskOutput' : MigrateSqlServerSqlMITaskOutput, + 'ProjectTaskProperties.Migrate.SqlServer.AzureSqlDbMI' : MigrateSqlServerSqlMITaskProperties, + 'ProjectTaskProperties.Migrate.MongoDb' : MigrateMongoDbTaskProperties, + 'ProjectTaskProperties.ConnectToTarget.AzureDbForMySql' : ConnectToTargetAzureDbForMySqlTaskProperties, + 'ProjectTaskProperties.ConnectToTarget.AzureSqlDbMI.Sync.LRS' : ConnectToTargetSqlMISyncTaskProperties, + 'ProjectTaskProperties.ConnectToTarget.AzureSqlDbMI' : ConnectToTargetSqlMITaskProperties, + 'ProjectTaskProperties.GetUserTablesPostgreSql' : GetUserTablesPostgreSqlTaskProperties, + 'ProjectTaskProperties.GetUserTablesOracle' : GetUserTablesOracleTaskProperties, + 'ProjectTaskProperties.GetUserTables.AzureSqlDb.Sync' : GetUserTablesSqlSyncTaskProperties, + 'ProjectTaskProperties.GetUserTables.Sql' : GetUserTablesSqlTaskProperties, + 'ProjectTaskProperties.ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync' : ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, + 'ProjectTaskProperties.ConnectToTarget.AzureDbForPostgreSql.Sync' : ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, + 'ProjectTaskProperties.ConnectToTarget.SqlDb.Sync' : ConnectToTargetSqlSqlDbSyncTaskProperties, + 'ProjectTaskProperties.ConnectToTarget.SqlDb' : ConnectToTargetSqlDbTaskProperties, + 'ProjectTaskProperties.ConnectToSource.Oracle.Sync' : ConnectToSourceOracleSyncTaskProperties, + 'ProjectTaskProperties.ConnectToSource.PostgreSql.Sync' : ConnectToSourcePostgreSqlSyncTaskProperties, + 'ConnectToSourceSqlServerTaskOutput.AgentJobLevelOutput' : ConnectToSourceSqlServerTaskOutputAgentJobLevel, + 'ConnectToSourceSqlServerTaskOutput.LoginLevelOutput' : ConnectToSourceSqlServerTaskOutputLoginLevel, + 'ConnectToSourceSqlServerTaskOutput.DatabaseLevelOutput' : ConnectToSourceSqlServerTaskOutputDatabaseLevel, + 'ConnectToSourceSqlServerTaskOutput.TaskLevelOutput' : ConnectToSourceSqlServerTaskOutputTaskLevel, + 'ConnectToSourceSqlServerTaskOutput' : ConnectToSourceSqlServerTaskOutput, + 'ProjectTaskProperties.ConnectToSource.SqlServer.Sync' : ConnectToSourceSqlServerSyncTaskProperties, + 'ProjectTaskProperties.ConnectToSource.SqlServer' : ConnectToSourceSqlServerTaskProperties, + 'ProjectTaskProperties.Connect.MongoDb' : ConnectToMongoDbTaskProperties, + 'ProjectTaskProperties' : ProjectTaskProperties, + 'ProjectTaskProperties.ConnectToSource.MySql' : ConnectToSourceMySqlTaskProperties, + 'MigrateSchemaSqlServerSqlDbTaskOutput' : MigrateSchemaSqlServerSqlDbTaskOutput, + 'ProjectTaskProperties.MigrateSchemaSqlServerSqlDb' : MigrateSchemaSqlServerSqlDbTaskProperties, + 'MigrateSchemaSqlServerSqlDbTaskOutput.MigrationLevelOutput' : MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, + 'MigrateSchemaSqlServerSqlDbTaskOutput.DatabaseLevelOutput' : MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, + 'MigrateSchemaSqlServerSqlDbTaskOutput.SchemaErrorOutput' : MigrateSchemaSqlServerSqlDbTaskOutputError, + 'MigrateSchemaSqlServerSqlDbTaskOutput.ErrorOutput' : MigrateSchemaSqlTaskOutputError, + 'CommandProperties.cancel' : MongoDbCancelCommand, + 'CommandProperties.finish' : MongoDbFinishCommand, + 'CommandProperties.restart' : MongoDbRestartCommand, + 'ProjectTaskProperties.Service.Check.OCI' : CheckOCIDriverTaskProperties, + 'ProjectTaskProperties.Service.Upload.OCI' : UploadOCIDriverTaskProperties, + 'ProjectTaskProperties.Service.Install.OCI' : InstallOCIDriverTaskProperties + +}; diff --git a/sdk/datamigration/arm-datamigration/src/models/operationsMappers.ts b/sdk/datamigration/arm-datamigration/src/models/operationsMappers.ts new file mode 100644 index 000000000000..3074236f242d --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/operationsMappers.ts @@ -0,0 +1,16 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + ODataError, + ServiceOperation, + ServiceOperationDisplay, + ServiceOperationList +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/models/parameters.ts b/sdk/datamigration/arm-datamigration/src/models/parameters.ts new file mode 100644 index 000000000000..1e3467fb21b5 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/parameters.ts @@ -0,0 +1,149 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; + +export const acceptLanguage: msRest.OperationParameter = { + parameterPath: "acceptLanguage", + mapper: { + serializedName: "accept-language", + defaultValue: 'en-US', + type: { + name: "String" + } + } +}; +export const apiVersion: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; +export const deleteRunningTasks: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "deleteRunningTasks" + ], + mapper: { + serializedName: "deleteRunningTasks", + type: { + name: "Boolean" + } + } +}; +export const expand: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "expand" + ], + mapper: { + serializedName: "$expand", + type: { + name: "String" + } + } +}; +export const fileName: msRest.OperationURLParameter = { + parameterPath: "fileName", + mapper: { + required: true, + serializedName: "fileName", + type: { + name: "String" + } + } +}; +export const groupName: msRest.OperationURLParameter = { + parameterPath: "groupName", + mapper: { + required: true, + serializedName: "groupName", + type: { + name: "String" + } + } +}; +export const location: msRest.OperationURLParameter = { + parameterPath: "location", + mapper: { + required: true, + serializedName: "location", + type: { + name: "String" + } + } +}; +export const nextPageLink: msRest.OperationURLParameter = { + parameterPath: "nextPageLink", + mapper: { + required: true, + serializedName: "nextLink", + type: { + name: "String" + } + }, + skipEncoding: true +}; +export const projectName: msRest.OperationURLParameter = { + parameterPath: "projectName", + mapper: { + required: true, + serializedName: "projectName", + type: { + name: "String" + } + } +}; +export const serviceName: msRest.OperationURLParameter = { + parameterPath: "serviceName", + mapper: { + required: true, + serializedName: "serviceName", + type: { + name: "String" + } + } +}; +export const subscriptionId: msRest.OperationURLParameter = { + parameterPath: "subscriptionId", + mapper: { + required: true, + serializedName: "subscriptionId", + type: { + name: "String" + } + } +}; +export const taskName: msRest.OperationURLParameter = { + parameterPath: "taskName", + mapper: { + required: true, + serializedName: "taskName", + type: { + name: "String" + } + } +}; +export const taskType: msRest.OperationQueryParameter = { + parameterPath: [ + "options", + "taskType" + ], + mapper: { + serializedName: "taskType", + type: { + name: "String" + } + } +}; diff --git a/sdk/datamigration/arm-datamigration/src/models/projectsMappers.ts b/sdk/datamigration/arm-datamigration/src/models/projectsMappers.ts new file mode 100644 index 000000000000..aff2b842cacf --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/projectsMappers.ts @@ -0,0 +1,234 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + AzureActiveDirectoryApp, + BackupFileInfo, + BackupSetInfo, + BaseResource, + BlobShare, + CheckOCIDriverTaskInput, + CheckOCIDriverTaskOutput, + CheckOCIDriverTaskProperties, + CommandProperties, + ConnectionInfo, + ConnectToMongoDbTaskProperties, + ConnectToSourceMySqlTaskInput, + ConnectToSourceMySqlTaskProperties, + ConnectToSourceNonSqlTaskOutput, + ConnectToSourceOracleSyncTaskInput, + ConnectToSourceOracleSyncTaskOutput, + ConnectToSourceOracleSyncTaskProperties, + ConnectToSourcePostgreSqlSyncTaskInput, + ConnectToSourcePostgreSqlSyncTaskOutput, + ConnectToSourcePostgreSqlSyncTaskProperties, + ConnectToSourceSqlServerSyncTaskProperties, + ConnectToSourceSqlServerTaskInput, + ConnectToSourceSqlServerTaskOutput, + ConnectToSourceSqlServerTaskOutputAgentJobLevel, + ConnectToSourceSqlServerTaskOutputDatabaseLevel, + ConnectToSourceSqlServerTaskOutputLoginLevel, + ConnectToSourceSqlServerTaskOutputTaskLevel, + ConnectToSourceSqlServerTaskProperties, + ConnectToTargetAzureDbForMySqlTaskInput, + ConnectToTargetAzureDbForMySqlTaskOutput, + ConnectToTargetAzureDbForMySqlTaskProperties, + ConnectToTargetAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetSqlDbTaskInput, + ConnectToTargetSqlDbTaskOutput, + ConnectToTargetSqlDbTaskProperties, + ConnectToTargetSqlMISyncTaskInput, + ConnectToTargetSqlMISyncTaskOutput, + ConnectToTargetSqlMISyncTaskProperties, + ConnectToTargetSqlMITaskInput, + ConnectToTargetSqlMITaskOutput, + ConnectToTargetSqlMITaskProperties, + ConnectToTargetSqlSqlDbSyncTaskInput, + ConnectToTargetSqlSqlDbSyncTaskProperties, + DatabaseBackupInfo, + DatabaseFileInfo, + DatabaseInfo, + DatabaseSummaryResult, + DatabaseTable, + DataItemMigrationSummaryResult, + DataMigrationService, + FileShare, + GetTdeCertificatesSqlTaskInput, + GetTdeCertificatesSqlTaskOutput, + GetTdeCertificatesSqlTaskProperties, + GetUserTablesOracleTaskInput, + GetUserTablesOracleTaskOutput, + GetUserTablesOracleTaskProperties, + GetUserTablesPostgreSqlTaskInput, + GetUserTablesPostgreSqlTaskOutput, + GetUserTablesPostgreSqlTaskProperties, + GetUserTablesSqlSyncTaskInput, + GetUserTablesSqlSyncTaskOutput, + GetUserTablesSqlSyncTaskProperties, + GetUserTablesSqlTaskInput, + GetUserTablesSqlTaskOutput, + GetUserTablesSqlTaskProperties, + InstallOCIDriverTaskInput, + InstallOCIDriverTaskOutput, + InstallOCIDriverTaskProperties, + MigrateMISyncCompleteCommandInput, + MigrateMISyncCompleteCommandOutput, + MigrateMISyncCompleteCommandProperties, + MigrateMongoDbTaskProperties, + MigrateMySqlAzureDbForMySqlSyncDatabaseInput, + MigrateMySqlAzureDbForMySqlSyncTaskInput, + MigrateMySqlAzureDbForMySqlSyncTaskOutput, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, + MigrateMySqlAzureDbForMySqlSyncTaskProperties, + MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, + MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, + MigrateOracleAzureDbPostgreSqlSyncTaskInput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + MigrateSchemaSqlServerSqlDbDatabaseInput, + MigrateSchemaSqlServerSqlDbTaskInput, + MigrateSchemaSqlServerSqlDbTaskOutput, + MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSchemaSqlServerSqlDbTaskOutputError, + MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSchemaSqlServerSqlDbTaskProperties, + MigrateSchemaSqlTaskOutputError, + MigrateSqlServerSqlDbDatabaseInput, + MigrateSqlServerSqlDbSyncDatabaseInput, + MigrateSqlServerSqlDbSyncTaskInput, + MigrateSqlServerSqlDbSyncTaskOutput, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbSyncTaskOutputError, + MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, + MigrateSqlServerSqlDbSyncTaskOutputTableLevel, + MigrateSqlServerSqlDbSyncTaskProperties, + MigrateSqlServerSqlDbTaskInput, + MigrateSqlServerSqlDbTaskOutput, + MigrateSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbTaskOutputError, + MigrateSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSqlServerSqlDbTaskOutputTableLevel, + MigrateSqlServerSqlDbTaskProperties, + MigrateSqlServerSqlMIDatabaseInput, + MigrateSqlServerSqlMISyncTaskInput, + MigrateSqlServerSqlMISyncTaskOutput, + MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlMISyncTaskOutputError, + MigrateSqlServerSqlMISyncTaskOutputMigrationLevel, + MigrateSqlServerSqlMISyncTaskProperties, + MigrateSqlServerSqlMITaskInput, + MigrateSqlServerSqlMITaskOutput, + MigrateSqlServerSqlMITaskOutputAgentJobLevel, + MigrateSqlServerSqlMITaskOutputDatabaseLevel, + MigrateSqlServerSqlMITaskOutputError, + MigrateSqlServerSqlMITaskOutputLoginLevel, + MigrateSqlServerSqlMITaskOutputMigrationLevel, + MigrateSqlServerSqlMITaskProperties, + MigrateSsisTaskInput, + MigrateSsisTaskOutput, + MigrateSsisTaskOutputMigrationLevel, + MigrateSsisTaskOutputProjectLevel, + MigrateSsisTaskProperties, + MigrateSyncCompleteCommandInput, + MigrateSyncCompleteCommandOutput, + MigrateSyncCompleteCommandProperties, + MigrationEligibilityInfo, + MigrationReportResult, + MigrationValidationDatabaseSummaryResult, + MigrationValidationOptions, + MigrationValidationResult, + MiSqlConnectionInfo, + MongoDbCancelCommand, + MongoDbClusterInfo, + MongoDbCollectionInfo, + MongoDbCollectionProgress, + MongoDbCollectionSettings, + MongoDbCommandInput, + MongoDbConnectionInfo, + MongoDbDatabaseInfo, + MongoDbDatabaseProgress, + MongoDbDatabaseSettings, + MongoDbError, + MongoDbFinishCommand, + MongoDbFinishCommandInput, + MongoDbMigrationProgress, + MongoDbMigrationSettings, + MongoDbObjectInfo, + MongoDbProgress, + MongoDbRestartCommand, + MongoDbShardKeyField, + MongoDbShardKeyInfo, + MongoDbShardKeySetting, + MongoDbThrottlingSettings, + MySqlConnectionInfo, + ODataError, + OracleConnectionInfo, + OracleOCIDriverInfo, + OrphanedUserInfo, + PostgreSqlConnectionInfo, + Project, + ProjectFile, + ProjectFileProperties, + ProjectList, + ProjectTask, + ProjectTaskProperties, + ReportableException, + Resource, + SchemaMigrationSetting, + SelectedCertificateInput, + ServerProperties, + ServiceSku, + SqlConnectionInfo, + SqlMigrationTaskInput, + SqlServerSqlMISyncTaskInput, + SsisMigrationInfo, + StartMigrationScenarioServerRoleResult, + SyncMigrationDatabaseErrorEvent, + TrackedResource, + UploadOCIDriverTaskInput, + UploadOCIDriverTaskOutput, + UploadOCIDriverTaskProperties, + ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, + ValidateMigrationInputSqlServerSqlMISyncTaskInput, + ValidateMigrationInputSqlServerSqlMISyncTaskOutput, + ValidateMigrationInputSqlServerSqlMISyncTaskProperties, + ValidateMigrationInputSqlServerSqlMITaskInput, + ValidateMigrationInputSqlServerSqlMITaskOutput, + ValidateMigrationInputSqlServerSqlMITaskProperties, + ValidateMongoDbTaskProperties, + ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, + ValidateOracleAzureDbPostgreSqlSyncTaskOutput, + ValidateSyncMigrationInputSqlServerTaskInput, + ValidateSyncMigrationInputSqlServerTaskOutput +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/models/resourceSkusMappers.ts b/sdk/datamigration/arm-datamigration/src/models/resourceSkusMappers.ts new file mode 100644 index 000000000000..958464b4952f --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/resourceSkusMappers.ts @@ -0,0 +1,19 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + ODataError, + ResourceSku, + ResourceSkuCapabilities, + ResourceSkuCapacity, + ResourceSkuCosts, + ResourceSkuRestrictions, + ResourceSkusResult +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/models/serviceTasksMappers.ts b/sdk/datamigration/arm-datamigration/src/models/serviceTasksMappers.ts new file mode 100644 index 000000000000..17dccc4b299d --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/serviceTasksMappers.ts @@ -0,0 +1,234 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + AzureActiveDirectoryApp, + BackupFileInfo, + BackupSetInfo, + BaseResource, + BlobShare, + CheckOCIDriverTaskInput, + CheckOCIDriverTaskOutput, + CheckOCIDriverTaskProperties, + CommandProperties, + ConnectionInfo, + ConnectToMongoDbTaskProperties, + ConnectToSourceMySqlTaskInput, + ConnectToSourceMySqlTaskProperties, + ConnectToSourceNonSqlTaskOutput, + ConnectToSourceOracleSyncTaskInput, + ConnectToSourceOracleSyncTaskOutput, + ConnectToSourceOracleSyncTaskProperties, + ConnectToSourcePostgreSqlSyncTaskInput, + ConnectToSourcePostgreSqlSyncTaskOutput, + ConnectToSourcePostgreSqlSyncTaskProperties, + ConnectToSourceSqlServerSyncTaskProperties, + ConnectToSourceSqlServerTaskInput, + ConnectToSourceSqlServerTaskOutput, + ConnectToSourceSqlServerTaskOutputAgentJobLevel, + ConnectToSourceSqlServerTaskOutputDatabaseLevel, + ConnectToSourceSqlServerTaskOutputLoginLevel, + ConnectToSourceSqlServerTaskOutputTaskLevel, + ConnectToSourceSqlServerTaskProperties, + ConnectToTargetAzureDbForMySqlTaskInput, + ConnectToTargetAzureDbForMySqlTaskOutput, + ConnectToTargetAzureDbForMySqlTaskProperties, + ConnectToTargetAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetSqlDbTaskInput, + ConnectToTargetSqlDbTaskOutput, + ConnectToTargetSqlDbTaskProperties, + ConnectToTargetSqlMISyncTaskInput, + ConnectToTargetSqlMISyncTaskOutput, + ConnectToTargetSqlMISyncTaskProperties, + ConnectToTargetSqlMITaskInput, + ConnectToTargetSqlMITaskOutput, + ConnectToTargetSqlMITaskProperties, + ConnectToTargetSqlSqlDbSyncTaskInput, + ConnectToTargetSqlSqlDbSyncTaskProperties, + DatabaseBackupInfo, + DatabaseFileInfo, + DatabaseInfo, + DatabaseSummaryResult, + DatabaseTable, + DataItemMigrationSummaryResult, + DataMigrationService, + FileShare, + GetTdeCertificatesSqlTaskInput, + GetTdeCertificatesSqlTaskOutput, + GetTdeCertificatesSqlTaskProperties, + GetUserTablesOracleTaskInput, + GetUserTablesOracleTaskOutput, + GetUserTablesOracleTaskProperties, + GetUserTablesPostgreSqlTaskInput, + GetUserTablesPostgreSqlTaskOutput, + GetUserTablesPostgreSqlTaskProperties, + GetUserTablesSqlSyncTaskInput, + GetUserTablesSqlSyncTaskOutput, + GetUserTablesSqlSyncTaskProperties, + GetUserTablesSqlTaskInput, + GetUserTablesSqlTaskOutput, + GetUserTablesSqlTaskProperties, + InstallOCIDriverTaskInput, + InstallOCIDriverTaskOutput, + InstallOCIDriverTaskProperties, + MigrateMISyncCompleteCommandInput, + MigrateMISyncCompleteCommandOutput, + MigrateMISyncCompleteCommandProperties, + MigrateMongoDbTaskProperties, + MigrateMySqlAzureDbForMySqlSyncDatabaseInput, + MigrateMySqlAzureDbForMySqlSyncTaskInput, + MigrateMySqlAzureDbForMySqlSyncTaskOutput, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, + MigrateMySqlAzureDbForMySqlSyncTaskProperties, + MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, + MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, + MigrateOracleAzureDbPostgreSqlSyncTaskInput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + MigrateSchemaSqlServerSqlDbDatabaseInput, + MigrateSchemaSqlServerSqlDbTaskInput, + MigrateSchemaSqlServerSqlDbTaskOutput, + MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSchemaSqlServerSqlDbTaskOutputError, + MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSchemaSqlServerSqlDbTaskProperties, + MigrateSchemaSqlTaskOutputError, + MigrateSqlServerSqlDbDatabaseInput, + MigrateSqlServerSqlDbSyncDatabaseInput, + MigrateSqlServerSqlDbSyncTaskInput, + MigrateSqlServerSqlDbSyncTaskOutput, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbSyncTaskOutputError, + MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, + MigrateSqlServerSqlDbSyncTaskOutputTableLevel, + MigrateSqlServerSqlDbSyncTaskProperties, + MigrateSqlServerSqlDbTaskInput, + MigrateSqlServerSqlDbTaskOutput, + MigrateSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbTaskOutputError, + MigrateSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSqlServerSqlDbTaskOutputTableLevel, + MigrateSqlServerSqlDbTaskProperties, + MigrateSqlServerSqlMIDatabaseInput, + MigrateSqlServerSqlMISyncTaskInput, + MigrateSqlServerSqlMISyncTaskOutput, + MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlMISyncTaskOutputError, + MigrateSqlServerSqlMISyncTaskOutputMigrationLevel, + MigrateSqlServerSqlMISyncTaskProperties, + MigrateSqlServerSqlMITaskInput, + MigrateSqlServerSqlMITaskOutput, + MigrateSqlServerSqlMITaskOutputAgentJobLevel, + MigrateSqlServerSqlMITaskOutputDatabaseLevel, + MigrateSqlServerSqlMITaskOutputError, + MigrateSqlServerSqlMITaskOutputLoginLevel, + MigrateSqlServerSqlMITaskOutputMigrationLevel, + MigrateSqlServerSqlMITaskProperties, + MigrateSsisTaskInput, + MigrateSsisTaskOutput, + MigrateSsisTaskOutputMigrationLevel, + MigrateSsisTaskOutputProjectLevel, + MigrateSsisTaskProperties, + MigrateSyncCompleteCommandInput, + MigrateSyncCompleteCommandOutput, + MigrateSyncCompleteCommandProperties, + MigrationEligibilityInfo, + MigrationReportResult, + MigrationValidationDatabaseSummaryResult, + MigrationValidationOptions, + MigrationValidationResult, + MiSqlConnectionInfo, + MongoDbCancelCommand, + MongoDbClusterInfo, + MongoDbCollectionInfo, + MongoDbCollectionProgress, + MongoDbCollectionSettings, + MongoDbCommandInput, + MongoDbConnectionInfo, + MongoDbDatabaseInfo, + MongoDbDatabaseProgress, + MongoDbDatabaseSettings, + MongoDbError, + MongoDbFinishCommand, + MongoDbFinishCommandInput, + MongoDbMigrationProgress, + MongoDbMigrationSettings, + MongoDbObjectInfo, + MongoDbProgress, + MongoDbRestartCommand, + MongoDbShardKeyField, + MongoDbShardKeyInfo, + MongoDbShardKeySetting, + MongoDbThrottlingSettings, + MySqlConnectionInfo, + ODataError, + OracleConnectionInfo, + OracleOCIDriverInfo, + OrphanedUserInfo, + PostgreSqlConnectionInfo, + Project, + ProjectFile, + ProjectFileProperties, + ProjectTask, + ProjectTaskProperties, + ReportableException, + Resource, + SchemaMigrationSetting, + SelectedCertificateInput, + ServerProperties, + ServiceSku, + SqlConnectionInfo, + SqlMigrationTaskInput, + SqlServerSqlMISyncTaskInput, + SsisMigrationInfo, + StartMigrationScenarioServerRoleResult, + SyncMigrationDatabaseErrorEvent, + TaskList, + TrackedResource, + UploadOCIDriverTaskInput, + UploadOCIDriverTaskOutput, + UploadOCIDriverTaskProperties, + ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, + ValidateMigrationInputSqlServerSqlMISyncTaskInput, + ValidateMigrationInputSqlServerSqlMISyncTaskOutput, + ValidateMigrationInputSqlServerSqlMISyncTaskProperties, + ValidateMigrationInputSqlServerSqlMITaskInput, + ValidateMigrationInputSqlServerSqlMITaskOutput, + ValidateMigrationInputSqlServerSqlMITaskProperties, + ValidateMongoDbTaskProperties, + ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, + ValidateOracleAzureDbPostgreSqlSyncTaskOutput, + ValidateSyncMigrationInputSqlServerTaskInput, + ValidateSyncMigrationInputSqlServerTaskOutput +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/models/servicesMappers.ts b/sdk/datamigration/arm-datamigration/src/models/servicesMappers.ts new file mode 100644 index 000000000000..7d444195a34e --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/servicesMappers.ts @@ -0,0 +1,241 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + AvailableServiceSku, + AvailableServiceSkuCapacity, + AvailableServiceSkuSku, + AzureActiveDirectoryApp, + BackupFileInfo, + BackupSetInfo, + BaseResource, + BlobShare, + CheckOCIDriverTaskInput, + CheckOCIDriverTaskOutput, + CheckOCIDriverTaskProperties, + CommandProperties, + ConnectionInfo, + ConnectToMongoDbTaskProperties, + ConnectToSourceMySqlTaskInput, + ConnectToSourceMySqlTaskProperties, + ConnectToSourceNonSqlTaskOutput, + ConnectToSourceOracleSyncTaskInput, + ConnectToSourceOracleSyncTaskOutput, + ConnectToSourceOracleSyncTaskProperties, + ConnectToSourcePostgreSqlSyncTaskInput, + ConnectToSourcePostgreSqlSyncTaskOutput, + ConnectToSourcePostgreSqlSyncTaskProperties, + ConnectToSourceSqlServerSyncTaskProperties, + ConnectToSourceSqlServerTaskInput, + ConnectToSourceSqlServerTaskOutput, + ConnectToSourceSqlServerTaskOutputAgentJobLevel, + ConnectToSourceSqlServerTaskOutputDatabaseLevel, + ConnectToSourceSqlServerTaskOutputLoginLevel, + ConnectToSourceSqlServerTaskOutputTaskLevel, + ConnectToSourceSqlServerTaskProperties, + ConnectToTargetAzureDbForMySqlTaskInput, + ConnectToTargetAzureDbForMySqlTaskOutput, + ConnectToTargetAzureDbForMySqlTaskProperties, + ConnectToTargetAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetSqlDbTaskInput, + ConnectToTargetSqlDbTaskOutput, + ConnectToTargetSqlDbTaskProperties, + ConnectToTargetSqlMISyncTaskInput, + ConnectToTargetSqlMISyncTaskOutput, + ConnectToTargetSqlMISyncTaskProperties, + ConnectToTargetSqlMITaskInput, + ConnectToTargetSqlMITaskOutput, + ConnectToTargetSqlMITaskProperties, + ConnectToTargetSqlSqlDbSyncTaskInput, + ConnectToTargetSqlSqlDbSyncTaskProperties, + DatabaseBackupInfo, + DatabaseFileInfo, + DatabaseInfo, + DatabaseSummaryResult, + DatabaseTable, + DataItemMigrationSummaryResult, + DataMigrationService, + DataMigrationServiceList, + DataMigrationServiceStatusResponse, + FileShare, + GetTdeCertificatesSqlTaskInput, + GetTdeCertificatesSqlTaskOutput, + GetTdeCertificatesSqlTaskProperties, + GetUserTablesOracleTaskInput, + GetUserTablesOracleTaskOutput, + GetUserTablesOracleTaskProperties, + GetUserTablesPostgreSqlTaskInput, + GetUserTablesPostgreSqlTaskOutput, + GetUserTablesPostgreSqlTaskProperties, + GetUserTablesSqlSyncTaskInput, + GetUserTablesSqlSyncTaskOutput, + GetUserTablesSqlSyncTaskProperties, + GetUserTablesSqlTaskInput, + GetUserTablesSqlTaskOutput, + GetUserTablesSqlTaskProperties, + InstallOCIDriverTaskInput, + InstallOCIDriverTaskOutput, + InstallOCIDriverTaskProperties, + MigrateMISyncCompleteCommandInput, + MigrateMISyncCompleteCommandOutput, + MigrateMISyncCompleteCommandProperties, + MigrateMongoDbTaskProperties, + MigrateMySqlAzureDbForMySqlSyncDatabaseInput, + MigrateMySqlAzureDbForMySqlSyncTaskInput, + MigrateMySqlAzureDbForMySqlSyncTaskOutput, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, + MigrateMySqlAzureDbForMySqlSyncTaskProperties, + MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, + MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, + MigrateOracleAzureDbPostgreSqlSyncTaskInput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + MigrateSchemaSqlServerSqlDbDatabaseInput, + MigrateSchemaSqlServerSqlDbTaskInput, + MigrateSchemaSqlServerSqlDbTaskOutput, + MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSchemaSqlServerSqlDbTaskOutputError, + MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSchemaSqlServerSqlDbTaskProperties, + MigrateSchemaSqlTaskOutputError, + MigrateSqlServerSqlDbDatabaseInput, + MigrateSqlServerSqlDbSyncDatabaseInput, + MigrateSqlServerSqlDbSyncTaskInput, + MigrateSqlServerSqlDbSyncTaskOutput, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbSyncTaskOutputError, + MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, + MigrateSqlServerSqlDbSyncTaskOutputTableLevel, + MigrateSqlServerSqlDbSyncTaskProperties, + MigrateSqlServerSqlDbTaskInput, + MigrateSqlServerSqlDbTaskOutput, + MigrateSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbTaskOutputError, + MigrateSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSqlServerSqlDbTaskOutputTableLevel, + MigrateSqlServerSqlDbTaskProperties, + MigrateSqlServerSqlMIDatabaseInput, + MigrateSqlServerSqlMISyncTaskInput, + MigrateSqlServerSqlMISyncTaskOutput, + MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlMISyncTaskOutputError, + MigrateSqlServerSqlMISyncTaskOutputMigrationLevel, + MigrateSqlServerSqlMISyncTaskProperties, + MigrateSqlServerSqlMITaskInput, + MigrateSqlServerSqlMITaskOutput, + MigrateSqlServerSqlMITaskOutputAgentJobLevel, + MigrateSqlServerSqlMITaskOutputDatabaseLevel, + MigrateSqlServerSqlMITaskOutputError, + MigrateSqlServerSqlMITaskOutputLoginLevel, + MigrateSqlServerSqlMITaskOutputMigrationLevel, + MigrateSqlServerSqlMITaskProperties, + MigrateSsisTaskInput, + MigrateSsisTaskOutput, + MigrateSsisTaskOutputMigrationLevel, + MigrateSsisTaskOutputProjectLevel, + MigrateSsisTaskProperties, + MigrateSyncCompleteCommandInput, + MigrateSyncCompleteCommandOutput, + MigrateSyncCompleteCommandProperties, + MigrationEligibilityInfo, + MigrationReportResult, + MigrationValidationDatabaseSummaryResult, + MigrationValidationOptions, + MigrationValidationResult, + MiSqlConnectionInfo, + MongoDbCancelCommand, + MongoDbClusterInfo, + MongoDbCollectionInfo, + MongoDbCollectionProgress, + MongoDbCollectionSettings, + MongoDbCommandInput, + MongoDbConnectionInfo, + MongoDbDatabaseInfo, + MongoDbDatabaseProgress, + MongoDbDatabaseSettings, + MongoDbError, + MongoDbFinishCommand, + MongoDbFinishCommandInput, + MongoDbMigrationProgress, + MongoDbMigrationSettings, + MongoDbObjectInfo, + MongoDbProgress, + MongoDbRestartCommand, + MongoDbShardKeyField, + MongoDbShardKeyInfo, + MongoDbShardKeySetting, + MongoDbThrottlingSettings, + MySqlConnectionInfo, + NameAvailabilityRequest, + NameAvailabilityResponse, + ODataError, + OracleConnectionInfo, + OracleOCIDriverInfo, + OrphanedUserInfo, + PostgreSqlConnectionInfo, + Project, + ProjectFile, + ProjectFileProperties, + ProjectTask, + ProjectTaskProperties, + ReportableException, + Resource, + SchemaMigrationSetting, + SelectedCertificateInput, + ServerProperties, + ServiceSku, + ServiceSkuList, + SqlConnectionInfo, + SqlMigrationTaskInput, + SqlServerSqlMISyncTaskInput, + SsisMigrationInfo, + StartMigrationScenarioServerRoleResult, + SyncMigrationDatabaseErrorEvent, + TrackedResource, + UploadOCIDriverTaskInput, + UploadOCIDriverTaskOutput, + UploadOCIDriverTaskProperties, + ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, + ValidateMigrationInputSqlServerSqlMISyncTaskInput, + ValidateMigrationInputSqlServerSqlMISyncTaskOutput, + ValidateMigrationInputSqlServerSqlMISyncTaskProperties, + ValidateMigrationInputSqlServerSqlMITaskInput, + ValidateMigrationInputSqlServerSqlMITaskOutput, + ValidateMigrationInputSqlServerSqlMITaskProperties, + ValidateMongoDbTaskProperties, + ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, + ValidateOracleAzureDbPostgreSqlSyncTaskOutput, + ValidateSyncMigrationInputSqlServerTaskInput, + ValidateSyncMigrationInputSqlServerTaskOutput +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/models/tasksMappers.ts b/sdk/datamigration/arm-datamigration/src/models/tasksMappers.ts new file mode 100644 index 000000000000..17dccc4b299d --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/tasksMappers.ts @@ -0,0 +1,234 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + AzureActiveDirectoryApp, + BackupFileInfo, + BackupSetInfo, + BaseResource, + BlobShare, + CheckOCIDriverTaskInput, + CheckOCIDriverTaskOutput, + CheckOCIDriverTaskProperties, + CommandProperties, + ConnectionInfo, + ConnectToMongoDbTaskProperties, + ConnectToSourceMySqlTaskInput, + ConnectToSourceMySqlTaskProperties, + ConnectToSourceNonSqlTaskOutput, + ConnectToSourceOracleSyncTaskInput, + ConnectToSourceOracleSyncTaskOutput, + ConnectToSourceOracleSyncTaskProperties, + ConnectToSourcePostgreSqlSyncTaskInput, + ConnectToSourcePostgreSqlSyncTaskOutput, + ConnectToSourcePostgreSqlSyncTaskProperties, + ConnectToSourceSqlServerSyncTaskProperties, + ConnectToSourceSqlServerTaskInput, + ConnectToSourceSqlServerTaskOutput, + ConnectToSourceSqlServerTaskOutputAgentJobLevel, + ConnectToSourceSqlServerTaskOutputDatabaseLevel, + ConnectToSourceSqlServerTaskOutputLoginLevel, + ConnectToSourceSqlServerTaskOutputTaskLevel, + ConnectToSourceSqlServerTaskProperties, + ConnectToTargetAzureDbForMySqlTaskInput, + ConnectToTargetAzureDbForMySqlTaskOutput, + ConnectToTargetAzureDbForMySqlTaskProperties, + ConnectToTargetAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem, + ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties, + ConnectToTargetSqlDbTaskInput, + ConnectToTargetSqlDbTaskOutput, + ConnectToTargetSqlDbTaskProperties, + ConnectToTargetSqlMISyncTaskInput, + ConnectToTargetSqlMISyncTaskOutput, + ConnectToTargetSqlMISyncTaskProperties, + ConnectToTargetSqlMITaskInput, + ConnectToTargetSqlMITaskOutput, + ConnectToTargetSqlMITaskProperties, + ConnectToTargetSqlSqlDbSyncTaskInput, + ConnectToTargetSqlSqlDbSyncTaskProperties, + DatabaseBackupInfo, + DatabaseFileInfo, + DatabaseInfo, + DatabaseSummaryResult, + DatabaseTable, + DataItemMigrationSummaryResult, + DataMigrationService, + FileShare, + GetTdeCertificatesSqlTaskInput, + GetTdeCertificatesSqlTaskOutput, + GetTdeCertificatesSqlTaskProperties, + GetUserTablesOracleTaskInput, + GetUserTablesOracleTaskOutput, + GetUserTablesOracleTaskProperties, + GetUserTablesPostgreSqlTaskInput, + GetUserTablesPostgreSqlTaskOutput, + GetUserTablesPostgreSqlTaskProperties, + GetUserTablesSqlSyncTaskInput, + GetUserTablesSqlSyncTaskOutput, + GetUserTablesSqlSyncTaskProperties, + GetUserTablesSqlTaskInput, + GetUserTablesSqlTaskOutput, + GetUserTablesSqlTaskProperties, + InstallOCIDriverTaskInput, + InstallOCIDriverTaskOutput, + InstallOCIDriverTaskProperties, + MigrateMISyncCompleteCommandInput, + MigrateMISyncCompleteCommandOutput, + MigrateMISyncCompleteCommandProperties, + MigrateMongoDbTaskProperties, + MigrateMySqlAzureDbForMySqlSyncDatabaseInput, + MigrateMySqlAzureDbForMySqlSyncTaskInput, + MigrateMySqlAzureDbForMySqlSyncTaskOutput, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputError, + MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel, + MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel, + MigrateMySqlAzureDbForMySqlSyncTaskProperties, + MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, + MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, + MigrateOracleAzureDbPostgreSqlSyncTaskInput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutput, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputError, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel, + MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel, + MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties, + MigrateSchemaSqlServerSqlDbDatabaseInput, + MigrateSchemaSqlServerSqlDbTaskInput, + MigrateSchemaSqlServerSqlDbTaskOutput, + MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSchemaSqlServerSqlDbTaskOutputError, + MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSchemaSqlServerSqlDbTaskProperties, + MigrateSchemaSqlTaskOutputError, + MigrateSqlServerSqlDbDatabaseInput, + MigrateSqlServerSqlDbSyncDatabaseInput, + MigrateSqlServerSqlDbSyncTaskInput, + MigrateSqlServerSqlDbSyncTaskOutput, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseError, + MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbSyncTaskOutputError, + MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel, + MigrateSqlServerSqlDbSyncTaskOutputTableLevel, + MigrateSqlServerSqlDbSyncTaskProperties, + MigrateSqlServerSqlDbTaskInput, + MigrateSqlServerSqlDbTaskOutput, + MigrateSqlServerSqlDbTaskOutputDatabaseLevel, + MigrateSqlServerSqlDbTaskOutputError, + MigrateSqlServerSqlDbTaskOutputMigrationLevel, + MigrateSqlServerSqlDbTaskOutputTableLevel, + MigrateSqlServerSqlDbTaskProperties, + MigrateSqlServerSqlMIDatabaseInput, + MigrateSqlServerSqlMISyncTaskInput, + MigrateSqlServerSqlMISyncTaskOutput, + MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel, + MigrateSqlServerSqlMISyncTaskOutputError, + MigrateSqlServerSqlMISyncTaskOutputMigrationLevel, + MigrateSqlServerSqlMISyncTaskProperties, + MigrateSqlServerSqlMITaskInput, + MigrateSqlServerSqlMITaskOutput, + MigrateSqlServerSqlMITaskOutputAgentJobLevel, + MigrateSqlServerSqlMITaskOutputDatabaseLevel, + MigrateSqlServerSqlMITaskOutputError, + MigrateSqlServerSqlMITaskOutputLoginLevel, + MigrateSqlServerSqlMITaskOutputMigrationLevel, + MigrateSqlServerSqlMITaskProperties, + MigrateSsisTaskInput, + MigrateSsisTaskOutput, + MigrateSsisTaskOutputMigrationLevel, + MigrateSsisTaskOutputProjectLevel, + MigrateSsisTaskProperties, + MigrateSyncCompleteCommandInput, + MigrateSyncCompleteCommandOutput, + MigrateSyncCompleteCommandProperties, + MigrationEligibilityInfo, + MigrationReportResult, + MigrationValidationDatabaseSummaryResult, + MigrationValidationOptions, + MigrationValidationResult, + MiSqlConnectionInfo, + MongoDbCancelCommand, + MongoDbClusterInfo, + MongoDbCollectionInfo, + MongoDbCollectionProgress, + MongoDbCollectionSettings, + MongoDbCommandInput, + MongoDbConnectionInfo, + MongoDbDatabaseInfo, + MongoDbDatabaseProgress, + MongoDbDatabaseSettings, + MongoDbError, + MongoDbFinishCommand, + MongoDbFinishCommandInput, + MongoDbMigrationProgress, + MongoDbMigrationSettings, + MongoDbObjectInfo, + MongoDbProgress, + MongoDbRestartCommand, + MongoDbShardKeyField, + MongoDbShardKeyInfo, + MongoDbShardKeySetting, + MongoDbThrottlingSettings, + MySqlConnectionInfo, + ODataError, + OracleConnectionInfo, + OracleOCIDriverInfo, + OrphanedUserInfo, + PostgreSqlConnectionInfo, + Project, + ProjectFile, + ProjectFileProperties, + ProjectTask, + ProjectTaskProperties, + ReportableException, + Resource, + SchemaMigrationSetting, + SelectedCertificateInput, + ServerProperties, + ServiceSku, + SqlConnectionInfo, + SqlMigrationTaskInput, + SqlServerSqlMISyncTaskInput, + SsisMigrationInfo, + StartMigrationScenarioServerRoleResult, + SyncMigrationDatabaseErrorEvent, + TaskList, + TrackedResource, + UploadOCIDriverTaskInput, + UploadOCIDriverTaskOutput, + UploadOCIDriverTaskProperties, + ValidateMigrationInputSqlServerSqlDbSyncTaskProperties, + ValidateMigrationInputSqlServerSqlMISyncTaskInput, + ValidateMigrationInputSqlServerSqlMISyncTaskOutput, + ValidateMigrationInputSqlServerSqlMISyncTaskProperties, + ValidateMigrationInputSqlServerSqlMITaskInput, + ValidateMigrationInputSqlServerSqlMITaskOutput, + ValidateMigrationInputSqlServerSqlMITaskProperties, + ValidateMongoDbTaskProperties, + ValidateOracleAzureDbForPostgreSqlSyncTaskProperties, + ValidateOracleAzureDbPostgreSqlSyncTaskOutput, + ValidateSyncMigrationInputSqlServerTaskInput, + ValidateSyncMigrationInputSqlServerTaskOutput +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/models/usagesMappers.ts b/sdk/datamigration/arm-datamigration/src/models/usagesMappers.ts new file mode 100644 index 000000000000..f66421c5bc45 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/models/usagesMappers.ts @@ -0,0 +1,16 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + discriminators, + ApiError, + ODataError, + Quota, + QuotaList, + QuotaName +} from "../models/mappers"; diff --git a/sdk/datamigration/arm-datamigration/src/operations/files.ts b/sdk/datamigration/arm-datamigration/src/operations/files.ts new file mode 100644 index 000000000000..14df112b639c --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/files.ts @@ -0,0 +1,579 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/filesMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Files. */ +export class Files { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Files. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * The project resource is a nested resource representing a stored migration project. This method + * returns a list of files owned by a project resource. + * @summary Get files in a project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param [options] The optional parameters + * @returns Promise + */ + list(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param callback The callback + */ + list(groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param options The optional parameters + * @param callback The callback + */ + list(groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The files resource is a nested, proxy-only resource representing a file stored under the project + * resource. This method retrieves information about a file. + * @summary Get file information + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param [options] The optional parameters + * @returns Promise + */ + get(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param options The optional parameters + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + fileName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The PUT method creates a new file or updates an existing one. + * @summary Create a file resource + * @param parameters Information about the file + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the file + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the file + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + fileName, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * This method deletes a file. + * @summary Delete file + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + deleteMethod(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + fileName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * This method updates an existing file. + * @summary Update a file + * @param parameters Information about the file + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param [options] The optional parameters + * @returns Promise + */ + update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the file + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param callback The callback + */ + update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the file + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param options The optional parameters + * @param callback The callback + */ + update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(parameters: Models.ProjectFile, groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + fileName, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * This method is used for requesting storage information using which contents of the file can be + * downloaded. + * @summary Request storage information for downloading the file content + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param [options] The optional parameters + * @returns Promise + */ + read(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param callback The callback + */ + read(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param options The optional parameters + * @param callback The callback + */ + read(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + read(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + fileName, + options + }, + readOperationSpec, + callback) as Promise; + } + + /** + * This method is used for requesting information for reading and writing the file content. + * @summary Request information for reading and writing file content. + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param [options] The optional parameters + * @returns Promise + */ + readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param callback The callback + */ + readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param fileName Name of the File + * @param options The optional parameters + * @param callback The callback + */ + readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + readWrite(groupName: string, serviceName: string, projectName: string, fileName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + fileName, + options + }, + readWriteOperationSpec, + callback) as Promise; + } + + /** + * The project resource is a nested resource representing a stored migration project. This method + * returns a list of files owned by a project resource. + * @summary Get files in a project + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.FileList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.fileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectFile + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.fileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ProjectFile, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ProjectFile + }, + 201: { + bodyMapper: Mappers.ProjectFile + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.fileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.fileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ProjectFile, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ProjectFile + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const readOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/read", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.fileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.FileStorageInfo + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const readWriteOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/readwrite", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.fileName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.FileStorageInfo + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.FileList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/index.ts b/sdk/datamigration/arm-datamigration/src/operations/index.ts new file mode 100644 index 000000000000..2ffe1518b219 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +export * from "./resourceSkus"; +export * from "./services"; +export * from "./tasks"; +export * from "./serviceTasks"; +export * from "./projects"; +export * from "./usages"; +export * from "./operations"; +export * from "./files"; diff --git a/sdk/datamigration/arm-datamigration/src/operations/operations.ts b/sdk/datamigration/arm-datamigration/src/operations/operations.ts new file mode 100644 index 000000000000..66ba9b562856 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/operations.ts @@ -0,0 +1,125 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/operationsMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Operations. */ +export class Operations { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Operations. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * Lists all available actions exposed by the Database Migration Service resource provider. + * @summary Get available resource provider actions (operations) + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * Lists all available actions exposed by the Database Migration Service resource provider. + * @summary Get available resource provider actions (operations) + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.DataMigration/operations", + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ServiceOperationList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ServiceOperationList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/projects.ts b/sdk/datamigration/arm-datamigration/src/operations/projects.ts new file mode 100644 index 000000000000..e4ea787a0759 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/projects.ts @@ -0,0 +1,421 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/projectsMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Projects. */ +export class Projects { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Projects. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * The project resource is a nested resource representing a stored migration project. This method + * returns a list of projects owned by a service resource. + * @summary Get projects in a service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + list(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param callback The callback + */ + list(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param options The optional parameters + * @param callback The callback + */ + list(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The project resource is a nested resource representing a stored migration project. The PUT + * method creates a new project or updates an existing one. + * @summary Create or update project + * @param parameters Information about the project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param callback The callback + */ + createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * The project resource is a nested resource representing a stored migration project. The GET + * method retrieves information about a project. + * @summary Get project information + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param [options] The optional parameters + * @returns Promise + */ + get(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param options The optional parameters + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The project resource is a nested resource representing a stored migration project. The DELETE + * method deletes a project. + * @summary Delete project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, options?: Models.ProjectsDeleteMethodOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, options: Models.ProjectsDeleteMethodOptionalParams, callback: msRest.ServiceCallback): void; + deleteMethod(groupName: string, serviceName: string, projectName: string, options?: Models.ProjectsDeleteMethodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * The project resource is a nested resource representing a stored migration project. The PATCH + * method updates an existing project. + * @summary Update project + * @param parameters Information about the project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param [options] The optional parameters + * @returns Promise + */ + update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param callback The callback + */ + update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the project + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param options The optional parameters + * @param callback The callback + */ + update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(parameters: Models.Project, groupName: string, serviceName: string, projectName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * The project resource is a nested resource representing a stored migration project. This method + * returns a list of projects owned by a service resource. + * @summary Get projects in a service + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.Project, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Project + }, + 201: { + bodyMapper: Mappers.Project + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Project + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName + ], + queryParameters: [ + Parameters.deleteRunningTasks, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.Project, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Project + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/resourceSkus.ts b/sdk/datamigration/arm-datamigration/src/operations/resourceSkus.ts new file mode 100644 index 000000000000..55ef48a49e45 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/resourceSkus.ts @@ -0,0 +1,128 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/resourceSkusMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a ResourceSkus. */ +export class ResourceSkus { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a ResourceSkus. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * The skus action returns the list of SKUs that DMS supports. + * @summary Get supported SKUs + * @param [options] The optional parameters + * @returns Promise + */ + listSkus(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + listSkus(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listSkus(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listSkus(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listSkusOperationSpec, + callback) as Promise; + } + + /** + * The skus action returns the list of SKUs that DMS supports. + * @summary Get supported SKUs + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listSkusNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listSkusNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listSkusNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listSkusOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ResourceSkusResult + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listSkusNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ResourceSkusResult + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/serviceTasks.ts b/sdk/datamigration/arm-datamigration/src/operations/serviceTasks.ts new file mode 100644 index 000000000000..562b8fa4dc8a --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/serviceTasks.ts @@ -0,0 +1,494 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/serviceTasksMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a ServiceTasks. */ +export class ServiceTasks { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a ServiceTasks. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service level tasks owned by a service resource. Some tasks may + * have a status of Unknown, which indicates that an error occurred while querying the status of + * that task. + * @summary Get service level tasks for a service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + list(groupName: string, serviceName: string, options?: Models.ServiceTasksListOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param callback The callback + */ + list(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param options The optional parameters + * @param callback The callback + */ + list(groupName: string, serviceName: string, options: Models.ServiceTasksListOptionalParams, callback: msRest.ServiceCallback): void; + list(groupName: string, serviceName: string, options?: Models.ServiceTasksListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The service tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The PUT method creates a new service task or updates an existing one, although since + * service tasks have no mutable custom properties, there is little reason to update an existing + * one. + * @summary Create or update service task + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + taskName, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * The service tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The GET method retrieves information about a service task. + * @summary Get service task information + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + get(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksGetOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param callback The callback + */ + get(groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + get(groupName: string, serviceName: string, taskName: string, options: Models.ServiceTasksGetOptionalParams, callback: msRest.ServiceCallback): void; + get(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksGetOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + taskName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The service tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The DELETE method deletes a service task, canceling it first if it's running. + * @summary Delete service task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksDeleteMethodOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, taskName: string, options: Models.ServiceTasksDeleteMethodOptionalParams, callback: msRest.ServiceCallback): void; + deleteMethod(groupName: string, serviceName: string, taskName: string, options?: Models.ServiceTasksDeleteMethodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + taskName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * The service tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The PATCH method updates an existing service task, but since service tasks have no + * mutable custom properties, there is little reason to do so. + * @summary Create or update service task + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param callback The callback + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + taskName, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * The service tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. This method cancels a service task if it's currently queued or running. + * @summary Cancel a service task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + cancel(groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param callback The callback + */ + cancel(groupName: string, serviceName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + cancel(groupName: string, serviceName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + cancel(groupName: string, serviceName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + taskName, + options + }, + cancelOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service level tasks owned by a service resource. Some tasks may + * have a status of Unknown, which indicates that an error occurred while querying the status of + * that task. + * @summary Get service level tasks for a service + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.taskType + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.TaskList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ProjectTask, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + 201: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.taskName + ], + queryParameters: [ + Parameters.expand, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.taskName + ], + queryParameters: [ + Parameters.deleteRunningTasks, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ProjectTask, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const cancelOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.TaskList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/services.ts b/sdk/datamigration/arm-datamigration/src/operations/services.ts new file mode 100644 index 000000000000..2259b48ecb34 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/services.ts @@ -0,0 +1,935 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as msRestAzure from "@azure/ms-rest-azure-js"; +import * as Models from "../models"; +import * as Mappers from "../models/servicesMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Services. */ +export class Services { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Services. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The PUT method creates a new service or updates an existing one. When a service is updated, + * existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, + * "vm", which refers to a VM-based service, although other kinds may be added in the future. This + * method can change the kind, SKU, and network of the service, but if tasks are currently running + * (i.e. the service is busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The provider + * will reply when successful with 200 OK or 201 Created. Long-running operations use the + * provisioningState property. + * @summary Create or update DMS Instance + * @param parameters Information about the service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateOrUpdate(parameters,groupName,serviceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The GET method retrieves information about a service instance. + * @summary Get DMS Service Instance + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + get(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param callback The callback + */ + get(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param options The optional parameters + * @param callback The callback + */ + get(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The DELETE method deletes a service. Any running tasks will be canceled. + * @summary Delete DMS Service Instance + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(groupName: string, serviceName: string, options?: Models.ServicesDeleteMethodOptionalParams): Promise { + return this.beginDeleteMethod(groupName,serviceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The PATCH method updates an existing service. This method can change the kind, SKU, and network + * of the service, but if tasks are currently running (i.e. the service is busy), this will fail + * with 400 Bad Request ("ServiceIsBusy"). + * @summary Create or update DMS Service Instance + * @param parameters Information about the service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + update(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginUpdate(parameters,groupName,serviceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This action performs a health check and returns the status of the service and virtual machine + * size. + * @summary Check service health status + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + checkStatus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param callback The callback + */ + checkStatus(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param options The optional parameters + * @param callback The callback + */ + checkStatus(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + checkStatus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + options + }, + checkStatusOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This action starts the service and the service can be used for data migration. + * @summary Start service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + start(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginStart(groupName,serviceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This action stops the service and the service cannot be used for data migration. The service + * owner won't be billed when the service is stopped. + * @summary Stop service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + stop(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginStop(groupName,serviceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The skus action returns the list of SKUs that a service resource can be updated to. + * @summary Get compatible SKUs + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + listSkus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param callback The callback + */ + listSkus(groupName: string, serviceName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param options The optional parameters + * @param callback The callback + */ + listSkus(groupName: string, serviceName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listSkus(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + options + }, + listSkusOperationSpec, + callback) as Promise; + } + + /** + * This method checks whether a proposed nested resource name is valid and available. + * @summary Check nested resource name validity and availability + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param parameters Requested name to validate + * @param [options] The optional parameters + * @returns Promise + */ + checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param parameters Requested name to validate + * @param callback The callback + */ + checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param parameters Requested name to validate + * @param options The optional parameters + * @param callback The callback + */ + checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + checkChildrenNameAvailability(groupName: string, serviceName: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + parameters, + options + }, + checkChildrenNameAvailabilityOperationSpec, + callback) as Promise; + } + + /** + * The Services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a resource group. + * @summary Get services in resource group + * @param groupName Name of the resource group + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroup(groupName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param callback The callback + */ + listByResourceGroup(groupName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroup(groupName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroup(groupName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + options + }, + listByResourceGroupOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a subscription. + * @summary Get services in subscription + * @param [options] The optional parameters + * @returns Promise + */ + list(options?: msRest.RequestOptionsBase): Promise; + /** + * @param callback The callback + */ + list(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * This method checks whether a proposed top-level resource name is valid and available. + * @summary Check name validity and availability + * @param location The Azure region of the operation + * @param parameters Requested name to validate + * @param [options] The optional parameters + * @returns Promise + */ + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The Azure region of the operation + * @param parameters Requested name to validate + * @param callback The callback + */ + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, callback: msRest.ServiceCallback): void; + /** + * @param location The Azure region of the operation + * @param parameters Requested name to validate + * @param options The optional parameters + * @param callback The callback + */ + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + checkNameAvailability(location: string, parameters: Models.NameAvailabilityRequest, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + parameters, + options + }, + checkNameAvailabilityOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The PUT method creates a new service or updates an existing one. When a service is updated, + * existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, + * "vm", which refers to a VM-based service, although other kinds may be added in the future. This + * method can change the kind, SKU, and network of the service, but if tasks are currently running + * (i.e. the service is busy), this will fail with 400 Bad Request ("ServiceIsBusy"). The provider + * will reply when successful with 200 OK or 201 Created. Long-running operations use the + * provisioningState property. + * @summary Create or update DMS Instance + * @param parameters Information about the service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateOrUpdate(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + parameters, + groupName, + serviceName, + options + }, + beginCreateOrUpdateOperationSpec, + options); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The DELETE method deletes a service. Any running tasks will be canceled. + * @summary Delete DMS Service Instance + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + beginDeleteMethod(groupName: string, serviceName: string, options?: Models.ServicesBeginDeleteMethodOptionalParams): Promise { + return this.client.sendLRORequest( + { + groupName, + serviceName, + options + }, + beginDeleteMethodOperationSpec, + options); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The PATCH method updates an existing service. This method can change the kind, SKU, and network + * of the service, but if tasks are currently running (i.e. the service is busy), this will fail + * with 400 Bad Request ("ServiceIsBusy"). + * @summary Create or update DMS Service Instance + * @param parameters Information about the service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + beginUpdate(parameters: Models.DataMigrationService, groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + parameters, + groupName, + serviceName, + options + }, + beginUpdateOperationSpec, + options); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This action starts the service and the service can be used for data migration. + * @summary Start service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + beginStart(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + groupName, + serviceName, + options + }, + beginStartOperationSpec, + options); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This action stops the service and the service cannot be used for data migration. The service + * owner won't be billed when the service is stopped. + * @summary Stop service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param [options] The optional parameters + * @returns Promise + */ + beginStop(groupName: string, serviceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + groupName, + serviceName, + options + }, + beginStopOperationSpec, + options); + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * The skus action returns the list of SKUs that a service resource can be updated to. + * @summary Get compatible SKUs + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listSkusNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listSkusNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listSkusNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listSkusNextOperationSpec, + callback) as Promise; + } + + /** + * The Services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a resource group. + * @summary Get services in resource group + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listByResourceGroupNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listByResourceGroupNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listByResourceGroupNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listByResourceGroupNextOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of service resources in a subscription. + * @summary Get services in subscription + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationService + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const checkStatusOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceStatusResponse + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listSkusOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ServiceSkuList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const checkChildrenNameAvailabilityOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.NameAvailabilityRequest, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.NameAvailabilityResponse + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listByResourceGroupOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const checkNameAvailabilityOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability", + urlParameters: [ + Parameters.subscriptionId, + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.NameAvailabilityRequest, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.NameAvailabilityResponse + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.DataMigrationService, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.DataMigrationService + }, + 201: { + bodyMapper: Mappers.DataMigrationService + }, + 202: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginDeleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.deleteRunningTasks, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.DataMigrationService, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.DataMigrationService + }, + 202: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginStartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const beginStopOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 202: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listSkusNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ServiceSkuList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listByResourceGroupNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.DataMigrationServiceList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/tasks.ts b/sdk/datamigration/arm-datamigration/src/operations/tasks.ts new file mode 100644 index 000000000000..be0221a57d87 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/tasks.ts @@ -0,0 +1,601 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/tasksMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Tasks. */ +export class Tasks { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Tasks. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of tasks owned by a service resource. Some tasks may have a status of + * Unknown, which indicates that an error occurred while querying the status of that task. + * @summary Get tasks in a service + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param [options] The optional parameters + * @returns Promise + */ + list(groupName: string, serviceName: string, projectName: string, options?: Models.TasksListOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param callback The callback + */ + list(groupName: string, serviceName: string, projectName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param options The optional parameters + * @param callback The callback + */ + list(groupName: string, serviceName: string, projectName: string, options: Models.TasksListOptionalParams, callback: msRest.ServiceCallback): void; + list(groupName: string, serviceName: string, projectName: string, options?: Models.TasksListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The PUT method creates a new task or updates an existing one, although since tasks + * have no mutable custom properties, there is little reason to update an existing one. + * @summary Create or update task + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + taskName, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The GET method retrieves information about a task. + * @summary Get task information + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + get(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksGetOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + get(groupName: string, serviceName: string, projectName: string, taskName: string, options: Models.TasksGetOptionalParams, callback: msRest.ServiceCallback): void; + get(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksGetOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The DELETE method deletes a task, canceling it first if it's running. + * @summary Delete task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksDeleteMethodOptionalParams): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: string, options: Models.TasksDeleteMethodOptionalParams, callback: msRest.ServiceCallback): void; + deleteMethod(groupName: string, serviceName: string, projectName: string, taskName: string, options?: Models.TasksDeleteMethodOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + options + }, + deleteMethodOperationSpec, + callback); + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. The PATCH method updates an existing task, but since tasks have no mutable custom + * properties, there is little reason to do so. + * @summary Create or update task + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param parameters Information about the task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(parameters: Models.ProjectTask, groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + parameters, + groupName, + serviceName, + projectName, + taskName, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. This method cancels a task if it's currently queued or running. + * @summary Cancel a task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param [options] The optional parameters + * @returns Promise + */ + cancel(groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param callback The callback + */ + cancel(groupName: string, serviceName: string, projectName: string, taskName: string, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param options The optional parameters + * @param callback The callback + */ + cancel(groupName: string, serviceName: string, projectName: string, taskName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + cancel(groupName: string, serviceName: string, projectName: string, taskName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + options + }, + cancelOperationSpec, + callback) as Promise; + } + + /** + * The tasks resource is a nested, proxy-only resource representing work performed by a DMS + * instance. This method executes a command on a running task. + * @summary Execute a command on a task + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param parameters Command to execute + * @param [options] The optional parameters + * @returns Promise + */ + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, options?: msRest.RequestOptionsBase): Promise; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param parameters Command to execute + * @param callback The callback + */ + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, callback: msRest.ServiceCallback): void; + /** + * @param groupName Name of the resource group + * @param serviceName Name of the service + * @param projectName Name of the project + * @param taskName Name of the Task + * @param parameters Command to execute + * @param options The optional parameters + * @param callback The callback + */ + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + command(groupName: string, serviceName: string, projectName: string, taskName: string, parameters: Models.CommandPropertiesUnion, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + groupName, + serviceName, + projectName, + taskName, + parameters, + options + }, + commandOperationSpec, + callback) as Promise; + } + + /** + * The services resource is the top-level resource that represents the Database Migration Service. + * This method returns a list of tasks owned by a service resource. Some tasks may have a status of + * Unknown, which indicates that an error occurred while querying the status of that task. + * @summary Get tasks in a service + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName + ], + queryParameters: [ + Parameters.apiVersion, + Parameters.taskType + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.TaskList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ProjectTask, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + 201: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.expand, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const deleteMethodOperationSpec: msRest.OperationSpec = { + httpMethod: "DELETE", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.deleteRunningTasks, + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.ProjectTask, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const cancelOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.ProjectTask + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const commandOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command", + urlParameters: [ + Parameters.subscriptionId, + Parameters.groupName, + Parameters.serviceName, + Parameters.projectName, + Parameters.taskName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.CommandProperties, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.CommandProperties + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.TaskList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/src/operations/usages.ts b/sdk/datamigration/arm-datamigration/src/operations/usages.ts new file mode 100644 index 000000000000..d84ce8f2c577 --- /dev/null +++ b/sdk/datamigration/arm-datamigration/src/operations/usages.ts @@ -0,0 +1,135 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/usagesMappers"; +import * as Parameters from "../models/parameters"; +import { DataMigrationServiceClientContext } from "../dataMigrationServiceClientContext"; + +/** Class representing a Usages. */ +export class Usages { + private readonly client: DataMigrationServiceClientContext; + + /** + * Create a Usages. + * @param {DataMigrationServiceClientContext} client Reference to the service client. + */ + constructor(client: DataMigrationServiceClientContext) { + this.client = client; + } + + /** + * This method returns region-specific quotas and resource usage information for the Database + * Migration Service. + * @summary Get resource quotas and usage information + * @param location The Azure region of the operation + * @param [options] The optional parameters + * @returns Promise + */ + list(location: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param location The Azure region of the operation + * @param callback The callback + */ + list(location: string, callback: msRest.ServiceCallback): void; + /** + * @param location The Azure region of the operation + * @param options The optional parameters + * @param callback The callback + */ + list(location: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + list(location: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + location, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * This method returns region-specific quotas and resource usage information for the Database + * Migration Service. + * @summary Get resource quotas and usage information + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages", + urlParameters: [ + Parameters.subscriptionId, + Parameters.location + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.QuotaList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.QuotaList + }, + default: { + bodyMapper: Mappers.ApiError + } + }, + serializer +}; diff --git a/sdk/datamigration/arm-datamigration/tsconfig.json b/sdk/datamigration/arm-datamigration/tsconfig.json new file mode 100644 index 000000000000..422b584abd5e --- /dev/null +++ b/sdk/datamigration/arm-datamigration/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es5", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": ["es6", "dom"], + "declaration": true, + "outDir": "./esm", + "importHelpers": true + }, + "include": ["./src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/edgegateway/arm-edgegateway/README.md b/sdk/edgegateway/arm-edgegateway/README.md index 5ad896be3889..4cac7abc2c52 100644 --- a/sdk/edgegateway/arm-edgegateway/README.md +++ b/sdk/edgegateway/arm-edgegateway/README.md @@ -94,3 +94,5 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to ## Related projects - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/edgegateway/arm-edgegateway/README.png) diff --git a/sdk/edgegateway/arm-edgegateway/package.json b/sdk/edgegateway/arm-edgegateway/package.json index 76f5af4339a9..26932d3391a5 100644 --- a/sdk/edgegateway/arm-edgegateway/package.json +++ b/sdk/edgegateway/arm-edgegateway/package.json @@ -2,11 +2,11 @@ "name": "@azure/arm-edgegateway", "author": "Microsoft Corporation", "description": "DataBoxEdgeManagementClient Library with typescript type definitions for node.js and browser.", - "version": "2.0.0", + "version": "2.0.1", "dependencies": { - "@azure/ms-rest-azure-js": "^1.3.2", - "@azure/ms-rest-js": "^1.6.0", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.0", + "@azure/ms-rest-js": "^2.0.3", + "tslib": "^1.10.0" }, "keywords": [ "node", @@ -26,13 +26,13 @@ "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/edgegateway/arm-edgegateway", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/edgegateway/arm-edgegateway", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", diff --git a/sdk/edgegateway/arm-edgegateway/src/dataBoxEdgeManagementClientContext.ts b/sdk/edgegateway/arm-edgegateway/src/dataBoxEdgeManagementClientContext.ts index 3ec454c7345e..992950ef55a5 100644 --- a/sdk/edgegateway/arm-edgegateway/src/dataBoxEdgeManagementClientContext.ts +++ b/sdk/edgegateway/arm-edgegateway/src/dataBoxEdgeManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-edgegateway"; -const packageVersion = "2.0.0"; +const packageVersion = "2.0.1"; export class DataBoxEdgeManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/sdk/edgegateway/arm-edgegateway/src/models/mappers.ts b/sdk/edgegateway/arm-edgegateway/src/models/mappers.ts index 61583586e47b..e9b7800a9717 100644 --- a/sdk/edgegateway/arm-edgegateway/src/models/mappers.ts +++ b/sdk/edgegateway/arm-edgegateway/src/models/mappers.ts @@ -652,7 +652,7 @@ export const Trigger: msRest.CompositeMapper = { serializedName: "kind", clientName: "kind" }, - uberParent: "Trigger", + uberParent: "BaseResource", className: "Trigger", modelProperties: { ...ARMBaseModel.type.modelProperties, @@ -777,7 +777,7 @@ export const Role: msRest.CompositeMapper = { serializedName: "kind", clientName: "kind" }, - uberParent: "Role", + uberParent: "BaseResource", className: "Role", modelProperties: { ...ARMBaseModel.type.modelProperties, diff --git a/sdk/edgegateway/arm-edgegateway/tsconfig.json b/sdk/edgegateway/arm-edgegateway/tsconfig.json index 87bbf5b5fa49..422b584abd5e 100644 --- a/sdk/edgegateway/arm-edgegateway/tsconfig.json +++ b/sdk/edgegateway/arm-edgegateway/tsconfig.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, "outDir": "./esm", "importHelpers": true diff --git a/sdk/eventhub/event-hubs/README.md b/sdk/eventhub/event-hubs/README.md index c4eefbd85aaa..ed897484a2c8 100644 --- a/sdk/eventhub/event-hubs/README.md +++ b/sdk/eventhub/event-hubs/README.md @@ -16,7 +16,7 @@ The Azure Event Hubs client library allows you to send and receive events in you Install the Azure Event Hubs client library using npm -`npm install @azure/event-hubs@5.0.0-preview.1` +`npm install @azure/event-hubs@5.0.0-preview.2` **Prerequisites**: You must have an [Azure subscription](https://azure.microsoft.com/free/) and a [Event Hubs Namespace](https://docs.microsoft.com/en-us/azure/event-hubs/) to use this package. @@ -79,7 +79,8 @@ The following sections provide code snippets that cover some of the common tasks - [Inspect an Event Hub](#inspect-an-event-hub) - [Publish events to an Event Hub](#publish-events-to-an-event-hub) -- [Consume events from an Event Hub](#consume-events-from-an-event-hub) +- [Consume events from an Event Hub partition](#consume-events-from-an-event-hub-partition) +- [Consume events using an Event Processor](#consume-events-using-an-event-processor) - [Use EventHubClient to work with IotHub](#use-eventHubClient-to-work-with-IotHub) ### Inspect an Event Hub @@ -95,14 +96,33 @@ const partitionIds = await client.getPartitionIds(); ### Publish events to an Event Hub -In order to publish events, you'll need to create an `EventHubProducer`. Producers may be dedicated to a specific partition, or allow the Event Hubs service to decide which partition events should be published to. It is recommended to use automatic routing when the publishing of events needs to be highly available or when event data should be distributed evenly among the partitions. In the our example, we will take advantage of automatic routing. +In order to publish events, you'll need to create an `EventHubProducer`. Producers may be dedicated to a specific partition, or allow the Event Hubs service to decide which partition events should be published to. It is recommended to use automatic routing when the publishing of events needs to be highly available or when event data should be distributed evenly among the partitions. In the below examples, we will take advantage of automatic routing. -You can also use the [send](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/eventhubproducer.html#send) method to send multiple events using a single call. +#### Send a single event or an array of events + +Use the [send](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/eventhubproducer.html#send) method to send a single event or multiple events using a single call. ```javascript const client = new EventHubClient("connectionString", "eventHubName"); const producer = client.createProducer(); await producer.send({ body: "my-event-body" }); +await producer.send([{ body: "foo" }, { body: "bar" }]); +``` + +#### Send a batch of events + +Use the [createBatch](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/eventhubproducer.html#createbatch) method to create +an `EventDataBatch` object which can then be sent using the [send](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/eventhubproducer.html#send) method. +Events may be added to the `EventDataBatch` using the [tryAdd](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/eventdatabatch.html#tryadd) +method until the maximum batch size limit in bytes has been reached. + +```javascript +const client = new EventHubClient("connectionString", "eventHubName"); +const producer = client.createProducer(); +const eventDataBatch = await producer.createBatch(); +let wasAdded = eventDataBatch.tryAdd({ body: "my-event-body" }); +wasAdded = eventDataBatch.tryAdd({ body: "my-event-body-2" }); +await producer.send(eventDataBatch); ``` The [Inspect an Event Hub](#inspect-an-event-hub) example shows how to get the list of partition ids should you wish to specify one for a producer. @@ -116,9 +136,9 @@ All events that use the same partition key will be sent to the same partition. **Note**: When working with Azure Stream Analytics, the body of the event being sent should be a JSON object as well. For example: `body: { "message": "Hello World" }` -### Consume events from an Event Hub +### Consume events from an Event Hub partition -In order to consume events, you'll need to create an `EventHubConsumer` for a specific partition and consumer group combination. When an Event Hub is created, it starts with a default consumer group that can be used to get started. A consumer also needs to specify where in the event stream to begin receiving events; in our example, we will focus on reading new events as they are published. +To consume events from a single Event Hub partition in a consumer group, create an `EventHubConsumer` for that partition and consumer group combination. You will need to provide a position in the event stream from where to begin receiving events; in our example, we will read new events as they are published. ```javascript const client = new EventHubClient("connectionString", "eventHubName"); @@ -157,10 +177,10 @@ Use the [receive](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/ev This function takes an optional parameter called `abortSignal` to cancel current operation. ```javascript -const myEventHandler = event => { +const myEventHandler = (event) => { // your code here }; -const myErrorHandler = error => { +const myErrorHandler = (error) => { // your error handler here }; const receiveHandler = consumer.receive(myEventHandler, myErrorHandler); @@ -181,6 +201,63 @@ for await (const events of consumer.getEventIterator()){ } ``` +### Consume events using an Event Processor + +Using an `EventHubConsumer` to consume events like in the previous examples puts the responsibility of storing the checkpoints (the last processed event) on the user. Checkpoints are important for restarting the task of processing events from the right position in a partition. Ideally, you would also want to run multiple programs targeting different partitions with some load balancing. +This is where an [EventProcessor](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/eventprocessor.html) can help. + +The `EventProcessor` will delegate the processing of events to a [PartitionProcessor](https://azure.github.io/azure-sdk-for-js/event-hubs/interfaces/partitionprocessor.html) +that you provide, allowing you to focus on business logic while the processor holds responsibility for managing the underlying consumer +operations including checkpointing and load balancing. + +While load balancing is a feature we will be adding in the next update, you can see how to use the `EventProcessor` in the below +example, where we use an [InMemoryPartitionManager](https://azure.github.io/azure-sdk-for-js/event-hubs/classes/inmemorypartitionmanager.html) that does checkpointing in memory. + +```javascript +class SimplePartitionProcessor { + // Gets called once before the processing of events from current partition starts. + async initialize() { + /* your code here */ + } + + // Gets called for each batch of events that are received. + // You may choose to use the checkpoint manager to update checkpoints. + async processEvents(events) { + /* your code here */ + } + + // Gets called for any error when receiving events. + async processError(error) { + /* your code here */ + } + + // Gets called when Event Processor stops processing events for current partition. + async close(reason) { + /* your code here */ + } +} + +const client = new EventHubClient("my-connection-string", "my-event-hub"); +const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + (partitionContext, checkpointManager) => new SimplePartitionProcessor(), + new InMemoryPartitionManager() +); +await processor.start(); +// At this point, the processor is consuming events from each partition of the Event Hub and +// delegating them to the SimplePartitionProcessor instance created for that partition. This +// processing takes place in the background and will not block. +// +// In this example, we'll stop processing after five seconds. +await delay(5000); +await processor.stop(); +``` + +To control the number of events passed to processEvents, use the options argument in the EventProcessor constructor. + +**Note**: In this model, you are responsible for closing the `EventHubClient` instance to dispose it. + ### Use EventHubClient to work with IotHub You can use `EventHubClient` to work with IotHub as well. This is useful for receiving telemetry data of IotHub from the linked EventHub. @@ -190,8 +267,8 @@ Most likely the associated connection string will not have send claims. Hence ge ```javascript const client = await EventHubClient.createFromIotHubConnectionString("connectionString"); -await client.getHubRuntimeInformation(); -await client.getPartitionInformation("partitionId"); +await client.getProperties(); +await client.getPartitionProperties("partitionId"); ``` **Notes:** For scalable and efficient receiving, please take a look at [azure-event-processor-host](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/eventhub/event-processor-host). The Event Processor host, internally uses the streaming receiver to receive events. @@ -199,6 +276,7 @@ await client.getPartitionInformation("partitionId"); ## Troubleshooting ### AMQP Dependencies + The Event Hubs library depends on the [rhea-promise](https://github.com/amqp/rhea-promise) library for managing connections, sending and receiving events over the [AMQP](http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-complete-v1.0-os.pdf) protocol. ### Enable logs diff --git a/sdk/eventhub/event-hubs/changelog.md b/sdk/eventhub/event-hubs/changelog.md index 813a6e14380a..222988a5a696 100644 --- a/sdk/eventhub/event-hubs/changelog.md +++ b/sdk/eventhub/event-hubs/changelog.md @@ -1,3 +1,27 @@ +### 2019-08-06 5.0.0-preview.2 + +#### General +- The sender is refactored to avoid the warning around too may listeners being attached which would occur before if too many send requests were in flight at the same time from the same sender. +- The receiver is refactored to allow the same underlying AMQP link to be shared between streaming and batching mode. This results in seamless transition between the three different receive methods on the `EventHubConsumer` +- All time related entites have been updated to use milli seconds as the unit of time for consistency. +- New error `InsufficientCreditError` is introduced for the scenario where [rhea](https://www.npmjs.com/package/rhea) is unable to send events due to its internal buffer being full. This is a transient error and so is treated as retryable. +- The error `OperationTimeoutError` was previously mistakenly classified as an AMQP error which is now corrected. Since this can also be a transient error, it is treated as retryable. + +#### Publishing events +- Added method `createBatch()` on the `EventHubProducer` to create an `EventDataBatch` that can then be used to add events until the maximum size is reached. + - This batch object can then be used in the `send()` method to send all the added events to Event Hubs. + - This allows publishers to build batches without the possibility of encountering the error around the message size exceeding the supported limit when sending events. + - It also allows publishers with bandwidth concerns to control the size of each batch published. + +#### Consuming events +- Introduced a new class `EventProcessor` which replaces the older concept of [Event Processor Host](https://www.npmjs.com/package/@azure/event-processor-host). + - This early preview is intended to allow users to test the new design using a single instance of `EventProcessor`. The ability to store checkpoints to a durable store will be added in future updates + +#### Retries and timeouts +- The properties on the `RetryOptions` interface have been renamed for ease of use. +- New property `timeoutInMs` on `RetryOptions` to configure the time to wait before declaring an attempt to have failed with `OperationTimeoutError` error which is retryable. +- New properties `mode` and `maxRetryDelayInMs` on `RetryOptions` to configure the exponential retry mode that is now supported + ### 2019-06-28 5.0.0-preview.1 Version 5.0.0-preview.1 is a preview of our efforts to create a client library that is user friendly and @@ -211,4 +235,4 @@ const client = await EventHubClient.createFromIotHubConnectionString(process.env - Special thanks to @kurtb and @ali92hm for their contributions! ## 2017-01-13 0.0.6 -- Added support for message properties in the EventData structure. \ No newline at end of file +- Added support for message properties in the EventData structure. diff --git a/sdk/eventhub/event-hubs/package.json b/sdk/eventhub/event-hubs/package.json index 998983a4d1d7..8612d5d7cc7c 100644 --- a/sdk/eventhub/event-hubs/package.json +++ b/sdk/eventhub/event-hubs/package.json @@ -1,7 +1,7 @@ { "name": "@azure/event-hubs", "sdk-type": "client", - "version": "5.0.0-preview.2", + "version": "5.0.0-preview.3", "description": "Azure Event Hubs SDK for JS.", "author": "Microsoft Corporation", "license": "MIT", @@ -51,7 +51,7 @@ "integration-test:node": "mocha -t 1200000 test-dist/index.js --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=-", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint -c ../../.eslintrc.json src test samples --ext .ts --fix", - "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o event-hubs-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f html -o event-hubs-lintReport.html || exit 0", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", @@ -62,19 +62,21 @@ "unit-test": "npm run unit-test:node && npm run unit-test:browser" }, "dependencies": { - "@azure/abort-controller": "1.0.0-preview.1", - "@azure/core-amqp": "1.0.0-preview.2", + "@azure/abort-controller": "1.0.0-preview.2", + "@azure/core-amqp": "1.0.0-preview.3", "@azure/core-asynciterator-polyfill": "1.0.0-preview.1", "async-lock": "^1.1.3", + "buffer": "^5.2.1", "debug": "^3.1.0", "is-buffer": "^2.0.3", "jssha": "^2.3.1", - "rhea-promise": "^0.1.15", + "process": "^0.11.10", + "rhea-promise": "^1.0.0", "tslib": "^1.9.3", "uuid": "^3.3.2" }, "devDependencies": { - "@azure/identity": "1.0.0-preview.2", + "@azure/identity": "1.0.0-preview.3", "@microsoft/api-extractor": "^7.1.5", "@types/async-lock": "^1.1.0", "@types/chai": "^4.1.6", @@ -87,23 +89,22 @@ "@types/node": "^8.0.0", "@types/uuid": "^3.4.3", "@types/ws": "^6.0.1", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "chai-string": "^1.5.0", "cross-env": "^5.2.0", - "dotenv": "^7.0.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "dotenv": "^8.0.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", "https-proxy-agent": "^2.2.1", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", @@ -131,8 +132,8 @@ "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", "ts-mocha": "^6.0.0", - "ts-node": "^7.0.1", + "ts-node": "^8.3.0", "typescript": "^3.2.2", - "ws": "^6.2.1" + "ws": "^7.1.1" } } diff --git a/sdk/eventhub/event-hubs/review/event-hubs.api.md b/sdk/eventhub/event-hubs/review/event-hubs.api.md index 2df4c943a29e..18a159eb9505 100644 --- a/sdk/eventhub/event-hubs/review/event-hubs.api.md +++ b/sdk/eventhub/event-hubs/review/event-hubs.api.md @@ -6,6 +6,7 @@ import { AbortSignalLike } from '@azure/abort-controller'; import { AmqpError } from 'rhea-promise'; +import { AwaitableSender } from 'rhea-promise'; import { ConnectionContextBase } from '@azure/core-amqp'; import { DataTransformer } from '@azure/core-amqp'; import { DefaultDataTransformer } from '@azure/core-amqp'; @@ -15,7 +16,7 @@ import { EventHubConnectionConfig } from '@azure/core-amqp'; import { MessagingError } from '@azure/core-amqp'; import { Receiver } from 'rhea-promise'; import { ReceiverOptions } from 'rhea-promise'; -import { Sender } from 'rhea-promise'; +import { RetryOptions } from '@azure/core-amqp'; import { SharedKeyCredential } from '@azure/core-amqp'; import { TokenCredential } from '@azure/core-amqp'; import { TokenType } from '@azure/core-amqp'; @@ -28,6 +29,32 @@ export interface BatchOptions { partitionKey?: string; } +// @public +export interface Checkpoint { + consumerGroupName: string; + eTag: string; + eventHubName: string; + offset: number; + ownerId: string; + partitionId: string; + sequenceNumber: number; +} + +// @public +export class CheckpointManager { + // @internal + constructor(partitionContext: PartitionContext, partitionManager: PartitionManager, eventProcessorId: string); + updateCheckpoint(eventData: ReceivedEventData): Promise; + updateCheckpoint(sequenceNumber: number, offset: number): Promise; +} + +// @public +export enum CloseReason { + EventHubException = "EventHubException", + OwnershipLost = "OwnershipLost", + Shutdown = "Shutdown" +} + export { DataTransformer } export { DefaultDataTransformer } @@ -138,14 +165,39 @@ export class EventPosition { static earliest(): EventPosition; enqueuedTime?: Date | number; static fromEnqueuedTime(enqueuedTime: Date | number): EventPosition; - static fromOffset(offset: string, isInclusive?: boolean): EventPosition; + static fromOffset(offset: number, isInclusive?: boolean): EventPosition; static fromSequenceNumber(sequenceNumber: number, isInclusive?: boolean): EventPosition; isInclusive: boolean; static latest(): EventPosition; - offset?: string; + offset?: number | "@latest"; sequenceNumber?: number; } +// @public +export class EventProcessor { + constructor(consumerGroupName: string, eventHubClient: EventHubClient, partitionProcessorFactory: PartitionProcessorFactory, partitionManager: PartitionManager, options?: EventProcessorOptions); + readonly id: string; + start(): void; + stop(): Promise; +} + +// @public (undocumented) +export interface EventProcessorOptions { + // (undocumented) + initialEventPosition?: EventPosition; + // (undocumented) + maxBatchSize?: number; + // (undocumented) + maxWaitTimeInSeconds?: number; +} + +// @public +export class InMemoryPartitionManager implements PartitionManager { + claimOwnership(partitionOwnership: PartitionOwnership[]): Promise; + listOwnership(eventHubName: string, consumerGroupName: string): Promise; + updateCheckpoint(checkpoint: Checkpoint): Promise; +} + export { MessagingError } // @public @@ -154,11 +206,51 @@ export type OnError = (error: MessagingError | Error) => void; // @public export type OnMessage = (eventData: ReceivedEventData) => void; +// @public +export interface PartitionContext { + readonly consumerGroupName: string; + readonly eventHubName: string; + readonly partitionId: string; +} + +// @public +export interface PartitionManager { + claimOwnership(partitionOwnership: PartitionOwnership[]): Promise; + listOwnership(eventHubName: string, consumerGroupName: string): Promise; + updateCheckpoint(checkpoint: Checkpoint): Promise; +} + +// @public +export interface PartitionOwnership { + consumerGroupName: string; + eTag?: string; + eventHubName: string; + lastModifiedTimeInMS?: number; + offset?: number; + ownerId: string; + ownerLevel: number; + partitionId: string; + sequenceNumber?: number; +} + +// @public +export interface PartitionProcessor { + close?(reason: CloseReason): Promise; + initialize?(): Promise; + processError(error: Error): Promise; + processEvents(events: ReceivedEventData[]): Promise; +} + +// @public +export interface PartitionProcessorFactory { + (context: PartitionContext, checkpointManager: CheckpointManager): PartitionProcessor; +} + // @public export interface PartitionProperties { beginningSequenceNumber: number; eventHubPath: string; - lastEnqueuedOffset: string; + lastEnqueuedOffset: number; lastEnqueuedSequenceNumber: number; lastEnqueuedTimeUtc: Date; partitionId: string; @@ -168,7 +260,7 @@ export interface PartitionProperties { export interface ReceivedEventData { body: any; enqueuedTimeUtc: Date; - offset: string; + offset: number; partitionKey: string | null; properties?: { [key: string]: any; @@ -188,12 +280,7 @@ export class ReceiveHandler { stop(): Promise; } -// @public -export interface RetryOptions { - maxRetries?: number; - retryInterval?: number; - timeoutInMs?: number; -} +export { RetryOptions } // @public export interface SendOptions { diff --git a/sdk/eventhub/event-hubs/rollup.base.config.js b/sdk/eventhub/event-hubs/rollup.base.config.js index 833571a7f4f0..200497b2d803 100644 --- a/sdk/eventhub/event-hubs/rollup.base.config.js +++ b/sdk/eventhub/event-hubs/rollup.base.config.js @@ -130,19 +130,12 @@ export function browserConfig(test = false) { nodeResolve({ mainFields: ["module", "browser"], - preferBuiltins: false, - // Following packages are de-duped in order to get module resolution to work with npm + rollup - // This will be in place until we have a solution for issue - // https://github.com/Azure/azure-sdk-for-js/issues/3326 - dedupe: ["buffer", "events", "util", "process", "assert"] + preferBuiltins: false }), cjs({ - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 namedExports: { - "events/": ["EventEmitter"] + events: ["EventEmitter"] } }), diff --git a/sdk/eventhub/event-hubs/samples/eventProcessor.ts b/sdk/eventhub/event-hubs/samples/eventProcessor.ts new file mode 100644 index 000000000000..5b1ae4c4c328 --- /dev/null +++ b/sdk/eventhub/event-hubs/samples/eventProcessor.ts @@ -0,0 +1,91 @@ +import { + EventHubClient, + ReceivedEventData, + EventPosition, + delay, + EventProcessor, + PartitionContext, + InMemoryPartitionManager, + CheckpointManager +} from "@azure/event-hubs"; + +class SimplePartitionProcessor { + private _context: PartitionContext; + private _checkpointManager: CheckpointManager; + constructor(context: PartitionContext, checkpointManager: CheckpointManager) { + this._context = context; + this._checkpointManager = checkpointManager; + } + async processEvents(events: ReceivedEventData[]) { + if(events.length === 0){ + return; + } + for (const event of events) { + console.log( + "Received event: '%s' from partition: '%s' and consumer group: '%s'", + event.body, + this._context.partitionId, + this._context.consumerGroupName + ); + try { + // checkpoint using the last event in the batch + await this._checkpointManager.updateCheckpoint(events[events.length - 1]); + console.log( + "Successfully checkpointed event: '%s' from partition: '%s'", + events[events.length - 1].body, + this._context.partitionId + ); + } catch (err) { + console.log( + `Encountered an error while checkpointing on ${this._context.partitionId}: ${err.message}` + ); + } + } + } + + async processError(error: Error) { + console.log(`Encountered an error: ${error.message}`); + } + + async initialize() { + console.log(`Started processing`); + } + + async close() { + console.log(`Stopped processing`); + } +} + +// Define connection string and related Event Hubs entity name here +const connectionString = ""; +const eventHubName = ""; + +async function main() { + const client = new EventHubClient(connectionString, eventHubName); + + const eventProcessorFactory = (context: PartitionContext, checkpoint: CheckpointManager) => { + return new SimplePartitionProcessor(context, checkpoint); + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + eventProcessorFactory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.earliest(), + maxBatchSize: 10, + maxWaitTimeInSeconds: 20 + } + ); + await processor.start(); + // after 5 seconds, stop processing + await delay(5000); + + await processor.stop(); + await client.close(); +} + +main().catch((err) => { + console.log("Error occurred: ", err); +}); diff --git a/sdk/eventhub/event-hubs/samples/sendEvents.ts b/sdk/eventhub/event-hubs/samples/sendEvents.ts index 5934abc5686b..8356ab54b29d 100644 --- a/sdk/eventhub/event-hubs/samples/sendEvents.ts +++ b/sdk/eventhub/event-hubs/samples/sendEvents.ts @@ -42,7 +42,7 @@ async function main(): Promise { // ]; console.log("Sending single event..."); const scientist = listOfScientists[0]; - producer.send({ body: `${scientist.firstName} ${scientist.name}` }); + await producer.send({ body: `${scientist.firstName} ${scientist.name}` }); console.log("Sending multiple events..."); const events: EventData[] = []; @@ -52,18 +52,17 @@ async function main(): Promise { } await producer.send(events); - // Below variation of send will be available in the upcoming release - // console.log("Creating and sending a batch of events..."); - // const eventDatabatch = await producer.createBatch(); - // for (let index = 0; index < listOfScientists.length; index++) { - // const scientist = listOfScientists[index]; - // const isAdded = eventDatabatch.tryAdd({ body: `${scientist.firstName} ${scientist.name}` }); - // if (!isAdded) { - // console.log(`Unable to add event ${index} to the batch`); - // break; - // } - // } - // await producer.send(eventDatabatch); + console.log("Creating and sending a batch of events..."); + const eventDataBatch = await producer.createBatch(); + for (let index = 0; index < listOfScientists.length; index++) { + const scientist = listOfScientists[index]; + const isAdded = eventDataBatch.tryAdd({ body: `${scientist.firstName} ${scientist.name}` }); + if (!isAdded) { + console.log(`Unable to add event ${index} to the batch`); + break; + } + } + await producer.send(eventDataBatch); await producer.close(); } finally { diff --git a/sdk/eventhub/event-hubs/samples/usingAadAuth.ts b/sdk/eventhub/event-hubs/samples/usingAadAuth.ts index 3c05373b7e25..e560f9fbbbc9 100644 --- a/sdk/eventhub/event-hubs/samples/usingAadAuth.ts +++ b/sdk/eventhub/event-hubs/samples/usingAadAuth.ts @@ -9,19 +9,21 @@ Please ensure that your Azure Event Hubs resource is in US East, US East 2, or West Europe region. AAD Role Based Access Control is not supported in other regions yet. - Register a new application in AAD and assign the "owner" role to it + Register a new application in AAD and assign the "Azure Event Hubs Data Owner (Preview)" role to it - See https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app to register a new application in the Azure Active Directory. - Note down the CLIENT_ID and TENANT_ID from the above step. - In the "Certificates & Secrets" tab, create a secret and note that down. - In the Azure portal, go to your Even Hubs resource and click on the Access control (IAM) - tab. Here, assign "owner" role to the registered application. + tab. Here, assign the "Azure Event Hubs Data Owner (Preview)" role to the registered application. + - For more information on Event Hubs RBAC setup, learn more at + https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-role-based-access-control) Note: If you are using version 2.1.0 or lower of @azure/event-hubs library, then please use the samples at https://github.com/Azure/azure-sdk-for-js/tree/%40azure/event-hubs_2.1.0/sdk/eventhub/event-hubs/samples instead. */ import { EventHubClient } from "@azure/event-hubs"; -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; // Define Event Hubs Endpoint and related entity name here here const evenHubsEndpoint = ""; // .servicebus.windows.net @@ -30,7 +32,7 @@ const eventHubName = ""; // Define AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET of your AAD application in your environment async function main(): Promise { - const credential = new EnvironmentCredential(); + const credential = new DefaultAzureCredential(); const client = new EventHubClient(evenHubsEndpoint, eventHubName, credential); /* Refer to other samples, and place your code here @@ -39,6 +41,6 @@ async function main(): Promise { await client.close(); } -main().catch(err => { +main().catch((err) => { console.log("error: ", err); }); diff --git a/sdk/eventhub/event-hubs/src/checkpointManager.ts b/sdk/eventhub/event-hubs/src/checkpointManager.ts new file mode 100644 index 000000000000..fabfe6b39cb0 --- /dev/null +++ b/sdk/eventhub/event-hubs/src/checkpointManager.ts @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { PartitionContext } from "./partitionContext"; +import { ReceivedEventData } from "./eventData"; +import { PartitionManager } from "./eventProcessor"; + +/** + * A checkpoint represents the last successfully processed event by a `PartitionProcessor` for a particular partition of an Event Hub. + **/ +export interface Checkpoint { + /** + * @property The event hub name + */ + eventHubName: string; + /** + * @property The consumer group name + */ + consumerGroupName: string; + /** + * @property The unique identifier of the event processor. + */ + ownerId: string; + /** + * @property The identifier of the Event Hub partition + */ + partitionId: string; + /** + * @property The sequence number of the event. + */ + sequenceNumber: number; + /** + * @property The offset of the event. + */ + offset: number; + /** + * @property The unique identifier for the operation. + */ + eTag: string; +} + +/** + * The checkpoint manager is used to update checkpoints to track progress of events processed. Each + * instance of a `PartitionProcessor` will be provided with it's own instance of a `CheckpointManager`. + */ +export class CheckpointManager { + private _partitionContext: PartitionContext; + private _partitionManager: PartitionManager; + private _eventProcessorId: string; + private _eTag: string; + + /** + * @ignore + * @internal + * + * Creates a new checkpoint manager which is passed to a `PartitionProcessor` to update checkpoints. + * @param partitionContext The partition context providing necessary partition and event hub information for updating + * checkpoints. + * @param partitionManager The `PartitionManager` implementation that will be used to store the checkpoint information. + * @param eventProcessorId The event processor identifier that is responsible for updating checkpoints. + */ + constructor( + partitionContext: PartitionContext, + partitionManager: PartitionManager, + eventProcessorId: string + ) { + this._partitionContext = partitionContext; + this._partitionManager = partitionManager; + this._eventProcessorId = eventProcessorId; + this._eTag = ""; + } + /** + * Updates the checkpoint for this partition using the event data. This will serve as the last known successfully + * processed event in this partition if the update is successful. + * + * @param eventData The event data to use for updating the checkpoint. + * @return Promise + */ + public async updateCheckpoint(eventData: ReceivedEventData): Promise; + /** + * Updates a checkpoint using the given offset and sequence number. This will serve as the last known successfully + * processed event in this partition if the update is successful. + * + * @param sequenceNumber The sequence number to update the checkpoint. + * @param offset The offset to update the checkpoint. + * @return Promise. + */ + public async updateCheckpoint(sequenceNumber: number, offset: number): Promise; + + public async updateCheckpoint( + eventDataOrSequenceNumber: ReceivedEventData | number, + offset?: number + ): Promise { + const checkpoint: Checkpoint = { + eventHubName: this._partitionContext.eventHubName, + consumerGroupName: this._partitionContext.consumerGroupName, + ownerId: this._eventProcessorId, + partitionId: this._partitionContext.partitionId, + sequenceNumber: + typeof eventDataOrSequenceNumber === "number" + ? eventDataOrSequenceNumber + : eventDataOrSequenceNumber.sequenceNumber, + offset: + typeof eventDataOrSequenceNumber === "number" ? offset! : eventDataOrSequenceNumber.offset, + eTag: this._eTag + }; + + this._eTag = await this._partitionManager.updateCheckpoint(checkpoint); + } +} diff --git a/sdk/eventhub/event-hubs/src/eventData.ts b/sdk/eventhub/event-hubs/src/eventData.ts index 8d54b41a9408..13b0923b11bb 100644 --- a/sdk/eventhub/event-hubs/src/eventData.ts +++ b/sdk/eventhub/event-hubs/src/eventData.ts @@ -82,7 +82,7 @@ export interface EventDataInternal { /** * @property [offset] The offset of the event. */ - offset?: string; + offset?: number; /** * @property [sequenceNumber] The sequence number of the event. */ @@ -216,7 +216,7 @@ export interface ReceivedEventData { /** * @property The offset of the event. */ - offset: string; + offset: number; /** * @property The sequence number of the event. */ diff --git a/sdk/eventhub/event-hubs/src/eventHubClient.ts b/sdk/eventhub/event-hubs/src/eventHubClient.ts index 8eef02f7087b..7a5b441debb7 100644 --- a/sdk/eventhub/event-hubs/src/eventHubClient.ts +++ b/sdk/eventhub/event-hubs/src/eventHubClient.ts @@ -10,6 +10,7 @@ import { SharedKeyCredential, ConnectionConfig, isTokenCredential, + RetryOptions, Constants } from "@azure/core-amqp"; @@ -23,42 +24,13 @@ import { EventHubProducer } from "./sender"; import { EventHubConsumer } from "./receiver"; import { throwTypeErrorIfParameterMissing, throwErrorIfConnectionClosed } from "./util/error"; -/** - * Retry policy options for operations on the EventHubClient. - */ -export interface RetryOptions { - /** - * The maximum number of times an operation will be retried. - */ - maxRetries?: number; - /** - * Number of milliseconds to wait between attempts. - */ - retryInterval?: number; - /** - * Number of milliseconds to wait before declaring that current attempt has timed out which will trigger a retry - * A minimum value of 60 seconds will be used if a value not greater than this is provided. - */ - timeoutInMs?: number; - // /** - // * The maximum value the `retryInterval` gets incremented exponentially between retries. - // * Not applicable, when `isExponential` is set to `false`. - // */ - // maxRetryInterval?: number; - // /** - // * Boolean denoting if the `retryInterval` should be incremented exponentially between - // * retries or kept the same. - // */ - // isExponential?: boolean; -} - export function getRetryAttemptTimeoutInMs(retryOptions: RetryOptions | undefined): number { const timeoutInMs = retryOptions == undefined || typeof retryOptions.timeoutInMs !== "number" || !isFinite(retryOptions.timeoutInMs) || - retryOptions.timeoutInMs < Constants.defaultOperationTimeoutInSeconds * 1000 - ? Constants.defaultOperationTimeoutInSeconds * 1000 + retryOptions.timeoutInMs < Constants.defaultOperationTimeoutInMs + ? Constants.defaultOperationTimeoutInMs : retryOptions.timeoutInMs; return timeoutInMs; } diff --git a/sdk/eventhub/event-hubs/src/eventHubReceiver.ts b/sdk/eventhub/event-hubs/src/eventHubReceiver.ts index e4b3566eb3ce..2cf452f017a1 100644 --- a/sdk/eventhub/event-hubs/src/eventHubReceiver.ts +++ b/sdk/eventhub/event-hubs/src/eventHubReceiver.ts @@ -528,10 +528,12 @@ export class EventHubReceiver extends LinkEntity { const linkCreationConfig: RetryConfig = { connectionId: this._context.connectionId, connectionHost: this._context.config.host, - delayInSeconds: 15, operation: () => this.initialize(initOptions), operationType: RetryOperationType.receiverLink, - maxRetries: Constants.defaultMaxRetriesForConnection + retryOptions: { + maxRetries: Constants.defaultMaxRetriesForConnection, + retryDelayInMs: 15000 + } }; await retry(linkCreationConfig); diff --git a/sdk/eventhub/event-hubs/src/eventHubSender.ts b/sdk/eventhub/event-hubs/src/eventHubSender.ts index 5b24d7a54fa0..ccde32d6e311 100644 --- a/sdk/eventhub/event-hubs/src/eventHubSender.ts +++ b/sdk/eventhub/event-hubs/src/eventHubSender.ts @@ -4,39 +4,30 @@ import uuid from "uuid/v4"; import * as log from "./log"; import { - Sender, + AwaitableSender, EventContext, OnAmqpEvent, - SenderOptions as RheaSenderOptions, - SenderEvents, + AwaitableSenderOptions, message, AmqpError } from "rhea-promise"; import { defaultLock, - Func, retry, translate, AmqpMessage, ErrorNameConditionMapper, RetryConfig, RetryOperationType, + RetryOptions, Constants } from "@azure/core-amqp"; import { EventData, toAmqpMessage } from "./eventData"; import { ConnectionContext } from "./connectionContext"; import { LinkEntity } from "./linkEntity"; -import { SendOptions, EventHubProducerOptions } from "./eventHubClient"; +import { SendOptions, EventHubProducerOptions, getRetryAttemptTimeoutInMs } from "./eventHubClient"; import { AbortSignalLike, AbortError } from "@azure/abort-controller"; import { EventDataBatch } from "./eventDataBatch"; -import { getRetryAttemptTimeoutInMs, RetryOptions } from "./eventHubClient"; - -/** - * @ignore - */ -interface CreateSenderOptions { - newName?: boolean; -} /** * Describes the EventHubSender that will send event data to EventHub. @@ -79,7 +70,7 @@ export class EventHubSender extends LinkEntity { * @property [_sender] The AMQP sender link. * @private */ - private _sender?: Sender; + private _sender?: AwaitableSender; /** * Creates a new EventHubSender instance. @@ -278,18 +269,21 @@ export class EventHubSender extends LinkEntity { } if (shouldReopen) { await defaultLock.acquire(this.senderLock, () => { - const options: RheaSenderOptions = this._createSenderOptions({ - newName: true - }); + const options: AwaitableSenderOptions = this._createSenderOptions( + Constants.defaultOperationTimeoutInMs, + true + ); // shall retry forever at an interval of 15 seconds if the error is a retryable error // else bail out when the error is not retryable or the oepration succeeds. const config: RetryConfig = { operation: () => this._init(options), connectionId: this._context.connectionId, operationType: RetryOperationType.senderLink, - maxRetries: Constants.defaultMaxRetriesForConnection, connectionHost: this._context.config.host, - delayInSeconds: 15 + retryOptions: { + maxRetries: Constants.defaultMaxRetriesForConnection, + retryDelayInMs: 15000 + } }; return retry(config); }); @@ -347,12 +341,14 @@ export class EventHubSender extends LinkEntity { * @returns Promise * @throws {AbortError} Thrown if the operation is cancelled via the abortSignal. */ - async getMaxMessageSize(options?: { - retryOptions?: RetryOptions; - abortSignal?: AbortSignalLike; - }): Promise { - const abortSignal = options && options.abortSignal; - const retryOptions = options && options.retryOptions; + async getMaxMessageSize( + options: { + retryOptions?: RetryOptions; + abortSignal?: AbortSignalLike; + } = {} + ): Promise { + const abortSignal = options.abortSignal; + const retryOptions = options.retryOptions || {}; if (this.isOpen()) { return this._sender!.maxMessageSize; } @@ -385,24 +381,14 @@ export class EventHubSender extends LinkEntity { "possibly the connection.", this.senderLock ); + const senderOptions = this._createSenderOptions(Constants.defaultOperationTimeoutInMs); await defaultLock.acquire(this.senderLock, () => { - const maxRetries = - retryOptions && typeof retryOptions.maxRetries === "number" - ? retryOptions.maxRetries - : Constants.defaultMaxRetries; - const retryInterval = - retryOptions && - typeof retryOptions.retryInterval === "number" && - retryOptions.retryInterval > 0 - ? retryOptions.retryInterval / 1000 - : Constants.defaultDelayBetweenOperationRetriesInSeconds; - const config: RetryConfig = { - operation: () => this._init(), + operation: () => this._init(senderOptions), connectionId: this._context.connectionId, operationType: RetryOperationType.senderLink, - maxRetries: maxRetries, - delayInSeconds: retryInterval + abortSignal: abortSignal, + retryOptions: retryOptions }; return retry(config); @@ -524,9 +510,9 @@ export class EventHubSender extends LinkEntity { ); } - private _createSenderOptions(options: CreateSenderOptions): RheaSenderOptions { - if (options.newName) this.name = `${uuid()}`; - const srOptions: RheaSenderOptions = { + private _createSenderOptions(timeoutInMs: number, newName?: boolean): AwaitableSenderOptions { + if (newName) this.name = `${uuid()}`; + const srOptions: AwaitableSenderOptions = { name: this.name, target: { address: this.address @@ -534,7 +520,8 @@ export class EventHubSender extends LinkEntity { onError: this._onAmqpError, onClose: this._onAmqpClose, onSessionError: this._onSessionError, - onSessionClose: this._onSessionClose + onSessionClose: this._onSessionClose, + sendTimeoutInSeconds: timeoutInMs / 1000 }; log.sender("Creating sender with options: %O", srOptions); return srOptions; @@ -555,21 +542,13 @@ export class EventHubSender extends LinkEntity { options: SendOptions & EventHubProducerOptions = {} ): Promise { const abortSignal: AbortSignalLike | undefined = options.abortSignal; + const retryOptions = options.retryOptions || {}; const sendEventPromise = () => new Promise(async (resolve, reject) => { - let waitTimer: any; - - let onRejected: Func; - let onReleased: Func; - let onModified: Func; - let onAccepted: Func; - let onAborted: () => void; - const rejectOnAbort = () => { const desc: string = - `[${this._context.connectionId}] The send operation on the Sender "${ - this.name - }" with ` + `address "${this.address}" has been cancelled by the user.`; + `[${this._context.connectionId}] The send operation on the Sender "${this.name}" with ` + + `address "${this.address}" has been cancelled by the user.`; log.error(desc); return reject(new AbortError("The send operation has been cancelled by the user.")); }; @@ -579,79 +558,22 @@ export class EventHubSender extends LinkEntity { return rejectOnAbort(); } - onAborted = () => { - removeListeners(); - rejectOnAbort(); - }; - - onAccepted = (context: EventContext) => { - // Since we will be adding listener for accepted and rejected event every time - // we send a message, we need to remove listener for both the events. - // This will ensure duplicate listeners are not added for the same event. - removeListeners(); - log.sender( - "[%s] Sender '%s', got event accepted.", - this._context.connectionId, - this.name - ); - resolve(); - }; - - onRejected = (context: EventContext) => { - removeListeners(); - log.error("[%s] Sender '%s', got event rejected.", this._context.connectionId, this.name); - const err = translate(context!.delivery!.remote_state!.error); - log.error(err); - reject(err); - }; - - onReleased = (context: EventContext) => { - removeListeners(); - log.error("[%s] Sender '%s', got event released.", this._context.connectionId, this.name); - let err: Error; - if (context!.delivery!.remote_state!.error) { - err = translate(context!.delivery!.remote_state!.error); - } else { - err = new Error( - `[${this._context.connectionId}] Sender '${this.name}', ` + - `received a release disposition.Hence we are rejecting the promise.` - ); - } - log.error(err); - reject(err); - }; - - onModified = (context: EventContext) => { - removeListeners(); - log.error("[%s] Sender '%s', got event modified.", this._context.connectionId, this.name); - let err: Error; - if (context!.delivery!.remote_state!.error) { - err = translate(context!.delivery!.remote_state!.error); - } else { - err = new Error( - `[${this._context.connectionId}] Sender "${this.name}", ` + - `received a modified disposition.Hence we are rejecting the promise.` - ); - } - log.error(err); - reject(err); - }; - const removeListeners = (): void => { clearTimeout(waitTimer); - // When `removeListeners` is called on timeout, the sender might be closed and cleared - // So, check if it exists, before removing listeners from it. if (abortSignal) { abortSignal.removeEventListener("abort", onAborted); } - if (this._sender) { - this._sender.removeListener(SenderEvents.rejected, onRejected); - this._sender.removeListener(SenderEvents.accepted, onAccepted); - this._sender.removeListener(SenderEvents.released, onReleased); - this._sender.removeListener(SenderEvents.modified, onModified); - } }; + const onAborted = () => { + removeListeners(); + return rejectOnAbort(); + }; + + if (abortSignal) { + abortSignal.addEventListener("abort", onAborted); + } + const actionAfterTimeout = () => { removeListeners(); const desc: string = @@ -666,11 +588,7 @@ export class EventHubSender extends LinkEntity { return reject(translate(e)); }; - if (abortSignal) { - abortSignal.addEventListener("abort", onAborted); - } - - waitTimer = setTimeout( + const waitTimer = setTimeout( actionAfterTimeout, getRetryAttemptTimeoutInMs(options.retryOptions) ); @@ -683,14 +601,14 @@ export class EventHubSender extends LinkEntity { ); try { + const senderOptions = this._createSenderOptions( + getRetryAttemptTimeoutInMs(options.retryOptions) + ); await defaultLock.acquire(this.senderLock, () => { - return this._init(); + return this._init(senderOptions); }); } catch (err) { - if (abortSignal) { - abortSignal.removeEventListener("abort", onAborted); - } - clearTimeout(waitTimer); + removeListeners(); err = translate(err); log.error( "[%s] An error occurred while creating the sender %s", @@ -716,18 +634,26 @@ export class EventHubSender extends LinkEntity { this.name ); - this._sender!.on(SenderEvents.accepted, onAccepted); - this._sender!.on(SenderEvents.rejected, onRejected); - this._sender!.on(SenderEvents.modified, onModified); - this._sender!.on(SenderEvents.released, onReleased); - - const delivery = this._sender!.send(message, undefined, 0x80013700); - log.sender( - "[%s] Sender '%s', sent message with delivery id: %d", - this._context.connectionId, - this.name, - delivery.id - ); + try { + const delivery = await this._sender!.send(message, undefined, 0x80013700); + log.sender( + "[%s] Sender '%s', sent message with delivery id: %d", + this._context.connectionId, + this.name, + delivery.id + ); + return resolve(); + } catch (err) { + err = translate(err.innerError || err); + log.error( + "[%s] An error occurred while sending the message", + this._context.connectionId, + err + ); + return reject(err); + } finally { + removeListeners(); + } } else { // let us retry to send the message after some time. const msg = @@ -742,19 +668,12 @@ export class EventHubSender extends LinkEntity { } }); - const maxRetries = options.retryOptions && options.retryOptions.maxRetries; - const delayInSeconds = - options.retryOptions && - options.retryOptions.retryInterval && - options.retryOptions.retryInterval >= 0 - ? options.retryOptions.retryInterval / 1000 - : Constants.defaultDelayBetweenOperationRetriesInSeconds; const config: RetryConfig = { operation: sendEventPromise, connectionId: this._context.connectionId, operationType: RetryOperationType.sendMessage, - maxRetries: maxRetries, - delayInSeconds: delayInSeconds + abortSignal: abortSignal, + retryOptions: retryOptions }; return retry(config); } @@ -764,7 +683,7 @@ export class EventHubSender extends LinkEntity { * @ignore * @returns */ - private async _init(options?: RheaSenderOptions): Promise { + private async _init(options: AwaitableSenderOptions): Promise { try { // isOpen isConnecting Should establish // true false No @@ -782,10 +701,8 @@ export class EventHubSender extends LinkEntity { this.isConnecting = true; await this._negotiateClaim(); log.error("[%s] Trying to create sender '%s'...", this._context.connectionId, this.name); - if (!options) { - options = this._createSenderOptions({}); - } - this._sender = await this._context.connection.createSender(options); + + this._sender = await this._context.connection.createAwaitableSender(options); this.isConnecting = false; log.error( "[%s] Sender '%s' with address '%s' has established itself.", diff --git a/sdk/eventhub/event-hubs/src/eventPosition.ts b/sdk/eventhub/event-hubs/src/eventPosition.ts index a4fb30773fa0..d8acd1ed0f44 100644 --- a/sdk/eventhub/event-hubs/src/eventPosition.ts +++ b/sdk/eventhub/event-hubs/src/eventPosition.ts @@ -14,7 +14,7 @@ export interface EventPositionOptions { * @property The offset of the event at the position. It can be undefined * if the position is just created from a sequence number or an enqueued time. */ - offset?: string; + offset?: number | "@latest"; /** * @property Indicates if the current event at the specified offset is * included or not. It is only applicable if offset is set. Default value: false. @@ -40,12 +40,12 @@ export interface EventPositionOptions { */ export class EventPosition { /** - * @property The token that represents the beginning event in the stream of a partition: `"-1"`. + * @property The token that represents the beginning event in the stream of a partition: `-1`. * @static * @readonly * @ignore */ - private static readonly startOfStream: string = "-1"; + private static readonly startOfStream: number = -1; /** * @property The token that represents the last event in the stream of a partition: `"@latest"`. @@ -53,7 +53,7 @@ export class EventPosition { * @readonly * @ignore */ - private static readonly endOfStream: string = "@latest"; + private static readonly endOfStream = "@latest"; /** * @property The offset of the event identified by this position. * Expected to be undefined if the position is just created from a sequence number or an enqueued time. @@ -63,7 +63,7 @@ export class EventPosition { * The same offset may refer to a different event as events reach the age limit for * retention and are no longer visible within the partition. */ - offset?: string; + offset?: number | "@latest"; /** * @property Indicates if the specified offset is inclusive of the event which it identifies. * This information is only relevent if the event position was identified by an offset or sequence number. @@ -106,11 +106,11 @@ export class EventPosition { * Default: `false`. * @returns EventPosition */ - static fromOffset(offset: string, isInclusive?: boolean): EventPosition { + static fromOffset(offset: number, isInclusive?: boolean): EventPosition { if (offset == undefined) { throw new Error('Missing parameter "offset"'); } - return new EventPosition({ offset: String(offset), isInclusive: isInclusive }); + return new EventPosition({ offset: offset, isInclusive: isInclusive }); } /** @@ -165,7 +165,7 @@ export class EventPosition { */ static latest(): EventPosition { - return EventPosition.fromOffset(EventPosition.endOfStream); + return new EventPosition({ offset: EventPosition.endOfStream }); } } diff --git a/sdk/eventhub/event-hubs/src/eventProcessor.ts b/sdk/eventhub/event-hubs/src/eventProcessor.ts new file mode 100644 index 000000000000..8d9f3ee8da09 --- /dev/null +++ b/sdk/eventhub/event-hubs/src/eventProcessor.ts @@ -0,0 +1,376 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import uuid from "uuid/v4"; +import { EventHubClient } from "./eventHubClient"; +import { EventPosition } from "./eventPosition"; +import { PartitionContext } from "./partitionContext"; +import { CheckpointManager, Checkpoint } from "./checkpointManager"; +import { ReceivedEventData } from "./eventData"; +import { PumpManager } from "./pumpManager"; +import { AbortSignalLike, AbortController } from "@azure/abort-controller"; +import * as log from "./log"; +import { delay } from "@azure/core-amqp"; + +/** + * Reason for closing a PartitionProcessor. + */ +export enum CloseReason { + /** + * The PartitionProcessor was shutdown due to some internal or service exception. + */ + EventHubException = "EventHubException", + /** + * Ownership of the partition was lost or transitioned to a new processor instance. + */ + OwnershipLost = "OwnershipLost", + /** + * The EventProcessor was shutdown. + */ + Shutdown = "Shutdown" +} + +/** + * Implementations of this interface are responsible to process events, handle errors and update checkpoints + * + */ +export interface PartitionProcessor { + /** + * This method is called when the `EventProcessor` takes ownership of a new partition and before any + * events are received. + * + * @return {void} + */ + initialize?(): Promise; + /** + * This method is called before the partition processor is closed by the EventProcessor. + * + * @param closeReason The reason for closing this partition processor. + * @return {void} + */ + close?(reason: CloseReason): Promise; + /** + * This method is called when new events are received. + * + * This is also a good place to update checkpoints as appropriate. + * + * @param eventData The received events to be processed. + * @return {void} + */ + processEvents(events: ReceivedEventData[]): Promise; + /** + * This method is called when an error occurs while receiving events from Event Hub. + * + * @param error The error to be processed. + * @return {void} + */ + processError(error: Error): Promise; +} + +/** + * Partition ownership information. Used by `PartitionManager` to claim ownership. + */ +export interface PartitionOwnership { + /** + * @property The event hub name + */ + eventHubName: string; + /** + * @property The consumer group name + */ + consumerGroupName: string; + /** + * @property The unique identifier of the event processor. + */ + ownerId: string; + /** + * @property The identifier of the Event Hub partition + */ + partitionId: string; + /** + * @property + * The owner level + */ + ownerLevel: number; + /** + * @property The offset of the event. + */ + offset?: number; + /** + * @property The sequence number of the event. + */ + sequenceNumber?: number; + /** + * @property The last modified time. + */ + lastModifiedTimeInMS?: number; + /** + * @property The unique identifier for the operation. + */ + eTag?: string; +} + +/** + * A functional interface to create new instance(s) of `PartitionProcessor` when provided with a `PartitionContext` and `CheckpointManager`. + */ +export interface PartitionProcessorFactory { + /** + * Factory method to create a new instance of `PartitionProcessor` for a partition. + * + * @param partitionContext The partition context containing partition and Event Hub information. The new instance of + * `PartitionProcessor` created by this method will be responsible for processing events only for this + * partition. + * @param checkpointManager The checkpoint manager for updating checkpoints when events are processed by `PartitionProcessor`. + * + * @return A new instance of `PartitionProcessor` responsible for processing events. + */ + (context: PartitionContext, checkpointManager: CheckpointManager): PartitionProcessor; +} + +/** + * Partition manager stores and retrieves partition ownership information and checkpoint details for each partition in a given consumer group of an event hub instance. + */ +export interface PartitionManager { + /** + * Called to get the list of all existing partition ownership from the underlying data store. Could return empty + * results if there are is no existing ownership information. + * + * @param eventHubName The event hub name. + * @param consumerGroupName The consumer group name. + * @return A list of partition ownership details of all the partitions that have/had an owner. + */ + listOwnership(eventHubName: string, consumerGroupName: string): Promise; + /** + * Called to claim ownership of a list of partitions. This will return the list of partitions that were owned + * successfully. + * + * @param partitionOwnership The list of partition ownership this instance is claiming to own. + * @return A list of partitions this instance successfully claimed ownership. + */ + claimOwnership(partitionOwnership: PartitionOwnership[]): Promise; + /** + * Updates the checkpoint in the data store for a partition. + * + * @param checkpoint The checkpoint. + * @return The new eTag on successful update. + */ + updateCheckpoint(checkpoint: Checkpoint): Promise; +} + +// Options passed when creating EventProcessor, everything is optional +export interface EventProcessorOptions { + initialEventPosition?: EventPosition; + maxBatchSize?: number; + maxWaitTimeInSeconds?: number; +} + +/** + * Describes the Event Processor Host to process events from an EventHub. + * @class EventProcessorHost + */ +export class EventProcessor { + private _consumerGroupName: string; + private _eventHubClient: EventHubClient; + private _partitionProcessorFactory: PartitionProcessorFactory; + private _processorOptions: EventProcessorOptions; + private _pumpManager: PumpManager; + private _id: string = uuid(); + private _isRunning: boolean = false; + private _loopTask?: PromiseLike; + private _abortController?: AbortController; + private _partitionManager: PartitionManager; + + /** + * @param consumerGroupName The consumer group name used in this event processor to consumer events. + * @param eventHubAsyncClient The Event Hub client. + * @param partitionProcessorFactory The factory to create new partition processor(s). + * @param initialEventPosition Initial event position to start consuming events. + * @param partitionManager The partition manager. + * @param eventHubName The Event Hub name. + */ + constructor( + consumerGroupName: string, + eventHubClient: EventHubClient, + partitionProcessorFactory: PartitionProcessorFactory, + partitionManager: PartitionManager, + options?: EventProcessorOptions + ) { + if (!options) options = {}; + + this._consumerGroupName = consumerGroupName; + this._eventHubClient = eventHubClient; + this._partitionProcessorFactory = partitionProcessorFactory; + this._partitionManager = partitionManager; + this._processorOptions = options; + this._pumpManager = new PumpManager(this._id, options); + } + + private async _getInactivePartitions(): Promise { + try { + // get all partition ids on the event hub + const partitionIds = await this._eventHubClient.getPartitionIds(); + // get partitions this EventProcessor is actively processing + const activePartitionIds = this._pumpManager.receivingFromPartitions(); + + // get a list of partition ids that are not being processed by this EventProcessor + const inactivePartitionIds: string[] = partitionIds.filter( + (id) => activePartitionIds.indexOf(id) === -1 + ); + return inactivePartitionIds; + } catch (err) { + log.error(`[${this._id}] An error occured when retrieving partition ids: ${err}`); + throw err; + } + } + + /* + * A simple implementation of an event processor that: + * - Fetches all partition ids from Event Hub + * - Gets the current ownership information of all the partitions from PartitionManager + * - Claims ownership of any partition that doesn't have an owner yet. + * - Starts a new PartitionProcessor and receives events from each of the partitions this instance owns + */ + private async _runLoop(abortSignal: AbortSignalLike): Promise { + // periodically check if there is any partition not being processed and process it + const waitIntervalInMs = 30000; + while (!abortSignal.aborted) { + try { + // get a list of partition ids that are not being processed by this EventProcessor + const partitionsToAdd = await this._getInactivePartitions(); + // check if the loop has been cancelled + if (abortSignal.aborted) { + return; + } + + const tasks: PromiseLike[] = []; + // create partition pumps to process any partitions we should be processing + for (const partitionId of partitionsToAdd) { + const partitionContext: PartitionContext = { + consumerGroupName: this._consumerGroupName, + eventHubName: this._eventHubClient.eventHubName, + partitionId: partitionId + }; + + const partitionOwnership: PartitionOwnership = { + eventHubName: this._eventHubClient.eventHubName, + consumerGroupName: this._consumerGroupName, + ownerId: this._id, + partitionId: partitionId, + ownerLevel: 0 + }; + await this._partitionManager.claimOwnership([partitionOwnership]); + + const checkpointManager = new CheckpointManager( + partitionContext, + this._partitionManager, + this._id + ); + + log.eventProcessor( + `[${this._id}] [${partitionId}] Calling user-provided PartitionProcessorFactory.` + ); + const partitionProcessor = this._partitionProcessorFactory( + partitionContext, + checkpointManager + ); + + // eventually this will 1st check if the existing PartitionOwnership has a position + let eventPosition = + this._processorOptions.initialEventPosition || EventPosition.earliest(); + + const partitionOwnerships = await this._partitionManager.listOwnership( + this._eventHubClient.eventHubName, + this._consumerGroupName + ); + for (const ownership of partitionOwnerships) { + if (ownership.partitionId === partitionId && ownership.sequenceNumber) { + eventPosition = EventPosition.fromSequenceNumber(ownership.sequenceNumber); + break; + } + } + + tasks.push( + this._pumpManager.createPump( + this._eventHubClient, + partitionContext, + eventPosition, + partitionProcessor + ) + ); + } + + // wait for all the new pumps to be created + await Promise.all(tasks); + log.eventProcessor(`[${this._id}] PartitionPumps created within EventProcessor.`); + + // sleep + log.eventProcessor( + `[${this._id}] Pausing the EventProcessor loop for ${waitIntervalInMs} ms.` + ); + await delay(waitIntervalInMs, abortSignal); + } catch (err) { + log.error(`[${this._id}] An error occured within the EventProcessor loop: ${err}`); + } + } + + // loop has completed, remove all existing pumps + return this._pumpManager.removeAllPumps(CloseReason.Shutdown); + } + + /** + * The unique identifier for the EventProcessor. + * + * @return {string} + */ + get id(): string { + return this._id; + } + + /** + * Starts processing of events for all partitions of the Event Hub that this event processor can own, assigning a + * dedicated `PartitionProcessor` to each partition. If there are other Event Processors active for the same + * consumer group on the Event Hub, responsibility for partitions will be shared between them. + * + * Subsequent calls to start will be ignored if this event processor is already running. Calling `start()` after `stop()` + * is called will restart this event processor. + * + * @return {void} + */ + start(): void { + if (this._isRunning) { + log.eventProcessor(`[${this._id}] Attempted to start an already running EventProcessor.`); + return; + } + + this._isRunning = true; + this._abortController = new AbortController(); + log.eventProcessor(`[${this._id}] Starting an EventProcessor.`); + this._loopTask = this._runLoop(this._abortController.signal); + } + + /** + * Stops processing events for all partitions owned by this event processor. All `PartitionProcessor` will be + * shutdown and any open resources will be closed. + * + * Subsequent calls to stop will be ignored if the event processor is not running. + * + */ + async stop(): Promise { + log.eventProcessor(`[${this._id}] Stopping an EventProcessor.`); + if (this._abortController) { + // cancel the event processor loop + this._abortController.abort(); + } + + this._isRunning = false; + try { + // waits for the event processor loop to complete + // will complete immediately if _loopTask is undefined + await this._loopTask; + } catch (err) { + log.error(`[${this._id}] An error occured while stopping the EventProcessor: ${err}`); + } finally { + log.eventProcessor(`[${this._id}] EventProcessor stopped.`); + } + } +} diff --git a/sdk/eventhub/event-hubs/src/inMemoryPartitionManager.ts b/sdk/eventhub/event-hubs/src/inMemoryPartitionManager.ts new file mode 100644 index 000000000000..94418f731a4a --- /dev/null +++ b/sdk/eventhub/event-hubs/src/inMemoryPartitionManager.ts @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { PartitionManager, PartitionOwnership } from "./eventProcessor"; +import { Checkpoint } from "./checkpointManager"; +import { generate_uuid } from "rhea-promise"; + +/** + * A simple in-memory implementation of a `PartitionManager` + * @class + */ +export class InMemoryPartitionManager implements PartitionManager { + private _partitionOwnershipMap: Map = new Map(); + + /** + * Get the list of all existing partition ownership from the underlying data store. Could return empty + * results if there are is no existing ownership information. + * + * @param eventHubName The event hub name. + * @param consumerGroupName The consumer group name. + * @return Partition ownership details of all the partitions that have/had an owner.. + */ + async listOwnership( + eventHubName: string, + consumerGroupName: string + ): Promise { + return Array.from(this._partitionOwnershipMap.values()); + } + + /** + * Claim ownership of a list of partitions. This will return the list of partitions that were owned + * successfully. + * + * @param partitionOwnership The list of partition ownership this instance is claiming to own. + * @return A list partitions this instance successfully claimed ownership. + */ + async claimOwnership(partitionOwnership: PartitionOwnership[]): Promise { + for (const ownership of partitionOwnership) { + if (!this._partitionOwnershipMap.has(ownership.partitionId)) { + ownership.eTag = generate_uuid(); + this._partitionOwnershipMap.set(ownership.partitionId, ownership); + } + } + return partitionOwnership; + } + + /** + * Updates the checkpoint in the data store for a partition. + * + * @param checkpoint The checkpoint. + * @return The new eTag on successful update + */ + async updateCheckpoint(checkpoint: Checkpoint): Promise { + const partitionOwnership = this._partitionOwnershipMap.get(checkpoint.partitionId); + if (partitionOwnership) { + partitionOwnership.sequenceNumber = checkpoint.sequenceNumber; + partitionOwnership.offset = checkpoint.offset; + partitionOwnership.eTag = generate_uuid(); + return partitionOwnership.eTag; + } + return ""; + } +} diff --git a/sdk/eventhub/event-hubs/src/index.ts b/sdk/eventhub/event-hubs/src/index.ts index fed523ce7598..d095a28defcb 100644 --- a/sdk/eventhub/event-hubs/src/index.ts +++ b/sdk/eventhub/event-hubs/src/index.ts @@ -12,7 +12,6 @@ export { EventHubClientOptions, EventHubConsumerOptions, EventHubProducerOptions, - RetryOptions, SendOptions, BatchOptions } from "./eventHubClient"; @@ -21,10 +20,24 @@ export { PartitionProperties, EventHubProperties } from "./managementClient"; export { EventHubProducer } from "./sender"; export { EventHubConsumer, EventIteratorOptions } from "./receiver"; export { EventDataBatch } from "./eventDataBatch"; +export { CheckpointManager } from "./checkpointManager"; +export { + EventProcessor, + CloseReason, + EventProcessorOptions, + PartitionProcessor, + PartitionManager, + PartitionProcessorFactory, + PartitionOwnership +} from "./eventProcessor"; +export { PartitionContext } from "./partitionContext"; +export { InMemoryPartitionManager } from "./inMemoryPartitionManager"; +export { Checkpoint } from "./checkpointManager"; export { MessagingError, DataTransformer, DefaultDataTransformer, + RetryOptions, TokenType, TokenCredential, delay diff --git a/sdk/eventhub/event-hubs/src/linkEntity.ts b/sdk/eventhub/event-hubs/src/linkEntity.ts index f97ad8f6debf..bb57e10af977 100644 --- a/sdk/eventhub/event-hubs/src/linkEntity.ts +++ b/sdk/eventhub/event-hubs/src/linkEntity.ts @@ -10,7 +10,7 @@ import { TokenType } from "@azure/core-amqp"; import { ConnectionContext } from "./connectionContext"; -import { Sender, Receiver } from "rhea-promise"; +import { AwaitableSender, Receiver } from "rhea-promise"; import * as log from "./log"; /** @@ -97,10 +97,10 @@ export class LinkEntity { */ protected _tokenRenewalTimer?: NodeJS.Timer; /** - * @property _tokenTimeout Indicates token timeout + * @property _tokenTimeout Indicates token timeout in milliseconds * @protected */ - protected _tokenTimeout?: number; + protected _tokenTimeoutInMs?: number; /** * Creates a new LinkEntity instance. * @ignore @@ -147,7 +147,7 @@ export class LinkEntity { tokenObject = this._context.tokenCredential.getToken(this.audience); tokenType = TokenType.CbsTokenTypeSas; // renew sas token in every 45 minutess - this._tokenTimeout = (3600 - 900) * 1000; + this._tokenTimeoutInMs = (3600 - 900) * 1000; } else { const aadToken = await this._context.tokenCredential.getToken(Constants.aadEventHubsScope); if (!aadToken) { @@ -155,7 +155,7 @@ export class LinkEntity { } tokenObject = aadToken; tokenType = TokenType.CbsTokenTypeJwt; - this._tokenTimeout = tokenObject.expiresOnTimestamp - Date.now() - 2 * 60 * 1000; + this._tokenTimeoutInMs = tokenObject.expiresOnTimestamp - Date.now() - 2 * 60 * 1000; } log.link( @@ -195,7 +195,7 @@ export class LinkEntity { * @returns */ protected async _ensureTokenRenewal(): Promise { - if (!this._tokenTimeout) { + if (!this._tokenTimeoutInMs) { return; } this._tokenRenewalTimer = setTimeout(async () => { @@ -211,15 +211,15 @@ export class LinkEntity { err ); } - }, this._tokenTimeout); + }, this._tokenTimeoutInMs); log.link( - "[%s] %s '%s' with address %s, has next token renewal in %d seconds @(%s).", + "[%s] %s '%s' with address %s, has next token renewal in %d milliseconds @(%s).", this._context.connectionId, this._type, this.name, this.address, - this._tokenTimeout / 1000, - new Date(Date.now() + this._tokenTimeout).toString() + this._tokenTimeoutInMs, + new Date(Date.now() + this._tokenTimeoutInMs).toString() ); } @@ -230,7 +230,7 @@ export class LinkEntity { * @param [link] The Sender or Receiver link that needs to be closed and * removed. */ - protected async _closeLink(link?: Sender | Receiver): Promise { + protected async _closeLink(link?: AwaitableSender | Receiver): Promise { clearTimeout(this._tokenRenewalTimer as NodeJS.Timer); if (link) { try { diff --git a/sdk/eventhub/event-hubs/src/log.ts b/sdk/eventhub/event-hubs/src/log.ts index 3c0b0d91fc61..b4ae70c53b05 100644 --- a/sdk/eventhub/event-hubs/src/log.ts +++ b/sdk/eventhub/event-hubs/src/log.ts @@ -53,3 +53,18 @@ export const client = debugModule("azure:event-hubs:client"); * log statements for iothub client */ export const iotClient = debugModule("azure:event-hubs:iothubClient"); +/** + * @ignore + * log statements for partitionManager + */ +export const partitionPump = debugModule("azure:event-hubs:partitionPump"); +/** + * @ignore + * log statements for pumpManager + */ +export const pumpManager = debugModule("azure:event-hubs:pumpManager"); +/** + * @ignore + * log statements for eventProcessor + */ +export const eventProcessor = debugModule("azure:event-hubs:eventProcessor"); diff --git a/sdk/eventhub/event-hubs/src/managementClient.ts b/sdk/eventhub/event-hubs/src/managementClient.ts index 26e615be262b..f4b40f568dd0 100644 --- a/sdk/eventhub/event-hubs/src/managementClient.ts +++ b/sdk/eventhub/event-hubs/src/managementClient.ts @@ -7,7 +7,11 @@ import { defaultLock, translate, Constants, - SendRequestOptions + SendRequestOptions, + retry, + RetryConfig, + RetryOptions, + RetryOperationType } from "@azure/core-amqp"; import { Message, @@ -15,13 +19,14 @@ import { SenderEvents, ReceiverEvents, SenderOptions, - ReceiverOptions + ReceiverOptions, + generate_uuid } from "rhea-promise"; import { ConnectionContext } from "./connectionContext"; import { LinkEntity } from "./linkEntity"; import * as log from "./log"; -import { RetryOptions, getRetryAttemptTimeoutInMs } from "./eventHubClient"; -import { AbortSignalLike } from "@azure/abort-controller"; +import { getRetryAttemptTimeoutInMs } from "./eventHubClient"; +import { AbortSignalLike, AbortError } from "@azure/abort-controller"; /** * Describes the runtime information of an Event Hub. * @interface HubRuntimeInformation @@ -65,7 +70,7 @@ export interface PartitionProperties { /** * @property The offset of the last enqueued message in the partition's message log. */ - lastEnqueuedOffset: string; + lastEnqueuedOffset: number; /** * @property The time of the last enqueued message in the partition's message log in UTC. */ @@ -303,34 +308,119 @@ export class ManagementClient extends LinkEntity { */ private async _makeManagementRequest( request: Message, - options?: { retryOptions?: RetryOptions; abortSignal?: AbortSignalLike; requestName?: string } + options: { + retryOptions?: RetryOptions; + abortSignal?: AbortSignalLike; + requestName?: string; + } = {} ): Promise { + const retryOptions = options.retryOptions || {}; try { - log.mgmt( - "[%s] Acquiring lock to get the management req res link.", - this._context.connectionId - ); - await defaultLock.acquire(this.managementLock, () => { - return this._init(); - }); + const abortSignal: AbortSignalLike | undefined = options && options.abortSignal; - if (!options) { - options = {}; - } + const sendOperationPromise = () => + new Promise(async (resolve, reject) => { + let count = 0; + + const retryTimeoutInMs = getRetryAttemptTimeoutInMs(options.retryOptions); + let timeTakenByInit = 0; + + const rejectOnAbort = () => { + const requestName = options.requestName; + const desc: string = + `[${this._context.connectionId}] The request "${requestName}" ` + + `to has been cancelled by the user.`; + log.error(desc); + const error = new AbortError( + `The ${requestName ? requestName + " " : ""}operation has been cancelled by the user.` + ); + + reject(error); + }; + + if (abortSignal) { + if (abortSignal.aborted) { + return rejectOnAbort(); + } + } + + if (!this._isMgmtRequestResponseLinkOpen()) { + log.mgmt( + "[%s] Acquiring lock to get the management req res link.", + this._context.connectionId + ); + + const initOperationStartTime = Date.now(); + + const actionAfterTimeout = () => { + const desc: string = `The request with message_id "${request.message_id}" timed out. Please try again later.`; + const e: Error = { + name: "OperationTimeoutError", + message: desc + }; + + return reject(translate(e)); + }; + + const waitTimer = setTimeout(actionAfterTimeout, retryTimeoutInMs); + + try { + await defaultLock.acquire(this.managementLock, () => { + return this._init(); + }); + } catch (err) { + return reject(translate(err)); + } finally { + clearTimeout(waitTimer); + } + timeTakenByInit = Date.now() - initOperationStartTime; + } + + const remainingOperationTimeoutInMs = retryTimeoutInMs - timeTakenByInit; + + const sendRequestOptions: SendRequestOptions = { + abortSignal: options.abortSignal, + requestName: options.requestName, + timeoutInMs: remainingOperationTimeoutInMs + }; + + count++; + if (count !== 1) { + // Generate a new message_id every time after the first attempt + request.message_id = generate_uuid(); + } else if (!request.message_id) { + // Set the message_id in the first attempt only if it is not set + request.message_id = generate_uuid(); + } + + try { + const result = await this._mgmtReqResLink!.sendRequest(request, sendRequestOptions); + resolve(result); + } catch (err) { + err = translate(err); + const address = + this._mgmtReqResLink || this._mgmtReqResLink!.sender.address + ? "address" + : this._mgmtReqResLink!.sender.address; + log.error( + "[%s] An error occurred during send on management request-response link with address " + + "'%s': %O", + this._context.connectionId, + address, + err + ); + reject(err); + } + }); - const sendRequestOptions: SendRequestOptions = { - maxRetries: options.retryOptions && options.retryOptions.maxRetries, - abortSignal: options.abortSignal, - requestName: options.requestName, - timeoutInSeconds: getRetryAttemptTimeoutInMs(options.retryOptions) / 1000, - delayInSeconds: - options.retryOptions && - options.retryOptions.retryInterval && - options.retryOptions.retryInterval >= 0 - ? options.retryOptions.retryInterval / 1000 - : undefined + const config: RetryConfig = { + operation: sendOperationPromise, + connectionId: this._context.connectionId, + operationType: RetryOperationType.management, + abortSignal: abortSignal, + retryOptions: retryOptions }; - return (await this._mgmtReqResLink!.sendRequest(request, sendRequestOptions)).body; + return (await retry(config)).body; } catch (err) { err = translate(err); log.error("An error occurred while making the request to $management endpoint: %O", err); diff --git a/sdk/eventhub/event-hubs/src/partitionContext.ts b/sdk/eventhub/event-hubs/src/partitionContext.ts new file mode 100644 index 000000000000..ac0c67a8d124 --- /dev/null +++ b/sdk/eventhub/event-hubs/src/partitionContext.ts @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +/** + * PartitionContext is passed into an EventProrcessor's initialization handler and contains information + * about the partition, the EventProcessor will be processing events from. + */ +export interface PartitionContext { + /** + * @property The identifier of the Event Hub partition + * @readonly + */ + readonly partitionId: string; + /** + * @property The event hub name + * @readonly + */ + readonly eventHubName: string; + /** + * @property The consumer group name + * @readonly + */ + readonly consumerGroupName: string; +} diff --git a/sdk/eventhub/event-hubs/src/partitionPump.ts b/sdk/eventhub/event-hubs/src/partitionPump.ts new file mode 100644 index 000000000000..9ffbebb84d33 --- /dev/null +++ b/sdk/eventhub/event-hubs/src/partitionPump.ts @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import * as log from "./log"; +import { EventProcessorOptions, PartitionProcessor, CloseReason } from "./eventProcessor"; +import { PartitionContext } from "./partitionContext"; +import { EventHubClient } from "./eventHubClient"; +import { EventPosition } from "./eventPosition"; +import { EventHubConsumer } from "./receiver"; +import { AbortController } from "@azure/abort-controller"; +import { MessagingError } from "@azure/core-amqp"; + +export class PartitionPump { + private _partitionContext: PartitionContext; + private _eventHubClient: EventHubClient; + private _partitionProcessor: PartitionProcessor; + private _processorOptions: EventProcessorOptions; + private _receiver: EventHubConsumer | undefined; + private _isReceiving: boolean = false; + private _abortController: AbortController; + + constructor( + eventHubClient: EventHubClient, + partitionContext: PartitionContext, + partitionProcessor: PartitionProcessor, + options?: EventProcessorOptions + ) { + if (!options) options = {}; + this._eventHubClient = eventHubClient; + this._partitionContext = partitionContext; + this._partitionProcessor = partitionProcessor; + this._processorOptions = options; + this._abortController = new AbortController(); + } + + public get isReceiving(): boolean { + return this._isReceiving; + } + + async start(): Promise { + this._isReceiving = true; + if (typeof this._partitionProcessor.initialize === "function") { + try { + await this._partitionProcessor.initialize(); + } catch { + // swallow the error from the user-defined code + } + } + this._receiveEvents(this._partitionContext.partitionId); + log.partitionPump("Successfully started the receiver."); + } + + private async _receiveEvents(partitionId: string): Promise { + this._receiver = this._eventHubClient.createConsumer( + this._partitionContext.consumerGroupName, + partitionId, + this._processorOptions.initialEventPosition || EventPosition.earliest() + ); + + while (this._isReceiving) { + try { + const receivedEvents = await this._receiver.receiveBatch( + this._processorOptions.maxBatchSize || 1, + this._processorOptions.maxWaitTimeInSeconds, + this._abortController.signal + ); + // avoid calling user's processEvents handler if the pump was stopped while receiving events + if (!this._isReceiving) { + return; + } + await this._partitionProcessor.processEvents(receivedEvents); + } catch (err) { + // check if this pump is still receiving + // it may not be if the EventProcessor was stopped during processEvents + if (!this._isReceiving) { + // no longer receiving, so close was called from somewhere else + return; + } + + // forward error to user's processError and swallow errors they may throw + try { + await this._partitionProcessor.processError(err); + } catch (err) { + log.error("An error was thrown by user's processError method: ", err); + } + + // close the partition processor if a non-retryable error was encountered + if (typeof err !== "object" || !(err as MessagingError).retryable) { + try { + // this will close the pump and will break us out of the while loop + return await this.stop(CloseReason.EventHubException); + } catch (err) { + log.error( + `An error occurred while closing the receiver with reason ${CloseReason.EventHubException}: `, + err + ); + } + } + } + } + } + + async stop(reason: CloseReason): Promise { + this._isReceiving = false; + try { + if (this._receiver) { + await this._receiver.close(); + } + this._abortController.abort(); + if (typeof this._partitionProcessor.close === "function") { + await this._partitionProcessor.close(reason); + } + } catch (err) { + log.error("An error occurred while closing the receiver.", err); + throw err; + } + } +} diff --git a/sdk/eventhub/event-hubs/src/pumpManager.ts b/sdk/eventhub/event-hubs/src/pumpManager.ts new file mode 100644 index 000000000000..cdcc9a7ebe10 --- /dev/null +++ b/sdk/eventhub/event-hubs/src/pumpManager.ts @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import { EventHubClient } from "./eventHubClient"; +import { PartitionContext } from "./partitionContext"; +import { EventPosition } from "./eventPosition"; +import { PartitionProcessor, EventProcessorOptions, CloseReason } from "./eventProcessor"; +import { PartitionPump } from "./partitionPump"; +import * as log from "./log"; + +/** + * The PumpManager handles the creation and removal of PartitionPumps. + * It also starts a PartitionPump when it is created, and stops a + * PartitionPump when it is removed. + * @ignore + */ +export class PumpManager { + private readonly _eventProcessorName: string; + private readonly _options: EventProcessorOptions; + private _partitionIdToPumps: { + [partitionId: string]: PartitionPump | undefined; + } = {}; + + /** + * @ignore + */ + constructor(eventProcessorName: string, eventProcessorOptions: EventProcessorOptions = {}) { + this._eventProcessorName = eventProcessorName; + this._options = eventProcessorOptions; + } + + /** + * Returns a list of partitionIds that are actively receiving messages. + * @ignore + */ + public receivingFromPartitions(): string[] { + return Object.keys(this._partitionIdToPumps).filter((id) => { + const pump = this._partitionIdToPumps[id]; + return Boolean(pump && pump.isReceiving); + }); + } + + /** + * Creates and starts a PartitionPump. + * @param eventHubClient The EventHubClient to forward to the PartitionPump. + * @param partitionContext The PartitionContext to forward to the PartitionPump. + * @param initialEventPosition The EventPosition to forward to the PartitionPump. + * @param partitionProcessor The PartitionProcessor to forward to the PartitionPump. + * @param abortSignal Used to cancel pump creation. + * @ignore + */ + public async createPump( + eventHubClient: EventHubClient, + partitionContext: PartitionContext, + initialEventPosition: EventPosition, + partitionProcessor: PartitionProcessor + ): Promise { + const partitionId = partitionContext.partitionId; + // attempt to get an existing pump + const existingPump = this._partitionIdToPumps[partitionId]; + if (existingPump) { + if (existingPump.isReceiving) { + log.pumpManager( + `[${this._eventProcessorName}] [${partitionId}] The existing pump is running.` + ); + return; + } + log.pumpManager( + `[${this._eventProcessorName}] [${partitionId}] The existing pump is not running.` + ); + await this.removePump(partitionId, CloseReason.EventHubException); + } + + log.pumpManager(`[${this._eventProcessorName}] [${partitionId}] Creating a new pump.`); + + const pump = new PartitionPump(eventHubClient, partitionContext, partitionProcessor, { + ...this._options, + initialEventPosition + }); + + try { + await pump.start(); + this._partitionIdToPumps[partitionId] = pump; + } catch (err) { + log.error( + `[${this._eventProcessorName}] [${partitionId}] An error occured while adding/updating a pump: ${err}` + ); + } + } + + /** + * Stop a PartitionPump and removes it from the internal map. + * @param partitionId The partitionId to remove the associated PartitionPump from. + * @param reason The reason for removing the pump. + * @ignore + */ + public async removePump(partitionId: string, reason: CloseReason): Promise { + try { + const pump = this._partitionIdToPumps[partitionId]; + if (pump) { + delete this._partitionIdToPumps[partitionId]; + log.pumpManager(`[${this._eventProcessorName}] [${partitionId}] Stopping the pump.`); + await pump.stop(reason); + } else { + log.pumpManager( + `[${this._eventProcessorName}] [${partitionId}] No pump was found to remove.` + ); + } + } catch (err) { + log.error( + `[${this._eventProcessorName}] [${partitionId}] An error occured while removing a pump: ${err}` + ); + } + } + + /** + * Stops all PartitionPumps and removes them from the internal map. + * @param reason The reason for removing the pump. + * @ignore + */ + public async removeAllPumps(reason: CloseReason): Promise { + const partitionIds = Object.keys(this._partitionIdToPumps); + + log.pumpManager(`[${this._eventProcessorName}] Removing all pumps due to reason ${reason}.`); + + const tasks: PromiseLike[] = []; + for (const partitionId of partitionIds) { + const pump = this._partitionIdToPumps[partitionId]; + if (pump) { + tasks.push(pump.stop(reason)); + } + } + + try { + await Promise.all(tasks); + } catch (err) { + log.error(`[${this._eventProcessorName}] An error occured while removing all pumps: ${err}`); + } finally { + this._partitionIdToPumps = {}; + } + } +} diff --git a/sdk/eventhub/event-hubs/src/receiver.ts b/sdk/eventhub/event-hubs/src/receiver.ts index 89ee9e6bbadb..9a2f27e59ab0 100644 --- a/sdk/eventhub/event-hubs/src/receiver.ts +++ b/sdk/eventhub/event-hubs/src/receiver.ts @@ -3,7 +3,7 @@ import * as log from "./log"; import { ConnectionContext } from "./connectionContext"; -import { EventHubConsumerOptions, RetryOptions } from "./eventHubClient"; +import { EventHubConsumerOptions } from "./eventHubClient"; import { OnMessage, OnError, EventHubReceiver } from "./eventHubReceiver"; import { ReceivedEventData } from "./eventData"; import { @@ -11,7 +11,8 @@ import { Constants, RetryOperationType, retry, - MessagingError + MessagingError, + RetryOptions } from "@azure/core-amqp"; import { ReceiveHandler } from "./receiveHandler"; import { AbortSignalLike, AbortError } from "@azure/abort-controller"; @@ -73,7 +74,7 @@ export class EventHubConsumer { /** * @property The set of retry options to configure the receiveBatch operation. */ - private _retryOptions: Required>; + private _retryOptions: RetryOptions; /** * @property Returns `true` if the consumer is closed. This can happen either because the consumer @@ -112,7 +113,7 @@ export class EventHubConsumer { * @readonly */ get ownerLevel(): number | undefined { - return this._receiverOptions && this._receiverOptions.ownerLevel; + return this._receiverOptions.ownerLevel; } /** @@ -139,7 +140,7 @@ export class EventHubConsumer { this._consumerGroup = consumerGroup; this._partitionId = partitionId; this._receiverOptions = options || {}; - this._retryOptions = this._initRetryOptions(this._receiverOptions.retryOptions); + this._retryOptions = this._receiverOptions.retryOptions || {}; this._baseConsumer = new EventHubReceiver( context, consumerGroup, @@ -234,7 +235,7 @@ export class EventHubConsumer { options: EventIteratorOptions = {} ): AsyncIterableIterator { const maxMessageCount = 1; - const maxWaitTimeInSeconds = Constants.defaultOperationTimeoutInSeconds; + const maxWaitTimeInSeconds = Constants.defaultOperationTimeoutInMs / 1000; while (true) { const currentBatch = await this.receiveBatch( @@ -370,7 +371,7 @@ export class EventHubConsumer { ); const addTimeout = (): void => { - let msg = "[%s] Setting the wait timer for %d seconds for receiver '%s'."; + const msg = "[%s] Setting the wait timer for %d seconds for receiver '%s'."; log.batching( msg, this._context.connectionId, @@ -404,10 +405,10 @@ export class EventHubConsumer { const config: RetryConfig = { connectionHost: this._context.config.host, connectionId: this._context.connectionId, - delayInSeconds: retryOptions.retryInterval, operation: retrieveEvents, operationType: RetryOperationType.receiveMessage, - maxRetries: retryOptions.maxRetries + abortSignal: abortSignal, + retryOptions: retryOptions }; return retry(config); } @@ -436,24 +437,6 @@ export class EventHubConsumer { } } - private _initRetryOptions( - retryOptions: RetryOptions = {} - ): Required> { - const maxRetries = - typeof retryOptions.maxRetries === "number" - ? retryOptions.maxRetries - : Constants.defaultMaxRetries; - const retryInterval = - typeof retryOptions.retryInterval === "number" && retryOptions.retryInterval > 0 - ? retryOptions.retryInterval / 1000 - : Constants.defaultDelayBetweenOperationRetriesInSeconds; - - return { - maxRetries, - retryInterval - }; - } - private _throwIfAlreadyReceiving(): void { if (this.isReceivingMessages) { const errorMessage = `The EventHubConsumer for "${this._context.config.entityPath}" is already receiving messages.`; diff --git a/sdk/eventhub/event-hubs/src/util/constants.ts b/sdk/eventhub/event-hubs/src/util/constants.ts index a612d42360b1..80085f513d5c 100644 --- a/sdk/eventhub/event-hubs/src/util/constants.ts +++ b/sdk/eventhub/event-hubs/src/util/constants.ts @@ -6,5 +6,5 @@ */ export const packageJsonInfo = { name: "@azure/event-hubs", - version: "5.0.0-preview.2" + version: "5.0.0-preview.3" }; diff --git a/sdk/eventhub/event-hubs/test/client.spec.ts b/sdk/eventhub/event-hubs/test/client.spec.ts index 6c6f0c47e2c0..6bb692350019 100644 --- a/sdk/eventhub/event-hubs/test/client.spec.ts +++ b/sdk/eventhub/event-hubs/test/client.spec.ts @@ -82,12 +82,15 @@ describe("Create EventHubClient #RunnableInBrowser", function(): void { "define AZURE_CLIENT_SECRET in your environment before running integration tests." ); should.exist( - env[EnvVarKeys.ENDPOINT], - "define ENDPOINT in your environment before running integration tests." + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." ); + // This is of the form .servicebus.windows.net + const endpoint = (env.EVENTHUB_CONNECTION_STRING.match("Endpoint=sb://(.*)/;") || "")[1]; + const credential = new EnvironmentCredential(); - const client = new EventHubClient(env.ENDPOINT, env.EVENTHUB_NAME, credential); + const client = new EventHubClient(endpoint, env.EVENTHUB_NAME, credential); // Extra check involving actual call to the service to ensure this works const hubInfo = await client.getProperties(); diff --git a/sdk/eventhub/event-hubs/test/eventPosition.spec.ts b/sdk/eventhub/event-hubs/test/eventPosition.spec.ts index 1ef793289ce6..36b6ae1408fd 100644 --- a/sdk/eventhub/event-hubs/test/eventPosition.spec.ts +++ b/sdk/eventhub/event-hubs/test/eventPosition.spec.ts @@ -11,14 +11,14 @@ describe("EventPosition #RunnableInBrowser", function(): void { describe("happy", function(): void { it("should create from an offset with inclusive false", function(done: Mocha.Done): void { const result = "amqp.annotation.x-opt-offset > '1234'"; - const pos = EventPosition.fromOffset("1234"); + const pos = EventPosition.fromOffset(1234); result.should.equal(getEventPositionFilter(pos)); done(); }); it("should create from an offset with inclusive true", function(done: Mocha.Done): void { const result = "amqp.annotation.x-opt-offset >= '1234'"; - const pos = EventPosition.fromOffset("1234", true); + const pos = EventPosition.fromOffset(1234, true); result.should.equal(getEventPositionFilter(pos)); done(); }); @@ -74,16 +74,4 @@ describe("EventPosition #RunnableInBrowser", function(): void { done(); }); }); - describe("sad", function(): void { - it("should fail if empty string is provided for offset", function(done: Mocha.Done): void { - try { - EventPosition.fromOffset(""); - } catch (err) { - err.message.should.match( - /'offset' is a required parameter and must be a non-empty string.*/gi - ); - } - done(); - }); - }); }); diff --git a/sdk/eventhub/event-hubs/test/eventProcessor.spec.ts b/sdk/eventhub/event-hubs/test/eventProcessor.spec.ts new file mode 100644 index 000000000000..d53b52e9fb44 --- /dev/null +++ b/sdk/eventhub/event-hubs/test/eventProcessor.spec.ts @@ -0,0 +1,619 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import chai from "chai"; +const should = chai.should(); +import chaiAsPromised from "chai-as-promised"; +chai.use(chaiAsPromised); +import debugModule from "debug"; +const debug = debugModule("azure:event-hubs:partitionPump"); +import { + EventPosition, + EventHubClient, + EventData, + EventProcessor, + PartitionContext, + delay, + InMemoryPartitionManager, + PartitionOwnership, + Checkpoint, + PartitionProcessorFactory, + CloseReason, + ReceivedEventData +} from "../src"; +import { EnvVarKeys, getEnvVars } from "./utils/testUtils"; +import { generate_uuid } from "rhea-promise"; +const env = getEnvVars(); + +describe("Event Processor", function(): void { + const service = { + connectionString: env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + path: env[EnvVarKeys.EVENTHUB_NAME] + }; + const client: EventHubClient = new EventHubClient(service.connectionString, service.path); + before("validate environment", async function(): Promise { + should.exist( + env[EnvVarKeys.EVENTHUB_CONNECTION_STRING], + "define EVENTHUB_CONNECTION_STRING in your environment before running integration tests." + ); + should.exist( + env[EnvVarKeys.EVENTHUB_NAME], + "define EVENTHUB_NAME in your environment before running integration tests." + ); + }); + + after("close the connection", async function(): Promise { + await client.close(); + }); + + it("should expose an id", async function(): Promise { + const factory: PartitionProcessorFactory = (context) => { + return { + async processEvents() {}, + async processError() {} + }; + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()) + } + ); + + const id = processor.id; + id.length.should.be.gt(1); + }); + + it("should treat consecutive start invocations as idempotent", async function(): Promise { + const partitionIds = await client.getPartitionIds(); + + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); + + const partitionResultsMap = new Map< + string, + { events: string[]; initialized: boolean; closeReason?: CloseReason } + >(); + partitionIds.forEach((id) => partitionResultsMap.set(id, { events: [], initialized: false })); + let didError = false; + + // The partitionProcess will need to add events to the partitionResultsMap as they are received + const factory: PartitionProcessorFactory = (context) => { + return { + async initialize() { + partitionResultsMap.get(context.partitionId)!.initialized = true; + }, + async close(reason) { + partitionResultsMap.get(context.partitionId)!.closeReason = reason; + }, + async processEvents(events) { + const existingEvents = partitionResultsMap.get(context.partitionId)!.events; + events.forEach((event) => existingEvents.push(event.body)); + }, + async processError() { + didError = true; + } + }; + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()) + } + ); + + processor.start(); + processor.start(); + processor.start(); + + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + const producer = client.createProducer({ partitionId }); + await producer.send({ body: expectedMessagePrefix + partitionId }); + await producer.close(); + } + + // shutdown the processor + await processor.stop(); + + didError.should.be.false; + // validate correct events captured for each partition + for (const partitionId of partitionIds) { + const results = partitionResultsMap.get(partitionId)!; + const events = results.events; + events.length.should.equal(1); + events[0].should.equal(expectedMessagePrefix + partitionId); + results.initialized.should.be.true; + (results.closeReason === CloseReason.Shutdown).should.be.true; + } + }); + + it("should not throw if stop is called without start", async function(): Promise { + let didPartitionProcessorStart = false; + + // The partitionProcess will need to add events to the partitionResultsMap as they are received + const factory: PartitionProcessorFactory = (context) => { + return { + async initialize() { + didPartitionProcessorStart = true; + }, + async close() { + didPartitionProcessorStart = true; + }, + async processEvents(events) { + didPartitionProcessorStart = true; + }, + async processError() { + didPartitionProcessorStart = true; + } + }; + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()) + } + ); + + // shutdown the processor + await processor.stop(); + + didPartitionProcessorStart.should.be.false; + }); + + it("should support start after stopping", async function(): Promise { + const partitionIds = await client.getPartitionIds(); + + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); + + const partitionResultsMap = new Map< + string, + { events: string[]; initialized: boolean; closeReason?: CloseReason } + >(); + partitionIds.forEach((id) => partitionResultsMap.set(id, { events: [], initialized: false })); + let didError = false; + + // The partitionProcess will need to add events to the partitionResultsMap as they are received + const factory: PartitionProcessorFactory = (context) => { + return { + async initialize() { + partitionResultsMap.get(context.partitionId)!.initialized = true; + }, + async close(reason) { + partitionResultsMap.get(context.partitionId)!.closeReason = reason; + }, + async processEvents(events) { + const existingEvents = partitionResultsMap.get(context.partitionId)!.events; + events.forEach((event) => existingEvents.push(event.body)); + }, + async processError() { + didError = true; + } + }; + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()) + } + ); + + processor.start(); + + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + const producer = client.createProducer({ partitionId }); + await producer.send({ body: expectedMessagePrefix + partitionId }); + await producer.close(); + } + + // set a delay to give a consumers a chance to receive a message + await delay(3000); + + // shutdown the processor + await processor.stop(); + + didError.should.be.false; + // validate correct events captured for each partition + for (const partitionId of partitionIds) { + const results = partitionResultsMap.get(partitionId)!; + const events = results.events; + events.length.should.equal(1); + events[0].should.equal(expectedMessagePrefix + partitionId); + results.initialized.should.be.true; + (results.closeReason === CloseReason.Shutdown).should.be.true; + // reset fields + results.initialized = false; + results.closeReason = undefined; + results.events = []; + } + + // start it again + // note: since checkpointing isn't implemented yet, + // EventProcessor will retrieve events from the initialEventPosition. + processor.start(); + + // set a delay to give a consumers a chance to receive a message + await delay(3000); + + await processor.stop(); + + didError.should.be.false; + // validate that partitionProcessor methods were called + // do not check events until checkpointing is implemented + for (const partitionId of partitionIds) { + const results = partitionResultsMap.get(partitionId)!; + results.initialized.should.be.true; + (results.closeReason === CloseReason.Shutdown).should.be.true; + } + }); + + describe("Partition processor", function(): void { + it("should support processing events across multiple partitions", async function(): Promise< + void + > { + const partitionIds = await client.getPartitionIds(); + + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); + + const partitionResultsMap = new Map< + string, + { events: string[]; initialized: boolean; closeReason?: CloseReason } + >(); + partitionIds.forEach((id) => partitionResultsMap.set(id, { events: [], initialized: false })); + let didError = false; + + // The partitionProcess will need to add events to the partitionResultsMap as they are received + const factory: PartitionProcessorFactory = (context) => { + return { + async initialize() { + partitionResultsMap.get(context.partitionId)!.initialized = true; + }, + async close(reason) { + partitionResultsMap.get(context.partitionId)!.closeReason = reason; + }, + async processEvents(events) { + const existingEvents = partitionResultsMap.get(context.partitionId)!.events; + events.forEach((event) => existingEvents.push(event.body)); + }, + async processError() { + didError = true; + } + }; + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()) + } + ); + + processor.start(); + + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + const producer = client.createProducer({ partitionId }); + await producer.send({ body: expectedMessagePrefix + partitionId }); + await producer.close(); + } + + // set a delay to give a consumers a chance to receive a message + await delay(1000); + + // shutdown the processor + await processor.stop(); + + didError.should.be.false; + // validate correct events captured for each partition + for (const partitionId of partitionIds) { + const results = partitionResultsMap.get(partitionId)!; + const events = results.events; + events.length.should.equal(1); + events[0].should.equal(expectedMessagePrefix + partitionId); + results.initialized.should.be.true; + (results.closeReason === CloseReason.Shutdown).should.be.true; + } + }); + + it("should support processing events across multiple partitions without initialize or close", async function(): Promise< + void + > { + const partitionIds = await client.getPartitionIds(); + + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); + + const partitionResultsMap = new Map(); + partitionIds.forEach((id) => partitionResultsMap.set(id, [])); + let didError = false; + + // The partitionProcess will need to add events to the partitionResultsMap as they are received + const factory: PartitionProcessorFactory = (context) => { + return { + async processEvents(events) { + const existingEvents = partitionResultsMap.get(context.partitionId)!; + events.forEach((event) => existingEvents.push(event.body)); + }, + async processError() { + didError = true; + } + }; + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()) + } + ); + + processor.start(); + + // create messages + const expectedMessagePrefix = "EventProcessor test - multiple partitions - "; + for (const partitionId of partitionIds) { + const producer = client.createProducer({ partitionId }); + await producer.send({ body: expectedMessagePrefix + partitionId }); + await producer.close(); + } + + // set a delay to give a consumers a chance to receive a message + await delay(1000); + + // shutdown the processor + await processor.stop(); + + didError.should.be.false; + // validate correct events captured for each partition + for (const partitionId of partitionIds) { + const events = partitionResultsMap.get(partitionId)!; + events.length.should.equal(1); + events[0].should.equal(expectedMessagePrefix + partitionId); + } + }); + + it("should call methods on a PartitionProcessor ", async function(): Promise { + const receivedEvents: EventData[] = []; + let isinitializeCalled = false; + let isCloseCalled = false; + class SimpleEventProcessor { + async initialize() { + isinitializeCalled = true; + debug(`Started processing`); + } + async processEvents(events: EventData[]) { + for (const event of events) { + receivedEvents.push(event); + debug("Received event", event.body); + } + } + + async processError(error: Error) { + debug(`Encountered an error: ${error.message}`); + } + + async close() { + isCloseCalled = true; + debug(`Stopped processing`); + } + } + const eventProcessorFactory = (context: PartitionContext) => { + return new SimpleEventProcessor(); + }; + + const processor = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + eventProcessorFactory, + new InMemoryPartitionManager(), + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()), + maxBatchSize: 1, + maxWaitTimeInSeconds: 5 + } + ); + const producer = client.createProducer({ partitionId: "0" }); + await producer.send({ body: "Hello world!!!" }); + await producer.close(); + + await processor.start(); + // after 2 seconds, stop processing + await delay(2000); + await processor.stop(); + isinitializeCalled.should.equal(true); + receivedEvents.length.should.equal(1); + receivedEvents[0].body.should.equal("Hello world!!!"); + isCloseCalled.should.equal(true); + }); + }); + + describe("InMemory Partition Manager", function(): void { + it("should claim ownership, get a list of ownership and update checkpoint", async function(): Promise< + void + > { + const inMemoryPartitionManager = new InMemoryPartitionManager(); + const partitionOwnership1: PartitionOwnership = { + eventHubName: "myEventHub", + consumerGroupName: EventHubClient.defaultConsumerGroupName, + ownerId: generate_uuid(), + partitionId: "0", + ownerLevel: 10 + }; + const partitionOwnership2: PartitionOwnership = { + eventHubName: "myEventHub", + consumerGroupName: EventHubClient.defaultConsumerGroupName, + ownerId: generate_uuid(), + partitionId: "1", + ownerLevel: 10 + }; + const partitionOwnership = await inMemoryPartitionManager.claimOwnership([ + partitionOwnership1, + partitionOwnership2 + ]); + partitionOwnership.length.should.equals(2); + const ownershiplist = await inMemoryPartitionManager.listOwnership( + "myEventHub", + EventHubClient.defaultConsumerGroupName + ); + ownershiplist.length.should.equals(2); + + const checkpoint: Checkpoint = { + eventHubName: "myEventHub", + consumerGroupName: EventHubClient.defaultConsumerGroupName, + ownerId: generate_uuid(), + partitionId: "0", + sequenceNumber: 10, + offset: 50, + eTag: generate_uuid() + }; + + await inMemoryPartitionManager.updateCheckpoint(checkpoint); + const partitionOwnershipList = await inMemoryPartitionManager.listOwnership( + "myEventHub", + EventHubClient.defaultConsumerGroupName + ); + partitionOwnershipList[0].partitionId.should.equals(checkpoint.partitionId); + partitionOwnershipList[0].sequenceNumber!.should.equals(checkpoint.sequenceNumber); + partitionOwnershipList[0].offset!.should.equals(checkpoint.offset); + }); + + it("should receive events from the checkpoint", async function(): Promise { + const partitionIds = await client.getPartitionIds(); + + // ensure we have at least 2 partitions + partitionIds.length.should.gte(2); + + let checkpointMap = new Map(); + partitionIds.forEach((id) => checkpointMap.set(id, [])); + let didError = false; + + let partionCount: { [x: string]: number } = {}; + const factory: PartitionProcessorFactory = (context, checkpointManager) => { + return { + async processEvents(events: ReceivedEventData[]) { + !partionCount[context.partitionId] + ? (partionCount[context.partitionId] = 1) + : partionCount[context.partitionId]++; + const existingEvents = checkpointMap.get(context.partitionId)!; + for (const event of events) { + debug("Received event: '%s' from partition: '%s'", event.body, context.partitionId); + if (partionCount[context.partitionId] <= 50) { + await checkpointManager.updateCheckpoint(event); + existingEvents.push(event); + } + } + }, + async processError() { + didError = true; + } + }; + }; + + const inMemoryPartitionManager = new InMemoryPartitionManager(); + const processor1 = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + inMemoryPartitionManager, + { + initialEventPosition: EventPosition.fromEnqueuedTime(new Date()) + } + ); + + // start first processor + processor1.start(); + + // create messages + const expectedMessagePrefix = "EventProcessor test - checkpoint - "; + const events: EventData[] = []; + + for (const partitionId of partitionIds) { + const producer = client.createProducer({ partitionId }); + for (let index = 1; index <= 100; index++) { + events.push({ body: `${expectedMessagePrefix} ${index} ${partitionId}` }); + } + await producer.send(events); + await producer.close(); + } + + // set a delay to give a consumers a chance to receive a message + await delay(5000); + + // shutdown the first processor + await processor1.stop(); + + const lastEventsReceivedFromProcessor1: ReceivedEventData[] = []; + let index = 0; + + for (const partitionId of partitionIds) { + const receivedEvents = checkpointMap.get(partitionId)!; + lastEventsReceivedFromProcessor1[index++] = receivedEvents[receivedEvents.length - 1]; + } + + checkpointMap = new Map(); + partitionIds.forEach((id) => checkpointMap.set(id, [])); + partionCount = {}; + + const processor2 = new EventProcessor( + EventHubClient.defaultConsumerGroupName, + client, + factory, + inMemoryPartitionManager + ); + // start second processor + processor2.start(); + + // set a delay to give a consumers a chance to receive a message + await delay(5000); + + // shutdown the second processor + await processor2.stop(); + + index = 0; + const firstEventsReceivedFromProcessor2: ReceivedEventData[] = []; + for (const partitionId of partitionIds) { + const receivedEvents = checkpointMap.get(partitionId)!; + firstEventsReceivedFromProcessor2[index++] = receivedEvents[0]; + } + + didError.should.be.false; + index = 0; + // validate correct events captured for each partition using checkpoint + for (const partitionId of partitionIds) { + debug(`Validate events for partition: ${partitionId}`); + lastEventsReceivedFromProcessor1[index].sequenceNumber.should.equal( + firstEventsReceivedFromProcessor2[index].sequenceNumber - 1 + ); + index++; + } + }); + }); +}).timeout(90000); diff --git a/sdk/eventhub/event-hubs/test/receiver.spec.ts b/sdk/eventhub/event-hubs/test/receiver.spec.ts index 4c4c7034fa0c..1916ac9bae6c 100644 --- a/sdk/eventhub/event-hubs/test/receiver.spec.ts +++ b/sdk/eventhub/event-hubs/test/receiver.spec.ts @@ -721,7 +721,10 @@ describe("EventHub Receiver #RunnableInBrowser", function(): void { const eventPromise = eventIterator.next(); // wait 65 seconds before sending a message to give underlying receiveBatch a chance to return 0 results - const raceResult = await Promise.race([delay(65000, "delay"), eventPromise]); + const raceResult = await Promise.race([ + delay(65000, undefined, undefined, "delay"), + eventPromise + ]); // the timeout should happen before the event is resolved raceResult.should.equal("delay"); diff --git a/sdk/eventhub/event-hubs/test/sender.spec.ts b/sdk/eventhub/event-hubs/test/sender.spec.ts index 1bc1c72a9530..382970365a1c 100644 --- a/sdk/eventhub/event-hubs/test/sender.spec.ts +++ b/sdk/eventhub/event-hubs/test/sender.spec.ts @@ -355,6 +355,24 @@ describe("EventHub Sender #RunnableInBrowser", function(): void { } await Promise.all(promises); }); + + it("should be sent successfully in parallel, even when exceeding max event listener count of 1000", async function(): Promise< + void + > { + const senderCount = 1200; + try { + const producer = client.createProducer(); + const promises = []; + for (let i = 0; i < senderCount; i++) { + promises.push(producer.send([{ body: `Hello World ${i}` }])); + } + await Promise.all(promises); + } catch (err) { + debug("An error occurred while running the test: ", err); + throw err; + } + }); + it("should be sent successfully in parallel by multiple senders", async function(): Promise< void > { diff --git a/sdk/eventhub/event-hubs/test/utils/testUtils.ts b/sdk/eventhub/event-hubs/test/utils/testUtils.ts index 466ff904515a..522626075ae7 100644 --- a/sdk/eventhub/event-hubs/test/utils/testUtils.ts +++ b/sdk/eventhub/event-hubs/test/utils/testUtils.ts @@ -11,7 +11,6 @@ export enum EnvVarKeys { EVENTHUB_CONNECTION_STRING = "EVENTHUB_CONNECTION_STRING", EVENTHUB_NAME = "EVENTHUB_NAME", IOTHUB_CONNECTION_STRING = "IOTHUB_CONNECTION_STRING", - ENDPOINT = "ENDPOINT", AZURE_TENANT_ID = "AZURE_TENANT_ID", AZURE_CLIENT_ID = "AZURE_CLIENT_ID", AZURE_CLIENT_SECRET = "AZURE_CLIENT_SECRET" @@ -31,7 +30,6 @@ export function getEnvVars(): { [key in EnvVarKeys]: any } { [EnvVarKeys.EVENTHUB_CONNECTION_STRING]: getEnvVarValue(EnvVarKeys.EVENTHUB_CONNECTION_STRING), [EnvVarKeys.EVENTHUB_NAME]: getEnvVarValue(EnvVarKeys.EVENTHUB_NAME), [EnvVarKeys.IOTHUB_CONNECTION_STRING]: getEnvVarValue(EnvVarKeys.IOTHUB_CONNECTION_STRING), - [EnvVarKeys.ENDPOINT]: getEnvVarValue(EnvVarKeys.ENDPOINT), [EnvVarKeys.AZURE_TENANT_ID]: getEnvVarValue(EnvVarKeys.AZURE_TENANT_ID), [EnvVarKeys.AZURE_CLIENT_ID]: getEnvVarValue(EnvVarKeys.AZURE_CLIENT_ID), [EnvVarKeys.AZURE_CLIENT_SECRET]: getEnvVarValue(EnvVarKeys.AZURE_CLIENT_SECRET) diff --git a/sdk/eventhub/event-hubs/tests.yml b/sdk/eventhub/event-hubs/tests.yml index 0823168fc436..592426c33f29 100644 --- a/sdk/eventhub/event-hubs/tests.yml +++ b/sdk/eventhub/event-hubs/tests.yml @@ -58,4 +58,3 @@ jobs: AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) IOTHUB_CONNECTION_STRING: $(js-event-hubs-test-iothub-connection-string) EVENTHUB_CONNECTION_STRING: $(js-event-hubs-test-connection-string) - ENDPOINT: $(js-event-hubs-test-endpoint) diff --git a/sdk/eventhub/event-processor-host/changelog.md b/sdk/eventhub/event-processor-host/changelog.md index dc9e5b99b74c..30b02935d9e1 100644 --- a/sdk/eventhub/event-processor-host/changelog.md +++ b/sdk/eventhub/event-processor-host/changelog.md @@ -1,3 +1,8 @@ +### 2019-08-06 2.1.0 +- Added support for WebSockets. WebSockets enable Event processor Host to work over an HTTP proxy and in environments where the standard AMQP port 5671 is blocked. +Refer to the [websockets](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/eventhub/event-processor-host/samples/websockets.ts) sample to see how to use WebSockets. +- Fixed [bug 4363](https://github.com/Azure/azure-sdk-for-js/issues/4363) which stopped users from providing their own LeaseManager. If both a lease manager and the options for leaseDuration/leaseRenewInterval are provided, then the latter will be ignored in favor of the leaseDuration/leaseRenewInterval properties on the lease manager. + ## 2019-07-16 2.0.0 - Use the latest version of the dependency on [@azure/event-hubs](https://www.npmjs.com/package/@azure/event-hubs/v/2.1.1) that has the following bug fixes - Added event handlers for `error` and `protocolError` events on the connection object to avoid the case of unhandled exceptions. This is related to the [bug 4136](https://github.com/Azure/azure-sdk-for-js/issues/4136) @@ -18,7 +23,6 @@ the credentials that are needed by these functions. - Typescript: Replace `import * from "ms-rest-azure";` with `import * from "@azure/ms-rest-nodeauth";` - Javascript: Replace `require("ms-rest-azure")` with `require("@azure/ms-rest-nodeauth")` - ## 2018-10-05 1.0.6 - Remove `@azure/amqp-common` and `rhea-promise` as dependencies, since we use very little from those libraries and there is a risk of having two instances of rhea in the dependency chain which diff --git a/sdk/eventhub/event-processor-host/package.json b/sdk/eventhub/event-processor-host/package.json index 9997f4c2af14..c7c7586a91ce 100644 --- a/sdk/eventhub/event-processor-host/package.json +++ b/sdk/eventhub/event-processor-host/package.json @@ -1,7 +1,7 @@ { "name": "@azure/event-processor-host", "sdk-type": "client", - "version": "2.0.0", + "version": "2.1.0", "description": "Azure Event Processor Host (Event Hubs) SDK for JS.", "author": "Microsoft Corporation", "license": "MIT", @@ -47,7 +47,7 @@ "integration-test:node": "mocha -t 120000 test-dist/index.js --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=-", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint -c ../../.eslintrc.json src test samples --ext .ts --fix", - "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o event-processor-host-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f html -o event-processor-host-lintReport.html || exit 0", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", @@ -59,10 +59,10 @@ }, "dependencies": { "@azure/event-hubs": "^2.1.1", + "@azure/ms-rest-nodeauth": "^0.9.2", "async-lock": "^1.1.3", "azure-storage": "^2.10.2", "debug": "^3.1.0", - "@azure/ms-rest-nodeauth": "^0.9.2", "path-browserify": "^1.0.0", "tslib": "^1.9.3", "uuid": "^3.3.2" @@ -78,19 +78,20 @@ "@types/mocha": "^5.2.5", "@types/node": "^8.0.0", "@types/uuid": "^3.4.3", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@types/ws": "^6.0.1", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "chai-string": "^1.5.0", "cross-env": "^5.2.0", - "dotenv": "^7.0.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "dotenv": "^8.0.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", + "https-proxy-agent": "^2.2.1", "mocha": "^5.2.0", "mocha-junit-reporter": "^1.18.0", "mocha-multi": "^1.0.1", @@ -105,7 +106,8 @@ "rollup-plugin-replace": "^2.1.0", "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-uglify": "^6.0.0", - "ts-node": "^7.0.1", - "typescript": "^3.2.2" + "ts-node": "^8.3.0", + "typescript": "^3.2.2", + "ws": "^7.1.1" } } diff --git a/sdk/eventhub/event-processor-host/rollup.base.config.js b/sdk/eventhub/event-processor-host/rollup.base.config.js index ae1ce6365061..11f26f65ff84 100644 --- a/sdk/eventhub/event-processor-host/rollup.base.config.js +++ b/sdk/eventhub/event-processor-host/rollup.base.config.js @@ -106,10 +106,7 @@ export function browserConfig(test = false) { preferBuiltins: false }), cjs({ - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 - namedExports: { "events/": ["EventEmitter"] } + namedExports: { events: ["EventEmitter"] } }), json() ] diff --git a/sdk/eventhub/event-processor-host/samples/iothubEph.ts b/sdk/eventhub/event-processor-host/samples/iothubEph.ts index 5d31f5bced56..5e0e1246c00f 100644 --- a/sdk/eventhub/event-processor-host/samples/iothubEph.ts +++ b/sdk/eventhub/event-processor-host/samples/iothubEph.ts @@ -33,7 +33,7 @@ async function main(): Promise { await stopEph(eph); } -main().catch(err => { +main().catch((err) => { console.log("Exiting from main() due to an error: %O.", err); }); @@ -58,7 +58,9 @@ async function startEph(ephName: string): Promise { // Message handler const partionCount: { [x: string]: number } = {}; const onMessage: OnReceivedMessage = async (context: PartitionContext, event: EventData) => { - !partionCount[context.partitionId] ? (partionCount[context.partitionId] = 1) : partionCount[context.partitionId]++; + !partionCount[context.partitionId] + ? (partionCount[context.partitionId] = 1) + : partionCount[context.partitionId]++; console.log( "[%s] %d - Received message from partition: '%s', offset: '%s'", ephName, @@ -75,7 +77,11 @@ async function startEph(ephName: string): Promise { eph.receivingFromPartitions ); await context.checkpointFromEventData(event); - console.log("[%s] Successfully checkpointed message number %d", ephName, partionCount[context.partitionId]); + console.log( + "[%s] Successfully checkpointed message number %d", + ephName, + partionCount[context.partitionId] + ); } catch (err) { console.log( "[%s] An error occurred while checkpointing msg number %d: %O", diff --git a/sdk/eventhub/event-processor-host/samples/multiEph.ts b/sdk/eventhub/event-processor-host/samples/multiEph.ts index 9816d0d0fb5d..404bef9060c3 100644 --- a/sdk/eventhub/event-processor-host/samples/multiEph.ts +++ b/sdk/eventhub/event-processor-host/samples/multiEph.ts @@ -46,7 +46,7 @@ async function main(): Promise { await stopEph(eph2); } -main().catch(err => { +main().catch((err) => { console.log("Error occurred: ", err); }); @@ -75,7 +75,9 @@ async function startEph(ephName: string): Promise { // Message handler const partionCount: { [x: string]: number } = {}; const onMessage: OnReceivedMessage = async (context: PartitionContext, event: EventData) => { - !partionCount[context.partitionId] ? (partionCount[context.partitionId] = 1) : partionCount[context.partitionId]++; + !partionCount[context.partitionId] + ? (partionCount[context.partitionId] = 1) + : partionCount[context.partitionId]++; console.log( "[%s] %d - Received message from partition: '%s', offset: '%s'", ephName, @@ -92,7 +94,11 @@ async function startEph(ephName: string): Promise { eph.receivingFromPartitions ); await context.checkpointFromEventData(event); - console.log("[%s] Successfully checkpointed message number %d", ephName, partionCount[context.partitionId]); + console.log( + "[%s] Successfully checkpointed message number %d", + ephName, + partionCount[context.partitionId] + ); } catch (err) { console.log( "[%s] An error occurred while checkpointing msg number %d: %O", diff --git a/sdk/eventhub/event-processor-host/samples/sendBatch.ts b/sdk/eventhub/event-processor-host/samples/sendBatch.ts index e07ef48a5081..c5868efcc7e2 100644 --- a/sdk/eventhub/event-processor-host/samples/sendBatch.ts +++ b/sdk/eventhub/event-processor-host/samples/sendBatch.ts @@ -31,12 +31,12 @@ async function main(): Promise { console.log("Sending batch events..."); // Will concurrently send batched events to all the partitions. - const sendPromises = partitionIds.map(id => client.sendBatch(events, id)); + const sendPromises = partitionIds.map((id) => client.sendBatch(events, id)); await Promise.all(sendPromises); await client.close(); } -main().catch(err => { +main().catch((err) => { console.log("Error occurred: ", err); }); diff --git a/sdk/eventhub/event-processor-host/samples/singleEph.ts b/sdk/eventhub/event-processor-host/samples/singleEph.ts index 880738375ff2..5a493934d481 100644 --- a/sdk/eventhub/event-processor-host/samples/singleEph.ts +++ b/sdk/eventhub/event-processor-host/samples/singleEph.ts @@ -42,7 +42,7 @@ async function main(): Promise { await stopEph(eph); } -main().catch(err => { +main().catch((err) => { console.log("Error occurred: ", err); }); @@ -68,7 +68,9 @@ async function startEph(ephName: string): Promise { // Message handler const partionCount: { [x: string]: number } = {}; const onMessage: OnReceivedMessage = async (context: PartitionContext, event: EventData) => { - !partionCount[context.partitionId] ? (partionCount[context.partitionId] = 1) : partionCount[context.partitionId]++; + !partionCount[context.partitionId] + ? (partionCount[context.partitionId] = 1) + : partionCount[context.partitionId]++; console.log( "[%s] %d - Received message from partition: '%s', offset: '%s'", ephName, @@ -85,7 +87,11 @@ async function startEph(ephName: string): Promise { eph.receivingFromPartitions ); await context.checkpointFromEventData(event); - console.log("[%s] Successfully checkpointed message number %d", ephName, partionCount[context.partitionId]); + console.log( + "[%s] Successfully checkpointed message number %d", + ephName, + partionCount[context.partitionId] + ); } catch (err) { console.log( "[%s] An error occurred while checkpointing msg number %d: %O", diff --git a/sdk/eventhub/event-processor-host/samples/tsconfig.json b/sdk/eventhub/event-processor-host/samples/tsconfig.json index c400c95a8623..82e45c21672e 100644 --- a/sdk/eventhub/event-processor-host/samples/tsconfig.json +++ b/sdk/eventhub/event-processor-host/samples/tsconfig.json @@ -3,11 +3,6 @@ "compilerOptions": { "module": "commonjs" }, - "include": [ - "**/*.ts" - ], - "exclude": [ - "../node_modules", - "../typings/**", - ] + "include": ["**/*.ts"], + "exclude": ["../node_modules", "../typings/**"] } diff --git a/sdk/eventhub/event-processor-host/samples/websockets.ts b/sdk/eventhub/event-processor-host/samples/websockets.ts new file mode 100644 index 000000000000..83c9372c1f91 --- /dev/null +++ b/sdk/eventhub/event-processor-host/samples/websockets.ts @@ -0,0 +1,59 @@ +/* + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the MIT Licence. + + This sample demonstrates how to use WebSockets to enable Event Processor host to work over + an HTTP proxy and in environments where the standard AMQP port 5671 is blocked. + + This sample uses 2 external libraries + - The `ws` library to provide a WebSocket implementation to the EPH library. + - The `https-proxy-agent` to enable the `ws` library to work with a proxy server. +*/ + +import { EventProcessorHost } from "@azure/event-processor-host"; +import WebSocket from "ws"; +const url = require("url"); +const httpsProxyAgent = require("https-proxy-agent"); + +// Define storage connection string and Event Hubs connection string and related entity name here +const ehConnectionString = ""; +const eventHubsName = ""; +const storageConnectionString = ""; + +// if you want to create a unique storageContainer name for every run, use `createHostName` function, otherwise +// provide storageContainer name here. +// const storageContainerName = "my-container"; +const storageContainerName = EventProcessorHost.createHostName("test-container"); +const ephName = "my-eph"; + +// Create an instance of the `HttpsProxyAgent` class with the proxy server information like +// proxy url, username and password +// Skip this section if you are not behind a proxy server +const urlParts = url.parse("http://localhost:3128"); +urlParts.auth = "username:password"; // Skip this if proxy server does not need authentication. +const proxyAgent = new httpsProxyAgent(urlParts); + +async function main(): Promise { + const eph = EventProcessorHost.createFromConnectionString( + EventProcessorHost.createHostName(ephName), + storageConnectionString, + storageContainerName, + ehConnectionString, + { + eventHubPath: eventHubsName, + onEphError: (error: any) => { + console.log("[%s] Error: %O", ephName, error); + }, + webSocket: WebSocket, + webSocketConstructorOptions: { agent: proxyAgent } + } + ); + /* + Refer to other samples, and place your code here to receive events + */ + await eph.stop(); +} + +main().catch((err) => { + console.log("Error occurred: ", err); +}); diff --git a/sdk/eventhub/event-processor-host/src/azureBlob.ts b/sdk/eventhub/event-processor-host/src/azureBlob.ts index 124b70f43365..3cf62dec121b 100644 --- a/sdk/eventhub/event-processor-host/src/azureBlob.ts +++ b/sdk/eventhub/event-processor-host/src/azureBlob.ts @@ -81,8 +81,16 @@ export class AzureBlob { return this._blobService.getContent(this._containerName, this._blobPath, options); } - changeLease(currentLeaseId: string, proposedLeaseId: string): Promise { - return this._blobService.changeLease(this._containerName, this._blobPath, currentLeaseId, proposedLeaseId); + changeLease( + currentLeaseId: string, + proposedLeaseId: string + ): Promise { + return this._blobService.changeLease( + this._containerName, + this._blobPath, + currentLeaseId, + proposedLeaseId + ); } getBlobProperties(): Promise { @@ -97,7 +105,12 @@ export class AzureBlob { metadata: Dictionary, options?: StorageBlobService.BlobRequestOptions ): Promise { - return this._blobService.setBlobMetadata(this._containerName, this._blobPath, metadata, options); + return this._blobService.setBlobMetadata( + this._containerName, + this._blobPath, + metadata, + options + ); } listBlobsSegmented( @@ -106,7 +119,9 @@ export class AzureBlob { return this._blobService.listBlobsSegmented(this._containerName, options); } - acquireLease(options: StorageBlobService.AcquireLeaseRequestOptions): Promise { + acquireLease( + options: StorageBlobService.AcquireLeaseRequestOptions + ): Promise { return this._blobService.acquireLease(this._containerName, this._blobPath, options); } diff --git a/sdk/eventhub/event-processor-host/src/azureStorageCheckpointLeaseManager.ts b/sdk/eventhub/event-processor-host/src/azureStorageCheckpointLeaseManager.ts index 92c2645e8d6d..1b6589218252 100644 --- a/sdk/eventhub/event-processor-host/src/azureStorageCheckpointLeaseManager.ts +++ b/sdk/eventhub/event-processor-host/src/azureStorageCheckpointLeaseManager.ts @@ -107,7 +107,9 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le await Promise.all(deleteBlobs); await blobService.deleteContainerIfExists(storageContainerName); } else { - throw new Error("'blobService' is not defined in the 'hostContext', hence cannot " + "list all the blobs."); + throw new Error( + "'blobService' is not defined in the 'hostContext', hence cannot " + "list all the blobs." + ); } } catch (err) { const msg = @@ -189,7 +191,9 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le const leaseBlobs = await this._listBlobs(); if (leaseBlobs.length === partitionIds.length) { log.checkpointLeaseMgr( - withHost("Number of blobs %d === Number of partitionIds %d. " + "Hence no need to create leases."), + withHost( + "Number of blobs %d === Number of partitionIds %d. " + "Hence no need to create leases." + ), leaseBlobs.length, partitionIds.length ); @@ -235,7 +239,10 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le returnLease = await this.getLease(partitionId); } else { log.error( - withHostAndPartition(partitionId, "An error occurred while creating lease if " + "it does not exist: %O."), + withHostAndPartition( + partitionId, + "An error occurred while creating lease if " + "it does not exist: %O." + ), error ); throw error; @@ -277,7 +284,10 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le return false; } log.checkpointLeaseMgr( - withHostAndPartition(lease, "Need to change lease '%s' -> '%s' " + "for partitionId '%s'."), + withHostAndPartition( + lease, + "Need to change lease '%s' -> '%s' " + "for partitionId '%s'." + ), lease.token, newLeaseId, lease.partitionId @@ -364,7 +374,8 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le log.checkpointLeaseMgr( withHostAndPartition( lease, - "Let us renew the lease to make sure the " + "update with offset '%s' and sequence number %d will go through." + "Let us renew the lease to make sure the " + + "update with offset '%s' and sequence number %d will go through." ), lease.offset, lease.sequenceNumber @@ -463,7 +474,9 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le log.checkpointLeaseMgr(withHost("Number of blobs: %d"), listResult.entries.length); return listResult.entries; } else { - throw new Error("'blobService' is not defined in the 'hostContext', hence cannot " + "list all the blobs."); + throw new Error( + "'blobService' is not defined in the 'hostContext', hence cannot " + "list all the blobs." + ); } } @@ -521,7 +534,10 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le options.metadata[metadataOwnerName] = lease.owner || this._context.hostName; } log.checkpointLeaseMgr( - withHostAndPartition(lease, "Trying to upload raw JSON for activity " + "'%s': %s, with options: %o"), + withHostAndPartition( + lease, + "Trying to upload raw JSON for activity " + "'%s': %s, with options: %o" + ), activity, jsonToUpload, options @@ -546,7 +562,11 @@ export class AzureStorageCheckpointLeaseManager implements CheckpointManager, Le result = true; } } - log.error(withHostAndPartition(partitionId, "Was lease lost -> %s, err: %O."), result, getStorageError(err)); + log.error( + withHostAndPartition(partitionId, "Was lease lost -> %s, err: %O."), + result, + getStorageError(err) + ); return result; } } diff --git a/sdk/eventhub/event-processor-host/src/blobService.ts b/sdk/eventhub/event-processor-host/src/blobService.ts index 14586dcf510b..6ac3b1eb0b16 100644 --- a/sdk/eventhub/event-processor-host/src/blobService.ts +++ b/sdk/eventhub/event-processor-host/src/blobService.ts @@ -2,7 +2,11 @@ // Licensed under the MIT License. import { Dictionary } from "@azure/event-hubs"; -import { createBlobService, BlobService as StorageBlobService, ServiceResponse } from "azure-storage"; +import { + createBlobService, + BlobService as StorageBlobService, + ServiceResponse +} from "azure-storage"; import * as log from "./log"; import { validateType, getStorageError } from "./util/utils"; import { defaultMaximumExecutionTimeInMs } from "./util/constants"; @@ -89,22 +93,34 @@ export class BlobService { validateType("containerName", containerName, true, "string"); return new Promise((resolve, reject) => { - log.blobService("[%s] Ensuring that the container '%s' exists.", this._hostName, containerName); - this._storageBlobService.createContainerIfNotExists(containerName, (error, result, response) => { - if (error) { - log.error( - "[%s] An error occurred while ensuring that the container '%s' exists: %O", - this._hostName, - containerName, - getStorageError(error) - ); - reject(error); - } else { - const containerInfo = { created: result, details: response }; - log.blobService("[%s] Result for Container '%s': %O", this._hostName, containerName, containerInfo); - resolve(containerInfo); + log.blobService( + "[%s] Ensuring that the container '%s' exists.", + this._hostName, + containerName + ); + this._storageBlobService.createContainerIfNotExists( + containerName, + (error, result, response) => { + if (error) { + log.error( + "[%s] An error occurred while ensuring that the container '%s' exists: %O", + this._hostName, + containerName, + getStorageError(error) + ); + reject(error); + } else { + const containerInfo = { created: result, details: response }; + log.blobService( + "[%s] Result for Container '%s': %O", + this._hostName, + containerName, + containerInfo + ); + resolve(containerInfo); + } } - }); + ); }); } @@ -122,7 +138,12 @@ export class BlobService { ); reject(error); } else { - log.blobService("[%s] Does container '%s' exist -> %s.", this._hostName, containerName, result.exists); + log.blobService( + "[%s] Does container '%s' exist -> %s.", + this._hostName, + containerName, + result.exists + ); resolve(result.exists); } }); @@ -138,7 +159,8 @@ export class BlobService { this._storageBlobService.doesBlobExist(containerName, blobPath, (error, result) => { if (error) { log.error( - "[%s] [%s] An error occurred while determining whether the blob '%s' exists in " + "container '%s': %O", + "[%s] [%s] An error occurred while determining whether the blob '%s' exists in " + + "container '%s': %O", this._hostName, partitionId, blobPath, @@ -180,26 +202,33 @@ export class BlobService { blobPath, containerName ); - this._storageBlobService.createBlockBlobFromText(containerName, blobPath, text, options, error => { - if (error) { - if ((error as any).statusCode === 412) { - // Blob already exists. - resolve(); + this._storageBlobService.createBlockBlobFromText( + containerName, + blobPath, + text, + options, + (error) => { + if (error) { + if ((error as any).statusCode === 412) { + // Blob already exists. + resolve(); + } else { + log.error( + "[%s] [%s] An error occurred while ensuring that blob '%s' exists in " + + "container '%s': %O", + this._hostName, + partitionId, + blobPath, + containerName, + getStorageError(error) + ); + reject(error); + } } else { - log.error( - "[%s] [%s] An error occurred while ensuring that blob '%s' exists in " + "container '%s': %O", - this._hostName, - partitionId, - blobPath, - containerName, - getStorageError(error) - ); - reject(error); + resolve(); } - } else { - resolve(); } - }); + ); }); } @@ -224,28 +253,34 @@ export class BlobService { leaseId, blobPath ); - this._storageBlobService.renewLease(containerName, blobPath, leaseId, options, (error, result) => { - if (error) { - log.error( - "[%s] [%s] An error occurred while renewing lease '%s' for blobPath '%s': %O.", - this._hostName, - partitionId, - leaseId, - blobPath, - getStorageError(error) - ); - reject(error); - } else { - log.blobService( - "[%s] [%s] Successfully, renewed lease with leaseId: '%s' for blobPath '%s'.", - this._hostName, - partitionId, - leaseId, - blobPath - ); - resolve(result); + this._storageBlobService.renewLease( + containerName, + blobPath, + leaseId, + options, + (error, result) => { + if (error) { + log.error( + "[%s] [%s] An error occurred while renewing lease '%s' for blobPath '%s': %O.", + this._hostName, + partitionId, + leaseId, + blobPath, + getStorageError(error) + ); + reject(error); + } else { + log.blobService( + "[%s] [%s] Successfully, renewed lease with leaseId: '%s' for blobPath '%s'.", + this._hostName, + partitionId, + leaseId, + blobPath + ); + resolve(result); + } } - }); + ); }); } @@ -270,28 +305,34 @@ export class BlobService { leaseId, blobPath ); - this._storageBlobService.releaseLease(containerName, blobPath, leaseId, options, (error, result) => { - if (error) { - log.error( - "[%s] [%s] An error occurred while releasing lease '%s' for blobPath '%s': %O.", - this._hostName, - partitionId, - leaseId, - blobPath, - getStorageError(error) - ); - reject(error); - } else { - log.blobService( - "[%s] [%s] Successfully, released lease with leaseId: '%s' for blobPath '%s'.", - this._hostName, - partitionId, - leaseId, - blobPath - ); - resolve(result); + this._storageBlobService.releaseLease( + containerName, + blobPath, + leaseId, + options, + (error, result) => { + if (error) { + log.error( + "[%s] [%s] An error occurred while releasing lease '%s' for blobPath '%s': %O.", + this._hostName, + partitionId, + leaseId, + blobPath, + getStorageError(error) + ); + reject(error); + } else { + log.blobService( + "[%s] [%s] Successfully, released lease with leaseId: '%s' for blobPath '%s'.", + this._hostName, + partitionId, + leaseId, + blobPath + ); + resolve(result); + } } - }); + ); }); } @@ -317,28 +358,34 @@ export class BlobService { containerName, blobPath ); - this._storageBlobService.createBlockBlobFromText(containerName, blobPath, text, options, (error, result) => { - if (error) { - log.error( - "[%s] [%s] An error occurred while updating content '%s' to blobPath '%s': %O.", - this._hostName, - partitionId, - text, - blobPath, - getStorageError(error) - ); - reject(error); - } else { - log.blobService( - "[%s] [%s] Successfully, updated blob content '%s' for blobPath '%s'.", - this._hostName, - partitionId, - text, - blobPath - ); - resolve(result); + this._storageBlobService.createBlockBlobFromText( + containerName, + blobPath, + text, + options, + (error, result) => { + if (error) { + log.error( + "[%s] [%s] An error occurred while updating content '%s' to blobPath '%s': %O.", + this._hostName, + partitionId, + text, + blobPath, + getStorageError(error) + ); + reject(error); + } else { + log.blobService( + "[%s] [%s] Successfully, updated blob content '%s' for blobPath '%s'.", + this._hostName, + partitionId, + text, + blobPath + ); + resolve(result); + } } - }); + ); }); } @@ -354,28 +401,38 @@ export class BlobService { return new Promise((resolve, reject) => { if (!options) options = {}; - log.blobService("[%s] [%s] Attempting to getcontent from blobPath '%s'.", this._hostName, partitionId, blobPath); - this._storageBlobService.getBlobToText(containerName, blobPath, options, (error, text, result) => { - if (error) { - log.error( - "[%s] [%s] An error occurred while getting content from blobPath '%s': %O.", - this._hostName, - partitionId, - blobPath, - getStorageError(error) - ); - reject(error); - } else { - log.blobService( - "[%s] [%s] Successfully, fetched blob content '%s' for blobPath '%s'.", - this._hostName, - partitionId, - text, - blobPath - ); - resolve(text); + log.blobService( + "[%s] [%s] Attempting to getcontent from blobPath '%s'.", + this._hostName, + partitionId, + blobPath + ); + this._storageBlobService.getBlobToText( + containerName, + blobPath, + options, + (error, text, result) => { + if (error) { + log.error( + "[%s] [%s] An error occurred while getting content from blobPath '%s': %O.", + this._hostName, + partitionId, + blobPath, + getStorageError(error) + ); + reject(error); + } else { + log.blobService( + "[%s] [%s] Successfully, fetched blob content '%s' for blobPath '%s'.", + this._hostName, + partitionId, + text, + blobPath + ); + resolve(text); + } } - }); + ); }); } @@ -408,7 +465,8 @@ export class BlobService { (error, result) => { if (error) { log.error( - "[%s] [%s] An error occurred while changing lease '%s' to '%s' for blobPath " + "'%s': %O.", + "[%s] [%s] An error occurred while changing lease '%s' to '%s' for blobPath " + + "'%s': %O.", this._hostName, partitionId, currentLeaseId, @@ -419,7 +477,8 @@ export class BlobService { reject(error); } else { log.blobService( - "[%s] [%s] Successfully, changed current lease '%s' with proposed lease " + "'%s' for blobPath '%s'.", + "[%s] [%s] Successfully, changed current lease '%s' with proposed lease " + + "'%s' for blobPath '%s'.", this._hostName, partitionId, currentLeaseId, @@ -433,7 +492,10 @@ export class BlobService { }); } - getBlobProperties(containerName: string, blobPath: string): Promise { + getBlobProperties( + containerName: string, + blobPath: string + ): Promise { validateType("containerName", containerName, true, "string"); validateType("blobPath", blobPath, true, "string"); const partitionId = path.basename(blobPath); @@ -480,25 +542,34 @@ export class BlobService { }; } return new Promise((resolve, reject) => { - log.blobService("[%s] Attempting to list blobs for container '%s'.", this._hostName, containerName); - this._storageBlobService.listBlobsSegmented(containerName, undefined as any, options!, (error, result) => { - if (error) { - log.error( - "[%s] An error occurred while listing blobs for container '%s': %O.", - this._hostName, - containerName, - getStorageError(error) - ); - reject(error); - } else { - log.blobService( - "[%s] Successfully, received the list of blobs for container '%s'.", - this._hostName, - containerName - ); - resolve(result); + log.blobService( + "[%s] Attempting to list blobs for container '%s'.", + this._hostName, + containerName + ); + this._storageBlobService.listBlobsSegmented( + containerName, + undefined as any, + options!, + (error, result) => { + if (error) { + log.error( + "[%s] An error occurred while listing blobs for container '%s': %O.", + this._hostName, + containerName, + getStorageError(error) + ); + reject(error); + } else { + log.blobService( + "[%s] Successfully, received the list of blobs for container '%s'.", + this._hostName, + containerName + ); + resolve(result); + } } - }); + ); }); } @@ -559,30 +630,36 @@ export class BlobService { metadata, blobPath ); - this._storageBlobService.setBlobMetadata(containerName, blobPath, metadata, options!, (error, result) => { - if (error) { - log.error( - "[%s] [%s] An error occurred while setting blob metadata for blobPath '%s': %O.", - this._hostName, - partitionId, - blobPath, - getStorageError(error) - ); - reject(error); - } else { - log.blobService( - "[%s] [%s] Successfully, set the blob metadata for blobPath '%s'. " + - "The result is: name: %s, metadata: %o, lease: %o", - this._hostName, - partitionId, - blobPath, - result.name, - result.metadata, - result.lease - ); - resolve(result); + this._storageBlobService.setBlobMetadata( + containerName, + blobPath, + metadata, + options!, + (error, result) => { + if (error) { + log.error( + "[%s] [%s] An error occurred while setting blob metadata for blobPath '%s': %O.", + this._hostName, + partitionId, + blobPath, + getStorageError(error) + ); + reject(error); + } else { + log.blobService( + "[%s] [%s] Successfully, set the blob metadata for blobPath '%s'. " + + "The result is: name: %s, metadata: %o, lease: %o", + this._hostName, + partitionId, + blobPath, + result.name, + result.metadata, + result.lease + ); + resolve(result); + } } - }); + ); }); } @@ -634,7 +711,12 @@ export class BlobService { const partitionId = path.basename(blobPath); return new Promise((resolve, reject) => { - log.blobService("[%s] Attempting to delete blob for blobPath '%s'.", this._hostName, partitionId, blobPath); + log.blobService( + "[%s] Attempting to delete blob for blobPath '%s'.", + this._hostName, + partitionId, + blobPath + ); this._storageBlobService.deleteBlobIfExists(containerName, blobPath, (error, result) => { if (error) { log.error( @@ -675,7 +757,12 @@ export class BlobService { ); reject(error); } else { - log.blobService("[%s] Deleted container '%s' -> %s.", this._hostName, containerName, result); + log.blobService( + "[%s] Deleted container '%s' -> %s.", + this._hostName, + containerName, + result + ); resolve(); } }); diff --git a/sdk/eventhub/event-processor-host/src/checkpointInfo.ts b/sdk/eventhub/event-processor-host/src/checkpointInfo.ts index abff8b9a565b..b54ab6fadf73 100644 --- a/sdk/eventhub/event-processor-host/src/checkpointInfo.ts +++ b/sdk/eventhub/event-processor-host/src/checkpointInfo.ts @@ -37,7 +37,11 @@ export namespace CheckpointInfo { * @param {number} [sequenceNumber] The sequence number of the event to be checked in. * @return {CheckpointInfo} CheckpointInfo */ - export function create(partitionId: string, offset?: string, sequenceNumber?: number): CheckpointInfo { + export function create( + partitionId: string, + offset?: string, + sequenceNumber?: number + ): CheckpointInfo { validateType("partitionId", partitionId, true, "string"); validateType("offset", offset, false, "string"); validateType("sequenceNumber", sequenceNumber, false, "number"); diff --git a/sdk/eventhub/event-processor-host/src/eventProcessorHost.ts b/sdk/eventhub/event-processor-host/src/eventProcessorHost.ts index be8fb2943481..64f59adb64a6 100644 --- a/sdk/eventhub/event-processor-host/src/eventProcessorHost.ts +++ b/sdk/eventhub/event-processor-host/src/eventProcessorHost.ts @@ -84,7 +84,9 @@ export class EventProcessorHost { * * @returns {EventHubPartitionRuntimeInformation} EventHubPartitionRuntimeInformation */ - getPartitionInformation(partitionId: string | number): Promise { + getPartitionInformation( + partitionId: string | number + ): Promise { return this._context.getPartitionInformation(partitionId); } @@ -372,7 +374,11 @@ export class EventProcessorHost { storageContainerName: string, namespace: string, eventHubPath: string, - credentials: ApplicationTokenCredentials | UserTokenCredentials | DeviceTokenCredentials | MSITokenCredentials, + credentials: + | ApplicationTokenCredentials + | UserTokenCredentials + | DeviceTokenCredentials + | MSITokenCredentials, options?: FromTokenProviderOptions ): EventProcessorHost { if (!options) options = {}; @@ -425,7 +431,11 @@ export class EventProcessorHost { hostName: string, namespace: string, eventHubPath: string, - credentials: ApplicationTokenCredentials | UserTokenCredentials | DeviceTokenCredentials | MSITokenCredentials, + credentials: + | ApplicationTokenCredentials + | UserTokenCredentials + | DeviceTokenCredentials + | MSITokenCredentials, checkpointManager: CheckpointManager, leaseManager: LeaseManager, options?: FromTokenProviderOptions diff --git a/sdk/eventhub/event-processor-host/src/hostContext.ts b/sdk/eventhub/event-processor-host/src/hostContext.ts index 7903cbfcae10..799ffb0c523e 100644 --- a/sdk/eventhub/event-processor-host/src/hostContext.ts +++ b/sdk/eventhub/event-processor-host/src/hostContext.ts @@ -26,7 +26,12 @@ import { validateType } from "./util/utils"; import { PartitionContext } from "./partitionContext"; import { BaseLease } from "./baseLease"; import { PartitionPump } from "./partitionPump"; -import { EventProcessorHostOptions, OnEphError, OnReceivedMessage, OnReceivedError } from "./modelTypes"; +import { + EventProcessorHostOptions, + OnEphError, + OnReceivedMessage, + OnReceivedError +} from "./modelTypes"; import { maxLeaseDurationInSeconds, minLeaseDurationInSeconds, @@ -81,7 +86,9 @@ export interface HostContextWithCheckpointLeaseManager extends BaseHostContext { checkpointManager: CheckpointManager; getEventHubClient(): EventHubClient; getHubRuntimeInformation(): Promise; - getPartitionInformation(partitionId: string | number): Promise; + getPartitionInformation( + partitionId: string | number + ): Promise; getPartitionIds(): Promise; } @@ -103,13 +110,15 @@ export namespace HostContext { validateType("leaseRenewInterval", interval, true, "number"); if (duration <= interval) { - throw new Error(`Lease duration ${duration} needs to be greater than lease ` + `renew interval ${interval}.`); + throw new Error( + `Lease duration ${duration} needs to be greater than lease ` + `renew interval ${interval}.` + ); } if (duration > maxLeaseDurationInSeconds || duration < minLeaseDurationInSeconds) { throw new Error( `Lease duration needs to be between ${minLeaseDurationInSeconds} ` + - `seconds and ${maxLeaseDurationInSeconds} seconds. The given value is: ${duration} seconds.` + `seconds and ${maxLeaseDurationInSeconds} seconds. The given value is: ${duration} seconds.` ); } } @@ -118,12 +127,14 @@ export namespace HostContext { if (!name || name.match(/^[a-z0-9](([a-z0-9\-[^\-])){1,61}[a-z0-9]$/gi) === null) { throw new Error( `Azure Storage lease container name "${name}" is invalid. Please check ` + - `naming conventions at https://msdn.microsoft.com/en-us/library/azure/dd135715.aspx` + `naming conventions at https://msdn.microsoft.com/en-us/library/azure/dd135715.aspx` ); } } - function _eitherStorageConnectionStringOrCheckpointLeaseManager(options: EventProcessorHostOptions): void { + function _eitherStorageConnectionStringOrCheckpointLeaseManager( + options: EventProcessorHostOptions + ): void { validateType("options", options, true, "object"); const checkpointManager = options.checkpointManager; const leaseManager = options.leaseManager; @@ -131,43 +142,32 @@ export namespace HostContext { if (storageConnectionString) { if (checkpointManager || leaseManager) { throw new Error( - "Either provide ('checkpointManager' and 'leaseManager') or " + "provide 'storageConnectionString'." + "Either provide ('checkpointManager' and 'leaseManager') or " + + "provide 'storageConnectionString'." ); } } else if (!(checkpointManager && leaseManager)) { throw new Error( - "Either provide ('checkpointManager' and 'leaseManager') or " + "provide 'storageConnectionString'." + "Either provide ('checkpointManager' and 'leaseManager') or " + + "provide 'storageConnectionString'." ); } } - function _eitherLeaseManagerOrleaseDurationAndRenewal(options: EventProcessorHostOptions): void { - validateType("options", options, true, "object"); - const leaseManager = options.leaseManager; - const leaseDuration = options.leaseDuration; - const leaseRenewInterval = options.leaseRenewInterval; - if (leaseManager) { - if (leaseDuration || leaseRenewInterval) { - throw new Error("Either provide ('leaseDuration' and 'leaseRenewInterval') or " + "provide 'leaseManager'."); - } - } else if (!(leaseDuration && leaseRenewInterval)) { - throw new Error("Either provide ('leaseDuration' and 'leaseRenewInterval') or " + "provide 'leaseManager'."); - } - } - function _createBase(hostName: string, options: EventProcessorHostOptions): BaseHostContext { validateType("hostName", hostName, true, "string"); const onEphErrorFunc: OnEphError = () => { // do nothing }; - const config = EventHubConnectionConfig.create(options.eventHubConnectionString!, options.eventHubPath); + const config = EventHubConnectionConfig.create( + options.eventHubConnectionString!, + options.eventHubPath + ); // set defaults if (!options.consumerGroup) options.consumerGroup = defaultConsumerGroup; if (!options.eventHubPath) options.eventHubPath = config.entityPath; - if (!options.leaseRenewInterval) options.leaseRenewInterval = defaultLeaseRenewIntervalInSeconds; - if (!options.leaseDuration) options.leaseDuration = defaultLeaseDurationInSeconds; if (!options.onEphError) options.onEphError = onEphErrorFunc; if (!options.dataTransformer) options.dataTransformer = new DefaultDataTransformer(); if (!options.startupScanDelay) options.startupScanDelay = defaultStartupScanDelayInSeconds; @@ -176,17 +176,35 @@ export namespace HostContext { validateType("options", options, true, "object"); validateType("options.eventHubPath", options.eventHubPath, true, "string"); - validateType("options.eventHubConnectionString", options.eventHubConnectionString, true, "string"); - validateType("options.storageConnectionString", options.storageConnectionString, false, "string"); + validateType( + "options.eventHubConnectionString", + options.eventHubConnectionString, + true, + "string" + ); + validateType( + "options.storageConnectionString", + options.storageConnectionString, + false, + "string" + ); validateType("options.initialOffset", options.initialOffset, false, "object"); validateType("options.consumerGroup", options.consumerGroup, false, "string"); validateType("options.storageContainerName", options.storageContainerName, false, "string"); validateType("options.storageBlobPrefix", options.storageBlobPrefix, false, "string"); validateType("options.onEphError", options.onEphError, false, "function"); + _eitherStorageConnectionStringOrCheckpointLeaseManager(options); + + if (options.leaseManager) { + options.leaseDuration = options.leaseManager.leaseDuration; + options.leaseRenewInterval = options.leaseManager.leaseRenewInterval; + } + if (!options.leaseRenewInterval) + options.leaseRenewInterval = defaultLeaseRenewIntervalInSeconds; + if (!options.leaseDuration) options.leaseDuration = defaultLeaseDurationInSeconds; + validateType("options.leaseRenewInterval", options.leaseRenewInterval, false, "number"); validateType("options.leaseDuration", options.leaseDuration, false, "number"); - _eitherStorageConnectionStringOrCheckpointLeaseManager(options); - _eitherLeaseManagerOrleaseDurationAndRenewal(options); const context: BaseHostContext = { hostName: hostName, @@ -251,12 +269,22 @@ export namespace HostContext { ctxt.connectionConfig.host, ctxt.eventHubPath, ctxt.tokenProvider, - { userAgent: ctxt.userAgent } + { + userAgent: ctxt.userAgent, + webSocket: options && options.webSocket, + webSocketConstructorOptions: options && options.webSocketConstructorOptions + } ); } else { - return EventHubClient.createFromConnectionString(ctxt.eventHubConnectionString, ctxt.eventHubPath, { - userAgent: ctxt.userAgent - }); + return EventHubClient.createFromConnectionString( + ctxt.eventHubConnectionString, + ctxt.eventHubPath, + { + userAgent: ctxt.userAgent, + webSocket: options && options.webSocket, + webSocketConstructorOptions: options && options.webSocketConstructorOptions + } + ); } }; ctxt.getHubRuntimeInformation = async () => { @@ -289,8 +317,14 @@ export namespace HostContext { return ctxt; } - function _createWithPumpManager(hostName: string, options: EventProcessorHostOptions): HostContextWithPumpManager { - const context = _createWithCheckpointLeaseManager(hostName, options) as HostContextWithPumpManager; + function _createWithPumpManager( + hostName: string, + options: EventProcessorHostOptions + ): HostContextWithPumpManager { + const context = _createWithCheckpointLeaseManager( + hostName, + options + ) as HostContextWithPumpManager; context.pumpManager = new PumpManager(context); return context; } @@ -299,9 +333,9 @@ export namespace HostContext { * @property {string} userAgent The user agent string for the EventHubs client. * See guideline at https://github.com/Azure/azure-sdk/blob/master/docs/design/Telemetry.mdk */ - const userAgent: string = `azsdk-js-azureeventprocessorhost/${packageInfo.version} (NODE-VERSION ${ - process.version - }; ${os.type()} ${os.release()})`; + const userAgent: string = `azsdk-js-azureeventprocessorhost/${ + packageInfo.version + } (NODE-VERSION ${process.version}; ${os.type()} ${os.release()})`; /** * @ignore diff --git a/sdk/eventhub/event-processor-host/src/modelTypes.ts b/sdk/eventhub/event-processor-host/src/modelTypes.ts index 736ebc9b1d6f..2e3462b2433d 100644 --- a/sdk/eventhub/event-processor-host/src/modelTypes.ts +++ b/sdk/eventhub/event-processor-host/src/modelTypes.ts @@ -2,7 +2,13 @@ // Licensed under the MIT License. import { PartitionContext } from "./partitionContext"; -import { EventData, MessagingError, EventPosition, TokenProvider, ClientOptionsBase } from "@azure/event-hubs"; +import { + EventData, + MessagingError, + EventPosition, + TokenProvider, + ClientOptionsBase +} from "@azure/event-hubs"; import { CheckpointManager } from "./checkpointManager"; import { LeaseManager } from "./leaseManager"; @@ -110,12 +116,16 @@ export interface FromTokenProviderOptions extends ClientOptionsBase { * scan leases and renew them. In order to redistribute leases in a timely fashion after a host * ceases operating, we recommend a relatively short interval, such as ten seconds. Obviously it * should be less than half of the lease length, to prevent accidental expiration. + * + * If `Leasemanager` is provided when creating the EventProcessorHost then this value will be ignored. */ leaseRenewInterval?: number; /** * @property {number} [leaseDuration] Duration of a lease **`in seconds`** before it expires * unless renewed. Default: **`30` seconds**, Min Value: **`15` seconds**, * Max value: **`60` seconds**. + * + * If `Leasemanager` is provided when creating the EventProcessorHost then this value will be ignored. */ leaseDuration?: number; /** diff --git a/sdk/eventhub/event-processor-host/src/partitionContext.ts b/sdk/eventhub/event-processor-host/src/partitionContext.ts index afc99cf5f892..0312c04a0563 100644 --- a/sdk/eventhub/event-processor-host/src/partitionContext.ts +++ b/sdk/eventhub/event-processor-host/src/partitionContext.ts @@ -54,7 +54,11 @@ export class PartitionContext { * @param {string} owner The name of the owner. * @param {CompleteLease} lease The lease object. */ - constructor(context: HostContextWithCheckpointLeaseManager, partitionId: string, lease: CompleteLease) { + constructor( + context: HostContextWithCheckpointLeaseManager, + partitionId: string, + lease: CompleteLease + ) { this._context = context; this.partitionId = partitionId; this.lease = lease; @@ -117,7 +121,9 @@ export class PartitionContext { * @ignore */ async getInitialOffset(): Promise { - const startingCheckpoint = await this._context.checkpointManager.getCheckpoint(this.partitionId); + const startingCheckpoint = await this._context.checkpointManager.getCheckpoint( + this.partitionId + ); const withHostAndPartiton = this._context.withHostAndPartition; let result: EventPosition; if (!startingCheckpoint) { @@ -130,7 +136,8 @@ export class PartitionContext { result = this._context.initialOffset || EventPosition.fromOffset(this._offset); } else { if (startingCheckpoint.offset != undefined) this._offset = startingCheckpoint.offset; - if (startingCheckpoint.sequenceNumber != undefined) this._sequenceNumber = startingCheckpoint.sequenceNumber; + if (startingCheckpoint.sequenceNumber != undefined) + this._sequenceNumber = startingCheckpoint.sequenceNumber; result = EventPosition.fromOffset(this._offset); log.partitionContext( withHostAndPartiton(this, "Retrieved starting offset/sequence " + "number: %s/%d"), @@ -139,7 +146,10 @@ export class PartitionContext { ); } log.partitionContext( - withHostAndPartiton(this, "Initial position provider offset: %s, " + "sequenceNumber: %d, enqueuedTime: %d"), + withHostAndPartiton( + this, + "Initial position provider offset: %s, " + "sequenceNumber: %d, enqueuedTime: %d" + ), result.offset, result.sequenceNumber, result.enqueuedTime @@ -153,7 +163,9 @@ export class PartitionContext { private async _persistCheckpoint(checkpoint: CheckpointInfo): Promise { const withHostAndPartiton = this._context.withHostAndPartition; try { - const inStoreCheckpoint = await this._context.checkpointManager.getCheckpoint(checkpoint.partitionId); + const inStoreCheckpoint = await this._context.checkpointManager.getCheckpoint( + checkpoint.partitionId + ); if (inStoreCheckpoint && inStoreCheckpoint.sequenceNumber >= checkpoint.sequenceNumber) { const msg = `Ignoring out of date checkpoint with offset: '${checkpoint.offset}', ` + @@ -165,7 +177,10 @@ export class PartitionContext { } log.partitionContext(withHostAndPartiton(this, "Persisting the checkpoint: %O."), checkpoint); await this._context.checkpointManager.updateCheckpoint(this.lease, checkpoint); - log.partitionContext(withHostAndPartiton(this, "Successfully persisted the checkpoint: %O."), checkpoint); + log.partitionContext( + withHostAndPartiton(this, "Successfully persisted the checkpoint: %O."), + checkpoint + ); } catch (err) { const msg = `An error occurred while checkpointing info for partition ` + diff --git a/sdk/eventhub/event-processor-host/src/partitionManager.ts b/sdk/eventhub/event-processor-host/src/partitionManager.ts index ad4f70442649..a7c47fe29367 100644 --- a/sdk/eventhub/event-processor-host/src/partitionManager.ts +++ b/sdk/eventhub/event-processor-host/src/partitionManager.ts @@ -58,7 +58,9 @@ export class PartitionManager { try { await localRunTask; } catch (err) { - const msg = `An error occurred while stopping the run task: ` + `${err ? err.stack : JSON.stringify(err)}.`; + const msg = + `An error occurred while stopping the run task: ` + + `${err ? err.stack : JSON.stringify(err)}.`; log.error(withHost("%s"), msg); } finally { this._isRunning = false; @@ -72,7 +74,9 @@ export class PartitionManager { shouldStop(): boolean { if (this._isCancelRequested) { log.partitionManager( - this._context.withHost("Cancellation was requested -> %s. " + "Hence stopping further execution."), + this._context.withHost( + "Cancellation was requested -> %s. " + "Hence stopping further execution." + ), this._isCancelRequested ); } @@ -117,7 +121,8 @@ export class PartitionManager { await this._context.pumpManager.removeAllPumps(CloseReason.shutdown); } catch (err) { const msg = - `An error occurred while shutting down the partition ` + `manager: ${err ? err.stack : JSON.stringify(err)}.`; + `An error occurred while shutting down the partition ` + + `manager: ${err ? err.stack : JSON.stringify(err)}.`; log.error(withHost("%s"), msg); this._context.onEphError({ hostName: this._context.hostName, @@ -206,7 +211,8 @@ export class PartitionManager { log.partitionManager(withHost("Ensure that the checkpoint exists.")); const checkpointConfig: RetryConfig = { hostName: hostName, - operation: () => checkpointManager.createAllCheckpointsIfNotExists(this._context.partitionIds), + operation: () => + checkpointManager.createAllCheckpointsIfNotExists(this._context.partitionIds), retryMessage: "Failure creating checkpoint for partition, retrying", finalFailureMessage: "Out of retries for creating checkpoint for partition", action: EPHActionStrings.creatingCheckpoint, @@ -228,12 +234,17 @@ export class PartitionManager { } const didSteal = await this._partitionScanner.scan(isFirst); log.partitionManager(withHost("Did we steal any leases in this scan: %s."), didSteal); - let seconds: number = didSteal ? this._context.fastScanInterval! : this._context.slowScanInterval!; + let seconds: number = didSteal + ? this._context.fastScanInterval! + : this._context.slowScanInterval!; if (isFirst) { seconds = this._context.startupScanDelay!; isFirst = false; } - log.partitionManager(withHost("Sleeping for %d seconds before starting the next scan."), seconds); + log.partitionManager( + withHost("Sleeping for %d seconds before starting the next scan."), + seconds + ); await delay(seconds * 1000); } } diff --git a/sdk/eventhub/event-processor-host/src/partitionPump.ts b/sdk/eventhub/event-processor-host/src/partitionPump.ts index a1c397b03da9..2c822998264e 100644 --- a/sdk/eventhub/event-processor-host/src/partitionPump.ts +++ b/sdk/eventhub/event-processor-host/src/partitionPump.ts @@ -69,7 +69,10 @@ export class PartitionPump { await this._createNewReceiver(); await this._scheduleLeaseRenewer(); log.partitionPump( - withHostAndPartition(this._lease, "Successfully started the receiver and scheduled lease renewer.") + withHostAndPartition( + this._lease, + "Successfully started the receiver and scheduled lease renewer." + ) ); } @@ -84,7 +87,10 @@ export class PartitionPump { this._client = this._context.getEventHubClient(); } catch (err) { log.error( - withHostAndPartition(partitionId, "An error occurred while creating " + "the eventhub client: %O."), + withHostAndPartition( + partitionId, + "An error occurred while creating " + "the eventhub client: %O." + ), err ); throw err; @@ -156,7 +162,10 @@ export class PartitionPump { let result: boolean = true; let error: Error | undefined; log.partitionPump( - withHostAndPartition(this._lease, "Lease renewer is active after " + "%d seconds. Trying to renew the lease"), + withHostAndPartition( + this._lease, + "Lease renewer is active after " + "%d seconds. Trying to renew the lease" + ), this._context.leaseRenewInterval ); try { @@ -179,7 +188,10 @@ export class PartitionPump { } if (!result) { log.error( - withHostAndPartition(this._lease, "Failed to renew the lease, result: %s. " + "Shutting down the receiver."), + withHostAndPartition( + this._lease, + "Failed to renew the lease, result: %s. " + "Shutting down the receiver." + ), result ); await this._removeReceiver(CloseReason.leaseLost); @@ -199,7 +211,10 @@ export class PartitionPump { try { await this._leaseRenewer(); } catch (err) { - log.error(withHostAndPartition(this._lease, "An error occurred in the _leaseRenewer(): %O"), err); + log.error( + withHostAndPartition(this._lease, "An error occurred in the _leaseRenewer(): %O"), + err + ); } }, renewalTime); } @@ -272,7 +287,9 @@ export class PartitionPump { let result = false; if (error) { // condition is "amqp:link:stolen" - if ((error as MessagingError).condition === ErrorNameConditionMapper.ReceiverDisconnectedError) { + if ( + (error as MessagingError).condition === ErrorNameConditionMapper.ReceiverDisconnectedError + ) { result = true; } else if (error.message.match(/.*New receiver with higher epoch.*/i) !== null) { result = true; diff --git a/sdk/eventhub/event-processor-host/src/partitionScanner.ts b/sdk/eventhub/event-processor-host/src/partitionScanner.ts index 1a20a6f0a088..fa0ae456b926 100644 --- a/sdk/eventhub/event-processor-host/src/partitionScanner.ts +++ b/sdk/eventhub/event-processor-host/src/partitionScanner.ts @@ -46,13 +46,21 @@ export class PartitionScanner { const stealThese = await this._findLeasesToSteal(remainingNeeded); log.partitionScanner(withHost("Number of lease found to steal: %d."), stealThese.length); didSteal = await this._stealLeases(stealThese); - log.partitionScanner(withHost("Have succesfully stolen: %d leases -> %s."), stealThese.length, didSteal); + log.partitionScanner( + withHost("Have succesfully stolen: %d leases -> %s."), + stealThese.length, + didSteal + ); } else { - log.partitionScanner(withHost("No need to scan further since remaining needed: %d."), remainingNeeded); + log.partitionScanner( + withHost("No need to scan further since remaining needed: %d."), + remainingNeeded + ); } } catch (err) { didSteal = false; - const msg = `An error occurred while scanning leases: ` + `${err ? err.stack : JSON.stringify(err)}.`; + const msg = + `An error occurred while scanning leases: ` + `${err ? err.stack : JSON.stringify(err)}.`; log.error(withHost("%s"), hostName, msg); const info: EPHDiagnosticInfo = { action: EPHActionStrings.scanningLeases, @@ -85,7 +93,10 @@ export class PartitionScanner { private _sortLeasesAndCalculateDesiredCount(isFirst: boolean): number { const hostName: string = this._context.hostName; const withHost = this._context.withHost; - log.partitionScanner(withHost("Accounting input: allLeaseStates count is: %d"), this._allLeaseStates.length); + log.partitionScanner( + withHost("Accounting input: allLeaseStates count is: %d"), + this._allLeaseStates.length + ); const uniqueOwners: Set = new Set(); uniqueOwners.add(hostName); let ourLeasesCount = 0; @@ -133,7 +144,11 @@ export class PartitionScanner { startingPoint = countPerHost * hostOrdinal; } // rotate this._allLeaseStates - log.partitionScanner(withHost("Host ordinal: %d. Rotating leases to start at: %d."), hostOrdinal, startingPoint); + log.partitionScanner( + withHost("Host ordinal: %d. Rotating leases to start at: %d."), + hostOrdinal, + startingPoint + ); if (startingPoint !== 0) { const rotatedList: Array = []; for (let i = 0; i < this._allLeaseStates.length; i++) { @@ -183,7 +198,12 @@ export class PartitionScanner { if (startAt < this._allLeaseStates.length) { const lease = this._allLeaseStates[startAt]; const partitionId = lease ? lease.partitionId : "undefined"; - log.partitionScanner(withHost("Examining chunk at '%s': [%d], needed %d."), partitionId, startAt, needed); + log.partitionScanner( + withHost("Examining chunk at '%s': [%d], needed %d."), + partitionId, + startAt, + needed + ); } else { log.partitionScanner(withHost("Examining chunk skipping, startAt is off end: %d"), startAt); } @@ -191,7 +211,11 @@ export class PartitionScanner { if (needed > 0 && this._unownedCount > 0 && startAt < this._allLeaseStates.length) { let runningNeeded = needed; const endAt = Math.min(startAt + needed, this._allLeaseStates.length); - log.partitionScanner(withHost("Finding expired leases from inclusive position range %d - %d"), startAt, endAt); + log.partitionScanner( + withHost("Finding expired leases from inclusive position range %d - %d"), + startAt, + endAt + ); const getThese: BaseLease[] = this._findExpiredLeases(startAt, endAt); const leaseManager = this._context.leaseManager; const getTheseResult: Promise[] = []; @@ -199,7 +223,7 @@ export class PartitionScanner { let lease: CompleteLease | undefined = undefined; const getThisPromise = leaseManager .getLease(thisLease.partitionId) - .then(receivedLease => { + .then((receivedLease) => { lease = receivedLease; if (lease) { return leaseManager.acquireLease(lease); @@ -207,10 +231,12 @@ export class PartitionScanner { return false; } }) - .then(acquired => { + .then((acquired) => { if (acquired) { runningNeeded--; - log.partitionScanner(withHostAndPartition(thisLease, "Acquired unowned/expired lease.")); + log.partitionScanner( + withHostAndPartition(thisLease, "Acquired unowned/expired lease.") + ); if (this._leaseOwnedByOthers.has(lease!.partitionId)) { this._leaseOwnedByOthers.delete(lease!.partitionId); this._unownedCount--; @@ -221,7 +247,7 @@ export class PartitionScanner { } return Promise.resolve(); }) - .catch(err => { + .catch((err) => { const msg = `An error occurred while getting/acquiring lease for partitionId ` + `'${thisLease.partitionId}': ${err ? err.stack : JSON.stringify(err)}`; @@ -239,7 +265,7 @@ export class PartitionScanner { return resultPromise.then(() => { return Promise.all(getTheseResult) - .catch(err => { + .catch((err) => { const msg = `An error occurred while getting/acquiring leases for some partitionId: ` + `${err ? err.stack : JSON.stringify(err)}`; @@ -319,7 +345,7 @@ export class PartitionScanner { let lease: CompleteLease | undefined = undefined; const tryStealPromise: Promise = this._context.leaseManager .getLease(stealableLease.partitionId) - .then(receivedLease => { + .then((receivedLease) => { lease = receivedLease; if (receivedLease) { return this._context.leaseManager.acquireLease(receivedLease); @@ -327,14 +353,16 @@ export class PartitionScanner { return false; } }) - .then(acquired => { + .then((acquired) => { if (acquired) { this._context.pumpManager.addPump(lease!).catch(); - log.partitionScanner(withHostAndPartition(stealableLease, "Successfully stolen the lease.")); + log.partitionScanner( + withHostAndPartition(stealableLease, "Successfully stolen the lease.") + ); } return acquired; }) - .catch(err => { + .catch((err) => { const msg = `An error occurred while stealing the lease for partitionId ` + `'${stealableLease.partitionId}': ${err ? err.stack : JSON.stringify(err)}`; @@ -355,7 +383,7 @@ export class PartitionScanner { // If we found at least one case where the lease could not be stolen then `.some()` // returns true. The final result will be true if `.some()` was not able to find a single // lease that could not be stolen. - const result = !stealResult.some(x => { + const result = !stealResult.some((x) => { return !x; }); return result; diff --git a/sdk/eventhub/event-processor-host/src/pumpManager.ts b/sdk/eventhub/event-processor-host/src/pumpManager.ts index d3edf8847745..5dc384fd8e10 100644 --- a/sdk/eventhub/event-processor-host/src/pumpManager.ts +++ b/sdk/eventhub/event-processor-host/src/pumpManager.ts @@ -31,15 +31,26 @@ export class PumpManager { await this.removePump(partitionId, CloseReason.shutdown); } else { log.pumpManager( - withHostAndPartition(partitionId, "Updating lease for pump since it" + "is open -> %s."), + withHostAndPartition( + partitionId, + "Updating lease for pump since it" + "is open -> %s." + ), partitionId, isOpen ); capturedPump.lease = lease; } } else { - log.pumpManager(withHostAndPartition(partitionId, "Creating a new pump with lease %o."), lease.getInfo()); - const pump = new PartitionPump(this._context, lease, this._context.onMessage!, this._context.onError!); + log.pumpManager( + withHostAndPartition(partitionId, "Creating a new pump with lease %o."), + lease.getInfo() + ); + const pump = new PartitionPump( + this._context, + lease, + this._context.onMessage!, + this._context.onError! + ); await pump.start(); } } catch (err) { diff --git a/sdk/eventhub/event-processor-host/src/util/constants.ts b/sdk/eventhub/event-processor-host/src/util/constants.ts index 7520f58a47b5..d46ead057321 100644 --- a/sdk/eventhub/event-processor-host/src/util/constants.ts +++ b/sdk/eventhub/event-processor-host/src/util/constants.ts @@ -18,5 +18,5 @@ export const leaseIdMismatchWithBlobOperation = "leaseidmismatchwithbloboperatio export const defaultConsumerGroup = "$default"; export const packageInfo = { name: "@azure/event-processor-host", - version: "2.0.0" + version: "2.1.0" }; diff --git a/sdk/eventhub/event-processor-host/src/util/utils.ts b/sdk/eventhub/event-processor-host/src/util/utils.ts index fc0f884c039a..c00996ee0f12 100644 --- a/sdk/eventhub/event-processor-host/src/util/utils.ts +++ b/sdk/eventhub/event-processor-host/src/util/utils.ts @@ -27,7 +27,9 @@ export function validateType( type: "string" | "number" | "boolean" | "Array" | "object" | "Date" | "function" ): void { if (required && paramValue == undefined) { - throw new TypeError(`${paramName} is required. Given value: ${paramValue}. Hence it cannot be null or undefined.`); + throw new TypeError( + `${paramName} is required. Given value: ${paramValue}. Hence it cannot be null or undefined.` + ); } if (paramValue != undefined) { if (type === "Array") { @@ -141,7 +143,12 @@ export async function retry(config: RetryConfig): Promise { config.partitionId ); } else { - log.util("[%s] Retry attempt: %d. Action '%s' suceeded.", config.hostName, retryCount, config.action); + log.util( + "[%s] Retry attempt: %d. Action '%s' suceeded.", + config.hostName, + retryCount, + config.action + ); } } catch (err) { innerError = err; diff --git a/sdk/eventhub/event-processor-host/test/eph.spec.ts b/sdk/eventhub/event-processor-host/test/eph.spec.ts index 5ac492a4c0f5..0d8b158241dd 100644 --- a/sdk/eventhub/event-processor-host/test/eph.spec.ts +++ b/sdk/eventhub/event-processor-host/test/eph.spec.ts @@ -48,7 +48,7 @@ describe("EPH", function(): void { } ); const context = host["_context"]; - const uaPrefix = "azsdk-js-azureeventprocessorhost/1.0.5 "; + const uaPrefix = "azsdk-js-azureeventprocessorhost/2.1.0 "; context.userAgent.should.include(uaPrefix); context.userAgent.should.include(`NODE-VERSION ${process.version}; ${os.type()} ${os.release()}`); const ehc: EventHubClient = context.getEventHubClient(); @@ -71,7 +71,7 @@ describe("EPH", function(): void { } ); const context = host["_context"]; - const uaPrefix = "azsdk-js-azureeventprocessorhost/1.0.5 "; + const uaPrefix = "azsdk-js-azureeventprocessorhost/2.1.0 "; context.userAgent.should.startWith(uaPrefix); context.userAgent.should.endWith(customua); const ehc: EventHubClient = context.getEventHubClient(); diff --git a/sdk/eventhub/testhub/package.json b/sdk/eventhub/testhub/package.json index eb5943621607..5c838409e5d3 100644 --- a/sdk/eventhub/testhub/package.json +++ b/sdk/eventhub/testhub/package.json @@ -6,26 +6,6 @@ "engine": { "node": ">=6.0.0" }, - "dependencies": { - "@azure/event-hubs": "^2.1.1", - "@azure/event-processor-host": "^1.0.6", - "@types/node": "^8.0.0", - "@types/uuid": "^3.4.3", - "@types/yargs": "^11.0.0", - "async-lock": "^1.1.3", - "death": "^1.1.0", - "debug": "^3.1.0", - "is-buffer": "^2.0.3", - "jssha": "^2.3.1", - "ms-rest-azure": "^2.5.9", - "ms-rest": "^2.3.3", - "rhea": "^1.0.4", - "rimraf": "^2.6.2", - "tslib": "^1.9.3", - "typescript": "^3.2.2", - "uuid": "^3.3.2", - "yargs": "^11.0.0" - }, "bin": { "testhub": "./dist/cli.js" }, @@ -50,5 +30,21 @@ "unit-test:browser": "echo skipped", "unit-test:node": "echo skipped", "unit-test": "npm run unit-test:node && npm run unit-test:browser" + }, + "dependencies": { + "@azure/event-hubs": "^2.1.1", + "@azure/event-processor-host": "^2.0.0", + "@types/node": "^8.0.0", + "@types/uuid": "^3.4.3", + "@types/yargs": "^13.0.0", + "async-lock": "^1.1.3", + "death": "^1.1.0", + "debug": "^3.1.0", + "rhea": "^1.0.4", + "rimraf": "^2.6.2", + "tslib": "^1.9.3", + "typescript": "^3.2.2", + "uuid": "^3.3.2", + "yargs": "^13.0.0" } } diff --git a/sdk/graphrbac/graph/LICENSE.txt b/sdk/graphrbac/graph/LICENSE.txt index a70e8cf66038..b73b4a1293c3 100644 --- a/sdk/graphrbac/graph/LICENSE.txt +++ b/sdk/graphrbac/graph/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/graphrbac/graph/README.md b/sdk/graphrbac/graph/README.md index 0a5d7c56b308..5efe763145dc 100644 --- a/sdk/graphrbac/graph/README.md +++ b/sdk/graphrbac/graph/README.md @@ -26,14 +26,17 @@ npm install @azure/ms-rest-nodeauth ##### Sample code ```ts -import * as msRest from "@azure/ms-rest-js"; -import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; import { GraphRbacManagementClient, GraphRbacManagementModels, GraphRbacManagementMappers } from "@azure/graph"; -const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; - -msRestNodeAuth.interactiveLogin().then((creds) => { - const client = new GraphRbacManagementClient(creds, subscriptionId); +const tenantId = ""; + +msRestNodeAuth.interactiveLogin({ + tokenAudience: "https://graph.windows.net", + domain: tenantId +}).then((creds) => { + const client = new GraphRbacManagementClient(creds, tenantId, { + baseUri: "https://graph.windows.net" + }); client.signedInUser.get().then((result) => { console.log("The result is:"); console.log(result); @@ -66,7 +69,7 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to + diff --git a/sdk/identity/identity/test/manual/package.json b/sdk/identity/identity/test/manual/package.json new file mode 100644 index 000000000000..917ed39855e4 --- /dev/null +++ b/sdk/identity/identity/test/manual/package.json @@ -0,0 +1,32 @@ +{ + "name": "identity-browser-manual-tests", + "version": "0.1.0", + "description": "Manual tests for Azure SDK browser use scenarios", + "main": "dist/bundle.js", + "scripts": { + "build": "webpack --config webpack.config.js", + "start": "webpack-dev-server" + }, + "author": "Microsoft Corporation", + "license": "MIT", + "dependencies": { + "@azure/identity": "../..", + "@azure/keyvault-keys": "../../../../keyvault/keyvault-keys", + "react": "^16.8.6", + "react-dom": "^16.8.6", + "tslib": "^1.9.3" + }, + "devDependencies": { + "@types/express": "^4.16.0", + "@types/node": "^8.0.0", + "@types/react": "^16.8.24", + "@types/react-dom": "^16.8.5", + "@types/webpack": "^4.4.13", + "@types/webpack-dev-middleware": "^2.0.2", + "ts-loader": "^5.3.1", + "typescript": "^3.2.2", + "webpack": "^4.16.3", + "webpack-cli": "^3.2.3", + "webpack-dev-server": "^3.7.2" + } +} diff --git a/sdk/identity/identity/test/manual/src/index.tsx b/sdk/identity/identity/test/manual/src/index.tsx new file mode 100644 index 000000000000..f4f33ff81e48 --- /dev/null +++ b/sdk/identity/identity/test/manual/src/index.tsx @@ -0,0 +1,187 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as React from "react"; +import * as ReactDOM from "react-dom"; + +import { InteractiveBrowserCredential, BrowserLoginStyle } from "@azure/identity"; +import { KeysClient, Key } from "@azure/keyvault-keys"; + +interface ClientDetails { + tenantId: string, + clientId: string, + loginStyle: BrowserLoginStyle +} + +interface ClientDetailsEditorProps { + clientDetails: ClientDetails, + onSetClientDetails: React.Dispatch> +} + +function storeClientDetails(clientDetails: ClientDetails) { + localStorage.setItem('clientDetails', JSON.stringify(clientDetails)); +} + +function readClientDetails(): ClientDetails { + const detailsJson = localStorage.getItem('clientDetails') + if (detailsJson) { + const details = JSON.parse(detailsJson) + details.credential = undefined; + return details; + } + + return undefined; +} + +function getCredential(clientDetails: ClientDetails): InteractiveBrowserCredential | undefined { + return clientDetails.tenantId.length > 0 && clientDetails.clientId.length > 0 + ? new InteractiveBrowserCredential(clientDetails.tenantId, clientDetails.clientId, { loginStyle: clientDetails.loginStyle }) + : undefined +} + +function ClientDetailsEditor({ clientDetails , onSetClientDetails }: ClientDetailsEditorProps) { + const handleDetailsChange = (newDetails: ClientDetails) => { + storeClientDetails(newDetails) + onSetClientDetails(newDetails) + }; + + const setLoginStyle = (loginStyle: BrowserLoginStyle) => { + handleDetailsChange({ + ...clientDetails, + loginStyle + }); + } + + return ( +
+

Enter the details of your Azure AD App Registration:

+
+ +
+ +

Login Flow Style

+
+ +
+
+ +
+
+
+ ); +} + +function useKeyVaultKeys(vaultName: string, clientDetails: ClientDetails) { + const [running, setRunning] = React.useState(false) + const [keys, setKeys] = React.useState(undefined) + const [error, setErrorInner] = React.useState(undefined); + const url = `https://${vaultName}.vault.azure.net`; + + const setError = (err) => { + setRunning(false) + setErrorInner(err) + } + + React.useEffect(() => { + const credential = getCredential(clientDetails); + if (vaultName.trim().length === 0) { + setError("You must enter a vault name to fetch keys.") + } else if (credential === undefined) { + setError("You must enter client details to fetch keys.") + } else if (running) { + // Kick off the request asynchronously. The setKeys call will + // propagate the key list back to the UI state. + const keysClient = new KeysClient(url, credential); + (async () => { + const keyResult = []; + setKeys(keyResult); + + for await (const keyAttributes of keysClient.listKeys()) { + keyResult.push(await keysClient.getKey(keyAttributes.name)) + } + + setKeys(keyResult); + setRunning(false) + })().catch(err => setError(err.toString())); + } else { + setError("") + } + }, [vaultName, clientDetails, running]) + + return { keys, fetchKeys: () => setRunning(true), error } +} + +interface KeyVaultTestProps { + storedVaultName?: string, + clientDetails: ClientDetails +} + +const KeyVaultTest = ({ storedVaultName, clientDetails }: KeyVaultTestProps) => { + const [vaultName, setVaultName] = React.useState(storedVaultName || ""); + const { keys, fetchKeys, error } = useKeyVaultKeys(vaultName, clientDetails); + + const handleVaultNameChange = (newVaultName) => { + localStorage.setItem('keyVaultName', newVaultName); + setVaultName(newVaultName); + }; + + return ( +
+

List Key Vault Keys

+
{ fetchKeys(); e.preventDefault(); }}> + + +
+ {!error ? null :

{error}

} + {!keys ? null : + ( + + + + + + + + + + {keys.map(key => )} + +
Key NameEnabledExpires
{key.name}{key.enabled.toString()}{key.expires && key.expires.toDateString()}
+ ) + } +
+ ); +} + +function TestPage() { + const storedVaultName = localStorage.getItem('keyVaultName'); + const [clientDetails, setClientDetails] = React.useState(readClientDetails() || { tenantId: "", clientId: "", loginStyle: "popup"}) + return ( +
+

Azure SDK Browser Manual Tests

+
+ + +
+ ); +} + +ReactDOM.render( + , + document.getElementById("app") +); diff --git a/sdk/identity/identity/test/manual/tsconfig.json b/sdk/identity/identity/test/manual/tsconfig.json new file mode 100644 index 000000000000..5355d106bb1e --- /dev/null +++ b/sdk/identity/identity/test/manual/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "outDir": "./dist/", + "sourceMap": true, + "module": "commonjs", + "target": "es6", + "jsx": "react", + "lib":[ + "dom", + "es6", + "esnext.asynciterable" + ] + } +} diff --git a/sdk/identity/identity/test/manual/webpack.config.js b/sdk/identity/identity/test/manual/webpack.config.js new file mode 100644 index 000000000000..6e7683275af8 --- /dev/null +++ b/sdk/identity/identity/test/manual/webpack.config.js @@ -0,0 +1,29 @@ +const path = require('path'); + +module.exports = { + entry: './src/index.tsx', + output: { + filename: 'index.js', + path: path.resolve(__dirname, 'dist') + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/ + } + ] + }, + resolve: { + extensions: [ '.tsx', '.ts', '.js' ], + aliasFields: ['browser'] + }, + mode: 'development', + devServer: { + contentBase: './dist', + }, + optimization: { + usedExports: true + } +}; diff --git a/sdk/identity/identity/test/node/clientCertificateCredential.spec.ts b/sdk/identity/identity/test/node/clientCertificateCredential.spec.ts index 7015b67b6461..a81658fc8f5d 100644 --- a/sdk/identity/identity/test/node/clientCertificateCredential.spec.ts +++ b/sdk/identity/identity/test/node/clientCertificateCredential.spec.ts @@ -48,7 +48,7 @@ describe("ClientCertificateCredential", function () { await credential.getToken("scope"); - const authRequest = await mockHttpClient.getAuthRequest(); + const authRequest = mockHttpClient.requests[0]; if (!authRequest) { assert.fail("No authentication request was intercepted"); } else { diff --git a/sdk/identity/identity/test/node/deviceCodeCredential.spec.ts b/sdk/identity/identity/test/node/deviceCodeCredential.spec.ts new file mode 100644 index 000000000000..eee1ffa82b34 --- /dev/null +++ b/sdk/identity/identity/test/node/deviceCodeCredential.spec.ts @@ -0,0 +1,233 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import assert from "assert"; +import { delay } from "@azure/core-http"; +import { AbortController } from "@azure/abort-controller"; +import { MockAuthHttpClient, assertRejects } from "../authTestUtils"; +import { AuthenticationError, ErrorResponse } from "../../src/client/errors"; +import { DeviceCodeCredential, DeviceCodeResponse } from '../../src/credentials/deviceCodeCredential'; + +const deviceCodeResponse: DeviceCodeResponse = { + interval: 1, + expires_in: 20, + verification_uri: "https://contoso.com/devicelogin", + device_code: "XXXXXXXXXXXXXXXXXX", + user_code: "B3920934", + message: "Visit https://contoso.com/devicelogin and enter code B3920934", +} + +const pendingResponse: ErrorResponse = { + error: "authorization_pending", + error_description: "Waiting for user to authenticate" +}; + +describe("DeviceCodeCredential", function () { + this.timeout(10000); // eslint-disable-line no-invalid-this + + it("sends a device code request and returns a token when the user completes it", async function() { + const mockHttpClient = new MockAuthHttpClient({ + authResponse: [ + { status: 200, parsedBody: deviceCodeResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 200, parsedBody: { access_token: "token", expires_in: 5 } }, + ] + }); + + const credential = new DeviceCodeCredential( + "tenant", + "client", + details => assert.equal(details.message, deviceCodeResponse.message), + mockHttpClient.identityClientOptions + ); + + const accessToken = await credential.getToken("scope"); + const currentTimestamp = Date.now() + 5000; + + if (accessToken === null) { + assert.fail("getToken did not return an AccessToken") + } else { + assert.strictEqual(accessToken.token, "token") + assert.ok( + accessToken.expiresOnTimestamp >= currentTimestamp - 1000 + && accessToken.expiresOnTimestamp <= currentTimestamp, + `AccessToken.expiresOnTimestamp is not ~${currentTimestamp}: ${accessToken.expiresOnTimestamp}`); + } + }); + + it("refreshes the access token on subsequent getToken requests", async function() { + const mockHttpClient = new MockAuthHttpClient({ + authResponse: [ + { status: 200, parsedBody: deviceCodeResponse }, + { status: 200, parsedBody: { access_token: "token", expires_in: 5, refresh_token: "ABC123" } }, + { status: 200, parsedBody: { access_token: "token", expires_in: 5, refresh_token: "ABC123" } }, + ] + }); + + const credential = new DeviceCodeCredential( + "tenant", + "client", + details => assert.equal(details.message, deviceCodeResponse.message), + mockHttpClient.identityClientOptions + ); + + await credential.getToken("scope"); + const refreshedToken = await credential.getToken("scope"); + + if (refreshedToken === null) { + assert.fail("getToken did not return a refreshed AccessToken") + } else { + // Basic verification that a refresh request was made with the + // refresh_token returned by the previous request + const refreshRequest = mockHttpClient.requests[2]; + assert.ok( + refreshRequest.body.indexOf(`grant_type=refresh_token`) > -1, + "Request does not contain refresh_token grant type"); + assert.ok( + refreshRequest.body.indexOf(`refresh_token=ABC123`) > -1, + "Request does not contain refresh token"); + } + }); + + it("re-initiates the device code flow when the refresh token expires", async function() { + const mockHttpClient = new MockAuthHttpClient({ + authResponse: [ + { status: 200, parsedBody: deviceCodeResponse }, + { status: 200, parsedBody: { access_token: "token", expires_in: 5, refresh_token: "ABC123" } }, + { status: 400, parsedBody: { error: "interaction_required", error_description: "Interaction required" } }, + { status: 200, parsedBody: deviceCodeResponse }, + { status: 200, parsedBody: { access_token: "token", expires_in: 5 } }, + ] + }); + + const credential = new DeviceCodeCredential( + "tenant", + "client", + details => assert.equal(details.message, deviceCodeResponse.message), + mockHttpClient.identityClientOptions + ); + + await credential.getToken("scope"); + const refreshedToken = await credential.getToken("scope"); + + if (refreshedToken === null) { + assert.fail("getToken did not return a refreshed AccessToken") + } else { + // Basic verification that the device code flow was re-initiated + // once the refresh token request failed with "interaction_required" + const refreshRequest = mockHttpClient.requests[3]; + assert.ok( + refreshRequest.url.endsWith("devicecode"), + "Device code authorization request was not re-initiated"); + } + }); + + it("throws an AuthenticationError when the user declines the authorization flow", async function() { + const mockHttpClient = new MockAuthHttpClient({ + authResponse: [ + { status: 200, parsedBody: deviceCodeResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 400, parsedBody: { error: "authorization_declined", error_description: "" }}, + ] + }); + + const credential = new DeviceCodeCredential( + "tenant", + "client", + details => assert.equal(details.message, deviceCodeResponse.message), + mockHttpClient.identityClientOptions + ); + + await assertRejects( + credential.getToken("scope"), + error => { + const authError = error as AuthenticationError; + assert.strictEqual(error.name, 'AuthenticationError') + assert.strictEqual(authError.errorResponse.error, "authorization_declined") + return true; + }); + }); + + it("throws an AuthenticationError when the authorization token expires", async function() { + const mockHttpClient = new MockAuthHttpClient({ + authResponse: [ + { status: 200, parsedBody: deviceCodeResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 400, parsedBody: { error: "expired_token", error_description: "" }}, + ] + }); + + const credential = new DeviceCodeCredential( + "tenant", + "client", + details => assert.equal(details.message, deviceCodeResponse.message), + mockHttpClient.identityClientOptions + ); + + await assertRejects( + credential.getToken("scope"), + error => { + const authError = error as AuthenticationError; + assert.strictEqual(error.name, 'AuthenticationError') + assert.strictEqual(authError.errorResponse.error, "expired_token") + return true; + }); + }); + + it("throws an AuthenticationError when the client sends the wrong device code", async function() { + const mockHttpClient = new MockAuthHttpClient({ + authResponse: [ + { status: 200, parsedBody: deviceCodeResponse }, + { status: 400, parsedBody: { error: "bad_verification_code", error_description: "" }}, + ] + }); + + const credential = new DeviceCodeCredential( + "tenant", + "client", + details => assert.equal(details.message, deviceCodeResponse.message), + mockHttpClient.identityClientOptions + ); + + await assertRejects( + credential.getToken("scope"), + error => { + const authError = error as AuthenticationError; + assert.strictEqual(error.name, 'AuthenticationError') + assert.strictEqual(authError.errorResponse.error, "bad_verification_code") + return true; + }); + }); + + it("cancels polling when abort signal is raised", async function() { + const mockHttpClient = new MockAuthHttpClient({ + authResponse: [ + { status: 200, parsedBody: deviceCodeResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 400, parsedBody: pendingResponse }, + { status: 200, parsedBody: { access_token: "token", expires_in: 5 } }, + ] + }); + + const credential = new DeviceCodeCredential( + "tenant", + "client", + details => assert.equal(details.message, deviceCodeResponse.message), + mockHttpClient.identityClientOptions + ); + + const abortController = new AbortController(); + const getTokenPromise = credential.getToken("scope", { abortSignal: abortController.signal }); + await delay(1500); // Long enough for device code request and one polling request + abortController.abort(); + + const token = await getTokenPromise; + + assert.strictEqual(token, null); + assert.strictEqual(mockHttpClient.requests.length, 2); + }); +}); diff --git a/sdk/identity/identity/test/node/environmentCredential.spec.ts b/sdk/identity/identity/test/node/environmentCredential.spec.ts index f33c5c6705f6..0660a95c0eff 100644 --- a/sdk/identity/identity/test/node/environmentCredential.spec.ts +++ b/sdk/identity/identity/test/node/environmentCredential.spec.ts @@ -19,7 +19,7 @@ describe("EnvironmentCredential", function () { delete process.env.AZURE_CLIENT_ID; delete process.env.AZURE_CLIENT_SECRET; - const authRequest = await mockHttpClient.getAuthRequest(); + const authRequest = mockHttpClient.requests[0]; assertClientCredentials(authRequest, "tenant", "client", "secret"); }); }); diff --git a/sdk/identity/identity/test/node/managedIdentityCredential.spec.ts b/sdk/identity/identity/test/node/managedIdentityCredential.spec.ts index a0c6768c6710..42fd36615c6a 100644 --- a/sdk/identity/identity/test/node/managedIdentityCredential.spec.ts +++ b/sdk/identity/identity/test/node/managedIdentityCredential.spec.ts @@ -9,9 +9,8 @@ import { MockAuthHttpClient, MockAuthHttpClientOptions } from "../authTestUtils" import { WebResource, AccessToken } from "@azure/core-http"; interface AuthRequestDetails { - request: WebResource, - token: AccessToken | null, - sendRequestCount: number + requests: WebResource[], + token: AccessToken | null }; describe("ManagedIdentityCredential", function () { @@ -20,10 +19,20 @@ describe("ManagedIdentityCredential", function () { delete process.env.MSI_SECRET }); - it("sends an authorization request with a modified resource name", async () => { - const authDetails = await getMsiTokenAuthRequest(["https://service/.default"], "client"); - const authRequest = authDetails.request; + it("sends an authorization request with a modified resource name", async function () { + const authDetails = await getMsiTokenAuthRequest(["https://service/.default"], "client", { + authResponse: [ + { status: 200 }, // Respond to IMDS ping + { status: 200, + parsedBody: { + token: "token", + expires_on: "06/20/2019 02:57:58 +00:00" + } + }, + ] + }); + const authRequest = authDetails.requests[0]; assert.ok(authRequest.query, "No query string parameters on request"); if (authRequest.query) { assert.equal(authRequest.method, "GET"); @@ -35,9 +44,19 @@ describe("ManagedIdentityCredential", function () { }); it("sends an authorization request with an unmodified resource name", async () => { - const authDetails = await getMsiTokenAuthRequest("someResource"); - const authRequest = authDetails.request; + const authDetails = await getMsiTokenAuthRequest("someResource", undefined, { + authResponse: [ + { status: 200 }, // Respond to IMDS ping + { status: 200, + parsedBody: { + token: "token", + expires_on: "06/20/2019 02:57:58 +00:00" + } + }, + ] + }); + const authRequest = authDetails.requests[1]; assert.ok(authRequest.query, "No query string parameters on request"); if (authRequest.query) { assert.equal(authRequest.query["client_id"], undefined); @@ -53,7 +72,7 @@ describe("ManagedIdentityCredential", function () { "client", { mockTimeout: true }); - assert.strictEqual(authDetails.request.timeout, 500); + assert.strictEqual(authDetails.requests[0].timeout, 500); assert.strictEqual(authDetails.token, null); }); @@ -72,7 +91,7 @@ describe("ManagedIdentityCredential", function () { assert.strictEqual(firstGetToken, null); assert.strictEqual(secondGetToken, null); - assert.strictEqual(mockHttpClient.sendRequestCount, 1); + assert.strictEqual(mockHttpClient.requests.length, 1); }); it("sends an authorization request correctly in an App Service environment", async () => { @@ -89,8 +108,8 @@ describe("ManagedIdentityCredential", function () { } } }); - const authRequest = authDetails.request; + const authRequest = authDetails.requests[0]; assert.ok(authRequest.query, "No query string parameters on request"); if (authRequest.query) { assert.equal(authRequest.method, "GET"); @@ -112,7 +131,7 @@ describe("ManagedIdentityCredential", function () { process.env.MSI_ENDPOINT = "https://endpoint"; const authDetails = await getMsiTokenAuthRequest(["https://service/.default"], "client"); - const authRequest = authDetails.request; + const authRequest = authDetails.requests[0]; assert.ok(authRequest.body !== undefined, "No body on request"); if (authRequest.body) { @@ -139,8 +158,7 @@ describe("ManagedIdentityCredential", function () { const token = await credential.getToken(scopes); return { token, - request: await mockHttpClient.getAuthRequest(), - sendRequestCount: mockHttpClient.sendRequestCount + requests: mockHttpClient.requests }; } }); diff --git a/sdk/identity/identity/test/usernamePasswordCredential.spec.ts b/sdk/identity/identity/test/usernamePasswordCredential.spec.ts new file mode 100644 index 000000000000..88485f776577 --- /dev/null +++ b/sdk/identity/identity/test/usernamePasswordCredential.spec.ts @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import assert from "assert"; +import { UsernamePasswordCredential } from "../src"; +import { MockAuthHttpClient } from "./authTestUtils"; + +describe("UsernamePasswordCredential", function () { + it("sends an authorization request with the given username and password", async () => { + const mockHttpClient = new MockAuthHttpClient(); + + const credential = new UsernamePasswordCredential( + "tenant", + "client", + "user@domain.com", + "p4s$w0rd", + mockHttpClient.identityClientOptions + ); + + await credential.getToken("scope"); + + const authRequest = await mockHttpClient.requests[0]; + if (!authRequest) { + assert.fail("No authentication request was intercepted"); + } else { + assert.strictEqual( + authRequest.url.startsWith(`https://authority/tenant`), + true, + "Request body doesn't contain expected tenantId" + ); + assert.strictEqual( + authRequest.body.indexOf(`client_id=client`) > -1, + true, + "Request body doesn't contain expected clientId" + ); + assert.strictEqual( + authRequest.body.indexOf(`username=user%40domain.com`) > -1, + true, + "Request body doesn't contain expected username" + ); + assert.strictEqual( + authRequest.body.indexOf(`password=p4s%24w0rd`) > -1, + true, + "Request body doesn't contain expected username" + ); + } + }); +}); diff --git a/sdk/identity/identity/tsconfig.json b/sdk/identity/identity/tsconfig.json index bcc628b3998f..4f73c82e0e41 100644 --- a/sdk/identity/identity/tsconfig.json +++ b/sdk/identity/identity/tsconfig.json @@ -51,5 +51,12 @@ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ "forceConsistentCasingInFileNames": true - } + }, + "include": [ + "src/**/*", + "test/**/*", + ], + "exclude": [ + "test/manual" + ] } diff --git a/sdk/keyvault/keyvault-certificates/api-extractor.json b/sdk/keyvault/keyvault-certificates/api-extractor.json new file mode 100644 index 000000000000..d7c1d0c15df7 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/api-extractor.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "mainEntryPointFilePath": "types/src/index.d.ts", + "docModel": { + "enabled": false + }, + "apiReport": { + "enabled": true, + "reportFolder": "./review" + }, + "dtsRollup": { + "enabled": true, + "untrimmedFilePath": "", + "publicTrimmedFilePath": "./types/keyvault-certificates.d.ts" + }, + "messages": { + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + } + }, + "extractorMessageReporting": { + "ae-missing-release-tag": { + "logLevel": "none" + }, + "ae-unresolved-link": { + "logLevel": "none" + } + } + } +} diff --git a/sdk/keyvault/keyvault-certificates/karma.conf.js b/sdk/keyvault/keyvault-certificates/karma.conf.js new file mode 100644 index 000000000000..e13440815542 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/karma.conf.js @@ -0,0 +1,128 @@ +// https://github.com/karma-runner/karma-chrome-launcher +process.env.CHROME_BIN = require("puppeteer").executablePath(); +require("dotenv").config({ path: "../.env" }); + +module.exports = function(config) { + config.set({ + basePath: "./", + frameworks: ["mocha"], + + plugins: [ + "karma-mocha", + "karma-mocha-reporter", + "karma-chrome-launcher", + "karma-edge-launcher", + "karma-firefox-launcher", + "karma-ie-launcher", + "karma-env-preprocessor", + "karma-coverage", + "karma-remap-coverage", + "karma-junit-reporter", + "karma-json-to-file-reporter", + "karma-json-preprocessor" + ], + + files: [ + // polyfill service supporting IE11 missing features + // Promise,String.prototype.startsWith,String.prototype.endsWith,String.prototype.repeat,String.prototype.includes,Array.prototype.includes,Object.keys + "https://cdn.polyfill.io/v2/polyfill.js?features=Promise,String.prototype.startsWith,String.prototype.endsWith,String.prototype.repeat,String.prototype.includes,Array.prototype.includes,Object.keys|always", + "dist-test/index.browser.js", + "recordings/browsers/**/*.json" + ], + + exclude: [], + + preprocessors: { + "**/*.js": ["env"], + "dist-test/index.browser.js": ["coverage"], + "recordings/browsers/**/*.json": ["json"] + }, + + envPreprocessor: [ + "AZURE_CLIENT_ID", + "AZURE_CLIENT_SECRET", + "AZURE_TENANT_ID", + "KEYVAULT_NAME", + "TEST_MODE" + ], + + reporters: ["mocha", "coverage", "remap-coverage", "junit", "json-to-file"], + + coverageReporter: { type: "in-memory" }, + + remapCoverageReporter: { + "text-summary": null, + html: "./coverage-browser", + cobertura: "./coverage-browser/cobertura-coverage.xml" + }, + + remapOptions: { + exclude: /node_modules|tests/g + }, + + junitReporter: { + outputDir: "", + outputFile: "test-results.browser.xml", + suite: "", + useBrowserName: false, + nameFormatter: undefined, + classNameFormatter: undefined, + properties: {} + }, + + jsonToFileReporter: { + filter: function(obj) { + if (obj.writeFile) { + const fs = require("fs-extra"); + try { + // Stripping away the filename from the file path and retaining the directory structure + fs.ensureDirSync(obj.path.substring(0, obj.path.lastIndexOf("/") + 1)); + } catch (err) { + if (err.code !== "EEXIST") throw err; + } + fs.writeFile(obj.path, JSON.stringify(obj.content, null, " "), (err) => { + if (err) { + throw err; + } + }); + } + return false; + }, + outputPath: "." + }, + + port: 9328, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: false, + + // --no-sandbox allows our tests to run in Linux without having to change the system. + // --disable-web-security allows us to authenticate from the browser without having to write tests using interactive auth, which would be far more complex. + browsers: ["ChromeHeadlessNoSandbox"], + customLaunchers: { + ChromeHeadlessNoSandbox: { + base: "ChromeHeadless", + flags: ["--no-sandbox", "--disable-web-security"] + } + }, + + singleRun: false, + concurrency: 1, + + browserNoActivityTimeout: 600000, + browserDisconnectTimeout: 10000, + browserDisconnectTolerance: 3, + browserConsoleLogOptions: { + // IMPORTANT: COMMENT the following line if you want to print debug logs in your browsers in record mode!! + terminal: process.env.TEST_MODE !== "record" + }, + + client: { + mocha: { + // change Karma's debug.html to the mocha web reporter + reporter: "html", + timeout: "600000" + } + } + }); +}; diff --git a/sdk/keyvault/keyvault-certificates/package.json b/sdk/keyvault/keyvault-certificates/package.json index fa7da1069594..85c155d170ba 100644 --- a/sdk/keyvault/keyvault-certificates/package.json +++ b/sdk/keyvault/keyvault-certificates/package.json @@ -44,50 +44,95 @@ "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", "build:minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js 2>&1", - "build:test": "npm run build", - "build": "tsc && rollup -c rollup.config.js 2>&1", + "build:samples": "tsc samples/helloWorld.ts", + "build:es6": "tsc -p tsconfig.json", + "build:nodebrowser": "rollup -c 2>&1", + "build:test": "npm run build:es6 && rollup -c rollup.test.config.js 2>&1", + "build": "npm run extract-api && npm run build:samples && npm run build:es6 && npm run build:nodebrowser", "check-format": "prettier --list-different --config ../../.prettierrc.json \"src/**/*.ts\" \"*.{js,json}\"", "clean": "rimraf dist esm test-dist typings *.tgz *.log", + "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../.prettierrc.json \"src/**/*.ts\" \"*.{js,json}\"", - "integration-test:browser": "echo skipped", - "integration-test:node": "echo skipped", + "integration-test:browser": "karma start --single-run", + "integration-test:node": "nyc mocha --require source-map-support/register --reporter mocha-multi --timeout 1200000 --reporter-options spec=-,mocha-junit-reporter=- --full-trace dist-test/index.node.js", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint \"src/**/*.ts\" -c ../../.eslintrc.json --fix --fix-type [problem,suggestion]", - "lint": "eslint -c ../../.eslintrc.json src --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o keyvault-certificates-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src tests samples --ext .ts -f html -o keyvault-certificates-lintReport.html || exit 0", + "lint:terminal": "eslint -c ../../.eslintrc.json src tests samples --ext .ts", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", "test:node": "npm run build:test && npm run unit-test:node && npm run integration-test:node", "test": "npm run build:test && npm run unit-test && npm run integration-test", - "unit-test:browser": "echo skipped", - "unit-test:node": "echo skipped", + "unit-test:browser": "cross-env TEST_MODE=playback npm run integration-test:browser", + "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test": "npm run unit-test:node && npm run unit-test:browser" }, "sideEffects": false, "dependencies": { - "@azure/core-arm": "1.0.0-preview.2", - "@azure/core-http": "1.0.0-preview.2", + "@azure/core-arm": "1.0.0-preview.3", + "@azure/core-http": "1.0.0-preview.3", + "@azure/core-paging": "1.0.0-preview.1", + "@azure/core-tracing": "1.0.0-preview.1", "tslib": "^1.9.3" }, "devDependencies": { - "@azure/identity": "1.0.0-preview.2", + "@azure/identity": "1.0.0-preview.3", "@microsoft/api-extractor": "^7.1.5", "@types/chai": "^4.1.6", + "@types/dotenv": "^6.1.0", + "@types/fs-extra": "^8.0.0", + "@types/mocha": "^5.2.5", + "@types/nise": "^1.4.0", + "@types/nock": "^10.0.1", "@types/node": "^8.0.0", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@types/query-string": "6.2.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", + "assert": "^1.4.1", "chai": "^4.2.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "cross-env": "^5.2.0", + "dotenv": "^8.0.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", + "fs-extra": "^8.1.0", + "karma": "^4.0.1", + "karma-chrome-launcher": "^3.0.0", + "karma-coverage": "^1.1.2", + "karma-edge-launcher": "^0.4.2", + "karma-env-preprocessor": "^0.1.1", + "karma-firefox-launcher": "^1.1.0", + "karma-ie-launcher": "^1.0.0", + "karma-json-preprocessor": "^0.3.3", + "karma-json-to-file-reporter": "^1.0.1", + "karma-junit-reporter": "^1.2.0", + "karma-mocha": "^1.3.0", + "karma-mocha-reporter": "^2.2.5", + "karma-remap-coverage": "^0.1.5", + "mocha": "^5.2.0", + "mocha-junit-reporter": "^1.18.0", + "mocha-multi": "^1.0.1", + "nise": "^1.4.10", + "nock": "^10.0.6", + "nyc": "^14.0.0", "prettier": "^1.16.4", + "puppeteer": "^1.11.0", + "query-string": "^5.0.0", "rimraf": "^2.6.2", "rollup": "^1.16.3", + "rollup": "^1.16.3", "rollup-plugin-commonjs": "^10.0.0", + "rollup-plugin-multi-entry": "^2.1.0", "rollup-plugin-node-resolve": "^5.0.2", + "rollup-plugin-replace": "^2.1.0", + "rollup-plugin-shim": "^1.0.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "rollup-plugin-terser": "^5.1.1", + "rollup-plugin-visualizer": "^2.0.0", + "source-map-support": "^0.5.9", "typescript": "^3.2.2", "uglify-js": "^3.4.9", "url": "^0.11.0" diff --git a/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__create_read_update_and_delete_operations/recording_can_create_a_certificate.json b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__create_read_update_and_delete_operations/recording_can_create_a_certificate.json new file mode 100644 index 000000000000..aba891374f46 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/recordings/browsers/certificates_client__create_read_update_and_delete_operations/recording_can_create_a_certificate.json @@ -0,0 +1,400 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "36c10ec0-cdcf-4406-b174-fa82e70d4ff8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Tue, 13 Aug 2019 19:37:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1e8fa1dd-40d2-4ed9-957d-5531b6019400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "x-ms-ests-server": "2.1.9228.13 - EST ProdSlices", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"policy\":{\"x509_props\":{\"subject\":\"cn=MyCert\"},\"issuer\":{\"name\":\"Self\"}}}", + "status": 202, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/pending\",\"issuer\":{\"name\":\"Self\"},\"csr\":\"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsdPm69c0UNMuk7Anb5zANNZ7DuZMwhIFvSjhCWlhg5OaKja5MxLetIFRpJ8GGzBNpHXQoLb/gQYqx9Bq/PF2aJsBBrht6XCwZVQPAxEoHF7G25++eGdQUYT95JWgFJd66CzrYnFXKmSua1hdYlNhZalPQ2sV39CwU112mIq3Ejy87x+DuVX5FoXO1J8BNM/edDr19iOImoTBgMLSv9qUG7GrF7kz0TU+90HOpvoS6X6CXAMNe93xFZMNCyvtFDvSaQTTNB7NCGguLp8qGEBKnXzY1xqjSAOdlgr0Ij3B2JPBRC9G8cui8qD7dbBBc1iUk5lSQsenrMHwjqvB7B8JTwIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAD/1IjNFYViCyiaBtAF2kXskY6VB2tU0PCmNYDAnWIrfdPGCkuIPr5bj8VjjMi0b1R81b/6kKMOsEkci//xIf9ClEFlWHAuUuUxyFSgztMWkARmlHxhEAKdslDpjQzecvjhV1iA2oPT8J7UC/xNIpbsTfxaLQ0A1HQXDmYI3JlAkdOAdSEdwqi+FL4sbkacV4lMCJ8NOw6ntb6+kLx3wyr9BG+A36ZEcpLyPsV1iLGh4w9MXvA3QBX80goHhDmyunn1USREpSBCpBDmGxgXvt14yDpE1/WV6eNFWsUGil+3XOXa9+69MsftbcZHVP0nLl1S/2cafPfTKnlT30NodicE=\",\"cancellation_requested\":false,\"status\":\"inProgress\",\"status_details\":\"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.\",\"request_id\":\"12201cad1be44d2c91c4a9eface4e3ed\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "202", + "x-ms-keyvault-region": "westus", + "content-length": "1331", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:14 GMT", + "content-type": "application/json; charset=utf-8", + "location": "https://danrodri-kv.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-32807286539187697/pending?api-version=7.0&request_id=12201cad1be44d2c91c4a9eface4e3ed", + "x-ms-request-id": "9bcf73ed-98ca-4328-b7b0-e6321d895567", + "cache-control": "no-cache", + "retry-after": "10", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "69d7e566-3ea1-4069-b44f-7f75278f95e8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Tue, 13 Aug 2019 19:37:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5382df34-f60d-46c0-a0fa-e0e4e17c9b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "x-ms-ests-server": "2.1.9228.13 - EST ProdSlices", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-\",\"deletedDate\":1565725035,\"scheduledPurgeDate\":1573501035,\"id\":\"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/1608acd6ebb44d49b808f97b81fae25b\",\"attributes\":{\"enabled\":false,\"nbf\":1565724434,\"exp\":1597347434,\"created\":1565725034,\"updated\":1565725034,\"recoveryLevel\":\"Recoverable+Purgeable\"},\"policy\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/policy\",\"key_props\":{\"exportable\":true,\"kty\":\"RSA\",\"key_size\":2048,\"reuse_key\":false},\"secret_props\":{\"contentType\":\"application/x-pkcs12\"},\"x509_props\":{\"subject\":\"cn=MyCert\",\"ekus\":[\"1.3.6.1.5.5.7.3.1\",\"1.3.6.1.5.5.7.3.2\"],\"key_usage\":[\"digitalSignature\",\"keyEncipherment\"],\"validity_months\":12,\"basic_constraints\":{\"ca\":false}},\"lifetime_actions\":[{\"trigger\":{\"lifetime_percentage\":80},\"action\":{\"action_type\":\"AutoRenew\"}}],\"issuer\":{\"name\":\"Self\"},\"attributes\":{\"enabled\":true,\"created\":1565725034,\"updated\":1565725034}},\"pending\":{\"id\":\"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/pending\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1284", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "25ae7ae9-4af5-4041-b68b-fc89f4d4a5a0", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "85b94637-dcd8-4324-8c0a-320d9fc05e4f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Tue, 13 Aug 2019 19:37:15 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1e7dadf6-782f-45ef-9852-597352c63f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "x-ms-ests-server": "2.1.9228.13 - EST ProdSlices", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Certificate is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "126", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "68253122-b87a-48a0-9ade-4e79e7c15a7d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:25 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a93143e1-b474-45fb-b808-f759686156b9", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Tue, 13 Aug 2019 19:37:25 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "9d120307-e7d2-47b1-9ccb-bdcac9269700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "x-ms-ests-server": "2.1.9228.13 - EST ProdSlices", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Certificate is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "126", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:26 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "37c4caa8-96d2-45cd-965b-e510b98a6351", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Tue, 13 Aug 2019 19:37:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9078e8b3-30fb-4ac2-a226-e2973a732995", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Tue, 13 Aug 2019 19:37:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "810ce07d-7c17-4780-b5f1-5d559408a600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "x-ms-ests-server": "2.1.9228.13 - EST ProdSlices", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=40.121.43.168;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "77c80ebe-fc0d-4daf-b759-a50cccc5a109", + "x-ms-keyvault-region": "westus", + "date": "Tue, 13 Aug 2019 19:37:36 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + } + ], + "uniqueTestInfo": {} +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete_operations/recording_can_create_a_certificate.js b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete_operations/recording_can_create_a_certificate.js new file mode 100644 index 000000000000..4af041fe34ca --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/recordings/node/certificates_client__create_read_update_and_delete_operations/recording_can_create_a_certificate.js @@ -0,0 +1,443 @@ +let nock = require('nock'); + +module.exports.testInfo = {} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/certificates/recoverCertificateName-cancreateacertificate-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9581f6ed-a0bc-4143-905b-0e56e33c394b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:34:53 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '70a9e7f5-8404-47f4-a125-3e3bff963a00', + 'x-ms-ests-server', + '2.1.9228.13 - EST ProdSlices', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmlKJjaLPh1Btl-g2FEhTVM_aSJHAQAAAN0H5dQOAAAA; expires=Thu, 12-Sep-2019 19:34:53 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Tue, 13 Aug 2019 19:34:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/certificates/recoverCertificateName-cancreateacertificate-/create', {"policy":{"x509_props":{"subject":"cn=MyCert"},"issuer":{"name":"Self"}}}) + .query(true) + .reply(202, {"id":"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/pending","issuer":{"name":"Self"},"csr":"MIICoTCCAYkCAQAwETEPMA0GA1UEAxMGTXlDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvTa5u0tB35rtudU3BpuxV95WOyoNzRtQVdTTlanV6cvVi8XOzNzLDoZk7KTqakljs5FrjAyxaCpp3lREU9UtgbSIVJc6CrDSi+ZrATj19evfR+IJR1q45mrc9cBZ5NjSRh9VAoBZf6WILEDwooirS5rjz+kSvBx7JpW86zrDYJezSVF/lTNlfiElXi+cvd9e+bas3MlqSYGuhIyrbNZ5dehpJM3M2SDPVgS1ZT/+0T+o1onrgVknRbmbHR/6cLa9mKfAoypGf0li3lor8cypqvuqz86wxUrBdcJv0YbnmLOdwhfoOYseYNVvv2TeoktKyp4+IQQ+QwQ46ca1S+EJzQIDAQABoEswSQYJKoZIhvcNAQkOMTwwOjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBADq8i549mqXmAv3f5uJkVxA9EUiwOlhnkSMwDavD/yBF+JESG5Dc4vE/yzGPGTT3wWlFrEVNXvsy/iTjITXnCISXdhTuN9yyLdylcY5907SeVRA3bhXnqTxn3pgEy7FbTrpCzTmjU/JEtssIbZf58y3B2aBhdCDQrqdiXsfuGjDrt8/vSrHySV088w5wxe6b/5+ahmGUVMIiMuKRxr3JfDFbiBJd7d5f70WOH0g/P0lPDe5t4mOMOzRGiohNy3PhlZpsasMucBrNxw6SPxVpMf6MMBSuLyG3ylmfJrDGejnMd0PXU+Fda4UJgqniMJs1tVl5gocRZKLE4/DiO9LtPgU=","cancellation_requested":false,"status":"inProgress","status_details":"Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.","request_id":"59ab5c2ceb7d4d24894d5ae8d2cfe88a"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Location', + 'https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/pending?api-version=7.0&request_id=59ab5c2ceb7d4d24894d5ae8d2cfe88a', + 'Retry-After', + '10', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '60e52241-7563-448c-baa4-9085be13977f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:34:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '1330' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/certificates/recoverCertificateName-cancreateacertificate-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '17238c84-7b0c-4106-88a0-9a4577d7763a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:34:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a8f2f2b4-676e-4790-9e05-711489829500', + 'x-ms-ests-server', + '2.1.9228.13 - EST ProdSlices', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmlKJjaLPh1Btl-g2FEhTVM_aSJHAgAAAN0H5dQOAAAA; expires=Thu, 12-Sep-2019 19:34:54 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Tue, 13 Aug 2019 19:34:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/certificates/recoverCertificateName-cancreateacertificate-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedcertificates/recoverCertificateName-cancreateacertificate-","deletedDate":1565724894,"scheduledPurgeDate":1573500894,"id":"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/7411e5a891c74bfc9307fb9d08ac9c48","attributes":{"enabled":false,"nbf":1565724293,"exp":1597347293,"created":1565724893,"updated":1565724893,"recoveryLevel":"Recoverable+Purgeable"},"policy":{"id":"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/policy","key_props":{"exportable":true,"kty":"RSA","key_size":2048,"reuse_key":false},"secret_props":{"contentType":"application/x-pkcs12"},"x509_props":{"subject":"cn=MyCert","ekus":["1.3.6.1.5.5.7.3.1","1.3.6.1.5.5.7.3.2"],"key_usage":["digitalSignature","keyEncipherment"],"validity_months":12,"basic_constraints":{"ca":false}},"lifetime_actions":[{"trigger":{"lifetime_percentage":80},"action":{"action_type":"AutoRenew"}}],"issuer":{"name":"Self"},"attributes":{"enabled":true,"created":1565724894,"updated":1565724894}},"pending":{"id":"https://keyvault_name.vault.azure.net/certificates/recoverCertificateName-cancreateacertificate-/pending"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f3411477-b0b2-436a-805f-2a846d139c6d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:34:55 GMT', + 'Connection', + 'close', + 'Content-Length', + '1280' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedcertificates/recoverCertificateName-cancreateacertificate-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'cb0084a9-bc67-468b-b660-0808f660a8f7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:34:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd22907f7-adde-4817-8927-fa5de3639600', + 'x-ms-ests-server', + '2.1.9228.13 - EST ProdSlices', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmlKJjaLPh1Btl-g2FEhTVM_aSJHAwAAAN0H5dQOAAAA; expires=Thu, 12-Sep-2019 19:34:55 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Tue, 13 Aug 2019 19:34:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedcertificates/recoverCertificateName-cancreateacertificate-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Certificate is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '126', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f91d1368-4cf8-4685-a589-4243d22ced21', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:34:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedcertificates/recoverCertificateName-cancreateacertificate-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b54b1d61-2a28-44df-b898-3ddf00aee5ac', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:35:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a065e0e3-a8a5-4c2f-85fd-8cf7ac139e00', + 'x-ms-ests-server', + '2.1.9228.13 - EST ProdSlices', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmlKJjaLPh1Btl-g2FEhTVM_aSJHBAAAAN0H5dQOAAAA; expires=Thu, 12-Sep-2019 19:35:06 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Tue, 13 Aug 2019 19:35:06 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedcertificates/recoverCertificateName-cancreateacertificate-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1b1ba974-026a-4594-a96b-060ca314069d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=40.121.43.168;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Tue, 13 Aug 2019 19:35:05 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/keyvault/keyvault-certificates/review/keyvault-certificates.api.md b/sdk/keyvault/keyvault-certificates/review/keyvault-certificates.api.md new file mode 100644 index 000000000000..e71c34fc91b1 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/review/keyvault-certificates.api.md @@ -0,0 +1,286 @@ +## API Report File for "@azure/keyvault-certificates" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import * as coreHttp from '@azure/core-http'; +import { HttpClient } from '@azure/core-http'; +import { HttpPipelineLogger } from '@azure/core-http'; +import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { ServiceClientOptions } from '@azure/core-http'; +import { TokenCredential } from '@azure/core-http'; + +// Warning: (ae-forgotten-export) The symbol "Attributes" needs to be exported by the entry point index.d.ts +// +// @public +export interface BaseCertificateAttributes extends Attributes { + // Warning: (ae-forgotten-export) The symbol "DeletionRecoveryLevel" needs to be exported by the entry point index.d.ts + readonly recoveryLevel?: DeletionRecoveryLevel; +} + +// @public +export interface CertificateAttributes extends ParsedKeyVaultEntityIdentifier { + readonly created?: Date; + enabled?: boolean; + readonly expires?: Date; + readonly id?: string; + readonly notBefore?: Date; + tags?: { + [propertyName: string]: string; + }; + readonly updated?: Date; + readonly x509Thumbprint?: Uint8Array; +} + +// @public +export interface CertificateIssuer { + id?: string; + provider?: string; +} + +// @public +export interface CertificateOperation { + cancellationRequested?: boolean; + csr?: Uint8Array; + error?: ErrorModel; + readonly id?: string; + issuerParameters?: IssuerParameters; + requestId?: string; + status?: string; + statusDetails?: string; + target?: string; +} + +// @public +export interface CertificatePolicy { + attributes?: BaseCertificateAttributes; + readonly id?: string; + issuerParameters?: IssuerParameters; + keyProperties?: KeyProperties; + lifetimeActions?: LifetimeAction[]; + secretProperties?: SecretProperties; + x509CertificateProperties?: X509CertificateProperties; +} + +// @public +export class CertificatesClient { + constructor(url: string, credential: TokenCredential, pipelineOrOptions?: ServiceClientOptions | NewPipelineOptions); + // Warning: (ae-forgotten-export) The symbol "BackupCertificateResult" needs to be exported by the entry point index.d.ts + backupCertificate(name: string, options?: RequestOptions): Promise; + // Warning: (ae-forgotten-export) The symbol "KeyVaultClientCreateCertificateOptionalParams" needs to be exported by the entry point index.d.ts + // Warning: (ae-forgotten-export) The symbol "Certificate" needs to be exported by the entry point index.d.ts + createCertificate(name: string, options?: KeyVaultClientCreateCertificateOptionalParams): Promise; + protected readonly credential: TokenCredential; + deleteCertificate(certificateName: string, options?: RequestOptions): Promise; + deleteCertificateContacts(options?: RequestOptions): Promise; + deleteCertificateIssuer(issuerName: string, options?: RequestOptions): Promise; + deleteCertificateOperation(name: string, options?: RequestOptions): Promise; + getCertificate(name: string, version: string, options?: RequestOptions): Promise; + getCertificateContacts(options?: RequestOptions): Promise; + getCertificateIssuer(issuerName: string, options?: RequestOptions): Promise; + getCertificateOperation(name: string, options?: RequestOptions): Promise; + getCertificatePolicy(name: string, options?: RequestOptions): Promise; + static getDefaultPipeline(credential: TokenCredential, pipelineOptions?: NewPipelineOptions): ServiceClientOptions; + getDeletedCertificate(name: string, options?: RequestOptions): Promise; + importCertificate(name: string, base64EncodedCertificate: string, options?: KeyVaultClientImportCertificateOptionalParams): Promise; + listCertificateIssuers(options?: KeyVaultClientGetCertificateIssuersOptionalParams): PagedAsyncIterableIterator; + listCertificates(options?: RequestOptions): PagedAsyncIterableIterator; + listCertificateVersions(name: string, options?: RequestOptions): PagedAsyncIterableIterator; + listDeletedCertificates(options?: KeyVaultClientGetDeletedCertificatesOptionalParams): PagedAsyncIterableIterator; + mergeCertificate(name: string, x509Certificates: Uint8Array[], options?: RequestOptions): Promise; + readonly pipeline: ServiceClientOptions; + purgeDeletedCertificate(name: string, options?: RequestOptions): Promise; + recoverDeletedCertificate(name: string, options?: RequestOptions): Promise; + restoreCertificate(certificateBackup: Uint8Array, options?: RequestOptions): Promise; + setCertificateContacts(contacts: Contact[], options?: RequestOptions): Promise; + setCertificateIssuer(issuerName: string, provider: string, options?: KeyVaultClientSetCertificateIssuerOptionalParams): Promise; + updateCertificate(name: string, version: string, options?: KeyVaultClientUpdateCertificateOptionalParams): Promise; + updateCertificateIssuer(issuerName: string, options?: KeyVaultClientUpdateCertificateIssuerOptionalParams): Promise; + updateCertificateOperation(name: string, cancel: boolean, options?: RequestOptions): Promise; + updateCertificatePolicy(name: string, policy: CertificatePolicy, options?: RequestOptions): Promise; + readonly vaultBaseUrl: string; +} + +// @public +export interface Contact { + emailAddress?: string; + name?: string; + phone?: string; +} + +// @public +export interface Contacts { + contactList?: Contact[]; + readonly id?: string; +} + +// @public +export interface DeletedCertificate extends Certificate { + readonly deletedDate?: Date; + recoveryId?: string; + readonly scheduledPurgeDate?: Date; +} + +// @public +export interface ErrorModel { + readonly code?: string; + readonly innerError?: ErrorModel; + readonly message?: string; +} + +// @public +export interface IssuerAttributes { + readonly created?: Date; + enabled?: boolean; + readonly updated?: Date; +} + +// @public +export interface IssuerCredentials { + accountId?: string; + password?: string; +} + +// @public +export interface IssuerParameters { + certificateTransparency?: boolean; + certificateType?: string; + name?: string; +} + +// @public +export interface KeyProperties { + // Warning: (ae-forgotten-export) The symbol "JsonWebKeyCurveName" needs to be exported by the entry point index.d.ts + curve?: JsonWebKeyCurveName; + exportable?: boolean; + keySize?: number; + // Warning: (ae-forgotten-export) The symbol "JsonWebKeyType" needs to be exported by the entry point index.d.ts + keyType?: JsonWebKeyType; + reuseKey?: boolean; +} + +// @public +export interface KeyVaultClientGetCertificateIssuersOptionalParams extends coreHttp.RequestOptionsBase { + maxresults?: number; +} + +// @public +export interface KeyVaultClientGetDeletedCertificatesOptionalParams extends coreHttp.RequestOptionsBase { + includePending?: boolean; + maxresults?: number; +} + +// @public +export interface KeyVaultClientImportCertificateOptionalParams extends coreHttp.RequestOptionsBase { + certificateAttributes?: BaseCertificateAttributes; + certificatePolicy?: CertificatePolicy; + password?: string; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface KeyVaultClientSetCertificateIssuerOptionalParams extends coreHttp.RequestOptionsBase { + attributes?: IssuerAttributes; + credentials?: IssuerCredentials; + organizationDetails?: OrganizationDetails; +} + +// @public +export interface KeyVaultClientUpdateCertificateIssuerOptionalParams extends coreHttp.RequestOptionsBase { + attributes?: IssuerAttributes; + credentials?: IssuerCredentials; + organizationDetails?: OrganizationDetails; + provider?: string; +} + +// @public +export interface KeyVaultClientUpdateCertificateOptionalParams extends coreHttp.RequestOptionsBase { + certificateAttributes?: BaseCertificateAttributes; + certificatePolicy?: CertificatePolicy; + tags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface LifetimeAction { + // Warning: (ae-forgotten-export) The symbol "Action" needs to be exported by the entry point index.d.ts + action?: Action; + // Warning: (ae-forgotten-export) The symbol "Trigger" needs to be exported by the entry point index.d.ts + trigger?: Trigger; +} + +// @public +export interface NewPipelineOptions { + // (undocumented) + HTTPClient?: HttpClient; + // (undocumented) + logger?: HttpPipelineLogger; + // (undocumented) + proxyOptions?: ProxyOptions; + // (undocumented) + retryOptions?: RetryOptions; + telemetry?: TelemetryOptions; +} + +// @public +export interface OrganizationDetails { + // Warning: (ae-forgotten-export) The symbol "AdministratorDetails" needs to be exported by the entry point index.d.ts + adminDetails?: AdministratorDetails[]; + id?: string; +} + +// @public (undocumented) +export interface ParsedKeyVaultEntityIdentifier { + name: string; + vaultUrl: string; + version?: string; +} + +// @public +export interface ProxyOptions { + // (undocumented) + proxySettings?: string; +} + +// @public +export interface RequestOptions { + requestOptions?: coreHttp.RequestOptionsBase; +} + +// @public +export interface RetryOptions { + readonly maxRetryDelayInMs?: number; + readonly retryCount?: number; + readonly retryIntervalInMS?: number; +} + +// @public +export interface SecretProperties { + contentType?: string; +} + +// @public (undocumented) +export interface TelemetryOptions { + // (undocumented) + value: string; +} + +// @public +export interface X509CertificateProperties { + ekus?: string[]; + // Warning: (ae-forgotten-export) The symbol "KeyUsageType" needs to be exported by the entry point index.d.ts + keyUsage?: KeyUsageType[]; + subject?: string; + // Warning: (ae-forgotten-export) The symbol "SubjectAlternativeNames" needs to be exported by the entry point index.d.ts + subjectAlternativeNames?: SubjectAlternativeNames; + validityInMonths?: number; +} + + +// (No @packageDocumentation comment for this package) + +``` diff --git a/sdk/keyvault/keyvault-certificates/rollup.base.config.js b/sdk/keyvault/keyvault-certificates/rollup.base.config.js new file mode 100644 index 000000000000..f47cbd7e7b26 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/rollup.base.config.js @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import nodeResolve from "rollup-plugin-node-resolve"; +import multiEntry from "rollup-plugin-multi-entry"; +import cjs from "rollup-plugin-commonjs"; +import replace from "rollup-plugin-replace"; +import { terser } from "rollup-plugin-terser"; +import sourcemaps from "rollup-plugin-sourcemaps"; +import shim from "rollup-plugin-shim"; + +/** + * @type {import('rollup').RollupFileOptions} + */ + +const pkg = require("./package.json"); +const version = pkg.version; +const banner = [ + "/*!", + " * Copyright (c) Microsoft and contributors. All rights reserved.", + " * Licensed under the MIT License. See License.txt in the project root for", + " * license information.", + " * ", + ` * Azure KeyVault Certificates SDK for JavaScript - ${version}`, + " */" +].join("\n"); + +const depNames = Object.keys(pkg.dependencies); +const production = process.env.NODE_ENV === "production"; + +export function nodeConfig(test = false) { + const externalNodeBuiltins = ["fs", "os", "url", "assert"]; + const baseConfig = { + input: "dist-esm/src/index.js", + external: depNames.concat(externalNodeBuiltins), + output: { + file: "dist/index.js", + format: "cjs", + name: "azurekeyvaultcertificates", + sourcemap: true, + banner: banner + }, + plugins: [ + sourcemaps(), + replace({ + delimiters: ["", ""], + values: { + // replace dynamic checks with if (true) since this is for node only. + // Allows rollup's dead code elimination to be more aggressive. + "if (isNode)": ";isNode; if (true)" + } + }), + nodeResolve({ preferBuiltins: true }), + cjs() + ] + }; + + if (test) { + // entry point is every test file + baseConfig.input = ["dist-esm/tests/*.test.js"]; + baseConfig.plugins.unshift(multiEntry({ exports: false })); + + // different output file + baseConfig.output.file = "dist-test/index.node.js"; + + baseConfig.external.push("assert", "fs", "path"); + + baseConfig.context = "null"; + + // Disable tree-shaking of test code. In rollup-plugin-node-resolve@5.0.0, rollup started respecting + // the "sideEffects" field in package.json. Since our package.json sets "sideEffects=false", this also + // applies to test code, which causes all tests to be removed by tree-shaking. + baseConfig.treeshake = false; + } else if (production) { + baseConfig.plugins.push(terser()); + } + + return baseConfig; +} + +export function browserConfig(test = false) { + const baseConfig = { + input: "dist-esm/src/index.js", + output: { + file: "browser/azure-keyvault-certificates.js", + banner: banner, + format: "umd", + name: "azurekeyvaultcertificates", + globals: { + "@azure/core-http": "Azure.Core.HTTP", + "@azure/core-arm": "Azure.Core.ARM" + }, + sourcemap: true + }, + preserveSymlinks: false, + plugins: [ + sourcemaps(), + replace({ + delimiters: ["", ""], + values: { + // replace dynamic checks with if (false) since this is for + // browser only. Rollup's dead code elimination will remove + // any code guarded by if (isNode) { ... } + "if (isNode)": ";isNode; if (false)" + } + }), + // os is not used by the browser bundle, so just shim it + shim({ + dotenv: `export function config() { }`, + os: ` + export const type = 1; + export const release = 1; + ` + }), + nodeResolve({ + mainFields: ["module", "browser"], + preferBuiltins: false + }), + cjs({ + namedExports: { + assert: ["ok", "equal", "strictEqual"] + } + }) + ] + }; + + baseConfig.external = ["fs-extra", "path"]; + if (test) { + baseConfig.input = ["dist-esm/tests/*.test.js"]; + baseConfig.plugins.unshift(multiEntry({ exports: false })); + baseConfig.output.file = "dist-test/index.browser.js"; + // mark fs-extra as external + baseConfig.context = "null"; + + // Disable tree-shaking of test code. In rollup-plugin-node-resolve@5.0.0, rollup started respecting + // the "sideEffects" field in package.json. Since our package.json sets "sideEffects=false", this also + // applies to test code, which causes all tests to be removed by tree-shaking. + baseConfig.treeshake = false; + } else if (production) { + baseConfig.output.file = "browser/azure-keyvault-certificates.min.js"; + baseConfig.plugins.push( + terser({ + output: { + preamble: banner + } + }) + // Comment visualizer because it only works on Node.js 8+; Uncomment it to get bundle analysis report + // visualizer({ + // filename: "./statistics.html", + // sourcemap: true + // }) + ); + } + + return baseConfig; +} diff --git a/sdk/keyvault/keyvault-certificates/rollup.config.js b/sdk/keyvault/keyvault-certificates/rollup.config.js index f426f55447a2..53b75f9e5943 100644 --- a/sdk/keyvault/keyvault-certificates/rollup.config.js +++ b/sdk/keyvault/keyvault-certificates/rollup.config.js @@ -1,84 +1,14 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -import nodeResolve from "rollup-plugin-node-resolve"; -import cjs from "rollup-plugin-commonjs"; - -/** - * @type {import('rollup').RollupFileOptions} - */ - -const pkg = require("./package.json"); -const version = pkg.version; -const banner = [ - "/*!", - " * Copyright (c) Microsoft and contributors. All rights reserved.", - " * Licensed under the MIT License. See License.txt in the project root for", - " * license information.", - " * ", - ` * Azure KeyVault Secrets SDK for JavaScript - ${version}`, - " */" -].join("\n"); - -const depNames = Object.keys(pkg.dependencies); -const input = "esm/index.js"; - -function nodeConfig(test = false) { - const externalNodeBuiltins = ["url"]; - const baseConfig = { - input: input, - external: depNames.concat(externalNodeBuiltins), - output: { - file: "dist/index.js", - format: "cjs", - name: "Azure.Keyvault.Secrets", - sourcemap: true, - banner: banner - }, - plugins: [ - nodeResolve({ preferBuiltins: true }), - cjs() - ] - }; - - return baseConfig; -} - -function browserConfig(test = false) { - const baseConfig = { - input: input, - output: { - file: "browser/index.js", - format: "umd", - name: "Azure.Keyvault.Secrets", - sourcemap: true, - globals: { - "@azure/core-http": "Azure.Core.HTTP", - "@azure/core-arm": "Azure.Core.ARM" - }, - banner: banner - }, - plugins: [ - nodeResolve({ - preferBuiltins: false, - browser: true, - module: true - }), - cjs() - ] - }; - - return baseConfig; -} +import * as base from "./rollup.base.config"; const inputs = []; if (!process.env.ONLY_BROWSER) { - inputs.push(nodeConfig()); + inputs.push(base.nodeConfig()); } +// Disable this until we are ready to run rollup for the browser. if (!process.env.ONLY_NODE) { - inputs.push(browserConfig()); + inputs.push(base.browserConfig()); } export default inputs; diff --git a/sdk/keyvault/keyvault-certificates/rollup.test.config.js b/sdk/keyvault/keyvault-certificates/rollup.test.config.js new file mode 100644 index 000000000000..ad98718cce46 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/rollup.test.config.js @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +import * as base from "./rollup.base.config"; + +export default [base.nodeConfig(true), base.browserConfig(true)]; diff --git a/sdk/keyvault/keyvault-certificates/samples/helloWorld.ts b/sdk/keyvault/keyvault-certificates/samples/helloWorld.ts new file mode 100644 index 000000000000..ab4a6004b926 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/samples/helloWorld.ts @@ -0,0 +1,55 @@ +import { CertificatesClient } from "../src"; +import { EnvironmentCredential } from "@azure/identity"; + +export function delay(t: number, value?: T): Promise { + return new Promise((resolve) => setTimeout(() => resolve(value), t)); +} + +async function main(): Promise { + // EnvironmentCredential expects the following three environment variables: + // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory + // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant + // - AZURE_CLIENT_SECRET: The client secret for the registered application + const vaultName = process.env["KEYVAULT_NAME"] || "" + const url = `https://${vaultName}.vault.azure.net`; + const credential = new EnvironmentCredential(); + + const cc = new CertificatesClient(url, credential); + + // let result = await cc.createCertificate("MyCertificate2", { certificatePolicy: { issuerParameters: { name: "Self" }, x509CertificateProperties: { subject: "cn=MyCert" } }}); + // console.log("result: ", result); + + // await delay(150000); + + // let result2 = await cc.getCertificate("MyCertificate2", ""); + // console.log("result: ", result2); + + for await (let cert of cc.listCertificates()) { + console.log("cert: ", cert); + for await (let version of cc.listCertificateVersions(cert.name)) { + console.log("version: ", version); + + let backedUp = await cc.backupCertificate(cert.name); + console.log("backedup: ", backedUp); + + let policy = await cc.getCertificatePolicy(cert.name); + console.log("policy: ", policy); + + let operation = await cc.getCertificateOperation(cert.name); + console.log("operation: ", operation); + } + } + + for await (let issuer of cc.listCertificateIssuers()) { + console.log("issuer: ", issuer); + } + + let contacts = await cc.getCertificateContacts(); + console.log("contact: ", contacts); +} + +main().catch((err) => { + console.log("error code: ", err.code); + console.log("error message: ", err.message); + console.log("error stack: ", err.stack); +}); diff --git a/sdk/keyvault/keyvault-certificates/samples/singleCertificate.ts b/sdk/keyvault/keyvault-certificates/samples/singleCertificate.ts deleted file mode 100644 index 4a81d949e67c..000000000000 --- a/sdk/keyvault/keyvault-certificates/samples/singleCertificate.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { CertificatesClient, SecretsClient } from "../src"; -import { CertificatePolicy } from "../src/models"; -import { EnvironmentCredential } from "@azure/identity"; - -async function main(): Promise { - // EnvironmentCredential expects the following three environment variables: - // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory - // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant - // - AZURE_CLIENT_SECRET: The client secret for the registered application - const vaultName = process.env["KEYVAULT_NAME"] || "" - const url = `https://${vaultName}.vault.azure.net`; - const credential = new EnvironmentCredential(); - - const cc = new CertificatesClient(url, credential); - const sc = new SecretsClient(url, credential); - - /* - let result = await cc.createCertificate("Unique123124", { - certificatePolicy: { - issuerParameters: { name: "Self" }, - keyProperties: { - exportable: true, - keySize: 2048, - keyType: "RSA", - reuseKey: true - }, - lifetimeActions: [ - { - action: { - actionType: "EmailContacts" - }, - trigger: { - daysBeforeExpiry: 90 - } - } - ], - secretProperties: { - contentType: "application/x-pkcs12" - }, - x509CertificateProperties: { - keyUsage: [ - "cRLSign", - "dataEncipherment", - "digitalSignature", - "keyEncipherment", - "keyAgreement", - "keyCertSign"], - subject: "CN=MyTestPolicy", - validityInMonths: 12 - } - } - }); - - console.log(result); - */ - //let result = await cc.createCertificate("MyCert", { certificatePolicy: { issuerParameters: { name: "Self" }, x509CertificateProperties: { subject: "cn=MyCert" } } }) - let result = await cc.createCertificate("MyCert2", { issuerName: "Self", x509Subject: "cn=MyCert2", }) - let result = await cc.createCertificate("MyCert2", { certificatePolicy: { issuerName: "Self", subjectName: "cn=MyCert2" } }); - //console.log(result); - - /* - let result = await cc.getAllCertificates(); - - for await (let x of result) { - console.log(x); - } - */ - - - let result = await cc.getCertificate("Unique123124", ""); - let lifetimeActions = result.policy.lifetimeActions[0]; - console.log(lifetimeActions.action); - console.log(lifetimeActions.trigger); - - // let result = await sc.getSecret("Unique123123"); - // console.log(result); -} - -main().catch((err) => { - console.log("error code: ", err.code); - console.log("error message: ", err.message); - console.log("error stack: ", err.stack); -}); diff --git a/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts b/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts index 07313b97de07..1d6265b961c1 100644 --- a/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts +++ b/sdk/keyvault/keyvault-certificates/src/certificatesModels.ts @@ -2,6 +2,10 @@ import * as coreHttp from "@azure/core-http"; import { ParsedKeyVaultEntityIdentifier } from "./core/keyVaultBase"; import { CertificatePolicy } from "./core/models"; +/** + * @interface + * An interface representing a full certificate + */ export interface Certificate extends CertificateAttributes { /** * @member {string} [kid] The key id. @@ -31,6 +35,10 @@ export interface Certificate extends CertificateAttributes { contentType?: string; } +/** + * @interface + * An interface representing the attributes of a certificate + */ export interface CertificateAttributes extends ParsedKeyVaultEntityIdentifier { /** * @member {string} [id] The certificate id. @@ -67,6 +75,10 @@ export interface CertificateAttributes extends ParsedKeyVaultEntityIdentifier { readonly x509Thumbprint?: Uint8Array; } +/** + * @interface + * An interface representing a deleted certificate + */ export interface DeletedCertificate extends Certificate { /** * @member {string} [recoveryId] The url of the recovery object, used to @@ -90,10 +102,8 @@ export interface DeletedCertificate extends Certificate { /** * @interface - * An interface representing KeyVaultClientSetCertificateOptionalParams. + * An interface representing options for setting a certificate. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SetCertificateOptions { /** @@ -193,6 +203,10 @@ export interface RequestOptions { requestOptions?: coreHttp.RequestOptionsBase; } +/** + * @interface + * An interface representing the issuer of a certificate + */ export interface CertificateIssuer { /** * @member {string} [id] Certificate Identifier. @@ -204,6 +218,10 @@ export interface CertificateIssuer { provider?: string; } +/** + * @interface + * An interface representing the attributes of an issuer + */ export interface IssuerAttributes { /** * @member {string} [id] Certificate Identifier. @@ -230,10 +248,3 @@ export interface IssuerAttributes { */ name?: string; } - -export interface Issuer extends IssuerAttributes { - accountId?: string; - password?: string; - organizationId?: string; - adminDetails?: string; -} diff --git a/sdk/keyvault/keyvault-certificates/src/core/challengeBasedAuthenticationPolicy.ts b/sdk/keyvault/keyvault-certificates/src/core/challengeBasedAuthenticationPolicy.ts new file mode 100644 index 000000000000..da643a776364 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/src/core/challengeBasedAuthenticationPolicy.ts @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +import { TokenCredential, AccessToken } from "@azure/core-http"; +import { BaseRequestPolicy, RequestPolicy, RequestPolicyOptions, RequestPolicyFactory } from "@azure/core-http"; +import { Constants } from "@azure/core-http"; +import { HttpOperationResponse } from "@azure/core-http"; +import { HttpHeaders } from "@azure/core-http"; +import { WebResource } from "@azure/core-http"; + +export const TokenRefreshBufferMs = 2 * 60 * 1000; // 2 Minutes + +/** + * Creates a new ChallengeBasedAuthenticationPolicy factory. + * + * @param credential The TokenCredential implementation that can supply the challenge token. + */ +export function challengeBasedAuthenticationPolicy(credential: TokenCredential): RequestPolicyFactory { + return { + create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions) => { + return new ChallengeBasedAuthenticationPolicy(nextPolicy, options, credential); + } + }; +} + +export class AuthenticationChallenge { + constructor(public scopes: string[] | string) { } +} + +/** + * + * Provides a RequestPolicy that can request a token from a TokenCredential + * implementation and then apply it to the Authorization header of a request + * as a Bearer token. + * + */ +export class ChallengeBasedAuthenticationPolicy extends BaseRequestPolicy { + private cachedToken: AccessToken | undefined = undefined; + private challenge: AuthenticationChallenge | undefined = undefined; + + /** + * Creates a new ChallengeBasedAuthenticationPolicy object. + * + * @param nextPolicy The next RequestPolicy in the request pipeline. + * @param options Options for this RequestPolicy. + * @param credential The TokenCredential implementation that can supply the bearer token. + * @param scopes The scopes for which the bearer token applies. + */ + constructor( + nextPolicy: RequestPolicy, + options: RequestPolicyOptions, + private credential: TokenCredential, + private refreshOn: number = Date.now(), + ) { + super(nextPolicy, options); + } + + private parseWWWAuthenticate(www_authenticate: string): string { + // Parses an authentication message like: + // ``` + // Bearer authorization="some_authorization", resource="https://some.url" + // ``` + let authenticateArray = www_authenticate.split(" "); + + // Remove the "Bearer" piece + delete authenticateArray[0]; + + // Split the KV comma-separated list + let commaSep = authenticateArray.join().split(","); + for (let item of commaSep) { + // Split the key/value pairs + let kv = item.split("="); + if (kv[0].trim() == "resource") { + // Remove the quotations around the string + let resource = kv[1].trim().replace(/['"]+/g, ''); + return resource; + } + } + return ""; + } + + /** + * Applies the Bearer token to the request through the Authorization header. + * @param webResource + */ + public async sendRequest( + webResource: WebResource + ): Promise { + if (!webResource.headers) webResource.headers = new HttpHeaders(); + + let originalBody = webResource.body; + + if (this.challenge == undefined) { + // Use a blank to start the challenge + webResource.body = ""; + } else { + // or use the cached token if we have one + await this.authenticateRequest(webResource); + } + + let response = await this._nextPolicy.sendRequest(webResource); + + if (response.status == 401) { + webResource.body = originalBody; + + let www_authenticate = response.headers.get("WWW-Authenticate"); + + if (www_authenticate) { + let resource = this.parseWWWAuthenticate(www_authenticate); + let challenge = new AuthenticationChallenge(resource + "/.default") + + if (this.challenge != challenge) { + this.challenge = challenge; + this.cachedToken = undefined; + + await this.authenticateRequest(webResource); + } + } + return this._nextPolicy.sendRequest(webResource); + } else { + return response; + } + } + + private async authenticateRequest(webResource: WebResource): Promise { + if ( + this.cachedToken && + (Date.now() < this.refreshOn) + ) { + webResource.headers.set( + Constants.HeaderConstants.AUTHORIZATION, + `Bearer ${this.cachedToken.token}` + ); + } else { + let token: AccessToken | null = await this.credential.getToken(this.challenge!.scopes); + if (token) { + this.cachedToken = token; + this.refreshOn = token.expiresOnTimestamp - TokenRefreshBufferMs; + webResource.headers.set( + Constants.HeaderConstants.AUTHORIZATION, + `Bearer ${token.token}` + ); + } + } + } +} diff --git a/sdk/keyvault/keyvault-certificates/src/index.ts b/sdk/keyvault/keyvault-certificates/src/index.ts index cf6a83faa9d0..308ae7b47fee 100644 --- a/sdk/keyvault/keyvault-certificates/src/index.ts +++ b/sdk/keyvault/keyvault-certificates/src/index.ts @@ -3,7 +3,6 @@ import { isTokenCredential, RequestPolicyFactory, deserializationPolicy, - bearerTokenAuthenticationPolicy, signingPolicy, exponentialRetryPolicy, redirectPolicy, @@ -16,9 +15,10 @@ import { userAgentPolicy } from "@azure/core-http"; + import { RequestOptions, CertificateAttributes, Certificate, DeletedCertificate, CertificateIssuer } from "./certificatesModels"; import { getDefaultUserAgentValue } from "@azure/core-http"; -import { NewPipelineOptions, isNewPipelineOptions, Pipeline } from "./core/keyVaultBase"; +import { NewPipelineOptions, isNewPipelineOptions, ParsedKeyVaultEntityIdentifier, Pipeline, } from "./core/keyVaultBase"; import { TelemetryOptions } from "./core/clientOptions"; import { CertificateBundle, Contacts, KeyVaultClientCreateCertificateOptionalParams, @@ -27,17 +27,67 @@ import { KeyVaultClientUpdateCertificateIssuerOptionalParams, KeyVaultClientImportCertificateOptionalParams, KeyVaultClientUpdateCertificateOptionalParams, + CertificateAttributes as BaseCertificateAttributes, CertificateOperation, CertificatePolicy, BackupCertificateResult, KeyVaultClientGetDeletedCertificatesOptionalParams, DeletedCertificateItem, DeletedCertificateBundle, - Contact + Contact, + ErrorModel, + IssuerParameters, + IssuerCredentials, + IssuerAttributes, + KeyProperties, + LifetimeAction, + OrganizationDetails, + SecretProperties, + X509CertificateProperties, } from "./core/models"; import { KeyVaultClient } from "./core/keyVaultClient"; +import { ProxyOptions, RetryOptions } from "./core"; + import { RetryConstants, SDK_VERSION } from "./core/utils/constants"; import { parseKeyvaultIdentifier as parseKeyvaultEntityIdentifier } from "./core/utils"; +import "@azure/core-paging"; +import { PageSettings, PagedAsyncIterableIterator } from "@azure/core-paging"; +import { challengeBasedAuthenticationPolicy } from "./core/challengeBasedAuthenticationPolicy"; + +export { + BaseCertificateAttributes, + CertificateAttributes, + CertificateIssuer, + CertificateOperation, + CertificatePolicy, + Contact, + Contacts, + DeletedCertificate, + ErrorModel, + IssuerAttributes, + IssuerCredentials, + IssuerParameters, + KeyProperties, + KeyVaultClientSetCertificateIssuerOptionalParams, + KeyVaultClientGetCertificateIssuersOptionalParams, + KeyVaultClientGetDeletedCertificatesOptionalParams, + KeyVaultClientImportCertificateOptionalParams, + KeyVaultClientUpdateCertificateIssuerOptionalParams, + KeyVaultClientUpdateCertificateOptionalParams, + LifetimeAction, + NewPipelineOptions, + OrganizationDetails, + ParsedKeyVaultEntityIdentifier, + RequestOptions, + SecretProperties, + X509CertificateProperties, +} + +export { ProxyOptions, TelemetryOptions, RetryOptions }; + +/** + * The client to interact with the KeyVault certificates functionality + */ export class CertificatesClient { /** @@ -80,7 +130,7 @@ export class CertificatesClient { ), redirectPolicy(), isTokenCredential(credential) - ? bearerTokenAuthenticationPolicy(credential, "https://vault.azure.net/.default") + ? challengeBasedAuthenticationPolicy(credential) : signingPolicy(credential) ]); @@ -91,10 +141,19 @@ export class CertificatesClient { }; } + /** + * The base URL to the vault + */ public readonly vaultBaseUrl: string; + /** + * The options to create the connection to the service + */ public readonly pipeline: Pipeline; + /** + * The authentication credentials + */ protected readonly credential: TokenCredential; private readonly client: KeyVaultClient; @@ -143,63 +202,135 @@ export class CertificatesClient { return userAgentInfo.join(" "); } + private async *listCertificatesPage( + continuationState: PageSettings, + options?: RequestOptions + ): AsyncIterableIterator { + if (continuationState.continuationToken == null) { + const optionsComplete = { + maxresults: continuationState.maxPageSize, + ...(options && options.requestOptions ? options.requestOptions : {}) + }; + const currentSetResponse = await this.client.getCertificates( + this.vaultBaseUrl, + optionsComplete + ); + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse.map(this.getCertificateFromCertificateBundle); + } + while (continuationState.continuationToken) { + const currentSetResponse = await this.client.getCertificatesNext( + continuationState.continuationToken, + options + ); + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse.map(this.getCertificateFromCertificateBundle); + } + } + + private async *listCertificatesAll( + options?: RequestOptions + ): AsyncIterableIterator { + const f = {}; + + for await (const page of this.listCertificatesPage(f, options)) { + for (const item of page) { + yield item; + } + } + } + /** * Iterates the latest version of all certificates in the vault. The full certificate identifier and attributes are provided * in the response. No values are returned for the certificates. This operations requires the certificates/list permission. * @summary List all versions of the specified certificate. * @param [options] The optional parameters - * @returns AsyncIterableIterator + * @returns PagedAsyncIterableIterator */ - public async *getCertificates(options?: RequestOptions): AsyncIterableIterator { - let currentSetResponse = await this.client.getCertificates( - this.vaultBaseUrl, - { - ...(options && options.requestOptions ? options.requestOptions : {}) - } - ); - yield* currentSetResponse.map(this.getCertificateFromCertificateBundle); + public listCertificates(options?: RequestOptions): PagedAsyncIterableIterator { + const iter = this.listCertificatesAll(options); + let result = { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings: PageSettings = {}) => this.listCertificatesPage(settings, options) + }; + + return result; + } - while (currentSetResponse.nextLink) { - currentSetResponse = await this.client.getCertificatesNext( - currentSetResponse.nextLink, + private async *listCertificateVersionsPage( + name: string, + continuationState: PageSettings, + options?: RequestOptions + ): AsyncIterableIterator { + if (continuationState.continuationToken == null) { + const optionsComplete: KeyVaultClientGetCertificateVersionsOptionalParams = { + maxresults: continuationState.maxPageSize, + ...(options && options.requestOptions ? options.requestOptions : {}) + }; + const currentSetResponse = await this.client.getCertificateVersions( + this.vaultBaseUrl, + name, + optionsComplete + ); + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse.map(this.getCertificateFromCertificateBundle); + } + while (continuationState.continuationToken) { + const currentSetResponse = await this.client.getCertificateVersionsNext( + continuationState.continuationToken, options ); - yield* currentSetResponse.map(this.getCertificateFromCertificateBundle); + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse.map(this.getCertificateFromCertificateBundle); + } + } + + private async *listCertificateVersionsAll( + name: string, + options?: RequestOptions + ): AsyncIterableIterator { + const f = {}; + + for await (const page of this.listCertificateVersionsPage(name, f, options)) { + for (const item of page) { + yield item; + } } } /** - * The GetCertificateVersions operation returns the versions of a certificate in the specified key + * Returns the versions of a certificate in the specified key * vault. This operation requires the certificates/list permission. * @summary List the versions of a certificate. - * @param certificateName The name of the certificate. + * @param name The name of the certificate. * @param [options] The optional parameters * @returns Promise */ - public async *getCertificateVersions(certificateName: string, options?: KeyVaultClientGetCertificateVersionsOptionalParams): AsyncIterableIterator { - let currentSetResponse = await this.client.getCertificateVersions( - this.vaultBaseUrl, - certificateName, - { - ...(options && options.requestOptions ? options.requestOptions : {}) - } - ); - yield* currentSetResponse.map(this.getCertificateFromCertificateBundle); + public listCertificateVersions(name: string, options?: RequestOptions): PagedAsyncIterableIterator { + const iter = this.listCertificateVersionsAll(name, options); + let result = { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings: PageSettings = {}) => this.listCertificateVersionsPage(name, settings, options) + }; - while (currentSetResponse.nextLink) { - currentSetResponse = await this.client.getCertificatesNext( - currentSetResponse.nextLink, - options - ); - yield* currentSetResponse.map(this.getCertificateFromCertificateBundle); - } + return result; } /** * The DELETE operation applies to any certificate stored in Azure Key Vault. DELETE cannot be applied * to an individual version of a certificate. This operation requires the certificates/delete permission. * @summary Deletes a certificate from a specified key vault. - * @param certificateName The name of the c. + * @param certificateName The name of the certificate. * @param [options] The optional parameters * @returns Promise */ @@ -211,41 +342,97 @@ export class CertificatesClient { return this.getCertificateFromCertificateBundle(response); } + /** + * Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission. + * @param options The optional parameters + * @returns Promise + */ public async deleteCertificateContacts(options?: RequestOptions): Promise { let result = await this.client.deleteCertificateContacts(this.vaultBaseUrl, options); return result._response.parsedBody; } + /** + * Sets the certificate contacts for the key vault. This operation requires the certificates/managecontacts permission. + * @param contacts The contacts to use + * @param options The optional parameters + * @returns Promise + */ public async setCertificateContacts(contacts: Contact[], options?: RequestOptions): Promise { let result = await this.client.setCertificateContacts(this.vaultBaseUrl, { contactList: contacts }, options); return result._response.parsedBody; } + /** + * Returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission. + * @param options The optional parameters + * @returns Promise + */ public async getCertificateContacts(options?: RequestOptions): Promise { let result = await this.client.getCertificateContacts(this.vaultBaseUrl, options); return result._response.parsedBody; } - public async *getCertificateIssuers(options?: KeyVaultClientGetCertificateIssuersOptionalParams): AsyncIterableIterator { - let currentSetResponse = await this.client.getCertificateIssuers( - this.vaultBaseUrl, - { + private async *listCertificateIssuersPage( + continuationState: PageSettings, + options?: KeyVaultClientGetCertificateIssuersOptionalParams + ): AsyncIterableIterator { + if (continuationState.continuationToken == null) { + const optionsComplete: KeyVaultClientGetCertificateIssuersOptionalParams = { + maxresults: continuationState.maxPageSize, ...(options && options.requestOptions ? options.requestOptions : {}) - } - ); - yield* currentSetResponse; - - while (currentSetResponse.nextLink) { - currentSetResponse = await this.client.getCertificatesNext( - currentSetResponse.nextLink, + }; + const currentSetResponse = await this.client.getCertificateIssuers( + this.vaultBaseUrl, + optionsComplete + ); + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse; + } + while (continuationState.continuationToken) { + const currentSetResponse = await this.client.getCertificateIssuersNext( + continuationState.continuationToken, options ); - yield* currentSetResponse; + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse; + } + } + + private async *listCertificateIssuersAll( + options?: KeyVaultClientGetCertificateIssuersOptionalParams + ): AsyncIterableIterator { + const f = {}; + + for await (const page of this.listCertificateIssuersPage(f, options)) { + for (const item of page) { + yield item; + } } } + /** + * Returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission. + * @param options The optional parameters + * @returns PagedAsyncIterableIterator + */ + public listCertificateIssuers(options?: KeyVaultClientGetCertificateIssuersOptionalParams): PagedAsyncIterableIterator { + const iter = this.listCertificateIssuersAll(options); + let result = { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings: PageSettings = {}) => this.listCertificateIssuersPage(settings, options) + }; + + return result; + } + /** * The SetCertificateIssuer operation adds or updates the specified certificate issuer. This * operation requires the certificates/setissuers permission. @@ -305,103 +492,251 @@ export class CertificatesClient { } + /** + * Creates a new certificate. If this is the first version, the certificate resource is created. This operation requires the certificates/create permission. + * @param name The name of the certificate + * @param options The optional parameters + * @returns Promise + */ public async createCertificate(name: string, options?: KeyVaultClientCreateCertificateOptionalParams): Promise { let result = await this.client.createCertificate(this.vaultBaseUrl, name, options); return this.getCertificateFromCertificateBundle(result); } + /** + * Gets information about a specific certificate. This operation requires the certificates/get permission. + * @param name The name of the certificate + * @param version The specific version of the certificate + * @param options The optional parameters + * @returns Promise + */ public async getCertificate(name: string, version: string, options?: RequestOptions): Promise { let result = await this.client.getCertificate(this.vaultBaseUrl, name, version, options); return this.getCertificateFromCertificateBundle(result); } + /** + * Imports an existing valid certificate, containing a private key, into Azure Key Vault. The certificate to be imported can be in either PFX or PEM format. + * If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. This operation requires the certificates/import permission. + * @param name The name of the certificate + * @param base64EncodedCertificate The base64 encoded certificate to import + * @param options The optional parameters + * @returns Promise + */ public async importCertificate(name: string, base64EncodedCertificate: string, options?: KeyVaultClientImportCertificateOptionalParams): Promise { let result = await this.client.importCertificate(this.vaultBaseUrl, name, base64EncodedCertificate, options); return this.getCertificateFromCertificateBundle(result); } + /** + * The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission. + * @param name The name of the certificate + * @param options The optional parameters + * @returns Promise + */ public async getCertificatePolicy(name: string, options?: RequestOptions): Promise { let result = await this.client.getCertificatePolicy(this.vaultBaseUrl, name, options); return result._response.parsedBody; } + /** + * Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission. + * @param name The name of the certificate + * @param policy The certificate policy + * @param options The optional parameters + * @returns Promise + */ public async updateCertificatePolicy(name: string, policy: CertificatePolicy, options?: RequestOptions): Promise { let result = await this.client.updateCertificatePolicy(this.vaultBaseUrl, name, policy, options); return result._response.parsedBody; } + /** + * Applies the specified update on the given certificate; the only elements updated are the + * certificate's attributes. This operation requires the certificates/update permission. + * @param name The name of the ceritificate + * @param version The version of the certificate to update + * @param options The options, including what to update + * @returns Promise + */ public async updateCertificate(name: string, version: string, options?: KeyVaultClientUpdateCertificateOptionalParams): Promise { let result = await this.client.updateCertificate(this.vaultBaseUrl, name, version, options); return this.getCertificateFromCertificateBundle(result._response.parsedBody); } - public async updateCertificateOperation(name: string, cancel: boolean, options: RequestOptions): Promise { + /** + * Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission. + * @param name The name of the certificate + * @param cancel Whether to cancel the operation or not + * @param options The optional parameters + * @returns Promise + */ + public async updateCertificateOperation(name: string, cancel: boolean, options?: RequestOptions): Promise { let result = await this.client.updateCertificateOperation(this.vaultBaseUrl, name, cancel, options); return result._response.parsedBody; } - public async getCertificateOperation(name: string, options: RequestOptions): Promise { + /** + * Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission. + * @param name The name of the certificate + * @param options The optional parameters + * @returns Promise + */ + public async getCertificateOperation(name: string, options?: RequestOptions): Promise { let result = await this.client.getCertificateOperation(this.vaultBaseUrl, name, options); return result._response.parsedBody; } - public async deleteCertificateOperation(name: string, options: RequestOptions): Promise { + /** + * Deletes the creation operation for a specified certificate that is in the process of being created. + * The certificate is no longer created. This operation requires the certificates/update permission. + * @param name The name of the certificate + * @param options The optional parameters + * @returns Promise + */ + public async deleteCertificateOperation(name: string, options?: RequestOptions): Promise { let result = await this.client.deleteCertificateOperation(this.vaultBaseUrl, name, options); return result._response.parsedBody; } - public async mergeCertificate(name: string, x509Certificates: Uint8Array[], options: RequestOptions): Promise { + /** + * Performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission. + * @param name The name of the certificate + * @param x509Certificates The certificate(s) to merge + * @param options The optional parameters + * @returns Promise + */ + public async mergeCertificate(name: string, x509Certificates: Uint8Array[], options?: RequestOptions): Promise { let result = await this.client.mergeCertificate(this.vaultBaseUrl, name, x509Certificates, options); return this.getCertificateFromCertificateBundle(result._response.parsedBody); } - public async backupCertificate(name: string, options: RequestOptions): Promise { + /** + * Requests that a backup of the specified certificate be downloaded to the client. All versions of the certificate will be downloaded. + * This operation requires the certificates/backup permission. + * @param name The name of the certificate + * @param options The optional parameters + * @returns Promise + */ + public async backupCertificate(name: string, options?: RequestOptions): Promise { let result = await this.client.backupCertificate(this.vaultBaseUrl, name, options); return result._response.parsedBody; } - public async restoreCertificate(certificateBackup: Uint8Array, options: RequestOptions): Promise { + /** + * Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission. + * @param certificateBackup The back-up certificate to restore from + * @param options The optional parameters + * @returns Promise + */ + public async restoreCertificate(certificateBackup: Uint8Array, options?: RequestOptions): Promise { let result = await this.client.restoreCertificate(this.vaultBaseUrl, certificateBackup, options); return this.getCertificateFromCertificateBundle(result._response.parsedBody); } - public async *getDeletedCertificates(options?: KeyVaultClientGetDeletedCertificatesOptionalParams): AsyncIterableIterator { - let currentSetResponse = await this.client.getDeletedCertificates(this.vaultBaseUrl, options); - yield* currentSetResponse.map(this.getDeletedCertificateFromItem); - - while (currentSetResponse.nextLink) { - currentSetResponse = await this.client.getCertificatesNext( - currentSetResponse.nextLink, + private async *listDeletedCertificatesPage( + continuationState: PageSettings, + options?: KeyVaultClientGetDeletedCertificatesOptionalParams + ): AsyncIterableIterator { + if (continuationState.continuationToken == null) { + const optionsComplete: KeyVaultClientGetDeletedCertificatesOptionalParams = { + maxresults: continuationState.maxPageSize, + ...(options && options.requestOptions ? options.requestOptions : {}) + }; + const currentSetResponse = await this.client.getDeletedCertificates( + this.vaultBaseUrl, + optionsComplete + ); + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse.map(this.getDeletedCertificateFromItem); + } + while (continuationState.continuationToken) { + const currentSetResponse = await this.client.getDeletedCertificatesNext( + continuationState.continuationToken, options ); - yield* currentSetResponse.map(this.getDeletedCertificateFromItem); + continuationState.continuationToken = currentSetResponse.nextLink; + yield currentSetResponse.map(this.getDeletedCertificateFromItem); + } + } + + private async *listDeletedCertificatesAll( + options?: KeyVaultClientGetDeletedCertificatesOptionalParams + ): AsyncIterableIterator { + const f = {}; + + for await (const page of this.listDeletedCertificatesPage(f, options)) { + for (const item of page) { + yield item; + } } } + /** + * Rretrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific + * information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults. + * @param options The optional parameters + * @returns PagedAsyncIterableIterator + */ + public listDeletedCertificates(options?: KeyVaultClientGetDeletedCertificatesOptionalParams): PagedAsyncIterableIterator { + const iter = this.listDeletedCertificatesAll(options); + let result = { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings: PageSettings = {}) => this.listDeletedCertificatesPage(settings, options) + }; + + return result; + } + + /** + * retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the + * current deletion recovery level. This operation requires the certificates/get permission. + * @param name The name of the certificate + * @param options The optional parameters + * @returns Promise + */ public async getDeletedCertificate(name: string, options?: RequestOptions): Promise { let result = await this.client.getDeletedCertificate(this.vaultBaseUrl, name, options); return this.getDeletedCertificateFromDeletedCertificateBundle(result._response.parsedBody); } + /** + * Performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the + * recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission. + * @param name The name of the deleted certificate to purge + * @param options The optional parameters + */ public async purgeDeletedCertificate(name: string, options?: RequestOptions): Promise { await this.client.purgeDeletedCertificate(this.vaultBaseUrl, name, options); return null; } + /** + * Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation + * requires the secrets/recover permission. + * @param name The name of the deleted certificate + * @param options The optional parameters + * @returns Promise + */ public async recoverDeletedCertificate(name: string, options?: RequestOptions): Promise { let result = await this.client.recoverDeletedCertificate(this.vaultBaseUrl, name, options); diff --git a/sdk/keyvault/keyvault-certificates/tests.yml b/sdk/keyvault/keyvault-certificates/tests.yml new file mode 100644 index 000000000000..98e34251e522 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests.yml @@ -0,0 +1,13 @@ +trigger: none + +jobs: + - template: ../../../eng/pipelines/templates/jobs/archetype-sdk-integration.yml + parameters: + PackageName: "@azure/keyvault-certificates" + EnvVars: + AZURE_CLIENT_ID: $(aad-azure-sdk-test-client-id) + AZURE_TENANT_ID: $(aad-azure-sdk-test-tenant-id) + AZURE_CLIENT_SECRET: $(aad-azure-sdk-test-client-secret) + KEYVAULT_NAME: $(js-keyvault-certificates-test-name) + # KeyVault tests do not support concurrent execution + MaxParallel: 1 diff --git a/sdk/keyvault/keyvault-certificates/tests/CRUD.test.ts b/sdk/keyvault/keyvault-certificates/tests/CRUD.test.ts new file mode 100644 index 000000000000..af302374ad05 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/CRUD.test.ts @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as assert from "assert"; +import { CertificatesClient } from "../src"; +import { env } from "./utils/recorder"; +import { authenticate } from "./utils/testAuthentication"; +import TestClient from "./utils/testClient"; + +describe("Certificates client - create, read, update and delete operations", () => { + const prefix = `recover${env.CERTIFICATE_NAME || "CertificateName"}`; + let suffix: string; + let client: CertificatesClient; + let testClient: TestClient; + let recorder: any; + + beforeEach(async function() { + const authentication = await authenticate(this); + suffix = authentication.suffix; + client = authentication.client; + testClient = authentication.testClient; + recorder = authentication.recorder; + }); + + afterEach(async function() { + recorder.stop(); + }); + + // The tests follow + + it("can create a certificate", async function() { + const certificateName = testClient.formatName(`${prefix}-${this!.test!.title}-${suffix}`); + const result = await client.createCertificate(certificateName, { certificatePolicy: { issuerParameters: { name: "Self" }, x509CertificateProperties: { subject: "cn=MyCert" } }}); + assert.equal(result.name, certificateName, "Unexpected key name in result from createCertificate()."); + await testClient.flushCertificate(certificateName); + }); +}); diff --git a/sdk/keyvault/keyvault-certificates/tests/utils/index.browser.ts b/sdk/keyvault/keyvault-certificates/tests/utils/index.browser.ts new file mode 100644 index 000000000000..a9948afa1613 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/utils/index.browser.ts @@ -0,0 +1,13 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +export async function blobToString(blob: Blob): Promise { + const fileReader = new FileReader(); + return new Promise((resolve, reject) => { + fileReader.onloadend = (ev: any) => { + resolve(ev.target!.result); + }; + fileReader.onerror = reject; + fileReader.readAsText(blob); + }); +} diff --git a/sdk/keyvault/keyvault-certificates/tests/utils/recorder.ts b/sdk/keyvault/keyvault-certificates/tests/utils/recorder.ts new file mode 100644 index 000000000000..a967d3315350 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/utils/recorder.ts @@ -0,0 +1,434 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import fs from "fs-extra"; +import nise from "nise"; +import { retry as realRetry } from "./retry"; +import { isNode as coreIsNode, delay as coreDelay } from "@azure/core-http"; +import queryString from "query-string"; +import * as dotenv from "dotenv"; +dotenv.config({ path: "../.env" }); + +export function isBrowser(): boolean { + return typeof window !== "undefined"; +} + +export const isNode = coreIsNode; + +export function escapeRegExp(str: string): string { + return encodeURIComponent(str).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); +} + +export async function blobToString(blob: Blob): Promise { + const fileReader = new FileReader(); + return new Promise((resolve, reject) => { + fileReader.onloadend = (ev: any) => { + resolve(ev.target!.result); + }; + fileReader.onerror = reject; + fileReader.readAsText(blob); + }); +} + +let nock: any; +if (!isBrowser()) { + nock = require("nock"); +} + +export const env = isBrowser() ? (window as any).__env__ : process.env; +export const isRecording = env.TEST_MODE === "record"; +export const isPlayingBack = env.TEST_MODE === "playback"; + +// IMPORTANT: These are my attempts to make this more generic without changing it significantly +let replaceableVariables: { [key: string]: any } = {}; +export function setReplaceableVariables(a: { [key: string]: any }): void { + replaceableVariables = a; + if (isPlayingBack) { + // Providing dummy values to avoid the error + Object.keys(a).map((k) => { + env[k] = a[k]; + }); + } +} +let replacements: any[] = []; +export function setReplacements(maps: any): void { + replacements = maps; +} + +export function delay(milliseconds: number): Promise | null { + return isPlayingBack ? null : coreDelay(milliseconds); +} + +export async function retry( + target: () => Promise, + delay?: number, + timeout?: number, + increaseFactor?: number +): Promise { + return realRetry(target, isPlayingBack ? 0 : delay || 10000, timeout || Infinity, increaseFactor); +} + +abstract class Recorder { + protected readonly filepath: string; + public uniqueTestInfo: any = {}; + + constructor(env: string, testHierarchy: string, testTitle: string, ext: string) { + this.filepath = + env + + "/" + + this.formatPath(testHierarchy) + + "/recording_" + + this.formatPath(testTitle) + + "." + + ext; + } + + protected formatPath(path: string): string { + return path + .toLowerCase() + .replace(/ /g, "_") + .replace(/<=/g, "lte") + .replace(/>=/g, "gte") + .replace(//g, "gt") + .replace(/=/g, "eq") + .replace(/\W/g, ""); + } + + /** + * Additional layer of security to avoid unintended/accidental occurrences of secrets in the recordings + * */ + protected filterSecrets(recording: string): string { + let updatedRecording = recording; + for (const k of Object.keys(replaceableVariables)) { + const escaped = escapeRegExp(env[k]); + updatedRecording = updatedRecording.replace( + new RegExp(escaped, "g"), + replaceableVariables[k] + ); + } + for (const map of replacements) { + updatedRecording = map(updatedRecording); + } + return updatedRecording; + } + + public abstract record(): void; + public abstract playback(): void; + public abstract stop(): void; +} + +class NockRecorder extends Recorder { + constructor(testHierarchy: string, testTitle: string) { + super("node", testHierarchy, testTitle, "js"); + } + + public record(): void { + nock.recorder.rec({ + dont_print: true + }); + } + + public playback(): void { + // This path makes sense when tests are called through dist-test/index.node.js + // If tests are called directly, this would need to be `../../recordings/`. + const path = "../recordings/" + this.filepath; + this.uniqueTestInfo = require(path).testInfo; + } + + public stop(): void { + const importNock = "let nock = require('nock');\n"; + const fixtures = nock.recorder.play(); + + // Create the directories recursively incase they don't exist + try { + // Stripping away the filename from the filepath and retaining the directory structure + fs.ensureDirSync( + "./recordings/" + this.filepath.substring(0, this.filepath.lastIndexOf("/") + 1) + ); + } catch (err) { + if (err.code !== "EEXIST") throw err; + } + + const file = fs.createWriteStream("./recordings/" + this.filepath, { + flags: "w" + }); + + // Some tests expect errors to happen and, if a writing error is thrown in one of these tests, it may be captured in a catch block by accident, + // resulting in unexpected behavior. For this reason we're printing it to the console as well + file.on("error", (err: any) => { + console.log(err); + throw err; + }); + + file.write( + importNock + "\n" + "module.exports.testInfo = " + JSON.stringify(this.uniqueTestInfo) + "\n" + ); + + for (const fixture of fixtures) { + // We're not matching query string parameters because they may contain sensitive information, and Nock does not allow us to customize it easily + const updatedFixture = fixture.replace(/\.query\(.*\)/, ".query(true)"); + file.write(this.filterSecrets(updatedFixture) + "\n"); + } + + file.end(); + + nock.recorder.clear(); + nock.restore(); + } +} + +class NiseRecorder extends Recorder { + private readonly sasQueryParameters = ["se", "sig", "sp", "spr", "srt", "ss", "st", "sv"]; + private recordings: any[] = []; + + constructor(testHierarchy: string, testTitle: string) { + super("browsers", testHierarchy, testTitle, "json"); + } + + // Inserts a request/response pair into the recordings array + private async recordRequest(request: any, data: any): Promise { + const responseHeaders: any = {}; + const responseHeadersPairs = request.getAllResponseHeaders().split("\r\n"); + for (const pair of responseHeadersPairs) { + const [key, value] = pair.split(": "); + responseHeaders[key] = value; + } + + // We're not storing SAS Query Parameters because they may contain sensitive information + // We're ignoring the "_" parameter as well because it's not being added by our code + // More info on "_": https://stackoverflow.com/questions/3687729/who-add-single-underscore-query-parameter + const parsedUrl = queryString.parseUrl(request.url); + const query: any = {}; + for (const param in parsedUrl.query) { + if (!this.sasQueryParameters.includes(param) && param !== "_") { + query[param] = parsedUrl.query[param]; + } + } + + this.recordings.push({ + method: request.method, + url: parsedUrl.url, + query: query, + requestBody: data instanceof Blob ? await blobToString(data) : data, + status: request.status, + response: + request.response instanceof Blob ? await blobToString(request.response) : request.response, + responseHeaders: responseHeaders + }); + } + + // Checks whether a recording matches a request or not (we're not matching request headers) + private matchRequest(recording: any, request: any): boolean { + // Every parameter in the recording must be present and have the same value in the request + for (const param in recording.query) { + if (recording.query[param] !== request.query[param]) { + return false; + } + } + + // There shouldn't be parameters in the request that are not present in the recording (except for SAS Query Parameters and "_") + for (const param in request.query) { + if ( + recording.query[param] === undefined && + !this.sasQueryParameters.includes(param) && + param !== "_" + ) { + return false; + } + } + + return ( + recording.method === request.method && + recording.url === request.url && + recording.requestBody === request.requestBody + ); + } + + // When recording, we want to hit the server and intercept requests/responses + // Nise does not allow us to intercept requests if they're sent to the server, so we need to override its behavior + public record(): void { + const self = this; + const xhr = nise.fakeXhr.useFakeXMLHttpRequest(); + + // The following filter allows every request to be sent to the server without being mocked + xhr.useFilters = true; + xhr.addFilter(() => true); + + // 'onCreate' function is called when a new fake XMLHttpRequest object (req) is created + // Our intent is to override the request's 'onreadystatechange' function so we can create a recording once the response is ready + // We can only override 'onreadystatechange' AFTER the 'send' function is called because we need to make sure our implementation won't be overriden by the client + // But we can only override 'send' AFTER the 'open' function is called because the filter we set above makes Nise override it in 'open' body + xhr.onCreate = function(req: any) { + // We'll override the 'open' function, so we need to store a handle to its original implementation + const reqOpen = req.open; + req.open = function() { + // Here we are calling the original 'open' function to make sure everything is set up correctly (HTTP method, url, filters) + reqOpen.apply(req, arguments); + + // We'll override the 'send' function, so we need to store a handle to its original implementation + // We can already override it because we know 'open' has already been called + const reqSend = req.send; + req.send = function(data: any) { + // We'll override the 'onreadystatechange' function, so we need to store a handle to its original implementation + // Now we can finally override 'onreadystatechange' because 'send' has already been called + const reqStateChange = req.onreadystatechange; + req.onreadystatechange = function() { + // Record the request once the response is obtained + if (req.readyState === 4) { + self.recordRequest(req, data); + } + // Sometimes the client doesn't implement an 'onreadystatechange' function, so we need to make sure it exists before calling the original implementation + if (reqStateChange) { + reqStateChange.apply(null, arguments); + } + }; + + // Now that we have overriden 'onreadystatechange', we can send the request to the server + reqSend.apply(req, arguments); + }; + }; + }; + } + + // When playing back, we want to intercept requests, find a corresponding match in our recordings and respond to it with the recorded data + // We must override the request's 'send' function because all the request information (body, url, method, queries) will be ready when it's called + public playback(): void { + const self = this; + const xhr = nise.fakeXhr.useFakeXMLHttpRequest(); + + // 'karma-json-preprocessor' helps us to retrieve recordings + this.recordings = (window as any).__json__["recordings/" + this.filepath].recordings; + this.uniqueTestInfo = (window as any).__json__["recordings/" + this.filepath].uniqueTestInfo; + + // 'onCreate' function is called when a new fake XMLHttpRequest object (req) is created + xhr.onCreate = function(req: any) { + // We'll override the 'send' function, so we need to store a handle to its original implementation + const reqSend = req.send; + req.send = async function(data: any) { + // Here we're calling the original send method. Nise will make the request wait for a mock response that we'll send later + reqSend.call(req, data); + + // formattedRequest contains all the necessary information to look for a match in our recordings + const parsedUrl = queryString.parseUrl(req.url); + const formattedRequest = { + method: req.method, + url: parsedUrl.url, + query: parsedUrl.query, + requestBody: data instanceof Blob ? await blobToString(data) : data + }; + + // We look through our recordings to find a match to the current request + // If we find a match, we remove it from the recordings list so we don't match it again by accident + let recordingFound = false; + for (let i = 0; !recordingFound && i < self.recordings.length; i++) { + if (self.matchRequest(self.recordings[i], formattedRequest)) { + const status = self.recordings[i].status; + const responseHeaders = self.recordings[i].responseHeaders; + const response = self.recordings[i].response; + + // We are dealing with async requests so we're responding to them asynchronously + setTimeout(() => req.respond(status, responseHeaders, response)); + self.recordings.splice(i, 1); + recordingFound = true; + } + } + + // If we can't find a match, we throw an error + // Some tests expect errors to happen and, if a matching error is thrown in one of these tests, it may be captured in a catch block by accident, + // resulting in unexpected behavior. For this reason we're printing it to the console as well + if (!recordingFound) { + const err = new Error( + "No match for request " + JSON.stringify(formattedRequest, null, " ") + ); + console.log(err); + throw err; + } + }; + }; + } + + public stop(): void { + for (let i = 0; i < this.recordings.length; i++) { + for (const k of Object.keys(this.recordings[i])) { + if (typeof this.recordings[i][k] === "string") { + this.recordings[i][k] = this.filterSecrets(this.recordings[i][k]); + } + } + } + // We're sending the recordings to the 'karma-json-to-file-reporter' via console.log + console.log( + JSON.stringify({ + writeFile: true, + path: "./recordings/" + this.filepath, + content: { recordings: this.recordings, uniqueTestInfo: this.uniqueTestInfo } + }) + ); + } +} + +export function uniqueString(): string { + return isPlayingBack + ? "" + : Math.random() + .toString() + .slice(2); +} + +// To better understand how this class works, it's necessary to comprehend how HTTP async requests are made: +// A new request object is created +// let req = new XMLHttpRequest(); +// The request is opened with some replaceableVariableseq.open(method, url, async, user, password); +// Since we're dealing with an async request, we must set a way to know when the response is ready +// req.onreadystatechange = function() { +// if (req.readyState === 4) do_something; +// } +// Finally, the request is sent to the server +// req.send(data); + +export function record(testContext: any): any { + let recorder: Recorder; + let testHierarchy: string; + let testTitle: string; + + if (testContext.currentTest) { + testHierarchy = testContext.currentTest.parent.fullTitle(); + testTitle = testContext.currentTest.title; + } else { + testHierarchy = testContext.test.parent.fullTitle(); + testTitle = testContext.test.title; + } + + if (isBrowser()) { + recorder = new NiseRecorder(testHierarchy, testTitle); + } else { + recorder = new NockRecorder(testHierarchy, testTitle); + } + + // If neither recording nor playback is enabled, requests hit the live-service and no recordings are generated + if (isRecording) { + recorder.record(); + } else if (isPlayingBack) { + recorder.playback(); + } + + return { + stop: function() { + if (isRecording) { + recorder.stop(); + } + }, + newDate: function(recorderId: string): Date { + let date: Date; + if (isRecording) { + date = new Date(); + recorder.uniqueTestInfo[recorderId] = date.toISOString(); + } else if (isPlayingBack) { + date = new Date(recorder.uniqueTestInfo[recorderId]); + } else { + date = new Date(); + } + return date; + } + }; +} diff --git a/sdk/keyvault/keyvault-certificates/tests/utils/retry.test.ts b/sdk/keyvault/keyvault-certificates/tests/utils/retry.test.ts new file mode 100644 index 000000000000..2c8ef8273ecb --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/utils/retry.test.ts @@ -0,0 +1,24 @@ +import { assert } from "chai"; +import { retry } from "./retry"; + +describe("retry utility function", function() { + it("throws an exception if we reach the maximum retries", async () => { + const startingDate = new Date(); + await retry( + async () => { + throw new Error("I always fail"); + }, + 100, + 200 + ); + const endingDate = new Date(); + + const difference = endingDate.getTime() - startingDate.getTime(); + assert.ok(difference >= 200); // In CI this takes a lot longer than locally + }); + + it("returns the value if resolved on time", async () => { + const result = await retry(async () => true); + assert.strictEqual(result, true); + }); +}); diff --git a/sdk/keyvault/keyvault-certificates/tests/utils/retry.ts b/sdk/keyvault/keyvault-certificates/tests/utils/retry.ts new file mode 100644 index 000000000000..d9fef0ecf36e --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/utils/retry.ts @@ -0,0 +1,29 @@ +import { delay as coreDelay } from "@azure/core-http"; + +/** + * A simple abstraction to retry, and exponentially de-escalate retrying, a + * given async function until it is fulfileld. + * @param {() => Promise} target The async function you want to retry + * @param {number} delay The delay between each retry, defaults to 1000 + * @param {number} timeout Maximum time we'll let this lapse before we quit retrying, defaults to Infinity + * @param {number} increaseFactor Increase factor of each retry, defaults to 1 + * @returns {Promise} Resolved promise + */ +export async function retry( + target: () => Promise, + delay: number = 1000, + timeout: number = Infinity, + increaseFactor: number = 1 +): Promise { + const start = new Date().getTime(); + let updatedDelay = delay; + while (new Date().getTime() - start < timeout) { + try { + return await target(); + } catch { + await coreDelay(updatedDelay); + updatedDelay *= increaseFactor; + } + } + return null; +} diff --git a/sdk/keyvault/keyvault-certificates/tests/utils/testAuthentication.ts b/sdk/keyvault/keyvault-certificates/tests/utils/testAuthentication.ts new file mode 100644 index 000000000000..6776c6ec567c --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/utils/testAuthentication.ts @@ -0,0 +1,36 @@ +import { ClientSecretCredential } from "@azure/identity"; +import { getKeyvaultName } from "./utils.common"; +import { CertificatesClient } from "../../src"; +import { env, record, setReplaceableVariables, setReplacements, uniqueString } from "./recorder"; +import TestClient from "./testClient"; + +export async function authenticate(that: any): Promise { + setReplaceableVariables({ + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "azure_tenant_id", + KEYVAULT_NAME: "keyvault_name" + }); + + const suffix = uniqueString(); + setReplacements([ + (recording: any): any => + recording.replace(/"access_token":"[^"]*"/g, `"access_token":"access_token"`), + (recording: any): any => + suffix === "" ? recording : recording.replace(new RegExp(suffix, "g"), "") + ]); + + const recorder = record(that); + const credential = await new ClientSecretCredential( + env.AZURE_TENANT_ID, + env.AZURE_CLIENT_ID, + env.AZURE_CLIENT_SECRET + ); + + const keyVaultName = getKeyvaultName(); + const keyVaultUrl = `https://${keyVaultName}.vault.azure.net`; + const client = new CertificatesClient(keyVaultUrl, credential); + const testClient = new TestClient(client); + + return { recorder, client, credential, testClient, suffix }; +} diff --git a/sdk/keyvault/keyvault-certificates/tests/utils/testClient.ts b/sdk/keyvault/keyvault-certificates/tests/utils/testClient.ts new file mode 100644 index 000000000000..fde39d0db73b --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/utils/testClient.ts @@ -0,0 +1,28 @@ +import { retry } from "./recorder"; +import { CertificatesClient } from "../../src"; + +export default class TestClient { + public readonly client: CertificatesClient; + constructor(client: CertificatesClient) { + this.client = client; + } + public formatName(name: string): string { + return name.replace(/[^0-9a-zA-Z-]/g, ""); + } + public async purgeCertificate(keyName: string): Promise { + const that = this; + await retry(async () => { + try { + await that.client.purgeDeletedCertificate(keyName); + } catch (e) { + if (["Certificate is currently being deleted."].includes(e.message)) throw e; + else return; + } + }); + } + public async flushCertificate(keyName: string): Promise { + const that = this; + await that.client.deleteCertificate(keyName); + await this.purgeCertificate(keyName); + } +} diff --git a/sdk/keyvault/keyvault-certificates/tests/utils/utils.common.ts b/sdk/keyvault/keyvault-certificates/tests/utils/utils.common.ts new file mode 100644 index 000000000000..c950af637728 --- /dev/null +++ b/sdk/keyvault/keyvault-certificates/tests/utils/utils.common.ts @@ -0,0 +1,20 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { env } from "./recorder"; + +// Async iterator's polyfill for Node 8 +if (!Symbol || !(Symbol as any).asyncIterator) { + (Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator"); +} + +export function getKeyvaultName(): string { + const keyVaultEnvVarName = "KEYVAULT_NAME"; + const keyVaultName: string | undefined = env[keyVaultEnvVarName]; + + if (!keyVaultName) { + throw new Error(`${keyVaultEnvVarName} environment variable not specified.`); + } + + return keyVaultName; +} diff --git a/sdk/keyvault/keyvault-certificates/tsconfig.json b/sdk/keyvault/keyvault-certificates/tsconfig.json index a922716d6c1e..0edd3b69743e 100644 --- a/sdk/keyvault/keyvault-certificates/tsconfig.json +++ b/sdk/keyvault/keyvault-certificates/tsconfig.json @@ -1,44 +1,25 @@ { "compilerOptions": { - /* Basic Options */ - "target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, - "module": "es6" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, - "lib": [] /* lib dependencies are triple-slash directives in lib/index.ts */, - "declaration": true /* Generates corresponding '.d.ts' file. */, - "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */, - "sourceMap": true /* Generates corresponding '.map' file. */, - - "outDir": "./esm", - "stripInternal": true /* Do not emit declarations for code with @internal annotation*/, - "declarationDir": "./types/src" /* Output directory for generated declaration files.*/, - "importHelpers": true /* Import emit helpers from 'tslib'. */, - - /* Strict Type-Checking Options */ - "strict": true /* Enable all strict type-checking options. */, - "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, - - /* Additional Checks */ - "noUnusedLocals": true /* Report errors on unused locals. */, - - /* Module Resolution Options */ - "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, - "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */, - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, - - /* Experimental Options */ - "forceConsistentCasingInFileNames": true, - - /* Other options */ - "newLine": "LF" /* Use the specified end of line sequence to be used when emitting files: "crlf" (windows) or "lf" (unix).”*/, - "allowJs": false /* Don't allow JavaScript files to be compiled.*/, - "resolveJsonModule": true + "alwaysStrict": true, + "noImplicitAny": true, + "preserveConstEnums": true, + "sourceMap": true, + "newLine": "LF", + "target": "es5", + "moduleResolution": "node", + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + "module": "esNext", + "outDir": "./dist-esm", + "declaration": true, + "declarationMap": true, + "importHelpers": true, + "declarationDir": "./types", + "lib": ["dom", "es5", "es6", "es7", "esnext"], + "esModuleInterop": true }, "compileOnSave": true, - "exclude": [ - "node_modules", - "types/**", - "./samples/**/*.ts", - "./test/perf/azure-sb-package/*.ts" - ], - "include": ["./src/**/*.ts", "./test/**/*.ts"] + "exclude": ["node_modules", "./samples/**/*.ts"], + "include": ["./src/**/*.ts", "./tests/**/*.ts"] } diff --git a/sdk/keyvault/keyvault-keys/CHANGELOG.md b/sdk/keyvault/keyvault-keys/CHANGELOG.md index 021262c20674..b2904ac926b6 100644 --- a/sdk/keyvault/keyvault-keys/CHANGELOG.md +++ b/sdk/keyvault/keyvault-keys/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History +## 4.0.0-preview.3 (2019-08-06) +- Added a new CryptographyClient to handle cryptography tasks. +- Added browser support. +- Added support for challenge-based authentication. +- Added preview capabilities for @Azure/core-tracing. + ## 4.0.0-preview.2 (2019-07-03) - Fix broken links for API references and samples. - Update custom user agent string to include the right package name and version. diff --git a/sdk/keyvault/keyvault-keys/README.md b/sdk/keyvault/keyvault-keys/README.md index 988482317a25..1e2ecd6b491b 100644 --- a/sdk/keyvault/keyvault-keys/README.md +++ b/sdk/keyvault/keyvault-keys/README.md @@ -21,7 +21,16 @@ Use the client library for Azure KeyVault Keys in your Node.js application to - Get the versions of a key. - As well as obtaining the attributes of a key. -**Please Note:** This is a preview version of the KeyVault Keys library and does not yet have the full capability of the Keys API. Currently missing are methods related to crypto capabilities: encrypt, decrypt, sign, verify, wrap, and unwrap. These are expected to be added in the next release. +Using the cryptography client available in this library you also have access to + +- Encrypting +- Decrypting +- Signing +- Verifying +- Wrapping keys +- Unwrapping keys + +**Please Note:** This is a preview version of the KeyVault Keys library [Source code](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-keys) | [Package (npm)](https://www.npmjs.com/package/@azure/keyvault-keys) | [API Reference Documentation](https://azure.github.io/azure-sdk-for-js/keyvault-keys) | [Product documentation](https://azure.microsoft.com/en-us/services/key-vault/) | [Samples](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-keys/samples) @@ -76,11 +85,11 @@ Use the [Azure Cloud Shell](https://shell.azure.com/bash) snippet below to creat - Grant the above mentioned application authorization to perform secret operations on the keyvault: ```Bash - az keyvault set-policy --name --spn $AZURE_CLIENT_ID --secret-permissions backup delete get list set + az keyvault set-policy --name --spn $AZURE_CLIENT_ID --secret-permissions backup delete get list create ``` > --secret-permissions: - > Accepted values: backup, delete, get, list, purge, recover, restore, set + > Accepted values: backup, delete, get, list, purge, recover, restore, create - Use the above mentioned Key Vault name to retrieve details of your Vault which also contains your Key Vault URL: ```Bash @@ -92,18 +101,18 @@ Use the [Azure Cloud Shell](https://shell.azure.com/bash) snippet below to creat To use the key vault from TypeScript/JavaScript, you need to first authenticate with the key vault service. To authenticate, first we import the identity and KeysClient, which will connect to the key vault. ```typescript -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; import { KeysClient } from "@azure/keyvault-keys"; ``` Once these are imported, we can next connect to the key vault service. To do this, we'll need to copy some settings from the key vault we are connecting to into our environment variables. Once they are in our environment, we can access them with the following code: ```typescript -// EnvironmentCredential expects the following three environment variables: +// DefaultAzureCredential expects the following three environment variables: // * AZURE_TENANT_ID: The tenant ID in Azure Active Directory // * AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant // * AZURE_CLIENT_SECRET: The client secret for the registered application -const credential = new EnvironmentCredential(); +const credential = new DefaultAzureCredential(); // Build the URL to reach your key vault const vaultName = ""; @@ -207,6 +216,114 @@ const updatedKey = await client.updateKey(keyName, result.version, { enabled: fa await client.deleteKey(keyName); ``` +## Cryptography + +This library also offers a set of cryptographic utilities available through `CryptographyClient`. Similar to the `KeysClient`, `CryptographyClient` will connect to Azure Key Vault with the provided set of credentials. Once connected, `CryptographyClient` can encrypt, decrypt, sign, verify, wrap keys, and unwrap keys. + +### Authenticate the client + +```typescript +import { DefaultAzureCredential } from "@azure/identity"; +import { KeysClient, CryptographyClient } from "@azure/keyvault-keys"; +``` + +Once these are imported, we can next connect to the key vault service. To do this, we'll need to copy some settings from the key vault we are connecting to into our environment variables. Once they are in our environment, we can access them with the following code: + +```typescript +// DefaultAzureCredential expects the following three environment variables: +// * AZURE_TENANT_ID: The tenant ID in Azure Active Directory +// * AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant +// * AZURE_CLIENT_SECRET: The client secret for the registered application +const credential = new DefaultAzureCredential(); + +// Build the URL to reach your key vault +const vaultName = ""; +const url = `https://${vaultName}.vault.azure.net`; + +// Connect to the key vault service +const keysClient = new KeysClient(url, credential); + +// Create or retrieve a key from the keyvault +let myKey = await keysClient.createKey("MyKey", "RSA"); + +// Lastly, create our cryptography client and connect to the service +// This example uses the URL that is part of the key we created (called key ID or kid) +const cryptographyClient = new CryptographyClient(url, myKey.keyMaterial!.kid!, credential); +``` + +### Encrypt +`encrypt` will encrypt a message. The following algorithms are currently supported: "RSA-OAEP", "RSA-OAEP-256", and "RSA1_5". + +```javascript +const encrypt = await cryptographyClient.encrypt("RSA1_5", Buffer.from("My Message")); +console.log("encrypt result: ", encrypt); +``` + +### Decrypt +`decrypt` will decrypt an encrypted message. The following algorithms are currently supported: "RSA-OAEP", "RSA-OAEP-256", and "RSA1_5". + +```javascript +const decrypt = await cryptographyClient.decrypt("RSA1_5", encrypt.result); +console.log("decrypt: ", decrypt.toString()); +``` + +### Sign +`sign` will cryptographically sign the digest (hash) of a message with a signature. The following algorithms are currently supported: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "ES256","ES256K", "ES384", and "ES512". + +```javascript +const signatureValue = "MySignature"; +let hash = crypto.createHash("sha256"); + +hash.update(signatureValue); +let digest = hash.digest(); +console.log("digest: ", digest); + +const signature = await cryptoClient.sign("RS256", digest); +console.log("sign result: ", signature); +``` + +### Sign Data +`signData` will cryptographically sign a message with a signature. The following algorithms are currently supported: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "ES256","ES256K", "ES384", and "ES512". + +```javascript +const signature = await cryptoClient.signData("RS256", Buffer.from("My Message")); +console.log("sign result: ", signature); +``` + +### Verify +`verify` will cryptographically verify that the signed digest was signed with the given signature. The following algorithms are currently supported: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "ES256","ES256K", "ES384", and "ES512". + +```javascript +const verifyResult = await cryptoClient.verify("RS256", digest, signature.result); +console.log("verify result: ", verifyResult); +``` + +### Verify Data +`verifyData` will cryptographically verify that the signed message was signed with the given signature. The following algorithms are currently supported: "PS256", "PS384", "PS512", "RS256", "RS384", "RS512", "ES256","ES256K", "ES384", and "ES512". + +```javascript +const buffer = Buffer.from("My Message"); +const verifyResult = await cryptoClient.verifyData("RS256", buffer, signature.result); +console.log("verify result: ", verifyResult); +``` + +### Wrap Key +`wrapKey` will wrap a key with an encryption layer. The following algorithms are currently supported: "RSA-OAEP", "RSA-OAEP-256", and "RSA1_5". + +```javascript +const wrapped = await cryptoClient.wrapKey("RSA-OAEP", keyToWrap); +console.log("wrap result:", wrapped); +``` + +### Unwrap Key +`unwrapKey` will unwrap a wrapped key. The following algorithms are currently supported: "RSA-OAEP", "RSA-OAEP-256", and "RSA1_5". + +```javascript +const unwrapped = await cryptoClient.unwrapKey("RSA-OAEP", wrapped.result); +console.log("unwrap result: ", unwrapped); +``` + + ## Troubleshooting ### Enable logs diff --git a/sdk/keyvault/keyvault-keys/package.json b/sdk/keyvault/keyvault-keys/package.json index c3dacb301ed9..34b820f763ef 100644 --- a/sdk/keyvault/keyvault-keys/package.json +++ b/sdk/keyvault/keyvault-keys/package.json @@ -2,7 +2,7 @@ "name": "@azure/keyvault-keys", "sdk-type": "client", "author": "Microsoft Corporation", - "version": "4.0.0-preview.3", + "version": "4.0.0-preview.4", "license": "MIT", "description": "Isomorphic client library for Azure KeyVault's keys.", "homepage": "https://github.com/Azure/azure-sdk-for-js#readme", @@ -27,7 +27,7 @@ "files": [ "LICENSE.txt", "README.md", - "types/", + "types/keyvault-keys.d.ts", "dist/", "dist-esm/", "src/", @@ -47,14 +47,14 @@ "build:test": "npm run build:es6 && rollup -c rollup.test.config.js 2>&1", "build": "npm run extract-api && npm run build:samples && npm run build:es6 && npm run build:nodebrowser", "check-format": "prettier --list-different --config ../../.prettierrc.json \"src/**/*.ts\" \"tests/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-esm dist-test types *.tgz *.log browser statistics.html coverage && find src/ -type f -name '*.js' -exec rm {} + && find tests/ -type f -name '*.js' -exec rm {} +", + "clean": "rimraf dist dist-esm dist-test types *.tgz *.log browser statistics.html coverage && rimraf src/**/*.js && rimraf tests/**/*.js", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../.prettierrc.json \"src/**/*.ts\" \"tests/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "karma start --single-run", "integration-test:node": "nyc mocha --require source-map-support/register --reporter mocha-multi --timeout 1200000 --reporter-options spec=-,mocha-junit-reporter=- --full-trace dist-test/index.node.js", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint -c ../../.eslintrc.json src tests samples --ext .ts --fix --fix-type [problem,suggestion]", - "lint": "eslint -c ../../.eslintrc.json src tests samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o keyvault-keys-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src tests samples --ext .ts -f html -o keyvault-keys-lintReport.html || exit 0", "lint:terminal": "eslint -c ../../.eslintrc.json src tests samples --ext .ts", "pack": "npm pack 2>&1", "prebuild": "npm run clean", @@ -68,38 +68,39 @@ }, "sideEffects": false, "dependencies": { - "@azure/core-arm": "1.0.0-preview.2", - "@azure/core-http": "1.0.0-preview.2", + "@azure/core-arm": "1.0.0-preview.3", + "@azure/core-http": "1.0.0-preview.3", "@azure/core-paging": "1.0.0-preview.1", - "@azure/identity": "1.0.0-preview.2", - "tslib": "^1.9.3" + "@azure/core-tracing": "1.0.0-preview.1", + "@azure/identity": "1.0.0-preview.3", + "tslib": "^1.9.3", + "@trust/keyto": "0.3.7" }, "devDependencies": { - "@azure/abort-controller": "1.0.0-preview.1", + "@azure/abort-controller": "1.0.0-preview.2", "@microsoft/api-extractor": "^7.1.5", "@types/chai": "^4.1.6", "@types/dotenv": "^6.1.0", - "@types/fs-extra": "~7.0.0", + "@types/fs-extra": "^8.0.0", "@types/mocha": "^5.2.5", "@types/nise": "^1.4.0", "@types/nock": "^10.0.1", "@types/node": "^8.0.0", "@types/query-string": "6.2.0", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", "chai": "^4.2.0", "cross-env": "^5.2.0", - "dotenv": "^7.0.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "dotenv": "^8.0.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", - "fs-extra": "~8.0.1", + "fs-extra": "^8.1.0", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/cryptographyclient_all_decrypts_happen_remotely/recording_before_all_hook.json b/sdk/keyvault/keyvault-keys/recordings/browsers/cryptographyclient_all_decrypts_happen_remotely/recording_before_all_hook.json new file mode 100644 index 000000000000..a86c7208cf21 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/cryptographyclient_all_decrypts_happen_remotely/recording_before_all_hook.json @@ -0,0 +1,1017 @@ +{ + "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f17933a1-1818-4fdf-bb6d-41bce8f3b1ed", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "78346853-c600-40ee-aa3a-baf273156600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"4t6ycYkA5U7i6sb701vWEiF6C1Ppjw3Kg7HIBbcgNtQmYAu-N9prkrLzojN27xnh_3XCzxjXqi_EPeNU4q1pHE097_YtAP1_0gGp2Wv0tbM8fQVgi6uG3qqIJ1pz6Thtj9IqpuHA60tnqJL3E8s6F8Wd-ggag0e3RQWOzgEtaYE81mOFqATUX1rDQYWuvDBkUJF78ieZ9uo-r2-jE7z8HuIobz13omDQJYZ8tDCwX5JiG3NHYpM_Gk44E0K8l0RXbbKDfMs2PfKJP2mLagvSt-S6n_0k7UNNfswW-8BH_r5fQ1UAkBfLCgDpckr9dEIsN6e36MESgEQfwoQmuzm_pQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307528,\"updated\":1565307528,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "670", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b646986c-8bda-4d74-8174-11092c3aa821", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7debc1cf-2012-47b0-a748-0da69f404825", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0bf86895-eae8-4851-accf-a555453c2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"4t6ycYkA5U7i6sb701vWEiF6C1Ppjw3Kg7HIBbcgNtQmYAu-N9prkrLzojN27xnh_3XCzxjXqi_EPeNU4q1pHE097_YtAP1_0gGp2Wv0tbM8fQVgi6uG3qqIJ1pz6Thtj9IqpuHA60tnqJL3E8s6F8Wd-ggag0e3RQWOzgEtaYE81mOFqATUX1rDQYWuvDBkUJF78ieZ9uo-r2-jE7z8HuIobz13omDQJYZ8tDCwX5JiG3NHYpM_Gk44E0K8l0RXbbKDfMs2PfKJP2mLagvSt-S6n_0k7UNNfswW-8BH_r5fQ1UAkBfLCgDpckr9dEIsN6e36MESgEQfwoQmuzm_pQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307528,\"updated\":1565307528,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "670", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5b61ccb1-a2fd-4550-a08f-cc36aabda0b0", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/encrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "203452a2-18d1-48ee-80d1-bef43ece1d94", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5eff16d7-b651-4776-9415-470e8c232c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/encrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA1_5\",\"value\":\"ZW5jcnlwdCAmIGRlY3J5cHQgd2l0aCBSU0ExXzU\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"xhXg2-4rxJldVief2a0-h12oqujRXUKadGiN_mNntBJaoQUhh1NJ4tXag6eJDNH8YF_IrwRDeGyP5kFnwT3i_O_qID7vyte--RYoTH8qeJWwVeWPfAT19FK0bT-26RN3s6t5R9v4bqEAHrQht6S9J3PNH8A0rIV8-d92Q0piw8aGvH949L6ycvlI-l4oiBWSwzJuyc1ykWukJp9y84AO27h5Gg0jnhoYMJIFqb7d4pbti02CR553lmEtABG9EZR-D7B_GGjVJ34_OXsluWV9vlZiXZ9yXFxLsgjm_EfzxTVQHeOnqvN4WNgBo4w1gDjlBFiah1lYnqUVp6zOstEP-Q\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "461", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "36db707c-179f-4324-bf58-c9566e2d464c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/decrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "85257c6a-57dd-4b7a-aa44-7d074a769845", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1df631b4-fe10-4ba4-9c8f-694019b93e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/decrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA1_5\",\"value\":\"xhXg2-4rxJldVief2a0-h12oqujRXUKadGiN_mNntBJaoQUhh1NJ4tXag6eJDNH8YF_IrwRDeGyP5kFnwT3i_O_qID7vyte--RYoTH8qeJWwVeWPfAT19FK0bT-26RN3s6t5R9v4bqEAHrQht6S9J3PNH8A0rIV8-d92Q0piw8aGvH949L6ycvlI-l4oiBWSwzJuyc1ykWukJp9y84AO27h5Gg0jnhoYMJIFqb7d4pbti02CR553lmEtABG9EZR-D7B_GGjVJ34_OXsluWV9vlZiXZ9yXFxLsgjm_EfzxTVQHeOnqvN4WNgBo4w1gDjlBFiah1lYnqUVp6zOstEP-Q\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"ZW5jcnlwdCAmIGRlY3J5cHQgd2l0aCBSU0ExXzU\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "158", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7fa542e3-e854-443b-9de3-ea57e2ec83a1", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/encrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d4c0bf07-1cfe-4e9c-838c-a06dece92d61", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5f9e207a-59ed-4296-854b-c7b8091f6300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/encrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA-OAEP\",\"value\":\"ZW5jcnlwdCAmIGRlY3J5cHQgd2l0aCBSU0EtT0FFUA\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"s46IiaSR3k6HhqMZyynJxiHuM0ZDfXmyAestJITIqCYgpgyI9HGWS5D0JeiZaSJQfR1JBuqA-jjiLT87PT6YTiwFPGvmhy82ipyKhmRkqSVoo69Y5xzveYmyYMXgh8SlaPmhK2xs0rDBxkpqv3mCh87Lz79cftS7NtIowZXuMGLPh94Nu6fo_JFfHq80NfFL03RpQbrK06oqIaLnJtDrar7nq_cJzOfXZmdwN_U5VNsmtwzj9zUawBt5cXI3yVGG--HrTtYBGkyQRHwtVRjcNtoNKT3qo0jOI-6rRhls7xZO-nwWzeVC_zNaWNpTgk8T8bjRdzv4m5MMGQOglMbeAg\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "461", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7dab6eac-88a8-4b3a-9e9b-a8970722504c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/decrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "15a92869-a0e1-40f5-b3c8-4dcf998bb91d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a62e0d92a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/decrypt", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA-OAEP\",\"value\":\"s46IiaSR3k6HhqMZyynJxiHuM0ZDfXmyAestJITIqCYgpgyI9HGWS5D0JeiZaSJQfR1JBuqA-jjiLT87PT6YTiwFPGvmhy82ipyKhmRkqSVoo69Y5xzveYmyYMXgh8SlaPmhK2xs0rDBxkpqv3mCh87Lz79cftS7NtIowZXuMGLPh94Nu6fo_JFfHq80NfFL03RpQbrK06oqIaLnJtDrar7nq_cJzOfXZmdwN_U5VNsmtwzj9zUawBt5cXI3yVGG--HrTtYBGkyQRHwtVRjcNtoNKT3qo0jOI-6rRhls7xZO-nwWzeVC_zNaWNpTgk8T8bjRdzv4m5MMGQOglMbeAg\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"ZW5jcnlwdCAmIGRlY3J5cHQgd2l0aCBSU0EtT0FFUA\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "161", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b2fe30fb-ec98-49a9-af76-1d8e32900b93", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/wrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1e1b080f-5055-41d8-bece-f5a7f5c178bf", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "14df00e4-fab5-41b3-8707-975f56823f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/wrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA1_5\",\"value\":\"YXJlcGE\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"WWA13DJNGYW6QttxQpIYduKWrI3XIFmEZ0bCrZqmHQ8ix2kdqi-rdgKX21AZqtK-8VcAXlsTE_ZgOM_T_P7FFCJkSWnZqV2XtyOqgA7iGbZC5LErVRDBVwXQ5A1KNMCthv6yyA00A9H1KyCjjVEX8FGrin9CBoO1qnisvU_rDkbxHHK-JRDZ8UJUmUtRT3GSunYl1h1gBLN9_OFy81XlsU3D7OZslKrww7jQQFLstClW82n5QnhL4m7TnQf5XmWpRvkKRkAN2K2dFm06FubnVyfFSnO4P6pbUdK5ijlDnJR-QzdkgSrIMqDHkMuJIyAVydrHCOgeZpRaX1Wty8JCDw\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "461", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "777e234d-1bd1-45fd-92fe-0b07b3c91eb1", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/unwrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "db425174-2693-4987-8eb1-8e1b5ccdaa00", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "14df00e4-fab5-41b3-8707-975f66823f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/unwrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA1_5\",\"value\":\"WWA13DJNGYW6QttxQpIYduKWrI3XIFmEZ0bCrZqmHQ8ix2kdqi-rdgKX21AZqtK-8VcAXlsTE_ZgOM_T_P7FFCJkSWnZqV2XtyOqgA7iGbZC5LErVRDBVwXQ5A1KNMCthv6yyA00A9H1KyCjjVEX8FGrin9CBoO1qnisvU_rDkbxHHK-JRDZ8UJUmUtRT3GSunYl1h1gBLN9_OFy81XlsU3D7OZslKrww7jQQFLstClW82n5QnhL4m7TnQf5XmWpRvkKRkAN2K2dFm06FubnVyfFSnO4P6pbUdK5ijlDnJR-QzdkgSrIMqDHkMuJIyAVydrHCOgeZpRaX1Wty8JCDw\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"YXJlcGE\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "126", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8d60544a-6b4c-4705-93e2-c746f362d8e5", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/wrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1f942756-8474-4570-b436-b09245bc2fb8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "feaf8c77-4706-43d8-9f7d-16ec30015700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/wrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA-OAEP\",\"value\":\"d3JhcCBhbmQgdW53cmFwIHdpdGggUlNBLU9BRVA\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"r3I34QnooGTNm3awhGAqjjl0dHk4ZCVkIR85cKzYpqG1PqKoiUw22vmep7UEqXMnFDdJU5vJz317Upz_O2oGqbaZ8mOvOu-Ryr7lPKH6Q49kcuWW5OqU0D3oS7Q5hSkOANnlDTju6rF7rbw8wzFxQkkwYoGz_xTt2LFG8i_mROlVkkS6K34v3UVYZVWNFtk3wkCeu1XCioeIULkgdtgdaRJP8i__9KuKny8TnfYOjQToyZUKTkwXB-Nt6muSQaEHit-DjyWsoWu8WwWbIGDMOZa0Go6_UxnNV5F5-zqa5j1PZFcFGAI1BvVemKJU78WNfKqc25x1qV0XmkAG9aPTaA\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "461", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3232446b-b315-4f12-8d1d-eb42a43f2d5c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/unwrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "416cdf43-e40d-4764-8556-53d4ed132fac", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b145af60-17f4-414c-b1c5-de939d803200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec/unwrapkey", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"alg\":\"RSA-OAEP\",\"value\":\"r3I34QnooGTNm3awhGAqjjl0dHk4ZCVkIR85cKzYpqG1PqKoiUw22vmep7UEqXMnFDdJU5vJz317Upz_O2oGqbaZ8mOvOu-Ryr7lPKH6Q49kcuWW5OqU0D3oS7Q5hSkOANnlDTju6rF7rbw8wzFxQkkwYoGz_xTt2LFG8i_mROlVkkS6K34v3UVYZVWNFtk3wkCeu1XCioeIULkgdtgdaRJP8i__9KuKny8TnfYOjQToyZUKTkwXB-Nt6muSQaEHit-DjyWsoWu8WwWbIGDMOZa0Go6_UxnNV5F5-zqa5j1PZFcFGAI1BvVemKJU78WNfKqc25x1qV0XmkAG9aPTaA\"}", + "status": 200, + "response": "{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"value\":\"d3JhcCBhbmQgdW53cmFwIHdpdGggUlNBLU9BRVA\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "158", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f3862636-f20a-452c-b000-3a020e8c00e3", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ebca938e-2879-43a3-b2be-9bfec3b5d453", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "75705e30-9f4d-417c-9eb2-d28a8d982c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/cryptography-client-test", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test\",\"deletedDate\":1565307531,\"scheduledPurgeDate\":1573083531,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/e5400ccf2d864acba74b84b9a62a9bec\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"4t6ycYkA5U7i6sb701vWEiF6C1Ppjw3Kg7HIBbcgNtQmYAu-N9prkrLzojN27xnh_3XCzxjXqi_EPeNU4q1pHE097_YtAP1_0gGp2Wv0tbM8fQVgi6uG3qqIJ1pz6Thtj9IqpuHA60tnqJL3E8s6F8Wd-ggag0e3RQWOzgEtaYE81mOFqATUX1rDQYWuvDBkUJF78ieZ9uo-r2-jE7z8HuIobz13omDQJYZ8tDCwX5JiG3NHYpM_Gk44E0K8l0RXbbKDfMs2PfKJP2mLagvSt-S6n_0k7UNNfswW-8BH_r5fQ1UAkBfLCgDpckr9dEIsN6e36MESgEQfwoQmuzm_pQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307528,\"updated\":1565307528,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "815", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cadf3d10-1da9-4286-87b1-0606aad93447", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:50 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d34b038e-2cca-4d26-bfec-d819d725c130", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5f9e207a-59ed-4296-854b-c7b83b1f6300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:51 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0af7819b-a9ea-4db1-b960-5e2aff48f40e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2852f589-6b28-4c2e-9bda-f0160661a5d7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:01 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1df631b4-fe10-4ba4-9c8f-6940adba3e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "1d0d70da-edcd-4842-bcb5-c8a861c3d546", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + } + ], + "uniqueTestInfo": {} +} \ No newline at end of file diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.json index 9fd13edff549..6ff53b256881 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.json @@ -1,5 +1,34 @@ { "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "050a8f2b-45a3-4cd7-ae04-3ecea458fc9f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, { "method": "POST", "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", @@ -11,12 +40,13 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "date": "Thu, 18 Jul 2019 23:36:25 GMT", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", - "x-ms-request-id": "145ba6e4-c61e-423c-a186-6366aceef200", + "x-ms-request-id": "8a2c6907-c73d-46b9-b159-198868ae6000", "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -28,22 +58,22 @@ }, "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/417ccf2d623543bd8cdaab394c591039\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"q56j5dx0VWFjv-hVJyEkYmN-w1W5CwBfbxldd5uDt2z-ImOZkfLFEyAszQYE9z_KXxKOTxS5dedUu0IdgYyibLwbj-3I5qM8BTDdIWhmmnGOwfzvF8VDhZwqkKbFnFk0YFrLNQXo6IbU2b2X2-ltQcaD0fYxKZXE8qe1N-GbnmkU88igTXWq2V3XUz1KcAv_4V8IUKyHsjwOXOIIjbZn5p1fVDEN7y0yJftxKQpY-KFGSFAeOl921Ztfsjcsr2iDy6mDW7cUGosS_ttDRwrVWQduSRLS8RIsW5gRY0Su7AHC_KB68-bYCgsrccA9m7B3YGKmkfmNimnRElFG1glj4Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563492986,\"updated\":1563492986,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/2c372ef9fd30446dbd5d1dafbeb39d93\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"kAuaDz2z9X8o000VGQf8tAfTvjuOvWe8obDy2BfFKERwP_wTarvvfevLtdDz6WMIdQ7DQ9bul34AQXUozKotbyr8CgthlX1Qj6JyGTjvBlX0AlHrcQOOpGWsmZJwwcPt1WVCHh90eMtzrzVOGnmEpl0CrENIaP-Rax5kYr21dBy13vrwZeh6sKXwkxICTMXiWEPDGjSftna8G0Schs1ziwWjNMYpLTXvXWoppoT-Ymhl6-wTklWy6NBrwladHHpBxKiYoGcRfkC32qh4eehAMBJK0eOWa9VU-feAncykSU_5erqme8K0GqYwMLkckNQvdKCalHHREiWLK9Pn_EE2nQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307273,\"updated\":1565307273,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "713", + "content-length": "714", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:25 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "77fa81e9-d918-4153-b9f4-9b897c23c3f4", + "x-ms-request-id": "b0d53fe9-c7dc-4765-9e0f-9312acd7e3ef", "cache-control": "no-cache", "expires": "-1" } @@ -54,52 +84,74 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-\",\"deletedDate\":1563492986,\"scheduledPurgeDate\":1571268986,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/417ccf2d623543bd8cdaab394c591039\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"q56j5dx0VWFjv-hVJyEkYmN-w1W5CwBfbxldd5uDt2z-ImOZkfLFEyAszQYE9z_KXxKOTxS5dedUu0IdgYyibLwbj-3I5qM8BTDdIWhmmnGOwfzvF8VDhZwqkKbFnFk0YFrLNQXo6IbU2b2X2-ltQcaD0fYxKZXE8qe1N-GbnmkU88igTXWq2V3XUz1KcAv_4V8IUKyHsjwOXOIIjbZn5p1fVDEN7y0yJftxKQpY-KFGSFAeOl921Ztfsjcsr2iDy6mDW7cUGosS_ttDRwrVWQduSRLS8RIsW5gRY0Su7AHC_KB68-bYCgsrccA9m7B3YGKmkfmNimnRElFG1glj4Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563492986,\"updated\":1563492986,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "901", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:25 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "181dc106-7d29-4c4f-8bd2-55f18e8ece75", + "x-ms-request-id": "191d45ce-85cf-40d3-b5a8-86dbf94ad753", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b7d0995e-dfac-4067-ac1d-8babf0575c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-\",\"deletedDate\":1565307273,\"scheduledPurgeDate\":1573083273,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/2c372ef9fd30446dbd5d1dafbeb39d93\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"kAuaDz2z9X8o000VGQf8tAfTvjuOvWe8obDy2BfFKERwP_wTarvvfevLtdDz6WMIdQ7DQ9bul34AQXUozKotbyr8CgthlX1Qj6JyGTjvBlX0AlHrcQOOpGWsmZJwwcPt1WVCHh90eMtzrzVOGnmEpl0CrENIaP-Rax5kYr21dBy13vrwZeh6sKXwkxICTMXiWEPDGjSftna8G0Schs1ziwWjNMYpLTXvXWoppoT-Ymhl6-wTklWy6NBrwladHHpBxKiYoGcRfkC32qh4eehAMBJK0eOWa9VU-feAncykSU_5erqme8K0GqYwMLkckNQvdKCalHHREiWLK9Pn_EE2nQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307273,\"updated\":1565307273,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "903", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:25 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5abb53d0-c89d-431b-8679-c67d9d188c6a", + "x-ms-request-id": "6a112570-9d33-406d-b72c-5dbef3bfa4a7", "cache-control": "no-cache", "expires": "-1" } @@ -110,113 +162,131 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "35233efe-d265-4240-8a68-31eb366e7712", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:36:35 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9ec987bc-28eb-41fe-b446-dec43ebb24a7", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-/create", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"kty\":\"RSA\",\"attributes\":{}}", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-/287b415c38ba4e52ac6dae130f5caa7c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"1s5eeqDg8NMyvsDpD3dzaxu_cYmiGZgo3ha0uSYmeMis5BKTCRJ9gB4UwaRpiyNzHBJpUkO9Pal-pdvsWFULvuhVUXE6RnAf1TTNsiWyapUZ5w_vfqzf4lfUhncE-0JFNK7ic7sSsyIPLD7zUeLeSG0mjfxf9oud3bnh0-PBbT6dqaIIWILZWRKz6XWOPOWL7sQGiUi_U-YXyyreHKaBlyYyQpDQxMNQaqqmkRrSxQJhmIw_gcFV3xM8Pvi9l4Th5Fft4L6fEb789vtMa-nrdjbtNFIVZcJgB_KlEwSmX-wTPXTlwP_1oKJ1GEGvsGDyxRCW3NpiV8mA6EumxG7zBw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563492996,\"updated\":1563492996,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "698", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:36 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b7d0995e-dfac-4067-ac1d-8bab01585c00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f9ddc48c-afd2-43a3-bd97-52c9ca8aee8a", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/create", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/37977708819a4eda82398dd9ed72bd54\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"v8sIdpuhrBTUOJoZX9kCyXQpjShXC0zm_qGPQj9Ub7i4bl53n1lK8ozSrrJjwqWaKh7ac5SguggoAYc2fLS34DMV2dwX2dsXqcX-crYhjXu27RmJEy0UWcD1Zx_Zne0dIhfnKIvan_hv0gmH2JAVoFPc20q4NW6_tkkMk1cZKTh_k6fgcn6EjPq8jz-6rTuUWD8PYK5yMsYbLOBAG_ZWixQRhYolF4Wgotvh_NoGk7w8H_3HkCTKsYMvrCzgFsexFZgDIFV7bsj0JNBj3B0EsjzmO2G7lnR7gS0jfTp52AsltoEWv_dw6Uk_C96U3Iui_EC-nyttuTRoIps-gPaTMQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563492997,\"updated\":1563492997,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "694", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:36 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "34630ddf-5a6b-43bb-8f62-3299b9519a0f", + "x-ms-request-id": "aa9a8076-f969-4ab8-80ec-727e3ab76414", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-\",\"deletedDate\":1563492997,\"scheduledPurgeDate\":1571268997,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/37977708819a4eda82398dd9ed72bd54\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"v8sIdpuhrBTUOJoZX9kCyXQpjShXC0zm_qGPQj9Ub7i4bl53n1lK8ozSrrJjwqWaKh7ac5SguggoAYc2fLS34DMV2dwX2dsXqcX-crYhjXu27RmJEy0UWcD1Zx_Zne0dIhfnKIvan_hv0gmH2JAVoFPc20q4NW6_tkkMk1cZKTh_k6fgcn6EjPq8jz-6rTuUWD8PYK5yMsYbLOBAG_ZWixQRhYolF4Wgotvh_NoGk7w8H_3HkCTKsYMvrCzgFsexFZgDIFV7bsj0JNBj3B0EsjzmO2G7lnR7gS0jfTp52AsltoEWv_dw6Uk_C96U3Iui_EC-nyttuTRoIps-gPaTMQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563492997,\"updated\":1563492997,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "863", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:36 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:44 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "176a7218-7cdf-4756-809d-cf90d6bbbe07", + "x-ms-request-id": "910267d6-951c-40f8-bbc0-9c8e68865025", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:44 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8913c0a7-6cfb-4d7b-8dab-b026eb8e5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-", "query": { "api-version": "7.0" }, @@ -226,7 +296,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -234,45 +304,67 @@ "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:36 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:44 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8014701e-0460-4d15-b467-3aab5c575d90", + "x-ms-request-id": "00776fb7-c6ec-46ab-a694-67d6835eea37", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:47 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:54 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1f20bf2a-2dc6-488e-aa1e-2454d2b98842", + "x-ms-request-id": "bcd45af9-c515-44dd-8fb6-724a74d95740", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "772e0bb2-9e99-4b0c-9b7f-43a6c6625200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-", "query": { "api-version": "7.0" }, @@ -283,354 +375,395 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "150817ce-030a-48bb-9979-fc1a02221f9a", + "x-ms-request-id": "2792f935-9e8d-44fe-8fab-81b3c2c8abca", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:36:57 GMT", + "date": "Thu, 08 Aug 2019 23:34:54 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-/create", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\",\"key_size\":2048,\"attributes\":{}}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/801f21319f3a41d89ba605fdc25a1448\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uORlj9OWpqv6lib4d9OAa9rNWaFPkRpF1-3IzM-sAS7_Rr5gyilsz6Ts7uq8GNyoHglFoj-R2FMyVNThRIjIS18MAzjtHt3AQqjbtAgRYslRvZ5LivfT29y1iHykI2xYNf8fME9EpM3i9gfGr41NUl_yzHldr-tYHLZeF8EeahtavVoKa_RB7r5FHVhdv12Jd4OI3l7QEyaaHolAux9QjNZBslB-EMLO4MNsQyw7sdzkuz9Nb29Bdyh6uGi1rkwh8oEN3Rz7QhL_IlxZIQNyZwKhht-HXzY3HZXRCe0qfRyNAhtOd3_6Yo0Bmvf7g3QfzjjUAQwD_32PhZgHkjAAzQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493017,\"updated\":1563493017,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 0, + "response": "", + "responseHeaders": {} + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "702", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:57 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:54 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e8d6a239-e06d-434b-a665-0c53f3ac2657", + "x-ms-request-id": "ddbdb5da-c4b3-4301-8c14-f573d560c3a5", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-\",\"deletedDate\":1563493018,\"scheduledPurgeDate\":1571269018,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/801f21319f3a41d89ba605fdc25a1448\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uORlj9OWpqv6lib4d9OAa9rNWaFPkRpF1-3IzM-sAS7_Rr5gyilsz6Ts7uq8GNyoHglFoj-R2FMyVNThRIjIS18MAzjtHt3AQqjbtAgRYslRvZ5LivfT29y1iHykI2xYNf8fME9EpM3i9gfGr41NUl_yzHldr-tYHLZeF8EeahtavVoKa_RB7r5FHVhdv12Jd4OI3l7QEyaaHolAux9QjNZBslB-EMLO4MNsQyw7sdzkuz9Nb29Bdyh6uGi1rkwh8oEN3Rz7QhL_IlxZIQNyZwKhht-HXzY3HZXRCe0qfRyNAhtOd3_6Yo0Bmvf7g3QfzjjUAQwD_32PhZgHkjAAzQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493017,\"updated\":1563493017,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "879", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:57 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "aab7b631-c963-4ded-b58a-41f804bb2900", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "59f35aa7-7d37-4e58-9689-7a1dcaee7af1", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/create", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/a933124d274e43858a09cd24f5454f11\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"1oSYU1V--Dh5unAlArUBcUg5l2hY1T8xThq1x0tWEpQCYjgN3VeGiyH-P6iIgIGMmQEipfssw0Z6IFm4AMnp_h0y5pW3Ag8CaA3pI77rh_C12Z56BUrrt7EvgaweqRYG9rH0SW1GGFwUWEaJtxNJLC5KA94Rdltg2AiLo0qnjobeXswRyzClP8n-K1S7EVv8ZoSkTX-8b3Kt8zYJhK6nB-La97GdDrrAQscwMpWsO_vqkLw9tEVtNbQsuKcOpZQxJkfMvWUMQBgH-5HrPvoZhPPqaip6gQvmzJSNKXdgUC7vBHP6SwgL3_Ydns3iKUtvMragISyPawKdzMUEwKjQJQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307295,\"updated\":1565307295,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "695", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:36:57 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:55 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ab4eb3d7-1f61-4e50-8f91-e49b362bc9bc", + "x-ms-request-id": "740938ab-2c17-4027-9d63-aaa42a194a00", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "3101c325-8c59-4eab-9f45-9464ccdadacb", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:37:07 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "eca23f27-f7d9-4d90-8efa-e5e51f7cb0e3", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/create", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"kty\":\"EC\"}", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/8d1bb28053f649b1b46d95e526ceaf11\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"BOIY8IEYI-uBlqz0sJCt8NESR3gkwoVL0bYDJyZahz0\",\"y\":\"V2ut4wfeSkZFbbKWE8b5uwWB8DKiYIvpStuLXmE6D_4\"},\"attributes\":{\"enabled\":true,\"created\":1563493028,\"updated\":1563493028,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "405", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:07 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "62833b5a-8cab-47be-b39a-cfe194cc2900", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9254bb51-f81b-4b36-bfb3-eed7c1a0bf54", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-\",\"deletedDate\":1563493028,\"scheduledPurgeDate\":1571269028,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/8d1bb28053f649b1b46d95e526ceaf11\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"BOIY8IEYI-uBlqz0sJCt8NESR3gkwoVL0bYDJyZahz0\",\"y\":\"V2ut4wfeSkZFbbKWE8b5uwWB8DKiYIvpStuLXmE6D_4\"},\"attributes\":{\"enabled\":true,\"created\":1563493028,\"updated\":1563493028,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-\",\"deletedDate\":1565307295,\"scheduledPurgeDate\":1573083295,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/a933124d274e43858a09cd24f5454f11\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"1oSYU1V--Dh5unAlArUBcUg5l2hY1T8xThq1x0tWEpQCYjgN3VeGiyH-P6iIgIGMmQEipfssw0Z6IFm4AMnp_h0y5pW3Ag8CaA3pI77rh_C12Z56BUrrt7EvgaweqRYG9rH0SW1GGFwUWEaJtxNJLC5KA94Rdltg2AiLo0qnjobeXswRyzClP8n-K1S7EVv8ZoSkTX-8b3Kt8zYJhK6nB-La97GdDrrAQscwMpWsO_vqkLw9tEVtNbQsuKcOpZQxJkfMvWUMQBgH-5HrPvoZhPPqaip6gQvmzJSNKXdgUC7vBHP6SwgL3_Ydns3iKUtvMragISyPawKdzMUEwKjQJQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307295,\"updated\":1565307295,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "574", + "content-length": "865", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:08 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:55 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4c616ecc-00e9-4eb8-ac5e-fb3bc2da3f75", + "x-ms-request-id": "aa0d9ecd-7ef2-4427-89e0-a4822119c68a", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:08 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:55 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2b3f4b4d-1a9a-4fd8-b1c1-e433c8fabef8", + "x-ms-request-id": "9fd326c2-8359-4687-bec4-368e7a7a4b01", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "409", - "x-ms-keyvault-region": "westus", - "content-length": "118", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:18 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:55 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8668bcb8-5d27-4058-a93d-301789002a00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e7dde3c6-4fc2-40b5-96ee-d1ae316e6682", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 204, - "response": "", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "ed631f4e-8f44-4371-b488-aaf08e71b6fe", + "status": "409", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:37:28 GMT", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0a71e444-f7e3-4f83-82ae-61c6c3bc03dd", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/create", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"EC\",\"attributes\":{},\"crv\":\"P-256\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/ab2db7aa734043a69fce10cd2a11161c\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"HxOPadhwZZB4I6LxyTALTHZ2NrUbZW-p8JAjV8hMK9M\",\"y\":\"3Lf_2i-6BWE-v6-ijjeYZTjLvkn0nXV5veoM9YvbVYo\"},\"attributes\":{\"enabled\":true,\"created\":1563493049,\"updated\":1563493049,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "414", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f3e28af6-c482-48ea-90ff-75b0c7e1a666", + "x-ms-request-id": "296eda1c-c36d-41a3-b338-0e768f77593d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c0aa8c5a-cc48-475e-8703-037152bc5100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-\",\"deletedDate\":1563493049,\"scheduledPurgeDate\":1571269049,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/ab2db7aa734043a69fce10cd2a11161c\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"HxOPadhwZZB4I6LxyTALTHZ2NrUbZW-p8JAjV8hMK9M\",\"y\":\"3Lf_2i-6BWE-v6-ijjeYZTjLvkn0nXV5veoM9YvbVYo\"},\"attributes\":{\"enabled\":true,\"created\":1563493049,\"updated\":1563493049,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "592", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7c75f190-b9d9-4791-9137-56a07041ccb6", + "x-ms-request-id": "5a23a581-c7e4-48f5-8446-141470daf4e5", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:15 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6dcba318-2ea7-480d-b9b6-003f8191579b", + "x-ms-request-id": "b6cff0b7-a988-4362-b7d4-da5966391a0f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:16 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "62833b5a-8cab-47be-b39a-cfe134cf2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-", "query": { "api-version": "7.0" }, @@ -641,216 +774,228 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "ac86f60d-0aa6-496c-b91c-51bbf1942177", + "x-ms-request-id": "403b5af5-9bab-49e7-8970-eb2c8f409d6c", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:37:39 GMT", + "date": "Thu, 08 Aug 2019 23:35:15 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/create", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"enabled\":false}}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/03917effa13b4eb78d6b876b3cf52e9f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"m6acQA7BJe1VAXon-2p11w4YUF4elYUbHmiBFKD5t391qUjo3GcnlPkjpnbzCQV1IxQ649CgCFQnhIOcUC-OsNmFuFFLewPv5le6f_ylUKrc0yHRjSqyIoLmQn7aZhHMPMeezt86_7PU_-6zsxHEJEKzn83qtUvBcwbgEytS-DPGiXN09EABTPfBNMYtYx0b7M8x8gOjOz5KwNeS41YmZnlTF7JfkUvggFCJ4ozVr0gUEfSqkgqoPqVUD5VDyo6DRLdkOtM063MlVnjUtYxs041R4Y1Apx_evT1HKYk-fvDxF5e0rolBqZQTizubdqdKTGlK0S5B82X4WLd5PPMdVQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1563493059,\"updated\":1563493059,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "700", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:39 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:15 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c44173ce-8a6b-4855-9a56-6e093dffae0c", + "x-ms-request-id": "0e88a11e-e473-48b8-ac37-429e3d7667ab", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-\",\"deletedDate\":1563493059,\"scheduledPurgeDate\":1571269059,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/03917effa13b4eb78d6b876b3cf52e9f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"m6acQA7BJe1VAXon-2p11w4YUF4elYUbHmiBFKD5t391qUjo3GcnlPkjpnbzCQV1IxQ649CgCFQnhIOcUC-OsNmFuFFLewPv5le6f_ylUKrc0yHRjSqyIoLmQn7aZhHMPMeezt86_7PU_-6zsxHEJEKzn83qtUvBcwbgEytS-DPGiXN09EABTPfBNMYtYx0b7M8x8gOjOz5KwNeS41YmZnlTF7JfkUvggFCJ4ozVr0gUEfSqkgqoPqVUD5VDyo6DRLdkOtM063MlVnjUtYxs041R4Y1Apx_evT1HKYk-fvDxF5e0rolBqZQTizubdqdKTGlK0S5B82X4WLd5PPMdVQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1563493059,\"updated\":1563493059,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "874", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:39 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:16 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d6908b17-3887-4a62-9ee4-197c38f03800", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7f26b52c-cc57-4562-af7d-1dfc7f7e53db", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/create", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "{\"kty\":\"RSA\",\"key_size\":2048,\"attributes\":{}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/b71c15c7bcc44183998c7311942a56f2\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"nXQ3JJCkStP0hy2pSh3_xGG9Nya6dKnPml2DUozhKclOcRw_wVLtsF5VqS9tlPWRiPoWyCZNHcBvkXr3EQwAv_Z7aOMkRijckInt5t-WJoNGCZ296HC_YdwFIF_j_jMt6BjQYVAWp5tMb3OmXu-OHqv4y31EGC36EfvhtlgaZFx4BCcwo0CH_TBPPQt9Ev024RrBwckiB3pgUNgxOVTEVCq0BfU7pClrKFZExuUyjbaSVwvhYEN8RPRPpj4yT92MjbERXJCkDOMdS4h0Vjr1kwVHDnpiOd9bwipFpuWdmHukOfhSKR-EVvaCtQH9U-ClxyoEEiwMxGAZTSUdJe4JMw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307317,\"updated\":1565307317,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "703", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:39 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:16 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "bf025dd7-f50d-4382-af4e-fb9f4c0c1172", + "x-ms-request-id": "e2074833-8253-448f-b70d-73e2103baffe", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:16 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1482e164-c376-448c-bcd7-6c96fb04e5ec", + "x-ms-request-id": "a6f4a815-6edf-40b5-a3a1-a495813cf11d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "cd969292-3e42-4de2-9ad2-1a155314252d", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:37:59 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:35:17 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8668bcb8-5d27-4058-a93d-301708032a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/create", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"nbf\":1546300805}}", + "requestBody": null, "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/81162bf1d28a48b28119cffc5a8bf759\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"p1sbUFngbjeev8TUqKh5XKkzy9nUOn41IPEzJ7Ttd5PaZHaUUHqjxHfKOzjYTyHZsJhrnkafO2C2ApMnCbZ4zFWYOdUl3E3SHmekZ2oqzKBQTl5Cxr4xfIw1sVJw_wD0HrC873_mvEEgSLqmF91iHdZS5gR9gG2oAhUP9og26h7e2x2dwFS9JaqE8mYIr0aDpKLZNXZgwOnIvBHgaiu8VY8n3wKjqmgN6ldDjR6SNgxuvdPLAJ16F7B3n9CLwDxg-owOQu-Poa-vGWmx0oGg8VnDJSZgnErLFWDbZ_IQOqIPaVGStH1vmGCKgeVgnx8PZv4BU24nnFciiPuHQWgIow\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1563493080,\"updated\":1563493080,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-\",\"deletedDate\":1565307317,\"scheduledPurgeDate\":1573083317,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/b71c15c7bcc44183998c7311942a56f2\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"nXQ3JJCkStP0hy2pSh3_xGG9Nya6dKnPml2DUozhKclOcRw_wVLtsF5VqS9tlPWRiPoWyCZNHcBvkXr3EQwAv_Z7aOMkRijckInt5t-WJoNGCZ296HC_YdwFIF_j_jMt6BjQYVAWp5tMb3OmXu-OHqv4y31EGC36EfvhtlgaZFx4BCcwo0CH_TBPPQt9Ev024RrBwckiB3pgUNgxOVTEVCq0BfU7pClrKFZExuUyjbaSVwvhYEN8RPRPpj4yT92MjbERXJCkDOMdS4h0Vjr1kwVHDnpiOd9bwipFpuWdmHukOfhSKR-EVvaCtQH9U-ClxyoEEiwMxGAZTSUdJe4JMw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307317,\"updated\":1565307317,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "721", + "content-length": "881", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:59 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:16 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b9854d99-2287-484d-849d-7520a6ce00d0", + "x-ms-request-id": "28648568-5499-4f07-8a6f-2517d6749f83", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-\",\"deletedDate\":1563493080,\"scheduledPurgeDate\":1571269080,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/81162bf1d28a48b28119cffc5a8bf759\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"p1sbUFngbjeev8TUqKh5XKkzy9nUOn41IPEzJ7Ttd5PaZHaUUHqjxHfKOzjYTyHZsJhrnkafO2C2ApMnCbZ4zFWYOdUl3E3SHmekZ2oqzKBQTl5Cxr4xfIw1sVJw_wD0HrC873_mvEEgSLqmF91iHdZS5gR9gG2oAhUP9og26h7e2x2dwFS9JaqE8mYIr0aDpKLZNXZgwOnIvBHgaiu8VY8n3wKjqmgN6ldDjR6SNgxuvdPLAJ16F7B3n9CLwDxg-owOQu-Poa-vGWmx0oGg8VnDJSZgnErLFWDbZ_IQOqIPaVGStH1vmGCKgeVgnx8PZv4BU24nnFciiPuHQWgIow\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1563493080,\"updated\":1563493080,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "900", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:59 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:16 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d1af0df6-aea5-440a-9329-cbcbc37dc28c", + "x-ms-request-id": "03beca7d-405c-4e48-ba33-14d33aae9e56", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:17 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b7d0995e-dfac-4067-ac1d-8babf45d5c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, @@ -860,7 +1005,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -868,155 +1013,145 @@ "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:37:59 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:16 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "22666bef-655d-4c98-b522-3f8bc9cc1e0c", + "x-ms-request-id": "6d385859-72c3-46a2-b4d5-3a7f56151c56", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "c364e716-7ed3-436b-8345-4a8096c64219", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:38:10 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:27 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e3394b52-6993-4aed-8eba-c9508a30b682", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/create", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"exp\":1546300805}}", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/1b141b6ce6b840bc81f1df213c91f008\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"2SMqb4jQQQjQdD5OW5DosG5fHwaDn74sQUoPm-M43kizwA3ur4lxq3_1I4B3ycYlz8Mpou-ViOj9W6P03MhTHfq8o9VmgjN-AD1NzValRNZ_YGi3n-yg2xa5rVxcTCdLabmivLqNX4NJjb_nk__29qaozq93taNsQ0hr_ruizb9LkvtPECB6oDPhG0w_wpvs2wupIx2Ol8dMYCAuXAh1EOPMT-qr1WC6wkfUs9NPxrnkje6WlC-hXDgA8Q4V3P6VHOghgo9hArh52DlOXlNpmyc7K6QHWFqJCdu7IaeLKOvUWwpdvQhsaiMb6v2-7zPVWBaATavVPzt5B9019Qg7Ww\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1563493091,\"updated\":1563493091,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "719", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:10 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:27 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f6e98db3-2b93-4df4-8793-370ed05f4f00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "97d2437c-c694-47d9-9bdc-ae6b9cb2c55c", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-\",\"deletedDate\":1563493091,\"scheduledPurgeDate\":1571269091,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/1b141b6ce6b840bc81f1df213c91f008\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"2SMqb4jQQQjQdD5OW5DosG5fHwaDn74sQUoPm-M43kizwA3ur4lxq3_1I4B3ycYlz8Mpou-ViOj9W6P03MhTHfq8o9VmgjN-AD1NzValRNZ_YGi3n-yg2xa5rVxcTCdLabmivLqNX4NJjb_nk__29qaozq93taNsQ0hr_ruizb9LkvtPECB6oDPhG0w_wpvs2wupIx2Ol8dMYCAuXAh1EOPMT-qr1WC6wkfUs9NPxrnkje6WlC-hXDgA8Q4V3P6VHOghgo9hArh52DlOXlNpmyc7K6QHWFqJCdu7IaeLKOvUWwpdvQhsaiMb6v2-7zPVWBaATavVPzt5B9019Qg7Ww\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1563493091,\"updated\":1563493091,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "896", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:11 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:27 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c648daa6-d0f8-493c-861c-6b9772cb6b1d", + "x-ms-request-id": "e4e03571-495b-4524-b285-22a5b16627ac", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:11 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ac1265c3-a786-45ab-968c-4a57df506984", + "x-ms-request-id": "1f21a6c8-a239-4d1b-8b11-f3d3eff9469d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "409", - "x-ms-keyvault-region": "westus", - "content-length": "118", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:21 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "382e15f5-81ea-4ee7-98c9-9407fe8e2800", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c8fde8cb-ab48-48ab-adc1-bb618c59d59a", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-", "query": { "api-version": "7.0" }, @@ -1027,244 +1162,228 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "3670dfec-0bb3-415b-ac4a-aeba4278ca5f", + "x-ms-request-id": "749a3026-8842-4f7c-a39f-c6940c76a3ef", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:38:31 GMT", + "date": "Thu, 08 Aug 2019 23:35:37 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/create", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/ae777cd6c6164b2babf85c799c4e722a\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sPHSMLJFs4IT0kmVDbpdfi7Zq6WahadzQEbpscCNEjojFXGCw4OY345B6al6tsJy4AFQz8JZ_a9i_espARrHNfSHwLcIO1Wc4rdIRnRHRURNJh6qEhygx6xz_tqTKFK-6yEkjqkVRkMNVtDcfrxLBwxZQYClmU8caeSfUpkMMzhQuI8Js3675hFbmjHKsbQ2DlEkX5Zjy8Wfu0xIwN8DwFLuwxGbIsAgsM8UURcyMTZqzrXtloGR54LDAAqRP8bx2XmzU1u6usCtmibb2Ieoj2f3V_w80r1eLvGk_2Lf3Y8UBELCsBQcxNEKzLMTJzh9ofDKo5Shu4xri9lxVzsQfw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493111,\"updated\":1563493111,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "690", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2a9830cf-7a24-4b32-a4bc-1e38033f3254", + "x-ms-request-id": "4a673a1d-914a-46fa-8d9b-5a5b42e31c2e", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PATCH", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/ae777cd6c6164b2babf85c799c4e722a", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"attributes\":{\"enabled\":false}}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/ae777cd6c6164b2babf85c799c4e722a\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sPHSMLJFs4IT0kmVDbpdfi7Zq6WahadzQEbpscCNEjojFXGCw4OY345B6al6tsJy4AFQz8JZ_a9i_espARrHNfSHwLcIO1Wc4rdIRnRHRURNJh6qEhygx6xz_tqTKFK-6yEkjqkVRkMNVtDcfrxLBwxZQYClmU8caeSfUpkMMzhQuI8Js3675hFbmjHKsbQ2DlEkX5Zjy8Wfu0xIwN8DwFLuwxGbIsAgsM8UURcyMTZqzrXtloGR54LDAAqRP8bx2XmzU1u6usCtmibb2Ieoj2f3V_w80r1eLvGk_2Lf3Y8UBELCsBQcxNEKzLMTJzh9ofDKo5Shu4xri9lxVzsQfw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1563493111,\"updated\":1563493112,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "691", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:31 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "6b00e0af-d66a-471e-97a2-8acebc612b00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b57c6e2c-4826-4729-9564-5087ad0067e0", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/create", "query": { "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"kty\":\"EC\"}", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-\",\"deletedDate\":1563493112,\"scheduledPurgeDate\":1571269112,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/ae777cd6c6164b2babf85c799c4e722a\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sPHSMLJFs4IT0kmVDbpdfi7Zq6WahadzQEbpscCNEjojFXGCw4OY345B6al6tsJy4AFQz8JZ_a9i_espARrHNfSHwLcIO1Wc4rdIRnRHRURNJh6qEhygx6xz_tqTKFK-6yEkjqkVRkMNVtDcfrxLBwxZQYClmU8caeSfUpkMMzhQuI8Js3675hFbmjHKsbQ2DlEkX5Zjy8Wfu0xIwN8DwFLuwxGbIsAgsM8UURcyMTZqzrXtloGR54LDAAqRP8bx2XmzU1u6usCtmibb2Ieoj2f3V_w80r1eLvGk_2Lf3Y8UBELCsBQcxNEKzLMTJzh9ofDKo5Shu4xri9lxVzsQfw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1563493111,\"updated\":1563493112,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/b431a1d888b846108b28f31c2b204a4f\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"UJOmvP9yTRnDz3aR2I-Tdvmz78nNjGUk8b5JjVugkko\",\"y\":\"k9vh-_zcQwjy4xvrgn0VQEtJvORYmgectijgfzPnpbQ\"},\"attributes\":{\"enabled\":true,\"created\":1565307338,\"updated\":1565307338,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "856", + "content-length": "406", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "22860138-ce18-4e7f-93e2-8d3d8c1501ac", + "x-ms-request-id": "ae7c4636-7097-47d9-8ba5-e1a517c4e043", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f80f3caf-f03e-46e2-b802-543622ad3346", + "x-ms-request-id": "8ae920f7-5622-4306-9044-d788b3abd321", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "0d4e6174-def4-4ecb-aaae-17a1d8c96b46", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:38:41 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:35:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c46484e7-8524-44bf-bcae-66bd82485800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/create", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"enabled\":false}}", + "requestBody": null, "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/879522235cd349a0bee243252d457e47\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"rqSYzbIsGbLl0cRla9m34yJexLsRX_CQZI9iBaRENjNJMRGHQYUHW06BTPia4GB29GWCcw6w3yxa_HpAb3mVXPXCHvAADSoqxixHQa5uWsiBb4cSIrBXC9LEVVjhsBbVf4OZ7V8FOmsxLMu8zR-U-Epi0Fgsteiz-7O8IKGun2Q5JTadjf2un5Jug8RgeI4sVA_lyqkLdFlODb0afmhOcK7KlK3CVlHrx0hgV2NmIzm9_Z5duAbSa3WdmNxQFBQF44B6fnnQDC3Rs77T9s6Jxovtu3S_HEG8K_gsKIdc8uEYG8xrHzuvrXooAht3R62O1SY9BHsq-IIFKdloqVL3yQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1563493122,\"updated\":1563493122,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-\",\"deletedDate\":1565307339,\"scheduledPurgeDate\":1573083339,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/b431a1d888b846108b28f31c2b204a4f\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"UJOmvP9yTRnDz3aR2I-Tdvmz78nNjGUk8b5JjVugkko\",\"y\":\"k9vh-_zcQwjy4xvrgn0VQEtJvORYmgectijgfzPnpbQ\"},\"attributes\":{\"enabled\":true,\"created\":1565307338,\"updated\":1565307338,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "700", + "content-length": "576", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "880ac74d-e61e-46d0-af07-82f7a7f8b5fe", + "x-ms-request-id": "cc3215cc-6e86-403e-9caa-a7a2b3845019", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PATCH", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/879522235cd349a0bee243252d457e47", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, - "requestBody": "{\"attributes\":{\"exp\":1546300800}}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/879522235cd349a0bee243252d457e47\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"rqSYzbIsGbLl0cRla9m34yJexLsRX_CQZI9iBaRENjNJMRGHQYUHW06BTPia4GB29GWCcw6w3yxa_HpAb3mVXPXCHvAADSoqxixHQa5uWsiBb4cSIrBXC9LEVVjhsBbVf4OZ7V8FOmsxLMu8zR-U-Epi0Fgsteiz-7O8IKGun2Q5JTadjf2un5Jug8RgeI4sVA_lyqkLdFlODb0afmhOcK7KlK3CVlHrx0hgV2NmIzm9_Z5duAbSa3WdmNxQFBQF44B6fnnQDC3Rs77T9s6Jxovtu3S_HEG8K_gsKIdc8uEYG8xrHzuvrXooAht3R62O1SY9BHsq-IIFKdloqVL3yQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1563493122,\"updated\":1563493122,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "717", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6a98be1f-6eec-4bc8-a7ad-9ce7a5dfb8de", + "x-ms-request-id": "316ab749-2953-412b-86c5-d71827c6dd7f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-\",\"deletedDate\":1563493122,\"scheduledPurgeDate\":1571269122,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/879522235cd349a0bee243252d457e47\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"rqSYzbIsGbLl0cRla9m34yJexLsRX_CQZI9iBaRENjNJMRGHQYUHW06BTPia4GB29GWCcw6w3yxa_HpAb3mVXPXCHvAADSoqxixHQa5uWsiBb4cSIrBXC9LEVVjhsBbVf4OZ7V8FOmsxLMu8zR-U-Epi0Fgsteiz-7O8IKGun2Q5JTadjf2un5Jug8RgeI4sVA_lyqkLdFlODb0afmhOcK7KlK3CVlHrx0hgV2NmIzm9_Z5duAbSa3WdmNxQFBQF44B6fnnQDC3Rs77T9s6Jxovtu3S_HEG8K_gsKIdc8uEYG8xrHzuvrXooAht3R62O1SY9BHsq-IIFKdloqVL3yQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1563493122,\"updated\":1563493122,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "891", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:42 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "78346853-c600-40ee-aa3a-baf224fd6500", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "41e98c30-a6d4-428f-91b8-f2f2e79c8f2c", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, @@ -1274,7 +1393,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -1282,155 +1401,145 @@ "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:42 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "278581cc-4d82-4661-9b24-38bc1802b601", + "x-ms-request-id": "78952652-35af-48ef-9d79-16000ef8a15b", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:38:53 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:48 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f551374c-9f8d-43fb-9d96-25db60207e91", + "x-ms-request-id": "ea1168f4-3abe-47dd-ae60-dfd4fb126b1f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "c7d2b529-88ab-4817-9df8-731156a9d3d4", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:39:03 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:35:49 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c0aa8c5a-cc48-475e-8703-037173c05100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/create", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/013f9031d481461d82a0ceffbdc04ef4\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"qYYUrBqqBLL3Pbd8XjVMMV4buPnj9qYBCrDTZImAqVm7LTsA3UUmb6JNYhP-2XJbQZd5x3-fjZatfl4l717GBN67-U4VFB1YDXiJqDUyPVYlcVEpftZMfZi3DgS2Es1f3o0zUxzw9Fxu8hJBPvuOJmrtw1BEA4w29UObB1mZjdxL0ngBCb4iVCGZpJTGWGq36jrSa1g6hc7twwnlkY0BzYFg0Nt2JXchgW7I92rI8OXhsHApxs6Lm1JbFZ8WZFu8MhbU-svYzbUzUd4mbr2ZbCLC4aZ7xXmC531-PEzfY-U6IuNMi9Lskhfln3BsccgSlH7J9pHxx-F86T9cMuqltw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493143,\"updated\":1563493143,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "691", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:03 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:48 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f94b1b62-c401-48ee-8bd9-662a455d239f", + "x-ms-request-id": "5fc21484-76f7-45c5-a213-fc30765bdd49", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-\",\"deletedDate\":1563493143,\"scheduledPurgeDate\":1571269143,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/013f9031d481461d82a0ceffbdc04ef4\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"qYYUrBqqBLL3Pbd8XjVMMV4buPnj9qYBCrDTZImAqVm7LTsA3UUmb6JNYhP-2XJbQZd5x3-fjZatfl4l717GBN67-U4VFB1YDXiJqDUyPVYlcVEpftZMfZi3DgS2Es1f3o0zUxzw9Fxu8hJBPvuOJmrtw1BEA4w29UObB1mZjdxL0ngBCb4iVCGZpJTGWGq36jrSa1g6hc7twwnlkY0BzYFg0Nt2JXchgW7I92rI8OXhsHApxs6Lm1JbFZ8WZFu8MhbU-svYzbUzUd4mbr2ZbCLC4aZ7xXmC531-PEzfY-U6IuNMi9Lskhfln3BsccgSlH7J9pHxx-F86T9cMuqltw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493143,\"updated\":1563493143,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "857", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:03 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:59 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e9f68558-4a59-4548-91ac-55345ada860d", + "x-ms-request-id": "ae27f790-b406-41ca-a406-f9c04a057e03", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-candeleteakey-\"}}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "404", - "x-ms-keyvault-region": "westus", - "content-length": "105", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:03 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:59 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b150f3a00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4621c5c9-6a75-44c1-9b1e-3a3f9500ec21", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, @@ -1440,7 +1549,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -1448,155 +1557,3559 @@ "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:03 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:59 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "54811d3b-a62e-4b04-813e-c9b6756942b3", + "x-ms-request-id": "b6586cbd-e7a7-4371-b318-084f05038ed4", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "6273cbfa-054a-450e-8734-53f85148929c", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:39:13 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "541b07c6-37dc-4560-add7-ad9b5cefb935", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-deletenonexistingkey-/", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-deletenonexistingkey-\"}}", - "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5cae7efb-d29a-40cc-92f5-12024b3a2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "7d2e8a62-8ab7-413a-b0b1-8f2417b65736", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6555e875-4f38-4ce5-851a-743039693e32", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "30846704-b1e7-41e7-9f6e-e402fcab5f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"EC\",\"attributes\":{},\"crv\":\"P-256\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/554725d4a7aa4539ac7fbe21741d7048\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"4ijtu-cQ656w84qZUro7ahM73y2YP3cV7cEkyYrp6gE\",\"y\":\"Olwr9lK2kA95YXBX-UXd72Ru3-H9Km9DPspVEnHXCwc\"},\"attributes\":{\"enabled\":true,\"created\":1565307370,\"updated\":1565307370,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "415", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9d192daa-ecbb-40f7-aa59-bc1ad881925f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "edcc8de7-e8a6-4f5c-bd98-d0b2a72c9ed7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8e47f7c9-f985-4191-b8b6-8b0c45a55500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-\",\"deletedDate\":1565307370,\"scheduledPurgeDate\":1573083370,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/554725d4a7aa4539ac7fbe21741d7048\",\"kty\":\"EC\",\"key_ops\":[\"sign\",\"verify\"],\"crv\":\"P-256\",\"x\":\"4ijtu-cQ656w84qZUro7ahM73y2YP3cV7cEkyYrp6gE\",\"y\":\"Olwr9lK2kA95YXBX-UXd72Ru3-H9Km9DPspVEnHXCwc\"},\"attributes\":{\"enabled\":true,\"created\":1565307370,\"updated\":1565307370,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "594", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e88628a1-e076-4512-9719-7b40a7348e20", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "80055793-429c-447b-9549-06485582fd8a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a6212c92a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9876bfde-c085-4676-bd85-5bb517bc348e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f093767c-20aa-4ea9-b2c8-e27b9b95081d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1df631b4-fe10-4ba4-9c8f-69407ea83e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "cac6ab7c-87c2-477b-bde6-77cfd9aa03bc", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7dad05cb-2e00-4a29-ad3b-4b7cc69621cf", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "767fb5ad-e2aa-45b8-b315-b1542ee42c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"enabled\":false}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/f36fc6ebd6df49f2aa69f578c07917c5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sg9awWlE7fHkUCHH2N-QWruD--ZWjREpFCQOXHpM-6TPyCHQehjUkzOeFc2Oi86K5KgszOU32vsMNmzys2CYCIKKaY3ij2C5IDZgg1UgkZeD-rMOlNlYIvWDRJWn_7DyxeMANA4ZGZPB77dNVKhPCfPz9oRjmxYW7zCkWgjSHKP29BcN9n5UnrEld3TyiKTgornqYjOIl7vZrFyQSGxJ5pATkCVrXuKtf2ngXZDmf1AOMupepbAaACKGZjgzw6-O6EpV6EQXv7tLevx_bcivDbriAGimuewPdn5pFLeWv6XDuYlGdVTnL765qbRazZvSmxxbqXh9AZT1--I2E5tNMQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1565307382,\"updated\":1565307382,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "701", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d57c0bb1-6d75-46aa-84fd-6918def26e4f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "01010f36-6451-4837-8208-2f8b74960b8e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f6e98db3-2b93-4df4-8793-370e89654f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-\",\"deletedDate\":1565307382,\"scheduledPurgeDate\":1573083382,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/f36fc6ebd6df49f2aa69f578c07917c5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sg9awWlE7fHkUCHH2N-QWruD--ZWjREpFCQOXHpM-6TPyCHQehjUkzOeFc2Oi86K5KgszOU32vsMNmzys2CYCIKKaY3ij2C5IDZgg1UgkZeD-rMOlNlYIvWDRJWn_7DyxeMANA4ZGZPB77dNVKhPCfPz9oRjmxYW7zCkWgjSHKP29BcN9n5UnrEld3TyiKTgornqYjOIl7vZrFyQSGxJ5pATkCVrXuKtf2ngXZDmf1AOMupepbAaACKGZjgzw6-O6EpV6EQXv7tLevx_bcivDbriAGimuewPdn5pFLeWv6XDuYlGdVTnL765qbRazZvSmxxbqXh9AZT1--I2E5tNMQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1565307382,\"updated\":1565307382,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "876", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c7da127f-5f3d-4aef-bb09-46bcd7aaa808", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "31c3a2e4-0f4c-4eae-a87f-b629fe3a5b3a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "260aa6c2-944e-47dc-be58-89d2d9c25200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "35c86a09-d322-47ac-a772-077d341b17a2", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7058f805-ec4e-43f7-a71e-45789cd63087", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7bda4336-ff28-4906-bffc-887993093000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "1b57b7c3-e6a4-4f56-8395-10f3fbc14c4d", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f0f88bdd-bdbb-41a5-bee5-6ab020e2d619", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "35f0a587-ad75-43ef-9574-c2b09b075a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"nbf\":1546300805}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/023efb9c7982478fb9dac8d92a06e779\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"mnttqVBAyqFPsuLH_dGx47leufhYEJm-tuNDYQVn2rbcUQkfxxJGcMx8ROhjuAFToWsiMEQU3YlUbx7poq8-mh2LLXY9llIFv2OmIpAKeKqehFi4sKIrIelAWKdzvrRU8p-My5OWKpi0Me0iaDKrU5o1nXaLXWF7tTnoHHo94CpuCJKMn9k7HjAfqG7fD-DZDizh9su1fJ1VNEAEHgJOOjBGpHFOfisBSXe3Ke2ZIdmuW7Ul5wZXJb2BYDT462Y79O-jNAaSW0ZZ0J-8KOwHqaIASAET-pyM9DQqOpFXTDzQDkLk6c2a0e0QJnQ9cI_Nw8ysLNOPFLC6pLNoA0iqIQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1565307393,\"updated\":1565307393,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "722", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "afd02bd2-6f53-4ed7-baf6-856c1f905072", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ef24401d-b8b1-4fd7-8f6a-09c9844e06b5", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b8b133a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-\",\"deletedDate\":1565307394,\"scheduledPurgeDate\":1573083394,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/023efb9c7982478fb9dac8d92a06e779\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"mnttqVBAyqFPsuLH_dGx47leufhYEJm-tuNDYQVn2rbcUQkfxxJGcMx8ROhjuAFToWsiMEQU3YlUbx7poq8-mh2LLXY9llIFv2OmIpAKeKqehFi4sKIrIelAWKdzvrRU8p-My5OWKpi0Me0iaDKrU5o1nXaLXWF7tTnoHHo94CpuCJKMn9k7HjAfqG7fD-DZDizh9su1fJ1VNEAEHgJOOjBGpHFOfisBSXe3Ke2ZIdmuW7Ul5wZXJb2BYDT462Y79O-jNAaSW0ZZ0J-8KOwHqaIASAET-pyM9DQqOpFXTDzQDkLk6c2a0e0QJnQ9cI_Nw8ysLNOPFLC6pLNoA0iqIQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1565307393,\"updated\":1565307393,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "902", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:33 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "571d178f-668a-4303-9266-e72fb55d8f40", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "edf1ca08-1651-4370-a5f9-c394bdb24c13", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8e47f7c9-f985-4191-b8b6-8b0c91a75500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3737e752-2a46-41ca-9e26-10bc90a369bd", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:44 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6d46fec6-e190-41f4-906a-62c65bfc776a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:44 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e9b9037c-d49b-4938-a860-430e05ac2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:44 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b9889392-4fba-4d85-86c2-467c754ceebb", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:54 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2402f02a-7f87-441d-9a44-01facf235dd7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "772e0bb2-9e99-4b0c-9b7f-43a617705200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "7349a67e-6615-4974-be28-56d7f44bb911", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:54 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:54 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "07d86f58-838f-4565-801c-aa0c942254b7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a05e3174-6a90-4f2e-8601-6ad663583c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"exp\":1546300805}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/96785b9c0169465c90d2964ed0f3e06c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"vg9NVmV1Ml4KCChbPGu439Ik4Zw3jR1G-ReLbiYT5sg0NLJTvRMooeTm34xr650QYVFTUS57PtCMKjhjbtAo-G4GsrlHRxRh4i59FtYw7g2vu78_d3PBmtNB2_qI3g2VqanuB8gJTW0s2PB_RJjQLRK0P13vLix14plyUieg16nv4zKHFAZCZYlbdW-sZG-UKyKIrW-uJK9lGphDJpOTPjxYFqxdbk8V6roWzP9QNmf5p-RYodgJ9s3E8y-jcWovqDeQZ-gEKalTScWPNYDW-huUrg5HoUHJ_wZhIu2G36zj1xNRoPxUnOmSffJ6VzEMTShPXSVgw86S9HZpgY2dBQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1565307415,\"updated\":1565307415,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "720", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:54 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "44fce1ac-2193-451b-aa28-b5752e62c569", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:54 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "59e6aa22-f142-4301-a212-aee3bae252d4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "260aa6c2-944e-47dc-be58-89d20cc65200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-\",\"deletedDate\":1565307415,\"scheduledPurgeDate\":1573083415,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/96785b9c0169465c90d2964ed0f3e06c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"vg9NVmV1Ml4KCChbPGu439Ik4Zw3jR1G-ReLbiYT5sg0NLJTvRMooeTm34xr650QYVFTUS57PtCMKjhjbtAo-G4GsrlHRxRh4i59FtYw7g2vu78_d3PBmtNB2_qI3g2VqanuB8gJTW0s2PB_RJjQLRK0P13vLix14plyUieg16nv4zKHFAZCZYlbdW-sZG-UKyKIrW-uJK9lGphDJpOTPjxYFqxdbk8V6roWzP9QNmf5p-RYodgJ9s3E8y-jcWovqDeQZ-gEKalTScWPNYDW-huUrg5HoUHJ_wZhIu2G36zj1xNRoPxUnOmSffJ6VzEMTShPXSVgw86S9HZpgY2dBQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1565307415,\"updated\":1565307415,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "898", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "fbd70d26-361c-4853-95d5-b2e3a0b7aa16", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "04c631b3-9172-4db4-b860-98120973a6b3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "14df00e4-fab5-41b3-8707-975f3c753f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "95f9cdaf-001a-436f-83d3-6e3d28e23df8", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "039fe67f-7c50-45dc-82ac-924f913378f7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ebc87a43-dce6-481a-b374-c11a04a46a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "9f5fbba2-db58-4a5d-8ca4-65c253701fab", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c304aafe-464b-474b-97d4-f99ea4ad5149", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cf90315f-bd8a-4778-a796-b91e4d005000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/d2ba2f717e7b46088b1608e9dc6b864c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7WT1vVhPlovmtVloAld6ywrTFUhmhBK2YJ-Qipn7LKjROoxKeFTe8YRYjnF5xeCLct-TisDHOzFssc--XYlMlwU2B7Aym9WxIxvJT3S1DExK4tFEKjU59PVYn64PuPGDi4o4fC697EBEbqpUVEGoCrBmFOM6Xw1WNADlI_pV3sJNDz1T2IsMEBuhC-uZr3k3_AtEV22wSmSimrY4nEaTykzaQH5S5bXVc4uQBfcE6QnPjGGNgRsv8JeSgTiqcSH226PnKvnU9lOabR2aRVJCf-gTKS8Kta1-hrra1IL62Ix8sZzo6lSx_2H5fucwIkKoabfpLykSYaDTX8KOaNj5kQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307426,\"updated\":1565307426,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "691", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0905d090-f347-47d8-81ff-b314996b61cf", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/d2ba2f717e7b46088b1608e9dc6b864c", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "69c0d3d5-ea03-424c-9742-50fa7bde28d8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "dc8c7396-1aee-4a5e-8c42-b09a46bd2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/d2ba2f717e7b46088b1608e9dc6b864c", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"attributes\":{\"enabled\":false}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/d2ba2f717e7b46088b1608e9dc6b864c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7WT1vVhPlovmtVloAld6ywrTFUhmhBK2YJ-Qipn7LKjROoxKeFTe8YRYjnF5xeCLct-TisDHOzFssc--XYlMlwU2B7Aym9WxIxvJT3S1DExK4tFEKjU59PVYn64PuPGDi4o4fC697EBEbqpUVEGoCrBmFOM6Xw1WNADlI_pV3sJNDz1T2IsMEBuhC-uZr3k3_AtEV22wSmSimrY4nEaTykzaQH5S5bXVc4uQBfcE6QnPjGGNgRsv8JeSgTiqcSH226PnKvnU9lOabR2aRVJCf-gTKS8Kta1-hrra1IL62Ix8sZzo6lSx_2H5fucwIkKoabfpLykSYaDTX8KOaNj5kQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1565307426,\"updated\":1565307427,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "692", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4c384ae8-1d78-4898-93a6-0ae79d4250a0", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4d95cf7a-82b3-428a-9883-1917bc388ba2", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "29fb2250-ee8e-423e-baf1-67f7a2d22a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-\",\"deletedDate\":1565307427,\"scheduledPurgeDate\":1573083427,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/d2ba2f717e7b46088b1608e9dc6b864c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7WT1vVhPlovmtVloAld6ywrTFUhmhBK2YJ-Qipn7LKjROoxKeFTe8YRYjnF5xeCLct-TisDHOzFssc--XYlMlwU2B7Aym9WxIxvJT3S1DExK4tFEKjU59PVYn64PuPGDi4o4fC697EBEbqpUVEGoCrBmFOM6Xw1WNADlI_pV3sJNDz1T2IsMEBuhC-uZr3k3_AtEV22wSmSimrY4nEaTykzaQH5S5bXVc4uQBfcE6QnPjGGNgRsv8JeSgTiqcSH226PnKvnU9lOabR2aRVJCf-gTKS8Kta1-hrra1IL62Ix8sZzo6lSx_2H5fucwIkKoabfpLykSYaDTX8KOaNj5kQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1565307426,\"updated\":1565307427,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "858", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "53d5c56d-d302-4da3-a59b-f9832c6d8390", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "470df159-b5e8-406e-83b1-4e5a317bb9f0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a6230cf2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "07ecbf99-23ea-43e1-ab20-ff89d9023208", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:17 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "754f4a03-9418-4f4e-a583-1ba492ba971e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:18 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "feaf8c77-4706-43d8-9f7d-16ec43f75600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:17 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "349bbe4f-26ab-4d66-a251-0a4e70c51f90", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:27 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a0df80ec-2114-44ba-8af8-0225565f9723", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "35f0a587-ad75-43ef-9574-c2b0200c5a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "66b10e41-913b-4068-8bab-fe476ce9d5a7", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8dc1bba3-9e1a-448b-ae73-4da353da8e5a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "9158f3a5-07e3-43b4-80cb-b2edfaa03800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\",\"attributes\":{\"enabled\":false}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/642fed0e3cf94e8e8ae964d3ba8c5b6c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sRrqHcs5XzqPFBEzqd0xpN2JBe4dg2lpu57bCPU8FSI3Rzb_M7Jm_e60fypTLcVb88WBn72xIX5xeg7dnNBttGgeWxCzN_E7hzaf73ZXpO13iLCvCHGV87FavMurNMW9a5s5-0zw4UJM_OvvyRU5EqGqW3TEPYNFsFzFgeXW9CZUleNsqX8AumSRY_daM1sa6ply8bBF01qZqb2tPvBlvdG_NulTTB_1oR7-Ot6fcahUFSqNM6sXNDOAmEl2aFGc3jNUfmz3BQdht7KQwE2PJNOLOmxL_ohMvreGEU3UgwaFHUwWPsv-p_PSiIEpotzU8WeQ7GQPzCoqFXNJeXZ9ZQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"created\":1565307448,\"updated\":1565307448,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "701", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bb05ed08-2389-438a-b124-f151cf0a5517", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/642fed0e3cf94e8e8ae964d3ba8c5b6c", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c771ed9b-8e92-4b39-90a7-144309d8ca1c", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ff56368e-87f6-4fdf-9848-87abc0435b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/642fed0e3cf94e8e8ae964d3ba8c5b6c", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"attributes\":{\"exp\":1546300800}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/642fed0e3cf94e8e8ae964d3ba8c5b6c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sRrqHcs5XzqPFBEzqd0xpN2JBe4dg2lpu57bCPU8FSI3Rzb_M7Jm_e60fypTLcVb88WBn72xIX5xeg7dnNBttGgeWxCzN_E7hzaf73ZXpO13iLCvCHGV87FavMurNMW9a5s5-0zw4UJM_OvvyRU5EqGqW3TEPYNFsFzFgeXW9CZUleNsqX8AumSRY_daM1sa6ply8bBF01qZqb2tPvBlvdG_NulTTB_1oR7-Ot6fcahUFSqNM6sXNDOAmEl2aFGc3jNUfmz3BQdht7KQwE2PJNOLOmxL_ohMvreGEU3UgwaFHUwWPsv-p_PSiIEpotzU8WeQ7GQPzCoqFXNJeXZ9ZQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1565307448,\"updated\":1565307449,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "718", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e8b199a1-8d38-41a2-be91-c6f34a693439", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:28 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "eb21c8aa-23f4-4db1-817e-40c7ff7dc69f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:29 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "17393c18-4798-44a7-ac52-fc4f1ab26100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-\",\"deletedDate\":1565307449,\"scheduledPurgeDate\":1573083449,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/642fed0e3cf94e8e8ae964d3ba8c5b6c\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sRrqHcs5XzqPFBEzqd0xpN2JBe4dg2lpu57bCPU8FSI3Rzb_M7Jm_e60fypTLcVb88WBn72xIX5xeg7dnNBttGgeWxCzN_E7hzaf73ZXpO13iLCvCHGV87FavMurNMW9a5s5-0zw4UJM_OvvyRU5EqGqW3TEPYNFsFzFgeXW9CZUleNsqX8AumSRY_daM1sa6ply8bBF01qZqb2tPvBlvdG_NulTTB_1oR7-Ot6fcahUFSqNM6sXNDOAmEl2aFGc3jNUfmz3BQdht7KQwE2PJNOLOmxL_ohMvreGEU3UgwaFHUwWPsv-p_PSiIEpotzU8WeQ7GQPzCoqFXNJeXZ9ZQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1565307448,\"updated\":1565307449,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "893", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:29 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c705a251-535c-4b30-b7fd-665c157166d8", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:29 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "25e58439-5510-433b-9ca4-4d4ef3d6c4c6", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:29 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a628fd12a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:29 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6b1860cb-70a7-42b5-a7bc-33e0a0cc606d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "31e01049-2e31-4dc5-b11d-6467959e8d0f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "9106826f-386e-4298-bce9-32a32a1f5400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "3dcc6bf7-34a3-4df8-9645-296850ce71e2", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:37:39 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cff4200c-53e0-43d1-8d07-75b38774a19b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ce54f0ea-897e-4352-bc0d-26036f3e3c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/f45dc2e0c84842eba8ae2ff3f41d81c5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"rETLhoRmakNkhVmDQDq9IZcdmpHfiovUz5ERMyLtFpkWwh6Cvv9x0AYN1PXcLxD11XZNvNhzKk3QjYfIK6DtgIaYn0-I5_C6bqdC5EXPDueq2UN4Lr6860jMO1qVfwc2LwBs6D72xgjfe4k6D0z8LGurEPZbxRq0rMIeiN43U30mPxjcvHULMvgua3ay6xj8_CSQZQ9CN1PYIUz1SyRHb5yv-QlkyGKd4_SLxs4U5liVrw8xACGArK4FNW8Y1J9w8ePpX49tyaZKn58_piHZ8cysUVMIrImdgljhPdNjBeKIEmI3wUf_nNJe8_O3bCUzt4DSg9sglWrlg90qEd1lcw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307460,\"updated\":1565307460,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "692", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "25628947-69c7-44c7-a45b-ee2ac212babe", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c90df92e-dea6-4f48-8783-60dfcfcad35a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c0fba897-82e0-4602-8b80-8a66dd322c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-\",\"deletedDate\":1565307461,\"scheduledPurgeDate\":1573083461,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/f45dc2e0c84842eba8ae2ff3f41d81c5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"rETLhoRmakNkhVmDQDq9IZcdmpHfiovUz5ERMyLtFpkWwh6Cvv9x0AYN1PXcLxD11XZNvNhzKk3QjYfIK6DtgIaYn0-I5_C6bqdC5EXPDueq2UN4Lr6860jMO1qVfwc2LwBs6D72xgjfe4k6D0z8LGurEPZbxRq0rMIeiN43U30mPxjcvHULMvgua3ay6xj8_CSQZQ9CN1PYIUz1SyRHb5yv-QlkyGKd4_SLxs4U5liVrw8xACGArK4FNW8Y1J9w8ePpX49tyaZKn58_piHZ8cysUVMIrImdgljhPdNjBeKIEmI3wUf_nNJe8_O3bCUzt4DSg9sglWrlg90qEd1lcw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307460,\"updated\":1565307460,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "859", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "69dde70f-d2e7-4339-9130-6378af24f2c4", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cca5dc46-6e07-4eef-9d87-b8874312900d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c337f49a-65f5-4657-a1cc-710a43482c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-candeleteakey-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "106", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7ea5ee3d-cada-413f-9277-dbc2cad5e9d3", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e5db758b-fa33-47ae-8bec-fdd381a5e49f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c337f49a-65f5-4657-a1cc-710a49482c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ba363a8a-48cd-4129-ba79-2c08a04cf4c7", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:51 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "363b46c9-2d94-4dc3-b9cb-a076ada92571", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f6e98db3-2b93-4df4-8793-370ead6e4f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:51 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7df84c87-257d-4049-b232-fa9e2e95cb4e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:01 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "26bab86d-2239-4081-b2b8-68369b7653eb", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:01 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "35f0a587-ad75-43ef-9574-c2b0e20f5a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "f26d8101-a286-420f-8598-6ccdcd18f3db", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-deletenonexistingkey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "dab7d8d3-f9f5-496d-80db-e8983991dc9a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7e1ea895-2d8b-4156-89a5-dbac58b35200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-deletenonexistingkey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-deletenonexistingkey-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "113", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c1fa5c25-8032-4c70-8946-f55ea995652d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8066c91d-7422-4126-b296-6a09a9adfbfe", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "78346853-c600-40ee-aa3a-baf2200f6600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/bae9526ebd274d6b8fd1532211fa9c4f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"v2ifK4-ruYUDyw9C32-JFuefEOanamTdB9aiW7T5pL0-2e17oOeQVx1LTBYN3KBHmimt5ypB3P-0UtYk_9NyNXEvasd-ETo3titdn-hjpZX-7yIok_k9rdc1ZK11UTvKaeejnLjVoA3-BrpyLZiscXhSMOQX--PvgGhRodWGa_RM7usWqE5C18DOW3cdmHBlZ2XLcCcdo9CxbYR-SgAjEJn95K0Xqf4vOdFONpAL41kvs5s9fsniTDPlpnx_lyRESZzgSQWuIzSU9CZcqxgZ00TCPeu6OBwAaMoYbL1JxaQ6RFTgXg2V8rMGPsHtPacLMOCNEaFU2-4UUOaXvZU6iw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307483,\"updated\":1565307483,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "689", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e7abae94-b200-4ff6-9e9c-9196da32d328", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5b0570a6-9e8d-44bf-afc9-fdbec828c0ec", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1df631b4-fe10-4ba4-9c8f-69404ab33e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/bae9526ebd274d6b8fd1532211fa9c4f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"v2ifK4-ruYUDyw9C32-JFuefEOanamTdB9aiW7T5pL0-2e17oOeQVx1LTBYN3KBHmimt5ypB3P-0UtYk_9NyNXEvasd-ETo3titdn-hjpZX-7yIok_k9rdc1ZK11UTvKaeejnLjVoA3-BrpyLZiscXhSMOQX--PvgGhRodWGa_RM7usWqE5C18DOW3cdmHBlZ2XLcCcdo9CxbYR-SgAjEJn95K0Xqf4vOdFONpAL41kvs5s9fsniTDPlpnx_lyRESZzgSQWuIzSU9CZcqxgZ00TCPeu6OBwAaMoYbL1JxaQ6RFTgXg2V8rMGPsHtPacLMOCNEaFU2-4UUOaXvZU6iw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307483,\"updated\":1565307483,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "689", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "40026eb0-674a-4204-b815-a30f4f4bd043", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a958db5d-b882-4e31-bed0-cee0fc2d9e6c", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8668bcb8-5d27-4058-a93d-30172b152a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-\",\"deletedDate\":1565307483,\"scheduledPurgeDate\":1573083483,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/bae9526ebd274d6b8fd1532211fa9c4f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"v2ifK4-ruYUDyw9C32-JFuefEOanamTdB9aiW7T5pL0-2e17oOeQVx1LTBYN3KBHmimt5ypB3P-0UtYk_9NyNXEvasd-ETo3titdn-hjpZX-7yIok_k9rdc1ZK11UTvKaeejnLjVoA3-BrpyLZiscXhSMOQX--PvgGhRodWGa_RM7usWqE5C18DOW3cdmHBlZ2XLcCcdo9CxbYR-SgAjEJn95K0Xqf4vOdFONpAL41kvs5s9fsniTDPlpnx_lyRESZzgSQWuIzSU9CZcqxgZ00TCPeu6OBwAaMoYbL1JxaQ6RFTgXg2V8rMGPsHtPacLMOCNEaFU2-4UUOaXvZU6iw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307483,\"updated\":1565307483,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "853", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6b35caba-c6e2-4fe1-afff-6b1562d63342", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0eb24d8d-6608-4a75-bb61-75bd695adcd0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d6908b17-3887-4a62-9ee4-197c8a023900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cadd1735-bd61-4ffe-953e-654fd6497e9f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "112", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:13 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:13 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d32dfbb3-2cc4-4d27-a17f-6ab8f0cb677f", + "x-ms-request-id": "a647e8df-edf4-435e-8fc1-05473d46ae26", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/create", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cf90315f-bd8a-4778-a796-b91ee9075000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "a44fe097-80b3-44f4-a000-4847b6744fa0", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:38:13 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "48323f88-c9b0-4b33-b5ad-0cd95849d43f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ff56368e-87f6-4fdf-9848-87ab28495b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/create", "query": { "api-version": "7.0" }, "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/ec8de8c98496406cab772520ed0514e9\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"2R53SroZwPOOIvglT7NP5uTezAQ2R5WOTN6A50iJl7MxDTu2p20aQTODDGXYjnH6QNB57QVAdsDaadpYtQwvLkRHgv5SofP74rf8LmOWUPOYM1GYln_fs6_Xy-hY8CxN7dQRb41w57skuz8ZhpljaEzNdWe3XKlXg2K6hMOTaSFasRqLwQLnLndZik9CHN_l11dNfwWVDH9VHsNRR0tweGFZ7vzYc_ZuleEASr3UvqQpgpEXr4mCbnu22XG6qETZ8e48782nrNRmT11VG6JEj8cp0YNZzsGskwfNNZdYc7cYmNNWn7CT7PuwDxrNBV2_OKC_Poxy6ewzW6gQLJpPdQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493154,\"updated\":1563493154,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/9ab38986033d4f6591fc3525f95487b0\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sYvMb97AGIDZ6B_GrWsU9T5no-zNMw1h8HTcfKcRt-oLfgPNz6TiXiui4n8FiSgbi-dSN57EupchkvYqbh0O-ObLsoNFmx91olQM9O9yRWPvCF1IonFAJiPtPLC0spWHs4he4QY-qZ26ot11vlzAV_334_njoBkroVV7LSiqW_rw5SOL7M-1fAXt1Uszdp4TYM_cmnBXl0YV2H4uTTletjgiza_a_4JajEYwky7ZD4Wk0pe27uqa61n6RPXxU-Sj2ZZSSQwbNvDtQQYQ634r2Viy6yCNcuJRiiFP48SpdWTtHSIhUuvgW4uleu3Hj5boZ4m9_C6Tu8ci-0S5LfbRxw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307494,\"updated\":1565307494,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "688", + "content-length": "707", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:13 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c60d9f1a-4c91-4820-aa0e-49d6cedbd8d4", + "x-ms-request-id": "d58a58a3-582c-4ce9-855e-c074012edb1d", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/9ab38986033d4f6591fc3525f95487b0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b23e9345-4546-4dda-afc4-6590c0cf9e21", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "382e15f5-81ea-4ee7-98c9-940708a02800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/9ab38986033d4f6591fc3525f95487b0", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/ec8de8c98496406cab772520ed0514e9\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"2R53SroZwPOOIvglT7NP5uTezAQ2R5WOTN6A50iJl7MxDTu2p20aQTODDGXYjnH6QNB57QVAdsDaadpYtQwvLkRHgv5SofP74rf8LmOWUPOYM1GYln_fs6_Xy-hY8CxN7dQRb41w57skuz8ZhpljaEzNdWe3XKlXg2K6hMOTaSFasRqLwQLnLndZik9CHN_l11dNfwWVDH9VHsNRR0tweGFZ7vzYc_ZuleEASr3UvqQpgpEXr4mCbnu22XG6qETZ8e48782nrNRmT11VG6JEj8cp0YNZzsGskwfNNZdYc7cYmNNWn7CT7PuwDxrNBV2_OKC_Poxy6ewzW6gQLJpPdQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493154,\"updated\":1563493154,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/9ab38986033d4f6591fc3525f95487b0\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sYvMb97AGIDZ6B_GrWsU9T5no-zNMw1h8HTcfKcRt-oLfgPNz6TiXiui4n8FiSgbi-dSN57EupchkvYqbh0O-ObLsoNFmx91olQM9O9yRWPvCF1IonFAJiPtPLC0spWHs4he4QY-qZ26ot11vlzAV_334_njoBkroVV7LSiqW_rw5SOL7M-1fAXt1Uszdp4TYM_cmnBXl0YV2H4uTTletjgiza_a_4JajEYwky7ZD4Wk0pe27uqa61n6RPXxU-Sj2ZZSSQwbNvDtQQYQ634r2Viy6yCNcuJRiiFP48SpdWTtHSIhUuvgW4uleu3Hj5boZ4m9_C6Tu8ci-0S5LfbRxw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307494,\"updated\":1565307494,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "688", + "content-length": "707", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:13 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "99021561-23f9-4110-812b-bf9d73def9e6", + "x-ms-request-id": "001470f9-82d4-49e0-976f-6b2649f52d64", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "10554767-1612-47a4-a8fb-920a7e629d75", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e9b9037c-d49b-4938-a860-430eb9b62a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-\",\"deletedDate\":1563493154,\"scheduledPurgeDate\":1571269154,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/ec8de8c98496406cab772520ed0514e9\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"2R53SroZwPOOIvglT7NP5uTezAQ2R5WOTN6A50iJl7MxDTu2p20aQTODDGXYjnH6QNB57QVAdsDaadpYtQwvLkRHgv5SofP74rf8LmOWUPOYM1GYln_fs6_Xy-hY8CxN7dQRb41w57skuz8ZhpljaEzNdWe3XKlXg2K6hMOTaSFasRqLwQLnLndZik9CHN_l11dNfwWVDH9VHsNRR0tweGFZ7vzYc_ZuleEASr3UvqQpgpEXr4mCbnu22XG6qETZ8e48782nrNRmT11VG6JEj8cp0YNZzsGskwfNNZdYc7cYmNNWn7CT7PuwDxrNBV2_OKC_Poxy6ewzW6gQLJpPdQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493154,\"updated\":1563493154,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-\",\"deletedDate\":1565307495,\"scheduledPurgeDate\":1573083495,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/9ab38986033d4f6591fc3525f95487b0\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"sYvMb97AGIDZ6B_GrWsU9T5no-zNMw1h8HTcfKcRt-oLfgPNz6TiXiui4n8FiSgbi-dSN57EupchkvYqbh0O-ObLsoNFmx91olQM9O9yRWPvCF1IonFAJiPtPLC0spWHs4he4QY-qZ26ot11vlzAV_334_njoBkroVV7LSiqW_rw5SOL7M-1fAXt1Uszdp4TYM_cmnBXl0YV2H4uTTletjgiza_a_4JajEYwky7ZD4Wk0pe27uqa61n6RPXxU-Sj2ZZSSQwbNvDtQQYQ634r2Viy6yCNcuJRiiFP48SpdWTtHSIhUuvgW4uleu3Hj5boZ4m9_C6Tu8ci-0S5LfbRxw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307494,\"updated\":1565307494,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "889", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "477a3257-ec5a-4864-a01f-c8a89f919d00", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "301e0b45-f2da-4c09-b55a-9c2f521630f3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:15 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7072046c-51e5-4587-b237-bf0f463e5a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b772246d-6968-4d74-a4dd-3b5d4e9af820", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "851", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:14 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "99ee5d7b-5f2a-4dec-a819-81a1af70d6b4", + "x-ms-request-id": "6a1fbbd1-9bd7-4a3a-90d5-5b3ac6b72131", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:26 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "9106826f-386e-4298-bce9-32a358245400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", "query": { "api-version": "7.0" }, @@ -1606,7 +5119,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -1614,45 +5127,67 @@ "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:14 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:26 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d4fe3aa5-fb99-4cff-a940-bbdbca80aed9", + "x-ms-request-id": "2681ec49-6479-4e89-805d-df1173e21b96", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:24 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "762219b3-9444-444b-81b0-4ad7ee9ec8ac", + "x-ms-request-id": "61175303-5f03-4ed4-af95-4c0c9abdeb48", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d6908b17-3887-4a62-9ee4-197cf7053900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", "query": { "api-version": "7.0" }, @@ -1663,209 +5198,249 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "1a3a1456-b1c2-439f-a951-c14360d9311a", + "x-ms-request-id": "a3b45b9b-4dc6-4cee-9b78-751ddcc25303", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:39:34 GMT", + "date": "Thu, 08 Aug 2019 23:38:36 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/create", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/97d02c5105474df6a4a072e191b5e96f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"s8EQsZG2PfZx0hYPJLuPptzejTWUnnGFCY9FqYdAhnpldIhvxhcorj_psrOMwth3N1l2hGmHu8XTbdeEO4fsby4YZZCT-mFp3C-78uhCv7HwMjyIH0ODMSuhivGXG-_LBhCC3Dtl6IN6x-964nHNyAQVsxcYd5G2LnpC80nZ2NpWvNxbJ95h_46ctax5xw01m2phSiHXhfMHzAqCB26wrzwPcUiVvg7nOacoRYnQBTLqIbtSc5xNOJS464wCOpG8-d8X0iVvURlHjXYOb11_aCTfZWxhPPgRroQvM2-uDH6oqZ2t1--lIJBf9pVxCbSjGsPviFxtyKpgeN6bZLmbsw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493175,\"updated\":1563493175,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "706", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:35 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5a8de524-684c-4b95-bbf9-3fbcc71e6ec6", + "x-ms-request-id": "6fd65dc7-5c9d-4ce8-84a7-7aebf244dfe6", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/97d02c5105474df6a4a072e191b5e96f", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e37deebb-9321-4d66-9ef9-8c4d01ef3f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/create", "query": { "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/97d02c5105474df6a4a072e191b5e96f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"s8EQsZG2PfZx0hYPJLuPptzejTWUnnGFCY9FqYdAhnpldIhvxhcorj_psrOMwth3N1l2hGmHu8XTbdeEO4fsby4YZZCT-mFp3C-78uhCv7HwMjyIH0ODMSuhivGXG-_LBhCC3Dtl6IN6x-964nHNyAQVsxcYd5G2LnpC80nZ2NpWvNxbJ95h_46ctax5xw01m2phSiHXhfMHzAqCB26wrzwPcUiVvg7nOacoRYnQBTLqIbtSc5xNOJS464wCOpG8-d8X0iVvURlHjXYOb11_aCTfZWxhPPgRroQvM2-uDH6oqZ2t1--lIJBf9pVxCbSjGsPviFxtyKpgeN6bZLmbsw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493175,\"updated\":1563493175,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/d19011279ee845f49667916efe7db1e7\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"x6g5yifyzSU8xavWUdpuGPM5vywEUZroIOOlZBJEPEANg4TyjW0AUdnCFh6qVh8CxlZDslr9FrsBa4_wlipBr42_OS3hFeJ49jsrqEWJ7pTaTazHNJWigcm2Sn2VGNQVHw58q1xXKl6iQncT5EBknO2QVc4-ci4pBtPuGhc0A3YZp1fhO74zdZjk6cJcOmL5pp_7fPCNGJLxjezRWeg1aS4g1O1P3TYEoai5Wn9dsN74u1FI13vwSaskFItuQpYqhJopslb4FNqwKuwDweTwmsN4yocStNbeSIYX6NJPB1r7wZMTsGesfbCH37EJVV0kPjvZdvnq9phtcRdAOT7v8w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307517,\"updated\":1565307517,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "706", + "content-length": "696", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:35 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f7fa1072-0b72-4ccf-accf-99fb4b0f070f", + "x-ms-request-id": "f14b8b2a-3bdb-4c2d-8e9d-32e20ebcf08b", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-\",\"deletedDate\":1563493175,\"scheduledPurgeDate\":1571269175,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/97d02c5105474df6a4a072e191b5e96f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"s8EQsZG2PfZx0hYPJLuPptzejTWUnnGFCY9FqYdAhnpldIhvxhcorj_psrOMwth3N1l2hGmHu8XTbdeEO4fsby4YZZCT-mFp3C-78uhCv7HwMjyIH0ODMSuhivGXG-_LBhCC3Dtl6IN6x-964nHNyAQVsxcYd5G2LnpC80nZ2NpWvNxbJ95h_46ctax5xw01m2phSiHXhfMHzAqCB26wrzwPcUiVvg7nOacoRYnQBTLqIbtSc5xNOJS464wCOpG8-d8X0iVvURlHjXYOb11_aCTfZWxhPPgRroQvM2-uDH6oqZ2t1--lIJBf9pVxCbSjGsPviFxtyKpgeN6bZLmbsw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493175,\"updated\":1563493175,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "887", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:35 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b13aab41-90c9-47d4-8b4c-2d928335a735", + "x-ms-request-id": "a11b5b14-1b5a-4e95-8333-05551f030f3b", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e37d4a95-be66-4df2-8e1d-af1a99055400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-\",\"deletedDate\":1565307517,\"scheduledPurgeDate\":1573083517,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/d19011279ee845f49667916efe7db1e7\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"x6g5yifyzSU8xavWUdpuGPM5vywEUZroIOOlZBJEPEANg4TyjW0AUdnCFh6qVh8CxlZDslr9FrsBa4_wlipBr42_OS3hFeJ49jsrqEWJ7pTaTazHNJWigcm2Sn2VGNQVHw58q1xXKl6iQncT5EBknO2QVc4-ci4pBtPuGhc0A3YZp1fhO74zdZjk6cJcOmL5pp_7fPCNGJLxjezRWeg1aS4g1O1P3TYEoai5Wn9dsN74u1FI13vwSaskFItuQpYqhJopslb4FNqwKuwDweTwmsN4yocStNbeSIYX6NJPB1r7wZMTsGesfbCH37EJVV0kPjvZdvnq9phtcRdAOT7v8w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307517,\"updated\":1565307517,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "867", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:35 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7209042a-ab30-4038-acd0-7e307bb4e3f0", + "x-ms-request-id": "b59f1127-f6ca-4e15-b778-cadea673baff", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "c8c1304c-4b8a-4c84-a260-1e6bd9ceb87d", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:39:45 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:37 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4309a9fb-8308-4308-8472-780f4dce4103", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/create", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"kty\":\"RSA\"}", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/a3a5e2d68e774fe7881ecd94ef0d2351\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"okL8uuSN2hVbF_7_-LyxFxQ1STl0ahMMwdhKQnYq9est-2L5wzGNRENiagQeRNIf7LjQOXaAj2bMcSIzZZ0AnIGIg1j6PY-BLzxVTVfkrMssiEhpZvKyWUebICq2XHN2J528_nWUsPLPLuI5cCLtX3jy3CZifXh5hxI7l-N5B5C6gSxqJkEdTjAvYtt7n9tyBJ_IiCSbii5J3xeggfIO_snuRUSc13fd3LFKSPSCiGr3HlkFyq2b2aInDROpcy1-iVqGVpIAVb5GdpLdLKM0N54bcDtlVj2PhhK36ha_T6dFJSEqPus_4DZqK77hyukbggBpV75F2WKhsKrJi-HXew\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493186,\"updated\":1563493186,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "695", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:45 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "97a3fb33-221c-4c44-ac63-6b4c3ce83f00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a7aade4c-a9f6-40b9-8e82-6cc49c416f0f", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-\",\"deletedDate\":1563493186,\"scheduledPurgeDate\":1571269186,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/a3a5e2d68e774fe7881ecd94ef0d2351\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"okL8uuSN2hVbF_7_-LyxFxQ1STl0ahMMwdhKQnYq9est-2L5wzGNRENiagQeRNIf7LjQOXaAj2bMcSIzZZ0AnIGIg1j6PY-BLzxVTVfkrMssiEhpZvKyWUebICq2XHN2J528_nWUsPLPLuI5cCLtX3jy3CZifXh5hxI7l-N5B5C6gSxqJkEdTjAvYtt7n9tyBJ_IiCSbii5J3xeggfIO_snuRUSc13fd3LFKSPSCiGr3HlkFyq2b2aInDROpcy1-iVqGVpIAVb5GdpLdLKM0N54bcDtlVj2PhhK36ha_T6dFJSEqPus_4DZqK77hyukbggBpV75F2WKhsKrJi-HXew\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493186,\"updated\":1563493186,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-cangetadeletedkey-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "865", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:45 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9ef6d259-5792-4c22-b0d4-a3ecfe0213f6", + "x-ms-request-id": "0b499de5-c619-4871-aba5-d3c06cc33f1f", "cache-control": "no-cache", "expires": "-1" } @@ -1876,25 +5451,47 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-cangetadeletedkey-\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "117", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:45 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:46 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f0c4b775-d0d1-4959-b6db-35d3c40b24c3", + "x-ms-request-id": "c43d29c7-b2ee-46f6-88e9-c100352de7dd", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7072046c-51e5-4587-b237-bf0f72415a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1905,52 +5502,74 @@ "api-version": "7.0" }, "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-cangetadeletedkey-\"}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-\",\"deletedDate\":1565307517,\"scheduledPurgeDate\":1573083517,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/d19011279ee845f49667916efe7db1e7\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"x6g5yifyzSU8xavWUdpuGPM5vywEUZroIOOlZBJEPEANg4TyjW0AUdnCFh6qVh8CxlZDslr9FrsBa4_wlipBr42_OS3hFeJ49jsrqEWJ7pTaTazHNJWigcm2Sn2VGNQVHw58q1xXKl6iQncT5EBknO2QVc4-ci4pBtPuGhc0A3YZp1fhO74zdZjk6cJcOmL5pp_7fPCNGJLxjezRWeg1aS4g1O1P3TYEoai5Wn9dsN74u1FI13vwSaskFItuQpYqhJopslb4FNqwKuwDweTwmsN4yocStNbeSIYX6NJPB1r7wZMTsGesfbCH37EJVV0kPjvZdvnq9phtcRdAOT7v8w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307517,\"updated\":1565307517,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "117", + "content-length": "867", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:39:55 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4093f671-d093-4165-9f38-13dcac8126af", + "x-ms-request-id": "0091b5b8-2d55-4ddd-9440-0172135f2966", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", + "method": "DELETE", "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-\",\"deletedDate\":1563493186,\"scheduledPurgeDate\":1571269186,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/a3a5e2d68e774fe7881ecd94ef0d2351\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"okL8uuSN2hVbF_7_-LyxFxQ1STl0ahMMwdhKQnYq9est-2L5wzGNRENiagQeRNIf7LjQOXaAj2bMcSIzZZ0AnIGIg1j6PY-BLzxVTVfkrMssiEhpZvKyWUebICq2XHN2J528_nWUsPLPLuI5cCLtX3jy3CZifXh5hxI7l-N5B5C6gSxqJkEdTjAvYtt7n9tyBJ_IiCSbii5J3xeggfIO_snuRUSc13fd3LFKSPSCiGr3HlkFyq2b2aInDROpcy1-iVqGVpIAVb5GdpLdLKM0N54bcDtlVj2PhhK36ha_T6dFJSEqPus_4DZqK77hyukbggBpV75F2WKhsKrJi-HXew\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493186,\"updated\":1563493186,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "865", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "78f27cb4-aa09-464f-a3f4-2e5a8a24355b", + "x-ms-request-id": "7db8cc08-9dd3-4dad-93c7-f94c63407cd0", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "902d730c-286a-4ee8-9217-d1e1f24e2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1967,16 +5586,66 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "02355959-0d2e-46ca-b474-dc5e3ed473f0", + "x-ms-request-id": "a5e7e9a9-7de9-4808-8c56-286c402d1da3", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cantgetadeletedkeythatdoesntexist-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:40:06 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8820a806-b1fb-4458-9cfc-7faff1487a7d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "772e0bb2-9e99-4b0c-9b7f-43a6077c5200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1992,18 +5661,18 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "125", + "content-length": "126", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5b81d514-c20f-4fc2-8a9b-a76065ff67ec", + "x-ms-request-id": "4f807401-06ff-4430-b53d-f3fd6112f3ba", "cache-control": "no-cache", "expires": "-1" } diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__list_keys_in_various_ways/recording_before_all_hook.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__list_keys_in_various_ways/recording_before_all_hook.json index dae36f95dae9..3a0d97315aff 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__list_keys_in_various_ways/recording_before_all_hook.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__list_keys_in_various_ways/recording_before_all_hook.json @@ -1,22 +1,52 @@ { "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c03206e1-f9f2-45a0-9d99-260c264ac91a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, { "method": "POST", "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", "query": {}, "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "date": "Thu, 18 Jul 2019 23:40:07 GMT", + "date": "Thu, 08 Aug 2019 23:39:01 GMT", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", - "x-ms-request-id": "ee4e03d9-de2b-4694-9604-3ba896890101", + "x-ms-request-id": "fa60bbe5-40f3-4b7a-bc24-b8ca4b5d5700", "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -28,22 +58,22 @@ }, "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/26dd645d24f84dd995572e379b37870e\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"2Vss0uCX2D0-FSsEauojm-HSZKTwVjddjRWP-Y4_D01N-0C9Vpg4XG5zW7D4Nls03DDL14bZxLaG3n61IBkouqLd5441qTD8U2YjL3cXeZlRpmTMhVj8P1qTR6DACcNL7oST9aWhNQXIolSvjorJJWy3TebgX33g6VNzQgMsFBiiTp3jq9l5sRm774nSE2KEPVUPzxsoWRr12oAWc3NiGj052fY__E2FedqFpXDqjo9gnwUZHzM1wlrtjyWJbEpOrISeQMsOJ2ElkyKcKm2WyuUqhMo3wFEOV8LEFuGOocKSCrKHWwlDbHiRl1FpU1wYm9MWNBmDLPTqwm4nPH605w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493207,\"updated\":1563493207,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/2a1ce76e1e264cbe973007aeb0ccc2a6\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"jRDwUO0qw3uRw_eHZtuV4wSkuP0NjBgoWQLwQPvEpLOgfKuHLPsHOJ7_pqKpz1FQRcte9GXDEd3srLUbI1yczOLPRkIRJn_5J6FWFs12LoA89bn_BcE-aQiSiuKWqM2OR5epF7-P9ZI7aTep9UVVujzxzEKKt1ybdFRcQ-l91F3HnQMpv7rAF7ZFNTu3gKGFprqcLeDDxw5yVGqeVED--4Ey-hXcc7hBNSVMYWrdrEDuaSde-D-G0DuXMZT_l7mNBqh8rgyPKDib-a5dc9L8f5iuscV5onXiuU1psxsgoIGS71rKxeRL8X_FEz2QGB1TNZ0BsI8sNAenLctTZEn62Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307542,\"updated\":1565307542,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "701", + "content-length": "700", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "bb9ed9c2-016f-4c8f-8a04-86e8056e487c", + "x-ms-request-id": "6a66b739-b1a3-44a7-a9fa-d5fce5bec467", "cache-control": "no-cache", "expires": "-1" } @@ -54,197 +84,209 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/26dd645d24f84dd995572e379b37870e\",\"attributes\":{\"enabled\":true,\"created\":1563493207,\"updated\":1563493207,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "279", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "538ca1fa-9f95-49ff-b490-4f1ce971d8b2", + "x-ms-request-id": "09d06367-8d9e-4416-a360-656171b657d8", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:01 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "37168c0c-d0c3-45c5-8ad4-485018a72c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/versions", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-\",\"deletedDate\":1563493207,\"scheduledPurgeDate\":1571269207,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/26dd645d24f84dd995572e379b37870e\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"2Vss0uCX2D0-FSsEauojm-HSZKTwVjddjRWP-Y4_D01N-0C9Vpg4XG5zW7D4Nls03DDL14bZxLaG3n61IBkouqLd5441qTD8U2YjL3cXeZlRpmTMhVj8P1qTR6DACcNL7oST9aWhNQXIolSvjorJJWy3TebgX33g6VNzQgMsFBiiTp3jq9l5sRm774nSE2KEPVUPzxsoWRr12oAWc3NiGj052fY__E2FedqFpXDqjo9gnwUZHzM1wlrtjyWJbEpOrISeQMsOJ2ElkyKcKm2WyuUqhMo3wFEOV8LEFuGOocKSCrKHWwlDbHiRl1FpU1wYm9MWNBmDLPTqwm4nPH605w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493207,\"updated\":1563493207,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/2a1ce76e1e264cbe973007aeb0ccc2a6\",\"attributes\":{\"enabled\":true,\"created\":1565307542,\"updated\":1565307542,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "877", + "content-length": "278", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4b6ee031-5c7b-466e-94d5-67a436043022", + "x-ms-request-id": "50341d69-2d42-400a-84e7-6db2e2e3853e", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b4a22ba2-e677-49ea-9bd6-fe3f555f49dd", + "x-ms-request-id": "7a4deb0a-af83-427f-bfd7-d44caa2d77af", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "08cca921-1223-4fc5-8d3f-6bb60e753efb", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:40:17 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "75705e30-9f4d-417c-9eb2-d28a089a2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/create", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", + "requestBody": null, "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/22af6e7a10a346938fbaf76a69b32ccd\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7ql0Tkfk_DeZ1yMhqSXPWglHFo4Rw1QEnzqaqL8K5kMWWfYCOWhGhv88tubIemAJXtPiXbFfQ797qRziiglLwGuAaWBUiApRmxpJ0ia5XoTAAozCX3UjrBeeC4C7YPBWKC1FyoVipLgW9CvoZw8YQz9mzGdUliTciggJScaMLmirU67FkpKCRHAv6wpB1knF8bwvG5moac9Hj0B_owfmYoV7qDgh-dT5iwpcRHXvr5lwgGnJ6Ye_xJB05No_oeHwEHF51wy55Zs1XICE8WSOH1toC-dafgtY53gkMIaQZNfTQj6qc4m5HO5b67KFI9Ke0BhGlPFOrNn4HyxQHSCt8w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493217,\"updated\":1563493217,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-\",\"deletedDate\":1565307543,\"scheduledPurgeDate\":1573083543,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/2a1ce76e1e264cbe973007aeb0ccc2a6\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"jRDwUO0qw3uRw_eHZtuV4wSkuP0NjBgoWQLwQPvEpLOgfKuHLPsHOJ7_pqKpz1FQRcte9GXDEd3srLUbI1yczOLPRkIRJn_5J6FWFs12LoA89bn_BcE-aQiSiuKWqM2OR5epF7-P9ZI7aTep9UVVujzxzEKKt1ybdFRcQ-l91F3HnQMpv7rAF7ZFNTu3gKGFprqcLeDDxw5yVGqeVED--4Ey-hXcc7hBNSVMYWrdrEDuaSde-D-G0DuXMZT_l7mNBqh8rgyPKDib-a5dc9L8f5iuscV5onXiuU1psxsgoIGS71rKxeRL8X_FEz2QGB1TNZ0BsI8sNAenLctTZEn62Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307542,\"updated\":1565307542,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "706", + "content-length": "875", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e5d1a844-daef-4c4e-b1f1-5387a0227f5d", + "x-ms-request-id": "63331ed8-5ea2-43fb-835d-4b26a2b239b0", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/versions", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/22af6e7a10a346938fbaf76a69b32ccd\",\"attributes\":{\"enabled\":true,\"created\":1563493217,\"updated\":1563493217,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "284", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "71ef9f00-8a1f-4c46-885e-077bf1271eab", + "x-ms-request-id": "848abdd4-24fa-4892-b031-ef001de98a00", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-\",\"deletedDate\":1563493218,\"scheduledPurgeDate\":1571269218,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/22af6e7a10a346938fbaf76a69b32ccd\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7ql0Tkfk_DeZ1yMhqSXPWglHFo4Rw1QEnzqaqL8K5kMWWfYCOWhGhv88tubIemAJXtPiXbFfQ797qRziiglLwGuAaWBUiApRmxpJ0ia5XoTAAozCX3UjrBeeC4C7YPBWKC1FyoVipLgW9CvoZw8YQz9mzGdUliTciggJScaMLmirU67FkpKCRHAv6wpB1knF8bwvG5moac9Hj0B_owfmYoV7qDgh-dT5iwpcRHXvr5lwgGnJ6Ye_xJB05No_oeHwEHF51wy55Zs1XICE8WSOH1toC-dafgtY53gkMIaQZNfTQj6qc4m5HO5b67KFI9Ke0BhGlPFOrNn4HyxQHSCt8w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493217,\"updated\":1563493217,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "887", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:17 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e459e887-7e0f-45e1-bb37-7fbd69475400", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "53275258-ad90-4cf7-9e54-bbd0aee3828a", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, @@ -254,7 +296,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -262,858 +304,942 @@ "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:18 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "94e8a24b-dfed-4dbe-b8b2-5c4c5859899a", + "x-ms-request-id": "979594d4-abf2-4874-a03f-083437249317", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "bd86c0a9-54b0-453b-af45-6cdfd2202257", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:40:27 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ddac42f8-3cf5-4ce0-8ddd-d202ae7c46a1", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-list0versionsofanon-existingkey-/versions", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "260aa6c2-944e-47dc-be58-89d249d35200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"value\":[],\"nextLink\":null}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "28", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:13 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d0f806b9-acf9-4f1d-a738-38984493aafc", + "x-ms-request-id": "9714073e-0e6f-49bd-b12e-9779c04769f5", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-list0versionsofanon-existingkeypaged-/versions", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "28", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:23 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c42a9bf0-1000-4d65-9e8b-8f825780b46a", + "x-ms-request-id": "6b919b07-1e66-4ed6-bcc4-8485e870023b", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/create", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:23 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "902d730c-286a-4ee8-9217-d1e107542a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/e289e630764f4daa909e589efa79928d\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"kDLvWxaUdtm16qMFubkVKUfJNw4XdOQh3Dy49NNuVsp7GweEB7CG5C1m0sJU-37xuMBIy2XiYEymexm_AVvILptGMdqdjVK0TkZWaWWgNsUsNfp1Zpt1hIC4N80ZeyGSEJe-2yTlxtKicFTXgD-5UGjVKpqhbhfG2BjK0w8h8FxjOdmtkTk8JY_zeS95ZlXd1IPfQFlt5kegj1z8UKQnO3ofr0yEVNQsckEfVyv6OB6CH3t_OKPrK9mPhPx9lTq6I7Q-AJVIk2AusQc96xW2WJZ-L8nLck95ghUZbJxR1xQMkW2iQKzAivbYw4kFoeJPHj6WHzjxhv5lwB1EBqWHow\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493228,\"updated\":1563493228,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": null, + "status": 204, + "response": "", "responseHeaders": { + "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", - "status": "200", + "status": "204", + "x-ms-request-id": "7b0a9510-c0d6-4a76-b1d8-e4c7f6422659", "x-ms-keyvault-region": "westus", - "content-length": "705", - "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:28 GMT", - "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "442af852-9f62-4243-ad13-915efa17c790", + "date": "Thu, 08 Aug 2019 23:39:23 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/create", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/532ce6c331ae430196e2dc95c4b69ff1\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"rnliZZAJaIZPcHbi0TzL2ECMOSMxje4tjcF7GkmxddFJ9MxxBxGCA2qSZUM2AHKEIS7gvFNqZNCn-GpUhH86B709LZ2xndz0sbJKu3IjXAIOJ0sFTg0kS2D-XksD6cMv2p9rmIFvwl4b4ihLe-z08IJ6j2bO7nKdb355kRTCsRadLp95Su-23v2I-9YMbxA3iUaxlxO_szzU-bepVIcgiksl4SPdMX5_fmfX6Xu4KXFOVOl9ajB8BVYrRdqADVxWb2ckuYTONFS8RMSQj5fvo9ttrU2wWg1L-2LA9FhQySmFVuqlltn-lPnQATsJSA3PhHQ7aCgjdYDWljWhrLiyFw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493229,\"updated\":1563493229,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "705", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:23 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b3cbd794-f207-43c7-8a6e-7dda8eb55d81", + "x-ms-request-id": "f6ed1d82-b143-4971-9df3-73bbaf595078", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:23 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c34fe0a5-5399-48a4-85eb-6a22d4ba2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/create", "query": { "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942\",\"attributes\":{\"enabled\":false,\"created\":1561685638,\"updated\":1561685638,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/87602c87cf6e43cdb0aaedda9783bfd4\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"x0J5-kHzHm05XqtkllGWBa7rxfhDIg-8uU5PZmZTtjRArop6aTm6VdMvpzfneUL0B2meoCvAddchkCWmIYZ7nB_mWBKDDAO4VdXbz6Hf414tc2qrYmlgajIwRAT8vVcO0zl4h3xgaEu3Cb6bDlW_ne_5gH1Ui3Wu-EI7uH9myi3mctBj78wcvB6X_7eqYm3jRH7rBj7hQva59JSs2MsO-YAmTrfpln5oe04u4IXKkAf9J9sp8D-7JVjFVBt40fiA9-aCyTLR6CLZn1S3olEejw26kW4gfgvkLpBpeOpq4SPCSkIF1AI-eGQIeLTyM7btc9qLiS3UCW69QbmH5tSPbQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307564,\"updated\":1565307564,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "556", + "content-length": "705", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8fa54fcb-99cb-40e9-ba26-8da5d2d57a1d", + "x-ms-request-id": "3da4c00d-c88e-43a6-835e-a79640d87d8f", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/versions", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "309", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7e8d4e89-16fb-4e57-b638-21f4f618b12b", + "x-ms-request-id": "42055a6c-c8f1-4ced-a302-173a6e87a131", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01\",\"attributes\":{\"enabled\":true,\"created\":1562805007,\"updated\":1562805007,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976015901904087\",\"attributes\":{\"enabled\":true,\"created\":1559760164,\"updated\":1559760164,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976018742005808\",\"attributes\":{\"enabled\":true,\"created\":1559760193,\"updated\":1559760193,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976035851309215\",\"attributes\":{\"enabled\":true,\"created\":1559760364,\"updated\":1559760364,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976038662209208\",\"attributes\":{\"enabled\":true,\"created\":1559760392,\"updated\":1559760392,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976059075801511\",\"attributes\":{\"enabled\":true,\"created\":1559760596,\"updated\":1559760596,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976061918309867\",\"attributes\":{\"enabled\":true,\"created\":1559760624,\"updated\":1559760624,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976088192202903\",\"attributes\":{\"enabled\":true,\"created\":1559760887,\"updated\":1559760887,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976090993105220\",\"attributes\":{\"enabled\":true,\"created\":1559760915,\"updated\":1559760915,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976118089506049\",\"attributes\":{\"enabled\":true,\"created\":1559761186,\"updated\":1559761186,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976120964305668\",\"attributes\":{\"enabled\":true,\"created\":1559761215,\"updated\":1559761215,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567836900080\",\"attributes\":{\"enabled\":true,\"created\":1560195684,\"updated\":1560195684,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568419900112\",\"attributes\":{\"enabled\":true,\"created\":1560195689,\"updated\":1560195689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568998004417\",\"attributes\":{\"enabled\":false,\"created\":1560195695,\"updated\":1560195695,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019570157704018\",\"attributes\":{\"enabled\":true,\"created\":1560195707,\"updated\":1560195707,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "3042", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:29 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b0d283a00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b0ef9efc-888b-4645-b740-84cf26269790", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/versions", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019573560701886\",\"attributes\":{\"enabled\":true,\"created\":1560195741,\"updated\":1560195741,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019965517806158\",\"attributes\":{\"enabled\":true,\"created\":1560199660,\"updated\":1560199660,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966095601383\",\"attributes\":{\"enabled\":true,\"created\":1560199666,\"updated\":1560199666,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966655202551\",\"attributes\":{\"enabled\":false,\"created\":1560199672,\"updated\":1560199672,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019967216106153\",\"attributes\":{\"enabled\":true,\"created\":1560199678,\"updated\":1560199678,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019970108507840\",\"attributes\":{\"enabled\":true,\"created\":1560199707,\"updated\":1560199707,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019971819409376\",\"attributes\":{\"enabled\":true,\"created\":1560199723,\"updated\":1560199723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020041605602688\",\"attributes\":{\"enabled\":true,\"nbf\":1560200421,\"created\":1560200422,\"updated\":1560200422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020107570005644\",\"attributes\":{\"enabled\":true,\"exp\":1560201080,\"created\":1560201081,\"updated\":1560201081,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/87602c87cf6e43cdb0aaedda9783bfd4\",\"attributes\":{\"enabled\":true,\"created\":1565307564,\"updated\":1565307564,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1975", + "content-length": "283", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "0d74305f-973f-47b2-9968-6c4297d3ddfa", + "x-ms-request-id": "e4630eb4-1289-4b3c-8424-dcd27cfdcc7a", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021398454601816\",\"attributes\":{\"enabled\":true,\"created\":1560213990,\"updated\":1560213990,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399025306001\",\"attributes\":{\"enabled\":true,\"created\":1560213996,\"updated\":1560213996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399613005852\",\"attributes\":{\"enabled\":true,\"created\":1560214001,\"updated\":1560214001,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400178007355\",\"attributes\":{\"enabled\":true,\"created\":1560214008,\"updated\":1560214008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400838605408\",\"attributes\":{\"enabled\":false,\"created\":1560214013,\"updated\":1560214013,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401405804843\",\"attributes\":{\"enabled\":true,\"nbf\":1560214019,\"created\":1560214019,\"updated\":1560214019,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401972601264\",\"attributes\":{\"enabled\":true,\"exp\":1560214024,\"created\":1560214025,\"updated\":1560214025,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021402558506955\",\"attributes\":{\"enabled\":false,\"created\":1560214031,\"updated\":1560214036,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021403691203484\",\"attributes\":{\"enabled\":true,\"created\":1560214042,\"updated\":1560214042,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1976", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5d387c38-c5fb-45f2-acb6-f0075ff59b77", + "x-ms-request-id": "5fa1f3fd-4d8b-4a4e-ac32-7ab7c6ea9f5a", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021644428906562\",\"attributes\":{\"enabled\":true,\"created\":1560216450,\"updated\":1560216450,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645023201050\",\"attributes\":{\"enabled\":true,\"created\":1560216455,\"updated\":1560216455,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645600805675\",\"attributes\":{\"enabled\":true,\"created\":1560216461,\"updated\":1560216461,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646164300437\",\"attributes\":{\"enabled\":true,\"created\":1560216467,\"updated\":1560216467,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646738603126\",\"attributes\":{\"enabled\":false,\"created\":1560216473,\"updated\":1560216473,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647317101069\",\"attributes\":{\"enabled\":true,\"nbf\":1560216478,\"created\":1560216478,\"updated\":1560216478,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647896109795\",\"attributes\":{\"enabled\":true,\"exp\":1560216483,\"created\":1560216484,\"updated\":1560216484,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021648457806180\",\"attributes\":{\"enabled\":false,\"created\":1560216490,\"updated\":1560216495,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021649588105428\",\"attributes\":{\"enabled\":false,\"exp\":1560216501,\"created\":1560216501,\"updated\":1560216507,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021652991406663\",\"attributes\":{\"enabled\":true,\"created\":1560216535,\"updated\":1560216535,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021654118707998\",\"attributes\":{\"enabled\":true,\"created\":1560216546,\"updated\":1560216546,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021655789000990\",\"attributes\":{\"enabled\":true,\"created\":1560216563,\"updated\":1560216563,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021698079201746\",\"attributes\":{\"enabled\":true,\"created\":1560216986,\"updated\":1560216986,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "2734", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:30 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5f9e207a-59ed-4296-854b-c7b81c236300", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b0a3531f-022b-4e87-af64-b91875f73d72", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027682085504023\",\"attributes\":{\"enabled\":true,\"created\":1560276826,\"updated\":1560276826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028175563002501\",\"attributes\":{\"enabled\":true,\"created\":1560281761,\"updated\":1560281761,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176140503335\",\"attributes\":{\"enabled\":true,\"created\":1560281767,\"updated\":1560281767,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176718009249\",\"attributes\":{\"enabled\":false,\"created\":1560281772,\"updated\":1560281772,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177274009592\",\"attributes\":{\"enabled\":true,\"nbf\":1560281777,\"created\":1560281778,\"updated\":1560281778,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177830101648\",\"attributes\":{\"enabled\":true,\"exp\":1560281783,\"created\":1560281784,\"updated\":1560281784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028178407406544\",\"attributes\":{\"enabled\":false,\"created\":1560281789,\"updated\":1560281795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028179546704608\",\"attributes\":{\"enabled\":false,\"exp\":1560281801,\"created\":1560281800,\"updated\":1560281806,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028182926703011\",\"attributes\":{\"enabled\":true,\"created\":1560281834,\"updated\":1560281834,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028184044006383\",\"attributes\":{\"enabled\":true,\"created\":1560281845,\"updated\":1560281845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028189442507450\",\"attributes\":{\"enabled\":true,\"created\":1560281899,\"updated\":1560281899,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028205605702876\",\"attributes\":{\"enabled\":true,\"created\":1560282061,\"updated\":1560282061,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028212028407398\",\"attributes\":{\"enabled\":true,\"created\":1560282125,\"updated\":1560282125,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028213716108979\",\"attributes\":{\"enabled\":true,\"created\":1560282142,\"updated\":1560282142,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322090002888\",\"attributes\":{\"enabled\":false,\"created\":1560363226,\"updated\":1560363226,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322656807812\",\"attributes\":{\"enabled\":true,\"nbf\":1560363231,\"created\":1560363232,\"updated\":1560363232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323238409224\",\"attributes\":{\"enabled\":true,\"exp\":1560363237,\"created\":1560363237,\"updated\":1560363237,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-\",\"deletedDate\":1565307565,\"scheduledPurgeDate\":1573083565,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/87602c87cf6e43cdb0aaedda9783bfd4\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"x0J5-kHzHm05XqtkllGWBa7rxfhDIg-8uU5PZmZTtjRArop6aTm6VdMvpzfneUL0B2meoCvAddchkCWmIYZ7nB_mWBKDDAO4VdXbz6Hf414tc2qrYmlgajIwRAT8vVcO0zl4h3xgaEu3Cb6bDlW_ne_5gH1Ui3Wu-EI7uH9myi3mctBj78wcvB6X_7eqYm3jRH7rBj7hQva59JSs2MsO-YAmTrfpln5oe04u4IXKkAf9J9sp8D-7JVjFVBt40fiA9-aCyTLR6CLZn1S3olEejw26kW4gfgvkLpBpeOpq4SPCSkIF1AI-eGQIeLTyM7btc9qLiS3UCW69QbmH5tSPbQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307564,\"updated\":1565307564,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3509", + "content-length": "885", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "925759e4-01d9-43e3-b177-a168d6f0f77b", + "x-ms-request-id": "7e33d6fb-22df-41a7-83a0-463958967a66", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323804901755\",\"attributes\":{\"enabled\":false,\"created\":1560363243,\"updated\":1560363249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036324938907401\",\"attributes\":{\"enabled\":false,\"exp\":1560363254,\"created\":1560363254,\"updated\":1560363260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036328289805710\",\"attributes\":{\"enabled\":true,\"created\":1560363288,\"updated\":1560363288,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036329384707932\",\"attributes\":{\"enabled\":true,\"created\":1560363299,\"updated\":1560363299,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036335353805406\",\"attributes\":{\"enabled\":true,\"created\":1560363359,\"updated\":1560363359,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036352635406646\",\"attributes\":{\"enabled\":true,\"created\":1560363532,\"updated\":1560363532,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036359055200632\",\"attributes\":{\"enabled\":true,\"created\":1560363595,\"updated\":1560363595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036360747106809\",\"attributes\":{\"enabled\":true,\"created\":1560363613,\"updated\":1560363613,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301853106036\",\"attributes\":{\"enabled\":false,\"created\":1560443023,\"updated\":1560443029,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044302953209171\",\"attributes\":{\"enabled\":false,\"exp\":1560443035,\"created\":1560443035,\"updated\":1560443040,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044306342002510\",\"attributes\":{\"enabled\":true,\"created\":1560443069,\"updated\":1560443069,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044307483600798\",\"attributes\":{\"enabled\":true,\"created\":1560443080,\"updated\":1560443080,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044314989607523\",\"attributes\":{\"enabled\":true,\"created\":1560443155,\"updated\":1560443155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044316109901534\",\"attributes\":{\"enabled\":true,\"created\":1560443166,\"updated\":1560443166,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044360211306282\",\"attributes\":{\"enabled\":true,\"created\":1560443607,\"updated\":1560443607,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044369613908113\",\"attributes\":{\"enabled\":true,\"created\":1560443701,\"updated\":1560443701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044371294504848\",\"attributes\":{\"enabled\":true,\"created\":1560443718,\"updated\":1560443718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048233876700601\",\"attributes\":{\"enabled\":true,\"created\":1560482344,\"updated\":1560482344,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156054122923308772\",\"attributes\":{\"enabled\":true,\"created\":1560541235,\"updated\":1560541235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953600799\",\"attributes\":{\"enabled\":true,\"created\":1560199735,\"updated\":1560199735,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "4019", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fb8f1bd5-26e7-45c5-b606-43d90e60ba20", + "x-ms-request-id": "ca125b11-9155-4fce-a7aa-a26fcf34c067", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953608137\",\"attributes\":{\"enabled\":true,\"created\":1560199740,\"updated\":1560199740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308206\",\"attributes\":{\"enabled\":true,\"created\":1560216580,\"updated\":1560216580,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308448\",\"attributes\":{\"enabled\":true,\"created\":1560216575,\"updated\":1560216575,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118107647\",\"attributes\":{\"enabled\":true,\"created\":1560281922,\"updated\":1560281922,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118109631\",\"attributes\":{\"enabled\":true,\"created\":1560281916,\"updated\":1560281916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061400928\",\"attributes\":{\"enabled\":true,\"created\":1560363381,\"updated\":1560363381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061402620\",\"attributes\":{\"enabled\":true,\"created\":1560363376,\"updated\":1560363376,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335800124\",\"attributes\":{\"enabled\":true,\"created\":1560443194,\"updated\":1560443194,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335808106\",\"attributes\":{\"enabled\":true,\"created\":1560443188,\"updated\":1560443188,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345205112\",\"attributes\":{\"enabled\":true,\"created\":1560443259,\"updated\":1560443259,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345209472\",\"attributes\":{\"enabled\":true,\"created\":1560443264,\"updated\":1560443264,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "2826", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:31 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:24 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7e1ea895-2d8b-4156-89a5-dbac97bb5200", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d19f1df0-14b7-4da7-a670-9ef37736160c", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/MyKeyName\",\"attributes\":{\"enabled\":true,\"created\":1559759721,\"updated\":1559759721,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-3045841949479433\",\"attributes\":{\"enabled\":true,\"created\":1563492996,\"updated\":1563492996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492908,\"updated\":1563492908,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-9299135263076788\",\"attributes\":{\"enabled\":true,\"created\":1563492791,\"updated\":1563492791,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596\",\"attributes\":{\"enabled\":true,\"created\":1563391406,\"updated\":1563391406,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0\",\"attributes\":{\"enabled\":true,\"created\":1563493228,\"updated\":1563493228,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1\",\"attributes\":{\"enabled\":true,\"created\":1563493229,\"updated\":1563493229,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUlVTRVZXUlZKVFNVOU9VMDlHUVV0RldWQkJSMFZFTFRVek1UUTVNRGcyTURBeU5qWXdNakloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "2275", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fc488796-28c5-4e8f-9c28-b54432ee3b5e", + "x-ms-request-id": "0ca559fb-7de3-4b95-8fb6-dea1648fe273", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUlVTRVZXUlZKVFNVOU9VMDlHUVV0RldWQkJSMFZFTFRVek1UUTVNRGcyTURBeU5qWXdNakloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783\",\"attributes\":{\"enabled\":true,\"created\":1561420381,\"updated\":1561420381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874\",\"attributes\":{\"enabled\":true,\"created\":1561420833,\"updated\":1561420833,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417\",\"attributes\":{\"enabled\":true,\"created\":1561420689,\"updated\":1561420689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699601597\",\"attributes\":{\"enabled\":true,\"created\":1560195758,\"updated\":1560195758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699608155\",\"attributes\":{\"enabled\":true,\"created\":1560195752,\"updated\":1560195752,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1054", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "939aa996-e545-46a8-87a4-8c276c16ab35", + "x-ms-request-id": "85a70619-b879-4c86-a3f9-220f5dda3895", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0\",\"deletedDate\":1563493232,\"scheduledPurgeDate\":1571269232,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/e289e630764f4daa909e589efa79928d\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"kDLvWxaUdtm16qMFubkVKUfJNw4XdOQh3Dy49NNuVsp7GweEB7CG5C1m0sJU-37xuMBIy2XiYEymexm_AVvILptGMdqdjVK0TkZWaWWgNsUsNfp1Zpt1hIC4N80ZeyGSEJe-2yTlxtKicFTXgD-5UGjVKpqhbhfG2BjK0w8h8FxjOdmtkTk8JY_zeS95ZlXd1IPfQFlt5kegj1z8UKQnO3ofr0yEVNQsckEfVyv6OB6CH3t_OKPrK9mPhPx9lTq6I7Q-AJVIk2AusQc96xW2WJZ-L8nLck95ghUZbJxR1xQMkW2iQKzAivbYw4kFoeJPHj6WHzjxhv5lwB1EBqWHow\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493228,\"updated\":1563493228,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "885", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:32 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8668bcb8-5d27-4058-a93d-3017201d2a00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d5c62c0c-d8b0-4b06-960b-0a15dcc3a842", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 204, + "response": "", "responseHeaders": { + "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", - "status": "409", + "status": "204", + "x-ms-request-id": "c4329eb3-b734-42bb-b950-9bbe0fc75df9", "x-ms-keyvault-region": "westus", - "content-length": "118", - "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:32 GMT", - "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3ed01dac-46db-47d3-8259-116c6a93bd99", + "date": "Thu, 08 Aug 2019 23:39:35 GMT", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-list0versionsofanon-existingkey-/versions", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:42 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6d0540b4-f13f-4415-8d1d-28081e3217b8", + "x-ms-request-id": "0c49eebd-e0ec-4121-93d9-aec78e4ebd3f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "8b072452-7213-4e11-9f70-93acbf997eac", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:40:52 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "767fb5ad-e2aa-45b8-b315-b1542cfc2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-list0versionsofanon-existingkey-/versions", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1\",\"deletedDate\":1563493253,\"scheduledPurgeDate\":1571269253,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/532ce6c331ae430196e2dc95c4b69ff1\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"rnliZZAJaIZPcHbi0TzL2ECMOSMxje4tjcF7GkmxddFJ9MxxBxGCA2qSZUM2AHKEIS7gvFNqZNCn-GpUhH86B709LZ2xndz0sbJKu3IjXAIOJ0sFTg0kS2D-XksD6cMv2p9rmIFvwl4b4ihLe-z08IJ6j2bO7nKdb355kRTCsRadLp95Su-23v2I-9YMbxA3iUaxlxO_szzU-bepVIcgiksl4SPdMX5_fmfX6Xu4KXFOVOl9ajB8BVYrRdqADVxWb2ckuYTONFS8RMSQj5fvo9ttrU2wWg1L-2LA9FhQySmFVuqlltn-lPnQATsJSA3PhHQ7aCgjdYDWljWhrLiyFw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493229,\"updated\":1563493229,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[],\"nextLink\":null}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "885", + "content-length": "28", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7e89ee05-44e4-42cc-8e92-33e66bfa4a54", + "x-ms-request-id": "079bc7a3-ba5e-484d-bffb-e13f1705ec0a", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-list0versionsofanon-existingkeypaged-/versions", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:40:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ad482406-18c3-420e-b5f8-3e8bb3afb371", + "x-ms-request-id": "e9be9c55-f6a8-4f9f-8347-79f5992e6ea4", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "4e999482-2e6f-43db-a521-94c29bc1e88e", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:41:03 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5f9e207a-59ed-4296-854b-c7b83c246300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/create", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-list0versionsofanon-existingkeypaged-/versions", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", + "requestBody": null, "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/cf1dd6349c11488cb8fd9c8261db41b8\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"vm16Dce45p3YWwMnCnqFu3lr1pvmnyu6iQYwcTad-7iDqQUpLIGfNZndFkPrZxbvIQTZV9797RDJkr9ikd2g8P58E0jBrhzrvArANByPd7GUfvKtIbGSSA8dDBpmweVhdkXXOb2_n4QN_cukohJ0IU7wdYKlulOsn8YUktxW1CX2svTeg95qtMiWLpCs8IE2EnfaU_DK-brONQqiBrrUL3yp-2BcT-nDglvZfUesmnN8KBiK7kdCYoS4jLtHuG24hy3pyAeeQDURpEJ_phUlETURWaRB2m9reaQYRw1_157N5X0qWT9Uki510hCMkPO30w-rlG6SKPaWP19AElwzQw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493263,\"updated\":1563493263,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[],\"nextLink\":null}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "710", + "content-length": "28", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:03 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "cbe2d076-60b6-468f-a217-2d6d12d3c66f", + "x-ms-request-id": "48f3dfa5-b598-4ca0-91b4-76fe2df3d6cb", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/create", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/ca64717101cb4359b4779899841a0163\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"riRxD4MEeMZSr1M9WF7v3YqU3GdBvI2pAQD-BcWhqNnJu_VTv3c0EljdDdOwAEzNWYp7ywO3fUKeicwwYkGf88pynlbDmD0XxzTgyj4kdEpfh5gEvc7jCKd8iSRiIP3h6c3S6UsOZASgnTkXhtC2lIH-yVnmN4cXWBV7iSQsn0qWRBWyxxMSNxV0y7t2lFvn9Uv0k8A_vbe8ugAso-gIN5AWTrX6KmKGYQhnkZYdthzLRg3-Eo-i-JTfTtZfnGjT_LjWXvHc4hW98-zP82xUD6VfS_1SHvomVMRvIAHfvEW7FyMlenjXekE2-mKVhl6qsw0p3oPfDMll73YKC9OB7Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493263,\"updated\":1563493263,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "710", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:03 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fdc8a378-0bb2-43b6-989d-3862d66406a5", + "x-ms-request-id": "abd93a18-cb8b-462a-bc90-f7d61db7d220", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys", - "query": { - "api-version": "7.0" + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "eb831d5a-ee81-4af5-ba4b-935553f22e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/create", + "query": { + "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942\",\"attributes\":{\"enabled\":false,\"created\":1561685638,\"updated\":1561685638,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/1858ab8a13db456eb2fe60b45297d4e9\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"3nH5pp8OQ5-pbf9BNa5FKb8W0Z_muOK17kYsYYxWtjrjhvfBOiJiPnZXJmjEnSu0BnG6tIpMz3ELD5vdpfJ6Y1QDDs7ZwZ42CT2MPgeSEguFkc8OGSK6uGzNify_oJzc3LSp35Zb29O-3zB4Z340ZD1uf6ukjyvkZPw9fUTozjiB2kLVXZq3do1FywAxhPVRn-R88ya-Ejxc1iULAO8A9bSwXG0r5hz9VkrV9VjiNESZAjLdu4BUOHTN_ZsyUlzhDE1eopDN4JTT5SQa5w-YQNsk5DuXF-UnIi_RBMpZJktQYGxFWlsVVoKJcE3ff_5ZumM_vFIDDWKoiqsNZnKa_Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307576,\"updated\":1565307576,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "556", + "content-length": "704", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "be456c97-31b5-4ad1-b1f0-306f4a3057f0", + "x-ms-request-id": "79c72332-de29-4add-ad62-23001fdb075c", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/create", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "309", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2c10cb21-d5ab-4518-970b-836b0cce952a", + "x-ms-request-id": "1a73df64-60df-41db-ba1b-32a86b2474f0", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8913c0a7-6cfb-4d7b-8dab-b0267eaf5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/create", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01\",\"attributes\":{\"enabled\":true,\"created\":1562805007,\"updated\":1562805007,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976015901904087\",\"attributes\":{\"enabled\":true,\"created\":1559760164,\"updated\":1559760164,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976018742005808\",\"attributes\":{\"enabled\":true,\"created\":1559760193,\"updated\":1559760193,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976035851309215\",\"attributes\":{\"enabled\":true,\"created\":1559760364,\"updated\":1559760364,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976038662209208\",\"attributes\":{\"enabled\":true,\"created\":1559760392,\"updated\":1559760392,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976059075801511\",\"attributes\":{\"enabled\":true,\"created\":1559760596,\"updated\":1559760596,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976061918309867\",\"attributes\":{\"enabled\":true,\"created\":1559760624,\"updated\":1559760624,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976088192202903\",\"attributes\":{\"enabled\":true,\"created\":1559760887,\"updated\":1559760887,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976090993105220\",\"attributes\":{\"enabled\":true,\"created\":1559760915,\"updated\":1559760915,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976118089506049\",\"attributes\":{\"enabled\":true,\"created\":1559761186,\"updated\":1559761186,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976120964305668\",\"attributes\":{\"enabled\":true,\"created\":1559761215,\"updated\":1559761215,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567836900080\",\"attributes\":{\"enabled\":true,\"created\":1560195684,\"updated\":1560195684,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568419900112\",\"attributes\":{\"enabled\":true,\"created\":1560195689,\"updated\":1560195689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568998004417\",\"attributes\":{\"enabled\":false,\"created\":1560195695,\"updated\":1560195695,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019570157704018\",\"attributes\":{\"enabled\":true,\"created\":1560195707,\"updated\":1560195707,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/28f92380048b41bf85e47a587410b253\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"u-sYG04Y2k3vEVPJqzQc1JqEAUB-UBW2pVVVzk3PSUEA1dN_qngivWonRUPMHxzkE7--ajwZlVmiWM01E1By1YaGWT6vu6aqA_RBJfgJVknw9Escp-0M2Hqtq4CQruwcUMwYfVoOJF4aY89Sny5tkLFKUT2mePmqsxWtorWvIMd4PsxFEccKoRFGeFxvZrYK3SYYtv7JfiSc2a9WKTJ7RFGkh1HtEZHFH6JYLchV9Kb-EaCbumkOP6mlJmTOidr67-lSW9vdiUuvJFV2VIk5c6TfJg4-s0xGPShtmL0rSA0zPiFv0fxVqopABVqV1YztRhOVgtPlAjkOWz9OpA9jQQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307577,\"updated\":1565307577,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3042", + "content-length": "704", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d4f9c2e4-0a96-487a-bf75-e9e51f622429", + "x-ms-request-id": "2b06236f-ff5f-4b30-b272-6d319d0becc7", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "url": "https://keyvault_name.vault.azure.net/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019573560701886\",\"attributes\":{\"enabled\":true,\"created\":1560195741,\"updated\":1560195741,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019965517806158\",\"attributes\":{\"enabled\":true,\"created\":1560199660,\"updated\":1560199660,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966095601383\",\"attributes\":{\"enabled\":true,\"created\":1560199666,\"updated\":1560199666,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966655202551\",\"attributes\":{\"enabled\":false,\"created\":1560199672,\"updated\":1560199672,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019967216106153\",\"attributes\":{\"enabled\":true,\"created\":1560199678,\"updated\":1560199678,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019970108507840\",\"attributes\":{\"enabled\":true,\"created\":1560199707,\"updated\":1560199707,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019971819409376\",\"attributes\":{\"enabled\":true,\"created\":1560199723,\"updated\":1560199723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020041605602688\",\"attributes\":{\"enabled\":true,\"nbf\":1560200421,\"created\":1560200422,\"updated\":1560200422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020107570005644\",\"attributes\":{\"enabled\":true,\"exp\":1560201080,\"created\":1560201081,\"updated\":1560201081,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1975", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8ff2840c-cf65-42e0-8b04-c92b060961e3", + "x-ms-request-id": "3829bf52-03d6-4bd2-bb49-2842da51721f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c337f49a-65f5-4657-a1cc-710a77532c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/keys", + "url": "https://keyvault_name.vault.azure.net/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021398454601816\",\"attributes\":{\"enabled\":true,\"created\":1560213990,\"updated\":1560213990,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399025306001\",\"attributes\":{\"enabled\":true,\"created\":1560213996,\"updated\":1560213996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399613005852\",\"attributes\":{\"enabled\":true,\"created\":1560214001,\"updated\":1560214001,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400178007355\",\"attributes\":{\"enabled\":true,\"created\":1560214008,\"updated\":1560214008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400838605408\",\"attributes\":{\"enabled\":false,\"created\":1560214013,\"updated\":1560214013,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401405804843\",\"attributes\":{\"enabled\":true,\"nbf\":1560214019,\"created\":1560214019,\"updated\":1560214019,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401972601264\",\"attributes\":{\"enabled\":true,\"exp\":1560214024,\"created\":1560214025,\"updated\":1560214025,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021402558506955\",\"attributes\":{\"enabled\":false,\"created\":1560214031,\"updated\":1560214036,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021403691203484\",\"attributes\":{\"enabled\":true,\"created\":1560214042,\"updated\":1560214042,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942\",\"attributes\":{\"enabled\":false,\"created\":1561685638,\"updated\":1561685638,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1976", + "content-length": "556", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "99a0a561-55df-46aa-9d45-df31bd5ace3b", + "x-ms-request-id": "dbdb6d4e-05a9-441c-aa26-d0e2321a28a2", "cache-control": "no-cache", "expires": "-1" } @@ -1122,28 +1248,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021644428906562\",\"attributes\":{\"enabled\":true,\"created\":1560216450,\"updated\":1560216450,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645023201050\",\"attributes\":{\"enabled\":true,\"created\":1560216455,\"updated\":1560216455,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645600805675\",\"attributes\":{\"enabled\":true,\"created\":1560216461,\"updated\":1560216461,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646164300437\",\"attributes\":{\"enabled\":true,\"created\":1560216467,\"updated\":1560216467,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646738603126\",\"attributes\":{\"enabled\":false,\"created\":1560216473,\"updated\":1560216473,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647317101069\",\"attributes\":{\"enabled\":true,\"nbf\":1560216478,\"created\":1560216478,\"updated\":1560216478,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647896109795\",\"attributes\":{\"enabled\":true,\"exp\":1560216483,\"created\":1560216484,\"updated\":1560216484,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021648457806180\",\"attributes\":{\"enabled\":false,\"created\":1560216490,\"updated\":1560216495,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021649588105428\",\"attributes\":{\"enabled\":false,\"exp\":1560216501,\"created\":1560216501,\"updated\":1560216507,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021652991406663\",\"attributes\":{\"enabled\":true,\"created\":1560216535,\"updated\":1560216535,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021654118707998\",\"attributes\":{\"enabled\":true,\"created\":1560216546,\"updated\":1560216546,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021655789000990\",\"attributes\":{\"enabled\":true,\"created\":1560216563,\"updated\":1560216563,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021698079201746\",\"attributes\":{\"enabled\":true,\"created\":1560216986,\"updated\":1560216986,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2734", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c41a1538-3aba-4701-929f-7fdcd364cc67", + "x-ms-request-id": "25178606-c2bb-4114-be8d-a6983970dbfb", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "97a3fb33-221c-4c44-ac63-6b4c6cef3f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1151,27 +1299,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027682085504023\",\"attributes\":{\"enabled\":true,\"created\":1560276826,\"updated\":1560276826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028175563002501\",\"attributes\":{\"enabled\":true,\"created\":1560281761,\"updated\":1560281761,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176140503335\",\"attributes\":{\"enabled\":true,\"created\":1560281767,\"updated\":1560281767,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176718009249\",\"attributes\":{\"enabled\":false,\"created\":1560281772,\"updated\":1560281772,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177274009592\",\"attributes\":{\"enabled\":true,\"nbf\":1560281777,\"created\":1560281778,\"updated\":1560281778,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177830101648\",\"attributes\":{\"enabled\":true,\"exp\":1560281783,\"created\":1560281784,\"updated\":1560281784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028178407406544\",\"attributes\":{\"enabled\":false,\"created\":1560281789,\"updated\":1560281795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028179546704608\",\"attributes\":{\"enabled\":false,\"exp\":1560281801,\"created\":1560281800,\"updated\":1560281806,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028182926703011\",\"attributes\":{\"enabled\":true,\"created\":1560281834,\"updated\":1560281834,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028184044006383\",\"attributes\":{\"enabled\":true,\"created\":1560281845,\"updated\":1560281845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028189442507450\",\"attributes\":{\"enabled\":true,\"created\":1560281899,\"updated\":1560281899,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028205605702876\",\"attributes\":{\"enabled\":true,\"created\":1560282061,\"updated\":1560282061,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028212028407398\",\"attributes\":{\"enabled\":true,\"created\":1560282125,\"updated\":1560282125,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028213716108979\",\"attributes\":{\"enabled\":true,\"created\":1560282142,\"updated\":1560282142,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322090002888\",\"attributes\":{\"enabled\":false,\"created\":1560363226,\"updated\":1560363226,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322656807812\",\"attributes\":{\"enabled\":true,\"nbf\":1560363231,\"created\":1560363232,\"updated\":1560363232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323238409224\",\"attributes\":{\"enabled\":true,\"exp\":1560363237,\"created\":1560363237,\"updated\":1560363237,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3509", + "content-length": "309", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "bab6e6bb-cb13-4e5b-883e-4ea7828722f9", + "x-ms-request-id": "e9e39794-47bb-4172-9e5c-29fd179b6e3a", "cache-control": "no-cache", "expires": "-1" } @@ -1180,28 +1328,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323804901755\",\"attributes\":{\"enabled\":false,\"created\":1560363243,\"updated\":1560363249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036324938907401\",\"attributes\":{\"enabled\":false,\"exp\":1560363254,\"created\":1560363254,\"updated\":1560363260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036328289805710\",\"attributes\":{\"enabled\":true,\"created\":1560363288,\"updated\":1560363288,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036329384707932\",\"attributes\":{\"enabled\":true,\"created\":1560363299,\"updated\":1560363299,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036335353805406\",\"attributes\":{\"enabled\":true,\"created\":1560363359,\"updated\":1560363359,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036352635406646\",\"attributes\":{\"enabled\":true,\"created\":1560363532,\"updated\":1560363532,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036359055200632\",\"attributes\":{\"enabled\":true,\"created\":1560363595,\"updated\":1560363595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036360747106809\",\"attributes\":{\"enabled\":true,\"created\":1560363613,\"updated\":1560363613,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301853106036\",\"attributes\":{\"enabled\":false,\"created\":1560443023,\"updated\":1560443029,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044302953209171\",\"attributes\":{\"enabled\":false,\"exp\":1560443035,\"created\":1560443035,\"updated\":1560443040,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044306342002510\",\"attributes\":{\"enabled\":true,\"created\":1560443069,\"updated\":1560443069,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044307483600798\",\"attributes\":{\"enabled\":true,\"created\":1560443080,\"updated\":1560443080,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044314989607523\",\"attributes\":{\"enabled\":true,\"created\":1560443155,\"updated\":1560443155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044316109901534\",\"attributes\":{\"enabled\":true,\"created\":1560443166,\"updated\":1560443166,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044360211306282\",\"attributes\":{\"enabled\":true,\"created\":1560443607,\"updated\":1560443607,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044369613908113\",\"attributes\":{\"enabled\":true,\"created\":1560443701,\"updated\":1560443701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044371294504848\",\"attributes\":{\"enabled\":true,\"created\":1560443718,\"updated\":1560443718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048233876700601\",\"attributes\":{\"enabled\":true,\"created\":1560482344,\"updated\":1560482344,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156054122923308772\",\"attributes\":{\"enabled\":true,\"created\":1560541235,\"updated\":1560541235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953600799\",\"attributes\":{\"enabled\":true,\"created\":1560199735,\"updated\":1560199735,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "4019", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "51bac657-5eec-40dc-b00e-c91d2959f458", + "x-ms-request-id": "85aa09d5-88e2-437e-b805-b7ed0bba6ce1", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5f9e207a-59ed-4296-854b-c7b877246300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1209,27 +1379,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953608137\",\"attributes\":{\"enabled\":true,\"created\":1560199740,\"updated\":1560199740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308206\",\"attributes\":{\"enabled\":true,\"created\":1560216580,\"updated\":1560216580,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308448\",\"attributes\":{\"enabled\":true,\"created\":1560216575,\"updated\":1560216575,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118107647\",\"attributes\":{\"enabled\":true,\"created\":1560281922,\"updated\":1560281922,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118109631\",\"attributes\":{\"enabled\":true,\"created\":1560281916,\"updated\":1560281916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061400928\",\"attributes\":{\"enabled\":true,\"created\":1560363381,\"updated\":1560363381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061402620\",\"attributes\":{\"enabled\":true,\"created\":1560363376,\"updated\":1560363376,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335800124\",\"attributes\":{\"enabled\":true,\"created\":1560443194,\"updated\":1560443194,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335808106\",\"attributes\":{\"enabled\":true,\"created\":1560443188,\"updated\":1560443188,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345205112\",\"attributes\":{\"enabled\":true,\"created\":1560443259,\"updated\":1560443259,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345209472\",\"attributes\":{\"enabled\":true,\"created\":1560443264,\"updated\":1560443264,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01\",\"attributes\":{\"enabled\":true,\"created\":1562805007,\"updated\":1562805007,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976015901904087\",\"attributes\":{\"enabled\":true,\"created\":1559760164,\"updated\":1559760164,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976018742005808\",\"attributes\":{\"enabled\":true,\"created\":1559760193,\"updated\":1559760193,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976035851309215\",\"attributes\":{\"enabled\":true,\"created\":1559760364,\"updated\":1559760364,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976038662209208\",\"attributes\":{\"enabled\":true,\"created\":1559760392,\"updated\":1559760392,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976059075801511\",\"attributes\":{\"enabled\":true,\"created\":1559760596,\"updated\":1559760596,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976061918309867\",\"attributes\":{\"enabled\":true,\"created\":1559760624,\"updated\":1559760624,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976088192202903\",\"attributes\":{\"enabled\":true,\"created\":1559760887,\"updated\":1559760887,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976090993105220\",\"attributes\":{\"enabled\":true,\"created\":1559760915,\"updated\":1559760915,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976118089506049\",\"attributes\":{\"enabled\":true,\"created\":1559761186,\"updated\":1559761186,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976120964305668\",\"attributes\":{\"enabled\":true,\"created\":1559761215,\"updated\":1559761215,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567836900080\",\"attributes\":{\"enabled\":true,\"created\":1560195684,\"updated\":1560195684,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568419900112\",\"attributes\":{\"enabled\":true,\"created\":1560195689,\"updated\":1560195689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568998004417\",\"attributes\":{\"enabled\":false,\"created\":1560195695,\"updated\":1560195695,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "2826", + "content-length": "2857", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d288c077-02af-4085-8e9d-aa728588664b", + "x-ms-request-id": "4f9fe17b-7469-487a-a5af-9bfa5fcb76df", "cache-control": "no-cache", "expires": "-1" } @@ -1238,28 +1408,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/MyKeyName\",\"attributes\":{\"enabled\":true,\"created\":1559759721,\"updated\":1559759721,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-3045841949479433\",\"attributes\":{\"enabled\":true,\"created\":1563492996,\"updated\":1563492996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492908,\"updated\":1563492908,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-9299135263076788\",\"attributes\":{\"enabled\":true,\"created\":1563492791,\"updated\":1563492791,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596\",\"attributes\":{\"enabled\":true,\"created\":1563391406,\"updated\":1563391406,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0\",\"attributes\":{\"enabled\":true,\"created\":1563493263,\"updated\":1563493263,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1\",\"attributes\":{\"enabled\":true,\"created\":1563493263,\"updated\":1563493263,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTNJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUlRSVlpGVWtGTVNVNVRSVkpVUlVSTFJWbFRVRUZIUlVRdE9UY3lNRE01TXpjM01qVTJPVGM0TFRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2291", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9508b6a6-87c9-4451-9b70-ce67e5d95a70", + "x-ms-request-id": "660034e2-e1cd-4ee6-a2a6-2be7cd69852d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e37deebb-9321-4d66-9ef9-8c4d0ff73f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1267,200 +1459,5142 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTNJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUlRSVlpGVWtGTVNVNVRSVkpVUlVSTFJWbFRVRUZIUlVRdE9UY3lNRE01TXpjM01qVTJPVGM0TFRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783\",\"attributes\":{\"enabled\":true,\"created\":1561420381,\"updated\":1561420381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874\",\"attributes\":{\"enabled\":true,\"created\":1561420833,\"updated\":1561420833,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417\",\"attributes\":{\"enabled\":true,\"created\":1561420689,\"updated\":1561420689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699601597\",\"attributes\":{\"enabled\":true,\"created\":1560195758,\"updated\":1560195758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699608155\",\"attributes\":{\"enabled\":true,\"created\":1560195752,\"updated\":1560195752,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019570157704018\",\"attributes\":{\"enabled\":true,\"created\":1560195707,\"updated\":1560195707,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019573560701886\",\"attributes\":{\"enabled\":true,\"created\":1560195741,\"updated\":1560195741,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019965517806158\",\"attributes\":{\"enabled\":true,\"created\":1560199660,\"updated\":1560199660,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966095601383\",\"attributes\":{\"enabled\":true,\"created\":1560199666,\"updated\":1560199666,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966655202551\",\"attributes\":{\"enabled\":false,\"created\":1560199672,\"updated\":1560199672,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019967216106153\",\"attributes\":{\"enabled\":true,\"created\":1560199678,\"updated\":1560199678,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019970108507840\",\"attributes\":{\"enabled\":true,\"created\":1560199707,\"updated\":1560199707,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019971819409376\",\"attributes\":{\"enabled\":true,\"created\":1560199723,\"updated\":1560199723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020041605602688\",\"attributes\":{\"enabled\":true,\"nbf\":1560200421,\"created\":1560200422,\"updated\":1560200422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020107570005644\",\"attributes\":{\"enabled\":true,\"exp\":1560201080,\"created\":1560201081,\"updated\":1560201081,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1054", + "content-length": "2160", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7ec0fdae-f6e5-4f4c-9b4e-799a95e87a2f", + "x-ms-request-id": "58417f2f-f64b-45d6-acd2-02373b729439", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0\",\"deletedDate\":1563493267,\"scheduledPurgeDate\":1571269267,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/cf1dd6349c11488cb8fd9c8261db41b8\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"vm16Dce45p3YWwMnCnqFu3lr1pvmnyu6iQYwcTad-7iDqQUpLIGfNZndFkPrZxbvIQTZV9797RDJkr9ikd2g8P58E0jBrhzrvArANByPd7GUfvKtIbGSSA8dDBpmweVhdkXXOb2_n4QN_cukohJ0IU7wdYKlulOsn8YUktxW1CX2svTeg95qtMiWLpCs8IE2EnfaU_DK-brONQqiBrrUL3yp-2BcT-nDglvZfUesmnN8KBiK7kdCYoS4jLtHuG24hy3pyAeeQDURpEJ_phUlETURWaRB2m9reaQYRw1_157N5X0qWT9Uki510hCMkPO30w-rlG6SKPaWP19AElwzQw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493263,\"updated\":1563493263,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "895", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "321ecd46-0b0e-4741-bd06-a62387312c99", + "x-ms-request-id": "19b72023-0079-45fd-bace-71d0f0bef602", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ff56368e-87f6-4fdf-9848-87abaf525b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021398454601816\",\"attributes\":{\"enabled\":true,\"created\":1560213990,\"updated\":1560213990,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399025306001\",\"attributes\":{\"enabled\":true,\"created\":1560213996,\"updated\":1560213996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399613005852\",\"attributes\":{\"enabled\":true,\"created\":1560214001,\"updated\":1560214001,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400178007355\",\"attributes\":{\"enabled\":true,\"created\":1560214008,\"updated\":1560214008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400838605408\",\"attributes\":{\"enabled\":false,\"created\":1560214013,\"updated\":1560214013,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401405804843\",\"attributes\":{\"enabled\":true,\"nbf\":1560214019,\"created\":1560214019,\"updated\":1560214019,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401972601264\",\"attributes\":{\"enabled\":true,\"exp\":1560214024,\"created\":1560214025,\"updated\":1560214025,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021402558506955\",\"attributes\":{\"enabled\":false,\"created\":1560214031,\"updated\":1560214036,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021403691203484\",\"attributes\":{\"enabled\":true,\"created\":1560214042,\"updated\":1560214042,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "1976", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fb16c42e-7297-4dc5-8b9f-a10f342b1eab", + "x-ms-request-id": "7b15d213-7aef-432c-8186-b67102b905e4", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:16 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "216ad6d6-9d53-488a-84e3-9665bea80f3b", + "x-ms-request-id": "dde406ce-718d-479c-8482-0bc5b5392d7e", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "ca764bb4-b721-4212-8b66-90155e68f28a", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:41:27 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:39:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c337f49a-65f5-4657-a1cc-710ab5532c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1\",\"deletedDate\":1563493287,\"scheduledPurgeDate\":1571269287,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/ca64717101cb4359b4779899841a0163\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"riRxD4MEeMZSr1M9WF7v3YqU3GdBvI2pAQD-BcWhqNnJu_VTv3c0EljdDdOwAEzNWYp7ywO3fUKeicwwYkGf88pynlbDmD0XxzTgyj4kdEpfh5gEvc7jCKd8iSRiIP3h6c3S6UsOZASgnTkXhtC2lIH-yVnmN4cXWBV7iSQsn0qWRBWyxxMSNxV0y7t2lFvn9Uv0k8A_vbe8ugAso-gIN5AWTrX6KmKGYQhnkZYdthzLRg3-Eo-i-JTfTtZfnGjT_LjWXvHc4hW98-zP82xUD6VfS_1SHvomVMRvIAHfvEW7FyMlenjXekE2-mKVhl6qsw0p3oPfDMll73YKC9OB7Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493263,\"updated\":1563493263,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021644428906562\",\"attributes\":{\"enabled\":true,\"created\":1560216450,\"updated\":1560216450,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645023201050\",\"attributes\":{\"enabled\":true,\"created\":1560216455,\"updated\":1560216455,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645600805675\",\"attributes\":{\"enabled\":true,\"created\":1560216461,\"updated\":1560216461,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646164300437\",\"attributes\":{\"enabled\":true,\"created\":1560216467,\"updated\":1560216467,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646738603126\",\"attributes\":{\"enabled\":false,\"created\":1560216473,\"updated\":1560216473,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647317101069\",\"attributes\":{\"enabled\":true,\"nbf\":1560216478,\"created\":1560216478,\"updated\":1560216478,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647896109795\",\"attributes\":{\"enabled\":true,\"exp\":1560216483,\"created\":1560216484,\"updated\":1560216484,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021648457806180\",\"attributes\":{\"enabled\":false,\"created\":1560216490,\"updated\":1560216495,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021649588105428\",\"attributes\":{\"enabled\":false,\"exp\":1560216501,\"created\":1560216501,\"updated\":1560216507,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021652991406663\",\"attributes\":{\"enabled\":true,\"created\":1560216535,\"updated\":1560216535,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021654118707998\",\"attributes\":{\"enabled\":true,\"created\":1560216546,\"updated\":1560216546,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021655789000990\",\"attributes\":{\"enabled\":true,\"created\":1560216563,\"updated\":1560216563,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021698079201746\",\"attributes\":{\"enabled\":true,\"created\":1560216986,\"updated\":1560216986,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "895", + "content-length": "2734", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "146007be-415d-42a1-b7bf-c8605982755f", + "x-ms-request-id": "c8bd7024-2edb-4912-a2e4-2eac61fa8f4a", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bce738f8-26be-4d59-a1f8-4756b35e2921", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "01b05611-43b9-4aeb-8519-5bdb33b12a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027682085504023\",\"attributes\":{\"enabled\":true,\"created\":1560276826,\"updated\":1560276826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028175563002501\",\"attributes\":{\"enabled\":true,\"created\":1560281761,\"updated\":1560281761,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176140503335\",\"attributes\":{\"enabled\":true,\"created\":1560281767,\"updated\":1560281767,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176718009249\",\"attributes\":{\"enabled\":false,\"created\":1560281772,\"updated\":1560281772,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177274009592\",\"attributes\":{\"enabled\":true,\"nbf\":1560281777,\"created\":1560281778,\"updated\":1560281778,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177830101648\",\"attributes\":{\"enabled\":true,\"exp\":1560281783,\"created\":1560281784,\"updated\":1560281784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028178407406544\",\"attributes\":{\"enabled\":false,\"created\":1560281789,\"updated\":1560281795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028179546704608\",\"attributes\":{\"enabled\":false,\"exp\":1560281801,\"created\":1560281800,\"updated\":1560281806,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028182926703011\",\"attributes\":{\"enabled\":true,\"created\":1560281834,\"updated\":1560281834,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028184044006383\",\"attributes\":{\"enabled\":true,\"created\":1560281845,\"updated\":1560281845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028189442507450\",\"attributes\":{\"enabled\":true,\"created\":1560281899,\"updated\":1560281899,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028205605702876\",\"attributes\":{\"enabled\":true,\"created\":1560282061,\"updated\":1560282061,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028212028407398\",\"attributes\":{\"enabled\":true,\"created\":1560282125,\"updated\":1560282125,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028213716108979\",\"attributes\":{\"enabled\":true,\"created\":1560282142,\"updated\":1560282142,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322090002888\",\"attributes\":{\"enabled\":false,\"created\":1560363226,\"updated\":1560363226,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3105", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "31999512-cb8c-4805-945f-ff80165c85b2", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a64ec900-1201-43fe-b05d-2cded4c3c944", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "6b00e0af-d66a-471e-97a2-8ace0b7a2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322656807812\",\"attributes\":{\"enabled\":true,\"nbf\":1560363231,\"created\":1560363232,\"updated\":1560363232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323238409224\",\"attributes\":{\"enabled\":true,\"exp\":1560363237,\"created\":1560363237,\"updated\":1560363237,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323804901755\",\"attributes\":{\"enabled\":false,\"created\":1560363243,\"updated\":1560363249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036324938907401\",\"attributes\":{\"enabled\":false,\"exp\":1560363254,\"created\":1560363254,\"updated\":1560363260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036328289805710\",\"attributes\":{\"enabled\":true,\"created\":1560363288,\"updated\":1560363288,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036329384707932\",\"attributes\":{\"enabled\":true,\"created\":1560363299,\"updated\":1560363299,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036335353805406\",\"attributes\":{\"enabled\":true,\"created\":1560363359,\"updated\":1560363359,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036352635406646\",\"attributes\":{\"enabled\":true,\"created\":1560363532,\"updated\":1560363532,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036359055200632\",\"attributes\":{\"enabled\":true,\"created\":1560363595,\"updated\":1560363595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036360747106809\",\"attributes\":{\"enabled\":true,\"created\":1560363613,\"updated\":1560363613,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301853106036\",\"attributes\":{\"enabled\":false,\"created\":1560443023,\"updated\":1560443029,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044302953209171\",\"attributes\":{\"enabled\":false,\"exp\":1560443035,\"created\":1560443035,\"updated\":1560443040,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044306342002510\",\"attributes\":{\"enabled\":true,\"created\":1560443069,\"updated\":1560443069,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044307483600798\",\"attributes\":{\"enabled\":true,\"created\":1560443080,\"updated\":1560443080,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044314989607523\",\"attributes\":{\"enabled\":true,\"created\":1560443155,\"updated\":1560443155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044316109901534\",\"attributes\":{\"enabled\":true,\"created\":1560443166,\"updated\":1560443166,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044360211306282\",\"attributes\":{\"enabled\":true,\"created\":1560443607,\"updated\":1560443607,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044369613908113\",\"attributes\":{\"enabled\":true,\"created\":1560443701,\"updated\":1560443701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044371294504848\",\"attributes\":{\"enabled\":true,\"created\":1560443718,\"updated\":1560443718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048233876700601\",\"attributes\":{\"enabled\":true,\"created\":1560482344,\"updated\":1560482344,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "4047", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c9531fe3-e919-4434-8bb4-b910af7072fd", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0dcd783a-fafe-48bd-840c-fbdd6a115f71", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cc96646f-5ca5-4eed-a704-543319803b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156054122923308772\",\"attributes\":{\"enabled\":true,\"created\":1560541235,\"updated\":1560541235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953600799\",\"attributes\":{\"enabled\":true,\"created\":1560199735,\"updated\":1560199735,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953608137\",\"attributes\":{\"enabled\":true,\"created\":1560199740,\"updated\":1560199740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308206\",\"attributes\":{\"enabled\":true,\"created\":1560216580,\"updated\":1560216580,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308448\",\"attributes\":{\"enabled\":true,\"created\":1560216575,\"updated\":1560216575,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118107647\",\"attributes\":{\"enabled\":true,\"created\":1560281922,\"updated\":1560281922,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118109631\",\"attributes\":{\"enabled\":true,\"created\":1560281916,\"updated\":1560281916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061400928\",\"attributes\":{\"enabled\":true,\"created\":1560363381,\"updated\":1560363381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061402620\",\"attributes\":{\"enabled\":true,\"created\":1560363376,\"updated\":1560363376,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335800124\",\"attributes\":{\"enabled\":true,\"created\":1560443194,\"updated\":1560443194,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335808106\",\"attributes\":{\"enabled\":true,\"created\":1560443188,\"updated\":1560443188,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345205112\",\"attributes\":{\"enabled\":true,\"created\":1560443259,\"updated\":1560443259,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345209472\",\"attributes\":{\"enabled\":true,\"created\":1560443264,\"updated\":1560443264,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3192", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c54ef6fd-50ae-4707-ba5f-9a6c6feb7e11", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "155243f3-e302-40c2-8bef-e85d5b42371b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ce54f0ea-897e-4352-bc0d-2603b84c3c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/MyKeyName\",\"attributes\":{\"enabled\":true,\"created\":1559759721,\"updated\":1559759721,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-beforeeachhook-05210208539653571\",\"attributes\":{\"enabled\":true,\"created\":1564167055,\"updated\":1564167055,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-3045841949479433\",\"attributes\":{\"enabled\":true,\"created\":1563492996,\"updated\":1563492996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492908,\"updated\":1563492908,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-9299135263076788\",\"attributes\":{\"enabled\":true,\"created\":1563492791,\"updated\":1563492791,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596\",\"attributes\":{\"enabled\":true,\"created\":1563391406,\"updated\":1563391406,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1796", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "32df1c49-ae97-48a7-bc78-1f8183abd760", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c58198e4-dfb5-4e7b-b365-cbd14e36ff9f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "37168c0c-d0c3-45c5-8ad4-4850b4ab2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0\",\"attributes\":{\"enabled\":true,\"created\":1565307576,\"updated\":1565307576,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1\",\"attributes\":{\"enabled\":true,\"created\":1565307577,\"updated\":1565307577,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783\",\"attributes\":{\"enabled\":true,\"created\":1561420381,\"updated\":1561420381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874\",\"attributes\":{\"enabled\":true,\"created\":1561420833,\"updated\":1561420833,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417\",\"attributes\":{\"enabled\":true,\"created\":1561420689,\"updated\":1561420689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699601597\",\"attributes\":{\"enabled\":true,\"created\":1560195758,\"updated\":1560195758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699608155\",\"attributes\":{\"enabled\":true,\"created\":1560195752,\"updated\":1560195752,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1726", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "40ae0bcf-e067-42ab-b17c-108cb72ee0eb", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d2d01994-9085-4451-8145-e7489d8da046", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7e1ea895-2d8b-4156-89a5-dbac5bbd5200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0\",\"deletedDate\":1565307582,\"scheduledPurgeDate\":1573083582,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/1858ab8a13db456eb2fe60b45297d4e9\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"3nH5pp8OQ5-pbf9BNa5FKb8W0Z_muOK17kYsYYxWtjrjhvfBOiJiPnZXJmjEnSu0BnG6tIpMz3ELD5vdpfJ6Y1QDDs7ZwZ42CT2MPgeSEguFkc8OGSK6uGzNify_oJzc3LSp35Zb29O-3zB4Z340ZD1uf6ukjyvkZPw9fUTozjiB2kLVXZq3do1FywAxhPVRn-R88ya-Ejxc1iULAO8A9bSwXG0r5hz9VkrV9VjiNESZAjLdu4BUOHTN_ZsyUlzhDE1eopDN4JTT5SQa5w-YQNsk5DuXF-UnIi_RBMpZJktQYGxFWlsVVoKJcE3ff_5ZumM_vFIDDWKoiqsNZnKa_Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307576,\"updated\":1565307576,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "883", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "41e41c50-004a-4140-8b99-8704987d0241", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:41 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "158ff885-ed24-4431-a679-7a4a6113ee5f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e37deebb-9321-4d66-9ef9-8c4d99f73f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:42 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cce79db6-66e6-4397-8094-6ebd531d1eb5", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:52 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1991d2df-2a58-49e8-994e-b06a43d3f391", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:52 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cd1cfe65-f382-4b7a-93d7-b92745d75300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "0e3cf69b-3e19-426c-af72-cbce6acd0180", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:39:52 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:52 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a984d215-6558-4959-96dc-c2fbf414bc6d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:53 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f05294bd-1042-46fd-a615-1804d8e95400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1\",\"deletedDate\":1565307593,\"scheduledPurgeDate\":1573083593,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/28f92380048b41bf85e47a587410b253\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"u-sYG04Y2k3vEVPJqzQc1JqEAUB-UBW2pVVVzk3PSUEA1dN_qngivWonRUPMHxzkE7--ajwZlVmiWM01E1By1YaGWT6vu6aqA_RBJfgJVknw9Escp-0M2Hqtq4CQruwcUMwYfVoOJF4aY89Sny5tkLFKUT2mePmqsxWtorWvIMd4PsxFEccKoRFGeFxvZrYK3SYYtv7JfiSc2a9WKTJ7RFGkh1HtEZHFH6JYLchV9Kb-EaCbumkOP6mlJmTOidr67-lSW9vdiUuvJFV2VIk5c6TfJg4-s0xGPShtmL0rSA0zPiFv0fxVqopABVqV1YztRhOVgtPlAjkOWz9OpA9jQQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307577,\"updated\":1565307577,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "883", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:52 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2d163136-38e0-4dab-b06d-263528aa78b2", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:52 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7ecb4a26-0619-46cc-ad55-1b83551e9889", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:53 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "9bc2ede6-63d8-4a6a-ad67-91e4abd03400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:53 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "59f95ca9-74e8-4157-a3c1-a334559fa3fe", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "fecc528b-1611-4b6d-9a38-76c47036cf63", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c0aa8c5a-cc48-475e-8703-037126d85100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ae42855c-b1a4-4a6b-8cb0-daac23e7976e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9a94972e-de4b-45e9-9412-53344254b6a6", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "291b7d59-46ba-4125-8aa2-1de384042d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "ebd00940-4f14-4fed-8dea-57920187e31f", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:40:14 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0064b8ed-9b7d-415f-a6a6-bd55b0b10fbc", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ce54f0ea-897e-4352-bc0d-2603d7503c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/28b8785dd65546acb0ecf809f5d3e9c7\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"toVYR0a2rAIupXcKR29Em6mV_cuO_cZSvHFLsYCuGT9zMR1xyFpPZ9BZ8gJVQwb6ZArFbd_JVKEZl1oLFbWaGRzajFU40pX7jPjY9Ur6jAAv5Q6QYuNfaAOlO_YtCJks1_4KVLTeYaqebqRanVxgEiP5fcUOJixQXhC-p31hcRDCleYE2udkujz8cDDkjjQuZWm1KWo0Td5Ngyv_jVIS4rYh2gHqphv7atEXHF23YWljJVsA511eogvcYoVSyB_exPvKxPxytvK0-Wsl69qK4xQjW36yhwWo1uhpbukVp3BFUsa_1qON6xkv7_EV8GSNDTpWyU7y2MHrU9k4Qm17PQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307615,\"updated\":1565307615,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "709", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a84a19b7-f010-4da7-a714-3001c3647b7e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "58821fbc-dcb0-4e9a-be46-478f02425603", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:15 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a6294e32a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/dc19df86191a4e88917c5b2eeecb2b85\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"zeK_jiJUgiH1XCJiIJBWF1hXFG2qLd-R2YrztiGUhRwae7DfKSjy_CXXMQzuR30y9mSpqc_KUROKaJBqxVb_sz6qvB9F64l8NBLNmF8i3SX-rCxCen2p8G1XPjO846AAufSTVHAC7PgI25-x0e7vZ4xJEM1-o8zRrJqLNGbq9cS0PeqioLLIFx4W3xWJxorP8ajAAJ83G-cCMQ_2uPgRj9ZibauBAltNzZM-IGL2XKcoAAyhQrxEKu4qQCEwzngA-uh8_3NZ_gLnq3npLYEIgo6tw5BoLqv8pRpsdgdJRjjaMEcmeNGo9gcVF13qpYX4okRbpDYSIComnN85uMDeqQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307615,\"updated\":1565307615,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "709", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "52071988-3ce1-43ad-baca-90f6fde26f0c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "02cff84f-8759-42db-9147-a818510cc15e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:15 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "17393c18-4798-44a7-ac52-fc4fabc46100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942\",\"attributes\":{\"enabled\":false,\"created\":1561685638,\"updated\":1561685638,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "556", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "373ce9ba-9748-476d-be8d-0f9a33f78bd9", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "368115eb-3395-4a68-a60b-979eee288956", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8913c0a7-6cfb-4d7b-8dab-b0266fb45700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "309", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9aba6d93-deba-4623-8cbe-932e0f2f571d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "459fc4f3-5530-48d1-b285-74a44c0bc1ce", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cd1cfe65-f382-4b7a-93d7-b927f1d95300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01\",\"attributes\":{\"enabled\":true,\"created\":1562805007,\"updated\":1562805007,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976015901904087\",\"attributes\":{\"enabled\":true,\"created\":1559760164,\"updated\":1559760164,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976018742005808\",\"attributes\":{\"enabled\":true,\"created\":1559760193,\"updated\":1559760193,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976035851309215\",\"attributes\":{\"enabled\":true,\"created\":1559760364,\"updated\":1559760364,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976038662209208\",\"attributes\":{\"enabled\":true,\"created\":1559760392,\"updated\":1559760392,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976059075801511\",\"attributes\":{\"enabled\":true,\"created\":1559760596,\"updated\":1559760596,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976061918309867\",\"attributes\":{\"enabled\":true,\"created\":1559760624,\"updated\":1559760624,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976088192202903\",\"attributes\":{\"enabled\":true,\"created\":1559760887,\"updated\":1559760887,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976090993105220\",\"attributes\":{\"enabled\":true,\"created\":1559760915,\"updated\":1559760915,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976118089506049\",\"attributes\":{\"enabled\":true,\"created\":1559761186,\"updated\":1559761186,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key155976120964305668\",\"attributes\":{\"enabled\":true,\"created\":1559761215,\"updated\":1559761215,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567836900080\",\"attributes\":{\"enabled\":true,\"created\":1560195684,\"updated\":1560195684,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568419900112\",\"attributes\":{\"enabled\":true,\"created\":1560195689,\"updated\":1560195689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019568998004417\",\"attributes\":{\"enabled\":false,\"created\":1560195695,\"updated\":1560195695,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2857", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0423af86-c037-4080-bfe0-da6846d62caa", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "666eb154-57be-434b-9be5-d2be437d62c6", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "35cbcc9a-d5fe-41f7-8a5b-f561a38e3700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019570157704018\",\"attributes\":{\"enabled\":true,\"created\":1560195707,\"updated\":1560195707,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019573560701886\",\"attributes\":{\"enabled\":true,\"created\":1560195741,\"updated\":1560195741,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019965517806158\",\"attributes\":{\"enabled\":true,\"created\":1560199660,\"updated\":1560199660,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966095601383\",\"attributes\":{\"enabled\":true,\"created\":1560199666,\"updated\":1560199666,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019966655202551\",\"attributes\":{\"enabled\":false,\"created\":1560199672,\"updated\":1560199672,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019967216106153\",\"attributes\":{\"enabled\":true,\"created\":1560199678,\"updated\":1560199678,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019970108507840\",\"attributes\":{\"enabled\":true,\"created\":1560199707,\"updated\":1560199707,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019971819409376\",\"attributes\":{\"enabled\":true,\"created\":1560199723,\"updated\":1560199723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020041605602688\",\"attributes\":{\"enabled\":true,\"nbf\":1560200421,\"created\":1560200422,\"updated\":1560200422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020107570005644\",\"attributes\":{\"enabled\":true,\"exp\":1560201080,\"created\":1560201081,\"updated\":1560201081,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2160", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7b644720-c048-4219-84db-87df678defec", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:16 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "65f28eee-8f07-4226-b268-6fd2dcbce7f0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:17 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "25daf893-6852-43ee-b082-e58589a85900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021398454601816\",\"attributes\":{\"enabled\":true,\"created\":1560213990,\"updated\":1560213990,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399025306001\",\"attributes\":{\"enabled\":true,\"created\":1560213996,\"updated\":1560213996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021399613005852\",\"attributes\":{\"enabled\":true,\"created\":1560214001,\"updated\":1560214001,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400178007355\",\"attributes\":{\"enabled\":true,\"created\":1560214008,\"updated\":1560214008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021400838605408\",\"attributes\":{\"enabled\":false,\"created\":1560214013,\"updated\":1560214013,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401405804843\",\"attributes\":{\"enabled\":true,\"nbf\":1560214019,\"created\":1560214019,\"updated\":1560214019,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021401972601264\",\"attributes\":{\"enabled\":true,\"exp\":1560214024,\"created\":1560214025,\"updated\":1560214025,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021402558506955\",\"attributes\":{\"enabled\":false,\"created\":1560214031,\"updated\":1560214036,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021403691203484\",\"attributes\":{\"enabled\":true,\"created\":1560214042,\"updated\":1560214042,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1976", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:17 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ce9a9b05-b5c3-4c3b-90ab-eb1532fe81d3", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:17 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1fe75405-8510-4a08-9791-0a8103136616", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:17 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e2df1365-56f8-4113-894b-425b78675600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021644428906562\",\"attributes\":{\"enabled\":true,\"created\":1560216450,\"updated\":1560216450,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645023201050\",\"attributes\":{\"enabled\":true,\"created\":1560216455,\"updated\":1560216455,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021645600805675\",\"attributes\":{\"enabled\":true,\"created\":1560216461,\"updated\":1560216461,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646164300437\",\"attributes\":{\"enabled\":true,\"created\":1560216467,\"updated\":1560216467,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021646738603126\",\"attributes\":{\"enabled\":false,\"created\":1560216473,\"updated\":1560216473,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647317101069\",\"attributes\":{\"enabled\":true,\"nbf\":1560216478,\"created\":1560216478,\"updated\":1560216478,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021647896109795\",\"attributes\":{\"enabled\":true,\"exp\":1560216483,\"created\":1560216484,\"updated\":1560216484,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021648457806180\",\"attributes\":{\"enabled\":false,\"created\":1560216490,\"updated\":1560216495,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021649588105428\",\"attributes\":{\"enabled\":false,\"exp\":1560216501,\"created\":1560216501,\"updated\":1560216507,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021652991406663\",\"attributes\":{\"enabled\":true,\"created\":1560216535,\"updated\":1560216535,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021654118707998\",\"attributes\":{\"enabled\":true,\"created\":1560216546,\"updated\":1560216546,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021655789000990\",\"attributes\":{\"enabled\":true,\"created\":1560216563,\"updated\":1560216563,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021698079201746\",\"attributes\":{\"enabled\":true,\"created\":1560216986,\"updated\":1560216986,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2734", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:17 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9f632b5a-f19c-4d6a-bc81-7c33e51ad09e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:17 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9f342b0d-38ab-4b27-8e97-db1d54bb4328", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a62d8e32a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027682085504023\",\"attributes\":{\"enabled\":true,\"created\":1560276826,\"updated\":1560276826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028175563002501\",\"attributes\":{\"enabled\":true,\"created\":1560281761,\"updated\":1560281761,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176140503335\",\"attributes\":{\"enabled\":true,\"created\":1560281767,\"updated\":1560281767,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028176718009249\",\"attributes\":{\"enabled\":false,\"created\":1560281772,\"updated\":1560281772,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177274009592\",\"attributes\":{\"enabled\":true,\"nbf\":1560281777,\"created\":1560281778,\"updated\":1560281778,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028177830101648\",\"attributes\":{\"enabled\":true,\"exp\":1560281783,\"created\":1560281784,\"updated\":1560281784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028178407406544\",\"attributes\":{\"enabled\":false,\"created\":1560281789,\"updated\":1560281795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028179546704608\",\"attributes\":{\"enabled\":false,\"exp\":1560281801,\"created\":1560281800,\"updated\":1560281806,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028182926703011\",\"attributes\":{\"enabled\":true,\"created\":1560281834,\"updated\":1560281834,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028184044006383\",\"attributes\":{\"enabled\":true,\"created\":1560281845,\"updated\":1560281845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028189442507450\",\"attributes\":{\"enabled\":true,\"created\":1560281899,\"updated\":1560281899,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028205605702876\",\"attributes\":{\"enabled\":true,\"created\":1560282061,\"updated\":1560282061,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028212028407398\",\"attributes\":{\"enabled\":true,\"created\":1560282125,\"updated\":1560282125,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028213716108979\",\"attributes\":{\"enabled\":true,\"created\":1560282142,\"updated\":1560282142,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322090002888\",\"attributes\":{\"enabled\":false,\"created\":1560363226,\"updated\":1560363226,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3105", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "da0542cd-04e0-486f-b613-8d0ba0308948", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3535ec0f-de1b-49a1-aebb-2bf78c779823", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8e92a42f-5cce-4d22-bc4a-b4e19e952900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036322656807812\",\"attributes\":{\"enabled\":true,\"nbf\":1560363231,\"created\":1560363232,\"updated\":1560363232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323238409224\",\"attributes\":{\"enabled\":true,\"exp\":1560363237,\"created\":1560363237,\"updated\":1560363237,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036323804901755\",\"attributes\":{\"enabled\":false,\"created\":1560363243,\"updated\":1560363249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036324938907401\",\"attributes\":{\"enabled\":false,\"exp\":1560363254,\"created\":1560363254,\"updated\":1560363260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036328289805710\",\"attributes\":{\"enabled\":true,\"created\":1560363288,\"updated\":1560363288,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036329384707932\",\"attributes\":{\"enabled\":true,\"created\":1560363299,\"updated\":1560363299,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036335353805406\",\"attributes\":{\"enabled\":true,\"created\":1560363359,\"updated\":1560363359,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036352635406646\",\"attributes\":{\"enabled\":true,\"created\":1560363532,\"updated\":1560363532,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036359055200632\",\"attributes\":{\"enabled\":true,\"created\":1560363595,\"updated\":1560363595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036360747106809\",\"attributes\":{\"enabled\":true,\"created\":1560363613,\"updated\":1560363613,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301853106036\",\"attributes\":{\"enabled\":false,\"created\":1560443023,\"updated\":1560443029,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044302953209171\",\"attributes\":{\"enabled\":false,\"exp\":1560443035,\"created\":1560443035,\"updated\":1560443040,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044306342002510\",\"attributes\":{\"enabled\":true,\"created\":1560443069,\"updated\":1560443069,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044307483600798\",\"attributes\":{\"enabled\":true,\"created\":1560443080,\"updated\":1560443080,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044314989607523\",\"attributes\":{\"enabled\":true,\"created\":1560443155,\"updated\":1560443155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044316109901534\",\"attributes\":{\"enabled\":true,\"created\":1560443166,\"updated\":1560443166,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044360211306282\",\"attributes\":{\"enabled\":true,\"created\":1560443607,\"updated\":1560443607,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044369613908113\",\"attributes\":{\"enabled\":true,\"created\":1560443701,\"updated\":1560443701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044371294504848\",\"attributes\":{\"enabled\":true,\"created\":1560443718,\"updated\":1560443718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048233876700601\",\"attributes\":{\"enabled\":true,\"created\":1560482344,\"updated\":1560482344,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "4047", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5aca0638-4b37-4efd-81f0-d2b2e77ab464", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "590263e5-6400-468a-914f-18247acb7328", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8a2c6907-c73d-46b9-b159-198800d86000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156054122923308772\",\"attributes\":{\"enabled\":true,\"created\":1560541235,\"updated\":1560541235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953600799\",\"attributes\":{\"enabled\":true,\"created\":1560199735,\"updated\":1560199735,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019972953608137\",\"attributes\":{\"enabled\":true,\"created\":1560199740,\"updated\":1560199740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308206\",\"attributes\":{\"enabled\":true,\"created\":1560216580,\"updated\":1560216580,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156021656935308448\",\"attributes\":{\"enabled\":true,\"created\":1560216575,\"updated\":1560216575,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118107647\",\"attributes\":{\"enabled\":true,\"created\":1560281922,\"updated\":1560281922,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156028191118109631\",\"attributes\":{\"enabled\":true,\"created\":1560281916,\"updated\":1560281916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061400928\",\"attributes\":{\"enabled\":true,\"created\":1560363381,\"updated\":1560363381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156036337061402620\",\"attributes\":{\"enabled\":true,\"created\":1560363376,\"updated\":1560363376,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335800124\",\"attributes\":{\"enabled\":true,\"created\":1560443194,\"updated\":1560443194,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044318335808106\",\"attributes\":{\"enabled\":true,\"created\":1560443188,\"updated\":1560443188,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345205112\",\"attributes\":{\"enabled\":true,\"created\":1560443259,\"updated\":1560443259,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156044325345209472\",\"attributes\":{\"enabled\":true,\"created\":1560443264,\"updated\":1560443264,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1\",\"attributes\":{\"enabled\":true,\"created\":1561685873,\"updated\":1561685873,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3192", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a8a7405c-f1c8-481c-8400-dab2dddbcf9b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:18 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9a210619-84fe-4e70-84ed-76f13fcb9c86", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e459e887-7e0f-45e1-bb37-7fbd2e4f5400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/MyKeyName\",\"attributes\":{\"enabled\":true,\"created\":1559759721,\"updated\":1559759721,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-beforeeachhook-05210208539653571\",\"attributes\":{\"enabled\":true,\"created\":1564167055,\"updated\":1564167055,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-3045841949479433\",\"attributes\":{\"enabled\":true,\"created\":1563492996,\"updated\":1563492996,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492908,\"updated\":1563492908,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-9299135263076788\",\"attributes\":{\"enabled\":true,\"created\":1563492791,\"updated\":1563492791,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596\",\"attributes\":{\"enabled\":true,\"created\":1563391406,\"updated\":1563391406,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1796", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d3e81632-0654-4c1d-970b-cb69c35ead4c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c1e7126d-1b76-4c6d-ba8e-8be5fc7bddd1", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "37168c0c-d0c3-45c5-8ad4-485084af2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/keys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0\",\"attributes\":{\"enabled\":true,\"created\":1565307615,\"updated\":1565307615,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1\",\"attributes\":{\"enabled\":true,\"created\":1565307615,\"updated\":1565307615,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783\",\"attributes\":{\"enabled\":true,\"created\":1561420381,\"updated\":1561420381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874\",\"attributes\":{\"enabled\":true,\"created\":1561420833,\"updated\":1561420833,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417\",\"attributes\":{\"enabled\":true,\"created\":1561420689,\"updated\":1561420689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699601597\",\"attributes\":{\"enabled\":true,\"created\":1560195758,\"updated\":1560195758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"kid\":\"https://keyvault_name.vault.azure.net/keys/secret156019574699608155\",\"attributes\":{\"enabled\":true,\"created\":1560195752,\"updated\":1560195752,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1736", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "24cd8dfa-33ae-4c4f-91dc-df36a3e2db96", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b226e192-fe02-49c4-a50f-e645282f3105", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b145af60-17f4-414c-b1c5-de93e78b3200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0\",\"deletedDate\":1565307620,\"scheduledPurgeDate\":1573083620,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/28b8785dd65546acb0ecf809f5d3e9c7\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"toVYR0a2rAIupXcKR29Em6mV_cuO_cZSvHFLsYCuGT9zMR1xyFpPZ9BZ8gJVQwb6ZArFbd_JVKEZl1oLFbWaGRzajFU40pX7jPjY9Ur6jAAv5Q6QYuNfaAOlO_YtCJks1_4KVLTeYaqebqRanVxgEiP5fcUOJixQXhC-p31hcRDCleYE2udkujz8cDDkjjQuZWm1KWo0Td5Ngyv_jVIS4rYh2gHqphv7atEXHF23YWljJVsA511eogvcYoVSyB_exPvKxPxytvK0-Wsl69qK4xQjW36yhwWo1uhpbukVp3BFUsa_1qON6xkv7_EV8GSNDTpWyU7y2MHrU9k4Qm17PQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307615,\"updated\":1565307615,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "893", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "95d7db5c-ed2c-4201-a019-b3bec3c20047", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "35c6b423-e415-40da-a268-3d53e9cdb300", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5eff16d7-b651-4776-9415-470e512e2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c0ee80e0-282f-4065-a124-ba5415e11557", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c2cf0a2a-66a3-45ed-9c4f-d9bd6fbb917f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ff56368e-87f6-4fdf-9848-87abd6585b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "038895f8-7117-4310-9143-1f896c60b574", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0f92335d-7037-435f-ad5e-82663efa352a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "89cbae7f-51f2-459e-91a1-c75d3b385300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1\",\"deletedDate\":1565307631,\"scheduledPurgeDate\":1573083631,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/dc19df86191a4e88917c5b2eeecb2b85\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"zeK_jiJUgiH1XCJiIJBWF1hXFG2qLd-R2YrztiGUhRwae7DfKSjy_CXXMQzuR30y9mSpqc_KUROKaJBqxVb_sz6qvB9F64l8NBLNmF8i3SX-rCxCen2p8G1XPjO846AAufSTVHAC7PgI25-x0e7vZ4xJEM1-o8zRrJqLNGbq9cS0PeqioLLIFx4W3xWJxorP8ajAAJ83G-cCMQ_2uPgRj9ZibauBAltNzZM-IGL2XKcoAAyhQrxEKu4qQCEwzngA-uh8_3NZ_gLnq3npLYEIgo6tw5BoLqv8pRpsdgdJRjjaMEcmeNGo9gcVF13qpYX4okRbpDYSIComnN85uMDeqQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307615,\"updated\":1565307615,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "893", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "13f2fa47-065b-41df-a2d4-9b1b4732eed6", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e177c35d-78e3-4a6a-a13c-0f665434df9e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:31 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "81c80503-4aa1-46cf-9da5-275916fd3b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:30 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a0a08cb0-cf5c-492e-9136-4ae532c85717", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:41 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9920413c-8672-4f79-81a1-a7d72fceba70", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "97a3fb33-221c-4c44-ac63-6b4c4ff73f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "4e5f8b2e-57b2-4306-8a48-df57944a9a40", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3e543e4c-c9d3-4670-85a6-ab8699a8bdde", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "88fde413-e2fe-444d-9f20-5e5070ca5500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/c2172e9446ef472aaaf2ec8ae82c193f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"mXueMReP1xZtxXeswY3-vWfNdZUCs5IMR7-HP0KtfPNSzhnnirp_obycMHToGwefToLc1Rd_Qkevu7HBCoCVrNbSSaF7Qix1qaPzdwxNfVV1co_cCUM0fU6-Uc0FOn8bYC5NQDNG-QQx3NdtMmJGccLjutMDgJWD_0DG69aTP3BsRJVfXJiG7vMs4tFjtMRopMHEp9T9p2NO42agYBO4kUiGqvo1YJ-DtsuZStjIMQnn6LHWgZEH4iZUE-P73SwYcc3bl5ZRC0nRppRgIyM6fyt7r2ItgkMy9bGz7NJTuj-6etABIOWGZnTwcrlcILtMauv5K8HSSe9N0VbmUkkMHQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "694", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3aebb01d-fb55-4992-93f8-5d11a1c49181", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "82fea95c-fe97-410a-b9ca-f1d4621b716d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "97a3fb33-221c-4c44-ac63-6b4c60f73f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/5730427ac4bd4020ab7da8f9308fac19\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wdJhtdcLX0uOkhwfYkqXjM80EZp51kui0zyEE3gz0V1WPAuFnEYN9jmZ3i0MCPh95L_jajHAHuexYRjXf7-gY38W4mwwxLIwLEeri1_UoqLyP2Y-eWg_RlDmyxjy6beeulg3lUpe4jnOKMqkX44eMFB9Tj-FY6CMPHDj19Y_YXnUfSKpt480NBY3q2LYthrlQZdHyQiUerpP90GH1qClHa4qTOkgTxejm4gWR9nMOFG--KhO4ntEp_F09BMomPW6PuF3gVzgZ14z3mYFt0BRCIRWRY7oOrxowkbk0rb72lqfFUYHOtGGIdHvKOLyGaF5cxyInsKvvDJsVJmDvjw_0w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "694", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "335ed2fc-d60d-4ff8-8666-c81158868ee8", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "77158d7d-b6ab-4d38-a2de-14b9c0e5c1a4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c34fe0a5-5399-48a4-85eb-6a221cc42a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0\",\"deletedDate\":1565307643,\"scheduledPurgeDate\":1573083643,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/c2172e9446ef472aaaf2ec8ae82c193f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"mXueMReP1xZtxXeswY3-vWfNdZUCs5IMR7-HP0KtfPNSzhnnirp_obycMHToGwefToLc1Rd_Qkevu7HBCoCVrNbSSaF7Qix1qaPzdwxNfVV1co_cCUM0fU6-Uc0FOn8bYC5NQDNG-QQx3NdtMmJGccLjutMDgJWD_0DG69aTP3BsRJVfXJiG7vMs4tFjtMRopMHEp9T9p2NO42agYBO4kUiGqvo1YJ-DtsuZStjIMQnn6LHWgZEH4iZUE-P73SwYcc3bl5ZRC0nRppRgIyM6fyt7r2ItgkMy9bGz7NJTuj-6etABIOWGZnTwcrlcILtMauv5K8HSSe9N0VbmUkkMHQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "863", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "fa9fd8d9-4d9d-4632-907c-8761b867c332", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5561ff38-1bb3-470d-8e79-443442fa931b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "25daf893-6852-43ee-b082-e58541ab5900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1\",\"deletedDate\":1565307643,\"scheduledPurgeDate\":1573083643,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/5730427ac4bd4020ab7da8f9308fac19\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wdJhtdcLX0uOkhwfYkqXjM80EZp51kui0zyEE3gz0V1WPAuFnEYN9jmZ3i0MCPh95L_jajHAHuexYRjXf7-gY38W4mwwxLIwLEeri1_UoqLyP2Y-eWg_RlDmyxjy6beeulg3lUpe4jnOKMqkX44eMFB9Tj-FY6CMPHDj19Y_YXnUfSKpt480NBY3q2LYthrlQZdHyQiUerpP90GH1qClHa4qTOkgTxejm4gWR9nMOFG--KhO4ntEp_F09BMomPW6PuF3gVzgZ14z3mYFt0BRCIRWRY7oOrxowkbk0rb72lqfFUYHOtGGIdHvKOLyGaF5cxyInsKvvDJsVJmDvjw_0w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "863", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ae7330ab-95a8-49d8-acb6-565f508a56f7", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6ae9d562-f266-44df-8a8a-99c17f281471", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b95313a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-listdeletedkeys--0\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "116", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "91a4cfde-c622-45f9-921e-c742854c7be5", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:53 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "64808e61-3da8-49a1-aa91-2c92c3faf3f3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:40:52 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d7eb2535-0c52-43a7-ae2a-e38915ee3700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-listdeletedkeys--0\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "116", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:40:53 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0d4770f1-8f87-4e9c-b2ba-e1c8bfd3d6dd", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a51dda7a-dab4-43f9-a879-a4117ac090f3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "767fb5ad-e2aa-45b8-b315-b154df062d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0\",\"deletedDate\":1565307643,\"scheduledPurgeDate\":1573083643,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/c2172e9446ef472aaaf2ec8ae82c193f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"mXueMReP1xZtxXeswY3-vWfNdZUCs5IMR7-HP0KtfPNSzhnnirp_obycMHToGwefToLc1Rd_Qkevu7HBCoCVrNbSSaF7Qix1qaPzdwxNfVV1co_cCUM0fU6-Uc0FOn8bYC5NQDNG-QQx3NdtMmJGccLjutMDgJWD_0DG69aTP3BsRJVfXJiG7vMs4tFjtMRopMHEp9T9p2NO42agYBO4kUiGqvo1YJ-DtsuZStjIMQnn6LHWgZEH4iZUE-P73SwYcc3bl5ZRC0nRppRgIyM6fyt7r2ItgkMy9bGz7NJTuj-6etABIOWGZnTwcrlcILtMauv5K8HSSe9N0VbmUkkMHQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "863", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d2e0b01b-37d9-4f1f-b280-eb54daa1f8d6", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f81f5147-2d59-4765-8a6b-a78804c6c679", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ebc87a43-dce6-481a-b374-c11ae0c56a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1\",\"deletedDate\":1565307643,\"scheduledPurgeDate\":1573083643,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/5730427ac4bd4020ab7da8f9308fac19\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wdJhtdcLX0uOkhwfYkqXjM80EZp51kui0zyEE3gz0V1WPAuFnEYN9jmZ3i0MCPh95L_jajHAHuexYRjXf7-gY38W4mwwxLIwLEeri1_UoqLyP2Y-eWg_RlDmyxjy6beeulg3lUpe4jnOKMqkX44eMFB9Tj-FY6CMPHDj19Y_YXnUfSKpt480NBY3q2LYthrlQZdHyQiUerpP90GH1qClHa4qTOkgTxejm4gWR9nMOFG--KhO4ntEp_F09BMomPW6PuF3gVzgZ14z3mYFt0BRCIRWRY7oOrxowkbk0rb72lqfFUYHOtGGIdHvKOLyGaF5cxyInsKvvDJsVJmDvjw_0w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "863", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "29ef2ce6-d8fd-42d7-ba73-4088d4fefd49", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5927f8a3-c842-433a-862d-fc78ef4b6c87", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "772e0bb2-9e99-4b0c-9b7f-43a63e8a5200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"deletedDate\":1561686237,\"scheduledPurgeDate\":1569462237,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686237,\"updated\":1561686237,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"deletedDate\":1561685852,\"scheduledPurgeDate\":1569461852,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685851,\"updated\":1561685851,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"deletedDate\":1561414117,\"scheduledPurgeDate\":1569190117,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"attributes\":{\"enabled\":true,\"created\":1561414117,\"updated\":1561414117,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"deletedDate\":1561413873,\"scheduledPurgeDate\":1569189873,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"attributes\":{\"enabled\":true,\"created\":1561413873,\"updated\":1561413873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"deletedDate\":1561685734,\"scheduledPurgeDate\":1569461734,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"attributes\":{\"enabled\":true,\"created\":1561685734,\"updated\":1561685734,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"deletedDate\":1561412406,\"scheduledPurgeDate\":1569188406,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"attributes\":{\"enabled\":true,\"created\":1561412406,\"updated\":1561412406,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"deletedDate\":1561414368,\"scheduledPurgeDate\":1569190368,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"attributes\":{\"enabled\":true,\"created\":1561414367,\"updated\":1561414367,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"deletedDate\":1561685633,\"scheduledPurgeDate\":1569461633,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685633,\"updated\":1561685633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"deletedDate\":1561685795,\"scheduledPurgeDate\":1569461795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"attributes\":{\"enabled\":true,\"created\":1561685795,\"updated\":1561685795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"deletedDate\":1561414027,\"scheduledPurgeDate\":1569190027,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"attributes\":{\"enabled\":true,\"created\":1561414027,\"updated\":1561414027,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"deletedDate\":1561414305,\"scheduledPurgeDate\":1569190305,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"attributes\":{\"enabled\":true,\"created\":1561414304,\"updated\":1561414304,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"deletedDate\":1561685687,\"scheduledPurgeDate\":1569461687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"attributes\":{\"enabled\":true,\"created\":1561685687,\"updated\":1561685687,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "5344", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "710ee996-d8f5-4ad9-8628-631c97d9b2d4", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "739c9176-a335-4b50-a68c-4ad29543215d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "01b05611-43b9-4aeb-8519-5bdb08bb2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"deletedDate\":1561686230,\"scheduledPurgeDate\":1569462230,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686229,\"updated\":1561686229,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"deletedDate\":1561412660,\"scheduledPurgeDate\":1569188660,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"attributes\":{\"enabled\":true,\"created\":1561412659,\"updated\":1561412659,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"deletedDate\":1561415149,\"scheduledPurgeDate\":1569191149,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"attributes\":{\"enabled\":true,\"created\":1561415147,\"updated\":1561415147,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"deletedDate\":1561414691,\"scheduledPurgeDate\":1569190691,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"attributes\":{\"enabled\":true,\"created\":1561414690,\"updated\":1561414690,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"deletedDate\":1561411064,\"scheduledPurgeDate\":1569187064,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"attributes\":{\"enabled\":true,\"created\":1561411063,\"updated\":1561411063,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"deletedDate\":1561415010,\"scheduledPurgeDate\":1569191010,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"attributes\":{\"enabled\":true,\"created\":1561415009,\"updated\":1561415009,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"deletedDate\":1561415277,\"scheduledPurgeDate\":1569191277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"attributes\":{\"enabled\":true,\"created\":1561415276,\"updated\":1561415276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"deletedDate\":1561685844,\"scheduledPurgeDate\":1569461844,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685844,\"updated\":1561685844,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"deletedDate\":1561414795,\"scheduledPurgeDate\":1569190795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"attributes\":{\"enabled\":true,\"created\":1561414794,\"updated\":1561414794,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"deletedDate\":1561413350,\"scheduledPurgeDate\":1569189350,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"attributes\":{\"enabled\":true,\"created\":1561413350,\"updated\":1561413350,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"deletedDate\":1561686240,\"scheduledPurgeDate\":1569462240,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561686240,\"updated\":1561686240,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"deletedDate\":1561685855,\"scheduledPurgeDate\":1569461855,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561685854,\"updated\":1561685854,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "5295", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d652907f-c975-4b18-94f7-80622d49d6de", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1ad74b7f-3549-4d30-b589-53bb6f8594a0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "88fde413-e2fe-444d-9f20-5e505acb5500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"deletedDate\":1561686239,\"scheduledPurgeDate\":1569462239,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561686238,\"updated\":1561686238,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"deletedDate\":1561685853,\"scheduledPurgeDate\":1569461853,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561685853,\"updated\":1561685853,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"deletedDate\":1561685637,\"scheduledPurgeDate\":1569461637,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685636,\"updated\":1561685636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"deletedDate\":1561686234,\"scheduledPurgeDate\":1569462234,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686234,\"updated\":1561686234,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"deletedDate\":1561685849,\"scheduledPurgeDate\":1569461849,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685848,\"updated\":1561685848,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"deletedDate\":1561685638,\"scheduledPurgeDate\":1569461638,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685637,\"updated\":1561685637,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"deletedDate\":1561686236,\"scheduledPurgeDate\":1569462236,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686235,\"updated\":1561686235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"deletedDate\":1561685850,\"scheduledPurgeDate\":1569461850,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685850,\"updated\":1561685850,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"deletedDate\":1561685635,\"scheduledPurgeDate\":1569461635,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685634,\"updated\":1561685634,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"deletedDate\":1561686231,\"scheduledPurgeDate\":1569462231,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686231,\"updated\":1561686231,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"deletedDate\":1562874910,\"scheduledPurgeDate\":1570650910,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"attributes\":{\"enabled\":true,\"created\":1562874910,\"updated\":1562874910,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"deletedDate\":1561685846,\"scheduledPurgeDate\":1569461846,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685845,\"updated\":1561685845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"deletedDate\":1561685636,\"scheduledPurgeDate\":1569461636,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685635,\"updated\":1561685635,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "5427", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f68385ef-e55e-4e65-b62a-ff67f9eb7f9e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "712b50a1-2a16-41e1-b519-011759b3e2a9", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e2973287-0ea5-49cf-9270-f141a06d2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"deletedDate\":1561686233,\"scheduledPurgeDate\":1569462233,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686232,\"updated\":1561686232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"deletedDate\":1561685847,\"scheduledPurgeDate\":1569461847,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685847,\"updated\":1561685847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115\",\"deletedDate\":1561686245,\"scheduledPurgeDate\":1569462245,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686245,\"updated\":1561686245,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891\",\"deletedDate\":1561685860,\"scheduledPurgeDate\":1569461860,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685860,\"updated\":1561685860,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"deletedDate\":1561685972,\"scheduledPurgeDate\":1569461972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"attributes\":{\"enabled\":true,\"created\":1561685972,\"updated\":1561685972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"deletedDate\":1561685900,\"scheduledPurgeDate\":1569461900,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"attributes\":{\"enabled\":true,\"created\":1561685900,\"updated\":1561685900,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"deletedDate\":1561416018,\"scheduledPurgeDate\":1569192018,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"attributes\":{\"enabled\":true,\"created\":1561416018,\"updated\":1561416018,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"deletedDate\":1561415954,\"scheduledPurgeDate\":1569191954,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"attributes\":{\"enabled\":true,\"created\":1561415953,\"updated\":1561415953,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"deletedDate\":1561686157,\"scheduledPurgeDate\":1569462157,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"attributes\":{\"enabled\":true,\"created\":1561686156,\"updated\":1561686156,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"deletedDate\":1561685866,\"scheduledPurgeDate\":1569461866,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685866,\"updated\":1561685866,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"deletedDate\":1561686136,\"scheduledPurgeDate\":1569462136,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"attributes\":{\"enabled\":true,\"created\":1561686135,\"updated\":1561686135,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"deletedDate\":1561686091,\"scheduledPurgeDate\":1569462091,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"attributes\":{\"enabled\":true,\"created\":1561686091,\"updated\":1561686091,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "4857", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bc781e7c-fb55-4014-8a4a-2027c2e2ff9b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "87b0bf6e-1775-4a90-a098-9638d12444e7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "eb831d5a-ee81-4af5-ba4b-9355e0fd2e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115\",\"deletedDate\":1561686248,\"scheduledPurgeDate\":1569462248,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686247,\"updated\":1561686247,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891\",\"deletedDate\":1561685863,\"scheduledPurgeDate\":1569461863,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685862,\"updated\":1561685862,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"deletedDate\":1561686250,\"scheduledPurgeDate\":1569462250,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686249,\"updated\":1561686249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"deletedDate\":1561685865,\"scheduledPurgeDate\":1569461865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685864,\"updated\":1561685864,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"deletedDate\":1561686244,\"scheduledPurgeDate\":1569462244,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561686243,\"updated\":1561686244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"deletedDate\":1561685859,\"scheduledPurgeDate\":1569461859,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561685858,\"updated\":1561685858,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115\",\"deletedDate\":1561686242,\"scheduledPurgeDate\":1569462242,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686241,\"updated\":1561686242,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891\",\"deletedDate\":1561685857,\"scheduledPurgeDate\":1569461857,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685856,\"updated\":1561685856,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test-key\",\"deletedDate\":1564437302,\"scheduledPurgeDate\":1572213302,\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test-key\",\"attributes\":{\"enabled\":true,\"created\":1564437301,\"updated\":1564437301,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CryptographyClientTestKey\",\"deletedDate\":1564415084,\"scheduledPurgeDate\":1572191084,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CryptographyClientTestKey\",\"attributes\":{\"enabled\":true,\"created\":1564415081,\"updated\":1564415081,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "4084", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0e852c40-e738-4037-9cfa-2ca495486032", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "57548c84-f428-42c7-93f4-8aa466a6027a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a62bbe82a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310\",\"deletedDate\":1560195770,\"scheduledPurgeDate\":1567971770,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567242501310\",\"attributes\":{\"enabled\":true,\"created\":1560195678,\"updated\":1560195678,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "609", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6d5fbf5a-d055-4fe6-bb9e-1918633b26b8", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3d64a9ce-e919-432d-99dd-126f31e76ce0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "382e15f5-81ea-4ee7-98c9-9407e5b12800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134\",\"deletedDate\":1560195724,\"scheduledPurgeDate\":1567971724,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019571294800134\",\"attributes\":{\"enabled\":true,\"created\":1560195718,\"updated\":1560195718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255\",\"deletedDate\":1560195904,\"scheduledPurgeDate\":1567971904,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019588703602255\",\"attributes\":{\"enabled\":false,\"created\":1560195892,\"updated\":1560195892,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155\",\"deletedDate\":1560196160,\"scheduledPurgeDate\":1567972160,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019614908508155\",\"attributes\":{\"enabled\":true,\"nbf\":1560196154,\"created\":1560196155,\"updated\":1560196155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618\",\"deletedDate\":1560196278,\"scheduledPurgeDate\":1567972278,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019626145109618\",\"attributes\":{\"enabled\":true,\"nbf\":1560196266,\"created\":1560196267,\"updated\":1560196267,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535\",\"deletedDate\":1560196443,\"scheduledPurgeDate\":1567972443,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019643192308535\",\"attributes\":{\"enabled\":true,\"nbf\":1560196436,\"created\":1560196437,\"updated\":1560196437,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673\",\"deletedDate\":1560196776,\"scheduledPurgeDate\":1567972776,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019676499600673\",\"attributes\":{\"enabled\":true,\"nbf\":1560196769,\"created\":1560196770,\"updated\":1560196770,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785\",\"deletedDate\":1560196798,\"scheduledPurgeDate\":1567972798,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019678704709785\",\"attributes\":{\"enabled\":true,\"nbf\":1560196792,\"created\":1560196792,\"updated\":1560196792,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936\",\"deletedDate\":1560196842,\"scheduledPurgeDate\":1567972842,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019683131108936\",\"attributes\":{\"enabled\":true,\"nbf\":1560196836,\"created\":1560196836,\"updated\":1560196836,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648\",\"deletedDate\":1560196888,\"scheduledPurgeDate\":1567972888,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019687132907648\",\"attributes\":{\"enabled\":true,\"nbf\":1560196876,\"created\":1560196876,\"updated\":1560196876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764\",\"deletedDate\":1560199758,\"scheduledPurgeDate\":1567975758,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019964932000764\",\"attributes\":{\"enabled\":true,\"created\":1560199655,\"updated\":1560199655,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3732", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "02ae83c9-43d5-4927-a723-682fcce2e18d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1da4b38a-2cca-4155-a372-83493a84b87a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "aab7b631-c963-4ded-b58a-41f834e42900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499\",\"deletedDate\":1560199695,\"scheduledPurgeDate\":1567975695,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019968394501499\",\"attributes\":{\"enabled\":true,\"created\":1560199689,\"updated\":1560199689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548\",\"deletedDate\":1560200123,\"scheduledPurgeDate\":1567976123,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020010748409548\",\"attributes\":{\"enabled\":true,\"nbf\":1560200112,\"created\":1560200113,\"updated\":1560200113,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975\",\"deletedDate\":1560200982,\"scheduledPurgeDate\":1567976982,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020097075304975\",\"attributes\":{\"enabled\":true,\"exp\":1560200975,\"created\":1560200976,\"updated\":1560200976,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630\",\"deletedDate\":1560205908,\"scheduledPurgeDate\":1567981908,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020589654200630\",\"attributes\":{\"enabled\":true,\"created\":1560205902,\"updated\":1560205902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019\",\"deletedDate\":1560206019,\"scheduledPurgeDate\":1567982019,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020600810901019\",\"attributes\":{\"enabled\":true,\"created\":1560206013,\"updated\":1560206013,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1951", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e0069957-5abf-4eb7-a6c8-c9315f089111", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a37b3f4b-74f2-43ee-a61f-27dcdf79f635", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "75705e30-9f4d-417c-9eb2-d28a74aa2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969\",\"deletedDate\":1560206579,\"scheduledPurgeDate\":1567982579,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020656741105969\",\"attributes\":{\"enabled\":true,\"created\":1560206573,\"updated\":1560206573,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557\",\"deletedDate\":1560212037,\"scheduledPurgeDate\":1567988037,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021202578402557\",\"attributes\":{\"enabled\":true,\"created\":1560212031,\"updated\":1560212031,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500\",\"deletedDate\":1560212139,\"scheduledPurgeDate\":1567988139,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021212284606500\",\"attributes\":{\"enabled\":true,\"created\":1560212128,\"updated\":1560212128,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930\",\"deletedDate\":1560212302,\"scheduledPurgeDate\":1567988302,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021228525302930\",\"attributes\":{\"enabled\":true,\"created\":1560212290,\"updated\":1560212290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638\",\"deletedDate\":1560212547,\"scheduledPurgeDate\":1567988547,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021252900505638\",\"attributes\":{\"enabled\":true,\"created\":1560212534,\"updated\":1560212534,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011\",\"deletedDate\":1560212608,\"scheduledPurgeDate\":1567988608,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021259169107011\",\"attributes\":{\"enabled\":true,\"created\":1560212597,\"updated\":1560212597,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420\",\"deletedDate\":1560212772,\"scheduledPurgeDate\":1567988772,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021275535604420\",\"attributes\":{\"enabled\":true,\"created\":1560212760,\"updated\":1560212760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898\",\"deletedDate\":1560213205,\"scheduledPurgeDate\":1567989205,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021319425603898\",\"attributes\":{\"enabled\":true,\"created\":1560213200,\"updated\":1560213200,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680\",\"deletedDate\":1560213698,\"scheduledPurgeDate\":1567989698,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021368188700680\",\"attributes\":{\"enabled\":true,\"created\":1560213687,\"updated\":1560213687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638\",\"deletedDate\":1560213837,\"scheduledPurgeDate\":1567989837,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021382077504638\",\"attributes\":{\"enabled\":false,\"created\":1560213826,\"updated\":1560213832,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430\",\"deletedDate\":1560214070,\"scheduledPurgeDate\":1567990070,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021397882409430\",\"attributes\":{\"enabled\":true,\"created\":1560213984,\"updated\":1560213984,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3940", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b93ff889-1f05-4450-af9d-f12815032f60", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a93482e4-95ca-4090-af60-f1732bc46d69", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "29fb2250-ee8e-423e-baf1-67f769eb2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613\",\"deletedDate\":1560214059,\"scheduledPurgeDate\":1567990059,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021404805303613\",\"attributes\":{\"enabled\":true,\"created\":1560214053,\"updated\":1560214053,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298\",\"deletedDate\":1560214455,\"scheduledPurgeDate\":1567990455,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021443658305298\",\"attributes\":{\"enabled\":false,\"created\":1560214442,\"updated\":1560214449,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127\",\"deletedDate\":1560214715,\"scheduledPurgeDate\":1567990715,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021469847200127\",\"attributes\":{\"enabled\":false,\"exp\":1560214704,\"created\":1560214704,\"updated\":1560214709,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037\",\"deletedDate\":1560215026,\"scheduledPurgeDate\":1567991026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021500992805037\",\"attributes\":{\"enabled\":false,\"exp\":1560215015,\"created\":1560215015,\"updated\":1560215021,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421\",\"deletedDate\":1560215105,\"scheduledPurgeDate\":1567991105,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021508931202421\",\"attributes\":{\"enabled\":false,\"exp\":1560215095,\"created\":1560215094,\"updated\":1560215100,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1972", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "84dd88cf-e04e-499d-a09b-50a90462358b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "38189153-9ff9-412a-9d87-1750a8c8399e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "eb831d5a-ee81-4af5-ba4b-93551efe2e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287\",\"deletedDate\":1560215290,\"scheduledPurgeDate\":1567991290,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021527355207287\",\"attributes\":{\"enabled\":false,\"exp\":1560215279,\"created\":1560215279,\"updated\":1560215284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132\",\"deletedDate\":1560215746,\"scheduledPurgeDate\":1567991746,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021572903002132\",\"attributes\":{\"enabled\":false,\"exp\":1560215734,\"created\":1560215734,\"updated\":1560215740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237\",\"deletedDate\":1560216615,\"scheduledPurgeDate\":1567992615,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021643840901237\",\"attributes\":{\"enabled\":true,\"created\":1560216444,\"updated\":1560216444,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471\",\"deletedDate\":1560216518,\"scheduledPurgeDate\":1567992518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021650717904471\",\"attributes\":{\"enabled\":true,\"created\":1560216512,\"updated\":1560216512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1686", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "983491bc-6583-442a-a940-04a2ec4910ad", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4278aeda-5997-461d-8163-2d7e5e4b038f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "62833b5a-8cab-47be-b39a-cfe125f52900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478\",\"deletedDate\":1560217550,\"scheduledPurgeDate\":1567993550,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021753923506478\",\"attributes\":{\"enabled\":true,\"created\":1560217545,\"updated\":1560217545,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221\",\"deletedDate\":1560217733,\"scheduledPurgeDate\":1567993733,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021772195104221\",\"attributes\":{\"enabled\":true,\"created\":1560217727,\"updated\":1560217727,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976\",\"deletedDate\":1560263766,\"scheduledPurgeDate\":1568039766,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026375447403976\",\"attributes\":{\"enabled\":true,\"created\":1560263760,\"updated\":1560263760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170\",\"deletedDate\":1560264308,\"scheduledPurgeDate\":1568040308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026429107509170\",\"attributes\":{\"enabled\":true,\"created\":1560264296,\"updated\":1560264296,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617\",\"deletedDate\":1560267823,\"scheduledPurgeDate\":1568043823,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026780583504617\",\"attributes\":{\"enabled\":true,\"created\":1560267811,\"updated\":1560267811,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786\",\"deletedDate\":1560269396,\"scheduledPurgeDate\":1568045396,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026937854708786\",\"attributes\":{\"enabled\":true,\"created\":1560269384,\"updated\":1560269384,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087\",\"deletedDate\":1560272836,\"scheduledPurgeDate\":1568048836,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027282511708087\",\"attributes\":{\"enabled\":true,\"created\":1560272831,\"updated\":1560272831,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813\",\"deletedDate\":1560274422,\"scheduledPurgeDate\":1568050422,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027441059203813\",\"attributes\":{\"enabled\":true,\"created\":1560274416,\"updated\":1560274416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2898", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cce64d64-a0cd-493c-8daa-fd79808aa688", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f2766c67-b10b-4b15-944f-7f789183b403", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8e47f7c9-f985-4191-b8b6-8b0c17c45500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383\",\"deletedDate\":1560276204,\"scheduledPurgeDate\":1568052204,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027619257505383\",\"attributes\":{\"enabled\":true,\"created\":1560276198,\"updated\":1560276198,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526\",\"deletedDate\":1560276552,\"scheduledPurgeDate\":1568052552,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027654046904526\",\"attributes\":{\"enabled\":true,\"created\":1560276546,\"updated\":1560276546,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953\",\"deletedDate\":1560276707,\"scheduledPurgeDate\":1568052707,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027669556403953\",\"attributes\":{\"enabled\":true,\"created\":1560276701,\"updated\":1560276701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591\",\"deletedDate\":1560276984,\"scheduledPurgeDate\":1568052984,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027692061805591\",\"attributes\":{\"enabled\":true,\"created\":1560276926,\"updated\":1560276926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123\",\"deletedDate\":1560278769,\"scheduledPurgeDate\":1568054769,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027875260704123\",\"attributes\":{\"enabled\":true,\"created\":1560278758,\"updated\":1560278758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301\",\"deletedDate\":1560280458,\"scheduledPurgeDate\":1568056458,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028044085404301\",\"attributes\":{\"enabled\":true,\"created\":1560280446,\"updated\":1560280446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799\",\"deletedDate\":1560282270,\"scheduledPurgeDate\":1568058270,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028174986105799\",\"attributes\":{\"enabled\":true,\"created\":1560281755,\"updated\":1560281755,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2631", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6016a484-315f-4058-8351-aab9a3dc7760", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "59801b9f-e0ec-4a46-b280-9e412dda327a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e459e887-7e0f-45e1-bb37-7fbd69545400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726\",\"deletedDate\":1560281817,\"scheduledPurgeDate\":1568057817,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028180668003726\",\"attributes\":{\"enabled\":true,\"created\":1560281812,\"updated\":1560281812,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865\",\"deletedDate\":1560281862,\"scheduledPurgeDate\":1568057862,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028185168006865\",\"attributes\":{\"enabled\":true,\"created\":1560281857,\"updated\":1560281857,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070\",\"deletedDate\":1560363783,\"scheduledPurgeDate\":1568139783,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036321495001070\",\"attributes\":{\"enabled\":true,\"created\":1560363220,\"updated\":1560363220,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1263", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d31be26f-4a78-48a9-8c8a-193917c7e4e5", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d460c849-1c06-437f-81e3-1f6c489871d8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "feaf8c77-4706-43d8-9f7d-16ec9d105700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673\",\"deletedDate\":1560363271,\"scheduledPurgeDate\":1568139271,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036326049603673\",\"attributes\":{\"enabled\":true,\"created\":1560363266,\"updated\":1560363266,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742\",\"deletedDate\":1560439782,\"scheduledPurgeDate\":1568215782,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156043977101909742\",\"attributes\":{\"enabled\":true,\"created\":1560439776,\"updated\":1560439776,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132\",\"deletedDate\":1560444138,\"scheduledPurgeDate\":1568220138,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301303900132\",\"attributes\":{\"enabled\":true,\"exp\":1560443018,\"created\":1560443018,\"updated\":1560443018,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1340", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "337040c9-2b57-4778-aaee-5a2d1357f9d8", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "33faecf5-f8d5-4d27-8cf6-13ef427fb0d1", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a05e3174-6a90-4f2e-8601-6ad65a783c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401\",\"deletedDate\":1560443052,\"scheduledPurgeDate\":1568219052,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044304097508401\",\"attributes\":{\"enabled\":true,\"created\":1560443046,\"updated\":1560443046,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703\",\"deletedDate\":1560480365,\"scheduledPurgeDate\":1568256365,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048034950305703\",\"attributes\":{\"enabled\":true,\"created\":1560480356,\"updated\":1560480356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "936", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4cc79345-3e8f-42d7-af26-3776cc940373", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "799dc278-dcf0-4059-bcdd-b7ae71189944", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "89cbae7f-51f2-459e-91a1-c75d3b3c5300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317\",\"deletedDate\":1560199870,\"scheduledPurgeDate\":1567975870,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111602317\",\"attributes\":{\"enabled\":true,\"created\":1560199847,\"updated\":1560199847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787\",\"deletedDate\":1560199876,\"scheduledPurgeDate\":1567975876,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111709787\",\"attributes\":{\"enabled\":true,\"created\":1560199852,\"updated\":1560199852,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556\",\"deletedDate\":1560200016,\"scheduledPurgeDate\":1567976016,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725306556\",\"attributes\":{\"enabled\":true,\"created\":1560199993,\"updated\":1560199993,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881\",\"deletedDate\":1560200022,\"scheduledPurgeDate\":1567976022,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725308881\",\"attributes\":{\"enabled\":true,\"created\":1560199998,\"updated\":1560199998,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1663", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8934151a-a524-42f9-910d-64370b6fbd94", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "96408106-a666-44fa-bb9c-3057ee022997", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1372da44-6e01-496b-87e0-13e6753c2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349\",\"deletedDate\":1560439913,\"scheduledPurgeDate\":1568215913,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692705349\",\"attributes\":{\"enabled\":true,\"created\":1560439902,\"updated\":1560439902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134\",\"deletedDate\":1560439919,\"scheduledPurgeDate\":1568215919,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692806134\",\"attributes\":{\"enabled\":true,\"created\":1560439908,\"updated\":1560439908,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"deletedDate\":1561686288,\"scheduledPurgeDate\":1569462288,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686279,\"updated\":1561686279,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"deletedDate\":1561686289,\"scheduledPurgeDate\":1569462289,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686280,\"updated\":1561686280,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"deletedDate\":1561686297,\"scheduledPurgeDate\":1569462297,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"deletedDate\":1561686298,\"scheduledPurgeDate\":1569462298,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2608", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "83eb6692-70d2-4917-ade7-827b80339803", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e80bd189-0c75-40d6-9cd6-8df187a1a204", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e9b9037c-d49b-4938-a860-430e59ca2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592\",\"deletedDate\":1561686276,\"scheduledPurgeDate\":1569462276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686275,\"updated\":1561686275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087\",\"deletedDate\":1561685869,\"scheduledPurgeDate\":1569461869,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685868,\"updated\":1561685868,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"deletedDate\":1561686277,\"scheduledPurgeDate\":1569462277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686277,\"updated\":1561686277,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"deletedDate\":1561685871,\"scheduledPurgeDate\":1569461871,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685870,\"updated\":1561685870,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0\",\"deletedDate\":1561418276,\"scheduledPurgeDate\":1569194276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561418275,\"updated\":1561418275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1\",\"deletedDate\":1561418277,\"scheduledPurgeDate\":1569194277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561418276,\"updated\":1561418276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"deletedDate\":1561419307,\"scheduledPurgeDate\":1569195307,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561419306,\"updated\":1561419306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"deletedDate\":1561419308,\"scheduledPurgeDate\":1569195308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561419307,\"updated\":1561419307,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3504", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "059f38f8-fa3f-44bd-8410-149e720ce1ea", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "dd8b60d8-f8cb-414a-b528-7ec9437e1880", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "89cbae7f-51f2-459e-91a1-c75d5a3c5300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"deletedDate\":1563396687,\"scheduledPurgeDate\":1571172687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"attributes\":{\"enabled\":true,\"created\":1563396687,\"updated\":1563396687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"deletedDate\":1563396700,\"scheduledPurgeDate\":1571172700,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"attributes\":{\"enabled\":true,\"created\":1563396700,\"updated\":1563396700,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"deletedDate\":1563492865,\"scheduledPurgeDate\":1571268865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1563492865,\"updated\":1563492865,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"deletedDate\":1563492026,\"scheduledPurgeDate\":1571268026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-9863940778048328\",\"deletedDate\":1564680048,\"scheduledPurgeDate\":1572456048,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-9863940778048328\",\"attributes\":{\"enabled\":true,\"created\":1564680048,\"updated\":1564680048,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"deletedDate\":1563492929,\"scheduledPurgeDate\":1571268929,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492929,\"updated\":1563492929,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-33204686425846486\",\"deletedDate\":1565122016,\"scheduledPurgeDate\":1572898016,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-33204686425846486\",\"attributes\":{\"enabled\":true,\"created\":1565122016,\"updated\":1565122016,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"deletedDate\":1561687104,\"scheduledPurgeDate\":1569463104,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687103,\"updated\":1561687103,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"deletedDate\":1561686972,\"scheduledPurgeDate\":1569462972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686972,\"updated\":1561686972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"deletedDate\":1561686397,\"scheduledPurgeDate\":1569462397,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686396,\"updated\":1561686396,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "4321", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e14119f5-a9cd-4bb7-9ad7-85cb0dff4286", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "342ce5f6-8a81-4cda-9c9e-9e2abc2d8df5", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "01b05611-43b9-4aeb-8519-5bdbc9bb2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"deletedDate\":1563476819,\"scheduledPurgeDate\":1571252819,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"deletedDate\":1561687101,\"scheduledPurgeDate\":1569463101,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687068,\"updated\":1561687068,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"deletedDate\":1561686970,\"scheduledPurgeDate\":1569462970,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686926,\"updated\":1561686926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"deletedDate\":1561686395,\"scheduledPurgeDate\":1569462395,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686361,\"updated\":1561686361,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"deletedDate\":1561723518,\"scheduledPurgeDate\":1569499518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"attributes\":{\"enabled\":true,\"created\":1561723517,\"updated\":1561723517,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"deletedDate\":1561723606,\"scheduledPurgeDate\":1569499606,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"attributes\":{\"enabled\":true,\"created\":1561723605,\"updated\":1561723605,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"deletedDate\":1561687106,\"scheduledPurgeDate\":1569463106,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687105,\"updated\":1561687105,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"deletedDate\":1561723459,\"scheduledPurgeDate\":1569499459,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"attributes\":{\"enabled\":true,\"created\":1561723458,\"updated\":1561723458,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"deletedDate\":1561723721,\"scheduledPurgeDate\":1569499721,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"attributes\":{\"enabled\":true,\"created\":1561723720,\"updated\":1561723720,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "4051", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "19ef7611-62da-4faf-b2a9-b966342c371c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e8082917-355e-4674-b349-eb061175981d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:12 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "32d27382-e57c-4852-9933-1e01ad3d2d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"deletedDate\":1561686975,\"scheduledPurgeDate\":1569462975,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686974,\"updated\":1561686974,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"deletedDate\":1561723348,\"scheduledPurgeDate\":1569499348,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"attributes\":{\"enabled\":true,\"created\":1561723347,\"updated\":1561723347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"deletedDate\":1561686400,\"scheduledPurgeDate\":1569462400,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686399,\"updated\":1561686399,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"deletedDate\":1561723310,\"scheduledPurgeDate\":1569499310,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"attributes\":{\"enabled\":true,\"created\":1561723309,\"updated\":1561723309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0\",\"deletedDate\":1565307643,\"scheduledPurgeDate\":1573083643,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0\",\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1\",\"deletedDate\":1565307643,\"scheduledPurgeDate\":1573083643,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1\",\"attributes\":{\"enabled\":true,\"created\":1565307642,\"updated\":1565307642,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3183", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c9f736fb-31d1-4462-8f4c-4f3589342cab", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "edd0922d-dd86-45ce-8259-41b5abe188cf", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:12 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7072046c-51e5-4587-b237-bf0fa5525a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "7b39064a-c20c-4422-ba06-88f3592520e6", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:41:12 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:12 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b4e561d6-acd9-4010-9b71-9efd688dc4fe", + "x-ms-request-id": "52ccf8f9-1245-47aa-8a97-505427854f1d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:12 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b3d353a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1", "query": { "api-version": "7.0" }, @@ -1471,327 +6605,717 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "fb2c1db7-66db-465c-b157-8ca1bd18b13a", + "x-ms-request-id": "6bc742a2-d893-47ca-b936-13c9be6ba869", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:41:37 GMT", + "date": "Thu, 08 Aug 2019 23:41:12 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:12 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "86418740-1c74-484d-85ae-bef127114c5a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a05e3174-6a90-4f2e-8601-6ad6e5783c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/create", "query": { "api-version": "7.0" }, "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/432c5385de0c4fe883bf0569dc8e2403\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0R_1VVIhi-rmixHI69ZISGk26NmvSyFjoEN7_wciJTGM60vkZ3YVboqKG8bHv0MoPtrh0BpO931EXg6UGXgC6-_1B3ozXkNQzV4tX6KYTt5245UZEDX0bUnSJNJ-GWxfOGXCqhJ3klZ4BvfNUXkj4YquwZry-m-KW29afWipZXHg_apd_Qgv3e8ArI-cg7dsl3UQELNzKve7ZPYKI6kxZGHcP-lRROdgPlzDjYpvnqUmBVfWobrbUryyUZaIe3O30oTKPPb_MpWwkrPAmDF36PSQrasbe7u-SKLUqzoR2jpqBK6L1qLoXxe2D9yBF01hbeJ2AgESmtoK_jaBgORPFw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493298,\"updated\":1563493298,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/5fdcbf3f6b5447b99367aec4defa3760\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"3G4_YlmxBgGhEaO01s09dCYm9Wp6B_jGhqOb2UqweWPTx3SbNgsyRtDkhhdTkrZMyY_0O2HLjnMSD3txKDVzLKoo77ABMZDHinrIW68G7bk9HSETqGjn2-foe8Me2Nt3G6tqm8GIdqhGFFmwhyOq5ejOG5DnTy9qJBWBQmTKavc0iqqfXa73WDMP0mRFy_7WuwE6JyRJpy5_bNDjPSxUZiVkMYt0EXgQzAO8G9p0T5PSW-rznBkOQzpBR59SJoag0GPo6COHLJ44dlYjVwYgc8q4ek3I3LQLR6N2sYBnix8RYTFvkUITyp1BlLbzKMhH-Y-9ef5tzWqNk6tv10tD1w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307673,\"updated\":1565307673,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "695", + "content-length": "699", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:37 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "aba143d4-6c87-486d-b481-fc7922224922", + "x-ms-request-id": "66975763-bd4f-4ddc-8f57-11e163296321", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/create", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "aefdcfd5-10c8-4371-b80e-edf114a24516", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "772e0bb2-9e99-4b0c-9b7f-43a63b8b5200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/create", "query": { "api-version": "7.0" }, "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/e19977f1652d423b893e244d33b1e8aa\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"mwocQnPHqPg1zrCZbRMRrHDjFTBgVyBafQ6y_2LXrdnPQdmsQ1wD1DVur8jTw2u1kHmRlgHmAgNIjHl3vCVU2OhCkW59YursBtEIgvLf0B6jazoDoyA-VpyP9baI3Kxrw5mg7cKQGt1VOzm1za8wZ50A9uYiDEhf7aRhs2Ms8ewBqtI1p-eOQGbx72TGwVae9JEuMw3qBS3lQmtoh44Lw-K2vztvFWjnfON0Rrj6cMY1CFHEaNZL6yXeKhuXOdENqkcEV_gkn5P2n9YfcUIsnwg696pQQ35dGxr3LISUF-Ex7baA12NEypcm9bWZj4qd7zAK9GKEr8pSdDQY43_SDQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493298,\"updated\":1563493298,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/2aee6ddeb895448e8407d3f493490997\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0QNRWHKDyvk3T0rSdfO4eblMdd5K388CFn5UejK9FGcwCVR5M2MputgpZN4-Ol41NYr6j3AYeCAJEwhrfdrbqRD5WscghBwnGA8Ye-UxigNTpSu-DkZVgxdDcwGHfTlDzDY5scwfXBjFWt33ohMpceO2eZ-kU_LpeqDQfYTXamK6tFCECpCZcld_XtlRF-zetvB77qOLyrzIdOcAT9GL0UGof0LwfXEm8pbp7pXoQqXb3UO5z9wlYNB1u-R6p7uVH7LJJudXalGCqSmYbh7xxbJCSQ3bSo3eZcAIBj-xRxO7uRL8JwajejudOKZGEjCj-qxFtLPCz7W6CLyL95Iy8Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307674,\"updated\":1565307674,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "695", + "content-length": "699", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5e7ca9d1-cc93-4539-ba93-a17db14b8ab3", + "x-ms-request-id": "d0cb0755-9eeb-4c91-849b-eecf162c87de", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "498f000e-da96-495e-b97b-a477a371fe77", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b69353a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0\",\"deletedDate\":1565307674,\"scheduledPurgeDate\":1573083674,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/5fdcbf3f6b5447b99367aec4defa3760\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"3G4_YlmxBgGhEaO01s09dCYm9Wp6B_jGhqOb2UqweWPTx3SbNgsyRtDkhhdTkrZMyY_0O2HLjnMSD3txKDVzLKoo77ABMZDHinrIW68G7bk9HSETqGjn2-foe8Me2Nt3G6tqm8GIdqhGFFmwhyOq5ejOG5DnTy9qJBWBQmTKavc0iqqfXa73WDMP0mRFy_7WuwE6JyRJpy5_bNDjPSxUZiVkMYt0EXgQzAO8G9p0T5PSW-rznBkOQzpBR59SJoag0GPo6COHLJ44dlYjVwYgc8q4ek3I3LQLR6N2sYBnix8RYTFvkUITyp1BlLbzKMhH-Y-9ef5tzWqNk6tv10tD1w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307673,\"updated\":1565307673,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "873", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "dc25fd5e-ece2-4225-9a59-a5faa4d6c6cf", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "db626d69-6efe-4e57-b7d9-682901a8a56b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "aab7b631-c963-4ded-b58a-41f8f1e42900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0\",\"deletedDate\":1563493298,\"scheduledPurgeDate\":1571269298,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/432c5385de0c4fe883bf0569dc8e2403\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0R_1VVIhi-rmixHI69ZISGk26NmvSyFjoEN7_wciJTGM60vkZ3YVboqKG8bHv0MoPtrh0BpO931EXg6UGXgC6-_1B3ozXkNQzV4tX6KYTt5245UZEDX0bUnSJNJ-GWxfOGXCqhJ3klZ4BvfNUXkj4YquwZry-m-KW29afWipZXHg_apd_Qgv3e8ArI-cg7dsl3UQELNzKve7ZPYKI6kxZGHcP-lRROdgPlzDjYpvnqUmBVfWobrbUryyUZaIe3O30oTKPPb_MpWwkrPAmDF36PSQrasbe7u-SKLUqzoR2jpqBK6L1qLoXxe2D9yBF01hbeJ2AgESmtoK_jaBgORPFw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493298,\"updated\":1563493298,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1\",\"deletedDate\":1565307674,\"scheduledPurgeDate\":1573083674,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/2aee6ddeb895448e8407d3f493490997\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0QNRWHKDyvk3T0rSdfO4eblMdd5K388CFn5UejK9FGcwCVR5M2MputgpZN4-Ol41NYr6j3AYeCAJEwhrfdrbqRD5WscghBwnGA8Ye-UxigNTpSu-DkZVgxdDcwGHfTlDzDY5scwfXBjFWt33ohMpceO2eZ-kU_LpeqDQfYTXamK6tFCECpCZcld_XtlRF-zetvB77qOLyrzIdOcAT9GL0UGof0LwfXEm8pbp7pXoQqXb3UO5z9wlYNB1u-R6p7uVH7LJJudXalGCqSmYbh7xxbJCSQ3bSo3eZcAIBj-xRxO7uRL8JwajejudOKZGEjCj-qxFtLPCz7W6CLyL95Iy8Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307674,\"updated\":1565307674,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "873", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "19f9eafb-3305-476a-879a-75a445956945", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "347d7fbb-34fe-4092-9fb2-2c851f40ea34", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e2973287-0ea5-49cf-9270-f141b16e2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-listdeletedkeyspaged--0\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "865", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "eee29f4c-5929-4fda-bf6d-6785ae4d09a5", + "x-ms-request-id": "f86edf7b-da75-4b72-9321-9b07dd02bf87", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1\",\"deletedDate\":1563493298,\"scheduledPurgeDate\":1571269298,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/e19977f1652d423b893e244d33b1e8aa\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"mwocQnPHqPg1zrCZbRMRrHDjFTBgVyBafQ6y_2LXrdnPQdmsQ1wD1DVur8jTw2u1kHmRlgHmAgNIjHl3vCVU2OhCkW59YursBtEIgvLf0B6jazoDoyA-VpyP9baI3Kxrw5mg7cKQGt1VOzm1za8wZ50A9uYiDEhf7aRhs2Ms8ewBqtI1p-eOQGbx72TGwVae9JEuMw3qBS3lQmtoh44Lw-K2vztvFWjnfON0Rrj6cMY1CFHEaNZL6yXeKhuXOdENqkcEV_gkn5P2n9YfcUIsnwg696pQQ35dGxr3LISUF-Ex7baA12NEypcm9bWZj4qd7zAK9GKEr8pSdDQY43_SDQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493298,\"updated\":1563493298,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "865", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1dcd45c7-09b8-4dd3-aeb6-b15b02b7e956", + "x-ms-request-id": "9ac4fb96-39d9-4796-a5df-fd46e9adf998", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:24 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cc96646f-5ca5-4eed-a704-5433c68c3b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", "query": { "api-version": "7.0" }, "requestBody": null, "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-listdeletedkeys--0\"}}", + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-listdeletedkeyspaged--0\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "117", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5e7acfc1-4863-4d1e-8c21-f744fe432875", + "x-ms-request-id": "35274f2d-914b-4d2f-82c3-81aa2695b1c0", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0\",\"deletedDate\":1563493298,\"scheduledPurgeDate\":1571269298,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/432c5385de0c4fe883bf0569dc8e2403\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0R_1VVIhi-rmixHI69ZISGk26NmvSyFjoEN7_wciJTGM60vkZ3YVboqKG8bHv0MoPtrh0BpO931EXg6UGXgC6-_1B3ozXkNQzV4tX6KYTt5245UZEDX0bUnSJNJ-GWxfOGXCqhJ3klZ4BvfNUXkj4YquwZry-m-KW29afWipZXHg_apd_Qgv3e8ArI-cg7dsl3UQELNzKve7ZPYKI6kxZGHcP-lRROdgPlzDjYpvnqUmBVfWobrbUryyUZaIe3O30oTKPPb_MpWwkrPAmDF36PSQrasbe7u-SKLUqzoR2jpqBK6L1qLoXxe2D9yBF01hbeJ2AgESmtoK_jaBgORPFw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493298,\"updated\":1563493298,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "865", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:48 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f07c8670-86d0-4566-a4b6-3f5c207f5a08", + "x-ms-request-id": "58bd0370-dbe5-486d-9e74-6eedb663974d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "fa60bbe5-40f3-4b7a-bc24-b8ca5a6f5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedkeys", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"deletedDate\":1561686237,\"scheduledPurgeDate\":1569462237,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686237,\"updated\":1561686237,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"deletedDate\":1561685852,\"scheduledPurgeDate\":1569461852,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685851,\"updated\":1561685851,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"deletedDate\":1561414117,\"scheduledPurgeDate\":1569190117,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"attributes\":{\"enabled\":true,\"created\":1561414117,\"updated\":1561414117,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"deletedDate\":1561413873,\"scheduledPurgeDate\":1569189873,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"attributes\":{\"enabled\":true,\"created\":1561413873,\"updated\":1561413873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"deletedDate\":1561685734,\"scheduledPurgeDate\":1569461734,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"attributes\":{\"enabled\":true,\"created\":1561685734,\"updated\":1561685734,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"deletedDate\":1561412406,\"scheduledPurgeDate\":1569188406,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"attributes\":{\"enabled\":true,\"created\":1561412406,\"updated\":1561412406,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"deletedDate\":1561414368,\"scheduledPurgeDate\":1569190368,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"attributes\":{\"enabled\":true,\"created\":1561414367,\"updated\":1561414367,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"deletedDate\":1561685633,\"scheduledPurgeDate\":1569461633,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685633,\"updated\":1561685633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"deletedDate\":1561685795,\"scheduledPurgeDate\":1569461795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"attributes\":{\"enabled\":true,\"created\":1561685795,\"updated\":1561685795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"deletedDate\":1561414027,\"scheduledPurgeDate\":1569190027,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"attributes\":{\"enabled\":true,\"created\":1561414027,\"updated\":1561414027,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"deletedDate\":1561414305,\"scheduledPurgeDate\":1569190305,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"attributes\":{\"enabled\":true,\"created\":1561414304,\"updated\":1561414304,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"deletedDate\":1561685687,\"scheduledPurgeDate\":1569461687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"attributes\":{\"enabled\":true,\"created\":1561685687,\"updated\":1561685687,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0\",\"deletedDate\":1565307674,\"scheduledPurgeDate\":1573083674,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/5fdcbf3f6b5447b99367aec4defa3760\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"3G4_YlmxBgGhEaO01s09dCYm9Wp6B_jGhqOb2UqweWPTx3SbNgsyRtDkhhdTkrZMyY_0O2HLjnMSD3txKDVzLKoo77ABMZDHinrIW68G7bk9HSETqGjn2-foe8Me2Nt3G6tqm8GIdqhGFFmwhyOq5ejOG5DnTy9qJBWBQmTKavc0iqqfXa73WDMP0mRFy_7WuwE6JyRJpy5_bNDjPSxUZiVkMYt0EXgQzAO8G9p0T5PSW-rznBkOQzpBR59SJoag0GPo6COHLJ44dlYjVwYgc8q4ek3I3LQLR6N2sYBnix8RYTFvkUITyp1BlLbzKMhH-Y-9ef5tzWqNk6tv10tD1w\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307673,\"updated\":1565307673,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "5344", + "content-length": "873", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:48 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2b7c6a93-065f-4994-9939-1ac8d5b4a03e", + "x-ms-request-id": "b0c1b10c-ca8e-405a-82e5-00ff86190f21", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"deletedDate\":1561686230,\"scheduledPurgeDate\":1569462230,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686229,\"updated\":1561686229,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"deletedDate\":1561412660,\"scheduledPurgeDate\":1569188660,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"attributes\":{\"enabled\":true,\"created\":1561412659,\"updated\":1561412659,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"deletedDate\":1561415149,\"scheduledPurgeDate\":1569191149,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"attributes\":{\"enabled\":true,\"created\":1561415147,\"updated\":1561415147,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"deletedDate\":1561414691,\"scheduledPurgeDate\":1569190691,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"attributes\":{\"enabled\":true,\"created\":1561414690,\"updated\":1561414690,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"deletedDate\":1561411064,\"scheduledPurgeDate\":1569187064,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"attributes\":{\"enabled\":true,\"created\":1561411063,\"updated\":1561411063,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"deletedDate\":1561415010,\"scheduledPurgeDate\":1569191010,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"attributes\":{\"enabled\":true,\"created\":1561415009,\"updated\":1561415009,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"deletedDate\":1561415277,\"scheduledPurgeDate\":1569191277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"attributes\":{\"enabled\":true,\"created\":1561415276,\"updated\":1561415276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"deletedDate\":1561685844,\"scheduledPurgeDate\":1569461844,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685844,\"updated\":1561685844,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"deletedDate\":1561414795,\"scheduledPurgeDate\":1569190795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"attributes\":{\"enabled\":true,\"created\":1561414794,\"updated\":1561414794,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"deletedDate\":1561413350,\"scheduledPurgeDate\":1569189350,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"attributes\":{\"enabled\":true,\"created\":1561413350,\"updated\":1561413350,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"deletedDate\":1561686240,\"scheduledPurgeDate\":1569462240,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561686240,\"updated\":1561686240,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"deletedDate\":1561685855,\"scheduledPurgeDate\":1569461855,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561685854,\"updated\":1561685854,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "5295", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:48 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "15756782-91cd-4b78-b6ff-ee7eda19d8e7", + "x-ms-request-id": "1d2ee3dc-d8ca-4f39-8294-174099ceb7d2", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1372da44-6e01-496b-87e0-13e64d3f2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"deletedDate\":1561686239,\"scheduledPurgeDate\":1569462239,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561686238,\"updated\":1561686238,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"deletedDate\":1561685853,\"scheduledPurgeDate\":1569461853,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561685853,\"updated\":1561685853,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"deletedDate\":1561685637,\"scheduledPurgeDate\":1569461637,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685636,\"updated\":1561685636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"deletedDate\":1561686234,\"scheduledPurgeDate\":1569462234,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686234,\"updated\":1561686234,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"deletedDate\":1561685849,\"scheduledPurgeDate\":1569461849,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685848,\"updated\":1561685848,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"deletedDate\":1561685638,\"scheduledPurgeDate\":1569461638,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685637,\"updated\":1561685637,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"deletedDate\":1561686236,\"scheduledPurgeDate\":1569462236,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686235,\"updated\":1561686235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"deletedDate\":1561685850,\"scheduledPurgeDate\":1569461850,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685850,\"updated\":1561685850,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"deletedDate\":1561685635,\"scheduledPurgeDate\":1569461635,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685634,\"updated\":1561685634,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"deletedDate\":1561686231,\"scheduledPurgeDate\":1569462231,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686231,\"updated\":1561686231,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"deletedDate\":1562874910,\"scheduledPurgeDate\":1570650910,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"attributes\":{\"enabled\":true,\"created\":1562874910,\"updated\":1562874910,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"deletedDate\":1561685846,\"scheduledPurgeDate\":1569461846,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685845,\"updated\":1561685845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"deletedDate\":1561685636,\"scheduledPurgeDate\":1569461636,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685635,\"updated\":1561685635,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1\",\"deletedDate\":1565307674,\"scheduledPurgeDate\":1573083674,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/2aee6ddeb895448e8407d3f493490997\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0QNRWHKDyvk3T0rSdfO4eblMdd5K388CFn5UejK9FGcwCVR5M2MputgpZN4-Ol41NYr6j3AYeCAJEwhrfdrbqRD5WscghBwnGA8Ye-UxigNTpSu-DkZVgxdDcwGHfTlDzDY5scwfXBjFWt33ohMpceO2eZ-kU_LpeqDQfYTXamK6tFCECpCZcld_XtlRF-zetvB77qOLyrzIdOcAT9GL0UGof0LwfXEm8pbp7pXoQqXb3UO5z9wlYNB1u-R6p7uVH7LJJudXalGCqSmYbh7xxbJCSQ3bSo3eZcAIBj-xRxO7uRL8JwajejudOKZGEjCj-qxFtLPCz7W6CLyL95Iy8Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307674,\"updated\":1565307674,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "5427", + "content-length": "873", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1cc4dc10-4f31-4e9f-9a21-2c73493fd948", + "x-ms-request-id": "8583acfb-a4b0-4ccb-bfc4-59a8bd65d9eb", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "url": "https://keyvault_name.vault.azure.net/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"deletedDate\":1561686233,\"scheduledPurgeDate\":1569462233,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686232,\"updated\":1561686232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"deletedDate\":1561685847,\"scheduledPurgeDate\":1569461847,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685847,\"updated\":1561685847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115\",\"deletedDate\":1561686245,\"scheduledPurgeDate\":1569462245,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686245,\"updated\":1561686245,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891\",\"deletedDate\":1561685860,\"scheduledPurgeDate\":1569461860,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685860,\"updated\":1561685860,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"deletedDate\":1561685972,\"scheduledPurgeDate\":1569461972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"attributes\":{\"enabled\":true,\"created\":1561685972,\"updated\":1561685972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"deletedDate\":1561685900,\"scheduledPurgeDate\":1569461900,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"attributes\":{\"enabled\":true,\"created\":1561685900,\"updated\":1561685900,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"deletedDate\":1561416018,\"scheduledPurgeDate\":1569192018,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"attributes\":{\"enabled\":true,\"created\":1561416018,\"updated\":1561416018,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"deletedDate\":1561415954,\"scheduledPurgeDate\":1569191954,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"attributes\":{\"enabled\":true,\"created\":1561415953,\"updated\":1561415953,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"deletedDate\":1561686157,\"scheduledPurgeDate\":1569462157,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"attributes\":{\"enabled\":true,\"created\":1561686156,\"updated\":1561686156,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"deletedDate\":1561685866,\"scheduledPurgeDate\":1569461866,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685866,\"updated\":1561685866,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"deletedDate\":1561686136,\"scheduledPurgeDate\":1569462136,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"attributes\":{\"enabled\":true,\"created\":1561686135,\"updated\":1561686135,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"deletedDate\":1561686091,\"scheduledPurgeDate\":1569462091,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"attributes\":{\"enabled\":true,\"created\":1561686091,\"updated\":1561686091,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "4857", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b3d636ac-3be5-4313-8ea4-4b218c9fe50e", + "x-ms-request-id": "ebb41ed0-3b77-4a86-a908-ce7e813c0f55", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5eff16d7-b651-4776-9415-470e63372c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "url": "https://keyvault_name.vault.azure.net/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115\",\"deletedDate\":1561686248,\"scheduledPurgeDate\":1569462248,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686247,\"updated\":1561686247,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891\",\"deletedDate\":1561685863,\"scheduledPurgeDate\":1569461863,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685862,\"updated\":1561685862,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"deletedDate\":1561686250,\"scheduledPurgeDate\":1569462250,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686249,\"updated\":1561686249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"deletedDate\":1561685865,\"scheduledPurgeDate\":1569461865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685864,\"updated\":1561685864,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"deletedDate\":1561686244,\"scheduledPurgeDate\":1569462244,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561686243,\"updated\":1561686244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"deletedDate\":1561685859,\"scheduledPurgeDate\":1569461859,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561685858,\"updated\":1561685858,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115\",\"deletedDate\":1561686242,\"scheduledPurgeDate\":1569462242,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686241,\"updated\":1561686242,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891\",\"deletedDate\":1561685857,\"scheduledPurgeDate\":1569461857,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685856,\"updated\":1561685856,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd016ZzJOakl5TURreU1EZ3ZNVUUwTWpJMFF6UkJSRVZDTkVKRVJrRkVNemxDUWtWR05ETXpSamd3TmtJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"deletedDate\":1561686237,\"scheduledPurgeDate\":1569462237,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686237,\"updated\":1561686237,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"deletedDate\":1561685852,\"scheduledPurgeDate\":1569461852,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685851,\"updated\":1561685851,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"deletedDate\":1561414117,\"scheduledPurgeDate\":1569190117,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"attributes\":{\"enabled\":true,\"created\":1561414117,\"updated\":1561414117,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"deletedDate\":1561413873,\"scheduledPurgeDate\":1569189873,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"attributes\":{\"enabled\":true,\"created\":1561413873,\"updated\":1561413873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"deletedDate\":1561685734,\"scheduledPurgeDate\":1569461734,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"attributes\":{\"enabled\":true,\"created\":1561685734,\"updated\":1561685734,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"deletedDate\":1561412406,\"scheduledPurgeDate\":1569188406,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"attributes\":{\"enabled\":true,\"created\":1561412406,\"updated\":1561412406,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"deletedDate\":1561414368,\"scheduledPurgeDate\":1569190368,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"attributes\":{\"enabled\":true,\"created\":1561414367,\"updated\":1561414367,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"deletedDate\":1561685633,\"scheduledPurgeDate\":1569461633,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685633,\"updated\":1561685633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"deletedDate\":1561685795,\"scheduledPurgeDate\":1569461795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"attributes\":{\"enabled\":true,\"created\":1561685795,\"updated\":1561685795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"deletedDate\":1561414027,\"scheduledPurgeDate\":1569190027,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"attributes\":{\"enabled\":true,\"created\":1561414027,\"updated\":1561414027,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"deletedDate\":1561414305,\"scheduledPurgeDate\":1569190305,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"attributes\":{\"enabled\":true,\"created\":1561414304,\"updated\":1561414304,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"deletedDate\":1561685687,\"scheduledPurgeDate\":1569461687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"attributes\":{\"enabled\":true,\"created\":1561685687,\"updated\":1561685687,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3408", + "content-length": "5344", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:35 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "0b9d06d8-0fb7-4298-b939-a72c2340c47e", + "x-ms-request-id": "fd034ca5-db74-4ffe-adff-8ec3d8887e0f", "cache-control": "no-cache", "expires": "-1" } @@ -1800,28 +7324,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd016ZzJOakl5TURreU1EZ3ZNVUUwTWpJMFF6UkJSRVZDTkVKRVJrRkVNemxDUWtWR05ETXpSamd3TmtJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310\",\"deletedDate\":1560195770,\"scheduledPurgeDate\":1567971770,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567242501310\",\"attributes\":{\"enabled\":true,\"created\":1560195678,\"updated\":1560195678,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134\",\"deletedDate\":1560195724,\"scheduledPurgeDate\":1567971724,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019571294800134\",\"attributes\":{\"enabled\":true,\"created\":1560195718,\"updated\":1560195718,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "936", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "665a7fd6-a107-4904-ad85-23479859b5a1", + "x-ms-request-id": "e50e43cd-5752-4b8f-bfbb-291b7e314ed2", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "78346853-c600-40ee-aa3a-baf232286600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1829,27 +7375,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255\",\"deletedDate\":1560195904,\"scheduledPurgeDate\":1567971904,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019588703602255\",\"attributes\":{\"enabled\":false,\"created\":1560195892,\"updated\":1560195892,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155\",\"deletedDate\":1560196160,\"scheduledPurgeDate\":1567972160,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019614908508155\",\"attributes\":{\"enabled\":true,\"nbf\":1560196154,\"created\":1560196155,\"updated\":1560196155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618\",\"deletedDate\":1560196278,\"scheduledPurgeDate\":1567972278,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019626145109618\",\"attributes\":{\"enabled\":true,\"nbf\":1560196266,\"created\":1560196267,\"updated\":1560196267,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535\",\"deletedDate\":1560196443,\"scheduledPurgeDate\":1567972443,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019643192308535\",\"attributes\":{\"enabled\":true,\"nbf\":1560196436,\"created\":1560196437,\"updated\":1560196437,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673\",\"deletedDate\":1560196776,\"scheduledPurgeDate\":1567972776,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019676499600673\",\"attributes\":{\"enabled\":true,\"nbf\":1560196769,\"created\":1560196770,\"updated\":1560196770,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785\",\"deletedDate\":1560196798,\"scheduledPurgeDate\":1567972798,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019678704709785\",\"attributes\":{\"enabled\":true,\"nbf\":1560196792,\"created\":1560196792,\"updated\":1560196792,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936\",\"deletedDate\":1560196842,\"scheduledPurgeDate\":1567972842,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019683131108936\",\"attributes\":{\"enabled\":true,\"nbf\":1560196836,\"created\":1560196836,\"updated\":1560196836,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648\",\"deletedDate\":1560196888,\"scheduledPurgeDate\":1567972888,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019687132907648\",\"attributes\":{\"enabled\":true,\"nbf\":1560196876,\"created\":1560196876,\"updated\":1560196876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764\",\"deletedDate\":1560199758,\"scheduledPurgeDate\":1567975758,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019964932000764\",\"attributes\":{\"enabled\":true,\"created\":1560199655,\"updated\":1560199655,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qWTJOVFV5TURJMU5URXZRVFl3TVRCRE5EVkROVEJHTkRNeFJUZzFSamxHUkRSR05qaENSVVJEUVRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"deletedDate\":1561686230,\"scheduledPurgeDate\":1569462230,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686229,\"updated\":1561686229,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"deletedDate\":1561412660,\"scheduledPurgeDate\":1569188660,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"attributes\":{\"enabled\":true,\"created\":1561412659,\"updated\":1561412659,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"deletedDate\":1561415149,\"scheduledPurgeDate\":1569191149,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"attributes\":{\"enabled\":true,\"created\":1561415147,\"updated\":1561415147,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"deletedDate\":1561414691,\"scheduledPurgeDate\":1569190691,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"attributes\":{\"enabled\":true,\"created\":1561414690,\"updated\":1561414690,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"deletedDate\":1561411064,\"scheduledPurgeDate\":1569187064,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"attributes\":{\"enabled\":true,\"created\":1561411063,\"updated\":1561411063,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"deletedDate\":1561415010,\"scheduledPurgeDate\":1569191010,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"attributes\":{\"enabled\":true,\"created\":1561415009,\"updated\":1561415009,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"deletedDate\":1561415277,\"scheduledPurgeDate\":1569191277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"attributes\":{\"enabled\":true,\"created\":1561415276,\"updated\":1561415276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"deletedDate\":1561685844,\"scheduledPurgeDate\":1569461844,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685844,\"updated\":1561685844,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"deletedDate\":1561414795,\"scheduledPurgeDate\":1569190795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"attributes\":{\"enabled\":true,\"created\":1561414794,\"updated\":1561414794,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"deletedDate\":1561413350,\"scheduledPurgeDate\":1569189350,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"attributes\":{\"enabled\":true,\"created\":1561413350,\"updated\":1561413350,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"deletedDate\":1561686240,\"scheduledPurgeDate\":1569462240,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561686240,\"updated\":1561686240,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"deletedDate\":1561685855,\"scheduledPurgeDate\":1569461855,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561685854,\"updated\":1561685854,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3405", + "content-length": "5295", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "796d837b-d9f3-4c41-860e-b00b3430bf78", + "x-ms-request-id": "0054b34f-cadb-47ae-9b7d-872df03527ac", "cache-control": "no-cache", "expires": "-1" } @@ -1858,28 +7404,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qWTJOVFV5TURJMU5URXZRVFl3TVRCRE5EVkROVEJHTkRNeFJUZzFSamxHUkRSR05qaENSVVJEUVRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499\",\"deletedDate\":1560199695,\"scheduledPurgeDate\":1567975695,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019968394501499\",\"attributes\":{\"enabled\":true,\"created\":1560199689,\"updated\":1560199689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548\",\"deletedDate\":1560200123,\"scheduledPurgeDate\":1567976123,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020010748409548\",\"attributes\":{\"enabled\":true,\"nbf\":1560200112,\"created\":1560200113,\"updated\":1560200113,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975\",\"deletedDate\":1560200982,\"scheduledPurgeDate\":1567976982,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020097075304975\",\"attributes\":{\"enabled\":true,\"exp\":1560200975,\"created\":1560200976,\"updated\":1560200976,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630\",\"deletedDate\":1560205908,\"scheduledPurgeDate\":1567981908,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020589654200630\",\"attributes\":{\"enabled\":true,\"created\":1560205902,\"updated\":1560205902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019\",\"deletedDate\":1560206019,\"scheduledPurgeDate\":1567982019,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020600810901019\",\"attributes\":{\"enabled\":true,\"created\":1560206013,\"updated\":1560206013,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969\",\"deletedDate\":1560206579,\"scheduledPurgeDate\":1567982579,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020656741105969\",\"attributes\":{\"enabled\":true,\"created\":1560206573,\"updated\":1560206573,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557\",\"deletedDate\":1560212037,\"scheduledPurgeDate\":1567988037,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021202578402557\",\"attributes\":{\"enabled\":true,\"created\":1560212031,\"updated\":1560212031,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2605", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "01e1c421-9bb6-45d4-a538-f5128de43ca0", + "x-ms-request-id": "1163dd87-5025-4082-b187-d9f4a4bf578b", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "62833b5a-8cab-47be-b39a-cfe1fef72900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1887,27 +7455,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500\",\"deletedDate\":1560212139,\"scheduledPurgeDate\":1567988139,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021212284606500\",\"attributes\":{\"enabled\":true,\"created\":1560212128,\"updated\":1560212128,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930\",\"deletedDate\":1560212302,\"scheduledPurgeDate\":1567988302,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021228525302930\",\"attributes\":{\"enabled\":true,\"created\":1560212290,\"updated\":1560212290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638\",\"deletedDate\":1560212547,\"scheduledPurgeDate\":1567988547,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021252900505638\",\"attributes\":{\"enabled\":true,\"created\":1560212534,\"updated\":1560212534,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011\",\"deletedDate\":1560212608,\"scheduledPurgeDate\":1567988608,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021259169107011\",\"attributes\":{\"enabled\":true,\"created\":1560212597,\"updated\":1560212597,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420\",\"deletedDate\":1560212772,\"scheduledPurgeDate\":1567988772,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021275535604420\",\"attributes\":{\"enabled\":true,\"created\":1560212760,\"updated\":1560212760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898\",\"deletedDate\":1560213205,\"scheduledPurgeDate\":1567989205,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021319425603898\",\"attributes\":{\"enabled\":true,\"created\":1560213200,\"updated\":1560213200,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680\",\"deletedDate\":1560213698,\"scheduledPurgeDate\":1567989698,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021368188700680\",\"attributes\":{\"enabled\":true,\"created\":1560213687,\"updated\":1560213687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638\",\"deletedDate\":1560213837,\"scheduledPurgeDate\":1567989837,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021382077504638\",\"attributes\":{\"enabled\":false,\"created\":1560213826,\"updated\":1560213832,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430\",\"deletedDate\":1560214070,\"scheduledPurgeDate\":1567990070,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021397882409430\",\"attributes\":{\"enabled\":true,\"created\":1560213984,\"updated\":1560213984,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFME1EQXhOemd3TURjek5UVXZRelZHUkRsQk5VVkRRVGs1TkRrNU1qZ3pOa1ZGUWtGR01UZEJSRFF4UmpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"deletedDate\":1561686239,\"scheduledPurgeDate\":1569462239,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561686238,\"updated\":1561686238,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"deletedDate\":1561685853,\"scheduledPurgeDate\":1569461853,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561685853,\"updated\":1561685853,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"deletedDate\":1561685637,\"scheduledPurgeDate\":1569461637,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685636,\"updated\":1561685636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"deletedDate\":1561686234,\"scheduledPurgeDate\":1569462234,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686234,\"updated\":1561686234,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"deletedDate\":1561685849,\"scheduledPurgeDate\":1569461849,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685848,\"updated\":1561685848,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"deletedDate\":1561685638,\"scheduledPurgeDate\":1569461638,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685637,\"updated\":1561685637,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"deletedDate\":1561686236,\"scheduledPurgeDate\":1569462236,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686235,\"updated\":1561686235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"deletedDate\":1561685850,\"scheduledPurgeDate\":1569461850,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685850,\"updated\":1561685850,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"deletedDate\":1561685635,\"scheduledPurgeDate\":1569461635,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685634,\"updated\":1561685634,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"deletedDate\":1561686231,\"scheduledPurgeDate\":1569462231,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686231,\"updated\":1561686231,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"deletedDate\":1562874910,\"scheduledPurgeDate\":1570650910,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"attributes\":{\"enabled\":true,\"created\":1562874910,\"updated\":1562874910,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"deletedDate\":1561685846,\"scheduledPurgeDate\":1569461846,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685845,\"updated\":1561685845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"deletedDate\":1561685636,\"scheduledPurgeDate\":1569461636,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685635,\"updated\":1561685635,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3286", + "content-length": "5427", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b3295d05-b49d-4bd9-a487-07272a0a486a", + "x-ms-request-id": "aeaa69d9-b765-4a24-b36e-bd30ac9433b4", "cache-control": "no-cache", "expires": "-1" } @@ -1916,28 +7484,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFME1EQXhOemd3TURjek5UVXZRelZHUkRsQk5VVkRRVGs1TkRrNU1qZ3pOa1ZGUWtGR01UZEJSRFF4UmpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613\",\"deletedDate\":1560214059,\"scheduledPurgeDate\":1567990059,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021404805303613\",\"attributes\":{\"enabled\":true,\"created\":1560214053,\"updated\":1560214053,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298\",\"deletedDate\":1560214455,\"scheduledPurgeDate\":1567990455,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021443658305298\",\"attributes\":{\"enabled\":false,\"created\":1560214442,\"updated\":1560214449,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127\",\"deletedDate\":1560214715,\"scheduledPurgeDate\":1567990715,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021469847200127\",\"attributes\":{\"enabled\":false,\"exp\":1560214704,\"created\":1560214704,\"updated\":1560214709,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037\",\"deletedDate\":1560215026,\"scheduledPurgeDate\":1567991026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021500992805037\",\"attributes\":{\"enabled\":false,\"exp\":1560215015,\"created\":1560215015,\"updated\":1560215021,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421\",\"deletedDate\":1560215105,\"scheduledPurgeDate\":1567991105,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021508931202421\",\"attributes\":{\"enabled\":false,\"exp\":1560215095,\"created\":1560215094,\"updated\":1560215100,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287\",\"deletedDate\":1560215290,\"scheduledPurgeDate\":1567991290,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021527355207287\",\"attributes\":{\"enabled\":false,\"exp\":1560215279,\"created\":1560215279,\"updated\":1560215284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132\",\"deletedDate\":1560215746,\"scheduledPurgeDate\":1567991746,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021572903002132\",\"attributes\":{\"enabled\":false,\"exp\":1560215734,\"created\":1560215734,\"updated\":1560215740,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2662", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:50 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "00b7bc2c-b7de-46ac-b61c-74351e45b76d", + "x-ms-request-id": "b37eac7b-babd-487f-a3db-ffa3f09be051", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cf90315f-bd8a-4778-a796-b91e6c1a5000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1945,27 +7535,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237\",\"deletedDate\":1560216615,\"scheduledPurgeDate\":1567992615,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021643840901237\",\"attributes\":{\"enabled\":true,\"created\":1560216444,\"updated\":1560216444,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471\",\"deletedDate\":1560216518,\"scheduledPurgeDate\":1567992518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021650717904471\",\"attributes\":{\"enabled\":true,\"created\":1560216512,\"updated\":1560216512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UUXhNVGczTURjNU9UZ3ZNVEZFTVRFNU5ESkdSak00TkVOQk1VSTFNVU5FTVVVelEwWkROa0ZFTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"deletedDate\":1561686233,\"scheduledPurgeDate\":1569462233,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686232,\"updated\":1561686232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"deletedDate\":1561685847,\"scheduledPurgeDate\":1569461847,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685847,\"updated\":1561685847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115\",\"deletedDate\":1561686245,\"scheduledPurgeDate\":1569462245,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686245,\"updated\":1561686245,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891\",\"deletedDate\":1561685860,\"scheduledPurgeDate\":1569461860,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685860,\"updated\":1561685860,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"deletedDate\":1561685972,\"scheduledPurgeDate\":1569461972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"attributes\":{\"enabled\":true,\"created\":1561685972,\"updated\":1561685972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"deletedDate\":1561685900,\"scheduledPurgeDate\":1569461900,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"attributes\":{\"enabled\":true,\"created\":1561685900,\"updated\":1561685900,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"deletedDate\":1561416018,\"scheduledPurgeDate\":1569192018,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"attributes\":{\"enabled\":true,\"created\":1561416018,\"updated\":1561416018,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"deletedDate\":1561415954,\"scheduledPurgeDate\":1569191954,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"attributes\":{\"enabled\":true,\"created\":1561415953,\"updated\":1561415953,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"deletedDate\":1561686157,\"scheduledPurgeDate\":1569462157,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"attributes\":{\"enabled\":true,\"created\":1561686156,\"updated\":1561686156,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"deletedDate\":1561685866,\"scheduledPurgeDate\":1569461866,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685866,\"updated\":1561685866,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"deletedDate\":1561686136,\"scheduledPurgeDate\":1569462136,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"attributes\":{\"enabled\":true,\"created\":1561686135,\"updated\":1561686135,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"deletedDate\":1561686091,\"scheduledPurgeDate\":1569462091,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"attributes\":{\"enabled\":true,\"created\":1561686091,\"updated\":1561686091,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "996", + "content-length": "4857", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:50 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b953ef15-986b-44e8-b0a0-79bbf555c129", + "x-ms-request-id": "06554744-c072-4c61-9a33-f318f8f5d770", "cache-control": "no-cache", "expires": "-1" } @@ -1974,28 +7564,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UUXhNVGczTURjNU9UZ3ZNVEZFTVRFNU5ESkdSak00TkVOQk1VSTFNVU5FTVVVelEwWkROa0ZFTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478\",\"deletedDate\":1560217550,\"scheduledPurgeDate\":1567993550,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021753923506478\",\"attributes\":{\"enabled\":true,\"created\":1560217545,\"updated\":1560217545,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221\",\"deletedDate\":1560217733,\"scheduledPurgeDate\":1567993733,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021772195104221\",\"attributes\":{\"enabled\":true,\"created\":1560217727,\"updated\":1560217727,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976\",\"deletedDate\":1560263766,\"scheduledPurgeDate\":1568039766,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026375447403976\",\"attributes\":{\"enabled\":true,\"created\":1560263760,\"updated\":1560263760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170\",\"deletedDate\":1560264308,\"scheduledPurgeDate\":1568040308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026429107509170\",\"attributes\":{\"enabled\":true,\"created\":1560264296,\"updated\":1560264296,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617\",\"deletedDate\":1560267823,\"scheduledPurgeDate\":1568043823,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026780583504617\",\"attributes\":{\"enabled\":true,\"created\":1560267811,\"updated\":1560267811,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786\",\"deletedDate\":1560269396,\"scheduledPurgeDate\":1568045396,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026937854708786\",\"attributes\":{\"enabled\":true,\"created\":1560269384,\"updated\":1560269384,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087\",\"deletedDate\":1560272836,\"scheduledPurgeDate\":1568048836,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027282511708087\",\"attributes\":{\"enabled\":true,\"created\":1560272831,\"updated\":1560272831,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813\",\"deletedDate\":1560274422,\"scheduledPurgeDate\":1568050422,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027441059203813\",\"attributes\":{\"enabled\":true,\"created\":1560274416,\"updated\":1560274416,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383\",\"deletedDate\":1560276204,\"scheduledPurgeDate\":1568052204,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027619257505383\",\"attributes\":{\"enabled\":true,\"created\":1560276198,\"updated\":1560276198,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526\",\"deletedDate\":1560276552,\"scheduledPurgeDate\":1568052552,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027654046904526\",\"attributes\":{\"enabled\":true,\"created\":1560276546,\"updated\":1560276546,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3552", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:50 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a60c84b0-2a01-42d3-b676-55fb97e8df3e", + "x-ms-request-id": "d991235b-c422-4998-8edd-6858e0614aec", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cc47cb4c-4734-4cce-a598-b53a0b7f2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2003,27 +7615,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953\",\"deletedDate\":1560276707,\"scheduledPurgeDate\":1568052707,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027669556403953\",\"attributes\":{\"enabled\":true,\"created\":1560276701,\"updated\":1560276701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591\",\"deletedDate\":1560276984,\"scheduledPurgeDate\":1568052984,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027692061805591\",\"attributes\":{\"enabled\":true,\"created\":1560276926,\"updated\":1560276926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123\",\"deletedDate\":1560278769,\"scheduledPurgeDate\":1568054769,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027875260704123\",\"attributes\":{\"enabled\":true,\"created\":1560278758,\"updated\":1560278758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301\",\"deletedDate\":1560280458,\"scheduledPurgeDate\":1568056458,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028044085404301\",\"attributes\":{\"enabled\":true,\"created\":1560280446,\"updated\":1560280446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799\",\"deletedDate\":1560282270,\"scheduledPurgeDate\":1568058270,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028174986105799\",\"attributes\":{\"enabled\":true,\"created\":1560281755,\"updated\":1560281755,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56azFORFkzTURRMk1EZ3ZPVVl6T0RrMU0wTTBPRVF3TkROQ1FrRTRNekJFUWtWRU56STFSamsyUTBFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115\",\"deletedDate\":1561686248,\"scheduledPurgeDate\":1569462248,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686247,\"updated\":1561686247,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891\",\"deletedDate\":1561685863,\"scheduledPurgeDate\":1569461863,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685862,\"updated\":1561685862,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"deletedDate\":1561686250,\"scheduledPurgeDate\":1569462250,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686249,\"updated\":1561686249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"deletedDate\":1561685865,\"scheduledPurgeDate\":1569461865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685864,\"updated\":1561685864,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"deletedDate\":1561686244,\"scheduledPurgeDate\":1569462244,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561686243,\"updated\":1561686244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"deletedDate\":1561685859,\"scheduledPurgeDate\":1569461859,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561685858,\"updated\":1561685858,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115\",\"deletedDate\":1561686242,\"scheduledPurgeDate\":1569462242,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686241,\"updated\":1561686242,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891\",\"deletedDate\":1561685857,\"scheduledPurgeDate\":1569461857,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685856,\"updated\":1561685856,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test-key\",\"deletedDate\":1564437302,\"scheduledPurgeDate\":1572213302,\"kid\":\"https://keyvault_name.vault.azure.net/keys/cryptography-client-test-key\",\"attributes\":{\"enabled\":true,\"created\":1564437301,\"updated\":1564437301,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CryptographyClientTestKey\",\"deletedDate\":1564415084,\"scheduledPurgeDate\":1572191084,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CryptographyClientTestKey\",\"attributes\":{\"enabled\":true,\"created\":1564415081,\"updated\":1564415081,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1977", + "content-length": "4084", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:50 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "61ed9876-fbee-426f-b22d-869c183a2b0a", + "x-ms-request-id": "798f8717-6180-4be6-b4a8-191ec07de772", "cache-control": "no-cache", "expires": "-1" } @@ -2032,28 +7644,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56azFORFkzTURRMk1EZ3ZPVVl6T0RrMU0wTTBPRVF3TkROQ1FrRTRNekJFUWtWRU56STFSamsyUTBFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726\",\"deletedDate\":1560281817,\"scheduledPurgeDate\":1568057817,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028180668003726\",\"attributes\":{\"enabled\":true,\"created\":1560281812,\"updated\":1560281812,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865\",\"deletedDate\":1560281862,\"scheduledPurgeDate\":1568057862,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028185168006865\",\"attributes\":{\"enabled\":true,\"created\":1560281857,\"updated\":1560281857,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070\",\"deletedDate\":1560363783,\"scheduledPurgeDate\":1568139783,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036321495001070\",\"attributes\":{\"enabled\":true,\"created\":1560363220,\"updated\":1560363220,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1263", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:50 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b768df80-89cc-4cc3-b9fd-618674b18506", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "260aa6c2-944e-47dc-be58-89d208e15200", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "71b6871c-f6fc-4a32-83d1-207994a23a79", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2061,27 +7695,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673\",\"deletedDate\":1560363271,\"scheduledPurgeDate\":1568139271,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036326049603673\",\"attributes\":{\"enabled\":true,\"created\":1560363266,\"updated\":1560363266,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742\",\"deletedDate\":1560439782,\"scheduledPurgeDate\":1568215782,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156043977101909742\",\"attributes\":{\"enabled\":true,\"created\":1560439776,\"updated\":1560439776,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132\",\"deletedDate\":1560444138,\"scheduledPurgeDate\":1568220138,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301303900132\",\"attributes\":{\"enabled\":true,\"exp\":1560443018,\"created\":1560443018,\"updated\":1560443018,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ESTVOVE15TURreE56RXZNa1F3UWpReU56RTRNVVpCTkRWR1JrSTJNa1kzTVVKQlFUVkNPRVUwT1RRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310\",\"deletedDate\":1560195770,\"scheduledPurgeDate\":1567971770,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567242501310\",\"attributes\":{\"enabled\":true,\"created\":1560195678,\"updated\":1560195678,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1340", + "content-length": "609", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:50 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "18320eff-28e8-4125-b1fc-8cd7f4d000a7", + "x-ms-request-id": "35f9cc6f-7dac-4092-9611-590a623434c3", "cache-control": "no-cache", "expires": "-1" } @@ -2090,57 +7724,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ESTVOVE15TURreE56RXZNa1F3UWpReU56RTRNVVpCTkRWR1JrSTJNa1kzTVVKQlFUVkNPRVUwT1RRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401\",\"deletedDate\":1560443052,\"scheduledPurgeDate\":1568219052,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044304097508401\",\"attributes\":{\"enabled\":true,\"created\":1560443046,\"updated\":1560443046,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703\",\"deletedDate\":1560480365,\"scheduledPurgeDate\":1568256365,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048034950305703\",\"attributes\":{\"enabled\":true,\"created\":1560480356,\"updated\":1560480356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "941", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:50 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3bb9a49a-dde3-4162-a107-7a1c076df800", + "x-ms-request-id": "0e465a9e-b3bb-4de8-8b03-aadba754d48f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317\",\"deletedDate\":1560199870,\"scheduledPurgeDate\":1567975870,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111602317\",\"attributes\":{\"enabled\":true,\"created\":1560199847,\"updated\":1560199847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787\",\"deletedDate\":1560199876,\"scheduledPurgeDate\":1567975876,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111709787\",\"attributes\":{\"enabled\":true,\"created\":1560199852,\"updated\":1560199852,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556\",\"deletedDate\":1560200016,\"scheduledPurgeDate\":1567976016,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725306556\",\"attributes\":{\"enabled\":true,\"created\":1560199993,\"updated\":1560199993,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881\",\"deletedDate\":1560200022,\"scheduledPurgeDate\":1567976022,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725308881\",\"attributes\":{\"enabled\":true,\"created\":1560199998,\"updated\":1560199998,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349\",\"deletedDate\":1560439913,\"scheduledPurgeDate\":1568215913,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692705349\",\"attributes\":{\"enabled\":true,\"created\":1560439902,\"updated\":1560439902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134\",\"deletedDate\":1560439919,\"scheduledPurgeDate\":1568215919,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692806134\",\"attributes\":{\"enabled\":true,\"created\":1560439908,\"updated\":1560439908,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURRek9UZzVOamt5T0RBMk1UTTBMMFZGUkRGRlFVSXhOa0UwUVRRNVF6azRORFZGTXpkR05EVkJNVFpGTWpnMklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "2321", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:51 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5cae7efb-d29a-40cc-92f5-1202525f2c00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9ca7f3a9-573c-4a59-ba89-06534851f45a", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2148,27 +7775,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURRek9UZzVOamt5T0RBMk1UTTBMMFZGUkRGRlFVSXhOa0UwUVRRNVF6azRORFZGTXpkR05EVkJNVFpGTWpnMklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"deletedDate\":1561686288,\"scheduledPurgeDate\":1569462288,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686279,\"updated\":1561686279,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"deletedDate\":1561686289,\"scheduledPurgeDate\":1569462289,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686280,\"updated\":1561686280,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"deletedDate\":1561686297,\"scheduledPurgeDate\":1569462297,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"deletedDate\":1561686298,\"scheduledPurgeDate\":1569462298,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592\",\"deletedDate\":1561686276,\"scheduledPurgeDate\":1569462276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686275,\"updated\":1561686275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087\",\"deletedDate\":1561685869,\"scheduledPurgeDate\":1569461869,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685868,\"updated\":1561685868,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134\",\"deletedDate\":1560195724,\"scheduledPurgeDate\":1567971724,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019571294800134\",\"attributes\":{\"enabled\":true,\"created\":1560195718,\"updated\":1560195718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255\",\"deletedDate\":1560195904,\"scheduledPurgeDate\":1567971904,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019588703602255\",\"attributes\":{\"enabled\":false,\"created\":1560195892,\"updated\":1560195892,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155\",\"deletedDate\":1560196160,\"scheduledPurgeDate\":1567972160,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019614908508155\",\"attributes\":{\"enabled\":true,\"nbf\":1560196154,\"created\":1560196155,\"updated\":1560196155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618\",\"deletedDate\":1560196278,\"scheduledPurgeDate\":1567972278,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019626145109618\",\"attributes\":{\"enabled\":true,\"nbf\":1560196266,\"created\":1560196267,\"updated\":1560196267,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535\",\"deletedDate\":1560196443,\"scheduledPurgeDate\":1567972443,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019643192308535\",\"attributes\":{\"enabled\":true,\"nbf\":1560196436,\"created\":1560196437,\"updated\":1560196437,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673\",\"deletedDate\":1560196776,\"scheduledPurgeDate\":1567972776,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019676499600673\",\"attributes\":{\"enabled\":true,\"nbf\":1560196769,\"created\":1560196770,\"updated\":1560196770,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785\",\"deletedDate\":1560196798,\"scheduledPurgeDate\":1567972798,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019678704709785\",\"attributes\":{\"enabled\":true,\"nbf\":1560196792,\"created\":1560196792,\"updated\":1560196792,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936\",\"deletedDate\":1560196842,\"scheduledPurgeDate\":1567972842,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019683131108936\",\"attributes\":{\"enabled\":true,\"nbf\":1560196836,\"created\":1560196836,\"updated\":1560196836,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648\",\"deletedDate\":1560196888,\"scheduledPurgeDate\":1567972888,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019687132907648\",\"attributes\":{\"enabled\":true,\"nbf\":1560196876,\"created\":1560196876,\"updated\":1560196876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764\",\"deletedDate\":1560199758,\"scheduledPurgeDate\":1567975758,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019964932000764\",\"attributes\":{\"enabled\":true,\"created\":1560199655,\"updated\":1560199655,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "2733", + "content-length": "3732", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "03aed3ef-1882-4dce-afa3-a552a3031174", + "x-ms-request-id": "907a4155-37d6-412d-ae1f-7909d6d45795", "cache-control": "no-cache", "expires": "-1" } @@ -2177,28 +7804,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"deletedDate\":1561686277,\"scheduledPurgeDate\":1569462277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686277,\"updated\":1561686277,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"deletedDate\":1561685871,\"scheduledPurgeDate\":1569461871,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685870,\"updated\":1561685870,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0\",\"deletedDate\":1561418276,\"scheduledPurgeDate\":1569194276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561418275,\"updated\":1561418275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1\",\"deletedDate\":1561418277,\"scheduledPurgeDate\":1569194277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561418276,\"updated\":1561418276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"deletedDate\":1561419307,\"scheduledPurgeDate\":1569195307,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561419306,\"updated\":1561419306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"deletedDate\":1561419308,\"scheduledPurgeDate\":1569195308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561419307,\"updated\":1561419307,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"deletedDate\":1563396687,\"scheduledPurgeDate\":1571172687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"attributes\":{\"enabled\":true,\"created\":1563396687,\"updated\":1563396687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"deletedDate\":1563396700,\"scheduledPurgeDate\":1571172700,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"attributes\":{\"enabled\":true,\"created\":1563396700,\"updated\":1563396700,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiEyMDAhTURBd01UQTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1RFVrVkJWRVZCUzBWWlYwaEpURVZIU1ZaSlRrZEJUVUZPVlVGTVZGbFFSUzA0TVRNeU5qVTJNREE1TURjMk1qUTFMekV3TWpJNE5USTROVVJGTXpRNVJFTTRORU13UWpBNU5UTkNOMEpFTkRsQ0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3595", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fdfbb842-7fab-4157-ad08-2427eca5f692", + "x-ms-request-id": "16817a17-a09b-440c-9202-ee404e8a5fa7", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d7eb2535-0c52-43a7-ae2a-e38986f23700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2206,27 +7855,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiEyMDAhTURBd01UQTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1RFVrVkJWRVZCUzBWWlYwaEpURVZIU1ZaSlRrZEJUVUZPVlVGTVZGbFFSUzA0TVRNeU5qVTJNREE1TURjMk1qUTFMekV3TWpJNE5USTROVVJGTXpRNVJFTTRORU13UWpBNU5UTkNOMEpFTkRsQ0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"deletedDate\":1563492865,\"scheduledPurgeDate\":1571268865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1563492865,\"updated\":1563492865,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"deletedDate\":1563492026,\"scheduledPurgeDate\":1571268026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"deletedDate\":1563492929,\"scheduledPurgeDate\":1571268929,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492929,\"updated\":1563492929,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"deletedDate\":1561687104,\"scheduledPurgeDate\":1569463104,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687103,\"updated\":1561687103,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"deletedDate\":1561686972,\"scheduledPurgeDate\":1569462972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686972,\"updated\":1561686972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"deletedDate\":1561686397,\"scheduledPurgeDate\":1569462397,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686396,\"updated\":1561686396,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"deletedDate\":1563476819,\"scheduledPurgeDate\":1571252819,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"deletedDate\":1561687101,\"scheduledPurgeDate\":1569463101,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687068,\"updated\":1561687068,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTNJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JVTlBWa1ZTUVVSRlRFVlVSVVJMUlZrdE9EWTROakk0T0RJMk56STVNalF4TnlFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499\",\"deletedDate\":1560199695,\"scheduledPurgeDate\":1567975695,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019968394501499\",\"attributes\":{\"enabled\":true,\"created\":1560199689,\"updated\":1560199689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548\",\"deletedDate\":1560200123,\"scheduledPurgeDate\":1567976123,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020010748409548\",\"attributes\":{\"enabled\":true,\"nbf\":1560200112,\"created\":1560200113,\"updated\":1560200113,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975\",\"deletedDate\":1560200982,\"scheduledPurgeDate\":1567976982,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020097075304975\",\"attributes\":{\"enabled\":true,\"exp\":1560200975,\"created\":1560200976,\"updated\":1560200976,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630\",\"deletedDate\":1560205908,\"scheduledPurgeDate\":1567981908,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020589654200630\",\"attributes\":{\"enabled\":true,\"created\":1560205902,\"updated\":1560205902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019\",\"deletedDate\":1560206019,\"scheduledPurgeDate\":1567982019,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020600810901019\",\"attributes\":{\"enabled\":true,\"created\":1560206013,\"updated\":1560206013,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3533", + "content-length": "1951", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3badda86-3d46-4fce-9e9d-793d876dd359", + "x-ms-request-id": "a2c50217-4096-4d91-bf29-5f6ccce53421", "cache-control": "no-cache", "expires": "-1" } @@ -2235,28 +7884,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTNJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JVTlBWa1ZTUVVSRlRFVlVSVVJMUlZrdE9EWTROakk0T0RJMk56STVNalF4TnlFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"deletedDate\":1561686970,\"scheduledPurgeDate\":1569462970,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686926,\"updated\":1561686926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"deletedDate\":1561686395,\"scheduledPurgeDate\":1569462395,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686361,\"updated\":1561686361,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"deletedDate\":1561723518,\"scheduledPurgeDate\":1569499518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"attributes\":{\"enabled\":true,\"created\":1561723517,\"updated\":1561723517,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"deletedDate\":1561723606,\"scheduledPurgeDate\":1569499606,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"attributes\":{\"enabled\":true,\"created\":1561723605,\"updated\":1561723605,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"deletedDate\":1561687106,\"scheduledPurgeDate\":1569463106,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687105,\"updated\":1561687105,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"deletedDate\":1561723459,\"scheduledPurgeDate\":1569499459,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"attributes\":{\"enabled\":true,\"created\":1561723458,\"updated\":1561723458,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"deletedDate\":1561723721,\"scheduledPurgeDate\":1569499721,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"attributes\":{\"enabled\":true,\"created\":1561723720,\"updated\":1561723720,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"deletedDate\":1561686975,\"scheduledPurgeDate\":1569462975,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686974,\"updated\":1561686974,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"deletedDate\":1561723348,\"scheduledPurgeDate\":1569499348,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"attributes\":{\"enabled\":true,\"created\":1561723347,\"updated\":1561723347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"deletedDate\":1561686400,\"scheduledPurgeDate\":1569462400,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686399,\"updated\":1561686399,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"deletedDate\":1561723310,\"scheduledPurgeDate\":1569499310,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"attributes\":{\"enabled\":true,\"created\":1561723309,\"updated\":1561723309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0\",\"deletedDate\":1563493298,\"scheduledPurgeDate\":1571269298,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0\",\"attributes\":{\"enabled\":true,\"created\":1563493298,\"updated\":1563493298,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNzYhTURBd01EZzJJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFNU1ZOVVJFVk1SVlJGUkV0RldWTXROVEV3TkRrM01EUTVOamd5TXpJeE5pMHdMelF6TWtNMU16ZzFSRVV3UXpSR1JUZzRNMEpHTURVMk9VUkRPRVV5TkRBeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "5239", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d821ddd3-6e80-4088-b217-0aa89f2ce326", + "x-ms-request-id": "6f404a99-ba34-4c69-805a-9d9b8d020152", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cd1cfe65-f382-4b7a-93d7-b927fae25300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2264,275 +7935,267 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNzYhTURBd01EZzJJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFNU1ZOVVJFVk1SVlJGUkV0RldWTXROVEV3TkRrM01EUTVOamd5TXpJeE5pMHdMelF6TWtNMU16ZzFSRVV3UXpSR1JUZzRNMEpHTURVMk9VUkRPRVV5TkRBeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1\",\"deletedDate\":1563493298,\"scheduledPurgeDate\":1571269298,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1\",\"attributes\":{\"enabled\":true,\"created\":1563493298,\"updated\":1563493298,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969\",\"deletedDate\":1560206579,\"scheduledPurgeDate\":1567982579,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020656741105969\",\"attributes\":{\"enabled\":true,\"created\":1560206573,\"updated\":1560206573,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557\",\"deletedDate\":1560212037,\"scheduledPurgeDate\":1567988037,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021202578402557\",\"attributes\":{\"enabled\":true,\"created\":1560212031,\"updated\":1560212031,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500\",\"deletedDate\":1560212139,\"scheduledPurgeDate\":1567988139,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021212284606500\",\"attributes\":{\"enabled\":true,\"created\":1560212128,\"updated\":1560212128,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930\",\"deletedDate\":1560212302,\"scheduledPurgeDate\":1567988302,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021228525302930\",\"attributes\":{\"enabled\":true,\"created\":1560212290,\"updated\":1560212290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638\",\"deletedDate\":1560212547,\"scheduledPurgeDate\":1567988547,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021252900505638\",\"attributes\":{\"enabled\":true,\"created\":1560212534,\"updated\":1560212534,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011\",\"deletedDate\":1560212608,\"scheduledPurgeDate\":1567988608,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021259169107011\",\"attributes\":{\"enabled\":true,\"created\":1560212597,\"updated\":1560212597,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420\",\"deletedDate\":1560212772,\"scheduledPurgeDate\":1567988772,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021275535604420\",\"attributes\":{\"enabled\":true,\"created\":1560212760,\"updated\":1560212760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898\",\"deletedDate\":1560213205,\"scheduledPurgeDate\":1567989205,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021319425603898\",\"attributes\":{\"enabled\":true,\"created\":1560213200,\"updated\":1560213200,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680\",\"deletedDate\":1560213698,\"scheduledPurgeDate\":1567989698,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021368188700680\",\"attributes\":{\"enabled\":true,\"created\":1560213687,\"updated\":1560213687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638\",\"deletedDate\":1560213837,\"scheduledPurgeDate\":1567989837,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021382077504638\",\"attributes\":{\"enabled\":false,\"created\":1560213826,\"updated\":1560213832,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430\",\"deletedDate\":1560214070,\"scheduledPurgeDate\":1567990070,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021397882409430\",\"attributes\":{\"enabled\":true,\"created\":1560213984,\"updated\":1560213984,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1172", + "content-length": "3940", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "40391653-80ba-4fda-9f70-af846be5a569", + "x-ms-request-id": "135d47f9-f70d-4d50-b185-ccc2223dd2d0", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "22e0b1ea-dac9-4efe-aef0-421795b1477c", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:41:52 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4534682f-753f-48e2-adcf-6cc8545d9f12", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "264fe5c0-62a7-41d1-a762-3cccb98d18cc", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:41:52 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b145af60-17f4-414c-b1c5-de9340963200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/create", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", + "requestBody": null, "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/fa48a052923f4361ae58bec14b8b4a0f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xipMunQd9s89nGT4ojvENXQJD1ytWcqlX-Ia1elXfNiajphHv5FWaV9IlvW4cHDEC_xJGZRbU7VAGRp8sMuy1hCuy6EhLai0RDa3uzIcdGpdsOA_OgETKkDuDgsbrYTjdxJv1Q7G7Q359RYyZDGSr-c_K9yedt-AqTooo8Mb4nRQb8aU9lpITRCqGlOcNRPaD-B8uBdwq8UbqAQcKrNPWjSD6zPfdSLmJ-LysvyCXMNsFDWTEM_dXwncL74YHjpu_l-2ndPPi-99BQlvk_Lp97tpZ-LHuMbbS5SJste6Ugz2qKMWv8JGbrcw8vSpK9IZ_VFb-TYiGi8VlzVf-wIKJw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493313,\"updated\":1563493313,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613\",\"deletedDate\":1560214059,\"scheduledPurgeDate\":1567990059,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021404805303613\",\"attributes\":{\"enabled\":true,\"created\":1560214053,\"updated\":1560214053,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298\",\"deletedDate\":1560214455,\"scheduledPurgeDate\":1567990455,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021443658305298\",\"attributes\":{\"enabled\":false,\"created\":1560214442,\"updated\":1560214449,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127\",\"deletedDate\":1560214715,\"scheduledPurgeDate\":1567990715,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021469847200127\",\"attributes\":{\"enabled\":false,\"exp\":1560214704,\"created\":1560214704,\"updated\":1560214709,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037\",\"deletedDate\":1560215026,\"scheduledPurgeDate\":1567991026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021500992805037\",\"attributes\":{\"enabled\":false,\"exp\":1560215015,\"created\":1560215015,\"updated\":1560215021,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421\",\"deletedDate\":1560215105,\"scheduledPurgeDate\":1567991105,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021508931202421\",\"attributes\":{\"enabled\":false,\"exp\":1560215095,\"created\":1560215094,\"updated\":1560215100,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "700", + "content-length": "1972", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1f16dad0-2c36-47a1-b1a7-1d1aa73e43c0", + "x-ms-request-id": "b691ab31-6f44-41e5-8182-f191d25859c2", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/create", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/9dfd02cc8fa44771866bd92daf484aa5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"5wVQRhvME81waW_ai7EKhBzT_6RJkiNkD82zt2GbxyCcBQQPl6enkyV8eBFplW18M_krUA6TsW3yaLVfKmVfxFH_eW-xksxtG6sSFto1Q9m-OvATaUYO0Otmzx0VhPWP7zcbOFlNcbua7DHWCDSqoY2oxH50FeHjuB_CXO1_PUH4V0-QT5fqctevOCHVS1isBXcciHaji0MzpMSnMz2WgBcAjpUsJ0DhfnBdwAEY-ibsfFN8n1B0f5eBu8Nl6XzaFhWUG6qVUzfjRUh98aaq_htigd4Z65DoZBZEenAmO9EaX64Fmv2KWwsEY0SOfKhPHpOcCUM4pUb8ZIZnjpQRcw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493313,\"updated\":1563493313,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "700", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:38 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1da401dc-1b9f-45bc-b787-9e796662e8fd", + "x-ms-request-id": "3f795a3d-0820-4ff8-916e-1de4c84c1a43", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0\",\"deletedDate\":1563493313,\"scheduledPurgeDate\":1571269313,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/fa48a052923f4361ae58bec14b8b4a0f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xipMunQd9s89nGT4ojvENXQJD1ytWcqlX-Ia1elXfNiajphHv5FWaV9IlvW4cHDEC_xJGZRbU7VAGRp8sMuy1hCuy6EhLai0RDa3uzIcdGpdsOA_OgETKkDuDgsbrYTjdxJv1Q7G7Q359RYyZDGSr-c_K9yedt-AqTooo8Mb4nRQb8aU9lpITRCqGlOcNRPaD-B8uBdwq8UbqAQcKrNPWjSD6zPfdSLmJ-LysvyCXMNsFDWTEM_dXwncL74YHjpu_l-2ndPPi-99BQlvk_Lp97tpZ-LHuMbbS5SJste6Ugz2qKMWv8JGbrcw8vSpK9IZ_VFb-TYiGi8VlzVf-wIKJw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493313,\"updated\":1563493313,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "875", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:52 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "382e15f5-81ea-4ee7-98c9-940773b52800", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "984543e2-f175-43ce-bd13-119a0e67aff1", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1\",\"deletedDate\":1563493313,\"scheduledPurgeDate\":1571269313,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/9dfd02cc8fa44771866bd92daf484aa5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"5wVQRhvME81waW_ai7EKhBzT_6RJkiNkD82zt2GbxyCcBQQPl6enkyV8eBFplW18M_krUA6TsW3yaLVfKmVfxFH_eW-xksxtG6sSFto1Q9m-OvATaUYO0Otmzx0VhPWP7zcbOFlNcbua7DHWCDSqoY2oxH50FeHjuB_CXO1_PUH4V0-QT5fqctevOCHVS1isBXcciHaji0MzpMSnMz2WgBcAjpUsJ0DhfnBdwAEY-ibsfFN8n1B0f5eBu8Nl6XzaFhWUG6qVUzfjRUh98aaq_htigd4Z65DoZBZEenAmO9EaX64Fmv2KWwsEY0SOfKhPHpOcCUM4pUb8ZIZnjpQRcw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493313,\"updated\":1563493313,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287\",\"deletedDate\":1560215290,\"scheduledPurgeDate\":1567991290,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021527355207287\",\"attributes\":{\"enabled\":false,\"exp\":1560215279,\"created\":1560215279,\"updated\":1560215284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132\",\"deletedDate\":1560215746,\"scheduledPurgeDate\":1567991746,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021572903002132\",\"attributes\":{\"enabled\":false,\"exp\":1560215734,\"created\":1560215734,\"updated\":1560215740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237\",\"deletedDate\":1560216615,\"scheduledPurgeDate\":1567992615,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021643840901237\",\"attributes\":{\"enabled\":true,\"created\":1560216444,\"updated\":1560216444,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471\",\"deletedDate\":1560216518,\"scheduledPurgeDate\":1567992518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021650717904471\",\"attributes\":{\"enabled\":true,\"created\":1560216512,\"updated\":1560216512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "875", + "content-length": "1686", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "49d98aa2-309b-47c6-880f-81b362ad2f1a", + "x-ms-request-id": "791c3e41-94ac-4806-a8bd-1b6d5506d1b1", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-listdeletedkeyspaged--0\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "122", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:41:53 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7f0e5bd7-1541-4708-8fdb-2944dbe30065", + "x-ms-request-id": "558d3b8f-a39f-4e8a-afef-45ebe6475938", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0\",\"deletedDate\":1563493313,\"scheduledPurgeDate\":1571269313,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/fa48a052923f4361ae58bec14b8b4a0f\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xipMunQd9s89nGT4ojvENXQJD1ytWcqlX-Ia1elXfNiajphHv5FWaV9IlvW4cHDEC_xJGZRbU7VAGRp8sMuy1hCuy6EhLai0RDa3uzIcdGpdsOA_OgETKkDuDgsbrYTjdxJv1Q7G7Q359RYyZDGSr-c_K9yedt-AqTooo8Mb4nRQb8aU9lpITRCqGlOcNRPaD-B8uBdwq8UbqAQcKrNPWjSD6zPfdSLmJ-LysvyCXMNsFDWTEM_dXwncL74YHjpu_l-2ndPPi-99BQlvk_Lp97tpZ-LHuMbbS5SJste6Ugz2qKMWv8JGbrcw8vSpK9IZ_VFb-TYiGi8VlzVf-wIKJw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493313,\"updated\":1563493313,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "875", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:03 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7e1ea895-2d8b-4156-89a5-dbac5dca5200", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "50b0f7c0-9483-4275-a10a-0d064e6ccec5", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedkeys", + "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"deletedDate\":1561686237,\"scheduledPurgeDate\":1569462237,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686237,\"updated\":1561686237,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"deletedDate\":1561685852,\"scheduledPurgeDate\":1569461852,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685851,\"updated\":1561685851,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"deletedDate\":1561414117,\"scheduledPurgeDate\":1569190117,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264\",\"attributes\":{\"enabled\":true,\"created\":1561414117,\"updated\":1561414117,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"deletedDate\":1561413873,\"scheduledPurgeDate\":1569189873,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968\",\"attributes\":{\"enabled\":true,\"created\":1561413873,\"updated\":1561413873,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"deletedDate\":1561685734,\"scheduledPurgeDate\":1569461734,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642\",\"attributes\":{\"enabled\":true,\"created\":1561685734,\"updated\":1561685734,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"deletedDate\":1561412406,\"scheduledPurgeDate\":1569188406,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477\",\"attributes\":{\"enabled\":true,\"created\":1561412406,\"updated\":1561412406,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"deletedDate\":1561414368,\"scheduledPurgeDate\":1569190368,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901\",\"attributes\":{\"enabled\":true,\"created\":1561414367,\"updated\":1561414367,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"deletedDate\":1561685633,\"scheduledPurgeDate\":1569461633,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685633,\"updated\":1561685633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"deletedDate\":1561685795,\"scheduledPurgeDate\":1569461795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458\",\"attributes\":{\"enabled\":true,\"created\":1561685795,\"updated\":1561685795,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"deletedDate\":1561414027,\"scheduledPurgeDate\":1569190027,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478\",\"attributes\":{\"enabled\":true,\"created\":1561414027,\"updated\":1561414027,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"deletedDate\":1561414305,\"scheduledPurgeDate\":1569190305,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357\",\"attributes\":{\"enabled\":true,\"created\":1561414304,\"updated\":1561414304,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"deletedDate\":1561685687,\"scheduledPurgeDate\":1569461687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299\",\"attributes\":{\"enabled\":true,\"created\":1561685687,\"updated\":1561685687,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478\",\"deletedDate\":1560217550,\"scheduledPurgeDate\":1567993550,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021753923506478\",\"attributes\":{\"enabled\":true,\"created\":1560217545,\"updated\":1560217545,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221\",\"deletedDate\":1560217733,\"scheduledPurgeDate\":1567993733,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021772195104221\",\"attributes\":{\"enabled\":true,\"created\":1560217727,\"updated\":1560217727,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976\",\"deletedDate\":1560263766,\"scheduledPurgeDate\":1568039766,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026375447403976\",\"attributes\":{\"enabled\":true,\"created\":1560263760,\"updated\":1560263760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170\",\"deletedDate\":1560264308,\"scheduledPurgeDate\":1568040308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026429107509170\",\"attributes\":{\"enabled\":true,\"created\":1560264296,\"updated\":1560264296,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617\",\"deletedDate\":1560267823,\"scheduledPurgeDate\":1568043823,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026780583504617\",\"attributes\":{\"enabled\":true,\"created\":1560267811,\"updated\":1560267811,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786\",\"deletedDate\":1560269396,\"scheduledPurgeDate\":1568045396,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026937854708786\",\"attributes\":{\"enabled\":true,\"created\":1560269384,\"updated\":1560269384,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087\",\"deletedDate\":1560272836,\"scheduledPurgeDate\":1568048836,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027282511708087\",\"attributes\":{\"enabled\":true,\"created\":1560272831,\"updated\":1560272831,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813\",\"deletedDate\":1560274422,\"scheduledPurgeDate\":1568050422,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027441059203813\",\"attributes\":{\"enabled\":true,\"created\":1560274416,\"updated\":1560274416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "5344", + "content-length": "2898", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:03 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "76dc4ed2-ea1f-428c-ab6c-b7d7f0b8bc39", + "x-ms-request-id": "945e7757-60f9-47a8-b259-b188b874db04", "cache-control": "no-cache", "expires": "-1" } @@ -2541,28 +8204,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"deletedDate\":1561686230,\"scheduledPurgeDate\":1569462230,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686229,\"updated\":1561686229,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"deletedDate\":1561412660,\"scheduledPurgeDate\":1569188660,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241\",\"attributes\":{\"enabled\":true,\"created\":1561412659,\"updated\":1561412659,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"deletedDate\":1561415149,\"scheduledPurgeDate\":1569191149,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794\",\"attributes\":{\"enabled\":true,\"created\":1561415147,\"updated\":1561415147,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"deletedDate\":1561414691,\"scheduledPurgeDate\":1569190691,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036\",\"attributes\":{\"enabled\":true,\"created\":1561414690,\"updated\":1561414690,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"deletedDate\":1561411064,\"scheduledPurgeDate\":1569187064,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443\",\"attributes\":{\"enabled\":true,\"created\":1561411063,\"updated\":1561411063,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"deletedDate\":1561415010,\"scheduledPurgeDate\":1569191010,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399\",\"attributes\":{\"enabled\":true,\"created\":1561415009,\"updated\":1561415009,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"deletedDate\":1561415277,\"scheduledPurgeDate\":1569191277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062\",\"attributes\":{\"enabled\":true,\"created\":1561415276,\"updated\":1561415276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"deletedDate\":1561685844,\"scheduledPurgeDate\":1569461844,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685844,\"updated\":1561685844,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"deletedDate\":1561414795,\"scheduledPurgeDate\":1569190795,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452\",\"attributes\":{\"enabled\":true,\"created\":1561414794,\"updated\":1561414794,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"deletedDate\":1561413350,\"scheduledPurgeDate\":1569189350,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819\",\"attributes\":{\"enabled\":true,\"created\":1561413350,\"updated\":1561413350,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"deletedDate\":1561686240,\"scheduledPurgeDate\":1569462240,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561686240,\"updated\":1561686240,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"deletedDate\":1561685855,\"scheduledPurgeDate\":1569461855,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891\",\"attributes\":{\"enabled\":true,\"exp\":1546300805,\"created\":1561685854,\"updated\":1561685854,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "5295", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6567323c-c2d6-4c2a-a866-b4e5926e070a", + "x-ms-request-id": "7b9c6f91-6e98-4feb-811e-943a117ee79e", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483bd8383a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2570,27 +8255,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"deletedDate\":1561686239,\"scheduledPurgeDate\":1569462239,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561686238,\"updated\":1561686238,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"deletedDate\":1561685853,\"scheduledPurgeDate\":1569461853,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1561685853,\"updated\":1561685853,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"deletedDate\":1561685637,\"scheduledPurgeDate\":1569461637,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685636,\"updated\":1561685636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"deletedDate\":1561686234,\"scheduledPurgeDate\":1569462234,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686234,\"updated\":1561686234,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"deletedDate\":1561685849,\"scheduledPurgeDate\":1569461849,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685848,\"updated\":1561685848,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"deletedDate\":1561685638,\"scheduledPurgeDate\":1569461638,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685637,\"updated\":1561685637,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"deletedDate\":1561686236,\"scheduledPurgeDate\":1569462236,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686235,\"updated\":1561686235,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"deletedDate\":1561685850,\"scheduledPurgeDate\":1569461850,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685850,\"updated\":1561685850,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"deletedDate\":1561685635,\"scheduledPurgeDate\":1569461635,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685634,\"updated\":1561685634,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"deletedDate\":1561686231,\"scheduledPurgeDate\":1569462231,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686231,\"updated\":1561686231,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"deletedDate\":1562874910,\"scheduledPurgeDate\":1570650910,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133\",\"attributes\":{\"enabled\":true,\"created\":1562874910,\"updated\":1562874910,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"deletedDate\":1561685846,\"scheduledPurgeDate\":1569461846,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685845,\"updated\":1561685845,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"deletedDate\":1561685636,\"scheduledPurgeDate\":1569461636,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942\",\"attributes\":{\"enabled\":true,\"created\":1561685635,\"updated\":1561685635,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383\",\"deletedDate\":1560276204,\"scheduledPurgeDate\":1568052204,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027619257505383\",\"attributes\":{\"enabled\":true,\"created\":1560276198,\"updated\":1560276198,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526\",\"deletedDate\":1560276552,\"scheduledPurgeDate\":1568052552,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027654046904526\",\"attributes\":{\"enabled\":true,\"created\":1560276546,\"updated\":1560276546,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953\",\"deletedDate\":1560276707,\"scheduledPurgeDate\":1568052707,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027669556403953\",\"attributes\":{\"enabled\":true,\"created\":1560276701,\"updated\":1560276701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591\",\"deletedDate\":1560276984,\"scheduledPurgeDate\":1568052984,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027692061805591\",\"attributes\":{\"enabled\":true,\"created\":1560276926,\"updated\":1560276926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123\",\"deletedDate\":1560278769,\"scheduledPurgeDate\":1568054769,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027875260704123\",\"attributes\":{\"enabled\":true,\"created\":1560278758,\"updated\":1560278758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301\",\"deletedDate\":1560280458,\"scheduledPurgeDate\":1568056458,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028044085404301\",\"attributes\":{\"enabled\":true,\"created\":1560280446,\"updated\":1560280446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799\",\"deletedDate\":1560282270,\"scheduledPurgeDate\":1568058270,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028174986105799\",\"attributes\":{\"enabled\":true,\"created\":1560281755,\"updated\":1560281755,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "5427", + "content-length": "2631", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "914c4416-178a-466e-89e6-04bf236025bd", + "x-ms-request-id": "5af21bf9-91fa-4746-a8e7-641f2ba268f9", "cache-control": "no-cache", "expires": "-1" } @@ -2599,28 +8284,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"deletedDate\":1561686233,\"scheduledPurgeDate\":1569462233,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686232,\"updated\":1561686232,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"deletedDate\":1561685847,\"scheduledPurgeDate\":1569461847,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685847,\"updated\":1561685847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115\",\"deletedDate\":1561686245,\"scheduledPurgeDate\":1569462245,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686245,\"updated\":1561686245,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891\",\"deletedDate\":1561685860,\"scheduledPurgeDate\":1569461860,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685860,\"updated\":1561685860,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"deletedDate\":1561685972,\"scheduledPurgeDate\":1569461972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616\",\"attributes\":{\"enabled\":true,\"created\":1561685972,\"updated\":1561685972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"deletedDate\":1561685900,\"scheduledPurgeDate\":1569461900,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887\",\"attributes\":{\"enabled\":true,\"created\":1561685900,\"updated\":1561685900,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"deletedDate\":1561416018,\"scheduledPurgeDate\":1569192018,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769\",\"attributes\":{\"enabled\":true,\"created\":1561416018,\"updated\":1561416018,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"deletedDate\":1561415954,\"scheduledPurgeDate\":1569191954,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544\",\"attributes\":{\"enabled\":true,\"created\":1561415953,\"updated\":1561415953,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"deletedDate\":1561686157,\"scheduledPurgeDate\":1569462157,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702\",\"attributes\":{\"enabled\":true,\"created\":1561686156,\"updated\":1561686156,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"deletedDate\":1561685866,\"scheduledPurgeDate\":1569461866,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685866,\"updated\":1561685866,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"deletedDate\":1561686136,\"scheduledPurgeDate\":1569462136,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713\",\"attributes\":{\"enabled\":true,\"created\":1561686135,\"updated\":1561686135,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"deletedDate\":1561686091,\"scheduledPurgeDate\":1569462091,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404\",\"attributes\":{\"enabled\":true,\"created\":1561686091,\"updated\":1561686091,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "4857", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "681afb85-c60c-4fd8-90e1-546d69e5b498", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "88fde413-e2fe-444d-9f20-5e50cbce5500", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3dd156a9-7027-4358-a8ff-6edba8669470", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2628,27 +8335,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115\",\"deletedDate\":1561686248,\"scheduledPurgeDate\":1569462248,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686247,\"updated\":1561686247,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891\",\"deletedDate\":1561685863,\"scheduledPurgeDate\":1569461863,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685862,\"updated\":1561685862,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"deletedDate\":1561686250,\"scheduledPurgeDate\":1569462250,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115\",\"attributes\":{\"enabled\":true,\"created\":1561686249,\"updated\":1561686249,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"deletedDate\":1561685865,\"scheduledPurgeDate\":1569461865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891\",\"attributes\":{\"enabled\":true,\"created\":1561685864,\"updated\":1561685864,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"deletedDate\":1561686244,\"scheduledPurgeDate\":1569462244,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561686243,\"updated\":1561686244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"deletedDate\":1561685859,\"scheduledPurgeDate\":1569461859,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891\",\"attributes\":{\"enabled\":false,\"exp\":1546300800,\"created\":1561685858,\"updated\":1561685858,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115\",\"deletedDate\":1561686242,\"scheduledPurgeDate\":1569462242,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115\",\"attributes\":{\"enabled\":false,\"created\":1561686241,\"updated\":1561686242,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891\",\"deletedDate\":1561685857,\"scheduledPurgeDate\":1569461857,\"kid\":\"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891\",\"attributes\":{\"enabled\":false,\"created\":1561685856,\"updated\":1561685856,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd016ZzJOakl5TURreU1EZ3ZNVUUwTWpJMFF6UkJSRVZDTkVKRVJrRkVNemxDUWtWR05ETXpSamd3TmtJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726\",\"deletedDate\":1560281817,\"scheduledPurgeDate\":1568057817,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028180668003726\",\"attributes\":{\"enabled\":true,\"created\":1560281812,\"updated\":1560281812,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865\",\"deletedDate\":1560281862,\"scheduledPurgeDate\":1568057862,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028185168006865\",\"attributes\":{\"enabled\":true,\"created\":1560281857,\"updated\":1560281857,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070\",\"deletedDate\":1560363783,\"scheduledPurgeDate\":1568139783,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036321495001070\",\"attributes\":{\"enabled\":true,\"created\":1560363220,\"updated\":1560363220,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3408", + "content-length": "1263", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b7fdf975-9dff-4ce7-9ee5-372c06c0ee64", + "x-ms-request-id": "064c4820-c280-42e5-81cd-a4ca6349fb07", "cache-control": "no-cache", "expires": "-1" } @@ -2657,28 +8364,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd016ZzJOakl5TURreU1EZ3ZNVUUwTWpJMFF6UkJSRVZDTkVKRVJrRkVNemxDUWtWR05ETXpSamd3TmtJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310\",\"deletedDate\":1560195770,\"scheduledPurgeDate\":1567971770,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019567242501310\",\"attributes\":{\"enabled\":true,\"created\":1560195678,\"updated\":1560195678,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134\",\"deletedDate\":1560195724,\"scheduledPurgeDate\":1567971724,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019571294800134\",\"attributes\":{\"enabled\":true,\"created\":1560195718,\"updated\":1560195718,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "936", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7d3e0600-e35c-445b-8291-34423eca5ee5", + "x-ms-request-id": "f387be73-5178-4703-a3e0-e74794c34188", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a05e3174-6a90-4f2e-8601-6ad6da7b3c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2686,27 +8415,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255\",\"deletedDate\":1560195904,\"scheduledPurgeDate\":1567971904,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019588703602255\",\"attributes\":{\"enabled\":false,\"created\":1560195892,\"updated\":1560195892,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155\",\"deletedDate\":1560196160,\"scheduledPurgeDate\":1567972160,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019614908508155\",\"attributes\":{\"enabled\":true,\"nbf\":1560196154,\"created\":1560196155,\"updated\":1560196155,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618\",\"deletedDate\":1560196278,\"scheduledPurgeDate\":1567972278,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019626145109618\",\"attributes\":{\"enabled\":true,\"nbf\":1560196266,\"created\":1560196267,\"updated\":1560196267,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535\",\"deletedDate\":1560196443,\"scheduledPurgeDate\":1567972443,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019643192308535\",\"attributes\":{\"enabled\":true,\"nbf\":1560196436,\"created\":1560196437,\"updated\":1560196437,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673\",\"deletedDate\":1560196776,\"scheduledPurgeDate\":1567972776,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019676499600673\",\"attributes\":{\"enabled\":true,\"nbf\":1560196769,\"created\":1560196770,\"updated\":1560196770,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785\",\"deletedDate\":1560196798,\"scheduledPurgeDate\":1567972798,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019678704709785\",\"attributes\":{\"enabled\":true,\"nbf\":1560196792,\"created\":1560196792,\"updated\":1560196792,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936\",\"deletedDate\":1560196842,\"scheduledPurgeDate\":1567972842,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019683131108936\",\"attributes\":{\"enabled\":true,\"nbf\":1560196836,\"created\":1560196836,\"updated\":1560196836,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648\",\"deletedDate\":1560196888,\"scheduledPurgeDate\":1567972888,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019687132907648\",\"attributes\":{\"enabled\":true,\"nbf\":1560196876,\"created\":1560196876,\"updated\":1560196876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764\",\"deletedDate\":1560199758,\"scheduledPurgeDate\":1567975758,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019964932000764\",\"attributes\":{\"enabled\":true,\"created\":1560199655,\"updated\":1560199655,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qWTJOVFV5TURJMU5URXZRVFl3TVRCRE5EVkROVEJHTkRNeFJUZzFSamxHUkRSR05qaENSVVJEUVRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673\",\"deletedDate\":1560363271,\"scheduledPurgeDate\":1568139271,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036326049603673\",\"attributes\":{\"enabled\":true,\"created\":1560363266,\"updated\":1560363266,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742\",\"deletedDate\":1560439782,\"scheduledPurgeDate\":1568215782,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156043977101909742\",\"attributes\":{\"enabled\":true,\"created\":1560439776,\"updated\":1560439776,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132\",\"deletedDate\":1560444138,\"scheduledPurgeDate\":1568220138,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301303900132\",\"attributes\":{\"enabled\":true,\"exp\":1560443018,\"created\":1560443018,\"updated\":1560443018,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3405", + "content-length": "1340", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "503771fa-6807-4142-8d48-48dc60d7bff9", + "x-ms-request-id": "8edb0b7a-c7c7-4991-9ea5-2df5db3c0c71", "cache-control": "no-cache", "expires": "-1" } @@ -2715,28 +8444,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qWTJOVFV5TURJMU5URXZRVFl3TVRCRE5EVkROVEJHTkRNeFJUZzFSamxHUkRSR05qaENSVVJEUVRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499\",\"deletedDate\":1560199695,\"scheduledPurgeDate\":1567975695,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156019968394501499\",\"attributes\":{\"enabled\":true,\"created\":1560199689,\"updated\":1560199689,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548\",\"deletedDate\":1560200123,\"scheduledPurgeDate\":1567976123,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020010748409548\",\"attributes\":{\"enabled\":true,\"nbf\":1560200112,\"created\":1560200113,\"updated\":1560200113,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975\",\"deletedDate\":1560200982,\"scheduledPurgeDate\":1567976982,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020097075304975\",\"attributes\":{\"enabled\":true,\"exp\":1560200975,\"created\":1560200976,\"updated\":1560200976,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630\",\"deletedDate\":1560205908,\"scheduledPurgeDate\":1567981908,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020589654200630\",\"attributes\":{\"enabled\":true,\"created\":1560205902,\"updated\":1560205902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019\",\"deletedDate\":1560206019,\"scheduledPurgeDate\":1567982019,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020600810901019\",\"attributes\":{\"enabled\":true,\"created\":1560206013,\"updated\":1560206013,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969\",\"deletedDate\":1560206579,\"scheduledPurgeDate\":1567982579,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156020656741105969\",\"attributes\":{\"enabled\":true,\"created\":1560206573,\"updated\":1560206573,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557\",\"deletedDate\":1560212037,\"scheduledPurgeDate\":1567988037,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021202578402557\",\"attributes\":{\"enabled\":true,\"created\":1560212031,\"updated\":1560212031,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2605", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "cb1d8a05-086d-496d-9523-75405fc42823", + "x-ms-request-id": "91d1d59c-37a3-4238-b765-cfd37d0cbe04", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ebc87a43-dce6-481a-b374-c11ac8ca6a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2744,27 +8495,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500\",\"deletedDate\":1560212139,\"scheduledPurgeDate\":1567988139,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021212284606500\",\"attributes\":{\"enabled\":true,\"created\":1560212128,\"updated\":1560212128,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930\",\"deletedDate\":1560212302,\"scheduledPurgeDate\":1567988302,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021228525302930\",\"attributes\":{\"enabled\":true,\"created\":1560212290,\"updated\":1560212290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638\",\"deletedDate\":1560212547,\"scheduledPurgeDate\":1567988547,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021252900505638\",\"attributes\":{\"enabled\":true,\"created\":1560212534,\"updated\":1560212534,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011\",\"deletedDate\":1560212608,\"scheduledPurgeDate\":1567988608,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021259169107011\",\"attributes\":{\"enabled\":true,\"created\":1560212597,\"updated\":1560212597,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420\",\"deletedDate\":1560212772,\"scheduledPurgeDate\":1567988772,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021275535604420\",\"attributes\":{\"enabled\":true,\"created\":1560212760,\"updated\":1560212760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898\",\"deletedDate\":1560213205,\"scheduledPurgeDate\":1567989205,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021319425603898\",\"attributes\":{\"enabled\":true,\"created\":1560213200,\"updated\":1560213200,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680\",\"deletedDate\":1560213698,\"scheduledPurgeDate\":1567989698,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021368188700680\",\"attributes\":{\"enabled\":true,\"created\":1560213687,\"updated\":1560213687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638\",\"deletedDate\":1560213837,\"scheduledPurgeDate\":1567989837,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021382077504638\",\"attributes\":{\"enabled\":false,\"created\":1560213826,\"updated\":1560213832,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430\",\"deletedDate\":1560214070,\"scheduledPurgeDate\":1567990070,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021397882409430\",\"attributes\":{\"enabled\":true,\"created\":1560213984,\"updated\":1560213984,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFME1EQXhOemd3TURjek5UVXZRelZHUkRsQk5VVkRRVGs1TkRrNU1qZ3pOa1ZGUWtGR01UZEJSRFF4UmpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401\",\"deletedDate\":1560443052,\"scheduledPurgeDate\":1568219052,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044304097508401\",\"attributes\":{\"enabled\":true,\"created\":1560443046,\"updated\":1560443046,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703\",\"deletedDate\":1560480365,\"scheduledPurgeDate\":1568256365,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048034950305703\",\"attributes\":{\"enabled\":true,\"created\":1560480356,\"updated\":1560480356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3286", + "content-length": "936", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d98f4bfc-493a-45cd-a70e-ed8625769681", + "x-ms-request-id": "e5ab41d3-1b8a-4594-86dd-9715f5cd0180", "cache-control": "no-cache", "expires": "-1" } @@ -2773,28 +8524,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFME1EQXhOemd3TURjek5UVXZRelZHUkRsQk5VVkRRVGs1TkRrNU1qZ3pOa1ZGUWtGR01UZEJSRFF4UmpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613\",\"deletedDate\":1560214059,\"scheduledPurgeDate\":1567990059,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021404805303613\",\"attributes\":{\"enabled\":true,\"created\":1560214053,\"updated\":1560214053,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298\",\"deletedDate\":1560214455,\"scheduledPurgeDate\":1567990455,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021443658305298\",\"attributes\":{\"enabled\":false,\"created\":1560214442,\"updated\":1560214449,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127\",\"deletedDate\":1560214715,\"scheduledPurgeDate\":1567990715,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021469847200127\",\"attributes\":{\"enabled\":false,\"exp\":1560214704,\"created\":1560214704,\"updated\":1560214709,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037\",\"deletedDate\":1560215026,\"scheduledPurgeDate\":1567991026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021500992805037\",\"attributes\":{\"enabled\":false,\"exp\":1560215015,\"created\":1560215015,\"updated\":1560215021,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421\",\"deletedDate\":1560215105,\"scheduledPurgeDate\":1567991105,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021508931202421\",\"attributes\":{\"enabled\":false,\"exp\":1560215095,\"created\":1560215094,\"updated\":1560215100,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287\",\"deletedDate\":1560215290,\"scheduledPurgeDate\":1567991290,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021527355207287\",\"attributes\":{\"enabled\":false,\"exp\":1560215279,\"created\":1560215279,\"updated\":1560215284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132\",\"deletedDate\":1560215746,\"scheduledPurgeDate\":1567991746,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021572903002132\",\"attributes\":{\"enabled\":false,\"exp\":1560215734,\"created\":1560215734,\"updated\":1560215740,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2662", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7ea9e3f4-b8a6-4fa3-a832-7af65ee71488", + "x-ms-request-id": "ae12284a-0293-4be9-9c92-d2a9346e4625", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "81c80503-4aa1-46cf-9da5-2759ed043c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2802,27 +8575,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237\",\"deletedDate\":1560216615,\"scheduledPurgeDate\":1567992615,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021643840901237\",\"attributes\":{\"enabled\":true,\"created\":1560216444,\"updated\":1560216444,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471\",\"deletedDate\":1560216518,\"scheduledPurgeDate\":1567992518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021650717904471\",\"attributes\":{\"enabled\":true,\"created\":1560216512,\"updated\":1560216512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UUXhNVGczTURjNU9UZ3ZNVEZFTVRFNU5ESkdSak00TkVOQk1VSTFNVU5FTVVVelEwWkROa0ZFTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317\",\"deletedDate\":1560199870,\"scheduledPurgeDate\":1567975870,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111602317\",\"attributes\":{\"enabled\":true,\"created\":1560199847,\"updated\":1560199847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787\",\"deletedDate\":1560199876,\"scheduledPurgeDate\":1567975876,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111709787\",\"attributes\":{\"enabled\":true,\"created\":1560199852,\"updated\":1560199852,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556\",\"deletedDate\":1560200016,\"scheduledPurgeDate\":1567976016,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725306556\",\"attributes\":{\"enabled\":true,\"created\":1560199993,\"updated\":1560199993,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881\",\"deletedDate\":1560200022,\"scheduledPurgeDate\":1567976022,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725308881\",\"attributes\":{\"enabled\":true,\"created\":1560199998,\"updated\":1560199998,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "996", + "content-length": "1663", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "52f4b3bf-8eec-40de-a127-5c1da2b34e0f", + "x-ms-request-id": "608484ed-a42b-4188-b440-d9eee858a293", "cache-control": "no-cache", "expires": "-1" } @@ -2831,28 +8604,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UUXhNVGczTURjNU9UZ3ZNVEZFTVRFNU5ESkdSak00TkVOQk1VSTFNVU5FTVVVelEwWkROa0ZFTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478\",\"deletedDate\":1560217550,\"scheduledPurgeDate\":1567993550,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021753923506478\",\"attributes\":{\"enabled\":true,\"created\":1560217545,\"updated\":1560217545,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221\",\"deletedDate\":1560217733,\"scheduledPurgeDate\":1567993733,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156021772195104221\",\"attributes\":{\"enabled\":true,\"created\":1560217727,\"updated\":1560217727,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976\",\"deletedDate\":1560263766,\"scheduledPurgeDate\":1568039766,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026375447403976\",\"attributes\":{\"enabled\":true,\"created\":1560263760,\"updated\":1560263760,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170\",\"deletedDate\":1560264308,\"scheduledPurgeDate\":1568040308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026429107509170\",\"attributes\":{\"enabled\":true,\"created\":1560264296,\"updated\":1560264296,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617\",\"deletedDate\":1560267823,\"scheduledPurgeDate\":1568043823,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026780583504617\",\"attributes\":{\"enabled\":true,\"created\":1560267811,\"updated\":1560267811,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786\",\"deletedDate\":1560269396,\"scheduledPurgeDate\":1568045396,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156026937854708786\",\"attributes\":{\"enabled\":true,\"created\":1560269384,\"updated\":1560269384,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087\",\"deletedDate\":1560272836,\"scheduledPurgeDate\":1568048836,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027282511708087\",\"attributes\":{\"enabled\":true,\"created\":1560272831,\"updated\":1560272831,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813\",\"deletedDate\":1560274422,\"scheduledPurgeDate\":1568050422,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027441059203813\",\"attributes\":{\"enabled\":true,\"created\":1560274416,\"updated\":1560274416,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383\",\"deletedDate\":1560276204,\"scheduledPurgeDate\":1568052204,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027619257505383\",\"attributes\":{\"enabled\":true,\"created\":1560276198,\"updated\":1560276198,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526\",\"deletedDate\":1560276552,\"scheduledPurgeDate\":1568052552,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027654046904526\",\"attributes\":{\"enabled\":true,\"created\":1560276546,\"updated\":1560276546,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3552", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "cf471937-ec54-43bc-b123-6ffdc36db9af", + "x-ms-request-id": "7c067a49-3add-484c-979c-5dd58659e146", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "9bc2ede6-63d8-4a6a-ad67-91e498e03400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2860,27 +8655,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953\",\"deletedDate\":1560276707,\"scheduledPurgeDate\":1568052707,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027669556403953\",\"attributes\":{\"enabled\":true,\"created\":1560276701,\"updated\":1560276701,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591\",\"deletedDate\":1560276984,\"scheduledPurgeDate\":1568052984,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027692061805591\",\"attributes\":{\"enabled\":true,\"created\":1560276926,\"updated\":1560276926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123\",\"deletedDate\":1560278769,\"scheduledPurgeDate\":1568054769,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156027875260704123\",\"attributes\":{\"enabled\":true,\"created\":1560278758,\"updated\":1560278758,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301\",\"deletedDate\":1560280458,\"scheduledPurgeDate\":1568056458,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028044085404301\",\"attributes\":{\"enabled\":true,\"created\":1560280446,\"updated\":1560280446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799\",\"deletedDate\":1560282270,\"scheduledPurgeDate\":1568058270,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028174986105799\",\"attributes\":{\"enabled\":true,\"created\":1560281755,\"updated\":1560281755,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56azFORFkzTURRMk1EZ3ZPVVl6T0RrMU0wTTBPRVF3TkROQ1FrRTRNekJFUWtWRU56STFSamsyUTBFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349\",\"deletedDate\":1560439913,\"scheduledPurgeDate\":1568215913,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692705349\",\"attributes\":{\"enabled\":true,\"created\":1560439902,\"updated\":1560439902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134\",\"deletedDate\":1560439919,\"scheduledPurgeDate\":1568215919,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692806134\",\"attributes\":{\"enabled\":true,\"created\":1560439908,\"updated\":1560439908,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"deletedDate\":1561686288,\"scheduledPurgeDate\":1569462288,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686279,\"updated\":1561686279,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"deletedDate\":1561686289,\"scheduledPurgeDate\":1569462289,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686280,\"updated\":1561686280,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"deletedDate\":1561686297,\"scheduledPurgeDate\":1569462297,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"deletedDate\":1561686298,\"scheduledPurgeDate\":1569462298,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1977", + "content-length": "2608", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e91a865e-fdf9-4175-880d-dc72cdd1a421", + "x-ms-request-id": "6bd869df-c807-48ad-b5b7-545ba83b144d", "cache-control": "no-cache", "expires": "-1" } @@ -2889,28 +8684,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56azFORFkzTURRMk1EZ3ZPVVl6T0RrMU0wTTBPRVF3TkROQ1FrRTRNekJFUWtWRU56STFSamsyUTBFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726\",\"deletedDate\":1560281817,\"scheduledPurgeDate\":1568057817,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028180668003726\",\"attributes\":{\"enabled\":true,\"created\":1560281812,\"updated\":1560281812,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865\",\"deletedDate\":1560281862,\"scheduledPurgeDate\":1568057862,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156028185168006865\",\"attributes\":{\"enabled\":true,\"created\":1560281857,\"updated\":1560281857,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070\",\"deletedDate\":1560363783,\"scheduledPurgeDate\":1568139783,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036321495001070\",\"attributes\":{\"enabled\":true,\"created\":1560363220,\"updated\":1560363220,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1263", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ffccd085-f7cb-4078-90b6-9ccd51683dbf", + "x-ms-request-id": "91fb7463-6b46-4f7e-b3f1-94e2b3833af0", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "89cbae7f-51f2-459e-91a1-c75d6c3f5300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2918,27 +8735,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673\",\"deletedDate\":1560363271,\"scheduledPurgeDate\":1568139271,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156036326049603673\",\"attributes\":{\"enabled\":true,\"created\":1560363266,\"updated\":1560363266,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742\",\"deletedDate\":1560439782,\"scheduledPurgeDate\":1568215782,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156043977101909742\",\"attributes\":{\"enabled\":true,\"created\":1560439776,\"updated\":1560439776,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132\",\"deletedDate\":1560444138,\"scheduledPurgeDate\":1568220138,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044301303900132\",\"attributes\":{\"enabled\":true,\"exp\":1560443018,\"created\":1560443018,\"updated\":1560443018,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ESTVOVE15TURreE56RXZNa1F3UWpReU56RTRNVVpCTkRWR1JrSTJNa1kzTVVKQlFUVkNPRVUwT1RRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592\",\"deletedDate\":1561686276,\"scheduledPurgeDate\":1569462276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686275,\"updated\":1561686275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087\",\"deletedDate\":1561685869,\"scheduledPurgeDate\":1569461869,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685868,\"updated\":1561685868,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"deletedDate\":1561686277,\"scheduledPurgeDate\":1569462277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686277,\"updated\":1561686277,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"deletedDate\":1561685871,\"scheduledPurgeDate\":1569461871,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685870,\"updated\":1561685870,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0\",\"deletedDate\":1561418276,\"scheduledPurgeDate\":1569194276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561418275,\"updated\":1561418275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1\",\"deletedDate\":1561418277,\"scheduledPurgeDate\":1569194277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561418276,\"updated\":1561418276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"deletedDate\":1561419307,\"scheduledPurgeDate\":1569195307,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561419306,\"updated\":1561419306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"deletedDate\":1561419308,\"scheduledPurgeDate\":1569195308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561419307,\"updated\":1561419307,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "1340", + "content-length": "3504", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b18b9318-d032-4253-b0b8-8699978fa744", + "x-ms-request-id": "1eaafa47-020f-4f52-8dd4-d74aabe72e1b", "cache-control": "no-cache", "expires": "-1" } @@ -2947,28 +8764,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ESTVOVE15TURreE56RXZNa1F3UWpReU56RTRNVVpCTkRWR1JrSTJNa1kzTVVKQlFUVkNPRVUwT1RRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401\",\"deletedDate\":1560443052,\"scheduledPurgeDate\":1568219052,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156044304097508401\",\"attributes\":{\"enabled\":true,\"created\":1560443046,\"updated\":1560443046,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703\",\"deletedDate\":1560480365,\"scheduledPurgeDate\":1568256365,\"kid\":\"https://keyvault_name.vault.azure.net/keys/key156048034950305703\",\"attributes\":{\"enabled\":true,\"created\":1560480356,\"updated\":1560480356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "941", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "05f8e567-938b-4b39-8862-f3048902a995", + "x-ms-request-id": "bfe0dc5b-0977-43eb-9e3a-44658f8cf74a", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5f9e207a-59ed-4296-854b-c7b860336300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2976,27 +8815,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317\",\"deletedDate\":1560199870,\"scheduledPurgeDate\":1567975870,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111602317\",\"attributes\":{\"enabled\":true,\"created\":1560199847,\"updated\":1560199847,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787\",\"deletedDate\":1560199876,\"scheduledPurgeDate\":1567975876,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019984111709787\",\"attributes\":{\"enabled\":true,\"created\":1560199852,\"updated\":1560199852,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556\",\"deletedDate\":1560200016,\"scheduledPurgeDate\":1567976016,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725306556\",\"attributes\":{\"enabled\":true,\"created\":1560199993,\"updated\":1560199993,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881\",\"deletedDate\":1560200022,\"scheduledPurgeDate\":1567976022,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156019998725308881\",\"attributes\":{\"enabled\":true,\"created\":1560199998,\"updated\":1560199998,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349\",\"deletedDate\":1560439913,\"scheduledPurgeDate\":1568215913,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692705349\",\"attributes\":{\"enabled\":true,\"created\":1560439902,\"updated\":1560439902,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134\",\"deletedDate\":1560439919,\"scheduledPurgeDate\":1568215919,\"kid\":\"https://keyvault_name.vault.azure.net/keys/keys156043989692806134\",\"attributes\":{\"enabled\":true,\"created\":1560439908,\"updated\":1560439908,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURRek9UZzVOamt5T0RBMk1UTTBMMFZGUkRGRlFVSXhOa0UwUVRRNVF6azRORFZGTXpkR05EVkJNVFpGTWpnMklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"deletedDate\":1563396687,\"scheduledPurgeDate\":1571172687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"attributes\":{\"enabled\":true,\"created\":1563396687,\"updated\":1563396687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"deletedDate\":1563396700,\"scheduledPurgeDate\":1571172700,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"attributes\":{\"enabled\":true,\"created\":1563396700,\"updated\":1563396700,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"deletedDate\":1563492865,\"scheduledPurgeDate\":1571268865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1563492865,\"updated\":1563492865,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"deletedDate\":1563492026,\"scheduledPurgeDate\":1571268026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-9863940778048328\",\"deletedDate\":1564680048,\"scheduledPurgeDate\":1572456048,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-9863940778048328\",\"attributes\":{\"enabled\":true,\"created\":1564680048,\"updated\":1564680048,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"deletedDate\":1563492929,\"scheduledPurgeDate\":1571268929,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492929,\"updated\":1563492929,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-33204686425846486\",\"deletedDate\":1565122016,\"scheduledPurgeDate\":1572898016,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-33204686425846486\",\"attributes\":{\"enabled\":true,\"created\":1565122016,\"updated\":1565122016,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"deletedDate\":1561687104,\"scheduledPurgeDate\":1569463104,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687103,\"updated\":1561687103,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"deletedDate\":1561686972,\"scheduledPurgeDate\":1569462972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686972,\"updated\":1561686972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"deletedDate\":1561686397,\"scheduledPurgeDate\":1569462397,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686396,\"updated\":1561686396,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "2321", + "content-length": "4321", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8dd8e10f-2d75-461b-90c0-b433e43d39be", + "x-ms-request-id": "84f47507-8cb8-4f2b-b10b-a2f5ab51646a", "cache-control": "no-cache", "expires": "-1" } @@ -3005,28 +8844,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURRek9UZzVOamt5T0RBMk1UTTBMMFZGUkRGRlFVSXhOa0UwUVRRNVF6azRORFZGTXpkR05EVkJNVFpGTWpnMklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"deletedDate\":1561686288,\"scheduledPurgeDate\":1569462288,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686279,\"updated\":1561686279,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"deletedDate\":1561686289,\"scheduledPurgeDate\":1569462289,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686280,\"updated\":1561686280,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"deletedDate\":1561686297,\"scheduledPurgeDate\":1569462297,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"deletedDate\":1561686298,\"scheduledPurgeDate\":1569462298,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1\",\"attributes\":{\"enabled\":true,\"created\":1561686290,\"updated\":1561686290,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592\",\"deletedDate\":1561686276,\"scheduledPurgeDate\":1569462276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686275,\"updated\":1561686275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087\",\"deletedDate\":1561685869,\"scheduledPurgeDate\":1569461869,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685868,\"updated\":1561685868,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2733", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:41 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e9696c3a-17a3-4787-81fd-b54ebffc5c49", + "x-ms-request-id": "79041ec2-0113-46df-94d4-054e3a81ae83", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8913c0a7-6cfb-4d7b-8dab-b0260fbf5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -3034,27 +8895,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzIhTURBd01EVTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzB4TkRJM09UZzRNVGM1TWpBMU56TXlOU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"deletedDate\":1561686277,\"scheduledPurgeDate\":1569462277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592\",\"attributes\":{\"enabled\":true,\"created\":1561686277,\"updated\":1561686277,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"deletedDate\":1561685871,\"scheduledPurgeDate\":1569461871,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087\",\"attributes\":{\"enabled\":true,\"created\":1561685870,\"updated\":1561685870,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0\",\"deletedDate\":1561418276,\"scheduledPurgeDate\":1569194276,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561418275,\"updated\":1561418275,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1\",\"deletedDate\":1561418277,\"scheduledPurgeDate\":1569194277,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561418276,\"updated\":1561418276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"deletedDate\":1561419307,\"scheduledPurgeDate\":1569195307,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0\",\"attributes\":{\"enabled\":true,\"created\":1561419306,\"updated\":1561419306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"deletedDate\":1561419308,\"scheduledPurgeDate\":1569195308,\"kid\":\"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1\",\"attributes\":{\"enabled\":true,\"created\":1561419307,\"updated\":1561419307,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"deletedDate\":1563396687,\"scheduledPurgeDate\":1571172687,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374\",\"attributes\":{\"enabled\":true,\"created\":1563396687,\"updated\":1563396687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"deletedDate\":1563396700,\"scheduledPurgeDate\":1571172700,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245\",\"attributes\":{\"enabled\":true,\"created\":1563396700,\"updated\":1563396700,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiEyMDAhTURBd01UQTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1RFVrVkJWRVZCUzBWWlYwaEpURVZIU1ZaSlRrZEJUVUZPVlVGTVZGbFFSUzA0TVRNeU5qVTJNREE1TURjMk1qUTFMekV3TWpJNE5USTROVVJGTXpRNVJFTTRORU13UWpBNU5UTkNOMEpFTkRsQ0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"deletedDate\":1563476819,\"scheduledPurgeDate\":1571252819,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"deletedDate\":1561687101,\"scheduledPurgeDate\":1569463101,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687068,\"updated\":1561687068,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"deletedDate\":1561686970,\"scheduledPurgeDate\":1569462970,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686926,\"updated\":1561686926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"deletedDate\":1561686395,\"scheduledPurgeDate\":1569462395,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686361,\"updated\":1561686361,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"deletedDate\":1561723518,\"scheduledPurgeDate\":1569499518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"attributes\":{\"enabled\":true,\"created\":1561723517,\"updated\":1561723517,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"deletedDate\":1561723606,\"scheduledPurgeDate\":1569499606,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"attributes\":{\"enabled\":true,\"created\":1561723605,\"updated\":1561723605,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"deletedDate\":1561687106,\"scheduledPurgeDate\":1569463106,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687105,\"updated\":1561687105,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"deletedDate\":1561723459,\"scheduledPurgeDate\":1569499459,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"attributes\":{\"enabled\":true,\"created\":1561723458,\"updated\":1561723458,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"deletedDate\":1561723721,\"scheduledPurgeDate\":1569499721,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"attributes\":{\"enabled\":true,\"created\":1561723720,\"updated\":1561723720,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3595", + "content-length": "4051", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "35029d44-d2ec-4094-9eb4-6832cebfa3ad", + "x-ms-request-id": "a54837e8-c3d1-48be-a192-10ca4f240483", "cache-control": "no-cache", "expires": "-1" } @@ -3063,28 +8924,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiEyMDAhTURBd01UQTBJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1RFVrVkJWRVZCUzBWWlYwaEpURVZIU1ZaSlRrZEJUVUZPVlVGTVZGbFFSUzA0TVRNeU5qVTJNREE1TURjMk1qUTFMekV3TWpJNE5USTROVVJGTXpRNVJFTTRORU13UWpBNU5UTkNOMEpFTkRsQ0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"deletedDate\":1563492865,\"scheduledPurgeDate\":1571268865,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788\",\"attributes\":{\"enabled\":true,\"nbf\":1546300805,\"created\":1563492865,\"updated\":1563492865,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"deletedDate\":1563492026,\"scheduledPurgeDate\":1571268026,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159\",\"attributes\":{\"enabled\":true,\"created\":1563492026,\"updated\":1563492026,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"deletedDate\":1563492929,\"scheduledPurgeDate\":1571268929,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089\",\"attributes\":{\"enabled\":true,\"created\":1563492929,\"updated\":1563492929,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"deletedDate\":1561687104,\"scheduledPurgeDate\":1569463104,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687103,\"updated\":1561687103,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"deletedDate\":1561686972,\"scheduledPurgeDate\":1569462972,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686972,\"updated\":1561686972,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"deletedDate\":1561686397,\"scheduledPurgeDate\":1569462397,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686396,\"updated\":1561686396,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"deletedDate\":1563476819,\"scheduledPurgeDate\":1571252819,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0\",\"attributes\":{\"enabled\":true,\"created\":1563476816,\"updated\":1563476816,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"deletedDate\":1561687101,\"scheduledPurgeDate\":1569463101,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687068,\"updated\":1561687068,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTNJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JVTlBWa1ZTUVVSRlRFVlVSVVJMUlZrdE9EWTROakk0T0RJMk56STVNalF4TnlFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3533", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fd8efca4-8035-449c-94f9-3e39253de2c2", + "x-ms-request-id": "06cbf50f-8cc6-4f16-8b40-592eaec0e3a8", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "be888a96-454d-41cd-ba0e-45f6288d2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -3092,57 +8975,78 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTNJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JVTlBWa1ZTUVVSRlRFVlVSVVJMUlZrdE9EWTROakk0T0RJMk56STVNalF4TnlFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"deletedDate\":1561686970,\"scheduledPurgeDate\":1569462970,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686926,\"updated\":1561686926,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"deletedDate\":1561686395,\"scheduledPurgeDate\":1569462395,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686361,\"updated\":1561686361,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"deletedDate\":1561723518,\"scheduledPurgeDate\":1569499518,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567\",\"attributes\":{\"enabled\":true,\"created\":1561723517,\"updated\":1561723517,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"deletedDate\":1561723606,\"scheduledPurgeDate\":1569499606,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148\",\"attributes\":{\"enabled\":true,\"created\":1561723605,\"updated\":1561723605,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"deletedDate\":1561687106,\"scheduledPurgeDate\":1569463106,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214\",\"attributes\":{\"enabled\":true,\"created\":1561687105,\"updated\":1561687105,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"deletedDate\":1561723459,\"scheduledPurgeDate\":1569499459,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091\",\"attributes\":{\"enabled\":true,\"created\":1561723458,\"updated\":1561723458,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"deletedDate\":1561723721,\"scheduledPurgeDate\":1569499721,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701\",\"attributes\":{\"enabled\":true,\"created\":1561723720,\"updated\":1561723720,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"deletedDate\":1561686975,\"scheduledPurgeDate\":1569462975,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686974,\"updated\":1561686974,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"deletedDate\":1561723348,\"scheduledPurgeDate\":1569499348,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"attributes\":{\"enabled\":true,\"created\":1561723347,\"updated\":1561723347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"deletedDate\":1561686400,\"scheduledPurgeDate\":1569462400,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686399,\"updated\":1561686399,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"deletedDate\":1561723310,\"scheduledPurgeDate\":1569499310,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"attributes\":{\"enabled\":true,\"created\":1561723309,\"updated\":1561723309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNzIhTURBd01EZzFJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFNU1ZOVVJFVk1SVlJGUkV0RldWTXRPVGN5TURNNU16YzNNalUyT1RjNExUQXZSRU15TURjeU5UY3pNVEF4TkVRd05EZ3lSRGd5T1VReVF6TTJOalF4TWtZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"deletedDate\":1561686975,\"scheduledPurgeDate\":1569462975,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021\",\"attributes\":{\"enabled\":true,\"created\":1561686974,\"updated\":1561686974,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"deletedDate\":1561723348,\"scheduledPurgeDate\":1569499348,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285\",\"attributes\":{\"enabled\":true,\"created\":1561723347,\"updated\":1561723347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"deletedDate\":1561686400,\"scheduledPurgeDate\":1569462400,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387\",\"attributes\":{\"enabled\":true,\"created\":1561686399,\"updated\":1561686399,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"deletedDate\":1561723310,\"scheduledPurgeDate\":1569499310,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768\",\"attributes\":{\"enabled\":true,\"created\":1561723309,\"updated\":1561723309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0\",\"deletedDate\":1565307674,\"scheduledPurgeDate\":1573083674,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0\",\"attributes\":{\"enabled\":true,\"created\":1565307673,\"updated\":1565307673,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1\",\"deletedDate\":1565307674,\"scheduledPurgeDate\":1573083674,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1\",\"attributes\":{\"enabled\":true,\"created\":1565307674,\"updated\":1565307674,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "5232", + "content-length": "3203", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8cc05a65-49ab-4da3-a65c-4c86f3db5d58", + "x-ms-request-id": "52cd93b6-6d6b-43f7-a9f0-c2d792e9ff8c", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedkeys", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNzIhTURBd01EZzFJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFNU1ZOVVJFVk1SVlJGUkV0RldWTXRPVGN5TURNNU16YzNNalUyT1RjNExUQXZSRU15TURjeU5UY3pNVEF4TkVRd05EZ3lSRGd5T1VReVF6TTJOalF4TWtZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"deletedDate\":1563476349,\"scheduledPurgeDate\":1571252349,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1\",\"attributes\":{\"enabled\":true,\"created\":1563476349,\"updated\":1563476349,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0\",\"deletedDate\":1563493313,\"scheduledPurgeDate\":1571269313,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0\",\"attributes\":{\"enabled\":true,\"created\":1563493313,\"updated\":1563493313,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1\",\"deletedDate\":1563493313,\"scheduledPurgeDate\":1571269313,\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1\",\"attributes\":{\"enabled\":true,\"created\":1563493313,\"updated\":1563493313,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1194", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c2882a33-773a-4676-8eeb-e2cea1783589", + "x-ms-request-id": "c12f6234-96a7-4b49-852f-4411fe41a77b", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8913c0a7-6cfb-4d7b-8dab-b0261fbf5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -3159,16 +9063,66 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "cf6f3a1e-6515-486f-8bb9-50cd63f7527f", + "x-ms-request-id": "ab8a849f-e9a6-4807-a15d-cea75e764b56", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:42:07 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:42 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e08f1b66-a347-45a6-b64a-dea7b04304e1", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1df631b4-fe10-4ba4-9c8f-69407fce3e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -3185,15 +9139,15 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "76e0d3fc-54d5-4f00-9281-226fc1cd2082", + "x-ms-request-id": "3745907d-e7aa-4e52-b5c4-4fb800a5bf72", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:42:07 GMT", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", "cache-control": "no-cache", "expires": "-1" } diff --git a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.json b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.json index 898be1e73620..671b671d0244 100644 --- a/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.json +++ b/sdk/keyvault/keyvault-keys/recordings/browsers/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.json @@ -1,5 +1,34 @@ { "recordings": [ + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "77183184-5581-4aee-9d5f-68779d4535c3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, { "method": "POST", "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", @@ -11,12 +40,13 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "date": "Thu, 18 Jul 2019 23:42:07 GMT", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", - "x-ms-request-id": "a6ecba66-1169-4989-b06c-c835718af600", + "x-ms-request-id": "767fb5ad-e2aa-45b8-b315-b154d90b2d00", "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -28,11 +58,11 @@ }, "requestBody": "{\"kty\":\"RSA\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/c539330b17134b4f9ac42e7f7670dec3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0WHibgzWTI7DzoS2WEGheL27yizJwWV5eQNGB4VppDFSc5LAz3LVoUKp5-iv_7QSfAYee7enlKf-DUyJ7FTTrJedSNDJ2PHwsXON7h5xQrrj08nnsg7I48-Eedl0JJzlbYXG00kwOvTfbnWSf70B20OFgWdha7NkrLSt6PffIyw4ykOHzcRVj4qBSPQAWcpyy19wXZwXzTP0pN9hD0XhZ3Qbcqxp-A37q-FFXs6ZZlom3bOIlbbL6OubYfwqOuugTNJzKJcRmZMyB1yPhYpZVbCMzJwqz3bCsEXdhcjU1xhFqGE_MqechzLwKK6H5soPS_qt--WLFLqurSWAfGjufQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493328,\"updated\":1563493328,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/dd0012848164465585428b802ce2aeb5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uhaL3Q6ODR_q4bm0z7SCCz-Q9803JUDwkfM8m3OviU1P-nzrD5JllXjg_LXLnOcWr5V3qQWQuZ9NSlRCLnWWgMOvjAgkAJjW588hevvbD7wCsq9mknM5b_lWs8Pu8l10lgwMmxtk_XxqtHkqvFRyB67mxT8Z0mPSNpluzIvqgK0D7KRG5ApJjOiuP9QMj0uYxnZFeYEOF2ONA2ymVmTi7Jsh4OrsNK2ODtACEK76w6WyFVY---7HVrWWZEBN1DsxfCfmvL-E5fgxzEAKzb7QT_SaP_BMslSJwHjruXkTh59gcF_9GpdRQd2YAz-mBpCNWrEe6Ef1ppm_VF6USJY0nw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307703,\"updated\":1565307703,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", @@ -40,10 +70,10 @@ "content-length": "699", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "0d9d88cb-3126-4a31-9884-b27fc19c4f63", + "x-ms-request-id": "955d1880-c2b9-440d-b87f-28e3ef857bdb", "cache-control": "no-cache", "expires": "-1" } @@ -54,52 +84,74 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-\",\"deletedDate\":1563493328,\"scheduledPurgeDate\":1571269328,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/c539330b17134b4f9ac42e7f7670dec3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0WHibgzWTI7DzoS2WEGheL27yizJwWV5eQNGB4VppDFSc5LAz3LVoUKp5-iv_7QSfAYee7enlKf-DUyJ7FTTrJedSNDJ2PHwsXON7h5xQrrj08nnsg7I48-Eedl0JJzlbYXG00kwOvTfbnWSf70B20OFgWdha7NkrLSt6PffIyw4ykOHzcRVj4qBSPQAWcpyy19wXZwXzTP0pN9hD0XhZ3Qbcqxp-A37q-FFXs6ZZlom3bOIlbbL6OubYfwqOuugTNJzKJcRmZMyB1yPhYpZVbCMzJwqz3bCsEXdhcjU1xhFqGE_MqechzLwKK6H5soPS_qt--WLFLqurSWAfGjufQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493328,\"updated\":1563493328,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "873", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:07 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "18d1677c-6e55-4fe7-b8b2-39e18c90b162", + "x-ms-request-id": "7cc4c332-e01c-4e5e-96f0-f044ea2e4e14", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "be888a96-454d-41cd-ba0e-45f6538d2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-canrecoveradeletedkey-\"}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-\",\"deletedDate\":1565307704,\"scheduledPurgeDate\":1573083704,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/dd0012848164465585428b802ce2aeb5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uhaL3Q6ODR_q4bm0z7SCCz-Q9803JUDwkfM8m3OviU1P-nzrD5JllXjg_LXLnOcWr5V3qQWQuZ9NSlRCLnWWgMOvjAgkAJjW588hevvbD7wCsq9mknM5b_lWs8Pu8l10lgwMmxtk_XxqtHkqvFRyB67mxT8Z0mPSNpluzIvqgK0D7KRG5ApJjOiuP9QMj0uYxnZFeYEOF2ONA2ymVmTi7Jsh4OrsNK2ODtACEK76w6WyFVY---7HVrWWZEBN1DsxfCfmvL-E5fgxzEAKzb7QT_SaP_BMslSJwHjruXkTh59gcF_9GpdRQd2YAz-mBpCNWrEe6Ef1ppm_VF6USJY0nw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307703,\"updated\":1565307703,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "873", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:08 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f8fc8f8f-233e-458f-82e9-4059be0fa8df", + "x-ms-request-id": "dcca4def-9102-42b0-b604-e3eef1a00f65", "cache-control": "no-cache", "expires": "-1" } @@ -110,153 +162,219 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-\",\"deletedDate\":1563493328,\"scheduledPurgeDate\":1571269328,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/c539330b17134b4f9ac42e7f7670dec3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0WHibgzWTI7DzoS2WEGheL27yizJwWV5eQNGB4VppDFSc5LAz3LVoUKp5-iv_7QSfAYee7enlKf-DUyJ7FTTrJedSNDJ2PHwsXON7h5xQrrj08nnsg7I48-Eedl0JJzlbYXG00kwOvTfbnWSf70B20OFgWdha7NkrLSt6PffIyw4ykOHzcRVj4qBSPQAWcpyy19wXZwXzTP0pN9hD0XhZ3Qbcqxp-A37q-FFXs6ZZlom3bOIlbbL6OubYfwqOuugTNJzKJcRmZMyB1yPhYpZVbCMzJwqz3bCsEXdhcjU1xhFqGE_MqechzLwKK6H5soPS_qt--WLFLqurSWAfGjufQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493328,\"updated\":1563493328,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "873", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:43 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2119fc80-cd05-4282-b8e5-e0e08808fc08", + "x-ms-request-id": "3214173f-4725-43ac-aa8a-dcd2ff109579", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-/recover", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:44 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d7eb2535-0c52-43a7-ae2a-e3894bf33700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/c539330b17134b4f9ac42e7f7670dec3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0WHibgzWTI7DzoS2WEGheL27yizJwWV5eQNGB4VppDFSc5LAz3LVoUKp5-iv_7QSfAYee7enlKf-DUyJ7FTTrJedSNDJ2PHwsXON7h5xQrrj08nnsg7I48-Eedl0JJzlbYXG00kwOvTfbnWSf70B20OFgWdha7NkrLSt6PffIyw4ykOHzcRVj4qBSPQAWcpyy19wXZwXzTP0pN9hD0XhZ3Qbcqxp-A37q-FFXs6ZZlom3bOIlbbL6OubYfwqOuugTNJzKJcRmZMyB1yPhYpZVbCMzJwqz3bCsEXdhcjU1xhFqGE_MqechzLwKK6H5soPS_qt--WLFLqurSWAfGjufQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493328,\"updated\":1563493328,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-canrecoveradeletedkey-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "699", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:18 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:44 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "67122ef4-8838-4055-ba07-b39a4e32753b", + "x-ms-request-id": "25dd12c6-b3c7-4e5c-901f-efc6dee9b258", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-canrecoveradeletedkey-\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "113", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:18 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:54 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d8670201-1dda-4bb1-869f-370ccdc20602", + "x-ms-request-id": "ae9332b0-7286-4644-8519-299cb619f6c7", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:41:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8913c0a7-6cfb-4d7b-8dab-b02687c05700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-canrecoveradeletedkey-\"}}", + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Deleted Key not found: recoverKeyName-canrecoveradeletedkey-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "113", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:41:54 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "63be21aa-0a3a-4e25-96b7-10413692bd6d", + "x-ms-request-id": "10235bcb-61c7-4bf1-ab4f-8465a774ad54", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/c539330b17134b4f9ac42e7f7670dec3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0WHibgzWTI7DzoS2WEGheL27yizJwWV5eQNGB4VppDFSc5LAz3LVoUKp5-iv_7QSfAYee7enlKf-DUyJ7FTTrJedSNDJ2PHwsXON7h5xQrrj08nnsg7I48-Eedl0JJzlbYXG00kwOvTfbnWSf70B20OFgWdha7NkrLSt6PffIyw4ykOHzcRVj4qBSPQAWcpyy19wXZwXzTP0pN9hD0XhZ3Qbcqxp-A37q-FFXs6ZZlom3bOIlbbL6OubYfwqOuugTNJzKJcRmZMyB1yPhYpZVbCMzJwqz3bCsEXdhcjU1xhFqGE_MqechzLwKK6H5soPS_qt--WLFLqurSWAfGjufQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493328,\"updated\":1563493328,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "699", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d141e343-54d1-49f8-a0fb-bd0295ec0a7e", + "x-ms-request-id": "27345e62-af66-431b-a082-12a3dc3dbad7", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8a2c6907-c73d-46b9-b159-19883ae56000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-\",\"deletedDate\":1563493359,\"scheduledPurgeDate\":1571269359,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/c539330b17134b4f9ac42e7f7670dec3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"0WHibgzWTI7DzoS2WEGheL27yizJwWV5eQNGB4VppDFSc5LAz3LVoUKp5-iv_7QSfAYee7enlKf-DUyJ7FTTrJedSNDJ2PHwsXON7h5xQrrj08nnsg7I48-Eedl0JJzlbYXG00kwOvTfbnWSf70B20OFgWdha7NkrLSt6PffIyw4ykOHzcRVj4qBSPQAWcpyy19wXZwXzTP0pN9hD0XhZ3Qbcqxp-A37q-FFXs6ZZlom3bOIlbbL6OubYfwqOuugTNJzKJcRmZMyB1yPhYpZVbCMzJwqz3bCsEXdhcjU1xhFqGE_MqechzLwKK6H5soPS_qt--WLFLqurSWAfGjufQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493328,\"updated\":1563493328,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-\",\"deletedDate\":1565307704,\"scheduledPurgeDate\":1573083704,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/dd0012848164465585428b802ce2aeb5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uhaL3Q6ODR_q4bm0z7SCCz-Q9803JUDwkfM8m3OviU1P-nzrD5JllXjg_LXLnOcWr5V3qQWQuZ9NSlRCLnWWgMOvjAgkAJjW588hevvbD7wCsq9mknM5b_lWs8Pu8l10lgwMmxtk_XxqtHkqvFRyB67mxT8Z0mPSNpluzIvqgK0D7KRG5ApJjOiuP9QMj0uYxnZFeYEOF2ONA2ymVmTi7Jsh4OrsNK2ODtACEK76w6WyFVY---7HVrWWZEBN1DsxfCfmvL-E5fgxzEAKzb7QT_SaP_BMslSJwHjruXkTh59gcF_9GpdRQd2YAz-mBpCNWrEe6Ef1ppm_VF6USJY0nw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307703,\"updated\":1565307703,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", @@ -264,221 +382,1477 @@ "content-length": "873", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "cda8af12-d62e-459c-af1b-82de67ae632c", + "x-ms-request-id": "75e6b2ad-f614-42ad-99ab-aedf1c38e3d1", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-/recover", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c07745fd-ed0c-4075-bb30-189aec31d588", + "x-ms-request-id": "5ce2c664-a5b1-45d7-b9f3-2db7cb2713b7", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "6a05d009-3d73-4422-9208-3fa719516765", - "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:42:49 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:42:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "291b7d59-46ba-4125-8aa2-1de34a102d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-/recover", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-/recover", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-\"}}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/dd0012848164465585428b802ce2aeb5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uhaL3Q6ODR_q4bm0z7SCCz-Q9803JUDwkfM8m3OviU1P-nzrD5JllXjg_LXLnOcWr5V3qQWQuZ9NSlRCLnWWgMOvjAgkAJjW588hevvbD7wCsq9mknM5b_lWs8Pu8l10lgwMmxtk_XxqtHkqvFRyB67mxT8Z0mPSNpluzIvqgK0D7KRG5ApJjOiuP9QMj0uYxnZFeYEOF2ONA2ymVmTi7Jsh4OrsNK2ODtACEK76w6WyFVY---7HVrWWZEBN1DsxfCfmvL-E5fgxzEAKzb7QT_SaP_BMslSJwHjruXkTh59gcF_9GpdRQd2YAz-mBpCNWrEe6Ef1ppm_VF6USJY0nw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307703,\"updated\":1565307703,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "139", + "content-length": "699", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "54c0148c-e011-4e23-8865-9759dbb79894", + "x-ms-request-id": "f3f7fc0e-62e9-42a8-9008-fe4610cc099f", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/create", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/944a3df93c584500a0735b8a609e3b17\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7EL4htolKHhTCOXMUYnwdJuuWLjrfsbbIjAO60MfWLT5VAmniWf7cjW3z_HDEyqkHuR4qI3EbSo4UnCRvbXrb-TszwivkcWWGGR_yf8QGUBYek040HfQbmgmZTrZ-BZ9zbQC4lKYE2q_gLHNYNoKXuFjHldVmNsq0FN8Zx75EdD5U3hd7JZO1tV6XaWOmtx-pRpvJUz2aYx9EOow3oVG1XGgqDGxpIlbDmn0QLVys8ijjU-_1OPLK03GTpRZBAsb7s2IQCT_EbtZe2m_lWyA65z2OAOoPSjIVdkWXbWhrY5g1BnpA5aCSuJO8OzqgdF1r3CQ_WDhRY2VChGD5zf10Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493369,\"updated\":1563493369,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "702", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9faf79e4-450c-4b10-88b2-2297e63f5523", + "x-ms-request-id": "9f02107b-0932-4c5a-8406-781575099dba", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/backup", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLkFiWnYxdk5SZmFQS2ZwN3pIb0FfVW4ySjlvM1UxeTJqSmtVUVBwQnFsWnd4eEcyanptUkFJa3QxWlcyZDB0azY1Vl9Rc21TSDhyZXlsRTJ2U0E0aUEwZHJJZ29xUXpaLU1vQ3ZqR3dSeUtyY1hUcDJYdVRMa2tHQ3hvemJpb2szZjJqbi1BcTRpdlQ3Umh6VTlVUnJSM3A1UzRGdjRsOVpJS1lpckpneVhsZjlpdjl6YUJjSnptT3dwUTBqMVRuR3BJd3VaYUNxS1g3WXNyQk1fSHBEQlpzOHY2UlBIbTN4aFJsZjVuSXBJV1dIdXc2Y2lzaV95aTZSU3RjbzFHbkF0NzhseU5leFMyeE16b3BXRDZrN2pSNmpIMTV2azFvbkR0TUV3Tk9vSVZ0MkpJYzdUUnE4VFVNYlRYdGpSZGw2bThGWWlPaDExamxqcjlUck9ud2pHdy5rZ2hhNXRaTTFPWURHX25yMWd4WThRLm9ja2pyV21CMnMyMk1QcTlWY2tyckgxaC1faXp6aGtBSGtCVVBvRWdrVG9UbThiY2N2UVR0LUl5V1NUMEdOZkswMkJ6dHlrMU1fSk5lMmw1OEZhczNqTUduNTlyM2p5OEhNek5Db09SWlJTVHpNT1dCcFNZajJ1bHVQbEh0S2J6bml5RlBSR1NhT3JVS3hpV3VlekdBNC1MMHFWUDh6dUVySG53SlBUUnpMT2dpQnNNTWVVdnZqWkotMnRyWURTNlY3blBoN25aN21sTVRKQnZKYjRVZjhsUDN3Mndra251TTBxMG1scGxCQnJ3THJDdGw2aGVOUkJmV1VOX2tWRHphODlFbEVsSkV2b2Vqd3BrUTlnRmRKcUxyWlhSQWFHaENWNEdWSFJSSTVMNkMxMXJxWUVKUmd6bloxa1ZKU29jWTNjcHBwTzdfOWVvdF8zRXJBc3A2SUFYV0N3VDcwT0tXd0tzWWd3RUlvWmRUMzAtTVlJUEtfRGFybkZnSXNub3RHbHRVSUhUeTVWNXhXU212TlZjTGlFdFNYQnR5V2pRTmt2ZWg5NmF4NFc3SGZrNDBwdHVzSDhUUU5wQVdMSkVVLWc2ZVNPMUlORXZQWWowZzFQd0dORUV2VGx3dmZYeWZIMGpFOFJaLTB0dEdoUGY0Z010RW92cC1hVFp0ajhLeDlndi1IOUtHRUNfYnp5eEJLckIzSVZ0dUlFSENZd0dmSldSYS1jdG1aRWdRd19YdTNEMWFTSkZxRnh4eEF5djBRVHJaSHVLWUNtcFVMa2ZkY0pyd3dRSmVMWWxrZFR1UHROZ0FwZXZvdlE2RlhMdjI3MXQ0eTFnaW1TVFlvdVpfdl9iN1owdGFzWG5LTXVobG40X1BtLXhabGJzMDhhNlNoUm43ZWYtNUpWYXhrTUwxZU8xV3ozSy10NWJSc2R4OXpDcnJrc1N2Rm5tMXBpeFQ5SGxWRVhFTUs4czRZR2dsY1hqbFZWSUQtb3JXREgxa3E3NWh5Ykl0M3hYSzZYUk5PVnY1cFRtVk5TQ2VPZVA4SUVkbXVWWHJqdnNMY0x4M05mb182T25GbXRUS3RXTWluR1BaZnMwTkFtSkVVT21qWVBfY19IaGpZZHR1blRBR1JSbHc0MlFBLWZ4UXFCQ192SHo2SHc3aDRDNjBYdEY1eTh5Zl92SWY4cmtaZXNfZjRHalRiOWU5RW5XalRGQm1HY29XaWdydXoxc1huM1ZhemRkd19OUkQ2anA5T2Nybk15WUxSSTdpeTc2Wnl5alF6VnRGMG9fVFFEUENET0lxWE1WZkdZd3l1cmduQ2F6Q0o1NnlHcllmUzhOVmdkbDZuY1NHSVg2TjN3MXAxRHczMUE1TlFCZHBzX3NiVGUyUVVpM1ZRZV8yamxPRmFuRTBCNE9RZXo0eXlGVm1lQ3RDQXlIekJUbG5qYVh3a0pXTkxBX3ZWQXZEWE9ZSERZUHZjdWZOb0Z0MXVUbEc2U3lwNmdUbG1BNUJ6dzlBejNTaXo2Y2NabWxwV3ptTWpyUXByUU1fQWhVRDRJcXFid3RYMVY1enZuamZPVnlpazlBNExMZVo1Q04xdU9oc0JRSHg0SXBEaEd4MHV3SGphQlFwN211NUQtNVhQb1FJNFFGM2tiOElYR1EzX1NEcUhTRWNXY1JXMHJzLUYweXdYSnFNMXR2eU5RZUZReG9Xc3E1XzVKR1RqdWxMaXZ3amZWcjVYeVFWMUZGWDh3MzhYbjd6MkppOTh3TDdVX3I4UXMzTTNPb3RCMTdPTnc5OHAzeUxEcG5yRTZkeE9jLUdHLUlrYWxtWTI1RHdXZ0xxVXhydzZ1NUNXaF9oOVAwUktpcm56TTdndEl5eE5BYjRhVVFzM3RXX3kyVnkzZ3Axaks5UkhvSlNXNmpIQ016YVBId2dyakxmSXZzRXBwT21USzloZENvVHh0TEtJcEo1TFlJNmZvZC1GbHJzUlppNEM2blp4aF9Zd2RUREVONHFMZmFqcGdYbDFpc2NUQ3RrQzhZeXMtX1pPdEZQZkhjUFJqdk8wT1dBem5PclNhdFZzVmFjcl9QX0hqQ0J2cTNCUFpUUm9qYnBuUXp2bzMzX0g0MU9ROWRUWkh2azNIdmF3YWtGdzFJQk5DNHZtTVRoaEg0SFVIc0t1ejVXNG4tT0o4S1Z6N0JrbmZLa1Z3RUpXU3dWcHAwOUZsMno0MmhLWVNocnlyWEQ2VW51RHRvTGd4Rkd5ZTVlV25mTUhNamVsVlJSblhCR1JNek56NEFGa0ZHYWM5dDYzaXBKRnVZcnFfUXBwajhrUXpQY2IybExodDNFeXNJZXRqZFhZMjlkZmRhbG1LMXBKcjluQWhsbXNrSUdRU3drVVFvbTRiZVJ1cWRaZWVvU3hDeXlFWTB4bGZScE9UMDlWb2dFTF8xWWxLcGcxb0VWVDdEUWFYX2hHano2bEc5WjM1N2lFbEQ4aDhHMEpJc2xXcmx5S05XbnpCLTZNUWZYV0VKLWVYOTl5Uk44a2ZOSHpRWmNILUZiUjctNGU4VXcwa0tWN1VySE82aTBhQlU0LVFURzBVSUluYkhvRy1kWDJMazk2dFhuN0lkT1BvTXQzYmZRalN6V2dudldHODlMLUJwRVRQTWNhZE9nVGJiTEFTVWFQaF9qVnRuTTZTR0RYWG55bmlJUXEwcmc2eG12Vy1ycWh6RVdYclFxZV9IM1p4dnRtM0JYVVJaNWJqdWRuYk5tSjNoZnN4Q1I3SXJScVdyTmUteUZWU2xPNDJPd0d6T3Zuejl4cDZEVEN3R1RmUzJ5RV9uVkg0UWdYYUh5MWNVaWtERl93ZklKdFUxSU9OR2xVLURBZDFoLTRPSnd0T2RTenR1LUl2WkZ3Z2lWR0NRNS1UUDczcEhoYldqRWotYlRXSDFPNjE1MEc4UEMzemxJNGJtdGhFRFlidExfdmdOZWp0anR2RDUtQlpDck1zc0V0YUFZR3VLUFlHdUpQcXRkQ0ZraV9FZHM5QXJiQVMtdUZMNW1VM3RJQ2R0bi1IU3V5Y2JZTWNBVUVITnZ6dkRuQUFzR0tWNDFxWkNpdDhyekRTT3M0b0FpeGo5NkplQ2JkNDZ2SFNFXzNEdmlwSGRtQVZ5a1RsNy1DR1ZvZU9yX1VEcGgzUzkxaFhuSG9KaGJHSHprcHdXTlVYSXZNaExXUW5FcXZ0azR6dFNtVF9RaFUtRXpibGhVbkl5cmxod0ZoZko4aGhaa0EzRW5YZnpiNENJdHUxbXFIczBSVWFMSFJjX0VnODNZWjVfei15LW1jdVVwXzZTbkdDekVZSFBBcUhCaHBZZm1hWEZHb2FyaUZOVnB1cXkzQ2lRU3NlWkdiU2MtY1BGU3h5dFJFREtDeVJBTUhtLWtSaTYwQXd1c0hYaFp0MjZUS1BjRE5kZWRkbzF3eTcwU19wYjBkR0czRDJkSkxNVEN4dHhVRWpPaG82d0MxSjNlTF83VjVmZVR2aUtfYm14RzgyVHlpTjhEemtiSGROV0pIZ21aR0RRUWtGNnRmUVF2LVBWdWN6a3cwNmxuT1NVaHIzRzd4RUV3aW82S2xyOE1zdzJtX1FiS1JQeXBRNVUzUHh2SkY0YkxtVlgwNWpIQ3A5MGVjSk9fdFdxanZHYjNGT1ZaZmV0XzJwMFZ2X0RYUUV1U05jOGRpUWo2V0JyTFlaYmN3aWdpbTdOdnd3alpFbkp0aFVVMDdNZlVLRGV2Qy1sbFVZdXhtdDNSYlEyV0dreUdtejBPVHlZbGptVE1wZkVDSEFMdUFOczJDSGFzalgzT3JUVkFQbWZLWFdMTlF0UGlDNXBoMFpJT005eXhOMG93dlljdVMtbGRtelVQWGt5MEJTajFET0FCSFRNT1NBUEFTSkRIYlFBeWcwalRoRTE2RF9jWEJ4UXpVdDFJUU02MW5vS1pWUnlxTW5lbDNFc01neWhNcWJCa1dKY3VOUE1xZnBqcDQxSVQtZGR5QnFTU05JY2hWMHRzamVhQUFIdVhyTTVfcTEzdkR0T2U2ekp1dFVRcUFMbkxqdjc5UzVjcW9WMGZEc18wTDFBTWt4ZEduWHpfbmowTG4wSE9MTmNrVzRtV25ERnZFaDQ0NUYtYW9yZ3BqTDJkMjJnYVB0akpjeXRpeXNYeUdQM29qX3c1VW1RRGQtX3pjVnFtOUhybENLWWFrUGMzODFBdTZRN214el84Y3NTSUJCcU54SDFUam5QWkg1YzZ0bndjbldRQ2h2ajdUOGNWUU5wVWh1ZGg4UDVIQTh4aExWVVo0M1NsbGM4bDhvM3pmdEpvUmRDRGNiTXdnTWZhSzZVMDN1LTFMWnk0X0JLLTdCMjlEMERKaWVybllrRTJYRTZDbF9ZUjVuN3FiTkF4UlIxZmlyVzhId2ZmRUQtdktYRmdYd3pVT1FHb3VleDcxTHN5c2xMcUtBRTFlajQ5Nnk4T3NpNWZSTlpnSEgyemYyYUR5c2drTkQzcVlNSTZZd0Q1ZS1kVG8yY3U1TGQwbmY3Z2Q1YjdvYktuSEVwa0J3cFBhb0h2VlZMUENmeHBLOElXa1JrZVN0U0ppeGlhV2xnX18zdkxseHd1aFVnOHlURkhBM2RiS0o1ZmNabFNWTlhYcDByMzhXYjZCcmVBTnBuVHF4Y0gxZWxaNzB0MXE4TUJuMWtOUHVSR01NSjkzbC1HZm56V25LeGZGMW1zYnIwV2JucTc5QnlVOVU2X3pzQUh0ek5NbFMya1ozSVJoWHEwUWhqcmZpc3Z4bXI0S1pOcjhycUtxNzVSTUUyVzI1eGFFTjZQWUNkSy1zZHVrMUtSRWRXYWlqTjVXcEFPdUNiYnZmaVBEYnhxMnZodzNvQi1QdjZ3cDRqd3dtVVBEWlZkNDBCQ1JHN1NVZXRNNnRXUVM0dGhDekFEMTB1Y0dha3l1Ylo3a3pRWXBwbHRvZGJlb0VRRzhqTEdNaTA2VTJORGdhQjBBTlRHbmw0ZURINndrV2k0RC0tcURaRVVsd0lrdF9qcXp4ZGp6a1pva1haM3VoVXcxM01UdnFKQkFySWdXUl9HdkRsT1ZoMzNyVFY3bkZKY2Vfc0hWX0xmVmhaMW5VSW5DWE43clp4N0x2UG9tTk10VVVLLTY0X0hyTWxPOGZVNVYzeFIzT2JCeHRCVTh0UngtNF9uSnZyR05Xb3BhOUJUUzdYTlR6Wml3TGJ5RDc0SHVBWmdSWG90VFVRQ3JmOF9EMWJsc1VwVmR4VU5VRURCazlPNkNCdTBUa3FTU1RodDNkeGl6dkFkaVI3bjYxQ1lOU3ViSDhjQU1YN3ZQcU9RdjE0Vy0ySThvLXI2Rm9FS0F2OUw3Rm1kUk5YcFNyOWVNU3hFVng5ZVI1Zi1XajhheEdTUHhPaG94WUNZNEh6UnMxWmVUTFdlZEdNanRrMXJwdXBiZ0x3Rk9sbVZsUUNSczlhRWp1T1pjM2dmZnFsMUhmdjROSEZLek9EX0dPTzdZa25jeGk5emVEZURpNDNiUlRwN0RkZTFRVW5Rd2g2RHh1cUYwcF8xU25pMHJ3SzBqS2RDZnBjSDgxaGdDNW9iaDMxRlVqblZ6MGZrMl96Sno0cVdiTVRWT185MHhDODdKZTMwOTNDWkdONGdsQ0FmV19PTXptanNqUFZnMFNyV2doSnY4N05XLXJ5MmhSNHRGLVRtb2hRMmtIaEE5NlRvQ01fNEZvcjAybEE0bV9YanRlUjRaNkx4QllMMHNRM2FhSl8xcVNmeEUwaGRkV3d1Q3lULWZ6X3ZKdkRpT0FBTXBCeExaZnNSZnpjQlRrdGpENVRaSDI1UzAtUVl0UDctMHBEdzdDdWkzekhvN1NPZU5aajJPQ0tGcWdfcDdpNW1ZLTBJaFlFSTN1MjNVSTQxUElxS1JJQzgwWE1mZW9MVDQtTUxyY3draWpxUEpnbk00Q2xWY1I2dUtad1N5OGZMSmF6czA5cDdwYnlTSjVtYXMwN0RCcXlMNlFzZEk4UHdadlF5LWlPSk11YlFNQUR1V3YwdVRjR040akdtbkltQmlZZE8wLUJlUVRCTy14V2VteXVtZWRKMHlMWERKUDdYTFJfT2ZFSTRDak5nTmZNMGl4bXgtMVlheEVtQm5DZHNUblhuaUtzdW90NTEtaDZtWjI0NjJyZDNPNUdRQzhURlMwZWktckd6eVBnWk5Sd1NfeTIwelVRSjhOUmhzNF94ekJlV0lzSnFkU2k0YlNyak9FdXV5S1dJS3ZUZHU2SWlJNGNha1JFem1uVko1clVvb0IxM1hxOGpZb3RQd0ZNYm52cHhLOGlUcndpTUR4QUN6TUw3RmpzcG9BUi1wWExrRHFwcDBrenRoVFc2MVFlNkNJZjV0Vzd4ejBnYjZUZFBrWnhsTTNzUi1DNldsU1VHVkJsa2ZfeHBPR016dDVKdmZEUnVGZlVuVHYwVGdJWFVCTnBDVUcyc25ITGFjTXdteEMzdDl2WUdYek90UlEzT0RkVlFkTnNucWwwcEhDdllmQ3VmZnFLVmREN1pOZHBpVTVpNFN2MGtkS1pLTW1sWGZpYllsbktxOXNRMW9pYmJSX1dkalBrb0ZKZzZOTkUxcS1kbkRCVG13WFdEb0FEdWZfNTRSdkswSWZfTDJtSkJ5c2JpQlMxXzVhSjRvVGNiR1VPYS1vR1Q1amNHS0czdGxZRXFNZ1g5d05nUVZkV2NCdHRjcHVoR3NkcThKSW55VEVabElmRzhpbmNaMklxM2tjcDd5M2lQajVPeWEwUHpsN0RENUU4XzctWjFreENiRDk3QmdSTE5tWnozcU1BNnl1eTE3UEloX2hyaUhMb3NvUFdiRzlmQ3I4cjY1eEVrVzZxTnNDSzYtZHUxTTExdEdBQWFCRV84QmNscWdhZElXa0ZNbHBUckxXWkNGaExxbWI0eFNyMkpmb3lpUHFuQ0xzVEZybTZybENCeHZlSjZzTkZYZ0lCci0zUWpfd2I0OE1MQWNvdy1qZ3hiVjJtelZsVnN3S2Zqc1BoWHFySE44cWhraG9TV2JXZDE3V01BMVlpQ0ZOVE42UkRNeTJLOFBVODBuTGpHOThTUEpEdGhINS03SURsVUJ4QzdHWXRjQWxoNHFTak1nbWJkbVZKSzNhUndkeVhyVHBxTkdhamNLNzR6bXRuWlNOeFZTd0FkN1BOQy1iN0w1elI5RE96eU9vdUJOajhmc1VfakR0MFplNXlxZm16ek9XdGVMQlg1QmFjendFRHFVY3BGSGNhWktXMkNPRjJCcUFPbkt6bTd2QXFQOFJqRnhkdmVwVDJ1cGRIY0RNMVJSVUl1azF3T1dpcjFpcGdIUDgyRzdIbEMzdHNTUEV2ZHJRMGJXLUNLNU05RFprSGlRZlhFNUlsRFB3R3RBQkwtMUljbGFJLXR3djJ1QUw3cTM0RHlkQ1psWmtjRVFQd0hTWndCS2ZaQjJVbXppWjdvcEl0MmZNMnJJNGVmUVYyLU4wVVl4N2FCUkVYckJKQVdzeGgySGtYTG5QNVhhc3pvNG12clRhZDJyWURidzB2NWpQSWxZVGVFMHRlZzM2dTdpaWlERXpZZHdyYlVyNmo3Zm1FbVR6QTB0Z3JoWm9ER3AzQWZlc2pOcTBWbE9UM1RNUDZSUUppdFdGcmh1RU9DaUlrMjZYTDRyTkExNC1sYkpGd3VwY3pTUE1XVmNDWGlRQ2IzWmRucDZEWGhwd2ltaHMxY2xucWdCbHJHVmQyUVpDaFhwYUpFTDNDOUVEbTJLNVJTNEotR0tkemVQMWZvejg1WmI5dXhWMzJEakt1WU5wZmlBWnA1SERwUXhXZEIyNTR5cUF4X3U3M3dKWmMyYWN2NDVCZjFFcFZ4NGtqOGNkZW5RYlhsdTRwbVljMTVlLWg4WjhnY0FQX0ZZcFJuNnc5eUplZ0V5dE5mMmNUcXk1SlBHZk9BS1dLZmdfQVlKSXU3T3hBNFhhSVkxcHdsa1NIS1Voc3NiQ3R1N1h0ZlZIY0pyeTZkZUVuVUZXNFE0aVFWaFQyQjFFUW1OZncyM2Z1VXc0SFpFMXFfcU5MQnF3MU5KVV9HX1JjYVN6dDl1a1JWTUxPaUM0SjlMZkMyMHh5VVhpdU9EczNDWHZWcjRiaVh3NnRQT09ENFctVVU3eFdOeUpHWG81VTN6YXgwdl8wVkRlOFBtNjRPWTg0ZWRZVzl2c0s4V2d3N01wbmJUYjc0OG1nbGx0N09qTDlJcnlPWnVPcjNBRU1BWVQ0V0R2UVN2ZnpId2dBWnFKRzhoUm9wQWJJTDV4V0NObEVSb09VWUtRaWlnVG1vNEpHYWJjd3NEMjVYUXJHNkJOMXdmRWZyaUs1bl9oOV9zdmtwRWRLMG51SjJzdUJmOUhubE94X0ZzaFdOdVoxbHd6TXduaWdaR2hyNmw1WXVMUHBCcUNlNUxiejB4RlM5SVhZLXBHdE9RUlp5SUxPNkRRdzY1M3NEM2NRU181Q18xdFFhdEZyRVBleWhxYXdjZk51eDdKQ2JSWVdDcUhtQXRMZmtFVGVjWVh5cWRlcE13Ulg4QkxtVUhrYjVmQXpadXhRNmQ4RG9UUkd5UWk4SUF1aERYMVY0TVNfZkQzNFJPYVY3ZVNRTkFHTFBYVXd5WWxhWmU1cWtJd2NzaHk4dk5jRUlLZHpxNlVNdGhJaWpNWW1raFNNWDZWRFdxWmNNbVNNOV81dG5CUTBtbnpHc2ZQRk9HWnJoMTYxSUVram5lODFsMW9UcjZLN2xudi1jTGo4MU40VmhlSVlxRWlKeWt1MnA4Ynk2YzY4MFcxN2pZZGlBZFg4UmNoQ0VLTUs3MHg2QUZ5eGc1N0dSYUFiR296TGxsUU12TzZnb1RZWi1qVFJNdnpzRGdJUlg3ajhyV0t4Mm5yVU1VRTlZY0ZaS2tMQjltSjhUM3BmRFN5aDg4Y29udFdmb0hXdEdDMjhIbEhtekRuWFg1VndYX21fSVZ5UklKUGxCRlpZbHVpalBSSmpYci05LS03VUdUWVN3WUxMUVVEOENReE53VnVXRlNPQlNRMVVmazd3Y2lFQ1owWEtMekpNbDJtYVJ4aURtT2VSeHk1UjdRc3k4dWNLSnFEUmZESkpneHJPZ2w1eHpMeFhJcWlfbUN3Z3piazBaeVNva05hQ3dxWXFiSUdhdmdFN1AzV0E4WkV4aVhLVk4zODFPZExDdm1UbGo2QjA5eDVJZ2I3RE90OWFVWVh3X3FMd2ExeU5xMm0tV1dsV0t3dTRQZF8tQmc3LUFqNnM2bWtiT1U2OVRqNFQ1QW94THVBd1ZFNFZJWmt6VHFacFVJRHcyMWlRaDY2WmZSQ3U0bURIUl9kcG9XdDRCamxEc3FBRmFjemcyaE4zcEkyYVpEUXItcmJ5NGdfMkNoTk9HN2t3Nk9lRDZvc3lOMDBPb1JWNTh2UWZHcVgzdTN6SGlPb2s4clRHYUtveFRNY0U3SnRsS0d0QjlJdmt5aTBrZ2Z1NEZBNlJicFYzNHdPWVNGTW1yVDZIRGQ5M0J0VG8teTJFUU16dGZfOVpYai1LTGhjeGR0RFVRcGdlbG1nNXZ2V05XTjJYemxrbHZfWmdYRVpZak5RUTJCZzVTNUNPZlY4aWxGa1dTbldobEoydVFqYU5uelFtS1AtLWZ0TFRDWFIweVRHVTNqM3pmS3lnUTRYSUpJTWZyZEU3VklWdTZvUnVKMkM4UTVlWF8yMzEtaWswcDg0R2lVSk5SSTRMZk1TbEd5Ulk1eVpWazJKY0YwTkNsQ1RlVHFOc3Z0Z1NtcGpIR2RRSXJBeXBaS3dnejFWbG9OSXZtaWp4Tk9fTmpXYnFicS1YTVlnbW52cUJfb01UM3hYYkJuT0NUTmZBeXFmYTVCcERMOVRQTlZJSUFaakhYbVNZYmF2Z3BaZzE0Mk1PT2lVNm1oNGlSUGZTQXhnQWRaMHBrUE50T2Z6eUl5eERHTEdBOHRvTjZzSHdWWlZuMkxhelFlb0dCd2pqRmxDSjhrZEVFNzJOazJFa0hfMTJfSXlMSHZsb0hSSExMTjUyQzhPQUE1a1pZOFpGSm9HcUxFRmZrci1WYl92Y2xYSUZvMHplVDNyd2l3N19oS3A4RURCeTVnYjFORlFidFRyTlZwaEdsNU1GcU5ydkJHX210ZWNhcU0zOUhIU1NGUFN4OTdQUE11bTJXRkpMdksyT29kT1hpX1ZDYV9hVDB1YnVHeUpHeWxJLXZjYmFGeHUwN2J4dXhON0RxYWdhbWFiaG5ocUNfZmZxV19DR29rT2FTbXNqYzB0RVBWTHpYREFnOFRrbThHM0hoaFpsSEplLUlzNE05b21CMVhEUG04bVlYOGZGdzB2SWRWeWZXa25FZEFJT3VRSW1VSm8xZ1R1cEk0UFhGanNWM05qNlY3NzdVeWk4aV81Nkw5REVzdmVHdmgwcnczcGFiQnN0Tnl3RW8zVXA3c0hnVTlPM0FVb2t0b0pNUWpuZ2J4VllSTHB2NWVpTlUxUlJEa09hbnJaVHJUQkVMR3d5WG9xMFBLdkU4REQyUWhIZ2FJMzl5ckFmYlZPQTN3VW1TLUtGMklteUJGSDRrVjRxdmFuVXR0LVV1TGlhRHJLOVN6ZlF4enhfUzJsREh3YUNzdHVGUTJkTkFyWWZER2dLLTF3OW14TE1XR0ZtVUs3clFmbkt3WWZ2eUYzNkpkRnVIRkp6elBxOG9xclc2cC1tQVZuUHlZejZSc2NfdFNULVE2SVpVNzVSbzdCekMwRjFpSkRUSlMxZUlOTjVDZFpBVkI5bG9acE5vRmN2ZHRxQ05JeS1OMUY2clM1bmRfcWx3azFobDBnb0NKbXphMlFaTnFuTW5nS0praEdDWDMybGNWQ0FJYUtDZW5uWEo1d2dFd3hUNkltamJUM2sxdG5BZlBoQ2xpQ3MxeC1weUN4djhZRXA3SThuT24xM3hKTldLQS4tcXNMRDZjY1d2S005MXpwZmhaeFdn\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "11688", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:49 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1df631b4-fe10-4ba4-9c8f-694035d13e00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1a01e384-83fa-481d-94c3-441b3fdfdf84", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-\",\"deletedDate\":1563493369,\"scheduledPurgeDate\":1571269369,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/944a3df93c584500a0735b8a609e3b17\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"7EL4htolKHhTCOXMUYnwdJuuWLjrfsbbIjAO60MfWLT5VAmniWf7cjW3z_HDEyqkHuR4qI3EbSo4UnCRvbXrb-TszwivkcWWGGR_yf8QGUBYek040HfQbmgmZTrZ-BZ9zbQC4lKYE2q_gLHNYNoKXuFjHldVmNsq0FN8Zx75EdD5U3hd7JZO1tV6XaWOmtx-pRpvJUz2aYx9EOow3oVG1XGgqDGxpIlbDmn0QLVys8ijjU-_1OPLK03GTpRZBAsb7s2IQCT_EbtZe2m_lWyA65z2OAOoPSjIVdkWXbWhrY5g1BnpA5aCSuJO8OzqgdF1r3CQ_WDhRY2VChGD5zf10Q\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493369,\"updated\":1563493369,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-canrecoveradeletedkey-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "879", + "content-length": "113", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:05 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b58b2489-b82e-432b-ae09-4836e179ab80", + "x-ms-request-id": "71192e5a-ed95-4f7f-9598-30ce8aa0e765", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:15 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1fd63a3d-4390-4f13-9cac-b2ae08c6e7b4", + "x-ms-request-id": "3baf61a5-6531-468c-aa5a-7d35d61ffa16", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:16 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "62833b5a-8cab-47be-b39a-cfe1b4fb2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-canrecoveradeletedkey-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "113", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:16 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "04c85e93-08bf-4895-a957-955d2e93af9e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "14e32ad4-f28c-4e4b-af25-e993ceeaa27a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cc47cb4c-4734-4cce-a598-b53a3e842b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/dd0012848164465585428b802ce2aeb5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uhaL3Q6ODR_q4bm0z7SCCz-Q9803JUDwkfM8m3OviU1P-nzrD5JllXjg_LXLnOcWr5V3qQWQuZ9NSlRCLnWWgMOvjAgkAJjW588hevvbD7wCsq9mknM5b_lWs8Pu8l10lgwMmxtk_XxqtHkqvFRyB67mxT8Z0mPSNpluzIvqgK0D7KRG5ApJjOiuP9QMj0uYxnZFeYEOF2ONA2ymVmTi7Jsh4OrsNK2ODtACEK76w6WyFVY---7HVrWWZEBN1DsxfCfmvL-E5fgxzEAKzb7QT_SaP_BMslSJwHjruXkTh59gcF_9GpdRQd2YAz-mBpCNWrEe6Ef1ppm_VF6USJY0nw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307703,\"updated\":1565307703,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "699", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "69ddcded-e625-4b17-ad23-0c0f4a495bca", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3e1aee70-0447-433b-987e-71bdf797ea68", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7bda4336-ff28-4906-bffc-88797c343000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-\",\"deletedDate\":1565307746,\"scheduledPurgeDate\":1573083746,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/dd0012848164465585428b802ce2aeb5\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"uhaL3Q6ODR_q4bm0z7SCCz-Q9803JUDwkfM8m3OviU1P-nzrD5JllXjg_LXLnOcWr5V3qQWQuZ9NSlRCLnWWgMOvjAgkAJjW588hevvbD7wCsq9mknM5b_lWs8Pu8l10lgwMmxtk_XxqtHkqvFRyB67mxT8Z0mPSNpluzIvqgK0D7KRG5ApJjOiuP9QMj0uYxnZFeYEOF2ONA2ymVmTi7Jsh4OrsNK2ODtACEK76w6WyFVY---7HVrWWZEBN1DsxfCfmvL-E5fgxzEAKzb7QT_SaP_BMslSJwHjruXkTh59gcF_9GpdRQd2YAz-mBpCNWrEe6Ef1ppm_VF6USJY0nw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307703,\"updated\":1565307703,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "873", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6f98e909-0f7d-4df5-8bff-b0845cf55170", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "948fd4b8-716e-4732-b4e0-783762cf8ec9", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "35cbcc9a-d5fe-41f7-8a5b-f5611ea03700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:26 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "70a53814-e7f6-4079-b760-7c7c2960b726", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5473ec67-d86f-4e78-bd21-74761068fc71", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "be888a96-454d-41cd-ba0e-45f621932b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "d4afc80c-846c-436d-af72-8a7b2b7ed6e0", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-/recover", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "62e73d31-5500-4f64-800d-c056c1a063dd", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "1fc78c5e-b35b-4544-be04-3a6262f22a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-/recover", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "139", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bda7ef52-b23e-4edc-b82d-2c3012e5c1b9", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c175b37d-6a3c-4959-8351-f5686dbc685d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e2973287-0ea5-49cf-9270-f14198772b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/3a66f2bd38c64432964d6f7c881f77d3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"zWz2YyIG_6xxEWZ8NMBE1bjLfrzmz4C9cTgTZ_G4YXwAaJJn-nb9OnOxG8W7MnC27nOZd3LqpxgzLQ62Y8g40uEV0LLQXLZ0l_bj-dhK5OQm9NkHSjd5D7xEA8RnvUMMMKhgr2PygBFNSHeeV4Y40i_xoMIUcKw-02Yj394-UWb46KJHlP2L9Stqpnnxzcj8oEcMDRgWyP1Sd1-8uy1aRFXIW2c7501Hmi-sJWC4k5CXNbKBPGpc0JXTOqTMHD015yoXTagyHkFP3qzb4fFUuHWWYi1tSW3csc_dnrHT34gSkpETFgQ9NdL_tFvhxDe_PHDwoIJCCzybkMqNMOBvJw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307758,\"updated\":1565307758,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "702", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "76a3c27a-fb51-47f6-89a4-ff258156511e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "04a8539a-ffe0-4ac1-a887-23dfeeeedd65", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:37 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c337f49a-65f5-4657-a1cc-710acb682c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLkNsNHktb095bERLOUFoX08tV0prd0lHZFU3WFd1VVR2d1hMbWhjeEhneFctR1RoQmo5SUk3QVlmcjM0c0VZdktjbTBpVTU1cGxCbVp3ZHJjUlRyYVIyemdtUWctYThFNkt6cDdWb2ZDNC1mYzNiV0sybk80SmMyTWN4YjdFSUVldG83TXR2aFpvdjdrZ2ZiT3QxVXQ1aUh1aTdGblpXaENMdTc2THhRRU9CcnNzaUVzSmpIbzNTOUVqalp5RUNyR3paWHEwOW8zd3VSbjN3Szd4VFlZRGtlRW0xRjJYVGJ3NWk1MW5YekhnT0JmZU5jYzE3NlhZOUhyQ3hiNGZ4YmdIeFJ1Yjc0eTFaemhsM1k3MmZ0UTF4MXp1bnllVWJCdkdkVzUxNDJRZVpOSWVSSld3MHYtRFl6YXhWSEh4UUJ0Zjh0SGk2eXM0XzFkcW5KbmlHT051dy44cWdhaXJpRXlGVXROclRxR3pZTzNRLktYUnE1Zjhib1FIOXBnUXotWlFES0dNMkZ0YlVkSmpERnFlbHowNk4xWm1CdGtMdEx2a2dicTA3OGpILVBXYnluN3BwTzZRRDJwTnpVd2Y4QnJyYW50c1ppQVA4Um56U080bnlpUjdaRVdFWmlFcTdxMHJmQzR4MThaSEZPM1poZDVXTXd4S2FLVWFPSHE0Rm5qbnBRY0V4NW10b2RlY25oTW1pbVMzcXU5X2R0ZFBoUHY3WldfWUxXV3dTS3Z6ZDRGcWpRWWZvNFUyTmhzM3puWU5EOXdtS3RaSS04dEJCNFE3WEJaSHVBR3JBVWV2bzUwa2tHMlVuaDNyWE9raG5yY0NrcjZjYVZkNjYxaHJLM0pJOXFpSW90VFJHY215WFJ3NDhvSDlZb0cxdUFnVmRzU2R5V25jWlVzcnlsTlRCa3lRZGhZc3p3M3MyLUlYNkxBa1hmdGk2NWFrX21DYUt4aENvYkVUa1dlc2txU1VuM1E2WjB3ZkZhZi1TSHp4TlR6cXh6OEphWnlDYW93UGhkaHA0MlcyUkk4NjRaY0tJanJhdnNNU0x5dV9NM0V4czVyZ0ZaRkVEbWtoTVFDaUl1WU9ycnJOWWFmLXB4NHBjMmRKTHBhR3NZUWRES1lQVlgwc0pvUnMwQkc4blpUa0hsem1sd05zYm52NUFtUDhLM2J2MFRoaURQV2d4OTg1eWVRSjVqMmtnU2hJY1hROVZFZW05RVFlaFFWcTJMM0sxRXpmNVhpTUZGTDNNdHlwWGhTWkplQlVSNVVENThrUnFPQnYyY2Y0V213TWd5TEFHamVma0otSzE5UFNUOC1fb0ZlOVJCVHRqV0FMVG4tbFJReDJsdnZVb2NCWmJId0xZcmt6aS0zdXlIdjNFdVA4Z0NiRk1hSU5SWUxFMk1Jc1BEYjdzeDhsMllCU0xjZTg3ZFJSNzdTcXprMmxCdVpCWVVoUFJYUWxXVGlJMXd1cW1ibEJ1eUczRXQ0Wm1QZXl0ZU9ySVRIUVF0LU02VTdtT0xqblZGSUE4VG9xMHhZbTJmNW1OQ3hDakZOUnBpcGhRT1ZoNDk5Y0NpVmtUZjhLSW13VFJVSTJ3S2RvMUpFWUQxR1hidE9kYmp2NDlKaFBjazZqa2tZSXJKU2k0Z3JFSGkxYUFXaDRHU1MxQktHRkV2Zm9pb0h1aTRERVRDYkR4b1VqRzBKSFJzcFpjcHh2SUwwejZYNHBxZ1ltcFZlNUpyNUtpSjBmWTZrVDJ2MExyM1U3NGdzN0IzTlRPejM3M1dtVzFTYTJXcVFDdXR4RmJZc0E5MzJoYk5SRjNDVWZtM0RPZV9SMUw2N3B5Q1JXamhCZS1FVWZiVllITFd1X3Nubzc5dHl4ZVBJdUpMQkE1anBXMEJWUWJDZTFSZk15WWxlNGJCRmpEcVg0NGFfaFZTUXR1dUM2aXNlLUhjY20yMFc5NWJSaEw1bzF3XzJ1bUZqTEhtNWduMDFOYmo2Tml5eWc2OGNyZi1JS2pCLWNrOGEwVWN0bEFkSXBYWmRnOXlpQWFhVGJxaDV6LUp2QldzYXZLRkdRRGhyOHQ4ZENjd0V1OVlQcmgyVEpMbDUwUEFtdVRoSDYtQklsb3c2SnJvTlJJX2k3eU9YZTBBYkJkQUZXdmZsT2x4ZjQzZ1FrelQzalo0ZDYwTGc3aTA2UVViZ3NFeUFTWDVNcFE1eWx4bGxrYnBJOGZiQjcxbU1mcjVmRmRFZVdhazFmTzNLZWk1c0p6dnJFMDZWY1hCNVZqNG9RQmFDMEdsakpidXU5LWNrb0ZKbUZNbGhjbE5SWlU3eVkxN2YxYXlWbnl1a3FZVnpFbnhpb3N2SWNGYmVDeDBXWVlRZ1l1SW1md0dldHk3elBZaERzcGVfT2hPemlPY1dQQXpWc0pMcGJUaDFOcWVrd1B6M1ZDclNwWVJoOVJGSEtwbXFvQkZnenh0Uk04QTFLZzJ1eXdScmNVcjRvOHdWelhZVHJkbXRyT2Uwb0F0YUNXa3lpdFNQLUo5LTZkRnozWlBNLUdTbVREaGVDeDhSN1dsNk5hWVB3eWZsUDQ0R2hHOTZsLVVmSy13dUZmWGV1Ymc0VWZwX2lrVkFVd2puYWdhYUJJVjU5RTdGZkMxajhVd1M3NDZYUzJSSkRhSDNOYVVzTTExMTVQRi1qZUI3eEw3Y3VybDI3QTlYTEpzUzZVaTE3dEMwZEpMU04xNVA1b0VfNUo1X2ZKV2ZTdlBfTXBhMElsb09naXJpWXFDODM4WkprWVlxeHg3NTRjdF9Oc2EyTVpOc3NpYkdqOGN6TmlqTjFIRWJpQjAtZENFS3pubzI2cGFaYXlabFVRa24wb1YwSG95WDZheVFSeWxfY3VMeER6anJmemgzY2pseTlsT21JMWFuZUE2aTgwclFpdU5mc1Y5WWJUVXVJY2dEb0pQVnFmc1lvRTI0am5LT085SFo1YWtqQjVvNm9TTjlKdFVNX1dxNWZNRjJjVzJrTF9xT28wU3Z6cDY3bE00UTJtQTJKdU5oQUV2WHRSQmI4Y1BZYWhGZUUzVmZjY0k5TS1aXzlLbzA3bkdDRmNWNWswUlZSRUxHcXJjR2hLcUJIYTk5eGI0QU1ic2dpOER6eVhzWjBtRmZvNUJuR3pyU3ZCekdmenNveWNGeTBLc282ZFZkZkpGaVBvWUhzMnhkSjZEbHZwU0xaX1puRjNPay00ZlFDMjlhVGdZT05aYkdJbFk3b1ViMWQtRmhhNTdPRDhMYkpMX3BCQnNDbHBSQjhwTmJmQXVlZWJXUUQ0cVp6UXZfWjdEeTl3TkxrT2ZDNDRjVk1hZkNBWDdYUW5RMHQ3c0Jud2dibWdjenpjQVZzRnNnODZjcG90M0k1YzFnRzVDWHJNaVRyZHBuQjN3dTN3UmR1NWFQd2lFdm1RT1Q0ZHQzdUtnYXh0M0lYZVBMZWtudmVWU0tfNzZ6bW91LXJKcDlNQUZUV1M0OGpLRzltUUZyNldHS2ZxMy1nUUFnZ25NZl9FbmZLM2xDSm5yS3dkRjNydXZXUjdKLV9qekREVEZrNllncjdoOVNJRE1JN2lCRGVaNGh2TUkzRW1SSVJfVHcxMDFIbmdaS3BPdWdIeHhISzlPbV9OU0FYTjNNUF9rSWs0VzhQam11UEVtMWpnVllvNnJVYy1KMkpPRnFlZ080SDNwREtsVFB1SnJmS1VlYWRoaG1USDlqTTFZZDdSVGNVWnNtdjRRTjR1bGpuRHJlZEVER0FSaWlwVHZBU2VkWDU2VllKSmpkVjZucGlTOXlkTlJsOFZ4ME9sRmJDRV81RXZueXNzSVczZ3QxcnV5LXF4RVlTekpaZkE3WXVRMXRUMGdZbEM1WlZLdHhHaG1iZVRKUklwdFB2eTlodTF1ekVLT0pCM1ZRUlE2UjVtMGtvUDlrZ18yQU13Nk8zTmxnR0VSRmkwODQ1UU5La0QxY01fN0dQZ29WRnIyR2dScHFrTGZPWDlXdGRfOHRUaVQ0V0dRd0xjbW9lMGhnSjZZR3BLWG1FblZTUVp3am81cFpZVmxkT3NZelhQVjV3MlZfdThHZmJqamxKX0FxUHI3REJSQlhvbDdBTmRhQ3NteTROSHp4dlJlYmlGTnAycHJ3eVJpeEM1QjhoeEhRMTZjcmZ2aXJubDVGdy1BaVcwa01fNGZZczV3bWhPaEhUQUVKTW1SckdhWGN1NEwwUnpyd1I4M1hFZ3VDcjJvZkFSdkdJT3V2LU92ZnF1dDNvZVNUN2k5bWVHb3hVQnFCUVdhUDloZEtwcDVLVl9tUXFHVmVyMExnUHVfMnB6Y2wxLWk2VmVqc2pFeWhiRnpTQkVHdHpEN2dISTdXSWJfVUFXLTFGcVl0WFdhRmFVRDdPaXoyVlhDRjd3aF95R1hVZGU1aVluaWN0QmppOEtrdGhUaHZodk1PN1BMNFhWTHRNM2ZneWRYeW9KbXN1TjA5MGVaNFFrR200UEl2dlNlU1Qya2tYVHU5aEZQTGVKbXVNNkdfQkpXcGEwSDhfeFBEY25fNFViLWtoUl9uNlM0MDAyZDNmVmQ5SDVNS3NzUUM5QU84NlRaaFRidG1EWXN1SHlNQllWcEo4Q1FHTmhxa1hyeHVBazE1NHF0SnJLdGo5UmdWNHZfWWFwTUszQVBfSzhya2x4eml4TEJXVTdFa1NuT1ZhSHdJOXUyNVZDaENyRGpEZEFldEEwR1MzSDBZdzBIRkE1Wks2OFVqRE9lT0g5TjQzRGM2X045Rk9LRnlNZkRjd2x5b3lkRnA1aU43VVpYOXVUc2RPVlBwUDhEQWoyaktGU3MzaGt2dU53OGMzWk81RDNKRFpMc2ZSU1RQWWNEZ04wa01WcUwyYlJ4czNNQmUwRW56VWhMVUktWnVpUHhxOUxfX3dGaC1DQzBDN0JjZHN0V3ByUERRcHh1NGkxdGQ4Z3VHUmRlVXN0dzJyNE5KQm5ydEJPZVl6Nm9RcTc2UnV5UjVELWU3Y1dabFhTX3JRRHFQWVlnUXNzdGJNVkgyRlZfZ2UzeUZnLXNvUXVva2ZjZk44eUZpcXU1c2k3ZEcydjF6bTBJMDlBc1g4dFduT1BtalRyQTFjdHA2OWI4X1ZCWXZGVDZ1dFk3LTJqV1hERl82X0FQc0hRTmp4VDllMUQ4a2VIMHA5clRON0JNNlhweDF6Z1VzdkVLVTlGVWhaX1dSZjJkOF8yWHc2VC1mcy1zNkw4b0I3WGpQYlVQZ1g2cWpwYkw2ZVdfZkV5LTJic2J5Q1hWYUdJNjVkVkJpbmlkWjIxN2RSSmY3UXhyY0xSRHRrYnNjTWR6OGFjc2NfVWtWVVljQTExUE1odl9iWkxwNFAxSGllZ0tGajBMR09zSVBfWmRiMV9HWDhMVTFfbWJHd2YzdXdrcFpZSjF5QzdMekdiNjFobkJTU2g5UG8wdW9lNVFVMERsMnB5MUdmcXllMWNucExEV3RtbHRoV1JacHdIUGc5ZTlMbk5wVU5pYVFSbUwxYVBfOFNnQzVMdTI2Tk04eGs5UlpFb1NQeGFxYzhQajBXWU1wNFF2TU9hV3gtLW9MYnQ2b0VWUVY2WnhKT1dvUXU0cHFoLVdyaFYzbUxNS1RISllDU0VabU9TLXN1MW9QLXdiXzhwUWlkM1JuNzdGZW94eDJaQmRORURINm8xTTNtTkVPQS1SLUdjRERGV0dBQ2dTRHhJcUFDRzVHVEdKa2pwTnZ0bHptd3psMlVrX2E3cUlWYUxGclJSQXQ5VU5aaHdRTUZXY25meXhLcU1fbjVNaTdtbU1SY3BkVnRUb3hjbXU1OHJoTmR0ZnZPTGZsdjFHZC1Ubm5URUlpLU9HRDBpNG5Wemd4VnZmdGNDUlZJY29udUVGc0VndU54c1RLS2ZNTFNmLTFJOXFlakJuNDdzb3BydVQ5aGdOOE1nMFBwcjRMLWk0NmVPcWZGUDVsRDZRVnc5ZDR3cDhhVy1ySGdZUHdEMGIwN2tMbVJIdjQwUTdvX1kyRXJJc1VMOWQ2UERuNk53WW5JeTR2OUVZTDgyVUNrR19OckM5MDJzZXhkdjA1UGQ3Nmc0cXFlazcwNWVfa2VvVXlaTGVpY2VJS2g1RGRwNkZEZFJhVDNHOGw1S2RwUXB6Uzd3ZjdxQWZjTjdCSHdyMnFid0hldjkydjBSY1dzWF9WeUkzeGlDSW91T1BBb01COU9FdERuWkh0WUlOakY0VW5VMjRpSEJJMmRqRUlMbldkc1VzM2RNMl96ZnpuaE5yTkpnUHh4RU54Rmc0R2xWZVpqSnR2NFp1UmFoa2dDMzhxLW5SR245c20wLWpPaEpxZVpiV3Y0MXFleWtqYWNQQUw1eWlTWnd2Nm1paGdKWHotNHdFcUtJbHVTUnc0aEsyaHdxWlJNYnRLVWNidjRhcDFyNllzcVhkZDB0aWtTaVc4LVRNUzg4OXFhU0E4NmlNTTIyTUxyNDlkVDUzWmRlUWdPNHpyYjhpQ0lncnZNSWVpVmNoc25oYjRHRmJiVExZUGdMblkzb2FhTmczSXdoV3oyVmFvVTBjRWJvWnhPN3cwSmVXUVZmUmcyM1NUQ3NEbE9ySHRfendENXppVjVCdDFIMUdnbzY3bDU1cTd2UEFiMk0xOEM0c1htanJKRlBBNlJOYmhrSU5scnhXX2tUWTh2VXAtS3lKLWdzN0E3cWs0U0JpbkhQODR3NnIwNWo1UXlndDNWY1V5MWRzajFJdm0tbUZLOG0xTWwyODRBSURUOHB3bGRMRzRNWWo1d2I1VlRlZUxEMndxaktSUUh2b0JIWUsxcUFaOGtMVUpaNGhMRWswdGM4QUUyRG9lZ0dfb3dQSHJ3RWFLaG1JQW5MaElsLWZoYXdRV0MwUE5GQWpGNWppNEVDN0lyNDRJMTN4Wm84THdOczE3VnZIYlVlOTk1QS1RY0hzOGpmWmRaSUJ0VXNNUlJaVEdhajlxRmlCZHFFU01tV0YycmJWX0phdjM1VXkyUUhQdTZxZGJwOWRIcWJmVndSaDhqbmJVNzMtbmtjbnBEbkhjYTFZN2MxTXUxTWs2S3FTYVZNQzJzYzNaUlFyT3pfdmJPVkRMYnhnSThOaTN3M1pBY3lHYTlITkdmNFBQV0tSLXRYdTZXbEFLM0tXQmNFSnlPWE50b3BEMlFORXEtM2xlc0tFYk5yQ0dUcTc1emY1SXk5M2FGZ1JQY0VJRlUwVG5OZTR3YzJrQW9lMHRmX1ZzbU16b3NWaFJHZjFYNm5rczMzWmo4OHI2U2x6LXQzd0lvaG00NWdXS0phaFJ0cmpINkk0ZE0yMDU0NzBib1R1U2ExanhXWWEwM0lZbjRyY09TenNVenJwODVTQlpOME5oX2RvdFl0NWR2clFqOG1VQVBEay1vb2s2TklURjJ4ejFYM1JESDJ0ZUpSWmhDNkJKakJXRG9RNi1nOGw1R1FUNlk3TEY1eVdYTlJMWXdwa3pacVpwRElIcGRaZ1d5WkJIX1paZXdyX3FMSmI2STlDMFhpTkZQSUlTZF9WTGhyekdCTkJoRTNuNkpJVUtKVVhqdDF1V21IVXgtckU3X2NpdW12eXpRNGktRWRIRVFLbmxYSGhDS1JsT3NJakZGTjgyaHdSMWJRcnhGQ2RtQ0ZfRkRLMWJZY2syMmtETkdWVFpvWHJYM21FTDNtNnQ2blgzUU5aRF8yM0t4eHI0b2dpQ2VKTEIxR3U3VUdJVW9uNV9aczRMbEFMZFRZemdYOEZONl95TTRkR2Q0YlJWdGdLVTRtb2NIY0ZpZnFIVHZkT09VS21YQXJ3VDBGdTlTWERQWENsLUdITFlVb0RXQURtTXNIbkVXOC0tVVdtMXFLaUZaNURSbzBHeU5nMXQxZ29HRWpUSC1CNkxtTXBtQU9IMV9BanlhbkhobEdEZnhvY1ZtbmYxMHhuc0RZNG1ENDIwZlAzc2F3dUR6N056NzF6dkExbWN0SHRwT2hONTBjM2ppSnpmOWhMcXRwU1c3cGJYMDZaakhkT181SGY0d09vdmh2OEZKdjlnZE4zSm5DWWh1aDR1SlJTNDM0UVA0NmpPSGJZZnp5SXQ5bWZzaWdfXzRSSVhDb21TSmFLR25udFo5RmpDc1lPaEN6QnoxdkxCQjRNQ2VhV2lUendWX1ktQm4xTmF4aUFqY1hleWRIUlNlUnI2aFE3MjI1MlM1TERhSWR4amZXa0tlNFlKWXo2NXVMSFEtWkVlS2RmanJrRXV0aThJdUpvczZJcWZJR2RDemJyRjZGa0NmN0RNTUJfMEY3T0YyMmVsalFWbjdTcTdnRjExaC0tSmM1a1VoVW8xSU51eHZHSkw0eFFrLS1ZR055U2FNQzJhWnBqRHFIRDFsTzQtTlFTQUpLRFVmV2Y0aGxRR1Zsc2luNlg4aDFmSHBGbHVfUkd5Tmg2OTVjRUVQUnpRUGRqOWpBdFhJQXVRLW44eldqcjg3Y2czYTRCYW1wMlNSLTJ5X296RmxiMU9uNGNYR2JTQ3hYQzJxZjk0RWIwN0lFaERoc2paSE5ZNVpobnJlNUdKM3ZnU2JKck1zRXJCMk9TeGdwRzVkSVNPUHJTMUFzUU85SGNXc1RIQTFRMTc0NEFKMFlDaW1Nbl9KQXJKRk5oZVFPMkE3ZmFxUi1kdmY4cHZsaDMwZ29MLWxINGIxYWpPSFd3cC1xcTk5NGFRQ2liUzNrcUVpVFVSajJlTXphM2FNdGl4RW5Bc2NZTW5jS1prdFVwTDhUejNBU3k0TGUxakZhS0ZxUzFsX1RtNUNNWlNhV0luX2dtb0U5Y0JOd0dGQXd3a3JOMWVWT3ByQndEbW85MllGQjdLWXpGY2lEazBKemhMSVBCVUZPN2p4eWdOdUF3bHYwaDZVaGJqM2FJRzU3Z3BaODJ5aWNZUURuWWo5dVdFUnU4QVBnN2FLdWN3YnpqeHRIamFmbGV3bmFGdERsM211ck5tTWN6ejcydGZ5cjV6Zkt5V05HSFVDeXhSSTItQUR3YXE1NVBmdllkZWkyaTQyaHJVd2dkRFpFYzFPTWRYUjhIZHN1dkZSNWNLUmN2TE1kR3QydnJRVlVKSTVMM2FMMnNFQXVzdXRSSXAyc0NfZXJEYm5MYWxiTWxJdWo1RGRhQXJNak1HRllqYTVhY2c3bkRrUkRnNUdCcUpkTTAwdlJHalpmeE4xbWxiM1lCRVdKZUJhUFVidWtLeFZvdE9OUmNvUXRJRUduczlkS1JYa2pnUzNCRFN5TDdrTVR0cXJNZlY3REVWckpuazdMUnRvUDU4YTRQU0RRMzdhZFMxc2RsYmM3cVV4NUVaNEdpMnMxLThMMFRlcGZEcWpVT2lmN1NqR3lVZU9oaDhWOUxBdktoMnBjMmc2RlFPX1c4cHlQdHNCQzRiUE9hNXpwSVZ4b2ZvdVR2bGtmTVg3Qm1GYVBTcmZCWTZLbmUtVnIxWWFUeGhBejZUdm1BOXdyMnZEZGRkWWdPUVo1WXN1ckliM1FjaDdCUS1zRXB4YVpsV1g2WEFiOGcwYWFiS1p0RUlfaUZXdDNNdGZJOWRpdDA0MTVOTzAzdGs3bXZudXBQLUxjY1Aydl92cjBSb3NEbUItQjk4dXE3MDU2ZW9SRm0zRUlOWTV4WC1zd0E5SDJ5azJ2eDcyc1phYkIxVmpBZDVORmZkVEVlMGZDVHJ2S3loNThISzVUX2ZKT3h4cjdhUE53Y0dKTGlLLXZGV2tIUGtmNFRUVUlxOTdWOXlJaUFlNnRTZ2tjUm5YLVl6MVljTmJsNXZWeFNVQVpWbzNrQWhNWTh5VlpMa29QTGdzUUZjSk43RHJ0WjVsZ0VZamQtdlp5aE41aGRCSDQ4dHVLYUVSSndhRTZtZVZNc1BpWEp4cWhqOGNSb3cwRHJBVFI1WmU0S19ZZ0ZYYWFtdHU3a3hFbHNuRDFNMks1ZkpFWmpSOW10Tk56bzA3YlkyZC1OY0R4UUJkWTF5bUEzeW5XQ2xqa3FaMVhhd0JZWnR5WmdZTTJucm83SlVzUVBjQVZFTktyQmlqRG9oN3pUNHZIeWFsbHpJWDEwb0VKNWtVbWRDVUpCam1WLWotUGl6cWhaYW1GWkEzR2pBVXZ0bzl4T0lyWXR2eWFlQlBLczV5aHI5cDNoQW4yVUFhZzRuZHRHcWRBYWxISjF4dXBVeGJBcEhXaVA0UGZtSl9wdndVdzAyLUV0cEpMeDA0VUZSa0RWb1NzQzQ1Q25lcHp0bjQtQWlZa2U4aGpWaDN1emh2X295N3UxendnRkdNNS05NzVUT0xUSnRPNVJtVnZ6T3hPeUhfNU45T2RsSGdvWXdLd3lhNFR4R0RCR2IyX0NPTS1rRV9xeVA3dnR4SUc0ZnRNTzlUejVZb3VkdzZGRDlwMGRENndRMWlsc3NidkhEUklHR05DdHg2OVFmZS1xZkVSdDNRVUpjZVQteUxMdEVPSlNlazAxYll3MEdManotb1ZONzJ3SEItSHprMTEzVExmaEFTOVlxUFh0b29XY3FFbHZtTncyYy1URGtsbExfd0UxbGttbUl4UHpqSlF5OW5oSHdIbW9TWklpZktaVWJIWDFOQkc4c1JMWFJ0M3haYVJNRGMwWURQOHAyZ2NBN3hjdnl6SVVYd2NvX0hBTmlxeGE2ZVRIN0U2dDR5c3F4YVFlRzZzc2NEdGFldEpKQUFhcnF0Sy1qQVFPSnlBU0NJd0thNmZQSjJWbjFSOEsyNWt5a3RnM0ZvRWRkbnFQTloxX2dSNjJHM3FXQjhrVGxIUXNBLXZKdF8wTmN1QmR2YU9CcnJMcGp6RXgzLUdmM3pYQWlVRUxxbDFhbTZmUlFpemtSQlJFY2IyU05BM2RDZGlZREdtYlBrTmVOSExGdTdRS19iTWNiRXd0TkZ3MXh1dWhVbDgxakV6ZC11RUxqb010NThGMDNIVlRZRy1SQWFXWHJGRUR5Z2JKVHlnSWo0YUxqM0xfRUp3S2h2V2Z3TkhvWDh5Q20zYmdZNjRtb2p4N1RyVXBmNlhpQ3NMNWp0YTNGZkh3TG1OcFU3dzkzeUhmNW9JS01iQWxlc3RTZHlYX0JuZExrb1RXMmhiTjBfQUtHYzFHa0lEY1pDajBkMjc2NHdGaWNUaGIyd1BSb2dhWmZPYmtVWjl4Tkd1cnFEby1sWDNpMXd2YXhrM2FDQ1RGQ2J4ek41NDFZRDVGZGpYcjMtYWFxZW9lbmdmX3BUV0ZwSTVSS0FES0N5RHJtSmFGLW01dUlfaVlMWHRoRmRYT0NUTTg1NDNLRDF2eEw5VDJjZWk4U3kzWVdOSlR4T3k2RUFwLWtoMnJKVnBNdEZIRU1DV0dGZVZFb0M0b1VYRTVmbjJaVkd0TFB4RkU1WWN3X0VJR09KalZ6bzJKalhUZjI0cHE1N0tLYzVLeEpaeHhRcV9UdVhvN09QUEx2QWFTUklRT1J4XzB0cHN6QS5NX29EQjY4QngzNWY2cFBRQndCYzRR\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "11688", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8a73bf31-336b-4561-9c9d-62c6ce3a0c0c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b963f079-c0c6-427b-acb1-01b64550ee2a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "6b00e0af-d66a-471e-97a2-8acea88d2b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-\",\"deletedDate\":1565307758,\"scheduledPurgeDate\":1573083758,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/3a66f2bd38c64432964d6f7c881f77d3\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"zWz2YyIG_6xxEWZ8NMBE1bjLfrzmz4C9cTgTZ_G4YXwAaJJn-nb9OnOxG8W7MnC27nOZd3LqpxgzLQ62Y8g40uEV0LLQXLZ0l_bj-dhK5OQm9NkHSjd5D7xEA8RnvUMMMKhgr2PygBFNSHeeV4Y40i_xoMIUcKw-02Yj394-UWb46KJHlP2L9Stqpnnxzcj8oEcMDRgWyP1Sd1-8uy1aRFXIW2c7501Hmi-sJWC4k5CXNbKBPGpc0JXTOqTMHD015yoXTagyHkFP3qzb4fFUuHWWYi1tSW3csc_dnrHT34gSkpETFgQ9NdL_tFvhxDe_PHDwoIJCCzybkMqNMOBvJw\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307758,\"updated\":1565307758,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "879", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9a36f184-589c-4c3a-a8c1-29774f965a3f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "02c11f7e-0fa4-41f5-9aca-4691a2ff6fa0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:38 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "78346853-c600-40ee-aa3a-baf25d2f6600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:39 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0825ccee-30b5-48a0-959c-599707e21cae", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e251efd8-7ece-4d63-8e84-84a70b71d4ba", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:48 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "dc8c7396-1aee-4a5e-8c42-b09a9ce42a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "118", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:49 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "83b3a156-927f-477f-9874-b36936ebed10", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "44481e4e-f583-4aef-9e4e-6874bbfa725a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b9d413a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "36643370-9455-4d6e-92ac-44787e826e89", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-failstogenerateabackupofanon-existingkey-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0f31fa4a-5717-412c-833a-d31819d47309", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c46484e7-8524-44bf-bcae-66bd84745800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-failstogenerateabackupofanon-existingkey-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-failstogenerateabackupofanon-existingkey-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "132", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7c84c155-03d8-4e9d-9e70-f17b23631345", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e880371c-719f-4990-957f-2fe1579ffb1d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7072046c-51e5-4587-b237-bf0f105f5a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/create", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"kty\":\"RSA\"}", + "status": 200, + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/58b7b4b2d8ec42658edd82f97611bd96\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wwYpc9CTrPngOFYWodPD5izuCLNvsV5DboS5OBWLZYulY_jEVqfIaZOSYd_XRkaksK2B3i01ULIbS4P6d71YTqXWDcftdL0EE7nXxwirsA7Z7W_I8ALk4olLRpPLMYecqJNx7yWxpAKjncKn3b6zJlN67CJvnV2QNX4t8u7cfejOwvnhklZpZeQuU063ay8SH-Y0c1pzP3u0ucT0hvvedw2hB5srMtvaKfeoehngywBEgmipf8NYBd4f5AZ1RgoYNzphs3oSILjIokFXaAxjtAnU3_vz9Ni08O3ZpWhJLH24gcj2BsbR4HS0PCkFWiN0coRWAuH46DUjrxAnM3ngjQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307780,\"updated\":1565307780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "708", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:42:59 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2f993e1f-e056-40b6-878e-f7d691e0143f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ba2f1cf2-3b54-4902-9c1a-55f686280ef2", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "cd1cfe65-f382-4b7a-93d7-b92775ea5300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnNFTFZUcElJb25sUXB6SEEwS3hsdDlGMDVvdzh4MzlEai1vVnF0c3VwOE9jaThwZmo1RkpOOVpkYjNBcS04bExlQmtoa0RoVmk4bnhDa2NHdGpacmxyWENkaE1JNktKVzd3NGZfWHR0MDBPZmtFQURQMmlGOFJhN3o4aFoxMlpObS1XVjlXeC13NGNVb2VOWDIwbXliaTQ0NjlVZkNkbE92X3FDTFl2YWxiTGYyWVpmWG5YQkZOaVo2UDBHVnd0Q1BYVlA1LXFRQnZXMUd2cmt6Q3J0VnV0NEFMTThWNFdTT1hSc2RRT1JsTEc5TVBLWU94cUtxVGhIc21xNlIzQ0dCUXVXZzJta0pwVVBTVUh1S0c3RFhMWXh6UzRGd2RjanYxMS13MllFRVI5UHV1R29nMWp2VDN5OGJtUFREc2UtNmw0Q1N6YUZENWp4dTVfcGdRTVZ2QS44TnEyZllPSzNnVUQtNDJZUXN0bkxBLmVRNzhvbjV5elM1MlRBczd4QlQ3MmpCd1liaWc4NVNjVUhpelFSVUZPSnRvUnFGMmx4RnVFeHhhR3BCak9XQ1pJeDFyRlBmMFoydHJjQWpJRUYzSFZ4cGljYXlkcHg5dTZQU19yWUNtY21JY1MybGFzaFdMSkNCaVJ5Y21yWUYweE11QnJ5U1pEM1gyM3A1LThIalFSSHZ4eHBUSlZLeVd5Y0ZIUWFKblJDY2t2SnF5TkJBMjdvX1JWdjFkcEc4YWtiVVowWUV1Q1dFSnVuQnI4aGhua0VDYVlPWW82NW5wR1Ita292S1owTWVBd1pzLTVOVjc5SjZXZmc5aGd6OTN4Y0tSRUlfVFRqOHJvUFh5YU10WXk1RTUzOGVDOUgwZTQ5Ry1NVnVacVAzdl9NcnN4SXRxMm1IekJjeFhZMFRKNTRSN0l4XzU4X29lUzNQSG1JcVZZbDVIRTFmR1BzemFMTzk1dll0Z1R0b2ZreVBGYzl1RU9IVWRhOGlqVHAzSHRjcUVqN3RabC1SYTAwcmRFYXdmTHFJQ0JITGR0ZHJLa3I0eHhVVlBUdWVGWkdKUUlnUUdZR0NBQ1FvampGYm9zVHY5T3I1NF9HMHBoWVZHZm43MlNldndsenQzemp4QVNmZlN5MWYyMURjQWxsWlNsdl9ObE9HQ0FxNENRdE15NkttOUhZSGI0c2VjMkVjS2Z5SldyMWJ1U0Z3ZVpRQmswNVBrX0JPNzlGb2NTT3lDR3EyenY3a0VxMkFkUXVfM2JFa2dqd0lOSjluR0t4UGphV2R3b2ZVcGtKVnVjTk5VMGpLZmZtQy1aSkE3bWtBUWNzVVdjdFlvQ0twVWg4LTh6WXA4Y0I3VVNMN2Fvc1hpaHh5cF9MOTczWlB0WkVlQWxPeEo4U3B1eFpvU0Nlckw1ejVFc0RTVGotTzZETUdFbkJPTkxpRUhhckdVc3JSWFhBM1lmLXpKcndzNDJOVjViZzVLWjV5SDd0cHRtY2liYTlqNEVzNTY1ajVKWk5XRDVzUXNVZ0M2U1hYc3UxNzJwQTJyTHZOX3ZNb19rekV1VlR3a2IxdTItOGJmRDQweDA5QWNRQVRtUTVHYVdxX1o2d0VsYlcwdHRaSDhsdFlWUkpZN0hGYVdvQ3FqVElGQ1JaNVNlQXM0S2F4aHhEeGZUeDRHUzd2VU5pMGxPNnlsdmg0VGlzS2tvc2YtZU1GUmdEUFl1MTlvYmtBdnA1UW85RzJWS3REdzBCa1lSNUlnNmJmT003SFhGUFhTMGJKSDdxTFRuTW5Qb2NHVDNMNFphdE1yTmhxU1pvVERKR3NuV19fdXp5TDlEZVpMVEFMZTVYU3VSSU5FRlByTjlYa2dpbURlOUZLMFctVkpKd2JBaW4xbXFvWWFvd0JtMk8yNDg2ZFg3aGpQLXp2SDJPT2VQYnZTcU1TNzBlaF9TcDFWNWtIZkgzRzFRUjhtb1hhVVpQSEg2ZXZscl81WDM4S3BNSDlCeVp2ajM2bWtpNUZrb2tWOTFlcUU3U2ZLUlgzVUFYV1o2dTJCVk52T0pXcVVBa0YwcnRNdGtxVE5lc1VoVkZzR3ZwcXpRR1NHeFFjdmZkQXBidFpWRFBoRnpDMWdzQV8wSEdsaUtFOUZMUktOYXg1RHM3S3RpQzdld3RrbktqLVJjdEk4S2dWUk1zZ3RYWEdiMU9iTW9GUnJCODhoUTBiLWVLQXZxYWk0bnViQzNlSV95cXJTbkhNdENYVDF5SGFzRUJKeFJpOFdPR2VtSXh0Z3laYTl6akhtZFlkNFkydlRtR0VkbEFCeFNSNmxKYjFHcXRQNFk3dW1xREpQTDNtVWtOT3E4Z1FxQ1pvRTN2ektneUNVRjJhcVFyQzlVdFFBMHp2RXo1bWZKTnVqejFUNDU5QThXRHdFb0NEcUVFVm5ha0Mxek5MUlRDbXE5REM2cUg4a3FPcEt4cVJTWndrVVEydWRuWmRSei1xbFJpcEtiRWowcWw2NHo3cW43ZHg5bDNvWEc0bXJkZE05Y3gtRTVOd3p0SUZPcGNvbzlBc3VpOUNOMzY5Vk9Eel9WWm5PZFdYZEpWNmIzUW9QOFNIYVEzYW5Hd192QTk4OF9JTUdfaExOT0MzSG54Z3ZJejNfYW4wZEVybDhpeWlKa0UtZjFPM1pUeWtvS1VZM29yVFBJeXhzWTctWG1oTDNqWVlHbVlqV3FybGViWDNFanB0Z3U0MDFzVFpNdkYtbjdmRFhZenZoZVo4WUNYcXFSN2pzMlY1WlFuQVRVOUlrYnc4Y1hsT1ZkelZjMEtxelEweGw0UVJ1SFVYUEdqWnhvbEtFZVlEd0NReFRfWWpZb01BU1Vmdmc5Zkd4aFBMaVN2Mk9XVzJHbHByTmtBZEE1RHd0dUZtTFR5Rk02dVRJaXUxajUxd0YxbXFUMjMzLUpLbV81YkEtbmlNLTZiTGtGaS1Gc3o1bTNpcXktS3pWNThQUjM0RE5Ld3RGLXZqVEdPamdqMGFxcUZLMmxYTFZ1MXpWeWtOQ20xU1BUckhYRkR0UjZxdTN1QmJGYlJfX1VTRFdKdjJCd04xLWxralpPa3lLMGRsR3ZDNzA1V1NWWktYNXRGd3A0TnlmZG9paXgwdEpZLWdwcE8tbnpYQXdBZ3B1M18zMXNvYUdPZ0M2WGpqNHRBQXZselBkaVppVW81elJ1ZVdISmJ4S1EyZEI5c1RLUHVGb21rc2FOaG9XQnl3OWJuYWktNmRqd1VEMjB0WUk0dWZEeWxDWUl3SmRfV19OUFB2b0ZQWXhyMUV1c3h2REhyVExxb2VmcVQtT29QaUhzYWxYRGVwZVVOX1BVM1lPbllreXVEUldJS3pLTko5LUJKZEQ5dHdUX095TFJ6QVBsWXcweWNYckRtV0xKdEtqNlFlcEJyNjF0MTByUXNsYlpRWEpzamNLMDdVSDV3bGRvS2hXdHhnbDVISjdTWWJyLWZkMXFoemh4MkxUZDlaS2hUMi04U3FuTnBoNW9kR3R4Y3FnRmF3WDdKSXRFTFBSandRcllPWDVvaTQtelRTXzQyZUtRaWxmYmZGZi0zaHJyQ24wVHc2bGJtSmRLNlYyV0FwRjhXMFo3bmY3QUJ5UWJlQWl3dUJPUU9JTzF2Sm1RS2Q3X0FMOTBjNWtybjFWWHdvQlU2WHZWZVpyRm5raUItX3lfNkRUbnJMdzJqYWFld3ZUNk1ZNVhEODZ3X3JzMHNjS05sdElyRUVyRWlWeDRlOS1vWVJTMTZ1YzhCUm9kMC1rYWZoNkdDM2g4TFpXdi1DWkJKU3loYUJ1WllGQkwya05lR2s4YU9QdTFLX3Z4azh2VUtsRHR2TW9wUkxHclpSMTllV29vSFo5Mm1neVBTQVd2R25ObmVqSnZzTW5vQVY3em9xR1o2ME9saTRyVm5WSXBiSnRoQjM5dnlUWl9JSnlLZ19UTzRDSXExeUhuMGd0SURSU1JkUjQzU1dBalFuRnVFQWM4Z0JXNUV6Q2RrUVoxQnIydmE1ZlpnRWpJNFFVMktEU0VoZ3hRN09hay14QVktblpKbG1xNW1STTkwc1FvYnJmb2lzQWN2Y05Vc1VHdlVJWkhqR1ljSXFkZHEyS1JyTjBGanVtSGlPUERpVFRzaUtaUnYxbFhoMWVnV2ZXb05yYVlRaTMwQmxwaWpsbEx2NFd3ZC1vZG1fS09lUl9hQVBBRk10empKMkRxRU1CMWxYdHp0ZkM3bHFfOFRNbjdqT09yTEZoRTFQMVBzRnotckRxNHJKRTRTOGN3YUkxQUw4d3Z2WmZ1VUNBaE9icF9UNUUwNGlpZVF4d0FlUDFINzY2SkJENWYtTUkxaFB5VkszVnZZc0RxRUVNOVNmanp3NDJtSlRSZmZuTldTTmQ5VG1NdVhpLVZlelh1UjZudFJNTUJBdURjWHNmLTZIS3lpS0MxSUFuV0o0MlE1bWtfV2ZSMnlpOHRQdncwdGZmR0RzRlREb2xSRTI4YzVPbHNSWEJxand5cmRpRVlXZXY1bDdpWHZIT0IxSEpnVFVlYkNXOFNrdmpTWUMyWm5Nal9MaS1ZdEVtZF9qYmY4U01mbVluMWpiYXE2U0hwdmZoT0JHQUI0QnR1Tjg5cXVHV1BxMzIzaGRuV1ZsMHBoaUoyel9CTlpFbHN1eHg1WjFrOXRmY2JGOEo0YW5MYnJkQnR6WGNDV0VpSEw3R3VfdDFSYWRpNXlwbWhVZWJkalphVFA5VC01elRFSHkxOE5pV29nYTV4WnRyc1lFS0lYbktTMWNpSTJMOWNRRnhwNVFuLUtoU0Z3OTlEY210RFNLUzhlb3ZpbzR3eldaZER1aGEtMVQ5ODRPSldPN0JuUGFydG5ReTlVTUVmVzFZbGdEYXVVcGVvSUdwZFRObWhlVlpMNHRTcmNaRDN0SmVlQ28zd2lURFlJYzY5OFdJOGZWY1A0Q0VRY2gtdU1vVFd0V1lodTF1R2V0MmZ1YXNEaDFQTWhpdGloMUJVSDZINDhSR3YxUEUtYWhwT1NURnNJQ2kyOTRvREM5a2trcmZtODFqNmdCR1ZlNjNDQXpnUWpxa1ZZZ1FxSGkxVERqc1dLM0QzaC1tb193NUxuVlJ1YjkzZVFRbVI5S2xtQzcxTVpKM1hfbWhUbU9BTE1aUTFuYjlZempWUFduUUZfdUF6VjFnbkhVbXlJN0FhT01lNnQycUhQSm5wQmlaVzhvMDhGSjVUdUhRbjh4RDVLcFJidE5feUphVy1qQ1doNk44Zk5nNjhLWVRWdkNNdnN0bW56RWlKVXRCR0ZaMmtab0xhYmxLWG1fLXBFRy1kSzlRVzI5dUJ6N0dWVnRzc3owWlA5UHM3akM3V25wQ3BHMTNLcXJRR09jeWtRX0NqdHpMelpkQkVjLV9tYkhPdjYzblpPaThBOC16bGVDUFE1aTRjcl9EdF9KRkJjVkNQSnVUcWtKU0hDZk10RDJBY0Q2Z1V2UjJWRU4yNTFlTVRHT0FXNWhDc2lYRjNrRkg5eHo4N1hFaDNsNzZNcVp0Rlc2eFVzcHBRdExRZmVQbWNGRURLcjNkRll2cjZIc3JwNWo2Y295NDdNUER5Q3IycTUzTHdjSTlHdUZGNHZ0QUhOdUktdDliQTlxRElydTJlRU9OTjlMTUVqMEF3aFdOeFg2ZHZvMDJVOU53N2hsLUdta0t0dUp3OTlHQnN0S2V5YUlkRVJUa1B6Uk1iV01ScWE1WHo5VzByWGZhLUoyWGZmeWdVTks2QzdsM3QwbThjS2hBVFBwSUJIdG50aXFJenFPMEJmek8yWTRsajNJNWozQmhQeURHVy01T2hSbGFzbHhxQzBleWFqR3NXMko3NF8ybEVrTmUtRG1mYVlIekVIbjJMSkFFc2pUUjAyOS1Nb0NBUFpna0tJOEcxV1lJZllocnB5V1ZoQTMzbnUzZVlJZm11dzRmRzN3dHVZT0RnemhLYkhnaThlMnhKMDBFRElUUmZkM2pRaDk3eGhMNnhyYlB2elBVNkEyMmVuaWYxM0J2R3VMWnNwZjFTOUFjblphWEJ5YVFOS3FHQmUwTXB2clVnQ1RpU1VoRmNJZDhyWTMxcDV4U3duZW5tSEdseGZaVllJMU5VWFNFN1NkNnk0LUJrQm5wSlpNSzBPWmpKOHBlQjFmTFJ0NUNvZmVhUzBJeTJ4WFVCWmRxVTByeHlFVFhrdDRWaFhncTd6RFJmYUdqVjlfd1BaeV9vSy0tc0d0UUlCN1hfVU1kWEFJeEVLbFpVcTlxWDV5NDV0NHozRl9LTGE1X2ExWTkycG1lZF9jbVZiY1FyQ0hNdmNEQlROZUl0ZklWeUxVTzVMNHc1aGdTbHhDZGRvV1pXNFZXX292SU5wV3ZhM0RJR0pVYjRMOXBEekdxMl90VFJvYkxFeXFXQXFzcjVUQXZFdERoSFRDdTJEb0kyUThkMjhEVDdyd2VURkEzaVBrZ0czeEJiY21MUS1HX2dlejRfamRyc0ZzUENZakNqZ2luX0R4RlFEbEVweFh5UDExLUFCRTZtV3lWZUxMZE5SWTFhLXU1SXdWM0FUSWhMZTY1d0VDQngwZTdSWUZYTEZtODlfYXdnLXNWS3hhcDlOemdKMFZpaGlWdVJqdk9jMmFEVWozel9XTU91cTZzQUJEZHI1WGxYS0xtZEpTa0N0c1dwTUlZR2kxdTJWZWcxcXBJa2hyT1FKVTJTUlBFMEwzNTRJbDE2VVR2dURmMzZDMnRLUU0xcjVBOFVKZnpMdG9RaTVIcENaRXI0UGo5QnYwRjNCVEpsbnhrQTJad1RTUFdqQ2JtU3kzOXgybjF0RlBZZ3pQeTNxa0E5a1hRYmdveldOdTdCWmtTM003NHpUUUlzYmtiQWpxeDBRU1lBcnlCREJ3YUlVLXNibkZHdnpCTXNMQWI0cU1Ybm5uWDBQdU5pRXZCdFBMMnJqVzd2SnpZRHJsa1JUV3FxMnFGaE1RZTdRcFBhZkRvWFU1czd3OVlvcVJzWUI0aHl5T0dFcllkSFJIdU92YWt5aFV4UUliUEROV2swSkZESGd1NWctRUU4dGNhUEkyb2w0bjRIUDlVTk5YUzRIanhBd0ZqYWFxbDZlZG0ySlhHX0RuTGxYbTBzTEl4dW1nNXltNE5qa0VxVGhWWHUzdHZheThQZEpfSC1tTU5nYmJ3c3VTOEpxcDhYcGI2TWVHMVNucUtFbE1sX2oyZnVxNmFNdVpRb2l5U0E4U1BjRC1MRVA3ak95OFlHWDBDZFlwMllLcWtCR29EaXEzRHVWMGRDUXJsUk5fRi1lcmRrNnRaaVVodzNSM3BXbVlOTEpQR3AzV2xwUVFzandyNFg0YzRuTWtjRW5wOUlrRGpXaWVGT2xweFVLNjFXdFFva3hxY2g1UW5kd1hkRHB6Y3YwN1o2RURLcDVIN0VNOEtUUUNhZlBZY21ocTVSeC1TcXpYUnp4QU43SjNhcWcwX3RzSEFZY2lTQ2NRbmpzbzE2dmtsMVpRcUtoNmpDYlFWSW0zOWFUOXFDTjJPcF9UbU5sZ1FoMTN4dF95XzQtdzZiTW01RlNWajRfQl9CN2o3UGF3ZGVNTU9OZm8xRzlfSkdxOEhoMkNfTC1wU09rRmppd2JZMThpWFFOcjhfdUhGMHR2VjZHY3prb3NQV2xkT1JkbTRtOFo3YU8xWEJ5cEVYN2VuQk9HRlo0RWt5Z3ozZ2VzcWlFYVZVb1U5dUtNY3FpWTFWbEpIWklTeFRMRFRIaFJsUmNWWDFnMThoZlI0R1BIRlUyNEZtNG9xclRsWklWV2ZfQ3JFTkFDTEw5VmVTbm9NSFBaazlJVXZGbHZ2Nk16RXl3alV5ajNtTV82VmlrNEM3SUE1elRnWk9yU01fM0w0MUt4dHZNcjlZR1NmWjhRUy1RSVBPTFZNX2ZyOGpWUkZNcGd4YUZzZExDS1JGWVpRRnVIc182SUtWbE1QMU5qenRPSXJzVnlVZlM0Um5aclZ1NUVuSTktVEM1Qnl2UE5PN0JHRlVYbTl6WU1jTHl6ZGV3elNUODhKcHFILWlFUENDXzlJRDRhbHZFVERJN0R3TFRuMk8wb2hpc2dQbzR1RG5tTHlpVkVtd0laeXpVXy01MXFDSUtJWXJfVkJKeVUxMkhaVmxBY0Z3U3d1UXJOWkFuWWRnTnJEcTFFdEdXalhpREZJeDdBVVEzRXh3WXY5UGtNSU5zS3NKaVZZUFdSZjFtZzQ3TDJBNnhkSFVQNkFQLUxYRElzT3BPVjN6TF8tcDFGLTRhTlBtWW5JckJQV1hlTXBta1pfQVp0WFNQVTZ6VDZsNl9ZUlVxNFV0cUl3Y3FSUmN2SUh3aFdsOGY5aVlta1ozOFQtVkhJa2NWMTR5MmhyRnFlM0dSN25ibHNSalpncTI1eWg3eTdpVzhDZk00S0pXX2VxRjNUR1ZSbHppdFFrZEhEMlgzUnFLcVowQlRyZXMyS1FwODRDN3ZSRGFRVFpWVVBLQXFtV0VMaUtWN3NPcmxyd3FLLUdoQ19SbExmMmtCTU9JTWpnX243R2dSQ1R0MHNuY3ZWSnhRVXBlOGNvWTQ2R2J1MmpFSlJqOGdPUUtMSVN4UHhrYmZoUnMyTEUybTA0ZmdYeVZvYkZtYmFwTVVzVDFKMkRTTFRwYVRWWXUxdldjYnU5eXJfa0pXbldfNlF1U2Y0djc0cFQxdkxnRkZEZHpYZy02amhpSHA0T3RCM0JYRnh6NDN6UDBzczJvcTFWQkJtME9wQlk3UFNyVlo4X2V2eUhrSGZZdGU5N0EtdGVDUG00a2NtQnBWQkEyYkxJcHdGQml2N0NDajNOSXhhUkw3a1VReDFHWkY5N1pPbUdLdXlkdzZOMGZ2ZUoxY1hmcTBVeGxtYXY5S3Q1VDkwS2NVa3h2SS03NWVncWNldWo2X3dOaXlRcmdHdkpLUFdFdEc0dXY4aGdqM014SnlHRTBUbVdMX0NkV2xGcWQ1SHJDNy0yaXlwakRnMXl3U1BFYzNIQ3RXcU9oekJzamdUSzFFNG1TY2JkaEttS1psN1lXSHQza251cEZ3TE1YRU1JQXlkS2Q3azAxUzJfZmV4dGNzQWU5b3o5THJLc3BiRXJORVJqRDJZcU1uYXNGTnRLLU1GcVlUTWRZVExZMDV3a0lNSUI2VFJ0bEFMSXdGaWJHYjdvdzg3cHRZeTM1S013QmVxTFBVaTNSaUUwZHJqd3JoZUhLbU9kYVNEUDV4eGQ4aHQ4amt4dkcyb29qQlBNT2FpcVBNT2RYVTR0N3Z1Z1FVeElHNmhsZ1ZMYnpiTG1zaDNSbjE5NnpVRVpSbTVSNDNyQm9jYUpROGRSZDRhVkRoVVp5QmhZdFpabzVUVWhiZHlXdERjV3l1bms4aFg5VWpuUlVBdWYxM0RkY1lNMF9xMnVDU2hMUFg5SjVBQVYtMDdGdFhGejdpa3V2X1NKd1RyckJBMXkweDkxQWhzQXBudW1VU2E5ZUhkcXYzVnJfLUJWbmdVWllBQ3loY2E0RHZScml5ZjJYbkpWSFVLMlpZMnRrVWZRVGtUdWhFZXJRdmFFQUoySUo0UFlJMmhiUkdWT01keU5ZQUpjTHRNY0VIUXRHQ05OUEplSVVyOU9JMFhWTXgweElsbHQ0UmJ1TVdTOVM4UVE2WHNpc1g0YkZlV3pOcnpXMWFSQ0RKbTdMY1dVTXpzTmNjbnpHRi1pN2JEbnNCWk9QTk1kSXZaTmFlNU1FTVhMMHVmMVNlT1d3Q1BuS2FjNF93RHkza2RNcVhITmV5UXlBdVlrcGh4M3lLMjFGQTBsaEtiUy1yY2hsTDNuOVhNVUNubG55aF9PaUF6MU9GME52OFFKdVV1Q3hoQnZXZG1lVTZlUndsZFpxYmlNZ0NDOXNRMloyLXdjTTVITjBINFM3Nm92eHo0Q3B6Y3Njc2JVZlJZRnRVa2EzeWFsX1pGZG93S0pIX01jR3FTQldLRlVsX21ZTXZZRnB3dEp3MF94VTQ5cGtBeThjSTVGcDZISlJWQmF2dVVlZWVTNmVtTURGZk1Dc29ZRHdIb1owaGs1Y3UzdHVtX2RaZ3pCZGh1c3RLLTEyLWxqUjlTeldqTXJWZ2xEdS1jZjZCRjgydDBlM1BGeWpJeVJiaGp0Vzd3SGV5eVBFVXkta3lkc0w5bGlEWDQ1cmpTUjhKS3hYWmFkcEZoWGNDcFBrWDJWc09EWVE3UXNJZzBYZ3k0blRKVzJSWklXb3lOWmU2aHRNbTg1RjFtS1Q1SjhRSW9nX25nT2I2dW9CT3UtanVlZk5YaVp5UVYxNEMtTnlGMTBOR0t5aWEzd0hoNXhYd0NPWF9hemFQeTk1QXFpSlNGbXJwUXdwT2ZSZWFzOXdxajFyd1hwMi1fZmQ2bzh2TWtIWTRKa01OOWtlazF2UUhoZ193WEpsem5FTXJzLVhhZFZ5c0VFZUVjRDJmMlp1NWFJcWJEQTZUVVlGNjRud0h2VXc3S0hJUXd0aXlIQ21ub0ZDYWpQR3ZTcC1sVHIwS1RtLWthcVB2bGhyOVNaRUk0TnpCUEd5azV3LVRiYXlUZ2hwRXpTOVBXdFZjbDhSSTFyMElJT1I5OXdVcDFQWC1LbHg2NE1lakdQdUpVNVplOHZUamduZUtMOWFOWEptSkZCR2g2cVp1RndTa1A0NE5pN3ZKSW1nQVRrTF92eWJDYThjZ3hKekE2U3NZRHo3RldLVktuNVh5amd2WTlYajV0OUU5REF1YkRXQ1MxYjNNSXRDVHRnVDFsVlgwaU9aTWYwRml0SzhoVldFaEVuN1VhOXY1cmVoZl9YM205dFF0bTV1b2hRWGxNSWx2V19oamJtallIQWFoT0tmN2FlRjRMVFc3c0phM1FvMV83Uzk2cXpoT01YYlFXSkxBUEdmdGdJM0JqOTd6SWtsaFdyWXRIUVBLVGpEZlNTS0pWaWtIWGlGR01CWmNMSjhQSktneGJ3ZDJhZWZycHJvR3ZrZnZzTngyRlFqRVpUY3hhU2w5R3d1QUNueTZXa1JtWFppWkVDdENMc1BXSDkwSndEbFNGR1p0a1U1NWRNUWdPMm9OVXRPMWhzUWhZRjA2akxGcFN3N09yRjhIRE1xcW0tTXFBYlRGV3V6Nk0yMzJXcmE5Vml3LUo0bGxkN3F5NmFSd2NkTVNRTnQtb3FzZGZ2dGo2RktoejBldmNfMl84WlQ5T0VyWUZUX3hBdjJ1Y05HZ25INEtnQ001SDlYbWFuU0JpdFZUeFpCWlBMdktvSTM1LW51MDFOWWhyelBvNFlGSjF5eC1XVHpvTTk3LTV5UXp0RE52TWlVNHduSHkxdy10UlVfakoxWUU3LW1RTGdJOFRmWkxRWXlWMmRzaEhCSnNyZEhDUllBTzJ4b21PaVNhLXBXZjNJV010ZWMyRm10YVppY0xuXzNockZCMnQ3dC1GU2tZQ2syc1Y4bFkwSVYtWGhGOE1iLVZOSy1WQS5oZlZqYU1CMFRTNWVrQzR5djA1bEhn\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "11716", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f4a52643-481f-42bc-a6b3-c5b886efdf42", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e2b3cd0c-45f2-492b-97e0-7d190d723c40", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5eff16d7-b651-4776-9415-470e43412c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-\",\"deletedDate\":1565307781,\"scheduledPurgeDate\":1573083781,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/58b7b4b2d8ec42658edd82f97611bd96\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wwYpc9CTrPngOFYWodPD5izuCLNvsV5DboS5OBWLZYulY_jEVqfIaZOSYd_XRkaksK2B3i01ULIbS4P6d71YTqXWDcftdL0EE7nXxwirsA7Z7W_I8ALk4olLRpPLMYecqJNx7yWxpAKjncKn3b6zJlN67CJvnV2QNX4t8u7cfejOwvnhklZpZeQuU063ay8SH-Y0c1pzP3u0ucT0hvvedw2hB5srMtvaKfeoehngywBEgmipf8NYBd4f5AZ1RgoYNzphs3oSILjIokFXaAxjtAnU3_vz9Ni08O3ZpWhJLH24gcj2BsbR4HS0PCkFWiN0coRWAuH46DUjrxAnM3ngjQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307780,\"updated\":1565307780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "891", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3e2227ad-32fb-4a3a-bf36-51fc14e384f4", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "aecf7882-f07d-412a-86e1-e4d84b11eb84", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:01 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d7eb2535-0c52-43a7-ae2a-e389b4fa3700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, "status": 409, "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -486,81 +1860,309 @@ "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:42:59 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:00 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3865766c-3971-491e-a8e3-1858e5fe4738", + "x-ms-request-id": "3d8cdce2-249c-41d6-931d-26a84ffee655", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9dcfaf5b-c1cf-469a-b807-38c1e0669799", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:11 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "d7eb2535-0c52-43a7-ae2a-e389c3fb3700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "1b773dde-2db1-48de-8402-614c565f1589", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:43:10 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "25e1b671-7f3b-4860-8d69-b2a3b53d491d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:11 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a50c2921-436f-4745-bdd8-20bceb8e2a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnNFTFZUcElJb25sUXB6SEEwS3hsdDlGMDVvdzh4MzlEai1vVnF0c3VwOE9jaThwZmo1RkpOOVpkYjNBcS04bExlQmtoa0RoVmk4bnhDa2NHdGpacmxyWENkaE1JNktKVzd3NGZfWHR0MDBPZmtFQURQMmlGOFJhN3o4aFoxMlpObS1XVjlXeC13NGNVb2VOWDIwbXliaTQ0NjlVZkNkbE92X3FDTFl2YWxiTGYyWVpmWG5YQkZOaVo2UDBHVnd0Q1BYVlA1LXFRQnZXMUd2cmt6Q3J0VnV0NEFMTThWNFdTT1hSc2RRT1JsTEc5TVBLWU94cUtxVGhIc21xNlIzQ0dCUXVXZzJta0pwVVBTVUh1S0c3RFhMWXh6UzRGd2RjanYxMS13MllFRVI5UHV1R29nMWp2VDN5OGJtUFREc2UtNmw0Q1N6YUZENWp4dTVfcGdRTVZ2QS44TnEyZllPSzNnVUQtNDJZUXN0bkxBLmVRNzhvbjV5elM1MlRBczd4QlQ3MmpCd1liaWc4NVNjVUhpelFSVUZPSnRvUnFGMmx4RnVFeHhhR3BCak9XQ1pJeDFyRlBmMFoydHJjQWpJRUYzSFZ4cGljYXlkcHg5dTZQU19yWUNtY21JY1MybGFzaFdMSkNCaVJ5Y21yWUYweE11QnJ5U1pEM1gyM3A1LThIalFSSHZ4eHBUSlZLeVd5Y0ZIUWFKblJDY2t2SnF5TkJBMjdvX1JWdjFkcEc4YWtiVVowWUV1Q1dFSnVuQnI4aGhua0VDYVlPWW82NW5wR1Ita292S1owTWVBd1pzLTVOVjc5SjZXZmc5aGd6OTN4Y0tSRUlfVFRqOHJvUFh5YU10WXk1RTUzOGVDOUgwZTQ5Ry1NVnVacVAzdl9NcnN4SXRxMm1IekJjeFhZMFRKNTRSN0l4XzU4X29lUzNQSG1JcVZZbDVIRTFmR1BzemFMTzk1dll0Z1R0b2ZreVBGYzl1RU9IVWRhOGlqVHAzSHRjcUVqN3RabC1SYTAwcmRFYXdmTHFJQ0JITGR0ZHJLa3I0eHhVVlBUdWVGWkdKUUlnUUdZR0NBQ1FvampGYm9zVHY5T3I1NF9HMHBoWVZHZm43MlNldndsenQzemp4QVNmZlN5MWYyMURjQWxsWlNsdl9ObE9HQ0FxNENRdE15NkttOUhZSGI0c2VjMkVjS2Z5SldyMWJ1U0Z3ZVpRQmswNVBrX0JPNzlGb2NTT3lDR3EyenY3a0VxMkFkUXVfM2JFa2dqd0lOSjluR0t4UGphV2R3b2ZVcGtKVnVjTk5VMGpLZmZtQy1aSkE3bWtBUWNzVVdjdFlvQ0twVWg4LTh6WXA4Y0I3VVNMN2Fvc1hpaHh5cF9MOTczWlB0WkVlQWxPeEo4U3B1eFpvU0Nlckw1ejVFc0RTVGotTzZETUdFbkJPTkxpRUhhckdVc3JSWFhBM1lmLXpKcndzNDJOVjViZzVLWjV5SDd0cHRtY2liYTlqNEVzNTY1ajVKWk5XRDVzUXNVZ0M2U1hYc3UxNzJwQTJyTHZOX3ZNb19rekV1VlR3a2IxdTItOGJmRDQweDA5QWNRQVRtUTVHYVdxX1o2d0VsYlcwdHRaSDhsdFlWUkpZN0hGYVdvQ3FqVElGQ1JaNVNlQXM0S2F4aHhEeGZUeDRHUzd2VU5pMGxPNnlsdmg0VGlzS2tvc2YtZU1GUmdEUFl1MTlvYmtBdnA1UW85RzJWS3REdzBCa1lSNUlnNmJmT003SFhGUFhTMGJKSDdxTFRuTW5Qb2NHVDNMNFphdE1yTmhxU1pvVERKR3NuV19fdXp5TDlEZVpMVEFMZTVYU3VSSU5FRlByTjlYa2dpbURlOUZLMFctVkpKd2JBaW4xbXFvWWFvd0JtMk8yNDg2ZFg3aGpQLXp2SDJPT2VQYnZTcU1TNzBlaF9TcDFWNWtIZkgzRzFRUjhtb1hhVVpQSEg2ZXZscl81WDM4S3BNSDlCeVp2ajM2bWtpNUZrb2tWOTFlcUU3U2ZLUlgzVUFYV1o2dTJCVk52T0pXcVVBa0YwcnRNdGtxVE5lc1VoVkZzR3ZwcXpRR1NHeFFjdmZkQXBidFpWRFBoRnpDMWdzQV8wSEdsaUtFOUZMUktOYXg1RHM3S3RpQzdld3RrbktqLVJjdEk4S2dWUk1zZ3RYWEdiMU9iTW9GUnJCODhoUTBiLWVLQXZxYWk0bnViQzNlSV95cXJTbkhNdENYVDF5SGFzRUJKeFJpOFdPR2VtSXh0Z3laYTl6akhtZFlkNFkydlRtR0VkbEFCeFNSNmxKYjFHcXRQNFk3dW1xREpQTDNtVWtOT3E4Z1FxQ1pvRTN2ektneUNVRjJhcVFyQzlVdFFBMHp2RXo1bWZKTnVqejFUNDU5QThXRHdFb0NEcUVFVm5ha0Mxek5MUlRDbXE5REM2cUg4a3FPcEt4cVJTWndrVVEydWRuWmRSei1xbFJpcEtiRWowcWw2NHo3cW43ZHg5bDNvWEc0bXJkZE05Y3gtRTVOd3p0SUZPcGNvbzlBc3VpOUNOMzY5Vk9Eel9WWm5PZFdYZEpWNmIzUW9QOFNIYVEzYW5Hd192QTk4OF9JTUdfaExOT0MzSG54Z3ZJejNfYW4wZEVybDhpeWlKa0UtZjFPM1pUeWtvS1VZM29yVFBJeXhzWTctWG1oTDNqWVlHbVlqV3FybGViWDNFanB0Z3U0MDFzVFpNdkYtbjdmRFhZenZoZVo4WUNYcXFSN2pzMlY1WlFuQVRVOUlrYnc4Y1hsT1ZkelZjMEtxelEweGw0UVJ1SFVYUEdqWnhvbEtFZVlEd0NReFRfWWpZb01BU1Vmdmc5Zkd4aFBMaVN2Mk9XVzJHbHByTmtBZEE1RHd0dUZtTFR5Rk02dVRJaXUxajUxd0YxbXFUMjMzLUpLbV81YkEtbmlNLTZiTGtGaS1Gc3o1bTNpcXktS3pWNThQUjM0RE5Ld3RGLXZqVEdPamdqMGFxcUZLMmxYTFZ1MXpWeWtOQ20xU1BUckhYRkR0UjZxdTN1QmJGYlJfX1VTRFdKdjJCd04xLWxralpPa3lLMGRsR3ZDNzA1V1NWWktYNXRGd3A0TnlmZG9paXgwdEpZLWdwcE8tbnpYQXdBZ3B1M18zMXNvYUdPZ0M2WGpqNHRBQXZselBkaVppVW81elJ1ZVdISmJ4S1EyZEI5c1RLUHVGb21rc2FOaG9XQnl3OWJuYWktNmRqd1VEMjB0WUk0dWZEeWxDWUl3SmRfV19OUFB2b0ZQWXhyMUV1c3h2REhyVExxb2VmcVQtT29QaUhzYWxYRGVwZVVOX1BVM1lPbllreXVEUldJS3pLTko5LUJKZEQ5dHdUX095TFJ6QVBsWXcweWNYckRtV0xKdEtqNlFlcEJyNjF0MTByUXNsYlpRWEpzamNLMDdVSDV3bGRvS2hXdHhnbDVISjdTWWJyLWZkMXFoemh4MkxUZDlaS2hUMi04U3FuTnBoNW9kR3R4Y3FnRmF3WDdKSXRFTFBSandRcllPWDVvaTQtelRTXzQyZUtRaWxmYmZGZi0zaHJyQ24wVHc2bGJtSmRLNlYyV0FwRjhXMFo3bmY3QUJ5UWJlQWl3dUJPUU9JTzF2Sm1RS2Q3X0FMOTBjNWtybjFWWHdvQlU2WHZWZVpyRm5raUItX3lfNkRUbnJMdzJqYWFld3ZUNk1ZNVhEODZ3X3JzMHNjS05sdElyRUVyRWlWeDRlOS1vWVJTMTZ1YzhCUm9kMC1rYWZoNkdDM2g4TFpXdi1DWkJKU3loYUJ1WllGQkwya05lR2s4YU9QdTFLX3Z4azh2VUtsRHR2TW9wUkxHclpSMTllV29vSFo5Mm1neVBTQVd2R25ObmVqSnZzTW5vQVY3em9xR1o2ME9saTRyVm5WSXBiSnRoQjM5dnlUWl9JSnlLZ19UTzRDSXExeUhuMGd0SURSU1JkUjQzU1dBalFuRnVFQWM4Z0JXNUV6Q2RrUVoxQnIydmE1ZlpnRWpJNFFVMktEU0VoZ3hRN09hay14QVktblpKbG1xNW1STTkwc1FvYnJmb2lzQWN2Y05Vc1VHdlVJWkhqR1ljSXFkZHEyS1JyTjBGanVtSGlPUERpVFRzaUtaUnYxbFhoMWVnV2ZXb05yYVlRaTMwQmxwaWpsbEx2NFd3ZC1vZG1fS09lUl9hQVBBRk10empKMkRxRU1CMWxYdHp0ZkM3bHFfOFRNbjdqT09yTEZoRTFQMVBzRnotckRxNHJKRTRTOGN3YUkxQUw4d3Z2WmZ1VUNBaE9icF9UNUUwNGlpZVF4d0FlUDFINzY2SkJENWYtTUkxaFB5VkszVnZZc0RxRUVNOVNmanp3NDJtSlRSZmZuTldTTmQ5VG1NdVhpLVZlelh1UjZudFJNTUJBdURjWHNmLTZIS3lpS0MxSUFuV0o0MlE1bWtfV2ZSMnlpOHRQdncwdGZmR0RzRlREb2xSRTI4YzVPbHNSWEJxand5cmRpRVlXZXY1bDdpWHZIT0IxSEpnVFVlYkNXOFNrdmpTWUMyWm5Nal9MaS1ZdEVtZF9qYmY4U01mbVluMWpiYXE2U0hwdmZoT0JHQUI0QnR1Tjg5cXVHV1BxMzIzaGRuV1ZsMHBoaUoyel9CTlpFbHN1eHg1WjFrOXRmY2JGOEo0YW5MYnJkQnR6WGNDV0VpSEw3R3VfdDFSYWRpNXlwbWhVZWJkalphVFA5VC01elRFSHkxOE5pV29nYTV4WnRyc1lFS0lYbktTMWNpSTJMOWNRRnhwNVFuLUtoU0Z3OTlEY210RFNLUzhlb3ZpbzR3eldaZER1aGEtMVQ5ODRPSldPN0JuUGFydG5ReTlVTUVmVzFZbGdEYXVVcGVvSUdwZFRObWhlVlpMNHRTcmNaRDN0SmVlQ28zd2lURFlJYzY5OFdJOGZWY1A0Q0VRY2gtdU1vVFd0V1lodTF1R2V0MmZ1YXNEaDFQTWhpdGloMUJVSDZINDhSR3YxUEUtYWhwT1NURnNJQ2kyOTRvREM5a2trcmZtODFqNmdCR1ZlNjNDQXpnUWpxa1ZZZ1FxSGkxVERqc1dLM0QzaC1tb193NUxuVlJ1YjkzZVFRbVI5S2xtQzcxTVpKM1hfbWhUbU9BTE1aUTFuYjlZempWUFduUUZfdUF6VjFnbkhVbXlJN0FhT01lNnQycUhQSm5wQmlaVzhvMDhGSjVUdUhRbjh4RDVLcFJidE5feUphVy1qQ1doNk44Zk5nNjhLWVRWdkNNdnN0bW56RWlKVXRCR0ZaMmtab0xhYmxLWG1fLXBFRy1kSzlRVzI5dUJ6N0dWVnRzc3owWlA5UHM3akM3V25wQ3BHMTNLcXJRR09jeWtRX0NqdHpMelpkQkVjLV9tYkhPdjYzblpPaThBOC16bGVDUFE1aTRjcl9EdF9KRkJjVkNQSnVUcWtKU0hDZk10RDJBY0Q2Z1V2UjJWRU4yNTFlTVRHT0FXNWhDc2lYRjNrRkg5eHo4N1hFaDNsNzZNcVp0Rlc2eFVzcHBRdExRZmVQbWNGRURLcjNkRll2cjZIc3JwNWo2Y295NDdNUER5Q3IycTUzTHdjSTlHdUZGNHZ0QUhOdUktdDliQTlxRElydTJlRU9OTjlMTUVqMEF3aFdOeFg2ZHZvMDJVOU53N2hsLUdta0t0dUp3OTlHQnN0S2V5YUlkRVJUa1B6Uk1iV01ScWE1WHo5VzByWGZhLUoyWGZmeWdVTks2QzdsM3QwbThjS2hBVFBwSUJIdG50aXFJenFPMEJmek8yWTRsajNJNWozQmhQeURHVy01T2hSbGFzbHhxQzBleWFqR3NXMko3NF8ybEVrTmUtRG1mYVlIekVIbjJMSkFFc2pUUjAyOS1Nb0NBUFpna0tJOEcxV1lJZllocnB5V1ZoQTMzbnUzZVlJZm11dzRmRzN3dHVZT0RnemhLYkhnaThlMnhKMDBFRElUUmZkM2pRaDk3eGhMNnhyYlB2elBVNkEyMmVuaWYxM0J2R3VMWnNwZjFTOUFjblphWEJ5YVFOS3FHQmUwTXB2clVnQ1RpU1VoRmNJZDhyWTMxcDV4U3duZW5tSEdseGZaVllJMU5VWFNFN1NkNnk0LUJrQm5wSlpNSzBPWmpKOHBlQjFmTFJ0NUNvZmVhUzBJeTJ4WFVCWmRxVTByeHlFVFhrdDRWaFhncTd6RFJmYUdqVjlfd1BaeV9vSy0tc0d0UUlCN1hfVU1kWEFJeEVLbFpVcTlxWDV5NDV0NHozRl9LTGE1X2ExWTkycG1lZF9jbVZiY1FyQ0hNdmNEQlROZUl0ZklWeUxVTzVMNHc1aGdTbHhDZGRvV1pXNFZXX292SU5wV3ZhM0RJR0pVYjRMOXBEekdxMl90VFJvYkxFeXFXQXFzcjVUQXZFdERoSFRDdTJEb0kyUThkMjhEVDdyd2VURkEzaVBrZ0czeEJiY21MUS1HX2dlejRfamRyc0ZzUENZakNqZ2luX0R4RlFEbEVweFh5UDExLUFCRTZtV3lWZUxMZE5SWTFhLXU1SXdWM0FUSWhMZTY1d0VDQngwZTdSWUZYTEZtODlfYXdnLXNWS3hhcDlOemdKMFZpaGlWdVJqdk9jMmFEVWozel9XTU91cTZzQUJEZHI1WGxYS0xtZEpTa0N0c1dwTUlZR2kxdTJWZWcxcXBJa2hyT1FKVTJTUlBFMEwzNTRJbDE2VVR2dURmMzZDMnRLUU0xcjVBOFVKZnpMdG9RaTVIcENaRXI0UGo5QnYwRjNCVEpsbnhrQTJad1RTUFdqQ2JtU3kzOXgybjF0RlBZZ3pQeTNxa0E5a1hRYmdveldOdTdCWmtTM003NHpUUUlzYmtiQWpxeDBRU1lBcnlCREJ3YUlVLXNibkZHdnpCTXNMQWI0cU1Ybm5uWDBQdU5pRXZCdFBMMnJqVzd2SnpZRHJsa1JUV3FxMnFGaE1RZTdRcFBhZkRvWFU1czd3OVlvcVJzWUI0aHl5T0dFcllkSFJIdU92YWt5aFV4UUliUEROV2swSkZESGd1NWctRUU4dGNhUEkyb2w0bjRIUDlVTk5YUzRIanhBd0ZqYWFxbDZlZG0ySlhHX0RuTGxYbTBzTEl4dW1nNXltNE5qa0VxVGhWWHUzdHZheThQZEpfSC1tTU5nYmJ3c3VTOEpxcDhYcGI2TWVHMVNucUtFbE1sX2oyZnVxNmFNdVpRb2l5U0E4U1BjRC1MRVA3ak95OFlHWDBDZFlwMllLcWtCR29EaXEzRHVWMGRDUXJsUk5fRi1lcmRrNnRaaVVodzNSM3BXbVlOTEpQR3AzV2xwUVFzandyNFg0YzRuTWtjRW5wOUlrRGpXaWVGT2xweFVLNjFXdFFva3hxY2g1UW5kd1hkRHB6Y3YwN1o2RURLcDVIN0VNOEtUUUNhZlBZY21ocTVSeC1TcXpYUnp4QU43SjNhcWcwX3RzSEFZY2lTQ2NRbmpzbzE2dmtsMVpRcUtoNmpDYlFWSW0zOWFUOXFDTjJPcF9UbU5sZ1FoMTN4dF95XzQtdzZiTW01RlNWajRfQl9CN2o3UGF3ZGVNTU9OZm8xRzlfSkdxOEhoMkNfTC1wU09rRmppd2JZMThpWFFOcjhfdUhGMHR2VjZHY3prb3NQV2xkT1JkbTRtOFo3YU8xWEJ5cEVYN2VuQk9HRlo0RWt5Z3ozZ2VzcWlFYVZVb1U5dUtNY3FpWTFWbEpIWklTeFRMRFRIaFJsUmNWWDFnMThoZlI0R1BIRlUyNEZtNG9xclRsWklWV2ZfQ3JFTkFDTEw5VmVTbm9NSFBaazlJVXZGbHZ2Nk16RXl3alV5ajNtTV82VmlrNEM3SUE1elRnWk9yU01fM0w0MUt4dHZNcjlZR1NmWjhRUy1RSVBPTFZNX2ZyOGpWUkZNcGd4YUZzZExDS1JGWVpRRnVIc182SUtWbE1QMU5qenRPSXJzVnlVZlM0Um5aclZ1NUVuSTktVEM1Qnl2UE5PN0JHRlVYbTl6WU1jTHl6ZGV3elNUODhKcHFILWlFUENDXzlJRDRhbHZFVERJN0R3TFRuMk8wb2hpc2dQbzR1RG5tTHlpVkVtd0laeXpVXy01MXFDSUtJWXJfVkJKeVUxMkhaVmxBY0Z3U3d1UXJOWkFuWWRnTnJEcTFFdEdXalhpREZJeDdBVVEzRXh3WXY5UGtNSU5zS3NKaVZZUFdSZjFtZzQ3TDJBNnhkSFVQNkFQLUxYRElzT3BPVjN6TF8tcDFGLTRhTlBtWW5JckJQV1hlTXBta1pfQVp0WFNQVTZ6VDZsNl9ZUlVxNFV0cUl3Y3FSUmN2SUh3aFdsOGY5aVlta1ozOFQtVkhJa2NWMTR5MmhyRnFlM0dSN25ibHNSalpncTI1eWg3eTdpVzhDZk00S0pXX2VxRjNUR1ZSbHppdFFrZEhEMlgzUnFLcVowQlRyZXMyS1FwODRDN3ZSRGFRVFpWVVBLQXFtV0VMaUtWN3NPcmxyd3FLLUdoQ19SbExmMmtCTU9JTWpnX243R2dSQ1R0MHNuY3ZWSnhRVXBlOGNvWTQ2R2J1MmpFSlJqOGdPUUtMSVN4UHhrYmZoUnMyTEUybTA0ZmdYeVZvYkZtYmFwTVVzVDFKMkRTTFRwYVRWWXUxdldjYnU5eXJfa0pXbldfNlF1U2Y0djc0cFQxdkxnRkZEZHpYZy02amhpSHA0T3RCM0JYRnh6NDN6UDBzczJvcTFWQkJtME9wQlk3UFNyVlo4X2V2eUhrSGZZdGU5N0EtdGVDUG00a2NtQnBWQkEyYkxJcHdGQml2N0NDajNOSXhhUkw3a1VReDFHWkY5N1pPbUdLdXlkdzZOMGZ2ZUoxY1hmcTBVeGxtYXY5S3Q1VDkwS2NVa3h2SS03NWVncWNldWo2X3dOaXlRcmdHdkpLUFdFdEc0dXY4aGdqM014SnlHRTBUbVdMX0NkV2xGcWQ1SHJDNy0yaXlwakRnMXl3U1BFYzNIQ3RXcU9oekJzamdUSzFFNG1TY2JkaEttS1psN1lXSHQza251cEZ3TE1YRU1JQXlkS2Q3azAxUzJfZmV4dGNzQWU5b3o5THJLc3BiRXJORVJqRDJZcU1uYXNGTnRLLU1GcVlUTWRZVExZMDV3a0lNSUI2VFJ0bEFMSXdGaWJHYjdvdzg3cHRZeTM1S013QmVxTFBVaTNSaUUwZHJqd3JoZUhLbU9kYVNEUDV4eGQ4aHQ4amt4dkcyb29qQlBNT2FpcVBNT2RYVTR0N3Z1Z1FVeElHNmhsZ1ZMYnpiTG1zaDNSbjE5NnpVRVpSbTVSNDNyQm9jYUpROGRSZDRhVkRoVVp5QmhZdFpabzVUVWhiZHlXdERjV3l1bms4aFg5VWpuUlVBdWYxM0RkY1lNMF9xMnVDU2hMUFg5SjVBQVYtMDdGdFhGejdpa3V2X1NKd1RyckJBMXkweDkxQWhzQXBudW1VU2E5ZUhkcXYzVnJfLUJWbmdVWllBQ3loY2E0RHZScml5ZjJYbkpWSFVLMlpZMnRrVWZRVGtUdWhFZXJRdmFFQUoySUo0UFlJMmhiUkdWT01keU5ZQUpjTHRNY0VIUXRHQ05OUEplSVVyOU9JMFhWTXgweElsbHQ0UmJ1TVdTOVM4UVE2WHNpc1g0YkZlV3pOcnpXMWFSQ0RKbTdMY1dVTXpzTmNjbnpHRi1pN2JEbnNCWk9QTk1kSXZaTmFlNU1FTVhMMHVmMVNlT1d3Q1BuS2FjNF93RHkza2RNcVhITmV5UXlBdVlrcGh4M3lLMjFGQTBsaEtiUy1yY2hsTDNuOVhNVUNubG55aF9PaUF6MU9GME52OFFKdVV1Q3hoQnZXZG1lVTZlUndsZFpxYmlNZ0NDOXNRMloyLXdjTTVITjBINFM3Nm92eHo0Q3B6Y3Njc2JVZlJZRnRVa2EzeWFsX1pGZG93S0pIX01jR3FTQldLRlVsX21ZTXZZRnB3dEp3MF94VTQ5cGtBeThjSTVGcDZISlJWQmF2dVVlZWVTNmVtTURGZk1Dc29ZRHdIb1owaGs1Y3UzdHVtX2RaZ3pCZGh1c3RLLTEyLWxqUjlTeldqTXJWZ2xEdS1jZjZCRjgydDBlM1BGeWpJeVJiaGp0Vzd3SGV5eVBFVXkta3lkc0w5bGlEWDQ1cmpTUjhKS3hYWmFkcEZoWGNDcFBrWDJWc09EWVE3UXNJZzBYZ3k0blRKVzJSWklXb3lOWmU2aHRNbTg1RjFtS1Q1SjhRSW9nX25nT2I2dW9CT3UtanVlZk5YaVp5UVYxNEMtTnlGMTBOR0t5aWEzd0hoNXhYd0NPWF9hemFQeTk1QXFpSlNGbXJwUXdwT2ZSZWFzOXdxajFyd1hwMi1fZmQ2bzh2TWtIWTRKa01OOWtlazF2UUhoZ193WEpsem5FTXJzLVhhZFZ5c0VFZUVjRDJmMlp1NWFJcWJEQTZUVVlGNjRud0h2VXc3S0hJUXd0aXlIQ21ub0ZDYWpQR3ZTcC1sVHIwS1RtLWthcVB2bGhyOVNaRUk0TnpCUEd5azV3LVRiYXlUZ2hwRXpTOVBXdFZjbDhSSTFyMElJT1I5OXdVcDFQWC1LbHg2NE1lakdQdUpVNVplOHZUamduZUtMOWFOWEptSkZCR2g2cVp1RndTa1A0NE5pN3ZKSW1nQVRrTF92eWJDYThjZ3hKekE2U3NZRHo3RldLVktuNVh5amd2WTlYajV0OUU5REF1YkRXQ1MxYjNNSXRDVHRnVDFsVlgwaU9aTWYwRml0SzhoVldFaEVuN1VhOXY1cmVoZl9YM205dFF0bTV1b2hRWGxNSWx2V19oamJtallIQWFoT0tmN2FlRjRMVFc3c0phM1FvMV83Uzk2cXpoT01YYlFXSkxBUEdmdGdJM0JqOTd6SWtsaFdyWXRIUVBLVGpEZlNTS0pWaWtIWGlGR01CWmNMSjhQSktneGJ3ZDJhZWZycHJvR3ZrZnZzTngyRlFqRVpUY3hhU2w5R3d1QUNueTZXa1JtWFppWkVDdENMc1BXSDkwSndEbFNGR1p0a1U1NWRNUWdPMm9OVXRPMWhzUWhZRjA2akxGcFN3N09yRjhIRE1xcW0tTXFBYlRGV3V6Nk0yMzJXcmE5Vml3LUo0bGxkN3F5NmFSd2NkTVNRTnQtb3FzZGZ2dGo2RktoejBldmNfMl84WlQ5T0VyWUZUX3hBdjJ1Y05HZ25INEtnQ001SDlYbWFuU0JpdFZUeFpCWlBMdktvSTM1LW51MDFOWWhyelBvNFlGSjF5eC1XVHpvTTk3LTV5UXp0RE52TWlVNHduSHkxdy10UlVfakoxWUU3LW1RTGdJOFRmWkxRWXlWMmRzaEhCSnNyZEhDUllBTzJ4b21PaVNhLXBXZjNJV010ZWMyRm10YVppY0xuXzNockZCMnQ3dC1GU2tZQ2syc1Y4bFkwSVYtWGhGOE1iLVZOSy1WQS5oZlZqYU1CMFRTNWVrQzR5djA1bEhn\"}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/58b7b4b2d8ec42658edd82f97611bd96 - key already exists or concurrent access\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "249", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "26a42341-9dec-4d1a-90ef-b7ccdcd24c77", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b1dcc280-d381-4dc1-ab8c-549c3510939b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "81c80503-4aa1-46cf-9da5-275919103c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/restore", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnNFTFZUcElJb25sUXB6SEEwS3hsdDlGMDVvdzh4MzlEai1vVnF0c3VwOE9jaThwZmo1RkpOOVpkYjNBcS04bExlQmtoa0RoVmk4bnhDa2NHdGpacmxyWENkaE1JNktKVzd3NGZfWHR0MDBPZmtFQURQMmlGOFJhN3o4aFoxMlpObS1XVjlXeC13NGNVb2VOWDIwbXliaTQ0NjlVZkNkbE92X3FDTFl2YWxiTGYyWVpmWG5YQkZOaVo2UDBHVnd0Q1BYVlA1LXFRQnZXMUd2cmt6Q3J0VnV0NEFMTThWNFdTT1hSc2RRT1JsTEc5TVBLWU94cUtxVGhIc21xNlIzQ0dCUXVXZzJta0pwVVBTVUh1S0c3RFhMWXh6UzRGd2RjanYxMS13MllFRVI5UHV1R29nMWp2VDN5OGJtUFREc2UtNmw0Q1N6YUZENWp4dTVfcGdRTVZ2QS44TnEyZllPSzNnVUQtNDJZUXN0bkxBLmVRNzhvbjV5elM1MlRBczd4QlQ3MmpCd1liaWc4NVNjVUhpelFSVUZPSnRvUnFGMmx4RnVFeHhhR3BCak9XQ1pJeDFyRlBmMFoydHJjQWpJRUYzSFZ4cGljYXlkcHg5dTZQU19yWUNtY21JY1MybGFzaFdMSkNCaVJ5Y21yWUYweE11QnJ5U1pEM1gyM3A1LThIalFSSHZ4eHBUSlZLeVd5Y0ZIUWFKblJDY2t2SnF5TkJBMjdvX1JWdjFkcEc4YWtiVVowWUV1Q1dFSnVuQnI4aGhua0VDYVlPWW82NW5wR1Ita292S1owTWVBd1pzLTVOVjc5SjZXZmc5aGd6OTN4Y0tSRUlfVFRqOHJvUFh5YU10WXk1RTUzOGVDOUgwZTQ5Ry1NVnVacVAzdl9NcnN4SXRxMm1IekJjeFhZMFRKNTRSN0l4XzU4X29lUzNQSG1JcVZZbDVIRTFmR1BzemFMTzk1dll0Z1R0b2ZreVBGYzl1RU9IVWRhOGlqVHAzSHRjcUVqN3RabC1SYTAwcmRFYXdmTHFJQ0JITGR0ZHJLa3I0eHhVVlBUdWVGWkdKUUlnUUdZR0NBQ1FvampGYm9zVHY5T3I1NF9HMHBoWVZHZm43MlNldndsenQzemp4QVNmZlN5MWYyMURjQWxsWlNsdl9ObE9HQ0FxNENRdE15NkttOUhZSGI0c2VjMkVjS2Z5SldyMWJ1U0Z3ZVpRQmswNVBrX0JPNzlGb2NTT3lDR3EyenY3a0VxMkFkUXVfM2JFa2dqd0lOSjluR0t4UGphV2R3b2ZVcGtKVnVjTk5VMGpLZmZtQy1aSkE3bWtBUWNzVVdjdFlvQ0twVWg4LTh6WXA4Y0I3VVNMN2Fvc1hpaHh5cF9MOTczWlB0WkVlQWxPeEo4U3B1eFpvU0Nlckw1ejVFc0RTVGotTzZETUdFbkJPTkxpRUhhckdVc3JSWFhBM1lmLXpKcndzNDJOVjViZzVLWjV5SDd0cHRtY2liYTlqNEVzNTY1ajVKWk5XRDVzUXNVZ0M2U1hYc3UxNzJwQTJyTHZOX3ZNb19rekV1VlR3a2IxdTItOGJmRDQweDA5QWNRQVRtUTVHYVdxX1o2d0VsYlcwdHRaSDhsdFlWUkpZN0hGYVdvQ3FqVElGQ1JaNVNlQXM0S2F4aHhEeGZUeDRHUzd2VU5pMGxPNnlsdmg0VGlzS2tvc2YtZU1GUmdEUFl1MTlvYmtBdnA1UW85RzJWS3REdzBCa1lSNUlnNmJmT003SFhGUFhTMGJKSDdxTFRuTW5Qb2NHVDNMNFphdE1yTmhxU1pvVERKR3NuV19fdXp5TDlEZVpMVEFMZTVYU3VSSU5FRlByTjlYa2dpbURlOUZLMFctVkpKd2JBaW4xbXFvWWFvd0JtMk8yNDg2ZFg3aGpQLXp2SDJPT2VQYnZTcU1TNzBlaF9TcDFWNWtIZkgzRzFRUjhtb1hhVVpQSEg2ZXZscl81WDM4S3BNSDlCeVp2ajM2bWtpNUZrb2tWOTFlcUU3U2ZLUlgzVUFYV1o2dTJCVk52T0pXcVVBa0YwcnRNdGtxVE5lc1VoVkZzR3ZwcXpRR1NHeFFjdmZkQXBidFpWRFBoRnpDMWdzQV8wSEdsaUtFOUZMUktOYXg1RHM3S3RpQzdld3RrbktqLVJjdEk4S2dWUk1zZ3RYWEdiMU9iTW9GUnJCODhoUTBiLWVLQXZxYWk0bnViQzNlSV95cXJTbkhNdENYVDF5SGFzRUJKeFJpOFdPR2VtSXh0Z3laYTl6akhtZFlkNFkydlRtR0VkbEFCeFNSNmxKYjFHcXRQNFk3dW1xREpQTDNtVWtOT3E4Z1FxQ1pvRTN2ektneUNVRjJhcVFyQzlVdFFBMHp2RXo1bWZKTnVqejFUNDU5QThXRHdFb0NEcUVFVm5ha0Mxek5MUlRDbXE5REM2cUg4a3FPcEt4cVJTWndrVVEydWRuWmRSei1xbFJpcEtiRWowcWw2NHo3cW43ZHg5bDNvWEc0bXJkZE05Y3gtRTVOd3p0SUZPcGNvbzlBc3VpOUNOMzY5Vk9Eel9WWm5PZFdYZEpWNmIzUW9QOFNIYVEzYW5Hd192QTk4OF9JTUdfaExOT0MzSG54Z3ZJejNfYW4wZEVybDhpeWlKa0UtZjFPM1pUeWtvS1VZM29yVFBJeXhzWTctWG1oTDNqWVlHbVlqV3FybGViWDNFanB0Z3U0MDFzVFpNdkYtbjdmRFhZenZoZVo4WUNYcXFSN2pzMlY1WlFuQVRVOUlrYnc4Y1hsT1ZkelZjMEtxelEweGw0UVJ1SFVYUEdqWnhvbEtFZVlEd0NReFRfWWpZb01BU1Vmdmc5Zkd4aFBMaVN2Mk9XVzJHbHByTmtBZEE1RHd0dUZtTFR5Rk02dVRJaXUxajUxd0YxbXFUMjMzLUpLbV81YkEtbmlNLTZiTGtGaS1Gc3o1bTNpcXktS3pWNThQUjM0RE5Ld3RGLXZqVEdPamdqMGFxcUZLMmxYTFZ1MXpWeWtOQ20xU1BUckhYRkR0UjZxdTN1QmJGYlJfX1VTRFdKdjJCd04xLWxralpPa3lLMGRsR3ZDNzA1V1NWWktYNXRGd3A0TnlmZG9paXgwdEpZLWdwcE8tbnpYQXdBZ3B1M18zMXNvYUdPZ0M2WGpqNHRBQXZselBkaVppVW81elJ1ZVdISmJ4S1EyZEI5c1RLUHVGb21rc2FOaG9XQnl3OWJuYWktNmRqd1VEMjB0WUk0dWZEeWxDWUl3SmRfV19OUFB2b0ZQWXhyMUV1c3h2REhyVExxb2VmcVQtT29QaUhzYWxYRGVwZVVOX1BVM1lPbllreXVEUldJS3pLTko5LUJKZEQ5dHdUX095TFJ6QVBsWXcweWNYckRtV0xKdEtqNlFlcEJyNjF0MTByUXNsYlpRWEpzamNLMDdVSDV3bGRvS2hXdHhnbDVISjdTWWJyLWZkMXFoemh4MkxUZDlaS2hUMi04U3FuTnBoNW9kR3R4Y3FnRmF3WDdKSXRFTFBSandRcllPWDVvaTQtelRTXzQyZUtRaWxmYmZGZi0zaHJyQ24wVHc2bGJtSmRLNlYyV0FwRjhXMFo3bmY3QUJ5UWJlQWl3dUJPUU9JTzF2Sm1RS2Q3X0FMOTBjNWtybjFWWHdvQlU2WHZWZVpyRm5raUItX3lfNkRUbnJMdzJqYWFld3ZUNk1ZNVhEODZ3X3JzMHNjS05sdElyRUVyRWlWeDRlOS1vWVJTMTZ1YzhCUm9kMC1rYWZoNkdDM2g4TFpXdi1DWkJKU3loYUJ1WllGQkwya05lR2s4YU9QdTFLX3Z4azh2VUtsRHR2TW9wUkxHclpSMTllV29vSFo5Mm1neVBTQVd2R25ObmVqSnZzTW5vQVY3em9xR1o2ME9saTRyVm5WSXBiSnRoQjM5dnlUWl9JSnlLZ19UTzRDSXExeUhuMGd0SURSU1JkUjQzU1dBalFuRnVFQWM4Z0JXNUV6Q2RrUVoxQnIydmE1ZlpnRWpJNFFVMktEU0VoZ3hRN09hay14QVktblpKbG1xNW1STTkwc1FvYnJmb2lzQWN2Y05Vc1VHdlVJWkhqR1ljSXFkZHEyS1JyTjBGanVtSGlPUERpVFRzaUtaUnYxbFhoMWVnV2ZXb05yYVlRaTMwQmxwaWpsbEx2NFd3ZC1vZG1fS09lUl9hQVBBRk10empKMkRxRU1CMWxYdHp0ZkM3bHFfOFRNbjdqT09yTEZoRTFQMVBzRnotckRxNHJKRTRTOGN3YUkxQUw4d3Z2WmZ1VUNBaE9icF9UNUUwNGlpZVF4d0FlUDFINzY2SkJENWYtTUkxaFB5VkszVnZZc0RxRUVNOVNmanp3NDJtSlRSZmZuTldTTmQ5VG1NdVhpLVZlelh1UjZudFJNTUJBdURjWHNmLTZIS3lpS0MxSUFuV0o0MlE1bWtfV2ZSMnlpOHRQdncwdGZmR0RzRlREb2xSRTI4YzVPbHNSWEJxand5cmRpRVlXZXY1bDdpWHZIT0IxSEpnVFVlYkNXOFNrdmpTWUMyWm5Nal9MaS1ZdEVtZF9qYmY4U01mbVluMWpiYXE2U0hwdmZoT0JHQUI0QnR1Tjg5cXVHV1BxMzIzaGRuV1ZsMHBoaUoyel9CTlpFbHN1eHg1WjFrOXRmY2JGOEo0YW5MYnJkQnR6WGNDV0VpSEw3R3VfdDFSYWRpNXlwbWhVZWJkalphVFA5VC01elRFSHkxOE5pV29nYTV4WnRyc1lFS0lYbktTMWNpSTJMOWNRRnhwNVFuLUtoU0Z3OTlEY210RFNLUzhlb3ZpbzR3eldaZER1aGEtMVQ5ODRPSldPN0JuUGFydG5ReTlVTUVmVzFZbGdEYXVVcGVvSUdwZFRObWhlVlpMNHRTcmNaRDN0SmVlQ28zd2lURFlJYzY5OFdJOGZWY1A0Q0VRY2gtdU1vVFd0V1lodTF1R2V0MmZ1YXNEaDFQTWhpdGloMUJVSDZINDhSR3YxUEUtYWhwT1NURnNJQ2kyOTRvREM5a2trcmZtODFqNmdCR1ZlNjNDQXpnUWpxa1ZZZ1FxSGkxVERqc1dLM0QzaC1tb193NUxuVlJ1YjkzZVFRbVI5S2xtQzcxTVpKM1hfbWhUbU9BTE1aUTFuYjlZempWUFduUUZfdUF6VjFnbkhVbXlJN0FhT01lNnQycUhQSm5wQmlaVzhvMDhGSjVUdUhRbjh4RDVLcFJidE5feUphVy1qQ1doNk44Zk5nNjhLWVRWdkNNdnN0bW56RWlKVXRCR0ZaMmtab0xhYmxLWG1fLXBFRy1kSzlRVzI5dUJ6N0dWVnRzc3owWlA5UHM3akM3V25wQ3BHMTNLcXJRR09jeWtRX0NqdHpMelpkQkVjLV9tYkhPdjYzblpPaThBOC16bGVDUFE1aTRjcl9EdF9KRkJjVkNQSnVUcWtKU0hDZk10RDJBY0Q2Z1V2UjJWRU4yNTFlTVRHT0FXNWhDc2lYRjNrRkg5eHo4N1hFaDNsNzZNcVp0Rlc2eFVzcHBRdExRZmVQbWNGRURLcjNkRll2cjZIc3JwNWo2Y295NDdNUER5Q3IycTUzTHdjSTlHdUZGNHZ0QUhOdUktdDliQTlxRElydTJlRU9OTjlMTUVqMEF3aFdOeFg2ZHZvMDJVOU53N2hsLUdta0t0dUp3OTlHQnN0S2V5YUlkRVJUa1B6Uk1iV01ScWE1WHo5VzByWGZhLUoyWGZmeWdVTks2QzdsM3QwbThjS2hBVFBwSUJIdG50aXFJenFPMEJmek8yWTRsajNJNWozQmhQeURHVy01T2hSbGFzbHhxQzBleWFqR3NXMko3NF8ybEVrTmUtRG1mYVlIekVIbjJMSkFFc2pUUjAyOS1Nb0NBUFpna0tJOEcxV1lJZllocnB5V1ZoQTMzbnUzZVlJZm11dzRmRzN3dHVZT0RnemhLYkhnaThlMnhKMDBFRElUUmZkM2pRaDk3eGhMNnhyYlB2elBVNkEyMmVuaWYxM0J2R3VMWnNwZjFTOUFjblphWEJ5YVFOS3FHQmUwTXB2clVnQ1RpU1VoRmNJZDhyWTMxcDV4U3duZW5tSEdseGZaVllJMU5VWFNFN1NkNnk0LUJrQm5wSlpNSzBPWmpKOHBlQjFmTFJ0NUNvZmVhUzBJeTJ4WFVCWmRxVTByeHlFVFhrdDRWaFhncTd6RFJmYUdqVjlfd1BaeV9vSy0tc0d0UUlCN1hfVU1kWEFJeEVLbFpVcTlxWDV5NDV0NHozRl9LTGE1X2ExWTkycG1lZF9jbVZiY1FyQ0hNdmNEQlROZUl0ZklWeUxVTzVMNHc1aGdTbHhDZGRvV1pXNFZXX292SU5wV3ZhM0RJR0pVYjRMOXBEekdxMl90VFJvYkxFeXFXQXFzcjVUQXZFdERoSFRDdTJEb0kyUThkMjhEVDdyd2VURkEzaVBrZ0czeEJiY21MUS1HX2dlejRfamRyc0ZzUENZakNqZ2luX0R4RlFEbEVweFh5UDExLUFCRTZtV3lWZUxMZE5SWTFhLXU1SXdWM0FUSWhMZTY1d0VDQngwZTdSWUZYTEZtODlfYXdnLXNWS3hhcDlOemdKMFZpaGlWdVJqdk9jMmFEVWozel9XTU91cTZzQUJEZHI1WGxYS0xtZEpTa0N0c1dwTUlZR2kxdTJWZWcxcXBJa2hyT1FKVTJTUlBFMEwzNTRJbDE2VVR2dURmMzZDMnRLUU0xcjVBOFVKZnpMdG9RaTVIcENaRXI0UGo5QnYwRjNCVEpsbnhrQTJad1RTUFdqQ2JtU3kzOXgybjF0RlBZZ3pQeTNxa0E5a1hRYmdveldOdTdCWmtTM003NHpUUUlzYmtiQWpxeDBRU1lBcnlCREJ3YUlVLXNibkZHdnpCTXNMQWI0cU1Ybm5uWDBQdU5pRXZCdFBMMnJqVzd2SnpZRHJsa1JUV3FxMnFGaE1RZTdRcFBhZkRvWFU1czd3OVlvcVJzWUI0aHl5T0dFcllkSFJIdU92YWt5aFV4UUliUEROV2swSkZESGd1NWctRUU4dGNhUEkyb2w0bjRIUDlVTk5YUzRIanhBd0ZqYWFxbDZlZG0ySlhHX0RuTGxYbTBzTEl4dW1nNXltNE5qa0VxVGhWWHUzdHZheThQZEpfSC1tTU5nYmJ3c3VTOEpxcDhYcGI2TWVHMVNucUtFbE1sX2oyZnVxNmFNdVpRb2l5U0E4U1BjRC1MRVA3ak95OFlHWDBDZFlwMllLcWtCR29EaXEzRHVWMGRDUXJsUk5fRi1lcmRrNnRaaVVodzNSM3BXbVlOTEpQR3AzV2xwUVFzandyNFg0YzRuTWtjRW5wOUlrRGpXaWVGT2xweFVLNjFXdFFva3hxY2g1UW5kd1hkRHB6Y3YwN1o2RURLcDVIN0VNOEtUUUNhZlBZY21ocTVSeC1TcXpYUnp4QU43SjNhcWcwX3RzSEFZY2lTQ2NRbmpzbzE2dmtsMVpRcUtoNmpDYlFWSW0zOWFUOXFDTjJPcF9UbU5sZ1FoMTN4dF95XzQtdzZiTW01RlNWajRfQl9CN2o3UGF3ZGVNTU9OZm8xRzlfSkdxOEhoMkNfTC1wU09rRmppd2JZMThpWFFOcjhfdUhGMHR2VjZHY3prb3NQV2xkT1JkbTRtOFo3YU8xWEJ5cEVYN2VuQk9HRlo0RWt5Z3ozZ2VzcWlFYVZVb1U5dUtNY3FpWTFWbEpIWklTeFRMRFRIaFJsUmNWWDFnMThoZlI0R1BIRlUyNEZtNG9xclRsWklWV2ZfQ3JFTkFDTEw5VmVTbm9NSFBaazlJVXZGbHZ2Nk16RXl3alV5ajNtTV82VmlrNEM3SUE1elRnWk9yU01fM0w0MUt4dHZNcjlZR1NmWjhRUy1RSVBPTFZNX2ZyOGpWUkZNcGd4YUZzZExDS1JGWVpRRnVIc182SUtWbE1QMU5qenRPSXJzVnlVZlM0Um5aclZ1NUVuSTktVEM1Qnl2UE5PN0JHRlVYbTl6WU1jTHl6ZGV3elNUODhKcHFILWlFUENDXzlJRDRhbHZFVERJN0R3TFRuMk8wb2hpc2dQbzR1RG5tTHlpVkVtd0laeXpVXy01MXFDSUtJWXJfVkJKeVUxMkhaVmxBY0Z3U3d1UXJOWkFuWWRnTnJEcTFFdEdXalhpREZJeDdBVVEzRXh3WXY5UGtNSU5zS3NKaVZZUFdSZjFtZzQ3TDJBNnhkSFVQNkFQLUxYRElzT3BPVjN6TF8tcDFGLTRhTlBtWW5JckJQV1hlTXBta1pfQVp0WFNQVTZ6VDZsNl9ZUlVxNFV0cUl3Y3FSUmN2SUh3aFdsOGY5aVlta1ozOFQtVkhJa2NWMTR5MmhyRnFlM0dSN25ibHNSalpncTI1eWg3eTdpVzhDZk00S0pXX2VxRjNUR1ZSbHppdFFrZEhEMlgzUnFLcVowQlRyZXMyS1FwODRDN3ZSRGFRVFpWVVBLQXFtV0VMaUtWN3NPcmxyd3FLLUdoQ19SbExmMmtCTU9JTWpnX243R2dSQ1R0MHNuY3ZWSnhRVXBlOGNvWTQ2R2J1MmpFSlJqOGdPUUtMSVN4UHhrYmZoUnMyTEUybTA0ZmdYeVZvYkZtYmFwTVVzVDFKMkRTTFRwYVRWWXUxdldjYnU5eXJfa0pXbldfNlF1U2Y0djc0cFQxdkxnRkZEZHpYZy02amhpSHA0T3RCM0JYRnh6NDN6UDBzczJvcTFWQkJtME9wQlk3UFNyVlo4X2V2eUhrSGZZdGU5N0EtdGVDUG00a2NtQnBWQkEyYkxJcHdGQml2N0NDajNOSXhhUkw3a1VReDFHWkY5N1pPbUdLdXlkdzZOMGZ2ZUoxY1hmcTBVeGxtYXY5S3Q1VDkwS2NVa3h2SS03NWVncWNldWo2X3dOaXlRcmdHdkpLUFdFdEc0dXY4aGdqM014SnlHRTBUbVdMX0NkV2xGcWQ1SHJDNy0yaXlwakRnMXl3U1BFYzNIQ3RXcU9oekJzamdUSzFFNG1TY2JkaEttS1psN1lXSHQza251cEZ3TE1YRU1JQXlkS2Q3azAxUzJfZmV4dGNzQWU5b3o5THJLc3BiRXJORVJqRDJZcU1uYXNGTnRLLU1GcVlUTWRZVExZMDV3a0lNSUI2VFJ0bEFMSXdGaWJHYjdvdzg3cHRZeTM1S013QmVxTFBVaTNSaUUwZHJqd3JoZUhLbU9kYVNEUDV4eGQ4aHQ4amt4dkcyb29qQlBNT2FpcVBNT2RYVTR0N3Z1Z1FVeElHNmhsZ1ZMYnpiTG1zaDNSbjE5NnpVRVpSbTVSNDNyQm9jYUpROGRSZDRhVkRoVVp5QmhZdFpabzVUVWhiZHlXdERjV3l1bms4aFg5VWpuUlVBdWYxM0RkY1lNMF9xMnVDU2hMUFg5SjVBQVYtMDdGdFhGejdpa3V2X1NKd1RyckJBMXkweDkxQWhzQXBudW1VU2E5ZUhkcXYzVnJfLUJWbmdVWllBQ3loY2E0RHZScml5ZjJYbkpWSFVLMlpZMnRrVWZRVGtUdWhFZXJRdmFFQUoySUo0UFlJMmhiUkdWT01keU5ZQUpjTHRNY0VIUXRHQ05OUEplSVVyOU9JMFhWTXgweElsbHQ0UmJ1TVdTOVM4UVE2WHNpc1g0YkZlV3pOcnpXMWFSQ0RKbTdMY1dVTXpzTmNjbnpHRi1pN2JEbnNCWk9QTk1kSXZaTmFlNU1FTVhMMHVmMVNlT1d3Q1BuS2FjNF93RHkza2RNcVhITmV5UXlBdVlrcGh4M3lLMjFGQTBsaEtiUy1yY2hsTDNuOVhNVUNubG55aF9PaUF6MU9GME52OFFKdVV1Q3hoQnZXZG1lVTZlUndsZFpxYmlNZ0NDOXNRMloyLXdjTTVITjBINFM3Nm92eHo0Q3B6Y3Njc2JVZlJZRnRVa2EzeWFsX1pGZG93S0pIX01jR3FTQldLRlVsX21ZTXZZRnB3dEp3MF94VTQ5cGtBeThjSTVGcDZISlJWQmF2dVVlZWVTNmVtTURGZk1Dc29ZRHdIb1owaGs1Y3UzdHVtX2RaZ3pCZGh1c3RLLTEyLWxqUjlTeldqTXJWZ2xEdS1jZjZCRjgydDBlM1BGeWpJeVJiaGp0Vzd3SGV5eVBFVXkta3lkc0w5bGlEWDQ1cmpTUjhKS3hYWmFkcEZoWGNDcFBrWDJWc09EWVE3UXNJZzBYZ3k0blRKVzJSWklXb3lOWmU2aHRNbTg1RjFtS1Q1SjhRSW9nX25nT2I2dW9CT3UtanVlZk5YaVp5UVYxNEMtTnlGMTBOR0t5aWEzd0hoNXhYd0NPWF9hemFQeTk1QXFpSlNGbXJwUXdwT2ZSZWFzOXdxajFyd1hwMi1fZmQ2bzh2TWtIWTRKa01OOWtlazF2UUhoZ193WEpsem5FTXJzLVhhZFZ5c0VFZUVjRDJmMlp1NWFJcWJEQTZUVVlGNjRud0h2VXc3S0hJUXd0aXlIQ21ub0ZDYWpQR3ZTcC1sVHIwS1RtLWthcVB2bGhyOVNaRUk0TnpCUEd5azV3LVRiYXlUZ2hwRXpTOVBXdFZjbDhSSTFyMElJT1I5OXdVcDFQWC1LbHg2NE1lakdQdUpVNVplOHZUamduZUtMOWFOWEptSkZCR2g2cVp1RndTa1A0NE5pN3ZKSW1nQVRrTF92eWJDYThjZ3hKekE2U3NZRHo3RldLVktuNVh5amd2WTlYajV0OUU5REF1YkRXQ1MxYjNNSXRDVHRnVDFsVlgwaU9aTWYwRml0SzhoVldFaEVuN1VhOXY1cmVoZl9YM205dFF0bTV1b2hRWGxNSWx2V19oamJtallIQWFoT0tmN2FlRjRMVFc3c0phM1FvMV83Uzk2cXpoT01YYlFXSkxBUEdmdGdJM0JqOTd6SWtsaFdyWXRIUVBLVGpEZlNTS0pWaWtIWGlGR01CWmNMSjhQSktneGJ3ZDJhZWZycHJvR3ZrZnZzTngyRlFqRVpUY3hhU2w5R3d1QUNueTZXa1JtWFppWkVDdENMc1BXSDkwSndEbFNGR1p0a1U1NWRNUWdPMm9OVXRPMWhzUWhZRjA2akxGcFN3N09yRjhIRE1xcW0tTXFBYlRGV3V6Nk0yMzJXcmE5Vml3LUo0bGxkN3F5NmFSd2NkTVNRTnQtb3FzZGZ2dGo2RktoejBldmNfMl84WlQ5T0VyWUZUX3hBdjJ1Y05HZ25INEtnQ001SDlYbWFuU0JpdFZUeFpCWlBMdktvSTM1LW51MDFOWWhyelBvNFlGSjF5eC1XVHpvTTk3LTV5UXp0RE52TWlVNHduSHkxdy10UlVfakoxWUU3LW1RTGdJOFRmWkxRWXlWMmRzaEhCSnNyZEhDUllBTzJ4b21PaVNhLXBXZjNJV010ZWMyRm10YVppY0xuXzNockZCMnQ3dC1GU2tZQ2syc1Y4bFkwSVYtWGhGOE1iLVZOSy1WQS5oZlZqYU1CMFRTNWVrQzR5djA1bEhn\"}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/58b7b4b2d8ec42658edd82f97611bd96 - key already exists or concurrent access\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "63326698-8d41-497a-bb23-baebe91a6d01", + "status": "409", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:43:09 GMT", + "content-length": "249", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "fed0723a-c237-45c1-aa88-cb3b22983312", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-failstogenerateabackupofanon-existingkey-/backup", + "url": "https://keyvault_name.vault.azure.net/keys/restore", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"KeyNotFound\",\"message\":\"Key not found: recoverKeyName-failstogenerateabackupofanon-existingkey-\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "132", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:09 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "77987615-7f8b-44fb-ba9f-b7ea8fb13f6f", + "x-ms-request-id": "590865a2-8fe0-4f13-ba2c-036c85082c3b", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/create", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:31 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "17393c18-4798-44a7-ac52-fc4fd9dc6100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/restore", "query": { "api-version": "7.0" }, - "requestBody": "{\"kty\":\"RSA\"}", + "requestBody": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnNFTFZUcElJb25sUXB6SEEwS3hsdDlGMDVvdzh4MzlEai1vVnF0c3VwOE9jaThwZmo1RkpOOVpkYjNBcS04bExlQmtoa0RoVmk4bnhDa2NHdGpacmxyWENkaE1JNktKVzd3NGZfWHR0MDBPZmtFQURQMmlGOFJhN3o4aFoxMlpObS1XVjlXeC13NGNVb2VOWDIwbXliaTQ0NjlVZkNkbE92X3FDTFl2YWxiTGYyWVpmWG5YQkZOaVo2UDBHVnd0Q1BYVlA1LXFRQnZXMUd2cmt6Q3J0VnV0NEFMTThWNFdTT1hSc2RRT1JsTEc5TVBLWU94cUtxVGhIc21xNlIzQ0dCUXVXZzJta0pwVVBTVUh1S0c3RFhMWXh6UzRGd2RjanYxMS13MllFRVI5UHV1R29nMWp2VDN5OGJtUFREc2UtNmw0Q1N6YUZENWp4dTVfcGdRTVZ2QS44TnEyZllPSzNnVUQtNDJZUXN0bkxBLmVRNzhvbjV5elM1MlRBczd4QlQ3MmpCd1liaWc4NVNjVUhpelFSVUZPSnRvUnFGMmx4RnVFeHhhR3BCak9XQ1pJeDFyRlBmMFoydHJjQWpJRUYzSFZ4cGljYXlkcHg5dTZQU19yWUNtY21JY1MybGFzaFdMSkNCaVJ5Y21yWUYweE11QnJ5U1pEM1gyM3A1LThIalFSSHZ4eHBUSlZLeVd5Y0ZIUWFKblJDY2t2SnF5TkJBMjdvX1JWdjFkcEc4YWtiVVowWUV1Q1dFSnVuQnI4aGhua0VDYVlPWW82NW5wR1Ita292S1owTWVBd1pzLTVOVjc5SjZXZmc5aGd6OTN4Y0tSRUlfVFRqOHJvUFh5YU10WXk1RTUzOGVDOUgwZTQ5Ry1NVnVacVAzdl9NcnN4SXRxMm1IekJjeFhZMFRKNTRSN0l4XzU4X29lUzNQSG1JcVZZbDVIRTFmR1BzemFMTzk1dll0Z1R0b2ZreVBGYzl1RU9IVWRhOGlqVHAzSHRjcUVqN3RabC1SYTAwcmRFYXdmTHFJQ0JITGR0ZHJLa3I0eHhVVlBUdWVGWkdKUUlnUUdZR0NBQ1FvampGYm9zVHY5T3I1NF9HMHBoWVZHZm43MlNldndsenQzemp4QVNmZlN5MWYyMURjQWxsWlNsdl9ObE9HQ0FxNENRdE15NkttOUhZSGI0c2VjMkVjS2Z5SldyMWJ1U0Z3ZVpRQmswNVBrX0JPNzlGb2NTT3lDR3EyenY3a0VxMkFkUXVfM2JFa2dqd0lOSjluR0t4UGphV2R3b2ZVcGtKVnVjTk5VMGpLZmZtQy1aSkE3bWtBUWNzVVdjdFlvQ0twVWg4LTh6WXA4Y0I3VVNMN2Fvc1hpaHh5cF9MOTczWlB0WkVlQWxPeEo4U3B1eFpvU0Nlckw1ejVFc0RTVGotTzZETUdFbkJPTkxpRUhhckdVc3JSWFhBM1lmLXpKcndzNDJOVjViZzVLWjV5SDd0cHRtY2liYTlqNEVzNTY1ajVKWk5XRDVzUXNVZ0M2U1hYc3UxNzJwQTJyTHZOX3ZNb19rekV1VlR3a2IxdTItOGJmRDQweDA5QWNRQVRtUTVHYVdxX1o2d0VsYlcwdHRaSDhsdFlWUkpZN0hGYVdvQ3FqVElGQ1JaNVNlQXM0S2F4aHhEeGZUeDRHUzd2VU5pMGxPNnlsdmg0VGlzS2tvc2YtZU1GUmdEUFl1MTlvYmtBdnA1UW85RzJWS3REdzBCa1lSNUlnNmJmT003SFhGUFhTMGJKSDdxTFRuTW5Qb2NHVDNMNFphdE1yTmhxU1pvVERKR3NuV19fdXp5TDlEZVpMVEFMZTVYU3VSSU5FRlByTjlYa2dpbURlOUZLMFctVkpKd2JBaW4xbXFvWWFvd0JtMk8yNDg2ZFg3aGpQLXp2SDJPT2VQYnZTcU1TNzBlaF9TcDFWNWtIZkgzRzFRUjhtb1hhVVpQSEg2ZXZscl81WDM4S3BNSDlCeVp2ajM2bWtpNUZrb2tWOTFlcUU3U2ZLUlgzVUFYV1o2dTJCVk52T0pXcVVBa0YwcnRNdGtxVE5lc1VoVkZzR3ZwcXpRR1NHeFFjdmZkQXBidFpWRFBoRnpDMWdzQV8wSEdsaUtFOUZMUktOYXg1RHM3S3RpQzdld3RrbktqLVJjdEk4S2dWUk1zZ3RYWEdiMU9iTW9GUnJCODhoUTBiLWVLQXZxYWk0bnViQzNlSV95cXJTbkhNdENYVDF5SGFzRUJKeFJpOFdPR2VtSXh0Z3laYTl6akhtZFlkNFkydlRtR0VkbEFCeFNSNmxKYjFHcXRQNFk3dW1xREpQTDNtVWtOT3E4Z1FxQ1pvRTN2ektneUNVRjJhcVFyQzlVdFFBMHp2RXo1bWZKTnVqejFUNDU5QThXRHdFb0NEcUVFVm5ha0Mxek5MUlRDbXE5REM2cUg4a3FPcEt4cVJTWndrVVEydWRuWmRSei1xbFJpcEtiRWowcWw2NHo3cW43ZHg5bDNvWEc0bXJkZE05Y3gtRTVOd3p0SUZPcGNvbzlBc3VpOUNOMzY5Vk9Eel9WWm5PZFdYZEpWNmIzUW9QOFNIYVEzYW5Hd192QTk4OF9JTUdfaExOT0MzSG54Z3ZJejNfYW4wZEVybDhpeWlKa0UtZjFPM1pUeWtvS1VZM29yVFBJeXhzWTctWG1oTDNqWVlHbVlqV3FybGViWDNFanB0Z3U0MDFzVFpNdkYtbjdmRFhZenZoZVo4WUNYcXFSN2pzMlY1WlFuQVRVOUlrYnc4Y1hsT1ZkelZjMEtxelEweGw0UVJ1SFVYUEdqWnhvbEtFZVlEd0NReFRfWWpZb01BU1Vmdmc5Zkd4aFBMaVN2Mk9XVzJHbHByTmtBZEE1RHd0dUZtTFR5Rk02dVRJaXUxajUxd0YxbXFUMjMzLUpLbV81YkEtbmlNLTZiTGtGaS1Gc3o1bTNpcXktS3pWNThQUjM0RE5Ld3RGLXZqVEdPamdqMGFxcUZLMmxYTFZ1MXpWeWtOQ20xU1BUckhYRkR0UjZxdTN1QmJGYlJfX1VTRFdKdjJCd04xLWxralpPa3lLMGRsR3ZDNzA1V1NWWktYNXRGd3A0TnlmZG9paXgwdEpZLWdwcE8tbnpYQXdBZ3B1M18zMXNvYUdPZ0M2WGpqNHRBQXZselBkaVppVW81elJ1ZVdISmJ4S1EyZEI5c1RLUHVGb21rc2FOaG9XQnl3OWJuYWktNmRqd1VEMjB0WUk0dWZEeWxDWUl3SmRfV19OUFB2b0ZQWXhyMUV1c3h2REhyVExxb2VmcVQtT29QaUhzYWxYRGVwZVVOX1BVM1lPbllreXVEUldJS3pLTko5LUJKZEQ5dHdUX095TFJ6QVBsWXcweWNYckRtV0xKdEtqNlFlcEJyNjF0MTByUXNsYlpRWEpzamNLMDdVSDV3bGRvS2hXdHhnbDVISjdTWWJyLWZkMXFoemh4MkxUZDlaS2hUMi04U3FuTnBoNW9kR3R4Y3FnRmF3WDdKSXRFTFBSandRcllPWDVvaTQtelRTXzQyZUtRaWxmYmZGZi0zaHJyQ24wVHc2bGJtSmRLNlYyV0FwRjhXMFo3bmY3QUJ5UWJlQWl3dUJPUU9JTzF2Sm1RS2Q3X0FMOTBjNWtybjFWWHdvQlU2WHZWZVpyRm5raUItX3lfNkRUbnJMdzJqYWFld3ZUNk1ZNVhEODZ3X3JzMHNjS05sdElyRUVyRWlWeDRlOS1vWVJTMTZ1YzhCUm9kMC1rYWZoNkdDM2g4TFpXdi1DWkJKU3loYUJ1WllGQkwya05lR2s4YU9QdTFLX3Z4azh2VUtsRHR2TW9wUkxHclpSMTllV29vSFo5Mm1neVBTQVd2R25ObmVqSnZzTW5vQVY3em9xR1o2ME9saTRyVm5WSXBiSnRoQjM5dnlUWl9JSnlLZ19UTzRDSXExeUhuMGd0SURSU1JkUjQzU1dBalFuRnVFQWM4Z0JXNUV6Q2RrUVoxQnIydmE1ZlpnRWpJNFFVMktEU0VoZ3hRN09hay14QVktblpKbG1xNW1STTkwc1FvYnJmb2lzQWN2Y05Vc1VHdlVJWkhqR1ljSXFkZHEyS1JyTjBGanVtSGlPUERpVFRzaUtaUnYxbFhoMWVnV2ZXb05yYVlRaTMwQmxwaWpsbEx2NFd3ZC1vZG1fS09lUl9hQVBBRk10empKMkRxRU1CMWxYdHp0ZkM3bHFfOFRNbjdqT09yTEZoRTFQMVBzRnotckRxNHJKRTRTOGN3YUkxQUw4d3Z2WmZ1VUNBaE9icF9UNUUwNGlpZVF4d0FlUDFINzY2SkJENWYtTUkxaFB5VkszVnZZc0RxRUVNOVNmanp3NDJtSlRSZmZuTldTTmQ5VG1NdVhpLVZlelh1UjZudFJNTUJBdURjWHNmLTZIS3lpS0MxSUFuV0o0MlE1bWtfV2ZSMnlpOHRQdncwdGZmR0RzRlREb2xSRTI4YzVPbHNSWEJxand5cmRpRVlXZXY1bDdpWHZIT0IxSEpnVFVlYkNXOFNrdmpTWUMyWm5Nal9MaS1ZdEVtZF9qYmY4U01mbVluMWpiYXE2U0hwdmZoT0JHQUI0QnR1Tjg5cXVHV1BxMzIzaGRuV1ZsMHBoaUoyel9CTlpFbHN1eHg1WjFrOXRmY2JGOEo0YW5MYnJkQnR6WGNDV0VpSEw3R3VfdDFSYWRpNXlwbWhVZWJkalphVFA5VC01elRFSHkxOE5pV29nYTV4WnRyc1lFS0lYbktTMWNpSTJMOWNRRnhwNVFuLUtoU0Z3OTlEY210RFNLUzhlb3ZpbzR3eldaZER1aGEtMVQ5ODRPSldPN0JuUGFydG5ReTlVTUVmVzFZbGdEYXVVcGVvSUdwZFRObWhlVlpMNHRTcmNaRDN0SmVlQ28zd2lURFlJYzY5OFdJOGZWY1A0Q0VRY2gtdU1vVFd0V1lodTF1R2V0MmZ1YXNEaDFQTWhpdGloMUJVSDZINDhSR3YxUEUtYWhwT1NURnNJQ2kyOTRvREM5a2trcmZtODFqNmdCR1ZlNjNDQXpnUWpxa1ZZZ1FxSGkxVERqc1dLM0QzaC1tb193NUxuVlJ1YjkzZVFRbVI5S2xtQzcxTVpKM1hfbWhUbU9BTE1aUTFuYjlZempWUFduUUZfdUF6VjFnbkhVbXlJN0FhT01lNnQycUhQSm5wQmlaVzhvMDhGSjVUdUhRbjh4RDVLcFJidE5feUphVy1qQ1doNk44Zk5nNjhLWVRWdkNNdnN0bW56RWlKVXRCR0ZaMmtab0xhYmxLWG1fLXBFRy1kSzlRVzI5dUJ6N0dWVnRzc3owWlA5UHM3akM3V25wQ3BHMTNLcXJRR09jeWtRX0NqdHpMelpkQkVjLV9tYkhPdjYzblpPaThBOC16bGVDUFE1aTRjcl9EdF9KRkJjVkNQSnVUcWtKU0hDZk10RDJBY0Q2Z1V2UjJWRU4yNTFlTVRHT0FXNWhDc2lYRjNrRkg5eHo4N1hFaDNsNzZNcVp0Rlc2eFVzcHBRdExRZmVQbWNGRURLcjNkRll2cjZIc3JwNWo2Y295NDdNUER5Q3IycTUzTHdjSTlHdUZGNHZ0QUhOdUktdDliQTlxRElydTJlRU9OTjlMTUVqMEF3aFdOeFg2ZHZvMDJVOU53N2hsLUdta0t0dUp3OTlHQnN0S2V5YUlkRVJUa1B6Uk1iV01ScWE1WHo5VzByWGZhLUoyWGZmeWdVTks2QzdsM3QwbThjS2hBVFBwSUJIdG50aXFJenFPMEJmek8yWTRsajNJNWozQmhQeURHVy01T2hSbGFzbHhxQzBleWFqR3NXMko3NF8ybEVrTmUtRG1mYVlIekVIbjJMSkFFc2pUUjAyOS1Nb0NBUFpna0tJOEcxV1lJZllocnB5V1ZoQTMzbnUzZVlJZm11dzRmRzN3dHVZT0RnemhLYkhnaThlMnhKMDBFRElUUmZkM2pRaDk3eGhMNnhyYlB2elBVNkEyMmVuaWYxM0J2R3VMWnNwZjFTOUFjblphWEJ5YVFOS3FHQmUwTXB2clVnQ1RpU1VoRmNJZDhyWTMxcDV4U3duZW5tSEdseGZaVllJMU5VWFNFN1NkNnk0LUJrQm5wSlpNSzBPWmpKOHBlQjFmTFJ0NUNvZmVhUzBJeTJ4WFVCWmRxVTByeHlFVFhrdDRWaFhncTd6RFJmYUdqVjlfd1BaeV9vSy0tc0d0UUlCN1hfVU1kWEFJeEVLbFpVcTlxWDV5NDV0NHozRl9LTGE1X2ExWTkycG1lZF9jbVZiY1FyQ0hNdmNEQlROZUl0ZklWeUxVTzVMNHc1aGdTbHhDZGRvV1pXNFZXX292SU5wV3ZhM0RJR0pVYjRMOXBEekdxMl90VFJvYkxFeXFXQXFzcjVUQXZFdERoSFRDdTJEb0kyUThkMjhEVDdyd2VURkEzaVBrZ0czeEJiY21MUS1HX2dlejRfamRyc0ZzUENZakNqZ2luX0R4RlFEbEVweFh5UDExLUFCRTZtV3lWZUxMZE5SWTFhLXU1SXdWM0FUSWhMZTY1d0VDQngwZTdSWUZYTEZtODlfYXdnLXNWS3hhcDlOemdKMFZpaGlWdVJqdk9jMmFEVWozel9XTU91cTZzQUJEZHI1WGxYS0xtZEpTa0N0c1dwTUlZR2kxdTJWZWcxcXBJa2hyT1FKVTJTUlBFMEwzNTRJbDE2VVR2dURmMzZDMnRLUU0xcjVBOFVKZnpMdG9RaTVIcENaRXI0UGo5QnYwRjNCVEpsbnhrQTJad1RTUFdqQ2JtU3kzOXgybjF0RlBZZ3pQeTNxa0E5a1hRYmdveldOdTdCWmtTM003NHpUUUlzYmtiQWpxeDBRU1lBcnlCREJ3YUlVLXNibkZHdnpCTXNMQWI0cU1Ybm5uWDBQdU5pRXZCdFBMMnJqVzd2SnpZRHJsa1JUV3FxMnFGaE1RZTdRcFBhZkRvWFU1czd3OVlvcVJzWUI0aHl5T0dFcllkSFJIdU92YWt5aFV4UUliUEROV2swSkZESGd1NWctRUU4dGNhUEkyb2w0bjRIUDlVTk5YUzRIanhBd0ZqYWFxbDZlZG0ySlhHX0RuTGxYbTBzTEl4dW1nNXltNE5qa0VxVGhWWHUzdHZheThQZEpfSC1tTU5nYmJ3c3VTOEpxcDhYcGI2TWVHMVNucUtFbE1sX2oyZnVxNmFNdVpRb2l5U0E4U1BjRC1MRVA3ak95OFlHWDBDZFlwMllLcWtCR29EaXEzRHVWMGRDUXJsUk5fRi1lcmRrNnRaaVVodzNSM3BXbVlOTEpQR3AzV2xwUVFzandyNFg0YzRuTWtjRW5wOUlrRGpXaWVGT2xweFVLNjFXdFFva3hxY2g1UW5kd1hkRHB6Y3YwN1o2RURLcDVIN0VNOEtUUUNhZlBZY21ocTVSeC1TcXpYUnp4QU43SjNhcWcwX3RzSEFZY2lTQ2NRbmpzbzE2dmtsMVpRcUtoNmpDYlFWSW0zOWFUOXFDTjJPcF9UbU5sZ1FoMTN4dF95XzQtdzZiTW01RlNWajRfQl9CN2o3UGF3ZGVNTU9OZm8xRzlfSkdxOEhoMkNfTC1wU09rRmppd2JZMThpWFFOcjhfdUhGMHR2VjZHY3prb3NQV2xkT1JkbTRtOFo3YU8xWEJ5cEVYN2VuQk9HRlo0RWt5Z3ozZ2VzcWlFYVZVb1U5dUtNY3FpWTFWbEpIWklTeFRMRFRIaFJsUmNWWDFnMThoZlI0R1BIRlUyNEZtNG9xclRsWklWV2ZfQ3JFTkFDTEw5VmVTbm9NSFBaazlJVXZGbHZ2Nk16RXl3alV5ajNtTV82VmlrNEM3SUE1elRnWk9yU01fM0w0MUt4dHZNcjlZR1NmWjhRUy1RSVBPTFZNX2ZyOGpWUkZNcGd4YUZzZExDS1JGWVpRRnVIc182SUtWbE1QMU5qenRPSXJzVnlVZlM0Um5aclZ1NUVuSTktVEM1Qnl2UE5PN0JHRlVYbTl6WU1jTHl6ZGV3elNUODhKcHFILWlFUENDXzlJRDRhbHZFVERJN0R3TFRuMk8wb2hpc2dQbzR1RG5tTHlpVkVtd0laeXpVXy01MXFDSUtJWXJfVkJKeVUxMkhaVmxBY0Z3U3d1UXJOWkFuWWRnTnJEcTFFdEdXalhpREZJeDdBVVEzRXh3WXY5UGtNSU5zS3NKaVZZUFdSZjFtZzQ3TDJBNnhkSFVQNkFQLUxYRElzT3BPVjN6TF8tcDFGLTRhTlBtWW5JckJQV1hlTXBta1pfQVp0WFNQVTZ6VDZsNl9ZUlVxNFV0cUl3Y3FSUmN2SUh3aFdsOGY5aVlta1ozOFQtVkhJa2NWMTR5MmhyRnFlM0dSN25ibHNSalpncTI1eWg3eTdpVzhDZk00S0pXX2VxRjNUR1ZSbHppdFFrZEhEMlgzUnFLcVowQlRyZXMyS1FwODRDN3ZSRGFRVFpWVVBLQXFtV0VMaUtWN3NPcmxyd3FLLUdoQ19SbExmMmtCTU9JTWpnX243R2dSQ1R0MHNuY3ZWSnhRVXBlOGNvWTQ2R2J1MmpFSlJqOGdPUUtMSVN4UHhrYmZoUnMyTEUybTA0ZmdYeVZvYkZtYmFwTVVzVDFKMkRTTFRwYVRWWXUxdldjYnU5eXJfa0pXbldfNlF1U2Y0djc0cFQxdkxnRkZEZHpYZy02amhpSHA0T3RCM0JYRnh6NDN6UDBzczJvcTFWQkJtME9wQlk3UFNyVlo4X2V2eUhrSGZZdGU5N0EtdGVDUG00a2NtQnBWQkEyYkxJcHdGQml2N0NDajNOSXhhUkw3a1VReDFHWkY5N1pPbUdLdXlkdzZOMGZ2ZUoxY1hmcTBVeGxtYXY5S3Q1VDkwS2NVa3h2SS03NWVncWNldWo2X3dOaXlRcmdHdkpLUFdFdEc0dXY4aGdqM014SnlHRTBUbVdMX0NkV2xGcWQ1SHJDNy0yaXlwakRnMXl3U1BFYzNIQ3RXcU9oekJzamdUSzFFNG1TY2JkaEttS1psN1lXSHQza251cEZ3TE1YRU1JQXlkS2Q3azAxUzJfZmV4dGNzQWU5b3o5THJLc3BiRXJORVJqRDJZcU1uYXNGTnRLLU1GcVlUTWRZVExZMDV3a0lNSUI2VFJ0bEFMSXdGaWJHYjdvdzg3cHRZeTM1S013QmVxTFBVaTNSaUUwZHJqd3JoZUhLbU9kYVNEUDV4eGQ4aHQ4amt4dkcyb29qQlBNT2FpcVBNT2RYVTR0N3Z1Z1FVeElHNmhsZ1ZMYnpiTG1zaDNSbjE5NnpVRVpSbTVSNDNyQm9jYUpROGRSZDRhVkRoVVp5QmhZdFpabzVUVWhiZHlXdERjV3l1bms4aFg5VWpuUlVBdWYxM0RkY1lNMF9xMnVDU2hMUFg5SjVBQVYtMDdGdFhGejdpa3V2X1NKd1RyckJBMXkweDkxQWhzQXBudW1VU2E5ZUhkcXYzVnJfLUJWbmdVWllBQ3loY2E0RHZScml5ZjJYbkpWSFVLMlpZMnRrVWZRVGtUdWhFZXJRdmFFQUoySUo0UFlJMmhiUkdWT01keU5ZQUpjTHRNY0VIUXRHQ05OUEplSVVyOU9JMFhWTXgweElsbHQ0UmJ1TVdTOVM4UVE2WHNpc1g0YkZlV3pOcnpXMWFSQ0RKbTdMY1dVTXpzTmNjbnpHRi1pN2JEbnNCWk9QTk1kSXZaTmFlNU1FTVhMMHVmMVNlT1d3Q1BuS2FjNF93RHkza2RNcVhITmV5UXlBdVlrcGh4M3lLMjFGQTBsaEtiUy1yY2hsTDNuOVhNVUNubG55aF9PaUF6MU9GME52OFFKdVV1Q3hoQnZXZG1lVTZlUndsZFpxYmlNZ0NDOXNRMloyLXdjTTVITjBINFM3Nm92eHo0Q3B6Y3Njc2JVZlJZRnRVa2EzeWFsX1pGZG93S0pIX01jR3FTQldLRlVsX21ZTXZZRnB3dEp3MF94VTQ5cGtBeThjSTVGcDZISlJWQmF2dVVlZWVTNmVtTURGZk1Dc29ZRHdIb1owaGs1Y3UzdHVtX2RaZ3pCZGh1c3RLLTEyLWxqUjlTeldqTXJWZ2xEdS1jZjZCRjgydDBlM1BGeWpJeVJiaGp0Vzd3SGV5eVBFVXkta3lkc0w5bGlEWDQ1cmpTUjhKS3hYWmFkcEZoWGNDcFBrWDJWc09EWVE3UXNJZzBYZ3k0blRKVzJSWklXb3lOWmU2aHRNbTg1RjFtS1Q1SjhRSW9nX25nT2I2dW9CT3UtanVlZk5YaVp5UVYxNEMtTnlGMTBOR0t5aWEzd0hoNXhYd0NPWF9hemFQeTk1QXFpSlNGbXJwUXdwT2ZSZWFzOXdxajFyd1hwMi1fZmQ2bzh2TWtIWTRKa01OOWtlazF2UUhoZ193WEpsem5FTXJzLVhhZFZ5c0VFZUVjRDJmMlp1NWFJcWJEQTZUVVlGNjRud0h2VXc3S0hJUXd0aXlIQ21ub0ZDYWpQR3ZTcC1sVHIwS1RtLWthcVB2bGhyOVNaRUk0TnpCUEd5azV3LVRiYXlUZ2hwRXpTOVBXdFZjbDhSSTFyMElJT1I5OXdVcDFQWC1LbHg2NE1lakdQdUpVNVplOHZUamduZUtMOWFOWEptSkZCR2g2cVp1RndTa1A0NE5pN3ZKSW1nQVRrTF92eWJDYThjZ3hKekE2U3NZRHo3RldLVktuNVh5amd2WTlYajV0OUU5REF1YkRXQ1MxYjNNSXRDVHRnVDFsVlgwaU9aTWYwRml0SzhoVldFaEVuN1VhOXY1cmVoZl9YM205dFF0bTV1b2hRWGxNSWx2V19oamJtallIQWFoT0tmN2FlRjRMVFc3c0phM1FvMV83Uzk2cXpoT01YYlFXSkxBUEdmdGdJM0JqOTd6SWtsaFdyWXRIUVBLVGpEZlNTS0pWaWtIWGlGR01CWmNMSjhQSktneGJ3ZDJhZWZycHJvR3ZrZnZzTngyRlFqRVpUY3hhU2w5R3d1QUNueTZXa1JtWFppWkVDdENMc1BXSDkwSndEbFNGR1p0a1U1NWRNUWdPMm9OVXRPMWhzUWhZRjA2akxGcFN3N09yRjhIRE1xcW0tTXFBYlRGV3V6Nk0yMzJXcmE5Vml3LUo0bGxkN3F5NmFSd2NkTVNRTnQtb3FzZGZ2dGo2RktoejBldmNfMl84WlQ5T0VyWUZUX3hBdjJ1Y05HZ25INEtnQ001SDlYbWFuU0JpdFZUeFpCWlBMdktvSTM1LW51MDFOWWhyelBvNFlGSjF5eC1XVHpvTTk3LTV5UXp0RE52TWlVNHduSHkxdy10UlVfakoxWUU3LW1RTGdJOFRmWkxRWXlWMmRzaEhCSnNyZEhDUllBTzJ4b21PaVNhLXBXZjNJV010ZWMyRm10YVppY0xuXzNockZCMnQ3dC1GU2tZQ2syc1Y4bFkwSVYtWGhGOE1iLVZOSy1WQS5oZlZqYU1CMFRTNWVrQzR5djA1bEhn\"}", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/feb2fc4c577e4e9294581d9081654d62\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xZUOaPRupyjYzj1Fq_865pPfneFOOqG97rzil-lvZtv9xTogMC6i6JlJARQfTrMY_wUHTGz_Ei1ty_eP6eus0DaibjpGBeex18sYq4ufhu5Gx9GHmG-Q9lS93eaQAFt504Strb9IG7UI5EkysG0QZ9ftUfKm0B5pa7UTKIIOfPOe58KnB4PqxJbO0zlM64OmpXlSbqXF09zCWNHDH9NJ-EsQxJM9TogZXgkVaOL-sgwjIFotLMDonGEeFQ2Q_6ngtlUTOM8K9rxyDB1CkCFD75KOCwWeWVxBqqVczjrtYVOkS4suWn0aJY8vYY2v9oeqe27DVsvz8_OaP6o552oTlQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493390,\"updated\":1563493390,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/58b7b4b2d8ec42658edd82f97611bd96\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wwYpc9CTrPngOFYWodPD5izuCLNvsV5DboS5OBWLZYulY_jEVqfIaZOSYd_XRkaksK2B3i01ULIbS4P6d71YTqXWDcftdL0EE7nXxwirsA7Z7W_I8ALk4olLRpPLMYecqJNx7yWxpAKjncKn3b6zJlN67CJvnV2QNX4t8u7cfejOwvnhklZpZeQuU063ay8SH-Y0c1pzP3u0ucT0hvvedw2hB5srMtvaKfeoehngywBEgmipf8NYBd4f5AZ1RgoYNzphs3oSILjIokFXaAxjtAnU3_vz9Ni08O3ZpWhJLH24gcj2BsbR4HS0PCkFWiN0coRWAuH46DUjrxAnM3ngjQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307780,\"updated\":1565307780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", @@ -568,260 +2170,322 @@ "content-length": "708", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:09 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4638362b-50a2-4652-851c-468a4ce4af23", + "x-ms-request-id": "86e2c201-53b5-471e-9fbf-f7c42adbff41", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/backup", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlF5TGJyMGZfTHpQUmZVZ0p5TTUzVGE1OGl6aEE3RkNFWWRwbVBFZE1aX09DcWp3ZUJLT3M1WE9jVTZnenR4WFBvemlzV0JtZGFoVDJqZ19DcFg3MHBFWUtrRThrQWtlUVd1OHhTWS1zX2QyblJKOVdEQVJkYjdVUFR2LUxuMUlac1ZHS24yV2puMFRvczZadHZPY1pDY2o1eEdYY184bDdGS2w4eDRDdi15c1FJYVVPUmRCXzQ1cTdYaDY3TE8tZTBKZXVSY3p5SU9ZQlVuLVg0X0dEZkYxQURQYjNicEszdENINUQtYTNvSi1BMVBGOEw2QzgyYXV3RlNEU3NtclRvWE5KLUtWQzlfMktqWDVKNElYalFVc0ZUaFZyUFNDOHFYNnNVSFVVX28zNldySDQtUXR3TWI0UE0zejJWTTMxQXUwQk9hTG9CYUh1dWJxNVBsdmVFdy5ZNjF6NU42aklqTmF4WXBOdWt3NllnLmxPR3UtZ2U5MWNLNmFiU2hEckdlQUJIQmFrVG5lMUJUajRxejI5OGNXWmFWQmczTDF2UVJMNEFINzZLZG5aYlhlakE3bS14bWpNVHZERmkwMlc1WTlnbGkzQUp6VzVSZm1pWU40R3k1TlVUcUNNaFNfSmJrLWtjSU1iMFFIZkY5UVNBNHpuMkw4TGdwdzB5eVJBem93TC1MeTNyVWF0MnU4UjdxRW9pRnU1eDVPdGNXa3M1bTNMQTIwcjIwcnljZ0NJQmd1ZkkxVEJXX3QtS2tPZTI4LVdabzZvRjhzS0JpbExfUjlhR1Y1Tm1QaEJ3bEFhSkgtaS1GT2NDT3JubFZwZ2pwMWFwTkZncEhvSnROSDZLMzFLMm5iWExpMUlQR1g1ZXozMlQ2X05sbmQtb0lHdldnZWhMbVA2WEt0VzFUazNzbUQ3dHA0Uzl1dDFkZ1ZyRFFOaXZyeWd4dlJpWmFfRkRfcE1JaTFDR3FmR1BnMVNHQkxEeExYS0tpU2F3YUdtZ1B2c3FXRTdkRHhydE9heWR5M2R1a0RxZjhCenpUc3d3THBsNENOZks1YXBlYktRWVZRWmJla2gtaFdWbTdsb0pwUzJweWJ3N1pLTFVrcmwtTGZxRllWRzIxVVlNR2RKM1JPZ2pWXzkydUI0RFg2TzNIdHhNcWNiOTNoaTY5M245TWVBc2V4ZjRLajBRRUxKcGlNQ0tLU3BmYUk2Tm5POWFrTEZFSS1kNlhLRTVKQm16NUgxc0UxZzVLY3JNMWprYXhQY2RtRy0yVkRkWmE5VUY5TGlGaWVQZDlnVTZLZDdKejhYTG5RM1ptNFVOMnB2aDRqV01reHVHWVprUTVvbmtPSnZqMUJWeXFOSnJ6SHJEN1ZmZVZ6bVpOV3R2QjFHV1d4ZTdkbVVfeWVHQkQ5RzJZTG9FVktGbTFoalZXWmZKUWpaeGlWSVJSS25jT3lpTnl5bVVvWVFmZVR1aVJXdjdodWNkeUdNMHFNNmVHand3c3IyekJQMWFDLW9PUlBtWkM1SnFaN1NBQ09fVndubHdiaGFyUmZpQ19ub2dXSFo0b1ktUndGeEJGOHdzT2stUDVoamhvdUwzUTlVbnBHM1Ayb2RfeWxJZ0FZZENidkd3bzc4S08tZ2plak50RF8tWERkaUQ1U3hyTV84TjlPSWkzUGdpT3dncXdlQVRIZHpSc2IyMWNqZVdYWEdDWk50VWNPTmtxeDZmWmx6Nzk5MU5lU21qLVZyVVNROWIwLWk1TUZaYzhwOFluYnNRR1ZNUDFrdy1ENkYyb1RzeWQwMGVERmIyWFNsNjN2cnl2Yk1NWDVROGpGVnVwYXBNQk9NRmZHNktOLVp5cDNONGZOTjNTNkhvdUtXWVoyckIxSG5vRWhEaUZCN2dDbGYzODJ4Q1NwYUw2MDF3ZVpnUXd0NmNwLUJpUnNXbk5MNnRfYUQ2WkYyX3dQRHhHZFowLThpSFBFeDBUM0FYSXRYR25jelFPZlRFVDFHdmlnenp4R3RIUkZzOVFnMTJTNVJxb0YxV3Z1b08xTG9vdmNYanljdlAzdEI0em9YR3hLTkw4UG9MOGFFczZXX0JpWDhxUDdCYzFhT1VIMFU5OVo0TWRfVnc3VzJ4UEl4UlJ2ZzNQV25UMVpQNVk1UnJzaXhuYXdGZXlHQUl0T0RlVFlYbkItQ3J5c2xFZTI4MzdXRlpyZk9kX2VhT3ZqLXRUTkgyNFNWZlRmbFlRaXkyX0ktcjN5d3FOUnUxYnAwaDBYWk9oalBJc2Rhc2ltUURuZ0MyQnVYVnFhbm1VY0dFUlRJd1BUNlIzRjFMVjYyOUpOdmpMZU9TOV83QlJ2M200ZFJGQlR6NW5NN0dfQ3JyMjlUSGx0b3FvNnF0T3NoZTJDcTcwdEV0WjdWTmVVZ2tjVXN2NGtQWXJta015ZzBlRERWVDBMSTJNbWJsZndLcWp5QXhHUWZEWWpnSkt2NjR2SEpHVWRJWTA5b3JZVDluZmJCUmd2VER0UFVvdDJxTWlTdUhHYzFXemdEUC1FeDJnYVFpcmxrNnkxUV9QeHNhelFKcHdwa2otWFJ2aUxWY29CcjdkM3k1NXk4MmJZS0RaTk5SS2NfaENWNVNhanpXVFJQREZiSUQ5ZEd3WjhjU3pMZ0dHdXAxOHhxYlNyNGJDWjVna3l0UGwwMkRTNTZ4TjlyMGhrVEVXRTh1azRSbVRYbUpvdnJsWjZMUU8wV1lTT3lZUXplUzFtWWFSTTY5RlM1cGM3c3A4VGhhdVFxQ2o4MkNKTzA2Z3pyOXhMQnVxSnNOaW1idzlXNXN5aE55cXNYVGo5Y2t6NTlYU3Q1X0JPTk12czAwME5lM1p5dHF3TzA3Z0ZRNzJZLUJ2dE5YcUZZRXpncGVVUDFMcm9SdkNHMUwyNTJCSVpXcXhMNHBzbkliMHVoMHBlcHdJRUNXZV9YZ0VtdkJ4blJjVTNZcjdJSnhWSXlQWlFaUC12alRGLUQzdFJyU3FpbVB2a0d2MTF6Y0VDcUg4MzBxaXRHVHlWTmZ1bHdMV2tGa0Ziemgxb0s0WUNSdUZMeWpHZHBIRkQwekRlSTFsRDBLb1ZPS3A0anRBTXh2NnJUaHRLZmgtaFcxdmNtM0UxakVTbGF0STVzRHhpYk5LR0VaWm9hZnlod0NiVGc5OEJvaUd4dDA2NzBkbmVteWw2SUxhYmdTaGZZOTJBcGVlWkNpakZ4d2Q3aFhNb0RWZmkxa0tLS0lUdmIyd3liZ0UzMlVUOHhJSkVabE0zLXZKc0pQa3N0SE1SaDBRR3hlR3djZl9sMG42Q2w3cHNkck4wc1o1TzZzdWJpUDJsSVpIdmVfVDdBY3pYd3dHSGhnbHppV3FkYnJrUzFPUjV6c2dzazZnR3E5QlFEekZadU5SVlNuMDFrQVh3bTN6Q0I4enZiMFhacUZVVDBrbWRJQW1aNnBZNW9qNl9oY055WFA5WEh5TmFzY1R1ZTVTNFVMdmdpeS1WTGlEVlQ2TFpSdnFLWGJJem5vbWZQRUhRc1h1bkpKa0J3c1lsTVFfTWUtV0FrbHl5UG1CN0RnRGJiYXV2TWJCNUVHWEZybUZtZ2pVNWZsd3A0TWNpWXFZYzB1ZGU5bENZRWc0aXlLYUY5S0JHUEkzNXpXZUtNOVp1Nm9JVV9vUjBnZHFaN0FHWXFKVHQtZ2Vld1N0ZDZjeGhHOHlqamE1Q1c4ekxZVU1YcFFiUG1uZDZVclhLSll2ektoMVp5Qno0SC1FSkJ2cGJ0X0VNMXBJTXlBUXJrQm5CckloZ1JfQ1pSajc3a2hMNjJxX3kwZTNKcVViUGJxV3ZNV3pFaktuUm5TQ3dna2V5OWd2dUpGT01QbW9Ta3p0V1BabUlHSzZKd1lDSzlLT3BuTlYzcUMwMjloc29yNjIxandMSjhPWDV1Q3kzOEFiT0VMR1BKVlJtSzRIU0dDVm5ub0s1TW91cHJFOFNxZTFSaVhpb2hRWl9Sa29LRi1RMVpLbmJpbjZpaXVpRGs0NEJhY2pQMDFDSl9tT2pmdW9LRDJiUC1Ock83dUF0VkxRb1BmRm1KRk42UVZLeno1LUJMYnFMb1VHNGQ0X2NRWko5ZTFTamtZdEQxNmZ3bmx1Z2o3QXJsNWY2T2twcHY0anRncjBmOTBtR2M2UFlUUERiblZGRWUybUNUeTVzM3RXT2l5Q0Y4LW5kM0tSZGl0Qnk1bDRna282c0JYLXA5emEzTkN3RG03X0xWMUZPZ1lrU2ZaOVA1UTJoeDNKTkNuREE4S2NhMzZTTUhqSFNZTGZYdWxQa3htajFLVHN5SGFDVHZ0dFl0d2ZKNXJpSndHaWMyRnZveGFkSk1JQ2hQLXBHRVNVbHp4LURscHlKQUY5NFItM0JNbk84UEw0V0V4WjJzU1huSDU0SzZ0VFRBc0hkVGRlN3o4NFdMdTVScFpZRno1ejZiZzlvSlVZY1RHUU1qaDBxMGZFdTJla2ZoZG82N25mYUppNjRWX3p6NGpfekJrUDdCdlF5eEN4cFR6TDBmaGZIck1DNnBsT3ZCMWRnT0luZ1NnSzcydURGN2J1ZW5LT0VmLUhtZWNSQ1BsNGlHczNZVVo2cDVoV2xKNERpaHZzUEpJZDVhQi1oR0ZJTWJHVFE4Vkp6OHNZY2ZNeDhvWnVFN0RFSkFrbVlPcUlRMld0N3BFNnZIRDc5dGNiQVJKNnR0ODVXUVphUEpKaXNkMU16WkJFX2FkaV8xLWJzZUhRT29ISUtQR2xLQU9xb1NNWlVaNnQ5R0Uxd0dEMTExeF9ucGxWZjlmeDRQelljeld2NWI3c1UzOTl0NFFxcjdmU2tycWQ1cUFLWVV0cXNsOV9JYUZWbTM0YlptdVU1NHRsMTVzbk5DczU0a2ptTXRSY1lVR3NKaloxRTY4MUNLM3FqMkx2MlZZMWNYNlg2SmJPOXB6eFJtRng1RV9rNGVCM1k2c25pZ25FeEFxT19zanBOMXkwMzY4VWpBUHRpYVc1aHRNT3QtQWRuQTIwUEdFLTItNGc0ZWY3aWdBMTJveWRZb1hveEVSZWZvUWFaLXA3ek1qQkRaSUpXb2MyQUt0WnJYNHJhQ01zNnNVRVptUmFaeFhYZnI2alpzT2puQUlVUXhVSlRsMW01UW5BTV9McEswVk9mdk5mdnd2VEZFOU5udk4yMFowMndkUlZZRVVWdFdoZllCVERVWW9rTmdrNUJxeFBva3EwcnRUOVR0eVBFb0h3V3VlSUFOSU05RzFZcmFad3ZUc1RfQjVhb3pLNktmM0VBcE1Rd3JJaVFwcWdDeElqLWZXaHpoYTlOaGlHelFYaGd2OGhIX1hIWFJ2b1hqUjBjc0RYOC1OZ2ZvSFluaTlVQl9VWmN5bDd6NjFVOGx3SzA3N2hPeURaVW1QbF9GclpqaXJ0c014YU5SZlN3Yy1lcWNQd1A4WG5qUVlYRzRkN0JhRTZzRjZuZ0VqMDJQMmloRFMyNUJvanhldnNGWGZKZHRocE5yUFVhSHdZZ01DSG5hVnZZNUIzVnVIVU8yd0FlUWRud1dCNDM2N3ZsaTVWRVNicXhYNzZXQWtLRmZENl9qdElZcldtMmNGMDg1R01vZTVsRTllQ3lfWFk2aG9NaVJoeEtkU1pNNWRFcDdxbHRjN0VLVHU5NGlQQ2R3UGhVdEswcWZtWGJDRkxFSV9HYXpCRGdqeHpmNkNjTEN1T3NpMnhfejBBZUdIXzJqT0xmZkV1Q1FiNGVIZzRHeEdrbHNjd3ZYd2plX0tncWJ3VGtjX05RZnd6QktSbHdHdFhSdWxRcGhVaTdNS3MyTFhxZjNuVzVOZjU5dlZScHhZMXNBRzM5Ni1HV05QTldQdkUwMlZERmhwdjdCd19xYlZ4SzVpQzdrLU14dTBiWXZSNmVhdUN3d1Z1NGNsXy1Nb0NaZW9UMnJIa1ZQcHNGRnBNYmdHQTFQdGFPSHM4U0ltM2VwT0c3RU9LLXBON1hxYVEzV0lOaWxXeTNxZ3FvNTVrYWNnQ01wV1NWVG1EcHVwa0QtMFJzWWJnWC1hRnRPZllpdTVVWDJUSGJQN2gwODZVOVN5MFJtWm5Ja1FGM0NDOUx2enRpcTQyQXA4N1lLbGZUN2hkelg2TWkxNzBkeExKM1c3dm4zWWFPMEJXNzJVbzNIV3d6a1JjWEsybHY0WTM5UVNVTk1Ec3BJNHN2WEtOLTRTMENCWXZhZl9TMmFPMVgwNl9MMDcyXzJSNVRsMlFQMnMyTnNseHRicHRKbGUwelBwN1RBWnk2ZUZQTGtuUW5NcE00Uk1JVVJzLXRPSVVSa2o5dHZOeFc1THRJbm1peTE4NEtNUHlsOElkdElkOVExSlk5UDFuQzMzTFlmUjY5aXVPaXR1UjI3ZEp5UUp6TDZ0X3dVWXVBVXE5MDVEVDU5WEVUeHRvYWdEUW5xMDJmcUdQOWxEZkZMSlhvZUphM1ltTHZoYjJvSUkwTTBZMjBRWTZyZGJzSm9uaUlTM3NmUmYtUEVkcHFUUERWVXZjZU1DZEtjUlZUWWxwUXlkajFiZ2J1UzMzcEU1ZFZ6UHE1dkdwYWRNa1M5bFNDR2hvblp4aXJqY1d1Q0NRWEJNY043Ymdmbk4yWXktcDU3TGhGd0RNSTZYMHhJV3JTMExjdWRYd0FYXzcwLVMxTTFKRElueDd2dkxvT1U5VldVTG9tbmZaWkFQLVNnYjhoalhwR25xX2k3T0dhSTVMMUY3Qmk4UFRxZ0RVaVBPM24waXZHRVNvYmdKbkQ5aW56eWJHdkxfX0JzQXZ1UWgyaFNFQW5ZbENTeUl3TmNzMWgtYUFpVVBKdzh2SVd4ZlU3Y3c5TmVCX0I5dFAzaVJkd1hyLVZuOUV2aDhNMjFXTHpXOTJDRG5kVzQ0bUlkSWNaMEctbmFGR2JCR1U4QS1yREJOWTNubVRaNUNBZFY3RFF5MlZCZElMektXVGVGZWJPdDFQZjg2cmx3WnlvRm4wNVp4M1ZvVGhGQ3lFOUpLczc5MWowcjdOdlE2MGNOcXhfd0lGY3pUeGU0R1Y3dFJWd2tCaVUxSXJiMmk4bFlMTDFtTjBudmJJd0pxeHR6Xzd1WXM2YThYRGw4MVBjUDU0SHpPTWxYdkZnTzFaQUFNUWVRbGtUQTRUWHJ0ZWEweUhWQWZyN0Rsb3hKSVgwTVg4dTNfRFlnMU5GdGpadGthTjgxY25JNTFDYUpJYUpiekxlTWdjMkkwYjB1SEdMZ3ZoZ3JXdDVCQmRuUkpsd1dFdDJ5ZmZVNVpnek5LV3RDS0pkWkxobEZUeXZoWmlCNE55cWM5cWdBV3FCVk9ZbklZckt2dXhFeWR1UEVmQXhpMTQ3MlZxdjJ6WDBtVEVSQjZwNFQzenlwU195aExTeTVKcEhYTU8ydThQaGdVLW5pYmx2YXh3dGJ2dkE2N19PUTBvVUZwN292ZnY4T3ZCQmFBbV9LZzZqS0pyaHRoemRKZ2RzNGhidlFQVndZUUM4ZmgxZmY4Wmd6Z0RSc0lyeGZpdzd1ZUR0djNUSEZjeHpZN1lLMGNNbmtKQ3VzaWNFOVJmV2VFaGlBaE9EM3RyT0I0a1lqdjZUT3h4amsxUFQ2cF9PSjNlb1ZNSnR6TVU0U2NnYjRESS01T0UzMGM3MDhVS3FKOF8zTzRWVTM2ZFdwNHV2cEVtVlNOeE9KNkQ5OC1ldm1vd2lfM3hzTFY2UG9NRVFqNFRhQjNVYmtJdWpKUndxcmZVMHhzZG01cFpvazZWVWZiV3V3Y0t1eHZLNmxvSi1hRC1CRjl3UmJzb3hoUTZxQ29YWTN4NlRIZUlEa0F1akhsbl9YZzk3bzJRc0NNb0gxZHgtUXF5bDAyOWRyTHpQaTh3emdhOExwaDdBcUVKS3V1a1JieWlCMnBuUFVWWWUyd0c2R20xaTY3R2lqRU1vajI5aXFhZmFINzVPZ1NzRmdKZUxQN0dLRE56UmhkNWhFbTZ4SGo4OFJsYzJxQTBfQXo1RjF0eEt4MzRxcWQ0OUJmWkxCcU1ud2IxYmxMRkQ0LXg0bHdSZjZRcXNsVUw2YW1fb3c4WGlJLUlYNzNlRU5rMUYwVkQ0U19nbWluNk13UXdZYWI5bGI3TTRaTURuR0Z0VzY5UHVUaDB2OTg4X3BjY2Q3V0ZIMG5McFB6T18zU0RqMVRrdlNXMWp1c0dDZHlwYVU0eWpxVWM5aVpSNlVUaWpsOURnV3EtNV9DQ2xiMXVpY0EyZVlDTThsNUFVb1JrQzlCcGd6OTk4SUpPNXViY01JR0VHWE9pbGhQQlE0Z0ptLUgzYVdWemFtRVc2Y2VrMTFhVmh2NTc5cGRsT0N0Q3REekdtN0RBY3REQnFKTmllRlBQNWFWcE1aQ09fOTJPREhjN1EweUdtWlRzc1dTc0xGVGhxY3dnSGFOODNfU05GNmFDdE5tOC0yV0hCOHBJTllqbDdqN1p3c2lNWjFuV2UtdU9LM0s0TzhXSTNxaEROMFRVZ2V4R0Q0X3pJZzhvZGJJem44cWhWT0Jvc3dFeU9JcE5DNGlPcG14aUtOS1lZQnFaV3ZBVWZIWHRZanl6d1JZTlJ5cUpiUlY5alBYSnlvVGU5QjNVUlpqdkxPZE5FVjJaTTBxeUhNcXh3VzM3dnF5VTlaX3ViUC1JZHh2MFFMRm5PeVYtbVdlbl9STDlVUi1vczNlMkpVXzJmLUpOVE84YmQ1RzhDNnNYV0R4aFBmRV9UYUV3bElKcmVHWjkwQTJSUWlrQk1qVUZ4MmlwSVdBQ2ZyMzI3WUM0ZnRKNUJ0SzlPeEQyOWNKWjZRWjNzbFA1ZEJNSjliN1BTb1lmNFZzZDBqRFNsVkktdXd4cVN6Q2RqRG1WSkxNbkRRS21QSnJUTFl4akhQZDVXVTA2b3NDZ3BVd0xzalc0UlgwTzdmVUwtbW8yTnV5alczOGRKa0dvSEtfU2RnMkNncTdrcnJNSTBqcVhua0FobW1rbHNrSktrRjhIaXN3REdwUklfXzlXZHNUSVVlR2ZidmZ2QWJkTnp6MGpzT25KemhZZ2V1WmNEYlZoOUpleXc1c3BzX2JnLXV0aFdjUXUwWi12UmI0RVpJck9ycjBPMFJpemgzUW5sVkk3dzBHZUxhYUNVSEFSaU5wNUMxcENZZmxfSldfbWdDTkFkTmxkckpsTmNQOHBiUTNkckRjMEpYNnd6eTVXZGNRY0lRLUJtNC1weE12QlNjcUF6Znh5LVN3a1NPbDBBRHJVUzFMekZSZG1kMWZlbnRlcnJPdTE2RDNuOHFoZmgxZFBlazVjOVE4SnU4ZTF1ZGpaLXlkMWdqa25Ec1hYUHp1U0FINExSOTNsM294NWNOZ3RxaExRdWlqSGU0dnlpYzMzbmpybU9mRlV5MWphSlR3RUtyajk2V0J6Vng4Z0FCdDREZDVhT01OamF6X09tUlBPUFNEYkdYMG1kVGZPT3BTLVhKVUlubmt2T2VRSFZrYmNYRGZmSE9wTzRFZ2JMa1NnWVVDRU8yT3RjYnJ3NzZwWmNGY1Bva0x6OUJVZEliTjB3azFWLXdWUUJEZWkzSEs2RkRKeG5ZbzJVcWk2SGRVbzQ2d2ZfSFNrYzFlNm9YQl9QMWJFLXlLVVlaOTZxVXQtRTE3LVBzZGFGMzBJYmJTVDZlOWtZOV9kTVNYSUtXR3NpRWNCaG1vRlREVk41YmxobHRoRE5IWUJqWENSRFBGUXA5cFlkZWc4Q19PVG9uV1haZjh1V0VZNS1lSm5WMWw4RUdqOWlnWjZlMmtiUW9WNmlaMVNFaDNaQnMwV0hnUzltLS1LQjNVNmxreElCT3RhMzBBRXZfSHpUb0pBeEdtc1h4WjZpTHowZXp1WXVydVk0RFFsQlZqMnJFVTZzZmdNYmFHOHpjMUpfNUlEWFZJQmhkVkJqaXowTnJsdTJ3dml1LXlES3lPM3hrVlMwNjV0bVVhR0VMVng3YlVxSy1qck5lMHVoX2lVQ2lMSHVIcWMwWkNyYVFNZE5lMHBLRUNOTVhrMXRBUVRSZncxblQ4ZEpSM1hpMFRvM3BEcER4dTMzdE1sXzZBTThVYnJkSVhfS2FwR1V0dTBDbnl2dlZ5Q0pySEFrc3RJWHB3SUg1TjhJYjNjU2JmQXFJemQyQzlVWkw4SEl2Qk56bWh0SWJWN0hSN2NLMmJibnBfZXo4QzVjcmVaRHJTQXhsczdOV0VJLUF3bGV6VXNrMHBjVVFvc1lvalNPZmJvYmlGZUlIMHdwQnVGamREOWZvcUhHeUhhcDk5SGxfaUJyMkt0OUN3R2Y4Q1N0MzM5eDRPakFQc2NTbzRZWnVMWVFXa3RiOGQyZTJxbkdqVC1rNEoybzllUEk4RDFrUFI4QUlrbEZFX09mdEpsOFRsRHJRYk9CUmFpMFBvdjZ5LWgyYTJZLWRkUm5NWnc4alB3VGdMX2VuYVBhbWtEWmpJdXZkU1dKaXFFLW51RGVseU9YQTF2WUNEdzN5SXZzODZYQm53UnlqbGNTMDdxRjJ3Z3lhUUJHeU1hVl9BaC05QWpZWHJ5R0JTTnB1d3RGVFhRUVkzVmFIdGZEdS04cUs4cVc2YjU3cU01cHBpSWgxaE5LZmRTZUZMWHZsV0J3SkxFVnctdmpQeGFuRnFOdDVLV3RTWHhRTDlFVGMweTRNQXNkd3NZSUQyYlVwU1B5Q244STZ3SVhpdmlLWkR5bXQ0bUo1d3VjTWJ6RUdNR2hmZFRNc3lZUEZsUUpnQVFLbHo2Vnc4MHRuZ2Q1NGdSSFROdkJtcHBEV3IxMFVGc2EyVDVBLXVrZ0w0dnVHenh5clYzLXJZbTZMWEhGRVZwZXdoS28xVlY0REFFUVhVeXRULTg1NUM3X09pVHp0ZDB4Zlo3QUJEYnF1bzFKTGRPdVJDeVIycC1jS09Qa2F3aEhXOFFmcHpLbWpMVUdsMklrUUpWMlJVNl9NcVp3LUtiQ1IxTEZSdXhvYTFkaWJRQjh5NU94eEhGd1pZMm1qM3FTSEFCMk9DZzBfUGEzZlE3cVp0T2ZlRlk2UUxJYzlVYURyd2IxYzBBWDk3OWVpUEYyTnEtUTVZdGFYT19lZXMwbGdJb1JVOVllRXpDcUc5RzVncGV3NmttZDlRQ2RmVHVlaklndFJ2Y2d1aGVhYl9HSVhqMTRCeVRzdXdSUDdILURRemdKeWlGNVpHbmNqRDQwVXZPcnQ2OU00cGFnbi1nZmVXejlyUnBQdkdmRk9KOVV5RUFyR1dyLTFwTDJGZVFXbDcyZUVhNl90dHdtdWxEdnRPV3ZrWmVwckk5NVRJUDVGLVpuUlhpQ0tpdmJNVjV0ZFRMb1ZiTkpTVzB1d3lMNG1mTmVibEJrcHF2MFRDMHR2WGJFXzFwLTNmOFlweHRvSF9iemhZZzN0NUhUNHFaUktGcTQwNnV5aHljM29qTmgzX1JKaGNDM3piOUwwUDBITTNNQVJXYWFSWnNzN2E3bm04aTQ5MC5faXhLUUc1VGE3bnhyajNlSWZNOGJB\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "11716", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:09 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2f799edd-ca18-4a2b-8c74-6fe6e82ca21f", + "x-ms-request-id": "138b1881-a032-4a6a-82ce-759ed2e22232", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "260aa6c2-944e-47dc-be58-89d227ec5200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-\",\"deletedDate\":1563493390,\"scheduledPurgeDate\":1571269390,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/feb2fc4c577e4e9294581d9081654d62\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xZUOaPRupyjYzj1Fq_865pPfneFOOqG97rzil-lvZtv9xTogMC6i6JlJARQfTrMY_wUHTGz_Ei1ty_eP6eus0DaibjpGBeex18sYq4ufhu5Gx9GHmG-Q9lS93eaQAFt504Strb9IG7UI5EkysG0QZ9ftUfKm0B5pa7UTKIIOfPOe58KnB4PqxJbO0zlM64OmpXlSbqXF09zCWNHDH9NJ-EsQxJM9TogZXgkVaOL-sgwjIFotLMDonGEeFQ2Q_6ngtlUTOM8K9rxyDB1CkCFD75KOCwWeWVxBqqVczjrtYVOkS4suWn0aJY8vYY2v9oeqe27DVsvz8_OaP6o552oTlQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493390,\"updated\":1563493390,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/58b7b4b2d8ec42658edd82f97611bd96\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wwYpc9CTrPngOFYWodPD5izuCLNvsV5DboS5OBWLZYulY_jEVqfIaZOSYd_XRkaksK2B3i01ULIbS4P6d71YTqXWDcftdL0EE7nXxwirsA7Z7W_I8ALk4olLRpPLMYecqJNx7yWxpAKjncKn3b6zJlN67CJvnV2QNX4t8u7cfejOwvnhklZpZeQuU063ay8SH-Y0c1pzP3u0ucT0hvvedw2hB5srMtvaKfeoehngywBEgmipf8NYBd4f5AZ1RgoYNzphs3oSILjIokFXaAxjtAnU3_vz9Ni08O3ZpWhJLH24gcj2BsbR4HS0PCkFWiN0coRWAuH46DUjrxAnM3ngjQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307780,\"updated\":1565307780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "891", + "content-length": "708", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:10 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d8e05644-9da5-4e5f-9cba-05c8a60dc494", + "x-ms-request-id": "b57a0204-a62d-49ba-80ce-731ba305a33c", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:10 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ea8636a2-51b3-4fc7-85c3-ecbfa67a2b34", + "x-ms-request-id": "e8abf3f1-0f19-4f14-adeb-f182a1480aaf", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "6b00e0af-d66a-471e-97a2-8ace43932b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", + "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 204, - "response": "", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-\",\"deletedDate\":1565307813,\"scheduledPurgeDate\":1573083813,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/58b7b4b2d8ec42658edd82f97611bd96\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"wwYpc9CTrPngOFYWodPD5izuCLNvsV5DboS5OBWLZYulY_jEVqfIaZOSYd_XRkaksK2B3i01ULIbS4P6d71YTqXWDcftdL0EE7nXxwirsA7Z7W_I8ALk4olLRpPLMYecqJNx7yWxpAKjncKn3b6zJlN67CJvnV2QNX4t8u7cfejOwvnhklZpZeQuU063ay8SH-Y0c1pzP3u0ucT0hvvedw2hB5srMtvaKfeoehngywBEgmipf8NYBd4f5AZ1RgoYNzphs3oSILjIokFXaAxjtAnU3_vz9Ni08O3ZpWhJLH24gcj2BsbR4HS0PCkFWiN0coRWAuH46DUjrxAnM3ngjQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1565307780,\"updated\":1565307780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "61776e7a-e69d-4d4d-8ffe-4197702fd798", + "status": "200", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:43:20 GMT", + "content-length": "891", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "88df51ae-d11b-4e76-8e9f-a388facc1345", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/restore", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlF5TGJyMGZfTHpQUmZVZ0p5TTUzVGE1OGl6aEE3RkNFWWRwbVBFZE1aX09DcWp3ZUJLT3M1WE9jVTZnenR4WFBvemlzV0JtZGFoVDJqZ19DcFg3MHBFWUtrRThrQWtlUVd1OHhTWS1zX2QyblJKOVdEQVJkYjdVUFR2LUxuMUlac1ZHS24yV2puMFRvczZadHZPY1pDY2o1eEdYY184bDdGS2w4eDRDdi15c1FJYVVPUmRCXzQ1cTdYaDY3TE8tZTBKZXVSY3p5SU9ZQlVuLVg0X0dEZkYxQURQYjNicEszdENINUQtYTNvSi1BMVBGOEw2QzgyYXV3RlNEU3NtclRvWE5KLUtWQzlfMktqWDVKNElYalFVc0ZUaFZyUFNDOHFYNnNVSFVVX28zNldySDQtUXR3TWI0UE0zejJWTTMxQXUwQk9hTG9CYUh1dWJxNVBsdmVFdy5ZNjF6NU42aklqTmF4WXBOdWt3NllnLmxPR3UtZ2U5MWNLNmFiU2hEckdlQUJIQmFrVG5lMUJUajRxejI5OGNXWmFWQmczTDF2UVJMNEFINzZLZG5aYlhlakE3bS14bWpNVHZERmkwMlc1WTlnbGkzQUp6VzVSZm1pWU40R3k1TlVUcUNNaFNfSmJrLWtjSU1iMFFIZkY5UVNBNHpuMkw4TGdwdzB5eVJBem93TC1MeTNyVWF0MnU4UjdxRW9pRnU1eDVPdGNXa3M1bTNMQTIwcjIwcnljZ0NJQmd1ZkkxVEJXX3QtS2tPZTI4LVdabzZvRjhzS0JpbExfUjlhR1Y1Tm1QaEJ3bEFhSkgtaS1GT2NDT3JubFZwZ2pwMWFwTkZncEhvSnROSDZLMzFLMm5iWExpMUlQR1g1ZXozMlQ2X05sbmQtb0lHdldnZWhMbVA2WEt0VzFUazNzbUQ3dHA0Uzl1dDFkZ1ZyRFFOaXZyeWd4dlJpWmFfRkRfcE1JaTFDR3FmR1BnMVNHQkxEeExYS0tpU2F3YUdtZ1B2c3FXRTdkRHhydE9heWR5M2R1a0RxZjhCenpUc3d3THBsNENOZks1YXBlYktRWVZRWmJla2gtaFdWbTdsb0pwUzJweWJ3N1pLTFVrcmwtTGZxRllWRzIxVVlNR2RKM1JPZ2pWXzkydUI0RFg2TzNIdHhNcWNiOTNoaTY5M245TWVBc2V4ZjRLajBRRUxKcGlNQ0tLU3BmYUk2Tm5POWFrTEZFSS1kNlhLRTVKQm16NUgxc0UxZzVLY3JNMWprYXhQY2RtRy0yVkRkWmE5VUY5TGlGaWVQZDlnVTZLZDdKejhYTG5RM1ptNFVOMnB2aDRqV01reHVHWVprUTVvbmtPSnZqMUJWeXFOSnJ6SHJEN1ZmZVZ6bVpOV3R2QjFHV1d4ZTdkbVVfeWVHQkQ5RzJZTG9FVktGbTFoalZXWmZKUWpaeGlWSVJSS25jT3lpTnl5bVVvWVFmZVR1aVJXdjdodWNkeUdNMHFNNmVHand3c3IyekJQMWFDLW9PUlBtWkM1SnFaN1NBQ09fVndubHdiaGFyUmZpQ19ub2dXSFo0b1ktUndGeEJGOHdzT2stUDVoamhvdUwzUTlVbnBHM1Ayb2RfeWxJZ0FZZENidkd3bzc4S08tZ2plak50RF8tWERkaUQ1U3hyTV84TjlPSWkzUGdpT3dncXdlQVRIZHpSc2IyMWNqZVdYWEdDWk50VWNPTmtxeDZmWmx6Nzk5MU5lU21qLVZyVVNROWIwLWk1TUZaYzhwOFluYnNRR1ZNUDFrdy1ENkYyb1RzeWQwMGVERmIyWFNsNjN2cnl2Yk1NWDVROGpGVnVwYXBNQk9NRmZHNktOLVp5cDNONGZOTjNTNkhvdUtXWVoyckIxSG5vRWhEaUZCN2dDbGYzODJ4Q1NwYUw2MDF3ZVpnUXd0NmNwLUJpUnNXbk5MNnRfYUQ2WkYyX3dQRHhHZFowLThpSFBFeDBUM0FYSXRYR25jelFPZlRFVDFHdmlnenp4R3RIUkZzOVFnMTJTNVJxb0YxV3Z1b08xTG9vdmNYanljdlAzdEI0em9YR3hLTkw4UG9MOGFFczZXX0JpWDhxUDdCYzFhT1VIMFU5OVo0TWRfVnc3VzJ4UEl4UlJ2ZzNQV25UMVpQNVk1UnJzaXhuYXdGZXlHQUl0T0RlVFlYbkItQ3J5c2xFZTI4MzdXRlpyZk9kX2VhT3ZqLXRUTkgyNFNWZlRmbFlRaXkyX0ktcjN5d3FOUnUxYnAwaDBYWk9oalBJc2Rhc2ltUURuZ0MyQnVYVnFhbm1VY0dFUlRJd1BUNlIzRjFMVjYyOUpOdmpMZU9TOV83QlJ2M200ZFJGQlR6NW5NN0dfQ3JyMjlUSGx0b3FvNnF0T3NoZTJDcTcwdEV0WjdWTmVVZ2tjVXN2NGtQWXJta015ZzBlRERWVDBMSTJNbWJsZndLcWp5QXhHUWZEWWpnSkt2NjR2SEpHVWRJWTA5b3JZVDluZmJCUmd2VER0UFVvdDJxTWlTdUhHYzFXemdEUC1FeDJnYVFpcmxrNnkxUV9QeHNhelFKcHdwa2otWFJ2aUxWY29CcjdkM3k1NXk4MmJZS0RaTk5SS2NfaENWNVNhanpXVFJQREZiSUQ5ZEd3WjhjU3pMZ0dHdXAxOHhxYlNyNGJDWjVna3l0UGwwMkRTNTZ4TjlyMGhrVEVXRTh1azRSbVRYbUpvdnJsWjZMUU8wV1lTT3lZUXplUzFtWWFSTTY5RlM1cGM3c3A4VGhhdVFxQ2o4MkNKTzA2Z3pyOXhMQnVxSnNOaW1idzlXNXN5aE55cXNYVGo5Y2t6NTlYU3Q1X0JPTk12czAwME5lM1p5dHF3TzA3Z0ZRNzJZLUJ2dE5YcUZZRXpncGVVUDFMcm9SdkNHMUwyNTJCSVpXcXhMNHBzbkliMHVoMHBlcHdJRUNXZV9YZ0VtdkJ4blJjVTNZcjdJSnhWSXlQWlFaUC12alRGLUQzdFJyU3FpbVB2a0d2MTF6Y0VDcUg4MzBxaXRHVHlWTmZ1bHdMV2tGa0Ziemgxb0s0WUNSdUZMeWpHZHBIRkQwekRlSTFsRDBLb1ZPS3A0anRBTXh2NnJUaHRLZmgtaFcxdmNtM0UxakVTbGF0STVzRHhpYk5LR0VaWm9hZnlod0NiVGc5OEJvaUd4dDA2NzBkbmVteWw2SUxhYmdTaGZZOTJBcGVlWkNpakZ4d2Q3aFhNb0RWZmkxa0tLS0lUdmIyd3liZ0UzMlVUOHhJSkVabE0zLXZKc0pQa3N0SE1SaDBRR3hlR3djZl9sMG42Q2w3cHNkck4wc1o1TzZzdWJpUDJsSVpIdmVfVDdBY3pYd3dHSGhnbHppV3FkYnJrUzFPUjV6c2dzazZnR3E5QlFEekZadU5SVlNuMDFrQVh3bTN6Q0I4enZiMFhacUZVVDBrbWRJQW1aNnBZNW9qNl9oY055WFA5WEh5TmFzY1R1ZTVTNFVMdmdpeS1WTGlEVlQ2TFpSdnFLWGJJem5vbWZQRUhRc1h1bkpKa0J3c1lsTVFfTWUtV0FrbHl5UG1CN0RnRGJiYXV2TWJCNUVHWEZybUZtZ2pVNWZsd3A0TWNpWXFZYzB1ZGU5bENZRWc0aXlLYUY5S0JHUEkzNXpXZUtNOVp1Nm9JVV9vUjBnZHFaN0FHWXFKVHQtZ2Vld1N0ZDZjeGhHOHlqamE1Q1c4ekxZVU1YcFFiUG1uZDZVclhLSll2ektoMVp5Qno0SC1FSkJ2cGJ0X0VNMXBJTXlBUXJrQm5CckloZ1JfQ1pSajc3a2hMNjJxX3kwZTNKcVViUGJxV3ZNV3pFaktuUm5TQ3dna2V5OWd2dUpGT01QbW9Ta3p0V1BabUlHSzZKd1lDSzlLT3BuTlYzcUMwMjloc29yNjIxandMSjhPWDV1Q3kzOEFiT0VMR1BKVlJtSzRIU0dDVm5ub0s1TW91cHJFOFNxZTFSaVhpb2hRWl9Sa29LRi1RMVpLbmJpbjZpaXVpRGs0NEJhY2pQMDFDSl9tT2pmdW9LRDJiUC1Ock83dUF0VkxRb1BmRm1KRk42UVZLeno1LUJMYnFMb1VHNGQ0X2NRWko5ZTFTamtZdEQxNmZ3bmx1Z2o3QXJsNWY2T2twcHY0anRncjBmOTBtR2M2UFlUUERiblZGRWUybUNUeTVzM3RXT2l5Q0Y4LW5kM0tSZGl0Qnk1bDRna282c0JYLXA5emEzTkN3RG03X0xWMUZPZ1lrU2ZaOVA1UTJoeDNKTkNuREE4S2NhMzZTTUhqSFNZTGZYdWxQa3htajFLVHN5SGFDVHZ0dFl0d2ZKNXJpSndHaWMyRnZveGFkSk1JQ2hQLXBHRVNVbHp4LURscHlKQUY5NFItM0JNbk84UEw0V0V4WjJzU1huSDU0SzZ0VFRBc0hkVGRlN3o4NFdMdTVScFpZRno1ejZiZzlvSlVZY1RHUU1qaDBxMGZFdTJla2ZoZG82N25mYUppNjRWX3p6NGpfekJrUDdCdlF5eEN4cFR6TDBmaGZIck1DNnBsT3ZCMWRnT0luZ1NnSzcydURGN2J1ZW5LT0VmLUhtZWNSQ1BsNGlHczNZVVo2cDVoV2xKNERpaHZzUEpJZDVhQi1oR0ZJTWJHVFE4Vkp6OHNZY2ZNeDhvWnVFN0RFSkFrbVlPcUlRMld0N3BFNnZIRDc5dGNiQVJKNnR0ODVXUVphUEpKaXNkMU16WkJFX2FkaV8xLWJzZUhRT29ISUtQR2xLQU9xb1NNWlVaNnQ5R0Uxd0dEMTExeF9ucGxWZjlmeDRQelljeld2NWI3c1UzOTl0NFFxcjdmU2tycWQ1cUFLWVV0cXNsOV9JYUZWbTM0YlptdVU1NHRsMTVzbk5DczU0a2ptTXRSY1lVR3NKaloxRTY4MUNLM3FqMkx2MlZZMWNYNlg2SmJPOXB6eFJtRng1RV9rNGVCM1k2c25pZ25FeEFxT19zanBOMXkwMzY4VWpBUHRpYVc1aHRNT3QtQWRuQTIwUEdFLTItNGc0ZWY3aWdBMTJveWRZb1hveEVSZWZvUWFaLXA3ek1qQkRaSUpXb2MyQUt0WnJYNHJhQ01zNnNVRVptUmFaeFhYZnI2alpzT2puQUlVUXhVSlRsMW01UW5BTV9McEswVk9mdk5mdnd2VEZFOU5udk4yMFowMndkUlZZRVVWdFdoZllCVERVWW9rTmdrNUJxeFBva3EwcnRUOVR0eVBFb0h3V3VlSUFOSU05RzFZcmFad3ZUc1RfQjVhb3pLNktmM0VBcE1Rd3JJaVFwcWdDeElqLWZXaHpoYTlOaGlHelFYaGd2OGhIX1hIWFJ2b1hqUjBjc0RYOC1OZ2ZvSFluaTlVQl9VWmN5bDd6NjFVOGx3SzA3N2hPeURaVW1QbF9GclpqaXJ0c014YU5SZlN3Yy1lcWNQd1A4WG5qUVlYRzRkN0JhRTZzRjZuZ0VqMDJQMmloRFMyNUJvanhldnNGWGZKZHRocE5yUFVhSHdZZ01DSG5hVnZZNUIzVnVIVU8yd0FlUWRud1dCNDM2N3ZsaTVWRVNicXhYNzZXQWtLRmZENl9qdElZcldtMmNGMDg1R01vZTVsRTllQ3lfWFk2aG9NaVJoeEtkU1pNNWRFcDdxbHRjN0VLVHU5NGlQQ2R3UGhVdEswcWZtWGJDRkxFSV9HYXpCRGdqeHpmNkNjTEN1T3NpMnhfejBBZUdIXzJqT0xmZkV1Q1FiNGVIZzRHeEdrbHNjd3ZYd2plX0tncWJ3VGtjX05RZnd6QktSbHdHdFhSdWxRcGhVaTdNS3MyTFhxZjNuVzVOZjU5dlZScHhZMXNBRzM5Ni1HV05QTldQdkUwMlZERmhwdjdCd19xYlZ4SzVpQzdrLU14dTBiWXZSNmVhdUN3d1Z1NGNsXy1Nb0NaZW9UMnJIa1ZQcHNGRnBNYmdHQTFQdGFPSHM4U0ltM2VwT0c3RU9LLXBON1hxYVEzV0lOaWxXeTNxZ3FvNTVrYWNnQ01wV1NWVG1EcHVwa0QtMFJzWWJnWC1hRnRPZllpdTVVWDJUSGJQN2gwODZVOVN5MFJtWm5Ja1FGM0NDOUx2enRpcTQyQXA4N1lLbGZUN2hkelg2TWkxNzBkeExKM1c3dm4zWWFPMEJXNzJVbzNIV3d6a1JjWEsybHY0WTM5UVNVTk1Ec3BJNHN2WEtOLTRTMENCWXZhZl9TMmFPMVgwNl9MMDcyXzJSNVRsMlFQMnMyTnNseHRicHRKbGUwelBwN1RBWnk2ZUZQTGtuUW5NcE00Uk1JVVJzLXRPSVVSa2o5dHZOeFc1THRJbm1peTE4NEtNUHlsOElkdElkOVExSlk5UDFuQzMzTFlmUjY5aXVPaXR1UjI3ZEp5UUp6TDZ0X3dVWXVBVXE5MDVEVDU5WEVUeHRvYWdEUW5xMDJmcUdQOWxEZkZMSlhvZUphM1ltTHZoYjJvSUkwTTBZMjBRWTZyZGJzSm9uaUlTM3NmUmYtUEVkcHFUUERWVXZjZU1DZEtjUlZUWWxwUXlkajFiZ2J1UzMzcEU1ZFZ6UHE1dkdwYWRNa1M5bFNDR2hvblp4aXJqY1d1Q0NRWEJNY043Ymdmbk4yWXktcDU3TGhGd0RNSTZYMHhJV3JTMExjdWRYd0FYXzcwLVMxTTFKRElueDd2dkxvT1U5VldVTG9tbmZaWkFQLVNnYjhoalhwR25xX2k3T0dhSTVMMUY3Qmk4UFRxZ0RVaVBPM24waXZHRVNvYmdKbkQ5aW56eWJHdkxfX0JzQXZ1UWgyaFNFQW5ZbENTeUl3TmNzMWgtYUFpVVBKdzh2SVd4ZlU3Y3c5TmVCX0I5dFAzaVJkd1hyLVZuOUV2aDhNMjFXTHpXOTJDRG5kVzQ0bUlkSWNaMEctbmFGR2JCR1U4QS1yREJOWTNubVRaNUNBZFY3RFF5MlZCZElMektXVGVGZWJPdDFQZjg2cmx3WnlvRm4wNVp4M1ZvVGhGQ3lFOUpLczc5MWowcjdOdlE2MGNOcXhfd0lGY3pUeGU0R1Y3dFJWd2tCaVUxSXJiMmk4bFlMTDFtTjBudmJJd0pxeHR6Xzd1WXM2YThYRGw4MVBjUDU0SHpPTWxYdkZnTzFaQUFNUWVRbGtUQTRUWHJ0ZWEweUhWQWZyN0Rsb3hKSVgwTVg4dTNfRFlnMU5GdGpadGthTjgxY25JNTFDYUpJYUpiekxlTWdjMkkwYjB1SEdMZ3ZoZ3JXdDVCQmRuUkpsd1dFdDJ5ZmZVNVpnek5LV3RDS0pkWkxobEZUeXZoWmlCNE55cWM5cWdBV3FCVk9ZbklZckt2dXhFeWR1UEVmQXhpMTQ3MlZxdjJ6WDBtVEVSQjZwNFQzenlwU195aExTeTVKcEhYTU8ydThQaGdVLW5pYmx2YXh3dGJ2dkE2N19PUTBvVUZwN292ZnY4T3ZCQmFBbV9LZzZqS0pyaHRoemRKZ2RzNGhidlFQVndZUUM4ZmgxZmY4Wmd6Z0RSc0lyeGZpdzd1ZUR0djNUSEZjeHpZN1lLMGNNbmtKQ3VzaWNFOVJmV2VFaGlBaE9EM3RyT0I0a1lqdjZUT3h4amsxUFQ2cF9PSjNlb1ZNSnR6TVU0U2NnYjRESS01T0UzMGM3MDhVS3FKOF8zTzRWVTM2ZFdwNHV2cEVtVlNOeE9KNkQ5OC1ldm1vd2lfM3hzTFY2UG9NRVFqNFRhQjNVYmtJdWpKUndxcmZVMHhzZG01cFpvazZWVWZiV3V3Y0t1eHZLNmxvSi1hRC1CRjl3UmJzb3hoUTZxQ29YWTN4NlRIZUlEa0F1akhsbl9YZzk3bzJRc0NNb0gxZHgtUXF5bDAyOWRyTHpQaTh3emdhOExwaDdBcUVKS3V1a1JieWlCMnBuUFVWWWUyd0c2R20xaTY3R2lqRU1vajI5aXFhZmFINzVPZ1NzRmdKZUxQN0dLRE56UmhkNWhFbTZ4SGo4OFJsYzJxQTBfQXo1RjF0eEt4MzRxcWQ0OUJmWkxCcU1ud2IxYmxMRkQ0LXg0bHdSZjZRcXNsVUw2YW1fb3c4WGlJLUlYNzNlRU5rMUYwVkQ0U19nbWluNk13UXdZYWI5bGI3TTRaTURuR0Z0VzY5UHVUaDB2OTg4X3BjY2Q3V0ZIMG5McFB6T18zU0RqMVRrdlNXMWp1c0dDZHlwYVU0eWpxVWM5aVpSNlVUaWpsOURnV3EtNV9DQ2xiMXVpY0EyZVlDTThsNUFVb1JrQzlCcGd6OTk4SUpPNXViY01JR0VHWE9pbGhQQlE0Z0ptLUgzYVdWemFtRVc2Y2VrMTFhVmh2NTc5cGRsT0N0Q3REekdtN0RBY3REQnFKTmllRlBQNWFWcE1aQ09fOTJPREhjN1EweUdtWlRzc1dTc0xGVGhxY3dnSGFOODNfU05GNmFDdE5tOC0yV0hCOHBJTllqbDdqN1p3c2lNWjFuV2UtdU9LM0s0TzhXSTNxaEROMFRVZ2V4R0Q0X3pJZzhvZGJJem44cWhWT0Jvc3dFeU9JcE5DNGlPcG14aUtOS1lZQnFaV3ZBVWZIWHRZanl6d1JZTlJ5cUpiUlY5alBYSnlvVGU5QjNVUlpqdkxPZE5FVjJaTTBxeUhNcXh3VzM3dnF5VTlaX3ViUC1JZHh2MFFMRm5PeVYtbVdlbl9STDlVUi1vczNlMkpVXzJmLUpOVE84YmQ1RzhDNnNYV0R4aFBmRV9UYUV3bElKcmVHWjkwQTJSUWlrQk1qVUZ4MmlwSVdBQ2ZyMzI3WUM0ZnRKNUJ0SzlPeEQyOWNKWjZRWjNzbFA1ZEJNSjliN1BTb1lmNFZzZDBqRFNsVkktdXd4cVN6Q2RqRG1WSkxNbkRRS21QSnJUTFl4akhQZDVXVTA2b3NDZ3BVd0xzalc0UlgwTzdmVUwtbW8yTnV5alczOGRKa0dvSEtfU2RnMkNncTdrcnJNSTBqcVhua0FobW1rbHNrSktrRjhIaXN3REdwUklfXzlXZHNUSVVlR2ZidmZ2QWJkTnp6MGpzT25KemhZZ2V1WmNEYlZoOUpleXc1c3BzX2JnLXV0aFdjUXUwWi12UmI0RVpJck9ycjBPMFJpemgzUW5sVkk3dzBHZUxhYUNVSEFSaU5wNUMxcENZZmxfSldfbWdDTkFkTmxkckpsTmNQOHBiUTNkckRjMEpYNnd6eTVXZGNRY0lRLUJtNC1weE12QlNjcUF6Znh5LVN3a1NPbDBBRHJVUzFMekZSZG1kMWZlbnRlcnJPdTE2RDNuOHFoZmgxZFBlazVjOVE4SnU4ZTF1ZGpaLXlkMWdqa25Ec1hYUHp1U0FINExSOTNsM294NWNOZ3RxaExRdWlqSGU0dnlpYzMzbmpybU9mRlV5MWphSlR3RUtyajk2V0J6Vng4Z0FCdDREZDVhT01OamF6X09tUlBPUFNEYkdYMG1kVGZPT3BTLVhKVUlubmt2T2VRSFZrYmNYRGZmSE9wTzRFZ2JMa1NnWVVDRU8yT3RjYnJ3NzZwWmNGY1Bva0x6OUJVZEliTjB3azFWLXdWUUJEZWkzSEs2RkRKeG5ZbzJVcWk2SGRVbzQ2d2ZfSFNrYzFlNm9YQl9QMWJFLXlLVVlaOTZxVXQtRTE3LVBzZGFGMzBJYmJTVDZlOWtZOV9kTVNYSUtXR3NpRWNCaG1vRlREVk41YmxobHRoRE5IWUJqWENSRFBGUXA5cFlkZWc4Q19PVG9uV1haZjh1V0VZNS1lSm5WMWw4RUdqOWlnWjZlMmtiUW9WNmlaMVNFaDNaQnMwV0hnUzltLS1LQjNVNmxreElCT3RhMzBBRXZfSHpUb0pBeEdtc1h4WjZpTHowZXp1WXVydVk0RFFsQlZqMnJFVTZzZmdNYmFHOHpjMUpfNUlEWFZJQmhkVkJqaXowTnJsdTJ3dml1LXlES3lPM3hrVlMwNjV0bVVhR0VMVng3YlVxSy1qck5lMHVoX2lVQ2lMSHVIcWMwWkNyYVFNZE5lMHBLRUNOTVhrMXRBUVRSZncxblQ4ZEpSM1hpMFRvM3BEcER4dTMzdE1sXzZBTThVYnJkSVhfS2FwR1V0dTBDbnl2dlZ5Q0pySEFrc3RJWHB3SUg1TjhJYjNjU2JmQXFJemQyQzlVWkw4SEl2Qk56bWh0SWJWN0hSN2NLMmJibnBfZXo4QzVjcmVaRHJTQXhsczdOV0VJLUF3bGV6VXNrMHBjVVFvc1lvalNPZmJvYmlGZUlIMHdwQnVGamREOWZvcUhHeUhhcDk5SGxfaUJyMkt0OUN3R2Y4Q1N0MzM5eDRPakFQc2NTbzRZWnVMWVFXa3RiOGQyZTJxbkdqVC1rNEoybzllUEk4RDFrUFI4QUlrbEZFX09mdEpsOFRsRHJRYk9CUmFpMFBvdjZ5LWgyYTJZLWRkUm5NWnc4alB3VGdMX2VuYVBhbWtEWmpJdXZkU1dKaXFFLW51RGVseU9YQTF2WUNEdzN5SXZzODZYQm53UnlqbGNTMDdxRjJ3Z3lhUUJHeU1hVl9BaC05QWpZWHJ5R0JTTnB1d3RGVFhRUVkzVmFIdGZEdS04cUs4cVc2YjU3cU01cHBpSWgxaE5LZmRTZUZMWHZsV0J3SkxFVnctdmpQeGFuRnFOdDVLV3RTWHhRTDlFVGMweTRNQXNkd3NZSUQyYlVwU1B5Q244STZ3SVhpdmlLWkR5bXQ0bUo1d3VjTWJ6RUdNR2hmZFRNc3lZUEZsUUpnQVFLbHo2Vnc4MHRuZ2Q1NGdSSFROdkJtcHBEV3IxMFVGc2EyVDVBLXVrZ0w0dnVHenh5clYzLXJZbTZMWEhGRVZwZXdoS28xVlY0REFFUVhVeXRULTg1NUM3X09pVHp0ZDB4Zlo3QUJEYnF1bzFKTGRPdVJDeVIycC1jS09Qa2F3aEhXOFFmcHpLbWpMVUdsMklrUUpWMlJVNl9NcVp3LUtiQ1IxTEZSdXhvYTFkaWJRQjh5NU94eEhGd1pZMm1qM3FTSEFCMk9DZzBfUGEzZlE3cVp0T2ZlRlk2UUxJYzlVYURyd2IxYzBBWDk3OWVpUEYyTnEtUTVZdGFYT19lZXMwbGdJb1JVOVllRXpDcUc5RzVncGV3NmttZDlRQ2RmVHVlaklndFJ2Y2d1aGVhYl9HSVhqMTRCeVRzdXdSUDdILURRemdKeWlGNVpHbmNqRDQwVXZPcnQ2OU00cGFnbi1nZmVXejlyUnBQdkdmRk9KOVV5RUFyR1dyLTFwTDJGZVFXbDcyZUVhNl90dHdtdWxEdnRPV3ZrWmVwckk5NVRJUDVGLVpuUlhpQ0tpdmJNVjV0ZFRMb1ZiTkpTVzB1d3lMNG1mTmVibEJrcHF2MFRDMHR2WGJFXzFwLTNmOFlweHRvSF9iemhZZzN0NUhUNHFaUktGcTQwNnV5aHljM29qTmgzX1JKaGNDM3piOUwwUDBITTNNQVJXYWFSWnNzN2E3bm04aTQ5MC5faXhLUUc1VGE3bnhyajNlSWZNOGJB\"}", - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/feb2fc4c577e4e9294581d9081654d62 - key already exists or concurrent access\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "249", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:21 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:33 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ddc79ae6-adeb-430e-be3f-f3139300c0a0", + "x-ms-request-id": "69896445-096d-476d-b17a-930516c2824d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/restore", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a50c2921-436f-4745-bdd8-20bc21912a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlF5TGJyMGZfTHpQUmZVZ0p5TTUzVGE1OGl6aEE3RkNFWWRwbVBFZE1aX09DcWp3ZUJLT3M1WE9jVTZnenR4WFBvemlzV0JtZGFoVDJqZ19DcFg3MHBFWUtrRThrQWtlUVd1OHhTWS1zX2QyblJKOVdEQVJkYjdVUFR2LUxuMUlac1ZHS24yV2puMFRvczZadHZPY1pDY2o1eEdYY184bDdGS2w4eDRDdi15c1FJYVVPUmRCXzQ1cTdYaDY3TE8tZTBKZXVSY3p5SU9ZQlVuLVg0X0dEZkYxQURQYjNicEszdENINUQtYTNvSi1BMVBGOEw2QzgyYXV3RlNEU3NtclRvWE5KLUtWQzlfMktqWDVKNElYalFVc0ZUaFZyUFNDOHFYNnNVSFVVX28zNldySDQtUXR3TWI0UE0zejJWTTMxQXUwQk9hTG9CYUh1dWJxNVBsdmVFdy5ZNjF6NU42aklqTmF4WXBOdWt3NllnLmxPR3UtZ2U5MWNLNmFiU2hEckdlQUJIQmFrVG5lMUJUajRxejI5OGNXWmFWQmczTDF2UVJMNEFINzZLZG5aYlhlakE3bS14bWpNVHZERmkwMlc1WTlnbGkzQUp6VzVSZm1pWU40R3k1TlVUcUNNaFNfSmJrLWtjSU1iMFFIZkY5UVNBNHpuMkw4TGdwdzB5eVJBem93TC1MeTNyVWF0MnU4UjdxRW9pRnU1eDVPdGNXa3M1bTNMQTIwcjIwcnljZ0NJQmd1ZkkxVEJXX3QtS2tPZTI4LVdabzZvRjhzS0JpbExfUjlhR1Y1Tm1QaEJ3bEFhSkgtaS1GT2NDT3JubFZwZ2pwMWFwTkZncEhvSnROSDZLMzFLMm5iWExpMUlQR1g1ZXozMlQ2X05sbmQtb0lHdldnZWhMbVA2WEt0VzFUazNzbUQ3dHA0Uzl1dDFkZ1ZyRFFOaXZyeWd4dlJpWmFfRkRfcE1JaTFDR3FmR1BnMVNHQkxEeExYS0tpU2F3YUdtZ1B2c3FXRTdkRHhydE9heWR5M2R1a0RxZjhCenpUc3d3THBsNENOZks1YXBlYktRWVZRWmJla2gtaFdWbTdsb0pwUzJweWJ3N1pLTFVrcmwtTGZxRllWRzIxVVlNR2RKM1JPZ2pWXzkydUI0RFg2TzNIdHhNcWNiOTNoaTY5M245TWVBc2V4ZjRLajBRRUxKcGlNQ0tLU3BmYUk2Tm5POWFrTEZFSS1kNlhLRTVKQm16NUgxc0UxZzVLY3JNMWprYXhQY2RtRy0yVkRkWmE5VUY5TGlGaWVQZDlnVTZLZDdKejhYTG5RM1ptNFVOMnB2aDRqV01reHVHWVprUTVvbmtPSnZqMUJWeXFOSnJ6SHJEN1ZmZVZ6bVpOV3R2QjFHV1d4ZTdkbVVfeWVHQkQ5RzJZTG9FVktGbTFoalZXWmZKUWpaeGlWSVJSS25jT3lpTnl5bVVvWVFmZVR1aVJXdjdodWNkeUdNMHFNNmVHand3c3IyekJQMWFDLW9PUlBtWkM1SnFaN1NBQ09fVndubHdiaGFyUmZpQ19ub2dXSFo0b1ktUndGeEJGOHdzT2stUDVoamhvdUwzUTlVbnBHM1Ayb2RfeWxJZ0FZZENidkd3bzc4S08tZ2plak50RF8tWERkaUQ1U3hyTV84TjlPSWkzUGdpT3dncXdlQVRIZHpSc2IyMWNqZVdYWEdDWk50VWNPTmtxeDZmWmx6Nzk5MU5lU21qLVZyVVNROWIwLWk1TUZaYzhwOFluYnNRR1ZNUDFrdy1ENkYyb1RzeWQwMGVERmIyWFNsNjN2cnl2Yk1NWDVROGpGVnVwYXBNQk9NRmZHNktOLVp5cDNONGZOTjNTNkhvdUtXWVoyckIxSG5vRWhEaUZCN2dDbGYzODJ4Q1NwYUw2MDF3ZVpnUXd0NmNwLUJpUnNXbk5MNnRfYUQ2WkYyX3dQRHhHZFowLThpSFBFeDBUM0FYSXRYR25jelFPZlRFVDFHdmlnenp4R3RIUkZzOVFnMTJTNVJxb0YxV3Z1b08xTG9vdmNYanljdlAzdEI0em9YR3hLTkw4UG9MOGFFczZXX0JpWDhxUDdCYzFhT1VIMFU5OVo0TWRfVnc3VzJ4UEl4UlJ2ZzNQV25UMVpQNVk1UnJzaXhuYXdGZXlHQUl0T0RlVFlYbkItQ3J5c2xFZTI4MzdXRlpyZk9kX2VhT3ZqLXRUTkgyNFNWZlRmbFlRaXkyX0ktcjN5d3FOUnUxYnAwaDBYWk9oalBJc2Rhc2ltUURuZ0MyQnVYVnFhbm1VY0dFUlRJd1BUNlIzRjFMVjYyOUpOdmpMZU9TOV83QlJ2M200ZFJGQlR6NW5NN0dfQ3JyMjlUSGx0b3FvNnF0T3NoZTJDcTcwdEV0WjdWTmVVZ2tjVXN2NGtQWXJta015ZzBlRERWVDBMSTJNbWJsZndLcWp5QXhHUWZEWWpnSkt2NjR2SEpHVWRJWTA5b3JZVDluZmJCUmd2VER0UFVvdDJxTWlTdUhHYzFXemdEUC1FeDJnYVFpcmxrNnkxUV9QeHNhelFKcHdwa2otWFJ2aUxWY29CcjdkM3k1NXk4MmJZS0RaTk5SS2NfaENWNVNhanpXVFJQREZiSUQ5ZEd3WjhjU3pMZ0dHdXAxOHhxYlNyNGJDWjVna3l0UGwwMkRTNTZ4TjlyMGhrVEVXRTh1azRSbVRYbUpvdnJsWjZMUU8wV1lTT3lZUXplUzFtWWFSTTY5RlM1cGM3c3A4VGhhdVFxQ2o4MkNKTzA2Z3pyOXhMQnVxSnNOaW1idzlXNXN5aE55cXNYVGo5Y2t6NTlYU3Q1X0JPTk12czAwME5lM1p5dHF3TzA3Z0ZRNzJZLUJ2dE5YcUZZRXpncGVVUDFMcm9SdkNHMUwyNTJCSVpXcXhMNHBzbkliMHVoMHBlcHdJRUNXZV9YZ0VtdkJ4blJjVTNZcjdJSnhWSXlQWlFaUC12alRGLUQzdFJyU3FpbVB2a0d2MTF6Y0VDcUg4MzBxaXRHVHlWTmZ1bHdMV2tGa0Ziemgxb0s0WUNSdUZMeWpHZHBIRkQwekRlSTFsRDBLb1ZPS3A0anRBTXh2NnJUaHRLZmgtaFcxdmNtM0UxakVTbGF0STVzRHhpYk5LR0VaWm9hZnlod0NiVGc5OEJvaUd4dDA2NzBkbmVteWw2SUxhYmdTaGZZOTJBcGVlWkNpakZ4d2Q3aFhNb0RWZmkxa0tLS0lUdmIyd3liZ0UzMlVUOHhJSkVabE0zLXZKc0pQa3N0SE1SaDBRR3hlR3djZl9sMG42Q2w3cHNkck4wc1o1TzZzdWJpUDJsSVpIdmVfVDdBY3pYd3dHSGhnbHppV3FkYnJrUzFPUjV6c2dzazZnR3E5QlFEekZadU5SVlNuMDFrQVh3bTN6Q0I4enZiMFhacUZVVDBrbWRJQW1aNnBZNW9qNl9oY055WFA5WEh5TmFzY1R1ZTVTNFVMdmdpeS1WTGlEVlQ2TFpSdnFLWGJJem5vbWZQRUhRc1h1bkpKa0J3c1lsTVFfTWUtV0FrbHl5UG1CN0RnRGJiYXV2TWJCNUVHWEZybUZtZ2pVNWZsd3A0TWNpWXFZYzB1ZGU5bENZRWc0aXlLYUY5S0JHUEkzNXpXZUtNOVp1Nm9JVV9vUjBnZHFaN0FHWXFKVHQtZ2Vld1N0ZDZjeGhHOHlqamE1Q1c4ekxZVU1YcFFiUG1uZDZVclhLSll2ektoMVp5Qno0SC1FSkJ2cGJ0X0VNMXBJTXlBUXJrQm5CckloZ1JfQ1pSajc3a2hMNjJxX3kwZTNKcVViUGJxV3ZNV3pFaktuUm5TQ3dna2V5OWd2dUpGT01QbW9Ta3p0V1BabUlHSzZKd1lDSzlLT3BuTlYzcUMwMjloc29yNjIxandMSjhPWDV1Q3kzOEFiT0VMR1BKVlJtSzRIU0dDVm5ub0s1TW91cHJFOFNxZTFSaVhpb2hRWl9Sa29LRi1RMVpLbmJpbjZpaXVpRGs0NEJhY2pQMDFDSl9tT2pmdW9LRDJiUC1Ock83dUF0VkxRb1BmRm1KRk42UVZLeno1LUJMYnFMb1VHNGQ0X2NRWko5ZTFTamtZdEQxNmZ3bmx1Z2o3QXJsNWY2T2twcHY0anRncjBmOTBtR2M2UFlUUERiblZGRWUybUNUeTVzM3RXT2l5Q0Y4LW5kM0tSZGl0Qnk1bDRna282c0JYLXA5emEzTkN3RG03X0xWMUZPZ1lrU2ZaOVA1UTJoeDNKTkNuREE4S2NhMzZTTUhqSFNZTGZYdWxQa3htajFLVHN5SGFDVHZ0dFl0d2ZKNXJpSndHaWMyRnZveGFkSk1JQ2hQLXBHRVNVbHp4LURscHlKQUY5NFItM0JNbk84UEw0V0V4WjJzU1huSDU0SzZ0VFRBc0hkVGRlN3o4NFdMdTVScFpZRno1ejZiZzlvSlVZY1RHUU1qaDBxMGZFdTJla2ZoZG82N25mYUppNjRWX3p6NGpfekJrUDdCdlF5eEN4cFR6TDBmaGZIck1DNnBsT3ZCMWRnT0luZ1NnSzcydURGN2J1ZW5LT0VmLUhtZWNSQ1BsNGlHczNZVVo2cDVoV2xKNERpaHZzUEpJZDVhQi1oR0ZJTWJHVFE4Vkp6OHNZY2ZNeDhvWnVFN0RFSkFrbVlPcUlRMld0N3BFNnZIRDc5dGNiQVJKNnR0ODVXUVphUEpKaXNkMU16WkJFX2FkaV8xLWJzZUhRT29ISUtQR2xLQU9xb1NNWlVaNnQ5R0Uxd0dEMTExeF9ucGxWZjlmeDRQelljeld2NWI3c1UzOTl0NFFxcjdmU2tycWQ1cUFLWVV0cXNsOV9JYUZWbTM0YlptdVU1NHRsMTVzbk5DczU0a2ptTXRSY1lVR3NKaloxRTY4MUNLM3FqMkx2MlZZMWNYNlg2SmJPOXB6eFJtRng1RV9rNGVCM1k2c25pZ25FeEFxT19zanBOMXkwMzY4VWpBUHRpYVc1aHRNT3QtQWRuQTIwUEdFLTItNGc0ZWY3aWdBMTJveWRZb1hveEVSZWZvUWFaLXA3ek1qQkRaSUpXb2MyQUt0WnJYNHJhQ01zNnNVRVptUmFaeFhYZnI2alpzT2puQUlVUXhVSlRsMW01UW5BTV9McEswVk9mdk5mdnd2VEZFOU5udk4yMFowMndkUlZZRVVWdFdoZllCVERVWW9rTmdrNUJxeFBva3EwcnRUOVR0eVBFb0h3V3VlSUFOSU05RzFZcmFad3ZUc1RfQjVhb3pLNktmM0VBcE1Rd3JJaVFwcWdDeElqLWZXaHpoYTlOaGlHelFYaGd2OGhIX1hIWFJ2b1hqUjBjc0RYOC1OZ2ZvSFluaTlVQl9VWmN5bDd6NjFVOGx3SzA3N2hPeURaVW1QbF9GclpqaXJ0c014YU5SZlN3Yy1lcWNQd1A4WG5qUVlYRzRkN0JhRTZzRjZuZ0VqMDJQMmloRFMyNUJvanhldnNGWGZKZHRocE5yUFVhSHdZZ01DSG5hVnZZNUIzVnVIVU8yd0FlUWRud1dCNDM2N3ZsaTVWRVNicXhYNzZXQWtLRmZENl9qdElZcldtMmNGMDg1R01vZTVsRTllQ3lfWFk2aG9NaVJoeEtkU1pNNWRFcDdxbHRjN0VLVHU5NGlQQ2R3UGhVdEswcWZtWGJDRkxFSV9HYXpCRGdqeHpmNkNjTEN1T3NpMnhfejBBZUdIXzJqT0xmZkV1Q1FiNGVIZzRHeEdrbHNjd3ZYd2plX0tncWJ3VGtjX05RZnd6QktSbHdHdFhSdWxRcGhVaTdNS3MyTFhxZjNuVzVOZjU5dlZScHhZMXNBRzM5Ni1HV05QTldQdkUwMlZERmhwdjdCd19xYlZ4SzVpQzdrLU14dTBiWXZSNmVhdUN3d1Z1NGNsXy1Nb0NaZW9UMnJIa1ZQcHNGRnBNYmdHQTFQdGFPSHM4U0ltM2VwT0c3RU9LLXBON1hxYVEzV0lOaWxXeTNxZ3FvNTVrYWNnQ01wV1NWVG1EcHVwa0QtMFJzWWJnWC1hRnRPZllpdTVVWDJUSGJQN2gwODZVOVN5MFJtWm5Ja1FGM0NDOUx2enRpcTQyQXA4N1lLbGZUN2hkelg2TWkxNzBkeExKM1c3dm4zWWFPMEJXNzJVbzNIV3d6a1JjWEsybHY0WTM5UVNVTk1Ec3BJNHN2WEtOLTRTMENCWXZhZl9TMmFPMVgwNl9MMDcyXzJSNVRsMlFQMnMyTnNseHRicHRKbGUwelBwN1RBWnk2ZUZQTGtuUW5NcE00Uk1JVVJzLXRPSVVSa2o5dHZOeFc1THRJbm1peTE4NEtNUHlsOElkdElkOVExSlk5UDFuQzMzTFlmUjY5aXVPaXR1UjI3ZEp5UUp6TDZ0X3dVWXVBVXE5MDVEVDU5WEVUeHRvYWdEUW5xMDJmcUdQOWxEZkZMSlhvZUphM1ltTHZoYjJvSUkwTTBZMjBRWTZyZGJzSm9uaUlTM3NmUmYtUEVkcHFUUERWVXZjZU1DZEtjUlZUWWxwUXlkajFiZ2J1UzMzcEU1ZFZ6UHE1dkdwYWRNa1M5bFNDR2hvblp4aXJqY1d1Q0NRWEJNY043Ymdmbk4yWXktcDU3TGhGd0RNSTZYMHhJV3JTMExjdWRYd0FYXzcwLVMxTTFKRElueDd2dkxvT1U5VldVTG9tbmZaWkFQLVNnYjhoalhwR25xX2k3T0dhSTVMMUY3Qmk4UFRxZ0RVaVBPM24waXZHRVNvYmdKbkQ5aW56eWJHdkxfX0JzQXZ1UWgyaFNFQW5ZbENTeUl3TmNzMWgtYUFpVVBKdzh2SVd4ZlU3Y3c5TmVCX0I5dFAzaVJkd1hyLVZuOUV2aDhNMjFXTHpXOTJDRG5kVzQ0bUlkSWNaMEctbmFGR2JCR1U4QS1yREJOWTNubVRaNUNBZFY3RFF5MlZCZElMektXVGVGZWJPdDFQZjg2cmx3WnlvRm4wNVp4M1ZvVGhGQ3lFOUpLczc5MWowcjdOdlE2MGNOcXhfd0lGY3pUeGU0R1Y3dFJWd2tCaVUxSXJiMmk4bFlMTDFtTjBudmJJd0pxeHR6Xzd1WXM2YThYRGw4MVBjUDU0SHpPTWxYdkZnTzFaQUFNUWVRbGtUQTRUWHJ0ZWEweUhWQWZyN0Rsb3hKSVgwTVg4dTNfRFlnMU5GdGpadGthTjgxY25JNTFDYUpJYUpiekxlTWdjMkkwYjB1SEdMZ3ZoZ3JXdDVCQmRuUkpsd1dFdDJ5ZmZVNVpnek5LV3RDS0pkWkxobEZUeXZoWmlCNE55cWM5cWdBV3FCVk9ZbklZckt2dXhFeWR1UEVmQXhpMTQ3MlZxdjJ6WDBtVEVSQjZwNFQzenlwU195aExTeTVKcEhYTU8ydThQaGdVLW5pYmx2YXh3dGJ2dkE2N19PUTBvVUZwN292ZnY4T3ZCQmFBbV9LZzZqS0pyaHRoemRKZ2RzNGhidlFQVndZUUM4ZmgxZmY4Wmd6Z0RSc0lyeGZpdzd1ZUR0djNUSEZjeHpZN1lLMGNNbmtKQ3VzaWNFOVJmV2VFaGlBaE9EM3RyT0I0a1lqdjZUT3h4amsxUFQ2cF9PSjNlb1ZNSnR6TVU0U2NnYjRESS01T0UzMGM3MDhVS3FKOF8zTzRWVTM2ZFdwNHV2cEVtVlNOeE9KNkQ5OC1ldm1vd2lfM3hzTFY2UG9NRVFqNFRhQjNVYmtJdWpKUndxcmZVMHhzZG01cFpvazZWVWZiV3V3Y0t1eHZLNmxvSi1hRC1CRjl3UmJzb3hoUTZxQ29YWTN4NlRIZUlEa0F1akhsbl9YZzk3bzJRc0NNb0gxZHgtUXF5bDAyOWRyTHpQaTh3emdhOExwaDdBcUVKS3V1a1JieWlCMnBuUFVWWWUyd0c2R20xaTY3R2lqRU1vajI5aXFhZmFINzVPZ1NzRmdKZUxQN0dLRE56UmhkNWhFbTZ4SGo4OFJsYzJxQTBfQXo1RjF0eEt4MzRxcWQ0OUJmWkxCcU1ud2IxYmxMRkQ0LXg0bHdSZjZRcXNsVUw2YW1fb3c4WGlJLUlYNzNlRU5rMUYwVkQ0U19nbWluNk13UXdZYWI5bGI3TTRaTURuR0Z0VzY5UHVUaDB2OTg4X3BjY2Q3V0ZIMG5McFB6T18zU0RqMVRrdlNXMWp1c0dDZHlwYVU0eWpxVWM5aVpSNlVUaWpsOURnV3EtNV9DQ2xiMXVpY0EyZVlDTThsNUFVb1JrQzlCcGd6OTk4SUpPNXViY01JR0VHWE9pbGhQQlE0Z0ptLUgzYVdWemFtRVc2Y2VrMTFhVmh2NTc5cGRsT0N0Q3REekdtN0RBY3REQnFKTmllRlBQNWFWcE1aQ09fOTJPREhjN1EweUdtWlRzc1dTc0xGVGhxY3dnSGFOODNfU05GNmFDdE5tOC0yV0hCOHBJTllqbDdqN1p3c2lNWjFuV2UtdU9LM0s0TzhXSTNxaEROMFRVZ2V4R0Q0X3pJZzhvZGJJem44cWhWT0Jvc3dFeU9JcE5DNGlPcG14aUtOS1lZQnFaV3ZBVWZIWHRZanl6d1JZTlJ5cUpiUlY5alBYSnlvVGU5QjNVUlpqdkxPZE5FVjJaTTBxeUhNcXh3VzM3dnF5VTlaX3ViUC1JZHh2MFFMRm5PeVYtbVdlbl9STDlVUi1vczNlMkpVXzJmLUpOVE84YmQ1RzhDNnNYV0R4aFBmRV9UYUV3bElKcmVHWjkwQTJSUWlrQk1qVUZ4MmlwSVdBQ2ZyMzI3WUM0ZnRKNUJ0SzlPeEQyOWNKWjZRWjNzbFA1ZEJNSjliN1BTb1lmNFZzZDBqRFNsVkktdXd4cVN6Q2RqRG1WSkxNbkRRS21QSnJUTFl4akhQZDVXVTA2b3NDZ3BVd0xzalc0UlgwTzdmVUwtbW8yTnV5alczOGRKa0dvSEtfU2RnMkNncTdrcnJNSTBqcVhua0FobW1rbHNrSktrRjhIaXN3REdwUklfXzlXZHNUSVVlR2ZidmZ2QWJkTnp6MGpzT25KemhZZ2V1WmNEYlZoOUpleXc1c3BzX2JnLXV0aFdjUXUwWi12UmI0RVpJck9ycjBPMFJpemgzUW5sVkk3dzBHZUxhYUNVSEFSaU5wNUMxcENZZmxfSldfbWdDTkFkTmxkckpsTmNQOHBiUTNkckRjMEpYNnd6eTVXZGNRY0lRLUJtNC1weE12QlNjcUF6Znh5LVN3a1NPbDBBRHJVUzFMekZSZG1kMWZlbnRlcnJPdTE2RDNuOHFoZmgxZFBlazVjOVE4SnU4ZTF1ZGpaLXlkMWdqa25Ec1hYUHp1U0FINExSOTNsM294NWNOZ3RxaExRdWlqSGU0dnlpYzMzbmpybU9mRlV5MWphSlR3RUtyajk2V0J6Vng4Z0FCdDREZDVhT01OamF6X09tUlBPUFNEYkdYMG1kVGZPT3BTLVhKVUlubmt2T2VRSFZrYmNYRGZmSE9wTzRFZ2JMa1NnWVVDRU8yT3RjYnJ3NzZwWmNGY1Bva0x6OUJVZEliTjB3azFWLXdWUUJEZWkzSEs2RkRKeG5ZbzJVcWk2SGRVbzQ2d2ZfSFNrYzFlNm9YQl9QMWJFLXlLVVlaOTZxVXQtRTE3LVBzZGFGMzBJYmJTVDZlOWtZOV9kTVNYSUtXR3NpRWNCaG1vRlREVk41YmxobHRoRE5IWUJqWENSRFBGUXA5cFlkZWc4Q19PVG9uV1haZjh1V0VZNS1lSm5WMWw4RUdqOWlnWjZlMmtiUW9WNmlaMVNFaDNaQnMwV0hnUzltLS1LQjNVNmxreElCT3RhMzBBRXZfSHpUb0pBeEdtc1h4WjZpTHowZXp1WXVydVk0RFFsQlZqMnJFVTZzZmdNYmFHOHpjMUpfNUlEWFZJQmhkVkJqaXowTnJsdTJ3dml1LXlES3lPM3hrVlMwNjV0bVVhR0VMVng3YlVxSy1qck5lMHVoX2lVQ2lMSHVIcWMwWkNyYVFNZE5lMHBLRUNOTVhrMXRBUVRSZncxblQ4ZEpSM1hpMFRvM3BEcER4dTMzdE1sXzZBTThVYnJkSVhfS2FwR1V0dTBDbnl2dlZ5Q0pySEFrc3RJWHB3SUg1TjhJYjNjU2JmQXFJemQyQzlVWkw4SEl2Qk56bWh0SWJWN0hSN2NLMmJibnBfZXo4QzVjcmVaRHJTQXhsczdOV0VJLUF3bGV6VXNrMHBjVVFvc1lvalNPZmJvYmlGZUlIMHdwQnVGamREOWZvcUhHeUhhcDk5SGxfaUJyMkt0OUN3R2Y4Q1N0MzM5eDRPakFQc2NTbzRZWnVMWVFXa3RiOGQyZTJxbkdqVC1rNEoybzllUEk4RDFrUFI4QUlrbEZFX09mdEpsOFRsRHJRYk9CUmFpMFBvdjZ5LWgyYTJZLWRkUm5NWnc4alB3VGdMX2VuYVBhbWtEWmpJdXZkU1dKaXFFLW51RGVseU9YQTF2WUNEdzN5SXZzODZYQm53UnlqbGNTMDdxRjJ3Z3lhUUJHeU1hVl9BaC05QWpZWHJ5R0JTTnB1d3RGVFhRUVkzVmFIdGZEdS04cUs4cVc2YjU3cU01cHBpSWgxaE5LZmRTZUZMWHZsV0J3SkxFVnctdmpQeGFuRnFOdDVLV3RTWHhRTDlFVGMweTRNQXNkd3NZSUQyYlVwU1B5Q244STZ3SVhpdmlLWkR5bXQ0bUo1d3VjTWJ6RUdNR2hmZFRNc3lZUEZsUUpnQVFLbHo2Vnc4MHRuZ2Q1NGdSSFROdkJtcHBEV3IxMFVGc2EyVDVBLXVrZ0w0dnVHenh5clYzLXJZbTZMWEhGRVZwZXdoS28xVlY0REFFUVhVeXRULTg1NUM3X09pVHp0ZDB4Zlo3QUJEYnF1bzFKTGRPdVJDeVIycC1jS09Qa2F3aEhXOFFmcHpLbWpMVUdsMklrUUpWMlJVNl9NcVp3LUtiQ1IxTEZSdXhvYTFkaWJRQjh5NU94eEhGd1pZMm1qM3FTSEFCMk9DZzBfUGEzZlE3cVp0T2ZlRlk2UUxJYzlVYURyd2IxYzBBWDk3OWVpUEYyTnEtUTVZdGFYT19lZXMwbGdJb1JVOVllRXpDcUc5RzVncGV3NmttZDlRQ2RmVHVlaklndFJ2Y2d1aGVhYl9HSVhqMTRCeVRzdXdSUDdILURRemdKeWlGNVpHbmNqRDQwVXZPcnQ2OU00cGFnbi1nZmVXejlyUnBQdkdmRk9KOVV5RUFyR1dyLTFwTDJGZVFXbDcyZUVhNl90dHdtdWxEdnRPV3ZrWmVwckk5NVRJUDVGLVpuUlhpQ0tpdmJNVjV0ZFRMb1ZiTkpTVzB1d3lMNG1mTmVibEJrcHF2MFRDMHR2WGJFXzFwLTNmOFlweHRvSF9iemhZZzN0NUhUNHFaUktGcTQwNnV5aHljM29qTmgzX1JKaGNDM3piOUwwUDBITTNNQVJXYWFSWnNzN2E3bm04aTQ5MC5faXhLUUc1VGE3bnhyajNlSWZNOGJB\"}", + "requestBody": null, "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/feb2fc4c577e4e9294581d9081654d62 - key already exists or concurrent access\"}}", + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "249", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:33 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2f1ce2ad-18dd-46f8-b55d-0562a7b38aff", + "x-ms-request-id": "b7e21a51-87c2-4bdb-876b-a6a28cd11f35", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/keys/restore", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlF5TGJyMGZfTHpQUmZVZ0p5TTUzVGE1OGl6aEE3RkNFWWRwbVBFZE1aX09DcWp3ZUJLT3M1WE9jVTZnenR4WFBvemlzV0JtZGFoVDJqZ19DcFg3MHBFWUtrRThrQWtlUVd1OHhTWS1zX2QyblJKOVdEQVJkYjdVUFR2LUxuMUlac1ZHS24yV2puMFRvczZadHZPY1pDY2o1eEdYY184bDdGS2w4eDRDdi15c1FJYVVPUmRCXzQ1cTdYaDY3TE8tZTBKZXVSY3p5SU9ZQlVuLVg0X0dEZkYxQURQYjNicEszdENINUQtYTNvSi1BMVBGOEw2QzgyYXV3RlNEU3NtclRvWE5KLUtWQzlfMktqWDVKNElYalFVc0ZUaFZyUFNDOHFYNnNVSFVVX28zNldySDQtUXR3TWI0UE0zejJWTTMxQXUwQk9hTG9CYUh1dWJxNVBsdmVFdy5ZNjF6NU42aklqTmF4WXBOdWt3NllnLmxPR3UtZ2U5MWNLNmFiU2hEckdlQUJIQmFrVG5lMUJUajRxejI5OGNXWmFWQmczTDF2UVJMNEFINzZLZG5aYlhlakE3bS14bWpNVHZERmkwMlc1WTlnbGkzQUp6VzVSZm1pWU40R3k1TlVUcUNNaFNfSmJrLWtjSU1iMFFIZkY5UVNBNHpuMkw4TGdwdzB5eVJBem93TC1MeTNyVWF0MnU4UjdxRW9pRnU1eDVPdGNXa3M1bTNMQTIwcjIwcnljZ0NJQmd1ZkkxVEJXX3QtS2tPZTI4LVdabzZvRjhzS0JpbExfUjlhR1Y1Tm1QaEJ3bEFhSkgtaS1GT2NDT3JubFZwZ2pwMWFwTkZncEhvSnROSDZLMzFLMm5iWExpMUlQR1g1ZXozMlQ2X05sbmQtb0lHdldnZWhMbVA2WEt0VzFUazNzbUQ3dHA0Uzl1dDFkZ1ZyRFFOaXZyeWd4dlJpWmFfRkRfcE1JaTFDR3FmR1BnMVNHQkxEeExYS0tpU2F3YUdtZ1B2c3FXRTdkRHhydE9heWR5M2R1a0RxZjhCenpUc3d3THBsNENOZks1YXBlYktRWVZRWmJla2gtaFdWbTdsb0pwUzJweWJ3N1pLTFVrcmwtTGZxRllWRzIxVVlNR2RKM1JPZ2pWXzkydUI0RFg2TzNIdHhNcWNiOTNoaTY5M245TWVBc2V4ZjRLajBRRUxKcGlNQ0tLU3BmYUk2Tm5POWFrTEZFSS1kNlhLRTVKQm16NUgxc0UxZzVLY3JNMWprYXhQY2RtRy0yVkRkWmE5VUY5TGlGaWVQZDlnVTZLZDdKejhYTG5RM1ptNFVOMnB2aDRqV01reHVHWVprUTVvbmtPSnZqMUJWeXFOSnJ6SHJEN1ZmZVZ6bVpOV3R2QjFHV1d4ZTdkbVVfeWVHQkQ5RzJZTG9FVktGbTFoalZXWmZKUWpaeGlWSVJSS25jT3lpTnl5bVVvWVFmZVR1aVJXdjdodWNkeUdNMHFNNmVHand3c3IyekJQMWFDLW9PUlBtWkM1SnFaN1NBQ09fVndubHdiaGFyUmZpQ19ub2dXSFo0b1ktUndGeEJGOHdzT2stUDVoamhvdUwzUTlVbnBHM1Ayb2RfeWxJZ0FZZENidkd3bzc4S08tZ2plak50RF8tWERkaUQ1U3hyTV84TjlPSWkzUGdpT3dncXdlQVRIZHpSc2IyMWNqZVdYWEdDWk50VWNPTmtxeDZmWmx6Nzk5MU5lU21qLVZyVVNROWIwLWk1TUZaYzhwOFluYnNRR1ZNUDFrdy1ENkYyb1RzeWQwMGVERmIyWFNsNjN2cnl2Yk1NWDVROGpGVnVwYXBNQk9NRmZHNktOLVp5cDNONGZOTjNTNkhvdUtXWVoyckIxSG5vRWhEaUZCN2dDbGYzODJ4Q1NwYUw2MDF3ZVpnUXd0NmNwLUJpUnNXbk5MNnRfYUQ2WkYyX3dQRHhHZFowLThpSFBFeDBUM0FYSXRYR25jelFPZlRFVDFHdmlnenp4R3RIUkZzOVFnMTJTNVJxb0YxV3Z1b08xTG9vdmNYanljdlAzdEI0em9YR3hLTkw4UG9MOGFFczZXX0JpWDhxUDdCYzFhT1VIMFU5OVo0TWRfVnc3VzJ4UEl4UlJ2ZzNQV25UMVpQNVk1UnJzaXhuYXdGZXlHQUl0T0RlVFlYbkItQ3J5c2xFZTI4MzdXRlpyZk9kX2VhT3ZqLXRUTkgyNFNWZlRmbFlRaXkyX0ktcjN5d3FOUnUxYnAwaDBYWk9oalBJc2Rhc2ltUURuZ0MyQnVYVnFhbm1VY0dFUlRJd1BUNlIzRjFMVjYyOUpOdmpMZU9TOV83QlJ2M200ZFJGQlR6NW5NN0dfQ3JyMjlUSGx0b3FvNnF0T3NoZTJDcTcwdEV0WjdWTmVVZ2tjVXN2NGtQWXJta015ZzBlRERWVDBMSTJNbWJsZndLcWp5QXhHUWZEWWpnSkt2NjR2SEpHVWRJWTA5b3JZVDluZmJCUmd2VER0UFVvdDJxTWlTdUhHYzFXemdEUC1FeDJnYVFpcmxrNnkxUV9QeHNhelFKcHdwa2otWFJ2aUxWY29CcjdkM3k1NXk4MmJZS0RaTk5SS2NfaENWNVNhanpXVFJQREZiSUQ5ZEd3WjhjU3pMZ0dHdXAxOHhxYlNyNGJDWjVna3l0UGwwMkRTNTZ4TjlyMGhrVEVXRTh1azRSbVRYbUpvdnJsWjZMUU8wV1lTT3lZUXplUzFtWWFSTTY5RlM1cGM3c3A4VGhhdVFxQ2o4MkNKTzA2Z3pyOXhMQnVxSnNOaW1idzlXNXN5aE55cXNYVGo5Y2t6NTlYU3Q1X0JPTk12czAwME5lM1p5dHF3TzA3Z0ZRNzJZLUJ2dE5YcUZZRXpncGVVUDFMcm9SdkNHMUwyNTJCSVpXcXhMNHBzbkliMHVoMHBlcHdJRUNXZV9YZ0VtdkJ4blJjVTNZcjdJSnhWSXlQWlFaUC12alRGLUQzdFJyU3FpbVB2a0d2MTF6Y0VDcUg4MzBxaXRHVHlWTmZ1bHdMV2tGa0Ziemgxb0s0WUNSdUZMeWpHZHBIRkQwekRlSTFsRDBLb1ZPS3A0anRBTXh2NnJUaHRLZmgtaFcxdmNtM0UxakVTbGF0STVzRHhpYk5LR0VaWm9hZnlod0NiVGc5OEJvaUd4dDA2NzBkbmVteWw2SUxhYmdTaGZZOTJBcGVlWkNpakZ4d2Q3aFhNb0RWZmkxa0tLS0lUdmIyd3liZ0UzMlVUOHhJSkVabE0zLXZKc0pQa3N0SE1SaDBRR3hlR3djZl9sMG42Q2w3cHNkck4wc1o1TzZzdWJpUDJsSVpIdmVfVDdBY3pYd3dHSGhnbHppV3FkYnJrUzFPUjV6c2dzazZnR3E5QlFEekZadU5SVlNuMDFrQVh3bTN6Q0I4enZiMFhacUZVVDBrbWRJQW1aNnBZNW9qNl9oY055WFA5WEh5TmFzY1R1ZTVTNFVMdmdpeS1WTGlEVlQ2TFpSdnFLWGJJem5vbWZQRUhRc1h1bkpKa0J3c1lsTVFfTWUtV0FrbHl5UG1CN0RnRGJiYXV2TWJCNUVHWEZybUZtZ2pVNWZsd3A0TWNpWXFZYzB1ZGU5bENZRWc0aXlLYUY5S0JHUEkzNXpXZUtNOVp1Nm9JVV9vUjBnZHFaN0FHWXFKVHQtZ2Vld1N0ZDZjeGhHOHlqamE1Q1c4ekxZVU1YcFFiUG1uZDZVclhLSll2ektoMVp5Qno0SC1FSkJ2cGJ0X0VNMXBJTXlBUXJrQm5CckloZ1JfQ1pSajc3a2hMNjJxX3kwZTNKcVViUGJxV3ZNV3pFaktuUm5TQ3dna2V5OWd2dUpGT01QbW9Ta3p0V1BabUlHSzZKd1lDSzlLT3BuTlYzcUMwMjloc29yNjIxandMSjhPWDV1Q3kzOEFiT0VMR1BKVlJtSzRIU0dDVm5ub0s1TW91cHJFOFNxZTFSaVhpb2hRWl9Sa29LRi1RMVpLbmJpbjZpaXVpRGs0NEJhY2pQMDFDSl9tT2pmdW9LRDJiUC1Ock83dUF0VkxRb1BmRm1KRk42UVZLeno1LUJMYnFMb1VHNGQ0X2NRWko5ZTFTamtZdEQxNmZ3bmx1Z2o3QXJsNWY2T2twcHY0anRncjBmOTBtR2M2UFlUUERiblZGRWUybUNUeTVzM3RXT2l5Q0Y4LW5kM0tSZGl0Qnk1bDRna282c0JYLXA5emEzTkN3RG03X0xWMUZPZ1lrU2ZaOVA1UTJoeDNKTkNuREE4S2NhMzZTTUhqSFNZTGZYdWxQa3htajFLVHN5SGFDVHZ0dFl0d2ZKNXJpSndHaWMyRnZveGFkSk1JQ2hQLXBHRVNVbHp4LURscHlKQUY5NFItM0JNbk84UEw0V0V4WjJzU1huSDU0SzZ0VFRBc0hkVGRlN3o4NFdMdTVScFpZRno1ejZiZzlvSlVZY1RHUU1qaDBxMGZFdTJla2ZoZG82N25mYUppNjRWX3p6NGpfekJrUDdCdlF5eEN4cFR6TDBmaGZIck1DNnBsT3ZCMWRnT0luZ1NnSzcydURGN2J1ZW5LT0VmLUhtZWNSQ1BsNGlHczNZVVo2cDVoV2xKNERpaHZzUEpJZDVhQi1oR0ZJTWJHVFE4Vkp6OHNZY2ZNeDhvWnVFN0RFSkFrbVlPcUlRMld0N3BFNnZIRDc5dGNiQVJKNnR0ODVXUVphUEpKaXNkMU16WkJFX2FkaV8xLWJzZUhRT29ISUtQR2xLQU9xb1NNWlVaNnQ5R0Uxd0dEMTExeF9ucGxWZjlmeDRQelljeld2NWI3c1UzOTl0NFFxcjdmU2tycWQ1cUFLWVV0cXNsOV9JYUZWbTM0YlptdVU1NHRsMTVzbk5DczU0a2ptTXRSY1lVR3NKaloxRTY4MUNLM3FqMkx2MlZZMWNYNlg2SmJPOXB6eFJtRng1RV9rNGVCM1k2c25pZ25FeEFxT19zanBOMXkwMzY4VWpBUHRpYVc1aHRNT3QtQWRuQTIwUEdFLTItNGc0ZWY3aWdBMTJveWRZb1hveEVSZWZvUWFaLXA3ek1qQkRaSUpXb2MyQUt0WnJYNHJhQ01zNnNVRVptUmFaeFhYZnI2alpzT2puQUlVUXhVSlRsMW01UW5BTV9McEswVk9mdk5mdnd2VEZFOU5udk4yMFowMndkUlZZRVVWdFdoZllCVERVWW9rTmdrNUJxeFBva3EwcnRUOVR0eVBFb0h3V3VlSUFOSU05RzFZcmFad3ZUc1RfQjVhb3pLNktmM0VBcE1Rd3JJaVFwcWdDeElqLWZXaHpoYTlOaGlHelFYaGd2OGhIX1hIWFJ2b1hqUjBjc0RYOC1OZ2ZvSFluaTlVQl9VWmN5bDd6NjFVOGx3SzA3N2hPeURaVW1QbF9GclpqaXJ0c014YU5SZlN3Yy1lcWNQd1A4WG5qUVlYRzRkN0JhRTZzRjZuZ0VqMDJQMmloRFMyNUJvanhldnNGWGZKZHRocE5yUFVhSHdZZ01DSG5hVnZZNUIzVnVIVU8yd0FlUWRud1dCNDM2N3ZsaTVWRVNicXhYNzZXQWtLRmZENl9qdElZcldtMmNGMDg1R01vZTVsRTllQ3lfWFk2aG9NaVJoeEtkU1pNNWRFcDdxbHRjN0VLVHU5NGlQQ2R3UGhVdEswcWZtWGJDRkxFSV9HYXpCRGdqeHpmNkNjTEN1T3NpMnhfejBBZUdIXzJqT0xmZkV1Q1FiNGVIZzRHeEdrbHNjd3ZYd2plX0tncWJ3VGtjX05RZnd6QktSbHdHdFhSdWxRcGhVaTdNS3MyTFhxZjNuVzVOZjU5dlZScHhZMXNBRzM5Ni1HV05QTldQdkUwMlZERmhwdjdCd19xYlZ4SzVpQzdrLU14dTBiWXZSNmVhdUN3d1Z1NGNsXy1Nb0NaZW9UMnJIa1ZQcHNGRnBNYmdHQTFQdGFPSHM4U0ltM2VwT0c3RU9LLXBON1hxYVEzV0lOaWxXeTNxZ3FvNTVrYWNnQ01wV1NWVG1EcHVwa0QtMFJzWWJnWC1hRnRPZllpdTVVWDJUSGJQN2gwODZVOVN5MFJtWm5Ja1FGM0NDOUx2enRpcTQyQXA4N1lLbGZUN2hkelg2TWkxNzBkeExKM1c3dm4zWWFPMEJXNzJVbzNIV3d6a1JjWEsybHY0WTM5UVNVTk1Ec3BJNHN2WEtOLTRTMENCWXZhZl9TMmFPMVgwNl9MMDcyXzJSNVRsMlFQMnMyTnNseHRicHRKbGUwelBwN1RBWnk2ZUZQTGtuUW5NcE00Uk1JVVJzLXRPSVVSa2o5dHZOeFc1THRJbm1peTE4NEtNUHlsOElkdElkOVExSlk5UDFuQzMzTFlmUjY5aXVPaXR1UjI3ZEp5UUp6TDZ0X3dVWXVBVXE5MDVEVDU5WEVUeHRvYWdEUW5xMDJmcUdQOWxEZkZMSlhvZUphM1ltTHZoYjJvSUkwTTBZMjBRWTZyZGJzSm9uaUlTM3NmUmYtUEVkcHFUUERWVXZjZU1DZEtjUlZUWWxwUXlkajFiZ2J1UzMzcEU1ZFZ6UHE1dkdwYWRNa1M5bFNDR2hvblp4aXJqY1d1Q0NRWEJNY043Ymdmbk4yWXktcDU3TGhGd0RNSTZYMHhJV3JTMExjdWRYd0FYXzcwLVMxTTFKRElueDd2dkxvT1U5VldVTG9tbmZaWkFQLVNnYjhoalhwR25xX2k3T0dhSTVMMUY3Qmk4UFRxZ0RVaVBPM24waXZHRVNvYmdKbkQ5aW56eWJHdkxfX0JzQXZ1UWgyaFNFQW5ZbENTeUl3TmNzMWgtYUFpVVBKdzh2SVd4ZlU3Y3c5TmVCX0I5dFAzaVJkd1hyLVZuOUV2aDhNMjFXTHpXOTJDRG5kVzQ0bUlkSWNaMEctbmFGR2JCR1U4QS1yREJOWTNubVRaNUNBZFY3RFF5MlZCZElMektXVGVGZWJPdDFQZjg2cmx3WnlvRm4wNVp4M1ZvVGhGQ3lFOUpLczc5MWowcjdOdlE2MGNOcXhfd0lGY3pUeGU0R1Y3dFJWd2tCaVUxSXJiMmk4bFlMTDFtTjBudmJJd0pxeHR6Xzd1WXM2YThYRGw4MVBjUDU0SHpPTWxYdkZnTzFaQUFNUWVRbGtUQTRUWHJ0ZWEweUhWQWZyN0Rsb3hKSVgwTVg4dTNfRFlnMU5GdGpadGthTjgxY25JNTFDYUpJYUpiekxlTWdjMkkwYjB1SEdMZ3ZoZ3JXdDVCQmRuUkpsd1dFdDJ5ZmZVNVpnek5LV3RDS0pkWkxobEZUeXZoWmlCNE55cWM5cWdBV3FCVk9ZbklZckt2dXhFeWR1UEVmQXhpMTQ3MlZxdjJ6WDBtVEVSQjZwNFQzenlwU195aExTeTVKcEhYTU8ydThQaGdVLW5pYmx2YXh3dGJ2dkE2N19PUTBvVUZwN292ZnY4T3ZCQmFBbV9LZzZqS0pyaHRoemRKZ2RzNGhidlFQVndZUUM4ZmgxZmY4Wmd6Z0RSc0lyeGZpdzd1ZUR0djNUSEZjeHpZN1lLMGNNbmtKQ3VzaWNFOVJmV2VFaGlBaE9EM3RyT0I0a1lqdjZUT3h4amsxUFQ2cF9PSjNlb1ZNSnR6TVU0U2NnYjRESS01T0UzMGM3MDhVS3FKOF8zTzRWVTM2ZFdwNHV2cEVtVlNOeE9KNkQ5OC1ldm1vd2lfM3hzTFY2UG9NRVFqNFRhQjNVYmtJdWpKUndxcmZVMHhzZG01cFpvazZWVWZiV3V3Y0t1eHZLNmxvSi1hRC1CRjl3UmJzb3hoUTZxQ29YWTN4NlRIZUlEa0F1akhsbl9YZzk3bzJRc0NNb0gxZHgtUXF5bDAyOWRyTHpQaTh3emdhOExwaDdBcUVKS3V1a1JieWlCMnBuUFVWWWUyd0c2R20xaTY3R2lqRU1vajI5aXFhZmFINzVPZ1NzRmdKZUxQN0dLRE56UmhkNWhFbTZ4SGo4OFJsYzJxQTBfQXo1RjF0eEt4MzRxcWQ0OUJmWkxCcU1ud2IxYmxMRkQ0LXg0bHdSZjZRcXNsVUw2YW1fb3c4WGlJLUlYNzNlRU5rMUYwVkQ0U19nbWluNk13UXdZYWI5bGI3TTRaTURuR0Z0VzY5UHVUaDB2OTg4X3BjY2Q3V0ZIMG5McFB6T18zU0RqMVRrdlNXMWp1c0dDZHlwYVU0eWpxVWM5aVpSNlVUaWpsOURnV3EtNV9DQ2xiMXVpY0EyZVlDTThsNUFVb1JrQzlCcGd6OTk4SUpPNXViY01JR0VHWE9pbGhQQlE0Z0ptLUgzYVdWemFtRVc2Y2VrMTFhVmh2NTc5cGRsT0N0Q3REekdtN0RBY3REQnFKTmllRlBQNWFWcE1aQ09fOTJPREhjN1EweUdtWlRzc1dTc0xGVGhxY3dnSGFOODNfU05GNmFDdE5tOC0yV0hCOHBJTllqbDdqN1p3c2lNWjFuV2UtdU9LM0s0TzhXSTNxaEROMFRVZ2V4R0Q0X3pJZzhvZGJJem44cWhWT0Jvc3dFeU9JcE5DNGlPcG14aUtOS1lZQnFaV3ZBVWZIWHRZanl6d1JZTlJ5cUpiUlY5alBYSnlvVGU5QjNVUlpqdkxPZE5FVjJaTTBxeUhNcXh3VzM3dnF5VTlaX3ViUC1JZHh2MFFMRm5PeVYtbVdlbl9STDlVUi1vczNlMkpVXzJmLUpOVE84YmQ1RzhDNnNYV0R4aFBmRV9UYUV3bElKcmVHWjkwQTJSUWlrQk1qVUZ4MmlwSVdBQ2ZyMzI3WUM0ZnRKNUJ0SzlPeEQyOWNKWjZRWjNzbFA1ZEJNSjliN1BTb1lmNFZzZDBqRFNsVkktdXd4cVN6Q2RqRG1WSkxNbkRRS21QSnJUTFl4akhQZDVXVTA2b3NDZ3BVd0xzalc0UlgwTzdmVUwtbW8yTnV5alczOGRKa0dvSEtfU2RnMkNncTdrcnJNSTBqcVhua0FobW1rbHNrSktrRjhIaXN3REdwUklfXzlXZHNUSVVlR2ZidmZ2QWJkTnp6MGpzT25KemhZZ2V1WmNEYlZoOUpleXc1c3BzX2JnLXV0aFdjUXUwWi12UmI0RVpJck9ycjBPMFJpemgzUW5sVkk3dzBHZUxhYUNVSEFSaU5wNUMxcENZZmxfSldfbWdDTkFkTmxkckpsTmNQOHBiUTNkckRjMEpYNnd6eTVXZGNRY0lRLUJtNC1weE12QlNjcUF6Znh5LVN3a1NPbDBBRHJVUzFMekZSZG1kMWZlbnRlcnJPdTE2RDNuOHFoZmgxZFBlazVjOVE4SnU4ZTF1ZGpaLXlkMWdqa25Ec1hYUHp1U0FINExSOTNsM294NWNOZ3RxaExRdWlqSGU0dnlpYzMzbmpybU9mRlV5MWphSlR3RUtyajk2V0J6Vng4Z0FCdDREZDVhT01OamF6X09tUlBPUFNEYkdYMG1kVGZPT3BTLVhKVUlubmt2T2VRSFZrYmNYRGZmSE9wTzRFZ2JMa1NnWVVDRU8yT3RjYnJ3NzZwWmNGY1Bva0x6OUJVZEliTjB3azFWLXdWUUJEZWkzSEs2RkRKeG5ZbzJVcWk2SGRVbzQ2d2ZfSFNrYzFlNm9YQl9QMWJFLXlLVVlaOTZxVXQtRTE3LVBzZGFGMzBJYmJTVDZlOWtZOV9kTVNYSUtXR3NpRWNCaG1vRlREVk41YmxobHRoRE5IWUJqWENSRFBGUXA5cFlkZWc4Q19PVG9uV1haZjh1V0VZNS1lSm5WMWw4RUdqOWlnWjZlMmtiUW9WNmlaMVNFaDNaQnMwV0hnUzltLS1LQjNVNmxreElCT3RhMzBBRXZfSHpUb0pBeEdtc1h4WjZpTHowZXp1WXVydVk0RFFsQlZqMnJFVTZzZmdNYmFHOHpjMUpfNUlEWFZJQmhkVkJqaXowTnJsdTJ3dml1LXlES3lPM3hrVlMwNjV0bVVhR0VMVng3YlVxSy1qck5lMHVoX2lVQ2lMSHVIcWMwWkNyYVFNZE5lMHBLRUNOTVhrMXRBUVRSZncxblQ4ZEpSM1hpMFRvM3BEcER4dTMzdE1sXzZBTThVYnJkSVhfS2FwR1V0dTBDbnl2dlZ5Q0pySEFrc3RJWHB3SUg1TjhJYjNjU2JmQXFJemQyQzlVWkw4SEl2Qk56bWh0SWJWN0hSN2NLMmJibnBfZXo4QzVjcmVaRHJTQXhsczdOV0VJLUF3bGV6VXNrMHBjVVFvc1lvalNPZmJvYmlGZUlIMHdwQnVGamREOWZvcUhHeUhhcDk5SGxfaUJyMkt0OUN3R2Y4Q1N0MzM5eDRPakFQc2NTbzRZWnVMWVFXa3RiOGQyZTJxbkdqVC1rNEoybzllUEk4RDFrUFI4QUlrbEZFX09mdEpsOFRsRHJRYk9CUmFpMFBvdjZ5LWgyYTJZLWRkUm5NWnc4alB3VGdMX2VuYVBhbWtEWmpJdXZkU1dKaXFFLW51RGVseU9YQTF2WUNEdzN5SXZzODZYQm53UnlqbGNTMDdxRjJ3Z3lhUUJHeU1hVl9BaC05QWpZWHJ5R0JTTnB1d3RGVFhRUVkzVmFIdGZEdS04cUs4cVc2YjU3cU01cHBpSWgxaE5LZmRTZUZMWHZsV0J3SkxFVnctdmpQeGFuRnFOdDVLV3RTWHhRTDlFVGMweTRNQXNkd3NZSUQyYlVwU1B5Q244STZ3SVhpdmlLWkR5bXQ0bUo1d3VjTWJ6RUdNR2hmZFRNc3lZUEZsUUpnQVFLbHo2Vnc4MHRuZ2Q1NGdSSFROdkJtcHBEV3IxMFVGc2EyVDVBLXVrZ0w0dnVHenh5clYzLXJZbTZMWEhGRVZwZXdoS28xVlY0REFFUVhVeXRULTg1NUM3X09pVHp0ZDB4Zlo3QUJEYnF1bzFKTGRPdVJDeVIycC1jS09Qa2F3aEhXOFFmcHpLbWpMVUdsMklrUUpWMlJVNl9NcVp3LUtiQ1IxTEZSdXhvYTFkaWJRQjh5NU94eEhGd1pZMm1qM3FTSEFCMk9DZzBfUGEzZlE3cVp0T2ZlRlk2UUxJYzlVYURyd2IxYzBBWDk3OWVpUEYyTnEtUTVZdGFYT19lZXMwbGdJb1JVOVllRXpDcUc5RzVncGV3NmttZDlRQ2RmVHVlaklndFJ2Y2d1aGVhYl9HSVhqMTRCeVRzdXdSUDdILURRemdKeWlGNVpHbmNqRDQwVXZPcnQ2OU00cGFnbi1nZmVXejlyUnBQdkdmRk9KOVV5RUFyR1dyLTFwTDJGZVFXbDcyZUVhNl90dHdtdWxEdnRPV3ZrWmVwckk5NVRJUDVGLVpuUlhpQ0tpdmJNVjV0ZFRMb1ZiTkpTVzB1d3lMNG1mTmVibEJrcHF2MFRDMHR2WGJFXzFwLTNmOFlweHRvSF9iemhZZzN0NUhUNHFaUktGcTQwNnV5aHljM29qTmgzX1JKaGNDM3piOUwwUDBITTNNQVJXYWFSWnNzN2E3bm04aTQ5MC5faXhLUUc1VGE3bnhyajNlSWZNOGJB\"}", - "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/feb2fc4c577e4e9294581d9081654d62\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xZUOaPRupyjYzj1Fq_865pPfneFOOqG97rzil-lvZtv9xTogMC6i6JlJARQfTrMY_wUHTGz_Ei1ty_eP6eus0DaibjpGBeex18sYq4ufhu5Gx9GHmG-Q9lS93eaQAFt504Strb9IG7UI5EkysG0QZ9ftUfKm0B5pa7UTKIIOfPOe58KnB4PqxJbO0zlM64OmpXlSbqXF09zCWNHDH9NJ-EsQxJM9TogZXgkVaOL-sgwjIFotLMDonGEeFQ2Q_6ngtlUTOM8K9rxyDB1CkCFD75KOCwWeWVxBqqVczjrtYVOkS4suWn0aJY8vYY2v9oeqe27DVsvz8_OaP6o552oTlQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493390,\"updated\":1563493390,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "708", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:40 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:43 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d50243ba-d99a-47b5-b22f-a24d7bc91a0d", + "x-ms-request-id": "f4bf4afd-c8d8-41f0-ac38-9b44785acbd9", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/feb2fc4c577e4e9294581d9081654d62\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xZUOaPRupyjYzj1Fq_865pPfneFOOqG97rzil-lvZtv9xTogMC6i6JlJARQfTrMY_wUHTGz_Ei1ty_eP6eus0DaibjpGBeex18sYq4ufhu5Gx9GHmG-Q9lS93eaQAFt504Strb9IG7UI5EkysG0QZ9ftUfKm0B5pa7UTKIIOfPOe58KnB4PqxJbO0zlM64OmpXlSbqXF09zCWNHDH9NJ-EsQxJM9TogZXgkVaOL-sgwjIFotLMDonGEeFQ2Q_6ngtlUTOM8K9rxyDB1CkCFD75KOCwWeWVxBqqVczjrtYVOkS4suWn0aJY8vYY2v9oeqe27DVsvz8_OaP6o552oTlQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493390,\"updated\":1563493390,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "708", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:40 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:43 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "88fde413-e2fe-444d-9f20-5e5088da5500", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4acc3b51-d566-4cba-a983-d8b8be1d47e9", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-", + "url": "https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-\",\"deletedDate\":1563493421,\"scheduledPurgeDate\":1571269421,\"key\":{\"kid\":\"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/feb2fc4c577e4e9294581d9081654d62\",\"kty\":\"RSA\",\"key_ops\":[\"encrypt\",\"decrypt\",\"sign\",\"verify\",\"wrapKey\",\"unwrapKey\"],\"n\":\"xZUOaPRupyjYzj1Fq_865pPfneFOOqG97rzil-lvZtv9xTogMC6i6JlJARQfTrMY_wUHTGz_Ei1ty_eP6eus0DaibjpGBeex18sYq4ufhu5Gx9GHmG-Q9lS93eaQAFt504Strb9IG7UI5EkysG0QZ9ftUfKm0B5pa7UTKIIOfPOe58KnB4PqxJbO0zlM64OmpXlSbqXF09zCWNHDH9NJ-EsQxJM9TogZXgkVaOL-sgwjIFotLMDonGEeFQ2Q_6ngtlUTOM8K9rxyDB1CkCFD75KOCwWeWVxBqqVczjrtYVOkS4suWn0aJY8vYY2v9oeqe27DVsvz8_OaP6o552oTlQ\",\"e\":\"AQAB\"},\"attributes\":{\"enabled\":true,\"created\":1563493390,\"updated\":1563493390,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "891", + "content-length": "118", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:43 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8ee80311-466a-4792-a88d-b88d04fa0d00", + "x-ms-request-id": "68d54055-c84c-4c6c-8b7e-8ffec5edec93", "cache-control": "no-cache", "expires": "-1" } @@ -832,25 +2496,47 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Key is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "118", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:54 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ba67281c-4fd0-475c-a958-dace7f885a5f", + "x-ms-request-id": "a08e9d2f-862a-44af-ae63-806c8127b9d8", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "75705e30-9f4d-417c-9eb2-d28a9abf2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -867,16 +2553,66 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "3415a2f7-ccd6-49e4-a18d-f38c6744c342", + "x-ms-request-id": "7d3d32e1-2010-45a8-bd10-b3e95d82dffa", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:43:54 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/keys/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Thu, 18 Jul 2019 23:43:51 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:54 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "95683e8b-fbd9-4f29-9c18-cfc69815b6d4", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:43:54 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a05e3174-6a90-4f2e-8601-6ad6da8c3c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -892,7 +2628,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "400", @@ -900,10 +2636,10 @@ "content-length": "103", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Thu, 18 Jul 2019 23:43:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:43:55 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b7fcbbb6-e1a1-4593-8a4c-f7b224773154", + "x-ms-request-id": "7555bdcc-d625-4ef2-8552-9214aab2bc7d", "cache-control": "no-cache", "expires": "-1" } diff --git a/sdk/keyvault/keyvault-keys/recordings/node/cryptographyclient_all_decrypts_happen_remotely/recording_before_all_hook.js b/sdk/keyvault/keyvault-keys/recordings/node/cryptographyclient_all_decrypts_happen_remotely/recording_before_all_hook.js new file mode 100644 index 000000000000..24b911d7a0c9 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/recordings/node/cryptographyclient_all_decrypts_happen_remotely/recording_before_all_hook.js @@ -0,0 +1,1649 @@ +let nock = require('nock'); + +module.exports.testInfo = {} + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '74492001-8bc2-4da9-8ba1-6608b9b5272a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:22 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5707345e-fad9-4f4d-82e7-96ad4fe15200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHAQAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:23 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4s9elDerezmpfESlHVUGREbj4S3YN-5ys6Yd1bCj66W3lKC133gwKZwIQEtnAvMiOQEcrdXy-PqYrAcnRt7tfuOU5oj-P2qPAZbwEknpZo4MoRs_qqk6lljSjSzqYQiq9NnY7LWISsX80LEyG3qOOU1NVeasss_YrEDouyjVq-QwXs9_hQEEHXkmrT-WozAlfkftJBKeLoveonXlkCqapiGJIFVD9ggDKfj2_xrl_eyOsCzXLI9pca7grXNZdY68XQN-bSol6Q8lmUsoM4DbTVjaCGpGiUTNXdMDbHSpvF1wJrxPctSjuy-c9ag5MrlJstou8P7di2Vwdx-wgyh_dw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306843,"updated":1565306843,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '725d3cf7-2f5b-48da-ae42-2dfa005bffcf', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:22 GMT', + 'Connection', + 'close', + 'Content-Length', + '670' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ce133107-5678-4a67-9bbd-c6b012138c40', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:23 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f2bf9a7c-427a-4c0d-82dd-9c32b9f93500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHAgAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:24 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d') + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4s9elDerezmpfESlHVUGREbj4S3YN-5ys6Yd1bCj66W3lKC133gwKZwIQEtnAvMiOQEcrdXy-PqYrAcnRt7tfuOU5oj-P2qPAZbwEknpZo4MoRs_qqk6lljSjSzqYQiq9NnY7LWISsX80LEyG3qOOU1NVeasss_YrEDouyjVq-QwXs9_hQEEHXkmrT-WozAlfkftJBKeLoveonXlkCqapiGJIFVD9ggDKfj2_xrl_eyOsCzXLI9pca7grXNZdY68XQN-bSol6Q8lmUsoM4DbTVjaCGpGiUTNXdMDbHSpvF1wJrxPctSjuy-c9ag5MrlJstou8P7di2Vwdx-wgyh_dw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306843,"updated":1565306843,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e125c109-b3bd-4f63-8ef9-8bfcf1bbd55c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '670' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e56d4136-647c-4671-8323-357eecd06073', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:24 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'eb6e25d6-e430-42c9-b72a-a8c4272d5b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHAwAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:25 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d') + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4s9elDerezmpfESlHVUGREbj4S3YN-5ys6Yd1bCj66W3lKC133gwKZwIQEtnAvMiOQEcrdXy-PqYrAcnRt7tfuOU5oj-P2qPAZbwEknpZo4MoRs_qqk6lljSjSzqYQiq9NnY7LWISsX80LEyG3qOOU1NVeasss_YrEDouyjVq-QwXs9_hQEEHXkmrT-WozAlfkftJBKeLoveonXlkCqapiGJIFVD9ggDKfj2_xrl_eyOsCzXLI9pca7grXNZdY68XQN-bSol6Q8lmUsoM4DbTVjaCGpGiUTNXdMDbHSpvF1wJrxPctSjuy-c9ag5MrlJstou8P7di2Vwdx-wgyh_dw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306843,"updated":1565306843,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '54936025-17d2-46c0-960d-0fab660a112c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '670' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4cc2c041-4e18-4376-9c91-8ee1eaf80d2d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:25 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3860c9da-68ef-4b64-bc69-b32344d26e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHBAAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt', {"alg":"RSA1_5","value":"PFj_XN-S0aJT9YqP1-UoxZorJOR5qVHMC0euYgxWAz2fa5ne3BK9Uasgcs1OzMCewT1Z7DAE8hfvv3mLIuJOLTsbOBNrCo7a0oA1RokYtbPB8Riwt9jhemH5Xivd6JAi3iyye2XuEUiavo-Alt5keAtpea9awLKLEReToiaDNyn0sTlTG22VoI27WPfJpIdBJDnI0mYLH8DaTlM5RLaL3lgo997f0sYNxRRVG1VTNqESsR7p6qAZPSLG9mU7Tn8W0kCX_6qUnYan_ZqOCXgQlNiKqx8SLC8t6BqXaf16igcK0ltBKqcEhh1ZMtrnkrlbkDRz1YWHwzeOBoqcC8wQtg"}) + .query(true) + .reply(200, {"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","value":"ZW5jcnlwdCAmIGRlY3J5cHQgd2l0aCBSU0ExXzU"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '812b4ee7-beb6-46ad-92de-948f5f9bcc47', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '158' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5e780b02-a632-4e2d-b1f2-de570c420c5c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '98b76e44-5867-4105-86ab-0d42ed482c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHBQAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt', {"alg":"RSA1_5","value":"xwHbEsQ8QTzDKqxhyr5St-3NIgyi45di46fwHwzHo_MsnFOGw-Q2pSlOAEGLneBjoxzRdR_k7ZJU8Zg5ZGZZG9VzNw5KrLnjRCOayjNJQh8PMhEVjmpOi67xaK-BaTkJg_SjtNEDLyOhDUdvlonD5MZNkKxq_I5o0GP4DYNBH_0EnZs4TUM1xrDCtXBhW0m69IRIj1KPJTJO0cgFS4em6T_zp6hyXXk2IovpahbMFhBQ8EJPadwA0cfJ7SwR0F9wfTcqls3nNgFFeMKEivEjFXh06ivT3PVB2MfgOPePMgF1YIUiKwJrHTi3_bWLY4Jf4cFAAORV47sF9JoO5YBnPA"}) + .query(true) + .reply(200, {"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","value":"bWFudWFsbHkgZW5jcnlwdCBsb2NhbGx5IGFuZCBkZWNyeXB0IHJlbW90ZWx5LCBib3RoIHdpdGggUlNBMV81"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1237b06d-71f4-43d0-8fbf-eb1cbd5e5639', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '203' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a512afc1-f606-4fbe-a135-2766afd84be9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'dff265d1-ebe5-4fce-98a5-0f01ad616b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHBgAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:27 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt', {"alg":"RSA-OAEP","value":"W9uCKpYsJGkRzkhFVmsEwDLRXGBF-ZrUSNc7gAIB1L68HEikp_4Lmk0xaMiol2otEnoG61R7SL6CH9hEC7AqI_rsch9_Oswsoa-RMpebvej_u-JPAE3t0vmTAHM0ySFr7P3rQkc4FO4h5swmOLsz6LRhC9Yn3XkQZTgU0BXkMuG8mKDVoE2Psqp1MsOymhuLG9ifQ-BpSHXRRPqh8X2H7EEr7C1CBBFJ62O9RhLIYLsx6v23LWnOd9xa6HzUPxfjUsaHNUEXpy5ZrTQUOr3HC_W0gMef6MFvwbMfN21PPYy4qg_pETBV-BZ-6cRnMIC_VdbIrCnhf_Bg5WWSPkgvUA"}) + .query(true) + .reply(200, {"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","value":"ZW5jcnlwdCAmIGRlY3J5cHQgd2l0aCBSU0EtT0FFUA"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '84b86d46-0df5-4576-aa19-7e1ce10f9803', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:27 GMT', + 'Connection', + 'close', + 'Content-Length', + '161' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9335ff51-6327-4f99-ac2b-811dcf030883', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '35f52cfb-8bc7-4847-bacd-9ad2cad22a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHBwAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:28 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/decrypt', {"alg":"RSA-OAEP","value":"LxMbKYxbq2peUm7Jb9kUQC3KLzyE51SfpmNZh7Z1OCxHLrqXfIKgK209II6TyZFgQ7V55aU81MTqu1NlaCAbKy4AsrFd7hqC0OEH4rnzOEB6G3Sekzk0bkTN2JhxCZFLs_rdXv2hCBrqANfZDtPyduTyBVJvRDlOt529-jmdtEVe1zm1_1kPm2szruDoBC1iOsc79ys24FT_YpIlt36fBF8MZme1J7b7k4U_5WkNqC5hJRoatEOoSKDGbZ-SN5ULtkTtzp38t5_V05er9HnbSpanl2yzk-KR4DdV3covfw6NuhI1I7Z-8DLKsmLk7VgfTeU97OePYYeJzJlSSjQjtQ"}) + .query(true) + .reply(200, {"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","value":"bWFudWFsbHkgZW5jcnlwdCBsb2NhbGx5IGFuZCBkZWNyeXB0IHJlbW90ZWx5LCBib3RoIHdpdGggUlNBLU9BRVA"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '30a30b30-170f-47c7-bbfa-5764c3bd7e6c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:28 GMT', + 'Connection', + 'close', + 'Content-Length', + '206' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/sign') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0f183cfb-19cc-4ffa-abbc-80bd00a9771e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '113d5e68-a4c2-41aa-9382-6965e7b84800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHCAAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/sign', {"alg":"RS256","value":"ii4gB8og7fjrqhFxeftuIgWRjB9-jUgFyr8XqWVVdXc"}) + .query(true) + .reply(200, {"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","value":"Ex9aHnVk_yU1PkN9tJgtoen9nbEqRP4Yd7aV3fG58l5C8P32PIm8-2cc3ACat0s4hu9-2Bp95AdiCMDKAdp510ffKrYB4liRrdsNut9in4_dAS06XoPN6Vz6T0AGlrzh3RgWk6DWsy2nXYqHSRV9ueNWHRwwOOvXncIoTc60bOOZsVqbLVATMU6ZoFoM6mOyW6TTHT7iHzwurKtYg-bA-GptcnmI0fCzT13XqnLtjLblF3J5w1Txzo3pK-n_4CllfLlY-g4Jy9MWbPKP6PnRq1Xj67c9gObIiUVrt1dWGU1VsvUkU4-wOniLWTWCE1j26fz0PLqWVG9ZNw5DKCNYNw"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3ecdde09-481b-4d75-86b5-46980253b95a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '461' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/verify') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c4b1ffdb-1964-48fb-bcc9-c74d020b2f4f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'aa8d1df4-a7bc-4f22-8299-fccc5a1c3800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHCQAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/verify', {"alg":"RS256","digest":"ii4gB8og7fjrqhFxeftuIgWRjB9-jUgFyr8XqWVVdXc","value":"Ex9aHnVk_yU1PkN9tJgtoen9nbEqRP4Yd7aV3fG58l5C8P32PIm8-2cc3ACat0s4hu9-2Bp95AdiCMDKAdp510ffKrYB4liRrdsNut9in4_dAS06XoPN6Vz6T0AGlrzh3RgWk6DWsy2nXYqHSRV9ueNWHRwwOOvXncIoTc60bOOZsVqbLVATMU6ZoFoM6mOyW6TTHT7iHzwurKtYg-bA-GptcnmI0fCzT13XqnLtjLblF3J5w1Txzo3pK-n_4CllfLlY-g4Jy9MWbPKP6PnRq1Xj67c9gObIiUVrt1dWGU1VsvUkU4-wOniLWTWCE1j26fz0PLqWVG9ZNw5DKCNYNw"}) + .query(true) + .reply(200, {"value":true}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd9318163-32d3-4578-b20e-20c0c3acfa26', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '14' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/unwrapkey') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '709bd3b8-8d2a-4b52-8548-e4898460822d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a00f4025-9962-4a6b-ae95-a5c573505700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHCgAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/unwrapkey', {"alg":"RSA1_5","value":"IVdu0GDbesSXisZnoW-myfkjBwtL1V_1yRce3PEwRsqTQrnkWTF-kp6a8gRvn7cKCFwtpe-M8P1-Ro2w1mku_zTRuxv7qxjWaUzgXUIzSGjzSvU0SNzc0aGSNROHtce2YSpo-EHEA1k9LfwlGgWNyedhwA0uelezkVi3JLFV5EezB1qInDazQ2PWDY8Cp5_4GJT5BHuoYVADSYTQCeVsOqX5o71-qHfrsUbPzQTmTxJhsUYSISOtPsymzHrfqZOqBemkWduDngbn-D1kme1t0RoiOMZSCoEyAwaB67VHpx-PMKaD9OvpHBP2DUZAdiLNY0U-wQSRL9ZJ8yabJb8xGw"}) + .query(true) + .reply(200, {"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","value":"YXJlcGE"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '55283fb8-271b-41eb-a6b6-e1b1c8ff5413', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '126' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/unwrapkey') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '61b6cd9a-9744-4b5f-b5e4-2525dfcd98fb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '44fb2d36-c5aa-4d24-aeaa-2bc4b3922a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHCwAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d/unwrapkey', {"alg":"RSA-OAEP","value":"demK_OGU-GxHunhhgIMMXVZt9RcAryRg6SbjkbK4ljX6HJfmAFgHKdpIlJL_K3j5MQfR-itAMrwShcLonpQ0FFI0XJ_5YLsdjk7m0jLkTa2WOOJ8dKiYgyS2M3fs1AGTav1_MOL56sIwd1ULJEZNwqnj0OdQpOmH5cvJ_caqvifhERGa27zCcEAGv8XOW4melsaoSrKDsJQQovic9wyTysBYmbvNJuHUQCcPlq6YBQe2QRNOe3eyZtFivVlhoFYC5d40__XZNTkfDYG-PVK1nogrTwy0Wy5nTLwCb5brnn-ZLXbcIHKpOf34iQUo0kSSMzvlwztucQwo5QGtPfJeqg"}) + .query(true) + .reply(200, {"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","value":"d3JhcCBhbmQgdW53cmFwIHdpdGggUlNBLU9BRVA"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5aa02a48-07d9-47a6-9b19-8d7109a5eb9b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '158' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/cryptography-client-test') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ebe40b0c-30fa-47cd-8b29-460028d47586', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:32 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2345cb21-882e-42eb-a635-95acda813100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHDAAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/cryptography-client-test') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test","deletedDate":1565306853,"scheduledPurgeDate":1573082853,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test/7655037684404d11b3a284377783ab8d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"4s9elDerezmpfESlHVUGREbj4S3YN-5ys6Yd1bCj66W3lKC133gwKZwIQEtnAvMiOQEcrdXy-PqYrAcnRt7tfuOU5oj-P2qPAZbwEknpZo4MoRs_qqk6lljSjSzqYQiq9NnY7LWISsX80LEyG3qOOU1NVeasss_YrEDouyjVq-QwXs9_hQEEHXkmrT-WozAlfkftJBKeLoveonXlkCqapiGJIFVD9ggDKfj2_xrl_eyOsCzXLI9pca7grXNZdY68XQN-bSol6Q8lmUsoM4DbTVjaCGpGiUTNXdMDbHSpvF1wJrxPctSjuy-c9ag5MrlJstou8P7di2Vwdx-wgyh_dw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306843,"updated":1565306843,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4b692313-2bf2-4a98-9cc2-c29244fee9db', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '815' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/cryptography-client-test') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bb631608-f2e9-41da-b837-b60aac315f38', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '07f7b480-e137-4dad-afe6-71db6d966d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHDQAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:33 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/cryptography-client-test') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '573b1bcc-4500-43fe-a5e7-bbba28358e21', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/cryptography-client-test') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '44f71271-c46b-4174-8917-0ec4f9823bc1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ec83fd2e-40be-42b4-bd55-3c2f44106c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHDgAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/cryptography-client-test') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '902db769-c647-4a70-a908-6eb25e0f3db5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/cryptography-client-test') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '978d31aa-17c7-45e5-bbc4-6505c5f1eab2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f0b86728-25bf-4360-bc27-0a6fd11a2700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AtquTlikSOJIv7cnoOIHhVw_aSJHDwAAANqm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:55 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:55 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/cryptography-client-test') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7e6d16bf-356a-446c-ad0d-4b7792a6a79c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:54 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.js index 3d83d06a749b..505a376d7ace 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__create_read_update_and_delete_operations/recording_before_all_hook.js @@ -2,6 +2,45 @@ let nock = require('nock'); module.exports.testInfo = {} +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7d799427-aa43-4a31-a5af-8aec10a5c98d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:39 GMT', + 'Connection', + 'close' ]); + + nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', @@ -17,17 +56,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'x-ms-request-id', - '3d602285-4b2b-426b-a3b8-70de13ecf200', + 'd03fab35-23b5-462e-8415-f1cc7c812d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'Set-Cookie', - 'fpc=AspZcq3Qj5hBm8g8G-CMLTg_aSJHAQAAAFj2wtQOAAAA; expires=Sat, 17-Aug-2019 23:23:04 GMT; path=/; secure; HttpOnly', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHAQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:40 GMT; path=/; secure; HttpOnly', 'Set-Cookie', 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', 'Set-Cookie', 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:23:03 GMT', + 'Thu, 08 Aug 2019 23:22:39 GMT', 'Connection', 'close', 'Content-Length', @@ -37,7 +78,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/create', {"kty":"RSA"}) .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/8b16516a3c734d2e9aed515ed05b586a","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vDDxKrG0yAueOVQFYBLGWNriKyIAW5WQ5Vzo5vUAsrTpo4LSxgT7XJREZ-Nsl-AdfWaqTaDrxVwF64iOzz9KgrHayGfXbqHyRMKEywlEr8H1pf8CxPdZQlPyp1900axG5e98XyO0ywysKFaHVhMVGrZSX-cltAdr94kW9BoSJl7j_SW-jg-gDt0LG5aHd51nET0g4YYbLOhtkvCq954kC5lS_kfLuS7cBvb9EuAGNkzuNt85DA8tLb2SPJfiazxWLG7W6ZSOwnWepXkQ4lqYQn8pHB1ar8T-KOp-vu2eLJnAEV04FfMAk5X4DvSIYhFGsYKRJogzQf5oOyrQobBNmw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492185,"updated":1563492185,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/fe0d5aadbfbf4fe281f7dff0bcff4b13","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"2QvvlaWVDGd6J1SAnhDinpjsktn20slfxWe4Irj0x_2K5HITRctmFOs3_C6o6wQ9PpH_njQybCvbsiOQrMkIzs9f-E3zJJ44RVnQWvwa4Wp-kVh97k2ANeRER3ZtfCf850doS_TfdifAj67qOLIOdC7nBXwKvg7_iOd9VouWHThnBQDtTMfQFQJFQmev008VaWI9D4Upz2EeLIaezn9Rjj3yj6MhLPOlKbWc5Qh7ZE8d8ZQTm-Dzaq4lV_8rHQovoLdkwf6_ukhFHu9zv0SOp1IMrGimMjbg4pYGM_HDrGEtEQNyCPDXi5BhJLUAk1aXoq1HtffWhge5t2I5SfKuCw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306560,"updated":1565306560,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -50,11 +91,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '05ee4d73-c02f-499a-ad95-0a97c5146952', + 'b70299d5-7ebc-4594-9e7e-56de247e8660', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -64,34 +105,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:04 GMT', + 'Thu, 08 Aug 2019 23:22:40 GMT', 'Connection', 'close', 'Content-Length', - '714' ]); + '712' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-","deletedDate":1563492185,"scheduledPurgeDate":1571268185,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/8b16516a3c734d2e9aed515ed05b586a","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vDDxKrG0yAueOVQFYBLGWNriKyIAW5WQ5Vzo5vUAsrTpo4LSxgT7XJREZ-Nsl-AdfWaqTaDrxVwF64iOzz9KgrHayGfXbqHyRMKEywlEr8H1pf8CxPdZQlPyp1900axG5e98XyO0ywysKFaHVhMVGrZSX-cltAdr94kW9BoSJl7j_SW-jg-gDt0LG5aHd51nET0g4YYbLOhtkvCq954kC5lS_kfLuS7cBvb9EuAGNkzuNt85DA8tLb2SPJfiazxWLG7W6ZSOwnWepXkQ4lqYQn8pHB1ar8T-KOp-vu2eLJnAEV04FfMAk5X4DvSIYhFGsYKRJogzQf5oOyrQobBNmw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492185,"updated":1563492185,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5602cce6-73c6-4e82-8760-0464c5824caf', + 'da88d7f4-f744-48b3-8eb7-51b546379871', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -101,22 +146,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:05 GMT', + 'Thu, 08 Aug 2019 23:22:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '27f52a8e-81a8-413b-8797-4c661c355400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHAgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:40 GMT', 'Connection', 'close', 'Content-Length', - '903' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-') + .delete('/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-","deletedDate":1565306561,"scheduledPurgeDate":1573082561,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-/fe0d5aadbfbf4fe281f7dff0bcff4b13","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"2QvvlaWVDGd6J1SAnhDinpjsktn20slfxWe4Irj0x_2K5HITRctmFOs3_C6o6wQ9PpH_njQybCvbsiOQrMkIzs9f-E3zJJ44RVnQWvwa4Wp-kVh97k2ANeRER3ZtfCf850doS_TfdifAj67qOLIOdC7nBXwKvg7_iOd9VouWHThnBQDtTMfQFQJFQmev008VaWI9D4Upz2EeLIaezn9Rjj3yj6MhLPOlKbWc5Qh7ZE8d8ZQTm-Dzaq4lV_8rHQovoLdkwf6_ukhFHu9zv0SOp1IMrGimMjbg4pYGM_HDrGEtEQNyCPDXi5BhJLUAk1aXoq1HtffWhge5t2I5SfKuCw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306560,"updated":1565306560,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -126,11 +201,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '93ef7040-9f1e-42d8-8187-fdbe236fdf3b', + 'e94205a5-e84f-4326-b8a5-29acf6885b83', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -140,34 +215,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:05 GMT', + 'Thu, 08 Aug 2019 23:22:41 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '899' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ab03eef5-cba6-4e91-a197-2102a2b02cfd', + '650804b2-11e5-40d1-a67b-68b7618825bb', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -177,18 +256,56 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:16 GMT', + 'Thu, 08 Aug 2019 23:22:41 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6725d706-d69f-43fe-9117-063ec9ce3500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHAwAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -196,11 +313,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2cf6da0f-9b87-4c25-9191-a4afcee37e7c', + 'fdac665b-3156-4b53-8c65-cc66820e817d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -210,32 +327,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:26 GMT', + 'Thu, 08 Aug 2019 23:22:41 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cancreateaRSAkey-/create', {"kty":"RSA"}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/3e4d22f549b347dda7275bb319e8e9d9","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zK1por1jccnPEGEQutzkbs2EXNlWFFh94HpIZ8xn4X95Bq_HSnMZYuismsC4nTGpyCvHgqkS8EJNy-i3u5vdijC1Fa_Fg-pvo8_-RAe9ITQuzEwVrEG-W8Srn04cP4WAZUcytUz-lhWqlA21e7EfKudIY_VrGg2QW1DRPTj0s_92VmZ2sSmr_gbs-aT3hBve_EKZ65howccBTi9oVuPxuoqyzWt2SNodMlJW5kP849vPq1Npqd-EdQrimAOh1sQIf9qJfgkU_galH1BpfObg6tRmSVgbpVwDsvWBBYj31q5hApVacoH5ecN_z3fk3hKdeyd6NYQCH0NoSJrZbSzLKQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492207,"updated":1563492207,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'dac37ae3-3c8d-473a-8517-42f1b25fefb2', + '0c578ab6-62ab-4606-8b6e-3ab6adeb74f7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -245,20 +366,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:26 GMT', + 'Thu, 08 Aug 2019 23:22:52 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '43771ceb-de69-4776-aa9b-0e1d17913b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHBAAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:52 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:52 GMT', 'Connection', 'close', 'Content-Length', - '695' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cancreateaRSAkey-') + .delete('/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-","deletedDate":1563492208,"scheduledPurgeDate":1571268208,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/3e4d22f549b347dda7275bb319e8e9d9","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zK1por1jccnPEGEQutzkbs2EXNlWFFh94HpIZ8xn4X95Bq_HSnMZYuismsC4nTGpyCvHgqkS8EJNy-i3u5vdijC1Fa_Fg-pvo8_-RAe9ITQuzEwVrEG-W8Srn04cP4WAZUcytUz-lhWqlA21e7EfKudIY_VrGg2QW1DRPTj0s_92VmZ2sSmr_gbs-aT3hBve_EKZ65howccBTi9oVuPxuoqyzWt2SNodMlJW5kP849vPq1Npqd-EdQrimAOh1sQIf9qJfgkU_galH1BpfObg6tRmSVgbpVwDsvWBBYj31q5hApVacoH5ecN_z3fk3hKdeyd6NYQCH0NoSJrZbSzLKQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492207,"updated":1563492207,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -268,11 +423,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e2862407-0871-4d50-b490-fa46e04bd945', + '2dd38e5e-aaa6-4461-be7a-817d6c38c124', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -282,36 +437,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:27 GMT', + 'Thu, 08 Aug 2019 23:22:52 GMT', 'Connection', - 'close', - 'Content-Length', - '865' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateaRSAkey-') + .delete('/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9ae70472-8ad2-4a74-84d6-c0f9d7a63142', + 'aa427427-da37-4630-9e2f-0b3acd5a1f86', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -321,13 +476,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:27 GMT', + 'Thu, 08 Aug 2019 23:23:03 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '372e2a52-101e-41fe-81b6-bed207223f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHBQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:03 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:02 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateaRSAkey-') + .delete('/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -340,11 +529,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd6c1f583-6fba-4378-ada4-a8fd83f6734d', + '4523d7fb-8360-472f-adc2-23b11df2fc5c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -354,32 +543,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:38 GMT', + 'Thu, 08 Aug 2019 23:23:03 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cancreateaRSAkeywithsize-/create', {"kty":"RSA","key_size":2048,"attributes":{}}) + .post('/keys/recoverKeyName-cancreateaRSAkey-/create') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/f387d2b1170b42b3a47fd51ad5a1b711","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"ugePHlWghOCYN5mdr9JWoX-Jm9ye6RdIXWDRBIzAxGrVx4jFqv2MpLeq6t6g_FPXRVpl7jd1DHmsFqgYrm3NbSj1ngc5xGjVXKGB69DHykwC8CQL_2Ik64S6JqygFHTpJkYQbOCrnV_TOdkQDKLsj5aTMLQqk6ChOImbAXSQgVFY21rYFzvmrrKxfG8jZogY66V9aIxGqkG--bYX0BXigiITWXRE7jd6WJW7dzjIWaIB3ukwpdOvmLnDnuz9uNsCTaMmgxw8hTZM7g6yXwIiM1tQLV_SCzzH7A4hu3DIyXMORqlGaDnIIZM0G5DUTuDXt_-9OWtjxdcUPoLmrvshFw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492219,"updated":1563492219,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0b225377-6e94-414a-a6c0-bf3c9602c454', + '3e2dc231-7cac-487d-8e2d-a7382a3a0281', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -389,17 +582,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:39 GMT', + 'Thu, 08 Aug 2019 23:23:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6dc8704a-e5b4-4fda-9009-f0ecf82d2800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHBgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:04 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:03 GMT', 'Connection', 'close', 'Content-Length', - '703' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cancreateaRSAkeywithsize-') + .post('/keys/recoverKeyName-cancreateaRSAkey-/create', {"kty":"RSA"}) .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-","deletedDate":1563492219,"scheduledPurgeDate":1571268219,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/f387d2b1170b42b3a47fd51ad5a1b711","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"ugePHlWghOCYN5mdr9JWoX-Jm9ye6RdIXWDRBIzAxGrVx4jFqv2MpLeq6t6g_FPXRVpl7jd1DHmsFqgYrm3NbSj1ngc5xGjVXKGB69DHykwC8CQL_2Ik64S6JqygFHTpJkYQbOCrnV_TOdkQDKLsj5aTMLQqk6ChOImbAXSQgVFY21rYFzvmrrKxfG8jZogY66V9aIxGqkG--bYX0BXigiITWXRE7jd6WJW7dzjIWaIB3ukwpdOvmLnDnuz9uNsCTaMmgxw8hTZM7g6yXwIiM1tQLV_SCzzH7A4hu3DIyXMORqlGaDnIIZM0G5DUTuDXt_-9OWtjxdcUPoLmrvshFw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492219,"updated":1563492219,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/1c31198147084747a54e1866199f280c","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vYVqYDq7SsV3O8y_KRK0vSrUZjuqh8clTccnAWRqar3Y8tpwyE58ytWW661-Q9lC9N3JbxWavSRpRyOUtAcRyPR5JQp2GCiqDQWBFHr1gcAE6uWbv4UB_maJ0Px3KTd70cR84i79NwPXIGkSaZzb5muP_1Q3WB9j3pVEmEFJYVaM29FAyAIJ8MO_3U-carAi8UR6pH1QUR0e8DApuvhAgUtxX5GDYlbSfyngzq2KZqbL9-XGdMOxkAu_pv79WaqECHO4FZng96XRmoWs_v50EdO-QTFk9YwTGr8RWyF_kAUhvyaTOVUETrVhpg79GTbPg9Z-m3emFLroaLBfL0ETTQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306584,"updated":1565306584,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -412,11 +637,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8f996249-a603-46a4-acb3-f0ddf6c862f2', + '89aa7c19-15be-4c69-af28-ad2f83e22be0', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -426,36 +651,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:39 GMT', + 'Thu, 08 Aug 2019 23:23:04 GMT', 'Connection', 'close', 'Content-Length', - '881' ]); + '693' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') + .delete('/keys/recoverKeyName-cancreateaRSAkey-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'fd34578e-3617-4d79-aa1f-e120b563c0b0', + '036fc059-5727-4013-9e9e-fc86c125f9e4', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -465,48 +692,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:39 GMT', + 'Thu, 08 Aug 2019 23:23:04 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '6d5a21e1-d72b-4fa0-8e1c-b8e876a28076', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '37e1d45c-5907-4efd-a298-2ec1f38f3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHBwAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:23:50 GMT', + 'Thu, 08 Aug 2019 23:23:05 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cancreateanECkey-/create', {"kty":"EC"}) + .delete('/keys/recoverKeyName-cancreateaRSAkey-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/95b65a54fc8c4e5895514d5a4ce03ffa","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"czFW08Hq6fpiwmpRHAyarr7WoZIEK2JafYgYjzEOcq4","y":"nm0On9ylxOvBr5zBu0cC-GuwuWNAVpcat7buo5tMPZU"},"attributes":{"enabled":true,"created":1563492231,"updated":1563492231,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-","deletedDate":1565306585,"scheduledPurgeDate":1573082585,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-/1c31198147084747a54e1866199f280c","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vYVqYDq7SsV3O8y_KRK0vSrUZjuqh8clTccnAWRqar3Y8tpwyE58ytWW661-Q9lC9N3JbxWavSRpRyOUtAcRyPR5JQp2GCiqDQWBFHr1gcAE6uWbv4UB_maJ0Px3KTd70cR84i79NwPXIGkSaZzb5muP_1Q3WB9j3pVEmEFJYVaM29FAyAIJ8MO_3U-carAi8UR6pH1QUR0e8DApuvhAgUtxX5GDYlbSfyngzq2KZqbL9-XGdMOxkAu_pv79WaqECHO4FZng96XRmoWs_v50EdO-QTFk9YwTGr8RWyF_kAUhvyaTOVUETrVhpg79GTbPg9Z-m3emFLroaLBfL0ETTQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306584,"updated":1565306584,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -519,11 +747,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0bf58eba-53fc-4ad6-9f18-478153d65145', + '71f56361-7c80-4545-b251-8a180471a85c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -533,34 +761,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:50 GMT', + 'Thu, 08 Aug 2019 23:23:05 GMT', 'Connection', 'close', 'Content-Length', - '406' ]); + '861' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cancreateanECkey-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-","deletedDate":1563492231,"scheduledPurgeDate":1571268231,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/95b65a54fc8c4e5895514d5a4ce03ffa","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"czFW08Hq6fpiwmpRHAyarr7WoZIEK2JafYgYjzEOcq4","y":"nm0On9ylxOvBr5zBu0cC-GuwuWNAVpcat7buo5tMPZU"},"attributes":{"enabled":true,"created":1563492231,"updated":1563492231,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '81229cd5-6841-432e-b30d-19ffcba6d353', + 'd66f432c-402a-44f0-8283-42bd9e8e821d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -570,52 +802,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:23:50 GMT', + 'Thu, 08 Aug 2019 23:23:05 GMT', 'Connection', - 'close', - 'Content-Length', - '576' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateanECkey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '473ea8c7-e5ff-4187-98e2-b9cec591be5b', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'a32b96a7-7151-46c9-9422-b29f04c83b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHCAAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:06 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:23:51 GMT', + 'Thu, 08 Aug 2019 23:23:05 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateanECkey-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkey-') .query(true) .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', @@ -632,11 +859,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '66f80e27-b957-4797-bbba-6758ac974dcb', + 'be391b86-913b-40fe-8d93-8675ea09987b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -646,30 +873,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:01 GMT', + 'Thu, 08 Aug 2019 23:23:06 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateanECkey-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkey-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ff895053-896c-4e62-a686-e06acd87cca0', + '63a2077b-6266-4deb-a41f-ffb80b73f825', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -679,57 +912,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:12 GMT', + 'Thu, 08 Aug 2019 23:23:15 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cancreateanECkeywithcurve-/create', {"kty":"EC","attributes":{},"crv":"P-256"}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/b3a5c29252054d39a6af864c527d8960","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"QjYLIMLnHKTezOkpZOQOUAOXJ1FjwH9r03EWy7qEQEY","y":"-KuwF0DFCCB653ifTOf_PfQvuaZPBiAnXwH9oNgLpSs"},"attributes":{"enabled":true,"created":1563492253,"updated":1563492253,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'a7111b0d-4e3e-4e3e-a2c9-096737d369c0', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'a4a4967e-2883-4cd7-91bf-3cf0b8dd6400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHCQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:24:12 GMT', + 'Thu, 08 Aug 2019 23:23:16 GMT', 'Connection', 'close', 'Content-Length', - '415' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cancreateanECkeywithcurve-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-","deletedDate":1563492253,"scheduledPurgeDate":1571268253,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/b3a5c29252054d39a6af864c527d8960","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"QjYLIMLnHKTezOkpZOQOUAOXJ1FjwH9r03EWy7qEQEY","y":"-KuwF0DFCCB653ifTOf_PfQvuaZPBiAnXwH9oNgLpSs"},"attributes":{"enabled":true,"created":1563492253,"updated":1563492253,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -737,11 +965,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e1eab38d-4c78-4d7c-a416-d428b6aef7eb', + '2a0d0eba-a54a-4224-82a6-4b04a7b4dcb2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -751,36 +979,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:14 GMT', + 'Thu, 08 Aug 2019 23:23:16 GMT', 'Connection', - 'close', - 'Content-Length', - '594' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-') + .post('/keys/recoverKeyName-cancreateaRSAkeywithsize-/create') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'beb72df1-463a-4d6b-8272-560bbb77e5a5', + 'e20b1296-3284-4f76-b9b4-98677d6f93c1', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -790,48 +1018,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:14 GMT', + 'Thu, 08 Aug 2019 23:23:16 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '23e62796-3895-443a-b1f5-0ecf86e6c82d', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '00b011de-a65c-4fef-a05f-85fc33d04100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHCgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:17 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:24:24 GMT', + 'Thu, 08 Aug 2019 23:23:17 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cancreateadisabledkey-/create', {"kty":"RSA","attributes":{"enabled":false}}) + .post('/keys/recoverKeyName-cancreateaRSAkeywithsize-/create', {"kty":"RSA","key_size":2048,"attributes":{}}) .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/bba075aa79044ca6b6dc0c67f6bfe965","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zhjvNiQoO76Azouf18RThoeoL7lBndl-XuIEyEVrkKktHnX81ZWCKehS9fLg-ECYhVhVb67AAWgowVoOr_V6RfRRrXCmTG5p2U6bU9tosUs58Y6M2N_jmuRsxe9mmJc-dCf-DO8WGPw1hRthi4_8xkqQpBPeHNyBtV1Kttn0gKaxiyh-_C4AeJSQpcOocs_UdyybLIaTir0zftNYkH_LWSRs0vUvySvU-fLcGlUDaRd0aIYLzPkF92JEvdqLtShjGmAwlwZGACGGXyw81B4_EYftN8RicpRY4hefT_WAPzDUc44buFx4nEMvdmj_t2D4oSbaJewoJ0GvhDorX7ukvQ","e":"AQAB"},"attributes":{"enabled":false,"created":1563492265,"updated":1563492265,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/2a34913d966b4220a8f9a8663b9b9557","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wkevg9KSVIfoGjxu6_gLYitknTyBqpBTieLG-eAAxMywsqRrFKU8baH7jNwpfjYOAsv0JPG1mK67lZNOUGzvGxHgChat06zaMQ154iqgYpbc4ZL9hAdvpqCVMMaAfgmnmPD7BsyYBdcA1KSPaekXx4aUm_p8XIXcXr64s-AsiTe3XaAL9czRkauLTLhNaHwgSCAbmyPga40ka9siYL0AxR6OEgYXxuQi89b8Fxt3Rfq2VxdmZCbfWVhcwmSiNERFsQ_uEKJ4dN5ABW7ixhYcjyG1uFE_YQeSilJoFM8bvGyQSBPahlW4zV9KpNc0AqtD9Y9QsJfsBgXhYKa-RepBBw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306598,"updated":1565306598,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -844,11 +1073,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ec011483-aabe-4032-a27e-314c1b523757', + 'ae0bdb9f-acb5-4f9a-b574-54d9f8d1ff16', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -858,7 +1087,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:24 GMT', + 'Thu, 08 Aug 2019 23:23:18 GMT', 'Connection', 'close', 'Content-Length', @@ -866,26 +1095,30 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cancreateadisabledkey-') + .delete('/keys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-","deletedDate":1563492265,"scheduledPurgeDate":1571268265,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/bba075aa79044ca6b6dc0c67f6bfe965","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zhjvNiQoO76Azouf18RThoeoL7lBndl-XuIEyEVrkKktHnX81ZWCKehS9fLg-ECYhVhVb67AAWgowVoOr_V6RfRRrXCmTG5p2U6bU9tosUs58Y6M2N_jmuRsxe9mmJc-dCf-DO8WGPw1hRthi4_8xkqQpBPeHNyBtV1Kttn0gKaxiyh-_C4AeJSQpcOocs_UdyybLIaTir0zftNYkH_LWSRs0vUvySvU-fLcGlUDaRd0aIYLzPkF92JEvdqLtShjGmAwlwZGACGGXyw81B4_EYftN8RicpRY4hefT_WAPzDUc44buFx4nEMvdmj_t2D4oSbaJewoJ0GvhDorX7ukvQ","e":"AQAB"},"attributes":{"enabled":false,"created":1563492265,"updated":1563492265,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd7c429ce-b96b-4f2f-bdae-6dac1fa09a4b', + '400db5d6-e659-488b-a59f-64b8cb7cd79c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -895,57 +1128,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:25 GMT', + 'Thu, 08 Aug 2019 23:23:17 GMT', 'Connection', - 'close', - 'Content-Length', - '876' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '00405f49-404c-4d46-9bf0-188ea40fd5c3', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'e43d22fc-2770-4539-bf54-5b3d16804700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHCwAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:24:25 GMT', + 'Thu, 08 Aug 2019 23:23:18 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') + .delete('/keys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-","deletedDate":1565306599,"scheduledPurgeDate":1573082599,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-/2a34913d966b4220a8f9a8663b9b9557","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wkevg9KSVIfoGjxu6_gLYitknTyBqpBTieLG-eAAxMywsqRrFKU8baH7jNwpfjYOAsv0JPG1mK67lZNOUGzvGxHgChat06zaMQ154iqgYpbc4ZL9hAdvpqCVMMaAfgmnmPD7BsyYBdcA1KSPaekXx4aUm_p8XIXcXr64s-AsiTe3XaAL9czRkauLTLhNaHwgSCAbmyPga40ka9siYL0AxR6OEgYXxuQi89b8Fxt3Rfq2VxdmZCbfWVhcwmSiNERFsQ_uEKJ4dN5ABW7ixhYcjyG1uFE_YQeSilJoFM8bvGyQSBPahlW4zV9KpNc0AqtD9Y9QsJfsBgXhYKa-RepBBw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306598,"updated":1565306598,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -953,11 +1183,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'db65e5c3-6c30-4899-80b3-7216dee13ed0', + '45829ad2-b134-41f8-94f7-c0cdeb109f5c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -967,32 +1197,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:36 GMT', + 'Thu, 08 Aug 2019 23:23:18 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '877' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cancreateakeywithnotBefore-/create', {"kty":"RSA","attributes":{"nbf":1546300805}}) + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/01515ffbf50e4da7aac5892ad6141dc9","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"taAf6UZkdEmUoF2nkfwmXkzW7JIQw1MAiPstA4YokjisO0nIF4Z_PZ8-WngvuAJDMR7jW1Qzj3kO8Ne7LrJ_afWCwjmlNzPZF7kb-MGdHW8vXdZGIqPiu5d9i-kWgORADyl2nGykTYMB_1k5NGN9dLl5SIj-He_YpdiCE469gq1bHbBuLuDIBO2fq86jbHB3yJp0iyXbayZE0OY8Y2KCQ6dZdejXuiDKoyZqbQg9fqqIkC666_eT9L1LKvjCrcFPlZKvfQ-7pr7XD_3VCl6rfWbFFM6Cq2Tlm2E5i1_iCPusQc52I5sUBtZhKmp55QjNanSUcrsRLWAmWktQ_IizWw","e":"AQAB"},"attributes":{"enabled":true,"nbf":1546300805,"created":1563492277,"updated":1563492277,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f60d77f3-9ce9-46cb-8297-5806e8c8a68c', + 'fc109500-a670-404e-a100-92ecfa579783', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1002,52 +1238,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:36 GMT', + 'Thu, 08 Aug 2019 23:23:19 GMT', 'Connection', - 'close', - 'Content-Length', - '722' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cancreateakeywithnotBefore-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-","deletedDate":1563492277,"scheduledPurgeDate":1571268277,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/01515ffbf50e4da7aac5892ad6141dc9","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"taAf6UZkdEmUoF2nkfwmXkzW7JIQw1MAiPstA4YokjisO0nIF4Z_PZ8-WngvuAJDMR7jW1Qzj3kO8Ne7LrJ_afWCwjmlNzPZF7kb-MGdHW8vXdZGIqPiu5d9i-kWgORADyl2nGykTYMB_1k5NGN9dLl5SIj-He_YpdiCE469gq1bHbBuLuDIBO2fq86jbHB3yJp0iyXbayZE0OY8Y2KCQ6dZdejXuiDKoyZqbQg9fqqIkC666_eT9L1LKvjCrcFPlZKvfQ-7pr7XD_3VCl6rfWbFFM6Cq2Tlm2E5i1_iCPusQc52I5sUBtZhKmp55QjNanSUcrsRLWAmWktQ_IizWw","e":"AQAB"},"attributes":{"enabled":true,"nbf":1546300805,"created":1563492277,"updated":1563492277,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '0787481e-94dd-4a28-b57f-2e93cd574e34', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '26ff5dd8-5c6a-49ae-9403-d45ccb212a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHDAAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:24:37 GMT', + 'Thu, 08 Aug 2019 23:23:19 GMT', 'Connection', 'close', 'Content-Length', - '902' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', @@ -1064,11 +1295,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ad46203f-5d2b-4eed-9c89-ee49a9475198', + '304075e7-aa4b-4757-9176-40d363deac5b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1078,34 +1309,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:37 GMT', + 'Thu, 08 Aug 2019 23:23:19 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e3ebbcda-60a0-491f-86e5-1107039cd0fa', + 'c685e471-c977-4493-b59f-73b41207772f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1115,18 +1348,56 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:47 GMT', + 'Thu, 08 Aug 2019 23:23:29 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e92db186-74ac-4f23-b66c-19f9b5b75f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHDQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1134,11 +1405,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6e90c1fc-2b55-44df-958c-e98af4f86d01', + 'c862e646-32f0-4b0b-ac15-7a4651d6b192', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1148,32 +1419,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:57 GMT', + 'Thu, 08 Aug 2019 23:23:29 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cancreateakeywithexpires-/create', {"kty":"RSA","attributes":{"exp":1546300805}}) + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/669c75894539448c8d5123cadd87aec5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"7q1074UVf-u1QynGM-Nydwqo-7vmCnbZbfL405S2mb-RkaIH682WKJjfPWdYteksh-ct9CX2YkNnlCi7wJC0ieYn199DO43VVT8IXpyYX2Jv1vsTQiicDEqq546NlveLuQ8_sYWhNGxRnUJAyJuu21ZwnvSSZFY3GW4hjSTd3govNO_i5qQ6VG_bFGmNwHyReQJ2vZcAL23dCfwciA0Cs8ctvr58XO4M6Q2nwFFi7SSV4I_lhZLVbqMz6DJIQc6sLCyVNakcd44Vm1dyoADHl5TBIVIfZBq5_BTqywSY_KgNiBG0_zJcluQcB-qDTpX-o_IDFSFWRxunyHvGwlcmQw","e":"AQAB"},"attributes":{"enabled":true,"exp":1546300805,"created":1563492299,"updated":1563492299,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0e0bf03e-bef5-4dfd-b4da-2ba2db48d559', + 'e1cd6f62-25c2-404e-add0-15d2ddb6eb4b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1183,61 +1458,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:59 GMT', + 'Thu, 08 Aug 2019 23:23:40 GMT', 'Connection', - 'close', - 'Content-Length', - '720' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cancreateakeywithexpires-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-","deletedDate":1563492299,"scheduledPurgeDate":1571268299,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/669c75894539448c8d5123cadd87aec5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"7q1074UVf-u1QynGM-Nydwqo-7vmCnbZbfL405S2mb-RkaIH682WKJjfPWdYteksh-ct9CX2YkNnlCi7wJC0ieYn199DO43VVT8IXpyYX2Jv1vsTQiicDEqq546NlveLuQ8_sYWhNGxRnUJAyJuu21ZwnvSSZFY3GW4hjSTd3govNO_i5qQ6VG_bFGmNwHyReQJ2vZcAL23dCfwciA0Cs8ctvr58XO4M6Q2nwFFi7SSV4I_lhZLVbqMz6DJIQc6sLCyVNakcd44Vm1dyoADHl5TBIVIfZBq5_BTqywSY_KgNiBG0_zJcluQcB-qDTpX-o_IDFSFWRxunyHvGwlcmQw","e":"AQAB"},"attributes":{"enabled":true,"exp":1546300805,"created":1563492299,"updated":1563492299,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '0fa10ef3-13f0-4f5e-8a88-4c43c1ce8130', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'e09a15f1-3a2b-479b-b73b-bbbd6b124500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHDgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:24:59 GMT', + 'Thu, 08 Aug 2019 23:23:40 GMT', 'Connection', 'close', 'Content-Length', - '898' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .delete('/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '118', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1245,11 +1511,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0f0f30f8-111b-4955-80b8-0869f234e8e4', + '18e742c8-55b8-4765-bbe1-eede24ebfdb6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1259,30 +1525,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:24:59 GMT', + 'Thu, 08 Aug 2019 23:23:41 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .post('/keys/recoverKeyName-cancreateanECkey-/create') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6480f835-54aa-4662-90af-3085808ab932', + '8587268c-e197-4f7e-9b91-63518ae14486', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1292,52 +1564,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:10 GMT', + 'Thu, 08 Aug 2019 23:23:41 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-canupdatekey-/create', {"kty":"RSA"}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/25f37c89c78344adb8a571b3e6bfba7c","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"oo3ez4bFIu6VgCSNfCXXir-vTBD8PjYQTiFsRyli0f7Fpz8w2n_eDGSqKxW8pyMKSkIDLce4L7wS5wqk30QWoO9joOWFZntwSk32673Qc-_Sk0T_IjyYAIVaO7zm-typbN75LwmvNWr-AD-ZapxEvPFL6STl7m6e7vI5pPHLz2MLg8yGh5vNQQhrPOFh-h-LXPNQgbYTI_fV2uzSHQOXUi08T0r14Ch-mYvlLN-qwqqimJtnzS_7TpI-BTbDiJOg-ivnyyKkFAgkvElVsJvlgvDsZIK01rWd9GfT2gWEFc05udsaG1nWjmFQ3QT32maO_y3Pa4icXw6-2EA1mYh3Hw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492310,"updated":1563492310,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '06ccf125-de8f-4f42-80cd-535883ff8366', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '7fe0f26a-058d-4e95-b719-8f7befb72b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHDwAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:25:10 GMT', + 'Thu, 08 Aug 2019 23:23:41 GMT', 'Connection', 'close', 'Content-Length', - '691' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .patch('/keys/recoverKeyName-canupdatekey-/25f37c89c78344adb8a571b3e6bfba7c', {"attributes":{"enabled":false}}) + .post('/keys/recoverKeyName-cancreateanECkey-/create', {"kty":"EC"}) .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/25f37c89c78344adb8a571b3e6bfba7c","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"oo3ez4bFIu6VgCSNfCXXir-vTBD8PjYQTiFsRyli0f7Fpz8w2n_eDGSqKxW8pyMKSkIDLce4L7wS5wqk30QWoO9joOWFZntwSk32673Qc-_Sk0T_IjyYAIVaO7zm-typbN75LwmvNWr-AD-ZapxEvPFL6STl7m6e7vI5pPHLz2MLg8yGh5vNQQhrPOFh-h-LXPNQgbYTI_fV2uzSHQOXUi08T0r14Ch-mYvlLN-qwqqimJtnzS_7TpI-BTbDiJOg-ivnyyKkFAgkvElVsJvlgvDsZIK01rWd9GfT2gWEFc05udsaG1nWjmFQ3QT32maO_y3Pa4icXw6-2EA1mYh3Hw","e":"AQAB"},"attributes":{"enabled":false,"created":1563492310,"updated":1563492311,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/8ff52b4e0a074a68b408ecfdae1fa47f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"T0SA6RWDunk-M8U2otE6YGz9q9h4YWAYK9T0dWda1cE","y":"ampNFNEATJr8rA2ICB7YQh4vJrcwTC2XJe-OVeTTc6E"},"attributes":{"enabled":true,"created":1565306622,"updated":1565306622,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1350,11 +1619,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ea01d311-2340-4a7c-97b8-23287a1189fe', + 'fdff903a-1b8a-4164-a4bb-d10635828bd8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1364,34 +1633,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:11 GMT', + 'Thu, 08 Aug 2019 23:23:42 GMT', 'Connection', 'close', 'Content-Length', - '692' ]); + '404' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-canupdatekey-') + .delete('/keys/recoverKeyName-cancreateanECkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-","deletedDate":1563492311,"scheduledPurgeDate":1571268311,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/25f37c89c78344adb8a571b3e6bfba7c","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"oo3ez4bFIu6VgCSNfCXXir-vTBD8PjYQTiFsRyli0f7Fpz8w2n_eDGSqKxW8pyMKSkIDLce4L7wS5wqk30QWoO9joOWFZntwSk32673Qc-_Sk0T_IjyYAIVaO7zm-typbN75LwmvNWr-AD-ZapxEvPFL6STl7m6e7vI5pPHLz2MLg8yGh5vNQQhrPOFh-h-LXPNQgbYTI_fV2uzSHQOXUi08T0r14Ch-mYvlLN-qwqqimJtnzS_7TpI-BTbDiJOg-ivnyyKkFAgkvElVsJvlgvDsZIK01rWd9GfT2gWEFc05udsaG1nWjmFQ3QT32maO_y3Pa4icXw6-2EA1mYh3Hw","e":"AQAB"},"attributes":{"enabled":false,"created":1563492310,"updated":1563492311,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6b04f369-84a9-4909-8cc6-97d2e28158db', + '00a2fd0a-71cc-4f2d-b60e-5ccf169080bf', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1401,57 +1674,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:10 GMT', + 'Thu, 08 Aug 2019 23:23:42 GMT', 'Connection', - 'close', - 'Content-Length', - '858' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canupdatekey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '9a2bf644-2e6f-41c1-9525-9255e5950a68', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'd2ca846a-9691-4b7b-8510-b85b2a4c4000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHEAAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:25:11 GMT', + 'Thu, 08 Aug 2019 23:23:42 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canupdatekey-') + .delete('/keys/recoverKeyName-cancreateanECkey-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkey-","deletedDate":1565306623,"scheduledPurgeDate":1573082623,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkey-/8ff52b4e0a074a68b408ecfdae1fa47f","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"T0SA6RWDunk-M8U2otE6YGz9q9h4YWAYK9T0dWda1cE","y":"ampNFNEATJr8rA2ICB7YQh4vJrcwTC2XJe-OVeTTc6E"},"attributes":{"enabled":true,"created":1565306622,"updated":1565306622,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1459,11 +1729,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8423795d-c030-4a62-872d-424952b4a64e', + 'd6060b98-3caa-45a8-be73-f35147e97159', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1473,32 +1743,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:22 GMT', + 'Thu, 08 Aug 2019 23:23:42 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '572' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-canupdateadisabledkey-/create', {"kty":"RSA","attributes":{"enabled":false}}) + .delete('/deletedkeys/recoverKeyName-cancreateanECkey-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/a70c3c942f5849a0b8c4960658bee33f","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJ4eQwY7tmVh3X5lX2jweToRpTq9sp1lakBKJ5ghJKhC8vWnexlI7bQPHt34sh1VFkVG5yxl8-5p1DUGld6NO_IKkckeexHHb55ECKOieVSH2clBvlomDDBBGmGOZPDCPvOF9dbjS8TPWH6GxjHL970zYuCib47Rq9UaKNNeI3Jx6Yo63I87ymKQRp5KbC9E9K9zPcorZ7_Fbi8P_ZWNWEYgC7LeKLKNlGhHc4uFii_nD5ustxVhXamOQFba0ytwUXLUVBYMzFIXzx8C0xMspCJIa8scsDHDw5ONSHcEMIgowqorog73NFn7_NJaYC-bCbaWRaJGZN9bakEcPmAhxQ","e":"AQAB"},"attributes":{"enabled":false,"created":1563492322,"updated":1563492322,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0c5cfc83-56bb-4c4f-9a98-395fa35e5fe5', + 'b09e7eb1-9712-448f-b613-af2ccbbc4c4a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1508,57 +1784,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:22 GMT', + 'Thu, 08 Aug 2019 23:23:43 GMT', 'Connection', - 'close', - 'Content-Length', - '701' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .patch('/keys/recoverKeyName-canupdateadisabledkey-/a70c3c942f5849a0b8c4960658bee33f', {"attributes":{"exp":1546300800}}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/a70c3c942f5849a0b8c4960658bee33f","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJ4eQwY7tmVh3X5lX2jweToRpTq9sp1lakBKJ5ghJKhC8vWnexlI7bQPHt34sh1VFkVG5yxl8-5p1DUGld6NO_IKkckeexHHb55ECKOieVSH2clBvlomDDBBGmGOZPDCPvOF9dbjS8TPWH6GxjHL970zYuCib47Rq9UaKNNeI3Jx6Yo63I87ymKQRp5KbC9E9K9zPcorZ7_Fbi8P_ZWNWEYgC7LeKLKNlGhHc4uFii_nD5ustxVhXamOQFba0ytwUXLUVBYMzFIXzx8C0xMspCJIa8scsDHDw5ONSHcEMIgowqorog73NFn7_NJaYC-bCbaWRaJGZN9bakEcPmAhxQ","e":"AQAB"},"attributes":{"enabled":false,"exp":1546300800,"created":1563492322,"updated":1563492323,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'a69efbc7-4bac-4f54-a480-d4d103c90e60', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'bbfa1498-d5a1-4859-b029-7119643c5400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHEQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:25:22 GMT', + 'Thu, 08 Aug 2019 23:23:43 GMT', 'Connection', 'close', 'Content-Length', - '718' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-canupdateadisabledkey-') + .delete('/deletedkeys/recoverKeyName-cancreateanECkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-","deletedDate":1563492323,"scheduledPurgeDate":1571268323,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/a70c3c942f5849a0b8c4960658bee33f","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"zJ4eQwY7tmVh3X5lX2jweToRpTq9sp1lakBKJ5ghJKhC8vWnexlI7bQPHt34sh1VFkVG5yxl8-5p1DUGld6NO_IKkckeexHHb55ECKOieVSH2clBvlomDDBBGmGOZPDCPvOF9dbjS8TPWH6GxjHL970zYuCib47Rq9UaKNNeI3Jx6Yo63I87ymKQRp5KbC9E9K9zPcorZ7_Fbi8P_ZWNWEYgC7LeKLKNlGhHc4uFii_nD5ustxVhXamOQFba0ytwUXLUVBYMzFIXzx8C0xMspCJIa8scsDHDw5ONSHcEMIgowqorog73NFn7_NJaYC-bCbaWRaJGZN9bakEcPmAhxQ","e":"AQAB"},"attributes":{"enabled":false,"exp":1546300800,"created":1563492322,"updated":1563492323,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1568,11 +1841,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '80848b1c-6e57-4977-b3f2-ddbf0f90f239', + 'c6557a3b-74de-4708-8026-8b430d353b16', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1582,36 +1855,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:22 GMT', + 'Thu, 08 Aug 2019 23:23:44 GMT', 'Connection', - 'close', - 'Content-Length', - '893' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .delete('/deletedkeys/recoverKeyName-cancreateanECkey-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e636d16e-120d-414f-a06b-4f6278b468cd', + 'ff6fbdd0-eae9-4405-a641-f15ae190db5f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1621,50 +1894,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:23 GMT', + 'Thu, 08 Aug 2019 23:23:53 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '813030dd-b06f-45ff-a45d-77e9b25fd86a', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'e45f6238-7abe-41ca-a8b2-4e78a0375a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHEgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:54 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:25:33 GMT', + 'Thu, 08 Aug 2019 23:23:54 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .delete('/deletedkeys/recoverKeyName-cancreateanECkey-') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -1677,11 +1947,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e4295edd-6926-47d9-837f-f5c7d2f29a71', + '0079a77d-c17b-4ff5-b087-ed90f24fd6b5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1691,32 +1961,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:44 GMT', + 'Thu, 08 Aug 2019 23:23:54 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-candeleteakey-/create', {"kty":"RSA"}) + .post('/keys/recoverKeyName-cancreateanECkeywithcurve-/create') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/c3ac28ea54e14a2cbc976343d0e38927","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"5X0SlO2tnB_XEYBi6a4Ds5NBGLWEiO59fv6FeIAhmf_3q2zzfWsfIwt4EcVONsheqHgVBIEHqiPlfMj76c2C4EK_nJB252eonR6lUDrykEVw1wMpr8BHkCKjQZQjcC2I-8MwVCZ-S4KfIV_GoNxv3kx2kbMASHQuOE3DZXk2YHSnZdyybTMPW8XnnqRylYkpOxcZ4PAgx7zbMPl0V_TPOxI4tiRij5A9-yUwu5V9IBbFHCF0-DT_KY-rBP3Q5h1vF79JIL_EwgnfC7En9qScTUMMAU-BPwQUTvye2BIcOQeyWl6wHyV8cr1Qjtn-zjePxuSyzFWs8ZnK6k5NjBEypw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492345,"updated":1563492345,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7c98bc50-22ba-4665-a7d7-150cc92ef2dc', + '2f9ab92c-1c39-499e-b02e-4d5ead9cce82', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1726,17 +2000,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:45 GMT', + 'Thu, 08 Aug 2019 23:23:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9236756f-d2b1-4f9c-86bb-4e6592323200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHEwAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:55 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:54 GMT', 'Connection', 'close', 'Content-Length', - '692' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-candeleteakey-') + .post('/keys/recoverKeyName-cancreateanECkeywithcurve-/create', {"kty":"EC","attributes":{},"crv":"P-256"}) .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-","deletedDate":1563492346,"scheduledPurgeDate":1571268346,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/c3ac28ea54e14a2cbc976343d0e38927","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"5X0SlO2tnB_XEYBi6a4Ds5NBGLWEiO59fv6FeIAhmf_3q2zzfWsfIwt4EcVONsheqHgVBIEHqiPlfMj76c2C4EK_nJB252eonR6lUDrykEVw1wMpr8BHkCKjQZQjcC2I-8MwVCZ-S4KfIV_GoNxv3kx2kbMASHQuOE3DZXk2YHSnZdyybTMPW8XnnqRylYkpOxcZ4PAgx7zbMPl0V_TPOxI4tiRij5A9-yUwu5V9IBbFHCF0-DT_KY-rBP3Q5h1vF79JIL_EwgnfC7En9qScTUMMAU-BPwQUTvye2BIcOQeyWl6wHyV8cr1Qjtn-zjePxuSyzFWs8ZnK6k5NjBEypw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492345,"updated":1563492345,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/4a8bd1a74d81484cb4458aebeaafecdb","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"uRzHOIS5nq3NgLz_HcizWwg02U0guNwdLLZj8O1bItM","y":"5DJgrKxE38ANL19noFRV_l6SoR0ffx1wftL3k0nJLSI"},"attributes":{"enabled":true,"created":1565306635,"updated":1565306635,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1749,11 +2055,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '666f2eed-3b26-44f5-b5d8-fc152c3abaa1', + '7507bdb2-4b98-4d8e-9c2b-578d0dfec4c5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1763,36 +2069,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:45 GMT', + 'Thu, 08 Aug 2019 23:23:55 GMT', 'Connection', 'close', 'Content-Length', - '859' ]); + '413' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-candeleteakey-/') + .delete('/keys/recoverKeyName-cancreateanECkeywithcurve-') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-candeleteakey-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '106', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '337f3014-4191-4770-a1ee-3f285e60c914', + '5e53bf73-bb98-470b-9abc-041939dde39d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1802,55 +2110,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:46 GMT', + 'Thu, 08 Aug 2019 23:23:55 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-candeleteakey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'b7461b3c-568b-436f-8223-72cf74ab8940', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '81d54f45-74c9-4d8a-9b25-fb88923c7b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHFAAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:56 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:25:46 GMT', + 'Thu, 08 Aug 2019 23:23:55 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-candeleteakey-') + .delete('/keys/recoverKeyName-cancreateanECkeywithcurve-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-","deletedDate":1565306636,"scheduledPurgeDate":1573082636,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateanECkeywithcurve-/4a8bd1a74d81484cb4458aebeaafecdb","kty":"EC","key_ops":["sign","verify"],"crv":"P-256","x":"uRzHOIS5nq3NgLz_HcizWwg02U0guNwdLLZj8O1bItM","y":"5DJgrKxE38ANL19noFRV_l6SoR0ffx1wftL3k0nJLSI"},"attributes":{"enabled":true,"created":1565306635,"updated":1565306635,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1858,11 +2165,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b917a24d-e0c0-45c4-84aa-eccc57d8fc87', + '2c6318c7-e128-4513-9759-927b299f4468', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1872,34 +2179,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:57 GMT', + 'Thu, 08 Aug 2019 23:23:56 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '590' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-deletenonexistingkey-/') + .delete('/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-deletenonexistingkey-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '113', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '926029bd-bce8-485c-8ba2-1e7577a99452', + 'c09ba7d2-43c7-42d7-be6a-0654131b9990', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1909,55 +2220,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:58 GMT', + 'Thu, 08 Aug 2019 23:23:56 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangetakey-/create', {"kty":"RSA"}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/c187d159760f40aaadee66d67f1fcaff","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"k-Fe3sPR31z3DQnPqmGuD9lkdmIGOaFm-svqwaJd0KQGod889YWMkVXtjh2MHb_voj25NLcfa8UnzULmwWN6OvWT99ss_f81Cj5dzv_WGklmHvGV8lRPha52qRHEIL-AVgMJ2UaHHZsjyNX_g0OTzMriSllq54yTysLmFc2jB8KqG9OowhnQYUhpOBZDIbRkus42fYGSucscZzEl6DL7aMOhW4Rp3IQcg-Pz_dyKTMRGeewFYm6xwyMyYIlx-YBhyQMBbG9YFJz4lQwSBo2UnMVV4lsPIY0f4Q35ipgSQtL96Ar_VtwrpkFEu_RjuEys718iaTlKWvkknNtlSedgew","e":"AQAB"},"attributes":{"enabled":true,"created":1563492358,"updated":1563492358,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '6c789dc5-a545-4eb4-a31b-8a59835d99f2', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'dc563fa1-0866-4cfc-9011-16a830e14700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHFQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:25:58 GMT', + 'Thu, 08 Aug 2019 23:23:57 GMT', 'Connection', 'close', 'Content-Length', - '689' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-cangetakey-/') + .delete('/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/c187d159760f40aaadee66d67f1fcaff","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"k-Fe3sPR31z3DQnPqmGuD9lkdmIGOaFm-svqwaJd0KQGod889YWMkVXtjh2MHb_voj25NLcfa8UnzULmwWN6OvWT99ss_f81Cj5dzv_WGklmHvGV8lRPha52qRHEIL-AVgMJ2UaHHZsjyNX_g0OTzMriSllq54yTysLmFc2jB8KqG9OowhnQYUhpOBZDIbRkus42fYGSucscZzEl6DL7aMOhW4Rp3IQcg-Pz_dyKTMRGeewFYm6xwyMyYIlx-YBhyQMBbG9YFJz4lQwSBo2UnMVV4lsPIY0f4Q35ipgSQtL96Ar_VtwrpkFEu_RjuEys718iaTlKWvkknNtlSedgew","e":"AQAB"},"attributes":{"enabled":true,"created":1563492358,"updated":1563492358,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1967,11 +2277,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'bc56a210-4269-4b05-92b3-65e092197812', + '36977ae8-80f1-4a5c-942b-206f502ae701', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1981,34 +2291,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:59 GMT', + 'Thu, 08 Aug 2019 23:23:57 GMT', 'Connection', - 'close', - 'Content-Length', - '689' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangetakey-') + .delete('/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-","deletedDate":1563492359,"scheduledPurgeDate":1571268359,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/c187d159760f40aaadee66d67f1fcaff","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"k-Fe3sPR31z3DQnPqmGuD9lkdmIGOaFm-svqwaJd0KQGod889YWMkVXtjh2MHb_voj25NLcfa8UnzULmwWN6OvWT99ss_f81Cj5dzv_WGklmHvGV8lRPha52qRHEIL-AVgMJ2UaHHZsjyNX_g0OTzMriSllq54yTysLmFc2jB8KqG9OowhnQYUhpOBZDIbRkus42fYGSucscZzEl6DL7aMOhW4Rp3IQcg-Pz_dyKTMRGeewFYm6xwyMyYIlx-YBhyQMBbG9YFJz4lQwSBo2UnMVV4lsPIY0f4Q35ipgSQtL96Ar_VtwrpkFEu_RjuEys718iaTlKWvkknNtlSedgew","e":"AQAB"},"attributes":{"enabled":true,"created":1563492358,"updated":1563492358,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2802a8d9-dabb-44b0-b043-1977de85fcc4', + '135a2db6-0fbe-4674-9cd8-bbd6cfdb1c9c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2018,52 +2330,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:25:59 GMT', + 'Thu, 08 Aug 2019 23:24:07 GMT', 'Connection', - 'close', - 'Content-Length', - '853' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetakey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '96401c16-f438-4bab-b9b1-dc8dba41285a', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '30b42b13-36d4-4922-82c6-ffda91db3b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHFgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:08 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:26:00 GMT', + 'Thu, 08 Aug 2019 23:24:07 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetakey-') + .delete('/deletedkeys/recoverKeyName-cancreateanECkeywithcurve-') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -2076,11 +2383,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a17551c9-f0f4-4f5f-a8b2-d33ea44b479b', + '40775caa-f714-41b0-9c57-1519f9efeb7b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2090,32 +2397,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:10 GMT', + 'Thu, 08 Aug 2019 23:24:08 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangetaspecificversionofakey-/create', {"kty":"RSA"}) + .post('/keys/recoverKeyName-cancreateadisabledkey-/create') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/16ac8041a42f4f85b1f585dd7c7288cb","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"1GnLN2xnGq-neGxUxTm0buV9d-DksPazWcmg0BMUceplvbPAzZPW6b5VaQzOzWd7f3nbMNiwL39o0aIskQs5Bo57xdfAfltfBJEf1w84czzq8ghYbKDzVKv4Z1RPsYvb_qEyg56lvR3YNmCaYYpC-o69aNHJYOeuTCgUaY0aUvgNV34njRy9qELGIkKcxARPEHPhu0h1A7f4aNyci2GUEo_ww9hR5CVbZPfWUhM1Jd8ghPB2J_RsO_Kx3nb1FUWxN2JXDoZmakpB2IQzxVkb1sw7db2E92buuw_2lpfjeLPOeP0i3n5QG41pRCXuFqlnA1VTYJVbmavqWiFibvjzIQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492371,"updated":1563492371,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7a2e8c4b-1271-413a-87a1-a17a8ad5e0ee', + '30898d77-1337-4c70-b71b-640e95a3b36d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2125,54 +2436,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:10 GMT', + 'Thu, 08 Aug 2019 23:24:08 GMT', 'Connection', - 'close', - 'Content-Length', - '707' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-cangetaspecificversionofakey-/16ac8041a42f4f85b1f585dd7c7288cb') - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/16ac8041a42f4f85b1f585dd7c7288cb","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"1GnLN2xnGq-neGxUxTm0buV9d-DksPazWcmg0BMUceplvbPAzZPW6b5VaQzOzWd7f3nbMNiwL39o0aIskQs5Bo57xdfAfltfBJEf1w84czzq8ghYbKDzVKv4Z1RPsYvb_qEyg56lvR3YNmCaYYpC-o69aNHJYOeuTCgUaY0aUvgNV34njRy9qELGIkKcxARPEHPhu0h1A7f4aNyci2GUEo_ww9hR5CVbZPfWUhM1Jd8ghPB2J_RsO_Kx3nb1FUWxN2JXDoZmakpB2IQzxVkb1sw7db2E92buuw_2lpfjeLPOeP0i3n5QG41pRCXuFqlnA1VTYJVbmavqWiFibvjzIQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492371,"updated":1563492371,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '73fe3504-fc95-4c38-983c-015b341b86f0', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '2b471acd-26d2-41c6-9c21-1a7ce9893700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHFwAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:09 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:26:10 GMT', + 'Thu, 08 Aug 2019 23:24:08 GMT', 'Connection', 'close', 'Content-Length', - '707' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangetaspecificversionofakey-') + .post('/keys/recoverKeyName-cancreateadisabledkey-/create', {"kty":"RSA","attributes":{"enabled":false}}) .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-","deletedDate":1563492371,"scheduledPurgeDate":1571268371,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/16ac8041a42f4f85b1f585dd7c7288cb","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"1GnLN2xnGq-neGxUxTm0buV9d-DksPazWcmg0BMUceplvbPAzZPW6b5VaQzOzWd7f3nbMNiwL39o0aIskQs5Bo57xdfAfltfBJEf1w84czzq8ghYbKDzVKv4Z1RPsYvb_qEyg56lvR3YNmCaYYpC-o69aNHJYOeuTCgUaY0aUvgNV34njRy9qELGIkKcxARPEHPhu0h1A7f4aNyci2GUEo_ww9hR5CVbZPfWUhM1Jd8ghPB2J_RsO_Kx3nb1FUWxN2JXDoZmakpB2IQzxVkb1sw7db2E92buuw_2lpfjeLPOeP0i3n5QG41pRCXuFqlnA1VTYJVbmavqWiFibvjzIQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492371,"updated":1563492371,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/c6bcb3948de6407e8ab1e7d2520ab818","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"iWN_vcxuCa0hAMEifmsfqGMiRZt3wesHp1EyNGeN-Vx9U3MIXFLfYu6QInVPO11aBymQlimyuQtiHkJybWf2bofILrnwJBqv1Gwhl7YkJgrcCX5YtXefBvYBjEm0eG0W-nWwQb_g5xMl0wUtMQT1DO9uoKttCNZ-Ve4Qnm6fHvh9c2UqCPYcAJaMTHk16yJt0CtAjMiymstOWOyH5k5YuBoEG16a0999CfQDc21eGwlx9OR94q3sUzDKKvpxZ0h404NCrgctgld7szmWeyb1bczoUbpOH100DIYUiGrplAZHM2cy9P2MAg90DDWIIWMn2nGgx1-Ic8qunPVQs7Lylw","e":"AQAB"},"attributes":{"enabled":false,"created":1565306649,"updated":1565306649,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2185,11 +2491,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'c6a0b539-e94c-491f-bf03-18c0370b5cef', + 'b7f93563-5588-4e5e-8286-14a6e673e373', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2199,36 +2505,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:11 GMT', + 'Thu, 08 Aug 2019 23:24:09 GMT', 'Connection', 'close', 'Content-Length', - '889' ]); + '699' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetaspecificversionofakey-') + .delete('/keys/recoverKeyName-cancreateadisabledkey-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '72af9143-3390-4f33-9897-d6b634cc37e4', + '37f8ef96-f507-459a-b991-9201c7201c22', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2238,48 +2546,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:11 GMT', + 'Thu, 08 Aug 2019 23:24:10 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetaspecificversionofakey-') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'e56a7382-11c4-4341-9b56-2721f1e538a6', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'cd1cfe65-f382-4b7a-93d7-b927a4695300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHGAAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:10 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:26:23 GMT', + 'Thu, 08 Aug 2019 23:24:09 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangetadeletedkey-/create', {"kty":"RSA"}) + .delete('/keys/recoverKeyName-cancreateadisabledkey-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/0afe8421d2af4a0b9156ecc37e0011e5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vI_QpaKZTUH237QBRA6258Uq1oLNmZj4-nybGYJZo4pDFsKdGgWK_SRtlQBzXK37AdLsDaNJz1Ygv0DXQ88ggwZgWz5RFZ68SOdCyzJ7JuQC2XS6jKKHuIWBMxOlZvbit6c_qmieEnAMXOM-VRJyGzk5LdvA9sB91EF0uTiCyveYFc2ONP89FDq0XSxqrvD2yA0Wbqvff00zAUTRImK01S6AkFQ7kV6yfUmZNVszvvWB_PJmLIFbsH34nOZ2VDHCFRR6pQpZ19FDJUyiegmHZmABBZD71hxdRbN3U_imoXnSleoqUPKbHlFOv049XVDg4d-tALR9wVme0NB-y5Z7mw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492384,"updated":1563492384,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateadisabledkey-","deletedDate":1565306650,"scheduledPurgeDate":1573082650,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateadisabledkey-/c6bcb3948de6407e8ab1e7d2520ab818","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"iWN_vcxuCa0hAMEifmsfqGMiRZt3wesHp1EyNGeN-Vx9U3MIXFLfYu6QInVPO11aBymQlimyuQtiHkJybWf2bofILrnwJBqv1Gwhl7YkJgrcCX5YtXefBvYBjEm0eG0W-nWwQb_g5xMl0wUtMQT1DO9uoKttCNZ-Ve4Qnm6fHvh9c2UqCPYcAJaMTHk16yJt0CtAjMiymstOWOyH5k5YuBoEG16a0999CfQDc21eGwlx9OR94q3sUzDKKvpxZ0h404NCrgctgld7szmWeyb1bczoUbpOH100DIYUiGrplAZHM2cy9P2MAg90DDWIIWMn2nGgx1-Ic8qunPVQs7Lylw","e":"AQAB"},"attributes":{"enabled":false,"created":1565306649,"updated":1565306649,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2292,11 +2601,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd557a494-9376-47a3-9aec-67c70bcc4172', + 'cce5b18d-a14e-4602-94d1-ec3cd763913f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2306,34 +2615,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:23 GMT', + 'Thu, 08 Aug 2019 23:24:10 GMT', 'Connection', 'close', 'Content-Length', - '696' ]); + '872' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangetadeletedkey-') + .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-","deletedDate":1563492384,"scheduledPurgeDate":1571268384,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/0afe8421d2af4a0b9156ecc37e0011e5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vI_QpaKZTUH237QBRA6258Uq1oLNmZj4-nybGYJZo4pDFsKdGgWK_SRtlQBzXK37AdLsDaNJz1Ygv0DXQ88ggwZgWz5RFZ68SOdCyzJ7JuQC2XS6jKKHuIWBMxOlZvbit6c_qmieEnAMXOM-VRJyGzk5LdvA9sB91EF0uTiCyveYFc2ONP89FDq0XSxqrvD2yA0Wbqvff00zAUTRImK01S6AkFQ7kV6yfUmZNVszvvWB_PJmLIFbsH34nOZ2VDHCFRR6pQpZ19FDJUyiegmHZmABBZD71hxdRbN3U_imoXnSleoqUPKbHlFOv049XVDg4d-tALR9wVme0NB-y5Z7mw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492384,"updated":1563492384,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a9b5df8c-d3af-43b5-836c-665dc7e54c34', + '8559a121-aecf-4b7f-b932-9fc897398ac5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2343,54 +2656,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:24 GMT', + 'Thu, 08 Aug 2019 23:24:10 GMT', 'Connection', - 'close', - 'Content-Length', - '867' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') - .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-cangetadeletedkey-"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '67c580c6-6a31-4005-9fc9-29b4da49a004', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '4977eb11-a565-4679-b188-4f2684235300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHGQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:11 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:26:24 GMT', + 'Thu, 08 Aug 2019 23:24:10 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-cangetadeletedkey-"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2405,11 +2713,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '80ad4e53-761d-49a5-9b1c-f44262e323d9', + '045832ed-c342-429f-99db-c9be9b3ed484', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2419,32 +2727,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:34 GMT', + 'Thu, 08 Aug 2019 23:24:10 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-","deletedDate":1563492384,"scheduledPurgeDate":1571268384,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/0afe8421d2af4a0b9156ecc37e0011e5","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vI_QpaKZTUH237QBRA6258Uq1oLNmZj4-nybGYJZo4pDFsKdGgWK_SRtlQBzXK37AdLsDaNJz1Ygv0DXQ88ggwZgWz5RFZ68SOdCyzJ7JuQC2XS6jKKHuIWBMxOlZvbit6c_qmieEnAMXOM-VRJyGzk5LdvA9sB91EF0uTiCyveYFc2ONP89FDq0XSxqrvD2yA0Wbqvff00zAUTRImK01S6AkFQ7kV6yfUmZNVszvvWB_PJmLIFbsH34nOZ2VDHCFRR6pQpZ19FDJUyiegmHZmABBZD71hxdRbN3U_imoXnSleoqUPKbHlFOv049XVDg4d-tALR9wVme0NB-y5Z7mw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492384,"updated":1563492384,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '1223cd9e-408f-4643-a4ea-375598e4678c', + '098059ca-b6ae-4e6c-a552-7dd4e8443e08', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2454,11 +2766,4961 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:45 GMT', + 'Thu, 08 Aug 2019 23:24:21 GMT', 'Connection', - 'close', - 'Content-Length', - '867' ]); + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'df2b3292-1a98-4a01-8f90-512597ea3200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHGgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:21 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fd86c760-5256-41ca-91c7-f2738b7a0222', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a4267166-f278-4d37-b48e-9b043e16a3f4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:32 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3155bbd3-7f6c-46d3-b34b-5b4a50c53000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHGwAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateadisabledkey-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7e784392-b6f2-47b0-ae96-05e985133ef9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:32 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cancreateakeywithnotBefore-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6e8d2a36-f12c-471c-9337-a45bd296fe24', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'fb60c5a9-e21d-4de7-97c3-650d0d436800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHAAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:33 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cancreateakeywithnotBefore-/create', {"kty":"RSA","attributes":{"nbf":1546300805}}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/abf29ebfd56f44259102ecd551a1b0ac","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"sTmly4iS5LPRHMA6PpNpR8ZfCCaGOZ5bsPlrYfTpLN_fycOrHwF95yjoAYHCKmtBOkq2uMCxcGvc3mqIJaxU1iemYQIJJWd6_mN7nmcyzzfJ5z7kc82c0gkAQnVrdcQ1MsEe62Z3_Qj6J-t2TSIej_2I8ovEcFQSVz3RZvCJ2JqpK0sHLe5REL2FAxnsFeUGdeur0w5A3Nz1U56GGsMiJfbFHgb-UhhR-QM-mG6LGkbcZFrbjwoNUywxeyguB8AaQ-LrVTuoIno6AJJ_Mf0hqcsaMVS18F-IHi2t2MEY8fME4wq_Al63ROcthrJvNHgISOBGhBR-MObWHp7VJQY2lw","e":"AQAB"},"attributes":{"enabled":true,"nbf":1546300805,"created":1565306674,"updated":1565306674,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a5ab6a39-c7c1-42ce-9bf6-b38879c0d6a4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '720' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9e72a9f6-c5de-45ca-9f61-5b5fb752780b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9a1a8560-222e-4dc9-9e72-838fbcac4600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHQAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:34 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-","deletedDate":1565306674,"scheduledPurgeDate":1573082674,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-/abf29ebfd56f44259102ecd551a1b0ac","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"sTmly4iS5LPRHMA6PpNpR8ZfCCaGOZ5bsPlrYfTpLN_fycOrHwF95yjoAYHCKmtBOkq2uMCxcGvc3mqIJaxU1iemYQIJJWd6_mN7nmcyzzfJ5z7kc82c0gkAQnVrdcQ1MsEe62Z3_Qj6J-t2TSIej_2I8ovEcFQSVz3RZvCJ2JqpK0sHLe5REL2FAxnsFeUGdeur0w5A3Nz1U56GGsMiJfbFHgb-UhhR-QM-mG6LGkbcZFrbjwoNUywxeyguB8AaQ-LrVTuoIno6AJJ_Mf0hqcsaMVS18F-IHi2t2MEY8fME4wq_Al63ROcthrJvNHgISOBGhBR-MObWHp7VJQY2lw","e":"AQAB"},"attributes":{"enabled":true,"nbf":1546300805,"created":1565306674,"updated":1565306674,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '639e9885-ac4d-4613-b525-618ba9c34c1a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:34 GMT', + 'Connection', + 'close', + 'Content-Length', + '898' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c01b5205-09f5-4ee2-b576-88db3bd54ac1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:34 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '17a5a76e-dea7-4c43-9653-b55add986500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:35 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:34 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '99876b1b-a9cc-4784-a5ef-137b4ee3d23a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:35 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '26d193d3-51f8-45f7-b5b3-66c04809ecfd', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '63a99535-15ce-435c-997d-0156d7053200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'adf9485c-909c-48d5-a357-5d83b2fea765', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6d1a8486-e7ab-4cea-bb04-ea4e5bbff70e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:56 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4029a355-14af-4e50-9e86-0b458cef6600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:56 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:56 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7589c774-0166-466c-ac2b-16a307581c3b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:56 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cancreateakeywithexpires-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9b888026-3971-49b4-8bdd-839f915844c9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:57 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1f53405f-3908-4d47-88fe-06aba79a3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:57 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cancreateakeywithexpires-/create', {"kty":"RSA","attributes":{"exp":1546300805}}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/e045f459dc814913be909a53cc7afc05","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"swwWmFwW660kSQpUVPmZKN-uSwxC5syLbG8-zvCVUL9EgOY5o3FrKO5cWg8bqWvoaj4wxhdHrhULikOtX__2A76Hj-v0Jk7vndcIfd49Ortpi2sXueRZw3FPB8l6tU7B9qw9-HFKQ87Jlb3PdoSWSiuCcVYtChV7MUXtMeJjSsbXMkIlEDR28KzSP9NVlzFdt18F_xQL3Rv0KMZLNSERFEBsa_Awu5tlTM9a5FUrCS-tN5tZRY-4MNmgic6ava7Bi5RADd_ViUzxe3xxfUw9E_-KEKyZ4bZBfBN5kVxBKZ3KEYYKJ3OU5sJ3fe9Jme3tbWthGMOSww2E44oDavEYgw","e":"AQAB"},"attributes":{"enabled":true,"exp":1546300805,"created":1565306698,"updated":1565306698,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2f654c50-96d3-48f6-9c8d-ab087cc414ae', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '718' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9edad2c9-e0ab-4ec1-aace-8f30fcfd5417', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:57 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5f399e5f-fd84-40e1-a955-b285d48c2c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:58 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithexpires-","deletedDate":1565306699,"scheduledPurgeDate":1573082699,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithexpires-/e045f459dc814913be909a53cc7afc05","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"swwWmFwW660kSQpUVPmZKN-uSwxC5syLbG8-zvCVUL9EgOY5o3FrKO5cWg8bqWvoaj4wxhdHrhULikOtX__2A76Hj-v0Jk7vndcIfd49Ortpi2sXueRZw3FPB8l6tU7B9qw9-HFKQ87Jlb3PdoSWSiuCcVYtChV7MUXtMeJjSsbXMkIlEDR28KzSP9NVlzFdt18F_xQL3Rv0KMZLNSERFEBsa_Awu5tlTM9a5FUrCS-tN5tZRY-4MNmgic6ava7Bi5RADd_ViUzxe3xxfUw9E_-KEKyZ4bZBfBN5kVxBKZ3KEYYKJ3OU5sJ3fe9Jme3tbWthGMOSww2E44oDavEYgw","e":"AQAB"},"attributes":{"enabled":true,"exp":1546300805,"created":1565306698,"updated":1565306698,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8bfc8c03-5693-44bb-a187-ed35ce4abc07', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '894' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4ac892fd-aba5-43d9-94a7-b4f2278839af', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '47b5a84f-466f-4f0d-8196-765217d86200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:59 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:59 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd68c5ee5-236e-4030-b0ff-86c3c5db5b28', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'df1d73d7-d84f-4d41-baa0-1d1e369665a7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:10 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0d784478-d6b1-43a8-b675-95feb86a5800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:10 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:10 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7bee7092-ac8b-4918-92bd-0de31f82d3e3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:10 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'cfff441c-50a8-4e29-90ff-c2f501a3f7e5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:20 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a12f3be6-1d3e-429b-911b-7da80cfd3000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:21 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cancreateakeywithexpires-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5ac643fc-5651-4d08-bfca-ffc571acd8e6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canupdatekey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '807ecbbe-0d01-4c00-a175-f5f7b5e9aac2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:22 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'fb60c5a9-e21d-4de7-97c3-650d2f4a6800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:22 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canupdatekey-/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/c4ea36e7a66346918f7b77c7bf8a8604","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"nwhEqoKiyf8adadJ9MteeYQoeFuehcg_oYzjg2ghGfAue2KC1GOjE-RrAjcsFh0OI2yrGGb-fiJtSK2C53N5EeQzwPK347bFPcSN2agOQQ-UHhlSI0SVpCH-14RIkLn2F7gLIHLiTm6TTvAJx2PYlVqdDHRyb845dtjr-surwcWhBEB-SfAcJbnRolEfaXDZpq6vn4c7jub4AgOeF1S6x64zVpOMN8Ze0lwFzbOpAOj9ubhTyitF7CoIUluKTRtDVew_dFD1_HKEUmITNZvQYE_9DAAykcdkYZ-s6g6YNCdXR9uI7lMakaC-0UuRDXBUCo0OWHKO1uZ4jqMSG4CUlw","e":"AQAB"},"attributes":{"enabled":true,"created":1565306723,"updated":1565306723,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7313763c-6d56-4e07-a6bf-5f1ffb2fa85d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '689' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .patch('/keys/recoverKeyName-canupdatekey-/c4ea36e7a66346918f7b77c7bf8a8604') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ea93de8d-860f-4683-9fea-751d1ac13262', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:22 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '11c84285-74d9-4621-9de1-a80da9c53c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:23 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .patch('/keys/recoverKeyName-canupdatekey-/c4ea36e7a66346918f7b77c7bf8a8604', {"attributes":{"enabled":false}}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/c4ea36e7a66346918f7b77c7bf8a8604","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"nwhEqoKiyf8adadJ9MteeYQoeFuehcg_oYzjg2ghGfAue2KC1GOjE-RrAjcsFh0OI2yrGGb-fiJtSK2C53N5EeQzwPK347bFPcSN2agOQQ-UHhlSI0SVpCH-14RIkLn2F7gLIHLiTm6TTvAJx2PYlVqdDHRyb845dtjr-surwcWhBEB-SfAcJbnRolEfaXDZpq6vn4c7jub4AgOeF1S6x64zVpOMN8Ze0lwFzbOpAOj9ubhTyitF7CoIUluKTRtDVew_dFD1_HKEUmITNZvQYE_9DAAykcdkYZ-s6g6YNCdXR9uI7lMakaC-0UuRDXBUCo0OWHKO1uZ4jqMSG4CUlw","e":"AQAB"},"attributes":{"enabled":false,"created":1565306723,"updated":1565306723,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '372e50de-08f9-47db-aa54-c81ed47240e4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '690' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canupdatekey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '83dc83fe-184e-405d-97da-a853e5e7019a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:23 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ecd18f61-94d0-4ee1-92f3-cc3db78d3d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:24 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canupdatekey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdatekey-","deletedDate":1565306724,"scheduledPurgeDate":1573082724,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdatekey-/c4ea36e7a66346918f7b77c7bf8a8604","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"nwhEqoKiyf8adadJ9MteeYQoeFuehcg_oYzjg2ghGfAue2KC1GOjE-RrAjcsFh0OI2yrGGb-fiJtSK2C53N5EeQzwPK347bFPcSN2agOQQ-UHhlSI0SVpCH-14RIkLn2F7gLIHLiTm6TTvAJx2PYlVqdDHRyb845dtjr-surwcWhBEB-SfAcJbnRolEfaXDZpq6vn4c7jub4AgOeF1S6x64zVpOMN8Ze0lwFzbOpAOj9ubhTyitF7CoIUluKTRtDVew_dFD1_HKEUmITNZvQYE_9DAAykcdkYZ-s6g6YNCdXR9uI7lMakaC-0UuRDXBUCo0OWHKO1uZ4jqMSG4CUlw","e":"AQAB"},"attributes":{"enabled":false,"created":1565306723,"updated":1565306723,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e0ff0ee7-8716-4333-a318-ce9a8dbab10c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '854' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdatekey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f89f2867-28ec-4b70-9a69-f4f27a1d10c1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:24 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a2439358-3990-4933-b2b4-c969038e3000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:25 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdatekey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '44021c12-12c5-4253-9add-e2337bbeaf03', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:24 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdatekey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '720d0142-b0a2-4cb0-89f6-45206ea0ac7c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:35 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0ffe68ef-95d3-4c58-926a-7a5cba0b6e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:36 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdatekey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '30d13ed0-b029-4cf1-bf1f-a5f929efd759', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:36 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdatekey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '946879fe-10f7-4235-abdc-da7cb625c4ba', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ff87c44b-4e4a-48fc-ae7c-84bd269b6300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdatekey-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5ce07259-fb13-420e-a5a2-d21e4daaed56', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:47 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canupdateadisabledkey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '728bf3c1-7872-4492-8082-a0f839d74760', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '144b755b-61fb-4077-ad3d-008b17876a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:47 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canupdateadisabledkey-/create', {"kty":"RSA","attributes":{"enabled":false}}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/9d3ffafe91864d83ad5caf9e9a1b2497","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vs6vzyubp2uinIK_9S3b-EqRba5EYd9NEHQhHb9qs8AmutnF_uUNPC0FtpkquEUov4sI57u5DKCLQXnVFfegjmPU1j2TztgclxER9H-YKQ069WveVKX-FAf82sFB7Qhgxix1R12bATVOA-NIZGWiMqorbhB2MzngN4a0aX3VqVXTr7FeJq4d1Sse3GFgEzdH1I2UcF6TRUUNIawQKul5-My0EOduJ5YTx21zyQI6iXOOR2oUEtjZD9M0FZWRAMnu0RCvo13dvPgpsW06r71R0vm0o38_nosmpeqM0afah-lgR-m7y3yGws7yvB-uPRwbbhzy8aocu92eXbVy2s8goQ","e":"AQAB"},"attributes":{"enabled":false,"created":1565306748,"updated":1565306748,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c9622826-370e-40d3-a1c1-9782952eabd0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '699' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .patch('/keys/recoverKeyName-canupdateadisabledkey-/9d3ffafe91864d83ad5caf9e9a1b2497') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '878c6853-bca2-4ecf-9c07-666f967514b5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:48 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5272db40-cf6b-4620-9885-ea2b49945a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:48 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .patch('/keys/recoverKeyName-canupdateadisabledkey-/9d3ffafe91864d83ad5caf9e9a1b2497', {"attributes":{"exp":1546300800}}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/9d3ffafe91864d83ad5caf9e9a1b2497","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vs6vzyubp2uinIK_9S3b-EqRba5EYd9NEHQhHb9qs8AmutnF_uUNPC0FtpkquEUov4sI57u5DKCLQXnVFfegjmPU1j2TztgclxER9H-YKQ069WveVKX-FAf82sFB7Qhgxix1R12bATVOA-NIZGWiMqorbhB2MzngN4a0aX3VqVXTr7FeJq4d1Sse3GFgEzdH1I2UcF6TRUUNIawQKul5-My0EOduJ5YTx21zyQI6iXOOR2oUEtjZD9M0FZWRAMnu0RCvo13dvPgpsW06r71R0vm0o38_nosmpeqM0afah-lgR-m7y3yGws7yvB-uPRwbbhzy8aocu92eXbVy2s8goQ","e":"AQAB"},"attributes":{"enabled":false,"exp":1546300800,"created":1565306748,"updated":1565306749,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ccb7e066-c652-40cb-885e-115511441903', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:48 GMT', + 'Connection', + 'close', + 'Content-Length', + '716' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '01d5b9a3-5a17-471b-a475-3d32d0414865', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:49 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '75e860af-6898-4075-ac99-f3a8305f6f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:49 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:49 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canupdateadisabledkey-","deletedDate":1565306750,"scheduledPurgeDate":1573082750,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canupdateadisabledkey-/9d3ffafe91864d83ad5caf9e9a1b2497","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vs6vzyubp2uinIK_9S3b-EqRba5EYd9NEHQhHb9qs8AmutnF_uUNPC0FtpkquEUov4sI57u5DKCLQXnVFfegjmPU1j2TztgclxER9H-YKQ069WveVKX-FAf82sFB7Qhgxix1R12bATVOA-NIZGWiMqorbhB2MzngN4a0aX3VqVXTr7FeJq4d1Sse3GFgEzdH1I2UcF6TRUUNIawQKul5-My0EOduJ5YTx21zyQI6iXOOR2oUEtjZD9M0FZWRAMnu0RCvo13dvPgpsW06r71R0vm0o38_nosmpeqM0afah-lgR-m7y3yGws7yvB-uPRwbbhzy8aocu92eXbVy2s8goQ","e":"AQAB"},"attributes":{"enabled":false,"exp":1546300800,"created":1565306748,"updated":1565306749,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c622b2e9-9a83-46cb-9f88-2cb47f7e5090', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '889' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8033c0f3-60a2-499c-bd0d-e1beea32a100', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:49 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd5fcd201-27af-4a7f-af66-734747043500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:50 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '95f19ef0-66f6-4bdc-adb3-6e3010e982e8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:50 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'cf89f32a-d334-4f8e-b327-a8e2ca0d5871', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:00 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1aefa331-3654-4e93-b0ac-3b0dceb64400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:01 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c89b1eda-24d4-48e5-8f53-4f2ce72a5269', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1037620f-8131-453f-94c5-00d04bee84de', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '06ced5af-b156-4752-8b9b-d0aa1a333d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:12 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:12 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canupdateadisabledkey-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a85eaadd-75b5-43b4-ad4e-218820c9ae54', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:11 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-candeleteakey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5269f01a-8324-41d2-9bee-a16ebcff8337', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:13 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0e731816-106e-4ba4-a9ef-a6b161b74a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:13 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:12 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-candeleteakey-/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/53965054b5694c8091509368c5bf39b2","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"slRKbXWOvfq1TITXIhFgclx5iWsrgSa51xo6mRHBMafstS-Z4l9dyeW4t4mpP7PhdWTKLtb42W2Ix0StsvAy-KX6yyuHW3kMU8v16PI4e9Ozib-VYj-u7n3G0SwMjMWn_6jPJf5RB7srS5Lf7ZHCI-TwFEB2WzGP2jNVNezweTDdrSbjZOGPwsZFJWGUIP2E63fOIfDEsGTgZRI6zOJqWP4aJACTQVAYY_wK7XSbPgSbjX2BStd8Ckq9U3jXV6IxdMRtCVXQXvVelWAixLerFOu9G5EW7EhkKKOfms9EnLNNuNkHUwEtQydvttnjaerXI9UkJ4Y4RC-kXcmtRjAHww","e":"AQAB"},"attributes":{"enabled":true,"created":1565306773,"updated":1565306773,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b5cf1989-d021-4aaa-a628-70895c471da8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:13 GMT', + 'Connection', + 'close', + 'Content-Length', + '690' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-candeleteakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5c03fe50-5acd-48af-a188-1a0a95d4ac33', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:13 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0edc7f3c-71f7-487b-b08a-8e6f7fe24800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:14 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:13 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-candeleteakey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-","deletedDate":1565306774,"scheduledPurgeDate":1573082774,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-/53965054b5694c8091509368c5bf39b2","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"slRKbXWOvfq1TITXIhFgclx5iWsrgSa51xo6mRHBMafstS-Z4l9dyeW4t4mpP7PhdWTKLtb42W2Ix0StsvAy-KX6yyuHW3kMU8v16PI4e9Ozib-VYj-u7n3G0SwMjMWn_6jPJf5RB7srS5Lf7ZHCI-TwFEB2WzGP2jNVNezweTDdrSbjZOGPwsZFJWGUIP2E63fOIfDEsGTgZRI6zOJqWP4aJACTQVAYY_wK7XSbPgSbjX2BStd8Ckq9U3jXV6IxdMRtCVXQXvVelWAixLerFOu9G5EW7EhkKKOfms9EnLNNuNkHUwEtQydvttnjaerXI9UkJ4Y4RC-kXcmtRjAHww","e":"AQAB"},"attributes":{"enabled":true,"created":1565306773,"updated":1565306773,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3e2247c4-0713-4f7c-a729-b5373ae91272', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:13 GMT', + 'Connection', + 'close', + 'Content-Length', + '855' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-candeleteakey-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c7859f1c-2a06-409b-ab8f-83e91cb3beea', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:14 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8c8d2462-9388-4875-804f-0e5934746800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:15 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:14 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-candeleteakey-/') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-candeleteakey-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '104', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'be96087e-d6f4-4b1c-b4b0-6212a5d6f2b6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:14 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-candeleteakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3329b4b6-86d1-4bd0-961b-a2bfb64064f1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2b8c291d-4ab7-4423-8229-ee04c7903200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:15 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:15 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-candeleteakey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9c79d941-e7e0-41fa-8019-2ca99e9ac5ed', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-candeleteakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '76db7a5b-750e-4442-a423-69eb95dec4c6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6ab33051-6c12-430b-9bae-c404227c3400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-candeleteakey-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '637df13b-8536-4cee-9f6b-1936a428e2b5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-deletenonexistingkey-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bf1b52a8-cd1f-4f45-94ba-1a8d88c4013d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '37168c0c-d0c3-45c5-8ad4-4850a2522c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-deletenonexistingkey-/') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-deletenonexistingkey-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '111', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '21c969e1-dc2d-4b86-96ae-7842b6131e31', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetakey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1458912f-b4ca-4332-86a3-049b8787d4ad', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd22ef8fb-980a-4271-af50-94e7baa22e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:28 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetakey-/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/10d3fd82376c41b3ac211806254b8a61","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"z0KZZh4lin-0Kb9ZW-nOMpA9C5ONo7weZ8-9tLJ10E6wq7OsGQUSPDHLOc30llV0w90p_wKtiUgNOV5tcO7Iu5OL6xkTfOec8PDrjtPMjbyxXUbIlgiBbJVICRK0G2dDUL7vfEXbYY8laMOh6jvln50srDwNdO9f7njbEln5ztRuwa5eU2e9QV2ZCxydeG49C-6G1-oiqA2Ha89xeNNScOLAxoVaGAAeS4xJjz1YOgAnU5-Cwi_RYutZ3u6t5c1ewyo3QjW0I-8bCwZT1I_Qa1DpFdLCwOlKbIwqXP4zTkswOyJg_Iu4ukp6EwP-5DrP3_rf8BDqzIjJpm3m6TSTpQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306789,"updated":1565306789,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '58606318-b99a-4ea6-8143-eb0aa8f7cbbc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:28 GMT', + 'Connection', + 'close', + 'Content-Length', + '687' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-cangetakey-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '23edca16-1e25-4aeb-8bdb-b36fc4756006', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0ec9cccb-e687-4a11-82e7-8548e7612a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-cangetakey-/') + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/10d3fd82376c41b3ac211806254b8a61","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"z0KZZh4lin-0Kb9ZW-nOMpA9C5ONo7weZ8-9tLJ10E6wq7OsGQUSPDHLOc30llV0w90p_wKtiUgNOV5tcO7Iu5OL6xkTfOec8PDrjtPMjbyxXUbIlgiBbJVICRK0G2dDUL7vfEXbYY8laMOh6jvln50srDwNdO9f7njbEln5ztRuwa5eU2e9QV2ZCxydeG49C-6G1-oiqA2Ha89xeNNScOLAxoVaGAAeS4xJjz1YOgAnU5-Cwi_RYutZ3u6t5c1ewyo3QjW0I-8bCwZT1I_Qa1DpFdLCwOlKbIwqXP4zTkswOyJg_Iu4ukp6EwP-5DrP3_rf8BDqzIjJpm3m6TSTpQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306789,"updated":1565306789,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1e9e4b42-b1e1-4ae4-97f2-2369456571fa', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '687' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '215e93ad-7fa5-4cbb-b544-c60eda271d49', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c5952f7f-c36e-4867-8b4f-7894b0993700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetakey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetakey-","deletedDate":1565306790,"scheduledPurgeDate":1573082790,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetakey-/10d3fd82376c41b3ac211806254b8a61","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"z0KZZh4lin-0Kb9ZW-nOMpA9C5ONo7weZ8-9tLJ10E6wq7OsGQUSPDHLOc30llV0w90p_wKtiUgNOV5tcO7Iu5OL6xkTfOec8PDrjtPMjbyxXUbIlgiBbJVICRK0G2dDUL7vfEXbYY8laMOh6jvln50srDwNdO9f7njbEln5ztRuwa5eU2e9QV2ZCxydeG49C-6G1-oiqA2Ha89xeNNScOLAxoVaGAAeS4xJjz1YOgAnU5-Cwi_RYutZ3u6t5c1ewyo3QjW0I-8bCwZT1I_Qa1DpFdLCwOlKbIwqXP4zTkswOyJg_Iu4ukp6EwP-5DrP3_rf8BDqzIjJpm3m6TSTpQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306789,"updated":1565306789,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '34ffbaa3-7797-44bd-89fc-1f916698ce91', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '849' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4dba7ce0-08d5-4f84-83c7-9aa8342dafdc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'feaf8c77-4706-43d8-9f7d-16ec45b65600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetakey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2316e745-97c9-4c82-967f-67643b459c98', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '220e1ad9-e32f-4637-85e3-c74dd880864d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'bd3922ec-3780-47d8-a8f8-b05ac0174d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetakey-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a5af10ca-b52b-4a72-8ddf-3650e7a13e7d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetaspecificversionofakey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6e56d28a-7c5d-4491-8775-05af5a606c5c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '587ca227-746d-411d-9628-21953c0e5900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetaspecificversionofakey-/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/b7d58b69278b4cbda473481ce0b4ed4f","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"rp7I7Extjyk_sUuH-71-J9quOfF7-JH0ipYZoG-XY1DJJkzzc1uLf4KKIPwFELITaP8nTAmZVqffXldKhPs46daNyj60HDce2PA63zKW-ZyCtwoZozqXKyY_R7uB4MrxuULJkJnZbaCMBRD97RK5DSWu2y3Uv0bEAtR9aYi2gG5zMoD0XuEzlEA11v7Kv1HbbqIkPMjauTPSEPPxTWXOdoc-f7MLozATI6htQ_ZfGw0xkj7cJ1LXraIVJ1YvPkj1xaWQdrq7fsqB2rZK-08MvE6-DNIv7UQ5sKQEmOxLfTcSVxXfPHl4SFY2UQk-NfbRQlY-DBuSQ-rqkDbZXej11Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e06cf27c-92b6-423e-8edf-b4e6448a5b93', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '705' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-cangetaspecificversionofakey-/b7d58b69278b4cbda473481ce0b4ed4f') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7e53002b-6fc5-43d0-b024-da1858b56ad0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd2acf4e3-0977-47b3-8792-f9578bb74900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-cangetaspecificversionofakey-/b7d58b69278b4cbda473481ce0b4ed4f') + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/b7d58b69278b4cbda473481ce0b4ed4f","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"rp7I7Extjyk_sUuH-71-J9quOfF7-JH0ipYZoG-XY1DJJkzzc1uLf4KKIPwFELITaP8nTAmZVqffXldKhPs46daNyj60HDce2PA63zKW-ZyCtwoZozqXKyY_R7uB4MrxuULJkJnZbaCMBRD97RK5DSWu2y3Uv0bEAtR9aYi2gG5zMoD0XuEzlEA11v7Kv1HbbqIkPMjauTPSEPPxTWXOdoc-f7MLozATI6htQ_ZfGw0xkj7cJ1LXraIVJ1YvPkj1xaWQdrq7fsqB2rZK-08MvE6-DNIv7UQ5sKQEmOxLfTcSVxXfPHl4SFY2UQk-NfbRQlY-DBuSQ-rqkDbZXej11Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '249e725c-1daf-4eab-8d32-bb9cadc8be09', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '705' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetaspecificversionofakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '987d502d-833f-4b94-a2a3-cd192aff0ddc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '459fa3bb-cdf1-4de5-9e85-7cfe95e32e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetaspecificversionofakey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetaspecificversionofakey-","deletedDate":1565306804,"scheduledPurgeDate":1573082804,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetaspecificversionofakey-/b7d58b69278b4cbda473481ce0b4ed4f","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"rp7I7Extjyk_sUuH-71-J9quOfF7-JH0ipYZoG-XY1DJJkzzc1uLf4KKIPwFELITaP8nTAmZVqffXldKhPs46daNyj60HDce2PA63zKW-ZyCtwoZozqXKyY_R7uB4MrxuULJkJnZbaCMBRD97RK5DSWu2y3Uv0bEAtR9aYi2gG5zMoD0XuEzlEA11v7Kv1HbbqIkPMjauTPSEPPxTWXOdoc-f7MLozATI6htQ_ZfGw0xkj7cJ1LXraIVJ1YvPkj1xaWQdrq7fsqB2rZK-08MvE6-DNIv7UQ5sKQEmOxLfTcSVxXfPHl4SFY2UQk-NfbRQlY-DBuSQ-rqkDbZXej11Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8f170621-5756-46f9-90a6-a55c6ef9ebde', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '885' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetaspecificversionofakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '93241f1e-3335-4c72-a6bc-1af069515944', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e9b9037c-d49b-4938-a860-430ed5672a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:45 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetaspecificversionofakey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '51cfe86a-35a2-46a3-b5e6-37cb3da8bb6b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetaspecificversionofakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fd0df1b9-dcb6-42f5-b70d-339fbde099fb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'cfd6c1ec-0265-4fe2-b75c-1733fc636700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:56 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:55 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetaspecificversionofakey-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '769bd606-4910-457c-b97c-8f3adff55552', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetadeletedkey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '830100d0-a82b-4495-b848-4c92c66ae7fe', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:56 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '79b86f20-37d9-4c3c-87b5-1fd971a24400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:56 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:56 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetadeletedkey-/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/18befff858164dcf96cf48e4e52157b4","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"odGcZ0wu1PkAtU3iI3yl7C-rwDR-LM43c_sIduJjDI1bXEJA4Q7J3blDytUrq6zua_TOKOUT_PhCEJl2tLfJUh8cQ_RKFNPYdldGECRnlMM1aXh5TDFkVoA2BOd7u0rWitRrdx7Ry2RLkCe_g4paPRb3bRMDuGfDIfkW7A1OqX6ULf4Zs0G9DLbxw7P1t9iaxLOE_KgEShBN566Q1I2OrG_ljHyiTeplDG5jisBMcjmCXdDVXggQzNakmGuamXQtI7kV3GFfkBUOMg6q9MAwJ2BBz8kq5t-atqqay6kSlS_kFYpBLO-1CeFa7CHKIJK3TdZc40NQzsff86lx4N4JSQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306817,"updated":1565306817,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '531a029c-afff-45d2-9195-c95d1787e962', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:56 GMT', + 'Connection', + 'close', + 'Content-Length', + '694' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a9effa4d-beb9-4b36-bab1-f506e7368a27', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:57 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '26f37155-bc32-4438-9335-d10fbac92a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:57 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-","deletedDate":1565306818,"scheduledPurgeDate":1573082818,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/18befff858164dcf96cf48e4e52157b4","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"odGcZ0wu1PkAtU3iI3yl7C-rwDR-LM43c_sIduJjDI1bXEJA4Q7J3blDytUrq6zua_TOKOUT_PhCEJl2tLfJUh8cQ_RKFNPYdldGECRnlMM1aXh5TDFkVoA2BOd7u0rWitRrdx7Ry2RLkCe_g4paPRb3bRMDuGfDIfkW7A1OqX6ULf4Zs0G9DLbxw7P1t9iaxLOE_KgEShBN566Q1I2OrG_ljHyiTeplDG5jisBMcjmCXdDVXggQzNakmGuamXQtI7kV3GFfkBUOMg6q9MAwJ2BBz8kq5t-atqqay6kSlS_kFYpBLO-1CeFa7CHKIJK3TdZc40NQzsff86lx4N4JSQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306817,"updated":1565306817,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6093ff79-ece1-487f-868c-c3b3e31cf1bb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '863' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7821d64f-c837-414f-9541-884206150734', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:57 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '188d8946-bf9d-4cb7-8bfc-06c3df0a3600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:59 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-cangetadeletedkey-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '116', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c138d287-0f96-45cf-b341-78e3a90b29fb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:58 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4ed80667-a177-4146-ba78-a31f2a0ab8b1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:08 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e6d4c764-c792-424a-a093-3e666ec34500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:09 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:08 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-cangetadeletedkey-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '116', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '658a4aae-3ab3-4281-becc-b524e418e7bf', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:09 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3473c90c-fa13-46e4-9c51-d432872b1fb9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:19 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f013da0a-e077-4ad0-8f4d-60e550f86500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:20 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetadeletedkey-","deletedDate":1565306818,"scheduledPurgeDate":1573082818,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetadeletedkey-/18befff858164dcf96cf48e4e52157b4","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"odGcZ0wu1PkAtU3iI3yl7C-rwDR-LM43c_sIduJjDI1bXEJA4Q7J3blDytUrq6zua_TOKOUT_PhCEJl2tLfJUh8cQ_RKFNPYdldGECRnlMM1aXh5TDFkVoA2BOd7u0rWitRrdx7Ry2RLkCe_g4paPRb3bRMDuGfDIfkW7A1OqX6ULf4Zs0G9DLbxw7P1t9iaxLOE_KgEShBN566Q1I2OrG_ljHyiTeplDG5jisBMcjmCXdDVXggQzNakmGuamXQtI7kV3GFfkBUOMg6q9MAwJ2BBz8kq5t-atqqay6kSlS_kFYpBLO-1CeFa7CHKIJK3TdZc40NQzsff86lx4N4JSQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306817,"updated":1565306817,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '369c79b8-b269-469d-aa4f-754540e41016', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '863' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetadeletedkey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a4e7b958-f5c9-45cf-a0dc-8503c3d89418', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:20 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3446778e-bcf5-4161-ae3e-4a8a2f095300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:21 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) @@ -2475,11 +7737,50 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '383f958b-9cd6-466e-b5fb-0a7da00b390b', + '824b3c08-93e2-4756-a688-26319f645d82', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cantgetadeletedkeythatdoesntexist-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c8a6577e-2206-4f27-af93-0ffdff98acad', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2489,11 +7790,45 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:46 GMT', + 'Thu, 08 Aug 2019 23:27:21 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2345cb21-882e-42eb-a635-95ac7d803100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AsrEX5WZlF9Ktwdr_hnpeEA_aSJHHgAAAL-l3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:22 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/keys/recoverKeyName-cantgetadeletedkeythatdoesntexist-') .query(true) @@ -2502,7 +7837,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'Pragma', 'no-cache', 'Content-Length', - '126', + '124', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -2512,11 +7847,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7009ac69-49bd-4016-9d25-e84ccc136072', + 'dd7c2833-256b-4a87-b6f4-052ab5a18063', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2526,7 +7861,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:47 GMT', + 'Thu, 08 Aug 2019 23:27:22 GMT', 'Connection', 'close' ]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__list_keys_in_various_ways/recording_before_all_hook.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__list_keys_in_various_ways/recording_before_all_hook.js index 063e47282926..04964751688e 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__list_keys_in_various_ways/recording_before_all_hook.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__list_keys_in_various_ways/recording_before_all_hook.js @@ -2,9 +2,48 @@ let nock = require('nock'); module.exports.testInfo = {} +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangettheversionsofakey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1b58d648-1747-4a87-bcd9-1656fab779a7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:55 GMT', + 'Connection', + 'close' ]); + + nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") - .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', 'no-cache, no-store', 'Pragma', 'no-cache', @@ -17,17 +56,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'x-ms-request-id', - '895b9200-8876-40f8-866c-8c6f9272f900', + '58d8d7a1-81ab-4068-81b4-f2772ab53d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'Set-Cookie', - 'fpc=AstPpV6Z2XFOlZZHydq4cJM_aSJHAQAAADb3wtQOAAAA; expires=Sat, 17-Aug-2019 23:26:47 GMT; path=/; secure; HttpOnly', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHAQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:56 GMT; path=/; secure; HttpOnly', 'Set-Cookie', 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', 'Set-Cookie', 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:26:46 GMT', + 'Thu, 08 Aug 2019 23:27:55 GMT', 'Connection', 'close', 'Content-Length', @@ -37,7 +78,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/keys/recoverKeyName-cangettheversionsofakey-/create', {"kty":"RSA"}) .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/d3faaf5078d24a42a43872047fa98ea0","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"xH4_DmWIGfodF7coAiEAPVvAkBuu312iyHXwT3st3sLx6nCY9H8KNIgNiVG0zEiBuDw9NudlmMcYeE3RXOmAaTCHREUZJcM93OKO9VSjd9Y1gpQghnnrCt50WHlnwv0Ekwz7rNVemFISCEIGEMoy3wiiDgbXIt0BX0VInG5ql71TRcRkMgovCBCmadbbYKCp9StrWvn63amxwN12Llb-Nk5bqrCY4FjvpsLwg47YmxUCn-6FRnq5A02tgsVJjercsibAt9TmVP_gdNHV_X0O_h5eqAl8vlFG4hWXKDWr_2YIA5IB_LbD2sPnIZSyK4ZMAipRFt-OjIvpseMzj-ptxQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492407,"updated":1563492407,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/43f5e6c2a3aa406eae4d2480f2e21c2d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"spR783VjS3UdUReNFY8DyzxAZcJ_9QfUeWqpNeBVD2IvK7hCz7uUVUSorY8jNfrLO5frzctWHRAjGSLfINMF4wRrUx7zTgvYlzXdLoa8a_8lI3YE1ENJAOCEalmCOl7sRqqIkDpkwCq6IZdJlmbT9fkX9LjiOQqXe1jkcDayKgfe73LScpMNktjuh2l_nI8J5PgFsfWqm8OL2goKtjfyf0VwbnO2Po-n0MrF7yhZrbj18vTFtBBam16rbfZqKPHoe21SC8BFxtsmF9Pbqiis3DgseW8C_7Cv1IMPryNPBAx_jSFyplEeUbRKE3HJ0BOo1s_EEJIkhrZpYvuRlc1kwQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306876,"updated":1565306876,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -50,11 +91,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '34173070-f834-422c-9df8-4507c9e46ef1', + '06da7b49-2117-4486-82da-952c9450ed35', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -64,34 +105,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:47 GMT', + 'Thu, 08 Aug 2019 23:27:56 GMT', 'Connection', 'close', 'Content-Length', - '702' ]); + '701' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/keys/recoverKeyName-cangettheversionsofakey-/versions') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/d3faaf5078d24a42a43872047fa98ea0","attributes":{"enabled":true,"created":1563492407,"updated":1563492407,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '62dc2e2a-ce47-41dc-b04c-51c835311d60', + '82724681-7a77-435d-b014-f0ed7f7350bc', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -101,17 +146,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:48 GMT', + 'Thu, 08 Aug 2019 23:27:56 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4ace6305-c36b-4a6d-916f-54b903ee3200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHAgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:56 GMT', 'Connection', 'close', 'Content-Length', - '280' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangettheversionsofakey-') + .get('/keys/recoverKeyName-cangettheversionsofakey-/versions') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-","deletedDate":1563492408,"scheduledPurgeDate":1571268408,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/d3faaf5078d24a42a43872047fa98ea0","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"xH4_DmWIGfodF7coAiEAPVvAkBuu312iyHXwT3st3sLx6nCY9H8KNIgNiVG0zEiBuDw9NudlmMcYeE3RXOmAaTCHREUZJcM93OKO9VSjd9Y1gpQghnnrCt50WHlnwv0Ekwz7rNVemFISCEIGEMoy3wiiDgbXIt0BX0VInG5ql71TRcRkMgovCBCmadbbYKCp9StrWvn63amxwN12Llb-Nk5bqrCY4FjvpsLwg47YmxUCn-6FRnq5A02tgsVJjercsibAt9TmVP_gdNHV_X0O_h5eqAl8vlFG4hWXKDWr_2YIA5IB_LbD2sPnIZSyK4ZMAipRFt-OjIvpseMzj-ptxQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492407,"updated":1563492407,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/43f5e6c2a3aa406eae4d2480f2e21c2d","attributes":{"enabled":true,"created":1565306876,"updated":1565306876,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -124,11 +201,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '85d58d46-7ae3-4f61-a3bc-9d4b5cc1a265', + '41353a1e-e594-4e07-9398-939c40fee6d2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -138,36 +215,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:48 GMT', + 'Thu, 08 Aug 2019 23:27:57 GMT', 'Connection', 'close', 'Content-Length', - '879' ]); + '279' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangettheversionsofakey-') + .delete('/keys/recoverKeyName-cangettheversionsofakey-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '16337893-5773-482b-b1c0-a501904eef77', + 'b42c2aef-bc9c-4927-b8b9-115e230455a6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -177,48 +256,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:48 GMT', + 'Thu, 08 Aug 2019 23:27:57 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangettheversionsofakey-') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '032f8b3c-420b-40d7-b37f-34e71d78b1a5', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'c8880d70-3985-4418-8f8d-9b0621cb2d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHAwAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:26:59 GMT', + 'Thu, 08 Aug 2019 23:27:57 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangettheversionsofakeypaged-/create', {"kty":"RSA"}) + .delete('/keys/recoverKeyName-cangettheversionsofakey-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/89101661ea554d219a4c0e8cab35e825","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"y3ZC2qb8y00aOe6BoZCZssR5iJh9jPqhAkRJ1JhydRet1ay0R34rr-3379fGK6XK6pKeENyRxmyzeM8V_QTibVihRlWn-RlyOgujV68P1ovcifLCMC-nl7hIDAHSyjJhvHkbTlT4UxlVUcaJVaALLP5BWG1bqDw_zftcllnAiZuMLwIafhV9cUMvgRL1vdjnr-Ds9h8yx9XAh6WWJrqEEu-IMGE6ZAKQ3aQHwt5xTF6WjZ8xcpL06hj-boLycoiOBsDaQMtUTl949DwM3jmCheB10lpg1BE-EBUlhsTN8PR96_-U6ROoMygrpXVrFC0xmZohQLKMs9O9s9F-INylHQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492420,"updated":1563492420,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakey-","deletedDate":1565306878,"scheduledPurgeDate":1573082878,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakey-/43f5e6c2a3aa406eae4d2480f2e21c2d","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"spR783VjS3UdUReNFY8DyzxAZcJ_9QfUeWqpNeBVD2IvK7hCz7uUVUSorY8jNfrLO5frzctWHRAjGSLfINMF4wRrUx7zTgvYlzXdLoa8a_8lI3YE1ENJAOCEalmCOl7sRqqIkDpkwCq6IZdJlmbT9fkX9LjiOQqXe1jkcDayKgfe73LScpMNktjuh2l_nI8J5PgFsfWqm8OL2goKtjfyf0VwbnO2Po-n0MrF7yhZrbj18vTFtBBam16rbfZqKPHoe21SC8BFxtsmF9Pbqiis3DgseW8C_7Cv1IMPryNPBAx_jSFyplEeUbRKE3HJ0BOo1s_EEJIkhrZpYvuRlc1kwQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306876,"updated":1565306876,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -231,11 +311,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8148adb8-9e49-469e-9805-12120d7c2503', + '659b2df8-c6ae-4d16-9ef3-315428915229', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -245,34 +325,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:26:59 GMT', + 'Thu, 08 Aug 2019 23:27:58 GMT', 'Connection', 'close', 'Content-Length', - '707' ]); + '877' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-cangettheversionsofakeypaged-/versions') + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakey-') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/89101661ea554d219a4c0e8cab35e825","attributes":{"enabled":true,"created":1563492420,"updated":1563492420,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '44614245-d79f-43bc-8b23-8c7afc8faa28', + 'd45d8cf8-8361-43ee-8a69-abee68ed72ca', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -282,20 +366,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:00 GMT', + 'Thu, 08 Aug 2019 23:27:57 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd5fcd201-27af-4a7f-af66-734760103500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHBAAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:58 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:57 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangettheversionsofakeypaged-') + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-","deletedDate":1563492421,"scheduledPurgeDate":1571268421,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/89101661ea554d219a4c0e8cab35e825","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"y3ZC2qb8y00aOe6BoZCZssR5iJh9jPqhAkRJ1JhydRet1ay0R34rr-3379fGK6XK6pKeENyRxmyzeM8V_QTibVihRlWn-RlyOgujV68P1ovcifLCMC-nl7hIDAHSyjJhvHkbTlT4UxlVUcaJVaALLP5BWG1bqDw_zftcllnAiZuMLwIafhV9cUMvgRL1vdjnr-Ds9h8yx9XAh6WWJrqEEu-IMGE6ZAKQ3aQHwt5xTF6WjZ8xcpL06hj-boLycoiOBsDaQMtUTl949DwM3jmCheB10lpg1BE-EBUlhsTN8PR96_-U6ROoMygrpXVrFC0xmZohQLKMs9O9s9F-INylHQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492420,"updated":1563492420,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -305,11 +423,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'c5b1b09a-c963-458a-a4a5-43a6962ca194', + '6b45d10c-5d43-425d-9734-6a89fbe36085', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -319,36 +437,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:00 GMT', + 'Thu, 08 Aug 2019 23:27:58 GMT', 'Connection', - 'close', - 'Content-Length', - '889' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakey-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '17451ffc-0a33-4c78-85c3-c849728e068f', + '678c21a7-2f92-4930-9c89-32987d8287e5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -358,13 +476,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:01 GMT', + 'Thu, 08 Aug 2019 23:28:08 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c2cfedf3-598c-4421-92fd-d340fe8f6f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHBQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:09 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:08 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakey-') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -377,11 +529,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '1c2ac5e0-6c7b-4366-9809-87bc96e7b5ad', + '414ac0ca-5ee7-44ca-bf1f-52e37f1977bf', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -391,32 +543,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:11 GMT', + 'Thu, 08 Aug 2019 23:28:09 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-list0versionsofanon-existingkey-/versions') + .post('/keys/recoverKeyName-cangettheversionsofakeypaged-/create') .query(true) - .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'fa1268b4-14f6-457a-ae23-aec411233a7f', + '525240f5-1f13-45f5-8be7-0135463b08e5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -426,17 +582,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:11 GMT', + 'Thu, 08 Aug 2019 23:28:09 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'b9694383-e8dc-47f2-819b-ad81ae2d5300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHBgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:10 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:10 GMT', 'Connection', 'close', 'Content-Length', - '28' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-list0versionsofanon-existingkeypaged-/versions') + .post('/keys/recoverKeyName-cangettheversionsofakeypaged-/create', {"kty":"RSA"}) .query(true) - .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/e2c8e55ac4e34ecfbf4de7e3e1f8113e","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"2KhX-qNMf9pqDxr9s4P4hSKU4E136AMBIjmCEE2YGxNDhci6dG7zYW_kB_8d0mlWT922dLnh0tbzieJW-Ti0gKrEh88MR47MNr9_ZDg5odZKfLzJcj6wbEP8249B-AJgGlH7oAUJrjbleeRuDo2xLAl3JSvjSwmOIMbppEMobRrcccWrIJbdLYwI8hA93LimTUC5oiaOUphKjqWxUqxN_nIYto9drEiRk2hDxZc8UdwTbzRasZx4YOoBsnSJ_yTpMpXNKi3WxDHCuRhyconp5Xl_8PgvPQJTazdKDi9O3FYCw2PVI6jDyz5fuf1KxIZNJxD4tW0mXFH-jFtryVoV9Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565306890,"updated":1565306890,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -449,11 +637,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a42b9450-396a-43d3-95e5-32c0b01a9a56', + '13e2de3c-caf0-40c0-8c0b-f55422e0d19e', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -463,34 +651,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:12 GMT', + 'Thu, 08 Aug 2019 23:28:09 GMT', 'Connection', 'close', 'Content-Length', - '28' ]); + '706' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangetseveralinsertedkeys--0/create', {"kty":"RSA"}) + .get('/keys/recoverKeyName-cangettheversionsofakeypaged-/versions') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/0777c6faec8a42728f9e8bae9d656745","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jyfUIyYmS6WXRr1IyD9ouRnsmf0B9hvByQ5tFB3Y5R4sAcg0ZZCeOZdgr-P8rmXLBAVFdFjhtpcvMCIm0nksHi1y03Wd8RNnVbElii9xJRAsqxiGK8SjmeSwYIr7HcR3hvRzeOTJiFKiPXSdZNjsF9aUgm_gQcDJyOCWi7yQZT8g2vEVnNVVMrema4eJ4PmSf6Q8LgBlN0atEVpEbumbk6LB_lNWsOaNo4PHybRQzw5axIDsydOl7sgzfsxuSJwuV-lrWTfTPTK9jKLruEK1dIKDnBNVBAVCd30pHHs9U92R-eO21BMPBY13Zt0Wxnmse8riyv__QHQDqChPSaC_Aw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492433,"updated":1563492433,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '59d4a620-63c4-4f81-91b8-1dd1dba0f0f1', + '8089dc39-46c9-41e3-8ea2-fb3c247472d5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -500,17 +692,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:12 GMT', + 'Thu, 08 Aug 2019 23:28:10 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a3401261-a4f7-4dac-92ef-7c2c6f0e5500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHBwAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:11 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:10 GMT', 'Connection', 'close', 'Content-Length', - '706' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangetseveralinsertedkeys--1/create', {"kty":"RSA"}) + .get('/keys/recoverKeyName-cangettheversionsofakeypaged-/versions') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/85b8f49ea9ed4ef38005846b6b902310","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pN8vSKSfCbz6HPgjdBrprTzi7JZD9bV2uAwIe4IodznaIWmKJVe6ZLRQO60zrU7covt-HBgW6dbJyVpdYH0o68dZKmvXYi4D5cteY5nI2eZgSYeFyFx4fU14lhAJla-knuT3st85CL56nmYpai8l_VUVXR8q9KQKu42QOYB4tejnNKRWMl0sDXtQm7Rmycc7KdO9-n30rgxv3LQTR701TbuWSJ3F7fDI59aFIf5dyAt_O71Jsk-uViMqxaeYhBaS0WNyLnCWv7Cf59mB8L4nLySMSiCKZ90_ji0hnYY4Mg7u_s8t2NhWHqAfzlzvAkF6OC3Fa2iwJWiS4VE8LlDEjw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492433,"updated":1563492433,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/e2c8e55ac4e34ecfbf4de7e3e1f8113e","attributes":{"enabled":true,"created":1565306890,"updated":1565306890,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -523,11 +747,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '375ce41c-572a-4826-a436-962b1150d606', + '127636ef-b40a-4140-a7b8-eb24de2a56fb', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -537,34 +761,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:13 GMT', + 'Thu, 08 Aug 2019 23:28:11 GMT', 'Connection', 'close', 'Content-Length', - '706' ]); + '284' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .delete('/keys/recoverKeyName-cangettheversionsofakeypaged-') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942","attributes":{"enabled":false,"created":1561685638,"updated":1561685638,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7048846f-7a5e-4265-8386-d19127c94c1e', + 'eafb9708-68d8-4d38-a4bc-30d30fd55290', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -574,17 +802,7509 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:14 GMT', + 'Thu, 08 Aug 2019 23:28:11 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'cd1cfe65-f382-4b7a-93d7-b9276a835300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHCAAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:12 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:11 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangettheversionsofakeypaged-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-","deletedDate":1565306892,"scheduledPurgeDate":1573082892,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangettheversionsofakeypaged-/e2c8e55ac4e34ecfbf4de7e3e1f8113e","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"2KhX-qNMf9pqDxr9s4P4hSKU4E136AMBIjmCEE2YGxNDhci6dG7zYW_kB_8d0mlWT922dLnh0tbzieJW-Ti0gKrEh88MR47MNr9_ZDg5odZKfLzJcj6wbEP8249B-AJgGlH7oAUJrjbleeRuDo2xLAl3JSvjSwmOIMbppEMobRrcccWrIJbdLYwI8hA93LimTUC5oiaOUphKjqWxUqxN_nIYto9drEiRk2hDxZc8UdwTbzRasZx4YOoBsnSJ_yTpMpXNKi3WxDHCuRhyconp5Xl_8PgvPQJTazdKDi9O3FYCw2PVI6jDyz5fuf1KxIZNJxD4tW0mXFH-jFtryVoV9Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565306890,"updated":1565306890,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8fc52866-7029-43d3-865a-41995d1aa247', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:11 GMT', + 'Connection', + 'close', + 'Content-Length', + '887' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ac9eb6b2-a170-4e61-9dc2-a482ab7d1c44', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:11 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4bbef5c6-3fa1-408d-afee-b70d960a2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHCQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:12 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:12 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0a5dda49-b408-4b55-b697-2cf65b87f2a4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '295683d8-7f03-498a-80c2-eeff98ccb08b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:23 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '78b55260-bd6d-4d89-9a1a-ddd5c66d7500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHCgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:23 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '88567d82-95db-44a5-8410-c8e5856697ee', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:23 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '27a206c8-469f-420a-9004-1cdebcff928d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e294df63-bf1f-40b8-ac56-64bcc1ae5500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHCwAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:34 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:34 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangettheversionsofakeypaged-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c1cff198-4a4b-41fa-938f-93a440ad184d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:34 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-list0versionsofanon-existingkey-/versions') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ed44f590-b319-4e2d-ad1b-fa20048b2b4e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:34 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '86ae1669-99a6-4f1f-a9e9-0d715bbf2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHDAAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:35 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-list0versionsofanon-existingkey-/versions') + .query(true) + .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f88a5b5e-7578-4224-907f-cc24383c7b04', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '28' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-list0versionsofanon-existingkeypaged-/versions') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2504e4f3-a4f0-4229-b8b4-5c839b52db79', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:35 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8c8d2462-9388-4875-804f-0e5909876800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHDQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:36 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-list0versionsofanon-existingkeypaged-/versions') + .query(true) + .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd0143636-6e63-4fc1-ad3e-815ea98937c1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '28' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeys--0/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '35d2e39c-e59c-4eae-b238-402f0ebba19c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'b27fee93-8a3b-4420-bef2-203e173c3300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHDgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:37 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeys--0/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/1417d8b33f1440e09a6810df09d806d8","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vdUuZLQBr2oOknweMydrEKSSmFFhNtQ_cGFVpcw9DxS2QfEpfOmhB_iMShiPsI2OOCBhFLOcbnxks3iUIYyK2g8ygDttSt_OFfaYxzUqC6Wxi6wZ4QhtoTmoxByDwq0X2PPo4XQyfW0DVB7W33cVpl-5rrQOPvFWf0V1EP7jdAkuSzzhtmvYOc6W-bwO8lDkXQV02BEfsBMsSMq8TFlzoRjY5_MTBhC_VteZBZgjb7P7HxziaYcJnkAzN7zYE043ws8v8CTMT_MaxCLLPRPpszlV3QFrW82KvC96O-DFujP__rZKQYjxzgeKInaYax3XpSUvVS4TWtnXau5_1VOh1w","e":"AQAB"},"attributes":{"enabled":true,"created":1565306917,"updated":1565306917,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5a7c3db9-e1f9-4333-9e26-9765142f034a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '705' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeys--1/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd905dd08-07c3-4847-9203-39a1a4c13784', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c0527f52-ef41-4c03-88fc-2c94813c2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHDwAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:37 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeys--1/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/0d05190518a940edbb0bbbbbc33b6efd","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"qvtazifCAdRYt3nCsP5iwIHBTy5qf_1GYt_BX-gqVrxjIFtLyu7Mb0j2Rq3YNfU0X2Spb6H4JgbN_9-iMylW9xE7oP8GXzjj8pfT3fzUWkFy3Y0zc8aW87xcpCoFxUrm8XrW5bFQk2fXb7qRH3lXsf83InhKv9Bot4M2FTx6jHGeS6PHoVxC7rTg6zWzNS7xw8IBwxIsHI35SahAWuuCH7XYiJJ9TWH73pIDB-xv7_-QfpsvypDJUcX2KfVcje_jIIx8ZgK6k-2SdL9BtEz1lVfiuYJaC5RynvIXammwOgXjsBDJ77-xZ1-rS2foxDSbauyP4aeVqY-cfxZbIUeomQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306918,"updated":1565306918,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '016bb724-0f2f-416f-a921-e0deeb1d9409', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:37 GMT', + 'Connection', + 'close', + 'Content-Length', + '705' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8f039b8a-fc74-4a29-912c-85874d0d9d07', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c49d73c5-82f0-4079-b485-e3037be52c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHEAAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942","attributes":{"enabled":false,"created":1561685638,"updated":1561685638,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8346acfe-0086-4ede-aa17-a2c06a167cae', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '556' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '78acc4dc-bb07-4967-b9c5-46df326ef814', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9fae2826-f2d8-46b3-b2c8-ca2166a33300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHEQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:39 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3f83f649-0a49-4665-bdb6-a20df53fdd4f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '309' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bc309d37-dad4-4fd8-af35-9ab84daad795', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '83a1626b-8218-4d67-a12e-d613926b5c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHEgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01","attributes":{"enabled":true,"created":1562805007,"updated":1562805007,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976015901904087","attributes":{"enabled":true,"created":1559760164,"updated":1559760164,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976018742005808","attributes":{"enabled":true,"created":1559760193,"updated":1559760193,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976035851309215","attributes":{"enabled":true,"created":1559760364,"updated":1559760364,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976038662209208","attributes":{"enabled":true,"created":1559760392,"updated":1559760392,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976059075801511","attributes":{"enabled":true,"created":1559760596,"updated":1559760596,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976061918309867","attributes":{"enabled":true,"created":1559760624,"updated":1559760624,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976088192202903","attributes":{"enabled":true,"created":1559760887,"updated":1559760887,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976090993105220","attributes":{"enabled":true,"created":1559760915,"updated":1559760915,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976118089506049","attributes":{"enabled":true,"created":1559761186,"updated":1559761186,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976120964305668","attributes":{"enabled":true,"created":1559761215,"updated":1559761215,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019567836900080","attributes":{"enabled":true,"created":1560195684,"updated":1560195684,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568419900112","attributes":{"enabled":true,"created":1560195689,"updated":1560195689,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568998004417","attributes":{"enabled":false,"created":1560195695,"updated":1560195695,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '13481081-5ee8-4f51-ad9e-5d18c7d34af3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '2857' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9947e7db-d622-438e-aae7-3be766888941', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2e86e89a-a0b3-47e5-b858-e4ae67d75c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHEwAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156019570157704018","attributes":{"enabled":true,"created":1560195707,"updated":1560195707,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019573560701886","attributes":{"enabled":true,"created":1560195741,"updated":1560195741,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019965517806158","attributes":{"enabled":true,"created":1560199660,"updated":1560199660,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966095601383","attributes":{"enabled":true,"created":1560199666,"updated":1560199666,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966655202551","attributes":{"enabled":false,"created":1560199672,"updated":1560199672,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019967216106153","attributes":{"enabled":true,"created":1560199678,"updated":1560199678,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019970108507840","attributes":{"enabled":true,"created":1560199707,"updated":1560199707,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019971819409376","attributes":{"enabled":true,"created":1560199723,"updated":1560199723,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020041605602688","attributes":{"enabled":true,"nbf":1560200421,"created":1560200422,"updated":1560200422,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020107570005644","attributes":{"enabled":true,"exp":1560201080,"created":1560201081,"updated":1560201081,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '29d7a68e-d129-45ba-99b9-0b58c6d01384', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '2160' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6c910e3b-a238-4123-8613-a24922bd2d0b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ef419037-c0a8-401f-96cc-18f478c74e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHFAAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021398454601816","attributes":{"enabled":true,"created":1560213990,"updated":1560213990,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399025306001","attributes":{"enabled":true,"created":1560213996,"updated":1560213996,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399613005852","attributes":{"enabled":true,"created":1560214001,"updated":1560214001,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400178007355","attributes":{"enabled":true,"created":1560214008,"updated":1560214008,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400838605408","attributes":{"enabled":false,"created":1560214013,"updated":1560214013,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401405804843","attributes":{"enabled":true,"nbf":1560214019,"created":1560214019,"updated":1560214019,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401972601264","attributes":{"enabled":true,"exp":1560214024,"created":1560214025,"updated":1560214025,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021402558506955","attributes":{"enabled":false,"created":1560214031,"updated":1560214036,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021403691203484","attributes":{"enabled":true,"created":1560214042,"updated":1560214042,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e7b638b7-becc-40ac-b69c-55c51c763efb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1976' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b380221f-5739-459a-ab8d-ededce67044e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c6fcc388-5f05-4161-ad2c-052a63c45c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHFQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021644428906562","attributes":{"enabled":true,"created":1560216450,"updated":1560216450,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645023201050","attributes":{"enabled":true,"created":1560216455,"updated":1560216455,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645600805675","attributes":{"enabled":true,"created":1560216461,"updated":1560216461,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646164300437","attributes":{"enabled":true,"created":1560216467,"updated":1560216467,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646738603126","attributes":{"enabled":false,"created":1560216473,"updated":1560216473,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647317101069","attributes":{"enabled":true,"nbf":1560216478,"created":1560216478,"updated":1560216478,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647896109795","attributes":{"enabled":true,"exp":1560216483,"created":1560216484,"updated":1560216484,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021648457806180","attributes":{"enabled":false,"created":1560216490,"updated":1560216495,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021649588105428","attributes":{"enabled":false,"exp":1560216501,"created":1560216501,"updated":1560216507,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021652991406663","attributes":{"enabled":true,"created":1560216535,"updated":1560216535,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021654118707998","attributes":{"enabled":true,"created":1560216546,"updated":1560216546,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021655789000990","attributes":{"enabled":true,"created":1560216563,"updated":1560216563,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021698079201746","attributes":{"enabled":true,"created":1560216986,"updated":1560216986,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3c4dfe2f-b6f4-4a7b-959f-368e0eb8345a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '2734' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a8e322c9-fe72-4b6a-b489-7456a247df61', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3155bbd3-7f6c-46d3-b34b-5b4a6de73000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHFgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:45 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156027682085504023","attributes":{"enabled":true,"created":1560276826,"updated":1560276826,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028175563002501","attributes":{"enabled":true,"created":1560281761,"updated":1560281761,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176140503335","attributes":{"enabled":true,"created":1560281767,"updated":1560281767,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176718009249","attributes":{"enabled":false,"created":1560281772,"updated":1560281772,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177274009592","attributes":{"enabled":true,"nbf":1560281777,"created":1560281778,"updated":1560281778,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177830101648","attributes":{"enabled":true,"exp":1560281783,"created":1560281784,"updated":1560281784,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028178407406544","attributes":{"enabled":false,"created":1560281789,"updated":1560281795,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028179546704608","attributes":{"enabled":false,"exp":1560281801,"created":1560281800,"updated":1560281806,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028182926703011","attributes":{"enabled":true,"created":1560281834,"updated":1560281834,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028184044006383","attributes":{"enabled":true,"created":1560281845,"updated":1560281845,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028189442507450","attributes":{"enabled":true,"created":1560281899,"updated":1560281899,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028205605702876","attributes":{"enabled":true,"created":1560282061,"updated":1560282061,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028212028407398","attributes":{"enabled":true,"created":1560282125,"updated":1560282125,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028213716108979","attributes":{"enabled":true,"created":1560282142,"updated":1560282142,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322090002888","attributes":{"enabled":false,"created":1560363226,"updated":1560363226,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fe2ad422-ad9c-41eb-852c-c7964721ec84', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '3105' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6cd20fb1-5526-47fd-9436-b7719e4d39c4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '88d049d6-f1af-400a-bb1f-993a3c104800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHFwAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322656807812","attributes":{"enabled":true,"nbf":1560363231,"created":1560363232,"updated":1560363232,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323238409224","attributes":{"enabled":true,"exp":1560363237,"created":1560363237,"updated":1560363237,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323804901755","attributes":{"enabled":false,"created":1560363243,"updated":1560363249,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036324938907401","attributes":{"enabled":false,"exp":1560363254,"created":1560363254,"updated":1560363260,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036328289805710","attributes":{"enabled":true,"created":1560363288,"updated":1560363288,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036329384707932","attributes":{"enabled":true,"created":1560363299,"updated":1560363299,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036335353805406","attributes":{"enabled":true,"created":1560363359,"updated":1560363359,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036352635406646","attributes":{"enabled":true,"created":1560363532,"updated":1560363532,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036359055200632","attributes":{"enabled":true,"created":1560363595,"updated":1560363595,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036360747106809","attributes":{"enabled":true,"created":1560363613,"updated":1560363613,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044301853106036","attributes":{"enabled":false,"created":1560443023,"updated":1560443029,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044302953209171","attributes":{"enabled":false,"exp":1560443035,"created":1560443035,"updated":1560443040,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044306342002510","attributes":{"enabled":true,"created":1560443069,"updated":1560443069,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044307483600798","attributes":{"enabled":true,"created":1560443080,"updated":1560443080,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044314989607523","attributes":{"enabled":true,"created":1560443155,"updated":1560443155,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044316109901534","attributes":{"enabled":true,"created":1560443166,"updated":1560443166,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044360211306282","attributes":{"enabled":true,"created":1560443607,"updated":1560443607,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044369613908113","attributes":{"enabled":true,"created":1560443701,"updated":1560443701,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044371294504848","attributes":{"enabled":true,"created":1560443718,"updated":1560443718,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156048233876700601","attributes":{"enabled":true,"created":1560482344,"updated":1560482344,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '296e315f-8eaf-48e9-9e49-40d0b6183ec7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '4047' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'be6c4c73-d0ea-4fb6-9f20-9f3b18d9e109', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0419e15d-2193-4e0a-a59a-400c06c05800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHGAAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:47 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156054122923308772","attributes":{"enabled":true,"created":1560541235,"updated":1560541235,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953600799","attributes":{"enabled":true,"created":1560199735,"updated":1560199735,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953608137","attributes":{"enabled":true,"created":1560199740,"updated":1560199740,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308206","attributes":{"enabled":true,"created":1560216580,"updated":1560216580,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308448","attributes":{"enabled":true,"created":1560216575,"updated":1560216575,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118107647","attributes":{"enabled":true,"created":1560281922,"updated":1560281922,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118109631","attributes":{"enabled":true,"created":1560281916,"updated":1560281916,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061400928","attributes":{"enabled":true,"created":1560363381,"updated":1560363381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061402620","attributes":{"enabled":true,"created":1560363376,"updated":1560363376,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335800124","attributes":{"enabled":true,"created":1560443194,"updated":1560443194,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335808106","attributes":{"enabled":true,"created":1560443188,"updated":1560443188,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345205112","attributes":{"enabled":true,"created":1560443259,"updated":1560443259,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345209472","attributes":{"enabled":true,"created":1560443264,"updated":1560443264,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b847df83-5e7b-483e-96b3-9a6b16f4510b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '3192' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '606dd3d8-38d3-4d61-a8b8-4500ab9478ea', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:47 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4c6bb968-7e31-429f-b1d3-de690ddc5f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHGQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:48 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:48 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/MyKeyName","attributes":{"enabled":true,"created":1559759721,"updated":1559759721,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-beforeeachhook-05210208539653571","attributes":{"enabled":true,"created":1564167055,"updated":1564167055,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-3045841949479433","attributes":{"enabled":true,"created":1563492996,"updated":1563492996,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-7067376901955089","attributes":{"enabled":true,"created":1563492908,"updated":1563492908,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-9299135263076788","attributes":{"enabled":true,"created":1563492791,"updated":1563492791,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596","attributes":{"enabled":true,"created":1563391406,"updated":1563391406,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMjghTURBd01EVXlJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzAzTmpjMU5EQXhNalkxT0RJek9EWWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '224f8860-9a08-4741-ae52-9f4081c85332', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:48 GMT', + 'Connection', + 'close', + 'Content-Length', + '1791' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '35adcf47-027c-418a-aeb8-469aabf4e16a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:49 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '442a6618-5b29-4cd7-a103-ac8c7c304a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHGgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:49 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:49 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0","attributes":{"enabled":true,"created":1565306917,"updated":1565306917,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1","attributes":{"enabled":true,"created":1565306918,"updated":1565306918,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783","attributes":{"enabled":true,"created":1561420381,"updated":1561420381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874","attributes":{"enabled":true,"created":1561420833,"updated":1561420833,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417","attributes":{"enabled":true,"created":1561420689,"updated":1561420689,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699601597","attributes":{"enabled":true,"created":1560195758,"updated":1560195758,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699608155","attributes":{"enabled":true,"created":1560195752,"updated":1560195752,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f8208ced-6e0d-41d4-b71f-2203816b4a6d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '1728' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeys--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7d0b979e-35ff-4e14-94c9-4ec4c9fc935f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:49 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '02b8eeb4-0f8c-4543-a7ee-fd2dcde42900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHGwAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:50 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeys--0') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0","deletedDate":1565306931,"scheduledPurgeDate":1573082931,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/1417d8b33f1440e09a6810df09d806d8","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vdUuZLQBr2oOknweMydrEKSSmFFhNtQ_cGFVpcw9DxS2QfEpfOmhB_iMShiPsI2OOCBhFLOcbnxks3iUIYyK2g8ygDttSt_OFfaYxzUqC6Wxi6wZ4QhtoTmoxByDwq0X2PPo4XQyfW0DVB7W33cVpl-5rrQOPvFWf0V1EP7jdAkuSzzhtmvYOc6W-bwO8lDkXQV02BEfsBMsSMq8TFlzoRjY5_MTBhC_VteZBZgjb7P7HxziaYcJnkAzN7zYE043ws8v8CTMT_MaxCLLPRPpszlV3QFrW82KvC96O-DFujP__rZKQYjxzgeKInaYax3XpSUvVS4TWtnXau5_1VOh1w","e":"AQAB"},"attributes":{"enabled":true,"created":1565306917,"updated":1565306917,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fdcc1ef6-90c2-4f43-a430-3b7e274c9e14', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '885' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '74bc4abb-ff36-4880-b9be-5d8f2f273105', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'cc96646f-5ca5-4eed-a704-543320353b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHAAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:51 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '684b1b30-b199-478e-8a4b-ea67f59782d4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:52 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '86074941-faf4-4ebf-89c3-19b160715cdb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:02 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2b8c9b58-f579-4d2e-bb22-5dc111da2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHQAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:02 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '409f45b3-fbde-42ea-a66a-b587948fb6eb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:02 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeys--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '11b91068-e986-4dca-b9f7-6db641f9db49', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:02 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'bfa7633e-e98b-4402-9741-32f8a6855e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:03 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:03 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeys--1') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1","deletedDate":1565306943,"scheduledPurgeDate":1573082943,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/0d05190518a940edbb0bbbbbc33b6efd","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"qvtazifCAdRYt3nCsP5iwIHBTy5qf_1GYt_BX-gqVrxjIFtLyu7Mb0j2Rq3YNfU0X2Spb6H4JgbN_9-iMylW9xE7oP8GXzjj8pfT3fzUWkFy3Y0zc8aW87xcpCoFxUrm8XrW5bFQk2fXb7qRH3lXsf83InhKv9Bot4M2FTx6jHGeS6PHoVxC7rTg6zWzNS7xw8IBwxIsHI35SahAWuuCH7XYiJJ9TWH73pIDB-xv7_-QfpsvypDJUcX2KfVcje_jIIx8ZgK6k-2SdL9BtEz1lVfiuYJaC5RynvIXammwOgXjsBDJ77-xZ1-rS2foxDSbauyP4aeVqY-cfxZbIUeomQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306918,"updated":1565306918,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '98cfcdc1-68f6-42ee-8ba6-00b11787c8fe', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:02 GMT', + 'Connection', + 'close', + 'Content-Length', + '885' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5c7f7ae5-1946-4aa6-a773-7c00b246d34e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2ca0a426-b172-4bfe-b745-906f28bd3c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:04 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:04 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd619a348-5bbf-445e-879d-924ed02b97ce', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a462ffd5-6193-4c32-86e1-73d1a5e7f51b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:14 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'fddb7b1c-c039-4d22-a0a9-3dcf8a5c4300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:15 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:14 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ec9bbdb3-69f2-4a3f-8167-de674bc0b667', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '60cb38b6-4801-4a28-b2ad-00fd4d97f346', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '89cbae7f-51f2-459e-91a1-c75ddef35200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:15 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/d50b205fb9614f30b8dd400e2059ed38","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"tt900QGV277y739x-Xje-36fmfRDUc5z5lVXxVeRdnarUW0dl-ib4h2Y6pE2apAtxmH21Ib4XhS3LAM6ME0pHv1_m04I6rBc88OzxrDv6vPPwLg79Cq1YjIBZ3oNB1hNOLbzzjq2wXu41nCrwR5TfmkHOYlkCSC1k0LbItlHBEqLR8WdzhujFA2xknVVeCJ4zhpvlPOPwF171cJ8k5NvH_9Qhg4O8i_DT2u42Kjv47yK6M8BRijLqeS2cOnwH8PUWn1rePfC2WXm1xd9Y6lY3WzmgBgjgV_4CeHMsYuYcDGS5fdNyQxDuu2TEjW9D_lfyyCDYJLx9nhmsMooUXl1mQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306956,"updated":1565306956,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '071e45a3-4df4-4f7f-adc8-950d29bbc6cc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '710' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a957683d-ca66-4c62-b93b-97e7bf8cba58', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'fc34a910-3ede-4bf9-bf76-bec71f2c6d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:17 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/5214b08c98ea4d329e67b369f2bba4a2","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"z1jQ7ekvHmfCzpdGx15oD5LixwzVixaBr-DpAzD5OWkei--luoWdHHhm_pp2XAed4cMWfrXGRQ--TUY1_fqgnuDllXN8UDwXTFPobjOrPHYMHCfSJx63XU_Lf7Y1Y5oa3d6RxtKe-uv5i4uflQW2AHcZ0FMQGNVnY7kWIq85YzBQto98_04LU5288JZFuGlBuqOyjUuXIp37nj5El80OJMU0EbkYzWbIrUyNA3JAWompXroMkHFJO_55SLlF-Kji5FMMTMhqQhs4Lf92IbGTyeNj7b_bG_wTQwd4U3o6k0tr5QVchm156tJnAVQJKR-FIRsCP4-ymG71F03aPLdJ4w","e":"AQAB"},"attributes":{"enabled":true,"created":1565306957,"updated":1565306957,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a6943ca5-eec8-4b2c-a6fb-96db94dad337', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '710' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a0865725-e52e-4bf1-ab50-3d2c13c8578f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '7cb32ffb-94a7-495b-886f-0f025e5b2e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:17 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:17 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942","attributes":{"enabled":false,"created":1561685638,"updated":1561685638,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '52da847e-d405-4ae6-ae6e-6c97c8399827', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '556' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '90b3ec21-7297-4cbe-bd7f-2b6281f77884', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ca26f505-1653-4148-89a8-345d10683300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2958e07c-835b-479f-9b44-d5f9e7d8afcf', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '309' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1abd745b-10d5-4bb2-a7c1-df8a82a3df45', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c64ad2fe-133b-426a-8d2b-091caed54f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01","attributes":{"enabled":true,"created":1562805007,"updated":1562805007,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976015901904087","attributes":{"enabled":true,"created":1559760164,"updated":1559760164,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976018742005808","attributes":{"enabled":true,"created":1559760193,"updated":1559760193,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976035851309215","attributes":{"enabled":true,"created":1559760364,"updated":1559760364,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976038662209208","attributes":{"enabled":true,"created":1559760392,"updated":1559760392,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976059075801511","attributes":{"enabled":true,"created":1559760596,"updated":1559760596,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976061918309867","attributes":{"enabled":true,"created":1559760624,"updated":1559760624,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976088192202903","attributes":{"enabled":true,"created":1559760887,"updated":1559760887,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976090993105220","attributes":{"enabled":true,"created":1559760915,"updated":1559760915,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976118089506049","attributes":{"enabled":true,"created":1559761186,"updated":1559761186,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976120964305668","attributes":{"enabled":true,"created":1559761215,"updated":1559761215,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019567836900080","attributes":{"enabled":true,"created":1560195684,"updated":1560195684,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568419900112","attributes":{"enabled":true,"created":1560195689,"updated":1560195689,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568998004417","attributes":{"enabled":false,"created":1560195695,"updated":1560195695,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f2d4f778-6400-45b3-80af-2a46ff6356ce', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '2857' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3559966f-0e12-46e7-879b-d32d8788a156', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:20 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0ffe68ef-95d3-4c58-926a-7a5c6c2b6e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:20 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156019570157704018","attributes":{"enabled":true,"created":1560195707,"updated":1560195707,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019573560701886","attributes":{"enabled":true,"created":1560195741,"updated":1560195741,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019965517806158","attributes":{"enabled":true,"created":1560199660,"updated":1560199660,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966095601383","attributes":{"enabled":true,"created":1560199666,"updated":1560199666,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966655202551","attributes":{"enabled":false,"created":1560199672,"updated":1560199672,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019967216106153","attributes":{"enabled":true,"created":1560199678,"updated":1560199678,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019970108507840","attributes":{"enabled":true,"created":1560199707,"updated":1560199707,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019971819409376","attributes":{"enabled":true,"created":1560199723,"updated":1560199723,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020041605602688","attributes":{"enabled":true,"nbf":1560200421,"created":1560200422,"updated":1560200422,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020107570005644","attributes":{"enabled":true,"exp":1560201080,"created":1560201081,"updated":1560201081,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '79a83ac1-6f18-4218-8d60-207dd86fda29', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '2160' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd5b0b7bc-d3bc-4787-b33b-897a41922a3a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:20 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5433a99d-367c-4824-acaa-1033db745c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:21 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021398454601816","attributes":{"enabled":true,"created":1560213990,"updated":1560213990,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399025306001","attributes":{"enabled":true,"created":1560213996,"updated":1560213996,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399613005852","attributes":{"enabled":true,"created":1560214001,"updated":1560214001,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400178007355","attributes":{"enabled":true,"created":1560214008,"updated":1560214008,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400838605408","attributes":{"enabled":false,"created":1560214013,"updated":1560214013,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401405804843","attributes":{"enabled":true,"nbf":1560214019,"created":1560214019,"updated":1560214019,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401972601264","attributes":{"enabled":true,"exp":1560214024,"created":1560214025,"updated":1560214025,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021402558506955","attributes":{"enabled":false,"created":1560214031,"updated":1560214036,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021403691203484","attributes":{"enabled":true,"created":1560214042,"updated":1560214042,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b8b9a828-138d-4073-a1f5-cf06cd3921bb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1976' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5225a9a1-2733-482a-8097-1d151b93e3b5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '98b76e44-5867-4105-86ab-0d420f582c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:22 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:22 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021644428906562","attributes":{"enabled":true,"created":1560216450,"updated":1560216450,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645023201050","attributes":{"enabled":true,"created":1560216455,"updated":1560216455,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645600805675","attributes":{"enabled":true,"created":1560216461,"updated":1560216461,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646164300437","attributes":{"enabled":true,"created":1560216467,"updated":1560216467,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646738603126","attributes":{"enabled":false,"created":1560216473,"updated":1560216473,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647317101069","attributes":{"enabled":true,"nbf":1560216478,"created":1560216478,"updated":1560216478,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647896109795","attributes":{"enabled":true,"exp":1560216483,"created":1560216484,"updated":1560216484,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021648457806180","attributes":{"enabled":false,"created":1560216490,"updated":1560216495,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021649588105428","attributes":{"enabled":false,"exp":1560216501,"created":1560216501,"updated":1560216507,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021652991406663","attributes":{"enabled":true,"created":1560216535,"updated":1560216535,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021654118707998","attributes":{"enabled":true,"created":1560216546,"updated":1560216546,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021655789000990","attributes":{"enabled":true,"created":1560216563,"updated":1560216563,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021698079201746","attributes":{"enabled":true,"created":1560216986,"updated":1560216986,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5bd1756a-95bb-4fec-9a54-6330791af66e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '2734' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e6f572fa-fb75-4b4e-89d8-72b89c6d8ad3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:23 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a3401261-a4f7-4dac-92ef-7c2ce9165500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:24 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156027682085504023","attributes":{"enabled":true,"created":1560276826,"updated":1560276826,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028175563002501","attributes":{"enabled":true,"created":1560281761,"updated":1560281761,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176140503335","attributes":{"enabled":true,"created":1560281767,"updated":1560281767,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176718009249","attributes":{"enabled":false,"created":1560281772,"updated":1560281772,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177274009592","attributes":{"enabled":true,"nbf":1560281777,"created":1560281778,"updated":1560281778,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177830101648","attributes":{"enabled":true,"exp":1560281783,"created":1560281784,"updated":1560281784,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028178407406544","attributes":{"enabled":false,"created":1560281789,"updated":1560281795,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028179546704608","attributes":{"enabled":false,"exp":1560281801,"created":1560281800,"updated":1560281806,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028182926703011","attributes":{"enabled":true,"created":1560281834,"updated":1560281834,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028184044006383","attributes":{"enabled":true,"created":1560281845,"updated":1560281845,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028189442507450","attributes":{"enabled":true,"created":1560281899,"updated":1560281899,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028205605702876","attributes":{"enabled":true,"created":1560282061,"updated":1560282061,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028212028407398","attributes":{"enabled":true,"created":1560282125,"updated":1560282125,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028213716108979","attributes":{"enabled":true,"created":1560282142,"updated":1560282142,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322090002888","attributes":{"enabled":false,"created":1560363226,"updated":1560363226,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8bfc3f78-d967-4775-8408-141bedd6f7f1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '3105' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '95b973f1-905f-43de-802e-7b8a602c7733', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:24 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c38a5e9e-1881-4aab-8ca2-ee2473913100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:25 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322656807812","attributes":{"enabled":true,"nbf":1560363231,"created":1560363232,"updated":1560363232,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323238409224","attributes":{"enabled":true,"exp":1560363237,"created":1560363237,"updated":1560363237,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323804901755","attributes":{"enabled":false,"created":1560363243,"updated":1560363249,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036324938907401","attributes":{"enabled":false,"exp":1560363254,"created":1560363254,"updated":1560363260,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036328289805710","attributes":{"enabled":true,"created":1560363288,"updated":1560363288,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036329384707932","attributes":{"enabled":true,"created":1560363299,"updated":1560363299,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036335353805406","attributes":{"enabled":true,"created":1560363359,"updated":1560363359,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036352635406646","attributes":{"enabled":true,"created":1560363532,"updated":1560363532,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036359055200632","attributes":{"enabled":true,"created":1560363595,"updated":1560363595,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036360747106809","attributes":{"enabled":true,"created":1560363613,"updated":1560363613,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044301853106036","attributes":{"enabled":false,"created":1560443023,"updated":1560443029,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044302953209171","attributes":{"enabled":false,"exp":1560443035,"created":1560443035,"updated":1560443040,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044306342002510","attributes":{"enabled":true,"created":1560443069,"updated":1560443069,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044307483600798","attributes":{"enabled":true,"created":1560443080,"updated":1560443080,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044314989607523","attributes":{"enabled":true,"created":1560443155,"updated":1560443155,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044316109901534","attributes":{"enabled":true,"created":1560443166,"updated":1560443166,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044360211306282","attributes":{"enabled":true,"created":1560443607,"updated":1560443607,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044369613908113","attributes":{"enabled":true,"created":1560443701,"updated":1560443701,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044371294504848","attributes":{"enabled":true,"created":1560443718,"updated":1560443718,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156048233876700601","attributes":{"enabled":true,"created":1560482344,"updated":1560482344,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8fde7d8b-0e0a-4ecb-9624-6ae102c386fb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '4047' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd089a4e2-ce5b-4021-b894-94ba8ce10b85', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:25 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8913c0a7-6cfb-4d7b-8dab-b02630695700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156054122923308772","attributes":{"enabled":true,"created":1560541235,"updated":1560541235,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953600799","attributes":{"enabled":true,"created":1560199735,"updated":1560199735,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953608137","attributes":{"enabled":true,"created":1560199740,"updated":1560199740,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308206","attributes":{"enabled":true,"created":1560216580,"updated":1560216580,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308448","attributes":{"enabled":true,"created":1560216575,"updated":1560216575,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118107647","attributes":{"enabled":true,"created":1560281922,"updated":1560281922,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118109631","attributes":{"enabled":true,"created":1560281916,"updated":1560281916,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061400928","attributes":{"enabled":true,"created":1560363381,"updated":1560363381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061402620","attributes":{"enabled":true,"created":1560363376,"updated":1560363376,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335800124","attributes":{"enabled":true,"created":1560443194,"updated":1560443194,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335808106","attributes":{"enabled":true,"created":1560443188,"updated":1560443188,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345205112","attributes":{"enabled":true,"created":1560443259,"updated":1560443259,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345209472","attributes":{"enabled":true,"created":1560443264,"updated":1560443264,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '76b7c4df-310b-44aa-ba45-bacf2e568b9b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '3192' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8d42afb0-b466-4df3-92f9-80b31973e6da', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8c490aa1-d682-4c57-8bc4-e096d0dc6a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:27 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/MyKeyName","attributes":{"enabled":true,"created":1559759721,"updated":1559759721,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-beforeeachhook-05210208539653571","attributes":{"enabled":true,"created":1564167055,"updated":1564167055,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-3045841949479433","attributes":{"enabled":true,"created":1563492996,"updated":1563492996,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-7067376901955089","attributes":{"enabled":true,"created":1563492908,"updated":1563492908,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-9299135263076788","attributes":{"enabled":true,"created":1563492791,"updated":1563492791,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596","attributes":{"enabled":true,"created":1563391406,"updated":1563391406,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMjghTURBd01EVXlJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzAzTmpjMU5EQXhNalkxT0RJek9EWWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e9f3e077-d1e4-428c-b56b-f8b2029d8800', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:27 GMT', + 'Connection', + 'close', + 'Content-Length', + '1791' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a7fc12a4-7680-45e4-88d4-578d67eff46a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c0527f52-ef41-4c03-88fc-2c9412432f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:28 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys') + .query(true) + .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0","attributes":{"enabled":true,"created":1565306956,"updated":1565306956,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1","attributes":{"enabled":true,"created":1565306957,"updated":1565306957,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783","attributes":{"enabled":true,"created":1561420381,"updated":1561420381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874","attributes":{"enabled":true,"created":1561420833,"updated":1561420833,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417","attributes":{"enabled":true,"created":1561420689,"updated":1561420689,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699601597","attributes":{"enabled":true,"created":1560195758,"updated":1560195758,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699608155","attributes":{"enabled":true,"created":1560195752,"updated":1560195752,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9a64bb0d-1d28-440a-819c-5a1386b5379c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:27 GMT', + 'Connection', + 'close', + 'Content-Length', + '1738' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '858634d5-a282-44e9-8eaf-ff5e21679cfc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'db628917-dff8-47c8-a365-971a9c255900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0","deletedDate":1565306969,"scheduledPurgeDate":1573082969,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/d50b205fb9614f30b8dd400e2059ed38","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"tt900QGV277y739x-Xje-36fmfRDUc5z5lVXxVeRdnarUW0dl-ib4h2Y6pE2apAtxmH21Ib4XhS3LAM6ME0pHv1_m04I6rBc88OzxrDv6vPPwLg79Cq1YjIBZ3oNB1hNOLbzzjq2wXu41nCrwR5TfmkHOYlkCSC1k0LbItlHBEqLR8WdzhujFA2xknVVeCJ4zhpvlPOPwF171cJ8k5NvH_9Qhg4O8i_DT2u42Kjv47yK6M8BRijLqeS2cOnwH8PUWn1rePfC2WXm1xd9Y6lY3WzmgBgjgV_4CeHMsYuYcDGS5fdNyQxDuu2TEjW9D_lfyyCDYJLx9nhmsMooUXl1mQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565306956,"updated":1565306956,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7962db7c-b0a2-492c-9b84-8f18f45370bb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '895' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '46f875ac-cf52-4e03-922f-405bed312f84', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'eff04258-4488-4276-b48a-ab9d714e4700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9d40bae1-b218-4cd1-9ffd-f3f7b60c9d44', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f1ec521e-bee1-4efc-9f55-4b4ddae40e5b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1b68a756-6a1d-4230-9aed-8e5efab43200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '114d0672-1305-43f9-96b5-e5205ef1c6ee', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '93889eca-ada0-45c0-af51-a18da62d464e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3915cdca-e53a-4b76-8953-b68971e64f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:51 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:51 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2daed272-387c-4729-a68b-c52426acef43', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'efd9a0d0-ab60-4aa8-9fa0-90c2bd3adddc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:52 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '272bae75-990a-4b69-9505-2fe6a1566500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:52 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:52 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1","deletedDate":1565306993,"scheduledPurgeDate":1573082993,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/5214b08c98ea4d329e67b369f2bba4a2","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"z1jQ7ekvHmfCzpdGx15oD5LixwzVixaBr-DpAzD5OWkei--luoWdHHhm_pp2XAed4cMWfrXGRQ--TUY1_fqgnuDllXN8UDwXTFPobjOrPHYMHCfSJx63XU_Lf7Y1Y5oa3d6RxtKe-uv5i4uflQW2AHcZ0FMQGNVnY7kWIq85YzBQto98_04LU5288JZFuGlBuqOyjUuXIp37nj5El80OJMU0EbkYzWbIrUyNA3JAWompXroMkHFJO_55SLlF-Kji5FMMTMhqQhs4Lf92IbGTyeNj7b_bG_wTQwd4U3o6k0tr5QVchm156tJnAVQJKR-FIRsCP4-ymG71F03aPLdJ4w","e":"AQAB"},"attributes":{"enabled":true,"created":1565306957,"updated":1565306957,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd88a91d6-8ea3-4181-8bd6-6ff68cea77ee', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:52 GMT', + 'Connection', + 'close', + 'Content-Length', + '895' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7f745331-c4bd-4a8b-a907-205157b6f2d8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:52 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '544afcf3-e694-4586-8c63-e99cc7713200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:53 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8d030167-06e2-450d-98b2-aa99053aea0e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:29:53 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2f18733f-35e7-43ee-86ed-6762618c30b5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:03 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f1805e46-6da9-489c-bc4a-5ca772446e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:04 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:04 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0439759e-0afc-404a-91e8-5a546437f100', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4fc48890-2eef-4be7-b86f-6fa7f4efbb39', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:14 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd03fab35-23b5-462e-8415-f1cc11b82d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:15 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:14 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4d9f5cc4-b53a-4297-a4e4-bba1d940f7f8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-listdeletedkeys--0/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3eb25d3b-41da-41b1-9c68-f2fe27620b3f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a119b1ea-86c8-4e74-abf7-82800c8a2800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:15 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-listdeletedkeys--0/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/148979a90e944006b0abc441e9539f37","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"uz3zpOzo7rHrd8kYDjhvIdr1g0mtwVjI6afRewi3P7YdRynDfkroZIami_wzfkjLhwCtGbReCAa511sJEcl8d2Ec2srxKX5BWSdy5StAHecMzaiVWMqnCSdrwG9ZivyEKmZjlQmpICyeeQaSkkuQ9OBG8eHuQPX7l5dvNtv2yMbdOT4uiZUdcKvBgI7JCfx_DNqXVICb8ulqgM8q8Oi3QxcK7fJIO8FwTd5kjiJ9QBLtIfm4H6jiMfud7mfFEw3BOBdB60oHp4BqjJXpTIacgrH8lc1dmXQrcEiCYF5upIPrYLi-h9PIwCgMhHC9uethVVcP6VMgTyBMZx2SO7SOUQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307016,"updated":1565307016,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bfe49465-2b77-428b-915d-3cfdde319311', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '695' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-listdeletedkeys--1/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ba79b9af-f05f-48c8-a55c-ce27473549ca', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6b9fff0a-9271-4979-96bc-1bcd3c093100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:17 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-listdeletedkeys--1/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/af42ebbddc7b4c8a9122b7a44531d297","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"0eibpkVGHAl20bBaLC8y0pycBfwEOEm1__a6PHQQakLcFYqWX46V3xE2Izb8nXz_mS-IZWU-o9zdKxyMnRarJIcMLva6CfOewaj8-hOOFgYooEMrdTq1jAXYxmoyCgIYZDfHK5JI0BFqB7pEA5-urPuw4GDBCfMH-cGU0CYS1LWRWLguJ_-3wylR8Z2yzg1rzcR0a3iMpWrlVzc7-ecXW_Bm7BbLuKzzkdPkFNpPTqnWOkPcwtoKrLUfEWnLKnpilqF-urvXZtQ33QYKBegaTPfE2PEXCk1BTZ1n7gU_NYWMELbZv7xuW0RqRHYO_jQqul8ZNoDbdDKw6UcPtdEO9w","e":"AQAB"},"attributes":{"enabled":true,"created":1565307017,"updated":1565307017,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f1a74c52-f905-48f5-9920-5b00b94df429', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:17 GMT', + 'Connection', + 'close', + 'Content-Length', + '695' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8c636081-3e66-4355-a4d5-afc14ec83606', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9daca97d-ba4f-4b2a-9ac0-be60e29c6f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0","deletedDate":1565307018,"scheduledPurgeDate":1573083018,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/148979a90e944006b0abc441e9539f37","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"uz3zpOzo7rHrd8kYDjhvIdr1g0mtwVjI6afRewi3P7YdRynDfkroZIami_wzfkjLhwCtGbReCAa511sJEcl8d2Ec2srxKX5BWSdy5StAHecMzaiVWMqnCSdrwG9ZivyEKmZjlQmpICyeeQaSkkuQ9OBG8eHuQPX7l5dvNtv2yMbdOT4uiZUdcKvBgI7JCfx_DNqXVICb8ulqgM8q8Oi3QxcK7fJIO8FwTd5kjiJ9QBLtIfm4H6jiMfud7mfFEw3BOBdB60oHp4BqjJXpTIacgrH8lc1dmXQrcEiCYF5upIPrYLi-h9PIwCgMhHC9uethVVcP6VMgTyBMZx2SO7SOUQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307016,"updated":1565307016,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4ce64bc3-2ca3-451b-833b-01b202aa1209', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '865' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-listdeletedkeys--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'aaeff3d5-ec40-45e2-94c4-5b631d03122e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '15d4cdf4-81af-4c73-a7e3-71ff540a5f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-listdeletedkeys--1') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1","deletedDate":1565307019,"scheduledPurgeDate":1573083019,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/af42ebbddc7b4c8a9122b7a44531d297","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"0eibpkVGHAl20bBaLC8y0pycBfwEOEm1__a6PHQQakLcFYqWX46V3xE2Izb8nXz_mS-IZWU-o9zdKxyMnRarJIcMLva6CfOewaj8-hOOFgYooEMrdTq1jAXYxmoyCgIYZDfHK5JI0BFqB7pEA5-urPuw4GDBCfMH-cGU0CYS1LWRWLguJ_-3wylR8Z2yzg1rzcR0a3iMpWrlVzc7-ecXW_Bm7BbLuKzzkdPkFNpPTqnWOkPcwtoKrLUfEWnLKnpilqF-urvXZtQ33QYKBegaTPfE2PEXCk1BTZ1n7gU_NYWMELbZv7xuW0RqRHYO_jQqul8ZNoDbdDKw6UcPtdEO9w","e":"AQAB"},"attributes":{"enabled":true,"created":1565307017,"updated":1565307017,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9e2a13cf-0e95-4fce-80b7-7cfeddf51682', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '865' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'eeb3057a-1dc9-4a9d-a7d0-8f6988a22c87', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:19 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6d08dfa9-ed4f-4ca4-a458-d0d2e3a03000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:20 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-listdeletedkeys--0"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '117', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a409504c-fe41-4216-b651-8633421bc409', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:19 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'dad15029-c4f5-4e24-9248-5acacbc38194', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3602ea69-467b-4155-b954-8502fae82e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-listdeletedkeys--0"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '117', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7eeda979-8244-49b7-bde7-5c6abea0f7dd', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '47e6428a-cca0-4457-89a0-eb0665a7597f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2c60d500-6bae-4d38-941c-ddf407233300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0","deletedDate":1565307018,"scheduledPurgeDate":1573083018,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/148979a90e944006b0abc441e9539f37","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"uz3zpOzo7rHrd8kYDjhvIdr1g0mtwVjI6afRewi3P7YdRynDfkroZIami_wzfkjLhwCtGbReCAa511sJEcl8d2Ec2srxKX5BWSdy5StAHecMzaiVWMqnCSdrwG9ZivyEKmZjlQmpICyeeQaSkkuQ9OBG8eHuQPX7l5dvNtv2yMbdOT4uiZUdcKvBgI7JCfx_DNqXVICb8ulqgM8q8Oi3QxcK7fJIO8FwTd5kjiJ9QBLtIfm4H6jiMfud7mfFEw3BOBdB60oHp4BqjJXpTIacgrH8lc1dmXQrcEiCYF5upIPrYLi-h9PIwCgMhHC9uethVVcP6VMgTyBMZx2SO7SOUQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307016,"updated":1565307016,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5a69ed6b-2d53-44c5-9cee-c73e98a2debd', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '865' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '393b601b-5622-4b74-8cb5-e9920fbf19f3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8ae5ad40-cec0-442d-8d93-afc431926100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys/recoverKeyName-listdeletedkeys--1') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1","deletedDate":1565307019,"scheduledPurgeDate":1573083019,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/af42ebbddc7b4c8a9122b7a44531d297","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"0eibpkVGHAl20bBaLC8y0pycBfwEOEm1__a6PHQQakLcFYqWX46V3xE2Izb8nXz_mS-IZWU-o9zdKxyMnRarJIcMLva6CfOewaj8-hOOFgYooEMrdTq1jAXYxmoyCgIYZDfHK5JI0BFqB7pEA5-urPuw4GDBCfMH-cGU0CYS1LWRWLguJ_-3wylR8Z2yzg1rzcR0a3iMpWrlVzc7-ecXW_Bm7BbLuKzzkdPkFNpPTqnWOkPcwtoKrLUfEWnLKnpilqF-urvXZtQ33QYKBegaTPfE2PEXCk1BTZ1n7gU_NYWMELbZv7xuW0RqRHYO_jQqul8ZNoDbdDKw6UcPtdEO9w","e":"AQAB"},"attributes":{"enabled":true,"created":1565307017,"updated":1565307017,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6c8080ff-0330-483b-9e55-dbe916b72b27', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '865' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7c44ff87-7118-4773-88e8-565888377c7c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '938b1b2d-2347-4a02-b853-a9e16ef46600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115","deletedDate":1561686237,"scheduledPurgeDate":1569462237,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115","attributes":{"enabled":false,"created":1561686237,"updated":1561686237,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891","deletedDate":1561685852,"scheduledPurgeDate":1569461852,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891","attributes":{"enabled":false,"created":1561685851,"updated":1561685851,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","deletedDate":1561414117,"scheduledPurgeDate":1569190117,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","attributes":{"enabled":true,"created":1561414117,"updated":1561414117,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","deletedDate":1561413873,"scheduledPurgeDate":1569189873,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","attributes":{"enabled":true,"created":1561413873,"updated":1561413873,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","deletedDate":1561685734,"scheduledPurgeDate":1569461734,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","attributes":{"enabled":true,"created":1561685734,"updated":1561685734,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","deletedDate":1561412406,"scheduledPurgeDate":1569188406,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","attributes":{"enabled":true,"created":1561412406,"updated":1561412406,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","deletedDate":1561414368,"scheduledPurgeDate":1569190368,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","attributes":{"enabled":true,"created":1561414367,"updated":1561414367,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","deletedDate":1561685633,"scheduledPurgeDate":1569461633,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","attributes":{"enabled":true,"created":1561685633,"updated":1561685633,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","deletedDate":1561685795,"scheduledPurgeDate":1569461795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","attributes":{"enabled":true,"created":1561685795,"updated":1561685795,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","deletedDate":1561414027,"scheduledPurgeDate":1569190027,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","attributes":{"enabled":true,"created":1561414027,"updated":1561414027,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","deletedDate":1561414305,"scheduledPurgeDate":1569190305,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","attributes":{"enabled":true,"created":1561414304,"updated":1561414304,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","deletedDate":1561685687,"scheduledPurgeDate":1569461687,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","attributes":{"enabled":true,"created":1561685687,"updated":1561685687,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '66042ed5-68e1-4376-8967-6d1bcf3cea40', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '5344' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '83c55e6b-2679-4092-8988-961b112cb866', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '76aee412-a7af-43c4-ad5b-ff290fcb5f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","deletedDate":1561686230,"scheduledPurgeDate":1569462230,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","attributes":{"enabled":true,"created":1561686229,"updated":1561686229,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","deletedDate":1561412660,"scheduledPurgeDate":1569188660,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","attributes":{"enabled":true,"created":1561412659,"updated":1561412659,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","deletedDate":1561415149,"scheduledPurgeDate":1569191149,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","attributes":{"enabled":true,"created":1561415147,"updated":1561415147,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","deletedDate":1561414691,"scheduledPurgeDate":1569190691,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","attributes":{"enabled":true,"created":1561414690,"updated":1561414690,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","deletedDate":1561411064,"scheduledPurgeDate":1569187064,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","attributes":{"enabled":true,"created":1561411063,"updated":1561411063,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","deletedDate":1561415010,"scheduledPurgeDate":1569191010,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","attributes":{"enabled":true,"created":1561415009,"updated":1561415009,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","deletedDate":1561415277,"scheduledPurgeDate":1569191277,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","attributes":{"enabled":true,"created":1561415276,"updated":1561415276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","deletedDate":1561685844,"scheduledPurgeDate":1569461844,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","attributes":{"enabled":true,"created":1561685844,"updated":1561685844,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","deletedDate":1561414795,"scheduledPurgeDate":1569190795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","attributes":{"enabled":true,"created":1561414794,"updated":1561414794,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","deletedDate":1561413350,"scheduledPurgeDate":1569189350,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","attributes":{"enabled":true,"created":1561413350,"updated":1561413350,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","deletedDate":1561686240,"scheduledPurgeDate":1569462240,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","attributes":{"enabled":true,"exp":1546300805,"created":1561686240,"updated":1561686240,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","deletedDate":1561685855,"scheduledPurgeDate":1569461855,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","attributes":{"enabled":true,"exp":1546300805,"created":1561685854,"updated":1561685854,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0166e9a0-0257-4cb9-8410-cf963097319e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '5295' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6a1056fc-69a0-4c3c-8841-7b40d44d29c9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4f2ded7c-f600-449e-befc-95af83743700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:45 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","deletedDate":1561686239,"scheduledPurgeDate":1569462239,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","attributes":{"enabled":true,"nbf":1546300805,"created":1561686238,"updated":1561686238,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","deletedDate":1561685853,"scheduledPurgeDate":1569461853,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","attributes":{"enabled":true,"nbf":1546300805,"created":1561685853,"updated":1561685853,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942","deletedDate":1561685637,"scheduledPurgeDate":1569461637,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942","attributes":{"enabled":true,"created":1561685636,"updated":1561685636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115","deletedDate":1561686234,"scheduledPurgeDate":1569462234,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115","attributes":{"enabled":true,"created":1561686234,"updated":1561686234,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891","deletedDate":1561685849,"scheduledPurgeDate":1569461849,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891","attributes":{"enabled":true,"created":1561685848,"updated":1561685848,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","deletedDate":1561685638,"scheduledPurgeDate":1569461638,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","attributes":{"enabled":true,"created":1561685637,"updated":1561685637,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","deletedDate":1561686236,"scheduledPurgeDate":1569462236,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","attributes":{"enabled":true,"created":1561686235,"updated":1561686235,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","deletedDate":1561685850,"scheduledPurgeDate":1569461850,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","attributes":{"enabled":true,"created":1561685850,"updated":1561685850,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942","deletedDate":1561685635,"scheduledPurgeDate":1569461635,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942","attributes":{"enabled":true,"created":1561685634,"updated":1561685634,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115","deletedDate":1561686231,"scheduledPurgeDate":1569462231,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115","attributes":{"enabled":true,"created":1561686231,"updated":1561686231,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133","deletedDate":1562874910,"scheduledPurgeDate":1570650910,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133","attributes":{"enabled":true,"created":1562874910,"updated":1562874910,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891","deletedDate":1561685846,"scheduledPurgeDate":1569461846,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891","attributes":{"enabled":true,"created":1561685845,"updated":1561685845,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","deletedDate":1561685636,"scheduledPurgeDate":1569461636,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","attributes":{"enabled":true,"created":1561685635,"updated":1561685635,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b678129c-11ee-4552-b9ad-03314e1547ab', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '5427' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd8c95489-e587-4d04-a010-d10f914a589c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ecd4acda-d58f-42b7-9a60-7902b6b05500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","deletedDate":1561686233,"scheduledPurgeDate":1569462233,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","attributes":{"enabled":true,"created":1561686232,"updated":1561686232,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","deletedDate":1561685847,"scheduledPurgeDate":1569461847,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","attributes":{"enabled":true,"created":1561685847,"updated":1561685847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115","deletedDate":1561686245,"scheduledPurgeDate":1569462245,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115","attributes":{"enabled":true,"created":1561686245,"updated":1561686245,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891","deletedDate":1561685860,"scheduledPurgeDate":1569461860,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891","attributes":{"enabled":true,"created":1561685860,"updated":1561685860,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616","deletedDate":1561685972,"scheduledPurgeDate":1569461972,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616","attributes":{"enabled":true,"created":1561685972,"updated":1561685972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887","deletedDate":1561685900,"scheduledPurgeDate":1569461900,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887","attributes":{"enabled":true,"created":1561685900,"updated":1561685900,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769","deletedDate":1561416018,"scheduledPurgeDate":1569192018,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769","attributes":{"enabled":true,"created":1561416018,"updated":1561416018,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544","deletedDate":1561415954,"scheduledPurgeDate":1569191954,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544","attributes":{"enabled":true,"created":1561415953,"updated":1561415953,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702","deletedDate":1561686157,"scheduledPurgeDate":1569462157,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702","attributes":{"enabled":true,"created":1561686156,"updated":1561686156,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891","deletedDate":1561685866,"scheduledPurgeDate":1569461866,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891","attributes":{"enabled":true,"created":1561685866,"updated":1561685866,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713","deletedDate":1561686136,"scheduledPurgeDate":1569462136,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713","attributes":{"enabled":true,"created":1561686135,"updated":1561686135,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404","deletedDate":1561686091,"scheduledPurgeDate":1569462091,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404","attributes":{"enabled":true,"created":1561686091,"updated":1561686091,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2eb88756-e4f6-452f-8968-5e0c34628546', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '4857' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd6825d15-e583-4a9f-8e6e-9e95ff4595d6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '80726dc0-b42c-497f-99a7-147a16ed2e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:47 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115","deletedDate":1561686248,"scheduledPurgeDate":1569462248,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115","attributes":{"enabled":true,"created":1561686247,"updated":1561686247,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891","deletedDate":1561685863,"scheduledPurgeDate":1569461863,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891","attributes":{"enabled":true,"created":1561685862,"updated":1561685862,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","deletedDate":1561686250,"scheduledPurgeDate":1569462250,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","attributes":{"enabled":true,"created":1561686249,"updated":1561686249,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","deletedDate":1561685865,"scheduledPurgeDate":1569461865,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","attributes":{"enabled":true,"created":1561685864,"updated":1561685864,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115","deletedDate":1561686244,"scheduledPurgeDate":1569462244,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115","attributes":{"enabled":false,"exp":1546300800,"created":1561686243,"updated":1561686244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891","deletedDate":1561685859,"scheduledPurgeDate":1569461859,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891","attributes":{"enabled":false,"exp":1546300800,"created":1561685858,"updated":1561685858,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115","deletedDate":1561686242,"scheduledPurgeDate":1569462242,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115","attributes":{"enabled":false,"created":1561686241,"updated":1561686242,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891","deletedDate":1561685857,"scheduledPurgeDate":1569461857,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891","attributes":{"enabled":false,"created":1561685856,"updated":1561685856,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test-key","deletedDate":1564437302,"scheduledPurgeDate":1572213302,"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test-key","attributes":{"enabled":true,"created":1564437301,"updated":1564437301,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CryptographyClientTestKey","deletedDate":1564415084,"scheduledPurgeDate":1572191084,"kid":"https://keyvault_name.vault.azure.net/keys/CryptographyClientTestKey","attributes":{"enabled":true,"created":1564415081,"updated":1564415081,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '911d17cd-64b7-4e50-aa8c-9c213e26a5f5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '4084' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9911c2c9-3eba-48e2-b835-54abba627bc5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c2c835c8-0068-4fbf-9974-bb513e2c2c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:47 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310","deletedDate":1560195770,"scheduledPurgeDate":1567971770,"kid":"https://keyvault_name.vault.azure.net/keys/key156019567242501310","attributes":{"enabled":true,"created":1560195678,"updated":1560195678,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0a2f8eda-32c7-4478-9b39-0ec4eebb54c1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:48 GMT', + 'Connection', + 'close', + 'Content-Length', + '609' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '673a688b-c214-451b-9213-070b3b88c449', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:48 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '028e4c55-30f7-454e-9bcf-cf1fe20a3000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:48 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:48 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134","deletedDate":1560195724,"scheduledPurgeDate":1567971724,"kid":"https://keyvault_name.vault.azure.net/keys/key156019571294800134","attributes":{"enabled":true,"created":1560195718,"updated":1560195718,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255","deletedDate":1560195904,"scheduledPurgeDate":1567971904,"kid":"https://keyvault_name.vault.azure.net/keys/key156019588703602255","attributes":{"enabled":false,"created":1560195892,"updated":1560195892,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155","deletedDate":1560196160,"scheduledPurgeDate":1567972160,"kid":"https://keyvault_name.vault.azure.net/keys/key156019614908508155","attributes":{"enabled":true,"nbf":1560196154,"created":1560196155,"updated":1560196155,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618","deletedDate":1560196278,"scheduledPurgeDate":1567972278,"kid":"https://keyvault_name.vault.azure.net/keys/key156019626145109618","attributes":{"enabled":true,"nbf":1560196266,"created":1560196267,"updated":1560196267,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535","deletedDate":1560196443,"scheduledPurgeDate":1567972443,"kid":"https://keyvault_name.vault.azure.net/keys/key156019643192308535","attributes":{"enabled":true,"nbf":1560196436,"created":1560196437,"updated":1560196437,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673","deletedDate":1560196776,"scheduledPurgeDate":1567972776,"kid":"https://keyvault_name.vault.azure.net/keys/key156019676499600673","attributes":{"enabled":true,"nbf":1560196769,"created":1560196770,"updated":1560196770,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785","deletedDate":1560196798,"scheduledPurgeDate":1567972798,"kid":"https://keyvault_name.vault.azure.net/keys/key156019678704709785","attributes":{"enabled":true,"nbf":1560196792,"created":1560196792,"updated":1560196792,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936","deletedDate":1560196842,"scheduledPurgeDate":1567972842,"kid":"https://keyvault_name.vault.azure.net/keys/key156019683131108936","attributes":{"enabled":true,"nbf":1560196836,"created":1560196836,"updated":1560196836,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648","deletedDate":1560196888,"scheduledPurgeDate":1567972888,"kid":"https://keyvault_name.vault.azure.net/keys/key156019687132907648","attributes":{"enabled":true,"nbf":1560196876,"created":1560196876,"updated":1560196876,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764","deletedDate":1560199758,"scheduledPurgeDate":1567975758,"kid":"https://keyvault_name.vault.azure.net/keys/key156019964932000764","attributes":{"enabled":true,"created":1560199655,"updated":1560199655,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4d0352bf-a0d1-4a77-bcaf-cfbf94b4bd60', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:48 GMT', + 'Connection', + 'close', + 'Content-Length', + '3732' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c9687771-eb19-4514-a68a-eb3e669f8e64', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:48 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'aab7b631-c963-4ded-b58a-41f8f4a22900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:49 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:49 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499","deletedDate":1560199695,"scheduledPurgeDate":1567975695,"kid":"https://keyvault_name.vault.azure.net/keys/key156019968394501499","attributes":{"enabled":true,"created":1560199689,"updated":1560199689,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548","deletedDate":1560200123,"scheduledPurgeDate":1567976123,"kid":"https://keyvault_name.vault.azure.net/keys/key156020010748409548","attributes":{"enabled":true,"nbf":1560200112,"created":1560200113,"updated":1560200113,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975","deletedDate":1560200982,"scheduledPurgeDate":1567976982,"kid":"https://keyvault_name.vault.azure.net/keys/key156020097075304975","attributes":{"enabled":true,"exp":1560200975,"created":1560200976,"updated":1560200976,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630","deletedDate":1560205908,"scheduledPurgeDate":1567981908,"kid":"https://keyvault_name.vault.azure.net/keys/key156020589654200630","attributes":{"enabled":true,"created":1560205902,"updated":1560205902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019","deletedDate":1560206019,"scheduledPurgeDate":1567982019,"kid":"https://keyvault_name.vault.azure.net/keys/key156020600810901019","attributes":{"enabled":true,"created":1560206013,"updated":1560206013,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'dab30bad-86b5-4230-903d-bf666efd28a1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:49 GMT', + 'Connection', + 'close', + 'Content-Length', + '1951' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9760eb3c-09ef-40d8-b071-4f53c42cd32e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:49 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd5fcd201-27af-4a7f-af66-7347fd233500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:50 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969","deletedDate":1560206579,"scheduledPurgeDate":1567982579,"kid":"https://keyvault_name.vault.azure.net/keys/key156020656741105969","attributes":{"enabled":true,"created":1560206573,"updated":1560206573,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557","deletedDate":1560212037,"scheduledPurgeDate":1567988037,"kid":"https://keyvault_name.vault.azure.net/keys/key156021202578402557","attributes":{"enabled":true,"created":1560212031,"updated":1560212031,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500","deletedDate":1560212139,"scheduledPurgeDate":1567988139,"kid":"https://keyvault_name.vault.azure.net/keys/key156021212284606500","attributes":{"enabled":true,"created":1560212128,"updated":1560212128,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930","deletedDate":1560212302,"scheduledPurgeDate":1567988302,"kid":"https://keyvault_name.vault.azure.net/keys/key156021228525302930","attributes":{"enabled":true,"created":1560212290,"updated":1560212290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638","deletedDate":1560212547,"scheduledPurgeDate":1567988547,"kid":"https://keyvault_name.vault.azure.net/keys/key156021252900505638","attributes":{"enabled":true,"created":1560212534,"updated":1560212534,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011","deletedDate":1560212608,"scheduledPurgeDate":1567988608,"kid":"https://keyvault_name.vault.azure.net/keys/key156021259169107011","attributes":{"enabled":true,"created":1560212597,"updated":1560212597,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420","deletedDate":1560212772,"scheduledPurgeDate":1567988772,"kid":"https://keyvault_name.vault.azure.net/keys/key156021275535604420","attributes":{"enabled":true,"created":1560212760,"updated":1560212760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898","deletedDate":1560213205,"scheduledPurgeDate":1567989205,"kid":"https://keyvault_name.vault.azure.net/keys/key156021319425603898","attributes":{"enabled":true,"created":1560213200,"updated":1560213200,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680","deletedDate":1560213698,"scheduledPurgeDate":1567989698,"kid":"https://keyvault_name.vault.azure.net/keys/key156021368188700680","attributes":{"enabled":true,"created":1560213687,"updated":1560213687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638","deletedDate":1560213837,"scheduledPurgeDate":1567989837,"kid":"https://keyvault_name.vault.azure.net/keys/key156021382077504638","attributes":{"enabled":false,"created":1560213826,"updated":1560213832,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430","deletedDate":1560214070,"scheduledPurgeDate":1567990070,"kid":"https://keyvault_name.vault.azure.net/keys/key156021397882409430","attributes":{"enabled":true,"created":1560213984,"updated":1560213984,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '22a714d1-f4d3-4743-9d9d-a9a893756ff2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '3940' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd6b4ea1e-58e5-4823-a6aa-9cd1afa592f6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:50 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '44fb2d36-c5aa-4d24-aeaa-2bc475aa2a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:51 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:51 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613","deletedDate":1560214059,"scheduledPurgeDate":1567990059,"kid":"https://keyvault_name.vault.azure.net/keys/key156021404805303613","attributes":{"enabled":true,"created":1560214053,"updated":1560214053,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298","deletedDate":1560214455,"scheduledPurgeDate":1567990455,"kid":"https://keyvault_name.vault.azure.net/keys/key156021443658305298","attributes":{"enabled":false,"created":1560214442,"updated":1560214449,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127","deletedDate":1560214715,"scheduledPurgeDate":1567990715,"kid":"https://keyvault_name.vault.azure.net/keys/key156021469847200127","attributes":{"enabled":false,"exp":1560214704,"created":1560214704,"updated":1560214709,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037","deletedDate":1560215026,"scheduledPurgeDate":1567991026,"kid":"https://keyvault_name.vault.azure.net/keys/key156021500992805037","attributes":{"enabled":false,"exp":1560215015,"created":1560215015,"updated":1560215021,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421","deletedDate":1560215105,"scheduledPurgeDate":1567991105,"kid":"https://keyvault_name.vault.azure.net/keys/key156021508931202421","attributes":{"enabled":false,"exp":1560215095,"created":1560215094,"updated":1560215100,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '488fcbf0-b496-42d7-b61b-c8d853a0b189', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '1972' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f7fe6967-43bd-4820-b4a1-0cde2071579c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5f0d2806-97f7-4937-b131-bccfea712f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:52 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:52 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287","deletedDate":1560215290,"scheduledPurgeDate":1567991290,"kid":"https://keyvault_name.vault.azure.net/keys/key156021527355207287","attributes":{"enabled":false,"exp":1560215279,"created":1560215279,"updated":1560215284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132","deletedDate":1560215746,"scheduledPurgeDate":1567991746,"kid":"https://keyvault_name.vault.azure.net/keys/key156021572903002132","attributes":{"enabled":false,"exp":1560215734,"created":1560215734,"updated":1560215740,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237","deletedDate":1560216615,"scheduledPurgeDate":1567992615,"kid":"https://keyvault_name.vault.azure.net/keys/key156021643840901237","attributes":{"enabled":true,"created":1560216444,"updated":1560216444,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471","deletedDate":1560216518,"scheduledPurgeDate":1567992518,"kid":"https://keyvault_name.vault.azure.net/keys/key156021650717904471","attributes":{"enabled":true,"created":1560216512,"updated":1560216512,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '356fbcb2-d538-42b7-a82a-c853c8561ec4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:52 GMT', + 'Connection', + 'close', + 'Content-Length', + '1686' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'eb3b8974-7d06-4885-a763-a4683fd2a9ab', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:52 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ce146382-36dc-4c74-9041-87d5d0256600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:53 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478","deletedDate":1560217550,"scheduledPurgeDate":1567993550,"kid":"https://keyvault_name.vault.azure.net/keys/key156021753923506478","attributes":{"enabled":true,"created":1560217545,"updated":1560217545,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221","deletedDate":1560217733,"scheduledPurgeDate":1567993733,"kid":"https://keyvault_name.vault.azure.net/keys/key156021772195104221","attributes":{"enabled":true,"created":1560217727,"updated":1560217727,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976","deletedDate":1560263766,"scheduledPurgeDate":1568039766,"kid":"https://keyvault_name.vault.azure.net/keys/key156026375447403976","attributes":{"enabled":true,"created":1560263760,"updated":1560263760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170","deletedDate":1560264308,"scheduledPurgeDate":1568040308,"kid":"https://keyvault_name.vault.azure.net/keys/key156026429107509170","attributes":{"enabled":true,"created":1560264296,"updated":1560264296,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617","deletedDate":1560267823,"scheduledPurgeDate":1568043823,"kid":"https://keyvault_name.vault.azure.net/keys/key156026780583504617","attributes":{"enabled":true,"created":1560267811,"updated":1560267811,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786","deletedDate":1560269396,"scheduledPurgeDate":1568045396,"kid":"https://keyvault_name.vault.azure.net/keys/key156026937854708786","attributes":{"enabled":true,"created":1560269384,"updated":1560269384,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087","deletedDate":1560272836,"scheduledPurgeDate":1568048836,"kid":"https://keyvault_name.vault.azure.net/keys/key156027282511708087","attributes":{"enabled":true,"created":1560272831,"updated":1560272831,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813","deletedDate":1560274422,"scheduledPurgeDate":1568050422,"kid":"https://keyvault_name.vault.azure.net/keys/key156027441059203813","attributes":{"enabled":true,"created":1560274416,"updated":1560274416,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '42f61054-5176-4682-941f-91d7369fade1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '2898' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c6d51aef-20ba-4741-9dba-2b8e033bc5f9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:53 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9710731a-b0cd-4bb1-8c55-0be45e0f4700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:54 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383","deletedDate":1560276204,"scheduledPurgeDate":1568052204,"kid":"https://keyvault_name.vault.azure.net/keys/key156027619257505383","attributes":{"enabled":true,"created":1560276198,"updated":1560276198,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526","deletedDate":1560276552,"scheduledPurgeDate":1568052552,"kid":"https://keyvault_name.vault.azure.net/keys/key156027654046904526","attributes":{"enabled":true,"created":1560276546,"updated":1560276546,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953","deletedDate":1560276707,"scheduledPurgeDate":1568052707,"kid":"https://keyvault_name.vault.azure.net/keys/key156027669556403953","attributes":{"enabled":true,"created":1560276701,"updated":1560276701,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591","deletedDate":1560276984,"scheduledPurgeDate":1568052984,"kid":"https://keyvault_name.vault.azure.net/keys/key156027692061805591","attributes":{"enabled":true,"created":1560276926,"updated":1560276926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123","deletedDate":1560278769,"scheduledPurgeDate":1568054769,"kid":"https://keyvault_name.vault.azure.net/keys/key156027875260704123","attributes":{"enabled":true,"created":1560278758,"updated":1560278758,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301","deletedDate":1560280458,"scheduledPurgeDate":1568056458,"kid":"https://keyvault_name.vault.azure.net/keys/key156028044085404301","attributes":{"enabled":true,"created":1560280446,"updated":1560280446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799","deletedDate":1560282270,"scheduledPurgeDate":1568058270,"kid":"https://keyvault_name.vault.azure.net/keys/key156028174986105799","attributes":{"enabled":true,"created":1560281755,"updated":1560281755,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '93f0d8ce-b078-4760-b6bb-8d5a70741f22', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '2631' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9eb088c1-10d2-48d4-9ac4-7dd5815f515a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a2dbbd3e-2b9b-48c9-bafd-5d333a483f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:55 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726","deletedDate":1560281817,"scheduledPurgeDate":1568057817,"kid":"https://keyvault_name.vault.azure.net/keys/key156028180668003726","attributes":{"enabled":true,"created":1560281812,"updated":1560281812,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865","deletedDate":1560281862,"scheduledPurgeDate":1568057862,"kid":"https://keyvault_name.vault.azure.net/keys/key156028185168006865","attributes":{"enabled":true,"created":1560281857,"updated":1560281857,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070","deletedDate":1560363783,"scheduledPurgeDate":1568139783,"kid":"https://keyvault_name.vault.azure.net/keys/key156036321495001070","attributes":{"enabled":true,"created":1560363220,"updated":1560363220,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e5bf1ca1-165d-4922-a437-368da52a66a9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '1263' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a704f86a-b4a8-4b4b-bee1-bc85d431922b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2af41061-5597-4907-b5f3-a1a6ee793300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:56 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:55 GMT', 'Connection', 'close', 'Content-Length', - '556' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673","deletedDate":1560363271,"scheduledPurgeDate":1568139271,"kid":"https://keyvault_name.vault.azure.net/keys/key156036326049603673","attributes":{"enabled":true,"created":1560363266,"updated":1560363266,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742","deletedDate":1560439782,"scheduledPurgeDate":1568215782,"kid":"https://keyvault_name.vault.azure.net/keys/key156043977101909742","attributes":{"enabled":true,"created":1560439776,"updated":1560439776,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132","deletedDate":1560444138,"scheduledPurgeDate":1568220138,"kid":"https://keyvault_name.vault.azure.net/keys/key156044301303900132","attributes":{"enabled":true,"exp":1560443018,"created":1560443018,"updated":1560443018,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -597,11 +8317,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9b83349b-663f-4631-b5cb-4e915679e40c', + '2ed783d6-1814-4642-b3a2-7b26039e5f97', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -611,34 +8331,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:14 GMT', + 'Thu, 08 Aug 2019 23:30:56 GMT', 'Connection', 'close', 'Content-Length', - '309' ]); + '1340' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01","attributes":{"enabled":true,"created":1562805007,"updated":1562805007,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976015901904087","attributes":{"enabled":true,"created":1559760164,"updated":1559760164,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976018742005808","attributes":{"enabled":true,"created":1559760193,"updated":1559760193,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976035851309215","attributes":{"enabled":true,"created":1559760364,"updated":1559760364,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976038662209208","attributes":{"enabled":true,"created":1559760392,"updated":1559760392,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976059075801511","attributes":{"enabled":true,"created":1559760596,"updated":1559760596,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976061918309867","attributes":{"enabled":true,"created":1559760624,"updated":1559760624,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976088192202903","attributes":{"enabled":true,"created":1559760887,"updated":1559760887,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976090993105220","attributes":{"enabled":true,"created":1559760915,"updated":1559760915,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976118089506049","attributes":{"enabled":true,"created":1559761186,"updated":1559761186,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976120964305668","attributes":{"enabled":true,"created":1559761215,"updated":1559761215,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019567836900080","attributes":{"enabled":true,"created":1560195684,"updated":1560195684,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568419900112","attributes":{"enabled":true,"created":1560195689,"updated":1560195689,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568998004417","attributes":{"enabled":false,"created":1560195695,"updated":1560195695,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019570157704018","attributes":{"enabled":true,"created":1560195707,"updated":1560195707,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '07f998d5-1930-471c-ba48-77cd3468e916', + '055b3986-da08-425c-8b60-40e87bf915da', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -648,17 +8372,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:14 GMT', + 'Thu, 08 Aug 2019 23:30:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '98065037-355e-4b3f-ac02-7c01d4593c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:56 GMT', 'Connection', 'close', 'Content-Length', - '3042' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156019573560701886","attributes":{"enabled":true,"created":1560195741,"updated":1560195741,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019965517806158","attributes":{"enabled":true,"created":1560199660,"updated":1560199660,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966095601383","attributes":{"enabled":true,"created":1560199666,"updated":1560199666,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966655202551","attributes":{"enabled":false,"created":1560199672,"updated":1560199672,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019967216106153","attributes":{"enabled":true,"created":1560199678,"updated":1560199678,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019970108507840","attributes":{"enabled":true,"created":1560199707,"updated":1560199707,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019971819409376","attributes":{"enabled":true,"created":1560199723,"updated":1560199723,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020041605602688","attributes":{"enabled":true,"nbf":1560200421,"created":1560200422,"updated":1560200422,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020107570005644","attributes":{"enabled":true,"exp":1560201080,"created":1560201081,"updated":1560201081,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401","deletedDate":1560443052,"scheduledPurgeDate":1568219052,"kid":"https://keyvault_name.vault.azure.net/keys/key156044304097508401","attributes":{"enabled":true,"created":1560443046,"updated":1560443046,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703","deletedDate":1560480365,"scheduledPurgeDate":1568256365,"kid":"https://keyvault_name.vault.azure.net/keys/key156048034950305703","attributes":{"enabled":true,"created":1560480356,"updated":1560480356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -671,11 +8427,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '30cf400e-760f-4f57-baed-40607621666b', + '80f9f394-c69c-4268-9385-110a17e570a3', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -685,17 +8441,90 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:15 GMT', + 'Thu, 08 Aug 2019 23:30:57 GMT', 'Connection', 'close', 'Content-Length', - '1975' ]); + '936' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '692441e1-e4c2-4bc3-8d21-e7f5e66e5c11', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:57 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'fa1d82c3-184c-4ff1-9ddf-18f2c98a3000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:57 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021398454601816","attributes":{"enabled":true,"created":1560213990,"updated":1560213990,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399025306001","attributes":{"enabled":true,"created":1560213996,"updated":1560213996,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399613005852","attributes":{"enabled":true,"created":1560214001,"updated":1560214001,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400178007355","attributes":{"enabled":true,"created":1560214008,"updated":1560214008,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400838605408","attributes":{"enabled":false,"created":1560214013,"updated":1560214013,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401405804843","attributes":{"enabled":true,"nbf":1560214019,"created":1560214019,"updated":1560214019,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401972601264","attributes":{"enabled":true,"exp":1560214024,"created":1560214025,"updated":1560214025,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021402558506955","attributes":{"enabled":false,"created":1560214031,"updated":1560214036,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021403691203484","attributes":{"enabled":true,"created":1560214042,"updated":1560214042,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317","deletedDate":1560199870,"scheduledPurgeDate":1567975870,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111602317","attributes":{"enabled":true,"created":1560199847,"updated":1560199847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787","deletedDate":1560199876,"scheduledPurgeDate":1567975876,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111709787","attributes":{"enabled":true,"created":1560199852,"updated":1560199852,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556","deletedDate":1560200016,"scheduledPurgeDate":1567976016,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725306556","attributes":{"enabled":true,"created":1560199993,"updated":1560199993,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881","deletedDate":1560200022,"scheduledPurgeDate":1567976022,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725308881","attributes":{"enabled":true,"created":1560199998,"updated":1560199998,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -708,11 +8537,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b62d30aa-7b2b-4abb-8497-3d3aa441a3b6', + 'f44c175e-1b8b-40e5-ac1e-89f2ec3a0960', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -722,17 +8551,200 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:15 GMT', + 'Thu, 08 Aug 2019 23:30:58 GMT', 'Connection', 'close', 'Content-Length', - '1976' ]); + '1663' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'eaa3b176-5570-4de6-96d5-8c9f95c0b6ff', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:58 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3a51de51-d302-4553-b2fd-e76143876300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:58 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349","deletedDate":1560439913,"scheduledPurgeDate":1568215913,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692705349","attributes":{"enabled":true,"created":1560439902,"updated":1560439902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134","deletedDate":1560439919,"scheduledPurgeDate":1568215919,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692806134","attributes":{"enabled":true,"created":1560439908,"updated":1560439908,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","deletedDate":1561686288,"scheduledPurgeDate":1569462288,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","attributes":{"enabled":true,"created":1561686279,"updated":1561686279,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","deletedDate":1561686289,"scheduledPurgeDate":1569462289,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","attributes":{"enabled":true,"created":1561686280,"updated":1561686280,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","deletedDate":1561686297,"scheduledPurgeDate":1569462297,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","deletedDate":1561686298,"scheduledPurgeDate":1569462298,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0ff7b5e3-deff-4c48-ab2a-291ebb802d17', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '2608' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ce2b62b8-3bf1-4769-8a4e-143bf3a9180a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:30:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a938cb75-8274-4b05-bb51-fe22b31f3500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:30:59 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:59 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021644428906562","attributes":{"enabled":true,"created":1560216450,"updated":1560216450,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645023201050","attributes":{"enabled":true,"created":1560216455,"updated":1560216455,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645600805675","attributes":{"enabled":true,"created":1560216461,"updated":1560216461,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646164300437","attributes":{"enabled":true,"created":1560216467,"updated":1560216467,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646738603126","attributes":{"enabled":false,"created":1560216473,"updated":1560216473,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647317101069","attributes":{"enabled":true,"nbf":1560216478,"created":1560216478,"updated":1560216478,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647896109795","attributes":{"enabled":true,"exp":1560216483,"created":1560216484,"updated":1560216484,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021648457806180","attributes":{"enabled":false,"created":1560216490,"updated":1560216495,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021649588105428","attributes":{"enabled":false,"exp":1560216501,"created":1560216501,"updated":1560216507,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021652991406663","attributes":{"enabled":true,"created":1560216535,"updated":1560216535,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021654118707998","attributes":{"enabled":true,"created":1560216546,"updated":1560216546,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021655789000990","attributes":{"enabled":true,"created":1560216563,"updated":1560216563,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021698079201746","attributes":{"enabled":true,"created":1560216986,"updated":1560216986,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592","deletedDate":1561686276,"scheduledPurgeDate":1569462276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592","attributes":{"enabled":true,"created":1561686275,"updated":1561686275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087","deletedDate":1561685869,"scheduledPurgeDate":1569461869,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087","attributes":{"enabled":true,"created":1561685868,"updated":1561685868,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592","deletedDate":1561686277,"scheduledPurgeDate":1569462277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592","attributes":{"enabled":true,"created":1561686277,"updated":1561686277,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087","deletedDate":1561685871,"scheduledPurgeDate":1569461871,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087","attributes":{"enabled":true,"created":1561685870,"updated":1561685870,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0","deletedDate":1561418276,"scheduledPurgeDate":1569194276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0","attributes":{"enabled":true,"created":1561418275,"updated":1561418275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1","deletedDate":1561418277,"scheduledPurgeDate":1569194277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1","attributes":{"enabled":true,"created":1561418276,"updated":1561418276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0","deletedDate":1561419307,"scheduledPurgeDate":1569195307,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0","attributes":{"enabled":true,"created":1561419306,"updated":1561419306,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1","deletedDate":1561419308,"scheduledPurgeDate":1569195308,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1","attributes":{"enabled":true,"created":1561419307,"updated":1561419307,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -745,11 +8757,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '3362c671-97ec-4840-a574-9a65d4063cbe', + '17abf2f4-e080-466b-9c41-c2350aaa1f3a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -759,34 +8771,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:15 GMT', + 'Thu, 08 Aug 2019 23:30:59 GMT', 'Connection', 'close', 'Content-Length', - '2734' ]); + '3504' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156027682085504023","attributes":{"enabled":true,"created":1560276826,"updated":1560276826,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028175563002501","attributes":{"enabled":true,"created":1560281761,"updated":1560281761,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176140503335","attributes":{"enabled":true,"created":1560281767,"updated":1560281767,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176718009249","attributes":{"enabled":false,"created":1560281772,"updated":1560281772,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177274009592","attributes":{"enabled":true,"nbf":1560281777,"created":1560281778,"updated":1560281778,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177830101648","attributes":{"enabled":true,"exp":1560281783,"created":1560281784,"updated":1560281784,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028178407406544","attributes":{"enabled":false,"created":1560281789,"updated":1560281795,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028179546704608","attributes":{"enabled":false,"exp":1560281801,"created":1560281800,"updated":1560281806,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028182926703011","attributes":{"enabled":true,"created":1560281834,"updated":1560281834,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028184044006383","attributes":{"enabled":true,"created":1560281845,"updated":1560281845,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028189442507450","attributes":{"enabled":true,"created":1560281899,"updated":1560281899,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028205605702876","attributes":{"enabled":true,"created":1560282061,"updated":1560282061,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028212028407398","attributes":{"enabled":true,"created":1560282125,"updated":1560282125,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028213716108979","attributes":{"enabled":true,"created":1560282142,"updated":1560282142,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322090002888","attributes":{"enabled":false,"created":1560363226,"updated":1560363226,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322656807812","attributes":{"enabled":true,"nbf":1560363231,"created":1560363232,"updated":1560363232,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323238409224","attributes":{"enabled":true,"exp":1560363237,"created":1560363237,"updated":1560363237,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '645598a7-0bcc-4e60-9b5c-c93d13684b9a', + '7df4f827-7cc9-4eb0-ac86-b9dbbe71a826', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -796,17 +8812,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:16 GMT', + 'Thu, 08 Aug 2019 23:31:00 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6ef6077f-f61c-45d0-8de5-60a9adf76b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:00 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:30:59 GMT', 'Connection', 'close', 'Content-Length', - '3509' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323804901755","attributes":{"enabled":false,"created":1560363243,"updated":1560363249,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036324938907401","attributes":{"enabled":false,"exp":1560363254,"created":1560363254,"updated":1560363260,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036328289805710","attributes":{"enabled":true,"created":1560363288,"updated":1560363288,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036329384707932","attributes":{"enabled":true,"created":1560363299,"updated":1560363299,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036335353805406","attributes":{"enabled":true,"created":1560363359,"updated":1560363359,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036352635406646","attributes":{"enabled":true,"created":1560363532,"updated":1560363532,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036359055200632","attributes":{"enabled":true,"created":1560363595,"updated":1560363595,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036360747106809","attributes":{"enabled":true,"created":1560363613,"updated":1560363613,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044301853106036","attributes":{"enabled":false,"created":1560443023,"updated":1560443029,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044302953209171","attributes":{"enabled":false,"exp":1560443035,"created":1560443035,"updated":1560443040,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044306342002510","attributes":{"enabled":true,"created":1560443069,"updated":1560443069,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044307483600798","attributes":{"enabled":true,"created":1560443080,"updated":1560443080,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044314989607523","attributes":{"enabled":true,"created":1560443155,"updated":1560443155,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044316109901534","attributes":{"enabled":true,"created":1560443166,"updated":1560443166,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044360211306282","attributes":{"enabled":true,"created":1560443607,"updated":1560443607,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044369613908113","attributes":{"enabled":true,"created":1560443701,"updated":1560443701,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044371294504848","attributes":{"enabled":true,"created":1560443718,"updated":1560443718,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156048233876700601","attributes":{"enabled":true,"created":1560482344,"updated":1560482344,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156054122923308772","attributes":{"enabled":true,"created":1560541235,"updated":1560541235,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953600799","attributes":{"enabled":true,"created":1560199735,"updated":1560199735,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","deletedDate":1563396687,"scheduledPurgeDate":1571172687,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","attributes":{"enabled":true,"created":1563396687,"updated":1563396687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","deletedDate":1563396700,"scheduledPurgeDate":1571172700,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","attributes":{"enabled":true,"created":1563396700,"updated":1563396700,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788","deletedDate":1563492865,"scheduledPurgeDate":1571268865,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788","attributes":{"enabled":true,"nbf":1546300805,"created":1563492865,"updated":1563492865,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159","deletedDate":1563492026,"scheduledPurgeDate":1571268026,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-9863940778048328","deletedDate":1564680048,"scheduledPurgeDate":1572456048,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-9863940778048328","attributes":{"enabled":true,"created":1564680048,"updated":1564680048,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089","deletedDate":1563492929,"scheduledPurgeDate":1571268929,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089","attributes":{"enabled":true,"created":1563492929,"updated":1563492929,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-33204686425846486","deletedDate":1565122016,"scheduledPurgeDate":1572898016,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-33204686425846486","attributes":{"enabled":true,"created":1565122016,"updated":1565122016,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214","deletedDate":1561687104,"scheduledPurgeDate":1569463104,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214","attributes":{"enabled":true,"created":1561687103,"updated":1561687103,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021","deletedDate":1561686972,"scheduledPurgeDate":1569462972,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021","attributes":{"enabled":true,"created":1561686972,"updated":1561686972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387","deletedDate":1561686397,"scheduledPurgeDate":1569462397,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387","attributes":{"enabled":true,"created":1561686396,"updated":1561686396,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMjghTURBd01EVXlJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzAzTmpjMU5EQXhNalkxT0RJek9EWWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -819,11 +8867,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5add554f-189f-40ef-9c1e-8ea94f091eb0', + '7d6c14e2-d116-4fe6-9a3c-d3d60d34a0b0', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -833,34 +8881,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:17 GMT', + 'Thu, 08 Aug 2019 23:31:00 GMT', 'Connection', 'close', 'Content-Length', - '4019' ]); + '4316' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953608137","attributes":{"enabled":true,"created":1560199740,"updated":1560199740,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308206","attributes":{"enabled":true,"created":1560216580,"updated":1560216580,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308448","attributes":{"enabled":true,"created":1560216575,"updated":1560216575,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118107647","attributes":{"enabled":true,"created":1560281922,"updated":1560281922,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118109631","attributes":{"enabled":true,"created":1560281916,"updated":1560281916,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061400928","attributes":{"enabled":true,"created":1560363381,"updated":1560363381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061402620","attributes":{"enabled":true,"created":1560363376,"updated":1560363376,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335800124","attributes":{"enabled":true,"created":1560443194,"updated":1560443194,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335808106","attributes":{"enabled":true,"created":1560443188,"updated":1560443188,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345205112","attributes":{"enabled":true,"created":1560443259,"updated":1560443259,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345209472","attributes":{"enabled":true,"created":1560443264,"updated":1560443264,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5983d77e-0153-431d-90d3-e97e04e96ba7', + 'd0e13fa2-d9c6-4bc2-b9cf-ab3b82796212', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -870,17 +8922,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:18 GMT', + 'Thu, 08 Aug 2019 23:31:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e826d80b-6a32-46ca-8220-c139e5836200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:01 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:00 GMT', 'Connection', 'close', 'Content-Length', - '2826' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/MyKeyName","attributes":{"enabled":true,"created":1559759721,"updated":1559759721,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596","attributes":{"enabled":true,"created":1563391406,"updated":1563391406,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0","attributes":{"enabled":true,"created":1563492433,"updated":1563492433,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1","attributes":{"enabled":true,"created":1563492433,"updated":1563492433,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783","attributes":{"enabled":true,"created":1561420381,"updated":1561420381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874","attributes":{"enabled":true,"created":1561420833,"updated":1561420833,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417","attributes":{"enabled":true,"created":1561420689,"updated":1561420689,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JVTlBWa1ZTUVVSRlRFVlVSVVJMUlZrdE9UYzFNREUxTVRNMU9UQXlOelV4SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","deletedDate":1563476819,"scheduledPurgeDate":1571252819,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214","deletedDate":1561687101,"scheduledPurgeDate":1569463101,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214","attributes":{"enabled":true,"created":1561687068,"updated":1561687068,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021","deletedDate":1561686970,"scheduledPurgeDate":1569462970,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021","attributes":{"enabled":true,"created":1561686926,"updated":1561686926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387","deletedDate":1561686395,"scheduledPurgeDate":1569462395,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387","attributes":{"enabled":true,"created":1561686361,"updated":1561686361,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","deletedDate":1561723518,"scheduledPurgeDate":1569499518,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","attributes":{"enabled":true,"created":1561723517,"updated":1561723517,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","deletedDate":1561723606,"scheduledPurgeDate":1569499606,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","attributes":{"enabled":true,"created":1561723605,"updated":1561723605,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","deletedDate":1561687106,"scheduledPurgeDate":1569463106,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","attributes":{"enabled":true,"created":1561687105,"updated":1561687105,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","deletedDate":1561723459,"scheduledPurgeDate":1569499459,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","attributes":{"enabled":true,"created":1561723458,"updated":1561723458,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","deletedDate":1561723721,"scheduledPurgeDate":1569499721,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","attributes":{"enabled":true,"created":1561723720,"updated":1561723720,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -893,11 +8977,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '1d01ebc3-5254-49ab-962a-6dd434c9c476', + '59029b50-b665-4a82-bd82-db0d49a9c3bc', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -907,34 +8991,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:19 GMT', + 'Thu, 08 Aug 2019 23:31:01 GMT', 'Connection', 'close', 'Content-Length', - '2270' ]); + '4051' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699601597","attributes":{"enabled":true,"created":1560195758,"updated":1560195758,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699608155","attributes":{"enabled":true,"created":1560195752,"updated":1560195752,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'edf5e5f4-74d6-431d-9a19-14bb55c9b82e', + '00e8503f-597e-4ee4-8cac-e2a5bcfcf228', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -944,17 +9032,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:19 GMT', + 'Thu, 08 Aug 2019 23:31:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'dca8e32f-76d0-4b6d-9412-752cf5655b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:02 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:02 GMT', 'Connection', 'close', 'Content-Length', - '403' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangetseveralinsertedkeys--0') + .get('/deletedkeys') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0","deletedDate":1563492440,"scheduledPurgeDate":1571268440,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--0/0777c6faec8a42728f9e8bae9d656745","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jyfUIyYmS6WXRr1IyD9ouRnsmf0B9hvByQ5tFB3Y5R4sAcg0ZZCeOZdgr-P8rmXLBAVFdFjhtpcvMCIm0nksHi1y03Wd8RNnVbElii9xJRAsqxiGK8SjmeSwYIr7HcR3hvRzeOTJiFKiPXSdZNjsF9aUgm_gQcDJyOCWi7yQZT8g2vEVnNVVMrema4eJ4PmSf6Q8LgBlN0atEVpEbumbk6LB_lNWsOaNo4PHybRQzw5axIDsydOl7sgzfsxuSJwuV-lrWTfTPTK9jKLruEK1dIKDnBNVBAVCd30pHHs9U92R-eO21BMPBY13Zt0Wxnmse8riyv__QHQDqChPSaC_Aw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492433,"updated":1563492433,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","deletedDate":1561686975,"scheduledPurgeDate":1569462975,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","attributes":{"enabled":true,"created":1561686974,"updated":1561686974,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","deletedDate":1561723348,"scheduledPurgeDate":1569499348,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","attributes":{"enabled":true,"created":1561723347,"updated":1561723347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","deletedDate":1561686400,"scheduledPurgeDate":1569462400,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","attributes":{"enabled":true,"created":1561686399,"updated":1561686399,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","deletedDate":1561723310,"scheduledPurgeDate":1569499310,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","attributes":{"enabled":true,"created":1561723309,"updated":1561723309,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0","deletedDate":1565307018,"scheduledPurgeDate":1573083018,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0","attributes":{"enabled":true,"created":1565307016,"updated":1565307016,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1","deletedDate":1565307019,"scheduledPurgeDate":1573083019,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1","attributes":{"enabled":true,"created":1565307017,"updated":1565307017,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -967,11 +9087,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '98d6f86f-9053-4343-8e8d-2f58f099fad5', + '1c8241dc-e819-4c4b-b939-de20916be5ab', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -981,36 +9101,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:19 GMT', + 'Thu, 08 Aug 2019 23:31:02 GMT', 'Connection', 'close', 'Content-Length', - '887' ]); + '3187' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0') + .delete('/deletedkeys/recoverKeyName-listdeletedkeys--0') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '22b8405b-b8f6-4d5f-8d37-a928ed4e4d9a', + 'b6dace23-79cd-4b22-a294-6141bef16073', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1020,13 +9142,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:20 GMT', + 'Thu, 08 Aug 2019 23:31:02 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5f0cca25-2673-4be6-959d-c32db8545f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:03 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:02 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--0') + .delete('/deletedkeys/recoverKeyName-listdeletedkeys--0') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -1039,11 +9195,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f962b520-048e-414e-8d48-f8e928a9777d', + '263d85df-6699-4271-a337-6de6fb9160fe', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1053,32 +9209,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:30 GMT', + 'Thu, 08 Aug 2019 23:31:02 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangetseveralinsertedkeys--1') + .delete('/deletedkeys/recoverKeyName-listdeletedkeys--1') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1","deletedDate":1563492451,"scheduledPurgeDate":1571268451,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeys--1/85b8f49ea9ed4ef38005846b6b902310","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"pN8vSKSfCbz6HPgjdBrprTzi7JZD9bV2uAwIe4IodznaIWmKJVe6ZLRQO60zrU7covt-HBgW6dbJyVpdYH0o68dZKmvXYi4D5cteY5nI2eZgSYeFyFx4fU14lhAJla-knuT3st85CL56nmYpai8l_VUVXR8q9KQKu42QOYB4tejnNKRWMl0sDXtQm7Rmycc7KdO9-n30rgxv3LQTR701TbuWSJ3F7fDI59aFIf5dyAt_O71Jsk-uViMqxaeYhBaS0WNyLnCWv7Cf59mB8L4nLySMSiCKZ90_ji0hnYY4Mg7u_s8t2NhWHqAfzlzvAkF6OC3Fa2iwJWiS4VE8LlDEjw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492433,"updated":1563492433,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e2dff5e7-194a-4859-a1a9-bf97e2741f45', + '171bc586-52e5-443d-ac84-dae1f4e8847c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1088,52 +9248,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:31 GMT', + 'Thu, 08 Aug 2019 23:31:03 GMT', 'Connection', - 'close', - 'Content-Length', - '887' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'ac153b14-ad62-4ebf-acf3-99372a903f9b', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'df112ecc-3309-4403-9222-56ffaf165a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:04 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:27:31 GMT', + 'Thu, 08 Aug 2019 23:31:03 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeys--1') + .delete('/deletedkeys/recoverKeyName-listdeletedkeys--1') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -1146,11 +9301,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e7606ed5-cf98-4faa-9b12-6c4b45702424', + '601650a4-be5a-4897-a4c5-86668df25079', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1160,32 +9315,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:42 GMT', + 'Thu, 08 Aug 2019 23:31:03 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/create', {"kty":"RSA"}) + .post('/keys/recoverKeyName-listdeletedkeyspaged--0/create') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/9970d144804949dd99dd3c7b292cfa13","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wi8zM_bFjXpuC3wmLUBUyubjNuW31QdcpZZ4tpcYm9Mr7vOLacYiWgD6D-5fXh5T4i8mpDeGwfX4DSIzJSjHatXOhfrFRTgZSfQ_Lyrfv0MBNJ8hBSqOK-ITtaz_Z2Bm5fjKpNoooWosg_-_Am01CLN9o_KzuJ3UV-IHxgl_CgdAtM0UPHNnbpt9PgC3_W6cqt6efVzp80soD1T2TfkrNabzFv92RhPz4zFQi50A17ZKU73T6FVdpp4IR-wKIcwy8jqLhzXSlrrZWXkbBt__HJSuOP0a9Mx7r-n-58QNgpz7XKWi6LmKEh9-mJggO6VcTQBlBlHCh3skBy_WLNBzNw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492462,"updated":1563492462,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5f59713c-7eb9-4112-aa31-20a950ddbe91', + '3106e122-1755-4736-b9f9-fd4ecfcfec7a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1195,54 +9354,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:42 GMT', + 'Thu, 08 Aug 2019 23:31:04 GMT', 'Connection', - 'close', - 'Content-Length', - '711' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/create', {"kty":"RSA"}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/36ea49dc1b1f4907b8ac86d71e4e8cca","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"2GquIbMMk7BmdR0NX2M4881yqnyDKEPs2mufh3XbYnjO1DLqScN0twzzpiMxqw-78seYW3Kew2u0WPUdaIVGZHJEFbpIc2Tj7-cchK0ZSeytCaVuyV5Ld5uSNkZPp6RowMyYrIG9UCJlQSItdLcAURDpF9cZB5yxAd8zhhof-jgT59R7mitDxk7nMxGrLg2q37YSrMtYmlNBGufGXgwxlcrM_FTgrWfqLzFITm0XkGjvOlW8x424107IoE3mEzkS0Fx2Ky2LGkgCIE01_gX-MpvXPkSkbD_YWn8wnPvFuT1ugsnaH48aA9rMPI86OccS7Cot3k2nrm3EkoTV6XS3gQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492463,"updated":1563492463,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'df918672-37db-480f-bab5-6763a68673b6', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '3d441f4a-eb64-4400-a5a6-62e78b1e4100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:04 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:27:42 GMT', + 'Thu, 08 Aug 2019 23:31:04 GMT', 'Connection', 'close', 'Content-Length', - '711' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .post('/keys/recoverKeyName-listdeletedkeyspaged--0/create', {"kty":"RSA"}) .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-21596680364625942","attributes":{"enabled":false,"created":1561685638,"updated":1561685638,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/b74b747460c4401397155791437bf4cf","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vTsYtZoMLEDkiPZNA-z245EK0UwNuHLvcleYBPjxQQOKlEsfCqYBIVFcR7nixR9jv0hxykC3HSwToKuNmpd1WDgLBnZaXzUSVOXvmabdyVfuEq25f7QzKXK1R5rQI6DCiJhHv93BYRpee2WNwQQJOdYc3vZy0zTEcxfbvkQ7Gy_QVQ-bvgYalH00IWXtxi_IuBz_w394WgDB1aB12tV-ivYl-5bmJTVr6Gjao1hnDBfzvb_A8yWy4ZP_TAmPdRvomBvJNqnNSEIVsxUdp1NiASEL_Sqn7aFQ7Jb8aWWfhr2joggbeMYZf6g8LKcW0dB3JKbFJRvjM_PsIK24S8Zqfw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307065,"updated":1565307065,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1255,11 +9409,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '4b1440b0-c9d9-4b08-8f50-7b2d0626f5b9', + 'e14ad1a8-6538-4cf4-a7f9-ea558c8577ae', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1269,34 +9423,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:43 GMT', + 'Thu, 08 Aug 2019 23:31:05 GMT', 'Connection', 'close', 'Content-Length', - '556' ]); + '700' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .post('/keys/recoverKeyName-listdeletedkeyspaged--1/create') .query(true) - .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8f2855d3-08b9-4a3f-91b2-bca0e5eae6a4', + '4a132bfb-cfb8-492c-8bb4-903f02af495e', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1306,54 +9464,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:43 GMT', + 'Thu, 08 Aug 2019 23:31:05 GMT', 'Connection', - 'close', - 'Content-Length', - '309' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') - .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/CRYPTOTEST01","attributes":{"enabled":true,"created":1562805007,"updated":1562805007,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976015901904087","attributes":{"enabled":true,"created":1559760164,"updated":1559760164,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976018742005808","attributes":{"enabled":true,"created":1559760193,"updated":1559760193,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976035851309215","attributes":{"enabled":true,"created":1559760364,"updated":1559760364,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976038662209208","attributes":{"enabled":true,"created":1559760392,"updated":1559760392,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976059075801511","attributes":{"enabled":true,"created":1559760596,"updated":1559760596,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976061918309867","attributes":{"enabled":true,"created":1559760624,"updated":1559760624,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976088192202903","attributes":{"enabled":true,"created":1559760887,"updated":1559760887,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976090993105220","attributes":{"enabled":true,"created":1559760915,"updated":1559760915,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976118089506049","attributes":{"enabled":true,"created":1559761186,"updated":1559761186,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key155976120964305668","attributes":{"enabled":true,"created":1559761215,"updated":1559761215,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019567836900080","attributes":{"enabled":true,"created":1560195684,"updated":1560195684,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568419900112","attributes":{"enabled":true,"created":1560195689,"updated":1560195689,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019568998004417","attributes":{"enabled":false,"created":1560195695,"updated":1560195695,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019570157704018","attributes":{"enabled":true,"created":1560195707,"updated":1560195707,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'a7fd827d-9bc0-4b02-8ab4-2dcc2c85f6e3', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '11ccb8fb-c637-4332-a789-c0f11b2f2900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:27:43 GMT', + 'Thu, 08 Aug 2019 23:31:04 GMT', 'Connection', 'close', 'Content-Length', - '3042' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .post('/keys/recoverKeyName-listdeletedkeyspaged--1/create', {"kty":"RSA"}) .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156019573560701886","attributes":{"enabled":true,"created":1560195741,"updated":1560195741,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019965517806158","attributes":{"enabled":true,"created":1560199660,"updated":1560199660,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966095601383","attributes":{"enabled":true,"created":1560199666,"updated":1560199666,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019966655202551","attributes":{"enabled":false,"created":1560199672,"updated":1560199672,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019967216106153","attributes":{"enabled":true,"created":1560199678,"updated":1560199678,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019970108507840","attributes":{"enabled":true,"created":1560199707,"updated":1560199707,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156019971819409376","attributes":{"enabled":true,"created":1560199723,"updated":1560199723,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020041605602688","attributes":{"enabled":true,"nbf":1560200421,"created":1560200422,"updated":1560200422,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156020107570005644","attributes":{"enabled":true,"exp":1560201080,"created":1560201081,"updated":1560201081,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/c174ab8193274484b2ecb7ef306b15fd","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"iTb536PjqWvdlERzK6ubk1LQVjIJA73akJywt6Wicdy1vr87a_ozxQFWOyAzKjAQFclS5n9Dm6JZHTR9fNLOY8UP-0IRUnDmKoBTahrT0de9Yrmxgb1qzrh0r1WLDHUUD7EBmT3otNppEFFQmU01RPhN0TCLs8lHbMomzcjDw5WvVDP-fsrJuhWgRbFEnkQ7pcWX_3TggTMJiApoNwFAV97WCqgJegIgkdmS0V0-_KipzkZZST1-gaxMeOjb3pInyvFJq43EY8gg_XTcxN3_AYavMIzAZg7DFuAT342E4PVNlI2d4iApKSlSmezEg0h6SIX96t_N3KvKV2JARZc2-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565307066,"updated":1565307066,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1366,11 +9519,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '951933f2-4507-40f6-ac90-031612d78056', + 'c64c3720-adc9-4bd9-abba-58f1935b56e2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1380,34 +9533,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:44 GMT', + 'Thu, 08 Aug 2019 23:31:05 GMT', 'Connection', 'close', 'Content-Length', - '1975' ]); + '700' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .delete('/keys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021398454601816","attributes":{"enabled":true,"created":1560213990,"updated":1560213990,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399025306001","attributes":{"enabled":true,"created":1560213996,"updated":1560213996,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021399613005852","attributes":{"enabled":true,"created":1560214001,"updated":1560214001,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400178007355","attributes":{"enabled":true,"created":1560214008,"updated":1560214008,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021400838605408","attributes":{"enabled":false,"created":1560214013,"updated":1560214013,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401405804843","attributes":{"enabled":true,"nbf":1560214019,"created":1560214019,"updated":1560214019,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021401972601264","attributes":{"enabled":true,"exp":1560214024,"created":1560214025,"updated":1560214025,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021402558506955","attributes":{"enabled":false,"created":1560214031,"updated":1560214036,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021403691203484","attributes":{"enabled":true,"created":1560214042,"updated":1560214042,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '946f530a-7208-4744-9c0e-e7f92b62806e', + '1a9b304a-4f53-4cf9-8ae3-39e1862cfdc0', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1417,17 +9574,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:44 GMT', + 'Thu, 08 Aug 2019 23:31:06 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '99db46b4-28ca-437c-9063-ce6f2d585600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:06 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:06 GMT', 'Connection', 'close', 'Content-Length', - '1976' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .delete('/keys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156021644428906562","attributes":{"enabled":true,"created":1560216450,"updated":1560216450,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645023201050","attributes":{"enabled":true,"created":1560216455,"updated":1560216455,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021645600805675","attributes":{"enabled":true,"created":1560216461,"updated":1560216461,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646164300437","attributes":{"enabled":true,"created":1560216467,"updated":1560216467,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021646738603126","attributes":{"enabled":false,"created":1560216473,"updated":1560216473,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647317101069","attributes":{"enabled":true,"nbf":1560216478,"created":1560216478,"updated":1560216478,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021647896109795","attributes":{"enabled":true,"exp":1560216483,"created":1560216484,"updated":1560216484,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021648457806180","attributes":{"enabled":false,"created":1560216490,"updated":1560216495,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021649588105428","attributes":{"enabled":false,"exp":1560216501,"created":1560216501,"updated":1560216507,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021652991406663","attributes":{"enabled":true,"created":1560216535,"updated":1560216535,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021654118707998","attributes":{"enabled":true,"created":1560216546,"updated":1560216546,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021655789000990","attributes":{"enabled":true,"created":1560216563,"updated":1560216563,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156021698079201746","attributes":{"enabled":true,"created":1560216986,"updated":1560216986,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0","deletedDate":1565307066,"scheduledPurgeDate":1573083066,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/b74b747460c4401397155791437bf4cf","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vTsYtZoMLEDkiPZNA-z245EK0UwNuHLvcleYBPjxQQOKlEsfCqYBIVFcR7nixR9jv0hxykC3HSwToKuNmpd1WDgLBnZaXzUSVOXvmabdyVfuEq25f7QzKXK1R5rQI6DCiJhHv93BYRpee2WNwQQJOdYc3vZy0zTEcxfbvkQ7Gy_QVQ-bvgYalH00IWXtxi_IuBz_w394WgDB1aB12tV-ivYl-5bmJTVr6Gjao1hnDBfzvb_A8yWy4ZP_TAmPdRvomBvJNqnNSEIVsxUdp1NiASEL_Sqn7aFQ7Jb8aWWfhr2joggbeMYZf6g8LKcW0dB3JKbFJRvjM_PsIK24S8Zqfw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307065,"updated":1565307065,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1440,11 +9629,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '61febb08-06fc-41ff-8124-466f15561489', + '341fe899-07da-44b0-a584-d22c38734b3a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1454,34 +9643,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:45 GMT', + 'Thu, 08 Aug 2019 23:31:06 GMT', 'Connection', 'close', 'Content-Length', - '2734' ]); + '875' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .delete('/keys/recoverKeyName-listdeletedkeyspaged--1') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156027682085504023","attributes":{"enabled":true,"created":1560276826,"updated":1560276826,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028175563002501","attributes":{"enabled":true,"created":1560281761,"updated":1560281761,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176140503335","attributes":{"enabled":true,"created":1560281767,"updated":1560281767,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028176718009249","attributes":{"enabled":false,"created":1560281772,"updated":1560281772,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177274009592","attributes":{"enabled":true,"nbf":1560281777,"created":1560281778,"updated":1560281778,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028177830101648","attributes":{"enabled":true,"exp":1560281783,"created":1560281784,"updated":1560281784,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028178407406544","attributes":{"enabled":false,"created":1560281789,"updated":1560281795,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028179546704608","attributes":{"enabled":false,"exp":1560281801,"created":1560281800,"updated":1560281806,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028182926703011","attributes":{"enabled":true,"created":1560281834,"updated":1560281834,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028184044006383","attributes":{"enabled":true,"created":1560281845,"updated":1560281845,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028189442507450","attributes":{"enabled":true,"created":1560281899,"updated":1560281899,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028205605702876","attributes":{"enabled":true,"created":1560282061,"updated":1560282061,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028212028407398","attributes":{"enabled":true,"created":1560282125,"updated":1560282125,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156028213716108979","attributes":{"enabled":true,"created":1560282142,"updated":1560282142,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322090002888","attributes":{"enabled":false,"created":1560363226,"updated":1560363226,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036322656807812","attributes":{"enabled":true,"nbf":1560363231,"created":1560363232,"updated":1560363232,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323238409224","attributes":{"enabled":true,"exp":1560363237,"created":1560363237,"updated":1560363237,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7225bc43-9842-45ac-aa7d-3157c7345b5e', + '0ccf1b6a-b0d6-4dd8-b40c-b5aeb9a04ec6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1491,17 +9684,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:46 GMT', + 'Thu, 08 Aug 2019 23:31:07 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '924ec941-43d0-4af6-b5e8-1d8cac5a4000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:07 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:07 GMT', 'Connection', 'close', 'Content-Length', - '3509' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .delete('/keys/recoverKeyName-listdeletedkeyspaged--1') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/key156036323804901755","attributes":{"enabled":false,"created":1560363243,"updated":1560363249,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036324938907401","attributes":{"enabled":false,"exp":1560363254,"created":1560363254,"updated":1560363260,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036328289805710","attributes":{"enabled":true,"created":1560363288,"updated":1560363288,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036329384707932","attributes":{"enabled":true,"created":1560363299,"updated":1560363299,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036335353805406","attributes":{"enabled":true,"created":1560363359,"updated":1560363359,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036352635406646","attributes":{"enabled":true,"created":1560363532,"updated":1560363532,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036359055200632","attributes":{"enabled":true,"created":1560363595,"updated":1560363595,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156036360747106809","attributes":{"enabled":true,"created":1560363613,"updated":1560363613,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044301853106036","attributes":{"enabled":false,"created":1560443023,"updated":1560443029,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044302953209171","attributes":{"enabled":false,"exp":1560443035,"created":1560443035,"updated":1560443040,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044306342002510","attributes":{"enabled":true,"created":1560443069,"updated":1560443069,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044307483600798","attributes":{"enabled":true,"created":1560443080,"updated":1560443080,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044314989607523","attributes":{"enabled":true,"created":1560443155,"updated":1560443155,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044316109901534","attributes":{"enabled":true,"created":1560443166,"updated":1560443166,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044360211306282","attributes":{"enabled":true,"created":1560443607,"updated":1560443607,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044369613908113","attributes":{"enabled":true,"created":1560443701,"updated":1560443701,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156044371294504848","attributes":{"enabled":true,"created":1560443718,"updated":1560443718,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156048233876700601","attributes":{"enabled":true,"created":1560482344,"updated":1560482344,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/key156054122923308772","attributes":{"enabled":true,"created":1560541235,"updated":1560541235,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953600799","attributes":{"enabled":true,"created":1560199735,"updated":1560199735,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1","deletedDate":1565307067,"scheduledPurgeDate":1573083067,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/c174ab8193274484b2ecb7ef306b15fd","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"iTb536PjqWvdlERzK6ubk1LQVjIJA73akJywt6Wicdy1vr87a_ozxQFWOyAzKjAQFclS5n9Dm6JZHTR9fNLOY8UP-0IRUnDmKoBTahrT0de9Yrmxgb1qzrh0r1WLDHUUD7EBmT3otNppEFFQmU01RPhN0TCLs8lHbMomzcjDw5WvVDP-fsrJuhWgRbFEnkQ7pcWX_3TggTMJiApoNwFAV97WCqgJegIgkdmS0V0-_KipzkZZST1-gaxMeOjb3pInyvFJq43EY8gg_XTcxN3_AYavMIzAZg7DFuAT342E4PVNlI2d4iApKSlSmezEg0h6SIX96t_N3KvKV2JARZc2-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565307066,"updated":1565307066,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1514,11 +9739,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '323e750c-46c5-42d1-9806-22a16714948d', + '80805e22-9124-4b1c-9c3d-78ebf5e1c16b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1528,34 +9753,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:46 GMT', + 'Thu, 08 Aug 2019 23:31:07 GMT', 'Connection', 'close', 'Content-Length', - '4019' ]); + '875' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/keys156019972953608137","attributes":{"enabled":true,"created":1560199740,"updated":1560199740,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308206","attributes":{"enabled":true,"created":1560216580,"updated":1560216580,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156021656935308448","attributes":{"enabled":true,"created":1560216575,"updated":1560216575,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118107647","attributes":{"enabled":true,"created":1560281922,"updated":1560281922,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156028191118109631","attributes":{"enabled":true,"created":1560281916,"updated":1560281916,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061400928","attributes":{"enabled":true,"created":1560363381,"updated":1560363381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156036337061402620","attributes":{"enabled":true,"created":1560363376,"updated":1560363376,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335800124","attributes":{"enabled":true,"created":1560443194,"updated":1560443194,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044318335808106","attributes":{"enabled":true,"created":1560443188,"updated":1560443188,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345205112","attributes":{"enabled":true,"created":1560443259,"updated":1560443259,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/keys156044325345209472","attributes":{"enabled":true,"created":1560443264,"updated":1560443264,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-0","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-4844377101593087-1","attributes":{"enabled":true,"created":1561685873,"updated":1561685873,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9abaaebe-94ee-4d0c-8476-f59c106b9142', + 'e3dccfc6-1da1-4ed8-b1ed-715f454f2804', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1565,20 +9794,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:46 GMT', + 'Thu, 08 Aug 2019 23:31:07 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '272bae75-990a-4b69-9505-2fe6ee606500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:08 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:07 GMT', 'Connection', 'close', 'Content-Length', - '2826' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/MyKeyName","attributes":{"enabled":true,"created":1559759721,"updated":1559759721,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canabortcreatingakey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-845126448195596","attributes":{"enabled":true,"created":1563391406,"updated":1563391406,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0","attributes":{"enabled":true,"created":1563492462,"updated":1563492462,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1","attributes":{"enabled":true,"created":1563492463,"updated":1563492463,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-1","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-4883244773006783","attributes":{"enabled":true,"created":1561420381,"updated":1561420381,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8006354275127874","attributes":{"enabled":true,"created":1561420833,"updated":1561420833,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-8686288267292417","attributes":{"enabled":true,"created":1561420689,"updated":1561420689,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/keys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JVTlBWa1ZTUVVSRlRFVlVSVVJMUlZrdE9UYzFNREUxTVRNMU9UQXlOelV4SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-listdeletedkeyspaged--0"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '122', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1588,11 +9851,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd31699d3-67d0-47f4-8ed2-d634f4185b5a', + '3f1a22c5-0927-4137-b01e-71f71a1bf010', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1602,34 +9865,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:47 GMT', + 'Thu, 08 Aug 2019 23:31:08 GMT', 'Connection', - 'close', - 'Content-Length', - '2280' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys') + .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"value":[{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699601597","attributes":{"enabled":true,"created":1560195758,"updated":1560195758,"recoveryLevel":"Recoverable+Purgeable"}},{"kid":"https://keyvault_name.vault.azure.net/keys/secret156019574699608155","attributes":{"enabled":true,"created":1560195752,"updated":1560195752,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '267e9289-3869-49c9-86bf-e94048050c66', + 'ee08d14d-b4b6-4ab8-97c8-1182bdd745c8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1639,17 +9904,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:47 GMT', + 'Thu, 08 Aug 2019 23:31:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '78b55260-bd6d-4d89-9a1a-ddd5d4857500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:18 GMT', 'Connection', 'close', 'Content-Length', - '403' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0","deletedDate":1563492468,"scheduledPurgeDate":1571268468,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--0/9970d144804949dd99dd3c7b292cfa13","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wi8zM_bFjXpuC3wmLUBUyubjNuW31QdcpZZ4tpcYm9Mr7vOLacYiWgD6D-5fXh5T4i8mpDeGwfX4DSIzJSjHatXOhfrFRTgZSfQ_Lyrfv0MBNJ8hBSqOK-ITtaz_Z2Bm5fjKpNoooWosg_-_Am01CLN9o_KzuJ3UV-IHxgl_CgdAtM0UPHNnbpt9PgC3_W6cqt6efVzp80soD1T2TfkrNabzFv92RhPz4zFQi50A17ZKU73T6FVdpp4IR-wKIcwy8jqLhzXSlrrZWXkbBt__HJSuOP0a9Mx7r-n-58QNgpz7XKWi6LmKEh9-mJggO6VcTQBlBlHCh3skBy_WLNBzNw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492462,"updated":1563492462,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0","deletedDate":1565307066,"scheduledPurgeDate":1573083066,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/b74b747460c4401397155791437bf4cf","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"vTsYtZoMLEDkiPZNA-z245EK0UwNuHLvcleYBPjxQQOKlEsfCqYBIVFcR7nixR9jv0hxykC3HSwToKuNmpd1WDgLBnZaXzUSVOXvmabdyVfuEq25f7QzKXK1R5rQI6DCiJhHv93BYRpee2WNwQQJOdYc3vZy0zTEcxfbvkQ7Gy_QVQ-bvgYalH00IWXtxi_IuBz_w394WgDB1aB12tV-ivYl-5bmJTVr6Gjao1hnDBfzvb_A8yWy4ZP_TAmPdRvomBvJNqnNSEIVsxUdp1NiASEL_Sqn7aFQ7Jb8aWWfhr2joggbeMYZf6g8LKcW0dB3JKbFJRvjM_PsIK24S8Zqfw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307065,"updated":1565307065,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1662,11 +9959,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd5f2de61-10e0-41ba-933a-53512108888f', + '19867909-19ad-440d-8625-1f4fe6dd2b25', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1676,36 +9973,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:48 GMT', + 'Thu, 08 Aug 2019 23:31:18 GMT', 'Connection', 'close', 'Content-Length', - '897' ]); + '875' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') + .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--1') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'c4468ff5-3399-404d-bcfd-737ffe53d603', + '46f63676-5e01-4841-955b-762595410833', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1715,48 +10014,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:48 GMT', + 'Thu, 08 Aug 2019 23:31:18 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--0') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'a35975e1-dc0f-4d9f-8c60-2129c1033ea4', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '57774e4d-fce6-4043-b620-95a92d535900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:27:59 GMT', + 'Thu, 08 Aug 2019 23:31:19 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--1') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1","deletedDate":1563492480,"scheduledPurgeDate":1571268480,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged--1/36ea49dc1b1f4907b8ac86d71e4e8cca","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"2GquIbMMk7BmdR0NX2M4881yqnyDKEPs2mufh3XbYnjO1DLqScN0twzzpiMxqw-78seYW3Kew2u0WPUdaIVGZHJEFbpIc2Tj7-cchK0ZSeytCaVuyV5Ld5uSNkZPp6RowMyYrIG9UCJlQSItdLcAURDpF9cZB5yxAd8zhhof-jgT59R7mitDxk7nMxGrLg2q37YSrMtYmlNBGufGXgwxlcrM_FTgrWfqLzFITm0XkGjvOlW8x424107IoE3mEzkS0Fx2Ky2LGkgCIE01_gX-MpvXPkSkbD_YWn8wnPvFuT1ugsnaH48aA9rMPI86OccS7Cot3k2nrm3EkoTV6XS3gQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492463,"updated":1563492463,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1","deletedDate":1565307067,"scheduledPurgeDate":1573083067,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/c174ab8193274484b2ecb7ef306b15fd","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"iTb536PjqWvdlERzK6ubk1LQVjIJA73akJywt6Wicdy1vr87a_ozxQFWOyAzKjAQFclS5n9Dm6JZHTR9fNLOY8UP-0IRUnDmKoBTahrT0de9Yrmxgb1qzrh0r1WLDHUUD7EBmT3otNppEFFQmU01RPhN0TCLs8lHbMomzcjDw5WvVDP-fsrJuhWgRbFEnkQ7pcWX_3TggTMJiApoNwFAV97WCqgJegIgkdmS0V0-_KipzkZZST1-gaxMeOjb3pInyvFJq43EY8gg_XTcxN3_AYavMIzAZg7DFuAT342E4PVNlI2d4iApKSlSmezEg0h6SIX96t_N3KvKV2JARZc2-Q","e":"AQAB"},"attributes":{"enabled":true,"created":1565307066,"updated":1565307066,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1769,11 +10069,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'be97b857-e2f2-4e8a-89e9-dcfa9f7ed0a0', + '8d743179-0ec4-415f-99ea-75c81fdfe2ad', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1783,36 +10083,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:59 GMT', + 'Thu, 08 Aug 2019 23:31:19 GMT', 'Connection', 'close', 'Content-Length', - '897' ]); + '875' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') + .get('/deletedkeys') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8434669b-41c3-47ad-8502-22d6957c5a41', + '4b76d806-986b-459e-a9f9-96b7dfb2042b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1822,48 +10124,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:27:59 GMT', + 'Thu, 08 Aug 2019 23:31:20 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged--1') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '7d7c8d90-46ae-4aa1-862d-945f40d60598', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '3f90c432-4e6d-4c56-a1e7-70eac5726000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:20 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:10 GMT', + 'Thu, 08 Aug 2019 23:31:19 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-listdeletedkeys--0/create', {"kty":"RSA"}) + .get('/deletedkeys') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/c4933b88ca2e43538a6402db1dc33f31","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"nhlWunLoNTWxYwitsepYT_sEdGOseqkwUpU1xzOsOYYxlGYmPbiWV1HWorWprVOUS0MS2A8yzfKnkjLYGu4OS3qTbXk0-AnKcmkjE2zZ59iWorZRb-4UDBZ-odgwC1_wHTMce57hOTdJhAhvxormcfO3BU3x0Vcksd-hDzwmgQaeELkmylC_WOBF0SQ3iCALxgnqgaLLX5k9KrNLE7zcq0eI9G5hs7bKF6OEgzz0FINdSb7zZ3NCHv21utdRJdNUuSxkYU4Yqz5w4k_6gQd50-0uZFMX-cNnetzSQTKUoITKQp2mcuVtlqieCygccAdFgJuRlLhwqHrAHsBEAf208w","e":"AQAB"},"attributes":{"enabled":true,"created":1563492491,"updated":1563492491,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115","deletedDate":1561686237,"scheduledPurgeDate":1569462237,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115","attributes":{"enabled":false,"created":1561686237,"updated":1561686237,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891","deletedDate":1561685852,"scheduledPurgeDate":1569461852,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891","attributes":{"enabled":false,"created":1561685851,"updated":1561685851,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","deletedDate":1561414117,"scheduledPurgeDate":1569190117,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","attributes":{"enabled":true,"created":1561414117,"updated":1561414117,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","deletedDate":1561413873,"scheduledPurgeDate":1569189873,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","attributes":{"enabled":true,"created":1561413873,"updated":1561413873,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","deletedDate":1561685734,"scheduledPurgeDate":1569461734,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","attributes":{"enabled":true,"created":1561685734,"updated":1561685734,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","deletedDate":1561412406,"scheduledPurgeDate":1569188406,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","attributes":{"enabled":true,"created":1561412406,"updated":1561412406,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","deletedDate":1561414368,"scheduledPurgeDate":1569190368,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","attributes":{"enabled":true,"created":1561414367,"updated":1561414367,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","deletedDate":1561685633,"scheduledPurgeDate":1569461633,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","attributes":{"enabled":true,"created":1561685633,"updated":1561685633,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","deletedDate":1561685795,"scheduledPurgeDate":1569461795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","attributes":{"enabled":true,"created":1561685795,"updated":1561685795,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","deletedDate":1561414027,"scheduledPurgeDate":1569190027,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","attributes":{"enabled":true,"created":1561414027,"updated":1561414027,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","deletedDate":1561414305,"scheduledPurgeDate":1569190305,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","attributes":{"enabled":true,"created":1561414304,"updated":1561414304,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","deletedDate":1561685687,"scheduledPurgeDate":1569461687,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","attributes":{"enabled":true,"created":1561685687,"updated":1561685687,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1876,11 +10179,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9fc2e609-51aa-4197-b63a-b8763ee6e6b7', + 'd3adfc9b-d912-47b3-8f50-6beaf36659a5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1890,34 +10193,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:11 GMT', + 'Thu, 08 Aug 2019 23:31:20 GMT', 'Connection', 'close', 'Content-Length', - '696' ]); + '5344' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-listdeletedkeys--1/create', {"kty":"RSA"}) + .get('/deletedkeys') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/f8ede479ab5742daae435252adddc3ba","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"06Iv7PX7jkUcJKjrK4YNvlTflwjKJz_qN56_Hm-GIXTMC2TvrlmaUgUP9WQy-93AOU6EaWH1g3wkU7yttu5F3ElkjglLo798IzLcNnJCSSePpV-iowqvy8KWS_lMzcrwuQ6FKJfoG4f3WzpBodwDUBbyxmn90Y7h3ITNQ0zlC_DoBNp5bg62IXw9sPvyebODUh0BLmcrxF3z-9PVLkI9ky9h5pdHitFcP8ufgNpXvziQVLkB7hyI2hQrFm-cb0V0bUTTE4zuIYEa7u4KQ_J5_9vFw43F-agb3xzC0d93wut-pn_CSwAGbuBJAFkpXuDT2utvxzA981edIf_JTIX4mQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492491,"updated":1563492491,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6cc2de17-38b7-40a9-8099-84a51a146bdc', + '3e419bc2-de45-4b8c-800a-8f0fe09cec08', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1927,54 +10234,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:11 GMT', + 'Thu, 08 Aug 2019 23:31:20 GMT', 'Connection', - 'close', - 'Content-Length', - '696' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-listdeletedkeys--0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0","deletedDate":1563492492,"scheduledPurgeDate":1571268492,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/c4933b88ca2e43538a6402db1dc33f31","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"nhlWunLoNTWxYwitsepYT_sEdGOseqkwUpU1xzOsOYYxlGYmPbiWV1HWorWprVOUS0MS2A8yzfKnkjLYGu4OS3qTbXk0-AnKcmkjE2zZ59iWorZRb-4UDBZ-odgwC1_wHTMce57hOTdJhAhvxormcfO3BU3x0Vcksd-hDzwmgQaeELkmylC_WOBF0SQ3iCALxgnqgaLLX5k9KrNLE7zcq0eI9G5hs7bKF6OEgzz0FINdSb7zZ3NCHv21utdRJdNUuSxkYU4Yqz5w4k_6gQd50-0uZFMX-cNnetzSQTKUoITKQp2mcuVtlqieCygccAdFgJuRlLhwqHrAHsBEAf208w","e":"AQAB"},"attributes":{"enabled":true,"created":1563492491,"updated":1563492491,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'ee4e7a02-1e12-43a7-8572-6ad5f2d75d94', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '75705e30-9f4d-417c-9eb2-d28aae5e2c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:21 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:12 GMT', + 'Thu, 08 Aug 2019 23:31:20 GMT', 'Connection', 'close', 'Content-Length', - '867' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-listdeletedkeys--1') + .get('/deletedkeys') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1","deletedDate":1563492492,"scheduledPurgeDate":1571268492,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1/f8ede479ab5742daae435252adddc3ba","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"06Iv7PX7jkUcJKjrK4YNvlTflwjKJz_qN56_Hm-GIXTMC2TvrlmaUgUP9WQy-93AOU6EaWH1g3wkU7yttu5F3ElkjglLo798IzLcNnJCSSePpV-iowqvy8KWS_lMzcrwuQ6FKJfoG4f3WzpBodwDUBbyxmn90Y7h3ITNQ0zlC_DoBNp5bg62IXw9sPvyebODUh0BLmcrxF3z-9PVLkI9ky9h5pdHitFcP8ufgNpXvziQVLkB7hyI2hQrFm-cb0V0bUTTE4zuIYEa7u4KQ_J5_9vFw43F-agb3xzC0d93wut-pn_CSwAGbuBJAFkpXuDT2utvxzA981edIf_JTIX4mQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492491,"updated":1563492491,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","deletedDate":1561686230,"scheduledPurgeDate":1569462230,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","attributes":{"enabled":true,"created":1561686229,"updated":1561686229,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","deletedDate":1561412660,"scheduledPurgeDate":1569188660,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","attributes":{"enabled":true,"created":1561412659,"updated":1561412659,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","deletedDate":1561415149,"scheduledPurgeDate":1569191149,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","attributes":{"enabled":true,"created":1561415147,"updated":1561415147,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","deletedDate":1561414691,"scheduledPurgeDate":1569190691,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","attributes":{"enabled":true,"created":1561414690,"updated":1561414690,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","deletedDate":1561411064,"scheduledPurgeDate":1569187064,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","attributes":{"enabled":true,"created":1561411063,"updated":1561411063,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","deletedDate":1561415010,"scheduledPurgeDate":1569191010,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","attributes":{"enabled":true,"created":1561415009,"updated":1561415009,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","deletedDate":1561415277,"scheduledPurgeDate":1569191277,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","attributes":{"enabled":true,"created":1561415276,"updated":1561415276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","deletedDate":1561685844,"scheduledPurgeDate":1569461844,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","attributes":{"enabled":true,"created":1561685844,"updated":1561685844,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","deletedDate":1561414795,"scheduledPurgeDate":1569190795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","attributes":{"enabled":true,"created":1561414794,"updated":1561414794,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","deletedDate":1561413350,"scheduledPurgeDate":1569189350,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","attributes":{"enabled":true,"created":1561413350,"updated":1561413350,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","deletedDate":1561686240,"scheduledPurgeDate":1569462240,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","attributes":{"enabled":true,"exp":1546300805,"created":1561686240,"updated":1561686240,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","deletedDate":1561685855,"scheduledPurgeDate":1569461855,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","attributes":{"enabled":true,"exp":1546300805,"created":1561685854,"updated":1561685854,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1987,11 +10289,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'fa624e40-a64e-4c0a-a466-bb01a06a2aa0', + '1e171484-e6ee-4f2a-bec4-3f96b48d68cf', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2001,36 +10303,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:12 GMT', + 'Thu, 08 Aug 2019 23:31:21 GMT', 'Connection', 'close', 'Content-Length', - '867' ]); + '5295' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .get('/deletedkeys') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-listdeletedkeys--0"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b1cd74f5-f41a-4ecb-be93-3b4774ecbfd9', + 'e25df743-034f-48ca-af3f-914ec8eec304', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2040,52 +10344,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:12 GMT', + 'Thu, 08 Aug 2019 23:31:21 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-listdeletedkeys--0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0","deletedDate":1563492492,"scheduledPurgeDate":1571268492,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0/c4933b88ca2e43538a6402db1dc33f31","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"nhlWunLoNTWxYwitsepYT_sEdGOseqkwUpU1xzOsOYYxlGYmPbiWV1HWorWprVOUS0MS2A8yzfKnkjLYGu4OS3qTbXk0-AnKcmkjE2zZ59iWorZRb-4UDBZ-odgwC1_wHTMce57hOTdJhAhvxormcfO3BU3x0Vcksd-hDzwmgQaeELkmylC_WOBF0SQ3iCALxgnqgaLLX5k9KrNLE7zcq0eI9G5hs7bKF6OEgzz0FINdSb7zZ3NCHv21utdRJdNUuSxkYU4Yqz5w4k_6gQd50-0uZFMX-cNnetzSQTKUoITKQp2mcuVtlqieCygccAdFgJuRlLhwqHrAHsBEAf208w","e":"AQAB"},"attributes":{"enabled":true,"created":1563492491,"updated":1563492491,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '5fee7adc-d6d8-4b12-af09-a459bcd28f31', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '8230fcdb-886c-4a19-8922-380a1d9e5b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:22 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:23 GMT', + 'Thu, 08 Aug 2019 23:31:21 GMT', 'Connection', 'close', 'Content-Length', - '867' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115","deletedDate":1561686237,"scheduledPurgeDate":1569462237,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115","attributes":{"enabled":false,"created":1561686237,"updated":1561686237,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891","deletedDate":1561685852,"scheduledPurgeDate":1569461852,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891","attributes":{"enabled":false,"created":1561685851,"updated":1561685851,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","deletedDate":1561414117,"scheduledPurgeDate":1569190117,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","attributes":{"enabled":true,"created":1561414117,"updated":1561414117,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","deletedDate":1561413873,"scheduledPurgeDate":1569189873,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","attributes":{"enabled":true,"created":1561413873,"updated":1561413873,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","deletedDate":1561685734,"scheduledPurgeDate":1569461734,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","attributes":{"enabled":true,"created":1561685734,"updated":1561685734,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","deletedDate":1561412406,"scheduledPurgeDate":1569188406,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","attributes":{"enabled":true,"created":1561412406,"updated":1561412406,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","deletedDate":1561414368,"scheduledPurgeDate":1569190368,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","attributes":{"enabled":true,"created":1561414367,"updated":1561414367,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","deletedDate":1561685633,"scheduledPurgeDate":1569461633,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","attributes":{"enabled":true,"created":1561685633,"updated":1561685633,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","deletedDate":1561685795,"scheduledPurgeDate":1569461795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","attributes":{"enabled":true,"created":1561685795,"updated":1561685795,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","deletedDate":1561414027,"scheduledPurgeDate":1569190027,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","attributes":{"enabled":true,"created":1561414027,"updated":1561414027,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","deletedDate":1561414305,"scheduledPurgeDate":1569190305,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","attributes":{"enabled":true,"created":1561414304,"updated":1561414304,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","deletedDate":1561685687,"scheduledPurgeDate":1569461687,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","attributes":{"enabled":true,"created":1561685687,"updated":1561685687,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","deletedDate":1561686239,"scheduledPurgeDate":1569462239,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","attributes":{"enabled":true,"nbf":1546300805,"created":1561686238,"updated":1561686238,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","deletedDate":1561685853,"scheduledPurgeDate":1569461853,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","attributes":{"enabled":true,"nbf":1546300805,"created":1561685853,"updated":1561685853,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942","deletedDate":1561685637,"scheduledPurgeDate":1569461637,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942","attributes":{"enabled":true,"created":1561685636,"updated":1561685636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115","deletedDate":1561686234,"scheduledPurgeDate":1569462234,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115","attributes":{"enabled":true,"created":1561686234,"updated":1561686234,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891","deletedDate":1561685849,"scheduledPurgeDate":1569461849,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891","attributes":{"enabled":true,"created":1561685848,"updated":1561685848,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","deletedDate":1561685638,"scheduledPurgeDate":1569461638,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","attributes":{"enabled":true,"created":1561685637,"updated":1561685637,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","deletedDate":1561686236,"scheduledPurgeDate":1569462236,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","attributes":{"enabled":true,"created":1561686235,"updated":1561686235,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","deletedDate":1561685850,"scheduledPurgeDate":1569461850,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","attributes":{"enabled":true,"created":1561685850,"updated":1561685850,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942","deletedDate":1561685635,"scheduledPurgeDate":1569461635,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942","attributes":{"enabled":true,"created":1561685634,"updated":1561685634,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115","deletedDate":1561686231,"scheduledPurgeDate":1569462231,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115","attributes":{"enabled":true,"created":1561686231,"updated":1561686231,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133","deletedDate":1562874910,"scheduledPurgeDate":1570650910,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133","attributes":{"enabled":true,"created":1562874910,"updated":1562874910,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891","deletedDate":1561685846,"scheduledPurgeDate":1569461846,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891","attributes":{"enabled":true,"created":1561685845,"updated":1561685845,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","deletedDate":1561685636,"scheduledPurgeDate":1569461636,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","attributes":{"enabled":true,"created":1561685635,"updated":1561685635,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2098,11 +10399,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'c7bd14ea-0ceb-490c-87e8-01c5006530b7', + '1a95fdc5-0b9d-44d4-bbfc-d59ce331bfda', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2112,34 +10413,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:23 GMT', + 'Thu, 08 Aug 2019 23:31:22 GMT', 'Connection', 'close', 'Content-Length', - '5344' ]); + '5427' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","deletedDate":1561686230,"scheduledPurgeDate":1569462230,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","attributes":{"enabled":true,"created":1561686229,"updated":1561686229,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","deletedDate":1561412660,"scheduledPurgeDate":1569188660,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","attributes":{"enabled":true,"created":1561412659,"updated":1561412659,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","deletedDate":1561415149,"scheduledPurgeDate":1569191149,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","attributes":{"enabled":true,"created":1561415147,"updated":1561415147,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","deletedDate":1561414691,"scheduledPurgeDate":1569190691,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","attributes":{"enabled":true,"created":1561414690,"updated":1561414690,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","deletedDate":1561411064,"scheduledPurgeDate":1569187064,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","attributes":{"enabled":true,"created":1561411063,"updated":1561411063,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","deletedDate":1561415010,"scheduledPurgeDate":1569191010,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","attributes":{"enabled":true,"created":1561415009,"updated":1561415009,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","deletedDate":1561415277,"scheduledPurgeDate":1569191277,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","attributes":{"enabled":true,"created":1561415276,"updated":1561415276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","deletedDate":1561685844,"scheduledPurgeDate":1569461844,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","attributes":{"enabled":true,"created":1561685844,"updated":1561685844,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","deletedDate":1561414795,"scheduledPurgeDate":1569190795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","attributes":{"enabled":true,"created":1561414794,"updated":1561414794,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","deletedDate":1561413350,"scheduledPurgeDate":1569189350,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","attributes":{"enabled":true,"created":1561413350,"updated":1561413350,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","deletedDate":1561686240,"scheduledPurgeDate":1569462240,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","attributes":{"enabled":true,"exp":1546300805,"created":1561686240,"updated":1561686240,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","deletedDate":1561685855,"scheduledPurgeDate":1569461855,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","attributes":{"enabled":true,"exp":1546300805,"created":1561685854,"updated":1561685854,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e8d2405e-1b2f-40ab-98d1-3230a530dd1b', + '3dcb111d-c8da-45fd-85a7-ffa20235b35c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2149,17 +10454,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:24 GMT', + 'Thu, 08 Aug 2019 23:31:22 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd7eb2535-0c52-43a7-ae2a-e38992b53700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:22 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:22 GMT', 'Connection', 'close', 'Content-Length', - '5295' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","deletedDate":1561686239,"scheduledPurgeDate":1569462239,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","attributes":{"enabled":true,"nbf":1546300805,"created":1561686238,"updated":1561686238,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","deletedDate":1561685853,"scheduledPurgeDate":1569461853,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","attributes":{"enabled":true,"nbf":1546300805,"created":1561685853,"updated":1561685853,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942","deletedDate":1561685637,"scheduledPurgeDate":1569461637,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942","attributes":{"enabled":true,"created":1561685636,"updated":1561685636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115","deletedDate":1561686234,"scheduledPurgeDate":1569462234,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115","attributes":{"enabled":true,"created":1561686234,"updated":1561686234,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891","deletedDate":1561685849,"scheduledPurgeDate":1569461849,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891","attributes":{"enabled":true,"created":1561685848,"updated":1561685848,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","deletedDate":1561685638,"scheduledPurgeDate":1569461638,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","attributes":{"enabled":true,"created":1561685637,"updated":1561685637,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","deletedDate":1561686236,"scheduledPurgeDate":1569462236,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","attributes":{"enabled":true,"created":1561686235,"updated":1561686235,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","deletedDate":1561685850,"scheduledPurgeDate":1569461850,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","attributes":{"enabled":true,"created":1561685850,"updated":1561685850,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942","deletedDate":1561685635,"scheduledPurgeDate":1569461635,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942","attributes":{"enabled":true,"created":1561685634,"updated":1561685634,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115","deletedDate":1561686231,"scheduledPurgeDate":1569462231,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115","attributes":{"enabled":true,"created":1561686231,"updated":1561686231,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133","deletedDate":1562874910,"scheduledPurgeDate":1570650910,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133","attributes":{"enabled":true,"created":1562874910,"updated":1562874910,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891","deletedDate":1561685846,"scheduledPurgeDate":1569461846,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891","attributes":{"enabled":true,"created":1561685845,"updated":1561685845,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","deletedDate":1561685636,"scheduledPurgeDate":1569461636,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","attributes":{"enabled":true,"created":1561685635,"updated":1561685635,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","deletedDate":1561686233,"scheduledPurgeDate":1569462233,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","attributes":{"enabled":true,"created":1561686232,"updated":1561686232,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","deletedDate":1561685847,"scheduledPurgeDate":1569461847,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","attributes":{"enabled":true,"created":1561685847,"updated":1561685847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115","deletedDate":1561686245,"scheduledPurgeDate":1569462245,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115","attributes":{"enabled":true,"created":1561686245,"updated":1561686245,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891","deletedDate":1561685860,"scheduledPurgeDate":1569461860,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891","attributes":{"enabled":true,"created":1561685860,"updated":1561685860,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616","deletedDate":1561685972,"scheduledPurgeDate":1569461972,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616","attributes":{"enabled":true,"created":1561685972,"updated":1561685972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887","deletedDate":1561685900,"scheduledPurgeDate":1569461900,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887","attributes":{"enabled":true,"created":1561685900,"updated":1561685900,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769","deletedDate":1561416018,"scheduledPurgeDate":1569192018,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769","attributes":{"enabled":true,"created":1561416018,"updated":1561416018,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544","deletedDate":1561415954,"scheduledPurgeDate":1569191954,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544","attributes":{"enabled":true,"created":1561415953,"updated":1561415953,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702","deletedDate":1561686157,"scheduledPurgeDate":1569462157,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702","attributes":{"enabled":true,"created":1561686156,"updated":1561686156,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891","deletedDate":1561685866,"scheduledPurgeDate":1569461866,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891","attributes":{"enabled":true,"created":1561685866,"updated":1561685866,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713","deletedDate":1561686136,"scheduledPurgeDate":1569462136,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713","attributes":{"enabled":true,"created":1561686135,"updated":1561686135,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404","deletedDate":1561686091,"scheduledPurgeDate":1569462091,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404","attributes":{"enabled":true,"created":1561686091,"updated":1561686091,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2172,11 +10509,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e9eb8df1-c952-445a-85c8-fa30b0fdaac3', + '15f9e632-c63a-4ce6-b596-548a9b0ea175', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2186,34 +10523,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:24 GMT', + 'Thu, 08 Aug 2019 23:31:22 GMT', 'Connection', 'close', 'Content-Length', - '5427' ]); + '4857' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","deletedDate":1561686233,"scheduledPurgeDate":1569462233,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","attributes":{"enabled":true,"created":1561686232,"updated":1561686232,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","deletedDate":1561685847,"scheduledPurgeDate":1569461847,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","attributes":{"enabled":true,"created":1561685847,"updated":1561685847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115","deletedDate":1561686245,"scheduledPurgeDate":1569462245,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115","attributes":{"enabled":true,"created":1561686245,"updated":1561686245,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891","deletedDate":1561685860,"scheduledPurgeDate":1569461860,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891","attributes":{"enabled":true,"created":1561685860,"updated":1561685860,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616","deletedDate":1561685972,"scheduledPurgeDate":1569461972,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616","attributes":{"enabled":true,"created":1561685972,"updated":1561685972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887","deletedDate":1561685900,"scheduledPurgeDate":1569461900,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887","attributes":{"enabled":true,"created":1561685900,"updated":1561685900,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769","deletedDate":1561416018,"scheduledPurgeDate":1569192018,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769","attributes":{"enabled":true,"created":1561416018,"updated":1561416018,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544","deletedDate":1561415954,"scheduledPurgeDate":1569191954,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544","attributes":{"enabled":true,"created":1561415953,"updated":1561415953,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702","deletedDate":1561686157,"scheduledPurgeDate":1569462157,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702","attributes":{"enabled":true,"created":1561686156,"updated":1561686156,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891","deletedDate":1561685866,"scheduledPurgeDate":1569461866,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891","attributes":{"enabled":true,"created":1561685866,"updated":1561685866,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713","deletedDate":1561686136,"scheduledPurgeDate":1569462136,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713","attributes":{"enabled":true,"created":1561686135,"updated":1561686135,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404","deletedDate":1561686091,"scheduledPurgeDate":1569462091,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404","attributes":{"enabled":true,"created":1561686091,"updated":1561686091,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2ebdea9f-d001-431f-bcc7-524561897453', + 'f77047b2-321d-4a77-97ed-468b2a4ec96a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2223,17 +10564,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:24 GMT', + 'Thu, 08 Aug 2019 23:31:22 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'aab7b631-c963-4ded-b58a-41f87fa62900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:23 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:23 GMT', 'Connection', 'close', 'Content-Length', - '4857' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115","deletedDate":1561686248,"scheduledPurgeDate":1569462248,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115","attributes":{"enabled":true,"created":1561686247,"updated":1561686247,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891","deletedDate":1561685863,"scheduledPurgeDate":1569461863,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891","attributes":{"enabled":true,"created":1561685862,"updated":1561685862,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","deletedDate":1561686250,"scheduledPurgeDate":1569462250,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","attributes":{"enabled":true,"created":1561686249,"updated":1561686249,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","deletedDate":1561685865,"scheduledPurgeDate":1569461865,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","attributes":{"enabled":true,"created":1561685864,"updated":1561685864,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115","deletedDate":1561686244,"scheduledPurgeDate":1569462244,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115","attributes":{"enabled":false,"exp":1546300800,"created":1561686243,"updated":1561686244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891","deletedDate":1561685859,"scheduledPurgeDate":1569461859,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891","attributes":{"enabled":false,"exp":1546300800,"created":1561685858,"updated":1561685858,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115","deletedDate":1561686242,"scheduledPurgeDate":1569462242,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115","attributes":{"enabled":false,"created":1561686241,"updated":1561686242,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891","deletedDate":1561685857,"scheduledPurgeDate":1569461857,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891","attributes":{"enabled":false,"created":1561685856,"updated":1561685856,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd016ZzJOakl5TURreU1EZ3ZNVUUwTWpJMFF6UkJSRVZDTkVKRVJrRkVNemxDUWtWR05ETXpSamd3TmtJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115","deletedDate":1561686248,"scheduledPurgeDate":1569462248,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115","attributes":{"enabled":true,"created":1561686247,"updated":1561686247,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891","deletedDate":1561685863,"scheduledPurgeDate":1569461863,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891","attributes":{"enabled":true,"created":1561685862,"updated":1561685862,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","deletedDate":1561686250,"scheduledPurgeDate":1569462250,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","attributes":{"enabled":true,"created":1561686249,"updated":1561686249,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","deletedDate":1561685865,"scheduledPurgeDate":1569461865,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","attributes":{"enabled":true,"created":1561685864,"updated":1561685864,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115","deletedDate":1561686244,"scheduledPurgeDate":1569462244,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115","attributes":{"enabled":false,"exp":1546300800,"created":1561686243,"updated":1561686244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891","deletedDate":1561685859,"scheduledPurgeDate":1569461859,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891","attributes":{"enabled":false,"exp":1546300800,"created":1561685858,"updated":1561685858,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115","deletedDate":1561686242,"scheduledPurgeDate":1569462242,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115","attributes":{"enabled":false,"created":1561686241,"updated":1561686242,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891","deletedDate":1561685857,"scheduledPurgeDate":1569461857,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891","attributes":{"enabled":false,"created":1561685856,"updated":1561685856,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/cryptography-client-test-key","deletedDate":1564437302,"scheduledPurgeDate":1572213302,"kid":"https://keyvault_name.vault.azure.net/keys/cryptography-client-test-key","attributes":{"enabled":true,"created":1564437301,"updated":1564437301,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CryptographyClientTestKey","deletedDate":1564415084,"scheduledPurgeDate":1572191084,"kid":"https://keyvault_name.vault.azure.net/keys/CryptographyClientTestKey","attributes":{"enabled":true,"created":1564415081,"updated":1564415081,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd01UZzNOREl3TURVNE1EZ3ZPVGc0TWtVd05VVXhRMFV6TkVRMFJqbEJNRFl5UmpCQlEwUTJOVVpGUkRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2246,11 +10619,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'c71b2530-565d-41f2-9d9e-2e017e2148d7', + '6bcb7f73-c8b5-47c5-972a-6f62837e5af4', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2260,34 +10633,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:25 GMT', + 'Thu, 08 Aug 2019 23:31:23 GMT', 'Connection', 'close', 'Content-Length', - '3408' ]); + '4084' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310","deletedDate":1560195770,"scheduledPurgeDate":1567971770,"kid":"https://keyvault_name.vault.azure.net/keys/key156019567242501310","attributes":{"enabled":true,"created":1560195678,"updated":1560195678,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134","deletedDate":1560195724,"scheduledPurgeDate":1567971724,"kid":"https://keyvault_name.vault.azure.net/keys/key156019571294800134","attributes":{"enabled":true,"created":1560195718,"updated":1560195718,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '263ec33e-04e6-4d0a-9bff-8c1ac4c7e434', + 'eaef1a9c-64ee-47b3-8f23-4117a5b5e9d1', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2297,17 +10674,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:25 GMT', + 'Thu, 08 Aug 2019 23:31:23 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd5e8e738-a101-4a78-978a-1a0f2e364600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:24 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:23 GMT', 'Connection', 'close', 'Content-Length', - '936' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255","deletedDate":1560195904,"scheduledPurgeDate":1567971904,"kid":"https://keyvault_name.vault.azure.net/keys/key156019588703602255","attributes":{"enabled":false,"created":1560195892,"updated":1560195892,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155","deletedDate":1560196160,"scheduledPurgeDate":1567972160,"kid":"https://keyvault_name.vault.azure.net/keys/key156019614908508155","attributes":{"enabled":true,"nbf":1560196154,"created":1560196155,"updated":1560196155,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618","deletedDate":1560196278,"scheduledPurgeDate":1567972278,"kid":"https://keyvault_name.vault.azure.net/keys/key156019626145109618","attributes":{"enabled":true,"nbf":1560196266,"created":1560196267,"updated":1560196267,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535","deletedDate":1560196443,"scheduledPurgeDate":1567972443,"kid":"https://keyvault_name.vault.azure.net/keys/key156019643192308535","attributes":{"enabled":true,"nbf":1560196436,"created":1560196437,"updated":1560196437,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673","deletedDate":1560196776,"scheduledPurgeDate":1567972776,"kid":"https://keyvault_name.vault.azure.net/keys/key156019676499600673","attributes":{"enabled":true,"nbf":1560196769,"created":1560196770,"updated":1560196770,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785","deletedDate":1560196798,"scheduledPurgeDate":1567972798,"kid":"https://keyvault_name.vault.azure.net/keys/key156019678704709785","attributes":{"enabled":true,"nbf":1560196792,"created":1560196792,"updated":1560196792,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936","deletedDate":1560196842,"scheduledPurgeDate":1567972842,"kid":"https://keyvault_name.vault.azure.net/keys/key156019683131108936","attributes":{"enabled":true,"nbf":1560196836,"created":1560196836,"updated":1560196836,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648","deletedDate":1560196888,"scheduledPurgeDate":1567972888,"kid":"https://keyvault_name.vault.azure.net/keys/key156019687132907648","attributes":{"enabled":true,"nbf":1560196876,"created":1560196876,"updated":1560196876,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764","deletedDate":1560199758,"scheduledPurgeDate":1567975758,"kid":"https://keyvault_name.vault.azure.net/keys/key156019964932000764","attributes":{"enabled":true,"created":1560199655,"updated":1560199655,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qWTJOVFV5TURJMU5URXZRVFl3TVRCRE5EVkROVEJHTkRNeFJUZzFSamxHUkRSR05qaENSVVJEUVRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310","deletedDate":1560195770,"scheduledPurgeDate":1567971770,"kid":"https://keyvault_name.vault.azure.net/keys/key156019567242501310","attributes":{"enabled":true,"created":1560195678,"updated":1560195678,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpBeE5UYzNNRFF3TVRnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2320,11 +10729,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'af622009-2d53-428a-a1ba-ddfd9be280d2', + '88698d01-4ca3-4ee4-86b4-2a978dc02f6b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2334,34 +10743,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:25 GMT', + 'Thu, 08 Aug 2019 23:31:24 GMT', 'Connection', 'close', 'Content-Length', - '3405' ]); + '609' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499","deletedDate":1560199695,"scheduledPurgeDate":1567975695,"kid":"https://keyvault_name.vault.azure.net/keys/key156019968394501499","attributes":{"enabled":true,"created":1560199689,"updated":1560199689,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548","deletedDate":1560200123,"scheduledPurgeDate":1567976123,"kid":"https://keyvault_name.vault.azure.net/keys/key156020010748409548","attributes":{"enabled":true,"nbf":1560200112,"created":1560200113,"updated":1560200113,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975","deletedDate":1560200982,"scheduledPurgeDate":1567976982,"kid":"https://keyvault_name.vault.azure.net/keys/key156020097075304975","attributes":{"enabled":true,"exp":1560200975,"created":1560200976,"updated":1560200976,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630","deletedDate":1560205908,"scheduledPurgeDate":1567981908,"kid":"https://keyvault_name.vault.azure.net/keys/key156020589654200630","attributes":{"enabled":true,"created":1560205902,"updated":1560205902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019","deletedDate":1560206019,"scheduledPurgeDate":1567982019,"kid":"https://keyvault_name.vault.azure.net/keys/key156020600810901019","attributes":{"enabled":true,"created":1560206013,"updated":1560206013,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969","deletedDate":1560206579,"scheduledPurgeDate":1567982579,"kid":"https://keyvault_name.vault.azure.net/keys/key156020656741105969","attributes":{"enabled":true,"created":1560206573,"updated":1560206573,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557","deletedDate":1560212037,"scheduledPurgeDate":1567988037,"kid":"https://keyvault_name.vault.azure.net/keys/key156021202578402557","attributes":{"enabled":true,"created":1560212031,"updated":1560212031,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0dbd46b5-b4d8-4563-b73b-6e0c5f1ede59', + '472c7c9e-2045-484d-a7c2-4dc581c09300', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2371,17 +10784,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:26 GMT', + 'Thu, 08 Aug 2019 23:31:24 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a0955e8a-c041-4e3d-83f8-2581d2066300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:25 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:24 GMT', 'Connection', 'close', 'Content-Length', - '2605' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500","deletedDate":1560212139,"scheduledPurgeDate":1567988139,"kid":"https://keyvault_name.vault.azure.net/keys/key156021212284606500","attributes":{"enabled":true,"created":1560212128,"updated":1560212128,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930","deletedDate":1560212302,"scheduledPurgeDate":1567988302,"kid":"https://keyvault_name.vault.azure.net/keys/key156021228525302930","attributes":{"enabled":true,"created":1560212290,"updated":1560212290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638","deletedDate":1560212547,"scheduledPurgeDate":1567988547,"kid":"https://keyvault_name.vault.azure.net/keys/key156021252900505638","attributes":{"enabled":true,"created":1560212534,"updated":1560212534,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011","deletedDate":1560212608,"scheduledPurgeDate":1567988608,"kid":"https://keyvault_name.vault.azure.net/keys/key156021259169107011","attributes":{"enabled":true,"created":1560212597,"updated":1560212597,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420","deletedDate":1560212772,"scheduledPurgeDate":1567988772,"kid":"https://keyvault_name.vault.azure.net/keys/key156021275535604420","attributes":{"enabled":true,"created":1560212760,"updated":1560212760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898","deletedDate":1560213205,"scheduledPurgeDate":1567989205,"kid":"https://keyvault_name.vault.azure.net/keys/key156021319425603898","attributes":{"enabled":true,"created":1560213200,"updated":1560213200,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680","deletedDate":1560213698,"scheduledPurgeDate":1567989698,"kid":"https://keyvault_name.vault.azure.net/keys/key156021368188700680","attributes":{"enabled":true,"created":1560213687,"updated":1560213687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638","deletedDate":1560213837,"scheduledPurgeDate":1567989837,"kid":"https://keyvault_name.vault.azure.net/keys/key156021382077504638","attributes":{"enabled":false,"created":1560213826,"updated":1560213832,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430","deletedDate":1560214070,"scheduledPurgeDate":1567990070,"kid":"https://keyvault_name.vault.azure.net/keys/key156021397882409430","attributes":{"enabled":true,"created":1560213984,"updated":1560213984,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFME1EQXhOemd3TURjek5UVXZRelZHUkRsQk5VVkRRVGs1TkRrNU1qZ3pOa1ZGUWtGR01UZEJSRFF4UmpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134","deletedDate":1560195724,"scheduledPurgeDate":1567971724,"kid":"https://keyvault_name.vault.azure.net/keys/key156019571294800134","attributes":{"enabled":true,"created":1560195718,"updated":1560195718,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255","deletedDate":1560195904,"scheduledPurgeDate":1567971904,"kid":"https://keyvault_name.vault.azure.net/keys/key156019588703602255","attributes":{"enabled":false,"created":1560195892,"updated":1560195892,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155","deletedDate":1560196160,"scheduledPurgeDate":1567972160,"kid":"https://keyvault_name.vault.azure.net/keys/key156019614908508155","attributes":{"enabled":true,"nbf":1560196154,"created":1560196155,"updated":1560196155,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618","deletedDate":1560196278,"scheduledPurgeDate":1567972278,"kid":"https://keyvault_name.vault.azure.net/keys/key156019626145109618","attributes":{"enabled":true,"nbf":1560196266,"created":1560196267,"updated":1560196267,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535","deletedDate":1560196443,"scheduledPurgeDate":1567972443,"kid":"https://keyvault_name.vault.azure.net/keys/key156019643192308535","attributes":{"enabled":true,"nbf":1560196436,"created":1560196437,"updated":1560196437,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673","deletedDate":1560196776,"scheduledPurgeDate":1567972776,"kid":"https://keyvault_name.vault.azure.net/keys/key156019676499600673","attributes":{"enabled":true,"nbf":1560196769,"created":1560196770,"updated":1560196770,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785","deletedDate":1560196798,"scheduledPurgeDate":1567972798,"kid":"https://keyvault_name.vault.azure.net/keys/key156019678704709785","attributes":{"enabled":true,"nbf":1560196792,"created":1560196792,"updated":1560196792,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936","deletedDate":1560196842,"scheduledPurgeDate":1567972842,"kid":"https://keyvault_name.vault.azure.net/keys/key156019683131108936","attributes":{"enabled":true,"nbf":1560196836,"created":1560196836,"updated":1560196836,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648","deletedDate":1560196888,"scheduledPurgeDate":1567972888,"kid":"https://keyvault_name.vault.azure.net/keys/key156019687132907648","attributes":{"enabled":true,"nbf":1560196876,"created":1560196876,"updated":1560196876,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764","deletedDate":1560199758,"scheduledPurgeDate":1567975758,"kid":"https://keyvault_name.vault.azure.net/keys/key156019964932000764","attributes":{"enabled":true,"created":1560199655,"updated":1560199655,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qVTFNVGM0TURZeE5UZ3ZSalkyTVVNMVJrRkNOVEpETkRnMk5rRkJSVFk0TXpBMFF6Z3pRVE13TURRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2394,11 +10839,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '30271b5a-a65b-40b8-bea3-c7d48f3d8d3e', + '75c374af-03f6-44cc-a28e-90a14f889c92', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2408,34 +10853,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:26 GMT', + 'Thu, 08 Aug 2019 23:31:24 GMT', 'Connection', 'close', 'Content-Length', - '3286' ]); + '3732' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613","deletedDate":1560214059,"scheduledPurgeDate":1567990059,"kid":"https://keyvault_name.vault.azure.net/keys/key156021404805303613","attributes":{"enabled":true,"created":1560214053,"updated":1560214053,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298","deletedDate":1560214455,"scheduledPurgeDate":1567990455,"kid":"https://keyvault_name.vault.azure.net/keys/key156021443658305298","attributes":{"enabled":false,"created":1560214442,"updated":1560214449,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127","deletedDate":1560214715,"scheduledPurgeDate":1567990715,"kid":"https://keyvault_name.vault.azure.net/keys/key156021469847200127","attributes":{"enabled":false,"exp":1560214704,"created":1560214704,"updated":1560214709,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037","deletedDate":1560215026,"scheduledPurgeDate":1567991026,"kid":"https://keyvault_name.vault.azure.net/keys/key156021500992805037","attributes":{"enabled":false,"exp":1560215015,"created":1560215015,"updated":1560215021,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421","deletedDate":1560215105,"scheduledPurgeDate":1567991105,"kid":"https://keyvault_name.vault.azure.net/keys/key156021508931202421","attributes":{"enabled":false,"exp":1560215095,"created":1560215094,"updated":1560215100,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287","deletedDate":1560215290,"scheduledPurgeDate":1567991290,"kid":"https://keyvault_name.vault.azure.net/keys/key156021527355207287","attributes":{"enabled":false,"exp":1560215279,"created":1560215279,"updated":1560215284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132","deletedDate":1560215746,"scheduledPurgeDate":1567991746,"kid":"https://keyvault_name.vault.azure.net/keys/key156021572903002132","attributes":{"enabled":false,"exp":1560215734,"created":1560215734,"updated":1560215740,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f6bdf21e-8163-467e-ab3b-48b8d7f13ba0', + '8c51a0e5-ce2a-4bf4-9825-90e41f911122', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2445,17 +10894,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:26 GMT', + 'Thu, 08 Aug 2019 23:31:24 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '19af2ac0-041b-469c-a2f8-675d395e4200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:25 GMT', 'Connection', 'close', 'Content-Length', - '2662' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237","deletedDate":1560216615,"scheduledPurgeDate":1567992615,"kid":"https://keyvault_name.vault.azure.net/keys/key156021643840901237","attributes":{"enabled":true,"created":1560216444,"updated":1560216444,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471","deletedDate":1560216518,"scheduledPurgeDate":1567992518,"kid":"https://keyvault_name.vault.azure.net/keys/key156021650717904471","attributes":{"enabled":true,"created":1560216512,"updated":1560216512,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UUXhNVGczTURjNU9UZ3ZNVEZFTVRFNU5ESkdSak00TkVOQk1VSTFNVU5FTVVVelEwWkROa0ZFTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499","deletedDate":1560199695,"scheduledPurgeDate":1567975695,"kid":"https://keyvault_name.vault.azure.net/keys/key156019968394501499","attributes":{"enabled":true,"created":1560199689,"updated":1560199689,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548","deletedDate":1560200123,"scheduledPurgeDate":1567976123,"kid":"https://keyvault_name.vault.azure.net/keys/key156020010748409548","attributes":{"enabled":true,"nbf":1560200112,"created":1560200113,"updated":1560200113,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975","deletedDate":1560200982,"scheduledPurgeDate":1567976982,"kid":"https://keyvault_name.vault.azure.net/keys/key156020097075304975","attributes":{"enabled":true,"exp":1560200975,"created":1560200976,"updated":1560200976,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630","deletedDate":1560205908,"scheduledPurgeDate":1567981908,"kid":"https://keyvault_name.vault.azure.net/keys/key156020589654200630","attributes":{"enabled":true,"created":1560205902,"updated":1560205902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019","deletedDate":1560206019,"scheduledPurgeDate":1567982019,"kid":"https://keyvault_name.vault.azure.net/keys/key156020600810901019","attributes":{"enabled":true,"created":1560206013,"updated":1560206013,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakEyTlRZM05ERXhNRFU1TmpraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2468,11 +10949,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '83e6d057-abaa-4ffd-b8ca-c54dcfc56191', + 'e11abda4-a240-4ffa-abee-e6d3c9820088', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2482,34 +10963,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:27 GMT', + 'Thu, 08 Aug 2019 23:31:25 GMT', 'Connection', 'close', 'Content-Length', - '996' ]); + '1951' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478","deletedDate":1560217550,"scheduledPurgeDate":1567993550,"kid":"https://keyvault_name.vault.azure.net/keys/key156021753923506478","attributes":{"enabled":true,"created":1560217545,"updated":1560217545,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221","deletedDate":1560217733,"scheduledPurgeDate":1567993733,"kid":"https://keyvault_name.vault.azure.net/keys/key156021772195104221","attributes":{"enabled":true,"created":1560217727,"updated":1560217727,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976","deletedDate":1560263766,"scheduledPurgeDate":1568039766,"kid":"https://keyvault_name.vault.azure.net/keys/key156026375447403976","attributes":{"enabled":true,"created":1560263760,"updated":1560263760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170","deletedDate":1560264308,"scheduledPurgeDate":1568040308,"kid":"https://keyvault_name.vault.azure.net/keys/key156026429107509170","attributes":{"enabled":true,"created":1560264296,"updated":1560264296,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617","deletedDate":1560267823,"scheduledPurgeDate":1568043823,"kid":"https://keyvault_name.vault.azure.net/keys/key156026780583504617","attributes":{"enabled":true,"created":1560267811,"updated":1560267811,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786","deletedDate":1560269396,"scheduledPurgeDate":1568045396,"kid":"https://keyvault_name.vault.azure.net/keys/key156026937854708786","attributes":{"enabled":true,"created":1560269384,"updated":1560269384,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087","deletedDate":1560272836,"scheduledPurgeDate":1568048836,"kid":"https://keyvault_name.vault.azure.net/keys/key156027282511708087","attributes":{"enabled":true,"created":1560272831,"updated":1560272831,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813","deletedDate":1560274422,"scheduledPurgeDate":1568050422,"kid":"https://keyvault_name.vault.azure.net/keys/key156027441059203813","attributes":{"enabled":true,"created":1560274416,"updated":1560274416,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383","deletedDate":1560276204,"scheduledPurgeDate":1568052204,"kid":"https://keyvault_name.vault.azure.net/keys/key156027619257505383","attributes":{"enabled":true,"created":1560276198,"updated":1560276198,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526","deletedDate":1560276552,"scheduledPurgeDate":1568052552,"kid":"https://keyvault_name.vault.azure.net/keys/key156027654046904526","attributes":{"enabled":true,"created":1560276546,"updated":1560276546,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5cd83122-4715-41da-b768-dd06a3cb60a3', + '5d3ea911-7d1b-40cc-836e-5cc0fbdbce5b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2519,17 +11004,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:28 GMT', + 'Thu, 08 Aug 2019 23:31:25 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f05294bd-1042-46fd-a615-18048bb25400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:26 GMT', 'Connection', 'close', 'Content-Length', - '3552' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953","deletedDate":1560276707,"scheduledPurgeDate":1568052707,"kid":"https://keyvault_name.vault.azure.net/keys/key156027669556403953","attributes":{"enabled":true,"created":1560276701,"updated":1560276701,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591","deletedDate":1560276984,"scheduledPurgeDate":1568052984,"kid":"https://keyvault_name.vault.azure.net/keys/key156027692061805591","attributes":{"enabled":true,"created":1560276926,"updated":1560276926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123","deletedDate":1560278769,"scheduledPurgeDate":1568054769,"kid":"https://keyvault_name.vault.azure.net/keys/key156027875260704123","attributes":{"enabled":true,"created":1560278758,"updated":1560278758,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301","deletedDate":1560280458,"scheduledPurgeDate":1568056458,"kid":"https://keyvault_name.vault.azure.net/keys/key156028044085404301","attributes":{"enabled":true,"created":1560280446,"updated":1560280446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799","deletedDate":1560282270,"scheduledPurgeDate":1568058270,"kid":"https://keyvault_name.vault.azure.net/keys/key156028174986105799","attributes":{"enabled":true,"created":1560281755,"updated":1560281755,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56azFORFkzTURRMk1EZ3ZPVVl6T0RrMU0wTTBPRVF3TkROQ1FrRTRNekJFUWtWRU56STFSamsyUTBFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969","deletedDate":1560206579,"scheduledPurgeDate":1567982579,"kid":"https://keyvault_name.vault.azure.net/keys/key156020656741105969","attributes":{"enabled":true,"created":1560206573,"updated":1560206573,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557","deletedDate":1560212037,"scheduledPurgeDate":1567988037,"kid":"https://keyvault_name.vault.azure.net/keys/key156021202578402557","attributes":{"enabled":true,"created":1560212031,"updated":1560212031,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500","deletedDate":1560212139,"scheduledPurgeDate":1567988139,"kid":"https://keyvault_name.vault.azure.net/keys/key156021212284606500","attributes":{"enabled":true,"created":1560212128,"updated":1560212128,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930","deletedDate":1560212302,"scheduledPurgeDate":1567988302,"kid":"https://keyvault_name.vault.azure.net/keys/key156021228525302930","attributes":{"enabled":true,"created":1560212290,"updated":1560212290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638","deletedDate":1560212547,"scheduledPurgeDate":1567988547,"kid":"https://keyvault_name.vault.azure.net/keys/key156021252900505638","attributes":{"enabled":true,"created":1560212534,"updated":1560212534,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011","deletedDate":1560212608,"scheduledPurgeDate":1567988608,"kid":"https://keyvault_name.vault.azure.net/keys/key156021259169107011","attributes":{"enabled":true,"created":1560212597,"updated":1560212597,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420","deletedDate":1560212772,"scheduledPurgeDate":1567988772,"kid":"https://keyvault_name.vault.azure.net/keys/key156021275535604420","attributes":{"enabled":true,"created":1560212760,"updated":1560212760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898","deletedDate":1560213205,"scheduledPurgeDate":1567989205,"kid":"https://keyvault_name.vault.azure.net/keys/key156021319425603898","attributes":{"enabled":true,"created":1560213200,"updated":1560213200,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680","deletedDate":1560213698,"scheduledPurgeDate":1567989698,"kid":"https://keyvault_name.vault.azure.net/keys/key156021368188700680","attributes":{"enabled":true,"created":1560213687,"updated":1560213687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638","deletedDate":1560213837,"scheduledPurgeDate":1567989837,"kid":"https://keyvault_name.vault.azure.net/keys/key156021382077504638","attributes":{"enabled":false,"created":1560213826,"updated":1560213832,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430","deletedDate":1560214070,"scheduledPurgeDate":1567990070,"kid":"https://keyvault_name.vault.azure.net/keys/key156021397882409430","attributes":{"enabled":true,"created":1560213984,"updated":1560213984,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFek9Ua3dNalV6TURZd01ERXZSa015UWpZME9UaEZOa1JETkRnME1rSkRNVEUyTWpaR1JUa3lSakpGT0VFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2542,11 +11059,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7e9b095d-dc17-4e25-9c52-b953bb79d692', + 'eb0b5249-f14f-4525-ba8f-fa398e16f6ae', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2556,34 +11073,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:28 GMT', + 'Thu, 08 Aug 2019 23:31:26 GMT', 'Connection', 'close', 'Content-Length', - '1977' ]); + '3940' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726","deletedDate":1560281817,"scheduledPurgeDate":1568057817,"kid":"https://keyvault_name.vault.azure.net/keys/key156028180668003726","attributes":{"enabled":true,"created":1560281812,"updated":1560281812,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865","deletedDate":1560281862,"scheduledPurgeDate":1568057862,"kid":"https://keyvault_name.vault.azure.net/keys/key156028185168006865","attributes":{"enabled":true,"created":1560281857,"updated":1560281857,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070","deletedDate":1560363783,"scheduledPurgeDate":1568139783,"kid":"https://keyvault_name.vault.azure.net/keys/key156036321495001070","attributes":{"enabled":true,"created":1560363220,"updated":1560363220,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ba64eb49-cab9-449f-86fa-466c690d6284', + 'f7625f12-0bb6-4dd6-9c1b-f3e7361ef5d6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2593,17 +11114,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:29 GMT', + 'Thu, 08 Aug 2019 23:31:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '121bc93a-9a9c-4132-bf97-a6b130886800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:27 GMT', 'Connection', 'close', 'Content-Length', - '1263' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673","deletedDate":1560363271,"scheduledPurgeDate":1568139271,"kid":"https://keyvault_name.vault.azure.net/keys/key156036326049603673","attributes":{"enabled":true,"created":1560363266,"updated":1560363266,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742","deletedDate":1560439782,"scheduledPurgeDate":1568215782,"kid":"https://keyvault_name.vault.azure.net/keys/key156043977101909742","attributes":{"enabled":true,"created":1560439776,"updated":1560439776,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132","deletedDate":1560444138,"scheduledPurgeDate":1568220138,"kid":"https://keyvault_name.vault.azure.net/keys/key156044301303900132","attributes":{"enabled":true,"exp":1560443018,"created":1560443018,"updated":1560443018,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ESTVOVE15TURreE56RXZNa1F3UWpReU56RTRNVVpCTkRWR1JrSTJNa1kzTVVKQlFUVkNPRVUwT1RRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613","deletedDate":1560214059,"scheduledPurgeDate":1567990059,"kid":"https://keyvault_name.vault.azure.net/keys/key156021404805303613","attributes":{"enabled":true,"created":1560214053,"updated":1560214053,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298","deletedDate":1560214455,"scheduledPurgeDate":1567990455,"kid":"https://keyvault_name.vault.azure.net/keys/key156021443658305298","attributes":{"enabled":false,"created":1560214442,"updated":1560214449,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127","deletedDate":1560214715,"scheduledPurgeDate":1567990715,"kid":"https://keyvault_name.vault.azure.net/keys/key156021469847200127","attributes":{"enabled":false,"exp":1560214704,"created":1560214704,"updated":1560214709,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037","deletedDate":1560215026,"scheduledPurgeDate":1567991026,"kid":"https://keyvault_name.vault.azure.net/keys/key156021500992805037","attributes":{"enabled":false,"exp":1560215015,"created":1560215015,"updated":1560215021,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421","deletedDate":1560215105,"scheduledPurgeDate":1567991105,"kid":"https://keyvault_name.vault.azure.net/keys/key156021508931202421","attributes":{"enabled":false,"exp":1560215095,"created":1560215094,"updated":1560215100,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUxTWpjek5UVXlNRGN5T0RjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2616,11 +11169,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7ac4c090-b8ea-4e60-bd02-7e81d57d0e81', + '1c4d7be2-7845-4869-b4b9-a2c9f1f50f1f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2630,34 +11183,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:29 GMT', + 'Thu, 08 Aug 2019 23:31:27 GMT', 'Connection', 'close', 'Content-Length', - '1340' ]); + '1972' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401","deletedDate":1560443052,"scheduledPurgeDate":1568219052,"kid":"https://keyvault_name.vault.azure.net/keys/key156044304097508401","attributes":{"enabled":true,"created":1560443046,"updated":1560443046,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703","deletedDate":1560480365,"scheduledPurgeDate":1568256365,"kid":"https://keyvault_name.vault.azure.net/keys/key156048034950305703","attributes":{"enabled":true,"created":1560480356,"updated":1560480356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0cf09fc9-8b97-4ce9-8191-245d3174979c', + '892695f4-0e6a-4e49-a478-4962f0fc209c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2667,54 +11224,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:29 GMT', + 'Thu, 08 Aug 2019 23:31:27 GMT', 'Connection', - 'close', - 'Content-Length', - '941' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317","deletedDate":1560199870,"scheduledPurgeDate":1567975870,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111602317","attributes":{"enabled":true,"created":1560199847,"updated":1560199847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787","deletedDate":1560199876,"scheduledPurgeDate":1567975876,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111709787","attributes":{"enabled":true,"created":1560199852,"updated":1560199852,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556","deletedDate":1560200016,"scheduledPurgeDate":1567976016,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725306556","attributes":{"enabled":true,"created":1560199993,"updated":1560199993,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881","deletedDate":1560200022,"scheduledPurgeDate":1567976022,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725308881","attributes":{"enabled":true,"created":1560199998,"updated":1560199998,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349","deletedDate":1560439913,"scheduledPurgeDate":1568215913,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692705349","attributes":{"enabled":true,"created":1560439902,"updated":1560439902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134","deletedDate":1560439919,"scheduledPurgeDate":1568215919,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692806134","attributes":{"enabled":true,"created":1560439908,"updated":1560439908,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURRek9UZzVOamt5T0RBMk1UTTBMMFZGUkRGRlFVSXhOa0UwUVRRNVF6azRORFZGTXpkR05EVkJNVFpGTWpnMklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '9cee495b-1427-40e0-a4da-2c8a7e226622', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'abd3b266-e081-4e50-94ad-217f81516800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:29 GMT', + 'Thu, 08 Aug 2019 23:31:28 GMT', 'Connection', 'close', 'Content-Length', - '2321' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","deletedDate":1561686288,"scheduledPurgeDate":1569462288,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","attributes":{"enabled":true,"created":1561686279,"updated":1561686279,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","deletedDate":1561686289,"scheduledPurgeDate":1569462289,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","attributes":{"enabled":true,"created":1561686280,"updated":1561686280,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","deletedDate":1561686297,"scheduledPurgeDate":1569462297,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","deletedDate":1561686298,"scheduledPurgeDate":1569462298,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592","deletedDate":1561686276,"scheduledPurgeDate":1569462276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592","attributes":{"enabled":true,"created":1561686275,"updated":1561686275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087","deletedDate":1561685869,"scheduledPurgeDate":1569461869,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087","attributes":{"enabled":true,"created":1561685868,"updated":1561685868,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287","deletedDate":1560215290,"scheduledPurgeDate":1567991290,"kid":"https://keyvault_name.vault.azure.net/keys/key156021527355207287","attributes":{"enabled":false,"exp":1560215279,"created":1560215279,"updated":1560215284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132","deletedDate":1560215746,"scheduledPurgeDate":1567991746,"kid":"https://keyvault_name.vault.azure.net/keys/key156021572903002132","attributes":{"enabled":false,"exp":1560215734,"created":1560215734,"updated":1560215740,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237","deletedDate":1560216615,"scheduledPurgeDate":1567992615,"kid":"https://keyvault_name.vault.azure.net/keys/key156021643840901237","attributes":{"enabled":true,"created":1560216444,"updated":1560216444,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471","deletedDate":1560216518,"scheduledPurgeDate":1567992518,"kid":"https://keyvault_name.vault.azure.net/keys/key156021650717904471","attributes":{"enabled":true,"created":1560216512,"updated":1560216512,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UQTNNVGM1TURRME56RXZRMEUyT1VKQ05UUkJRVVpFTkRBMFFVSkNORFF6TWpCQlJrVkNNVEpHTWpZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2727,11 +11279,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6cf580fc-8090-478e-ba66-d65c88c87b84', + 'c166e0b2-9ab2-4eb8-9626-e60727738994', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2741,34 +11293,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:30 GMT', + 'Thu, 08 Aug 2019 23:31:28 GMT', 'Connection', 'close', 'Content-Length', - '2733' ]); + '1686' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592","deletedDate":1561686277,"scheduledPurgeDate":1569462277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592","attributes":{"enabled":true,"created":1561686277,"updated":1561686277,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087","deletedDate":1561685871,"scheduledPurgeDate":1569461871,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087","attributes":{"enabled":true,"created":1561685870,"updated":1561685870,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0","deletedDate":1561418276,"scheduledPurgeDate":1569194276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0","attributes":{"enabled":true,"created":1561418275,"updated":1561418275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1","deletedDate":1561418277,"scheduledPurgeDate":1569194277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1","attributes":{"enabled":true,"created":1561418276,"updated":1561418276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0","deletedDate":1561419307,"scheduledPurgeDate":1569195307,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0","attributes":{"enabled":true,"created":1561419306,"updated":1561419306,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1","deletedDate":1561419308,"scheduledPurgeDate":1569195308,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1","attributes":{"enabled":true,"created":1561419307,"updated":1561419307,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","deletedDate":1563396687,"scheduledPurgeDate":1571172687,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","attributes":{"enabled":true,"created":1563396687,"updated":1563396687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","deletedDate":1563396700,"scheduledPurgeDate":1571172700,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","attributes":{"enabled":true,"created":1563396700,"updated":1563396700,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159","deletedDate":1563492026,"scheduledPurgeDate":1571268026,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214","deletedDate":1561687104,"scheduledPurgeDate":1569463104,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214","attributes":{"enabled":true,"created":1561687103,"updated":1561687103,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJVNUZVa0ZVUlVGQ1FVTkxWVkJQUmtGTFJWa3RPRFExTVRJMk5EUTRNVGsxTlRrMkx6azBOVVJEUkVNM09FVXhSalEwUmpoQk5UazBNemt3UTBNeE5rSkVOVVUxSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '29028ebb-48a7-4a19-901c-a7d1f4abccb5', + '201ec6e8-b85a-4450-9c92-40768fdd768a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2778,17 +11334,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:31 GMT', + 'Thu, 08 Aug 2019 23:31:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'fba10538-a250-44ba-b77d-01fbf0dd6b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:28 GMT', 'Connection', 'close', 'Content-Length', - '4354' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021","deletedDate":1561686972,"scheduledPurgeDate":1569462972,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021","attributes":{"enabled":true,"created":1561686972,"updated":1561686972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387","deletedDate":1561686397,"scheduledPurgeDate":1569462397,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387","attributes":{"enabled":true,"created":1561686396,"updated":1561686396,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","deletedDate":1563476819,"scheduledPurgeDate":1571252819,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214","deletedDate":1561687101,"scheduledPurgeDate":1569463101,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214","attributes":{"enabled":true,"created":1561687068,"updated":1561687068,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021","deletedDate":1561686970,"scheduledPurgeDate":1569462970,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021","attributes":{"enabled":true,"created":1561686926,"updated":1561686926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387","deletedDate":1561686395,"scheduledPurgeDate":1569462395,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387","attributes":{"enabled":true,"created":1561686361,"updated":1561686361,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","deletedDate":1561723518,"scheduledPurgeDate":1569499518,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","attributes":{"enabled":true,"created":1561723517,"updated":1561723517,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","deletedDate":1561723606,"scheduledPurgeDate":1569499606,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","attributes":{"enabled":true,"created":1561723605,"updated":1561723605,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTJJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE1qVTFNRFV3T0RFeU1EYzNOamM0TWlFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478","deletedDate":1560217550,"scheduledPurgeDate":1567993550,"kid":"https://keyvault_name.vault.azure.net/keys/key156021753923506478","attributes":{"enabled":true,"created":1560217545,"updated":1560217545,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221","deletedDate":1560217733,"scheduledPurgeDate":1567993733,"kid":"https://keyvault_name.vault.azure.net/keys/key156021772195104221","attributes":{"enabled":true,"created":1560217727,"updated":1560217727,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976","deletedDate":1560263766,"scheduledPurgeDate":1568039766,"kid":"https://keyvault_name.vault.azure.net/keys/key156026375447403976","attributes":{"enabled":true,"created":1560263760,"updated":1560263760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170","deletedDate":1560264308,"scheduledPurgeDate":1568040308,"kid":"https://keyvault_name.vault.azure.net/keys/key156026429107509170","attributes":{"enabled":true,"created":1560264296,"updated":1560264296,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617","deletedDate":1560267823,"scheduledPurgeDate":1568043823,"kid":"https://keyvault_name.vault.azure.net/keys/key156026780583504617","attributes":{"enabled":true,"created":1560267811,"updated":1560267811,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786","deletedDate":1560269396,"scheduledPurgeDate":1568045396,"kid":"https://keyvault_name.vault.azure.net/keys/key156026937854708786","attributes":{"enabled":true,"created":1560269384,"updated":1560269384,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087","deletedDate":1560272836,"scheduledPurgeDate":1568048836,"kid":"https://keyvault_name.vault.azure.net/keys/key156027282511708087","attributes":{"enabled":true,"created":1560272831,"updated":1560272831,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813","deletedDate":1560274422,"scheduledPurgeDate":1568050422,"kid":"https://keyvault_name.vault.azure.net/keys/key156027441059203813","attributes":{"enabled":true,"created":1560274416,"updated":1560274416,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTVRreU5UYzFNRFV6T0RNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2801,11 +11389,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f06c5764-5cce-4f7c-a425-06a8da2b74e3', + '29aad5f6-df11-4a5b-a262-e4974f058a3a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2815,34 +11403,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:31 GMT', + 'Thu, 08 Aug 2019 23:31:29 GMT', 'Connection', 'close', 'Content-Length', - '3554' ]); + '2898' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","deletedDate":1561687106,"scheduledPurgeDate":1569463106,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","attributes":{"enabled":true,"created":1561687105,"updated":1561687105,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","deletedDate":1561723459,"scheduledPurgeDate":1569499459,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","attributes":{"enabled":true,"created":1561723458,"updated":1561723458,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","deletedDate":1561723721,"scheduledPurgeDate":1569499721,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","attributes":{"enabled":true,"created":1561723720,"updated":1561723720,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","deletedDate":1561686975,"scheduledPurgeDate":1569462975,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","attributes":{"enabled":true,"created":1561686974,"updated":1561686974,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","deletedDate":1561723348,"scheduledPurgeDate":1569499348,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","attributes":{"enabled":true,"created":1561723347,"updated":1561723347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","deletedDate":1561686400,"scheduledPurgeDate":1569462400,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","attributes":{"enabled":true,"created":1561686399,"updated":1561686399,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","deletedDate":1561723310,"scheduledPurgeDate":1569499310,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","attributes":{"enabled":true,"created":1561723309,"updated":1561723309,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--0","deletedDate":1563492492,"scheduledPurgeDate":1571268492,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--0","attributes":{"enabled":true,"created":1563492491,"updated":1563492491,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys--1","deletedDate":1563492492,"scheduledPurgeDate":1571268492,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys--1","attributes":{"enabled":true,"created":1563492491,"updated":1563492491,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5VFJVTlNSVlF4TlRZd01UazFOelEyT1RrMk1EZ3hOVFV2T1RZeE5UYzNNVFZEUVRaRk5EYzVSRGhDUmpnM016ZENSRVZCTmprMFJUY2hNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ecdeee70-d14f-4069-944f-3c3edcaacb54', + '21302f51-a407-41af-ade6-1fde110a65cb', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2852,17 +11444,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:32 GMT', + 'Thu, 08 Aug 2019 23:31:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'febbe582-41b7-4b9c-9ff7-08acef773000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:29 GMT', 'Connection', 'close', 'Content-Length', - '4740' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383","deletedDate":1560276204,"scheduledPurgeDate":1568052204,"kid":"https://keyvault_name.vault.azure.net/keys/key156027619257505383","attributes":{"enabled":true,"created":1560276198,"updated":1560276198,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526","deletedDate":1560276552,"scheduledPurgeDate":1568052552,"kid":"https://keyvault_name.vault.azure.net/keys/key156027654046904526","attributes":{"enabled":true,"created":1560276546,"updated":1560276546,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953","deletedDate":1560276707,"scheduledPurgeDate":1568052707,"kid":"https://keyvault_name.vault.azure.net/keys/key156027669556403953","attributes":{"enabled":true,"created":1560276701,"updated":1560276701,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591","deletedDate":1560276984,"scheduledPurgeDate":1568052984,"kid":"https://keyvault_name.vault.azure.net/keys/key156027692061805591","attributes":{"enabled":true,"created":1560276926,"updated":1560276926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123","deletedDate":1560278769,"scheduledPurgeDate":1568054769,"kid":"https://keyvault_name.vault.azure.net/keys/key156027875260704123","attributes":{"enabled":true,"created":1560278758,"updated":1560278758,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301","deletedDate":1560280458,"scheduledPurgeDate":1568056458,"kid":"https://keyvault_name.vault.azure.net/keys/key156028044085404301","attributes":{"enabled":true,"created":1560280446,"updated":1560280446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799","deletedDate":1560282270,"scheduledPurgeDate":1568058270,"kid":"https://keyvault_name.vault.azure.net/keys/key156028174986105799","attributes":{"enabled":true,"created":1560281755,"updated":1560281755,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56YzRNekF4TURFMk5EZ3ZNVVF5TnpVMU5VUTJPVU0wTkRFd1JUaEROa00zUXpZNU0wVXdNVFZDTURVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2875,11 +11499,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'fb30588f-eda6-4607-885c-ec51774cc5bc', + '87374f35-9c9e-45ef-ad66-668687d395f5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2889,32 +11513,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:31 GMT', + 'Thu, 08 Aug 2019 23:31:30 GMT', 'Connection', 'close', 'Content-Length', - '28' ]); + '2631' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-listdeletedkeys--0') + .get('/deletedkeys') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '772ea9f0-48d0-4a39-bb78-6dae6e65cd5a', + '571b1d48-0372-4530-a747-9e13b5cdd6d9', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2924,48 +11554,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:32 GMT', + 'Thu, 08 Aug 2019 23:31:30 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-listdeletedkeys--1') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'ca8acb8a-37f5-4570-bc94-96a0872fb179', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '4bce46ac-708f-4c0c-a847-51d15c4e2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:33 GMT', + 'Thu, 08 Aug 2019 23:31:30 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-listdeletedkeyspaged--0/create', {"kty":"RSA"}) + .get('/deletedkeys') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/707370dd41c84e5f9c076ff93ea44086","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"l1qHHm2NSEMIUATKnftahb-jAl1mISOt5SrU3JJpJynku4CnOZyaXktx9u1fkofNz-AJmcOnrXYdRuU3xMz0BNj7Aod1pMo0pG0CrQv3tr7HC87P2AgUZLkxjwBLMlpU-2fc0uqnFOAH7QaWRkT563S1bctBGrrAVekhXye8Umicw3WwVGbYswBvl-wmygyatGDV1AbGrQr94aFRF59xkJY9hvg1dmkio2-ssr4XlH0_JdE5BPxjAtqhFah-EmjzTVqBCby9VnlooFuLAQ0_dd86TgdfoBzLtCfgPUDJ-OLG4aln1JBLtj0rCx7VqVtcMBfI3DqdclDWW_tdKfNzIw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492513,"updated":1563492513,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726","deletedDate":1560281817,"scheduledPurgeDate":1568057817,"kid":"https://keyvault_name.vault.azure.net/keys/key156028180668003726","attributes":{"enabled":true,"created":1560281812,"updated":1560281812,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865","deletedDate":1560281862,"scheduledPurgeDate":1568057862,"kid":"https://keyvault_name.vault.azure.net/keys/key156028185168006865","attributes":{"enabled":true,"created":1560281857,"updated":1560281857,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070","deletedDate":1560363783,"scheduledPurgeDate":1568139783,"kid":"https://keyvault_name.vault.azure.net/keys/key156036321495001070","attributes":{"enabled":true,"created":1560363220,"updated":1560363220,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpJMk5UWTRNRGM0TVRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2978,11 +11609,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9bf60330-c3bb-4ed8-b6c0-0f532ce41b2c', + 'e6eaf218-f9ce-42a4-a1e2-532570516c0d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2992,34 +11623,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:33 GMT', + 'Thu, 08 Aug 2019 23:31:31 GMT', 'Connection', 'close', 'Content-Length', - '701' ]); + '1263' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-listdeletedkeyspaged--1/create', {"kty":"RSA"}) + .get('/deletedkeys') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/0a947974e962497492f9ef24e4b09db1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"mvE3biEiYEAUYmxlv0gLU-eKFya0WfD2-Ba9ZXK_cyCLlxLXMrrdlwBbWo2MrXS19J-Euni2hhB028XdZxfpgqVzd-WGdysduy_Fl3wVRcRiUex0H0Jd6PCHc9XzsxLdV8YP6XwRVSAGzRCXllVlyaAku9Q3v1P3_xd1V3FDF5Y0XNj0QBjYFTf8NAGHkBKac4sxYhhdyWcRZf2wQSNIB-3vUITsvQCD44gaIDdofMgKRnjgRfweHlcfraKpOlDq6baGJz5U-dO_M6uyK26vCPcuuwlg58YVw8-qey2bplTd4t2vwW6dTTrWMQDZbTppbvwY4bIUSatTK_4sc9cZnw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492514,"updated":1563492514,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e7e0b095-4b1e-4167-9556-58c243e2e791', + 'dd56bef9-adc3-4810-819f-10a4144a240a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3029,54 +11664,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:34 GMT', + 'Thu, 08 Aug 2019 23:31:31 GMT', 'Connection', - 'close', - 'Content-Length', - '701' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-listdeletedkeyspaged--0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0","deletedDate":1563492515,"scheduledPurgeDate":1571268515,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/707370dd41c84e5f9c076ff93ea44086","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"l1qHHm2NSEMIUATKnftahb-jAl1mISOt5SrU3JJpJynku4CnOZyaXktx9u1fkofNz-AJmcOnrXYdRuU3xMz0BNj7Aod1pMo0pG0CrQv3tr7HC87P2AgUZLkxjwBLMlpU-2fc0uqnFOAH7QaWRkT563S1bctBGrrAVekhXye8Umicw3WwVGbYswBvl-wmygyatGDV1AbGrQr94aFRF59xkJY9hvg1dmkio2-ssr4XlH0_JdE5BPxjAtqhFah-EmjzTVqBCby9VnlooFuLAQ0_dd86TgdfoBzLtCfgPUDJ-OLG4aln1JBLtj0rCx7VqVtcMBfI3DqdclDWW_tdKfNzIw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492513,"updated":1563492513,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '4db9d168-9563-411b-a17e-af4713a128bc', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '04a36a32-6aab-47e1-a168-5f7cef783100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:34 GMT', + 'Thu, 08 Aug 2019 23:31:31 GMT', 'Connection', 'close', 'Content-Length', - '877' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-listdeletedkeyspaged--1') + .get('/deletedkeys') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1","deletedDate":1563492515,"scheduledPurgeDate":1571268515,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1/0a947974e962497492f9ef24e4b09db1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"mvE3biEiYEAUYmxlv0gLU-eKFya0WfD2-Ba9ZXK_cyCLlxLXMrrdlwBbWo2MrXS19J-Euni2hhB028XdZxfpgqVzd-WGdysduy_Fl3wVRcRiUex0H0Jd6PCHc9XzsxLdV8YP6XwRVSAGzRCXllVlyaAku9Q3v1P3_xd1V3FDF5Y0XNj0QBjYFTf8NAGHkBKac4sxYhhdyWcRZf2wQSNIB-3vUITsvQCD44gaIDdofMgKRnjgRfweHlcfraKpOlDq6baGJz5U-dO_M6uyK26vCPcuuwlg58YVw8-qey2bplTd4t2vwW6dTTrWMQDZbTppbvwY4bIUSatTK_4sc9cZnw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492514,"updated":1563492514,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673","deletedDate":1560363271,"scheduledPurgeDate":1568139271,"kid":"https://keyvault_name.vault.azure.net/keys/key156036326049603673","attributes":{"enabled":true,"created":1560363266,"updated":1560363266,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742","deletedDate":1560439782,"scheduledPurgeDate":1568215782,"kid":"https://keyvault_name.vault.azure.net/keys/key156043977101909742","attributes":{"enabled":true,"created":1560439776,"updated":1560439776,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132","deletedDate":1560444138,"scheduledPurgeDate":1568220138,"kid":"https://keyvault_name.vault.azure.net/keys/key156044301303900132","attributes":{"enabled":true,"exp":1560443018,"created":1560443018,"updated":1560443018,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ERXpNRE01TURBeE16SXZPRGRETURGR05UTkRSa0l6TkRnM1JUZzBOamN3T1RFMU9UazRPVGczTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3089,11 +11719,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '225284dd-d17c-473e-a693-3bec44a6abd7', + 'b2b91449-054a-4fc8-b073-fd25515aa714', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3103,36 +11733,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:35 GMT', + 'Thu, 08 Aug 2019 23:31:32 GMT', 'Connection', 'close', 'Content-Length', - '877' ]); + '1340' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') + .get('/deletedkeys') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-listdeletedkeyspaged--0"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '123', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '48636187-0f88-49ff-a025-54aea8160adc', + '82b1b1b8-8455-495f-82b6-0ac5f0b5ad64', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3142,52 +11774,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:35 GMT', + 'Thu, 08 Aug 2019 23:31:32 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0","deletedDate":1563492515,"scheduledPurgeDate":1571268515,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0/707370dd41c84e5f9c076ff93ea44086","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"l1qHHm2NSEMIUATKnftahb-jAl1mISOt5SrU3JJpJynku4CnOZyaXktx9u1fkofNz-AJmcOnrXYdRuU3xMz0BNj7Aod1pMo0pG0CrQv3tr7HC87P2AgUZLkxjwBLMlpU-2fc0uqnFOAH7QaWRkT563S1bctBGrrAVekhXye8Umicw3WwVGbYswBvl-wmygyatGDV1AbGrQr94aFRF59xkJY9hvg1dmkio2-ssr4XlH0_JdE5BPxjAtqhFah-EmjzTVqBCby9VnlooFuLAQ0_dd86TgdfoBzLtCfgPUDJ-OLG4aln1JBLtj0rCx7VqVtcMBfI3DqdclDWW_tdKfNzIw","e":"AQAB"},"attributes":{"enabled":true,"created":1563492513,"updated":1563492513,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'e1d28bdb-71ba-445a-98a6-cee5674ba4b9', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '9bca5256-3bd1-4b64-9709-9f8bf55f5200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:45 GMT', + 'Thu, 08 Aug 2019 23:31:32 GMT', 'Connection', 'close', 'Content-Length', - '877' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-3945239952608115","deletedDate":1561686237,"scheduledPurgeDate":1569462237,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-3945239952608115","attributes":{"enabled":false,"created":1561686237,"updated":1561686237,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateadisabledkey-7541698336411891","deletedDate":1561685852,"scheduledPurgeDate":1569461852,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateadisabledkey-7541698336411891","attributes":{"enabled":false,"created":1561685851,"updated":1561685851,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","deletedDate":1561414117,"scheduledPurgeDate":1569190117,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-027153260791364264","attributes":{"enabled":true,"created":1561414117,"updated":1561414117,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","deletedDate":1561413873,"scheduledPurgeDate":1569189873,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-030825440796210968","attributes":{"enabled":true,"created":1561413873,"updated":1561413873,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","deletedDate":1561685734,"scheduledPurgeDate":1569461734,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-03824218588079642","attributes":{"enabled":true,"created":1561685734,"updated":1561685734,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","deletedDate":1561412406,"scheduledPurgeDate":1569188406,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-11113737196703477","attributes":{"enabled":true,"created":1561412406,"updated":1561412406,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","deletedDate":1561414368,"scheduledPurgeDate":1569190368,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-12295619840490901","attributes":{"enabled":true,"created":1561414367,"updated":1561414367,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","deletedDate":1561685633,"scheduledPurgeDate":1569461633,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-21596680364625942","attributes":{"enabled":true,"created":1561685633,"updated":1561685633,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","deletedDate":1561685795,"scheduledPurgeDate":1569461795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-23059577576776458","attributes":{"enabled":true,"created":1561685795,"updated":1561685795,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","deletedDate":1561414027,"scheduledPurgeDate":1569190027,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-2463484917953478","attributes":{"enabled":true,"created":1561414027,"updated":1561414027,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","deletedDate":1561414305,"scheduledPurgeDate":1569190305,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-30282256577400357","attributes":{"enabled":true,"created":1561414304,"updated":1561414304,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","deletedDate":1561685687,"scheduledPurgeDate":1569461687,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3650896677992299","attributes":{"enabled":true,"created":1561685687,"updated":1561685687,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTYhTURBd01UQXhJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBoSlRFVkhTVlpKVGtkQlRVRk9WVUZNVkZsUVJTMHpOalV3T0RrMk5qYzNPVGt5TWprNUwwUTBOVGxDTkVORFFUTkdNelF4TmpBNFJqaENSa1E0UTBOQ1JrVXpNa1V5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401","deletedDate":1560443052,"scheduledPurgeDate":1568219052,"kid":"https://keyvault_name.vault.azure.net/keys/key156044304097508401","attributes":{"enabled":true,"created":1560443046,"updated":1560443046,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703","deletedDate":1560480365,"scheduledPurgeDate":1568256365,"kid":"https://keyvault_name.vault.azure.net/keys/key156048034950305703","attributes":{"enabled":true,"created":1560480356,"updated":1560480356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdOVFF4TWpJNU1qTXpNRGczTnpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3200,11 +11829,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '47124b02-0e1f-40dc-a8d5-e2179b99be95', + '841dd6e5-b8d2-458d-a9d7-e617b0ad45d2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3214,34 +11843,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:45 GMT', + 'Thu, 08 Aug 2019 23:31:32 GMT', 'Connection', 'close', 'Content-Length', - '5344' ]); + '936' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","deletedDate":1561686230,"scheduledPurgeDate":1569462230,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-3945239952608115","attributes":{"enabled":true,"created":1561686229,"updated":1561686229,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","deletedDate":1561412660,"scheduledPurgeDate":1569188660,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-4521671903162241","attributes":{"enabled":true,"created":1561412659,"updated":1561412659,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","deletedDate":1561415149,"scheduledPurgeDate":1569191149,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-49665580519739794","attributes":{"enabled":true,"created":1561415147,"updated":1561415147,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","deletedDate":1561414691,"scheduledPurgeDate":1569190691,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6100746209317036","attributes":{"enabled":true,"created":1561414690,"updated":1561414690,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","deletedDate":1561411064,"scheduledPurgeDate":1569187064,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6143082435852443","attributes":{"enabled":true,"created":1561411063,"updated":1561411063,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","deletedDate":1561415010,"scheduledPurgeDate":1569191010,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6596998315181399","attributes":{"enabled":true,"created":1561415009,"updated":1561415009,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","deletedDate":1561415277,"scheduledPurgeDate":1569191277,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-6745532996565062","attributes":{"enabled":true,"created":1561415276,"updated":1561415276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","deletedDate":1561685844,"scheduledPurgeDate":1569461844,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-7541698336411891","attributes":{"enabled":true,"created":1561685844,"updated":1561685844,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","deletedDate":1561414795,"scheduledPurgeDate":1569190795,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8414867982202452","attributes":{"enabled":true,"created":1561414794,"updated":1561414794,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","deletedDate":1561413350,"scheduledPurgeDate":1569189350,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywhilegivingamanualtype-8902329538192819","attributes":{"enabled":true,"created":1561413350,"updated":1561413350,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","deletedDate":1561686240,"scheduledPurgeDate":1569462240,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-3945239952608115","attributes":{"enabled":true,"exp":1546300805,"created":1561686240,"updated":1561686240,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","deletedDate":1561685855,"scheduledPurgeDate":1569461855,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithexpires-7541698336411891","attributes":{"enabled":true,"exp":1546300805,"created":1561685854,"updated":1561685854,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJTMFZaVjBsVVNFNVBWRUpGUms5U1JTMHpPVFExTWpNNU9UVXlOakE0TVRFMUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f881a119-7497-454a-8bf1-5342e657ea52', + 'aae693a4-e3a8-47f0-b2da-63b4c97b12b7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3251,54 +11884,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:46 GMT', + 'Thu, 08 Aug 2019 23:31:32 GMT', 'Connection', - 'close', - 'Content-Length', - '5295' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","deletedDate":1561686239,"scheduledPurgeDate":1569462239,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-3945239952608115","attributes":{"enabled":true,"nbf":1546300805,"created":1561686238,"updated":1561686238,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","deletedDate":1561685853,"scheduledPurgeDate":1569461853,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateakeywithnotBefore-7541698336411891","attributes":{"enabled":true,"nbf":1546300805,"created":1561685853,"updated":1561685853,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-21596680364625942","deletedDate":1561685637,"scheduledPurgeDate":1569461637,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-21596680364625942","attributes":{"enabled":true,"created":1561685636,"updated":1561685636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-3945239952608115","deletedDate":1561686234,"scheduledPurgeDate":1569462234,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-3945239952608115","attributes":{"enabled":true,"created":1561686234,"updated":1561686234,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkey-7541698336411891","deletedDate":1561685849,"scheduledPurgeDate":1569461849,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkey-7541698336411891","attributes":{"enabled":true,"created":1561685848,"updated":1561685848,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","deletedDate":1561685638,"scheduledPurgeDate":1569461638,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-21596680364625942","attributes":{"enabled":true,"created":1561685637,"updated":1561685637,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","deletedDate":1561686236,"scheduledPurgeDate":1569462236,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-3945239952608115","attributes":{"enabled":true,"created":1561686235,"updated":1561686235,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","deletedDate":1561685850,"scheduledPurgeDate":1569461850,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateanECkeywithcurve-7541698336411891","attributes":{"enabled":true,"created":1561685850,"updated":1561685850,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-21596680364625942","deletedDate":1561685635,"scheduledPurgeDate":1569461635,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-21596680364625942","attributes":{"enabled":true,"created":1561685634,"updated":1561685634,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-3945239952608115","deletedDate":1561686231,"scheduledPurgeDate":1569462231,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-3945239952608115","attributes":{"enabled":true,"created":1561686231,"updated":1561686231,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-6981438213869133","deletedDate":1562874910,"scheduledPurgeDate":1570650910,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-6981438213869133","attributes":{"enabled":true,"created":1562874910,"updated":1562874910,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkey-7541698336411891","deletedDate":1561685846,"scheduledPurgeDate":1569461846,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkey-7541698336411891","attributes":{"enabled":true,"created":1561685845,"updated":1561685845,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","deletedDate":1561685636,"scheduledPurgeDate":1569461636,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-21596680364625942","attributes":{"enabled":true,"created":1561685635,"updated":1561685635,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01Ea3hJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVEVWtWQlZFVkJVbE5CUzBWWlYwbFVTRk5KV2tVdE1qRTFPVFkyT0RBek5qUTJNalU1TkRJdk1qRXhOa0ZGUVRjME9UUTRORU13TURoRFJVWTJNRVl6TkRNeFFqVTFNRVloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'c95b1134-7229-4cfc-8124-87de598031fd', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '028e4c55-30f7-454e-9bcf-cf1fe6103000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:33 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:47 GMT', + 'Thu, 08 Aug 2019 23:31:33 GMT', 'Connection', 'close', 'Content-Length', - '5427' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","deletedDate":1561686233,"scheduledPurgeDate":1569462233,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-3945239952608115","attributes":{"enabled":true,"created":1561686232,"updated":1561686232,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","deletedDate":1561685847,"scheduledPurgeDate":1569461847,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cancreateaRSAkeywithsize-7541698336411891","attributes":{"enabled":true,"created":1561685847,"updated":1561685847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-3945239952608115","deletedDate":1561686245,"scheduledPurgeDate":1569462245,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-3945239952608115","attributes":{"enabled":true,"created":1561686245,"updated":1561686245,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-candeleteakey-7541698336411891","deletedDate":1561685860,"scheduledPurgeDate":1569461860,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-candeleteakey-7541698336411891","attributes":{"enabled":true,"created":1561685860,"updated":1561685860,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-041906371603109616","deletedDate":1561685972,"scheduledPurgeDate":1569461972,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-041906371603109616","attributes":{"enabled":true,"created":1561685972,"updated":1561685972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-13938301836807887","deletedDate":1561685900,"scheduledPurgeDate":1569461900,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-13938301836807887","attributes":{"enabled":true,"created":1561685900,"updated":1561685900,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6097754638482769","deletedDate":1561416018,"scheduledPurgeDate":1569192018,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6097754638482769","attributes":{"enabled":true,"created":1561416018,"updated":1561416018,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-6723873262302544","deletedDate":1561415954,"scheduledPurgeDate":1569191954,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-6723873262302544","attributes":{"enabled":true,"created":1561415953,"updated":1561415953,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7045353749486702","deletedDate":1561686157,"scheduledPurgeDate":1569462157,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7045353749486702","attributes":{"enabled":true,"created":1561686156,"updated":1561686156,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-7541698336411891","deletedDate":1561685866,"scheduledPurgeDate":1569461866,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-7541698336411891","attributes":{"enabled":true,"created":1561685866,"updated":1561685866,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-8455281744731713","deletedDate":1561686136,"scheduledPurgeDate":1569462136,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-8455281744731713","attributes":{"enabled":true,"created":1561686135,"updated":1561686135,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetadeletedkey-9166100965013404","deletedDate":1561686091,"scheduledPurgeDate":1569462091,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetadeletedkey-9166100965013404","attributes":{"enabled":true,"created":1561686091,"updated":1561686091,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTYhTURBd01EUXpJV3RsZVM5RFVsVkVTMFZaVGtGTlJTMURRVTVIUlZSQlMwVlpMVE01TkRVeU16azVOVEkyTURneE1UVWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317","deletedDate":1560199870,"scheduledPurgeDate":1567975870,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111602317","attributes":{"enabled":true,"created":1560199847,"updated":1560199847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787","deletedDate":1560199876,"scheduledPurgeDate":1567975876,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111709787","attributes":{"enabled":true,"created":1560199852,"updated":1560199852,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556","deletedDate":1560200016,"scheduledPurgeDate":1567976016,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725306556","attributes":{"enabled":true,"created":1560199993,"updated":1560199993,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881","deletedDate":1560200022,"scheduledPurgeDate":1567976022,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725308881","attributes":{"enabled":true,"created":1560199998,"updated":1560199998,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURNMk16TTNNRFl4TkRBeU5qSXdMME5DUmpRNFFqTTFNVU13UmpRek1rVTVNVEUzTTBaRVJUVkVORGszUVRBeUlUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3311,11 +11939,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2695da12-46e1-4b15-9c6c-0272e9b46c6c', + '354a2bff-4db4-4bbb-b59d-b1da12c2775f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3325,34 +11953,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:47 GMT', + 'Thu, 08 Aug 2019 23:31:33 GMT', 'Connection', 'close', 'Content-Length', - '4857' ]); + '1663' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-3945239952608115","deletedDate":1561686248,"scheduledPurgeDate":1569462248,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-3945239952608115","attributes":{"enabled":true,"created":1561686247,"updated":1561686247,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetakey-7541698336411891","deletedDate":1561685863,"scheduledPurgeDate":1569461863,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetakey-7541698336411891","attributes":{"enabled":true,"created":1561685862,"updated":1561685862,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","deletedDate":1561686250,"scheduledPurgeDate":1569462250,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-3945239952608115","attributes":{"enabled":true,"created":1561686249,"updated":1561686249,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","deletedDate":1561685865,"scheduledPurgeDate":1569461865,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-cangetaspecificversionofakey-7541698336411891","attributes":{"enabled":true,"created":1561685864,"updated":1561685864,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-3945239952608115","deletedDate":1561686244,"scheduledPurgeDate":1569462244,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-3945239952608115","attributes":{"enabled":false,"exp":1546300800,"created":1561686243,"updated":1561686244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdateadisabledkey-7541698336411891","deletedDate":1561685859,"scheduledPurgeDate":1569461859,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdateadisabledkey-7541698336411891","attributes":{"enabled":false,"exp":1546300800,"created":1561685858,"updated":1561685858,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-3945239952608115","deletedDate":1561686242,"scheduledPurgeDate":1569462242,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-3945239952608115","attributes":{"enabled":false,"created":1561686241,"updated":1561686242,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/CRUDKeyName-canupdatekey-7541698336411891","deletedDate":1561685857,"scheduledPurgeDate":1569461857,"kid":"https://keyvault_name.vault.azure.net/keys/CRUDKeyName-canupdatekey-7541698336411891","attributes":{"enabled":false,"created":1561685856,"updated":1561685856,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFU1TnpZd016ZzJOakl5TURreU1EZ3ZNVUUwTWpJMFF6UkJSRVZDTkVKRVJrRkVNemxDUWtWR05ETXpSamd3TmtJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9a36d8b3-3ac7-4bda-8ea9-5f2095291f12', + 'b4b60a11-6432-4a0d-9632-59b503f67a70', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3362,54 +11994,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:48 GMT', + 'Thu, 08 Aug 2019 23:31:34 GMT', 'Connection', - 'close', - 'Content-Length', - '3408' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019567242501310","deletedDate":1560195770,"scheduledPurgeDate":1567971770,"kid":"https://keyvault_name.vault.azure.net/keys/key156019567242501310","attributes":{"enabled":true,"created":1560195678,"updated":1560195678,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019571294800134","deletedDate":1560195724,"scheduledPurgeDate":1567971724,"kid":"https://keyvault_name.vault.azure.net/keys/key156019571294800134","attributes":{"enabled":true,"created":1560195718,"updated":1560195718,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNVGsxTnpNMU5qQTNNREU0T0RZaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '51810ca5-9258-4d72-b8e2-5a14dfa476e3', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '8230fcdb-886c-4a19-8922-380ab99f5b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:34 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:48 GMT', + 'Thu, 08 Aug 2019 23:31:33 GMT', 'Connection', 'close', 'Content-Length', - '936' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019588703602255","deletedDate":1560195904,"scheduledPurgeDate":1567971904,"kid":"https://keyvault_name.vault.azure.net/keys/key156019588703602255","attributes":{"enabled":false,"created":1560195892,"updated":1560195892,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019614908508155","deletedDate":1560196160,"scheduledPurgeDate":1567972160,"kid":"https://keyvault_name.vault.azure.net/keys/key156019614908508155","attributes":{"enabled":true,"nbf":1560196154,"created":1560196155,"updated":1560196155,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019626145109618","deletedDate":1560196278,"scheduledPurgeDate":1567972278,"kid":"https://keyvault_name.vault.azure.net/keys/key156019626145109618","attributes":{"enabled":true,"nbf":1560196266,"created":1560196267,"updated":1560196267,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019643192308535","deletedDate":1560196443,"scheduledPurgeDate":1567972443,"kid":"https://keyvault_name.vault.azure.net/keys/key156019643192308535","attributes":{"enabled":true,"nbf":1560196436,"created":1560196437,"updated":1560196437,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019676499600673","deletedDate":1560196776,"scheduledPurgeDate":1567972776,"kid":"https://keyvault_name.vault.azure.net/keys/key156019676499600673","attributes":{"enabled":true,"nbf":1560196769,"created":1560196770,"updated":1560196770,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019678704709785","deletedDate":1560196798,"scheduledPurgeDate":1567972798,"kid":"https://keyvault_name.vault.azure.net/keys/key156019678704709785","attributes":{"enabled":true,"nbf":1560196792,"created":1560196792,"updated":1560196792,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019683131108936","deletedDate":1560196842,"scheduledPurgeDate":1567972842,"kid":"https://keyvault_name.vault.azure.net/keys/key156019683131108936","attributes":{"enabled":true,"nbf":1560196836,"created":1560196836,"updated":1560196836,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019687132907648","deletedDate":1560196888,"scheduledPurgeDate":1567972888,"kid":"https://keyvault_name.vault.azure.net/keys/key156019687132907648","attributes":{"enabled":true,"nbf":1560196876,"created":1560196876,"updated":1560196876,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019964932000764","deletedDate":1560199758,"scheduledPurgeDate":1567975758,"kid":"https://keyvault_name.vault.azure.net/keys/key156019964932000764","attributes":{"enabled":true,"created":1560199655,"updated":1560199655,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TVRrNU5qWTJOVFV5TURJMU5URXZRVFl3TVRCRE5EVkROVEJHTkRNeFJUZzFSamxHUkRSR05qaENSVVJEUVRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349","deletedDate":1560439913,"scheduledPurgeDate":1568215913,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692705349","attributes":{"enabled":true,"created":1560439902,"updated":1560439902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134","deletedDate":1560439919,"scheduledPurgeDate":1568215919,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692806134","attributes":{"enabled":true,"created":1560439908,"updated":1560439908,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","deletedDate":1561686288,"scheduledPurgeDate":1569462288,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","attributes":{"enabled":true,"created":1561686279,"updated":1561686279,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","deletedDate":1561686289,"scheduledPurgeDate":1569462289,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","attributes":{"enabled":true,"created":1561686280,"updated":1561686280,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","deletedDate":1561686297,"scheduledPurgeDate":1569462297,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","deletedDate":1561686298,"scheduledPurgeDate":1569462298,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1Mwek1UUTNNREF5TlRJMk5ESXhOVGt5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3422,11 +12049,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '952500da-a15e-497f-bb5a-2058e65149df', + '563cea78-33b7-4821-aa20-fded072978f4', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3436,34 +12063,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:48 GMT', + 'Thu, 08 Aug 2019 23:31:33 GMT', 'Connection', 'close', 'Content-Length', - '3405' ]); + '2608' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156019968394501499","deletedDate":1560199695,"scheduledPurgeDate":1567975695,"kid":"https://keyvault_name.vault.azure.net/keys/key156019968394501499","attributes":{"enabled":true,"created":1560199689,"updated":1560199689,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020010748409548","deletedDate":1560200123,"scheduledPurgeDate":1567976123,"kid":"https://keyvault_name.vault.azure.net/keys/key156020010748409548","attributes":{"enabled":true,"nbf":1560200112,"created":1560200113,"updated":1560200113,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020097075304975","deletedDate":1560200982,"scheduledPurgeDate":1567976982,"kid":"https://keyvault_name.vault.azure.net/keys/key156020097075304975","attributes":{"enabled":true,"exp":1560200975,"created":1560200976,"updated":1560200976,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020589654200630","deletedDate":1560205908,"scheduledPurgeDate":1567981908,"kid":"https://keyvault_name.vault.azure.net/keys/key156020589654200630","attributes":{"enabled":true,"created":1560205902,"updated":1560205902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020600810901019","deletedDate":1560206019,"scheduledPurgeDate":1567982019,"kid":"https://keyvault_name.vault.azure.net/keys/key156020600810901019","attributes":{"enabled":true,"created":1560206013,"updated":1560206013,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156020656741105969","deletedDate":1560206579,"scheduledPurgeDate":1567982579,"kid":"https://keyvault_name.vault.azure.net/keys/key156020656741105969","attributes":{"enabled":true,"created":1560206573,"updated":1560206573,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021202578402557","deletedDate":1560212037,"scheduledPurgeDate":1567988037,"kid":"https://keyvault_name.vault.azure.net/keys/key156021202578402557","attributes":{"enabled":true,"created":1560212031,"updated":1560212031,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakV5TVRJeU9EUTJNRFkxTURBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6e21f86c-29a5-4cec-93d1-0be55d1ea6af', + '4e491fba-0405-47e3-a29c-44b252dd5bf2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3473,54 +12104,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:48 GMT', + 'Thu, 08 Aug 2019 23:31:34 GMT', 'Connection', - 'close', - 'Content-Length', - '2605' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021212284606500","deletedDate":1560212139,"scheduledPurgeDate":1567988139,"kid":"https://keyvault_name.vault.azure.net/keys/key156021212284606500","attributes":{"enabled":true,"created":1560212128,"updated":1560212128,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021228525302930","deletedDate":1560212302,"scheduledPurgeDate":1567988302,"kid":"https://keyvault_name.vault.azure.net/keys/key156021228525302930","attributes":{"enabled":true,"created":1560212290,"updated":1560212290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021252900505638","deletedDate":1560212547,"scheduledPurgeDate":1567988547,"kid":"https://keyvault_name.vault.azure.net/keys/key156021252900505638","attributes":{"enabled":true,"created":1560212534,"updated":1560212534,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021259169107011","deletedDate":1560212608,"scheduledPurgeDate":1567988608,"kid":"https://keyvault_name.vault.azure.net/keys/key156021259169107011","attributes":{"enabled":true,"created":1560212597,"updated":1560212597,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021275535604420","deletedDate":1560212772,"scheduledPurgeDate":1567988772,"kid":"https://keyvault_name.vault.azure.net/keys/key156021275535604420","attributes":{"enabled":true,"created":1560212760,"updated":1560212760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021319425603898","deletedDate":1560213205,"scheduledPurgeDate":1567989205,"kid":"https://keyvault_name.vault.azure.net/keys/key156021319425603898","attributes":{"enabled":true,"created":1560213200,"updated":1560213200,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021368188700680","deletedDate":1560213698,"scheduledPurgeDate":1567989698,"kid":"https://keyvault_name.vault.azure.net/keys/key156021368188700680","attributes":{"enabled":true,"created":1560213687,"updated":1560213687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021382077504638","deletedDate":1560213837,"scheduledPurgeDate":1567989837,"kid":"https://keyvault_name.vault.azure.net/keys/key156021382077504638","attributes":{"enabled":false,"created":1560213826,"updated":1560213832,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021397882409430","deletedDate":1560214070,"scheduledPurgeDate":1567990070,"kid":"https://keyvault_name.vault.azure.net/keys/key156021397882409430","attributes":{"enabled":true,"created":1560213984,"updated":1560213984,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFME1EQXhOemd3TURjek5UVXZRelZHUkRsQk5VVkRRVGs1TkRrNU1qZ3pOa1ZGUWtGR01UZEJSRFF4UmpJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '1fc70dc1-969a-4099-91d9-c72db9b9cf80', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '307b4aec-206e-478a-b0fa-5972eef62e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:35 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:49 GMT', + 'Thu, 08 Aug 2019 23:31:34 GMT', 'Connection', 'close', 'Content-Length', - '3286' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021404805303613","deletedDate":1560214059,"scheduledPurgeDate":1567990059,"kid":"https://keyvault_name.vault.azure.net/keys/key156021404805303613","attributes":{"enabled":true,"created":1560214053,"updated":1560214053,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021443658305298","deletedDate":1560214455,"scheduledPurgeDate":1567990455,"kid":"https://keyvault_name.vault.azure.net/keys/key156021443658305298","attributes":{"enabled":false,"created":1560214442,"updated":1560214449,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021469847200127","deletedDate":1560214715,"scheduledPurgeDate":1567990715,"kid":"https://keyvault_name.vault.azure.net/keys/key156021469847200127","attributes":{"enabled":false,"exp":1560214704,"created":1560214704,"updated":1560214709,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021500992805037","deletedDate":1560215026,"scheduledPurgeDate":1567991026,"kid":"https://keyvault_name.vault.azure.net/keys/key156021500992805037","attributes":{"enabled":false,"exp":1560215015,"created":1560215015,"updated":1560215021,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021508931202421","deletedDate":1560215105,"scheduledPurgeDate":1567991105,"kid":"https://keyvault_name.vault.azure.net/keys/key156021508931202421","attributes":{"enabled":false,"exp":1560215095,"created":1560215094,"updated":1560215100,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021527355207287","deletedDate":1560215290,"scheduledPurgeDate":1567991290,"kid":"https://keyvault_name.vault.azure.net/keys/key156021527355207287","attributes":{"enabled":false,"exp":1560215279,"created":1560215279,"updated":1560215284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021572903002132","deletedDate":1560215746,"scheduledPurgeDate":1567991746,"kid":"https://keyvault_name.vault.azure.net/keys/key156021572903002132","attributes":{"enabled":false,"exp":1560215734,"created":1560215734,"updated":1560215740,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNakUyTkRNNE5EQTVNREV5TXpjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592","deletedDate":1561686276,"scheduledPurgeDate":1569462276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592","attributes":{"enabled":true,"created":1561686275,"updated":1561686275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087","deletedDate":1561685869,"scheduledPurgeDate":1569461869,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087","attributes":{"enabled":true,"created":1561685868,"updated":1561685868,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592","deletedDate":1561686277,"scheduledPurgeDate":1569462277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592","attributes":{"enabled":true,"created":1561686277,"updated":1561686277,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087","deletedDate":1561685871,"scheduledPurgeDate":1569461871,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087","attributes":{"enabled":true,"created":1561685870,"updated":1561685870,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0","deletedDate":1561418276,"scheduledPurgeDate":1569194276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0","attributes":{"enabled":true,"created":1561418275,"updated":1561418275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1","deletedDate":1561418277,"scheduledPurgeDate":1569194277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1","attributes":{"enabled":true,"created":1561418276,"updated":1561418276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0","deletedDate":1561419307,"scheduledPurgeDate":1569195307,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0","attributes":{"enabled":true,"created":1561419306,"updated":1561419306,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1","deletedDate":1561419308,"scheduledPurgeDate":1569195308,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1","attributes":{"enabled":true,"created":1561419307,"updated":1561419307,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODAhTURBd01EZzVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1QlFrOVNWRU5TUlVGVVNVNUhRVXRGV1MwM01EWTNNemMyT1RBeE9UVTFNRGc1TDBVd1JUTXdNRGhGT0VFd05EUXlNakZCT0VVeE1rRTBPRGxHUWtVME5ETkJJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3533,11 +12159,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'cd021982-5737-4a6f-98e2-0dd305e78c25', + 'b6c1d97d-9745-412d-9a66-aa776a2c7769', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3547,34 +12173,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:50 GMT', + 'Thu, 08 Aug 2019 23:31:35 GMT', 'Connection', 'close', 'Content-Length', - '2662' ]); + '3504' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021643840901237","deletedDate":1560216615,"scheduledPurgeDate":1567992615,"kid":"https://keyvault_name.vault.azure.net/keys/key156021643840901237","attributes":{"enabled":true,"created":1560216444,"updated":1560216444,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021650717904471","deletedDate":1560216518,"scheduledPurgeDate":1567992518,"kid":"https://keyvault_name.vault.azure.net/keys/key156021650717904471","attributes":{"enabled":true,"created":1560216512,"updated":1560216512,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpFMk5UUXhNVGczTURjNU9UZ3ZNVEZFTVRFNU5ESkdSak00TkVOQk1VSTFNVU5FTVVVelEwWkROa0ZFTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e31c872d-ae46-4b93-8390-6e1784387045', + '74380290-9a1b-4c98-8f8a-7a3a2f63f631', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3584,54 +12214,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:50 GMT', + 'Thu, 08 Aug 2019 23:31:35 GMT', 'Connection', - 'close', - 'Content-Length', - '996' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021753923506478","deletedDate":1560217550,"scheduledPurgeDate":1567993550,"kid":"https://keyvault_name.vault.azure.net/keys/key156021753923506478","attributes":{"enabled":true,"created":1560217545,"updated":1560217545,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156021772195104221","deletedDate":1560217733,"scheduledPurgeDate":1567993733,"kid":"https://keyvault_name.vault.azure.net/keys/key156021772195104221","attributes":{"enabled":true,"created":1560217727,"updated":1560217727,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026375447403976","deletedDate":1560263766,"scheduledPurgeDate":1568039766,"kid":"https://keyvault_name.vault.azure.net/keys/key156026375447403976","attributes":{"enabled":true,"created":1560263760,"updated":1560263760,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026429107509170","deletedDate":1560264308,"scheduledPurgeDate":1568040308,"kid":"https://keyvault_name.vault.azure.net/keys/key156026429107509170","attributes":{"enabled":true,"created":1560264296,"updated":1560264296,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026780583504617","deletedDate":1560267823,"scheduledPurgeDate":1568043823,"kid":"https://keyvault_name.vault.azure.net/keys/key156026780583504617","attributes":{"enabled":true,"created":1560267811,"updated":1560267811,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156026937854708786","deletedDate":1560269396,"scheduledPurgeDate":1568045396,"kid":"https://keyvault_name.vault.azure.net/keys/key156026937854708786","attributes":{"enabled":true,"created":1560269384,"updated":1560269384,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027282511708087","deletedDate":1560272836,"scheduledPurgeDate":1568048836,"kid":"https://keyvault_name.vault.azure.net/keys/key156027282511708087","attributes":{"enabled":true,"created":1560272831,"updated":1560272831,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027441059203813","deletedDate":1560274422,"scheduledPurgeDate":1568050422,"kid":"https://keyvault_name.vault.azure.net/keys/key156027441059203813","attributes":{"enabled":true,"created":1560274416,"updated":1560274416,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027619257505383","deletedDate":1560276204,"scheduledPurgeDate":1568052204,"kid":"https://keyvault_name.vault.azure.net/keys/key156027619257505383","attributes":{"enabled":true,"created":1560276198,"updated":1560276198,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027654046904526","deletedDate":1560276552,"scheduledPurgeDate":1568052552,"kid":"https://keyvault_name.vault.azure.net/keys/key156027654046904526","attributes":{"enabled":true,"created":1560276546,"updated":1560276546,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNamMyTmprMU5UWTBNRE01TlRNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '29b44263-2e3f-4010-8a6f-831d1d973cd2', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '6d0922bb-2d9a-4311-ad00-15b3cdf25900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:35 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:50 GMT', + 'Thu, 08 Aug 2019 23:31:35 GMT', 'Connection', 'close', 'Content-Length', - '3552' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027669556403953","deletedDate":1560276707,"scheduledPurgeDate":1568052707,"kid":"https://keyvault_name.vault.azure.net/keys/key156027669556403953","attributes":{"enabled":true,"created":1560276701,"updated":1560276701,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027692061805591","deletedDate":1560276984,"scheduledPurgeDate":1568052984,"kid":"https://keyvault_name.vault.azure.net/keys/key156027692061805591","attributes":{"enabled":true,"created":1560276926,"updated":1560276926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156027875260704123","deletedDate":1560278769,"scheduledPurgeDate":1568054769,"kid":"https://keyvault_name.vault.azure.net/keys/key156027875260704123","attributes":{"enabled":true,"created":1560278758,"updated":1560278758,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028044085404301","deletedDate":1560280458,"scheduledPurgeDate":1568056458,"kid":"https://keyvault_name.vault.azure.net/keys/key156028044085404301","attributes":{"enabled":true,"created":1560280446,"updated":1560280446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028174986105799","deletedDate":1560282270,"scheduledPurgeDate":1568058270,"kid":"https://keyvault_name.vault.azure.net/keys/key156028174986105799","attributes":{"enabled":true,"created":1560281755,"updated":1560281755,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TWpneE56azFORFkzTURRMk1EZ3ZPVVl6T0RrMU0wTTBPRVF3TkROQ1FrRTRNekJFUWtWRU56STFSamsyUTBFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","deletedDate":1563396687,"scheduledPurgeDate":1571172687,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","attributes":{"enabled":true,"created":1563396687,"updated":1563396687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","deletedDate":1563396700,"scheduledPurgeDate":1571172700,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","attributes":{"enabled":true,"created":1563396700,"updated":1563396700,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788","deletedDate":1563492865,"scheduledPurgeDate":1571268865,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywithnotBefore-9299135263076788","attributes":{"enabled":true,"nbf":1546300805,"created":1563492865,"updated":1563492865,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159","deletedDate":1563492026,"scheduledPurgeDate":1571268026,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-9863940778048328","deletedDate":1564680048,"scheduledPurgeDate":1572456048,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-9863940778048328","attributes":{"enabled":true,"created":1564680048,"updated":1564680048,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089","deletedDate":1563492929,"scheduledPurgeDate":1571268929,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkeywithsize-7067376901955089","attributes":{"enabled":true,"created":1563492929,"updated":1563492929,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-candeleteakey-33204686425846486","deletedDate":1565122016,"scheduledPurgeDate":1572898016,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-candeleteakey-33204686425846486","attributes":{"enabled":true,"created":1565122016,"updated":1565122016,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214","deletedDate":1561687104,"scheduledPurgeDate":1569463104,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214","attributes":{"enabled":true,"created":1561687103,"updated":1561687103,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021","deletedDate":1561686972,"scheduledPurgeDate":1569462972,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021","attributes":{"enabled":true,"created":1561686972,"updated":1561686972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387","deletedDate":1561686397,"scheduledPurgeDate":1569462397,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387","attributes":{"enabled":true,"created":1561686396,"updated":1561686396,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMjghTURBd01EVXlJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJWUkJSRVZNUlZSRlJFdEZXUzAzTmpjMU5EQXhNalkxT0RJek9EWWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3644,11 +12269,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2d91d30d-ff59-4605-a514-02d3a0484e17', + '5018a5e9-ebf6-4997-bfb4-ff7461245949', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3658,34 +12283,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:51 GMT', + 'Thu, 08 Aug 2019 23:31:36 GMT', 'Connection', 'close', 'Content-Length', - '1977' ]); + '4316' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028180668003726","deletedDate":1560281817,"scheduledPurgeDate":1568057817,"kid":"https://keyvault_name.vault.azure.net/keys/key156028180668003726","attributes":{"enabled":true,"created":1560281812,"updated":1560281812,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156028185168006865","deletedDate":1560281862,"scheduledPurgeDate":1568057862,"kid":"https://keyvault_name.vault.azure.net/keys/key156028185168006865","attributes":{"enabled":true,"created":1560281857,"updated":1560281857,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036321495001070","deletedDate":1560363783,"scheduledPurgeDate":1568139783,"kid":"https://keyvault_name.vault.azure.net/keys/key156036321495001070","attributes":{"enabled":true,"created":1560363220,"updated":1560363220,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJMUlXdGxlUzlMUlZreE5UWXdNell6TWpNNE1EUTVNREUzTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f0d58e8d-d413-4d65-97df-42e04cfb1eba', + 'df86b9c7-4024-44e0-ac06-95e0c79c466d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3695,54 +12324,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:51 GMT', + 'Thu, 08 Aug 2019 23:31:36 GMT', 'Connection', - 'close', - 'Content-Length', - '1263' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156036326049603673","deletedDate":1560363271,"scheduledPurgeDate":1568139271,"kid":"https://keyvault_name.vault.azure.net/keys/key156036326049603673","attributes":{"enabled":true,"created":1560363266,"updated":1560363266,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156043977101909742","deletedDate":1560439782,"scheduledPurgeDate":1568215782,"kid":"https://keyvault_name.vault.azure.net/keys/key156043977101909742","attributes":{"enabled":true,"created":1560439776,"updated":1560439776,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044301303900132","deletedDate":1560444138,"scheduledPurgeDate":1568220138,"kid":"https://keyvault_name.vault.azure.net/keys/key156044301303900132","attributes":{"enabled":true,"exp":1560443018,"created":1560443018,"updated":1560443018,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTRJV3RsZVM5TFJWa3hOVFl3TkRRek1ESTVOVE15TURreE56RXZNa1F3UWpReU56RTRNVVpCTkRWR1JrSTJNa1kzTVVKQlFUVkNPRVUwT1RRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'bb151486-cbd4-4ed0-873d-7fee49d4d5ac', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'd3c2e084-ea62-4243-b4ae-5ad4fca13300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:36 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:51 GMT', + 'Thu, 08 Aug 2019 23:31:36 GMT', 'Connection', 'close', 'Content-Length', - '1340' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156044304097508401","deletedDate":1560443052,"scheduledPurgeDate":1568219052,"kid":"https://keyvault_name.vault.azure.net/keys/key156044304097508401","attributes":{"enabled":true,"created":1560443046,"updated":1560443046,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/key156048034950305703","deletedDate":1560480365,"scheduledPurgeDate":1568256365,"kid":"https://keyvault_name.vault.azure.net/keys/key156048034950305703","attributes":{"enabled":true,"created":1560480356,"updated":1560480356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJMklXdGxlUzlMUlZsVE1UVTJNREU1T1RjeU9UVXpOakE0TVRNM0lUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","deletedDate":1563476819,"scheduledPurgeDate":1571252819,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214","deletedDate":1561687101,"scheduledPurgeDate":1569463101,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214","attributes":{"enabled":true,"created":1561687068,"updated":1561687068,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021","deletedDate":1561686970,"scheduledPurgeDate":1569462970,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021","attributes":{"enabled":true,"created":1561686926,"updated":1561686926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387","deletedDate":1561686395,"scheduledPurgeDate":1569462395,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387","attributes":{"enabled":true,"created":1561686361,"updated":1561686361,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","deletedDate":1561723518,"scheduledPurgeDate":1569499518,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","attributes":{"enabled":true,"created":1561723517,"updated":1561723517,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","deletedDate":1561723606,"scheduledPurgeDate":1569499606,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","attributes":{"enabled":true,"created":1561723605,"updated":1561723605,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","deletedDate":1561687106,"scheduledPurgeDate":1569463106,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","attributes":{"enabled":true,"created":1561687105,"updated":1561687105,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","deletedDate":1561723459,"scheduledPurgeDate":1569499459,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","attributes":{"enabled":true,"created":1561723458,"updated":1561723458,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","deletedDate":1561723721,"scheduledPurgeDate":1569499721,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","attributes":{"enabled":true,"created":1561723720,"updated":1561723720,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExOTIhTURBd01EazVJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE9ETXhOVE16TVRNMU1UTTBOVGN3TVM4eE9EUTRNa1ZGTURVMk1VTTBNVGhCT1RVelF6SkRRVU13TlRBMU1UbEZSU0V3TURBd01qZ2hPVGs1T1MweE1pMHpNVlF5TXpvMU9UbzFPUzQ1T1RrNU9UazVXaUUtIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3755,11 +12379,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2129a32d-952c-48cb-9a26-c8cc8a68c0fe', + '8ee5058f-148d-47bd-a469-01fbde5e192c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3769,34 +12393,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:52 GMT', + 'Thu, 08 Aug 2019 23:31:37 GMT', 'Connection', 'close', 'Content-Length', - '941' ]); + '4051' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111602317","deletedDate":1560199870,"scheduledPurgeDate":1567975870,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111602317","attributes":{"enabled":true,"created":1560199847,"updated":1560199847,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019984111709787","deletedDate":1560199876,"scheduledPurgeDate":1567975876,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019984111709787","attributes":{"enabled":true,"created":1560199852,"updated":1560199852,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725306556","deletedDate":1560200016,"scheduledPurgeDate":1567976016,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725306556","attributes":{"enabled":true,"created":1560199993,"updated":1560199993,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156019998725308881","deletedDate":1560200022,"scheduledPurgeDate":1567976022,"kid":"https://keyvault_name.vault.azure.net/keys/keys156019998725308881","attributes":{"enabled":true,"created":1560199998,"updated":1560199998,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692705349","deletedDate":1560439913,"scheduledPurgeDate":1568215913,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692705349","attributes":{"enabled":true,"created":1560439902,"updated":1560439902,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/keys156043989692806134","deletedDate":1560439919,"scheduledPurgeDate":1568215919,"kid":"https://keyvault_name.vault.azure.net/keys/keys156043989692806134","attributes":{"enabled":true,"created":1560439908,"updated":1560439908,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EVTVJV3RsZVM5TFJWbFRNVFUyTURRek9UZzVOamt5T0RBMk1UTTBMMFZGUkRGRlFVSXhOa0UwUVRRNVF6azRORFZGTXpkR05EVkJNVFpGTWpnMklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '1cfbe01c-de9c-42f8-9632-27b6c83bedc7', + '9f6c6ba4-c82f-44ce-8e30-40dc22e82d4c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3806,54 +12434,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:52 GMT', + 'Thu, 08 Aug 2019 23:31:36 GMT', 'Connection', - 'close', - 'Content-Length', - '2321' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","deletedDate":1561686288,"scheduledPurgeDate":1569462288,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-0","attributes":{"enabled":true,"created":1561686279,"updated":1561686279,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","deletedDate":1561686289,"scheduledPurgeDate":1569462289,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeys-3147002526421592-1","attributes":{"enabled":true,"created":1561686280,"updated":1561686280,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","deletedDate":1561686297,"scheduledPurgeDate":1569462297,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-0","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","deletedDate":1561686298,"scheduledPurgeDate":1569462298,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangetseveralinsertedkeyspaged-3147002526421592-1","attributes":{"enabled":true,"created":1561686290,"updated":1561686290,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-3147002526421592","deletedDate":1561686276,"scheduledPurgeDate":1569462276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-3147002526421592","attributes":{"enabled":true,"created":1561686275,"updated":1561686275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakey-4844377101593087","deletedDate":1561685869,"scheduledPurgeDate":1569461869,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakey-4844377101593087","attributes":{"enabled":true,"created":1561685868,"updated":1561685868,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5TVNWTlVTMFZaVGtGTlJTMURRVTVIUlZSVVNFVldSVkpUU1U5T1UwOUdRVXRGV1ZCQlIwVkVMVE14TkRjd01ESTFNalkwTWpFMU9USWhNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '7f1c475d-4047-4ab1-be39-4400dbc051ad', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '776c09d8-4036-4470-850d-d3ebbd164a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:37 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:52 GMT', + 'Thu, 08 Aug 2019 23:31:36 GMT', 'Connection', 'close', 'Content-Length', - '2733' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-3147002526421592","deletedDate":1561686277,"scheduledPurgeDate":1569462277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-3147002526421592","attributes":{"enabled":true,"created":1561686277,"updated":1561686277,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-cangettheversionsofakeypaged-4844377101593087","deletedDate":1561685871,"scheduledPurgeDate":1569461871,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-cangettheversionsofakeypaged-4844377101593087","attributes":{"enabled":true,"created":1561685870,"updated":1561685870,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-0","deletedDate":1561418276,"scheduledPurgeDate":1569194276,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-0","attributes":{"enabled":true,"created":1561418275,"updated":1561418275,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeys-7769917610769559-1","deletedDate":1561418277,"scheduledPurgeDate":1569194277,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeys-7769917610769559-1","attributes":{"enabled":true,"created":1561418276,"updated":1561418276,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-0","deletedDate":1561419307,"scheduledPurgeDate":1569195307,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-0","attributes":{"enabled":true,"created":1561419306,"updated":1561419306,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/listKeyName-listdeletedkeyspaged-7769917610769559-1","deletedDate":1561419308,"scheduledPurgeDate":1569195308,"kid":"https://keyvault_name.vault.azure.net/keys/listKeyName-listdeletedkeyspaged-7769917610769559-1","attributes":{"enabled":true,"created":1561419307,"updated":1561419307,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","deletedDate":1563396687,"scheduledPurgeDate":1571172687,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-054334075264537374","attributes":{"enabled":true,"created":1563396687,"updated":1563396687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","deletedDate":1563396700,"scheduledPurgeDate":1571172700,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateakeywhilegivingamanualtype-8132656009076245","attributes":{"enabled":true,"created":1563396700,"updated":1563396700,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cancreateaRSAkey-4217460078350159","deletedDate":1563492026,"scheduledPurgeDate":1571268026,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cancreateaRSAkey-4217460078350159","attributes":{"enabled":true,"created":1563492026,"updated":1563492026,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-36767371368026214","deletedDate":1561687104,"scheduledPurgeDate":1569463104,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-36767371368026214","attributes":{"enabled":true,"created":1561687103,"updated":1561687103,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1SFJVNUZVa0ZVUlVGQ1FVTkxWVkJQUmtGTFJWa3RPRFExTVRJMk5EUTRNVGsxTlRrMkx6azBOVVJEUkVNM09FVXhSalEwUmpoQk5UazBNemt3UTBNeE5rSkVOVVUxSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","deletedDate":1561686975,"scheduledPurgeDate":1569462975,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","attributes":{"enabled":true,"created":1561686974,"updated":1561686974,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","deletedDate":1561723348,"scheduledPurgeDate":1569499348,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","attributes":{"enabled":true,"created":1561723347,"updated":1561723347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","deletedDate":1561686400,"scheduledPurgeDate":1569462400,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","attributes":{"enabled":true,"created":1561686399,"updated":1561686399,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","deletedDate":1561723310,"scheduledPurgeDate":1569499310,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","attributes":{"enabled":true,"created":1561723309,"updated":1561723309,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0","deletedDate":1565307066,"scheduledPurgeDate":1573083066,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0","attributes":{"enabled":true,"created":1565307065,"updated":1565307065,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1","deletedDate":1565307067,"scheduledPurgeDate":1573083067,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1","attributes":{"enabled":true,"created":1565307066,"updated":1565307066,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3866,11 +12489,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9a142268-c0b8-48b7-b849-36685aeb8e22', + '172d3bf8-2d16-4310-b793-dd1636593257', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3880,34 +12503,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:53 GMT', + 'Thu, 08 Aug 2019 23:31:37 GMT', 'Connection', 'close', 'Content-Length', - '4354' ]); + '3207' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') + .delete('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-89097467879021","deletedDate":1561686972,"scheduledPurgeDate":1569462972,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-89097467879021","attributes":{"enabled":true,"created":1561686972,"updated":1561686972,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-9779781603101387","deletedDate":1561686397,"scheduledPurgeDate":1569462397,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-9779781603101387","attributes":{"enabled":true,"created":1561686396,"updated":1561686396,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","deletedDate":1563476819,"scheduledPurgeDate":1571252819,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangetseveralinsertedkeyspaged-9124906356900864-0","attributes":{"enabled":true,"created":1563476816,"updated":1563476816,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-36767371368026214","deletedDate":1561687101,"scheduledPurgeDate":1569463101,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-36767371368026214","attributes":{"enabled":true,"created":1561687068,"updated":1561687068,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-89097467879021","deletedDate":1561686970,"scheduledPurgeDate":1569462970,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-89097467879021","attributes":{"enabled":true,"created":1561686926,"updated":1561686926,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-9779781603101387","deletedDate":1561686395,"scheduledPurgeDate":1569462395,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-9779781603101387","attributes":{"enabled":true,"created":1561686361,"updated":1561686361,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","deletedDate":1561723518,"scheduledPurgeDate":1569499518,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-04241354248077567","attributes":{"enabled":true,"created":1561723517,"updated":1561723517,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","deletedDate":1561723606,"scheduledPurgeDate":1569499606,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-15374511265428148","attributes":{"enabled":true,"created":1561723605,"updated":1561723605,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTJJV3RsZVM5U1JVTlBWa1ZTUzBWWlRrRk5SUzFEUVU1U1JWTlVUMUpGUVV0RldWZEpWRWhCUjBsV1JVNUNRVU5MVlZBdE1qVTFNRFV3T0RFeU1EYzNOamM0TWlFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '022261ee-afc4-45e2-aab3-9b9c7892d832', + 'fa4be7d3-e64d-4b55-acb3-e1664a47be05', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3917,59 +12544,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:54 GMT', + 'Thu, 08 Aug 2019 23:31:37 GMT', 'Connection', - 'close', - 'Content-Length', - '3554' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","deletedDate":1561687106,"scheduledPurgeDate":1569463106,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-36767371368026214","attributes":{"enabled":true,"created":1561687105,"updated":1561687105,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","deletedDate":1561723459,"scheduledPurgeDate":1569499459,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-5165836270108091","attributes":{"enabled":true,"created":1561723458,"updated":1561723458,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","deletedDate":1561723721,"scheduledPurgeDate":1569499721,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-8315331351345701","attributes":{"enabled":true,"created":1561723720,"updated":1561723720,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","deletedDate":1561686975,"scheduledPurgeDate":1569462975,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-89097467879021","attributes":{"enabled":true,"created":1561686974,"updated":1561686974,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","deletedDate":1561723348,"scheduledPurgeDate":1569499348,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9471707164286285","attributes":{"enabled":true,"created":1561723347,"updated":1561723347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","deletedDate":1561686400,"scheduledPurgeDate":1569462400,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9779781603101387","attributes":{"enabled":true,"created":1561686399,"updated":1561686399,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","deletedDate":1561723310,"scheduledPurgeDate":1569499310,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-9789286389123768","attributes":{"enabled":true,"created":1561723309,"updated":1561723309,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-0","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-0","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeys-972039377256978-1","deletedDate":1563476349,"scheduledPurgeDate":1571252349,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeys-972039377256978-1","attributes":{"enabled":true,"created":1563476349,"updated":1563476349,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--0","deletedDate":1563492515,"scheduledPurgeDate":1571268515,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--0","attributes":{"enabled":true,"created":1563492513,"updated":1563492513,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-listdeletedkeyspaged--1","deletedDate":1563492515,"scheduledPurgeDate":1571268515,"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-listdeletedkeyspaged--1","attributes":{"enabled":true,"created":1563492514,"updated":1563492514,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedkeys?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXhJV3RsZVM5VFJVTlNSVlF4TlRZd01UazFOelEyT1RrMk1EZ3hOVFV2T1RZeE5UYzNNVFZEUVRaRk5EYzVSRGhDUmpnM016ZENSRVZCTmprMFJUY2hNREF3TURJNElUazVPVGt0TVRJdE16RlVNak02TlRrNk5Ua3VPVGs1T1RrNU9Wb2giLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '25f1054f-748d-4665-841e-d7b6065e6d48', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'a12f3be6-1d3e-429b-911b-7da8ae2a3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:54 GMT', + 'Thu, 08 Aug 2019 23:31:37 GMT', 'Connection', 'close', 'Content-Length', - '4760' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys') + .delete('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') .query(true) - .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -3977,11 +12597,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2605c65a-07c8-4542-a040-e717b263e7ab', + '21066c6b-ae98-4458-aa80-98200c76e3b6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3991,32 +12611,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:54 GMT', + 'Thu, 08 Aug 2019 23:31:37 GMT', 'Connection', - 'close', - 'Content-Length', - '28' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-listdeletedkeyspaged--0') + .delete('/deletedkeys/recoverKeyName-listdeletedkeyspaged--1') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '3d011ce7-f7b9-4020-9279-ccba0d5b6f86', + 'c41fa3d2-7142-4684-85b2-b3ea673318f1', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -4026,11 +12650,45 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:55 GMT', + 'Thu, 08 Aug 2019 23:31:38 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4c1a26cc-546f-49fd-8184-8fbf33953e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Ak8A9XdUbpxKscJ01lE6wqg_aSJHHgAAAPum3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:39 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/deletedkeys/recoverKeyName-listdeletedkeyspaged--1') .query(true) @@ -4045,11 +12703,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '68ed2b87-e157-4812-a9da-cdcad491889e', + 'f81566c5-bbf1-4229-a1f4-eaaca7ff582d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -4059,7 +12717,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:55 GMT', + 'Thu, 08 Aug 2019 23:31:39 GMT', 'Connection', 'close' ]); diff --git a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.js b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.js index 14d47018e205..a67167114fcc 100644 --- a/sdk/keyvault/keyvault-keys/recordings/node/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.js +++ b/sdk/keyvault/keyvault-keys/recordings/node/keys_client__restore_keys_and_recover_backups/recording_before_all_hook.js @@ -2,9 +2,48 @@ let nock = require('nock'); module.exports.testInfo = {} +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canrecoveradeletedkey-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6ac234b4-8b83-4404-97b4-b5c49a1f7fa4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:31:39 GMT', + 'Connection', + 'close' ]); + + nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") - .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', 'no-cache, no-store', 'Pragma', 'no-cache', @@ -17,17 +56,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'x-ms-request-id', - '00db8525-c409-4452-865c-7017bb25df00', + 'ac1302fc-a593-4815-9238-4e32fec83500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'Set-Cookie', - 'fpc=AmUVQR3PHFtBtxv1qKbe2nA_aSJHAQAAALf3wtQOAAAA; expires=Sat, 17-Aug-2019 23:28:56 GMT; path=/; secure; HttpOnly', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHAQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:40 GMT; path=/; secure; HttpOnly', 'Set-Cookie', 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', 'Set-Cookie', 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:28:55 GMT', + 'Thu, 08 Aug 2019 23:31:39 GMT', 'Connection', 'close', 'Content-Length', @@ -37,7 +78,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/keys/recoverKeyName-canrecoveradeletedkey-/create', {"kty":"RSA"}) .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/5913aafcd6eb4eb3b74457c047d1f291","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wa4LgYQE3bbS-i4tvwVPnRo0nzN1OsEMsXTg9d_YANHWfe07EWd1JdrLiwxh0t0m05htXBLNRDYq63ysX3iAd6PwSM-Y8nsi8b3TZHmQO80OoTu0Elql78LOzNFz_oGzrrMLfYZc7KQOlqz_NkStEkPWcLxHqaaoiGv2GtG1IxdJmUKZXU_gGpFQGaq_XirW7Hg634qRuK6qK1ff3EZ7IsUjtS58cDTWmsMfcOvLHUkTo26Cse0CD6JMdmDNc_FcPb7IuElTDegpYratBs_IY1rdfcPq5Kp31BgZYXdw2gfNnAre__lyX-wChFEeXzUaQfRzRHtpHQCPgfVxS-Dp_Q","e":"AQAB"},"attributes":{"enabled":true,"created":1563492536,"updated":1563492536,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/d71df37ccc324549bad2cf9dbbf853b1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jceURJ53gyNAVjiOPkC3yryrF15sDD0nZAhMcyTIipWoQNGL1g-t4DUN5gwzMQY1yEh2IElw775PXQ1jLCFACr7Z67z6vqfC5dCM6R4DX08aL-rNnj173rwF5dU1iK7X0w09cD-EtSnCFGSe2irEngJ7Xn1J1mAZ6N9OS8sK_Nb5RiYoHEeTLFHQaHlGx_o3S0zICaGAogdkgntTXCrObbGawn7hI5IRec3xFSJJO2qo0f6In-AUfeFZc6P0g_ehVRwQ3OGvqujOENAnfXrhuHM4zIB6vsnmV7zh1XTchxV_TELDFaA_7_t-cXi9SexavC9M0y74CsXGMQJMi1nMMQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307100,"updated":1565307100,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -50,11 +91,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a615f1f1-92c0-49b7-a951-6135312c1556', + '1f82e72d-8219-44e3-9bca-c16cbcce8d44', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -64,7 +105,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:56 GMT', + 'Thu, 08 Aug 2019 23:31:40 GMT', 'Connection', 'close', 'Content-Length', @@ -74,24 +115,28 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/keys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-","deletedDate":1563492537,"scheduledPurgeDate":1571268537,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/5913aafcd6eb4eb3b74457c047d1f291","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wa4LgYQE3bbS-i4tvwVPnRo0nzN1OsEMsXTg9d_YANHWfe07EWd1JdrLiwxh0t0m05htXBLNRDYq63ysX3iAd6PwSM-Y8nsi8b3TZHmQO80OoTu0Elql78LOzNFz_oGzrrMLfYZc7KQOlqz_NkStEkPWcLxHqaaoiGv2GtG1IxdJmUKZXU_gGpFQGaq_XirW7Hg634qRuK6qK1ff3EZ7IsUjtS58cDTWmsMfcOvLHUkTo26Cse0CD6JMdmDNc_FcPb7IuElTDegpYratBs_IY1rdfcPq5Kp31BgZYXdw2gfNnAre__lyX-wChFEeXzUaQfRzRHtpHQCPgfVxS-Dp_Q","e":"AQAB"},"attributes":{"enabled":true,"created":1563492536,"updated":1563492536,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '31255568-886a-457e-b7cc-ea96d6d2b2bf', + '5ac232a9-e03e-4cdf-93eb-0a97da3ef980', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -101,22 +146,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:56 GMT', + 'Thu, 08 Aug 2019 23:31:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a7e4e0a7-5baf-4e4f-8917-47c684305f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHAgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:31:40 GMT', 'Connection', 'close', 'Content-Length', - '873' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') + .delete('/keys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-canrecoveradeletedkey-"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-","deletedDate":1565307101,"scheduledPurgeDate":1573083101,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/d71df37ccc324549bad2cf9dbbf853b1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jceURJ53gyNAVjiOPkC3yryrF15sDD0nZAhMcyTIipWoQNGL1g-t4DUN5gwzMQY1yEh2IElw775PXQ1jLCFACr7Z67z6vqfC5dCM6R4DX08aL-rNnj173rwF5dU1iK7X0w09cD-EtSnCFGSe2irEngJ7Xn1J1mAZ6N9OS8sK_Nb5RiYoHEeTLFHQaHlGx_o3S0zICaGAogdkgntTXCrObbGawn7hI5IRec3xFSJJO2qo0f6In-AUfeFZc6P0g_ehVRwQ3OGvqujOENAnfXrhuHM4zIB6vsnmV7zh1XTchxV_TELDFaA_7_t-cXi9SexavC9M0y74CsXGMQJMi1nMMQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307100,"updated":1565307100,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -126,11 +201,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '37dbcfd4-8314-4440-84de-e12eba529dec', + 'f2bc8b78-70c4-41cb-97db-e8a73876d88f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -140,34 +215,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:28:56 GMT', + 'Thu, 08 Aug 2019 23:31:40 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '873' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-canrecoveradeletedkey-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b50b36b9-da72-44a1-86fa-9bfa8ec6cc44', + '43f051ae-0533-465c-a7a4-bd61e933869f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -177,55 +256,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:07 GMT', + 'Thu, 08 Aug 2019 23:31:41 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-","deletedDate":1563492537,"scheduledPurgeDate":1571268537,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/5913aafcd6eb4eb3b74457c047d1f291","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wa4LgYQE3bbS-i4tvwVPnRo0nzN1OsEMsXTg9d_YANHWfe07EWd1JdrLiwxh0t0m05htXBLNRDYq63ysX3iAd6PwSM-Y8nsi8b3TZHmQO80OoTu0Elql78LOzNFz_oGzrrMLfYZc7KQOlqz_NkStEkPWcLxHqaaoiGv2GtG1IxdJmUKZXU_gGpFQGaq_XirW7Hg634qRuK6qK1ff3EZ7IsUjtS58cDTWmsMfcOvLHUkTo26Cse0CD6JMdmDNc_FcPb7IuElTDegpYratBs_IY1rdfcPq5Kp31BgZYXdw2gfNnAre__lyX-wChFEeXzUaQfRzRHtpHQCPgfVxS-Dp_Q","e":"AQAB"},"attributes":{"enabled":true,"created":1563492536,"updated":1563492536,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '9df46011-e80d-412f-b386-a5aff8f13a20', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'e1cf39ce-bde2-4385-a78e-70483dbc4e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHAwAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:29:17 GMT', + 'Thu, 08 Aug 2019 23:31:41 GMT', 'Connection', 'close', 'Content-Length', - '873' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/deletedkeys/recoverKeyName-canrecoveradeletedkey-/recover') + .get('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/5913aafcd6eb4eb3b74457c047d1f291","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wa4LgYQE3bbS-i4tvwVPnRo0nzN1OsEMsXTg9d_YANHWfe07EWd1JdrLiwxh0t0m05htXBLNRDYq63ysX3iAd6PwSM-Y8nsi8b3TZHmQO80OoTu0Elql78LOzNFz_oGzrrMLfYZc7KQOlqz_NkStEkPWcLxHqaaoiGv2GtG1IxdJmUKZXU_gGpFQGaq_XirW7Hg634qRuK6qK1ff3EZ7IsUjtS58cDTWmsMfcOvLHUkTo26Cse0CD6JMdmDNc_FcPb7IuElTDegpYratBs_IY1rdfcPq5Kp31BgZYXdw2gfNnAre__lyX-wChFEeXzUaQfRzRHtpHQCPgfVxS-Dp_Q","e":"AQAB"},"attributes":{"enabled":true,"created":1563492536,"updated":1563492536,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(404, {"error":{"code":"KeyNotFound","message":"Deleted Key not found: recoverKeyName-canrecoveradeletedkey-"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -235,11 +313,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ddbd258f-b0f6-4c83-923e-beb0c86264b0', + '5714548d-7308-47dc-bc1c-5b269823dd1f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -249,36 +327,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:18 GMT', + 'Thu, 08 Aug 2019 23:31:41 GMT', 'Connection', - 'close', - 'Content-Length', - '699' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-canrecoveradeletedkey-/') + .get('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-canrecoveradeletedkey-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '113', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '777bfd40-9733-4b34-b798-56742a2cbd29', + '5414873b-37e4-4037-a26b-deb456cc4058', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -288,52 +366,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:18 GMT', + 'Thu, 08 Aug 2019 23:31:52 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-canrecoveradeletedkey-/') - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/5913aafcd6eb4eb3b74457c047d1f291","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wa4LgYQE3bbS-i4tvwVPnRo0nzN1OsEMsXTg9d_YANHWfe07EWd1JdrLiwxh0t0m05htXBLNRDYq63ysX3iAd6PwSM-Y8nsi8b3TZHmQO80OoTu0Elql78LOzNFz_oGzrrMLfYZc7KQOlqz_NkStEkPWcLxHqaaoiGv2GtG1IxdJmUKZXU_gGpFQGaq_XirW7Hg634qRuK6qK1ff3EZ7IsUjtS58cDTWmsMfcOvLHUkTo26Cse0CD6JMdmDNc_FcPb7IuElTDegpYratBs_IY1rdfcPq5Kp31BgZYXdw2gfNnAre__lyX-wChFEeXzUaQfRzRHtpHQCPgfVxS-Dp_Q","e":"AQAB"},"attributes":{"enabled":true,"created":1563492536,"updated":1563492536,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'df236bab-de8a-4332-b8ec-377a48749049', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '070f2bbf-c04e-4f45-8403-3f17a19d2d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHBAAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:52 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:29:28 GMT', + 'Thu, 08 Aug 2019 23:31:52 GMT', 'Connection', 'close', 'Content-Length', - '699' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-canrecoveradeletedkey-') + .get('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-","deletedDate":1563492569,"scheduledPurgeDate":1571268569,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/5913aafcd6eb4eb3b74457c047d1f291","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"wa4LgYQE3bbS-i4tvwVPnRo0nzN1OsEMsXTg9d_YANHWfe07EWd1JdrLiwxh0t0m05htXBLNRDYq63ysX3iAd6PwSM-Y8nsi8b3TZHmQO80OoTu0Elql78LOzNFz_oGzrrMLfYZc7KQOlqz_NkStEkPWcLxHqaaoiGv2GtG1IxdJmUKZXU_gGpFQGaq_XirW7Hg634qRuK6qK1ff3EZ7IsUjtS58cDTWmsMfcOvLHUkTo26Cse0CD6JMdmDNc_FcPb7IuElTDegpYratBs_IY1rdfcPq5Kp31BgZYXdw2gfNnAre__lyX-wChFEeXzUaQfRzRHtpHQCPgfVxS-Dp_Q","e":"AQAB"},"attributes":{"enabled":true,"created":1563492536,"updated":1563492536,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-","deletedDate":1565307101,"scheduledPurgeDate":1573083101,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/d71df37ccc324549bad2cf9dbbf853b1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jceURJ53gyNAVjiOPkC3yryrF15sDD0nZAhMcyTIipWoQNGL1g-t4DUN5gwzMQY1yEh2IElw775PXQ1jLCFACr7Z67z6vqfC5dCM6R4DX08aL-rNnj173rwF5dU1iK7X0w09cD-EtSnCFGSe2irEngJ7Xn1J1mAZ6N9OS8sK_Nb5RiYoHEeTLFHQaHlGx_o3S0zICaGAogdkgntTXCrObbGawn7hI5IRec3xFSJJO2qo0f6In-AUfeFZc6P0g_ehVRwQ3OGvqujOENAnfXrhuHM4zIB6vsnmV7zh1XTchxV_TELDFaA_7_t-cXi9SexavC9M0y74CsXGMQJMi1nMMQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307100,"updated":1565307100,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -346,11 +421,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7fe3bb1a-11b0-4774-a681-e1ef52f9b19d', + '8f406f37-6d27-4094-94e1-37fc49dcf5c1', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -360,7 +435,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:28 GMT', + 'Thu, 08 Aug 2019 23:31:52 GMT', 'Connection', 'close', 'Content-Length', @@ -368,28 +443,30 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') + .post('/deletedkeys/recoverKeyName-canrecoveradeletedkey-/recover') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '118', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd74a86b3-9ed0-46db-ab9d-49f521fd1e68', + '032c7ed4-f84e-4ac0-8708-3829c54d47fb', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -399,55 +476,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:29 GMT', + 'Thu, 08 Aug 2019 23:31:53 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '5818f69e-d39e-4c42-94ac-4f0c19409251', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '5c01cc3d-f208-4ac3-9640-ccd9bdc44400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHBQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:53 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:29:40 GMT', + 'Thu, 08 Aug 2019 23:31:53 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') + .post('/deletedkeys/recoverKeyName-canrecoveradeletedkey-/recover') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/d71df37ccc324549bad2cf9dbbf853b1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jceURJ53gyNAVjiOPkC3yryrF15sDD0nZAhMcyTIipWoQNGL1g-t4DUN5gwzMQY1yEh2IElw775PXQ1jLCFACr7Z67z6vqfC5dCM6R4DX08aL-rNnj173rwF5dU1iK7X0w09cD-EtSnCFGSe2irEngJ7Xn1J1mAZ6N9OS8sK_Nb5RiYoHEeTLFHQaHlGx_o3S0zICaGAogdkgntTXCrObbGawn7hI5IRec3xFSJJO2qo0f6In-AUfeFZc6P0g_ehVRwQ3OGvqujOENAnfXrhuHM4zIB6vsnmV7zh1XTchxV_TELDFaA_7_t-cXi9SexavC9M0y74CsXGMQJMi1nMMQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307100,"updated":1565307100,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -455,11 +531,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e3f6186e-e621-4b3e-8009-02b5c74b09b3', + '8b882dde-43e2-4957-8da0-d2e9eec32afd', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -469,34 +545,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:49 GMT', + 'Thu, 08 Aug 2019 23:31:53 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '699' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/deletedkeys/recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-/recover') + .get('/keys/recoverKeyName-canrecoveradeletedkey-/') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '139', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0b81dd41-8958-4dee-baa1-1f0ee7e0e510', + 'f7978a36-42c1-4569-8743-ae3e978e8ad6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -506,55 +586,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:50 GMT', + 'Thu, 08 Aug 2019 23:31:53 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangenerateabackupofakey-/create', {"kty":"RSA"}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/ebe2d20b49dc48e18d46f1213e08ddb4","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"slh-lN-4MQ_eR9txf9Ed024K8kYpgMt2tw69jJEVtQvfx73iylklVc1gLyVx-I3uEMfUlNzCxMkuGOo4Mu-dkupFpP1Z9V_ocuNqybZ2pl93XgmHKp1bs8xX93WyzqaU9sBIZEUPp-0VnBZN2VONr_77l8vMFVX4JjkjihhLsMkwuk-ZmQxO4sp-kh7f7ZWF_eQvNZ1QwOXQWe9MrlABGFndfHyx29cUqOuXYb00gw3acmMaEWTye0mwUFieOjpMnvAcgKGQ8cYOZsn06BmueE8ncT4mPIk8Q7EDGTSRRey24w_OO8yizCBxvyeeQ8pFg98P9SZ7sdv8bMHWzbXHXQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492591,"updated":1563492591,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'a4499578-b244-4e3b-a0e9-aba75043d156', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '9daca97d-ba4f-4b2a-9ac0-be606ea96f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHBgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:31:54 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:29:50 GMT', + 'Thu, 08 Aug 2019 23:31:53 GMT', 'Connection', 'close', 'Content-Length', - '702' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-cangenerateabackupofakey-/backup') + .get('/keys/recoverKeyName-canrecoveradeletedkey-/') .query(true) - .reply(200, {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmZ5a0tHYWFiNWFfd2lSeVhFUWl3bWtEbVVHaldrV2xORUxTUjV6Z3FVWlRjZXQyLWNsVWRpYmJOMWs4bWR1dXIycWFwME1fNG5FeEx3RnFYWmlIMFE2ejl4dkl3eE1XMTVXTmRaUktsbjFoQTQ1SjZNSmN5eEwzd3RzdXRWcVVkRnV0S090Q0hZQ0V6T1FiN2hxaEpVYXhLM3Y4akJiY192WTZPRmNKVURaTHJ6U20zTHVzMTFLeF9MSjFxZm9hTUNueW82UGZ3cE9PUmRDLW4taXoxZzduRE1JZlJQWWp4R1Q5dERPME11MERDOVhJa1BsVUlMaTdzTlo4SEZLWlFQY081R0ZwdUtSTjJPNVA0bXVuTHBMNURybkdUU0E5VHhweTgwN0xaLTdLYXNpV1M2UFlnNWcyV2JPZU50ZENSWWdPWFBBLTFGal9zQUdIcDJ2MmY2QS5obFc5d013YjRBNXpTWUJIeTFSbVF3LkRLSmhOZVVyZUUwS0V0ZUNHV05zMks1U2pXWEJ2Nm54c1VTenBZc0FpVDNCVy1vaHdHMWhDU2I2c1UwU2twVzF6VUkzcGZXcXNXczh6QVZubGtuT3E0bGVyQ3VfZGZjWklJOTZvUmJkMzQxZGZxTGhFZmhxZWJjVF9ZV2dSU1NwTVZ0VTRTN01sZGh3aUh4TzZmNUhZUnVoNkpkeEFmUi1OR2VnblFSa0hhLXYzeGsteW5FTWhSTEhhcURWbkVMaDlFUzhDQXlFMklHMVBYLW5JTS1EdUV3VU5wZVI5WWw5OGJwOHRwSnBTdnYzYWNZWDhRZTdWRTdteGhMNEFtUElCSGlkS1AyczN3dTRUWXNvSE9SZ29ncHhjQ1lBanpVLWRPUFNVeTlZbEc1Z2JyeVlOWW9YZTNOMVAxWkVGMGZhbE80RjdWLWxTaFQ4dHNjTFBfS1lsRzdZWloxeEdqbDcxdlFrWm5xUUlRRGY4R0IzT2JsQlZ3aS1XcUJsZTJka09aUy1aMUJtbXJYRHQ5SERNX1FZeFpfbE4tN0ZNWnVWLTJtOUViUFpCaUJSWjZuMWs3Z0tyM1hYcU5aTFBHWHRkZ21vTUxzd0VnWVMzVm5LRlZ1S0ZvNHgtajllM0JiM01qeXBNaW5ySTk1d3cySTRFM0lBaDZvU1FaSTJaSXhRbzVnRkc3cDJhNmtNZWdYMlB2QTJXMW1tNGlZazJiUE1RaWxFcGRFZW8yQWRmY0FadWFjVVdqLWxiSHZ3a3dSWEZRR2MzWGdEQ1ZwT2FvV2czNzNxN0RZZ1l2Ukc2dWptZ0puVzZsNmg0YWNyaDFzQUtqNjVMYWRQYzZBU25QcE5BeURSc2RPdWppVjdLbkZZb2EwQ3ljMHVobUlYRUp1MXVUam5FQmF3TjVCWEVPRnc5OVQwSERwNE96QkVvSmozZ0Fsc0JaSUhkaklHa1hBQm9LMUFYazVrNG53eXZUNGhYdWpGUGJldzh1TklabElqZFhzV1hKeG9QbFQtUmtGTks1RmxRUTlWNFh0TFN1UFZSd3hXNVdWek9GemJCMnVvTFBXWEFTVTZhQWxLSk5JQ0Y0cE5hN1otcExQLUZCMVI0cks5aHNBR2dJUHZuVUJXcUNVbXdmUi12dUxYeXhCb0hhMmpXbVVNTzdTV2FxSkVKVUVaSkNTRTI1blVfaUsyQzZvbDlYT2VmWDRlUUZxVFN5MVhFSFItWEtnUThORWh0WWQwUUd3MzRJTFdmNHdCaG9idERoaW9nQ1lYcXVrU1BzT1k3LTgyR3VGREFWLUhSdUkxMkk3TXZPRTFFZXJHSUNZakZlLXV6SWlDZEVqY09RTVM0UFBhNWdyVVY4VmdsRUQ5TEhMQUJyTElDYXpqM2wxSG9VbmRhOC1fODhqcDlycVFrekRkNjE2UWh2cm5fRnZCWDlVUjgxX1lmVVF2NlFBd1BYME1QVURSalNhUDVaNHBvS1d0bUV0TWhaeFFTajc5Vjlib1BSeW1TN243OEZ6THlFVGpSbWpXTGF0cjg3RmNyMGdpOElmbTA3Z2lPLWxjcm1JUFFfc3lMM0JUT1pBMEZnSGVRT19mTWtRdkplcDhyU2dpVmFYNG5vU05idHYxZ1pBZ2Ryc3duTWV4S2ZNZXRqZnFWR1ZsYUtKdmUzZ2RycmNESEM0d2tSSUlIeUdrb2Vaa3otVElNel85d193a0FDX3EtYzh4b18tX3BDN3BnZjdRS1gyUGpfTVA4X3A3djc4QklmUGpnU2piS3Yxc1ZEaGVJQXE3NVlRQ1R0RnlaZTZwLXJ2eXQyZUJZR1ZvcHJlLVU3aHRfbWJ4QXdBaFlYTnE3dE10VDhJQ292RG5Ta3FqM2JOT1NrNmZPNjZ1WWpOdVRuMzduWVpiOXVNZ0NLLVBOMDRpMXNYVTlFUWt3X0NfWTdlRUJuMWpnMnByWUQzUkd2M3g0RUVudjVVSzl1b2dLWG14N1JsSTdwSm5CSGEzYUNldThGQ1RMRW02WU8yS3BqN1JWSGxGM1FHV1N3QUtUY3pmYWFFdnd2OXFJM3NYelBnZnc4R09GRkV0SGlLRGU5QmpCNnlXbGlILV95eThMb3Bfd2VmS095SnFBcjJqMkliS09HYnd4NEViZEJITlpHSTIyQzFzZWVSanh1a1d1WWVlUWItZjU5d3hSYUoxWER6blBDdlRmdUtMaVc2akJtS0RzaENFRlU1ZTJSNklSQTdQOWJXa1FmQlRMRUdxZkRROGFMNFJkdEZNYm9VTFlZX3VSTy1VRnJKTTRiUEJGcTFPN2dsM2Z5QW0zLVpNS0o2M19iOTZoQ1lIcWpMU3A3eGRaMm42c2dScnBST05PMmM3S1I5bDllSjZFbHVjZVVUa0lwTUZpTGdUT3hDR1F4V0tEeFp6cVM4WTF4d1BEcXJ4aXl6djdWSkpBX3BoLU1xdV9hOWhQaldPUlRuR241NDJuYzJDS0xPQjVKNHVkVWp4TGNmZ3RyVG5RT0FreGpkRUVianFTSnlac3ZoM0RtNWU2NHIweGs5WkpYaFhHcEJKdkRiLWl3MzEzOGF4UmZXZ3J5dXBHRWVpR0puUWdJUTRtbkpPSUlNQ1ptc2NGTXpkZjRZQ3JwSkp5emNsc2VCOGd5ZXMwN2hIRnNpZnVrcUJ0aWZUWjM2SVgydVdSaGZ2dmtGSGJ6QjJ1b0RyOEpyUEVTTnZUUHJtUlkwWWhST0hZWXMta1VCNFhoX2dpUG93QlVBNDJIaHctV2Nra1hWWlY4R1FPaTZzWDdUVDZ6SmRfaEQyaHhEcjJwTmVwcm0xajJXWlFha1JJMnlJcnhReFpzbUZBdkI5bmo3U2hHcDlack1hYTltUnVUa25JWUJjZFplckpITXVDbGRDTzgySzNVeGd4NzM2REtKWDcyU291UzdiYnREY3F4ajlfZTlqWkQ2RmJ1WTRvdUFHWUxOUVp2Y1FfQ05CUkxJMXY2UjZ6Z3ZvaTRPeEZTcUlWUU1TR0oxcnU3TEVsYjBSR1J5bFNfNHR1MWpaZ19ZckNzdWtHc3RfN0FaUXl6YmlFa0hnSG5nU2tqR3VUQWVlb0ZzdmRobjQ4Q2xQWnd3STJ2ZmpPQlNyMGY1T0c0emtBVWpVbnRqbTZsbnBoOUxKczMzRGRWWkdFbmVTaHRjQkhZVWZmMTBsSUFYOEJQTnFiOHROMFZQZXdXLU1QWWFYN2lPb3dnZXkzc2JUTTljaFVnSmhGdnRPeExtMTBGdENnVXBPQVo2clcxQWo5N0s0VGlHVFdIU1ZUY0ZxT3VkaW9XcGduenp3dGlxdGR3N0ZOX3NaWTl2T2lJVzBuemZBT002NHFfNEpiaTg3bHNGOU54bXF4SHo2X2VTUDdrS0pSRFFDNS11X0otbXcyOURVMTZPZFQwN01sNVRyWDhKT0l3QzNDa00tZDJTZ0gxb29IWFY4OVJQSDYzRWV2bUNQcnR4c2RNdzJwZUlHVGlMYzB2VjJFZWJWTUhscXdqV0xtcFRNVlc2ZVI4RGV6VzZNNnktX0h2aU1SRmdRMnl0b08zb1Y0bno3dzdHdDFKWXJvZ2dVeG5XN0s1Q0pLekFUVnlDTWlqZWhCVEl1ZmxiUEtmWjNtSG5YQXloYkNPLUtfSUtxQmVPQWtuaG11QWdxX1Azd0VNcnQzZ3VfU21vYmtGaHVITm9wN1YzdmZ0SXljU0NuWllDSEZHc0hwU2Y1WjNlYkxDQ2gzOEtqQXp1dEN5VlhselpaSXVTb1NnS1N5bk9DRHV6S1pqVmFGVGdRUDI0R1lrcUVCU0F6b3M2Nk5FaFJCWGg2V1ZYajVCZWlWbzFCRzluZDV0Tk1XRndmTFRXdGptNF84b3pmTHJETFJwMFZyb19rZHhSSkNxMjBTVjN4czJUaXBra2J6RXE3QXFHQUJ1UWNNS1M1SkM5V25Bal9LM0xWRktTbWZNZllhdjJ1UHBsWEYzaWJ6YW1sblhRUkpSVUxwUG5aaVhhWmZJazA0NFVySC16RGtnTlRFYkpOWHZoWXl1dWpKbVFQVFZzbXNCWE9UcVdPSUNTV0lBWEtVbnJvU3Q2T2w2SWEzZUhwS1N3OFltdTNtaHd3Q1ltTG0zVlV5YkFOUWRIRDJhRXpQTXZBRFZiWlE5ZFBxMWJvZnZsRXJBeE9BWXUxTVp6YXptTzhpWjdMOTVVTVN3dnRGYjdKLWd0Rk5YdUI5VDN5b1pRVUZyeHpzQzVSa3FVbDZoLTVkV2NuSEItOFktQlc0NnlYZExHQkJ1Q0JxNWdsRnpiX0xCbG1hSDBiT3BLcHhLUmNyNHpoQk5sbEVpRjktay1HanZzRVF6V0RGeUhRMmZrendadV9aNkR3RFJGVzFPMjJBZjZaMkFSWWstaUZFbUh5ek4xYzlfeFFTd3g0SHVwc0NyWnV4T2lKUXBXWXczaXE1V1FaMDZjWjVENTJqRkxBSERCcGdpME9sUjBkVVV6Q0xVTW9MNVU3ZVBHanEwR2pnWC02SnBOamZzbDRzejdUVTRsVlNZLWtDR2k4VzBQTC1hZVhUQ0lxQngxYmFtclpzZHVxcVdWQi1ySHhYNmcyYnI1RnBnQ0lFaE83b1BiM2txU0VPeEcxcW1kRlpmaDdfeXBVcUJvSkZ3Tjc5NERMbTQtS1hmS2ZFNXFFbXRVanZYNEhaOWRtSjJhaU5kVnpNVmhKZC1abjl5X25KeWxhMG0tbjZqaEd3aEJfMURMNjYwU0FXUHZXLWtnTWxsSzhWdmhiODEtazdLVDFpdEt6Wm00SHRTU1UtVTNXZDZOd0NOMU9qVWtyZUVwNWxCa1NuR0J0d0V3TndiQnNzQ05ndW9KMVlYaG5QdVFMaVdJcFBzbFdLdm5oVFNwaU5uZko5MUd2YXRRMTdHNGZod3RRVVRqTUxmVjNiOU5CSTNadEU3MDQyZTdINWdWV2ZTdGt5akwxWldET0lvdEN3Tmc2dVo3N244ZmlsMVYzeG43V3FhUUFWN1NiY2NoTjVQQzBwSU91QWM3akt5eThORTV3U09qZVdGdkZnYzBtQWtGVzAzT09HUVYzcEl5eUpOSTc3RFFydEZJajZOcUJYZ1R5MmZyUDNQOVEzZVQ0TkxRTlBDQ2FwX0NYQmVjUWNfc1IzSDd1cjJLOHVaS2JXNUt3SmpQOVVZZ1h3d2IwbnRqbl9CRjlRS01nQTJLMjludVMwb1JXaDg1eEtVVkVwd1hCVDVXSHY4VXhTYlJyT3VRcE5wMlRnVU01Q01aYU9FZkFrUi13bkpqV0RfcV9tTFhmcVIzcGRLWk9zUVRPSDlJeWlOTWlyYTFLZjdoZ1NxUVZrX1M2U3lGNlFPeV81Yng4dmZyRVlwbEdzaFMwMEdXSkZEUnQyandXbVB4aVZBcjBrWjNiNWdPZ0VQZU9kUEZTSWJyenZmVmtkMHhnMnBHS0Rkby0wNHdmbXJ4azBMRXBRU1F0cHc3UGFzNWxmd2VSaS1yRUtCemRYaGNQbllKWFlLY2QwWTdlam9qNmtKb3E0VzQxcGI5VUhKZUZBVUZ4dVR4QTEzVzFoUm9SUTMxMko3NWU5TlBXOXJub2JTRGpsdlVsSm1UNjdiTlVnUHJteGpHMmpKMEZpclUxbTlMSjFoVHdXTUhJdVlqV0VyVEg4TjlzM0hrYktzcmxuMjd0cndRdEMxeHlDOTFwb1VjcGpfMmNEYmtWbkhZVkQ1aHY3MS1DUUZHcm0xNmlELTdTclBzZ2hJcnpscUxPTFg0eVN6Z1JodzBHa1V2QU1yMWdfajFuMy04aUZPbTk0cUttaF84QjFkRld6RlJwaHk0UF9fSmlDaXRydFJEZnF5c1lYemp6Qnlvci1KeU5hRk5MRUgxLTR1TWlWNkl3LUhLUG9GX3Zaa2pEaENhT3BFeGZIeEFGYkpSOGVlajNQdEtxSDdjOWdGakQzSkVMQU5zSF9ia2txX2V0ZHdrZ244Q2VhY050Y0loY0ZoSWhIbkphNXQ5cjBuTWNGdVhJVkpET3h5TVQwb2RSaEFkSkIzWnpzZXVzSldOUkFmVk5WVFlFQzc3QU1GWXRWT09pOFNYOXNEU2xwWW04dVgycjg2ZGNpMUdRR2NKNHlEZzByTmdOTDBEelJKU3doVU9Ga0dzZDBIUWt5Mm81X3R5bEtuc3hEZkJFZjg2Q0tTYVJCcUZUWTMwNWdycGxrZGdpdlQ2ZGtoeDR0c1RNSWdzenBIVDNackJnMm50SXBFM3VBNWR1enQwa3FPLW1Md0VkVFRLLUlpc25lelFZQmVqMGRQOFpKYW9hbXZwUnRVZVFLVjhPQTZIMjkzWnJUVzdkdWZGTE9ucms2cTktdkZFS2ZLb2FtVF9BTDN1bnVpM0F4cE1nVS1jUzNnanBuS2I3UGJyYzJBV1Zib2RwUkw0ZEFqbllqQTl6MW9LQUJaQVVaemc0aE1xd3AtblktM2U1QWhpVGMxQ0JwUXp6RUxEdTBIZDdQTzN6ZDJySk53ajVhckkweDczeVhLMGZieDBENzRKemVxTGltb2VINWtvTDBNY054WEc0Y09zdGIzRkdsQlk0Y0FoZnYxYm9YSU9nNEp1SXNERXZtbWJzbU41aFZtV3A2bHNudGZPMEpKcTZQZVhid0ZDNjkwdkJfRG41T21UTHM2bzJXZG5UNVZlZDJObS00UjFLSVUwYmJReEFOenpvX3FPUTY3ei1zUzlmZndCRnFYZVFHdGlaaTZDX0RzNXFfMDNUTnJ1ZkdVTTJ3YzE2OGlFUkdFVzV1emJBSWt2Ukd4OW1fbU5KWlFCTWlZLVE1V2JFaUhlMnBNVXZRZEJkWEVRY3RpelIxcmFCcVBnM1VTUm52TVk4RzVmVksxSHAtVkc0d3JHLTBjc3NQT3V2NWxxVE9YLVBwdWNGbEp2cUd3d1k1ZzVSTVhKNk1sU2pOZEFVTGJXa1FzR3NmQkV1NnhDNVdCMGp3M09jVzUtdGR1UnROMVludXlJbmQ1TnpFRnZxMVdMQWNZaFNrVk1lNERzbmZYdWt6T2xMMUtISEx6OC1LcV9jM3JCVWttdWpJUm9RWTlwNHdoQ1A3czJUc1pxX3RfRVFDUWc1Y1NCQVdlcEl2ZHpHcG1GQ1I2SkdVNXNOak1tVzUyZDFROHE0RnRISlo0YTZIVUlYQVhLQWNQcDVxTmRWYllETFBkQ0dyQ2NpOWk0WGk4ZEhiNHFCMjB2Wmh1WXFIMWpfdUVQbF9WdDUwQlhLbHRVbG81cFhUX1hJVjBRYVhrZHBGMmhJQTk3UC1wdGtVQk5PTlpXeS1JUjY2SERxM3RjMDFoS2x5bWFQa3k2Z1dRX2pmdnJaakpSSm9RTzg2c3FsalpGTFZ6ZjFTc2VTY2JZd1ZpelRCSlcyOXRNOTl2Si1sQW1KTm9sdU44ZjdJYldUMHZ2RVJiZzZTWnE3RTVkeWlPWDlnb0QtUDVMa1ppRzVUVXFGZ21zWVlJbWhWbVEyRUpxSXN5Q1g5b0ZVUk8yblBNTWhzYjBJYWEza21INDBZR2pGRkR2emhBS0pEUXo2MHBLNUI5VWt4N0dLcGJVMW5WR3dPT3djMmdFbE1yM0twQUxtc3Fwb09oY256YWpUWXNXZGZfNExpc1hhSnRSRV9ZTDFONVR0RmtiXzFQVjFjTjdBbTl2OFM0Sy1MeVY5TGNhYWRaRGFYajZmYUI0d2tGNzRfZXpmNWN0ajNwNFgzWXA2cVl6ajJEeTV4LUpSY3MtU2FuNGt5VXV5OEVXMTItaDRtUFRsMDFiSFBHcU1fQV9MamMtdFlyVEdibHpZVk9qc0NqSWxnVDhhcXBEeGkybjU1Smt3MnhXRm1JQ2gwOTlDd1N6SjljYXdjMndBa05abUdnZjhfaWpDRWVGTjZ2NXpENXBTWnBzU1VqWWNiWkdVdHhBSHZCbUhOVERScnZtdDFqTXdwLTIyVGtmZEZxQy1xendqMzNmOHk1dWIwbW92VXBHeW56Rm1JbVMwRUlFSjlvX1dNWkV4LS1ub21TTWZYZ1VnMGwwUTZWTm9lMldDY0RBZXRid1hubElYYlZkWHozSlQ3RlBYa1JOY2ZLUjRFQWZ1RTVUQmhVSXYxYXZGSjRJMWN1OXotcE1kelJmZVBzRnk1a1JtaEpjNzAxaUpQeW1maEpMQUZRMzZpZGY5ZVlWTTN4V1BoSFg5dEdJMzdNWmtsTW9EdWF0aHdka1pJaURodU9NR19JNDRWYU5YWWp4NWk1Q092aUVCNzJleWhNV1M4OTNXMG1EejltMlhwT1NMS3NQeTZQck4wbzNHV3ZaSldncU5TeVdyUW5hUlZqaC1XbUkyenVFRl9Ta0pvckZhejJJb1l0U05BWTduVXhSWEstN0psak92bkl2MU8yakl5dXFudEgxSWhiNFQxSm1Fa2FkbzlQNzVrbmF5eTl5ZW13cnhpU2NIdFhiUzhkN2Y0dmQtVTMyUzMyODJOZzIyTWRzcXBfdlZ5bkxwSm5LTXZVWkZFR29sMTVnLXFnWnV4MmFSSmVmakhyZ0dGWXMzZUdSYTBRV3hvd1Itek0zTXBBdC1pdDhFcGJxbDlrNy1EUnlhc24yZkxucV9XTDFqVmd4N2ZpNGtSNUxUZGRJVmlucVF5ZWJjR0d1UFdraFVCUmdPeURETE1rcjNQWTJ4Wmh2aHMxV3pMSUdqdFRZLW1UeVFPYzRKbGNZclhOcFQyZzBhMjNadVFPU2JLb3l4RDFQVkVVYUE5NVR6a2RwSGZXQ1JvSlZNeEJOV0h1NE5iajNJLUI5ODdzTHZGeG81R05HWlBENzJnTTZQSlp0QmV5SmM4SnFmOXhhb0pfTVA0WW9KYjZscWNfWTUtMmFIZ09oR2xTNlNYc2FBRnVTQ2JSbG94Q3J1UzRjNGc4bjFzQkhXcXFpS2t3cjRLNE4wcV9GUEJiUk5sQWRwc05XOW9ZREg0TjFycXdtT3hkRmUzdjdJT3hqZkxmRVBSM1E5V1FGTFVvUnB4YlozNUo1MU1yNDRHRHZESFdtbE02dDhnbnREMHRvUHg4R3NFMEowR3BLX3NQUk1DUXlDUkVEOFppUXo1aEx3NHF1OW1CalNVY2s0QnBQVTVfR09MZ2ZGSTF5ODNGUE9KUmtwMnpiMXExbmtFQndIN1JneDlkZHg0Z0ZkVlhURERFb21BbU1OS3QzZlF4SW1MX1hTa3d5N0RiZVdHOGZTWmFxMU9nNmlMcy03R1g0d0wyQWt6RjNfSUtsOWJiVm1IWkVtNlBielJkcWZzeVk4RkZMREowLThNdDllTnpOWEZ5a1NJbnRHWUVrOVYxS2xlOHZDTXdZcDBaMHV1YTAwOEJjMVluTW1FWUVDMnBLMW1xa1BSc05DZE13c3BaNVdWTWNTMUJnM0xkTmFJczVnU3Z4dDdxUUlTeUlsSFMyTmRqaGE0U0NvN3lmXzNkWTJyLW5XZXAyd2NoY2VYTkN3NGxCMXFVRThDV0JJMmpiNWZBdmZ0X0xmaldKYk4yLW1vemNSbzJSR3c0cjZsNVV1RmptUjJkMmpJLTlCNThkN3ROSGNaVWQza09vdlZlbW56QzRVTm9SdlF6TGRRM3ZJOWlnYVBCNVJlOFdzT1kxX0F2Nmg3ZEpiYzhndEFmb2dmNVR1NG1FNWNWT2h1akRaaGg3eDYwcXl4cFdSUnMzbEM1c2MwVDVETkR2dHNYM1JZOVZhQnR6RjJyNGdnUUJNdlQ5VzFlcm13bEpBSmhvd3E3VjRBV21mZWZXT1NzVExQNzhjT0F0RTRBMEtuMkVZbEFNdUM3Zk1YcktwdVVwOS1EUDdSdG9vdzVkZWR4aXZtS0xGVU9LWGJuNExPc01TSEdjZzhDU2VZdFp3WXY1LTE3LUp4OGFxQUFpdks3YkNmZ2RkVVZQUkMzcUhVUVRjdmVhWnVMUWluckt3U05zdTN1aXdybmozZ1dPYWFxM2ZuSUtIMFlNMS1TWmhZcmtYbE0zZEhKcTlGbGhld1JtT3FUN1RIZGo2QXBiM0dEeDZXd1FvU1RXZDdBYWJoakRSUWdTNThyLUdRbkVOU05wcm03RzU2Q3RxTG5CSHVBQU9jbEZwc3JTMG9DRGJwcW82VmV1b0dTWDcwQVdwd0E0alpYS3U5dmZrU0w2TW9RbDI3NThNakZSUlJiamVlVmRneGhUcDBmaGpSekY0MzRscFJqbFJZdVI4WHVwVWRna0VhSHRmNHRPTWVQa21XY25xU2ZtZ3B0YW5VWW5JZmIwM01pVjBCVUJjT3pjZ1Q1bVZkWHZtV0hudkFPSVVfeE5iUzV0YWNzX1RINjlPSzdLcUQ3Ykx5TnpwNzhLVXRvd09EREctTnJtMFVQRmg1MTZhUHpoV3ZTcmVjRkkwX1dwY016c09iNy1HdlJWZFF3NGphWmFaWEJhVWRaSHBiN3REX1FxeDEtM0NXdHBlVWtxX1g2MmwzNFZkcWRuV204VV9yZjFucHMybURzck01Ujk2cWRYTDlMMFZCdUNPN2pBVGIyVmJpYlpiSmdEYnduckYtVXhUNTZFUkxORjQyeER4cVgzbG9ocm9ZNkZQVWxsRlZhbUhrZ1R1M1hOS25IMjNkeWlXbDkxSnZ5OXoxZ083a3lhWDNDdXdWMy1kNFNGMFoxa2tjTHFoTjlFSnlIeFFEMnVpR0FzNVR6V0x4Z005dXlwSXZ5WGcxY3FQbUpwNVY5TGpRUWpyY0c0WHlxclZ5NDZYY19NYzNSYk1vZU45YklZRXB2bDFVQXlMZktGQVZjaWY4SmdHUXlOU092UDRsU0I5WVNUdVNpZS1pcG9qLWdjUy14Qy15bDIyMFhSUDhEVWZzc3V0OWQxcWNWR25STVJ6MERzRmtUSUtYU01ueTAwVy1GNGJab3k5RlZGOXZoUnBUb0IwS080akJkbTc4M0lrU1lKZUtJR0NWZlBiUXlHMFZ6QURTU1hacTdQNEVfNlJneGlWN2ZyV1I1cy5JSTBWRW5tM3VYT3FmZTdodVBHZTB3"}, [ 'Cache-Control', + .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-canrecoveradeletedkey-"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '113', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -564,11 +643,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ddd4d58b-c479-412c-8db6-43cca3e06cac', + 'd9a33696-27e0-4da2-8bdf-dcaf92484d9f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -578,34 +657,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:51 GMT', + 'Thu, 08 Aug 2019 23:31:53 GMT', 'Connection', - 'close', - 'Content-Length', - '11716' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-cangenerateabackupofakey-') + .get('/keys/recoverKeyName-canrecoveradeletedkey-/') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-","deletedDate":1563492592,"scheduledPurgeDate":1571268592,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/ebe2d20b49dc48e18d46f1213e08ddb4","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"slh-lN-4MQ_eR9txf9Ed024K8kYpgMt2tw69jJEVtQvfx73iylklVc1gLyVx-I3uEMfUlNzCxMkuGOo4Mu-dkupFpP1Z9V_ocuNqybZ2pl93XgmHKp1bs8xX93WyzqaU9sBIZEUPp-0VnBZN2VONr_77l8vMFVX4JjkjihhLsMkwuk-ZmQxO4sp-kh7f7ZWF_eQvNZ1QwOXQWe9MrlABGFndfHyx29cUqOuXYb00gw3acmMaEWTye0mwUFieOjpMnvAcgKGQ8cYOZsn06BmueE8ncT4mPIk8Q7EDGTSRRey24w_OO8yizCBxvyeeQ8pFg98P9SZ7sdv8bMHWzbXHXQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492591,"updated":1563492591,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ff70c35f-2525-473f-80ae-3c1824ed93b6', + '444d9d5b-ddbc-4272-838f-b6c0a5449f95', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -615,57 +696,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:29:52 GMT', + 'Thu, 08 Aug 2019 23:32:04 GMT', 'Connection', - 'close', - 'Content-Length', - '879' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', - 'Pragma', - 'no-cache', - 'Content-Length', - '118', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '8d79e631-13d9-4e52-bbae-d7ba8b2a87be', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '902d730c-286a-4ee8-9217-d1e1ef1f2a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHBwAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:29:51 GMT', + 'Thu, 08 Aug 2019 23:32:04 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') + .get('/keys/recoverKeyName-canrecoveradeletedkey-/') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/d71df37ccc324549bad2cf9dbbf853b1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jceURJ53gyNAVjiOPkC3yryrF15sDD0nZAhMcyTIipWoQNGL1g-t4DUN5gwzMQY1yEh2IElw775PXQ1jLCFACr7Z67z6vqfC5dCM6R4DX08aL-rNnj173rwF5dU1iK7X0w09cD-EtSnCFGSe2irEngJ7Xn1J1mAZ6N9OS8sK_Nb5RiYoHEeTLFHQaHlGx_o3S0zICaGAogdkgntTXCrObbGawn7hI5IRec3xFSJJO2qo0f6In-AUfeFZc6P0g_ehVRwQ3OGvqujOENAnfXrhuHM4zIB6vsnmV7zh1XTchxV_TELDFaA_7_t-cXi9SexavC9M0y74CsXGMQJMi1nMMQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307100,"updated":1565307100,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -673,11 +751,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e8caf44b-fa7d-45a0-ac89-245e4e782955', + '31f17118-8dda-4279-b756-54ecc1661aa9', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -687,34 +765,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:02 GMT', + 'Thu, 08 Aug 2019 23:32:04 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '699' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-failstogenerateabackupofanon-existingkey-/backup') + .delete('/keys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-failstogenerateabackupofanon-existingkey-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '132', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'bd752a86-d144-4d50-babc-04a37b50d82d', + '109375cf-4df2-4dae-b029-59abcc505940', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -724,52 +806,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:03 GMT', + 'Thu, 08 Aug 2019 23:32:04 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/create', {"kty":"RSA"}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/7b1a09e12cf540d596b1fc189eb52bbc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"y4Ohg9a1lTzxNoRY14q_-qAUiZI0igXFFDzC0TWLeAy34eKUTDp0nyvcpbOviE080HVkA2lSueJVspyRr1fxtUWA-Lhbz0_wy2idqYxSfvDdrYUXOG_--5omOodB7KvEwS6HyJHmCjDtWmToz6Lw08K3ynseLffiS_ZkQNUZizkE9baqsc89LzSyfC_NUZekHnPsqrtQOrSBErUuJOI5VCsiP6XCHm7nrL3FpDQcul6Q24udCUEi7Ak6rhDR9JAudbjDDYnNzE-lajB1M1Y-wBaW7G7IRHqjXjKT5K8wnjEG2lo8aE-F2uB6A8jOyKdO6ay2x_zuyLu_3I7RAfaQcQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492603,"updated":1563492603,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '9fd50deb-71dc-4f93-86fd-12df846381c1', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'f9b69050-e8ac-4cdd-bd78-c2bb83774200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHCAAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:30:03 GMT', + 'Thu, 08 Aug 2019 23:32:04 GMT', 'Connection', 'close', 'Content-Length', - '708' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/backup') + .delete('/keys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(200, {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnRVbkpvQ0h3aUlmNnZrLXdMQmVYWlhPem1DWW8wc3h4bDYxdjdyVnVmNHhGMXdKSEc2ZmFRNzZhQXQza2x1NkhvMnFoUUpaN25LSnZzeHM2UmpGeENGWV9NSkhtWXVoTFR6OTR1ZWROUlJPMDVyeTVwQVF3QV9hRGtPRHVOWjRjamFTaDA3VmZScUVXZ0Fmakk2UEQwUTFXN09jREtxclI3Z1c0WDVxWWFWQmpkSE5TV0tHR0VGVEQ4WXU3elpESFZzTFBSNkxZTkFKQ3k0VXd5c21aalE1NHdzeHA1Znlhb1BIMmktMWxWY1BWZmJoSnNQbHpUN2pIVXM1RFhPVEtCZ1RnNkpQSk14ZFdrTDV5a2VBcUdHZjJCNFVmUkltQjZDczRwTUtIQmoxUDc2M1U4QjZ6WF9lT3lTY1lMZFVQVUxINEpJeXI3VnFHRm1hREhjQll1Zy42SU5WSU1neEZRd2c3cEw2a2txMElBLjV1Mm5YY216TmFjM291R2dRNl9Wd2t4WlRiRFp5N3JRWTQzcDNfTXd0MUpXZ0lhWE5JN2dPR01QTGJWck1NTjBkcmNWTWhXVlBzNEVXWEIxRHh3UVY5dzViSXoyWU43WFVnUFRIRXZVUlRod0hoeUNFUUl5VXIybEhlOXJTQ3N2QmJVQ2RIcWxBR3hFN2lwZlNlakpTMmRvajBUWjR0dFlyQl80YnFxRXVRSmRZdFVSMlNmWmZ2Sk05WTVEOE9UWXh4SUtQNzZtMHBZbEN5aUtXbjRObFg2ZmNKejNiWkRGbnd6NVIxVzItYkZGZkhibHo0TkxBZXZWemZ1Tjk3enQ0RGoyOWthNDEyNnJhLTROV1pHTkJoMDZYalZKYVVlNG9GMExSc0VfNmg3WGd1M1pERjdadmtRcjd6ODRfZHRiWHlFWUhmcnA2eEpMRG41VTh3T1BmYk1NQTNQeGl0OGpNamhhdGg4dWxaTTIxcWZxUG1weklQVzVGekxsbFJoV29TN1hDUGtsd2h4YTUyOGRKZ0Jjc1JNcTluZjlMRS1oVGtmaVFXMmJDaFhveFRJT2d5dGJjdVJSTmF3WmhCSExLRHpPeF9fLUpRU3NlMGNqSEJHaUNtUGFsRzg0YnEtMzZORHZWSzl0OUZTZGZSZTFteU5lTlZrVkRpNlZyMHByXzlCZzg2cmhNUW5jTTRMZjNCY01feURLaVV3NkhRNWlsUFdLYVQxUl9HQ0hRRGJEbURSQktSWlFmYTNpMDBSS0gtdjU4WFR3V3dmaG9lOFhaU1M4YWc4QkZMOUc3RUw3SW5wLXRFQjJoSGNUZG1fWF9pb1ZQNmVWUk56M0F6dkpBR1FXcVBOZGtHeUhDSS1JLXFIQ25XUjVaR3d5VE9XZ3lQZjNzTUdEQnNtUXlkVHdLU1ptTWJNNllONG0wWGhsMGhzRHROZzZ2N1JkSlo4VUN3cTlQMjNaS0ZHcmJjTFJpZDY3WWJxVklSbVY0YUF1RVhOMlVpRWl6X1FkcU1CZFEwWWZ0S2RPMW9LTDdabEUxeW1rbHd1NzYyZ29OVkg5bjE0cFFTSWxqdVFacnNZQjhGLU82S192aFJfZU02dDI4bG5WeGtWNkxnekNWbjA2Zko2TGJURFRUU1VZSkpHV1FRRm1Iejd6UWtQSHdUSmdQS3hWSHM3STdlaWJQRXN3WktiY2Z5Wl9ibkFtbG8xT0hiYU1nZHZySi1GZ0FhVlE3QnBWWE1pQV9Od1IzWEo0OUplNVhENnZmQlBnazN0TWF4ME9IeEczRDBVa3hQb1dCaTVRRU5PaEwyT0FNeS1vUENwUnVtSk5zWm5HYXhud1hRU2UtMWVINkt5dk11aVhKeGRqOXV5dVhScldUbDQzNEFVdzhCNjMtV0RWdjRDblh3NXRESVRCeFlPYjV4amVhWjRERTBFQm82akx6b0hMb2F1azBEVFMya1diUXkxREJOWVVGM0hPOHZGcU9VZVFtMldjQmFCbkNfUUZzY3ltTjRLUjYxS2ItUmpPYmsyLTNZZlZzMktVcTd0MEM0SlNEenZlUV9CVjJDVUd2TlNVOHVHRkFYWDFkUFI2a3piMHpEVWVUZW5OeC1JcFNLOTIxMFFBSmxXdmlHM1lRb2NpMXZHbFNtYmtCY0tfTlJRZm5TYjdQS2NwdFJRWVVaSXBGb2JoZEE3V1NfUHczRGRzYU41RGx5SF8ta0ExZVN1b1h3OThwYXNSN2J0UGVvOExvRmxrNVJ0LXUtaENSODdfcjgzZ2g0RlhKdHRHVjVFc2xTcnVmcFRpWXZIUVFuNjN0WlBRUk9IOWpDQzgyZW56LVdLMWVpY1hra1g4bXZta1hKNHBGTE5vMWpJcjRCQlptYWx4SGczbS0zcmpOdEhwS3FLb3ZTT1g4dks0Q2tZTURZVG1tbWYwNmJ4azFnbHNVTWE0am9ONEQyTTRCblhhTGlCeTZYZENpTWF2aG1jdFVHRFEzbnQtQ0ptSHdQZml2VVBzU21MVEgzdVRIRGVIejZMN2RRYlhjel9rMGlFclVnZjFEZTJJblMxeEZXeXV1MWhmRWVkbHZEOXJyUjZnZGNYbXVPUnVfU0JRVjlUQlVFYktoT2lwR2prUkpZOU1XTS1tRzJjejYzOHM3TURQR0JvZTZMdkJ0U2Z2SWtrSHk0V3ZEMlZwQnhmVUZaZDRacDFqb0FpaVE5OWhyb2JfNjFGVmFGZ0RnSUFZUjNDaU1vVEl4VEE2cWFGcXZQVGREbGVHNk9NYnZ5blhRRVViWWR3UWEwNDY1cTFLWURqMk9HSHN6c1NXcUtINkFUV3laZmlLVTEyYU1RWnpTVXlDb0x2N1ExeG54UXVZZ2JVT0RaMnY1WlBEUUJOQkxWcGZDZGJJNTJFSzVBVzBleUxiUC1DRTd5d3l3M2R0Q0E5NllsUEt5UDZpOHRhSnRFRHI3YVhiR1ZPX3R6LXU3TzdzNHdCV0g1bmxJSzg3SWt5cG5KdnJONEtJUF9ZRFlEWVNoTW9TLWkzekhsRFZpNlFjTUsxc19mclNxelVBY2VIdE9aRDh1YmZQbktEWXJXOURwRkFGTlRQT0Z1N0FEOG9fUy1TOENDaFVpZHJucnB5YUVMeWhISDhUSFpobTRja2d6TGVOX3d3NWk2MWVVa05yS0EyWk02ZjRRZUhSall6YlNpSEZodkxEY2FKeGJsd042aURDaVJCT25HMDRqMEZodElWTGI5b1k5MmJJNUhESkhTRWpmbVltT2hPTG5jTEQ5cGVONkVrTU5BREtnazV2RjZoTUVOZkJ0RlZMWXc5TnoybEI0cHBRczZ6UUF1MWUwSFI2dXN2cENWcm15Qm90dC1QQXBmdEQ1WkV6YktnTDhSX0toc2cxczRsOGlPVWdTb2txSzFFLVY1bm90LThTc0xWUHZWdF9UTGlQaVVzaFc5NllGN2NmdlNzMFVaM2E5VHRtLVpuMEJ0YXZYOHlPeXFidEhleE1WNUtzbGhEdDRZMm04SEJEM09ubzA4ZjQ1RlpQZjdjVkdacllzUFpvVF9iYUx3ZDZPb1lURUNURzVTYkIzcVBSY0Y3eU9WR1RBQlpJOG1lWTZRU3NsRXVzTkFESmRWRjl1bUZsZkxnbU5SNWtMNEhSRmZzN0xJMm5RT1NCajdjcWx6MjV5ODdyTEg5WDl2NXd2RldONTE2ZmpLZUhSQTdkTmt3clFEazdaOEV3QmNaQVV4YTYtSkRvdWZUN2ctbkJpaXl1STZfVHgwT3ZBMUFDaFZ2c0tEWTNxUnMzODNES2F2U1dRM2R0YS15Nno2VjB2QXJNWVZZYkJ0dmN5dFNLdGhab0NPSnVCNlFLVWhHZHhzTGN4bVI2TVF2Vnp4dVgteHI4bW1RZHlnX25neXJ5Z1lnT3pacUYwOGdERTNBb2hPUmVxV01GcUZaVmUwMUhDQzREVHJveGZlaWFPZEVrLXZpblpPN29ST0txd1RzajU4ODdqcG85bWFENHBsUWFnZW80SzVJa3RTQW1lNm5jcWhyZVFucGk0cDdRcTAtbzJiOGZ4Z29oblF4YUhsVUtZdC1JTWt5M2poT3ZDSFFoeVpaZ0hyRmE4YVUwbm1YczJNXzk4djFGWjgtbFBzZUF3RkI4SWNnaGpBRDBWOVVUTmtMXzRfSnhFaDgwM2R2SGEwWjU1NUlBTFZDdkkyZGRhUFE1LXJ5UnZQR2FoQk14VE1jWkRONHFJdm11SldONkIxSGhiZDZvQ1k5MzJEZzQ4bGN3b1gtdVZmR0pnb0d3MS1tQzNKMGgzUzA1U3hfbHdnTXlOVDJHYWRyT2RyaGxDemxoZWdSM1F3NHdxN1V6eWRqNUI0RzVZa29yeFp2OERseWNiam1RMkxLalFIcFBZbTBjVFltQnk1Zlo3bUZ3MXBGdGlETjZ3OEFXV3diUzh0eGMzLU5XcjMwOHh6eUNrQWFWeUliRzB2OVp2b1hDbm9ZS0ljSEFnNWIwVmJxcWNUU0xGb0g2UklyRzFZdmRibmxBcUpUX3VkQV9ocVV0OGp6Ymo3TDh0R0h4TGp0elJLQS1RV29LVmNDZkZ1Y3QycVUyNHd5bk11ckc5dWVQT2FBU21TRU1GeUIteFVpOU90cjgwUlRuQU9RTkFsd09GRGtsSVZHYkFIU1cybWtodE55ZTMyWFVwQkJRUHNQRGh0aHhITjB1dTEtNWVCNkM3cGFQVVJDSTY2Q2U3c29qVDd6T0pyZEQ0U2NjX0l4SE9wSGtTSFBmWHRneGw2ZzdDb2FBOWh2X1RFb2hmTnpJSUFmaTFqc1FfTGZUcUVxbV9PbnZyZU5DQjFsM0g3eE1Nekp0VmxwYllkMzhJbFNIOUo1d2dCejBvZ3J2YXhSdFduUGdHZGNpaUVYR1RLaXRTNmtJRWRaRi1ZTlFUZ2YtR0pzT3dseVRRcWpzekVXeWFVbFFkZUhkRGdseGs4SnZFejlkZUZ4NFhWdjNQRkpqczN6M3UxYXdxd2s2alQ4YnhERFJLMFd3QS14NVBUUkQwQUdqMU5kd21rQ1Q1Z0JTMmxtUlQtb1h2d1oxMF8wM3BGeEJQNmp6R0EtbS04YURiYmpKVGZZbjJsTC1Xck5JNHh4eUE4emJTZ19KNWJmdlNYaldYUllIaGhiYm9ZRkxack1kTzI4WDlvWEFqUmFVN1o4aTRDUkxyZExFUFV0ZGJKN3lXUVRidDFUaUZMbGdJVDJmbldyTTNlYW1PWWJXZDFTeXFoUW5DdGx1Wk1pSWgzdDVjb01LWlo5d3FnLUZqWlVaZmRlUnZSRkRiTzIzUE02WTlBZjhlMjhTSllRNDdpNWpYb0xKbUQ3cXgxTWpYVC1JS0JXaDFsdWpsS0hwRjZ5dDE1WXhKZ2NwT3EtZDU0Y3lnNHo3Q1I4VUhjRUZPQURSNXEzWm44UDdmZTVDNTh1aFZHOWdUYmZQY3RBZ0Nfb3g1U2VOM0FQQmZ1V2IwNDQ2QUJoajhJcml3MHRSR3Z6dFZqbGY5UGN2djJGUVUwNlI3YkM2a3VtZEc5dkF5NlhTS1l6V2p3eXo1MVRRbHpJRTFPSGh3YnZQVXJiZWp4WFNnWEozOWNUbUlMaGM5Y1FEQUYyMUtpRzFQODZIS0RDNWl4LS10clFGV2tPSTdpZVI0YzJmZjNOMU43MWNYWC1Mb0FWUFZtM3Z6WWtTa0FPUlZoZThHWHZnUTdSbmVQTzNIM3AtRTRSOUV6RHAyTTRJSi1UTDhOSWpfWkhjT09GZjhXTzJVMkg4RUFjcncxdlVtLVU5dWd5MkllT1JFaHE5a0lnMkRzWmpEZG5MbkI0VlU4b1UweklkV2xUb3dMclpfN0pkLUhkb3U0TG43V05UZnR4a1FiT2JaWDNQVzA0d2t3OE44YU44cjNvQzFBdnItcnJEa1AxUE9YVmV5aDlaUDFFRDVxWjdkSnVSckF6cUk4RFlzaVFacDVMV0IyVjlWX1luRkhUMDRIQmJqTWwzdjQ5SU94MHJkZUg0WjYxYXlfc3RidjlYbWkyU0xPOFhzY0xKd1BNX2sxa1hKSmxfNjVEOW5VTXNITUZHekVHZjVLY2tsVjlxOFpBcGlYRkQ0aU1scjk5YkZ3OFAwYnJYU1M5a2M1REFEQTh6bks0QnhUanQ1STlxcmVtSXNudG9WMzloQkJqck5OelZOR25pcjNpaDd0azdrekZXb2IzRVZJcXl2WnREUUFGeHlMOWI4MWxxVmZ2ampvYmFLRnZrUFBFQ0MySnFJV25yZXg4Y2Zta1BzQ1QyUDhRQjZLbzNCejVIdk5vYnRQbkwxa3ZiSWFnMks0bEw3QmVNTm11NXZaa183QjRGSTRTcjZWSHBBNzJXeGtIaUhoMU1qbFRyMlE2WkVyVS1QNXZrdzVfMkRhQVVoMzkwZk1GSERqSnp1U0w5OElYUnVjWTk2MUtVNjlINklpakxISVBnUVFPOHZsaUk0R01zRFpaSlFtRE1iZmRZNGwySzBYSW45M2pScUU2UE5xY3F0VGxHelRFRlVsN0ZScGNyRGhiWWF0SU91RVJOQ1dVX0pwaUVPbUZkdVIwZ2I5aldfb3ZqSFJDaWtBd1VhOUY1WWZoZlowbzZyeWVkZ0FCMjBXVTFZLS1aaU5yTzB2Z0x4YThRSnpDdE9UTlZ0U0ZkSE9xUFB3dnlEUVJaUDJtRmlJS1BUVkx1NF9BeG1SU2wyZEt0ckxKMks4dzNOVDV1RTV3ajRaaUloMFg4eEZuS0QtN29PbGhQTHlUcXRsSlphdTRrRElmLUJBUDdLZ3dUWGxDQmRQMlU3UkF4U3ZEc1B4SW1mUUhfZmc2eXEtb2hFcWxFOEh1c2tibUQwZlVyZ1QxTDBLNElmMm1yQXRvbUtiWTRWYmdwVl9VdktJV1RwS3NiMUZhUDk3QTNGckVJY0hqUkxaVEJuR21SUE1uZWp4WEl5ZllwOHo2d2ZMLTZ3ajRaR3hOOVBxblloUlhOT2ZiYVdHR1RYNkpKSWJJZy00Rk9JY3hLcWVLbUJsbGRFdWViM2JON0dpNE1rbWRiR0pUaDVsZDgxRFltQkRXUjFvZEFJNjc5ZHViYVZkcnRfdHJNNHl2bkFQY1c4bDVCTnl2SGtXOXVKMkZVQTQzWmhxMzJfZjhSY2JWZ3RrOGVMXzV0QlFmTm43TVJMZUp1SzhiWTNPeWJvc3hoeV9KNFhaS3phTWlpMTdUX0otMGRMYXI1aHZtbGYyUEFmckt4ZDNsTUVMTzJmZENOS0c1bkRNUDNrcUI2blJBTklqajZtUXpnUjkyY0p4RmY1aVpidE12TTJTMkJDU2huSVktT3BZTzFnUmJtTnFQOXBzM2dYdHYxUXc2VXhqSGNaODdiYlA2ZHhtaXNOekdqNDZ2VmNHVFMyNG1PN0xmbDlHR292aXo0SzZUdkRhTXByVDZ4YXVQUXpFUmR3UjRVMUtmTWdzZFJ3WUhTVVhUVktITHoyYTctM0ZHRXM1Z2c4X3g3SUk2REk5dXdYVS1IWkNXUnNORXV6endacHpfenpJUnlwUThMVV84QU9mb2hEeUpCSlhNd05JSTZxUGtuLV9kQjZNSmNmUXM5R21EZ3k2b2w3cDA5QlRUUTd2V0xGX2JsVEljSTJ1empQaHU1Z3VXYzdtMGtaTkVqYm1rRnEycEc4Rkp5OXk0c3pWM0N4b0xaSzR5TzEwRWpaUFVzU1RuSS1KTUJzSTFqQjlWdDJ4TDBnSE4xeURsVEZxMnBGeFZkdk5oTE9sS3hTd292OUNlYUtZZGk2bVRnVVZjUEFidVlNY2FZWHZvdjU2dXlhajJVbFozUXNDU0l6RWdNYmNxd0JRWTZoRGY2YWl1bEE4aUhxeGNld1J3MmluQjF6SElmV1h0N25oT196ZVRoNlNTdW1vNzNqbGhIalhJSDhlRWFHOTZWLUlvN0dyNkdfa3o1WFBvY0tyUk14RnVsbF9YYU9fd3o3TkJYcGxvSjBTZm55VDBtQVY1NDdldzR5cWJiV3pIVnV3Y3ZZVFI0Uk5ENWdwbTR0UndSMnZBU0JFMjVETGhyWXdMMW1tMnNsMVEwVnV1TXdWdm9lWEczVWFaRXhwZlYtWDZwUTBIajN1Y2V0aUVXM296SmVERGFsaVZqNnFjYUZRS2t3VTNpOUdQSmdfcVNfb1kxa1FrdXpyMFNTb0xoY01LcWIyX1d2aEI0M0lHNWU5bFJIOEFQS0hab2JmcWEzU3gyNUhDbkFIaGJMR09wMnlxTDFKb1FJU0lhdDB3eEF1TzdpNGthc0phTGNGZTBOaWJiTU9OZU5UM21lcmdKSkVDdDdETXE5UFlJdzB3NS1ZSWZ5RWRFLUUtS1FVSWhIUER4ZW83MjJLdnEwR0V5NWE1Vy1DNHp5UVVnc0NEVHJBaDdMMGJSTHprRG1SV1BDVFY1RDRiTnQtN0dycUhEa2tnUF92bzZzVkkyaXlvTDA4ME1PdzJuNDVnb2pXb0Ztbkw2OVpxRG02UTJzRzRkLW01SEJwQ2o1b3MxSUZrVzA0M3IxRmdkREpKQmNBS3lBd002b25ua2ZTdUNJNy0teUE1andJeFMyVU1VM0IzUUF5S3d3QjY2ZkZWbVFMTUhxY0tGb0VfUE1ObGJyYWV6aVJxeFpOYVVhSm5GYUxZZG4wQU1JbXdGX19XU3ZYUkg1Y3M4dnh1bjFNVndjSWdnM3Z5Z3VOUWxXMFJmMUt0YUw5SFJmdmJEbURVazZQUTVXRk5WSXBOT3lKTjVCMV9FT05CMmRMRHlrMS1MeVBQc0tOeG1SYjdEdUtpZ19MeDJtdURKUXZBaHgzWDJKNElGYVd3eHRiYWZZZTZsMVdvcWdXck92WVg1eEwwRFhPX1YxeDlKNzRIaGVWWUtyV3FXSnFHV19RUjdNSzM1SkkxX1p0SG01TDRwaDF2UGd5WHc4MXNNTjA4RWVRV2NocTVfckRvcGswSWt2V1JuSm80UkdqOXJfTnhreDV2TmxBSkI2RF9pVVh3SUVMOVRPRHlzcHhsQ2VSR2s1eHRmOTJDX2dJTkd3MHd5OVd3WDExTmZ2SXNWeWxmeGNqX3JFdWhUdTBqaGFZVC0zSkt6TDdTdl8zQkJ3eVJVUXJuSmVzTV9JQlA2NGM2cGIyNC00aVpkU2VSbFF5X2NvTjFwbHJQOEkyUlVkWTBuYnMwMFNMaEVaTjlYdW9NdzFoUE5qNW0xamNXMUdQSDFSdEtlVDkzX2FIaGV3M0RKRkozT2NJek9TSzJOWlF5ZU5sQ1VKUkFYYWl1TGdpdzctdGJQTVJYQm1zblZlRG9reVhTVFNHLVpVWGJyNF9hSGk3VGJGb2ZKWWJsYXV5bW9uZTM2ekpiM1ktQktKdnI0ZTFxbWhqN2xaam5oNVl3RzFCUjBybUNZNjRfLVNXdmpRRGhfLW1CNkdKek1FbGE5LW1EcFRSQnNCeldaVmYxZVlzSkJWeGtfWDFOeXZNcndpOGxWMGhld1Ntb044djRBLWFOUlZnZ00ycDVRSFhWYUlsLWVRTVF1WW1GT1lod2tUQnVUU0pGbzNnZXQzanBieFNTZTN0ZnlTREFtbl9oNDVOc3BZN3NJUDFUcUVQWTY0SVFTOTZ4TkpnSkJuUnhBSjlBQ2Jrd1FEc1N4dXFzR0VfVWVCbHBQOEdyczYxT1JhYm9PNTlXSDBPbUlYWW1tLWlBNGN3LV9xaTc0V3daczhoVW1YbUNMb21GR0taLUNDWHljQ29Ra3FocGFYMWxsZGM5eWxfazVGSEFMQUNqbS1Ud3hPdkVyZ1ZjOVlVT0NzZlJGZkx6Nm91MF9jNlgyNnBWVGY3Y0NGLUFuemxzdG81bmc3QUdDUlF2YnRKVml5RDBKMF9rekF5Z3pBTWV4TnJQdTRJNEM3alIwQ3VKUDdzd2Q0a05hcDhEaFVEenlNaG5ITnFuYVVGZGJLS0dLZVJaczEtYmFHdEJwVTlRcVJ1cWxqdmxBdFd6OU9mVHpIZ1VJTzFpQ3FGQk82Rl9jRVhwRHNyMTNHNEpvdTBINjlMRzk2amEtdGY1Nm5weG5WYjBPREJfT2pld3M3Vzc4a2RpRWJGci1TMUsxVTE1b0d5TUdkb01mU19PTVNKckZSWU5FTnFhVkNpNGRhSkk4cVpBVWZhR05XbHdYMXhYeFhrMkkxMklDU0ozam40RXRnZzI0U3dQUy02a1VGWllfRDVRZFpYd1I4RHVmUVI0UzlKWnhLSE9QOTRqbkk0RzV5dllTWUg3N3RMVmJCdTNidFdHWGlFNEFoRklYWnRNQjZVeVY1ZzNYV2VLODVCbHduR2duUENkWFkyVURNZHFYM3hqUkpyRXREcFc2cGctNDlSZnZDQnc2VlpZX0NMRVM0WThjOXlfQ1EzZU9JUW5rdnlpN3huWjFXSUlScjB4SG9Pd1JETzYtOFlJUjRQV1lTSmxZRUpiUUZfQm5kU3VKbDhLdmJKVm9iN2lKSEItVVNuQjF3WThneXREeklPWUJPdm4tTHpWY2xSaGhpaTdVX0w4Q1JJdEFwUlJ3cFBKQ2tqTkQ3S1FNQWg4b1N6NndibVlOQXc5T0c4WS1MZU9UUnVPb0tsQ0xZQmVYb2ltYVVNRUxIcTRDSUV1RTN0NlVEMWpmLTVxdmdrZXNCMXIwZ1ktRnRjY3YycUd1bDh1cXJXSmVSaDZidGwtbGVhWDhKM0JZY2NyT0FfVHViYmJlMFZ0OEREamJBM0drLTZLU05WR25LaVlyUi1hUzQxMGI3X0c5VUJoTl9NS3NBS3A2VDhIMHI5bW1yU2l6SzRkam5HTFFZUVpQQnRTbnlxTG9JZUNQRlliTk9FWENfX1BldkdRRFdUWURWalZzSEd6NE5OMnRmb3ZWU3JHcFZrWWJueHdGcmFwanRHTlRIRzkwenAzYlNGWjI4MG5DdU9NLXpWck5ZbFYxU256ZWFvenItVk9IS3dTT0tHT21qa19UeG55NXFMMm1YT3ZMMTZONEwtUzViVnh6YWR5cmlnMU9BbVlnc1ZjdE9GVGx1NGo5ODk0V0tJQm45RkFBZVFVZ2ZJc2RNN2hxcGpoNXh3VE5XT3doX19oR0pyeHVZSVVoT0tiZzM2amdHdTVTaHNtaVVhVFU5WXVScVM4UllzeDRmRDQyV3hZb1JTcWdCMkRhU3JZd0NENWZhUndKUVlUOHdiTmxzQjEzTTZydW9QY2hmZkd3Q0V6YVp6Q0U3T29WeTJuQkUtZzBpQklrdE41UWFhQ0hpZGo0bm11UmZDS0tKMUFjRml6UVFmNEp2Nk9OUHE5S1JCdU95dERCcm9zeExRSWRDTVZsWmV4cFF0dHpEZ2pvamYzemI1ZFlyVXNHaURSNWQ4cHBieEdWeFpEQmV0QkUzTkJwcVBPUVlreG1FN1pycE1KUGpnUmpyTDVETk5qOTNUTlJSbzdYelNBZFlRTV9IM3ZaYkY4eEg1Sm1RNmlCRENuRFBBd1NTSGZlR2lZWG9GeXFjaXpMWGpfbS5xOGZlSzJBZUNpMWxuOFBobTd0TFhR"}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrecoveradeletedkey-","deletedDate":1565307126,"scheduledPurgeDate":1573083126,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrecoveradeletedkey-/d71df37ccc324549bad2cf9dbbf853b1","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"jceURJ53gyNAVjiOPkC3yryrF15sDD0nZAhMcyTIipWoQNGL1g-t4DUN5gwzMQY1yEh2IElw775PXQ1jLCFACr7Z67z6vqfC5dCM6R4DX08aL-rNnj173rwF5dU1iK7X0w09cD-EtSnCFGSe2irEngJ7Xn1J1mAZ6N9OS8sK_Nb5RiYoHEeTLFHQaHlGx_o3S0zICaGAogdkgntTXCrObbGawn7hI5IRec3xFSJJO2qo0f6In-AUfeFZc6P0g_ehVRwQ3OGvqujOENAnfXrhuHM4zIB6vsnmV7zh1XTchxV_TELDFaA_7_t-cXi9SexavC9M0y74CsXGMQJMi1nMMQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307100,"updated":1565307100,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -782,11 +861,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f2180e87-1c1d-4572-b9de-ad7b8bc5b61b', + 'e079a88b-8d39-43e6-bd68-bbbe6f761d86', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -796,34 +875,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:03 GMT', + 'Thu, 08 Aug 2019 23:32:06 GMT', 'Connection', 'close', 'Content-Length', - '11744' ]); + '873' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-canrestoreakeywithagivenbackup-') + .delete('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-","deletedDate":1563492604,"scheduledPurgeDate":1571268604,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/7b1a09e12cf540d596b1fc189eb52bbc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"y4Ohg9a1lTzxNoRY14q_-qAUiZI0igXFFDzC0TWLeAy34eKUTDp0nyvcpbOviE080HVkA2lSueJVspyRr1fxtUWA-Lhbz0_wy2idqYxSfvDdrYUXOG_--5omOodB7KvEwS6HyJHmCjDtWmToz6Lw08K3ynseLffiS_ZkQNUZizkE9baqsc89LzSyfC_NUZekHnPsqrtQOrSBErUuJOI5VCsiP6XCHm7nrL3FpDQcul6Q24udCUEi7Ak6rhDR9JAudbjDDYnNzE-lajB1M1Y-wBaW7G7IRHqjXjKT5K8wnjEG2lo8aE-F2uB6A8jOyKdO6ay2x_zuyLu_3I7RAfaQcQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492603,"updated":1563492603,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '4d369e55-f34a-4514-86db-a002646081e0', + '78c3cdbc-d3ae-45dd-a52c-5f4f63f566d7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -833,15 +916,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:04 GMT', + 'Thu, 08 Aug 2019 23:32:06 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9bca5256-3bd1-4b64-9709-9f8b64635200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHCQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:06 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:05 GMT', 'Connection', 'close', 'Content-Length', - '891' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .delete('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', @@ -858,11 +973,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'cbb20f7b-1bad-428a-9efb-bc120f06d936', + 'b71c8f3e-6271-4af2-a4ff-a751fe86052a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -872,30 +987,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:04 GMT', + 'Thu, 08 Aug 2019 23:32:06 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .delete('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e1f9c3df-0a74-44c0-9615-f83f119bfbb7', + '092c5482-83c2-4e61-bd97-8a5c30a7a434', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -905,22 +1026,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:14 GMT', + 'Thu, 08 Aug 2019 23:32:16 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e459e887-7e0f-45e1-bb37-7fbdbf1c5400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHCgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:17 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/restore', {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnRVbkpvQ0h3aUlmNnZrLXdMQmVYWlhPem1DWW8wc3h4bDYxdjdyVnVmNHhGMXdKSEc2ZmFRNzZhQXQza2x1NkhvMnFoUUpaN25LSnZzeHM2UmpGeENGWV9NSkhtWXVoTFR6OTR1ZWROUlJPMDVyeTVwQVF3QV9hRGtPRHVOWjRjamFTaDA3VmZScUVXZ0Fmakk2UEQwUTFXN09jREtxclI3Z1c0WDVxWWFWQmpkSE5TV0tHR0VGVEQ4WXU3elpESFZzTFBSNkxZTkFKQ3k0VXd5c21aalE1NHdzeHA1Znlhb1BIMmktMWxWY1BWZmJoSnNQbHpUN2pIVXM1RFhPVEtCZ1RnNkpQSk14ZFdrTDV5a2VBcUdHZjJCNFVmUkltQjZDczRwTUtIQmoxUDc2M1U4QjZ6WF9lT3lTY1lMZFVQVUxINEpJeXI3VnFHRm1hREhjQll1Zy42SU5WSU1neEZRd2c3cEw2a2txMElBLjV1Mm5YY216TmFjM291R2dRNl9Wd2t4WlRiRFp5N3JRWTQzcDNfTXd0MUpXZ0lhWE5JN2dPR01QTGJWck1NTjBkcmNWTWhXVlBzNEVXWEIxRHh3UVY5dzViSXoyWU43WFVnUFRIRXZVUlRod0hoeUNFUUl5VXIybEhlOXJTQ3N2QmJVQ2RIcWxBR3hFN2lwZlNlakpTMmRvajBUWjR0dFlyQl80YnFxRXVRSmRZdFVSMlNmWmZ2Sk05WTVEOE9UWXh4SUtQNzZtMHBZbEN5aUtXbjRObFg2ZmNKejNiWkRGbnd6NVIxVzItYkZGZkhibHo0TkxBZXZWemZ1Tjk3enQ0RGoyOWthNDEyNnJhLTROV1pHTkJoMDZYalZKYVVlNG9GMExSc0VfNmg3WGd1M1pERjdadmtRcjd6ODRfZHRiWHlFWUhmcnA2eEpMRG41VTh3T1BmYk1NQTNQeGl0OGpNamhhdGg4dWxaTTIxcWZxUG1weklQVzVGekxsbFJoV29TN1hDUGtsd2h4YTUyOGRKZ0Jjc1JNcTluZjlMRS1oVGtmaVFXMmJDaFhveFRJT2d5dGJjdVJSTmF3WmhCSExLRHpPeF9fLUpRU3NlMGNqSEJHaUNtUGFsRzg0YnEtMzZORHZWSzl0OUZTZGZSZTFteU5lTlZrVkRpNlZyMHByXzlCZzg2cmhNUW5jTTRMZjNCY01feURLaVV3NkhRNWlsUFdLYVQxUl9HQ0hRRGJEbURSQktSWlFmYTNpMDBSS0gtdjU4WFR3V3dmaG9lOFhaU1M4YWc4QkZMOUc3RUw3SW5wLXRFQjJoSGNUZG1fWF9pb1ZQNmVWUk56M0F6dkpBR1FXcVBOZGtHeUhDSS1JLXFIQ25XUjVaR3d5VE9XZ3lQZjNzTUdEQnNtUXlkVHdLU1ptTWJNNllONG0wWGhsMGhzRHROZzZ2N1JkSlo4VUN3cTlQMjNaS0ZHcmJjTFJpZDY3WWJxVklSbVY0YUF1RVhOMlVpRWl6X1FkcU1CZFEwWWZ0S2RPMW9LTDdabEUxeW1rbHd1NzYyZ29OVkg5bjE0cFFTSWxqdVFacnNZQjhGLU82S192aFJfZU02dDI4bG5WeGtWNkxnekNWbjA2Zko2TGJURFRUU1VZSkpHV1FRRm1Iejd6UWtQSHdUSmdQS3hWSHM3STdlaWJQRXN3WktiY2Z5Wl9ibkFtbG8xT0hiYU1nZHZySi1GZ0FhVlE3QnBWWE1pQV9Od1IzWEo0OUplNVhENnZmQlBnazN0TWF4ME9IeEczRDBVa3hQb1dCaTVRRU5PaEwyT0FNeS1vUENwUnVtSk5zWm5HYXhud1hRU2UtMWVINkt5dk11aVhKeGRqOXV5dVhScldUbDQzNEFVdzhCNjMtV0RWdjRDblh3NXRESVRCeFlPYjV4amVhWjRERTBFQm82akx6b0hMb2F1azBEVFMya1diUXkxREJOWVVGM0hPOHZGcU9VZVFtMldjQmFCbkNfUUZzY3ltTjRLUjYxS2ItUmpPYmsyLTNZZlZzMktVcTd0MEM0SlNEenZlUV9CVjJDVUd2TlNVOHVHRkFYWDFkUFI2a3piMHpEVWVUZW5OeC1JcFNLOTIxMFFBSmxXdmlHM1lRb2NpMXZHbFNtYmtCY0tfTlJRZm5TYjdQS2NwdFJRWVVaSXBGb2JoZEE3V1NfUHczRGRzYU41RGx5SF8ta0ExZVN1b1h3OThwYXNSN2J0UGVvOExvRmxrNVJ0LXUtaENSODdfcjgzZ2g0RlhKdHRHVjVFc2xTcnVmcFRpWXZIUVFuNjN0WlBRUk9IOWpDQzgyZW56LVdLMWVpY1hra1g4bXZta1hKNHBGTE5vMWpJcjRCQlptYWx4SGczbS0zcmpOdEhwS3FLb3ZTT1g4dks0Q2tZTURZVG1tbWYwNmJ4azFnbHNVTWE0am9ONEQyTTRCblhhTGlCeTZYZENpTWF2aG1jdFVHRFEzbnQtQ0ptSHdQZml2VVBzU21MVEgzdVRIRGVIejZMN2RRYlhjel9rMGlFclVnZjFEZTJJblMxeEZXeXV1MWhmRWVkbHZEOXJyUjZnZGNYbXVPUnVfU0JRVjlUQlVFYktoT2lwR2prUkpZOU1XTS1tRzJjejYzOHM3TURQR0JvZTZMdkJ0U2Z2SWtrSHk0V3ZEMlZwQnhmVUZaZDRacDFqb0FpaVE5OWhyb2JfNjFGVmFGZ0RnSUFZUjNDaU1vVEl4VEE2cWFGcXZQVGREbGVHNk9NYnZ5blhRRVViWWR3UWEwNDY1cTFLWURqMk9HSHN6c1NXcUtINkFUV3laZmlLVTEyYU1RWnpTVXlDb0x2N1ExeG54UXVZZ2JVT0RaMnY1WlBEUUJOQkxWcGZDZGJJNTJFSzVBVzBleUxiUC1DRTd5d3l3M2R0Q0E5NllsUEt5UDZpOHRhSnRFRHI3YVhiR1ZPX3R6LXU3TzdzNHdCV0g1bmxJSzg3SWt5cG5KdnJONEtJUF9ZRFlEWVNoTW9TLWkzekhsRFZpNlFjTUsxc19mclNxelVBY2VIdE9aRDh1YmZQbktEWXJXOURwRkFGTlRQT0Z1N0FEOG9fUy1TOENDaFVpZHJucnB5YUVMeWhISDhUSFpobTRja2d6TGVOX3d3NWk2MWVVa05yS0EyWk02ZjRRZUhSall6YlNpSEZodkxEY2FKeGJsd042aURDaVJCT25HMDRqMEZodElWTGI5b1k5MmJJNUhESkhTRWpmbVltT2hPTG5jTEQ5cGVONkVrTU5BREtnazV2RjZoTUVOZkJ0RlZMWXc5TnoybEI0cHBRczZ6UUF1MWUwSFI2dXN2cENWcm15Qm90dC1QQXBmdEQ1WkV6YktnTDhSX0toc2cxczRsOGlPVWdTb2txSzFFLVY1bm90LThTc0xWUHZWdF9UTGlQaVVzaFc5NllGN2NmdlNzMFVaM2E5VHRtLVpuMEJ0YXZYOHlPeXFidEhleE1WNUtzbGhEdDRZMm04SEJEM09ubzA4ZjQ1RlpQZjdjVkdacllzUFpvVF9iYUx3ZDZPb1lURUNURzVTYkIzcVBSY0Y3eU9WR1RBQlpJOG1lWTZRU3NsRXVzTkFESmRWRjl1bUZsZkxnbU5SNWtMNEhSRmZzN0xJMm5RT1NCajdjcWx6MjV5ODdyTEg5WDl2NXd2RldONTE2ZmpLZUhSQTdkTmt3clFEazdaOEV3QmNaQVV4YTYtSkRvdWZUN2ctbkJpaXl1STZfVHgwT3ZBMUFDaFZ2c0tEWTNxUnMzODNES2F2U1dRM2R0YS15Nno2VjB2QXJNWVZZYkJ0dmN5dFNLdGhab0NPSnVCNlFLVWhHZHhzTGN4bVI2TVF2Vnp4dVgteHI4bW1RZHlnX25neXJ5Z1lnT3pacUYwOGdERTNBb2hPUmVxV01GcUZaVmUwMUhDQzREVHJveGZlaWFPZEVrLXZpblpPN29ST0txd1RzajU4ODdqcG85bWFENHBsUWFnZW80SzVJa3RTQW1lNm5jcWhyZVFucGk0cDdRcTAtbzJiOGZ4Z29oblF4YUhsVUtZdC1JTWt5M2poT3ZDSFFoeVpaZ0hyRmE4YVUwbm1YczJNXzk4djFGWjgtbFBzZUF3RkI4SWNnaGpBRDBWOVVUTmtMXzRfSnhFaDgwM2R2SGEwWjU1NUlBTFZDdkkyZGRhUFE1LXJ5UnZQR2FoQk14VE1jWkRONHFJdm11SldONkIxSGhiZDZvQ1k5MzJEZzQ4bGN3b1gtdVZmR0pnb0d3MS1tQzNKMGgzUzA1U3hfbHdnTXlOVDJHYWRyT2RyaGxDemxoZWdSM1F3NHdxN1V6eWRqNUI0RzVZa29yeFp2OERseWNiam1RMkxLalFIcFBZbTBjVFltQnk1Zlo3bUZ3MXBGdGlETjZ3OEFXV3diUzh0eGMzLU5XcjMwOHh6eUNrQWFWeUliRzB2OVp2b1hDbm9ZS0ljSEFnNWIwVmJxcWNUU0xGb0g2UklyRzFZdmRibmxBcUpUX3VkQV9ocVV0OGp6Ymo3TDh0R0h4TGp0elJLQS1RV29LVmNDZkZ1Y3QycVUyNHd5bk11ckc5dWVQT2FBU21TRU1GeUIteFVpOU90cjgwUlRuQU9RTkFsd09GRGtsSVZHYkFIU1cybWtodE55ZTMyWFVwQkJRUHNQRGh0aHhITjB1dTEtNWVCNkM3cGFQVVJDSTY2Q2U3c29qVDd6T0pyZEQ0U2NjX0l4SE9wSGtTSFBmWHRneGw2ZzdDb2FBOWh2X1RFb2hmTnpJSUFmaTFqc1FfTGZUcUVxbV9PbnZyZU5DQjFsM0g3eE1Nekp0VmxwYllkMzhJbFNIOUo1d2dCejBvZ3J2YXhSdFduUGdHZGNpaUVYR1RLaXRTNmtJRWRaRi1ZTlFUZ2YtR0pzT3dseVRRcWpzekVXeWFVbFFkZUhkRGdseGs4SnZFejlkZUZ4NFhWdjNQRkpqczN6M3UxYXdxd2s2alQ4YnhERFJLMFd3QS14NVBUUkQwQUdqMU5kd21rQ1Q1Z0JTMmxtUlQtb1h2d1oxMF8wM3BGeEJQNmp6R0EtbS04YURiYmpKVGZZbjJsTC1Xck5JNHh4eUE4emJTZ19KNWJmdlNYaldYUllIaGhiYm9ZRkxack1kTzI4WDlvWEFqUmFVN1o4aTRDUkxyZExFUFV0ZGJKN3lXUVRidDFUaUZMbGdJVDJmbldyTTNlYW1PWWJXZDFTeXFoUW5DdGx1Wk1pSWgzdDVjb01LWlo5d3FnLUZqWlVaZmRlUnZSRkRiTzIzUE02WTlBZjhlMjhTSllRNDdpNWpYb0xKbUQ3cXgxTWpYVC1JS0JXaDFsdWpsS0hwRjZ5dDE1WXhKZ2NwT3EtZDU0Y3lnNHo3Q1I4VUhjRUZPQURSNXEzWm44UDdmZTVDNTh1aFZHOWdUYmZQY3RBZ0Nfb3g1U2VOM0FQQmZ1V2IwNDQ2QUJoajhJcml3MHRSR3Z6dFZqbGY5UGN2djJGUVUwNlI3YkM2a3VtZEc5dkF5NlhTS1l6V2p3eXo1MVRRbHpJRTFPSGh3YnZQVXJiZWp4WFNnWEozOWNUbUlMaGM5Y1FEQUYyMUtpRzFQODZIS0RDNWl4LS10clFGV2tPSTdpZVI0YzJmZjNOMU43MWNYWC1Mb0FWUFZtM3Z6WWtTa0FPUlZoZThHWHZnUTdSbmVQTzNIM3AtRTRSOUV6RHAyTTRJSi1UTDhOSWpfWkhjT09GZjhXTzJVMkg4RUFjcncxdlVtLVU5dWd5MkllT1JFaHE5a0lnMkRzWmpEZG5MbkI0VlU4b1UweklkV2xUb3dMclpfN0pkLUhkb3U0TG43V05UZnR4a1FiT2JaWDNQVzA0d2t3OE44YU44cjNvQzFBdnItcnJEa1AxUE9YVmV5aDlaUDFFRDVxWjdkSnVSckF6cUk4RFlzaVFacDVMV0IyVjlWX1luRkhUMDRIQmJqTWwzdjQ5SU94MHJkZUg0WjYxYXlfc3RidjlYbWkyU0xPOFhzY0xKd1BNX2sxa1hKSmxfNjVEOW5VTXNITUZHekVHZjVLY2tsVjlxOFpBcGlYRkQ0aU1scjk5YkZ3OFAwYnJYU1M5a2M1REFEQTh6bks0QnhUanQ1STlxcmVtSXNudG9WMzloQkJqck5OelZOR25pcjNpaDd0azdrekZXb2IzRVZJcXl2WnREUUFGeHlMOWI4MWxxVmZ2ampvYmFLRnZrUFBFQ0MySnFJV25yZXg4Y2Zta1BzQ1QyUDhRQjZLbzNCejVIdk5vYnRQbkwxa3ZiSWFnMks0bEw3QmVNTm11NXZaa183QjRGSTRTcjZWSHBBNzJXeGtIaUhoMU1qbFRyMlE2WkVyVS1QNXZrdzVfMkRhQVVoMzkwZk1GSERqSnp1U0w5OElYUnVjWTk2MUtVNjlINklpakxISVBnUVFPOHZsaUk0R01zRFpaSlFtRE1iZmRZNGwySzBYSW45M2pScUU2UE5xY3F0VGxHelRFRlVsN0ZScGNyRGhiWWF0SU91RVJOQ1dVX0pwaUVPbUZkdVIwZ2I5aldfb3ZqSFJDaWtBd1VhOUY1WWZoZlowbzZyeWVkZ0FCMjBXVTFZLS1aaU5yTzB2Z0x4YThRSnpDdE9UTlZ0U0ZkSE9xUFB3dnlEUVJaUDJtRmlJS1BUVkx1NF9BeG1SU2wyZEt0ckxKMks4dzNOVDV1RTV3ajRaaUloMFg4eEZuS0QtN29PbGhQTHlUcXRsSlphdTRrRElmLUJBUDdLZ3dUWGxDQmRQMlU3UkF4U3ZEc1B4SW1mUUhfZmc2eXEtb2hFcWxFOEh1c2tibUQwZlVyZ1QxTDBLNElmMm1yQXRvbUtiWTRWYmdwVl9VdktJV1RwS3NiMUZhUDk3QTNGckVJY0hqUkxaVEJuR21SUE1uZWp4WEl5ZllwOHo2d2ZMLTZ3ajRaR3hOOVBxblloUlhOT2ZiYVdHR1RYNkpKSWJJZy00Rk9JY3hLcWVLbUJsbGRFdWViM2JON0dpNE1rbWRiR0pUaDVsZDgxRFltQkRXUjFvZEFJNjc5ZHViYVZkcnRfdHJNNHl2bkFQY1c4bDVCTnl2SGtXOXVKMkZVQTQzWmhxMzJfZjhSY2JWZ3RrOGVMXzV0QlFmTm43TVJMZUp1SzhiWTNPeWJvc3hoeV9KNFhaS3phTWlpMTdUX0otMGRMYXI1aHZtbGYyUEFmckt4ZDNsTUVMTzJmZENOS0c1bkRNUDNrcUI2blJBTklqajZtUXpnUjkyY0p4RmY1aVpidE12TTJTMkJDU2huSVktT3BZTzFnUmJtTnFQOXBzM2dYdHYxUXc2VXhqSGNaODdiYlA2ZHhtaXNOekdqNDZ2VmNHVFMyNG1PN0xmbDlHR292aXo0SzZUdkRhTXByVDZ4YXVQUXpFUmR3UjRVMUtmTWdzZFJ3WUhTVVhUVktITHoyYTctM0ZHRXM1Z2c4X3g3SUk2REk5dXdYVS1IWkNXUnNORXV6endacHpfenpJUnlwUThMVV84QU9mb2hEeUpCSlhNd05JSTZxUGtuLV9kQjZNSmNmUXM5R21EZ3k2b2w3cDA5QlRUUTd2V0xGX2JsVEljSTJ1empQaHU1Z3VXYzdtMGtaTkVqYm1rRnEycEc4Rkp5OXk0c3pWM0N4b0xaSzR5TzEwRWpaUFVzU1RuSS1KTUJzSTFqQjlWdDJ4TDBnSE4xeURsVEZxMnBGeFZkdk5oTE9sS3hTd292OUNlYUtZZGk2bVRnVVZjUEFidVlNY2FZWHZvdjU2dXlhajJVbFozUXNDU0l6RWdNYmNxd0JRWTZoRGY2YWl1bEE4aUhxeGNld1J3MmluQjF6SElmV1h0N25oT196ZVRoNlNTdW1vNzNqbGhIalhJSDhlRWFHOTZWLUlvN0dyNkdfa3o1WFBvY0tyUk14RnVsbF9YYU9fd3o3TkJYcGxvSjBTZm55VDBtQVY1NDdldzR5cWJiV3pIVnV3Y3ZZVFI0Uk5ENWdwbTR0UndSMnZBU0JFMjVETGhyWXdMMW1tMnNsMVEwVnV1TXdWdm9lWEczVWFaRXhwZlYtWDZwUTBIajN1Y2V0aUVXM296SmVERGFsaVZqNnFjYUZRS2t3VTNpOUdQSmdfcVNfb1kxa1FrdXpyMFNTb0xoY01LcWIyX1d2aEI0M0lHNWU5bFJIOEFQS0hab2JmcWEzU3gyNUhDbkFIaGJMR09wMnlxTDFKb1FJU0lhdDB3eEF1TzdpNGthc0phTGNGZTBOaWJiTU9OZU5UM21lcmdKSkVDdDdETXE5UFlJdzB3NS1ZSWZ5RWRFLUUtS1FVSWhIUER4ZW83MjJLdnEwR0V5NWE1Vy1DNHp5UVVnc0NEVHJBaDdMMGJSTHprRG1SV1BDVFY1RDRiTnQtN0dycUhEa2tnUF92bzZzVkkyaXlvTDA4ME1PdzJuNDVnb2pXb0Ztbkw2OVpxRG02UTJzRzRkLW01SEJwQ2o1b3MxSUZrVzA0M3IxRmdkREpKQmNBS3lBd002b25ua2ZTdUNJNy0teUE1andJeFMyVU1VM0IzUUF5S3d3QjY2ZkZWbVFMTUhxY0tGb0VfUE1ObGJyYWV6aVJxeFpOYVVhSm5GYUxZZG4wQU1JbXdGX19XU3ZYUkg1Y3M4dnh1bjFNVndjSWdnM3Z5Z3VOUWxXMFJmMUt0YUw5SFJmdmJEbURVazZQUTVXRk5WSXBOT3lKTjVCMV9FT05CMmRMRHlrMS1MeVBQc0tOeG1SYjdEdUtpZ19MeDJtdURKUXZBaHgzWDJKNElGYVd3eHRiYWZZZTZsMVdvcWdXck92WVg1eEwwRFhPX1YxeDlKNzRIaGVWWUtyV3FXSnFHV19RUjdNSzM1SkkxX1p0SG01TDRwaDF2UGd5WHc4MXNNTjA4RWVRV2NocTVfckRvcGswSWt2V1JuSm80UkdqOXJfTnhreDV2TmxBSkI2RF9pVVh3SUVMOVRPRHlzcHhsQ2VSR2s1eHRmOTJDX2dJTkd3MHd5OVd3WDExTmZ2SXNWeWxmeGNqX3JFdWhUdTBqaGFZVC0zSkt6TDdTdl8zQkJ3eVJVUXJuSmVzTV9JQlA2NGM2cGIyNC00aVpkU2VSbFF5X2NvTjFwbHJQOEkyUlVkWTBuYnMwMFNMaEVaTjlYdW9NdzFoUE5qNW0xamNXMUdQSDFSdEtlVDkzX2FIaGV3M0RKRkozT2NJek9TSzJOWlF5ZU5sQ1VKUkFYYWl1TGdpdzctdGJQTVJYQm1zblZlRG9reVhTVFNHLVpVWGJyNF9hSGk3VGJGb2ZKWWJsYXV5bW9uZTM2ekpiM1ktQktKdnI0ZTFxbWhqN2xaam5oNVl3RzFCUjBybUNZNjRfLVNXdmpRRGhfLW1CNkdKek1FbGE5LW1EcFRSQnNCeldaVmYxZVlzSkJWeGtfWDFOeXZNcndpOGxWMGhld1Ntb044djRBLWFOUlZnZ00ycDVRSFhWYUlsLWVRTVF1WW1GT1lod2tUQnVUU0pGbzNnZXQzanBieFNTZTN0ZnlTREFtbl9oNDVOc3BZN3NJUDFUcUVQWTY0SVFTOTZ4TkpnSkJuUnhBSjlBQ2Jrd1FEc1N4dXFzR0VfVWVCbHBQOEdyczYxT1JhYm9PNTlXSDBPbUlYWW1tLWlBNGN3LV9xaTc0V3daczhoVW1YbUNMb21GR0taLUNDWHljQ29Ra3FocGFYMWxsZGM5eWxfazVGSEFMQUNqbS1Ud3hPdkVyZ1ZjOVlVT0NzZlJGZkx6Nm91MF9jNlgyNnBWVGY3Y0NGLUFuemxzdG81bmc3QUdDUlF2YnRKVml5RDBKMF9rekF5Z3pBTWV4TnJQdTRJNEM3alIwQ3VKUDdzd2Q0a05hcDhEaFVEenlNaG5ITnFuYVVGZGJLS0dLZVJaczEtYmFHdEJwVTlRcVJ1cWxqdmxBdFd6OU9mVHpIZ1VJTzFpQ3FGQk82Rl9jRVhwRHNyMTNHNEpvdTBINjlMRzk2amEtdGY1Nm5weG5WYjBPREJfT2pld3M3Vzc4a2RpRWJGci1TMUsxVTE1b0d5TUdkb01mU19PTVNKckZSWU5FTnFhVkNpNGRhSkk4cVpBVWZhR05XbHdYMXhYeFhrMkkxMklDU0ozam40RXRnZzI0U3dQUy02a1VGWllfRDVRZFpYd1I4RHVmUVI0UzlKWnhLSE9QOTRqbkk0RzV5dllTWUg3N3RMVmJCdTNidFdHWGlFNEFoRklYWnRNQjZVeVY1ZzNYV2VLODVCbHduR2duUENkWFkyVURNZHFYM3hqUkpyRXREcFc2cGctNDlSZnZDQnc2VlpZX0NMRVM0WThjOXlfQ1EzZU9JUW5rdnlpN3huWjFXSUlScjB4SG9Pd1JETzYtOFlJUjRQV1lTSmxZRUpiUUZfQm5kU3VKbDhLdmJKVm9iN2lKSEItVVNuQjF3WThneXREeklPWUJPdm4tTHpWY2xSaGhpaTdVX0w4Q1JJdEFwUlJ3cFBKQ2tqTkQ3S1FNQWg4b1N6NndibVlOQXc5T0c4WS1MZU9UUnVPb0tsQ0xZQmVYb2ltYVVNRUxIcTRDSUV1RTN0NlVEMWpmLTVxdmdrZXNCMXIwZ1ktRnRjY3YycUd1bDh1cXJXSmVSaDZidGwtbGVhWDhKM0JZY2NyT0FfVHViYmJlMFZ0OEREamJBM0drLTZLU05WR25LaVlyUi1hUzQxMGI3X0c5VUJoTl9NS3NBS3A2VDhIMHI5bW1yU2l6SzRkam5HTFFZUVpQQnRTbnlxTG9JZUNQRlliTk9FWENfX1BldkdRRFdUWURWalZzSEd6NE5OMnRmb3ZWU3JHcFZrWWJueHdGcmFwanRHTlRIRzkwenAzYlNGWjI4MG5DdU9NLXpWck5ZbFYxU256ZWFvenItVk9IS3dTT0tHT21qa19UeG55NXFMMm1YT3ZMMTZONEwtUzViVnh6YWR5cmlnMU9BbVlnc1ZjdE9GVGx1NGo5ODk0V0tJQm45RkFBZVFVZ2ZJc2RNN2hxcGpoNXh3VE5XT3doX19oR0pyeHVZSVVoT0tiZzM2amdHdTVTaHNtaVVhVFU5WXVScVM4UllzeDRmRDQyV3hZb1JTcWdCMkRhU3JZd0NENWZhUndKUVlUOHdiTmxzQjEzTTZydW9QY2hmZkd3Q0V6YVp6Q0U3T29WeTJuQkUtZzBpQklrdE41UWFhQ0hpZGo0bm11UmZDS0tKMUFjRml6UVFmNEp2Nk9OUHE5S1JCdU95dERCcm9zeExRSWRDTVZsWmV4cFF0dHpEZ2pvamYzemI1ZFlyVXNHaURSNWQ4cHBieEdWeFpEQmV0QkUzTkJwcVBPUVlreG1FN1pycE1KUGpnUmpyTDVETk5qOTNUTlJSbzdYelNBZFlRTV9IM3ZaYkY4eEg1Sm1RNmlCRENuRFBBd1NTSGZlR2lZWG9GeXFjaXpMWGpfbS5xOGZlSzJBZUNpMWxuOFBobTd0TFhR"}) + .delete('/deletedkeys/recoverKeyName-canrecoveradeletedkey-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/7b1a09e12cf540d596b1fc189eb52bbc - key already exists or concurrent access"}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '249', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -928,11 +1079,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '4a3797e0-b48f-4f54-86f4-40874037821e', + '077de78c-77be-45db-aa99-748d60654b74', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -942,34 +1093,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:15 GMT', + 'Thu, 08 Aug 2019 23:32:16 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/restore', {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnRVbkpvQ0h3aUlmNnZrLXdMQmVYWlhPem1DWW8wc3h4bDYxdjdyVnVmNHhGMXdKSEc2ZmFRNzZhQXQza2x1NkhvMnFoUUpaN25LSnZzeHM2UmpGeENGWV9NSkhtWXVoTFR6OTR1ZWROUlJPMDVyeTVwQVF3QV9hRGtPRHVOWjRjamFTaDA3VmZScUVXZ0Fmakk2UEQwUTFXN09jREtxclI3Z1c0WDVxWWFWQmpkSE5TV0tHR0VGVEQ4WXU3elpESFZzTFBSNkxZTkFKQ3k0VXd5c21aalE1NHdzeHA1Znlhb1BIMmktMWxWY1BWZmJoSnNQbHpUN2pIVXM1RFhPVEtCZ1RnNkpQSk14ZFdrTDV5a2VBcUdHZjJCNFVmUkltQjZDczRwTUtIQmoxUDc2M1U4QjZ6WF9lT3lTY1lMZFVQVUxINEpJeXI3VnFHRm1hREhjQll1Zy42SU5WSU1neEZRd2c3cEw2a2txMElBLjV1Mm5YY216TmFjM291R2dRNl9Wd2t4WlRiRFp5N3JRWTQzcDNfTXd0MUpXZ0lhWE5JN2dPR01QTGJWck1NTjBkcmNWTWhXVlBzNEVXWEIxRHh3UVY5dzViSXoyWU43WFVnUFRIRXZVUlRod0hoeUNFUUl5VXIybEhlOXJTQ3N2QmJVQ2RIcWxBR3hFN2lwZlNlakpTMmRvajBUWjR0dFlyQl80YnFxRXVRSmRZdFVSMlNmWmZ2Sk05WTVEOE9UWXh4SUtQNzZtMHBZbEN5aUtXbjRObFg2ZmNKejNiWkRGbnd6NVIxVzItYkZGZkhibHo0TkxBZXZWemZ1Tjk3enQ0RGoyOWthNDEyNnJhLTROV1pHTkJoMDZYalZKYVVlNG9GMExSc0VfNmg3WGd1M1pERjdadmtRcjd6ODRfZHRiWHlFWUhmcnA2eEpMRG41VTh3T1BmYk1NQTNQeGl0OGpNamhhdGg4dWxaTTIxcWZxUG1weklQVzVGekxsbFJoV29TN1hDUGtsd2h4YTUyOGRKZ0Jjc1JNcTluZjlMRS1oVGtmaVFXMmJDaFhveFRJT2d5dGJjdVJSTmF3WmhCSExLRHpPeF9fLUpRU3NlMGNqSEJHaUNtUGFsRzg0YnEtMzZORHZWSzl0OUZTZGZSZTFteU5lTlZrVkRpNlZyMHByXzlCZzg2cmhNUW5jTTRMZjNCY01feURLaVV3NkhRNWlsUFdLYVQxUl9HQ0hRRGJEbURSQktSWlFmYTNpMDBSS0gtdjU4WFR3V3dmaG9lOFhaU1M4YWc4QkZMOUc3RUw3SW5wLXRFQjJoSGNUZG1fWF9pb1ZQNmVWUk56M0F6dkpBR1FXcVBOZGtHeUhDSS1JLXFIQ25XUjVaR3d5VE9XZ3lQZjNzTUdEQnNtUXlkVHdLU1ptTWJNNllONG0wWGhsMGhzRHROZzZ2N1JkSlo4VUN3cTlQMjNaS0ZHcmJjTFJpZDY3WWJxVklSbVY0YUF1RVhOMlVpRWl6X1FkcU1CZFEwWWZ0S2RPMW9LTDdabEUxeW1rbHd1NzYyZ29OVkg5bjE0cFFTSWxqdVFacnNZQjhGLU82S192aFJfZU02dDI4bG5WeGtWNkxnekNWbjA2Zko2TGJURFRUU1VZSkpHV1FRRm1Iejd6UWtQSHdUSmdQS3hWSHM3STdlaWJQRXN3WktiY2Z5Wl9ibkFtbG8xT0hiYU1nZHZySi1GZ0FhVlE3QnBWWE1pQV9Od1IzWEo0OUplNVhENnZmQlBnazN0TWF4ME9IeEczRDBVa3hQb1dCaTVRRU5PaEwyT0FNeS1vUENwUnVtSk5zWm5HYXhud1hRU2UtMWVINkt5dk11aVhKeGRqOXV5dVhScldUbDQzNEFVdzhCNjMtV0RWdjRDblh3NXRESVRCeFlPYjV4amVhWjRERTBFQm82akx6b0hMb2F1azBEVFMya1diUXkxREJOWVVGM0hPOHZGcU9VZVFtMldjQmFCbkNfUUZzY3ltTjRLUjYxS2ItUmpPYmsyLTNZZlZzMktVcTd0MEM0SlNEenZlUV9CVjJDVUd2TlNVOHVHRkFYWDFkUFI2a3piMHpEVWVUZW5OeC1JcFNLOTIxMFFBSmxXdmlHM1lRb2NpMXZHbFNtYmtCY0tfTlJRZm5TYjdQS2NwdFJRWVVaSXBGb2JoZEE3V1NfUHczRGRzYU41RGx5SF8ta0ExZVN1b1h3OThwYXNSN2J0UGVvOExvRmxrNVJ0LXUtaENSODdfcjgzZ2g0RlhKdHRHVjVFc2xTcnVmcFRpWXZIUVFuNjN0WlBRUk9IOWpDQzgyZW56LVdLMWVpY1hra1g4bXZta1hKNHBGTE5vMWpJcjRCQlptYWx4SGczbS0zcmpOdEhwS3FLb3ZTT1g4dks0Q2tZTURZVG1tbWYwNmJ4azFnbHNVTWE0am9ONEQyTTRCblhhTGlCeTZYZENpTWF2aG1jdFVHRFEzbnQtQ0ptSHdQZml2VVBzU21MVEgzdVRIRGVIejZMN2RRYlhjel9rMGlFclVnZjFEZTJJblMxeEZXeXV1MWhmRWVkbHZEOXJyUjZnZGNYbXVPUnVfU0JRVjlUQlVFYktoT2lwR2prUkpZOU1XTS1tRzJjejYzOHM3TURQR0JvZTZMdkJ0U2Z2SWtrSHk0V3ZEMlZwQnhmVUZaZDRacDFqb0FpaVE5OWhyb2JfNjFGVmFGZ0RnSUFZUjNDaU1vVEl4VEE2cWFGcXZQVGREbGVHNk9NYnZ5blhRRVViWWR3UWEwNDY1cTFLWURqMk9HSHN6c1NXcUtINkFUV3laZmlLVTEyYU1RWnpTVXlDb0x2N1ExeG54UXVZZ2JVT0RaMnY1WlBEUUJOQkxWcGZDZGJJNTJFSzVBVzBleUxiUC1DRTd5d3l3M2R0Q0E5NllsUEt5UDZpOHRhSnRFRHI3YVhiR1ZPX3R6LXU3TzdzNHdCV0g1bmxJSzg3SWt5cG5KdnJONEtJUF9ZRFlEWVNoTW9TLWkzekhsRFZpNlFjTUsxc19mclNxelVBY2VIdE9aRDh1YmZQbktEWXJXOURwRkFGTlRQT0Z1N0FEOG9fUy1TOENDaFVpZHJucnB5YUVMeWhISDhUSFpobTRja2d6TGVOX3d3NWk2MWVVa05yS0EyWk02ZjRRZUhSall6YlNpSEZodkxEY2FKeGJsd042aURDaVJCT25HMDRqMEZodElWTGI5b1k5MmJJNUhESkhTRWpmbVltT2hPTG5jTEQ5cGVONkVrTU5BREtnazV2RjZoTUVOZkJ0RlZMWXc5TnoybEI0cHBRczZ6UUF1MWUwSFI2dXN2cENWcm15Qm90dC1QQXBmdEQ1WkV6YktnTDhSX0toc2cxczRsOGlPVWdTb2txSzFFLVY1bm90LThTc0xWUHZWdF9UTGlQaVVzaFc5NllGN2NmdlNzMFVaM2E5VHRtLVpuMEJ0YXZYOHlPeXFidEhleE1WNUtzbGhEdDRZMm04SEJEM09ubzA4ZjQ1RlpQZjdjVkdacllzUFpvVF9iYUx3ZDZPb1lURUNURzVTYkIzcVBSY0Y3eU9WR1RBQlpJOG1lWTZRU3NsRXVzTkFESmRWRjl1bUZsZkxnbU5SNWtMNEhSRmZzN0xJMm5RT1NCajdjcWx6MjV5ODdyTEg5WDl2NXd2RldONTE2ZmpLZUhSQTdkTmt3clFEazdaOEV3QmNaQVV4YTYtSkRvdWZUN2ctbkJpaXl1STZfVHgwT3ZBMUFDaFZ2c0tEWTNxUnMzODNES2F2U1dRM2R0YS15Nno2VjB2QXJNWVZZYkJ0dmN5dFNLdGhab0NPSnVCNlFLVWhHZHhzTGN4bVI2TVF2Vnp4dVgteHI4bW1RZHlnX25neXJ5Z1lnT3pacUYwOGdERTNBb2hPUmVxV01GcUZaVmUwMUhDQzREVHJveGZlaWFPZEVrLXZpblpPN29ST0txd1RzajU4ODdqcG85bWFENHBsUWFnZW80SzVJa3RTQW1lNm5jcWhyZVFucGk0cDdRcTAtbzJiOGZ4Z29oblF4YUhsVUtZdC1JTWt5M2poT3ZDSFFoeVpaZ0hyRmE4YVUwbm1YczJNXzk4djFGWjgtbFBzZUF3RkI4SWNnaGpBRDBWOVVUTmtMXzRfSnhFaDgwM2R2SGEwWjU1NUlBTFZDdkkyZGRhUFE1LXJ5UnZQR2FoQk14VE1jWkRONHFJdm11SldONkIxSGhiZDZvQ1k5MzJEZzQ4bGN3b1gtdVZmR0pnb0d3MS1tQzNKMGgzUzA1U3hfbHdnTXlOVDJHYWRyT2RyaGxDemxoZWdSM1F3NHdxN1V6eWRqNUI0RzVZa29yeFp2OERseWNiam1RMkxLalFIcFBZbTBjVFltQnk1Zlo3bUZ3MXBGdGlETjZ3OEFXV3diUzh0eGMzLU5XcjMwOHh6eUNrQWFWeUliRzB2OVp2b1hDbm9ZS0ljSEFnNWIwVmJxcWNUU0xGb0g2UklyRzFZdmRibmxBcUpUX3VkQV9ocVV0OGp6Ymo3TDh0R0h4TGp0elJLQS1RV29LVmNDZkZ1Y3QycVUyNHd5bk11ckc5dWVQT2FBU21TRU1GeUIteFVpOU90cjgwUlRuQU9RTkFsd09GRGtsSVZHYkFIU1cybWtodE55ZTMyWFVwQkJRUHNQRGh0aHhITjB1dTEtNWVCNkM3cGFQVVJDSTY2Q2U3c29qVDd6T0pyZEQ0U2NjX0l4SE9wSGtTSFBmWHRneGw2ZzdDb2FBOWh2X1RFb2hmTnpJSUFmaTFqc1FfTGZUcUVxbV9PbnZyZU5DQjFsM0g3eE1Nekp0VmxwYllkMzhJbFNIOUo1d2dCejBvZ3J2YXhSdFduUGdHZGNpaUVYR1RLaXRTNmtJRWRaRi1ZTlFUZ2YtR0pzT3dseVRRcWpzekVXeWFVbFFkZUhkRGdseGs4SnZFejlkZUZ4NFhWdjNQRkpqczN6M3UxYXdxd2s2alQ4YnhERFJLMFd3QS14NVBUUkQwQUdqMU5kd21rQ1Q1Z0JTMmxtUlQtb1h2d1oxMF8wM3BGeEJQNmp6R0EtbS04YURiYmpKVGZZbjJsTC1Xck5JNHh4eUE4emJTZ19KNWJmdlNYaldYUllIaGhiYm9ZRkxack1kTzI4WDlvWEFqUmFVN1o4aTRDUkxyZExFUFV0ZGJKN3lXUVRidDFUaUZMbGdJVDJmbldyTTNlYW1PWWJXZDFTeXFoUW5DdGx1Wk1pSWgzdDVjb01LWlo5d3FnLUZqWlVaZmRlUnZSRkRiTzIzUE02WTlBZjhlMjhTSllRNDdpNWpYb0xKbUQ3cXgxTWpYVC1JS0JXaDFsdWpsS0hwRjZ5dDE1WXhKZ2NwT3EtZDU0Y3lnNHo3Q1I4VUhjRUZPQURSNXEzWm44UDdmZTVDNTh1aFZHOWdUYmZQY3RBZ0Nfb3g1U2VOM0FQQmZ1V2IwNDQ2QUJoajhJcml3MHRSR3Z6dFZqbGY5UGN2djJGUVUwNlI3YkM2a3VtZEc5dkF5NlhTS1l6V2p3eXo1MVRRbHpJRTFPSGh3YnZQVXJiZWp4WFNnWEozOWNUbUlMaGM5Y1FEQUYyMUtpRzFQODZIS0RDNWl4LS10clFGV2tPSTdpZVI0YzJmZjNOMU43MWNYWC1Mb0FWUFZtM3Z6WWtTa0FPUlZoZThHWHZnUTdSbmVQTzNIM3AtRTRSOUV6RHAyTTRJSi1UTDhOSWpfWkhjT09GZjhXTzJVMkg4RUFjcncxdlVtLVU5dWd5MkllT1JFaHE5a0lnMkRzWmpEZG5MbkI0VlU4b1UweklkV2xUb3dMclpfN0pkLUhkb3U0TG43V05UZnR4a1FiT2JaWDNQVzA0d2t3OE44YU44cjNvQzFBdnItcnJEa1AxUE9YVmV5aDlaUDFFRDVxWjdkSnVSckF6cUk4RFlzaVFacDVMV0IyVjlWX1luRkhUMDRIQmJqTWwzdjQ5SU94MHJkZUg0WjYxYXlfc3RidjlYbWkyU0xPOFhzY0xKd1BNX2sxa1hKSmxfNjVEOW5VTXNITUZHekVHZjVLY2tsVjlxOFpBcGlYRkQ0aU1scjk5YkZ3OFAwYnJYU1M5a2M1REFEQTh6bks0QnhUanQ1STlxcmVtSXNudG9WMzloQkJqck5OelZOR25pcjNpaDd0azdrekZXb2IzRVZJcXl2WnREUUFGeHlMOWI4MWxxVmZ2ampvYmFLRnZrUFBFQ0MySnFJV25yZXg4Y2Zta1BzQ1QyUDhRQjZLbzNCejVIdk5vYnRQbkwxa3ZiSWFnMks0bEw3QmVNTm11NXZaa183QjRGSTRTcjZWSHBBNzJXeGtIaUhoMU1qbFRyMlE2WkVyVS1QNXZrdzVfMkRhQVVoMzkwZk1GSERqSnp1U0w5OElYUnVjWTk2MUtVNjlINklpakxISVBnUVFPOHZsaUk0R01zRFpaSlFtRE1iZmRZNGwySzBYSW45M2pScUU2UE5xY3F0VGxHelRFRlVsN0ZScGNyRGhiWWF0SU91RVJOQ1dVX0pwaUVPbUZkdVIwZ2I5aldfb3ZqSFJDaWtBd1VhOUY1WWZoZlowbzZyeWVkZ0FCMjBXVTFZLS1aaU5yTzB2Z0x4YThRSnpDdE9UTlZ0U0ZkSE9xUFB3dnlEUVJaUDJtRmlJS1BUVkx1NF9BeG1SU2wyZEt0ckxKMks4dzNOVDV1RTV3ajRaaUloMFg4eEZuS0QtN29PbGhQTHlUcXRsSlphdTRrRElmLUJBUDdLZ3dUWGxDQmRQMlU3UkF4U3ZEc1B4SW1mUUhfZmc2eXEtb2hFcWxFOEh1c2tibUQwZlVyZ1QxTDBLNElmMm1yQXRvbUtiWTRWYmdwVl9VdktJV1RwS3NiMUZhUDk3QTNGckVJY0hqUkxaVEJuR21SUE1uZWp4WEl5ZllwOHo2d2ZMLTZ3ajRaR3hOOVBxblloUlhOT2ZiYVdHR1RYNkpKSWJJZy00Rk9JY3hLcWVLbUJsbGRFdWViM2JON0dpNE1rbWRiR0pUaDVsZDgxRFltQkRXUjFvZEFJNjc5ZHViYVZkcnRfdHJNNHl2bkFQY1c4bDVCTnl2SGtXOXVKMkZVQTQzWmhxMzJfZjhSY2JWZ3RrOGVMXzV0QlFmTm43TVJMZUp1SzhiWTNPeWJvc3hoeV9KNFhaS3phTWlpMTdUX0otMGRMYXI1aHZtbGYyUEFmckt4ZDNsTUVMTzJmZENOS0c1bkRNUDNrcUI2blJBTklqajZtUXpnUjkyY0p4RmY1aVpidE12TTJTMkJDU2huSVktT3BZTzFnUmJtTnFQOXBzM2dYdHYxUXc2VXhqSGNaODdiYlA2ZHhtaXNOekdqNDZ2VmNHVFMyNG1PN0xmbDlHR292aXo0SzZUdkRhTXByVDZ4YXVQUXpFUmR3UjRVMUtmTWdzZFJ3WUhTVVhUVktITHoyYTctM0ZHRXM1Z2c4X3g3SUk2REk5dXdYVS1IWkNXUnNORXV6endacHpfenpJUnlwUThMVV84QU9mb2hEeUpCSlhNd05JSTZxUGtuLV9kQjZNSmNmUXM5R21EZ3k2b2w3cDA5QlRUUTd2V0xGX2JsVEljSTJ1empQaHU1Z3VXYzdtMGtaTkVqYm1rRnEycEc4Rkp5OXk0c3pWM0N4b0xaSzR5TzEwRWpaUFVzU1RuSS1KTUJzSTFqQjlWdDJ4TDBnSE4xeURsVEZxMnBGeFZkdk5oTE9sS3hTd292OUNlYUtZZGk2bVRnVVZjUEFidVlNY2FZWHZvdjU2dXlhajJVbFozUXNDU0l6RWdNYmNxd0JRWTZoRGY2YWl1bEE4aUhxeGNld1J3MmluQjF6SElmV1h0N25oT196ZVRoNlNTdW1vNzNqbGhIalhJSDhlRWFHOTZWLUlvN0dyNkdfa3o1WFBvY0tyUk14RnVsbF9YYU9fd3o3TkJYcGxvSjBTZm55VDBtQVY1NDdldzR5cWJiV3pIVnV3Y3ZZVFI0Uk5ENWdwbTR0UndSMnZBU0JFMjVETGhyWXdMMW1tMnNsMVEwVnV1TXdWdm9lWEczVWFaRXhwZlYtWDZwUTBIajN1Y2V0aUVXM296SmVERGFsaVZqNnFjYUZRS2t3VTNpOUdQSmdfcVNfb1kxa1FrdXpyMFNTb0xoY01LcWIyX1d2aEI0M0lHNWU5bFJIOEFQS0hab2JmcWEzU3gyNUhDbkFIaGJMR09wMnlxTDFKb1FJU0lhdDB3eEF1TzdpNGthc0phTGNGZTBOaWJiTU9OZU5UM21lcmdKSkVDdDdETXE5UFlJdzB3NS1ZSWZ5RWRFLUUtS1FVSWhIUER4ZW83MjJLdnEwR0V5NWE1Vy1DNHp5UVVnc0NEVHJBaDdMMGJSTHprRG1SV1BDVFY1RDRiTnQtN0dycUhEa2tnUF92bzZzVkkyaXlvTDA4ME1PdzJuNDVnb2pXb0Ztbkw2OVpxRG02UTJzRzRkLW01SEJwQ2o1b3MxSUZrVzA0M3IxRmdkREpKQmNBS3lBd002b25ua2ZTdUNJNy0teUE1andJeFMyVU1VM0IzUUF5S3d3QjY2ZkZWbVFMTUhxY0tGb0VfUE1ObGJyYWV6aVJxeFpOYVVhSm5GYUxZZG4wQU1JbXdGX19XU3ZYUkg1Y3M4dnh1bjFNVndjSWdnM3Z5Z3VOUWxXMFJmMUt0YUw5SFJmdmJEbURVazZQUTVXRk5WSXBOT3lKTjVCMV9FT05CMmRMRHlrMS1MeVBQc0tOeG1SYjdEdUtpZ19MeDJtdURKUXZBaHgzWDJKNElGYVd3eHRiYWZZZTZsMVdvcWdXck92WVg1eEwwRFhPX1YxeDlKNzRIaGVWWUtyV3FXSnFHV19RUjdNSzM1SkkxX1p0SG01TDRwaDF2UGd5WHc4MXNNTjA4RWVRV2NocTVfckRvcGswSWt2V1JuSm80UkdqOXJfTnhreDV2TmxBSkI2RF9pVVh3SUVMOVRPRHlzcHhsQ2VSR2s1eHRmOTJDX2dJTkd3MHd5OVd3WDExTmZ2SXNWeWxmeGNqX3JFdWhUdTBqaGFZVC0zSkt6TDdTdl8zQkJ3eVJVUXJuSmVzTV9JQlA2NGM2cGIyNC00aVpkU2VSbFF5X2NvTjFwbHJQOEkyUlVkWTBuYnMwMFNMaEVaTjlYdW9NdzFoUE5qNW0xamNXMUdQSDFSdEtlVDkzX2FIaGV3M0RKRkozT2NJek9TSzJOWlF5ZU5sQ1VKUkFYYWl1TGdpdzctdGJQTVJYQm1zblZlRG9reVhTVFNHLVpVWGJyNF9hSGk3VGJGb2ZKWWJsYXV5bW9uZTM2ekpiM1ktQktKdnI0ZTFxbWhqN2xaam5oNVl3RzFCUjBybUNZNjRfLVNXdmpRRGhfLW1CNkdKek1FbGE5LW1EcFRSQnNCeldaVmYxZVlzSkJWeGtfWDFOeXZNcndpOGxWMGhld1Ntb044djRBLWFOUlZnZ00ycDVRSFhWYUlsLWVRTVF1WW1GT1lod2tUQnVUU0pGbzNnZXQzanBieFNTZTN0ZnlTREFtbl9oNDVOc3BZN3NJUDFUcUVQWTY0SVFTOTZ4TkpnSkJuUnhBSjlBQ2Jrd1FEc1N4dXFzR0VfVWVCbHBQOEdyczYxT1JhYm9PNTlXSDBPbUlYWW1tLWlBNGN3LV9xaTc0V3daczhoVW1YbUNMb21GR0taLUNDWHljQ29Ra3FocGFYMWxsZGM5eWxfazVGSEFMQUNqbS1Ud3hPdkVyZ1ZjOVlVT0NzZlJGZkx6Nm91MF9jNlgyNnBWVGY3Y0NGLUFuemxzdG81bmc3QUdDUlF2YnRKVml5RDBKMF9rekF5Z3pBTWV4TnJQdTRJNEM3alIwQ3VKUDdzd2Q0a05hcDhEaFVEenlNaG5ITnFuYVVGZGJLS0dLZVJaczEtYmFHdEJwVTlRcVJ1cWxqdmxBdFd6OU9mVHpIZ1VJTzFpQ3FGQk82Rl9jRVhwRHNyMTNHNEpvdTBINjlMRzk2amEtdGY1Nm5weG5WYjBPREJfT2pld3M3Vzc4a2RpRWJGci1TMUsxVTE1b0d5TUdkb01mU19PTVNKckZSWU5FTnFhVkNpNGRhSkk4cVpBVWZhR05XbHdYMXhYeFhrMkkxMklDU0ozam40RXRnZzI0U3dQUy02a1VGWllfRDVRZFpYd1I4RHVmUVI0UzlKWnhLSE9QOTRqbkk0RzV5dllTWUg3N3RMVmJCdTNidFdHWGlFNEFoRklYWnRNQjZVeVY1ZzNYV2VLODVCbHduR2duUENkWFkyVURNZHFYM3hqUkpyRXREcFc2cGctNDlSZnZDQnc2VlpZX0NMRVM0WThjOXlfQ1EzZU9JUW5rdnlpN3huWjFXSUlScjB4SG9Pd1JETzYtOFlJUjRQV1lTSmxZRUpiUUZfQm5kU3VKbDhLdmJKVm9iN2lKSEItVVNuQjF3WThneXREeklPWUJPdm4tTHpWY2xSaGhpaTdVX0w4Q1JJdEFwUlJ3cFBKQ2tqTkQ3S1FNQWg4b1N6NndibVlOQXc5T0c4WS1MZU9UUnVPb0tsQ0xZQmVYb2ltYVVNRUxIcTRDSUV1RTN0NlVEMWpmLTVxdmdrZXNCMXIwZ1ktRnRjY3YycUd1bDh1cXJXSmVSaDZidGwtbGVhWDhKM0JZY2NyT0FfVHViYmJlMFZ0OEREamJBM0drLTZLU05WR25LaVlyUi1hUzQxMGI3X0c5VUJoTl9NS3NBS3A2VDhIMHI5bW1yU2l6SzRkam5HTFFZUVpQQnRTbnlxTG9JZUNQRlliTk9FWENfX1BldkdRRFdUWURWalZzSEd6NE5OMnRmb3ZWU3JHcFZrWWJueHdGcmFwanRHTlRIRzkwenAzYlNGWjI4MG5DdU9NLXpWck5ZbFYxU256ZWFvenItVk9IS3dTT0tHT21qa19UeG55NXFMMm1YT3ZMMTZONEwtUzViVnh6YWR5cmlnMU9BbVlnc1ZjdE9GVGx1NGo5ODk0V0tJQm45RkFBZVFVZ2ZJc2RNN2hxcGpoNXh3VE5XT3doX19oR0pyeHVZSVVoT0tiZzM2amdHdTVTaHNtaVVhVFU5WXVScVM4UllzeDRmRDQyV3hZb1JTcWdCMkRhU3JZd0NENWZhUndKUVlUOHdiTmxzQjEzTTZydW9QY2hmZkd3Q0V6YVp6Q0U3T29WeTJuQkUtZzBpQklrdE41UWFhQ0hpZGo0bm11UmZDS0tKMUFjRml6UVFmNEp2Nk9OUHE5S1JCdU95dERCcm9zeExRSWRDTVZsWmV4cFF0dHpEZ2pvamYzemI1ZFlyVXNHaURSNWQ4cHBieEdWeFpEQmV0QkUzTkJwcVBPUVlreG1FN1pycE1KUGpnUmpyTDVETk5qOTNUTlJSbzdYelNBZFlRTV9IM3ZaYkY4eEg1Sm1RNmlCRENuRFBBd1NTSGZlR2lZWG9GeXFjaXpMWGpfbS5xOGZlSzJBZUNpMWxuOFBobTd0TFhR"}) + .post('/deletedkeys/recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-/recover') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/7b1a09e12cf540d596b1fc189eb52bbc - key already exists or concurrent access"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '249', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a3b06592-28fa-437e-b1b1-538b9b517ced', + 'fe0e057e-8c9c-451e-af89-0b0618f16667', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -979,55 +1132,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:26 GMT', + 'Thu, 08 Aug 2019 23:32:17 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/keys/restore', {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnRVbkpvQ0h3aUlmNnZrLXdMQmVYWlhPem1DWW8wc3h4bDYxdjdyVnVmNHhGMXdKSEc2ZmFRNzZhQXQza2x1NkhvMnFoUUpaN25LSnZzeHM2UmpGeENGWV9NSkhtWXVoTFR6OTR1ZWROUlJPMDVyeTVwQVF3QV9hRGtPRHVOWjRjamFTaDA3VmZScUVXZ0Fmakk2UEQwUTFXN09jREtxclI3Z1c0WDVxWWFWQmpkSE5TV0tHR0VGVEQ4WXU3elpESFZzTFBSNkxZTkFKQ3k0VXd5c21aalE1NHdzeHA1Znlhb1BIMmktMWxWY1BWZmJoSnNQbHpUN2pIVXM1RFhPVEtCZ1RnNkpQSk14ZFdrTDV5a2VBcUdHZjJCNFVmUkltQjZDczRwTUtIQmoxUDc2M1U4QjZ6WF9lT3lTY1lMZFVQVUxINEpJeXI3VnFHRm1hREhjQll1Zy42SU5WSU1neEZRd2c3cEw2a2txMElBLjV1Mm5YY216TmFjM291R2dRNl9Wd2t4WlRiRFp5N3JRWTQzcDNfTXd0MUpXZ0lhWE5JN2dPR01QTGJWck1NTjBkcmNWTWhXVlBzNEVXWEIxRHh3UVY5dzViSXoyWU43WFVnUFRIRXZVUlRod0hoeUNFUUl5VXIybEhlOXJTQ3N2QmJVQ2RIcWxBR3hFN2lwZlNlakpTMmRvajBUWjR0dFlyQl80YnFxRXVRSmRZdFVSMlNmWmZ2Sk05WTVEOE9UWXh4SUtQNzZtMHBZbEN5aUtXbjRObFg2ZmNKejNiWkRGbnd6NVIxVzItYkZGZkhibHo0TkxBZXZWemZ1Tjk3enQ0RGoyOWthNDEyNnJhLTROV1pHTkJoMDZYalZKYVVlNG9GMExSc0VfNmg3WGd1M1pERjdadmtRcjd6ODRfZHRiWHlFWUhmcnA2eEpMRG41VTh3T1BmYk1NQTNQeGl0OGpNamhhdGg4dWxaTTIxcWZxUG1weklQVzVGekxsbFJoV29TN1hDUGtsd2h4YTUyOGRKZ0Jjc1JNcTluZjlMRS1oVGtmaVFXMmJDaFhveFRJT2d5dGJjdVJSTmF3WmhCSExLRHpPeF9fLUpRU3NlMGNqSEJHaUNtUGFsRzg0YnEtMzZORHZWSzl0OUZTZGZSZTFteU5lTlZrVkRpNlZyMHByXzlCZzg2cmhNUW5jTTRMZjNCY01feURLaVV3NkhRNWlsUFdLYVQxUl9HQ0hRRGJEbURSQktSWlFmYTNpMDBSS0gtdjU4WFR3V3dmaG9lOFhaU1M4YWc4QkZMOUc3RUw3SW5wLXRFQjJoSGNUZG1fWF9pb1ZQNmVWUk56M0F6dkpBR1FXcVBOZGtHeUhDSS1JLXFIQ25XUjVaR3d5VE9XZ3lQZjNzTUdEQnNtUXlkVHdLU1ptTWJNNllONG0wWGhsMGhzRHROZzZ2N1JkSlo4VUN3cTlQMjNaS0ZHcmJjTFJpZDY3WWJxVklSbVY0YUF1RVhOMlVpRWl6X1FkcU1CZFEwWWZ0S2RPMW9LTDdabEUxeW1rbHd1NzYyZ29OVkg5bjE0cFFTSWxqdVFacnNZQjhGLU82S192aFJfZU02dDI4bG5WeGtWNkxnekNWbjA2Zko2TGJURFRUU1VZSkpHV1FRRm1Iejd6UWtQSHdUSmdQS3hWSHM3STdlaWJQRXN3WktiY2Z5Wl9ibkFtbG8xT0hiYU1nZHZySi1GZ0FhVlE3QnBWWE1pQV9Od1IzWEo0OUplNVhENnZmQlBnazN0TWF4ME9IeEczRDBVa3hQb1dCaTVRRU5PaEwyT0FNeS1vUENwUnVtSk5zWm5HYXhud1hRU2UtMWVINkt5dk11aVhKeGRqOXV5dVhScldUbDQzNEFVdzhCNjMtV0RWdjRDblh3NXRESVRCeFlPYjV4amVhWjRERTBFQm82akx6b0hMb2F1azBEVFMya1diUXkxREJOWVVGM0hPOHZGcU9VZVFtMldjQmFCbkNfUUZzY3ltTjRLUjYxS2ItUmpPYmsyLTNZZlZzMktVcTd0MEM0SlNEenZlUV9CVjJDVUd2TlNVOHVHRkFYWDFkUFI2a3piMHpEVWVUZW5OeC1JcFNLOTIxMFFBSmxXdmlHM1lRb2NpMXZHbFNtYmtCY0tfTlJRZm5TYjdQS2NwdFJRWVVaSXBGb2JoZEE3V1NfUHczRGRzYU41RGx5SF8ta0ExZVN1b1h3OThwYXNSN2J0UGVvOExvRmxrNVJ0LXUtaENSODdfcjgzZ2g0RlhKdHRHVjVFc2xTcnVmcFRpWXZIUVFuNjN0WlBRUk9IOWpDQzgyZW56LVdLMWVpY1hra1g4bXZta1hKNHBGTE5vMWpJcjRCQlptYWx4SGczbS0zcmpOdEhwS3FLb3ZTT1g4dks0Q2tZTURZVG1tbWYwNmJ4azFnbHNVTWE0am9ONEQyTTRCblhhTGlCeTZYZENpTWF2aG1jdFVHRFEzbnQtQ0ptSHdQZml2VVBzU21MVEgzdVRIRGVIejZMN2RRYlhjel9rMGlFclVnZjFEZTJJblMxeEZXeXV1MWhmRWVkbHZEOXJyUjZnZGNYbXVPUnVfU0JRVjlUQlVFYktoT2lwR2prUkpZOU1XTS1tRzJjejYzOHM3TURQR0JvZTZMdkJ0U2Z2SWtrSHk0V3ZEMlZwQnhmVUZaZDRacDFqb0FpaVE5OWhyb2JfNjFGVmFGZ0RnSUFZUjNDaU1vVEl4VEE2cWFGcXZQVGREbGVHNk9NYnZ5blhRRVViWWR3UWEwNDY1cTFLWURqMk9HSHN6c1NXcUtINkFUV3laZmlLVTEyYU1RWnpTVXlDb0x2N1ExeG54UXVZZ2JVT0RaMnY1WlBEUUJOQkxWcGZDZGJJNTJFSzVBVzBleUxiUC1DRTd5d3l3M2R0Q0E5NllsUEt5UDZpOHRhSnRFRHI3YVhiR1ZPX3R6LXU3TzdzNHdCV0g1bmxJSzg3SWt5cG5KdnJONEtJUF9ZRFlEWVNoTW9TLWkzekhsRFZpNlFjTUsxc19mclNxelVBY2VIdE9aRDh1YmZQbktEWXJXOURwRkFGTlRQT0Z1N0FEOG9fUy1TOENDaFVpZHJucnB5YUVMeWhISDhUSFpobTRja2d6TGVOX3d3NWk2MWVVa05yS0EyWk02ZjRRZUhSall6YlNpSEZodkxEY2FKeGJsd042aURDaVJCT25HMDRqMEZodElWTGI5b1k5MmJJNUhESkhTRWpmbVltT2hPTG5jTEQ5cGVONkVrTU5BREtnazV2RjZoTUVOZkJ0RlZMWXc5TnoybEI0cHBRczZ6UUF1MWUwSFI2dXN2cENWcm15Qm90dC1QQXBmdEQ1WkV6YktnTDhSX0toc2cxczRsOGlPVWdTb2txSzFFLVY1bm90LThTc0xWUHZWdF9UTGlQaVVzaFc5NllGN2NmdlNzMFVaM2E5VHRtLVpuMEJ0YXZYOHlPeXFidEhleE1WNUtzbGhEdDRZMm04SEJEM09ubzA4ZjQ1RlpQZjdjVkdacllzUFpvVF9iYUx3ZDZPb1lURUNURzVTYkIzcVBSY0Y3eU9WR1RBQlpJOG1lWTZRU3NsRXVzTkFESmRWRjl1bUZsZkxnbU5SNWtMNEhSRmZzN0xJMm5RT1NCajdjcWx6MjV5ODdyTEg5WDl2NXd2RldONTE2ZmpLZUhSQTdkTmt3clFEazdaOEV3QmNaQVV4YTYtSkRvdWZUN2ctbkJpaXl1STZfVHgwT3ZBMUFDaFZ2c0tEWTNxUnMzODNES2F2U1dRM2R0YS15Nno2VjB2QXJNWVZZYkJ0dmN5dFNLdGhab0NPSnVCNlFLVWhHZHhzTGN4bVI2TVF2Vnp4dVgteHI4bW1RZHlnX25neXJ5Z1lnT3pacUYwOGdERTNBb2hPUmVxV01GcUZaVmUwMUhDQzREVHJveGZlaWFPZEVrLXZpblpPN29ST0txd1RzajU4ODdqcG85bWFENHBsUWFnZW80SzVJa3RTQW1lNm5jcWhyZVFucGk0cDdRcTAtbzJiOGZ4Z29oblF4YUhsVUtZdC1JTWt5M2poT3ZDSFFoeVpaZ0hyRmE4YVUwbm1YczJNXzk4djFGWjgtbFBzZUF3RkI4SWNnaGpBRDBWOVVUTmtMXzRfSnhFaDgwM2R2SGEwWjU1NUlBTFZDdkkyZGRhUFE1LXJ5UnZQR2FoQk14VE1jWkRONHFJdm11SldONkIxSGhiZDZvQ1k5MzJEZzQ4bGN3b1gtdVZmR0pnb0d3MS1tQzNKMGgzUzA1U3hfbHdnTXlOVDJHYWRyT2RyaGxDemxoZWdSM1F3NHdxN1V6eWRqNUI0RzVZa29yeFp2OERseWNiam1RMkxLalFIcFBZbTBjVFltQnk1Zlo3bUZ3MXBGdGlETjZ3OEFXV3diUzh0eGMzLU5XcjMwOHh6eUNrQWFWeUliRzB2OVp2b1hDbm9ZS0ljSEFnNWIwVmJxcWNUU0xGb0g2UklyRzFZdmRibmxBcUpUX3VkQV9ocVV0OGp6Ymo3TDh0R0h4TGp0elJLQS1RV29LVmNDZkZ1Y3QycVUyNHd5bk11ckc5dWVQT2FBU21TRU1GeUIteFVpOU90cjgwUlRuQU9RTkFsd09GRGtsSVZHYkFIU1cybWtodE55ZTMyWFVwQkJRUHNQRGh0aHhITjB1dTEtNWVCNkM3cGFQVVJDSTY2Q2U3c29qVDd6T0pyZEQ0U2NjX0l4SE9wSGtTSFBmWHRneGw2ZzdDb2FBOWh2X1RFb2hmTnpJSUFmaTFqc1FfTGZUcUVxbV9PbnZyZU5DQjFsM0g3eE1Nekp0VmxwYllkMzhJbFNIOUo1d2dCejBvZ3J2YXhSdFduUGdHZGNpaUVYR1RLaXRTNmtJRWRaRi1ZTlFUZ2YtR0pzT3dseVRRcWpzekVXeWFVbFFkZUhkRGdseGs4SnZFejlkZUZ4NFhWdjNQRkpqczN6M3UxYXdxd2s2alQ4YnhERFJLMFd3QS14NVBUUkQwQUdqMU5kd21rQ1Q1Z0JTMmxtUlQtb1h2d1oxMF8wM3BGeEJQNmp6R0EtbS04YURiYmpKVGZZbjJsTC1Xck5JNHh4eUE4emJTZ19KNWJmdlNYaldYUllIaGhiYm9ZRkxack1kTzI4WDlvWEFqUmFVN1o4aTRDUkxyZExFUFV0ZGJKN3lXUVRidDFUaUZMbGdJVDJmbldyTTNlYW1PWWJXZDFTeXFoUW5DdGx1Wk1pSWgzdDVjb01LWlo5d3FnLUZqWlVaZmRlUnZSRkRiTzIzUE02WTlBZjhlMjhTSllRNDdpNWpYb0xKbUQ3cXgxTWpYVC1JS0JXaDFsdWpsS0hwRjZ5dDE1WXhKZ2NwT3EtZDU0Y3lnNHo3Q1I4VUhjRUZPQURSNXEzWm44UDdmZTVDNTh1aFZHOWdUYmZQY3RBZ0Nfb3g1U2VOM0FQQmZ1V2IwNDQ2QUJoajhJcml3MHRSR3Z6dFZqbGY5UGN2djJGUVUwNlI3YkM2a3VtZEc5dkF5NlhTS1l6V2p3eXo1MVRRbHpJRTFPSGh3YnZQVXJiZWp4WFNnWEozOWNUbUlMaGM5Y1FEQUYyMUtpRzFQODZIS0RDNWl4LS10clFGV2tPSTdpZVI0YzJmZjNOMU43MWNYWC1Mb0FWUFZtM3Z6WWtTa0FPUlZoZThHWHZnUTdSbmVQTzNIM3AtRTRSOUV6RHAyTTRJSi1UTDhOSWpfWkhjT09GZjhXTzJVMkg4RUFjcncxdlVtLVU5dWd5MkllT1JFaHE5a0lnMkRzWmpEZG5MbkI0VlU4b1UweklkV2xUb3dMclpfN0pkLUhkb3U0TG43V05UZnR4a1FiT2JaWDNQVzA0d2t3OE44YU44cjNvQzFBdnItcnJEa1AxUE9YVmV5aDlaUDFFRDVxWjdkSnVSckF6cUk4RFlzaVFacDVMV0IyVjlWX1luRkhUMDRIQmJqTWwzdjQ5SU94MHJkZUg0WjYxYXlfc3RidjlYbWkyU0xPOFhzY0xKd1BNX2sxa1hKSmxfNjVEOW5VTXNITUZHekVHZjVLY2tsVjlxOFpBcGlYRkQ0aU1scjk5YkZ3OFAwYnJYU1M5a2M1REFEQTh6bks0QnhUanQ1STlxcmVtSXNudG9WMzloQkJqck5OelZOR25pcjNpaDd0azdrekZXb2IzRVZJcXl2WnREUUFGeHlMOWI4MWxxVmZ2ampvYmFLRnZrUFBFQ0MySnFJV25yZXg4Y2Zta1BzQ1QyUDhRQjZLbzNCejVIdk5vYnRQbkwxa3ZiSWFnMks0bEw3QmVNTm11NXZaa183QjRGSTRTcjZWSHBBNzJXeGtIaUhoMU1qbFRyMlE2WkVyVS1QNXZrdzVfMkRhQVVoMzkwZk1GSERqSnp1U0w5OElYUnVjWTk2MUtVNjlINklpakxISVBnUVFPOHZsaUk0R01zRFpaSlFtRE1iZmRZNGwySzBYSW45M2pScUU2UE5xY3F0VGxHelRFRlVsN0ZScGNyRGhiWWF0SU91RVJOQ1dVX0pwaUVPbUZkdVIwZ2I5aldfb3ZqSFJDaWtBd1VhOUY1WWZoZlowbzZyeWVkZ0FCMjBXVTFZLS1aaU5yTzB2Z0x4YThRSnpDdE9UTlZ0U0ZkSE9xUFB3dnlEUVJaUDJtRmlJS1BUVkx1NF9BeG1SU2wyZEt0ckxKMks4dzNOVDV1RTV3ajRaaUloMFg4eEZuS0QtN29PbGhQTHlUcXRsSlphdTRrRElmLUJBUDdLZ3dUWGxDQmRQMlU3UkF4U3ZEc1B4SW1mUUhfZmc2eXEtb2hFcWxFOEh1c2tibUQwZlVyZ1QxTDBLNElmMm1yQXRvbUtiWTRWYmdwVl9VdktJV1RwS3NiMUZhUDk3QTNGckVJY0hqUkxaVEJuR21SUE1uZWp4WEl5ZllwOHo2d2ZMLTZ3ajRaR3hOOVBxblloUlhOT2ZiYVdHR1RYNkpKSWJJZy00Rk9JY3hLcWVLbUJsbGRFdWViM2JON0dpNE1rbWRiR0pUaDVsZDgxRFltQkRXUjFvZEFJNjc5ZHViYVZkcnRfdHJNNHl2bkFQY1c4bDVCTnl2SGtXOXVKMkZVQTQzWmhxMzJfZjhSY2JWZ3RrOGVMXzV0QlFmTm43TVJMZUp1SzhiWTNPeWJvc3hoeV9KNFhaS3phTWlpMTdUX0otMGRMYXI1aHZtbGYyUEFmckt4ZDNsTUVMTzJmZENOS0c1bkRNUDNrcUI2blJBTklqajZtUXpnUjkyY0p4RmY1aVpidE12TTJTMkJDU2huSVktT3BZTzFnUmJtTnFQOXBzM2dYdHYxUXc2VXhqSGNaODdiYlA2ZHhtaXNOekdqNDZ2VmNHVFMyNG1PN0xmbDlHR292aXo0SzZUdkRhTXByVDZ4YXVQUXpFUmR3UjRVMUtmTWdzZFJ3WUhTVVhUVktITHoyYTctM0ZHRXM1Z2c4X3g3SUk2REk5dXdYVS1IWkNXUnNORXV6endacHpfenpJUnlwUThMVV84QU9mb2hEeUpCSlhNd05JSTZxUGtuLV9kQjZNSmNmUXM5R21EZ3k2b2w3cDA5QlRUUTd2V0xGX2JsVEljSTJ1empQaHU1Z3VXYzdtMGtaTkVqYm1rRnEycEc4Rkp5OXk0c3pWM0N4b0xaSzR5TzEwRWpaUFVzU1RuSS1KTUJzSTFqQjlWdDJ4TDBnSE4xeURsVEZxMnBGeFZkdk5oTE9sS3hTd292OUNlYUtZZGk2bVRnVVZjUEFidVlNY2FZWHZvdjU2dXlhajJVbFozUXNDU0l6RWdNYmNxd0JRWTZoRGY2YWl1bEE4aUhxeGNld1J3MmluQjF6SElmV1h0N25oT196ZVRoNlNTdW1vNzNqbGhIalhJSDhlRWFHOTZWLUlvN0dyNkdfa3o1WFBvY0tyUk14RnVsbF9YYU9fd3o3TkJYcGxvSjBTZm55VDBtQVY1NDdldzR5cWJiV3pIVnV3Y3ZZVFI0Uk5ENWdwbTR0UndSMnZBU0JFMjVETGhyWXdMMW1tMnNsMVEwVnV1TXdWdm9lWEczVWFaRXhwZlYtWDZwUTBIajN1Y2V0aUVXM296SmVERGFsaVZqNnFjYUZRS2t3VTNpOUdQSmdfcVNfb1kxa1FrdXpyMFNTb0xoY01LcWIyX1d2aEI0M0lHNWU5bFJIOEFQS0hab2JmcWEzU3gyNUhDbkFIaGJMR09wMnlxTDFKb1FJU0lhdDB3eEF1TzdpNGthc0phTGNGZTBOaWJiTU9OZU5UM21lcmdKSkVDdDdETXE5UFlJdzB3NS1ZSWZ5RWRFLUUtS1FVSWhIUER4ZW83MjJLdnEwR0V5NWE1Vy1DNHp5UVVnc0NEVHJBaDdMMGJSTHprRG1SV1BDVFY1RDRiTnQtN0dycUhEa2tnUF92bzZzVkkyaXlvTDA4ME1PdzJuNDVnb2pXb0Ztbkw2OVpxRG02UTJzRzRkLW01SEJwQ2o1b3MxSUZrVzA0M3IxRmdkREpKQmNBS3lBd002b25ua2ZTdUNJNy0teUE1andJeFMyVU1VM0IzUUF5S3d3QjY2ZkZWbVFMTUhxY0tGb0VfUE1ObGJyYWV6aVJxeFpOYVVhSm5GYUxZZG4wQU1JbXdGX19XU3ZYUkg1Y3M4dnh1bjFNVndjSWdnM3Z5Z3VOUWxXMFJmMUt0YUw5SFJmdmJEbURVazZQUTVXRk5WSXBOT3lKTjVCMV9FT05CMmRMRHlrMS1MeVBQc0tOeG1SYjdEdUtpZ19MeDJtdURKUXZBaHgzWDJKNElGYVd3eHRiYWZZZTZsMVdvcWdXck92WVg1eEwwRFhPX1YxeDlKNzRIaGVWWUtyV3FXSnFHV19RUjdNSzM1SkkxX1p0SG01TDRwaDF2UGd5WHc4MXNNTjA4RWVRV2NocTVfckRvcGswSWt2V1JuSm80UkdqOXJfTnhreDV2TmxBSkI2RF9pVVh3SUVMOVRPRHlzcHhsQ2VSR2s1eHRmOTJDX2dJTkd3MHd5OVd3WDExTmZ2SXNWeWxmeGNqX3JFdWhUdTBqaGFZVC0zSkt6TDdTdl8zQkJ3eVJVUXJuSmVzTV9JQlA2NGM2cGIyNC00aVpkU2VSbFF5X2NvTjFwbHJQOEkyUlVkWTBuYnMwMFNMaEVaTjlYdW9NdzFoUE5qNW0xamNXMUdQSDFSdEtlVDkzX2FIaGV3M0RKRkozT2NJek9TSzJOWlF5ZU5sQ1VKUkFYYWl1TGdpdzctdGJQTVJYQm1zblZlRG9reVhTVFNHLVpVWGJyNF9hSGk3VGJGb2ZKWWJsYXV5bW9uZTM2ekpiM1ktQktKdnI0ZTFxbWhqN2xaam5oNVl3RzFCUjBybUNZNjRfLVNXdmpRRGhfLW1CNkdKek1FbGE5LW1EcFRSQnNCeldaVmYxZVlzSkJWeGtfWDFOeXZNcndpOGxWMGhld1Ntb044djRBLWFOUlZnZ00ycDVRSFhWYUlsLWVRTVF1WW1GT1lod2tUQnVUU0pGbzNnZXQzanBieFNTZTN0ZnlTREFtbl9oNDVOc3BZN3NJUDFUcUVQWTY0SVFTOTZ4TkpnSkJuUnhBSjlBQ2Jrd1FEc1N4dXFzR0VfVWVCbHBQOEdyczYxT1JhYm9PNTlXSDBPbUlYWW1tLWlBNGN3LV9xaTc0V3daczhoVW1YbUNMb21GR0taLUNDWHljQ29Ra3FocGFYMWxsZGM5eWxfazVGSEFMQUNqbS1Ud3hPdkVyZ1ZjOVlVT0NzZlJGZkx6Nm91MF9jNlgyNnBWVGY3Y0NGLUFuemxzdG81bmc3QUdDUlF2YnRKVml5RDBKMF9rekF5Z3pBTWV4TnJQdTRJNEM3alIwQ3VKUDdzd2Q0a05hcDhEaFVEenlNaG5ITnFuYVVGZGJLS0dLZVJaczEtYmFHdEJwVTlRcVJ1cWxqdmxBdFd6OU9mVHpIZ1VJTzFpQ3FGQk82Rl9jRVhwRHNyMTNHNEpvdTBINjlMRzk2amEtdGY1Nm5weG5WYjBPREJfT2pld3M3Vzc4a2RpRWJGci1TMUsxVTE1b0d5TUdkb01mU19PTVNKckZSWU5FTnFhVkNpNGRhSkk4cVpBVWZhR05XbHdYMXhYeFhrMkkxMklDU0ozam40RXRnZzI0U3dQUy02a1VGWllfRDVRZFpYd1I4RHVmUVI0UzlKWnhLSE9QOTRqbkk0RzV5dllTWUg3N3RMVmJCdTNidFdHWGlFNEFoRklYWnRNQjZVeVY1ZzNYV2VLODVCbHduR2duUENkWFkyVURNZHFYM3hqUkpyRXREcFc2cGctNDlSZnZDQnc2VlpZX0NMRVM0WThjOXlfQ1EzZU9JUW5rdnlpN3huWjFXSUlScjB4SG9Pd1JETzYtOFlJUjRQV1lTSmxZRUpiUUZfQm5kU3VKbDhLdmJKVm9iN2lKSEItVVNuQjF3WThneXREeklPWUJPdm4tTHpWY2xSaGhpaTdVX0w4Q1JJdEFwUlJ3cFBKQ2tqTkQ3S1FNQWg4b1N6NndibVlOQXc5T0c4WS1MZU9UUnVPb0tsQ0xZQmVYb2ltYVVNRUxIcTRDSUV1RTN0NlVEMWpmLTVxdmdrZXNCMXIwZ1ktRnRjY3YycUd1bDh1cXJXSmVSaDZidGwtbGVhWDhKM0JZY2NyT0FfVHViYmJlMFZ0OEREamJBM0drLTZLU05WR25LaVlyUi1hUzQxMGI3X0c5VUJoTl9NS3NBS3A2VDhIMHI5bW1yU2l6SzRkam5HTFFZUVpQQnRTbnlxTG9JZUNQRlliTk9FWENfX1BldkdRRFdUWURWalZzSEd6NE5OMnRmb3ZWU3JHcFZrWWJueHdGcmFwanRHTlRIRzkwenAzYlNGWjI4MG5DdU9NLXpWck5ZbFYxU256ZWFvenItVk9IS3dTT0tHT21qa19UeG55NXFMMm1YT3ZMMTZONEwtUzViVnh6YWR5cmlnMU9BbVlnc1ZjdE9GVGx1NGo5ODk0V0tJQm45RkFBZVFVZ2ZJc2RNN2hxcGpoNXh3VE5XT3doX19oR0pyeHVZSVVoT0tiZzM2amdHdTVTaHNtaVVhVFU5WXVScVM4UllzeDRmRDQyV3hZb1JTcWdCMkRhU3JZd0NENWZhUndKUVlUOHdiTmxzQjEzTTZydW9QY2hmZkd3Q0V6YVp6Q0U3T29WeTJuQkUtZzBpQklrdE41UWFhQ0hpZGo0bm11UmZDS0tKMUFjRml6UVFmNEp2Nk9OUHE5S1JCdU95dERCcm9zeExRSWRDTVZsWmV4cFF0dHpEZ2pvamYzemI1ZFlyVXNHaURSNWQ4cHBieEdWeFpEQmV0QkUzTkJwcVBPUVlreG1FN1pycE1KUGpnUmpyTDVETk5qOTNUTlJSbzdYelNBZFlRTV9IM3ZaYkY4eEg1Sm1RNmlCRENuRFBBd1NTSGZlR2lZWG9GeXFjaXpMWGpfbS5xOGZlSzJBZUNpMWxuOFBobTd0TFhR"}) - .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/7b1a09e12cf540d596b1fc189eb52bbc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"y4Ohg9a1lTzxNoRY14q_-qAUiZI0igXFFDzC0TWLeAy34eKUTDp0nyvcpbOviE080HVkA2lSueJVspyRr1fxtUWA-Lhbz0_wy2idqYxSfvDdrYUXOG_--5omOodB7KvEwS6HyJHmCjDtWmToz6Lw08K3ynseLffiS_ZkQNUZizkE9baqsc89LzSyfC_NUZekHnPsqrtQOrSBErUuJOI5VCsiP6XCHm7nrL3FpDQcul6Q24udCUEi7Ak6rhDR9JAudbjDDYnNzE-lajB1M1Y-wBaW7G7IRHqjXjKT5K8wnjEG2lo8aE-F2uB6A8jOyKdO6ay2x_zuyLu_3I7RAfaQcQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492603,"updated":1563492603,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '90f9918a-1682-4145-8319-bc12c2172147', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '63a99535-15ce-435c-997d-015654403200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHCwAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Thu, 18 Jul 2019 23:30:36 GMT', + 'Thu, 08 Aug 2019 23:32:17 GMT', 'Connection', 'close', 'Content-Length', - '708' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/') + .post('/deletedkeys/recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-/recover') .query(true) - .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/7b1a09e12cf540d596b1fc189eb52bbc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"y4Ohg9a1lTzxNoRY14q_-qAUiZI0igXFFDzC0TWLeAy34eKUTDp0nyvcpbOviE080HVkA2lSueJVspyRr1fxtUWA-Lhbz0_wy2idqYxSfvDdrYUXOG_--5omOodB7KvEwS6HyJHmCjDtWmToz6Lw08K3ynseLffiS_ZkQNUZizkE9baqsc89LzSyfC_NUZekHnPsqrtQOrSBErUuJOI5VCsiP6XCHm7nrL3FpDQcul6Q24udCUEi7Ak6rhDR9JAudbjDDYnNzE-lajB1M1Y-wBaW7G7IRHqjXjKT5K8wnjEG2lo8aE-F2uB6A8jOyKdO6ay2x_zuyLu_3I7RAfaQcQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492603,"updated":1563492603,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-failsifonetriestorecoveranon-existingdeletedkey-"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '139', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1037,11 +1189,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'bd34ed40-a252-474f-86f7-b6fb8d652d85', + 'fc31a799-80e2-4691-a20f-f79466b38b8d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1051,34 +1203,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:36 GMT', + 'Thu, 08 Aug 2019 23:32:18 GMT', 'Connection', - 'close', - 'Content-Length', - '708' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/keys/recoverKeyName-canrestoreakeywithagivenbackup-') + .post('/keys/recoverKeyName-cangenerateabackupofakey-/create') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-","deletedDate":1563492637,"scheduledPurgeDate":1571268637,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/7b1a09e12cf540d596b1fc189eb52bbc","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"y4Ohg9a1lTzxNoRY14q_-qAUiZI0igXFFDzC0TWLeAy34eKUTDp0nyvcpbOviE080HVkA2lSueJVspyRr1fxtUWA-Lhbz0_wy2idqYxSfvDdrYUXOG_--5omOodB7KvEwS6HyJHmCjDtWmToz6Lw08K3ynseLffiS_ZkQNUZizkE9baqsc89LzSyfC_NUZekHnPsqrtQOrSBErUuJOI5VCsiP6XCHm7nrL3FpDQcul6Q24udCUEi7Ak6rhDR9JAudbjDDYnNzE-lajB1M1Y-wBaW7G7IRHqjXjKT5K8wnjEG2lo8aE-F2uB6A8jOyKdO6ay2x_zuyLu_3I7RAfaQcQ","e":"AQAB"},"attributes":{"enabled":true,"created":1563492603,"updated":1563492603,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f3cc9d4b-a529-48d8-8a75-468d020f2951', + '55e720ed-3d39-4c42-af1c-85b0b86e79e4', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1088,22 +1242,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:36 GMT', + 'Thu, 08 Aug 2019 23:32:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a3cc2510-3ae7-4799-a716-0132107f5a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHDAAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:19 GMT', 'Connection', 'close', 'Content-Length', - '891' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .post('/keys/recoverKeyName-cangenerateabackupofakey-/create', {"kty":"RSA"}) .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/4dd6214da99441b0b1b4f2d9adefa863","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"102JUz7kGA4tpE1crjb_ljMSHvDHCiTMha1wqsfqeCGa7_qqNVUdbCFexNFqbt2ebGihhF8k1wJ3Dx9rMhgzdt9M6e4qykddix74Kxh4slRfjaDZZXkpy-Lo6T_320lX_iHc4d7i76VMPtwNF2eAeh-xsIFZx5NPYGf9ejr7Wgm7TFLrTcWsPl2Fr3VClBAU4LwBJFk_Inr6byPjZ9vWI8b-Wq0v14-P2mG_yjqhwGVPGb9trZqchFffbmXLbdOZHXj6s73chr6l2y1PCIBtDzgcTa7NwqlvRptMM8ArlD5OZCyf7M33JCbLQqVA8Ult4pREWLvSNoWwR1k2VT25QQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307139,"updated":1565307139,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '118', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1113,11 +1297,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b132ba2f-8972-444b-9781-2dbae17b13a7', + 'e18ac3c0-0bd7-471f-9671-af9968282b18', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1127,30 +1311,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:37 GMT', + 'Thu, 08 Aug 2019 23:32:19 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '702' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .post('/keys/recoverKeyName-cangenerateabackupofakey-/backup') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '1eece0ea-7920-4f40-93a9-4167dba70353', + 'd75aa55e-0882-415a-b0cf-c5337f50b531', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1160,11 +1352,2013 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:47 GMT', + 'Thu, 08 Aug 2019 23:32:19 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd5e8e738-a101-4a78-978a-1a0f873d4600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHDQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-cangenerateabackupofakey-/backup') + .query(true) + .reply(200, {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmhkZURRNjlmNlpINkdoRmFpamN1YU5hT2RZazdtNjhwSmp0N1VGdTkwUjZZdEJ3ZWk2MmNXcnN1QTh6Vnh6cUYta21PTkNvNTliTUVTSjdmTEN1eUZ6NkFJd0pBZ1pVNXhlUWpCbnZBTkR1c3JJTWZYX3kyVTQ4VTRjZmlWdUY1TXpqUWtyYkFpUGoxZlU5dmpHRDlNZUN6NXNGcnh4blVXZVdIb3BmUFFSZXU3NE5pT0ZsSEpRdU93SW1ibnNhVVJCb3JXZ05rUWg3NDJlX0tmYjRJWWJmcnNlcHVfVEpVY0I0dnR6ZEsxTDA4S0NKTFFmT1hQUmZvdU5GRHFnZkwydFo2cWFPR1ZEbTktYi03dERwUklBdDR5SEtWXzlKMy02Wk02aVpVLTUxR0RicjNHVHdTbHRkWXJJVDk4ZDI2ZXBpNmNrTndfem1zTkpqM1JNbXY1Zy5vcDBGY05FWTE3OFFZMEZQSU5TVXBRLmZtQnFDaVpENkJPc3FVNDlDM1FvSVdnZGROTGlqUXUzRjdJVjNaZjFLUmVldGRKYmRiQkZQQktzeE9neWZBRlMtclNBQ2ZKbUtCcVNxamtYamdIUWlpRE5MV2hCWmJxVjExdDN4NFFJM0xrZWlmM0d6MnptQWJDZkdmRElGcVR6TGg0Vi1mQlRjdlFhcUJ4LVpabGJ2ZnRmWjJIeEFFVjBPZ2VrY2dkbjVBZVpEaThJcktRTmhqeHNvV0JrUms0M3dQbEpxek1jYmd4MVFORnFXUkFMMElONHIwZzJoX0Z4bVpfNzQzbUVvMEFNR1dpRGVuby1JQlBOc0g3NG1fbUhYcGhpMjhYaWs4Q2RwWndVbV9mcXB6ckF6YzNXanFyT3VfbC1OdVowaEdCdVBvUmZjMXBZVmJIWEp6OFkybUwzLXExaTRNOW80YVpTaF8zM1ZZTGI5ck51T04tQmViUnQ1WWg5aEVKZC1RNTJVSkR6d2hEWnEtOW5vRDIwTmxLRHZoSVNnU0ROYjNXczZoZkFITnJEWlkzakFoNWstUTNtbV96U2czdngxMzl5WGU4dGlleThnYmhHU2U1ZVoxX1dyU01uSXBpbWhCc3Bxd2V5LXJlR2hrUHEtakQzcEZ4dGROcVVFOFdOOXVFanQ4dDFCSU1MTVJES0phX01jSDhHc2M2UHFHTDlnaVBKUWdQLVNQSE1PdWVpcEQ5RXJyZTdXNkUwNllrSDJ3dGJ6TG5jeTNDSXM0T2kxbW1NbFhXLUltOUphdW5uU3BaSjNjVmtFN09RUXdtUmczWGZtQ2RWWVUyek0tbVFsMk1zRk9FcXY3ZDk1N1JkUTdWSnE3VnYyZWtKWWMtYUJ4dnVIVkRvaVJ2LU5rWVhkX2ppaDB0Z2ppaGRPdUlkcmVzLUdzTXp0QzRsSURZYzhtbHQ0WXR3aFAzd04zSlFwbkM0WmU0cEdaZ2hiUE9RMTNqMEZYZHY5aUtaU3lYNnNhdVlBSmRQdzhMeWl1ZklFbHUzcEdaeEZXM2d2Ni1UUTJTSUFYcEZubXNYLUljR0QyREZHck5Za1hKMmZRRmdOelpSWDdLZXBJcjhMTGhkamI1eWhiV2tpNVVVTDJzbHMycV9ZQXZqejBaZDFub1ZBblFuRTRNVGF0V24xVy1PYWswTG9mcWM0SngwWG8tQmptQTB3aUZ5dl9iMjk4a2JFaUhReUZLZ0wyUTB6VXE3eHdKdTZZX3FELTBPOHN1Qk1iSzZIYjFiT0Q5WWxlUDlRNjY0Ti1mYmF2MUhYc3hiZ19GakdURC01M1BKQ1oxWGZCaUduZUdGUWZxUk5Mb3FUWUpTWW1GazJEcUJFRUxUcS0tOWtaNjduMkJvbUx1dEx4MGZpcEpleWt1LUFNUkI2M09qV1h2SUtrb3hkd3NCY2h4bkZ0SWF5VXFHTFpoSnFkdmVaY3pKRTB2NzFIQ0hyVEVnX01ySjRBSHZtRHRFTnp6Vk5fOGFsMFh2dF9KSjVWa0Z1UWMyYmhtQlR0aDMzOHgzNHVBT0JDbDljSURFdElocEVYSUE2SElRNllWMGtOU25JaGxzS25peW5qUW9GTDlrY1ZsaE1MZ2JXMkdRR2VXNXZVMjVaSS1LT0ZCekJnWmRneUJTSjRKTmdnbWxtY3dLZEhPMEptUjdqckttbUpGMUNzcUtpSkozWDVlRU1xZ2lvZDRXSVdCZHBqaXplS2J0MXdsZmtyZ3hxcURrYktXZTBHNk8wOWt2N0FfRFZUTGFOZmkzc0otaTQzQnc1cjhycU44b2o5QWJwZGhjeFVtM09aSXhuWjNsOW84SEpoZFkwTU4xWWJ5VmpvYm9GWW1haG5yUHczRVlFNFRBazNnQjdUaXJUQ2xieUt2SGlpamdrRmg2M3RNTFF2eHV1bHhRdGtNeVAwZTNmQnNRdG8tblhEWVN4bFNYb29CY2V2X0lIdi1jZlY2VUJyWkFOVXF5MUdEaFRPR1pIOUo0aXNNRy15ZWZlSF9OSzFiOU1wcWR2WEV6eWUwdTJPc2tQZG51eXZGQ2RKWkpfeXphUXpISEV5NUpkUlBIbWR2YWZiZ29HazV6dFJEbVJCY19Wd3psODdrRmpBYTNqQXRhSzkzU0RJTndHQU5LWGNKaFBzSzhwVDM0WEZXVFNNWFZuT1BEZ0VkRDZwcTRpdlk1RFhzRGpHVVE4ZmpwVDdqTVduYS1LR0ZEVUZXd1hqQ1dTM1lkMWVkQi1OU3hQb1F3ZEk5XzRTVnlKMG54b3hmd1o4ZXhoc2J6MFhDTEM1MURUT05wZTR1dkhvZXFITmtELWRlY0hHd01fTGlWc1JtdWRZZWtXWnVqSHVSSzBkMV9hQTczMjFiNWdURjlRb1lFWFVvWDFSUHhQRGZTQkdEZmR2OGlMZDFNRFRCcTl5T0lfeUZqN2ZqSjVBNkNYSHRhd0pFN0VDWUFlbkZ4R1g5alVCN2NlV2xkeVJISXpYUU1mcWRJSEJ0SWZsaDEybDAxSThTdlJRb0VZQzJkb3BmcXJMcmZUVTlYM0R4Vkp2cERMTDRLaU9TWW9mdlFXa0kzT3J1aTlZRXZUeFg2LWJmRUV0Y3hkaC11UVRmeXMyYVFjV19QTTRvWkdram5QUVEtY0lWMDFDMEVaQnFnenRFWTNNTEFFd1RWM2drMWlTUWZnQS11WGtHS0hzaTZ1MnJtWXMzREZUQ0cwRFdOeXNENXVmSUVtLWdqYkVFSUJFLXdHUjFwUDEwTzZKYnk1Vko4aWV0NWF4MnZ2U1FlUjd4cGtpWkVRaDRpM1M3Q3hrWHBlaUE1ZHRHWkNmOGJEZzZYSkU3a0FMam15czZDRDVWbk14VEo3N3NXOXMySGljMmlGdHlVakRFY19YT1BuV0dNdWNOVnozaGVZQWl2a0ZhSFVUcXNUUl9uTTV0akpWU1JkM21JaHpZVGdCLVNSTHdMSHRlSW05VkNsSUZxTmZLTVZDcjZjbHFJMjBmems2R1A5RVJOdG1wRzU4SWFpTk1LWm5xb3RKSmFRUk1qU29JUHNUR1hCd3U2UVhUYlY4SUh6RGoxSDdOeGtua0hsZ3Roa2NRUEZ1NzVodHBvdmVYNU9yVm1KcVBsUmVWUDVQakp3eWVNM1B6THlvYTdWX2h0bGZhZmplTjRBXy1Xd2NLbU42RFVndW9naXowMHZKN3FwX21paHF3a2dseGJNQlQxU3BzV3dYSnpyMlpubVpJbW80QWw0d1RrY1VmekE2MVpVbnFuemloQmREYjhMbm5qd29YR2c1YnAzWFlUTndCVFlLYmg2dmt5VThEcmlkVTFEbDR6UjNlQnBoTjhveDdiMnQtZHl0dnhhNklJYXZyZHh2VHBZUEdNOEJVSGRxR3A4WkgzMEM3Um9MUGhVQng2cmlZc3hwRkNDckFDWE5mRTRuV21ZQ1B4X0dhc1Q2dGZndGxQVkNfUGRQMnU0RDBUTFRCNU9RUmNFRDhnNWxWeWtfUXBsUDg1bWU5SlEtQV91aW9haGRaMy1qbjJSU1BPRDMyMW9LWXljR0NkdnRRRW53M3UwSVFPdF9LY04xcVlKRXluclVNTkZWbE5pT28wdHRuNGNpVGRGX1VHYUkzTTBWTE52ZnRRYnBKYkRlUk9PcmFnTUpieGxqd2tCWHRYbm5kTmNlaXN3RllmYlZJd3hZWk8wbkJ1NkhCR2xYX1d5dGN4X1hMS1EtZXhzM3lqZHhCcUdmaHo3TmxnTEktN0dBejBRWmY0WE5PckpTcHlPYWRjcmpsLUJOaU0zOU9pS0p1M1Qya053Ty1mZEhKYkp1cTBuUlktSDBwdmgxMWVPSkVqbUxsUHJfZDRwSnpxeDQ5X1lBRjlzdlZxRTRxSmxBVjB6NHVMWk0xQUV0dmdrVVQ1ZnRfaEdXVUVTak9pRng0U2hCNFJ4TFFFZ3czU0J3R2taVGEtOEFiTHduaE96dTlSRzA2aTdqLVVCUE9IbHVNdjNVR3NHWVdrVjdDMHpNem8yT3BCSksxZmgyRXBQTzI0TTR1R1h4WmYtRXFTRHgzaFdaaU1TRlpUNmQzLUtoeDA5UGF2Q3JTbExoNTZvUFgyWDBtOEpOcVc0MTdRYTEtRVJrNzhLeEdHYVdOU0lvSmVyZWpMR2lqYXNhTzhoNU5jeXRkcVRjUTRUNzFkeERRUXpmUUkwVHNidFczS1pORjJvcEM3ekNMOUxtLWs3UkVCWmpkVU1STncxZlRYMFktRWczSjFrdVNTS2xTcnh2bS1CVERjRnhNWVZNY002TUFIN2prXzhoRkVGcDR0cWtka0s3RFl2cnltazE3WUJneTBMS1RxbjdUeUxrc0VTWGN5UzVNNVJ6RDNDcXpJbHVKSmpEMC10dGgxdjF3M0RkeVo2SmlOVFVuMGJBaVB4TkN1aHJidU5SQ0FfV1ZWYjNod0tILThlYklwaUUySmJic3pZbTZxY1U2NUU0aW1KcUVtdTZMX2J3bVRQSzMxQ0JYWFBxZmEzWW5SbFBFdU9HU3JtVTJrb3pXUkp3RW9rd3plamg1MUVHSHNwMnVHRDJiSjdCWTVtSjlqa1VUOE9yOGV1MXFGNV9rLUZuMWRyM2x1WU92TW9mN0NpdWpSUFhGTmdlZS00TC15WVNucTNkcEFNMDhRczY5ZVVma21vNmRPN0hJX3Jzek41UnRjSm1BaWlVa25uNnk2R2UyT0RpeVNLelgwMWhPTHJyRk5Ccy1yNmE4c0k1M1VVQldtNXZ1NHZ4V0xXOWRSQTd0Yk1WeWZhZkFnMHB2bTllcDNlOGFBQlVfTzd5VGxmS3A5OWtweGNXdlZRb01sS0NCUnZiSDFPbGxsUjQxVU9YUG9NS1VwOWlqaHBPTi1VT3YzU3ZfQlY3VE9WbnlJb21rdzVRc1Exa3RjZXZaanJqaGZXeXc5ZzFLMVptQjhqdjFvN0dDZjVIN1lUcDFYeWlpM0twaWRMd1lLSmx0eEI1dFBVZ0xxVDVTZGpSTjdia1FRUzFZOHNaWU9GcHNRclRWNC1vT3NmN0N2c2U2aWhzU1VYVmkwaExEblpfVkRUS1J1Ui1ZeHFOWGFFYjg3NXo5Ym8xdUZJUUlMb0E2UVNRbU9TNGkyM2U2SnlKSk16d1BKT0dSOHREQm50OVo2c2xrZlFxRHg1aEczRlNPdjV1bHg3dktnajZINlk0N181ZDNBREpmTHFPV2hyMHNNYWRyVmlWc3J2ajd3czlVTjlJLUVvZWxtR2V1YUlVX1FZaVZOeFV6MUFRMjZRbm5CRy1QTWZTbUhKdW9BY1JTUTVhTFdNeTYtMkNSSUFuMTVLVFFfWjBPQUNfRlZJLU9udzdtVDdHbGptd2V0RjRTSlBrX0kxaDJhWmdybHFRMEF6NHlRNGVkWHpMOTloTkVRSlFXZlhzVjZaeUhJVFZ6YVREMTFkaEdSWjZXZ180eE5yRlhPZHc3LTR3T0hWTW14THc5akRUTTQzMlItM2VTVFRJWkNaVmtHdzV6VkJhZFl2WUV5U1d3bFptV0FSdU9XQ284dTR5cTJIRnh0R0x6M3hEdEN5TWMyY2d2VlZnTE10OHpMOG01UDhXUzg4M2lZTzRmd2JDZm5VV1BjbEhvZl9JS3ZONWxHYzE4ZENNY2JxOXY0Q1pRT3Z2a3VDbnlUZWs1NVY5NUV1VmhZdXhZSW5iVDJYMXVhNDRQdGhBWGNFSWdFdVd5YkJLVThFOVhOcDVvN0hBSU1KbHVOSXpQRC1DNzJzanpsZTVlOXpIZDRaRDU5ckFzN05UcXhaV1M4T2g1UV9kZ0VNc3JXQ2h2MDJBQ1ljS2paejNTeDhITkdickhEQ3FmUDlId1BUcEFlVThYNjJtSlBGeWw5RU9GLVN0bFp3RzNiN2dwS01LYmMtQnNtaGU3Wko4bVk3dDRuOUV2TXdubWdHNjRLZjdFZFF3TjhqdFR3QlZFbUlNZUVubXNBODFzbFV6a01ncVFhS1BMUW1SdVFfcFR2dURtTDdpRTlnMEhmUlEtcUxGWWRyY1AwVFB0ZF9kRmI5MUNrc1ZEMm1uNWJhZVBydkZDc3lsaWM5RWhydllkRWdJWDFxZjY3YVFuZVN1Z0ZVbmlIMUlCVmg3bTZRM240YmQ2cXA4VU5ValBVd250VElkR2VDdTRkeDNMNmIzMHBoRWhraFJaMkczZERPeXNySTVlV3U4RFJpQ0s1dzNIVXU0bEN6WnpLU0Z4V21PRDVrdE9pRGIxcWdEbUxkcHFJOTN4a05HRXNSOTBQWENUaEhqaGM1bnV4VG9pcU1mVnB1bzF0elhFbDJzY1F0OU02S3c4WWZqT2l4Z3dQamhrZTc0TVJQNUdKNHdneXg0YWpzQ1VBTnU2eGRURFBtLTVPMGVYVTlROEFXaVljOWYwcURqVXg0anVZWFZjcS12Nnhyb3ZxY0ZTWkxxbHRjemlRMGF5TkcwZnZBY3FEWVpVQlRvQzhEOTVyTkNmWi1ESzRmNkhnX3B6ZVluLU1DLW5Kcnc2dlUtc0ZTS0xSVU91bWJqU0NtV1VuVTRDWkgwdVFwbVZPLTVLNTlxQTdTeVBQTkdwQk9KaWYtcnh4V29RMWdWT0JIZzhnMGxwZVl6SC1XY3AtY1hsZWk5cVBHeDNtVHZfcTBMb2RPdEREdjNqeFllNXdQR3ltNFB2MXNfcnlVSG91Vm13dXNibzlrSVg1UTBMSlA4R3h2RHpnSkt2S1FRUEhBZTEzOUlESFZyb24xQWtDNzl0VjhfZFRFRkR1bWhQaWJvRVV0MDlrN3A5VU5TOVVUVFZWNXBUSzlSV002WF9nb0xkQVNxeEhLeURqbmMtenJ5WTBuODVza1VCS3hIVDFUUmxlYlZEQUtZMkluWHNLZXBZUkRJdmpNRnJXTGNnNVZmYXNjTzB2RGtSWnhISEJScGk0ZVJIUkF4alJxS0FHRGVOR2hVVVdjc3NPcXVPTnVMRUtxQ1ZubHhQS3FBb3k5UXpMTXRZYUZuM0hQbEtZcEhBMVVwZnVlTXlocl85Zjh2bHFqMDZueUZCbi1PdlFvWE55ajV5SkIxWUNPakc4UVVkNEhkZnJ6Ry1saTR2alpfTmxtNWNUZzVWVktaRGZIVTQ2M0R1U3oyanhJV25RbGNPaHR4OTR6VGE0NFhHbnlreG92dl84Q3NzZVpsS1NtVDVNLU5acHlwN0JUT1ZEY1h3MFlNQTBmWDR1Q2NEY2xodHRxTGQ1M0toeEY3TVg0RmhEQThTMXFfbnZQWW1ITlN5cmpCMWx0ZDZkYkJCODF6MFI5N0lOT0tNcnFyTnIxTGFhNWNKZGtZSUhDeHBIakJMaDZYczFLc29RUFNxd1YwYlVTaVUtaTFoaGI3MjNFeTZIbDh6YXZNZFJjbHJWZ19lcW1WcDgtM0RvOTg0TmV5dE9hQTJnNkZIWHR6MjNOSVNFZTZQVkw2Wk9TUFhIM1E4SU55N3ZESEVQOUYwQUc1SHgweVJ1aFVxRDZqUjFIN1lQVmlhNG1INFFIS1A2X2p3UWRMNkMyMFlTOTBqUHlsN3dxZkJNZGNldW5sM1hiVU81Sk52bzBlYllaQXBib0hVR1I4N2pJRGFHLXBpam1VUEJJZnNyWmZXV05UQ1RrT2JYRzRIYXBOMTY3WF9HUGlNSnNMRk9keEJ3YnFuOUlhZVo5NFRteGUwX2RpTm96TklXWGZZdWc0QzlIeUFhNVhKWTRReGkxQWxTYzB0LWxic0lUOEcwVzNLNm5SSWZCMWpFR2NtQUFsQWVTR2xJRWMzM05EWnVlUVlWZm96VWhjdG1TYTBXQlJPNFYwNjJ4VHQ1RV9YVm9RcENLTFlHYWNGc1VKeTBGZ3BDaE9nU3hyeEh5Y0NPWThLVk9XaEhXVVFSVG95eFVHLU1YcjM0dE1HUXk4T3k5VUlmOG5UR2RDeE9QYmlHQzBLb2Z0NFB5bE1xUkZkdF9ac2x0UUtuclN3dzczZWZ6VTE3Y0hkdV9IMTlYeG5jajVFRkcyU0pXWjhDcVVWZ3VPSzdhQVJWemdaYk1xNnhNaEZmNzhwMUl6bDJBZzlnZzNOTVdvMUdSWW5OZTNMekRQTmhHdWxnNkM1THhMeFFYZk50aGRyVkh4cDEzXzRRczBncDVHTDc2RmpPb0NkSXB4RjI1aXBxTGwxWk9xRTMyUmdCYTBnS2dyOUY4UC1Vc3FINFNidUxUZzJmRThhNWE2NTR5aDJPb0ljWFJuRExkNjYxQWthZ1JJem8xc3N4NVI3TW9VeFhYeG9nU042ak1ZSUFZem5oSU1TZkRrdXZHVW4xb282dG8zZnNKTXhuR3h5bG9TTjNtR1hRTWVHRlJJWVFva1dGM0R1Uk1jUU14WDdMSzR1QkJhbXBiTkVqTkJ3bGExSl9MYXVKOGNjZDV1dGhMWmZycmFRalRTNmR3NWNHU211QkJPVVp4ME1xOVhhVVd3QzlNZ013OXBDeWJ3N3VDSTJQTm80aE5MblVqNjQyWXBGcnJmb2FieGR1Q1pzLWdqbHg4S3VsdnZYYnZxU3g5aGxkSmVLMUh1cEJfdzVXM2NJcktCUDFjN0syWkI3eVBHNlpac1lYZm5YVUNXRVFPTVBtWWpVZGc1RzMyUW9jWnNEbVNzOHhQNjhaT2xnV1c5ZEtVSlRpLV9qLTBzbEZrYktGMGhlaUljY0JzbjJSMUo2ZGtNX3RYdmVDSzk3amQzLURpWEpDVGdWVEhVY0FGcDh3dUJmZlF6Q0dyUTVhV2RfcklFWW5jMVBjLXNOVDNOdjB6a1hicmQ1TnBHX1k3U0hjQlNMY1FlN0owcnh4SFlQYVlkS3lwZGRBa1dQZnk3OWdFZE9RVmpZSGo4S29sODRQVGdHT1RSOXJZckpmQjhDV25EdUtXaU1uajczdnlGMDhnaG1XazdDUWZ6OWdLRkxBNjBWTV83M2pqc0FkSXVLWklwd084dl9PVjNhSEpVUkVoX1htbGhnX0FSajRJSmo1Tmdrd1kxZUMzUm1VMENRbGp4VUtjMElzRDFpdWxGQ0plbHpGNGwxQTVyZXVZN0c1SzBZZUh1bmtqUElyTW03SVZPYWJ6aXVyMG41Rm9Da2pnQy1qWFBhdUFUbEhkdjFHTlMybF81X0lLMjVJcVdpZGt6UHdiNV9KRlp1MkgyNFJ4ZHBIS09qVnkyVDZieFUzekhyZHN3MzdkVVVNLWd1cjlRNTluTlJvbzBDUnlxR3BldGNrRnRYQWVzcjZrODNiUndUbXdNVGp2SlhtV1FQbS1Qd2Eza3B6ZldwdktVQlpIUE02NmZPNDNGRFExLVZ4Sjg5cG5OTzI2ekgtaWdkWmhfS1VaU3VwQ21maG10dEpTMW5mdUdzYThqa1c3SzlOYk1aMWpzTmEtU1pGOXdQWXBsZllpVmR3Mnp4bWpaeS03NlJCTldDQlFZdm5DVlpHN0pyam1hTVNJYVg5LUxmWGx0Nk8wRElYQVFMMFlrMWYzNWlKbWJ2MTBZXzhjbFJueVRuQ3o2R3piaVVPYlRzUWVaM2ZVQUVfQnc2YXZCUXdwMXNVZDhOSDBHTDB1V19VYkk3blBFRHVvRHBBcWxER0JNNERMWFEtWGhiWjZYSk1wMnVBemdCUFJKSkxTaFlJX0NtX0lBTWEyaC16el9XR3NzZF9HYzBFT1JIS01mTDJWNkNUV0R1MjNRaldzcmRWcDlRaDR1RWxFMnBLU0pfemlROXdlRmJyUk55dUpKVGJ4SHZ5QXQtS3FXOC14S1REYjc2Z3Nab0Zoclc0YUFZMjlzMlFEeDAzWVNXbzBXVDIwQWl0a05jT1N1ZWpVRmxoQWo2SjVHSF9tVnRLV1VCNmFIaTlhb1NRX213ZDM3bzd6ZTNkam1qeDFHamRUbHJxN1B6TzhzZEhMbldUQl9kQVJpOXBGWTVnUVluM3FxakRqSHJ3TDdXMDVQd2stMnY3RmM2VkpNaVJOYTZhellmQzctbkxtQlJodXlUcHhhU1J0cm4wcUZweWdLWmxmNllEUC1HTmlRZ2E0WWZxdmFpcV90dHBqSVhhTHRKLWhlUEw4eThUQ0s0dGxPUlFsNE1SbnJIai1GNlpQeEptakgwbUJmX2gwbUxuWS1HdDF1YmEyOC1fdjJCelhhQ05DSHNPdlVCWkRHQlBrZnU1ZkF0Si1UVFpPRnZOeDJyMGFYampMQVZ5bUhwT2E2bmplU1FVX2ZUZ1luTHVja1VHVTBTYTRRbHVFU1BJNUd1dnVkNmlRSV9SU25YUmVPMm0teUFMcndvREVoMXZQSFAyRGRvS0lKaW1tUHY2WE0zSFV1VFloZlAtYVhWbko1UERwVS1RWkZqejc4dS1DSTA3V1BzVHV0RkxpeUhiVmhiOGxPQWlJYXhYQkYxNGs0R0phLURuSl9HOGFadDlNMjFjcGs3U2R3Nl9jXzJRWElETENnYVN4SnVGSmw5Wm9hb2JPZTh6Zmg3LTdmaEhUaXlqZVpSWHVNY2Vra3Z2dmVFN0xxUkZIeTEyTEZBN2dVNnFJUU5pX1JWUXZCYXlMUTUtZ3A0NTA2ZG5RbU9idFVpazU4WWFtNkpxenJ3ZFVuS295QTljcnJ6eWZlbE45T3JfVjlXOTRkX2RzbXRIeE1HUDhQdEwzYjY4T2RZNmJzTFJ0bU1tTEdGd0tieG81WkdUdjVUN1lIamloRUo1Q2w1Y1EwcjdSUmIzVlBSRHZDdjUyV3NZc3pQcU8yQ3d1aDEyNS03Sk80N3RnajN0Q0h3aVp4QThUb0IyWk1HeXQzckR3eFJXMXNkMk5obG45VDA5b1dZczEzVWdyZzNLLVp3TEp3emd3SnNTZ1NwWTVlNUgtQkg5X3d0dEV5RE5pR2lReEMxNlhyem1yV0w3dWMyS0J3WGFkQ2I4X2cxNVRNRmdQVVFPQnpmVXFxLV9qT0VxMmRBY0NxRlVvaGpfbzNGXzlpZU9ZUV9fYU4zZjBFcUlZWnQ3cFB3d2dnOC5ObjQ3a0oxZ2J0blVraWtoNG5xUVd3"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3e26f1de-cb71-46bd-ad66-ab2d832b091f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '11716' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1338e80b-4c85-4710-9840-63e13059775d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:19 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f1e99bcd-0f6e-41b4-be8e-59eaf98f2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHDgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:20 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-cangenerateabackupofakey-","deletedDate":1565307140,"scheduledPurgeDate":1573083140,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-cangenerateabackupofakey-/4dd6214da99441b0b1b4f2d9adefa863","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"102JUz7kGA4tpE1crjb_ljMSHvDHCiTMha1wqsfqeCGa7_qqNVUdbCFexNFqbt2ebGihhF8k1wJ3Dx9rMhgzdt9M6e4qykddix74Kxh4slRfjaDZZXkpy-Lo6T_320lX_iHc4d7i76VMPtwNF2eAeh-xsIFZx5NPYGf9ejr7Wgm7TFLrTcWsPl2Fr3VClBAU4LwBJFk_Inr6byPjZ9vWI8b-Wq0v14-P2mG_yjqhwGVPGb9trZqchFffbmXLbdOZHXj6s73chr6l2y1PCIBtDzgcTa7NwqlvRptMM8ArlD5OZCyf7M33JCbLQqVA8Ult4pREWLvSNoWwR1k2VT25QQ","e":"AQAB"},"attributes":{"enabled":true,"created":1565307139,"updated":1565307139,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '90524237-78d3-4fca-89ae-4a5230c5796e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '879' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a101a7b7-b43e-4189-bedc-eab9a2546427', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '260aa6c2-944e-47dc-be58-89d2ddac5200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHDwAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:21 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '699127c4-50e4-4a29-8539-8b77d3d97223', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '27192adb-6996-4a8d-aed8-362680d896a0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e834e5fc-1a95-49cc-b683-6eee8dd63600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHEAAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f9e79b31-bace-4007-9cec-60eabca6a9db', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b83dddc8-ad56-47f1-968e-c41b5aab7573', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ca5197c5-ede1-4e71-9fe7-7a2c34743d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHEQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-cangenerateabackupofakey-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'cc1485d4-dce5-4270-a883-b0e8c0e5e485', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-failstogenerateabackupofanon-existingkey-/backup') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '121fbb30-5f03-4c9e-9d70-10646b2ee706', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'b751eb38-3db6-4508-bd93-45390c5e3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHEgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-failstogenerateabackupofanon-existingkey-/backup') + .query(true) + .reply(404, {"error":{"code":"KeyNotFound","message":"Key not found: recoverKeyName-failstogenerateabackupofanon-existingkey-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '132', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'cff00b39-7bc3-4ae7-8fcf-098f0348cd8e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/create') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ad063c2b-e4b5-420c-a071-c6639544c341', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e856ed59-a55f-4e39-880a-b37026ae2d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHEwAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/create', {"kty":"RSA"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/69596f58f6bf4a46bd6de9adad365ee3","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"r-5TxGgoon6qfkAVuLNM7hKgWU-aCmpSUn4lkOy5rNAvyOOua9pi3enRtIpaS_18--CzUrmAT5ozYuWDRv5j9P0YWiSyD6eUG0u1c_FAsR6DtJExG_sY3871sQQuBqPqwEw-RJEB4OGuHYpn_xugHNIk95h_LssZmCWqIdjrgWb9gLv-NxQ-VPrKL8AG1ZII2nr_vwuj78vMVX3j_oUeSffMaWEseqA0f0od-3H9JddBig4qvm1x9R4lM2jtkL54WwN3Ak12ibR4vN-hQLouA29f0k4P3Yd7AEskiq-B7Lc4vK6j6RAJp9bhIxBQ-ev5X3eBvOlmIr9hMGnC8lPxZw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307165,"updated":1565307165,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b5a1be28-afd2-428d-b6c3-071ffa664a03', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '708' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/backup') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4e2f4c55-1765-460a-94d9-60f1158e5082', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '515bcd84-df7e-4cf7-964e-12f2c1956b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHFAAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:45 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/backup') + .query(true) + .reply(200, {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlBJRDB6VDFqY0hIX1lfZnBfUUExQXl4SmtPOU81NTgzUng5VjNvc0Ftam5KY0VaNHdfeVFXb280cEpjaFhHLXFqVklQUzVOMHJ0TXZzbHgya1ZPNjZEZG1CY0gwMF9FdTdyZ0Y0UXJtenJCQXBfTU83bkhfTlNfMExtb2RHVDlaN09JOWI4Zmw1OVhKSEFBY2dxRm56dTJMbHlsN3FoSnQ1TkNkNG9QWEQ1VVBwVWF1M3lHaWJhWHU4THJtUHVxNTJkOVhfei1VbVRLU3dWbkkyM2RtSkg2dlA5WGE4bmluZkJreWVsTGFhWXlnWW82NEhlU2lJU3l1QlloNVhFWENtMF94Z3c5YWVvZFZnMmxlV0U5YzVNYV9yMzZmUzcxSHZGdWM0ZUQ3Q0VpT2xZeHhveVNaVjA2SW52MUFaeUNzT04wanN4R3gxbHZSeUI1NElNYi1Hdy5IbWFPMXpfVkREbG9kcmNRM2JZUkJBLnR0UlVsNzdxRUYybVhpcHgzX09SS0tqSTdadFp1Y3AwMGszQW92Ym9oVXNqdGViMGFvQ3JvUGZjT0RMM0dFVzU2TzAwWUppSFJYVGJzeDZiN2h2MWxfcWhIREFoaG1PN0hDcnlCNVVQMmRzaHVBWnlhNEVEdTVxYkFGS2NGM1lER1BVZ1JQMUNzUHo4UDIydThUbC1jN3ptNDdVZGEzT3Y0LVFZY244MnJNa0dWUi1aczRqYVZKa25vQWkwOXdOdFg4bzFPbjctUU1WZDMtWTJqZFRhbW5NaUNfSkdMY0JyUWJTN2EwaWVPeXVkbnY0Wk1QM1Z5ajdzQTd4TGdYbzlwZU51RGw5b05nb0JPYjJWbWhCb1BBZzFGLWVFd3Mzb0U1TXBRM3U3M3Z5U0dSQUdQeDFGQzlRVVNLSC1lU09jVUxPajZKREhVUXA3bHRnZlVuZENKb2NXWmFBQzU5V0JzUGJSU0l3cW81VWo2WlFHbUVJMmxRYlB3WVFzWkQ3S2RraW5XbmpfZTEyU0VuVm56R0QyQ0QwejBHc1hENTNRUm5TWkJlQ2ZPSHNhWTNGN1lLWXhKWmx2RWw2SHNydzllN0FSaG5QNnpQZjVSUWRfWU5OZ3gtYTM0cEtUVkVQV1MwYTd6Z0R1ZWhEMV96eGdiSVJqTDEtT1pBd3lWN2ZFbnZ0a3NPZnpLb0ZJYVVISUNLb3VIRUo3V2l2bUR0Q0NmTkVabDVTQmdndWR2RzVyTWt1SlE4T1Z0Nlh0VE5YWk1zQm1EVDlTNFhsYVFmYmQ4bGtlNW9SdGxFWWxoLWZKQUpNTFhybldFMmx5ZGVrTkdTemUzS1hXU05hcjJEaFVlMjhSdVNFUS1GNGpacWpnQ3BURVhKb18zTVI1aGFNNlEySDlTS1ZGMkNxT09Yb0p0Z1dYeTBQdnJXRnNQWVNNdDV4RUh2OXVKT0Y5aDBySmxrbDVUR2hFRDl1V1hpYVQxWDdlVDJaY2hWVDdVbkNHcDVrOHhfUC1tUEZ2RFJhZWZWOXBuQkE1S3Fab0JjSmxhRG5ic054R3dBYlg5TkpickEwMFFXOU1EYWN0bUppTjJVOUFmY2VmUzd4UXRIckxDUzdQT2xNc19WdTg4akdnZmNRY2cwV1gwUDlXd2VaSHotUEQ4UVlxSUg2aXo2NWtDM2xiaFJPZFVjTC15dTBBM3VteUdhalZydmJzLWZMYmYxcGVKcS1CWVVTdUgzZm0wcDVGVHRNR05iUmtDQkhSMWZ2U2N1aUwyVWUwTWk1Qzg5dFg5Q3h0WFpkQ0tuN0VPclNGYURsSGg5NElhRFJ0X1VvX1hLaG5iZUl3ZjViN1lOcFN1d0hoY3lVbThoSUxtcF9fMW02SVVycnJTd1VqRUlmN0RGeVdWc0R3c3dHblNhMU9kbllBOTJkZTBlcEZLNGRvMERrejkxMjR5TWtaZEltaHJvQmlvdEUzNWg1Q0w5RmVpTVBxQ2dZci1nYjlWdU9LQUw3R05Ic0M1bE9KU1dWaUFWU0U4Wm4wRUF0VGVwdk5BVlA0X2tEVFFfVnpfVEN3Z3dMdDVMY0VTckk2RGptMlV1WVp4X0JTd1RYUFlSd2VQNFpvU1hyZzh3UFlZTGtnbFpVZEdiVFB4NmpUTU1kUkE4cHBGRjFqakFEWmgxZk55ZXBtdk1kazFoLTFRcUROTklWRUx2R3Fwc1BfOXkwMkQ2aHdPd25yS1NJelJpZmlsUHBfSklhS0hpZnU4N051T3Brcl80U3BsZGsySnFGemZ5QmIzQ1lNM09GZVRCLWpSZTBqQ3FaaDhLazBMZkxYT3hIeGlvLWI2RlZMcXM3VDE1SmNmX0RITTY5R2ZHSW56Z3c4SV9jbC1Ba0hDQU5nS3lJTTNHeFRvQm94V3BYNFhnd0k1MHVvVDRmV0pOc2xCOUotZ21iZmwtd3FGZjdkVnRtYkdKS2NBOEhqaWR0dDVRaVcwZk5wRDU2bkZWSTVjTVd1QkpYV0NKbFhESXllMXRHem83NkVBeDcyTEFnc1JkaTRkejFZZEFfZEtqZk1uc0VMYWRoanJtVTF2U2c1LXBfUGRaa0tnNWRHMVFUelM4UmtsR1FQODJBTlZSc0p2b01CVmE1VndhLXhnbGZNMEg3T2dVclhlN09kT0h1OFQ5MjJ0STctQi1iLXE5Yk5DMjhZOEVlSWpPWUZVV3NYV2RnZ1hHeHBYeVlCU1I0OTRZTmMxbmVyc1pwVy10QnFEeWFWazRTMDduQ283SmlDNUxEZnZBVkdtazJVRkwyb19BNC1RQXJiZXdWVUV1a0dCLTQ3bnNaR05HQnJBZ3p0SjZfMzFHME5tUHo0bzU4MmkyZjJvTk5MSWZPVlR1aFBrQk1Id1pOaFFjcjA4TEcxcUNWUC1kQm5vLTBVR0NQdE1NYlhwNl9VSlhjOVNqQ0NTRmtSWWR2d3dLeGduTXhUZGVwaEJzMGpRVGd6czBGOWl4VG9YMGtranEzV1RPbGRTLXdoMk9LakdCd0UtRUlnc09uODZRSzVBQ0p2M1lZN1NWUURFcDRqRWFWWjRPQlY5VnJBZHlXbVBlWUo4ZGQzamMteGRCVU1GNUotakxVbWxJdy02LTNFWlFfREJYU0VSS0ZCYWM5dFZtSDNpRmlfaWM0UXRwb0dFU3lGMFRkaHBWMjhrSDQ2MlhqcXl3bmRUcS1MTWlrSml5MHoxbzI4cUJRUDVjMlU2R0dFWDFyTk1zWGJkLVZ3VFZVRUZib2VhVGV2ZnRPVHlFSVJQcUZGZTJwQ096RUJZaVRnOUZ4bk5OYmZvbGxqWWR1QmlPQ1UxTl9abXB1RVJQZGpGcVZnX1N6Y2NfckxJR0wyRl9vTDM3cmN2dEZ1S0R4RlBxQkQyNHdCSmdyMG03Q1I3MUVuSjNJS1E5MU5tRWYzdnYzTURkbS15UUVNdTFLRVQtaXNzNDRyRVhzeXV2bURsUGFTUkIzZzM5dDVhYVRtUmc1NEJIYkRzdDN0MU5rcC0yRU85bThXamlISmlrd1hKMmJBWjV5WWxuTUZxanZELXhOWV9pLUlZQWFHMXRxQndUdEVwaHEwXy15NUtVX0JiN2lqbjd4aUVkRnhEQUluTzBHZFdvbS1LTlVNT3h2a1FIM3pkS3dHNnNQSmF4VEYxalRJczAtb2xueVBBdGtudmZ2MVd4UFhPNktlajFJN25pdmhOMU14RjVUeXZNUTFCWkMtQVdOMDM1Tkd4QkZNcTZBSHAwODZVQ2d0MzNyNEs3MDZkRGNIYmNwZ0VBbFhhSEhCc3hORDJPWnQya1VuNjFjTVZRcTJjUGpZbGR2SjJCT3Y1UzdLa0J1TmFiV1lOV0tZOGJSZndNLUZHZ2dYQlY1aEU3SlNsR1pDOHo2OGhfVFFtSVBtekJIaEctTV9SLUZ6NzR0RlhLaHhxNnI0OTZLSmU5VmlPelNfR2Q0WmlvYXRoUTF0dllVNDQxNjZDS2lNZWxXRGFSZFJLTDFZLW1VcEY1SWtlNUx2QmFiMVpseTJPbHJsTGl2NTcyV3pMazBHN05OTlVwQTZsV1pQejc0UEd3MDktUkpxcThTdlFaZUtSM29wX1EyTWsxcUJFZURzS1pFYndKR3BjUFROQmNVbXlBbUdYUndDUTUzRG1za3l4a1o3ZGg0UTVYblNDbnJHalRuWG5GenZpaGMxamkzcTBqRzF2NE1pRnA3Z1BKSzg3R19XUHVqaTY0bEJDb0hVdC1jUDZZTXZ4N0xGNFl1TzQwSjdkZmNGbl9RQVNfQnFhWnBtWUI2ODR1UldnN1FDY21sQTJ6ZGZQWkdPRS01RVYwV0FoSFVRMWdvZTFYWFQxdnJKN2QtWnVvdjJYSFVxcmY4TGZiSDQ2N21LVVdkZHgwcFFLeEtHVGdtQTYtNEZIaWVCeTBUNTQyYUNPWDdYak5fX0JwWkVlUTNBc2k1Ul92eHBmbC14RmpPSHNyb2NiazZ4YXlEREtLTTRLNWhwZXljcGxzamR2Wi1jV2M5dU1fempCdGcyU1NQVk43Z1hOd2FWN1VTajhWZ09oSWxveWppSHpTclBTbTkwdmNCT2w5M2tlaHR0bHlHb0NyMmdSWWpfSF9CWjl1RVRCLTQycDlFOXBpNnhPcVRiZmZkUi0tcmp5a3ZVSWxQdEhiWjFhMlR5Z2dvYUVEMkg1ekdtSm5xc2hoQ1Y3LXNtbWcxNERiQlkxX2ZMNDNLNjlZeUZxVDA3TFoyd2RNRFhCdTN3V0txRVhtdmZURVBCMUs3eEtfcmZNSTR2UXRBZkxYejhNbVdmblhUX2NoTHliV2hfYWEzbS1la1ppRndJVlQxNzNjVmMtYWlfR2p3N05Fc3Y0VEZ3OGlXT2NIQ1A2YjY0bjNDMlJjbFZzMUhiT18zc0l1RXlGNWpHcXh5RUY4V2FQRzhYVDZxY3J3dGZIcU1iMlFDdG1fMmNVRW9ZM0xoOEROa0dkT2dHeUVoMFl4TTFiVDlPYXBEdGFzZklwMTZmMlpvN1BpUW5jcW5GYTRta3I5LThsZDd3VWdiQ1k0eG5HRnpCd1pmN1NkWUZLeXJnU0lkT2N3aTRvcGpONGFQdG52djZDOFducVNGeG42ejFIOC1RUmV1eWJ0a2UyZ3Z3bC1rV01VNGZtczVUYUFrWlpvQmpJYmhzYXcwN2N1aUE1RVViQWZBZHBkajQtdnJRVXRDeDA2U3V0dWI4QlJ6a085QUp6TlFiaDVSZ1UtNTYzZ0lwQkE4VzJvYzdVSkNHSmxKOFQydDJSb1JNVm9RZUNUYkVKcmlUZUp0ZVAtbmdWazVVZlBGQS11ck9nMG9RM0ZxcnVkVlU3eVRxNFZaTzFmMUhJNlA3c19WWkt6VVZOQ05jVndZeUE4MWlGZDF1eVM0THNMckZ4OThXeGZkN0Z3Tml1Wm11eTE2WHhWcDkwekFxWlcyN3I5UHNDS2l1MnZjY0RJa0xWQlJhUlhhZzVlczgzU0FlN0ZuU2k3akNJTWhKWUtPT0x5NlhwVVZlWWU4VWNJRWF6bmpqX2JOZlQtcEhFZUhfLVlQN0U3MUVrWXpUVzRxeG9yNEVVcnZqWFhmUGJQaklYM1ZMS3RuTUN4d1R1TGJjUmx2eXZDVE5kMDNMUHl2RGJoRUtNMW5tcXpkeGpaOFM5V0o0VUJVY09rcTBiaXFfVlhmZHVnQzIwbjlSTFlWWUhlSG1TNU1HMVN2Tm9Zc3VJdVprWmppaW1mZmJIQWFaSGhNN2pqajVIN3NuWFVpVWIzQUVjVVREeUY3UWRzUk9LWWdDSnZvOEN2ZXQ4N1h2NWNVNi1GZTZLZG1hMnpkODEtRk50NEgzb0xBbmRQTk43bzhPX3NONEpSV2V5VXNORF9EMDlGMTRaWWJocnhSM0NHT1FwYThMalFKSm5DQmVObU13QjNIZFVhSmZXZVJfLUIyOUdnTTB5cWhYSk4xRmd4S0ZPNllYZFdvQ0sxblNEdFpNR3dpeVVjN3ZEdXRReTFCV2pCZnRSQ1laVDlZdW55YnFCck5mczd2dkFwS3h5ZUpLTGQtNnMyLXVOTFZXNC1YdnJCNjR0dnBzb2V2SHVfZ0xJZXZtMVJRNk5yVmUwUzVnYm9qSVZtSk0tM2dDQnl1b0RLRHg4U3pjaURXdS1aUnJQR3NDWUw1dEU2SXFoR0RiOGhlSFhyclp6alBCaEhEYmJmeE5OUmZZWlkwMkxkUDN2U0FZdEluMVQtTEFEbjBnaWctSGstRDBIRE82MFoyXzIwWXduOFVMMG1ldTcwWDZjZER2R21BM002dTU5bUhLczV1WDJCR0tzM3RhYlh5UUVfQVBFWmE2OWljc0RMbTZUZ0xRSE1XRGpnY0hZQzVDOWhHSGw1ekN0ZlMxd3JSXzhNRlRhWm5lY2VPMlh6c2Y4WE5OMnJLT00wbElXbTNLeGxFNUxOWmxIMmpvaHljUWszUlRNcGk0ZndpYXpaRVd5dklwcDZwTGdnQ1c5WmNlQVZ4WU5Nc2NKb0w1ejFnM0ZSRGlxMjQxVDA2NEE2Q2pTdlg5cmc0WkVHZU5SNExGQnNmZm1IbTF0aHU4MGlxaEtKSW4zTHpjVjFralF1R2VfN1BsM0JNeU1HOTNuV09NaWJsR0ZXRmZlaThFaEZJM3lNMmd0ajV4Y1czQ3ZZX0hmTHFUdWdnTG9VN2FFcTJ1WlRTdm1VUmFHQ3EydUpTd3oyVTVjNGJMWEYycHhpNUNyUXZlVGFGd1cwOEp5aEQ2MUllelFVWFlIcHRZX1I3alk1UTREU0d0Tl9pWVVQUU0wWnBmY2pCeDZNeUJaXzdrUXBtaWZ2UGJaT0JqVEdJdjlpWkY2TFZxNDJPdTNIbC0tbDZxNHpFSzJaZXFJa05xeXhLMUdFN0JBRUF3LTN3ZFJtbWx0czBncDlKaFRLYUQ1cXlrMEV4OEM2SU0xMVVMdGUtYmpfOEFmSFpLdGs2eTdHTnBMYk9KTUEyLUVIWEZWc29SY2s5dFNhNFhRV0UtLUlKVnp1eFVSUXM1OG9wU29RcHVqQ2RFc2RDa2toeGNjcUJZY0NycXduZHNlMWNUS3hOUFY4YlhySlFVbkhJT2JEa0wwbW85d1FNYWZReWNfUElIUVVBb0hJZGNQTFliV0hxSnM5NVdpQnlNSHcxX1lieVdlaHhmcERBSS1NdFlMS0xPRzRNVmY3VVdkR0VkOWY5RUNWclg2dWVJMHhweDJHSHVLRnpyQXN1Q29pcUVERlBNSDFEOFZSSHZEWEdYSm44TE9mSE9aVGZkSG1QS0NOZUpMSWFKdVgwak53THFnY0MzaDF5aldlU29XdFBNZ3Nla0NaUXVFRWNCNHRaSWtLUnVCNE5oVDRFYTM4ZzVFZDhGak9KLU1jelBHNzlkcXc0aHZvMmJDZVRzTUJudlFYSGxUTFNsbnYtdmFXQlNpRDlwVTFoaUNRX0UzZFR6UlktdW1LNTBKN2d1Y1BoN0VuTll6Y21Rd19Bb3RYX1pmWkMyN1JFNTVON1UyR0FFMmlVWUUzeWg4S1VnZUhzUVRrTVljZURRYmtZdlNadXlCSTh3aEZ3WFJ6eXZWZU1PcXFMNGYtaFRTY1QtU2pYNXdERk55N1hJckhxVkVxZ2JWa0IxVWVqWjl0ZGg2bDJ4SkVLVnhaYklFMHZXY0pKa1lldzRkUUFBSk1GRklJZWlSeXNfLUpjb3N2VGdoVEVRbE5waXpRczUydEdjSzZFOFBybk4xREVYX0o4SENaRGxUS3lsWjc3Z1BjZmxCbldCbWVJZWJaQ0YwLTRpVG1iQ1UxT3VQVzdxMnd5dmVfanRTZkp0QzBFQkZwTDNaTUstT1VrLXA5X1FDQVA5YjJObld0STEwYjhxV1Faa2VyU2JxV3NFdUMwSHBDSExpOGJ4RTc1QmFGc0R4U0gyUDVScDNDUEFERHRzczlrM2l1X2haX0FlX3l5bXJnTE8xQkw3bkQ4S0Q0QXVVVzhDMlRLQ2FlX1pXVi1vb21BQTJNYWgzOXBaTDRpaDN4MHlQN2FGZ25tOXU5UEFCRVlqR2YzWUFwOFZiYVR5WURXT2czZ21RampXVDM0YXI5dVl1ZEVkOW5aYzBQUnhrWmZqOEZpY1J3YUNETk5LazBHb2ZqTnVGZGtmdkwycmZzdlNYTU5SYXRQWjh5amN1SjhxaGFBb0tBVktzaWpBYUxKbVh3VHo1d1U2VFM4RU9xRTM2eDlJa2d2UEpPNHZmSGdhVkVfQ2JKTk1lUndjT3ZoM3JzVGU5bzlqOEczaGh3Y1A5Y203S0hub0NzdzlkcjdVM1FaOWw4V0NKUWx2dElPSHQyeHJ0OW4tVEpiam00SHRmeGtKQ3BnMVVTeVdQUTVHckNic2tRaWpFQkI5YUFlM18yQ0pXWUFZQlJkdUdhZGpCYXR3SHN6YU4wRDJ0QUFtUUJPaUdzNzBjUTdHSVRvRTN0emdVZWpNckkzcUVTVWFGa1FNdVZWOVRXaVZkaS00SnR6anBiNl9LazNaakNMVHRfNWc2YlVQTHp2b0MxZmxaYmZrai00bGNsSDAyVGF3U2otRElnSk8xZHo3ZnNrYlYxTEoyZnBYUkh6UEtNcnp2TVMyYUdhSHRDX0N3RzV3TzZzdkQyMTZ6clNUWk5lS0tMaFk5WTNSbWdocXRyRWxSa2hJZUZGM3FpZUlscDNxeVhJMkpyREpITEVJRm82dzVod0dGRmdEc1BXbTFvYU5meWRpOUZaOW1kWUdEcDkxYlk4S0x1Y3FwTWU5VmtqTHp3bXZnNTBESWUzVlRkbHFGdjJaME1QbDNGNm50R2FqSEpKSzcwak9ydjVVN2JMbHc5ZzdXMFZfQWpndkd6REhqMkwtSjF3U01FdnhQV3M1VGt4eXNCMVh1QWtEQzcwekloRnJsRk5NeW5hV1I4S0ZTWFpWeTVMT0FpVDdhYWZqTXFiVUhEWDkwQWd4dExsQVJVb0w5N1R0T0xWdnZyVHRfMC1ETVZtaTB4Tkc5V0s3OG5uRno3b2llbGVyM19RaVBTb0xFNU9Qb2dzVDJuYXlfc0FBUkhuSTVPVnpkem5VQTdFTGRzOS1sZUhueEhxMlpOcWppTmxrcURRbkF1QVAyNlg4bllLTGs4alpoclpLVV9kY0VoUG01d29zNVNqUUVOSXEyTkd5QzhGYzg1WDJwZkZKX3pRWEkxT29sRjZvUUQ4cUw5NGR6U0pEdm54UGo5bWdWcWNGSWVpelhuOVU4MTc5ejVLaWxWWFdNdV9zcUdPVzd3N1U4Y1RqS3h5eXZKSFhsSm8ycHItdTFGaG9SX1FuMmpuOFJVSVoyOGZWU1FFaHc2c2pGb1RaQzVUYXpkcEpaOXlmOWt2bVp0Q2c3cHlTeGFjbGs3MThxVTEyVHF6dm9tNUUzdGZ0WWxqZGxrZHBmdk1QYWJrNHR1Mk9aZkpYblVDRV9KQnNscEhlWVRmVzJja2Y3TWdsb2JCZDVzNDNNYTRKUldrZTNpb0lRWnpmNGNQb0RxaWVIMUw4ZUpFOWZSclZabEMtWldpSlZSTWQxQXFDTU5Ua3dxempTUHRJZWI5VHp2ZVVPaGNsMGhjWEx6MzFneExGd3NfOWh3Qk5wMWpIeVluakIwTEdSMWo2RC1JOWFZb2pCZWctRS00YmR2dV9oWWZKNjZGdFhpeUZfV1czOWVCaUx3ckRlMGFXcU53MVRVM2tHeTNFQnMxVTNXNHB5cDdwQmdPQUdiUS1KdXFpSjdOc2VRQ3BiMUw0bHh2clJURm9NT2pUXzgwalZqUWdnMk4xNm5mM1c2R0RZVTdxNFNxWENld0hFb3BINDRkVDI2a0hBUy0yUjFVcUlIMTZmZ3hlRmY0RlUzeVZlTmZSbTVLQkVvVkVRU0xVaDN2UFdESVFYRmhuUmc0SnFfS1dWNTRSNGt6RW1qRVA2Mlh0MkNHc3VFQ3ZJamY4NnJ5YzdQazV3QWczdHRMN1pxRVIyX1hJa2pfMzNmemFEVVV3MzRQYTdSUUtzTFNadm9kX3pJZi0zRk1OcEpSZE95LUpGRWJ3TXJkemNsdDBackZaYzA2SG9GYXEwTGNTMW1NUHNudlVEZnRhb0dBTFN3TV83UUlBOHVfREU1eHR4R2cxMWhrU2hxbEkzN0x1MjQyTV9haFNGVWpHMzJuOUVMMjhLSHZTcEMyZWQ5bG9yQ3A5OGVVejhySFE4ck1ZcDR2ZUEydUItN1hXM2ZHR2JyUjdWVmVfZ1c2ek1uZjhlSTN3aHlPdXFJUVFtMVE3X1ZCbmhRUmFWUmE0Y0ZJRkxwaXh2dVktN09SdnhrckpWWklIRTZmNVdKUGFyUjV2OTc0SWVxMWthSWxKaGxUU2VQbl94cGJJdzN1UlVJZklwS2dDMTV5Q1o1RGVZRlFKQ21JcjFvUkl4SjREbURxNUw2emRuTVdJRDJUNEE4TUtteC1CZWpqRGxNWHJTSUJYQmhDano4a21SeTBfUnJYWU9yWXNGeTJzZkJnbGNiU2luaEtVN3hnQUFuOEUxZUhEOUpDanVZU2VNRVY0T3c1enllRE13SEUtZ2JnZ1R1SXllN3U2UzFJbFJHYTJ6SUdkY2tOeTdIMldJWVowc2dzbTd4UzF5WVJtNDhVZFZsQ0ZMSmNYb2IyZW1COGdZYXlHUmNSX0kxXzNaenJEQUJQZEFaTWZMNlhaSXlqQW9UOTN2c2ZRUlktZl8zTGZEcEp1ZU5KM0M0VjZUdFVPY2oxc19ITmVlNFVYSXN5RW9GS1R3WU5SXzBYb2Q4aGxYMUQtWUprb0trTW1DdVBSWTFnOXRna0cxdEd5NEp2UlZfQmVZSWVoNVpvSnBkY3BueXNRdS0yTEg4a19iWXplRmNLOXpaSFRGdlFkbGpKbkVKdi1OTmlSWFpoVG9vZmZlV3lDUEE1TVY3bXAwYm55elBsdnNLRkQzUXVWNlMxOWxXcWR0T2RLdWp6ZWRJTThoOVdDTmh3NTJFRFZhdUljQ0ltdl95TkYyWHNreEt3SWQ0c2sxWDdFam90UWJsMHBSaEFUczZPSkFkVFQwVkJKODd0bVJmV2p2d3FLeFpZR0MxX2g4MFd5SDktTWFfbTdBQ1FmRDVIQmVDeXRiblUxeE1lNEo1cllUNTRSQjgyc0RIM3h0ajVCaEZ2c0tLcE1SMXlvc0dRbmFIZzJqd3VPcDF3S29ZeGZiSWhRS3RXU3R4SmFYMlMyanV5ckIxbGQ4Ynh1OGtVbVhwelhsTk1WX1VVN1ppeTZzaWZ2dldabUpkTzJhVThrTWpjWDlzcFZfcmVfME9qQnF1czNVQWVseFg3VTZFX3JyYkhOYUUzR3ZDR2lZMi1wbWdRbzAwUGs0dElBRmwyckM3VXdrODlqTlQzSmRGS0ZITGFyR1A3Uk90MjNhWHFfZW9kMHhpazNELUVQOFBqUkh5M1ZZdkRlMGxQeHIxUkN4WXp6ZWExTllQT21BUWQ2R2laUjFvSVlJRGNJX0N4SHZDelNfdi1WNHNLcy5Cb25KVGdqZEdIcFBmM1RMd1NBM3lR"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '91233567-ab33-46a4-a10f-6bd306146876', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '11744' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7f1030e6-1fe8-45f2-8d10-533db0dd942a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '7bfee7fa-ec85-4e25-bd38-b4fbc4b45800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHFQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-","deletedDate":1565307166,"scheduledPurgeDate":1573083166,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/69596f58f6bf4a46bd6de9adad365ee3","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"r-5TxGgoon6qfkAVuLNM7hKgWU-aCmpSUn4lkOy5rNAvyOOua9pi3enRtIpaS_18--CzUrmAT5ozYuWDRv5j9P0YWiSyD6eUG0u1c_FAsR6DtJExG_sY3871sQQuBqPqwEw-RJEB4OGuHYpn_xugHNIk95h_LssZmCWqIdjrgWb9gLv-NxQ-VPrKL8AG1ZII2nr_vwuj78vMVX3j_oUeSffMaWEseqA0f0od-3H9JddBig4qvm1x9R4lM2jtkL54WwN3Ak12ibR4vN-hQLouA29f0k4P3Yd7AEskiq-B7Lc4vK6j6RAJp9bhIxBQ-ev5X3eBvOlmIr9hMGnC8lPxZw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307165,"updated":1565307165,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '04ac5f7e-1c38-4c8f-a163-a8eff3b64ed1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '891' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'de98d458-1359-44da-a0d8-d4b1f19cc5ff', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '07f7b480-e137-4dad-afe6-71db83c26d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHFgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:47 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '741e5b8f-4dd8-4212-900e-7b3a30ac4b4f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:47 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '29849b87-0b8b-42ef-a866-2d22b63cdd24', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:58 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1f53405f-3908-4d47-88fe-06abffdc3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHFwAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:58 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:57 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a57e78d0-f907-464f-8b20-899e052a3614', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:58 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/restore') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3a7ba8d6-8669-4d29-a356-7625317db934', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:58 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '93e14c35-2ccf-46bf-b7bb-fd402cd52e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHGAAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:32:59 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:32:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/restore', {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlBJRDB6VDFqY0hIX1lfZnBfUUExQXl4SmtPOU81NTgzUng5VjNvc0Ftam5KY0VaNHdfeVFXb280cEpjaFhHLXFqVklQUzVOMHJ0TXZzbHgya1ZPNjZEZG1CY0gwMF9FdTdyZ0Y0UXJtenJCQXBfTU83bkhfTlNfMExtb2RHVDlaN09JOWI4Zmw1OVhKSEFBY2dxRm56dTJMbHlsN3FoSnQ1TkNkNG9QWEQ1VVBwVWF1M3lHaWJhWHU4THJtUHVxNTJkOVhfei1VbVRLU3dWbkkyM2RtSkg2dlA5WGE4bmluZkJreWVsTGFhWXlnWW82NEhlU2lJU3l1QlloNVhFWENtMF94Z3c5YWVvZFZnMmxlV0U5YzVNYV9yMzZmUzcxSHZGdWM0ZUQ3Q0VpT2xZeHhveVNaVjA2SW52MUFaeUNzT04wanN4R3gxbHZSeUI1NElNYi1Hdy5IbWFPMXpfVkREbG9kcmNRM2JZUkJBLnR0UlVsNzdxRUYybVhpcHgzX09SS0tqSTdadFp1Y3AwMGszQW92Ym9oVXNqdGViMGFvQ3JvUGZjT0RMM0dFVzU2TzAwWUppSFJYVGJzeDZiN2h2MWxfcWhIREFoaG1PN0hDcnlCNVVQMmRzaHVBWnlhNEVEdTVxYkFGS2NGM1lER1BVZ1JQMUNzUHo4UDIydThUbC1jN3ptNDdVZGEzT3Y0LVFZY244MnJNa0dWUi1aczRqYVZKa25vQWkwOXdOdFg4bzFPbjctUU1WZDMtWTJqZFRhbW5NaUNfSkdMY0JyUWJTN2EwaWVPeXVkbnY0Wk1QM1Z5ajdzQTd4TGdYbzlwZU51RGw5b05nb0JPYjJWbWhCb1BBZzFGLWVFd3Mzb0U1TXBRM3U3M3Z5U0dSQUdQeDFGQzlRVVNLSC1lU09jVUxPajZKREhVUXA3bHRnZlVuZENKb2NXWmFBQzU5V0JzUGJSU0l3cW81VWo2WlFHbUVJMmxRYlB3WVFzWkQ3S2RraW5XbmpfZTEyU0VuVm56R0QyQ0QwejBHc1hENTNRUm5TWkJlQ2ZPSHNhWTNGN1lLWXhKWmx2RWw2SHNydzllN0FSaG5QNnpQZjVSUWRfWU5OZ3gtYTM0cEtUVkVQV1MwYTd6Z0R1ZWhEMV96eGdiSVJqTDEtT1pBd3lWN2ZFbnZ0a3NPZnpLb0ZJYVVISUNLb3VIRUo3V2l2bUR0Q0NmTkVabDVTQmdndWR2RzVyTWt1SlE4T1Z0Nlh0VE5YWk1zQm1EVDlTNFhsYVFmYmQ4bGtlNW9SdGxFWWxoLWZKQUpNTFhybldFMmx5ZGVrTkdTemUzS1hXU05hcjJEaFVlMjhSdVNFUS1GNGpacWpnQ3BURVhKb18zTVI1aGFNNlEySDlTS1ZGMkNxT09Yb0p0Z1dYeTBQdnJXRnNQWVNNdDV4RUh2OXVKT0Y5aDBySmxrbDVUR2hFRDl1V1hpYVQxWDdlVDJaY2hWVDdVbkNHcDVrOHhfUC1tUEZ2RFJhZWZWOXBuQkE1S3Fab0JjSmxhRG5ic054R3dBYlg5TkpickEwMFFXOU1EYWN0bUppTjJVOUFmY2VmUzd4UXRIckxDUzdQT2xNc19WdTg4akdnZmNRY2cwV1gwUDlXd2VaSHotUEQ4UVlxSUg2aXo2NWtDM2xiaFJPZFVjTC15dTBBM3VteUdhalZydmJzLWZMYmYxcGVKcS1CWVVTdUgzZm0wcDVGVHRNR05iUmtDQkhSMWZ2U2N1aUwyVWUwTWk1Qzg5dFg5Q3h0WFpkQ0tuN0VPclNGYURsSGg5NElhRFJ0X1VvX1hLaG5iZUl3ZjViN1lOcFN1d0hoY3lVbThoSUxtcF9fMW02SVVycnJTd1VqRUlmN0RGeVdWc0R3c3dHblNhMU9kbllBOTJkZTBlcEZLNGRvMERrejkxMjR5TWtaZEltaHJvQmlvdEUzNWg1Q0w5RmVpTVBxQ2dZci1nYjlWdU9LQUw3R05Ic0M1bE9KU1dWaUFWU0U4Wm4wRUF0VGVwdk5BVlA0X2tEVFFfVnpfVEN3Z3dMdDVMY0VTckk2RGptMlV1WVp4X0JTd1RYUFlSd2VQNFpvU1hyZzh3UFlZTGtnbFpVZEdiVFB4NmpUTU1kUkE4cHBGRjFqakFEWmgxZk55ZXBtdk1kazFoLTFRcUROTklWRUx2R3Fwc1BfOXkwMkQ2aHdPd25yS1NJelJpZmlsUHBfSklhS0hpZnU4N051T3Brcl80U3BsZGsySnFGemZ5QmIzQ1lNM09GZVRCLWpSZTBqQ3FaaDhLazBMZkxYT3hIeGlvLWI2RlZMcXM3VDE1SmNmX0RITTY5R2ZHSW56Z3c4SV9jbC1Ba0hDQU5nS3lJTTNHeFRvQm94V3BYNFhnd0k1MHVvVDRmV0pOc2xCOUotZ21iZmwtd3FGZjdkVnRtYkdKS2NBOEhqaWR0dDVRaVcwZk5wRDU2bkZWSTVjTVd1QkpYV0NKbFhESXllMXRHem83NkVBeDcyTEFnc1JkaTRkejFZZEFfZEtqZk1uc0VMYWRoanJtVTF2U2c1LXBfUGRaa0tnNWRHMVFUelM4UmtsR1FQODJBTlZSc0p2b01CVmE1VndhLXhnbGZNMEg3T2dVclhlN09kT0h1OFQ5MjJ0STctQi1iLXE5Yk5DMjhZOEVlSWpPWUZVV3NYV2RnZ1hHeHBYeVlCU1I0OTRZTmMxbmVyc1pwVy10QnFEeWFWazRTMDduQ283SmlDNUxEZnZBVkdtazJVRkwyb19BNC1RQXJiZXdWVUV1a0dCLTQ3bnNaR05HQnJBZ3p0SjZfMzFHME5tUHo0bzU4MmkyZjJvTk5MSWZPVlR1aFBrQk1Id1pOaFFjcjA4TEcxcUNWUC1kQm5vLTBVR0NQdE1NYlhwNl9VSlhjOVNqQ0NTRmtSWWR2d3dLeGduTXhUZGVwaEJzMGpRVGd6czBGOWl4VG9YMGtranEzV1RPbGRTLXdoMk9LakdCd0UtRUlnc09uODZRSzVBQ0p2M1lZN1NWUURFcDRqRWFWWjRPQlY5VnJBZHlXbVBlWUo4ZGQzamMteGRCVU1GNUotakxVbWxJdy02LTNFWlFfREJYU0VSS0ZCYWM5dFZtSDNpRmlfaWM0UXRwb0dFU3lGMFRkaHBWMjhrSDQ2MlhqcXl3bmRUcS1MTWlrSml5MHoxbzI4cUJRUDVjMlU2R0dFWDFyTk1zWGJkLVZ3VFZVRUZib2VhVGV2ZnRPVHlFSVJQcUZGZTJwQ096RUJZaVRnOUZ4bk5OYmZvbGxqWWR1QmlPQ1UxTl9abXB1RVJQZGpGcVZnX1N6Y2NfckxJR0wyRl9vTDM3cmN2dEZ1S0R4RlBxQkQyNHdCSmdyMG03Q1I3MUVuSjNJS1E5MU5tRWYzdnYzTURkbS15UUVNdTFLRVQtaXNzNDRyRVhzeXV2bURsUGFTUkIzZzM5dDVhYVRtUmc1NEJIYkRzdDN0MU5rcC0yRU85bThXamlISmlrd1hKMmJBWjV5WWxuTUZxanZELXhOWV9pLUlZQWFHMXRxQndUdEVwaHEwXy15NUtVX0JiN2lqbjd4aUVkRnhEQUluTzBHZFdvbS1LTlVNT3h2a1FIM3pkS3dHNnNQSmF4VEYxalRJczAtb2xueVBBdGtudmZ2MVd4UFhPNktlajFJN25pdmhOMU14RjVUeXZNUTFCWkMtQVdOMDM1Tkd4QkZNcTZBSHAwODZVQ2d0MzNyNEs3MDZkRGNIYmNwZ0VBbFhhSEhCc3hORDJPWnQya1VuNjFjTVZRcTJjUGpZbGR2SjJCT3Y1UzdLa0J1TmFiV1lOV0tZOGJSZndNLUZHZ2dYQlY1aEU3SlNsR1pDOHo2OGhfVFFtSVBtekJIaEctTV9SLUZ6NzR0RlhLaHhxNnI0OTZLSmU5VmlPelNfR2Q0WmlvYXRoUTF0dllVNDQxNjZDS2lNZWxXRGFSZFJLTDFZLW1VcEY1SWtlNUx2QmFiMVpseTJPbHJsTGl2NTcyV3pMazBHN05OTlVwQTZsV1pQejc0UEd3MDktUkpxcThTdlFaZUtSM29wX1EyTWsxcUJFZURzS1pFYndKR3BjUFROQmNVbXlBbUdYUndDUTUzRG1za3l4a1o3ZGg0UTVYblNDbnJHalRuWG5GenZpaGMxamkzcTBqRzF2NE1pRnA3Z1BKSzg3R19XUHVqaTY0bEJDb0hVdC1jUDZZTXZ4N0xGNFl1TzQwSjdkZmNGbl9RQVNfQnFhWnBtWUI2ODR1UldnN1FDY21sQTJ6ZGZQWkdPRS01RVYwV0FoSFVRMWdvZTFYWFQxdnJKN2QtWnVvdjJYSFVxcmY4TGZiSDQ2N21LVVdkZHgwcFFLeEtHVGdtQTYtNEZIaWVCeTBUNTQyYUNPWDdYak5fX0JwWkVlUTNBc2k1Ul92eHBmbC14RmpPSHNyb2NiazZ4YXlEREtLTTRLNWhwZXljcGxzamR2Wi1jV2M5dU1fempCdGcyU1NQVk43Z1hOd2FWN1VTajhWZ09oSWxveWppSHpTclBTbTkwdmNCT2w5M2tlaHR0bHlHb0NyMmdSWWpfSF9CWjl1RVRCLTQycDlFOXBpNnhPcVRiZmZkUi0tcmp5a3ZVSWxQdEhiWjFhMlR5Z2dvYUVEMkg1ekdtSm5xc2hoQ1Y3LXNtbWcxNERiQlkxX2ZMNDNLNjlZeUZxVDA3TFoyd2RNRFhCdTN3V0txRVhtdmZURVBCMUs3eEtfcmZNSTR2UXRBZkxYejhNbVdmblhUX2NoTHliV2hfYWEzbS1la1ppRndJVlQxNzNjVmMtYWlfR2p3N05Fc3Y0VEZ3OGlXT2NIQ1A2YjY0bjNDMlJjbFZzMUhiT18zc0l1RXlGNWpHcXh5RUY4V2FQRzhYVDZxY3J3dGZIcU1iMlFDdG1fMmNVRW9ZM0xoOEROa0dkT2dHeUVoMFl4TTFiVDlPYXBEdGFzZklwMTZmMlpvN1BpUW5jcW5GYTRta3I5LThsZDd3VWdiQ1k0eG5HRnpCd1pmN1NkWUZLeXJnU0lkT2N3aTRvcGpONGFQdG52djZDOFducVNGeG42ejFIOC1RUmV1eWJ0a2UyZ3Z3bC1rV01VNGZtczVUYUFrWlpvQmpJYmhzYXcwN2N1aUE1RVViQWZBZHBkajQtdnJRVXRDeDA2U3V0dWI4QlJ6a085QUp6TlFiaDVSZ1UtNTYzZ0lwQkE4VzJvYzdVSkNHSmxKOFQydDJSb1JNVm9RZUNUYkVKcmlUZUp0ZVAtbmdWazVVZlBGQS11ck9nMG9RM0ZxcnVkVlU3eVRxNFZaTzFmMUhJNlA3c19WWkt6VVZOQ05jVndZeUE4MWlGZDF1eVM0THNMckZ4OThXeGZkN0Z3Tml1Wm11eTE2WHhWcDkwekFxWlcyN3I5UHNDS2l1MnZjY0RJa0xWQlJhUlhhZzVlczgzU0FlN0ZuU2k3akNJTWhKWUtPT0x5NlhwVVZlWWU4VWNJRWF6bmpqX2JOZlQtcEhFZUhfLVlQN0U3MUVrWXpUVzRxeG9yNEVVcnZqWFhmUGJQaklYM1ZMS3RuTUN4d1R1TGJjUmx2eXZDVE5kMDNMUHl2RGJoRUtNMW5tcXpkeGpaOFM5V0o0VUJVY09rcTBiaXFfVlhmZHVnQzIwbjlSTFlWWUhlSG1TNU1HMVN2Tm9Zc3VJdVprWmppaW1mZmJIQWFaSGhNN2pqajVIN3NuWFVpVWIzQUVjVVREeUY3UWRzUk9LWWdDSnZvOEN2ZXQ4N1h2NWNVNi1GZTZLZG1hMnpkODEtRk50NEgzb0xBbmRQTk43bzhPX3NONEpSV2V5VXNORF9EMDlGMTRaWWJocnhSM0NHT1FwYThMalFKSm5DQmVObU13QjNIZFVhSmZXZVJfLUIyOUdnTTB5cWhYSk4xRmd4S0ZPNllYZFdvQ0sxblNEdFpNR3dpeVVjN3ZEdXRReTFCV2pCZnRSQ1laVDlZdW55YnFCck5mczd2dkFwS3h5ZUpLTGQtNnMyLXVOTFZXNC1YdnJCNjR0dnBzb2V2SHVfZ0xJZXZtMVJRNk5yVmUwUzVnYm9qSVZtSk0tM2dDQnl1b0RLRHg4U3pjaURXdS1aUnJQR3NDWUw1dEU2SXFoR0RiOGhlSFhyclp6alBCaEhEYmJmeE5OUmZZWlkwMkxkUDN2U0FZdEluMVQtTEFEbjBnaWctSGstRDBIRE82MFoyXzIwWXduOFVMMG1ldTcwWDZjZER2R21BM002dTU5bUhLczV1WDJCR0tzM3RhYlh5UUVfQVBFWmE2OWljc0RMbTZUZ0xRSE1XRGpnY0hZQzVDOWhHSGw1ekN0ZlMxd3JSXzhNRlRhWm5lY2VPMlh6c2Y4WE5OMnJLT00wbElXbTNLeGxFNUxOWmxIMmpvaHljUWszUlRNcGk0ZndpYXpaRVd5dklwcDZwTGdnQ1c5WmNlQVZ4WU5Nc2NKb0w1ejFnM0ZSRGlxMjQxVDA2NEE2Q2pTdlg5cmc0WkVHZU5SNExGQnNmZm1IbTF0aHU4MGlxaEtKSW4zTHpjVjFralF1R2VfN1BsM0JNeU1HOTNuV09NaWJsR0ZXRmZlaThFaEZJM3lNMmd0ajV4Y1czQ3ZZX0hmTHFUdWdnTG9VN2FFcTJ1WlRTdm1VUmFHQ3EydUpTd3oyVTVjNGJMWEYycHhpNUNyUXZlVGFGd1cwOEp5aEQ2MUllelFVWFlIcHRZX1I3alk1UTREU0d0Tl9pWVVQUU0wWnBmY2pCeDZNeUJaXzdrUXBtaWZ2UGJaT0JqVEdJdjlpWkY2TFZxNDJPdTNIbC0tbDZxNHpFSzJaZXFJa05xeXhLMUdFN0JBRUF3LTN3ZFJtbWx0czBncDlKaFRLYUQ1cXlrMEV4OEM2SU0xMVVMdGUtYmpfOEFmSFpLdGs2eTdHTnBMYk9KTUEyLUVIWEZWc29SY2s5dFNhNFhRV0UtLUlKVnp1eFVSUXM1OG9wU29RcHVqQ2RFc2RDa2toeGNjcUJZY0NycXduZHNlMWNUS3hOUFY4YlhySlFVbkhJT2JEa0wwbW85d1FNYWZReWNfUElIUVVBb0hJZGNQTFliV0hxSnM5NVdpQnlNSHcxX1lieVdlaHhmcERBSS1NdFlMS0xPRzRNVmY3VVdkR0VkOWY5RUNWclg2dWVJMHhweDJHSHVLRnpyQXN1Q29pcUVERlBNSDFEOFZSSHZEWEdYSm44TE9mSE9aVGZkSG1QS0NOZUpMSWFKdVgwak53THFnY0MzaDF5aldlU29XdFBNZ3Nla0NaUXVFRWNCNHRaSWtLUnVCNE5oVDRFYTM4ZzVFZDhGak9KLU1jelBHNzlkcXc0aHZvMmJDZVRzTUJudlFYSGxUTFNsbnYtdmFXQlNpRDlwVTFoaUNRX0UzZFR6UlktdW1LNTBKN2d1Y1BoN0VuTll6Y21Rd19Bb3RYX1pmWkMyN1JFNTVON1UyR0FFMmlVWUUzeWg4S1VnZUhzUVRrTVljZURRYmtZdlNadXlCSTh3aEZ3WFJ6eXZWZU1PcXFMNGYtaFRTY1QtU2pYNXdERk55N1hJckhxVkVxZ2JWa0IxVWVqWjl0ZGg2bDJ4SkVLVnhaYklFMHZXY0pKa1lldzRkUUFBSk1GRklJZWlSeXNfLUpjb3N2VGdoVEVRbE5waXpRczUydEdjSzZFOFBybk4xREVYX0o4SENaRGxUS3lsWjc3Z1BjZmxCbldCbWVJZWJaQ0YwLTRpVG1iQ1UxT3VQVzdxMnd5dmVfanRTZkp0QzBFQkZwTDNaTUstT1VrLXA5X1FDQVA5YjJObld0STEwYjhxV1Faa2VyU2JxV3NFdUMwSHBDSExpOGJ4RTc1QmFGc0R4U0gyUDVScDNDUEFERHRzczlrM2l1X2haX0FlX3l5bXJnTE8xQkw3bkQ4S0Q0QXVVVzhDMlRLQ2FlX1pXVi1vb21BQTJNYWgzOXBaTDRpaDN4MHlQN2FGZ25tOXU5UEFCRVlqR2YzWUFwOFZiYVR5WURXT2czZ21RampXVDM0YXI5dVl1ZEVkOW5aYzBQUnhrWmZqOEZpY1J3YUNETk5LazBHb2ZqTnVGZGtmdkwycmZzdlNYTU5SYXRQWjh5amN1SjhxaGFBb0tBVktzaWpBYUxKbVh3VHo1d1U2VFM4RU9xRTM2eDlJa2d2UEpPNHZmSGdhVkVfQ2JKTk1lUndjT3ZoM3JzVGU5bzlqOEczaGh3Y1A5Y203S0hub0NzdzlkcjdVM1FaOWw4V0NKUWx2dElPSHQyeHJ0OW4tVEpiam00SHRmeGtKQ3BnMVVTeVdQUTVHckNic2tRaWpFQkI5YUFlM18yQ0pXWUFZQlJkdUdhZGpCYXR3SHN6YU4wRDJ0QUFtUUJPaUdzNzBjUTdHSVRvRTN0emdVZWpNckkzcUVTVWFGa1FNdVZWOVRXaVZkaS00SnR6anBiNl9LazNaakNMVHRfNWc2YlVQTHp2b0MxZmxaYmZrai00bGNsSDAyVGF3U2otRElnSk8xZHo3ZnNrYlYxTEoyZnBYUkh6UEtNcnp2TVMyYUdhSHRDX0N3RzV3TzZzdkQyMTZ6clNUWk5lS0tMaFk5WTNSbWdocXRyRWxSa2hJZUZGM3FpZUlscDNxeVhJMkpyREpITEVJRm82dzVod0dGRmdEc1BXbTFvYU5meWRpOUZaOW1kWUdEcDkxYlk4S0x1Y3FwTWU5VmtqTHp3bXZnNTBESWUzVlRkbHFGdjJaME1QbDNGNm50R2FqSEpKSzcwak9ydjVVN2JMbHc5ZzdXMFZfQWpndkd6REhqMkwtSjF3U01FdnhQV3M1VGt4eXNCMVh1QWtEQzcwekloRnJsRk5NeW5hV1I4S0ZTWFpWeTVMT0FpVDdhYWZqTXFiVUhEWDkwQWd4dExsQVJVb0w5N1R0T0xWdnZyVHRfMC1ETVZtaTB4Tkc5V0s3OG5uRno3b2llbGVyM19RaVBTb0xFNU9Qb2dzVDJuYXlfc0FBUkhuSTVPVnpkem5VQTdFTGRzOS1sZUhueEhxMlpOcWppTmxrcURRbkF1QVAyNlg4bllLTGs4alpoclpLVV9kY0VoUG01d29zNVNqUUVOSXEyTkd5QzhGYzg1WDJwZkZKX3pRWEkxT29sRjZvUUQ4cUw5NGR6U0pEdm54UGo5bWdWcWNGSWVpelhuOVU4MTc5ejVLaWxWWFdNdV9zcUdPVzd3N1U4Y1RqS3h5eXZKSFhsSm8ycHItdTFGaG9SX1FuMmpuOFJVSVoyOGZWU1FFaHc2c2pGb1RaQzVUYXpkcEpaOXlmOWt2bVp0Q2c3cHlTeGFjbGs3MThxVTEyVHF6dm9tNUUzdGZ0WWxqZGxrZHBmdk1QYWJrNHR1Mk9aZkpYblVDRV9KQnNscEhlWVRmVzJja2Y3TWdsb2JCZDVzNDNNYTRKUldrZTNpb0lRWnpmNGNQb0RxaWVIMUw4ZUpFOWZSclZabEMtWldpSlZSTWQxQXFDTU5Ua3dxempTUHRJZWI5VHp2ZVVPaGNsMGhjWEx6MzFneExGd3NfOWh3Qk5wMWpIeVluakIwTEdSMWo2RC1JOWFZb2pCZWctRS00YmR2dV9oWWZKNjZGdFhpeUZfV1czOWVCaUx3ckRlMGFXcU53MVRVM2tHeTNFQnMxVTNXNHB5cDdwQmdPQUdiUS1KdXFpSjdOc2VRQ3BiMUw0bHh2clJURm9NT2pUXzgwalZqUWdnMk4xNm5mM1c2R0RZVTdxNFNxWENld0hFb3BINDRkVDI2a0hBUy0yUjFVcUlIMTZmZ3hlRmY0RlUzeVZlTmZSbTVLQkVvVkVRU0xVaDN2UFdESVFYRmhuUmc0SnFfS1dWNTRSNGt6RW1qRVA2Mlh0MkNHc3VFQ3ZJamY4NnJ5YzdQazV3QWczdHRMN1pxRVIyX1hJa2pfMzNmemFEVVV3MzRQYTdSUUtzTFNadm9kX3pJZi0zRk1OcEpSZE95LUpGRWJ3TXJkemNsdDBackZaYzA2SG9GYXEwTGNTMW1NUHNudlVEZnRhb0dBTFN3TV83UUlBOHVfREU1eHR4R2cxMWhrU2hxbEkzN0x1MjQyTV9haFNGVWpHMzJuOUVMMjhLSHZTcEMyZWQ5bG9yQ3A5OGVVejhySFE4ck1ZcDR2ZUEydUItN1hXM2ZHR2JyUjdWVmVfZ1c2ek1uZjhlSTN3aHlPdXFJUVFtMVE3X1ZCbmhRUmFWUmE0Y0ZJRkxwaXh2dVktN09SdnhrckpWWklIRTZmNVdKUGFyUjV2OTc0SWVxMWthSWxKaGxUU2VQbl94cGJJdzN1UlVJZklwS2dDMTV5Q1o1RGVZRlFKQ21JcjFvUkl4SjREbURxNUw2emRuTVdJRDJUNEE4TUtteC1CZWpqRGxNWHJTSUJYQmhDano4a21SeTBfUnJYWU9yWXNGeTJzZkJnbGNiU2luaEtVN3hnQUFuOEUxZUhEOUpDanVZU2VNRVY0T3c1enllRE13SEUtZ2JnZ1R1SXllN3U2UzFJbFJHYTJ6SUdkY2tOeTdIMldJWVowc2dzbTd4UzF5WVJtNDhVZFZsQ0ZMSmNYb2IyZW1COGdZYXlHUmNSX0kxXzNaenJEQUJQZEFaTWZMNlhaSXlqQW9UOTN2c2ZRUlktZl8zTGZEcEp1ZU5KM0M0VjZUdFVPY2oxc19ITmVlNFVYSXN5RW9GS1R3WU5SXzBYb2Q4aGxYMUQtWUprb0trTW1DdVBSWTFnOXRna0cxdEd5NEp2UlZfQmVZSWVoNVpvSnBkY3BueXNRdS0yTEg4a19iWXplRmNLOXpaSFRGdlFkbGpKbkVKdi1OTmlSWFpoVG9vZmZlV3lDUEE1TVY3bXAwYm55elBsdnNLRkQzUXVWNlMxOWxXcWR0T2RLdWp6ZWRJTThoOVdDTmh3NTJFRFZhdUljQ0ltdl95TkYyWHNreEt3SWQ0c2sxWDdFam90UWJsMHBSaEFUczZPSkFkVFQwVkJKODd0bVJmV2p2d3FLeFpZR0MxX2g4MFd5SDktTWFfbTdBQ1FmRDVIQmVDeXRiblUxeE1lNEo1cllUNTRSQjgyc0RIM3h0ajVCaEZ2c0tLcE1SMXlvc0dRbmFIZzJqd3VPcDF3S29ZeGZiSWhRS3RXU3R4SmFYMlMyanV5ckIxbGQ4Ynh1OGtVbVhwelhsTk1WX1VVN1ppeTZzaWZ2dldabUpkTzJhVThrTWpjWDlzcFZfcmVfME9qQnF1czNVQWVseFg3VTZFX3JyYkhOYUUzR3ZDR2lZMi1wbWdRbzAwUGs0dElBRmwyckM3VXdrODlqTlQzSmRGS0ZITGFyR1A3Uk90MjNhWHFfZW9kMHhpazNELUVQOFBqUkh5M1ZZdkRlMGxQeHIxUkN4WXp6ZWExTllQT21BUWQ2R2laUjFvSVlJRGNJX0N4SHZDelNfdi1WNHNLcy5Cb25KVGdqZEdIcFBmM1RMd1NBM3lR"}) + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/69596f58f6bf4a46bd6de9adad365ee3 - key already exists or concurrent access"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '249', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7996778b-5388-4413-85d2-db22c1281cb7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:32:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/restore') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8c2330b2-6e43-4efa-80c5-0c2c455b87b6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:09 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1fc70154-0cc6-4704-816a-7dec80ee2900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHGQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:33:09 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:33:09 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/restore', {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlBJRDB6VDFqY0hIX1lfZnBfUUExQXl4SmtPOU81NTgzUng5VjNvc0Ftam5KY0VaNHdfeVFXb280cEpjaFhHLXFqVklQUzVOMHJ0TXZzbHgya1ZPNjZEZG1CY0gwMF9FdTdyZ0Y0UXJtenJCQXBfTU83bkhfTlNfMExtb2RHVDlaN09JOWI4Zmw1OVhKSEFBY2dxRm56dTJMbHlsN3FoSnQ1TkNkNG9QWEQ1VVBwVWF1M3lHaWJhWHU4THJtUHVxNTJkOVhfei1VbVRLU3dWbkkyM2RtSkg2dlA5WGE4bmluZkJreWVsTGFhWXlnWW82NEhlU2lJU3l1QlloNVhFWENtMF94Z3c5YWVvZFZnMmxlV0U5YzVNYV9yMzZmUzcxSHZGdWM0ZUQ3Q0VpT2xZeHhveVNaVjA2SW52MUFaeUNzT04wanN4R3gxbHZSeUI1NElNYi1Hdy5IbWFPMXpfVkREbG9kcmNRM2JZUkJBLnR0UlVsNzdxRUYybVhpcHgzX09SS0tqSTdadFp1Y3AwMGszQW92Ym9oVXNqdGViMGFvQ3JvUGZjT0RMM0dFVzU2TzAwWUppSFJYVGJzeDZiN2h2MWxfcWhIREFoaG1PN0hDcnlCNVVQMmRzaHVBWnlhNEVEdTVxYkFGS2NGM1lER1BVZ1JQMUNzUHo4UDIydThUbC1jN3ptNDdVZGEzT3Y0LVFZY244MnJNa0dWUi1aczRqYVZKa25vQWkwOXdOdFg4bzFPbjctUU1WZDMtWTJqZFRhbW5NaUNfSkdMY0JyUWJTN2EwaWVPeXVkbnY0Wk1QM1Z5ajdzQTd4TGdYbzlwZU51RGw5b05nb0JPYjJWbWhCb1BBZzFGLWVFd3Mzb0U1TXBRM3U3M3Z5U0dSQUdQeDFGQzlRVVNLSC1lU09jVUxPajZKREhVUXA3bHRnZlVuZENKb2NXWmFBQzU5V0JzUGJSU0l3cW81VWo2WlFHbUVJMmxRYlB3WVFzWkQ3S2RraW5XbmpfZTEyU0VuVm56R0QyQ0QwejBHc1hENTNRUm5TWkJlQ2ZPSHNhWTNGN1lLWXhKWmx2RWw2SHNydzllN0FSaG5QNnpQZjVSUWRfWU5OZ3gtYTM0cEtUVkVQV1MwYTd6Z0R1ZWhEMV96eGdiSVJqTDEtT1pBd3lWN2ZFbnZ0a3NPZnpLb0ZJYVVISUNLb3VIRUo3V2l2bUR0Q0NmTkVabDVTQmdndWR2RzVyTWt1SlE4T1Z0Nlh0VE5YWk1zQm1EVDlTNFhsYVFmYmQ4bGtlNW9SdGxFWWxoLWZKQUpNTFhybldFMmx5ZGVrTkdTemUzS1hXU05hcjJEaFVlMjhSdVNFUS1GNGpacWpnQ3BURVhKb18zTVI1aGFNNlEySDlTS1ZGMkNxT09Yb0p0Z1dYeTBQdnJXRnNQWVNNdDV4RUh2OXVKT0Y5aDBySmxrbDVUR2hFRDl1V1hpYVQxWDdlVDJaY2hWVDdVbkNHcDVrOHhfUC1tUEZ2RFJhZWZWOXBuQkE1S3Fab0JjSmxhRG5ic054R3dBYlg5TkpickEwMFFXOU1EYWN0bUppTjJVOUFmY2VmUzd4UXRIckxDUzdQT2xNc19WdTg4akdnZmNRY2cwV1gwUDlXd2VaSHotUEQ4UVlxSUg2aXo2NWtDM2xiaFJPZFVjTC15dTBBM3VteUdhalZydmJzLWZMYmYxcGVKcS1CWVVTdUgzZm0wcDVGVHRNR05iUmtDQkhSMWZ2U2N1aUwyVWUwTWk1Qzg5dFg5Q3h0WFpkQ0tuN0VPclNGYURsSGg5NElhRFJ0X1VvX1hLaG5iZUl3ZjViN1lOcFN1d0hoY3lVbThoSUxtcF9fMW02SVVycnJTd1VqRUlmN0RGeVdWc0R3c3dHblNhMU9kbllBOTJkZTBlcEZLNGRvMERrejkxMjR5TWtaZEltaHJvQmlvdEUzNWg1Q0w5RmVpTVBxQ2dZci1nYjlWdU9LQUw3R05Ic0M1bE9KU1dWaUFWU0U4Wm4wRUF0VGVwdk5BVlA0X2tEVFFfVnpfVEN3Z3dMdDVMY0VTckk2RGptMlV1WVp4X0JTd1RYUFlSd2VQNFpvU1hyZzh3UFlZTGtnbFpVZEdiVFB4NmpUTU1kUkE4cHBGRjFqakFEWmgxZk55ZXBtdk1kazFoLTFRcUROTklWRUx2R3Fwc1BfOXkwMkQ2aHdPd25yS1NJelJpZmlsUHBfSklhS0hpZnU4N051T3Brcl80U3BsZGsySnFGemZ5QmIzQ1lNM09GZVRCLWpSZTBqQ3FaaDhLazBMZkxYT3hIeGlvLWI2RlZMcXM3VDE1SmNmX0RITTY5R2ZHSW56Z3c4SV9jbC1Ba0hDQU5nS3lJTTNHeFRvQm94V3BYNFhnd0k1MHVvVDRmV0pOc2xCOUotZ21iZmwtd3FGZjdkVnRtYkdKS2NBOEhqaWR0dDVRaVcwZk5wRDU2bkZWSTVjTVd1QkpYV0NKbFhESXllMXRHem83NkVBeDcyTEFnc1JkaTRkejFZZEFfZEtqZk1uc0VMYWRoanJtVTF2U2c1LXBfUGRaa0tnNWRHMVFUelM4UmtsR1FQODJBTlZSc0p2b01CVmE1VndhLXhnbGZNMEg3T2dVclhlN09kT0h1OFQ5MjJ0STctQi1iLXE5Yk5DMjhZOEVlSWpPWUZVV3NYV2RnZ1hHeHBYeVlCU1I0OTRZTmMxbmVyc1pwVy10QnFEeWFWazRTMDduQ283SmlDNUxEZnZBVkdtazJVRkwyb19BNC1RQXJiZXdWVUV1a0dCLTQ3bnNaR05HQnJBZ3p0SjZfMzFHME5tUHo0bzU4MmkyZjJvTk5MSWZPVlR1aFBrQk1Id1pOaFFjcjA4TEcxcUNWUC1kQm5vLTBVR0NQdE1NYlhwNl9VSlhjOVNqQ0NTRmtSWWR2d3dLeGduTXhUZGVwaEJzMGpRVGd6czBGOWl4VG9YMGtranEzV1RPbGRTLXdoMk9LakdCd0UtRUlnc09uODZRSzVBQ0p2M1lZN1NWUURFcDRqRWFWWjRPQlY5VnJBZHlXbVBlWUo4ZGQzamMteGRCVU1GNUotakxVbWxJdy02LTNFWlFfREJYU0VSS0ZCYWM5dFZtSDNpRmlfaWM0UXRwb0dFU3lGMFRkaHBWMjhrSDQ2MlhqcXl3bmRUcS1MTWlrSml5MHoxbzI4cUJRUDVjMlU2R0dFWDFyTk1zWGJkLVZ3VFZVRUZib2VhVGV2ZnRPVHlFSVJQcUZGZTJwQ096RUJZaVRnOUZ4bk5OYmZvbGxqWWR1QmlPQ1UxTl9abXB1RVJQZGpGcVZnX1N6Y2NfckxJR0wyRl9vTDM3cmN2dEZ1S0R4RlBxQkQyNHdCSmdyMG03Q1I3MUVuSjNJS1E5MU5tRWYzdnYzTURkbS15UUVNdTFLRVQtaXNzNDRyRVhzeXV2bURsUGFTUkIzZzM5dDVhYVRtUmc1NEJIYkRzdDN0MU5rcC0yRU85bThXamlISmlrd1hKMmJBWjV5WWxuTUZxanZELXhOWV9pLUlZQWFHMXRxQndUdEVwaHEwXy15NUtVX0JiN2lqbjd4aUVkRnhEQUluTzBHZFdvbS1LTlVNT3h2a1FIM3pkS3dHNnNQSmF4VEYxalRJczAtb2xueVBBdGtudmZ2MVd4UFhPNktlajFJN25pdmhOMU14RjVUeXZNUTFCWkMtQVdOMDM1Tkd4QkZNcTZBSHAwODZVQ2d0MzNyNEs3MDZkRGNIYmNwZ0VBbFhhSEhCc3hORDJPWnQya1VuNjFjTVZRcTJjUGpZbGR2SjJCT3Y1UzdLa0J1TmFiV1lOV0tZOGJSZndNLUZHZ2dYQlY1aEU3SlNsR1pDOHo2OGhfVFFtSVBtekJIaEctTV9SLUZ6NzR0RlhLaHhxNnI0OTZLSmU5VmlPelNfR2Q0WmlvYXRoUTF0dllVNDQxNjZDS2lNZWxXRGFSZFJLTDFZLW1VcEY1SWtlNUx2QmFiMVpseTJPbHJsTGl2NTcyV3pMazBHN05OTlVwQTZsV1pQejc0UEd3MDktUkpxcThTdlFaZUtSM29wX1EyTWsxcUJFZURzS1pFYndKR3BjUFROQmNVbXlBbUdYUndDUTUzRG1za3l4a1o3ZGg0UTVYblNDbnJHalRuWG5GenZpaGMxamkzcTBqRzF2NE1pRnA3Z1BKSzg3R19XUHVqaTY0bEJDb0hVdC1jUDZZTXZ4N0xGNFl1TzQwSjdkZmNGbl9RQVNfQnFhWnBtWUI2ODR1UldnN1FDY21sQTJ6ZGZQWkdPRS01RVYwV0FoSFVRMWdvZTFYWFQxdnJKN2QtWnVvdjJYSFVxcmY4TGZiSDQ2N21LVVdkZHgwcFFLeEtHVGdtQTYtNEZIaWVCeTBUNTQyYUNPWDdYak5fX0JwWkVlUTNBc2k1Ul92eHBmbC14RmpPSHNyb2NiazZ4YXlEREtLTTRLNWhwZXljcGxzamR2Wi1jV2M5dU1fempCdGcyU1NQVk43Z1hOd2FWN1VTajhWZ09oSWxveWppSHpTclBTbTkwdmNCT2w5M2tlaHR0bHlHb0NyMmdSWWpfSF9CWjl1RVRCLTQycDlFOXBpNnhPcVRiZmZkUi0tcmp5a3ZVSWxQdEhiWjFhMlR5Z2dvYUVEMkg1ekdtSm5xc2hoQ1Y3LXNtbWcxNERiQlkxX2ZMNDNLNjlZeUZxVDA3TFoyd2RNRFhCdTN3V0txRVhtdmZURVBCMUs3eEtfcmZNSTR2UXRBZkxYejhNbVdmblhUX2NoTHliV2hfYWEzbS1la1ppRndJVlQxNzNjVmMtYWlfR2p3N05Fc3Y0VEZ3OGlXT2NIQ1A2YjY0bjNDMlJjbFZzMUhiT18zc0l1RXlGNWpHcXh5RUY4V2FQRzhYVDZxY3J3dGZIcU1iMlFDdG1fMmNVRW9ZM0xoOEROa0dkT2dHeUVoMFl4TTFiVDlPYXBEdGFzZklwMTZmMlpvN1BpUW5jcW5GYTRta3I5LThsZDd3VWdiQ1k0eG5HRnpCd1pmN1NkWUZLeXJnU0lkT2N3aTRvcGpONGFQdG52djZDOFducVNGeG42ejFIOC1RUmV1eWJ0a2UyZ3Z3bC1rV01VNGZtczVUYUFrWlpvQmpJYmhzYXcwN2N1aUE1RVViQWZBZHBkajQtdnJRVXRDeDA2U3V0dWI4QlJ6a085QUp6TlFiaDVSZ1UtNTYzZ0lwQkE4VzJvYzdVSkNHSmxKOFQydDJSb1JNVm9RZUNUYkVKcmlUZUp0ZVAtbmdWazVVZlBGQS11ck9nMG9RM0ZxcnVkVlU3eVRxNFZaTzFmMUhJNlA3c19WWkt6VVZOQ05jVndZeUE4MWlGZDF1eVM0THNMckZ4OThXeGZkN0Z3Tml1Wm11eTE2WHhWcDkwekFxWlcyN3I5UHNDS2l1MnZjY0RJa0xWQlJhUlhhZzVlczgzU0FlN0ZuU2k3akNJTWhKWUtPT0x5NlhwVVZlWWU4VWNJRWF6bmpqX2JOZlQtcEhFZUhfLVlQN0U3MUVrWXpUVzRxeG9yNEVVcnZqWFhmUGJQaklYM1ZMS3RuTUN4d1R1TGJjUmx2eXZDVE5kMDNMUHl2RGJoRUtNMW5tcXpkeGpaOFM5V0o0VUJVY09rcTBiaXFfVlhmZHVnQzIwbjlSTFlWWUhlSG1TNU1HMVN2Tm9Zc3VJdVprWmppaW1mZmJIQWFaSGhNN2pqajVIN3NuWFVpVWIzQUVjVVREeUY3UWRzUk9LWWdDSnZvOEN2ZXQ4N1h2NWNVNi1GZTZLZG1hMnpkODEtRk50NEgzb0xBbmRQTk43bzhPX3NONEpSV2V5VXNORF9EMDlGMTRaWWJocnhSM0NHT1FwYThMalFKSm5DQmVObU13QjNIZFVhSmZXZVJfLUIyOUdnTTB5cWhYSk4xRmd4S0ZPNllYZFdvQ0sxblNEdFpNR3dpeVVjN3ZEdXRReTFCV2pCZnRSQ1laVDlZdW55YnFCck5mczd2dkFwS3h5ZUpLTGQtNnMyLXVOTFZXNC1YdnJCNjR0dnBzb2V2SHVfZ0xJZXZtMVJRNk5yVmUwUzVnYm9qSVZtSk0tM2dDQnl1b0RLRHg4U3pjaURXdS1aUnJQR3NDWUw1dEU2SXFoR0RiOGhlSFhyclp6alBCaEhEYmJmeE5OUmZZWlkwMkxkUDN2U0FZdEluMVQtTEFEbjBnaWctSGstRDBIRE82MFoyXzIwWXduOFVMMG1ldTcwWDZjZER2R21BM002dTU5bUhLczV1WDJCR0tzM3RhYlh5UUVfQVBFWmE2OWljc0RMbTZUZ0xRSE1XRGpnY0hZQzVDOWhHSGw1ekN0ZlMxd3JSXzhNRlRhWm5lY2VPMlh6c2Y4WE5OMnJLT00wbElXbTNLeGxFNUxOWmxIMmpvaHljUWszUlRNcGk0ZndpYXpaRVd5dklwcDZwTGdnQ1c5WmNlQVZ4WU5Nc2NKb0w1ejFnM0ZSRGlxMjQxVDA2NEE2Q2pTdlg5cmc0WkVHZU5SNExGQnNmZm1IbTF0aHU4MGlxaEtKSW4zTHpjVjFralF1R2VfN1BsM0JNeU1HOTNuV09NaWJsR0ZXRmZlaThFaEZJM3lNMmd0ajV4Y1czQ3ZZX0hmTHFUdWdnTG9VN2FFcTJ1WlRTdm1VUmFHQ3EydUpTd3oyVTVjNGJMWEYycHhpNUNyUXZlVGFGd1cwOEp5aEQ2MUllelFVWFlIcHRZX1I3alk1UTREU0d0Tl9pWVVQUU0wWnBmY2pCeDZNeUJaXzdrUXBtaWZ2UGJaT0JqVEdJdjlpWkY2TFZxNDJPdTNIbC0tbDZxNHpFSzJaZXFJa05xeXhLMUdFN0JBRUF3LTN3ZFJtbWx0czBncDlKaFRLYUQ1cXlrMEV4OEM2SU0xMVVMdGUtYmpfOEFmSFpLdGs2eTdHTnBMYk9KTUEyLUVIWEZWc29SY2s5dFNhNFhRV0UtLUlKVnp1eFVSUXM1OG9wU29RcHVqQ2RFc2RDa2toeGNjcUJZY0NycXduZHNlMWNUS3hOUFY4YlhySlFVbkhJT2JEa0wwbW85d1FNYWZReWNfUElIUVVBb0hJZGNQTFliV0hxSnM5NVdpQnlNSHcxX1lieVdlaHhmcERBSS1NdFlMS0xPRzRNVmY3VVdkR0VkOWY5RUNWclg2dWVJMHhweDJHSHVLRnpyQXN1Q29pcUVERlBNSDFEOFZSSHZEWEdYSm44TE9mSE9aVGZkSG1QS0NOZUpMSWFKdVgwak53THFnY0MzaDF5aldlU29XdFBNZ3Nla0NaUXVFRWNCNHRaSWtLUnVCNE5oVDRFYTM4ZzVFZDhGak9KLU1jelBHNzlkcXc0aHZvMmJDZVRzTUJudlFYSGxUTFNsbnYtdmFXQlNpRDlwVTFoaUNRX0UzZFR6UlktdW1LNTBKN2d1Y1BoN0VuTll6Y21Rd19Bb3RYX1pmWkMyN1JFNTVON1UyR0FFMmlVWUUzeWg4S1VnZUhzUVRrTVljZURRYmtZdlNadXlCSTh3aEZ3WFJ6eXZWZU1PcXFMNGYtaFRTY1QtU2pYNXdERk55N1hJckhxVkVxZ2JWa0IxVWVqWjl0ZGg2bDJ4SkVLVnhaYklFMHZXY0pKa1lldzRkUUFBSk1GRklJZWlSeXNfLUpjb3N2VGdoVEVRbE5waXpRczUydEdjSzZFOFBybk4xREVYX0o4SENaRGxUS3lsWjc3Z1BjZmxCbldCbWVJZWJaQ0YwLTRpVG1iQ1UxT3VQVzdxMnd5dmVfanRTZkp0QzBFQkZwTDNaTUstT1VrLXA5X1FDQVA5YjJObld0STEwYjhxV1Faa2VyU2JxV3NFdUMwSHBDSExpOGJ4RTc1QmFGc0R4U0gyUDVScDNDUEFERHRzczlrM2l1X2haX0FlX3l5bXJnTE8xQkw3bkQ4S0Q0QXVVVzhDMlRLQ2FlX1pXVi1vb21BQTJNYWgzOXBaTDRpaDN4MHlQN2FGZ25tOXU5UEFCRVlqR2YzWUFwOFZiYVR5WURXT2czZ21RampXVDM0YXI5dVl1ZEVkOW5aYzBQUnhrWmZqOEZpY1J3YUNETk5LazBHb2ZqTnVGZGtmdkwycmZzdlNYTU5SYXRQWjh5amN1SjhxaGFBb0tBVktzaWpBYUxKbVh3VHo1d1U2VFM4RU9xRTM2eDlJa2d2UEpPNHZmSGdhVkVfQ2JKTk1lUndjT3ZoM3JzVGU5bzlqOEczaGh3Y1A5Y203S0hub0NzdzlkcjdVM1FaOWw4V0NKUWx2dElPSHQyeHJ0OW4tVEpiam00SHRmeGtKQ3BnMVVTeVdQUTVHckNic2tRaWpFQkI5YUFlM18yQ0pXWUFZQlJkdUdhZGpCYXR3SHN6YU4wRDJ0QUFtUUJPaUdzNzBjUTdHSVRvRTN0emdVZWpNckkzcUVTVWFGa1FNdVZWOVRXaVZkaS00SnR6anBiNl9LazNaakNMVHRfNWc2YlVQTHp2b0MxZmxaYmZrai00bGNsSDAyVGF3U2otRElnSk8xZHo3ZnNrYlYxTEoyZnBYUkh6UEtNcnp2TVMyYUdhSHRDX0N3RzV3TzZzdkQyMTZ6clNUWk5lS0tMaFk5WTNSbWdocXRyRWxSa2hJZUZGM3FpZUlscDNxeVhJMkpyREpITEVJRm82dzVod0dGRmdEc1BXbTFvYU5meWRpOUZaOW1kWUdEcDkxYlk4S0x1Y3FwTWU5VmtqTHp3bXZnNTBESWUzVlRkbHFGdjJaME1QbDNGNm50R2FqSEpKSzcwak9ydjVVN2JMbHc5ZzdXMFZfQWpndkd6REhqMkwtSjF3U01FdnhQV3M1VGt4eXNCMVh1QWtEQzcwekloRnJsRk5NeW5hV1I4S0ZTWFpWeTVMT0FpVDdhYWZqTXFiVUhEWDkwQWd4dExsQVJVb0w5N1R0T0xWdnZyVHRfMC1ETVZtaTB4Tkc5V0s3OG5uRno3b2llbGVyM19RaVBTb0xFNU9Qb2dzVDJuYXlfc0FBUkhuSTVPVnpkem5VQTdFTGRzOS1sZUhueEhxMlpOcWppTmxrcURRbkF1QVAyNlg4bllLTGs4alpoclpLVV9kY0VoUG01d29zNVNqUUVOSXEyTkd5QzhGYzg1WDJwZkZKX3pRWEkxT29sRjZvUUQ4cUw5NGR6U0pEdm54UGo5bWdWcWNGSWVpelhuOVU4MTc5ejVLaWxWWFdNdV9zcUdPVzd3N1U4Y1RqS3h5eXZKSFhsSm8ycHItdTFGaG9SX1FuMmpuOFJVSVoyOGZWU1FFaHc2c2pGb1RaQzVUYXpkcEpaOXlmOWt2bVp0Q2c3cHlTeGFjbGs3MThxVTEyVHF6dm9tNUUzdGZ0WWxqZGxrZHBmdk1QYWJrNHR1Mk9aZkpYblVDRV9KQnNscEhlWVRmVzJja2Y3TWdsb2JCZDVzNDNNYTRKUldrZTNpb0lRWnpmNGNQb0RxaWVIMUw4ZUpFOWZSclZabEMtWldpSlZSTWQxQXFDTU5Ua3dxempTUHRJZWI5VHp2ZVVPaGNsMGhjWEx6MzFneExGd3NfOWh3Qk5wMWpIeVluakIwTEdSMWo2RC1JOWFZb2pCZWctRS00YmR2dV9oWWZKNjZGdFhpeUZfV1czOWVCaUx3ckRlMGFXcU53MVRVM2tHeTNFQnMxVTNXNHB5cDdwQmdPQUdiUS1KdXFpSjdOc2VRQ3BiMUw0bHh2clJURm9NT2pUXzgwalZqUWdnMk4xNm5mM1c2R0RZVTdxNFNxWENld0hFb3BINDRkVDI2a0hBUy0yUjFVcUlIMTZmZ3hlRmY0RlUzeVZlTmZSbTVLQkVvVkVRU0xVaDN2UFdESVFYRmhuUmc0SnFfS1dWNTRSNGt6RW1qRVA2Mlh0MkNHc3VFQ3ZJamY4NnJ5YzdQazV3QWczdHRMN1pxRVIyX1hJa2pfMzNmemFEVVV3MzRQYTdSUUtzTFNadm9kX3pJZi0zRk1OcEpSZE95LUpGRWJ3TXJkemNsdDBackZaYzA2SG9GYXEwTGNTMW1NUHNudlVEZnRhb0dBTFN3TV83UUlBOHVfREU1eHR4R2cxMWhrU2hxbEkzN0x1MjQyTV9haFNGVWpHMzJuOUVMMjhLSHZTcEMyZWQ5bG9yQ3A5OGVVejhySFE4ck1ZcDR2ZUEydUItN1hXM2ZHR2JyUjdWVmVfZ1c2ek1uZjhlSTN3aHlPdXFJUVFtMVE3X1ZCbmhRUmFWUmE0Y0ZJRkxwaXh2dVktN09SdnhrckpWWklIRTZmNVdKUGFyUjV2OTc0SWVxMWthSWxKaGxUU2VQbl94cGJJdzN1UlVJZklwS2dDMTV5Q1o1RGVZRlFKQ21JcjFvUkl4SjREbURxNUw2emRuTVdJRDJUNEE4TUtteC1CZWpqRGxNWHJTSUJYQmhDano4a21SeTBfUnJYWU9yWXNGeTJzZkJnbGNiU2luaEtVN3hnQUFuOEUxZUhEOUpDanVZU2VNRVY0T3c1enllRE13SEUtZ2JnZ1R1SXllN3U2UzFJbFJHYTJ6SUdkY2tOeTdIMldJWVowc2dzbTd4UzF5WVJtNDhVZFZsQ0ZMSmNYb2IyZW1COGdZYXlHUmNSX0kxXzNaenJEQUJQZEFaTWZMNlhaSXlqQW9UOTN2c2ZRUlktZl8zTGZEcEp1ZU5KM0M0VjZUdFVPY2oxc19ITmVlNFVYSXN5RW9GS1R3WU5SXzBYb2Q4aGxYMUQtWUprb0trTW1DdVBSWTFnOXRna0cxdEd5NEp2UlZfQmVZSWVoNVpvSnBkY3BueXNRdS0yTEg4a19iWXplRmNLOXpaSFRGdlFkbGpKbkVKdi1OTmlSWFpoVG9vZmZlV3lDUEE1TVY3bXAwYm55elBsdnNLRkQzUXVWNlMxOWxXcWR0T2RLdWp6ZWRJTThoOVdDTmh3NTJFRFZhdUljQ0ltdl95TkYyWHNreEt3SWQ0c2sxWDdFam90UWJsMHBSaEFUczZPSkFkVFQwVkJKODd0bVJmV2p2d3FLeFpZR0MxX2g4MFd5SDktTWFfbTdBQ1FmRDVIQmVDeXRiblUxeE1lNEo1cllUNTRSQjgyc0RIM3h0ajVCaEZ2c0tLcE1SMXlvc0dRbmFIZzJqd3VPcDF3S29ZeGZiSWhRS3RXU3R4SmFYMlMyanV5ckIxbGQ4Ynh1OGtVbVhwelhsTk1WX1VVN1ppeTZzaWZ2dldabUpkTzJhVThrTWpjWDlzcFZfcmVfME9qQnF1czNVQWVseFg3VTZFX3JyYkhOYUUzR3ZDR2lZMi1wbWdRbzAwUGs0dElBRmwyckM3VXdrODlqTlQzSmRGS0ZITGFyR1A3Uk90MjNhWHFfZW9kMHhpazNELUVQOFBqUkh5M1ZZdkRlMGxQeHIxUkN4WXp6ZWExTllQT21BUWQ2R2laUjFvSVlJRGNJX0N4SHZDelNfdi1WNHNLcy5Cb25KVGdqZEdIcFBmM1RMd1NBM3lR"}) + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Conflict while restoring key https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/69596f58f6bf4a46bd6de9adad365ee3 - key already exists or concurrent access"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '249', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c599f496-c48e-4ce9-b4b3-af41f93d0f25', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:10 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/restore') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'af08b69c-a367-4b63-adc2-c8969b21efe4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:20 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '420f82f8-5497-46ab-b384-5fc5744f4800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHGgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:33:20 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:33:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/restore', {"value":"JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlBJRDB6VDFqY0hIX1lfZnBfUUExQXl4SmtPOU81NTgzUng5VjNvc0Ftam5KY0VaNHdfeVFXb280cEpjaFhHLXFqVklQUzVOMHJ0TXZzbHgya1ZPNjZEZG1CY0gwMF9FdTdyZ0Y0UXJtenJCQXBfTU83bkhfTlNfMExtb2RHVDlaN09JOWI4Zmw1OVhKSEFBY2dxRm56dTJMbHlsN3FoSnQ1TkNkNG9QWEQ1VVBwVWF1M3lHaWJhWHU4THJtUHVxNTJkOVhfei1VbVRLU3dWbkkyM2RtSkg2dlA5WGE4bmluZkJreWVsTGFhWXlnWW82NEhlU2lJU3l1QlloNVhFWENtMF94Z3c5YWVvZFZnMmxlV0U5YzVNYV9yMzZmUzcxSHZGdWM0ZUQ3Q0VpT2xZeHhveVNaVjA2SW52MUFaeUNzT04wanN4R3gxbHZSeUI1NElNYi1Hdy5IbWFPMXpfVkREbG9kcmNRM2JZUkJBLnR0UlVsNzdxRUYybVhpcHgzX09SS0tqSTdadFp1Y3AwMGszQW92Ym9oVXNqdGViMGFvQ3JvUGZjT0RMM0dFVzU2TzAwWUppSFJYVGJzeDZiN2h2MWxfcWhIREFoaG1PN0hDcnlCNVVQMmRzaHVBWnlhNEVEdTVxYkFGS2NGM1lER1BVZ1JQMUNzUHo4UDIydThUbC1jN3ptNDdVZGEzT3Y0LVFZY244MnJNa0dWUi1aczRqYVZKa25vQWkwOXdOdFg4bzFPbjctUU1WZDMtWTJqZFRhbW5NaUNfSkdMY0JyUWJTN2EwaWVPeXVkbnY0Wk1QM1Z5ajdzQTd4TGdYbzlwZU51RGw5b05nb0JPYjJWbWhCb1BBZzFGLWVFd3Mzb0U1TXBRM3U3M3Z5U0dSQUdQeDFGQzlRVVNLSC1lU09jVUxPajZKREhVUXA3bHRnZlVuZENKb2NXWmFBQzU5V0JzUGJSU0l3cW81VWo2WlFHbUVJMmxRYlB3WVFzWkQ3S2RraW5XbmpfZTEyU0VuVm56R0QyQ0QwejBHc1hENTNRUm5TWkJlQ2ZPSHNhWTNGN1lLWXhKWmx2RWw2SHNydzllN0FSaG5QNnpQZjVSUWRfWU5OZ3gtYTM0cEtUVkVQV1MwYTd6Z0R1ZWhEMV96eGdiSVJqTDEtT1pBd3lWN2ZFbnZ0a3NPZnpLb0ZJYVVISUNLb3VIRUo3V2l2bUR0Q0NmTkVabDVTQmdndWR2RzVyTWt1SlE4T1Z0Nlh0VE5YWk1zQm1EVDlTNFhsYVFmYmQ4bGtlNW9SdGxFWWxoLWZKQUpNTFhybldFMmx5ZGVrTkdTemUzS1hXU05hcjJEaFVlMjhSdVNFUS1GNGpacWpnQ3BURVhKb18zTVI1aGFNNlEySDlTS1ZGMkNxT09Yb0p0Z1dYeTBQdnJXRnNQWVNNdDV4RUh2OXVKT0Y5aDBySmxrbDVUR2hFRDl1V1hpYVQxWDdlVDJaY2hWVDdVbkNHcDVrOHhfUC1tUEZ2RFJhZWZWOXBuQkE1S3Fab0JjSmxhRG5ic054R3dBYlg5TkpickEwMFFXOU1EYWN0bUppTjJVOUFmY2VmUzd4UXRIckxDUzdQT2xNc19WdTg4akdnZmNRY2cwV1gwUDlXd2VaSHotUEQ4UVlxSUg2aXo2NWtDM2xiaFJPZFVjTC15dTBBM3VteUdhalZydmJzLWZMYmYxcGVKcS1CWVVTdUgzZm0wcDVGVHRNR05iUmtDQkhSMWZ2U2N1aUwyVWUwTWk1Qzg5dFg5Q3h0WFpkQ0tuN0VPclNGYURsSGg5NElhRFJ0X1VvX1hLaG5iZUl3ZjViN1lOcFN1d0hoY3lVbThoSUxtcF9fMW02SVVycnJTd1VqRUlmN0RGeVdWc0R3c3dHblNhMU9kbllBOTJkZTBlcEZLNGRvMERrejkxMjR5TWtaZEltaHJvQmlvdEUzNWg1Q0w5RmVpTVBxQ2dZci1nYjlWdU9LQUw3R05Ic0M1bE9KU1dWaUFWU0U4Wm4wRUF0VGVwdk5BVlA0X2tEVFFfVnpfVEN3Z3dMdDVMY0VTckk2RGptMlV1WVp4X0JTd1RYUFlSd2VQNFpvU1hyZzh3UFlZTGtnbFpVZEdiVFB4NmpUTU1kUkE4cHBGRjFqakFEWmgxZk55ZXBtdk1kazFoLTFRcUROTklWRUx2R3Fwc1BfOXkwMkQ2aHdPd25yS1NJelJpZmlsUHBfSklhS0hpZnU4N051T3Brcl80U3BsZGsySnFGemZ5QmIzQ1lNM09GZVRCLWpSZTBqQ3FaaDhLazBMZkxYT3hIeGlvLWI2RlZMcXM3VDE1SmNmX0RITTY5R2ZHSW56Z3c4SV9jbC1Ba0hDQU5nS3lJTTNHeFRvQm94V3BYNFhnd0k1MHVvVDRmV0pOc2xCOUotZ21iZmwtd3FGZjdkVnRtYkdKS2NBOEhqaWR0dDVRaVcwZk5wRDU2bkZWSTVjTVd1QkpYV0NKbFhESXllMXRHem83NkVBeDcyTEFnc1JkaTRkejFZZEFfZEtqZk1uc0VMYWRoanJtVTF2U2c1LXBfUGRaa0tnNWRHMVFUelM4UmtsR1FQODJBTlZSc0p2b01CVmE1VndhLXhnbGZNMEg3T2dVclhlN09kT0h1OFQ5MjJ0STctQi1iLXE5Yk5DMjhZOEVlSWpPWUZVV3NYV2RnZ1hHeHBYeVlCU1I0OTRZTmMxbmVyc1pwVy10QnFEeWFWazRTMDduQ283SmlDNUxEZnZBVkdtazJVRkwyb19BNC1RQXJiZXdWVUV1a0dCLTQ3bnNaR05HQnJBZ3p0SjZfMzFHME5tUHo0bzU4MmkyZjJvTk5MSWZPVlR1aFBrQk1Id1pOaFFjcjA4TEcxcUNWUC1kQm5vLTBVR0NQdE1NYlhwNl9VSlhjOVNqQ0NTRmtSWWR2d3dLeGduTXhUZGVwaEJzMGpRVGd6czBGOWl4VG9YMGtranEzV1RPbGRTLXdoMk9LakdCd0UtRUlnc09uODZRSzVBQ0p2M1lZN1NWUURFcDRqRWFWWjRPQlY5VnJBZHlXbVBlWUo4ZGQzamMteGRCVU1GNUotakxVbWxJdy02LTNFWlFfREJYU0VSS0ZCYWM5dFZtSDNpRmlfaWM0UXRwb0dFU3lGMFRkaHBWMjhrSDQ2MlhqcXl3bmRUcS1MTWlrSml5MHoxbzI4cUJRUDVjMlU2R0dFWDFyTk1zWGJkLVZ3VFZVRUZib2VhVGV2ZnRPVHlFSVJQcUZGZTJwQ096RUJZaVRnOUZ4bk5OYmZvbGxqWWR1QmlPQ1UxTl9abXB1RVJQZGpGcVZnX1N6Y2NfckxJR0wyRl9vTDM3cmN2dEZ1S0R4RlBxQkQyNHdCSmdyMG03Q1I3MUVuSjNJS1E5MU5tRWYzdnYzTURkbS15UUVNdTFLRVQtaXNzNDRyRVhzeXV2bURsUGFTUkIzZzM5dDVhYVRtUmc1NEJIYkRzdDN0MU5rcC0yRU85bThXamlISmlrd1hKMmJBWjV5WWxuTUZxanZELXhOWV9pLUlZQWFHMXRxQndUdEVwaHEwXy15NUtVX0JiN2lqbjd4aUVkRnhEQUluTzBHZFdvbS1LTlVNT3h2a1FIM3pkS3dHNnNQSmF4VEYxalRJczAtb2xueVBBdGtudmZ2MVd4UFhPNktlajFJN25pdmhOMU14RjVUeXZNUTFCWkMtQVdOMDM1Tkd4QkZNcTZBSHAwODZVQ2d0MzNyNEs3MDZkRGNIYmNwZ0VBbFhhSEhCc3hORDJPWnQya1VuNjFjTVZRcTJjUGpZbGR2SjJCT3Y1UzdLa0J1TmFiV1lOV0tZOGJSZndNLUZHZ2dYQlY1aEU3SlNsR1pDOHo2OGhfVFFtSVBtekJIaEctTV9SLUZ6NzR0RlhLaHhxNnI0OTZLSmU5VmlPelNfR2Q0WmlvYXRoUTF0dllVNDQxNjZDS2lNZWxXRGFSZFJLTDFZLW1VcEY1SWtlNUx2QmFiMVpseTJPbHJsTGl2NTcyV3pMazBHN05OTlVwQTZsV1pQejc0UEd3MDktUkpxcThTdlFaZUtSM29wX1EyTWsxcUJFZURzS1pFYndKR3BjUFROQmNVbXlBbUdYUndDUTUzRG1za3l4a1o3ZGg0UTVYblNDbnJHalRuWG5GenZpaGMxamkzcTBqRzF2NE1pRnA3Z1BKSzg3R19XUHVqaTY0bEJDb0hVdC1jUDZZTXZ4N0xGNFl1TzQwSjdkZmNGbl9RQVNfQnFhWnBtWUI2ODR1UldnN1FDY21sQTJ6ZGZQWkdPRS01RVYwV0FoSFVRMWdvZTFYWFQxdnJKN2QtWnVvdjJYSFVxcmY4TGZiSDQ2N21LVVdkZHgwcFFLeEtHVGdtQTYtNEZIaWVCeTBUNTQyYUNPWDdYak5fX0JwWkVlUTNBc2k1Ul92eHBmbC14RmpPSHNyb2NiazZ4YXlEREtLTTRLNWhwZXljcGxzamR2Wi1jV2M5dU1fempCdGcyU1NQVk43Z1hOd2FWN1VTajhWZ09oSWxveWppSHpTclBTbTkwdmNCT2w5M2tlaHR0bHlHb0NyMmdSWWpfSF9CWjl1RVRCLTQycDlFOXBpNnhPcVRiZmZkUi0tcmp5a3ZVSWxQdEhiWjFhMlR5Z2dvYUVEMkg1ekdtSm5xc2hoQ1Y3LXNtbWcxNERiQlkxX2ZMNDNLNjlZeUZxVDA3TFoyd2RNRFhCdTN3V0txRVhtdmZURVBCMUs3eEtfcmZNSTR2UXRBZkxYejhNbVdmblhUX2NoTHliV2hfYWEzbS1la1ppRndJVlQxNzNjVmMtYWlfR2p3N05Fc3Y0VEZ3OGlXT2NIQ1A2YjY0bjNDMlJjbFZzMUhiT18zc0l1RXlGNWpHcXh5RUY4V2FQRzhYVDZxY3J3dGZIcU1iMlFDdG1fMmNVRW9ZM0xoOEROa0dkT2dHeUVoMFl4TTFiVDlPYXBEdGFzZklwMTZmMlpvN1BpUW5jcW5GYTRta3I5LThsZDd3VWdiQ1k0eG5HRnpCd1pmN1NkWUZLeXJnU0lkT2N3aTRvcGpONGFQdG52djZDOFducVNGeG42ejFIOC1RUmV1eWJ0a2UyZ3Z3bC1rV01VNGZtczVUYUFrWlpvQmpJYmhzYXcwN2N1aUE1RVViQWZBZHBkajQtdnJRVXRDeDA2U3V0dWI4QlJ6a085QUp6TlFiaDVSZ1UtNTYzZ0lwQkE4VzJvYzdVSkNHSmxKOFQydDJSb1JNVm9RZUNUYkVKcmlUZUp0ZVAtbmdWazVVZlBGQS11ck9nMG9RM0ZxcnVkVlU3eVRxNFZaTzFmMUhJNlA3c19WWkt6VVZOQ05jVndZeUE4MWlGZDF1eVM0THNMckZ4OThXeGZkN0Z3Tml1Wm11eTE2WHhWcDkwekFxWlcyN3I5UHNDS2l1MnZjY0RJa0xWQlJhUlhhZzVlczgzU0FlN0ZuU2k3akNJTWhKWUtPT0x5NlhwVVZlWWU4VWNJRWF6bmpqX2JOZlQtcEhFZUhfLVlQN0U3MUVrWXpUVzRxeG9yNEVVcnZqWFhmUGJQaklYM1ZMS3RuTUN4d1R1TGJjUmx2eXZDVE5kMDNMUHl2RGJoRUtNMW5tcXpkeGpaOFM5V0o0VUJVY09rcTBiaXFfVlhmZHVnQzIwbjlSTFlWWUhlSG1TNU1HMVN2Tm9Zc3VJdVprWmppaW1mZmJIQWFaSGhNN2pqajVIN3NuWFVpVWIzQUVjVVREeUY3UWRzUk9LWWdDSnZvOEN2ZXQ4N1h2NWNVNi1GZTZLZG1hMnpkODEtRk50NEgzb0xBbmRQTk43bzhPX3NONEpSV2V5VXNORF9EMDlGMTRaWWJocnhSM0NHT1FwYThMalFKSm5DQmVObU13QjNIZFVhSmZXZVJfLUIyOUdnTTB5cWhYSk4xRmd4S0ZPNllYZFdvQ0sxblNEdFpNR3dpeVVjN3ZEdXRReTFCV2pCZnRSQ1laVDlZdW55YnFCck5mczd2dkFwS3h5ZUpLTGQtNnMyLXVOTFZXNC1YdnJCNjR0dnBzb2V2SHVfZ0xJZXZtMVJRNk5yVmUwUzVnYm9qSVZtSk0tM2dDQnl1b0RLRHg4U3pjaURXdS1aUnJQR3NDWUw1dEU2SXFoR0RiOGhlSFhyclp6alBCaEhEYmJmeE5OUmZZWlkwMkxkUDN2U0FZdEluMVQtTEFEbjBnaWctSGstRDBIRE82MFoyXzIwWXduOFVMMG1ldTcwWDZjZER2R21BM002dTU5bUhLczV1WDJCR0tzM3RhYlh5UUVfQVBFWmE2OWljc0RMbTZUZ0xRSE1XRGpnY0hZQzVDOWhHSGw1ekN0ZlMxd3JSXzhNRlRhWm5lY2VPMlh6c2Y4WE5OMnJLT00wbElXbTNLeGxFNUxOWmxIMmpvaHljUWszUlRNcGk0ZndpYXpaRVd5dklwcDZwTGdnQ1c5WmNlQVZ4WU5Nc2NKb0w1ejFnM0ZSRGlxMjQxVDA2NEE2Q2pTdlg5cmc0WkVHZU5SNExGQnNmZm1IbTF0aHU4MGlxaEtKSW4zTHpjVjFralF1R2VfN1BsM0JNeU1HOTNuV09NaWJsR0ZXRmZlaThFaEZJM3lNMmd0ajV4Y1czQ3ZZX0hmTHFUdWdnTG9VN2FFcTJ1WlRTdm1VUmFHQ3EydUpTd3oyVTVjNGJMWEYycHhpNUNyUXZlVGFGd1cwOEp5aEQ2MUllelFVWFlIcHRZX1I3alk1UTREU0d0Tl9pWVVQUU0wWnBmY2pCeDZNeUJaXzdrUXBtaWZ2UGJaT0JqVEdJdjlpWkY2TFZxNDJPdTNIbC0tbDZxNHpFSzJaZXFJa05xeXhLMUdFN0JBRUF3LTN3ZFJtbWx0czBncDlKaFRLYUQ1cXlrMEV4OEM2SU0xMVVMdGUtYmpfOEFmSFpLdGs2eTdHTnBMYk9KTUEyLUVIWEZWc29SY2s5dFNhNFhRV0UtLUlKVnp1eFVSUXM1OG9wU29RcHVqQ2RFc2RDa2toeGNjcUJZY0NycXduZHNlMWNUS3hOUFY4YlhySlFVbkhJT2JEa0wwbW85d1FNYWZReWNfUElIUVVBb0hJZGNQTFliV0hxSnM5NVdpQnlNSHcxX1lieVdlaHhmcERBSS1NdFlMS0xPRzRNVmY3VVdkR0VkOWY5RUNWclg2dWVJMHhweDJHSHVLRnpyQXN1Q29pcUVERlBNSDFEOFZSSHZEWEdYSm44TE9mSE9aVGZkSG1QS0NOZUpMSWFKdVgwak53THFnY0MzaDF5aldlU29XdFBNZ3Nla0NaUXVFRWNCNHRaSWtLUnVCNE5oVDRFYTM4ZzVFZDhGak9KLU1jelBHNzlkcXc0aHZvMmJDZVRzTUJudlFYSGxUTFNsbnYtdmFXQlNpRDlwVTFoaUNRX0UzZFR6UlktdW1LNTBKN2d1Y1BoN0VuTll6Y21Rd19Bb3RYX1pmWkMyN1JFNTVON1UyR0FFMmlVWUUzeWg4S1VnZUhzUVRrTVljZURRYmtZdlNadXlCSTh3aEZ3WFJ6eXZWZU1PcXFMNGYtaFRTY1QtU2pYNXdERk55N1hJckhxVkVxZ2JWa0IxVWVqWjl0ZGg2bDJ4SkVLVnhaYklFMHZXY0pKa1lldzRkUUFBSk1GRklJZWlSeXNfLUpjb3N2VGdoVEVRbE5waXpRczUydEdjSzZFOFBybk4xREVYX0o4SENaRGxUS3lsWjc3Z1BjZmxCbldCbWVJZWJaQ0YwLTRpVG1iQ1UxT3VQVzdxMnd5dmVfanRTZkp0QzBFQkZwTDNaTUstT1VrLXA5X1FDQVA5YjJObld0STEwYjhxV1Faa2VyU2JxV3NFdUMwSHBDSExpOGJ4RTc1QmFGc0R4U0gyUDVScDNDUEFERHRzczlrM2l1X2haX0FlX3l5bXJnTE8xQkw3bkQ4S0Q0QXVVVzhDMlRLQ2FlX1pXVi1vb21BQTJNYWgzOXBaTDRpaDN4MHlQN2FGZ25tOXU5UEFCRVlqR2YzWUFwOFZiYVR5WURXT2czZ21RampXVDM0YXI5dVl1ZEVkOW5aYzBQUnhrWmZqOEZpY1J3YUNETk5LazBHb2ZqTnVGZGtmdkwycmZzdlNYTU5SYXRQWjh5amN1SjhxaGFBb0tBVktzaWpBYUxKbVh3VHo1d1U2VFM4RU9xRTM2eDlJa2d2UEpPNHZmSGdhVkVfQ2JKTk1lUndjT3ZoM3JzVGU5bzlqOEczaGh3Y1A5Y203S0hub0NzdzlkcjdVM1FaOWw4V0NKUWx2dElPSHQyeHJ0OW4tVEpiam00SHRmeGtKQ3BnMVVTeVdQUTVHckNic2tRaWpFQkI5YUFlM18yQ0pXWUFZQlJkdUdhZGpCYXR3SHN6YU4wRDJ0QUFtUUJPaUdzNzBjUTdHSVRvRTN0emdVZWpNckkzcUVTVWFGa1FNdVZWOVRXaVZkaS00SnR6anBiNl9LazNaakNMVHRfNWc2YlVQTHp2b0MxZmxaYmZrai00bGNsSDAyVGF3U2otRElnSk8xZHo3ZnNrYlYxTEoyZnBYUkh6UEtNcnp2TVMyYUdhSHRDX0N3RzV3TzZzdkQyMTZ6clNUWk5lS0tMaFk5WTNSbWdocXRyRWxSa2hJZUZGM3FpZUlscDNxeVhJMkpyREpITEVJRm82dzVod0dGRmdEc1BXbTFvYU5meWRpOUZaOW1kWUdEcDkxYlk4S0x1Y3FwTWU5VmtqTHp3bXZnNTBESWUzVlRkbHFGdjJaME1QbDNGNm50R2FqSEpKSzcwak9ydjVVN2JMbHc5ZzdXMFZfQWpndkd6REhqMkwtSjF3U01FdnhQV3M1VGt4eXNCMVh1QWtEQzcwekloRnJsRk5NeW5hV1I4S0ZTWFpWeTVMT0FpVDdhYWZqTXFiVUhEWDkwQWd4dExsQVJVb0w5N1R0T0xWdnZyVHRfMC1ETVZtaTB4Tkc5V0s3OG5uRno3b2llbGVyM19RaVBTb0xFNU9Qb2dzVDJuYXlfc0FBUkhuSTVPVnpkem5VQTdFTGRzOS1sZUhueEhxMlpOcWppTmxrcURRbkF1QVAyNlg4bllLTGs4alpoclpLVV9kY0VoUG01d29zNVNqUUVOSXEyTkd5QzhGYzg1WDJwZkZKX3pRWEkxT29sRjZvUUQ4cUw5NGR6U0pEdm54UGo5bWdWcWNGSWVpelhuOVU4MTc5ejVLaWxWWFdNdV9zcUdPVzd3N1U4Y1RqS3h5eXZKSFhsSm8ycHItdTFGaG9SX1FuMmpuOFJVSVoyOGZWU1FFaHc2c2pGb1RaQzVUYXpkcEpaOXlmOWt2bVp0Q2c3cHlTeGFjbGs3MThxVTEyVHF6dm9tNUUzdGZ0WWxqZGxrZHBmdk1QYWJrNHR1Mk9aZkpYblVDRV9KQnNscEhlWVRmVzJja2Y3TWdsb2JCZDVzNDNNYTRKUldrZTNpb0lRWnpmNGNQb0RxaWVIMUw4ZUpFOWZSclZabEMtWldpSlZSTWQxQXFDTU5Ua3dxempTUHRJZWI5VHp2ZVVPaGNsMGhjWEx6MzFneExGd3NfOWh3Qk5wMWpIeVluakIwTEdSMWo2RC1JOWFZb2pCZWctRS00YmR2dV9oWWZKNjZGdFhpeUZfV1czOWVCaUx3ckRlMGFXcU53MVRVM2tHeTNFQnMxVTNXNHB5cDdwQmdPQUdiUS1KdXFpSjdOc2VRQ3BiMUw0bHh2clJURm9NT2pUXzgwalZqUWdnMk4xNm5mM1c2R0RZVTdxNFNxWENld0hFb3BINDRkVDI2a0hBUy0yUjFVcUlIMTZmZ3hlRmY0RlUzeVZlTmZSbTVLQkVvVkVRU0xVaDN2UFdESVFYRmhuUmc0SnFfS1dWNTRSNGt6RW1qRVA2Mlh0MkNHc3VFQ3ZJamY4NnJ5YzdQazV3QWczdHRMN1pxRVIyX1hJa2pfMzNmemFEVVV3MzRQYTdSUUtzTFNadm9kX3pJZi0zRk1OcEpSZE95LUpGRWJ3TXJkemNsdDBackZaYzA2SG9GYXEwTGNTMW1NUHNudlVEZnRhb0dBTFN3TV83UUlBOHVfREU1eHR4R2cxMWhrU2hxbEkzN0x1MjQyTV9haFNGVWpHMzJuOUVMMjhLSHZTcEMyZWQ5bG9yQ3A5OGVVejhySFE4ck1ZcDR2ZUEydUItN1hXM2ZHR2JyUjdWVmVfZ1c2ek1uZjhlSTN3aHlPdXFJUVFtMVE3X1ZCbmhRUmFWUmE0Y0ZJRkxwaXh2dVktN09SdnhrckpWWklIRTZmNVdKUGFyUjV2OTc0SWVxMWthSWxKaGxUU2VQbl94cGJJdzN1UlVJZklwS2dDMTV5Q1o1RGVZRlFKQ21JcjFvUkl4SjREbURxNUw2emRuTVdJRDJUNEE4TUtteC1CZWpqRGxNWHJTSUJYQmhDano4a21SeTBfUnJYWU9yWXNGeTJzZkJnbGNiU2luaEtVN3hnQUFuOEUxZUhEOUpDanVZU2VNRVY0T3c1enllRE13SEUtZ2JnZ1R1SXllN3U2UzFJbFJHYTJ6SUdkY2tOeTdIMldJWVowc2dzbTd4UzF5WVJtNDhVZFZsQ0ZMSmNYb2IyZW1COGdZYXlHUmNSX0kxXzNaenJEQUJQZEFaTWZMNlhaSXlqQW9UOTN2c2ZRUlktZl8zTGZEcEp1ZU5KM0M0VjZUdFVPY2oxc19ITmVlNFVYSXN5RW9GS1R3WU5SXzBYb2Q4aGxYMUQtWUprb0trTW1DdVBSWTFnOXRna0cxdEd5NEp2UlZfQmVZSWVoNVpvSnBkY3BueXNRdS0yTEg4a19iWXplRmNLOXpaSFRGdlFkbGpKbkVKdi1OTmlSWFpoVG9vZmZlV3lDUEE1TVY3bXAwYm55elBsdnNLRkQzUXVWNlMxOWxXcWR0T2RLdWp6ZWRJTThoOVdDTmh3NTJFRFZhdUljQ0ltdl95TkYyWHNreEt3SWQ0c2sxWDdFam90UWJsMHBSaEFUczZPSkFkVFQwVkJKODd0bVJmV2p2d3FLeFpZR0MxX2g4MFd5SDktTWFfbTdBQ1FmRDVIQmVDeXRiblUxeE1lNEo1cllUNTRSQjgyc0RIM3h0ajVCaEZ2c0tLcE1SMXlvc0dRbmFIZzJqd3VPcDF3S29ZeGZiSWhRS3RXU3R4SmFYMlMyanV5ckIxbGQ4Ynh1OGtVbVhwelhsTk1WX1VVN1ppeTZzaWZ2dldabUpkTzJhVThrTWpjWDlzcFZfcmVfME9qQnF1czNVQWVseFg3VTZFX3JyYkhOYUUzR3ZDR2lZMi1wbWdRbzAwUGs0dElBRmwyckM3VXdrODlqTlQzSmRGS0ZITGFyR1A3Uk90MjNhWHFfZW9kMHhpazNELUVQOFBqUkh5M1ZZdkRlMGxQeHIxUkN4WXp6ZWExTllQT21BUWQ2R2laUjFvSVlJRGNJX0N4SHZDelNfdi1WNHNLcy5Cb25KVGdqZEdIcFBmM1RMd1NBM3lR"}) + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/69596f58f6bf4a46bd6de9adad365ee3","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"r-5TxGgoon6qfkAVuLNM7hKgWU-aCmpSUn4lkOy5rNAvyOOua9pi3enRtIpaS_18--CzUrmAT5ozYuWDRv5j9P0YWiSyD6eUG0u1c_FAsR6DtJExG_sY3871sQQuBqPqwEw-RJEB4OGuHYpn_xugHNIk95h_LssZmCWqIdjrgWb9gLv-NxQ-VPrKL8AG1ZII2nr_vwuj78vMVX3j_oUeSffMaWEseqA0f0od-3H9JddBig4qvm1x9R4lM2jtkL54WwN3Ak12ibR4vN-hQLouA29f0k4P3Yd7AEskiq-B7Lc4vK6j6RAJp9bhIxBQ-ev5X3eBvOlmIr9hMGnC8lPxZw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307165,"updated":1565307165,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd5ee1f30-63a7-4f4b-a69e-08fc0e390f79', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '708' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e0dccc0f-ca2a-4cd2-b7cf-7c9accaf759f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '081efc2f-e9b3-4eb6-91e2-0e7e56bf3c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHGwAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:33:21 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:33:20 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/keys/recoverKeyName-canrestoreakeywithagivenbackup-/') + .query(true) + .reply(200, {"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/69596f58f6bf4a46bd6de9adad365ee3","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"r-5TxGgoon6qfkAVuLNM7hKgWU-aCmpSUn4lkOy5rNAvyOOua9pi3enRtIpaS_18--CzUrmAT5ozYuWDRv5j9P0YWiSyD6eUG0u1c_FAsR6DtJExG_sY3871sQQuBqPqwEw-RJEB4OGuHYpn_xugHNIk95h_LssZmCWqIdjrgWb9gLv-NxQ-VPrKL8AG1ZII2nr_vwuj78vMVX3j_oUeSffMaWEseqA0f0od-3H9JddBig4qvm1x9R4lM2jtkL54WwN3Ak12ibR4vN-hQLouA29f0k4P3Yd7AEskiq-B7Lc4vK6j6RAJp9bhIxBQ-ev5X3eBvOlmIr9hMGnC8lPxZw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307165,"updated":1565307165,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3435a824-13fd-4b7c-a708-d3c510899d45', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '708' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b0ba3a51-3460-46c5-ac08-3081237b3fcc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '840342dc-a84c-458f-b8c4-40c1d9e32e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHHAAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:33:22 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:33:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/keys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-","deletedDate":1565307202,"scheduledPurgeDate":1573083202,"key":{"kid":"https://keyvault_name.vault.azure.net/keys/recoverKeyName-canrestoreakeywithagivenbackup-/69596f58f6bf4a46bd6de9adad365ee3","kty":"RSA","key_ops":["encrypt","decrypt","sign","verify","wrapKey","unwrapKey"],"n":"r-5TxGgoon6qfkAVuLNM7hKgWU-aCmpSUn4lkOy5rNAvyOOua9pi3enRtIpaS_18--CzUrmAT5ozYuWDRv5j9P0YWiSyD6eUG0u1c_FAsR6DtJExG_sY3871sQQuBqPqwEw-RJEB4OGuHYpn_xugHNIk95h_LssZmCWqIdjrgWb9gLv-NxQ-VPrKL8AG1ZII2nr_vwuj78vMVX3j_oUeSffMaWEseqA0f0od-3H9JddBig4qvm1x9R4lM2jtkL54WwN3Ak12ibR4vN-hQLouA29f0k4P3Yd7AEskiq-B7Lc4vK6j6RAJp9bhIxBQ-ev5X3eBvOlmIr9hMGnC8lPxZw","e":"AQAB"},"attributes":{"enabled":true,"created":1565307165,"updated":1565307165,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a09e6ddd-8213-4f5c-8a17-c68f94f7ac84', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:21 GMT', + 'Connection', + 'close', + 'Content-Length', + '891' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b8b58716-91ca-43c9-b0ca-77e26814808c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:21 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f2bf9a7c-427a-4c0d-82dd-9c32af2c3600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHHQAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:33:22 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:33:22 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Key is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '118', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e25834b0-dba7-44be-a0e1-3449c62477c5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:22 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2a1a4a18-5ddf-4d8e-9a71-9ada12e648f0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:32 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c0aa8c5a-cc48-475e-8703-0371c8b35100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHHgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:33:33 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:33:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedkeys/recoverKeyName-canrestoreakeywithagivenbackup-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6b6167bf-88b7-4148-b19e-3de5c01ec112', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/keys/restore') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a315dbb7-860d-45fe-82e1-e46b1ae9e3ef', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:33:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5f96a7c9-ad7d-46cb-9dd7-ea9049ea4900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=Al9KC6Sdcm1KkAGmfU8PI-4_aSJHHgAAANun3tQOAAAA; expires=Sat, 07-Sep-2019 23:33:34 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:33:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/keys/restore', {"value":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}) .query(true) @@ -1183,11 +3377,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '56ec4417-1958-4319-9941-537888748d1b', + '71d4f1a9-95f8-4a9d-877b-6e65aa445ed7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1197,7 +3391,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Thu, 18 Jul 2019 23:30:47 GMT', + 'Thu, 08 Aug 2019 23:33:34 GMT', 'Connection', 'close' ]); diff --git a/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md b/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md index 7e1f619005e7..6aaf12ea8c39 100644 --- a/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md +++ b/sdk/keyvault/keyvault-keys/review/keyvault-keys.api.md @@ -4,7 +4,6 @@ ```ts -import { AbortSignalLike } from '@azure/abort-controller'; import { HttpClient } from '@azure/core-http'; import { HttpPipelineLogger } from '@azure/core-http'; import * as msRest from '@azure/core-http'; @@ -21,7 +20,6 @@ export interface CreateEcKeyOptions extends CreateKeyOptions { // @public export interface CreateKeyOptions { - abortSignal?: AbortSignalLike; enabled?: boolean; expires?: Date; keyOps?: JsonWebKeyOperation[]; @@ -38,6 +36,39 @@ export interface CreateRsaKeyOptions extends CreateKeyOptions { keySize?: number; } +// @public +export class CryptographyClient { + constructor(url: string, key: string | JsonWebKey, // keyUrl or JsonWebKey + credential: TokenCredential, pipelineOrOptions?: ServiceClientOptions | NewPipelineOptions); + protected readonly credential: ServiceClientCredentials | TokenCredential; + decrypt(algorithm: JsonWebKeyEncryptionAlgorithm, ciphertext: Uint8Array, options?: DecryptOptions): Promise; + encrypt(algorithm: JsonWebKeyEncryptionAlgorithm, plaintext: Uint8Array, options?: EncryptOptions): Promise; + static getDefaultPipeline(credential: ServiceClientCredentials | TokenCredential, pipelineOptions?: NewPipelineOptions): ServiceClientOptions; + getKey(options?: GetKeyOptions): Promise; + key: string | JsonWebKey; + readonly pipeline: ServiceClientOptions; + // Warning: (ae-forgotten-export) The symbol "KeySignatureAlgorithm" needs to be exported by the entry point index.d.ts + sign(algorithm: KeySignatureAlgorithm, digest: Uint8Array, options?: RequestOptions): Promise; + signData(algorithm: KeySignatureAlgorithm, data: Uint8Array, options?: RequestOptions): Promise; + unwrapKey(algorithm: KeyWrapAlgorithm, encryptedKey: Uint8Array, options?: RequestOptions): Promise; + readonly vaultBaseUrl: string; + verify(algorithm: KeySignatureAlgorithm, digest: Uint8Array, signature: Uint8Array, options?: RequestOptions): Promise; + verifyData(algorithm: KeySignatureAlgorithm, data: Uint8Array, signature: Uint8Array, options?: RequestOptions): Promise; + wrapKey(algorithm: KeyWrapAlgorithm, key: Uint8Array, options?: RequestOptions): Promise; +} + +// @public +export interface DecryptOptions extends RequestOptions { + authenticationData?: Uint8Array; + authenticationTag?: Uint8Array; + iv?: Uint8Array; +} + +// @public +export interface DecryptResult { + result: Uint8Array; +} + // @public export interface DeletedKey extends Key { readonly deletedDate?: Date; @@ -48,6 +79,17 @@ export interface DeletedKey extends Key { // @public export type DeletionRecoveryLevel = "Purgeable" | "Recoverable+Purgeable" | "Recoverable" | "Recoverable+ProtectedSubscription"; +// @public +export interface EncryptOptions extends RequestOptions { + authenticationData?: Uint8Array; + iv?: Uint8Array; +} + +// @public +export interface EncryptResult { + result: Uint8Array; +} + // @public export interface GetKeyOptions { requestOptions?: msRest.RequestOptionsBase; @@ -95,6 +137,9 @@ export interface JsonWebKey { // @public export type JsonWebKeyCurveName = "P-256" | "P-384" | "P-521" | "P-256K"; +// @public +export type JsonWebKeyEncryptionAlgorithm = "RSA-OAEP" | "RSA-OAEP-256" | "RSA1_5"; + // @public export type JsonWebKeyOperation = "encrypt" | "decrypt" | "sign" | "verify" | "wrapKey" | "unwrapKey"; @@ -144,6 +189,9 @@ export class KeysClient { readonly vaultBaseUrl: string; } +// @public +export type KeyWrapAlgorithm = "RSA-OAEP" | "RSA-OAEP-256" | "RSA1_5"; + // @public export interface NewPipelineOptions { // (undocumented) @@ -186,12 +234,22 @@ export interface RetryOptions { readonly retryIntervalInMS?: number; } +// @public +export interface SignResult { + result: Uint8Array; +} + // @public (undocumented) export interface TelemetryOptions { // (undocumented) value: string; } +// @public +export interface UnwrapResult { + result: Uint8Array; +} + // @public export interface UpdateKeyOptions { enabled?: boolean; @@ -204,6 +262,16 @@ export interface UpdateKeyOptions { }; } +// @public +export interface VerifyResult { + result: boolean; +} + +// @public +export interface WrapResult { + result: Uint8Array; +} + // (No @packageDocumentation comment for this package) diff --git a/sdk/keyvault/keyvault-keys/rollup.base.config.js b/sdk/keyvault/keyvault-keys/rollup.base.config.js index 5c1da324d660..dc0cc44608d8 100644 --- a/sdk/keyvault/keyvault-keys/rollup.base.config.js +++ b/sdk/keyvault/keyvault-keys/rollup.base.config.js @@ -118,21 +118,18 @@ export function browserConfig(test = false) { }), cjs({ namedExports: { - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 - "assert/": ["ok", "equal", "strictEqual"] + assert: ["ok", "equal", "strictEqual"] } }) ] }; + baseConfig.external = ["fs-extra", "path", "crypto", "constants"]; if (test) { baseConfig.input = ["dist-esm/tests/*.test.js"]; baseConfig.plugins.unshift(multiEntry({ exports: false })); baseConfig.output.file = "dist-test/index.browser.js"; // mark fs-extra as external - baseConfig.external = ["fs-extra", "path"]; baseConfig.context = "null"; // Disable tree-shaking of test code. In rollup-plugin-node-resolve@5.0.0, rollup started respecting diff --git a/sdk/keyvault/keyvault-keys/samples/cryptography.ts b/sdk/keyvault/keyvault-keys/samples/cryptography.ts new file mode 100644 index 000000000000..58e999fdd23d --- /dev/null +++ b/sdk/keyvault/keyvault-keys/samples/cryptography.ts @@ -0,0 +1,59 @@ +import { KeysClient, CryptographyClient } from "../src"; +import { DefaultAzureCredential } from "@azure/identity"; +import * as crypto from 'crypto'; + +async function main(): Promise { + // DefaultAzureCredential expects the following three environment variables: + // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory + // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant + // - AZURE_CLIENT_SECRET: The client secret for the registered application + const credential = new DefaultAzureCredential(); + + const vaultName = process.env["KEYVAULT_NAME"] || "" + const url = `https://${vaultName}.vault.azure.net`; + + // Connection to Azure Key Vault + const client = new KeysClient(url, credential); + + let keyName = "localWorkKey"; + + // Connection to Azure Key Vault Cryptography functionality + let myWorkKey = await client.createKey(keyName, "RSA"); + + const cryptoClient = new CryptographyClient(url, myWorkKey.keyMaterial!.kid!, credential); + + // Sign and Verify + const signatureValue = "MySignature"; + let hash = crypto.createHash("sha256"); + + hash.update(signatureValue); + let digest = hash.digest(); + console.log("digest: ", digest); + + const signature = await cryptoClient.sign("RS256", digest); + console.log("sign result: ", signature); + + const verifyResult = await cryptoClient.verify("RS256", digest, signature.result); + console.log("verify result: ", verifyResult); + + // Encrypt and decrypt + const encrypt = await cryptoClient.encrypt("RSA1_5", Buffer.from("My Message")); + console.log("encrypt result: ", encrypt); + + const decrypt = await cryptoClient.decrypt("RSA1_5", encrypt.result); + console.log("decrypt: ", decrypt.result.toString()); + + // Wrap and unwrap + const wrapped = await cryptoClient.wrapKey("RSA-OAEP", Buffer.from("My Message")); + console.log("wrap result: ", wrapped); + + const unwrapped = await cryptoClient.unwrapKey("RSA-OAEP", wrapped.result); + console.log("unwrap result: ", unwrapped); + + await client.deleteKey(keyName); +} +main().catch((err) => { + console.log("error code: ", err.code); + console.log("error message: ", err.message); + console.log("error stack: ", err.stack); +}); diff --git a/sdk/keyvault/keyvault-keys/samples/helloWorld.ts b/sdk/keyvault/keyvault-keys/samples/helloWorld.ts index ebde75fff8b7..fb58abf045c6 100644 --- a/sdk/keyvault/keyvault-keys/samples/helloWorld.ts +++ b/sdk/keyvault/keyvault-keys/samples/helloWorld.ts @@ -1,12 +1,12 @@ import { KeysClient } from "../src"; -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; async function main(): Promise { - // EnvironmentCredential expects the following three environment variables: + // DefaultAzureCredential expects the following three environment variables: // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant // - AZURE_CLIENT_SECRET: The client secret for the registered application - const credential = new EnvironmentCredential(); + const credential = new DefaultAzureCredential(); const vaultName = process.env["KEYVAULT_NAME"] || "" const url = `https://${vaultName}.vault.azure.net`; diff --git a/sdk/keyvault/keyvault-keys/src/core/challengeBasedAuthenticationPolicy.ts b/sdk/keyvault/keyvault-keys/src/core/challengeBasedAuthenticationPolicy.ts new file mode 100644 index 000000000000..da643a776364 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/src/core/challengeBasedAuthenticationPolicy.ts @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +import { TokenCredential, AccessToken } from "@azure/core-http"; +import { BaseRequestPolicy, RequestPolicy, RequestPolicyOptions, RequestPolicyFactory } from "@azure/core-http"; +import { Constants } from "@azure/core-http"; +import { HttpOperationResponse } from "@azure/core-http"; +import { HttpHeaders } from "@azure/core-http"; +import { WebResource } from "@azure/core-http"; + +export const TokenRefreshBufferMs = 2 * 60 * 1000; // 2 Minutes + +/** + * Creates a new ChallengeBasedAuthenticationPolicy factory. + * + * @param credential The TokenCredential implementation that can supply the challenge token. + */ +export function challengeBasedAuthenticationPolicy(credential: TokenCredential): RequestPolicyFactory { + return { + create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions) => { + return new ChallengeBasedAuthenticationPolicy(nextPolicy, options, credential); + } + }; +} + +export class AuthenticationChallenge { + constructor(public scopes: string[] | string) { } +} + +/** + * + * Provides a RequestPolicy that can request a token from a TokenCredential + * implementation and then apply it to the Authorization header of a request + * as a Bearer token. + * + */ +export class ChallengeBasedAuthenticationPolicy extends BaseRequestPolicy { + private cachedToken: AccessToken | undefined = undefined; + private challenge: AuthenticationChallenge | undefined = undefined; + + /** + * Creates a new ChallengeBasedAuthenticationPolicy object. + * + * @param nextPolicy The next RequestPolicy in the request pipeline. + * @param options Options for this RequestPolicy. + * @param credential The TokenCredential implementation that can supply the bearer token. + * @param scopes The scopes for which the bearer token applies. + */ + constructor( + nextPolicy: RequestPolicy, + options: RequestPolicyOptions, + private credential: TokenCredential, + private refreshOn: number = Date.now(), + ) { + super(nextPolicy, options); + } + + private parseWWWAuthenticate(www_authenticate: string): string { + // Parses an authentication message like: + // ``` + // Bearer authorization="some_authorization", resource="https://some.url" + // ``` + let authenticateArray = www_authenticate.split(" "); + + // Remove the "Bearer" piece + delete authenticateArray[0]; + + // Split the KV comma-separated list + let commaSep = authenticateArray.join().split(","); + for (let item of commaSep) { + // Split the key/value pairs + let kv = item.split("="); + if (kv[0].trim() == "resource") { + // Remove the quotations around the string + let resource = kv[1].trim().replace(/['"]+/g, ''); + return resource; + } + } + return ""; + } + + /** + * Applies the Bearer token to the request through the Authorization header. + * @param webResource + */ + public async sendRequest( + webResource: WebResource + ): Promise { + if (!webResource.headers) webResource.headers = new HttpHeaders(); + + let originalBody = webResource.body; + + if (this.challenge == undefined) { + // Use a blank to start the challenge + webResource.body = ""; + } else { + // or use the cached token if we have one + await this.authenticateRequest(webResource); + } + + let response = await this._nextPolicy.sendRequest(webResource); + + if (response.status == 401) { + webResource.body = originalBody; + + let www_authenticate = response.headers.get("WWW-Authenticate"); + + if (www_authenticate) { + let resource = this.parseWWWAuthenticate(www_authenticate); + let challenge = new AuthenticationChallenge(resource + "/.default") + + if (this.challenge != challenge) { + this.challenge = challenge; + this.cachedToken = undefined; + + await this.authenticateRequest(webResource); + } + } + return this._nextPolicy.sendRequest(webResource); + } else { + return response; + } + } + + private async authenticateRequest(webResource: WebResource): Promise { + if ( + this.cachedToken && + (Date.now() < this.refreshOn) + ) { + webResource.headers.set( + Constants.HeaderConstants.AUTHORIZATION, + `Bearer ${this.cachedToken.token}` + ); + } else { + let token: AccessToken | null = await this.credential.getToken(this.challenge!.scopes); + if (token) { + this.cachedToken = token; + this.refreshOn = token.expiresOnTimestamp - TokenRefreshBufferMs; + webResource.headers.set( + Constants.HeaderConstants.AUTHORIZATION, + `Bearer ${token.token}` + ); + } + } + } +} diff --git a/sdk/keyvault/keyvault-keys/src/cryptographyClient.ts b/sdk/keyvault/keyvault-keys/src/cryptographyClient.ts new file mode 100644 index 000000000000..80d43c8d7ff1 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/src/cryptographyClient.ts @@ -0,0 +1,731 @@ +import { GetKeyOptions, RequestOptions } from "./keysModels"; +import { JsonWebKey, JsonWebKeyEncryptionAlgorithm } from "./core/models"; +import { + ServiceClientCredentials, TokenCredential, isNode, RequestPolicyFactory, + isTokenCredential, + deserializationPolicy, + signingPolicy, + exponentialRetryPolicy, + redirectPolicy, + systemErrorRetryPolicy, + generateClientRequestIdPolicy, + proxyPolicy, + throttlingRetryPolicy, + getDefaultProxySettings, + userAgentPolicy, + getDefaultUserAgentValue, +} from "@azure/core-http"; +import { parseKeyvaultIdentifier } from "./core/utils"; +import { TelemetryOptions } from "./core"; +import { RetryConstants, SDK_VERSION } from "./core/utils/constants"; +import { + NewPipelineOptions, + isNewPipelineOptions, + Pipeline, +} from "./core/keyVaultBase"; +import { KeyVaultClient } from "./core/keyVaultClient"; +import { challengeBasedAuthenticationPolicy } from "./core/challengeBasedAuthenticationPolicy"; +import * as crypto from "crypto"; +import * as constants from "constants"; + +let keyto: any; +if (isNode) { + keyto = require("@trust/keyto"); +} + +/** + * The client to interact with the KeyVault cryptography functionality + */ +export class CryptographyClient { + + /** + * Retrieves the complete key from the key vault + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, keyUrl, credentials); + * let result = await client.getKey(); + * ``` + * @param options Options for retrieving key + */ + public async getKey(options?: GetKeyOptions): Promise { + if (typeof this.key === "string") { + if (!this.name || this.name === "") { + throw new Error("getKey requires a key with a name"); + } + const key = await this.client.getKey( + this.vaultBaseUrl, + this.name, + options && options.version ? options.version : (this.version ? this.version : ""), + options + ); + return key.key!; + } else { + return this.key; + } + } + + /** + * Encrypts the given plaintext with the specified cryptography algorithm + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.encrypt("RSA1_5", Buffer.from("My Message")); + * ``` + * @param algorithm The algorithm to use + * @param plaintext The text to encrypt + * @param options Additional options + */ + public async encrypt( + algorithm: JsonWebKeyEncryptionAlgorithm, + plaintext: Uint8Array, + options?: EncryptOptions + ): Promise { + if (isNode) { + await this.fetchFullKeyIfPossible(); + + if (typeof this.key !== "string") { + switch (algorithm) { + case "RSA1_5": { + if (this.key.kty != "RSA") { + throw new Error("Key type does not match algorithm"); + } + + if (this.key.keyOps && !this.key.keyOps.includes("encrypt")) { + throw new Error("Key does not support the encrypt operation"); + } + + let keyPEM = keyto.from(this.key, "jwk").toString('pem', 'public_pkcs1'); + + let padded: any = { key: keyPEM, padding: constants.RSA_PKCS1_PADDING }; + const encrypted = crypto.publicEncrypt(padded, Buffer.from(plaintext)); + return {result: encrypted}; + }; + case "RSA-OAEP": { + if (this.key.kty != "RSA") { + throw new Error("Key type does not match algorithm"); + } + + if (this.key.keyOps && !this.key.keyOps.includes("encrypt")) { + throw new Error("Key does not support the encrypt operation"); + } + + let keyPEM = keyto.from(this.key, "jwk").toString('pem', 'public_pkcs1'); + + const encrypted = crypto.publicEncrypt(keyPEM, Buffer.from(plaintext)); + return {result: encrypted}; + }; + } + } + } + + // Default to the service + let result = await this.client.encrypt(this.vaultBaseUrl, this.name, this.version, algorithm, plaintext, options); + return {result: result.result!}; + } + + /** + * Decrypts the given ciphertext with the specified cryptography algorithm + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.decrypt("RSA1_5", encryptedBuffer); + * ``` + * @param algorithm The algorithm to use + * @param ciphertext The ciphertext to decrypt + * @param options Additional options + */ + public async decrypt( + algorithm: JsonWebKeyEncryptionAlgorithm, + ciphertext: Uint8Array, + options?: DecryptOptions + ): Promise { + let result = await this.client.decrypt(this.vaultBaseUrl, this.name, this.version, algorithm, ciphertext, options); + return {result: result.result!}; + } + + /** + * Wraps the given key using the specified cryptography algorithm + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.wrapKey("RSA1_5", keyToWrap); + * ``` + * @param algorithm The encryption algorithm to use to wrap the given key + * @param key The key to wrap + * @param options Additional options + */ + public async wrapKey( + algorithm: KeyWrapAlgorithm, + key: Uint8Array, + options?: RequestOptions + ): Promise { + if (isNode) { + await this.fetchFullKeyIfPossible(); + + if (typeof this.key !== "string") { + switch (algorithm) { + case "RSA1_5": { + if (this.key.kty != "RSA") { + throw new Error("Key type does not match algorithm"); + } + + if (this.key.keyOps && !this.key.keyOps.includes("wrapKey")) { + throw new Error("Key does not support the wrapKey operation"); + } + + let keyPEM = keyto.from(this.key, "jwk").toString('pem', 'public_pkcs1'); + + let padded: any = { key: keyPEM, padding: constants.RSA_PKCS1_PADDING }; + const encrypted = crypto.publicEncrypt(padded, Buffer.from(key)); + return {result: encrypted}; + }; + case "RSA-OAEP": { + if (this.key.kty != "RSA") { + throw new Error("Key type does not match algorithm"); + } + + if (this.key.keyOps && !this.key.keyOps.includes("wrapKey")) { + throw new Error("Key does not support the wrapKey operation"); + } + + let keyPEM = keyto.from(this.key, "jwk").toString('pem', 'public_pkcs1'); + + const encrypted = crypto.publicEncrypt(keyPEM, Buffer.from(key)); + return {result: encrypted}; + }; + } + } + } + + // Default to the service + let result = await this.client.wrapKey(this.vaultBaseUrl, this.name, this.version, algorithm, key, options); + return {result: result.result!}; + } + + /** + * Unwraps the given wrapped key using the specified cryptography algorithm + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.unwrapKey("RSA1_5", keyToUnwrap); + * ``` + * @param algorithm The decryption algorithm to use to unwrap the key + * @param encryptedKey The encrypted key to unwrap + * @param options Additional options + */ + public async unwrapKey( + algorithm: KeyWrapAlgorithm, + encryptedKey: Uint8Array, + options?: RequestOptions + ): Promise { + let result = await this.client.unwrapKey(this.vaultBaseUrl, this.name, this.version, algorithm, encryptedKey, options); + return {result: result.result!}; + } + + /** + * Cryptographically sign the digest of a message + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.sign("RS256", digest); + * ``` + * @param algorithm The signing algorithm to use + * @param digest The digest of the data to sign + * @param options Additional options + */ + public async sign( + algorithm: KeySignatureAlgorithm, + digest: Uint8Array, + options?: RequestOptions + ): Promise { + let result = await this.client.sign(this.vaultBaseUrl, this.name, this.version, algorithm, digest, options); + return {result: result.result!}; + } + + /** + * Verify the signed message digest + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.verify("RS256", signedDigest, signature); + * ``` + * @param algorithm The signing algorithm to use to verify with + * @param digest The digest to verify + * @param signature The signature to verify the digest against + * @param options Additional options + */ + public async verify( + algorithm: KeySignatureAlgorithm, + digest: Uint8Array, + signature: Uint8Array, + options?: RequestOptions + ): Promise { + const response = await this.client.verify(this.vaultBaseUrl, this.name, this.version, algorithm, digest, signature, options); + return {result: response.value ? response.value : false}; + } + + /** + * Cryptographically sign a block of data + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.signData("RS256", message); + * ``` + * @param algorithm The signing algorithm to use + * @param data The data to sign + * @param options Additional options + */ + public async signData( + algorithm: KeySignatureAlgorithm, + data: Uint8Array, + options?: RequestOptions + ): Promise { + let digest; + switch (algorithm) { + case ("ES256"): + case ("ES256K"): + case ("PS256"): + case ("RS256"): { + digest = await CryptographyClient.createHash("sha256", data); + } break; + case ("ES384"): + case ("PS384"): + case ("RS384"): { + digest = await CryptographyClient.createHash("sha384", data); + } break; + case ("ES512"): + case ("PS512"): + case ("RS512"): { + digest = await CryptographyClient.createHash("sha512", data); + } break; + default: { + throw new Error("Unsupported signature algorithm"); + } + } + + let result = await this.client.sign(this.vaultBaseUrl, this.name, this.version, algorithm, digest, options); + return {result: result.result!}; + } + + /** + * Verify the signed block of data + * + * Example usage: + * ```ts + * let client = new CryptographyClient(url, key, credentials); + * let result = await client.verifyData("RS256", signedMessage, signature); + * ``` + * @param algorithm The algorithm to use to verify with + * @param data The signed block of data to verify + * @param signature The signature to verify the block against + * @param options Additional options + */ + public async verifyData( + algorithm: KeySignatureAlgorithm, + data: Uint8Array, + signature: Uint8Array, + options?: RequestOptions + ): Promise { + if (isNode) { + await this.fetchFullKeyIfPossible(); + + if (typeof this.key !== "string") { + switch (algorithm) { + case ("RS256"): { + if (this.key.kty != "RSA") { + throw new Error("Key type does not match algorithm"); + } + + if (this.key.keyOps && !this.key.keyOps.includes("verify")) { + throw new Error("Key does not support the verify operation"); + } + + let keyPEM = keyto.from(this.key, "jwk").toString('pem', 'public_pkcs1'); + + const verifier = crypto.createVerify("SHA256"); + verifier.update(Buffer.from(data)); + verifier.end(); + + return {result: verifier.verify(keyPEM, Buffer.from(signature))}; + }; + case ("RS384"): { + if (this.key.kty != "RSA") { + throw new Error("Key type does not match algorithm"); + } + + if (this.key.keyOps && !this.key.keyOps.includes("verify")) { + throw new Error("Key does not support the verify operation"); + } + + let keyPEM = keyto.from(this.key, "jwk").toString('pem', 'public_pkcs1'); + + const verifier = crypto.createVerify("SHA384"); + verifier.update(Buffer.from(data)); + verifier.end(); + + return {result: verifier.verify(keyPEM, Buffer.from(signature))}; + }; + case ("RS512"): { + if (this.key.kty != "RSA") { + throw new Error("Key type does not match algorithm"); + } + + if (this.key.keyOps && !this.key.keyOps.includes("verify")) { + throw new Error("Key does not support the verify operation"); + } + + let keyPEM = keyto.from(this.key, "jwk").toString('pem', 'public_pkcs1'); + + const verifier = crypto.createVerify("SHA512"); + verifier.update(Buffer.from(data)); + verifier.end(); + + return {result: verifier.verify(keyPEM, Buffer.from(signature))}; + }; + } + } + } + + let digest: Buffer; + switch (algorithm) { + case ("ES256"): + case ("ES256K"): + case ("PS256"): + case ("RS256"): { + digest = await CryptographyClient.createHash("sha256", data); + } break; + case ("ES384"): + case ("PS384"): + case ("RS384"): { + digest = await CryptographyClient.createHash("sha384", data); + } break; + case ("ES512"): + case ("PS512"): + case ("RS512"): { + digest = await CryptographyClient.createHash("sha512", data); + } break; + default: { + throw new Error("Unsupported signature algorithm"); + } + } + + let result = await this.client.verify(this.vaultBaseUrl, this.name, this.version, algorithm, digest, signature, options); + return {result: result.value!}; + } + + /** + * A static method used to create a new Pipeline object with the provided Credential. + * + * @static + * @param {TokenCredential} The credential to use for API requests. + * @param {NewPipelineOptions} [pipelineOptions] Optional. Options. + * @returns {Pipeline} A new Pipeline object. + * @memberof CryptographyClient + */ + public static getDefaultPipeline( + credential: ServiceClientCredentials | TokenCredential, + pipelineOptions: NewPipelineOptions = {} + ): Pipeline { + // Order is important. Closer to the API at the top & closer to the network at the bottom. + // The credential's policy factory must appear close to the wire so it can sign any + // changes made by other factories (like UniqueRequestIDPolicyFactory) + const retryOptions = pipelineOptions.retryOptions || {}; + + const userAgentString: string = CryptographyClient.getUserAgentString(pipelineOptions.telemetry); + + let requestPolicyFactories: RequestPolicyFactory[] = []; + if (isNode) { + requestPolicyFactories.push( + proxyPolicy(getDefaultProxySettings((pipelineOptions.proxyOptions || {}).proxySettings)) + ); + } + requestPolicyFactories = requestPolicyFactories.concat([ + userAgentPolicy({ value: userAgentString }), + generateClientRequestIdPolicy(), + deserializationPolicy(), // Default deserializationPolicy is provided by protocol layer + throttlingRetryPolicy(), + systemErrorRetryPolicy(), + exponentialRetryPolicy( + retryOptions.retryCount, + retryOptions.retryIntervalInMS, + RetryConstants.MIN_RETRY_INTERVAL_MS, // Minimum retry interval to prevent frequent retries + retryOptions.maxRetryDelayInMs + ), + redirectPolicy(), + isTokenCredential(credential) + ? challengeBasedAuthenticationPolicy(credential) + : signingPolicy(credential) + ]); + + return { + httpClient: pipelineOptions.HTTPClient, + httpPipelineLogger: pipelineOptions.logger, + requestPolicyFactories + }; + } + + private static getUserAgentString(telemetry?: TelemetryOptions): string { + const userAgentInfo: string[] = []; + if (telemetry) { + if (userAgentInfo.indexOf(telemetry.value) === -1) { + userAgentInfo.push(telemetry.value); + } + } + const libInfo = `azsdk-js-keyvault-keys/${SDK_VERSION}`; + if (userAgentInfo.indexOf(libInfo) === -1) { + userAgentInfo.push(libInfo); + } + const defaultUserAgentInfo = getDefaultUserAgentValue(); + if (userAgentInfo.indexOf(defaultUserAgentInfo) === -1) { + userAgentInfo.push(defaultUserAgentInfo); + } + return userAgentInfo.join(" "); + } + + private async fetchFullKeyIfPossible() { + if (!this.hasTriedToGetKey) { + try { + let result = await this.getKey(); + this.key = result; + } catch { + + } + this.hasTriedToGetKey = true; + } + } + + private static async createHash(algorithm: string, data: Uint8Array): Promise { + if (isNode) { + let hash = crypto.createHash(algorithm); + hash.update(Buffer.from(data)); + let digest = hash.digest(); + return digest; + } else { + if (window && window.crypto && window.crypto.subtle) { + return Buffer.from(await window.crypto.subtle.digest(algorithm, Buffer.from(data))); + } else { + throw new Error("Browser does not support cryptography functions"); + } + } + } + + /** + * The base URL to the vault + */ + public readonly vaultBaseUrl: string; + + /** + * The options to create the connection to the service + */ + public readonly pipeline: Pipeline; + + /** + * The authentication credentials + */ + protected readonly credential: ServiceClientCredentials | TokenCredential; + private readonly client: KeyVaultClient; + + /** + * If the key is a string, it's a URL, and we'll pass it to the service API directly. + */ + public key: string | JsonWebKey; + + /** + * Name of the key the client represents + */ + private name: string; + + /** + * Version of the key the client represents + */ + private version: string; + + /** + * Has the client tried to fetch the full key yet + */ + private hasTriedToGetKey: boolean; + + /** + * Constructs a new instance of the Cryptography client for the given key + * + * Example usage: + * ```ts + * import { CryptographyClient } from "@azure/keyvault-keys"; + * import { DefaultAzureCredential } from "@azure/identity"; + * + * let url = `https://.vault.azure.net`; + * let credentials = new DefaultAzureCredential(); + * + * let client = new CryptographyClient(url, keyUrl, credentials); + * // or + * let client = new CryptographyClient(url, jsonWebKey, credentials); + * ``` + * @param url The url of the key vault service + * @param key The key to use during cryptography tasks + * @param credential The login credentials of the service + * @param {(Pipeline | NewPipelineOptions)} [pipelineOrOptions={}] Optional. A Pipeline, or options to create a default Pipeline instance. + * Omitting this parameter to create the default Pipeline instance. + * @memberof CryptographyClient + */ + constructor( + url: string, + key: string | JsonWebKey, // keyUrl or JsonWebKey + credential: TokenCredential, + pipelineOrOptions: Pipeline | NewPipelineOptions = {} + ) { + this.vaultBaseUrl = url; + this.credential = credential; + if (isNewPipelineOptions(pipelineOrOptions)) { + this.pipeline = CryptographyClient.getDefaultPipeline(credential, pipelineOrOptions); + } else { + this.pipeline = pipelineOrOptions; + } + this.client = new KeyVaultClient(credential, this.pipeline); + this.key = key; + + let parsed; + if (typeof this.key === "string") { + parsed = parseKeyvaultIdentifier("keys", this.key); + this.hasTriedToGetKey = false; + } else { + parsed = parseKeyvaultIdentifier("keys", this.key.kid!); + this.hasTriedToGetKey = true; + } + + if (parsed.name == "") { + throw new Error("Could not find 'name' of key in key URL"); + } + + if (!parsed.version || parsed.version == "") { + throw new Error("Could not find 'version' of key in key URL"); + } + + this.name = parsed.name; + this.version = parsed.version; + } +} + +/** + * Options for the encrypt call to the CryptographyClient + */ +export interface EncryptOptions extends RequestOptions { + /** + * Initialization vector + */ + iv?: Uint8Array, + /** + * Authentication data + */ + authenticationData?: Uint8Array, +} + +/** + * Options for the decrypt call to the CryptographyClient + */ + +export interface DecryptOptions extends RequestOptions { + /** + * Initialization vector + */ + iv?: Uint8Array, + /** + * Authentication data + */ + authenticationData?: Uint8Array, + /** + * Authentication tag + */ + authenticationTag?: Uint8Array, +} + +/** + * Allow algorithms for key wrapping/unwrapping + */ +export type KeyWrapAlgorithm = "RSA-OAEP" | "RSA-OAEP-256" | "RSA1_5"; + +/** + * Defines values for JsonWebKeySignatureAlgorithm. + * Possible values include: 'PS256', 'PS384', 'PS512', 'RS256', 'RS384', 'RS512', + * 'ES256', 'ES384', 'ES512', 'ES256K' + * @readonly + * @enum {string} + */ +export type KeySignatureAlgorithm = + | "PS256" + | "PS384" + | "PS512" + | "RS256" + | "RS384" + | "RS512" + | "ES256" + | "ES384" + | "ES512" + | "ES256K"; + +/** + * Result of a decrypt operation + */ +export interface DecryptResult { + /** + * Result of the operation + */ + result: Uint8Array, +} + +/** + * Reuslt of an encrypt operation + */ +export interface EncryptResult { + /** + * Result of the operation + */ + result: Uint8Array, +} + +/** + * Result of a sign operation + */ +export interface SignResult { + /** + * Result of the operation + */ + result: Uint8Array, +} + +/** + * Result of a verify operation + */ +export interface VerifyResult { + /** + * Result of the operation + */ + result: boolean, +} + +/** + * Result of a wrap operation + */ +export interface WrapResult { + /** + * Result of the operation + */ + result: Uint8Array, +} + +/** + * Result of an unwrap operation + */ +export interface UnwrapResult { + /** + * Result of the operation + */ + result: Uint8Array, +} diff --git a/sdk/keyvault/keyvault-keys/src/index.ts b/sdk/keyvault/keyvault-keys/src/index.ts index 9f15e7a74c61..21a870367550 100644 --- a/sdk/keyvault/keyvault-keys/src/index.ts +++ b/sdk/keyvault/keyvault-keys/src/index.ts @@ -7,7 +7,6 @@ import { isTokenCredential, RequestPolicyFactory, deserializationPolicy, - bearerTokenAuthenticationPolicy, signingPolicy, exponentialRetryPolicy, redirectPolicy, @@ -17,9 +16,11 @@ import { throttlingRetryPolicy, getDefaultProxySettings, isNode, - userAgentPolicy + userAgentPolicy, + RequestOptionsBase } from "@azure/core-http"; +import { TracerProxy, Span, SupportedPlugins } from "@azure/core-tracing"; import { getDefaultUserAgentValue } from "@azure/core-http"; import "@azure/core-paging"; import { PageSettings, PagedAsyncIterableIterator } from "@azure/core-paging"; @@ -29,6 +30,7 @@ import { KeyBundle, JsonWebKeyType, JsonWebKey, + JsonWebKeyEncryptionAlgorithm, JsonWebKeyOperation, JsonWebKeyCurveName, KeyItem, @@ -37,6 +39,8 @@ import { } from "./core/models"; import { KeyVaultClient } from "./core/keyVaultClient"; import { RetryConstants, SDK_VERSION } from "./core/utils/constants"; +import { challengeBasedAuthenticationPolicy } from "./core/challengeBasedAuthenticationPolicy"; + import { NewPipelineOptions, isNewPipelineOptions, @@ -58,27 +62,51 @@ import { } from "./keysModels"; import { parseKeyvaultIdentifier as parseKeyvaultEntityIdentifier } from "./core/utils"; +import { + CryptographyClient, + EncryptOptions, + DecryptOptions, + KeyWrapAlgorithm, + EncryptResult, + DecryptResult, + SignResult, + VerifyResult, + WrapResult, + UnwrapResult +} from "./cryptographyClient"; + export { CreateEcKeyOptions, CreateRsaKeyOptions, CreateKeyOptions, + CryptographyClient, DeletedKey, DeletionRecoveryLevel, + DecryptOptions, + DecryptResult, + EncryptOptions, + EncryptResult, GetKeyOptions, ListKeysOptions as GetKeysOptions, ImportKeyOptions, JsonWebKey, JsonWebKeyCurveName, + JsonWebKeyEncryptionAlgorithm, JsonWebKeyOperation, JsonWebKeyType, Key, KeyAttributes, + KeyWrapAlgorithm, NewPipelineOptions, PageSettings, PagedAsyncIterableIterator, ParsedKeyVaultEntityIdentifier, RequestOptions, - UpdateKeyOptions + SignResult, + UnwrapResult, + UpdateKeyOptions, + VerifyResult, + WrapResult }; export { ProxyOptions, TelemetryOptions, RetryOptions }; @@ -127,7 +155,7 @@ export class KeysClient { ), redirectPolicy(), isTokenCredential(credential) - ? bearerTokenAuthenticationPolicy(credential, "https://vault.azure.net/.default") + ? challengeBasedAuthenticationPolicy(credential) : signingPolicy(credential) ]); @@ -160,10 +188,10 @@ export class KeysClient { * Example usage: * ```ts * import { KeysClient } from "@azure/keyvault-keys"; - * import { EnvironmentCredential } from "@azure/identity"; + * import { DefaultAzureCredential } from "@azure/identity"; * * let url = `https://.vault.azure.net`; - * let credentials = new EnvironmentCredential(); + * let credentials = new DefaultAzureCredential(); * * let client = new KeysClient(url, credentials); * ``` @@ -186,6 +214,8 @@ export class KeysClient { this.pipeline = pipelineOrOptions; } + this.pipeline.requestPolicyFactories; + this.client = new KeyVaultClient(credential, this.pipeline); } @@ -248,12 +278,17 @@ export class KeysClient { delete unflattenedOptions.expires; delete unflattenedOptions.requestOptions; - const response = await this.client.createKey( - this.vaultBaseUrl, - name, - keyType, - unflattenedOptions - ); + const span = this.createSpan("createKey", unflattenedOptions); + span.start(); + + const response = await this.client + .createKey(this.vaultBaseUrl, name, keyType, unflattenedOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } else { const response = await this.client.createKey(this.vaultBaseUrl, name, keyType, options); @@ -295,12 +330,17 @@ export class KeysClient { delete unflattenedOptions.expires; delete unflattenedOptions.requestOptions; - const response = await this.client.createKey( - this.vaultBaseUrl, - name, - options.hsm ? "EC-HSM" : "EC", - unflattenedOptions - ); + const span = this.createSpan("createEcKey", unflattenedOptions); + span.start(); + + const response = await this.client + .createKey(this.vaultBaseUrl, name, options.hsm ? "EC-HSM" : "EC", unflattenedOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } else { const response = await this.client.createKey(this.vaultBaseUrl, name, "EC", options); @@ -342,12 +382,17 @@ export class KeysClient { delete unflattenedOptions.expires; delete unflattenedOptions.requestOptions; - const response = await this.client.createKey( - this.vaultBaseUrl, - name, - options.hsm ? "RSA-HSM" : "RSA", - unflattenedOptions - ); + const span = this.createSpan("createRsaKey", unflattenedOptions); + span.start(); + + const response = await this.client + .createKey(this.vaultBaseUrl, name, options.hsm ? "RSA-HSM" : "RSA", unflattenedOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } else { const response = await this.client.createKey(this.vaultBaseUrl, name, "RSA", options); @@ -389,12 +434,17 @@ export class KeysClient { delete unflattenedOptions.expires; delete unflattenedOptions.requestOptions; - const response = await this.client.importKey( - this.vaultBaseUrl, - name, - key, - unflattenedOptions - ); + const span = this.createSpan("importKey", unflattenedOptions); + span.start(); + + const response = await this.client + .importKey(this.vaultBaseUrl, name, key, unflattenedOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } else { const response = await this.client.importKey(this.vaultBaseUrl, name, key, options); @@ -418,11 +468,18 @@ export class KeysClient { * @returns Promise */ public async deleteKey(name: string, options?: RequestOptions): Promise { - const response = await this.client.deleteKey( - this.vaultBaseUrl, - name, - options ? options.requestOptions : {} - ); + const requestOptions = (options && options.requestOptions) || {}; + const span = this.createSpan("deleteKey", requestOptions); + span.start(); + + const response = await this.client + .deleteKey(this.vaultBaseUrl, name, requestOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } @@ -465,12 +522,17 @@ export class KeysClient { delete unflattenedOptions.expires; delete unflattenedOptions.requestOptions; - const response = await this.client.updateKey( - this.vaultBaseUrl, - name, - keyVersion, - unflattenedOptions - ); + const span = this.createSpan("updateKey", unflattenedOptions); + span.start(); + + const response = await this.client + .updateKey(this.vaultBaseUrl, name, keyVersion, unflattenedOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } else { const response = await this.client.updateKey(this.vaultBaseUrl, name, keyVersion, options); @@ -493,12 +555,24 @@ export class KeysClient { * @returns Promise */ public async getKey(name: string, options?: GetKeyOptions): Promise { - const response = await this.client.getKey( - this.vaultBaseUrl, - name, - options && options.version ? options.version : "", - options - ); + const requestOptions = (options && options.requestOptions) || {}; + const span = this.createSpan("getKey", requestOptions); + span.start(); + + const response = await this.client + .getKey( + this.vaultBaseUrl, + name, + options && options.version ? options.version : "", + requestOptions + ) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); + return this.getKeyFromKeyBundle(response); } @@ -517,11 +591,18 @@ export class KeysClient { * @returns Promise */ public async getDeletedKey(name: string, options?: RequestOptions): Promise { - const response = await this.client.getDeletedKey( - this.vaultBaseUrl, - name, - options ? options.requestOptions : {} - ); + const requestOptions = (options && options.requestOptions) || {}; + const span = this.createSpan("getDeletedKey", requestOptions); + span.start(); + + const response = await this.client + .getDeletedKey(this.vaultBaseUrl, name, requestOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } @@ -543,11 +624,16 @@ export class KeysClient { * @returns Promise */ public async purgeDeletedKey(name: string, options?: RequestOptions): Promise { - await this.client.purgeDeletedKey( - this.vaultBaseUrl, - name, - options ? options.requestOptions : {} - ); + const requestOptions = (options && options.requestOptions) || {}; + const span = this.createSpan("purgeDeletedKey", requestOptions); + span.start(); + + await this.client.purgeDeletedKey(this.vaultBaseUrl, name, requestOptions).catch((err) => { + span.end(); + throw err; + }); + + span.end(); } /** @@ -567,11 +653,18 @@ export class KeysClient { * @returns Promise */ public async recoverDeletedKey(name: string, options?: RequestOptions): Promise { - const response = await this.client.recoverDeletedKey( - this.vaultBaseUrl, - name, - options ? options.requestOptions : {} - ); + const requestOptions = (options && options.requestOptions) || {}; + const span = this.createSpan("recoverDeletedKey", requestOptions); + span.start(); + + const response = await this.client + .recoverDeletedKey(this.vaultBaseUrl, name, requestOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } @@ -590,11 +683,18 @@ export class KeysClient { * @returns Promise */ public async backupKey(name: string, options?: RequestOptions): Promise { - const response = await this.client.backupKey( - this.vaultBaseUrl, - name, - options ? options.requestOptions : {} - ); + const requestOptions = (options && options.requestOptions) || {}; + const span = this.createSpan("backupKey", requestOptions); + span.start(); + + const response = await this.client + .backupKey(this.vaultBaseUrl, name, requestOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return response.value; } @@ -615,11 +715,18 @@ export class KeysClient { * @returns Promise */ public async restoreKey(backup: Uint8Array, options?: RequestOptions): Promise { - const response = await this.client.restoreKey( - this.vaultBaseUrl, - backup, - options ? options.requestOptions : {} - ); + const requestOptions = (options && options.requestOptions) || {}; + const span = this.createSpan("restoreKey", requestOptions); + span.start(); + + const response = await this.client + .restoreKey(this.vaultBaseUrl, backup, requestOptions) + .catch((err) => { + span.end(); + throw err; + }); + + span.end(); return this.getKeyFromKeyBundle(response); } @@ -684,7 +791,18 @@ export class KeysClient { name: string, options?: ListKeysOptions ): PagedAsyncIterableIterator { + if (!options) { + options = {}; + } + if (!options.requestOptions) { + options.requestOptions = {}; + } + const span = this.createSpan("listKeyVersions", options.requestOptions); + span.start(); + const iter = this.listKeyVersionsAll(name, options); + + span.end(); return { next() { return iter.next(); @@ -748,7 +866,18 @@ export class KeysClient { public listKeys( options?: ListKeysOptions ): PagedAsyncIterableIterator { + if (!options) { + options = {}; + } + if (!options.requestOptions) { + options.requestOptions = {}; + } + const span = this.createSpan("listKeys", options.requestOptions); + span.start(); + const iter = this.listKeysAll(options); + + span.end(); return { next() { return iter.next(); @@ -817,7 +946,18 @@ export class KeysClient { public listDeletedKeys( options?: ListKeysOptions ): PagedAsyncIterableIterator { + if (!options) { + options = {}; + } + if (!options.requestOptions) { + options.requestOptions = {}; + } + const span = this.createSpan("listDeletedKeys", options.requestOptions); + span.start(); + const iter = this.listDeletedKeysAll(options); + + span.end(); return { next() { return iter.next(); @@ -875,4 +1015,23 @@ export class KeysClient { return resultObject; } + + /** + * Creates a span using the tracer that was set by the user + * @param methodName The name of the method for which the span is being created. + * @param requestOptions The options for the underlying http request. This will be + * updated to use the newly created span as the "parent" so that any new spans created + * after this point gets the right parent. + */ + private createSpan(methodName: string, requestOptions: RequestOptionsBase): Span { + const tracer = TracerProxy.getTracer(); + const span = tracer.startSpan(methodName, requestOptions.spanOptions); + if ( + tracer.pluginType !== SupportedPlugins.NOOP && + (requestOptions.spanOptions && requestOptions.spanOptions.parent) + ) { + requestOptions.spanOptions = { ...requestOptions.spanOptions, parent: span }; + } + return span; + } } diff --git a/sdk/keyvault/keyvault-keys/src/keysModels.ts b/sdk/keyvault/keyvault-keys/src/keysModels.ts index 904b63f7b1c9..65121f083a33 100644 --- a/sdk/keyvault/keyvault-keys/src/keysModels.ts +++ b/sdk/keyvault/keyvault-keys/src/keysModels.ts @@ -2,7 +2,6 @@ // Licensed under the MIT License. import * as msRest from "@azure/core-http"; -import { AbortSignalLike } from "@azure/abort-controller"; import { ParsedKeyVaultEntityIdentifier } from "./core/keyVaultBase"; import { JsonWebKey, JsonWebKeyOperation, JsonWebKeyCurveName } from "./core/models"; import { DeletionRecoveryLevel } from "./core/models"; @@ -126,10 +125,6 @@ export interface CreateKeyOptions { * @member {msRest.RequestOptionsBase} [requestOptions] Options for this request */ requestOptions?: msRest.RequestOptionsBase; - /** - * @member {AbortSignalLike} [abortSignal] Abort signal - */ - abortSignal?: AbortSignalLike; } /** @@ -154,7 +149,7 @@ export interface CreateEcKeyOptions extends CreateKeyOptions { /** * @interface * An interface representing the optional parameters that can be - * passed to createEcKey + * passed to createRsaKey */ export interface CreateRsaKeyOptions extends CreateKeyOptions { /** @@ -172,7 +167,7 @@ export interface CreateRsaKeyOptions extends CreateKeyOptions { /** * @interface * An interface representing the optional parameters that can be - * passed to createKey + * passed to importKey */ export interface ImportKeyOptions { /** @@ -205,8 +200,7 @@ export interface ImportKeyOptions { /** * @interface - * An interface representing KeyVaultClientUpdateKeyOptionalParams. - * Optional Parameters. + * An interface representing optional parameters that can be passed to updateKey. */ export interface UpdateKeyOptions { /** @@ -239,8 +233,7 @@ export interface UpdateKeyOptions { /** * @interface - * An interface representing KeyClientGetKeyOptionalParams. - * Optional Parameters. + * An interface representing optional parameters that can be passed to getKey. */ export interface GetKeyOptions { /** @@ -257,7 +250,6 @@ export interface GetKeyOptions { /** * @interface * An interface representing optional parameters for KeyClient paged operations. - * Optional Parameters. */ export interface ListKeysOptions { /** diff --git a/sdk/keyvault/keyvault-keys/tests/CRUD.test.ts b/sdk/keyvault/keyvault-keys/tests/CRUD.test.ts index d77d5ffd6181..9ef75b0382b9 100644 --- a/sdk/keyvault/keyvault-keys/tests/CRUD.test.ts +++ b/sdk/keyvault/keyvault-keys/tests/CRUD.test.ts @@ -4,7 +4,7 @@ import * as assert from "assert"; import { KeysClient, CreateEcKeyOptions, UpdateKeyOptions, GetKeyOptions } from "../src"; import { RestError } from "@azure/core-http"; -import { isNode, retry, env } from "./utils/recorder"; +import { retry, env } from "./utils/recorder"; import { authenticate } from "./utils/testAuthentication"; import TestClient from "./utils/testClient"; import { AbortController } from "@azure/abort-controller"; @@ -41,7 +41,9 @@ describe("Keys client - create, read, update and delete operations", () => { const keyName = testClient.formatName(`${keyPrefix}-${this!.test!.title}-${keySuffix}`); const controller = new AbortController(); const resultPromise = client.createKey(keyName, "RSA", { - abortSignal: controller.signal + requestOptions: { + abortSignal: controller.signal + } }); controller.abort(); let error; @@ -50,11 +52,7 @@ describe("Keys client - create, read, update and delete operations", () => { } catch (e) { error = e; } - if (isNode) { - assert.equal(error.message, "The request was aborted"); - } else { - assert.equal(error.message, "Failed to send the request."); - } + assert.equal(error.message, "The request was aborted"); }); it("cannot create a key with an empty name", async function() { diff --git a/sdk/keyvault/keyvault-keys/tests/crypto.test.ts b/sdk/keyvault/keyvault-keys/tests/crypto.test.ts new file mode 100644 index 000000000000..4e3c3a5e62ee --- /dev/null +++ b/sdk/keyvault/keyvault-keys/tests/crypto.test.ts @@ -0,0 +1,135 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import * as assert from "assert"; +import * as crypto from "crypto"; +import * as constants from "constants"; +import { isNode } from "@azure/core-http"; +import { ClientSecretCredential } from "@azure/identity"; +import { CryptographyClient, Key, KeysClient } from "../src"; +import { authenticate } from "./utils/testAuthentication"; +import TestClient from "./utils/testClient"; +import { isRecording } from "./utils/recorder"; +import { stringToUint8Array, uint8ArrayToString } from "./utils/crypto"; + +let keyto: any; +if (isNode) { + keyto = require("@trust/keyto"); +} + +describe("CryptographyClient (all decrypts happen remotely)", () => { + let client: KeysClient; + let testClient: TestClient; + let cryptoClient: CryptographyClient; + let recorder: any; + let credential: ClientSecretCredential; + let keyName: string; + let key: Key; + let keyVaultUrl: string; + let keyUrl: string; + + before(async function() { + const authentication = await authenticate(this); + client = authentication.client; + recorder = authentication.recorder; + testClient = authentication.testClient; + credential = authentication.credential; + keyName = testClient.formatName("cryptography-client-test"); + key = await client.createKey(keyName, "RSA"); + keyVaultUrl = key.vaultUrl; + keyUrl = key.keyMaterial!.kid as string; + cryptoClient = new CryptographyClient(keyVaultUrl, key.keyMaterial!.kid!, credential); + }); + + after(async function() { + await testClient.flushKey(keyName); + recorder.stop(); + }); + + // The tests follow + + it("getKey from client initialized with a key URL", async function() { + const getKeyResult = await cryptoClient.getKey(); + assert.equal(getKeyResult.kid, keyUrl); + }); + + it("getKey from client initialized with a JWK key", async function() { + const jwtKeyClient = new CryptographyClient(keyVaultUrl, key.keyMaterial!, credential); + const getKeyResult = await jwtKeyClient.getKey(); + assert.equal(getKeyResult.kid, key.keyMaterial!.kid); + }); + + if (isRecording) { + it("encrypt & decrypt with RSA1_5", async function() { + const text = this.test!.title; + const encryptResult = await cryptoClient.encrypt("RSA1_5", stringToUint8Array(text)); + const decryptResult = await cryptoClient.decrypt("RSA1_5", encryptResult.result); + const decryptedText = uint8ArrayToString(decryptResult.result); + assert.equal(text, decryptedText); + }); + + if (isNode) { + it("manually encrypt locally and decrypt remotely, both with RSA1_5", async function() { + const text = this.test!.title; + const key = await cryptoClient.getKey(); + const keyPEM = keyto.from(key, "jwk").toString("pem", "public_pkcs1"); + const padded: any = { key: keyPEM, padding: constants.RSA_PKCS1_PADDING }; + const encrypted = crypto.publicEncrypt(padded, Buffer.from(text)); + const decryptResult = await cryptoClient.decrypt("RSA1_5", encrypted); + const decryptedText = uint8ArrayToString(decryptResult.result); + assert.equal(text, decryptedText); + }); + } + + it("encrypt & decrypt with RSA-OAEP", async function() { + const text = this.test!.title; + const encryptResult = await cryptoClient.encrypt("RSA-OAEP", stringToUint8Array(text)); + const decryptResult = await cryptoClient.decrypt("RSA-OAEP", encryptResult.result); + const decryptedText = uint8ArrayToString(decryptResult.result); + assert.equal(text, decryptedText); + }); + + if (isNode) { + it("manually encrypt locally and decrypt remotely, both with RSA-OAEP", async function() { + const text = this.test!.title; + const key = await cryptoClient.getKey(); + // Encrypting outside the client since the client will intentionally + const keyPEM = keyto.from(key, "jwk").toString("pem", "public_pkcs1"); + const encrypted = crypto.publicEncrypt(keyPEM, Buffer.from(text)); + const decryptResult = await cryptoClient.decrypt("RSA-OAEP", encrypted); + const decryptedText = uint8ArrayToString(decryptResult.result); + assert.equal(text, decryptedText); + }); + } + } + + if (isNode) { + it("sign and verify with RS256", async function() { + const signatureValue = this.test!.title; + const hash = crypto.createHash("sha256"); + hash.update(signatureValue); + const digest = hash.digest(); + const signature = await cryptoClient.sign("RS256", digest); + const verifyResult = await cryptoClient.verify("RS256", digest, signature.result); + assert.ok(verifyResult); + }); + } + + if (isRecording) { + it("wrap and unwrap with rsa1_5", async function() { + const text = "arepa"; + const wrapped = await cryptoClient.wrapKey("RSA1_5", stringToUint8Array(text)); + const unwrappedResult = await cryptoClient.unwrapKey("RSA1_5", wrapped.result); + const unwrappedText = uint8ArrayToString(unwrappedResult.result); + assert.equal(text, unwrappedText); + }); + + it("wrap and unwrap with RSA-OAEP", async function() { + const text = this.test!.title; + const wrapped = await cryptoClient.wrapKey("RSA-OAEP", stringToUint8Array(text)); + const unwrappedResult = await cryptoClient.unwrapKey("RSA-OAEP", wrapped.result); + const unwrappedText = uint8ArrayToString(unwrappedResult.result); + assert.equal(text, unwrappedText); + }); + } +}); diff --git a/sdk/keyvault/keyvault-keys/tests/list.test.ts b/sdk/keyvault/keyvault-keys/tests/list.test.ts index 0a316b7921dd..8e089e3658ac 100644 --- a/sdk/keyvault/keyvault-keys/tests/list.test.ts +++ b/sdk/keyvault/keyvault-keys/tests/list.test.ts @@ -138,8 +138,10 @@ describe("Keys client - list keys in various ways", () => { await client.deleteKey(name); } - // Waiting until the key is deleted - await retry(async () => client.getDeletedKey(keyNames[0])); + // Waiting until the keys are deleted + for (const name of keyNames) { + await retry(async () => client.getDeletedKey(name)); + } let found = 0; for await (const key of client.listDeletedKeys()) { @@ -165,8 +167,10 @@ describe("Keys client - list keys in various ways", () => { await client.deleteKey(name); } - // Waiting until the key is deleted - await retry(async () => client.getDeletedKey(keyNames[0])); + // Waiting until the keys are deleted + for (const name of keyNames) { + await retry(async () => client.getDeletedKey(name)); + } let found = 0; for await (const page of client.listDeletedKeys().byPage()) { diff --git a/sdk/keyvault/keyvault-keys/tests/utils/crypto.ts b/sdk/keyvault/keyvault-keys/tests/utils/crypto.ts new file mode 100644 index 000000000000..44b4e29f1db2 --- /dev/null +++ b/sdk/keyvault/keyvault-keys/tests/utils/crypto.ts @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { isNode } from "./recorder"; + +export function stringToUint8Array(str: string): Uint8Array { + if (isNode) { + return new Uint8Array(Buffer.from(str)); + } else { + const bytes = new Uint8Array(str.length); + for (let i = 0; i < str.length; i++) { + bytes[i] = str.charCodeAt(i); + } + return bytes; + } +} + +export function uint8ArrayToString(ab: Uint8Array): string { + if (isNode) { + return Buffer.from(ab).toString("utf-8"); + } else { + const decoder = new TextDecoder("utf-8"); + return decoder.decode(ab); + } +} diff --git a/sdk/keyvault/keyvault-keys/tests/utils/recorder.ts b/sdk/keyvault/keyvault-keys/tests/utils/recorder.ts index f2f22b5d58e0..a967d3315350 100644 --- a/sdk/keyvault/keyvault-keys/tests/utils/recorder.ts +++ b/sdk/keyvault/keyvault-keys/tests/utils/recorder.ts @@ -7,7 +7,7 @@ import { retry as realRetry } from "./retry"; import { isNode as coreIsNode, delay as coreDelay } from "@azure/core-http"; import queryString from "query-string"; import * as dotenv from "dotenv"; -dotenv.config({ path: "../../.env" }); +dotenv.config({ path: "../.env" }); export function isBrowser(): boolean { return typeof window !== "undefined"; @@ -36,8 +36,8 @@ if (!isBrowser()) { } export const env = isBrowser() ? (window as any).__env__ : process.env; -const isRecording = env.TEST_MODE === "record"; -const isPlayingBack = env.TEST_MODE === "playback"; +export const isRecording = env.TEST_MODE === "record"; +export const isPlayingBack = env.TEST_MODE === "playback"; // IMPORTANT: These are my attempts to make this more generic without changing it significantly let replaceableVariables: { [key: string]: any } = {}; diff --git a/sdk/keyvault/keyvault-keys/tests/utils/testAuthentication.ts b/sdk/keyvault/keyvault-keys/tests/utils/testAuthentication.ts index fdae574ee08a..ae80cbc80716 100644 --- a/sdk/keyvault/keyvault-keys/tests/utils/testAuthentication.ts +++ b/sdk/keyvault/keyvault-keys/tests/utils/testAuthentication.ts @@ -32,5 +32,5 @@ export async function authenticate(that: any): Promise { const client = new KeysClient(keyVaultUrl, credential); const testClient = new TestClient(client); - return { recorder, client, testClient, keySuffix }; + return { recorder, client, credential, testClient, keySuffix }; } diff --git a/sdk/keyvault/keyvault-secrets/CHANGELOG.md b/sdk/keyvault/keyvault-secrets/CHANGELOG.md index 28e65db645df..f83b63c607e3 100644 --- a/sdk/keyvault/keyvault-secrets/CHANGELOG.md +++ b/sdk/keyvault/keyvault-secrets/CHANGELOG.md @@ -1,5 +1,12 @@ # Release History +## 4.0.0-preview.4 (2019-08-09) +- Fixed the missing TypeScript types by adding back the generated `.d.ts` file to the package.json + +## 4.0.0-preview.3 (2019-08-06) +- Added browser support. +- Added support for challenge-based authentication. + ## 4.0.0-preview.2 (2019-07-03) - Fix broken links for API references and samples. - Update custom user agent string to include the right package name and version. diff --git a/sdk/keyvault/keyvault-secrets/README.md b/sdk/keyvault/keyvault-secrets/README.md index 98c3f65740ed..e7402de34483 100644 --- a/sdk/keyvault/keyvault-secrets/README.md +++ b/sdk/keyvault/keyvault-secrets/README.md @@ -19,6 +19,8 @@ Use the client library for Azure KeyVault Secrets in your Node.js application to - Get all secrets. - Get all deleted secrets. +**Please Note:** This is a preview version of the KeyVault Secrets library + [Source code](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-secrets) | [Package (npm)](https://www.npmjs.com/package/@azure/keyvault-secrets) | [API Reference Documentation](https://azure.github.io/azure-sdk-for-js/keyvault-secrets) | [Product documentation](https://azure.microsoft.com/en-us/services/key-vault/) | [Samples](https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/keyvault/keyvault-secrets/samples) ## Getting started @@ -72,11 +74,11 @@ Use the [Azure Cloud Shell](https://shell.azure.com/bash) snippet below to creat - Grant the above mentioned application authorization to perform secret operations on the keyvault: ```Bash - az keyvault set-policy --name --spn $AZURE_CLIENT_ID --secret-permissions backup delete get list set + az keyvault set-policy --name --spn $AZURE_CLIENT_ID --secret-permissions backup delete get list create ``` > --secret-permissions: - > Accepted values: backup, delete, get, list, purge, recover, restore, set + > Accepted values: backup, delete, get, list, purge, recover, restore, create - Use the above mentioned Key Vault name to retrieve details of your Vault which also contains your Key Vault URL: ```Bash @@ -88,18 +90,18 @@ Use the [Azure Cloud Shell](https://shell.azure.com/bash) snippet below to creat To use the key vault from TypeScript/JavaScript, you need to first authenticate with the key vault service. To authenticate, first we import the identity and SecretsClient, which will connect to the key vault. ```typescript -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; import { SecretsClient } from "@azure/keyvault-secrets"; ``` Once these are imported, we can next connect to the key vault service. To do this, we'll need to copy some settings from the key vault we are connecting to into our environment variables. Once they are in our environment, we can access them with the following code: ```typescript -// EnvironmentCredential expects the following three environment variables: +// DefaultAzureCredential expects the following three environment variables: // * AZURE_TENANT_ID: The tenant ID in Azure Active Directory // * AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant // * AZURE_CLIENT_SECRET: The client secret for the registered application -const credential = new EnvironmentCredential(); +const credential = new DefaultAzureCredential(); // Build the URL to reach your key vault const vaultName = ""; @@ -227,6 +229,7 @@ export DEBUG=azure:keyvault-secrets:error,azure-amqp-common:error,rhea-promise:e ### Logging to a file - Set the `DEBUG` environment variable as shown above and then run your test script as follows: + - Logging statements from your test script go to `out.log` and logging statements from the sdk go to `debug.log`. ```bash node your-test-script.js > out.log 2>debug.log diff --git a/sdk/keyvault/keyvault-secrets/package.json b/sdk/keyvault/keyvault-secrets/package.json index 0fb4b03d1d5c..6d72e4bb91b7 100644 --- a/sdk/keyvault/keyvault-secrets/package.json +++ b/sdk/keyvault/keyvault-secrets/package.json @@ -2,7 +2,7 @@ "name": "@azure/keyvault-secrets", "sdk-type": "client", "author": "Microsoft Corporation", - "version": "4.0.0-preview.3", + "version": "4.0.0-preview.5", "license": "MIT", "description": "Isomorphic client library for Azure KeyVault's secrets.", "homepage": "https://github.com/Azure/azure-sdk-for-js#readme", @@ -27,7 +27,7 @@ "files": [ "LICENSE.txt", "README.md", - "types/src/", + "types/keyvault-secrets.d.ts", "dist/", "dist-esm/", "src/", @@ -47,14 +47,14 @@ "build:test": "npm run build:es6 && rollup -c rollup.test.config.js 2>&1", "build": "npm run extract-api && npm run build:samples && npm run build:es6 && npm run build:nodebrowser", "check-format": "prettier --list-different --config ../../.prettierrc.json \"src/**/*.ts\" \"tests/**/*.ts\" \"*.{js,json}\"", - "clean": "rimraf dist dist-esm dist-test types *.tgz *.log browser statistics.html coverage && find src/ -type f -name '*.js' -exec rm {} + && find tests/ -type f -name '*.js' -exec rm {} +", + "clean": "rimraf dist dist-esm dist-test types *.tgz *.log browser statistics.html coverage && rimraf src/**/*.js && rimraf tests/**/*.js", "extract-api": "tsc -p . && api-extractor run --local", "format": "prettier --write --config ../../.prettierrc.json \"src/**/*.ts\" \"tests/**/*.ts\" \"*.{js,json}\"", "integration-test:browser": "karma start --single-run", "integration-test:node": "nyc mocha --require source-map-support/register --reporter mocha-multi --timeout 1200000 --reporter-options spec=-,mocha-junit-reporter=- --full-trace dist-test/index.node.js", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint -c ../../.eslintrc.json src tests samples --ext .ts --fix --fix-type [problem,suggestion]", - "lint": "eslint -c ../../.eslintrc.json src tests samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o keyvault-secrets-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src tests samples --ext .ts -f html -o keyvault-secrets-lintReport.html || exit 0", "lint:terminal": "eslint -c ../../.eslintrc.json --ext .ts", "pack": "npm pack 2>&1", "prebuild": "npm run clean", @@ -68,38 +68,37 @@ }, "sideEffects": false, "dependencies": { - "@azure/core-arm": "1.0.0-preview.2", - "@azure/abort-controller": "1.0.0-preview.1", - "@azure/core-http": "1.0.0-preview.2", + "@azure/abort-controller": "1.0.0-preview.2", + "@azure/core-arm": "1.0.0-preview.3", + "@azure/core-http": "1.0.0-preview.3", "@azure/core-paging": "1.0.0-preview.1", - "@azure/identity": "1.0.0-preview.2", + "@azure/identity": "1.0.0-preview.3", "tslib": "^1.9.3" }, "devDependencies": { "@microsoft/api-extractor": "^7.1.5", "@types/chai": "^4.1.6", "@types/dotenv": "^6.1.0", - "@types/fs-extra": "~7.0.0", + "@types/fs-extra": "^8.0.0", "@types/mocha": "^5.2.5", "@types/nise": "^1.4.0", "@types/nock": "^10.0.1", "@types/node": "^8.0.0", "@types/query-string": "6.2.0", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", "chai": "^4.2.0", "cross-env": "^5.2.0", - "dotenv": "^7.0.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "dotenv": "^8.0.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", - "fs-extra": "~8.0.1", + "fs-extra": "^8.1.0", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", diff --git a/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.json b/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.json index 92238f6fe45f..3b81cdf084f5 100644 --- a/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.json +++ b/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.json @@ -1,5 +1,34 @@ { "recordings": [ + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:45 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6696f3ed-84f2-4ee8-a64a-476e1d94a77a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, { "method": "POST", "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", @@ -11,12 +40,13 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "date": "Fri, 19 Jul 2019 00:21:06 GMT", + "date": "Thu, 08 Aug 2019 23:31:46 GMT", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", - "x-ms-request-id": "4ac14261-4787-4351-9e89-5bbad33efd00", + "x-ms-request-id": "f15e9bb3-1699-4614-8ab0-100eacaa3600", "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -28,22 +58,22 @@ }, "requestBody": "{\"value\":\"SECRET_VALUE\"}", "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/f540d3ae1ca84d188c250feaa00d21fc\",\"attributes\":{\"enabled\":true,\"created\":1563495666,\"updated\":1563495666,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/da41171614884787ba2954ddd084ea38\",\"attributes\":{\"enabled\":true,\"created\":1565307106,\"updated\":1565307106,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "267", + "content-length": "266", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:05 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:45 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "93233ef4-9d38-4bd1-a357-7b0efd76b6d3", + "x-ms-request-id": "ec7b0ed4-faf1-4422-bd68-cbc296334e6f", "cache-control": "no-cache", "expires": "-1" } @@ -54,52 +84,74 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-\",\"deletedDate\":1563495666,\"scheduledPurgeDate\":1571271666,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/f540d3ae1ca84d188c250feaa00d21fc\",\"attributes\":{\"enabled\":true,\"created\":1563495666,\"updated\":1563495666,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "414", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:45 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ff061849-cdf0-46ae-8ef5-34f2ecace370", + "x-ms-request-id": "ac6bea19-a536-405d-a8c6-9304e088fa48", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:31:46 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0d362827-fd35-4fe3-80d0-61d8923a3300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-\",\"deletedDate\":1565307107,\"scheduledPurgeDate\":1573083107,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/da41171614884787ba2954ddd084ea38\",\"attributes\":{\"enabled\":true,\"created\":1565307106,\"updated\":1565307106,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "412", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:46 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b4fafc7d-9b8d-4808-8c36-9df797b49c21", + "x-ms-request-id": "f8268d6c-14c8-43d7-83eb-49150d6157f9", "cache-control": "no-cache", "expires": "-1" } @@ -110,25 +162,47 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:46 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "26125448-de93-47c6-a632-54f273d971c8", + "x-ms-request-id": "b256751e-85c3-4a15-8650-7896d43a6c23", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:31:47 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8b0c7270-7ddd-4fc3-9667-3fa632e82c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -139,140 +213,158 @@ "api-version": "7.0" }, "requestBody": null, - "status": 204, - "response": "", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "6915d879-2db8-4060-87d2-fa4a54217320", + "status": "409", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:21:27 GMT", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:46 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1bfeffb7-e22f-4885-80ae-885d1d40a80c", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE\",\"attributes\":{}}", - "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-/169d32b19da04f27826b0cc3faa9c952\",\"attributes\":{\"enabled\":true,\"created\":1563495687,\"updated\":1563495687,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "275", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:57 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "0f2628e6-4a30-4930-a140-ad2874f09c43", + "x-ms-request-id": "8b71eaa7-5e94-42d1-8ac3-0639fecffff1", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"value\":\"\"}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/5e6c82c5c7c349b29c08cebe12e3f188\",\"attributes\":{\"enabled\":true,\"created\":1563495687,\"updated\":1563495687,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "269", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:27 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:31:57 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "54066840-2cdd-4f17-9911-0abc57ff3b00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1e1b403f-e9b7-4ddd-b9a3-c6f3cc4c6b29", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-\",\"deletedDate\":1563495687,\"scheduledPurgeDate\":1571271687,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/5e6c82c5c7c349b29c08cebe12e3f188\",\"attributes\":{\"enabled\":true,\"created\":1563495687,\"updated\":1563495687,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "442", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:31:57 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e008c1e2-1acc-45dc-b91a-aac83a0ddeb2", + "x-ms-request-id": "1e929e14-3df2-4872-ba69-ab1d354b7ca7", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "80141e12-82c0-46ed-9a8c-33e92ba3be7b", + "x-ms-request-id": "3c49343b-0084-4f7f-ad1e-95f1f3fd64f1", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "99e43ad9-a1f1-4086-a763-956c8cab2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-", "query": { "api-version": "7.0" }, @@ -283,604 +375,705 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "5c17b279-29d5-442e-becb-0594a4a0d585", + "x-ms-request-id": "93a3abbd-a02f-40e3-bdda-a5200284b267", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:21:37 GMT", + "date": "Thu, 08 Aug 2019 23:32:07 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE\",\"attributes\":{\"exp\":32503680000}}", - "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/209bb33ebfd84ffd941ddcf40a40e126\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1563495698,\"updated\":1563495698,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 0, + "response": "", + "responseHeaders": {} + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "299", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:37 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5c8e2d1b-34e3-4c95-a064-c221e0223471", + "x-ms-request-id": "14413fd2-db5a-4319-af01-8f9508e05cc9", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/209bb33ebfd84ffd941ddcf40a40e126\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1563495698,\"updated\":1563495698,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "299", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:38 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7bda4336-ff28-4906-bffc-88798fe62f00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "c995ef17-f957-40f7-a8b1-05a03a3a9794", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-", + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-", "query": { "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"value\":\"\"}", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-\",\"deletedDate\":1563495698,\"scheduledPurgeDate\":1571271698,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/209bb33ebfd84ffd941ddcf40a40e126\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1563495698,\"updated\":1563495698,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/11fd276414fe49ad80fbd3a44c9204db\",\"attributes\":{\"enabled\":true,\"created\":1565307128,\"updated\":1565307128,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "460", + "content-length": "268", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4a53f168-37aa-45ff-b99f-d1049d67fe95", + "x-ms-request-id": "bba1e45a-6528-4a72-b478-6bf7a218997e", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "36c14c8e-c184-41f1-8d9f-14a7546a51a0", + "x-ms-request-id": "e1f4b2f7-874f-4bdd-b904-61ce30dd0551", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ad29dddf-aea6-4098-a0fe-1c25f19c5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-\",\"deletedDate\":1565307128,\"scheduledPurgeDate\":1573083128,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/11fd276414fe49ad80fbd3a44c9204db\",\"attributes\":{\"enabled\":true,\"created\":1565307128,\"updated\":1565307128,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "440", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:48 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:08 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d83ec146-ee35-4715-a9fd-77e90f15bac3", + "x-ms-request-id": "b0749ea2-d266-49c6-b6de-593f23ce4a37", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "aee7b086-d325-4657-b30d-dbfb58d9ee1c", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:21:58 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "22bf3641-8b62-427d-ba41-422be6fabef5", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"value\":\"SECRET_VALUE\"}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/9e67eb89fe544c47ab7f85283bc5fd96\",\"attributes\":{\"enabled\":true,\"created\":1563495719,\"updated\":1563495719,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "270", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:58 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "902d730c-286a-4ee8-9217-d1e147202a00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "40db330d-f307-4539-967b-c93c0965fa94", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "PATCH", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-", "query": { "api-version": "7.0" }, - "requestBody": "{\"attributes\":{\"exp\":32503680000}}", - "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/9e67eb89fe544c47ab7f85283bc5fd96\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1563495719,\"updated\":1563495719,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "265", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:58 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:08 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6db4dd96-5e5c-46a7-9871-84aff25406c8", + "x-ms-request-id": "574b4494-c2a0-443a-ab0a-56512cdd6200", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/9e67eb89fe544c47ab7f85283bc5fd96\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1563495719,\"updated\":1563495719,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "288", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:58 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:18 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e7a30eea-0a7e-4e5b-b2ea-1a235190ec45", + "x-ms-request-id": "8634eb07-432b-4f07-9dcd-cbd79e18eb41", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:18 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8a2c6907-c73d-46b9-b159-1988af9e6000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-\",\"deletedDate\":1563495719,\"scheduledPurgeDate\":1571271719,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/9e67eb89fe544c47ab7f85283bc5fd96\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1563495719,\"updated\":1563495719,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 204, + "response": "", "responseHeaders": { + "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", - "status": "200", + "status": "204", + "x-ms-request-id": "5a5c3ec3-7e51-46e8-9f69-f40459c19843", "x-ms-keyvault-region": "westus", - "content-length": "438", - "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:58 GMT", - "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e8c1ce05-d5e2-4235-922a-6f943723d603", + "date": "Thu, 08 Aug 2019 23:32:18 GMT", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:21:58 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:18 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "575f4857-022d-4eae-b44e-6f7310247d1b", + "x-ms-request-id": "660f887d-1fdd-410c-8526-a33e611f89b3", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "61bee5af-c037-48e5-983b-9d70cba0a9ed", - "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:22:09 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:32:18 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8f6ad2ae-b465-4527-9922-c07467025100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE\",\"attributes\":{\"enabled\":false}}", + "requestBody": "{\"value\":\"SECRET_VALUE\",\"attributes\":{\"exp\":32503680000}}", "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/f337cbde990b43b9a5964b66f65bd6fb\",\"attributes\":{\"enabled\":false,\"created\":1563495729,\"updated\":1563495729,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/d89b70e5f66d46e7bc8e266c154e1c78\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1565307139,\"updated\":1565307139,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "279", + "content-length": "298", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:09 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:18 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "419ac880-1bde-4953-854e-870333593b35", + "x-ms-request-id": "3184bd82-056a-47f7-824a-ffd2a676294d", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PATCH", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/", "query": { "api-version": "7.0" }, - "requestBody": "{\"attributes\":{\"exp\":32503680000}}", - "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/f337cbde990b43b9a5964b66f65bd6fb\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1563495729,\"updated\":1563495730,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "274", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:09 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "38dee489-bc5f-415e-8701-3a41791244e1", + "x-ms-request-id": "45d8fc5d-123f-4b75-8193-de22040e07db", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e3cec414-208d-42d2-918c-60296d2b5d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-\",\"deletedDate\":1563495730,\"scheduledPurgeDate\":1571271730,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/f337cbde990b43b9a5964b66f65bd6fb\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1563495729,\"updated\":1563495730,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/d89b70e5f66d46e7bc8e266c154e1c78\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1565307139,\"updated\":1565307139,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "455", + "content-length": "298", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:10 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4e97f0cf-464e-4dd5-8fff-48e5bb5de1ef", + "x-ms-request-id": "1839be38-87cf-463a-b99b-645ac5fb3675", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:10 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "380f483e-3a29-40f3-830c-96f25337263d", + "x-ms-request-id": "1bff237d-4a64-4f69-9984-06a3006284b6", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "54066840-2cdd-4f17-9911-0abc89023c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-\",\"deletedDate\":1565307140,\"scheduledPurgeDate\":1573083140,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/d89b70e5f66d46e7bc8e266c154e1c78\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1565307139,\"updated\":1565307139,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "458", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:20 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d1965eca-5aca-434c-bec5-75b1a2a49655", + "x-ms-request-id": "d21211c4-fc28-484d-acdf-1f2836a24e29", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "348136c0-7d7d-456d-a8c1-e516328b7065", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:22:30 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5a8ef13e-10c5-4004-9fd9-12112e64b7ab", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"value\":\"SECRET_VALUE\"}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/421a1b8b588940489b2bab3ec52d2827\",\"attributes\":{\"enabled\":true,\"created\":1563495750,\"updated\":1563495750,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "267", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:30 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7aac0246-f3cc-4734-b4fa-3cdc29756800", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "388155fe-c00e-4d7a-a235-58b661122e46", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/421a1b8b588940489b2bab3ec52d2827\",\"attributes\":{\"enabled\":true,\"created\":1563495750,\"updated\":1563495750,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "267", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:19 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "50272c8c-19b9-4b6e-a379-220816849be7", + "x-ms-request-id": "5f5e92a5-7922-48cc-961c-74be7b8b9993", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-\",\"deletedDate\":1563495750,\"scheduledPurgeDate\":1571271750,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/421a1b8b588940489b2bab3ec52d2827\",\"attributes\":{\"enabled\":true,\"created\":1563495750,\"updated\":1563495750,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "414", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:30 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1af86e68-4b38-4b99-9f7f-b52bfb5448cc", + "x-ms-request-id": "8128b4f6-b18d-4159-9523-ab201090b8b6", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:29 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c8880d70-3985-4418-8f8d-9b06d8e82d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, @@ -890,7 +1083,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -898,155 +1091,145 @@ "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:30 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6524879c-18cc-4c8c-a09f-8662e1c3c0b0", + "x-ms-request-id": "605887f3-eec0-4f84-8fe4-768487523e37", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "1ca3ec18-4786-4b16-abc0-2c225049b3f6", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:22:40 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:40 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9bcff573-d308-4b7f-8822-37f83758ffce", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"value\":\"SECRET_VALUE\",\"attributes\":{\"enabled\":false}}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/ea6f543a77c04a52a4c58a0caeb7abf5\",\"attributes\":{\"enabled\":false,\"created\":1563495761,\"updated\":1563495761,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "277", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:40 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:40 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "032cce83-64dc-4622-b7bd-b6d690265f00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "28c76b4e-59b9-41f1-bd39-e1139a9ed619", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 403, - "response": "{\"error\":{\"code\":\"Forbidden\",\"message\":\"Operation get is not allowed on a disabled secret.\",\"innererror\":{\"code\":\"SecretDisabled\"}}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "403", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "132", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:40 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8b01f1ed-46fd-403a-95e3-08e9e90a97d1", + "x-ms-request-id": "64f3f2b3-5cd3-4827-b6ec-4262f6f996df", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-\",\"deletedDate\":1563495761,\"scheduledPurgeDate\":1571271761,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/ea6f543a77c04a52a4c58a0caeb7abf5\",\"attributes\":{\"enabled\":false,\"created\":1563495761,\"updated\":1563495761,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "433", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:50 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a164af9f-f7cf-4f46-957e-a29526426c75", + "x-ms-request-id": "ffb691e0-729b-4408-852a-103e602b8525", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "409", - "x-ms-keyvault-region": "westus", - "content-length": "121", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:41 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f15e9bb3-1699-4614-8ab0-100e6fb13600", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2aeb7524-bca7-458d-a539-c50efcfe89bc", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-", "query": { "api-version": "7.0" }, @@ -1057,300 +1240,384 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "e35b53c0-1f05-4579-86da-1e6ccd92b8ab", + "x-ms-request-id": "02158eb1-95cb-40cc-965f-610f8ffd7e64", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:22:51 GMT", + "date": "Thu, 08 Aug 2019 23:32:50 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE\"}", - "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/a8a59fbe609345d1ab2ffc73e756606c\",\"attributes\":{\"enabled\":true,\"created\":1563495772,\"updated\":1563495772,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "295", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "23f8935c-1c80-49f7-8dfa-78ef2f5d158a", + "x-ms-request-id": "59d5ccc4-88e3-4827-abb9-bbe4f01561ae", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4e8a63a7-4095-4d92-85b1-ef77e28e2e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"value\":\"SECRET_VALUE\"}", "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/a8a59fbe609345d1ab2ffc73e756606c\",\"attributes\":{\"enabled\":true,\"created\":1563495772,\"updated\":1563495772,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/6c750e93009e4567966c938f7cf6c4e9\",\"attributes\":{\"enabled\":true,\"created\":1565307171,\"updated\":1565307171,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "295", + "content-length": "269", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "829c3a80-26ec-4d95-a191-e85c85b34495", + "x-ms-request-id": "b4a690de-a72d-470d-91a4-0ddcfe28f8ce", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-\",\"deletedDate\":1563495772,\"scheduledPurgeDate\":1571271772,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/a8a59fbe609345d1ab2ffc73e756606c\",\"attributes\":{\"enabled\":true,\"created\":1563495772,\"updated\":1563495772,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "470", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "83b63f99-ea28-4dca-964f-12c24de9c754", + "x-ms-request-id": "2e5dbd51-008c-4cee-914a-f5d7a4283eaf", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7d4ffd51-7d95-4f50-a01a-14046a2b2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "{\"attributes\":{\"exp\":32503680000}}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/6c750e93009e4567966c938f7cf6c4e9\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1565307171,\"updated\":1565307172,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "264", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:22:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3d12d82e-807d-4b60-83d6-9058e50a462d", + "x-ms-request-id": "7a9bb652-ae95-48cc-8751-21d0ec5dae36", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:02 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e7f5d649-99de-4b3f-b5d4-1ea28ce9add1", + "x-ms-request-id": "a48fd20d-7d35-453f-bc23-1dc03df86227", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "1cc6e7c5-b988-4996-a240-fb4aed1a88b5", - "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:23:12 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:32:52 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "80726dc0-b42c-497f-99a7-147a06fb2e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecretNonExisting-/", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-cangetasecretNonExisting-\"}}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/6c750e93009e4567966c938f7cf6c4e9\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1565307171,\"updated\":1565307172,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "123", + "content-length": "287", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:12 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f0161476-9c8a-4c01-bd9d-0bded598ca32", + "x-ms-request-id": "6a05b727-1278-45dd-b10d-ba9353058db0", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE\"}", - "status": 200, - "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/abec8fb0523b4262a71f19983f186315\",\"attributes\":{\"enabled\":true,\"created\":1563495793,\"updated\":1563495793,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "270", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:12 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "76392dab-3db9-43a8-93a3-18c05cb166a3", + "x-ms-request-id": "5c468ec1-424b-4bf3-9782-2822cc05c588", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:52 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "032cce83-64dc-4622-b7bd-b6d614285f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-\",\"deletedDate\":1563495793,\"scheduledPurgeDate\":1571271793,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/abec8fb0523b4262a71f19983f186315\",\"attributes\":{\"enabled\":true,\"created\":1563495793,\"updated\":1563495793,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-\",\"deletedDate\":1565307172,\"scheduledPurgeDate\":1573083172,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/6c750e93009e4567966c938f7cf6c4e9\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1565307171,\"updated\":1565307172,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "420", + "content-length": "436", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:12 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:52 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2c7fb705-8e38-4f92-ab00-c18f7c31eb17", + "x-ms-request-id": "b4fafc24-d0e0-4367-82a7-e1bd29153cc0", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-candeleteasecret-\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "115", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:12 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:52 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f47cadb9-e628-4ef5-8cd4-9c2b35df46cf", + "x-ms-request-id": "2e03d415-1d08-4d58-854a-1e8044857f5f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:32:52 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c49d73c5-82f0-4079-b485-e303bb022d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", "query": { "api-version": "7.0" }, @@ -1360,7 +1627,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -1368,53 +1635,2639 @@ "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:12 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:32:52 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "62da7f11-c0c9-492c-9486-0996a2a11959", + "x-ms-request-id": "4d1d5391-51f7-402a-8a3b-76b974572ef6", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1172319a-1d67-4926-85a0-42b264768fbc", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "938b1b2d-2347-4a02-b853-a9e198076700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9ef21a1e-7baa-40d5-9d98-7664180d03ed", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2cc80048-d966-4c60-ac42-04a0adef62b2", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "032cce83-64dc-4622-b7bd-b6d68f2a5f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "346d68df-1dc5-4389-8646-6f960569f046", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:33:13 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e03553d0-c0fa-4bee-8d67-af7fde359d07", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bd1f3bb8-80fc-4293-adef-b238b9e22d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE\",\"attributes\":{\"enabled\":false}}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/8dffcf81e759448da8f44030ccda68a7\",\"attributes\":{\"enabled\":false,\"created\":1565307194,\"updated\":1565307194,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "278", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9af55a43-2119-4583-a3d7-d779d595ead0", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d41898f8-609f-4958-9d4e-48257b76c5ea", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "12f5c5a6-7242-435d-bd0e-c6b405842f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PATCH", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"attributes\":{\"exp\":32503680000}}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/8dffcf81e759448da8f44030ccda68a7\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1565307194,\"updated\":1565307194,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "273", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "38f59669-f240-4ae7-81a9-dac299293f8b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3aba7e36-c740-4084-a83c-36ad7069b499", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "76aee412-a7af-43c4-ad5b-ff2975dd5f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-\",\"deletedDate\":1565307194,\"scheduledPurgeDate\":1573083194,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/8dffcf81e759448da8f44030ccda68a7\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1565307194,\"updated\":1565307194,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "453", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "adf04941-cb8e-463b-9175-59514732de34", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ffc95c25-8f1e-4668-a1f2-bd6a7aa03737", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0b113d46-7dc2-4689-a3b5-26788b192900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "af3ab78d-23be-42e1-84b9-d08d7bfcff83", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:24 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2ae4a86d-debf-4681-8fc8-6223a9381df0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:24 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f013da0a-e077-4ad0-8f4d-60e512256600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:24 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "08bc2694-b68d-4b24-b222-bc060238630f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:34 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e2df568d-6155-4468-bd16-a00b6c313170", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:34 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f000cf24-7d7f-47dc-9664-a312cacb2700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "f26708ab-6ec1-44ae-a603-0e27f2bd7578", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:33:34 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:34 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "db412171-0943-4901-85f4-324a7e1ef64b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a9161f10-33ec-4d0b-839b-4e3fa65d3e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/8a3a47747c9e40e4bdbe3b3bf7bf8da2\",\"attributes\":{\"enabled\":true,\"created\":1565307216,\"updated\":1565307216,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "266", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d8497826-8696-45af-915d-35f7a8dde180", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b463f98d-2b35-401c-94c8-8cc4e25c3999", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "75705e30-9f4d-417c-9eb2-d28a11702c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/8a3a47747c9e40e4bdbe3b3bf7bf8da2\",\"attributes\":{\"enabled\":true,\"created\":1565307216,\"updated\":1565307216,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "266", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "262e1fcd-4bbb-4de1-941b-5e914d256ad7", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0f39fbe0-fe0d-4312-be97-66eeabdac584", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "6ae518e9-213c-475b-ae5c-3986e36b2e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-\",\"deletedDate\":1565307216,\"scheduledPurgeDate\":1573083216,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/8a3a47747c9e40e4bdbe3b3bf7bf8da2\",\"attributes\":{\"enabled\":true,\"created\":1565307216,\"updated\":1565307216,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "412", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "fa963b02-3111-4890-b1dd-153b61c3879a", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cee839e3-440a-4c68-a23a-2fad8bcfa6d2", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ef2c5b05-168a-4679-874a-bf995d2a2e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1556a56b-5bf7-4fda-8f91-7fa60f42385c", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:46 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5a60d2bd-0db4-47ea-aed9-11687e53ca4f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:46 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483bd5fe3900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "80b858c9-4028-473c-9367-5146292b990d", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ea180a6d-961b-42d3-9ded-5a4cb0bdb1ab", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:46 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ad29dddf-aea6-4098-a0fe-1c2531a85700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE\",\"attributes\":{\"enabled\":false}}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/df9074fb1b3d4700a3a713ccd073cd55\",\"attributes\":{\"enabled\":false,\"created\":1565307227,\"updated\":1565307227,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "276", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6c5593ff-cf0c-44c3-a8fa-b285be1236c2", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "fc9c0662-aaee-434b-9b72-c2f05fc9e6f4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:46 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c0fba897-82e0-4602-8b80-8a6664152c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 403, + "response": "{\"error\":{\"code\":\"Forbidden\",\"message\":\"Operation get is not allowed on a disabled secret.\",\"innererror\":{\"code\":\"SecretDisabled\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "403", + "x-ms-keyvault-region": "westus", + "content-length": "132", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5af3df79-6c9b-47ec-9b32-58e164bd193a", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "894b45c2-58da-4ec6-b429-8281e71e2e41", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "938b1b2d-2347-4a02-b853-a9e1e00d6700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-\",\"deletedDate\":1565307228,\"scheduledPurgeDate\":1573083228,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/df9074fb1b3d4700a3a713ccd073cd55\",\"attributes\":{\"enabled\":false,\"created\":1565307227,\"updated\":1565307227,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "431", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bbf98cd9-697a-43a8-aacc-bc5fe6aacaa3", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8c1d16a0-1b74-41c4-84af-072530c5cd00", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:47 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "357c4149-5794-44d4-9f0c-3f62e5b95800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:48 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a6a7c79c-a1c6-4b0d-90ed-efc6aaddf871", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:58 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7d4c29ca-ef11-4fc6-85d1-892379900730", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:33:58 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "abd3b266-e081-4e50-94ad-217f41646800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:33:58 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "413313ca-d7cb-49d0-8d77-af6ce96c4e98", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5ffa29e5-6e8b-4cb5-93e9-63197c7ff8c6", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0c0dc299-8c68-465a-97fd-3921dcf83800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "4c55ad20-1837-4501-ac42-ff48436ce878", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:34:08 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ac1e3c04-52db-468d-9667-6458ad5e054b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0b113d46-7dc2-4689-a3b5-267844202900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/97ca6a7ece524256ba81e9e4b0a2185b\",\"attributes\":{\"enabled\":true,\"created\":1565307249,\"updated\":1565307249,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "294", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "756286bb-4f8e-44d2-b2e2-e44898ba50a3", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "66058f95-49d8-4241-a904-c010e55218f3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "655b9216-546b-4784-a7ad-9765db213000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/97ca6a7ece524256ba81e9e4b0a2185b\",\"attributes\":{\"enabled\":true,\"created\":1565307249,\"updated\":1565307249,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "294", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f264bdcc-5ca3-442d-a2a0-20f20c8d02c8", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "841406b1-d21e-4b09-89b8-91bf9cb8d0f8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "3a51de51-d302-4553-b2fd-e761b49e6300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-\",\"deletedDate\":1565307249,\"scheduledPurgeDate\":1573083249,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/97ca6a7ece524256ba81e9e4b0a2185b\",\"attributes\":{\"enabled\":true,\"created\":1565307249,\"updated\":1565307249,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "468", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8ccb95c3-8535-49f3-983a-e9a34cc9e642", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "dfe558f3-9fd0-4005-aef9-06891e8ce688", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a0a20ca6-d951-422d-bf55-e23936815f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9a881cc1-c4ac-4a58-99a8-f99a0e6b6ce3", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e9b8b08d-797c-4223-9e87-cac52eeb0d8f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7bda4336-ff28-4906-bffc-887961f82f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "1b582bd7-7db8-4d0c-a02f-e94b1852e897", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecretNonExisting-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d7133ed1-e924-482d-b53d-86e0519e796a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "54066840-2cdd-4f17-9911-0abcda113c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecretNonExisting-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-cangetasecretNonExisting-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "122", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ed8d2e70-e30a-4dcf-b194-eee65228e197", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d94126da-f151-4c20-9dc1-67a19ebbe96e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5a8dc41c-4d88-4336-80aa-60664eac5200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/cd7763294dfc4a8ba5ffad524122fb72\",\"attributes\":{\"enabled\":true,\"created\":1565307261,\"updated\":1565307261,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "269", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "43c07e22-9478-4a6c-b75d-fab2e962bd64", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8cd5dbab-b682-49c3-9396-dac8bb578102", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4999da09-11db-4c98-a0e1-859a86f46100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-\",\"deletedDate\":1565307261,\"scheduledPurgeDate\":1573083261,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/cd7763294dfc4a8ba5ffad524122fb72\",\"attributes\":{\"enabled\":true,\"created\":1565307261,\"updated\":1565307261,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "418", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "82384c43-c77c-4dfc-a2cc-32754393da88", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1f7c72b0-d67c-4aaf-b744-b24cdf1ed247", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0d362827-fd35-4fe3-80d0-61d8854f3300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-candeleteasecret-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "114", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9a69cd7d-7ed2-4291-bb08-f2202afc2e5d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "119c1f6f-b954-4f48-b21d-58cbc9bc3354", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5a41e441-b938-46a1-8e20-0541cb4b6400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "deea4ed0-e0be-4703-9089-bce22123840d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "447bf2a7-e69c-454f-8caa-2431e96a9ea8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:31 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bd1f3bb8-80fc-4293-adef-b238b5eb2d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, "response": "", "responseHeaders": { "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "cf64eb37-39d1-4624-a145-8b9522335a25", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecretNonExisting-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "582f2c08-2109-446e-a284-35d756efd11d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "35f52cfb-8bc7-4847-bacd-9ad277042b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecretNonExisting-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-candeleteasecretNonExisting-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "125", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5fa0be44-0eea-4eb4-925c-908ac2f3f04f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c2e5919a-458a-4511-9f0a-d095d5c2c0a9", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ff56368e-87f6-4fdf-9848-87abfb2d5b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"RSA\"}", + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/b00706c670354c0d9bd5c8bf254c9035\",\"attributes\":{\"enabled\":true,\"created\":1565307273,\"updated\":1565307273,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "264", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "516b6c40-3398-474c-bc6b-484d4806460e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "646e29a1-3eef-4547-824f-508b73f1563f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "abd3b266-e081-4e50-94ad-217fed666800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-\",\"deletedDate\":1565307273,\"scheduledPurgeDate\":1573083273,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/b00706c670354c0d9bd5c8bf254c9035\",\"attributes\":{\"enabled\":true,\"created\":1565307273,\"updated\":1565307273,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "426", + "pragma": "no-cache", "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a88cbde9-1962-4859-8417-edd81012b2f7", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "1d7feee3-cf49-4c1a-87c2-2fdab6c17836", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:23:23 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7017d16a-91d7-4b6c-a7e3-d9dcdf309eb8", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecretNonExisting-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "acc41390-a92a-448b-ad10-641734523c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-candeleteasecretNonExisting-\"}}", + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-cangetadeletedsecret-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "404", @@ -1422,66 +4275,88 @@ "content-length": "126", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:23 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:33 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "627c844c-9cf4-4f87-ab1b-34ef73c682a1", + "x-ms-request-id": "f88bea6c-be1c-47dd-8b0a-e6f5e97d262d", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/6edc6b8886134536995ed05b6b2f2c8c\",\"attributes\":{\"enabled\":true,\"created\":1563495803,\"updated\":1563495803,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "265", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:23 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:42 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "379241aa-105a-49a0-b5a7-cc381ca4d030", + "x-ms-request-id": "0352fbf9-2e20-4d0d-a2ca-6d5dedc207aa", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:43 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "3a51de51-d302-4553-b2fd-e761e0a26300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-\",\"deletedDate\":1563495803,\"scheduledPurgeDate\":1571271803,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/6edc6b8886134536995ed05b6b2f2c8c\",\"attributes\":{\"enabled\":true,\"created\":1563495803,\"updated\":1563495803,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-cangetadeletedsecret-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "428", + "content-length": "126", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:24 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:43 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "64fa85e3-ff44-4b45-9972-af280c733bc9", + "x-ms-request-id": "315af71e-c139-4ec1-8b27-17df43a02093", "cache-control": "no-cache", "expires": "-1" } @@ -1492,25 +4367,47 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-cangetadeletedsecret-\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "127", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:24 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:53 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a308af05-d9a9-4890-997d-fc87423a1e89", + "x-ms-request-id": "d33c3e77-b436-4f29-b25a-e32f9564852b", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:34:53 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bebe4b5f-8717-43bd-aced-a08756383900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1526,19 +4423,69 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "127", + "content-length": "126", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:34:54 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4ae4d18e-17f4-49d9-8840-c7a5c52ea4ad", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:34 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6711503f-c151-4c4c-b311-722713025322", + "x-ms-request-id": "0e1310c7-34cd-4441-9961-07e3d6169e1e", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7aac0246-f3cc-4734-b4fa-3cdcc0896800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1550,23 +4497,73 @@ }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-\",\"deletedDate\":1563495803,\"scheduledPurgeDate\":1571271803,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/6edc6b8886134536995ed05b6b2f2c8c\",\"attributes\":{\"enabled\":true,\"created\":1563495803,\"updated\":1563495803,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-\",\"deletedDate\":1565307273,\"scheduledPurgeDate\":1573083273,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/b00706c670354c0d9bd5c8bf254c9035\",\"attributes\":{\"enabled\":true,\"created\":1565307273,\"updated\":1565307273,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "428", + "content-length": "426", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "500d511c-7d19-46c9-be10-bd6cedd2333f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:43 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f66e4aba-4afd-40ea-9062-e7eff466131c", + "x-ms-request-id": "063d6cb0-14bc-433e-862e-9b195ce1badf", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "938b1b2d-2347-4a02-b853-a9e144186700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1583,16 +4580,66 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "795950bf-b053-4d17-9ea6-9acf58404216", + "x-ms-request-id": "72cd6a73-c9af-4f22-89cc-a02b2bea835a", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecretNonExisting-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:23:44 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2d3aabb5-63f5-4b71-90c1-1a23e2485190", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a65dcf76-1c45-4c75-9e9f-2403091e2f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1608,18 +4655,18 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "130", + "content-length": "129", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:44 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "8b606877-12f0-4fda-a29c-0b7de5995a46", + "x-ms-request-id": "d4b9f063-02d8-49d6-ad1b-716dd83d70e0", "cache-control": "no-cache", "expires": "-1" } diff --git a/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__list_secrets_in_various_ways/recording_before_all_hook.json b/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__list_secrets_in_various_ways/recording_before_all_hook.json index dedcce2da3f8..3338dfde50ca 100644 --- a/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__list_secrets_in_various_ways/recording_before_all_hook.json +++ b/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__list_secrets_in_various_ways/recording_before_all_hook.json @@ -1,5 +1,34 @@ { "recordings": [ + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "97a19615-4b21-4385-987a-3a2b90c144ce", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, { "method": "POST", "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", @@ -11,12 +40,13 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "date": "Fri, 19 Jul 2019 00:23:44 GMT", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", - "x-ms-request-id": "683e9092-0dcb-4aaf-9bc7-036fd141e500", + "x-ms-request-id": "e159f361-c61e-49ca-8bb0-615ad0812c00", "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -28,22 +58,22 @@ }, "requestBody": "{\"value\":\"RSA\"}", "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/2383ba62e89b48dbab7724799ebe2a4d\",\"attributes\":{\"enabled\":true,\"created\":1563495824,\"updated\":1563495824,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/bdabcabb320b492491c55771daca3ac7\",\"attributes\":{\"enabled\":true,\"created\":1565307305,\"updated\":1565307305,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "259", + "content-length": "257", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:44 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "153d876d-0613-43c1-9555-68b623d360f9", + "x-ms-request-id": "cec509d8-381d-4b0c-8cdc-780f11e63c78", "cache-control": "no-cache", "expires": "-1" } @@ -54,139 +84,152 @@ "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/a10ffc20870a4ea3bc0c9d87cec384e0\",\"attributes\":{\"enabled\":true,\"created\":1563495824,\"updated\":1563495824,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "259", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:44 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7a7b80c6-db19-4f40-82a1-eab3224dd846", + "x-ms-request-id": "4aaa37dc-fe64-4721-981f-ac52e18adb46", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816\",\"attributes\":{\"enabled\":true,\"created\":1563495687,\"updated\":1563495687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1563495824,\"updated\":1563495824,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1563495824,\"updated\":1563495824,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/ExamplePassword\",\"attributes\":{\"enabled\":true,\"created\":1559920536,\"updated\":1559920536,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035497352907352\",\"attributes\":{\"enabled\":true,\"created\":1560354978,\"updated\":1560354978,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035503730605597\",\"attributes\":{\"enabled\":true,\"created\":1560355042,\"updated\":1560355042,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035505405304954\",\"attributes\":{\"enabled\":true,\"created\":1560355059,\"updated\":1560355059,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName1\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555\",\"attributes\":{\"enabled\":true,\"created\":1559698309,\"updated\":1559698309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698313,\"updated\":1559698313,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698314,\"updated\":1559698328,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177\",\"attributes\":{\"enabled\":true,\"created\":1559698345,\"updated\":1559698345,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376\",\"attributes\":{\"enabled\":true,\"created\":1559698415,\"updated\":1559698415,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224\",\"attributes\":{\"enabled\":true,\"created\":1559698422,\"updated\":1559698422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698435,\"updated\":1559698435,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698450,\"updated\":1559698457,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300\",\"attributes\":{\"enabled\":true,\"created\":1559698479,\"updated\":1559698479,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675\",\"attributes\":{\"enabled\":true,\"created\":1559698582,\"updated\":1559698582,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRnNU16ZzFNRGMxTkRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "3831", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:44 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5404936b-da81-4966-bb6a-c516714a5a00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1466f913-978e-4ac6-b91a-e8f64681c44f", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/secrets", + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRnNU16ZzFNRGMxTkRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"value\":\"RSA\"}", "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698595,\"updated\":1559698595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698608,\"updated\":1559698615,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327\",\"attributes\":{\"enabled\":true,\"created\":1559698661,\"updated\":1559698661,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045\",\"attributes\":{\"enabled\":true,\"created\":1559748717,\"updated\":1559748717,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748728,\"updated\":1559748728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748739,\"updated\":1559748744,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577\",\"attributes\":{\"enabled\":true,\"created\":1559748784,\"updated\":1559748784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146\",\"attributes\":{\"enabled\":true,\"created\":1559762682,\"updated\":1559762682,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658\",\"attributes\":{\"enabled\":true,\"created\":1559779876,\"updated\":1559779876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041\",\"attributes\":{\"enabled\":true,\"created\":1559779883,\"updated\":1559779883,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779896,\"updated\":1559779896,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779909,\"updated\":1559779916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573\",\"attributes\":{\"enabled\":true,\"created\":1559779954,\"updated\":1559779954,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962\",\"attributes\":{\"enabled\":true,\"created\":1559855297,\"updated\":1559855297,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520\",\"attributes\":{\"enabled\":true,\"created\":1559861253,\"updated\":1559861253,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211\",\"attributes\":{\"enabled\":true,\"created\":1559861260,\"updated\":1559861260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559861276,\"updated\":1559861276,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpBNE5ERTFNRFUxTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/3df503c0b3a445d18a892a8bb4c9559a\",\"attributes\":{\"enabled\":true,\"created\":1565307305,\"updated\":1565307305,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3646", + "content-length": "257", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:45 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "71c803b2-c3fd-4e61-989f-c2b2386b077a", + "x-ms-request-id": "bd7b2018-3c4d-4354-a8b5-d1fe7dfd9d70", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/secrets", + "url": "https://keyvault_name.vault.azure.net/secrets", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpBNE5ERTFNRFUxTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684\",\"attributes\":{\"enabled\":true,\"created\":1560354683,\"updated\":1560354683,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354688,\"updated\":1560354688,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354700,\"updated\":1560354705,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560354717,\"updated\":1560354723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987\",\"attributes\":{\"enabled\":true,\"created\":1560354728,\"updated\":1560354728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992\",\"attributes\":{\"enabled\":false,\"created\":1560354739,\"updated\":1560354739,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332\",\"attributes\":{\"enabled\":true,\"created\":1560354751,\"updated\":1560354751,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463\",\"attributes\":{\"enabled\":true,\"created\":1560354940,\"updated\":1560354940,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575\",\"attributes\":{\"enabled\":true,\"created\":1560365673,\"updated\":1560365673,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365679,\"updated\":1560365679,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365690,\"updated\":1560365695,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560365707,\"updated\":1560365713,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936\",\"attributes\":{\"enabled\":true,\"created\":1560365718,\"updated\":1560365718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051\",\"attributes\":{\"enabled\":false,\"created\":1560365729,\"updated\":1560365729,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072\",\"attributes\":{\"enabled\":true,\"created\":1560365740,\"updated\":1560365740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918\",\"attributes\":{\"enabled\":true,\"created\":1560365867,\"updated\":1560365867,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RBd09EQTRNRGt6TWpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3442", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:45 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2daa463c-7ef2-4e46-bb36-4a5d4c0245d1", + "x-ms-request-id": "7eb656f5-df8b-4142-a88c-f06c975b104b", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "75705e30-9f4d-417c-9eb2-d28a4e7b2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/secrets", + "url": "https://keyvault_name.vault.azure.net/secrets", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RBd09EQTRNRGt6TWpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323\",\"attributes\":{\"enabled\":true,\"created\":1560365906,\"updated\":1560365906,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652\",\"attributes\":{\"enabled\":true,\"created\":1560365969,\"updated\":1560365969,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284\",\"attributes\":{\"enabled\":true,\"created\":1560366250,\"updated\":1560366250,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366256,\"updated\":1560366256,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366267,\"updated\":1560366272,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560366283,\"updated\":1560366289,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025\",\"attributes\":{\"enabled\":true,\"created\":1560366295,\"updated\":1560366295,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034\",\"attributes\":{\"enabled\":false,\"created\":1560366306,\"updated\":1560366306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153\",\"attributes\":{\"enabled\":true,\"created\":1560366317,\"updated\":1560366317,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935\",\"attributes\":{\"enabled\":true,\"created\":1560366530,\"updated\":1560366530,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451\",\"attributes\":{\"enabled\":true,\"created\":1560366569,\"updated\":1560366569,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557\",\"attributes\":{\"enabled\":true,\"created\":1560366633,\"updated\":1560366633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385\",\"attributes\":{\"enabled\":true,\"created\":1560367765,\"updated\":1560367765,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRnNU1UVXhNRGN6TkRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1565307305,\"updated\":1565307305,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1565307305,\"updated\":1565307305,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/ExamplePassword\",\"attributes\":{\"enabled\":true,\"created\":1559920536,\"updated\":1559920536,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035497352907352\",\"attributes\":{\"enabled\":true,\"created\":1560354978,\"updated\":1560354978,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035503730605597\",\"attributes\":{\"enabled\":true,\"created\":1560355042,\"updated\":1560355042,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035505405304954\",\"attributes\":{\"enabled\":true,\"created\":1560355059,\"updated\":1560355059,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "2816", + "content-length": "1436", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:45 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3b0c2b21-eadd-4551-b8ba-0aaf76b67ab6", + "x-ms-request-id": "8a4658f3-52f5-43a8-b70a-f33b4c63b8f6", "cache-control": "no-cache", "expires": "-1" } @@ -195,709 +238,689 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRnNU1UVXhNRGN6TkRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836\",\"attributes\":{\"enabled\":true,\"created\":1560834589,\"updated\":1560834589,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466\",\"attributes\":{\"enabled\":true,\"created\":1560834627,\"updated\":1560834627,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384\",\"attributes\":{\"enabled\":true,\"created\":1560834724,\"updated\":1560834724,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983\",\"attributes\":{\"enabled\":true,\"created\":1560834763,\"updated\":1560834763,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330\",\"attributes\":{\"enabled\":true,\"created\":1560351327,\"updated\":1560351327,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968\",\"attributes\":{\"enabled\":true,\"created\":1560354843,\"updated\":1560354843,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298\",\"attributes\":{\"enabled\":true,\"created\":1560354838,\"updated\":1560354838,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694\",\"attributes\":{\"enabled\":true,\"created\":1560365822,\"updated\":1560365822,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753\",\"attributes\":{\"enabled\":true,\"created\":1560365828,\"updated\":1560365828,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029\",\"attributes\":{\"enabled\":true,\"created\":1560366404,\"updated\":1560366404,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648\",\"attributes\":{\"enabled\":true,\"created\":1560366410,\"updated\":1560366410,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280\",\"attributes\":{\"enabled\":true,\"created\":1560834555,\"updated\":1560834555,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650\",\"attributes\":{\"enabled\":true,\"created\":1560834728,\"updated\":1560834728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472\",\"attributes\":{\"enabled\":true,\"created\":1560834727,\"updated\":1560834727,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3079", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:45 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "36d55ca5-e4a6-4927-bcc4-a6c6fe9644ea", + "x-ms-request-id": "a9543cab-5a5e-4508-acfe-107c0d5e9d98", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0\",\"deletedDate\":1563495826,\"scheduledPurgeDate\":1571271826,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/2383ba62e89b48dbab7724799ebe2a4d\",\"attributes\":{\"enabled\":true,\"created\":1563495824,\"updated\":1563495824,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "416", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:45 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "dc70eeda-61f8-4c64-a81d-d0e0a5815a00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d5346f21-a193-4b45-8850-f7260b905f35", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName1\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555\",\"attributes\":{\"enabled\":true,\"created\":1559698309,\"updated\":1559698309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698313,\"updated\":1559698313,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698314,\"updated\":1559698328,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177\",\"attributes\":{\"enabled\":true,\"created\":1559698345,\"updated\":1559698345,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376\",\"attributes\":{\"enabled\":true,\"created\":1559698415,\"updated\":1559698415,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224\",\"attributes\":{\"enabled\":true,\"created\":1559698422,\"updated\":1559698422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698435,\"updated\":1559698435,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698450,\"updated\":1559698457,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300\",\"attributes\":{\"enabled\":true,\"created\":1559698479,\"updated\":1559698479,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675\",\"attributes\":{\"enabled\":true,\"created\":1559698582,\"updated\":1559698582,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698595,\"updated\":1559698595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698608,\"updated\":1559698615,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327\",\"attributes\":{\"enabled\":true,\"created\":1559698661,\"updated\":1559698661,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045\",\"attributes\":{\"enabled\":true,\"created\":1559748717,\"updated\":1559748717,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748728,\"updated\":1559748728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748739,\"updated\":1559748744,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577\",\"attributes\":{\"enabled\":true,\"created\":1559748784,\"updated\":1559748784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146\",\"attributes\":{\"enabled\":true,\"created\":1559762682,\"updated\":1559762682,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658\",\"attributes\":{\"enabled\":true,\"created\":1559779876,\"updated\":1559779876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041\",\"attributes\":{\"enabled\":true,\"created\":1559779883,\"updated\":1559779883,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779896,\"updated\":1559779896,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "4623", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:46 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4d697ff6-bd85-4ac1-9a98-18f693eac24c", + "x-ms-request-id": "8896732c-2d23-4097-aaad-1e97aa26ab9f", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "51ae73fa-bd24-42c2-8cb8-204787faa3c5", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:23:55 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0c04e84a-90eb-4831-80d8-69168ff8e70c", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1\",\"deletedDate\":1563495836,\"scheduledPurgeDate\":1571271836,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/a10ffc20870a4ea3bc0c9d87cec384e0\",\"attributes\":{\"enabled\":true,\"created\":1563495824,\"updated\":1563495824,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "416", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:56 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "3a51de51-d302-4553-b2fd-e761a9a56300", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3d7069cf-283c-4244-81c4-d446079035b3", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779909,\"updated\":1559779916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573\",\"attributes\":{\"enabled\":true,\"created\":1559779954,\"updated\":1559779954,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962\",\"attributes\":{\"enabled\":true,\"created\":1559855297,\"updated\":1559855297,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520\",\"attributes\":{\"enabled\":true,\"created\":1559861253,\"updated\":1559861253,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211\",\"attributes\":{\"enabled\":true,\"created\":1559861260,\"updated\":1559861260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559861276,\"updated\":1559861276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684\",\"attributes\":{\"enabled\":true,\"created\":1560354683,\"updated\":1560354683,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354688,\"updated\":1560354688,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354700,\"updated\":1560354705,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560354717,\"updated\":1560354723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987\",\"attributes\":{\"enabled\":true,\"created\":1560354728,\"updated\":1560354728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992\",\"attributes\":{\"enabled\":false,\"created\":1560354739,\"updated\":1560354739,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332\",\"attributes\":{\"enabled\":true,\"created\":1560354751,\"updated\":1560354751,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "2852", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:23:56 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "497a651c-0c49-49f6-97a9-be61beab5594", + "x-ms-request-id": "12128d07-8297-497c-8bb6-41a5355dd2e7", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:06 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5b01c2b1-572a-4f42-b8e2-99d5430c42e4", + "x-ms-request-id": "63dfaa46-1961-442a-bc31-71bfcffb717a", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "30f6ed77-42fe-4464-b308-f2265818377a", - "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:24:17 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e5db4162-038e-480e-8661-2ba704602a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", + "requestBody": null, "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/6cb4028887dd49d9bb730b61776b2bf1\",\"attributes\":{\"enabled\":true,\"created\":1563495857,\"updated\":1563495857,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463\",\"attributes\":{\"enabled\":true,\"created\":1560354940,\"updated\":1560354940,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575\",\"attributes\":{\"enabled\":true,\"created\":1560365673,\"updated\":1560365673,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365679,\"updated\":1560365679,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365690,\"updated\":1560365695,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560365707,\"updated\":1560365713,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936\",\"attributes\":{\"enabled\":true,\"created\":1560365718,\"updated\":1560365718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051\",\"attributes\":{\"enabled\":false,\"created\":1560365729,\"updated\":1560365729,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072\",\"attributes\":{\"enabled\":true,\"created\":1560365740,\"updated\":1560365740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918\",\"attributes\":{\"enabled\":true,\"created\":1560365867,\"updated\":1560365867,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323\",\"attributes\":{\"enabled\":true,\"created\":1560365906,\"updated\":1560365906,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652\",\"attributes\":{\"enabled\":true,\"created\":1560365969,\"updated\":1560365969,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284\",\"attributes\":{\"enabled\":true,\"created\":1560366250,\"updated\":1560366250,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366256,\"updated\":1560366256,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366267,\"updated\":1560366272,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560366283,\"updated\":1560366289,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025\",\"attributes\":{\"enabled\":true,\"created\":1560366295,\"updated\":1560366295,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034\",\"attributes\":{\"enabled\":false,\"created\":1560366306,\"updated\":1560366306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153\",\"attributes\":{\"enabled\":true,\"created\":1560366317,\"updated\":1560366317,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "266", + "content-length": "3822", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "0af9f445-1063-4d95-a8b3-1cd838c1c4c4", + "x-ms-request-id": "22773f86-c567-4ca8-be10-eaf2bf0452a3", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/3ac2120858444c97aa6503c975d247f5\",\"attributes\":{\"enabled\":true,\"created\":1563495857,\"updated\":1563495857,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "266", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7a1c83bb-6b2e-45b0-a74a-39170b907dcf", + "x-ms-request-id": "bbc2799c-50d7-4d87-b028-e0269a65e51a", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1563495857,\"scheduledPurgeDate\":1571271857,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/6cb4028887dd49d9bb730b61776b2bf1\",\"attributes\":{\"enabled\":true,\"created\":1563495857,\"updated\":1563495857,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "430", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:17 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a65dcf76-1c45-4c75-9e9f-2403771e2f00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "417ab81a-520d-4fb7-a553-59b651cbfc30", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1563495857,\"scheduledPurgeDate\":1571271857,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/3ac2120858444c97aa6503c975d247f5\",\"attributes\":{\"enabled\":true,\"created\":1563495857,\"updated\":1563495857,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935\",\"attributes\":{\"enabled\":true,\"created\":1560366530,\"updated\":1560366530,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451\",\"attributes\":{\"enabled\":true,\"created\":1560366569,\"updated\":1560366569,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557\",\"attributes\":{\"enabled\":true,\"created\":1560366633,\"updated\":1560366633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385\",\"attributes\":{\"enabled\":true,\"created\":1560367765,\"updated\":1560367765,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836\",\"attributes\":{\"enabled\":true,\"created\":1560834589,\"updated\":1560834589,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466\",\"attributes\":{\"enabled\":true,\"created\":1560834627,\"updated\":1560834627,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384\",\"attributes\":{\"enabled\":true,\"created\":1560834724,\"updated\":1560834724,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983\",\"attributes\":{\"enabled\":true,\"created\":1560834763,\"updated\":1560834763,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330\",\"attributes\":{\"enabled\":true,\"created\":1560351327,\"updated\":1560351327,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968\",\"attributes\":{\"enabled\":true,\"created\":1560354843,\"updated\":1560354843,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298\",\"attributes\":{\"enabled\":true,\"created\":1560354838,\"updated\":1560354838,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694\",\"attributes\":{\"enabled\":true,\"created\":1560365822,\"updated\":1560365822,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "430", + "content-length": "2579", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "582bdaad-4a2e-4338-bb4f-4acb341dab01", + "x-ms-request-id": "30f3a0d6-0201-4020-9835-252434512fbb", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "128", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:17 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "65611db7-43d7-42e1-a923-2e5e648d5ccc", + "x-ms-request-id": "554e83e5-3f33-4d71-8726-d8eb7e8316b1", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1563495857,\"scheduledPurgeDate\":1571271857,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/6cb4028887dd49d9bb730b61776b2bf1\",\"attributes\":{\"enabled\":true,\"created\":1563495857,\"updated\":1563495857,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "430", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:27 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c49d73c5-82f0-4079-b485-e30386132d00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "45647501-c8be-48d4-a5b5-465fee8c458d", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets", + "url": "https://keyvault_name.vault.azure.net:443/secrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"deletedDate\":1562091716,\"scheduledPurgeDate\":1569867716,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"attributes\":{\"enabled\":true,\"created\":1562091716,\"updated\":1562091716,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1563495857,\"scheduledPurgeDate\":1571271857,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1563495857,\"updated\":1563495857,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1563495857,\"scheduledPurgeDate\":1571271857,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1563495857,\"updated\":1563495857,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832\",\"deletedDate\":1560352589,\"scheduledPurgeDate\":1568128589,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832\",\"attributes\":{\"enabled\":true,\"created\":1560352578,\"updated\":1560352578,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456\",\"deletedDate\":1560352595,\"scheduledPurgeDate\":1568128595,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456\",\"attributes\":{\"enabled\":true,\"created\":1560352584,\"updated\":1560352584,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0\",\"deletedDate\":1561751925,\"scheduledPurgeDate\":1569527925,\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName0\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName\",\"deletedDate\":1561752013,\"scheduledPurgeDate\":1569528013,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName\",\"attributes\":{\"enabled\":true,\"created\":1561752012,\"updated\":1561752012,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXdJWE5sWTNKbGRDOVNSVU5QVmtWU1UwVkRVa1ZVVGtGTlJTMURRVTVTUlZOVVQxSkZRVk5GUTFKRlZDMHdPREF4TlRrMU56YzBOakV5TVRVeE5pRXdNREF3TWpnaE9UazVPUzB4TWkwek1WUXlNem8xT1RvMU9TNDVPVGs1T1RrNVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753\",\"attributes\":{\"enabled\":true,\"created\":1560365828,\"updated\":1560365828,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029\",\"attributes\":{\"enabled\":true,\"created\":1560366404,\"updated\":1560366404,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648\",\"attributes\":{\"enabled\":true,\"created\":1560366410,\"updated\":1560366410,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280\",\"attributes\":{\"enabled\":true,\"created\":1560834555,\"updated\":1560834555,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650\",\"attributes\":{\"enabled\":true,\"created\":1560834728,\"updated\":1560834728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472\",\"attributes\":{\"enabled\":true,\"created\":1560834727,\"updated\":1560834727,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "2852", + "content-length": "1555", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6ec6594a-7275-4bb5-8a5b-ab55c40a6b53", + "x-ms-request-id": "57c808b2-84be-42e9-8cf7-59c5e0879e55", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXdJWE5sWTNKbGRDOVNSVU5QVmtWU1UwVkRVa1ZVVGtGTlJTMURRVTVTUlZOVVQxSkZRVk5GUTFKRlZDMHdPREF4TlRrMU56YzBOakV5TVRVeE5pRXdNREF3TWpnaE9UazVPUzB4TWkwek1WUXlNem8xT1RvMU9TNDVPVGs1T1RrNVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"deletedDate\":1561725411,\"scheduledPurgeDate\":1569501411,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"attributes\":{\"enabled\":true,\"created\":1561725356,\"updated\":1561725356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TmpBeU1EazNNRE13TlRjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "693", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "55f53581-087d-4a2e-ba47-cf9c0bd3610d", + "x-ms-request-id": "89cacd78-c9e7-49c6-8d82-5b98f12f23f6", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TmpBeU1EazNNRE13TlRjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVPRFUxTWpreE56STRNREE1TmpJdk5EWXhPRVV6TUVORk1ESXdORUpCTkRnM1Fqa3dPVGMwTnpreE5URkVOemNoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "356", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:28 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f000cf24-7d7f-47dc-9664-a312e8d52700", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "10c092e6-d2cc-4c05-9241-4a9e186c3a12", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVPRFUxTWpreE56STRNREE1TmpJdk5EWXhPRVV6TUVORk1ESXdORUpCTkRnM1Fqa3dPVGMwTnpreE5URkVOemNoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917\",\"deletedDate\":1560288400,\"scheduledPurgeDate\":1568064400,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917\",\"attributes\":{\"enabled\":true,\"created\":1560288394,\"updated\":1560288394,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205\",\"deletedDate\":1560289358,\"scheduledPurgeDate\":1568065358,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289341,\"updated\":1560289347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102\",\"deletedDate\":1560289559,\"scheduledPurgeDate\":1568065559,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289548,\"updated\":1560289554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194\",\"deletedDate\":1560289648,\"scheduledPurgeDate\":1568065648,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289636,\"updated\":1560289642,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042\",\"deletedDate\":1560289703,\"scheduledPurgeDate\":1568065703,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289691,\"updated\":1560289697,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437\",\"deletedDate\":1560289831,\"scheduledPurgeDate\":1568065831,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289815,\"updated\":1560289826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585\",\"deletedDate\":1560289994,\"scheduledPurgeDate\":1568065994,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289983,\"updated\":1560289989,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409\",\"deletedDate\":1560290062,\"scheduledPurgeDate\":1568066062,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290045,\"updated\":1560290051,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555\",\"deletedDate\":1560290236,\"scheduledPurgeDate\":1568066236,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290214,\"updated\":1560290219,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpFNU56UXpNREExTnpnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0\",\"deletedDate\":1565307308,\"scheduledPurgeDate\":1573083308,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/bdabcabb320b492491c55771daca3ac7\",\"attributes\":{\"enabled\":true,\"created\":1565307305,\"updated\":1565307305,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3491", + "content-length": "412", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:08 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6a4dbdc5-8abe-48f8-bede-31b9c665e2bb", + "x-ms-request-id": "2859dc15-a34a-4530-a0dd-b9e42cd21ab1", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpFNU56UXpNREExTnpnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578\",\"deletedDate\":1560290242,\"scheduledPurgeDate\":1568066242,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578\",\"attributes\":{\"enabled\":false,\"created\":1560290225,\"updated\":1560290225,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419\",\"deletedDate\":1560347014,\"scheduledPurgeDate\":1568123014,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560347002,\"updated\":1560347008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829\",\"deletedDate\":1560355143,\"scheduledPurgeDate\":1568131143,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829\",\"attributes\":{\"enabled\":true,\"created\":1560354677,\"updated\":1560354677,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921\",\"deletedDate\":1560354773,\"scheduledPurgeDate\":1568130773,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921\",\"attributes\":{\"enabled\":true,\"created\":1560354767,\"updated\":1560354767,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164\",\"deletedDate\":1560360558,\"scheduledPurgeDate\":1568136558,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560360547,\"updated\":1560360547,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNell3TlRReE5EZ3hNRFF4TmpRdlJFWkdOek0wUkRZMU16UTJORUkxTlVFd01rTkJNVFZGUlVZMk5FSkRSa1FoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2083", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:08 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f83fa446-9d9e-405d-bfeb-3c91f2bb6618", + "x-ms-request-id": "ad824b36-050f-49e3-9a4a-4f3f5994b67c", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNell3TlRReE5EZ3hNRFF4TmpRdlJFWkdOek0wUkRZMU16UTJORUkxTlVFd01rTkJNVFZGUlVZMk5FSkRSa1FoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067\",\"deletedDate\":1560366029,\"scheduledPurgeDate\":1568142029,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067\",\"attributes\":{\"enabled\":true,\"created\":1560365667,\"updated\":1560365667,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928\",\"deletedDate\":1560365763,\"scheduledPurgeDate\":1568141763,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928\",\"attributes\":{\"enabled\":true,\"created\":1560365757,\"updated\":1560365757,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231\",\"deletedDate\":1560365785,\"scheduledPurgeDate\":1568141785,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231\",\"attributes\":{\"enabled\":true,\"created\":1560365780,\"updated\":1560365780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RZME16a3hNRGcyTlRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "1311", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:28 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0d362827-fd35-4fe3-80d0-61d86a553300", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d439197e-8723-4628-8ace-c6c2f4f1e283", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RZME16a3hNRGcyTlRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898\",\"deletedDate\":1560365997,\"scheduledPurgeDate\":1568141997,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898\",\"attributes\":{\"enabled\":true,\"created\":1560365986,\"updated\":1560365986,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210\",\"deletedDate\":1560366693,\"scheduledPurgeDate\":1568142693,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210\",\"attributes\":{\"enabled\":true,\"created\":1560366244,\"updated\":1560366244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621\",\"deletedDate\":1560366339,\"scheduledPurgeDate\":1568142339,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621\",\"attributes\":{\"enabled\":true,\"created\":1560366333,\"updated\":1560366333,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRZek9UQTJNRGswTlRFdk1rSTBNakV3UWtZMU9USkZOREZGUWpnNE5rVXdPVGhFTXpkR09ERkNNakVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "1369", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:08 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b3cb73c9-4410-49f3-adf7-929727d0a552", + "x-ms-request-id": "908010b9-a4be-4f66-9f85-a90442f80d5a", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRZek9UQTJNRGswTlRFdk1rSTBNakV3UWtZMU9USkZOREZGUWpnNE5rVXdPVGhFTXpkR09ERkNNakVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342\",\"deletedDate\":1560366661,\"scheduledPurgeDate\":1568142661,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342\",\"attributes\":{\"enabled\":true,\"created\":1560366650,\"updated\":1560366650,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797\",\"deletedDate\":1560367433,\"scheduledPurgeDate\":1568143433,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797\",\"attributes\":{\"enabled\":true,\"created\":1560367428,\"updated\":1560367428,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796\",\"deletedDate\":1560368144,\"scheduledPurgeDate\":1568144144,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796\",\"attributes\":{\"enabled\":true,\"created\":1560367636,\"updated\":1560367636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180\",\"deletedDate\":1560368181,\"scheduledPurgeDate\":1568144181,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180\",\"attributes\":{\"enabled\":true,\"created\":1560367748,\"updated\":1560367748,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933\",\"deletedDate\":1560370061,\"scheduledPurgeDate\":1568146061,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933\",\"attributes\":{\"enabled\":true,\"created\":1560370056,\"updated\":1560370056,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704\",\"deletedDate\":1560370705,\"scheduledPurgeDate\":1568146705,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704\",\"attributes\":{\"enabled\":true,\"created\":1560370284,\"updated\":1560370284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701\",\"deletedDate\":1560446082,\"scheduledPurgeDate\":1568222082,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701\",\"attributes\":{\"enabled\":true,\"created\":1560445805,\"updated\":1560445805,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659\",\"deletedDate\":1560446150,\"scheduledPurgeDate\":1568222150,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659\",\"attributes\":{\"enabled\":true,\"created\":1560445997,\"updated\":1560445997,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298\",\"deletedDate\":1560446194,\"scheduledPurgeDate\":1568222194,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298\",\"attributes\":{\"enabled\":true,\"created\":1560446178,\"updated\":1560446178,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349\",\"deletedDate\":1560446233,\"scheduledPurgeDate\":1568222233,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349\",\"attributes\":{\"enabled\":true,\"created\":1560446205,\"updated\":1560446205,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTlRnMU9UazFNRGM0TlRFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3677", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:18 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4ea637c5-47d9-4186-81d0-d42ac9a29b9a", + "x-ms-request-id": "b7c16ab7-04da-48ec-a19a-80a462c6b163", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:19 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "83800e0d-72df-4000-b8dc-f91fc1443100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTlRnMU9UazFNRGM0TlRFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851\",\"deletedDate\":1560446631,\"scheduledPurgeDate\":1568222631,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851\",\"attributes\":{\"enabled\":true,\"created\":1560446603,\"updated\":1560446603,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355\",\"deletedDate\":1560351344,\"scheduledPurgeDate\":1568127344,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355\",\"attributes\":{\"enabled\":true,\"created\":1560351321,\"updated\":1560351321,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851\",\"deletedDate\":1560365851,\"scheduledPurgeDate\":1568141851,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851\",\"attributes\":{\"enabled\":true,\"created\":1560365840,\"updated\":1560365840,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970\",\"deletedDate\":1560365845,\"scheduledPurgeDate\":1568141845,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970\",\"attributes\":{\"enabled\":true,\"created\":1560365834,\"updated\":1560365834,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTFJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEExT1Rjd0wwWkJOa1V4TkVORk4wUTFSRFJDTWtaQlJrUXdPRVUxTWprek56TTBPRGcwSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "1719", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:18 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "66572ca7-62dc-4ecc-bad1-1f863d2221c4", + "x-ms-request-id": "caadb9c0-8f1a-4e4d-ba12-fac723f13677", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTFJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEExT1Rjd0wwWkJOa1V4TkVORk4wUTFSRFJDTWtaQlJrUXdPRVUxTWprek56TTBPRGcwSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057\",\"deletedDate\":1560834630,\"scheduledPurgeDate\":1568610630,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057\",\"attributes\":{\"enabled\":true,\"created\":1560834554,\"updated\":1560834554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547\",\"deletedDate\":1560834787,\"scheduledPurgeDate\":1568610787,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547\",\"attributes\":{\"enabled\":true,\"created\":1560834689,\"updated\":1560834689,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "707", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:29 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "83adafba-b472-430c-8003-a0419e64d258", + "x-ms-request-id": "74798458-7442-4302-9d70-3b9c7aeb63fb", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "5c40a07f-53e8-4f7b-b769-87092a5459f9", - "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:24:29 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bebe4b5f-8717-43bd-aced-a087833c3900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", "query": { "api-version": "7.0" }, @@ -908,274 +931,306 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "ad93854e-ce37-4e2b-8cc3-3e467d3dcd78", + "x-ms-request-id": "a0158a56-3fae-44ed-be91-9ec91585d426", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:24:29 GMT", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE0\"}", - "status": 200, - "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/41c27f8d63144ee696bfa87b2dca9314\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4631bfd0-74a1-4d3f-a2fa-853f9909aaf4", + "x-ms-request-id": "a36b6928-e6ac-4811-817a-d912cd02bc17", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"value\":\"SECRET_VALUE1\"}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a4f308f096ba4396a86953edba7c19be\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "285", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8a34c0f1-53bf-4bb0-b03e-5d1b2bee3c00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "93e9682e-41ef-48dc-b125-6cf0517af27b", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE2\"}", + "requestBody": null, "status": 200, - "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/8477734097c4469b847619e1a48b64ed\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1\",\"deletedDate\":1565307330,\"scheduledPurgeDate\":1573083330,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/3df503c0b3a445d18a892a8bb4c9559a\",\"attributes\":{\"enabled\":true,\"created\":1565307305,\"updated\":1565307305,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "412", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5bacd6a0-41ca-4811-bdb8-e0aebcd8f1d6", + "x-ms-request-id": "84b311a9-485c-42aa-ab04-efa50893a4d0", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/41c27f8d63144ee696bfa87b2dca9314\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/8477734097c4469b847619e1a48b64ed\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a4f308f096ba4396a86953edba7c19be\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "813", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9eb1c4b6-e7ea-4274-b50e-14b3cf9d4c08", + "x-ms-request-id": "7084ca72-e089-4eb5-a77c-5f7da857665f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/41c27f8d63144ee696bfa87b2dca9314", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ff56368e-87f6-4fdf-9848-87ab19355b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/41c27f8d63144ee696bfa87b2dca9314\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:29 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9b6167cd-7397-44dc-a8ad-2280b19b1a56", + "x-ms-request-id": "a10b2fda-20c9-4d4d-973b-d15c63dab771", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/8477734097c4469b847619e1a48b64ed", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/8477734097c4469b847619e1a48b64ed\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:39 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e9be9589-2810-4863-8433-2a1bb127503f", + "x-ms-request-id": "ed975c44-5877-4154-bdee-05a1709e7a02", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a4f308f096ba4396a86953edba7c19be", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a4f308f096ba4396a86953edba7c19be\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "285", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:39 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0c0dc299-8c68-465a-97fd-3921a3033900", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7444805a-866a-4368-adbf-1e6d55184c65", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-\",\"deletedDate\":1563495871,\"scheduledPurgeDate\":1571271871,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/8477734097c4469b847619e1a48b64ed\",\"attributes\":{\"enabled\":true,\"created\":1563495870,\"updated\":1563495870,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "409", "x-ms-keyvault-region": "westus", - "content-length": "448", + "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:40 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "e9209977-d3f6-4305-90b9-40b35d99b8c8", + "x-ms-request-id": "1a8bdaae-329a-4e29-9a00-3d9d5b26cf3a", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:30 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:49 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a5a7d039-959b-498f-8801-f2a77ee2a868", + "x-ms-request-id": "b9da9a2f-7db0-4378-a69e-3e56bace7b29", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8a34c0f1-53bf-4bb0-b03e-5d1b8ff03c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", "query": { "api-version": "7.0" }, @@ -1186,632 +1241,851 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "2cbbd0a5-beeb-4505-ac63-1a666362f8bd", + "x-ms-request-id": "c47adcb7-1c15-4eab-8894-f78ed646c1e0", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:24:40 GMT", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions", + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[],\"nextLink\":null}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "28", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:40 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2ca5587e-aa4e-46f7-942d-41c8156a5443", + "x-ms-request-id": "755a6d24-4cf8-4158-b178-d17d0e4dd096", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "50e4dd54-491a-4f63-8e2e-d7bfc8aa2800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { "api-version": "7.0" }, "requestBody": "{\"value\":\"RSA\"}", "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/f53aa170266843d2aa7553442de41d03\",\"attributes\":{\"enabled\":true,\"created\":1563495881,\"updated\":1563495881,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/1f34caacb0614dbd8da9e212c1955c13\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "259", + "content-length": "264", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2ae286da-aeb1-4fb8-89da-0925563e2c05", + "x-ms-request-id": "05caba96-6feb-45ab-8e3f-e73c50a28467", "cache-control": "no-cache", "expires": "-1" } }, { "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/5a1f331749124745a44c2f9ff12fc534\",\"attributes\":{\"enabled\":true,\"created\":1563495881,\"updated\":1563495881,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "259", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fbf27fbb-ee3a-498c-b74f-79c45af9a8d6", + "x-ms-request-id": "8b361850-0c85-4ae4-bca7-f916661ed828", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816\",\"attributes\":{\"enabled\":true,\"created\":1563495687,\"updated\":1563495687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1563495881,\"updated\":1563495881,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1563495881,\"updated\":1563495881,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/ExamplePassword\",\"attributes\":{\"enabled\":true,\"created\":1559920536,\"updated\":1559920536,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035497352907352\",\"attributes\":{\"enabled\":true,\"created\":1560354978,\"updated\":1560354978,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035503730605597\",\"attributes\":{\"enabled\":true,\"created\":1560355042,\"updated\":1560355042,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035505405304954\",\"attributes\":{\"enabled\":true,\"created\":1560355059,\"updated\":1560355059,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName1\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555\",\"attributes\":{\"enabled\":true,\"created\":1559698309,\"updated\":1559698309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698313,\"updated\":1559698313,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698314,\"updated\":1559698328,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177\",\"attributes\":{\"enabled\":true,\"created\":1559698345,\"updated\":1559698345,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376\",\"attributes\":{\"enabled\":true,\"created\":1559698415,\"updated\":1559698415,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224\",\"attributes\":{\"enabled\":true,\"created\":1559698422,\"updated\":1559698422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698435,\"updated\":1559698435,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698450,\"updated\":1559698457,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300\",\"attributes\":{\"enabled\":true,\"created\":1559698479,\"updated\":1559698479,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675\",\"attributes\":{\"enabled\":true,\"created\":1559698582,\"updated\":1559698582,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRnNU16ZzFNRGMxTkRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "3831", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:41 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "479e3e8a-6332-4b3f-b888-43226e066300", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ae0f36a3-cb32-4a72-ab1e-079cf79ee8d0", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/secrets", + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRnNU16ZzFNRGMxTkRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"value\":\"RSA\"}", "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698595,\"updated\":1559698595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698608,\"updated\":1559698615,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327\",\"attributes\":{\"enabled\":true,\"created\":1559698661,\"updated\":1559698661,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045\",\"attributes\":{\"enabled\":true,\"created\":1559748717,\"updated\":1559748717,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748728,\"updated\":1559748728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748739,\"updated\":1559748744,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577\",\"attributes\":{\"enabled\":true,\"created\":1559748784,\"updated\":1559748784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146\",\"attributes\":{\"enabled\":true,\"created\":1559762682,\"updated\":1559762682,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658\",\"attributes\":{\"enabled\":true,\"created\":1559779876,\"updated\":1559779876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041\",\"attributes\":{\"enabled\":true,\"created\":1559779883,\"updated\":1559779883,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779896,\"updated\":1559779896,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779909,\"updated\":1559779916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573\",\"attributes\":{\"enabled\":true,\"created\":1559779954,\"updated\":1559779954,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962\",\"attributes\":{\"enabled\":true,\"created\":1559855297,\"updated\":1559855297,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520\",\"attributes\":{\"enabled\":true,\"created\":1559861253,\"updated\":1559861253,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211\",\"attributes\":{\"enabled\":true,\"created\":1559861260,\"updated\":1559861260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559861276,\"updated\":1559861276,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpBNE5ERTFNRFUxTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/8fafc8575aa045e69034c4915ca7f0e6\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3646", + "content-length": "264", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d5ef44fa-0124-4466-9bf9-e874fee9bd63", + "x-ms-request-id": "29e64f1b-0d15-46e6-a1a1-ddbd5b7d5be9", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/secrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpBNE5ERTFNRFUxTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684\",\"attributes\":{\"enabled\":true,\"created\":1560354683,\"updated\":1560354683,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354688,\"updated\":1560354688,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354700,\"updated\":1560354705,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560354717,\"updated\":1560354723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987\",\"attributes\":{\"enabled\":true,\"created\":1560354728,\"updated\":1560354728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992\",\"attributes\":{\"enabled\":false,\"created\":1560354739,\"updated\":1560354739,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332\",\"attributes\":{\"enabled\":true,\"created\":1560354751,\"updated\":1560354751,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463\",\"attributes\":{\"enabled\":true,\"created\":1560354940,\"updated\":1560354940,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575\",\"attributes\":{\"enabled\":true,\"created\":1560365673,\"updated\":1560365673,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365679,\"updated\":1560365679,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365690,\"updated\":1560365695,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560365707,\"updated\":1560365713,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936\",\"attributes\":{\"enabled\":true,\"created\":1560365718,\"updated\":1560365718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051\",\"attributes\":{\"enabled\":false,\"created\":1560365729,\"updated\":1560365729,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072\",\"attributes\":{\"enabled\":true,\"created\":1560365740,\"updated\":1560365740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918\",\"attributes\":{\"enabled\":true,\"created\":1560365867,\"updated\":1560365867,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RBd09EQTRNRGt6TWpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "3442", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:42 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:50 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "66671697-5d93-4133-8562-5691435070c0", + "x-ms-request-id": "832d27a2-f379-48ee-9424-f53b42e0e08c", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/secrets", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RBd09EQTRNRGt6TWpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323\",\"attributes\":{\"enabled\":true,\"created\":1560365906,\"updated\":1560365906,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652\",\"attributes\":{\"enabled\":true,\"created\":1560365969,\"updated\":1560365969,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284\",\"attributes\":{\"enabled\":true,\"created\":1560366250,\"updated\":1560366250,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366256,\"updated\":1560366256,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366267,\"updated\":1560366272,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560366283,\"updated\":1560366289,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025\",\"attributes\":{\"enabled\":true,\"created\":1560366295,\"updated\":1560366295,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034\",\"attributes\":{\"enabled\":false,\"created\":1560366306,\"updated\":1560366306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153\",\"attributes\":{\"enabled\":true,\"created\":1560366317,\"updated\":1560366317,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935\",\"attributes\":{\"enabled\":true,\"created\":1560366530,\"updated\":1560366530,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451\",\"attributes\":{\"enabled\":true,\"created\":1560366569,\"updated\":1560366569,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557\",\"attributes\":{\"enabled\":true,\"created\":1560366633,\"updated\":1560366633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385\",\"attributes\":{\"enabled\":true,\"created\":1560367765,\"updated\":1560367765,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRnNU1UVXhNRGN6TkRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "2816", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:42 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "825dc7e4-1ab2-4855-a199-1ccab43b5400", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "957f4484-cbc9-4f2d-b0d2-fef2c31d70e8", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/secrets", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRnNU1UVXhNRGN6TkRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836\",\"attributes\":{\"enabled\":true,\"created\":1560834589,\"updated\":1560834589,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466\",\"attributes\":{\"enabled\":true,\"created\":1560834627,\"updated\":1560834627,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384\",\"attributes\":{\"enabled\":true,\"created\":1560834724,\"updated\":1560834724,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983\",\"attributes\":{\"enabled\":true,\"created\":1560834763,\"updated\":1560834763,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330\",\"attributes\":{\"enabled\":true,\"created\":1560351327,\"updated\":1560351327,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968\",\"attributes\":{\"enabled\":true,\"created\":1560354843,\"updated\":1560354843,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298\",\"attributes\":{\"enabled\":true,\"created\":1560354838,\"updated\":1560354838,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694\",\"attributes\":{\"enabled\":true,\"created\":1560365822,\"updated\":1560365822,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753\",\"attributes\":{\"enabled\":true,\"created\":1560365828,\"updated\":1560365828,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029\",\"attributes\":{\"enabled\":true,\"created\":1560366404,\"updated\":1560366404,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648\",\"attributes\":{\"enabled\":true,\"created\":1560366410,\"updated\":1560366410,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280\",\"attributes\":{\"enabled\":true,\"created\":1560834555,\"updated\":1560834555,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650\",\"attributes\":{\"enabled\":true,\"created\":1560834728,\"updated\":1560834728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472\",\"attributes\":{\"enabled\":true,\"created\":1560834727,\"updated\":1560834727,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1565307351,\"scheduledPurgeDate\":1573083351,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/1f34caacb0614dbd8da9e212c1955c13\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3079", + "content-length": "426", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:42 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "35e3574b-cb5f-4d0f-9e50-78fc61a7b49c", + "x-ms-request-id": "5d28276b-99a5-4940-93d4-ad0108a96ebc", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0\",\"deletedDate\":1563495883,\"scheduledPurgeDate\":1571271883,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/f53aa170266843d2aa7553442de41d03\",\"attributes\":{\"enabled\":true,\"created\":1563495881,\"updated\":1563495881,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "416", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:42 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4184a70b-7629-4246-afd5-5eb43dd2109f", + "x-ms-request-id": "7aa21241-083e-408f-a921-ec40f2128e60", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0b113d46-7dc2-4689-a3b5-2678532d2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1565307352,\"scheduledPurgeDate\":1573083352,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/8fafc8575aa045e69034c4915ca7f0e6\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "426", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:42 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3ebac033-7ada-4eb8-882c-03206f65ebca", + "x-ms-request-id": "48f492b6-fadd-4b7d-8cf5-2f5b9874bb53", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:24:52 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d980491f-900a-4428-87fc-d8d5f281faf4", + "x-ms-request-id": "06980eab-19d8-424d-82ca-24be764bdb89", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "f85909a0-e6c5-4737-a70a-5a7477fb9b01", - "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:25:03 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "887ad802-c9e2-4733-8df4-60a1f67c2800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1\",\"deletedDate\":1563495904,\"scheduledPurgeDate\":1571271904,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/5a1f331749124745a44c2f9ff12fc534\",\"attributes\":{\"enabled\":true,\"created\":1563495881,\"updated\":1563495881,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "416", + "content-length": "126", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:35:51 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "bbc14738-c629-435c-83a2-80ee0bf7891f", + "x-ms-request-id": "c28d707e-1d7e-48d4-a92d-eee8b17154ec", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:04 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:02 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "556b37bb-6767-4ae2-84f4-a594ff6e85c1", + "x-ms-request-id": "fa0ea012-3d00-4bda-ad86-15c98faec0ea", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:01 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5a8dc41c-4d88-4336-80aa-60669eb45200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 204, - "response": "", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1565307351,\"scheduledPurgeDate\":1573083351,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/1f34caacb0614dbd8da9e212c1955c13\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "426", + "pragma": "no-cache", "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "abedf429-2057-4ef3-99a1-cd59389d04dd", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "f9ff267b-4b40-4960-85e9-fcba1254a859", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:25:14 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:02 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cae4ce46-0ef5-46fe-b680-207ec280270d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ff56368e-87f6-4fdf-9848-87ab54395b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", + "requestBody": null, "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/359f92444e0845fb8979c646bd25916c\",\"attributes\":{\"enabled\":true,\"created\":1563495914,\"updated\":1563495914,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1565307352,\"scheduledPurgeDate\":1573083352,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/8fafc8575aa045e69034c4915ca7f0e6\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "266", + "content-length": "426", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:14 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "6887dfc0-f2a8-431b-bdc2-3f32b90366c1", + "x-ms-request-id": "b5e14deb-ce55-4c4c-b7d1-97fb14025f4e", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/1195cf09a8b54357bac81589cbd073fa\",\"attributes\":{\"enabled\":true,\"created\":1563495914,\"updated\":1563495914,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "266", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:14 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ce3eb217-8b80-469d-a301-a327c0c7bace", + "x-ms-request-id": "141419ef-0ef0-4149-87e9-5adaf040053f", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0c0dc299-8c68-465a-97fd-3921ed053900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1563495914,\"scheduledPurgeDate\":1571271914,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/359f92444e0845fb8979c646bd25916c\",\"attributes\":{\"enabled\":true,\"created\":1563495914,\"updated\":1563495914,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-12981529728391816\",\"deletedDate\":1564705732,\"scheduledPurgeDate\":1572481732,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816\",\"attributes\":{\"enabled\":true,\"created\":1563495687,\"updated\":1563495687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-20865076900801038\",\"deletedDate\":1564705753,\"scheduledPurgeDate\":1572481753,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-20865076900801038\",\"attributes\":{\"enabled\":true,\"created\":1563839885,\"updated\":1563839885,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"deletedDate\":1562091716,\"scheduledPurgeDate\":1569867716,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"attributes\":{\"enabled\":true,\"created\":1562091716,\"updated\":1562091716,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040\",\"deletedDate\":1563903311,\"scheduledPurgeDate\":1571679311,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040\",\"attributes\":{\"enabled\":true,\"created\":1563903303,\"updated\":1563903303,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041\",\"deletedDate\":1563903314,\"scheduledPurgeDate\":1571679314,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041\",\"attributes\":{\"enabled\":true,\"created\":1563903306,\"updated\":1563903306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210\",\"deletedDate\":1565121627,\"scheduledPurgeDate\":1572897627,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210\",\"attributes\":{\"enabled\":true,\"created\":1565121625,\"updated\":1565121625,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211\",\"deletedDate\":1565121628,\"scheduledPurgeDate\":1572897628,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211\",\"attributes\":{\"enabled\":true,\"created\":1565121626,\"updated\":1565121626,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420\",\"deletedDate\":1564705395,\"scheduledPurgeDate\":1572481395,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420\",\"attributes\":{\"enabled\":true,\"created\":1564705395,\"updated\":1564705395,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421\",\"deletedDate\":1564705395,\"scheduledPurgeDate\":1572481395,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421\",\"attributes\":{\"enabled\":true,\"created\":1564705395,\"updated\":1564705395,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230\",\"deletedDate\":1564695446,\"scheduledPurgeDate\":1572471446,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230\",\"attributes\":{\"enabled\":true,\"created\":1564695446,\"updated\":1564695446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231\",\"deletedDate\":1564695447,\"scheduledPurgeDate\":1572471447,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231\",\"attributes\":{\"enabled\":true,\"created\":1564695446,\"updated\":1564695446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1565307351,\"scheduledPurgeDate\":1573083351,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1565307352,\"scheduledPurgeDate\":1573083352,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1565307351,\"updated\":1565307351,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFkyTXpjMk1UYzVOekV6TnpneEx6aEdRVVpET0RVM05VRkJNRFExUlRZNU1ETTBRelE1TVRWRFFUZEdNRVUySVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "430", + "content-length": "5575", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:14 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7524ab7c-3343-4726-a8fd-a862facf7631", + "x-ms-request-id": "69a78f14-5d1b-4701-972a-22ab09a5818a", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFkyTXpjMk1UYzVOekV6TnpneEx6aEdRVVpET0RVM05VRkJNRFExUlRZNU1ETTBRelE1TVRWRFFUZEdNRVUySVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5328b3f9-91d5-49b4-8bfb-f34389aa0628", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:02 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8cc938c0-8819-4c53-97f8-3a2d06fe6200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFkyTXpjMk1UYzVOekV6TnpneEx6aEdRVVpET0RVM05VRkJNRFExUlRZNU1ETTBRelE1TVRWRFFUZEdNRVUySVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1563495914,\"scheduledPurgeDate\":1571271914,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/1195cf09a8b54357bac81589cbd073fa\",\"attributes\":{\"enabled\":true,\"created\":1563495914,\"updated\":1563495914,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-4318261257672191\",\"deletedDate\":1565121838,\"scheduledPurgeDate\":1572897838,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-4318261257672191\",\"attributes\":{\"enabled\":true,\"created\":1565121800,\"updated\":1565121800,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299\",\"deletedDate\":1564518782,\"scheduledPurgeDate\":1572294782,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299\",\"attributes\":{\"enabled\":true,\"created\":1564518780,\"updated\":1564518780,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752\",\"deletedDate\":1564695596,\"scheduledPurgeDate\":1572471596,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752\",\"attributes\":{\"enabled\":true,\"created\":1564695596,\"updated\":1564695596,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525\",\"deletedDate\":1563838818,\"scheduledPurgeDate\":1571614818,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525\",\"attributes\":{\"enabled\":true,\"created\":1563838818,\"updated\":1563838818,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-8192810949565263\",\"deletedDate\":1564612407,\"scheduledPurgeDate\":1572388407,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-8192810949565263\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1564612406,\"updated\":1564612407,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832\",\"deletedDate\":1560352589,\"scheduledPurgeDate\":1568128589,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832\",\"attributes\":{\"enabled\":true,\"created\":1560352578,\"updated\":1560352578,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456\",\"deletedDate\":1560352595,\"scheduledPurgeDate\":1568128595,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456\",\"attributes\":{\"enabled\":true,\"created\":1560352584,\"updated\":1560352584,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0\",\"deletedDate\":1561751925,\"scheduledPurgeDate\":1569527925,\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName0\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "430", + "content-length": "3313", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:14 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f7d6e666-35a8-46a2-90d6-42a7e4027a68", + "x-ms-request-id": "b9f05b0a-bc9f-4a52-97f6-f8134e953e4a", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "128", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:14 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "12e741fb-b61f-49af-b02b-48e28d2daf81", + "x-ms-request-id": "da327be0-0351-4fb1-b47e-ee71fbedbe06", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0d0a7bd0-e906-4f32-b15c-025abf955000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1563495914,\"scheduledPurgeDate\":1571271914,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/359f92444e0845fb8979c646bd25916c\",\"attributes\":{\"enabled\":true,\"created\":1563495914,\"updated\":1563495914,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName\",\"deletedDate\":1561752013,\"scheduledPurgeDate\":1569528013,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName\",\"attributes\":{\"enabled\":true,\"created\":1561752012,\"updated\":1561752012,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"deletedDate\":1561725411,\"scheduledPurgeDate\":1569501411,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"attributes\":{\"enabled\":true,\"created\":1561725356,\"updated\":1561725356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "430", + "content-length": "1075", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:24 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2f0c6eb5-9f6c-450c-95b7-5e5dfadfe78b", + "x-ms-request-id": "00a88bf4-e662-441b-b683-7cd13ee70b3b", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"deletedDate\":1562091716,\"scheduledPurgeDate\":1569867716,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"attributes\":{\"enabled\":true,\"created\":1562091716,\"updated\":1562091716,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1563495914,\"scheduledPurgeDate\":1571271914,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1563495914,\"updated\":1563495914,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1563495914,\"scheduledPurgeDate\":1571271914,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1563495914,\"updated\":1563495914,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832\",\"deletedDate\":1560352589,\"scheduledPurgeDate\":1568128589,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832\",\"attributes\":{\"enabled\":true,\"created\":1560352578,\"updated\":1560352578,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456\",\"deletedDate\":1560352595,\"scheduledPurgeDate\":1568128595,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456\",\"attributes\":{\"enabled\":true,\"created\":1560352584,\"updated\":1560352584,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0\",\"deletedDate\":1561751925,\"scheduledPurgeDate\":1569527925,\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName0\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName\",\"deletedDate\":1561752013,\"scheduledPurgeDate\":1569528013,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName\",\"attributes\":{\"enabled\":true,\"created\":1561752012,\"updated\":1561752012,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXdJWE5sWTNKbGRDOVNSVU5QVmtWU1UwVkRVa1ZVVGtGTlJTMURRVTVTUlZOVVQxSkZRVk5GUTFKRlZDMHdPREF4TlRrMU56YzBOakV5TVRVeE5pRXdNREF3TWpnaE9UazVPUzB4TWkwek1WUXlNem8xT1RvMU9TNDVPVGs1T1RrNVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "2852", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:24 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "4b85496a-baf9-4f03-bbac-d1980fc11c8f", + "x-ms-request-id": "5e2e962b-5cf5-4f42-9db8-91a8e698918c", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "54066840-2cdd-4f17-9911-0abcf01f3c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1819,27 +2093,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXdJWE5sWTNKbGRDOVNSVU5QVmtWU1UwVkRVa1ZVVGtGTlJTMURRVTVTUlZOVVQxSkZRVk5GUTFKRlZDMHdPREF4TlRrMU56YzBOakV5TVRVeE5pRXdNREF3TWpnaE9UazVPUzB4TWkwek1WUXlNem8xT1RvMU9TNDVPVGs1T1RrNVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"deletedDate\":1561725411,\"scheduledPurgeDate\":1569501411,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"attributes\":{\"enabled\":true,\"created\":1561725356,\"updated\":1561725356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TmpBeU1EazNNRE13TlRjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "693", + "content-length": "298", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:25 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "d4ec2c01-43d6-4a69-bdc4-969cb2f1a514", + "x-ms-request-id": "52a5e279-4e46-4b30-adb2-2e82a23b8905", "cache-control": "no-cache", "expires": "-1" } @@ -1848,28 +2122,50 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TmpBeU1EazNNRE13TlRjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVPRFUxTWpreE56STRNREE1TmpJdk5EWXhPRVV6TUVORk1ESXdORUpCTkRnM1Fqa3dPVGMwTnpreE5URkVOemNoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "356", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:25 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "542f76df-80a8-4e9b-9608-1c40bce3da84", + "x-ms-request-id": "1926ab39-6cc0-437c-b64b-b38cd208f85c", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:03 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "dc70eeda-61f8-4c64-a81d-d0e0ee875a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -1877,27 +2173,27 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVPRFUxTWpreE56STRNREE1TmpJdk5EWXhPRVV6TUVORk1ESXdORUpCTkRnM1Fqa3dPVGMwTnpreE5URkVOemNoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917\",\"deletedDate\":1560288400,\"scheduledPurgeDate\":1568064400,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917\",\"attributes\":{\"enabled\":true,\"created\":1560288394,\"updated\":1560288394,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205\",\"deletedDate\":1560289358,\"scheduledPurgeDate\":1568065358,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289341,\"updated\":1560289347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102\",\"deletedDate\":1560289559,\"scheduledPurgeDate\":1568065559,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289548,\"updated\":1560289554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194\",\"deletedDate\":1560289648,\"scheduledPurgeDate\":1568065648,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289636,\"updated\":1560289642,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042\",\"deletedDate\":1560289703,\"scheduledPurgeDate\":1568065703,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289691,\"updated\":1560289697,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437\",\"deletedDate\":1560289831,\"scheduledPurgeDate\":1568065831,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289815,\"updated\":1560289826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585\",\"deletedDate\":1560289994,\"scheduledPurgeDate\":1568065994,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289983,\"updated\":1560289989,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409\",\"deletedDate\":1560290062,\"scheduledPurgeDate\":1568066062,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290045,\"updated\":1560290051,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555\",\"deletedDate\":1560290236,\"scheduledPurgeDate\":1568066236,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290214,\"updated\":1560290219,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpFNU56UXpNREExTnpnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917\",\"deletedDate\":1560288400,\"scheduledPurgeDate\":1568064400,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917\",\"attributes\":{\"enabled\":true,\"created\":1560288394,\"updated\":1560288394,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205\",\"deletedDate\":1560289358,\"scheduledPurgeDate\":1568065358,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289341,\"updated\":1560289347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102\",\"deletedDate\":1560289559,\"scheduledPurgeDate\":1568065559,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289548,\"updated\":1560289554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194\",\"deletedDate\":1560289648,\"scheduledPurgeDate\":1568065648,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289636,\"updated\":1560289642,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042\",\"deletedDate\":1560289703,\"scheduledPurgeDate\":1568065703,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289691,\"updated\":1560289697,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437\",\"deletedDate\":1560289831,\"scheduledPurgeDate\":1568065831,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289815,\"updated\":1560289826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585\",\"deletedDate\":1560289994,\"scheduledPurgeDate\":1568065994,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289983,\"updated\":1560289989,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409\",\"deletedDate\":1560290062,\"scheduledPurgeDate\":1568066062,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290045,\"updated\":1560290051,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3491", + "content-length": "3192", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:25 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "70a337e9-61bf-40c0-9419-bf6fc17c3773", + "x-ms-request-id": "b2c6535c-8fd8-400c-9d78-bf0eed7dce5f", "cache-control": "no-cache", "expires": "-1" } @@ -1906,449 +2202,4913 @@ "method": "GET", "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpFNU56UXpNREExTnpnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ab8c6151-ea2e-459c-b852-6ea11db8f8bb", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c8880d70-3985-4418-8f8d-9b06fa012e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555\",\"deletedDate\":1560290236,\"scheduledPurgeDate\":1568066236,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290214,\"updated\":1560290219,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578\",\"deletedDate\":1560290242,\"scheduledPurgeDate\":1568066242,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578\",\"attributes\":{\"enabled\":false,\"created\":1560290225,\"updated\":1560290225,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419\",\"deletedDate\":1560347014,\"scheduledPurgeDate\":1568123014,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560347002,\"updated\":1560347008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829\",\"deletedDate\":1560355143,\"scheduledPurgeDate\":1568131143,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829\",\"attributes\":{\"enabled\":true,\"created\":1560354677,\"updated\":1560354677,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921\",\"deletedDate\":1560354773,\"scheduledPurgeDate\":1568130773,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921\",\"attributes\":{\"enabled\":true,\"created\":1560354767,\"updated\":1560354767,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2026", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "48542b6b-85c8-42c8-8cc5-968de6c1e825", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c5b987ae-b79b-42ce-9d0c-c67b34c2fb95", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f013da0a-e077-4ad0-8f4d-60e5c5396600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164\",\"deletedDate\":1560360558,\"scheduledPurgeDate\":1568136558,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560360547,\"updated\":1560360547,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067\",\"deletedDate\":1560366029,\"scheduledPurgeDate\":1568142029,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067\",\"attributes\":{\"enabled\":true,\"created\":1560365667,\"updated\":1560365667,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928\",\"deletedDate\":1560365763,\"scheduledPurgeDate\":1568141763,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928\",\"attributes\":{\"enabled\":true,\"created\":1560365757,\"updated\":1560365757,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231\",\"deletedDate\":1560365785,\"scheduledPurgeDate\":1568141785,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231\",\"attributes\":{\"enabled\":true,\"created\":1560365780,\"updated\":1560365780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1725", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "005ab1f4-ba3d-4e87-87e3-f9dc8736d296", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1b9a03f7-ae6f-4862-8359-ee574f6ab4c4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ecd18f61-94d0-4ee1-92f3-cc3d8bdb3d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898\",\"deletedDate\":1560365997,\"scheduledPurgeDate\":1568141997,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898\",\"attributes\":{\"enabled\":true,\"created\":1560365986,\"updated\":1560365986,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210\",\"deletedDate\":1560366693,\"scheduledPurgeDate\":1568142693,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210\",\"attributes\":{\"enabled\":true,\"created\":1560366244,\"updated\":1560366244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621\",\"deletedDate\":1560366339,\"scheduledPurgeDate\":1568142339,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621\",\"attributes\":{\"enabled\":true,\"created\":1560366333,\"updated\":1560366333,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1311", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8193ce7d-fe69-4474-b6bd-35f0764fac88", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a78720a9-d2e8-4600-956a-494ee978e441", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0b113d46-7dc2-4689-a3b5-2678342f2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342\",\"deletedDate\":1560366661,\"scheduledPurgeDate\":1568142661,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342\",\"attributes\":{\"enabled\":true,\"created\":1560366650,\"updated\":1560366650,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797\",\"deletedDate\":1560367433,\"scheduledPurgeDate\":1568143433,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797\",\"attributes\":{\"enabled\":true,\"created\":1560367428,\"updated\":1560367428,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796\",\"deletedDate\":1560368144,\"scheduledPurgeDate\":1568144144,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796\",\"attributes\":{\"enabled\":true,\"created\":1560367636,\"updated\":1560367636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180\",\"deletedDate\":1560368181,\"scheduledPurgeDate\":1568144181,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180\",\"attributes\":{\"enabled\":true,\"created\":1560367748,\"updated\":1560367748,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933\",\"deletedDate\":1560370061,\"scheduledPurgeDate\":1568146061,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933\",\"attributes\":{\"enabled\":true,\"created\":1560370056,\"updated\":1560370056,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704\",\"deletedDate\":1560370705,\"scheduledPurgeDate\":1568146705,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704\",\"attributes\":{\"enabled\":true,\"created\":1560370284,\"updated\":1560370284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701\",\"deletedDate\":1560446082,\"scheduledPurgeDate\":1568222082,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701\",\"attributes\":{\"enabled\":true,\"created\":1560445805,\"updated\":1560445805,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659\",\"deletedDate\":1560446150,\"scheduledPurgeDate\":1568222150,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659\",\"attributes\":{\"enabled\":true,\"created\":1560445997,\"updated\":1560445997,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298\",\"deletedDate\":1560446194,\"scheduledPurgeDate\":1568222194,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298\",\"attributes\":{\"enabled\":true,\"created\":1560446178,\"updated\":1560446178,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3397", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "24e582b9-2547-46dd-ae9f-1d4101bd1026", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f1a6f1d0-ddd4-4405-9645-108a92383773", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "aa4da8e9-d730-4e09-879b-929a2be72e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349\",\"deletedDate\":1560446233,\"scheduledPurgeDate\":1568222233,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349\",\"attributes\":{\"enabled\":true,\"created\":1560446205,\"updated\":1560446205,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851\",\"deletedDate\":1560446631,\"scheduledPurgeDate\":1568222631,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851\",\"attributes\":{\"enabled\":true,\"created\":1560446603,\"updated\":1560446603,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355\",\"deletedDate\":1560351344,\"scheduledPurgeDate\":1568127344,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355\",\"attributes\":{\"enabled\":true,\"created\":1560351321,\"updated\":1560351321,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1318", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "dc3c7ce2-a0b3-4c3f-94f4-6329a167a806", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b0682591-c109-42ad-b905-426861cd858c", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:05 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7d39e6fc-4555-431b-ae29-a125c5395900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851\",\"deletedDate\":1560365851,\"scheduledPurgeDate\":1568141851,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851\",\"attributes\":{\"enabled\":true,\"created\":1560365840,\"updated\":1560365840,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970\",\"deletedDate\":1560365845,\"scheduledPurgeDate\":1568141845,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970\",\"attributes\":{\"enabled\":true,\"created\":1560365834,\"updated\":1560365834,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057\",\"deletedDate\":1560834630,\"scheduledPurgeDate\":1568610630,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057\",\"attributes\":{\"enabled\":true,\"created\":1560834554,\"updated\":1560834554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547\",\"deletedDate\":1560834787,\"scheduledPurgeDate\":1568610787,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547\",\"attributes\":{\"enabled\":true,\"created\":1560834689,\"updated\":1560834689,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1387", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ad084739-5443-4eb6-9e01-6fdf7d63372b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c6d8093d-cdb3-438e-b027-32ab4195d01f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "eb831d5a-ee81-4af5-ba4b-9355dfd82e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "98c0b75b-09d3-4209-aa4c-cc3bbad9c30c", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c26c6692-43cb-4ef4-8dc3-7f4afb7ecb19", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e3cec414-208d-42d2-918c-6029e1485d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "ec51559d-4685-4050-bea1-b5df7e51ec8b", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "22ab6f4c-7d98-4929-ab6a-693665ef41a5", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7d39e6fc-4555-431b-ae29-a125f2395900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE0\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d98ab08657164ff8a3e910ef0a77db29\",\"attributes\":{\"enabled\":true,\"created\":1565307367,\"updated\":1565307367,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8fdc8372-7e71-47cc-b9c9-65cc68ca43a2", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "09325985-7b58-48a2-81a6-60b6423ebe23", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f2552f3a-7ab0-4620-9581-73977db35500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE1\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/212bb035f4394ce980d375dec51775db\",\"attributes\":{\"enabled\":true,\"created\":1565307368,\"updated\":1565307368,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b1e86bcd-4b2d-42d2-a783-dcbba315e983", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "70627223-c5c5-4d55-90a5-d6175a81dee4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7d39e6fc-4555-431b-ae29-a125083a5900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE2\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/74bb7909a065447fa041e0eec4554a50\",\"attributes\":{\"enabled\":true,\"created\":1565307368,\"updated\":1565307368,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ad48246d-2db7-45ab-9642-026ae643e519", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "48631978-1357-49a3-90ec-849567f22c14", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c0fba897-82e0-4602-8b80-8a663a272c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/212bb035f4394ce980d375dec51775db\",\"attributes\":{\"enabled\":true,\"created\":1565307368,\"updated\":1565307368,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/74bb7909a065447fa041e0eec4554a50\",\"attributes\":{\"enabled\":true,\"created\":1565307368,\"updated\":1565307368,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d98ab08657164ff8a3e910ef0a77db29\",\"attributes\":{\"enabled\":true,\"created\":1565307367,\"updated\":1565307367,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "807", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f21cf28a-0a01-4ef0-a1ac-f795e3c567b1", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/212bb035f4394ce980d375dec51775db", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a71f0b45-fb84-47d9-83ed-0d35d2a69ba1", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bd1f3bb8-80fc-4293-adef-b23811f82d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/212bb035f4394ce980d375dec51775db", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/212bb035f4394ce980d375dec51775db\",\"attributes\":{\"enabled\":true,\"created\":1565307368,\"updated\":1565307368,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "156a8202-f96c-4583-b619-89c45a765b44", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/74bb7909a065447fa041e0eec4554a50", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1e0976d3-5810-4f6e-9b0a-ae1bf25477bc", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ecd18f61-94d0-4ee1-92f3-cc3df9db3d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/74bb7909a065447fa041e0eec4554a50", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/74bb7909a065447fa041e0eec4554a50\",\"attributes\":{\"enabled\":true,\"created\":1565307368,\"updated\":1565307368,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "618e5ad3-ea04-4e0e-91fe-d75b08e7da87", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d98ab08657164ff8a3e910ef0a77db29", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "36728b04-e6dc-4315-a353-77a1bbb306f7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e159f361-c61e-49ca-8bb0-615a378a2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d98ab08657164ff8a3e910ef0a77db29", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d98ab08657164ff8a3e910ef0a77db29\",\"attributes\":{\"enabled\":true,\"created\":1565307367,\"updated\":1565307367,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "92d493e8-d1f8-480a-84f8-5ef24d9a8821", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "78071510-2f24-450e-a9ae-68ae7bd99a8a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "50e4dd54-491a-4f63-8e2e-d7bf9fac2800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-\",\"deletedDate\":1565307369,\"scheduledPurgeDate\":1573083369,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/74bb7909a065447fa041e0eec4554a50\",\"attributes\":{\"enabled\":true,\"created\":1565307368,\"updated\":1565307368,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "444", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5c7f1ef9-ae4e-4337-93d0-feec1b05e343", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1b4ddf29-b985-4ae1-aa2f-5a42db152a0e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4977eb11-a565-4679-b188-4f2680755300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9f22a719-7e21-40c8-bc3f-8c942c781f41", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b0fb92ee-ce8a-484a-b9e7-4336c3dd1292", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f017b000-f77d-4bca-88c3-c59af2795400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "ec6141c8-2106-4caa-bf88-75ee500172a7", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:19 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:19 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bd4caf71-c2ac-459f-b4a4-212bc6aadc2f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f15e9bb3-1699-4614-8ab0-100e42c63600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "28", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "76fdc07a-250c-464c-8fde-0e48416504bb", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "54318fe8-eb5f-4456-aff0-0ab9a136806f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4977eb11-a565-4679-b188-4f2618775300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"RSA\"}", + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/e42dd035a7bf4e828d15e88b5695d669\",\"attributes\":{\"enabled\":true,\"created\":1565307381,\"updated\":1565307381,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "257", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "63409d0e-0a38-4006-a187-08351909157f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a865b1fb-e256-4ad3-bf30-382c04a6d0ed", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4fe84694-1220-4b6a-ab41-8579fd592900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"RSA\"}", + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/1295befafd24481f80bb12ac2ea1346f\",\"attributes\":{\"enabled\":true,\"created\":1565307381,\"updated\":1565307381,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "257", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d8b8bfcb-8967-4537-b359-fd0e9b8a9b59", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3971b042-72e8-4f6d-8d1e-f0a648ff80d6", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b91006e7-b208-4d7a-a9d3-471638043800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1565307381,\"updated\":1565307381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1565307381,\"updated\":1565307381,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/ExamplePassword\",\"attributes\":{\"enabled\":true,\"created\":1559920536,\"updated\":1559920536,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035497352907352\",\"attributes\":{\"enabled\":true,\"created\":1560354978,\"updated\":1560354978,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035503730605597\",\"attributes\":{\"enabled\":true,\"created\":1560355042,\"updated\":1560355042,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/key156035505405304954\",\"attributes\":{\"enabled\":true,\"created\":1560355059,\"updated\":1560355059,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1436", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9eaeb579-f8f0-4f4b-bfce-afcc31f98a68", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c1ce9fed-3c11-49ca-bfc1-2741dc5262c4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bebe4b5f-8717-43bd-aced-a08798423900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName1\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555\",\"attributes\":{\"enabled\":true,\"created\":1559698309,\"updated\":1559698309,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698313,\"updated\":1559698313,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698314,\"updated\":1559698328,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177\",\"attributes\":{\"enabled\":true,\"created\":1559698345,\"updated\":1559698345,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376\",\"attributes\":{\"enabled\":true,\"created\":1559698415,\"updated\":1559698415,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224\",\"attributes\":{\"enabled\":true,\"created\":1559698422,\"updated\":1559698422,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698435,\"updated\":1559698435,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698450,\"updated\":1559698457,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300\",\"attributes\":{\"enabled\":true,\"created\":1559698479,\"updated\":1559698479,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675\",\"attributes\":{\"enabled\":true,\"created\":1559698582,\"updated\":1559698582,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698595,\"updated\":1559698595,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559698608,\"updated\":1559698615,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327\",\"attributes\":{\"enabled\":true,\"created\":1559698661,\"updated\":1559698661,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045\",\"attributes\":{\"enabled\":true,\"created\":1559748717,\"updated\":1559748717,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748728,\"updated\":1559748728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559748739,\"updated\":1559748744,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577\",\"attributes\":{\"enabled\":true,\"created\":1559748784,\"updated\":1559748784,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146\",\"attributes\":{\"enabled\":true,\"created\":1559762682,\"updated\":1559762682,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658\",\"attributes\":{\"enabled\":true,\"created\":1559779876,\"updated\":1559779876,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041\",\"attributes\":{\"enabled\":true,\"created\":1559779883,\"updated\":1559779883,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779896,\"updated\":1559779896,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "4623", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b1ad546b-0223-4a89-9954-3acaab3e1f09", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:21 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "70efc5d9-b4e8-4326-8842-7411fc2b6340", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a3401261-a4f7-4dac-92ef-7c2cc3485500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559779909,\"updated\":1559779916,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573\",\"attributes\":{\"enabled\":true,\"created\":1559779954,\"updated\":1559779954,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962\",\"attributes\":{\"enabled\":true,\"created\":1559855297,\"updated\":1559855297,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520\",\"attributes\":{\"enabled\":true,\"created\":1559861253,\"updated\":1559861253,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211\",\"attributes\":{\"enabled\":true,\"created\":1559861260,\"updated\":1559861260,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1559861276,\"updated\":1559861276,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684\",\"attributes\":{\"enabled\":true,\"created\":1560354683,\"updated\":1560354683,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354688,\"updated\":1560354688,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560354700,\"updated\":1560354705,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560354717,\"updated\":1560354723,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987\",\"attributes\":{\"enabled\":true,\"created\":1560354728,\"updated\":1560354728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992\",\"attributes\":{\"enabled\":false,\"created\":1560354739,\"updated\":1560354739,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332\",\"attributes\":{\"enabled\":true,\"created\":1560354751,\"updated\":1560354751,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2852", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "76490f68-85c4-4315-9ae3-b646a4fcf86a", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f9261000-906e-4639-bbb7-4dd732d1abb7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0c0dc299-8c68-465a-97fd-392121083900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463\",\"attributes\":{\"enabled\":true,\"created\":1560354940,\"updated\":1560354940,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575\",\"attributes\":{\"enabled\":true,\"created\":1560365673,\"updated\":1560365673,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365679,\"updated\":1560365679,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560365690,\"updated\":1560365695,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560365707,\"updated\":1560365713,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936\",\"attributes\":{\"enabled\":true,\"created\":1560365718,\"updated\":1560365718,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051\",\"attributes\":{\"enabled\":false,\"created\":1560365729,\"updated\":1560365729,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072\",\"attributes\":{\"enabled\":true,\"created\":1560365740,\"updated\":1560365740,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918\",\"attributes\":{\"enabled\":true,\"created\":1560365867,\"updated\":1560365867,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323\",\"attributes\":{\"enabled\":true,\"created\":1560365906,\"updated\":1560365906,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652\",\"attributes\":{\"enabled\":true,\"created\":1560365969,\"updated\":1560365969,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284\",\"attributes\":{\"enabled\":true,\"created\":1560366250,\"updated\":1560366250,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366256,\"updated\":1560366256,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560366267,\"updated\":1560366272,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560366283,\"updated\":1560366289,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025\",\"attributes\":{\"enabled\":true,\"created\":1560366295,\"updated\":1560366295,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034\",\"attributes\":{\"enabled\":false,\"created\":1560366306,\"updated\":1560366306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153\",\"attributes\":{\"enabled\":true,\"created\":1560366317,\"updated\":1560366317,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3822", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f9e7d425-f216-4237-ae0d-4b73d58a0ebe", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9d2246b2-819a-44cc-87f7-458dd590e4ca", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "12f5c5a6-7242-435d-bd0e-c6b4c7982f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935\",\"attributes\":{\"enabled\":true,\"created\":1560366530,\"updated\":1560366530,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451\",\"attributes\":{\"enabled\":true,\"created\":1560366569,\"updated\":1560366569,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557\",\"attributes\":{\"enabled\":true,\"created\":1560366633,\"updated\":1560366633,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385\",\"attributes\":{\"enabled\":true,\"created\":1560367765,\"updated\":1560367765,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836\",\"attributes\":{\"enabled\":true,\"created\":1560834589,\"updated\":1560834589,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466\",\"attributes\":{\"enabled\":true,\"created\":1560834627,\"updated\":1560834627,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384\",\"attributes\":{\"enabled\":true,\"created\":1560834724,\"updated\":1560834724,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983\",\"attributes\":{\"enabled\":true,\"created\":1560834763,\"updated\":1560834763,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330\",\"attributes\":{\"enabled\":true,\"created\":1560351327,\"updated\":1560351327,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968\",\"attributes\":{\"enabled\":true,\"created\":1560354843,\"updated\":1560354843,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298\",\"attributes\":{\"enabled\":true,\"created\":1560354838,\"updated\":1560354838,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694\",\"attributes\":{\"enabled\":true,\"created\":1560365822,\"updated\":1560365822,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2579", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "27d1bdb3-db0c-48a3-9e07-9f36658dac8e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:22 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "97ea5e4d-7a46-4aa0-a65b-1cd084740ef1", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f15e9bb3-1699-4614-8ab0-100e96c63600", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/secrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753\",\"attributes\":{\"enabled\":true,\"created\":1560365828,\"updated\":1560365828,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029\",\"attributes\":{\"enabled\":true,\"created\":1560366404,\"updated\":1560366404,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648\",\"attributes\":{\"enabled\":true,\"created\":1560366410,\"updated\":1560366410,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280\",\"attributes\":{\"enabled\":true,\"created\":1560834555,\"updated\":1560834555,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406\",\"attributes\":{\"enabled\":true,\"created\":1560834593,\"updated\":1560834593,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650\",\"attributes\":{\"enabled\":true,\"created\":1560834728,\"updated\":1560834728,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472\",\"attributes\":{\"enabled\":true,\"created\":1560834727,\"updated\":1560834727,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1555", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9f29f11d-3309-4a78-902f-c5870accb84e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8158315d-67a5-44ca-b8eb-6a6d1640799f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f000cf24-7d7f-47dc-9664-a3129bde2700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0\",\"deletedDate\":1565307384,\"scheduledPurgeDate\":1573083384,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/e42dd035a7bf4e828d15e88b5695d669\",\"attributes\":{\"enabled\":true,\"created\":1565307381,\"updated\":1565307381,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "412", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "20f66b99-bd19-40f9-9efa-d1b9dc738445", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b2c5981e-2aba-4f77-984d-94b7d5e1fb46", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:24 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f017b000-f77d-4bca-88c3-c59a607a5400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:23 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ffa0348f-c7fe-4a21-8e3e-2205e5ef6242", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bee6e46a-bc27-43f2-8df0-ebebd43374f4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ad29dddf-aea6-4098-a0fe-1c25acba5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "a78724c6-a58d-4f94-b348-f61d6b717795", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4eee621c-8ffb-4f1b-a2f3-283f1201a81e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:34 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "acc41390-a92a-448b-ad10-6417d2613c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1\",\"deletedDate\":1565307395,\"scheduledPurgeDate\":1573083395,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/1295befafd24481f80bb12ac2ea1346f\",\"attributes\":{\"enabled\":true,\"created\":1565307381,\"updated\":1565307381,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "412", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e3344a09-c43f-4dbd-b64d-fa9e787ff84f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2bde54d1-73ca-4d96-afd7-8f9025c685c9", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:35 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c49d73c5-82f0-4079-b485-e3035c1e2d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:35 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0060d14b-1471-4eb9-b1a5-a5e789a7bf21", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:45 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8f10efe2-84e3-4acf-be8d-3b10e7e2176a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:45 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e3cec414-208d-42d2-918c-6029a54d5d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:45 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "76de65d1-f4c4-4554-800f-7b9596582250", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7164f251-e170-4eee-ad13-9adb5952b242", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ebc87a43-dce6-481a-b374-c11a8ba26a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "888d93a0-3166-474a-ab75-a6952a50abb7", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "17b72f4b-8fc7-42ac-8198-0b32312e83da", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "887ad802-c9e2-4733-8df4-60a191842800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"RSA\"}", + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/b67a2ed4bab74ac4bce2a7f3f86689fc\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "264", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a3405a14-61c8-46f2-910d-51f5b18d1bdc", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "036d976d-62c3-4bb8-b1ad-df9d2e208bea", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:55 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8f6ad2ae-b465-4527-9922-c07496205100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"RSA\"}", + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/8909a862156049ad88f7607be3b2f0d3\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "264", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "138407ac-49a0-4904-8d33-176eb15f1898", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3bcb9123-5473-40db-8873-764ba3df9c23", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5404936b-da81-4966-bb6a-c516a0575a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1565307416,\"scheduledPurgeDate\":1573083416,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/b67a2ed4bab74ac4bce2a7f3f86689fc\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "426", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4e1f55b9-c2ae-4f1b-9da3-b2558441574e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "28d4255d-55ae-447f-8109-12ccebb933c1", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "50e4dd54-491a-4f63-8e2e-d7bf63b12800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1565307417,\"scheduledPurgeDate\":1573083417,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/8909a862156049ad88f7607be3b2f0d3\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "426", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ff199af6-d42c-4276-be20-efdfba877f35", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bbb2c7f1-e263-4e95-b749-b253d5e24b34", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:36:56 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483b39163a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "126", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:36:57 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4a8ca87e-bc84-4cb5-8074-a7d50c3807da", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e9e91608-0720-4cb5-8bbc-933fb6f8a761", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:06 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "48972955-48e2-4eb3-8729-114383162a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1565307416,\"scheduledPurgeDate\":1573083416,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/b67a2ed4bab74ac4bce2a7f3f86689fc\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "426", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a54be306-db31-43a3-9c6a-2d20df7bc515", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1be4ca33-87bf-4ea3-944e-ce77285a88c6", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "357c4149-5794-44d4-9f0c-3f62e1d25800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1565307417,\"scheduledPurgeDate\":1573083417,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/8909a862156049ad88f7607be3b2f0d3\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "426", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6a0b38fe-d838-40ae-a04e-972da2642175", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "22398ed7-b31e-41aa-b607-e9c9a44fe23b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "17393c18-4798-44a7-ac52-fc4f72af6100", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-12981529728391816\",\"deletedDate\":1564705732,\"scheduledPurgeDate\":1572481732,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816\",\"attributes\":{\"enabled\":true,\"created\":1563495687,\"updated\":1563495687,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-20865076900801038\",\"deletedDate\":1564705753,\"scheduledPurgeDate\":1572481753,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-20865076900801038\",\"attributes\":{\"enabled\":true,\"created\":1563839885,\"updated\":1563839885,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"deletedDate\":1562091716,\"scheduledPurgeDate\":1569867716,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652\",\"attributes\":{\"enabled\":true,\"created\":1562091716,\"updated\":1562091716,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040\",\"deletedDate\":1563903311,\"scheduledPurgeDate\":1571679311,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040\",\"attributes\":{\"enabled\":true,\"created\":1563903303,\"updated\":1563903303,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041\",\"deletedDate\":1563903314,\"scheduledPurgeDate\":1571679314,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041\",\"attributes\":{\"enabled\":true,\"created\":1563903306,\"updated\":1563903306,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210\",\"deletedDate\":1565121627,\"scheduledPurgeDate\":1572897627,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210\",\"attributes\":{\"enabled\":true,\"created\":1565121625,\"updated\":1565121625,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211\",\"deletedDate\":1565121628,\"scheduledPurgeDate\":1572897628,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211\",\"attributes\":{\"enabled\":true,\"created\":1565121626,\"updated\":1565121626,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420\",\"deletedDate\":1564705395,\"scheduledPurgeDate\":1572481395,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420\",\"attributes\":{\"enabled\":true,\"created\":1564705395,\"updated\":1564705395,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421\",\"deletedDate\":1564705395,\"scheduledPurgeDate\":1572481395,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421\",\"attributes\":{\"enabled\":true,\"created\":1564705395,\"updated\":1564705395,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230\",\"deletedDate\":1564695446,\"scheduledPurgeDate\":1572471446,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230\",\"attributes\":{\"enabled\":true,\"created\":1564695446,\"updated\":1564695446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231\",\"deletedDate\":1564695447,\"scheduledPurgeDate\":1572471447,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231\",\"attributes\":{\"enabled\":true,\"created\":1564695446,\"updated\":1564695446,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0\",\"deletedDate\":1565307416,\"scheduledPurgeDate\":1573083416,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1\",\"deletedDate\":1565307417,\"scheduledPurgeDate\":1573083417,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1\",\"attributes\":{\"enabled\":true,\"created\":1565307416,\"updated\":1565307416,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFkyTXpjMk1UYzVOekV6TnpneEx6ZzVNRGxCT0RZeU1UVTJNRFE1UVVRNE9FWTNOakEzUWtVelFqSkdNRVF6SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "5575", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3aab1e9a-98a2-4d7e-985a-765f2bff5195", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFkyTXpjMk1UYzVOekV6TnpneEx6ZzVNRGxCT0RZeU1UVTJNRFE1UVVRNE9FWTNOakEzUWtVelFqSkdNRVF6SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b52fb171-c8af-4b43-95c5-e348cac84403", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e3cec414-208d-42d2-918c-6029c94f5d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01Ea3lJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFkyTXpjMk1UYzVOekV6TnpneEx6ZzVNRGxCT0RZeU1UVTJNRFE1UVVRNE9FWTNOakEzUWtVelFqSkdNRVF6SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-4318261257672191\",\"deletedDate\":1565121838,\"scheduledPurgeDate\":1572897838,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-4318261257672191\",\"attributes\":{\"enabled\":true,\"created\":1565121800,\"updated\":1565121800,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299\",\"deletedDate\":1564518782,\"scheduledPurgeDate\":1572294782,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299\",\"attributes\":{\"enabled\":true,\"created\":1564518780,\"updated\":1564518780,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752\",\"deletedDate\":1564695596,\"scheduledPurgeDate\":1572471596,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752\",\"attributes\":{\"enabled\":true,\"created\":1564695596,\"updated\":1564695596,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525\",\"deletedDate\":1563838818,\"scheduledPurgeDate\":1571614818,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525\",\"attributes\":{\"enabled\":true,\"created\":1563838818,\"updated\":1563838818,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-8192810949565263\",\"deletedDate\":1564612407,\"scheduledPurgeDate\":1572388407,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-8192810949565263\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1564612406,\"updated\":1564612407,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832\",\"deletedDate\":1560352589,\"scheduledPurgeDate\":1568128589,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832\",\"attributes\":{\"enabled\":true,\"created\":1560352578,\"updated\":1560352578,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456\",\"deletedDate\":1560352595,\"scheduledPurgeDate\":1568128595,\"id\":\"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456\",\"attributes\":{\"enabled\":true,\"created\":1560352584,\"updated\":1560352584,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0\",\"deletedDate\":1561751925,\"scheduledPurgeDate\":1569527925,\"id\":\"https://keyvault_name.vault.azure.net/secrets/listSecretName0\",\"attributes\":{\"enabled\":true,\"created\":1561751921,\"updated\":1561751921,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3313", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2ca94227-2591-47d9-bd62-e774f5a3ad52", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:07 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "62048cac-b30f-40c2-a841-f07a29a978be", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bd1f3bb8-80fc-4293-adef-b23810ff2d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName\",\"deletedDate\":1561752013,\"scheduledPurgeDate\":1569528013,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName\",\"attributes\":{\"enabled\":true,\"created\":1561752012,\"updated\":1561752012,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"deletedDate\":1561725411,\"scheduledPurgeDate\":1569501411,\"id\":\"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516\",\"attributes\":{\"enabled\":true,\"created\":1561725356,\"updated\":1561725356,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1075", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f96046bb-76c9-43e0-a521-5e546f23f1bd", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5489b7d1-5d3f-4e4f-b89e-f09cc09b5dfc", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "c49d73c5-82f0-4079-b485-e3039b222d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "298", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4fc8239b-4b06-4462-82bf-b530a1a748ad", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "c70fd0ae-1280-4b14-8b38-b2a37a9b8354", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ef2c5b05-168a-4679-874a-bf9900442e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917\",\"deletedDate\":1560288400,\"scheduledPurgeDate\":1568064400,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917\",\"attributes\":{\"enabled\":true,\"created\":1560288394,\"updated\":1560288394,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205\",\"deletedDate\":1560289358,\"scheduledPurgeDate\":1568065358,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289341,\"updated\":1560289347,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102\",\"deletedDate\":1560289559,\"scheduledPurgeDate\":1568065559,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289548,\"updated\":1560289554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194\",\"deletedDate\":1560289648,\"scheduledPurgeDate\":1568065648,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289636,\"updated\":1560289642,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042\",\"deletedDate\":1560289703,\"scheduledPurgeDate\":1568065703,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289691,\"updated\":1560289697,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437\",\"deletedDate\":1560289831,\"scheduledPurgeDate\":1568065831,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289815,\"updated\":1560289826,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585\",\"deletedDate\":1560289994,\"scheduledPurgeDate\":1568065994,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560289983,\"updated\":1560289989,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409\",\"deletedDate\":1560290062,\"scheduledPurgeDate\":1568066062,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290045,\"updated\":1560290051,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3192", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:08 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "13ad5203-4bca-4d0b-a16a-5171bba104b6", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9426a8ee-77db-4018-9e8e-dd81086e81b4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b6316b6a-c4ef-421d-bfbe-0d13499b6500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555\",\"deletedDate\":1560290236,\"scheduledPurgeDate\":1568066236,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560290214,\"updated\":1560290219,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578\",\"deletedDate\":1560290242,\"scheduledPurgeDate\":1568066242,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578\",\"attributes\":{\"enabled\":false,\"created\":1560290225,\"updated\":1560290225,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419\",\"deletedDate\":1560347014,\"scheduledPurgeDate\":1568123014,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560347002,\"updated\":1560347008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829\",\"deletedDate\":1560355143,\"scheduledPurgeDate\":1568131143,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829\",\"attributes\":{\"enabled\":true,\"created\":1560354677,\"updated\":1560354677,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921\",\"deletedDate\":1560354773,\"scheduledPurgeDate\":1568130773,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921\",\"attributes\":{\"enabled\":true,\"created\":1560354767,\"updated\":1560354767,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "2026", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "50f6fa8b-2307-4e5e-a9e3-39ab6df4ed02", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "fe7b6fc0-ccd5-4654-8e9f-d3ef8529f82e", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "dc70eeda-61f8-4c64-a81d-d0e02c8f5a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164\",\"deletedDate\":1560360558,\"scheduledPurgeDate\":1568136558,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560360547,\"updated\":1560360547,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067\",\"deletedDate\":1560366029,\"scheduledPurgeDate\":1568142029,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067\",\"attributes\":{\"enabled\":true,\"created\":1560365667,\"updated\":1560365667,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928\",\"deletedDate\":1560365763,\"scheduledPurgeDate\":1568141763,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928\",\"attributes\":{\"enabled\":true,\"created\":1560365757,\"updated\":1560365757,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231\",\"deletedDate\":1560365785,\"scheduledPurgeDate\":1568141785,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231\",\"attributes\":{\"enabled\":true,\"created\":1560365780,\"updated\":1560365780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1725", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7dfc4a66-dde4-4f1e-835c-bb32791d4d20", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "003c5d82-471a-457b-bbaf-38fb950827fe", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e37deebb-9321-4d66-9ef9-8c4dbde43f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898\",\"deletedDate\":1560365997,\"scheduledPurgeDate\":1568141997,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898\",\"attributes\":{\"enabled\":true,\"created\":1560365986,\"updated\":1560365986,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210\",\"deletedDate\":1560366693,\"scheduledPurgeDate\":1568142693,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210\",\"attributes\":{\"enabled\":true,\"created\":1560366244,\"updated\":1560366244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621\",\"deletedDate\":1560366339,\"scheduledPurgeDate\":1568142339,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621\",\"attributes\":{\"enabled\":true,\"created\":1560366333,\"updated\":1560366333,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1311", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6d0111e5-7f2a-41b4-a7af-7c2051cd1263", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4607cfff-1cf5-4a92-bd7e-ca452968f9fd", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "76aee412-a7af-43c4-ad5b-ff293cfb5f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342\",\"deletedDate\":1560366661,\"scheduledPurgeDate\":1568142661,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342\",\"attributes\":{\"enabled\":true,\"created\":1560366650,\"updated\":1560366650,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797\",\"deletedDate\":1560367433,\"scheduledPurgeDate\":1568143433,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797\",\"attributes\":{\"enabled\":true,\"created\":1560367428,\"updated\":1560367428,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796\",\"deletedDate\":1560368144,\"scheduledPurgeDate\":1568144144,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796\",\"attributes\":{\"enabled\":true,\"created\":1560367636,\"updated\":1560367636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180\",\"deletedDate\":1560368181,\"scheduledPurgeDate\":1568144181,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180\",\"attributes\":{\"enabled\":true,\"created\":1560367748,\"updated\":1560367748,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933\",\"deletedDate\":1560370061,\"scheduledPurgeDate\":1568146061,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933\",\"attributes\":{\"enabled\":true,\"created\":1560370056,\"updated\":1560370056,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704\",\"deletedDate\":1560370705,\"scheduledPurgeDate\":1568146705,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704\",\"attributes\":{\"enabled\":true,\"created\":1560370284,\"updated\":1560370284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701\",\"deletedDate\":1560446082,\"scheduledPurgeDate\":1568222082,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701\",\"attributes\":{\"enabled\":true,\"created\":1560445805,\"updated\":1560445805,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659\",\"deletedDate\":1560446150,\"scheduledPurgeDate\":1568222150,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659\",\"attributes\":{\"enabled\":true,\"created\":1560445997,\"updated\":1560445997,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298\",\"deletedDate\":1560446194,\"scheduledPurgeDate\":1568222194,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298\",\"attributes\":{\"enabled\":true,\"created\":1560446178,\"updated\":1560446178,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "3397", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "dd0a8935-c03d-4571-aeac-01f250a5a6d5", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7e855ac5-bc4f-4c82-9b79-f7a803f4fa97", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "b91006e7-b208-4d7a-a9d3-47168c093800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349\",\"deletedDate\":1560446233,\"scheduledPurgeDate\":1568222233,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349\",\"attributes\":{\"enabled\":true,\"created\":1560446205,\"updated\":1560446205,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851\",\"deletedDate\":1560446631,\"scheduledPurgeDate\":1568222631,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851\",\"attributes\":{\"enabled\":true,\"created\":1560446603,\"updated\":1560446603,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355\",\"deletedDate\":1560351344,\"scheduledPurgeDate\":1568127344,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355\",\"attributes\":{\"enabled\":true,\"created\":1560351321,\"updated\":1560351321,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1318", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "24fe04ff-870d-412c-93ff-6822e955070e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "57da0760-f038-4393-9fdf-564b16150839", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0bf86895-eae8-4851-accf-a55548302b00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "query": { + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0", + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851\",\"deletedDate\":1560365851,\"scheduledPurgeDate\":1568141851,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851\",\"attributes\":{\"enabled\":true,\"created\":1560365840,\"updated\":1560365840,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970\",\"deletedDate\":1560365845,\"scheduledPurgeDate\":1568141845,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970\",\"attributes\":{\"enabled\":true,\"created\":1560365834,\"updated\":1560365834,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057\",\"deletedDate\":1560834630,\"scheduledPurgeDate\":1568610630,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057\",\"attributes\":{\"enabled\":true,\"created\":1560834554,\"updated\":1560834554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547\",\"deletedDate\":1560834787,\"scheduledPurgeDate\":1568610787,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547\",\"attributes\":{\"enabled\":true,\"created\":1560834689,\"updated\":1560834689,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "1387", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "050d0d1b-0d8a-4609-83c6-e568bdaed59b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "d20acac3-c528-44cc-ae09-10cb694bd58c", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:12 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "6ae518e9-213c-475b-ae5c-398615852e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "3a4ace51-e7ea-48a5-848b-95e8ba9b3b8f", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e877fbae-9aa4-43ab-906f-6b773fd70ae8", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:12 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "f2552f3a-7ab0-4620-9581-7397abba5500", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "a0ad60fc-d15b-4bcf-9c15-9b7307a2aa5d", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ff90dfb0-72b0-4255-abb5-fe1bb88544cd", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:12 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a9161f10-33ec-4d0b-839b-4e3fb4773e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE0\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c861ef0889084e288d429415a7dc501b\",\"attributes\":{\"enabled\":true,\"created\":1565307432,\"updated\":1565307432,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:11 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "2ae6c861-21cc-4c30-8a65-7e5a1af95b32", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "da0faf15-af68-4fee-bb99-2615b6b26962", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "99e43ad9-a1f1-4086-a763-956cf3cb2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE1\"}", + "status": 200, + "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c44cfac2c4ec4bd59b266571b9005741\",\"attributes\":{\"enabled\":true,\"created\":1565307433,\"updated\":1565307433,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "283", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "84462d6f-0b12-4655-9150-78dadb6464eb", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "47284cb0-186c-49b3-a39c-6df444400788", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ad29dddf-aea6-4098-a0fe-1c250bbe5700", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"SECRET_VALUE2\"}", "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578\",\"deletedDate\":1560290242,\"scheduledPurgeDate\":1568066242,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578\",\"attributes\":{\"enabled\":false,\"created\":1560290225,\"updated\":1560290225,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419\",\"deletedDate\":1560347014,\"scheduledPurgeDate\":1568123014,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419\",\"attributes\":{\"enabled\":false,\"exp\":32503680000,\"created\":1560347002,\"updated\":1560347008,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829\",\"deletedDate\":1560355143,\"scheduledPurgeDate\":1568131143,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829\",\"attributes\":{\"enabled\":true,\"created\":1560354677,\"updated\":1560354677,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921\",\"deletedDate\":1560354773,\"scheduledPurgeDate\":1568130773,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921\",\"attributes\":{\"enabled\":true,\"created\":1560354767,\"updated\":1560354767,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164\",\"deletedDate\":1560360558,\"scheduledPurgeDate\":1568136558,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164\",\"attributes\":{\"enabled\":true,\"exp\":32503680000,\"created\":1560360547,\"updated\":1560360547,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNell3TlRReE5EZ3hNRFF4TmpRdlJFWkdOek0wUkRZMU16UTJORUkxTlVFd01rTkJNVFZGUlVZMk5FSkRSa1FoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/454c6f1b5cf64294abaa7247f779d929\",\"attributes\":{\"enabled\":true,\"created\":1565307433,\"updated\":1565307433,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "2083", + "content-length": "283", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:25 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "9b0a51da-7dba-4ec3-ad69-3d833b9dbe2d", + "x-ms-request-id": "85072747-59d8-40fe-922f-44360dd50a78", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNell3TlRReE5EZ3hNRFF4TmpRdlJFWkdOek0wUkRZMU16UTJORUkxTlVFd01rTkJNVFZGUlVZMk5FSkRSa1FoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067\",\"deletedDate\":1560366029,\"scheduledPurgeDate\":1568142029,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067\",\"attributes\":{\"enabled\":true,\"created\":1560365667,\"updated\":1560365667,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928\",\"deletedDate\":1560365763,\"scheduledPurgeDate\":1568141763,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928\",\"attributes\":{\"enabled\":true,\"created\":1560365757,\"updated\":1560365757,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231\",\"deletedDate\":1560365785,\"scheduledPurgeDate\":1568141785,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231\",\"attributes\":{\"enabled\":true,\"created\":1560365780,\"updated\":1560365780,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RZME16a3hNRGcyTlRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1311", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:26 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7bafa375-ee2e-4b5d-9783-cf6fa20bb034", + "x-ms-request-id": "dc304957-c0c0-4c1f-bef0-859db65ddc3d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", - "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RZME16a3hNRGcyTlRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898\",\"deletedDate\":1560365997,\"scheduledPurgeDate\":1568141997,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898\",\"attributes\":{\"enabled\":true,\"created\":1560365986,\"updated\":1560365986,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210\",\"deletedDate\":1560366693,\"scheduledPurgeDate\":1568142693,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210\",\"attributes\":{\"enabled\":true,\"created\":1560366244,\"updated\":1560366244,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621\",\"deletedDate\":1560366339,\"scheduledPurgeDate\":1568142339,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621\",\"attributes\":{\"enabled\":true,\"created\":1560366333,\"updated\":1560366333,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRZek9UQTJNRGswTlRFdk1rSTBNakV3UWtZMU9USkZOREZGUWpnNE5rVXdPVGhFTXpkR09ERkNNakVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "1369", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:26 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "99e43ad9-a1f1-4086-a763-956c08cc2900", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "f6b07b18-2e61-4a0c-ba1b-2557289d1432", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRZek9UQTJNRGswTlRFdk1rSTBNakV3UWtZMU9USkZOREZGUWpnNE5rVXdPVGhFTXpkR09ERkNNakVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342\",\"deletedDate\":1560366661,\"scheduledPurgeDate\":1568142661,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342\",\"attributes\":{\"enabled\":true,\"created\":1560366650,\"updated\":1560366650,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797\",\"deletedDate\":1560367433,\"scheduledPurgeDate\":1568143433,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797\",\"attributes\":{\"enabled\":true,\"created\":1560367428,\"updated\":1560367428,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796\",\"deletedDate\":1560368144,\"scheduledPurgeDate\":1568144144,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796\",\"attributes\":{\"enabled\":true,\"created\":1560367636,\"updated\":1560367636,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180\",\"deletedDate\":1560368181,\"scheduledPurgeDate\":1568144181,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180\",\"attributes\":{\"enabled\":true,\"created\":1560367748,\"updated\":1560367748,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933\",\"deletedDate\":1560370061,\"scheduledPurgeDate\":1568146061,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933\",\"attributes\":{\"enabled\":true,\"created\":1560370056,\"updated\":1560370056,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704\",\"deletedDate\":1560370705,\"scheduledPurgeDate\":1568146705,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704\",\"attributes\":{\"enabled\":true,\"created\":1560370284,\"updated\":1560370284,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701\",\"deletedDate\":1560446082,\"scheduledPurgeDate\":1568222082,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701\",\"attributes\":{\"enabled\":true,\"created\":1560445805,\"updated\":1560445805,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659\",\"deletedDate\":1560446150,\"scheduledPurgeDate\":1568222150,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659\",\"attributes\":{\"enabled\":true,\"created\":1560445997,\"updated\":1560445997,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298\",\"deletedDate\":1560446194,\"scheduledPurgeDate\":1568222194,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298\",\"attributes\":{\"enabled\":true,\"created\":1560446178,\"updated\":1560446178,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349\",\"deletedDate\":1560446233,\"scheduledPurgeDate\":1568222233,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349\",\"attributes\":{\"enabled\":true,\"created\":1560446205,\"updated\":1560446205,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTlRnMU9UazFNRGM0TlRFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/454c6f1b5cf64294abaa7247f779d929\",\"attributes\":{\"enabled\":true,\"created\":1565307433,\"updated\":1565307433,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c44cfac2c4ec4bd59b266571b9005741\",\"attributes\":{\"enabled\":true,\"created\":1565307433,\"updated\":1565307433,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c861ef0889084e288d429415a7dc501b\",\"attributes\":{\"enabled\":true,\"created\":1565307432,\"updated\":1565307432,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "3677", + "content-length": "807", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:26 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:13 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "5b914f12-f162-4d2a-9aeb-0c8e27c57f99", + "x-ms-request-id": "1b372341-c1fe-4e7b-bc9d-a74691dcc372", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/454c6f1b5cf64294abaa7247f779d929", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTlRnMU9UazFNRGM0TlRFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851\",\"deletedDate\":1560446631,\"scheduledPurgeDate\":1568222631,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851\",\"attributes\":{\"enabled\":true,\"created\":1560446603,\"updated\":1560446603,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355\",\"deletedDate\":1560351344,\"scheduledPurgeDate\":1568127344,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355\",\"attributes\":{\"enabled\":true,\"created\":1560351321,\"updated\":1560351321,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851\",\"deletedDate\":1560365851,\"scheduledPurgeDate\":1568141851,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851\",\"attributes\":{\"enabled\":true,\"created\":1560365840,\"updated\":1560365840,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970\",\"deletedDate\":1560365845,\"scheduledPurgeDate\":1568141845,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970\",\"attributes\":{\"enabled\":true,\"created\":1560365834,\"updated\":1560365834,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":\"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTFJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEExT1Rjd0wwWkJOa1V4TkVORk4wUTFSRFJDTWtaQlJrUXdPRVUxTWprek56TTBPRGcwSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ\"}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "1719", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:26 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b62333e5-af5c-4ae0-bfe4-0cf0991a8ac7", + "x-ms-request-id": "b5ad2dd8-9bd9-46ef-98e8-21ab33e59128", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e37deebb-9321-4d66-9ef9-8c4d40e53f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net:443/deletedsecrets", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/454c6f1b5cf64294abaa7247f779d929", "query": { - "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTFJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEExT1Rjd0wwWkJOa1V4TkVORk4wUTFSRFJDTWtaQlJrUXdPRVUxTWprek56TTBPRGcwSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ", "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057\",\"deletedDate\":1560834630,\"scheduledPurgeDate\":1568610630,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057\",\"attributes\":{\"enabled\":true,\"created\":1560834554,\"updated\":1560834554,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547\",\"deletedDate\":1560834787,\"scheduledPurgeDate\":1568610787,\"id\":\"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547\",\"attributes\":{\"enabled\":true,\"created\":1560834689,\"updated\":1560834689,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/454c6f1b5cf64294abaa7247f779d929\",\"attributes\":{\"enabled\":true,\"created\":1565307433,\"updated\":1565307433,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "707", + "content-length": "283", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "46be678b-c5c1-4f14-943a-ed05104768a6", + "x-ms-request-id": "00c59e7d-fa2d-4344-a10c-194ab9b04c75", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c44cfac2c4ec4bd59b266571b9005741", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "b2566eb7-3a02-406c-9e7b-e223f252700b", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "00428666-04c8-4d15-8e53-5e293de5f9b4", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "5eca9d54-8bef-4a6f-94c8-fb3783fbbfee", - "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ecd18f61-94d0-4ee1-92f3-cc3d6ce43d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c44cfac2c4ec4bd59b266571b9005741", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE0\"}", + "requestBody": null, "status": 200, - "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f42978df851477aaf23b03acc5b0b91\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c44cfac2c4ec4bd59b266571b9005741\",\"attributes\":{\"enabled\":true,\"created\":1565307433,\"updated\":1565307433,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "283", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "da1f0cad-f351-455e-a06c-4abe2b6a2d4a", + "x-ms-request-id": "7e0c99d5-f36b-4ec2-8e15-ea62a89031ce", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c861ef0889084e288d429415a7dc501b", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"SECRET_VALUE1\"}", - "status": 200, - "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d18381e6b98147fb883c02ce716e0980\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1a9bd3e6-4088-440d-a437-e2a0a6ecd1af", + "x-ms-request-id": "c578ff47-e840-42e1-bd06-1745d42e7aef", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": "{\"value\":\"SECRET_VALUE2\"}", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/64198666e24f48fabdcad99b648703ce\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "285", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "15d4cdf4-81af-4c73-a7e3-71ff003d5f00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "65ac7c51-7712-4d5d-a9b8-35a7a5f593a2", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c861ef0889084e288d429415a7dc501b", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":[{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f42978df851477aaf23b03acc5b0b91\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/64198666e24f48fabdcad99b648703ce\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}},{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d18381e6b98147fb883c02ce716e0980\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}],\"nextLink\":null}", + "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/c861ef0889084e288d429415a7dc501b\",\"attributes\":{\"enabled\":true,\"created\":1565307432,\"updated\":1565307432,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "813", + "content-length": "283", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "fc36ee9a-c3c9-4c50-a26f-ec81952e37fc", + "x-ms-request-id": "fa82a16e-d05f-4fdd-860c-05d2a1770d22", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f42978df851477aaf23b03acc5b0b91", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":\"SECRET_VALUE0\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f42978df851477aaf23b03acc5b0b91\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:27 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a266b840-3c45-428e-b0e9-951318095b8b", + "x-ms-request-id": "f7398a9f-299e-47fd-92a2-3f280bc5b4b9", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/64198666e24f48fabdcad99b648703ce", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"SECRET_VALUE2\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/64198666e24f48fabdcad99b648703ce\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "285", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:28 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:14 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "2b8c9b58-f579-4d2e-bb22-5dc13f153000", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "beff1e27-6638-46be-bb71-f1678348a922", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d18381e6b98147fb883c02ce716e0980", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":\"SECRET_VALUE1\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/d18381e6b98147fb883c02ce716e0980\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-\",\"deletedDate\":1565307434,\"scheduledPurgeDate\":1573083434,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/454c6f1b5cf64294abaa7247f779d929\",\"attributes\":{\"enabled\":true,\"created\":1565307433,\"updated\":1565307433,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "285", + "content-length": "444", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:15 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "0f14235c-7ad1-43bd-941c-db3385d42112", + "x-ms-request-id": "c6db2d9d-eade-4c28-b695-a37ac225dd76", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-\",\"deletedDate\":1563495928,\"scheduledPurgeDate\":1571271928,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/64198666e24f48fabdcad99b648703ce\",\"attributes\":{\"enabled\":true,\"created\":1563495928,\"updated\":1563495928,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "448", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:15 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "367bf630-185a-41fd-845c-9083846ead8e", + "x-ms-request-id": "1e668f02-4579-413e-8127-79ccdd2d8d21", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:15 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "2b8c9b58-f579-4d2e-bb22-5dc148153000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2364,7 +7124,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -2372,10 +7132,10 @@ "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:28 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:15 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3b2f8fae-98d4-4e02-803d-a07fe65309d4", + "x-ms-request-id": "a58d7182-b1d2-48e7-9608-dd3d79e65511", "cache-control": "no-cache", "expires": "-1" } @@ -2386,25 +7146,47 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:38 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:24 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "24cffcdd-4201-4bec-be04-706fac450f4c", + "x-ms-request-id": "e2ee8796-c6ac-4890-9d8d-e53830eeae81", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ef2c5b05-168a-4679-874a-bf99f3452e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2421,16 +7203,66 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "5aea4548-c876-4b62-b31a-4d97b60f9a0c", + "x-ms-request-id": "34197966-5b38-49aa-a0a8-3b1c7e88128a", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:25:49 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0ab40e3b-3398-467e-ad9f-b553a1fcc99a", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "80726dc0-b42c-497f-99a7-147ad71c2f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -2446,7 +7278,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", @@ -2454,10 +7286,10 @@ "content-length": "28", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "2a7e3e49-a2b7-48f4-b281-8d9feab2b7bf", + "x-ms-request-id": "ddeb2639-4f66-4f0c-8730-b925f2caefa3", "cache-control": "no-cache", "expires": "-1" } diff --git a/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.json b/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.json index 05d8f16367c5..060e45159cdd 100644 --- a/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.json +++ b/sdk/keyvault/keyvault-secrets/recordings/browsers/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.json @@ -1,5 +1,34 @@ { "recordings": [ + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "405e9618-3ccd-44d4-911f-de3b0eca16fb", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, { "method": "POST", "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", @@ -11,12 +40,13 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "date": "Fri, 19 Jul 2019 00:25:48 GMT", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", - "x-ms-request-id": "314d7d78-d0c8-4f67-b667-3d9239f80001", + "x-ms-request-id": "0b113d46-7dc2-4689-a3b5-267877382900", "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -28,22 +58,22 @@ }, "requestBody": "{\"value\":\"RSA\"}", "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/7aac188cb6124efa8068a54d162d8d3f\",\"attributes\":{\"enabled\":true,\"created\":1563495949,\"updated\":1563495949,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/dbb576053fae4c8c8175c2df41ef9c83\",\"attributes\":{\"enabled\":true,\"created\":1565307446,\"updated\":1565307446,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "268", + "content-length": "269", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b72fc024-5297-4b6c-925a-c99e22a10f7d", + "x-ms-request-id": "aa653aa2-c412-4786-a249-38cd58a59ec7", "cache-control": "no-cache", "expires": "-1" } @@ -54,52 +84,74 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-\",\"deletedDate\":1563495949,\"scheduledPurgeDate\":1571271949,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/7aac188cb6124efa8068a54d162d8d3f\",\"attributes\":{\"enabled\":true,\"created\":1563495949,\"updated\":1563495949,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "434", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:25 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "eca3cec0-2092-49f3-8900-3c54fe10a13d", + "x-ms-request-id": "de08c081-0395-40a4-bc54-525a5528ad05", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:26 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "99e43ad9-a1f1-4086-a763-956cb4cd2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-canrecoveradeletedsecret-\"}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-\",\"deletedDate\":1565307446,\"scheduledPurgeDate\":1573083446,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/dbb576053fae4c8c8175c2df41ef9c83\",\"attributes\":{\"enabled\":true,\"created\":1565307446,\"updated\":1565307446,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "130", + "content-length": "436", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:49 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:26 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "88261275-75e5-4419-b2d1-677860ef3441", + "x-ms-request-id": "6b669975-3722-40ce-a31c-7afcd90e4a44", "cache-control": "no-cache", "expires": "-1" } @@ -110,531 +162,599 @@ "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-\",\"deletedDate\":1563495949,\"scheduledPurgeDate\":1571271949,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/7aac188cb6124efa8068a54d162d8d3f\",\"attributes\":{\"enabled\":true,\"created\":1563495949,\"updated\":1563495949,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "434", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:59 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:26 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "68dd6d71-594b-4259-87aa-502e6c7b4cc1", + "x-ms-request-id": "edb03624-95f1-437b-954b-20a216493783", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-/recover", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/7aac188cb6124efa8068a54d162d8d3f\",\"attributes\":{\"enabled\":true,\"created\":1563495949,\"updated\":1563495949,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "254", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:25:59 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:26 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0c0dc299-8c68-465a-97fd-3921ab0d3900", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "75fb8be5-6b8b-4b72-8edc-4e21f7b2e796", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-canrecoveradeletedsecret-\"}}", + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-canrecoveradeletedsecret-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "122", + "content-length": "131", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:00 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:26 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ef46098f-6949-45b9-a7e6-0285893a8364", + "x-ms-request-id": "20c54a52-ef40-4fc8-a870-6006acf4e6cd", "cache-control": "no-cache", "expires": "-1" } }, { "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/7aac188cb6124efa8068a54d162d8d3f\",\"attributes\":{\"enabled\":true,\"created\":1563495949,\"updated\":1563495949,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "268", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:10 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:36 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b9368901-5ae1-4955-8721-e37d8b467d0c", + "x-ms-request-id": "413c6cab-098d-4064-868d-7c5baadce2a4", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-\",\"deletedDate\":1563495970,\"scheduledPurgeDate\":1571271970,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/7aac188cb6124efa8068a54d162d8d3f\",\"attributes\":{\"enabled\":true,\"created\":1563495949,\"updated\":1563495949,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "434", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:10 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:36 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8b0c7270-7ddd-4fc3-9667-3fa6a4102d00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "0605dd21-2909-4b90-8355-838bdc9ccfa9", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", + "method": "GET", "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Deleted Secret not found: CRUDSecretName-canrecoveradeletedsecret-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "131", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:10 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:37 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "55eef921-285f-4e82-83bf-a653ba8ce7c0", + "x-ms-request-id": "1d6414a8-8850-4c1f-bd3b-e9fabba01b5a", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", + "method": "GET", "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:20 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:46 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "280f8493-b26f-437e-b045-dcce4c8ea4ef", + "x-ms-request-id": "ffbab0de-2034-436b-ad6d-2999e91a8306", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", - "query": { - "api-version": "7.0" - }, - "requestBody": null, - "status": 204, - "response": "", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", "responseHeaders": { "pragma": "no-cache", - "strict-transport-security": "max-age=31536000;includeSubDomains", + "strict-transport-security": "max-age=31536000; includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", - "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", - "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "ac6a5a17-d866-4ad7-868e-841181fb386a", - "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:26:31 GMT", - "cache-control": "no-cache", + "date": "Thu, 08 Aug 2019 23:37:46 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7d4ffd51-7d95-4f50-a01a-1404774b2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecretnonexisting-/recover", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-canrecoveradeletedsecretnonexisting-\"}}", + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-\",\"deletedDate\":1565307446,\"scheduledPurgeDate\":1573083446,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/dbb576053fae4c8c8175c2df41ef9c83\",\"attributes\":{\"enabled\":true,\"created\":1565307446,\"updated\":1565307446,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "133", + "content-length": "436", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "462406cf-5b44-4add-9b36-c259ebe2eb09", + "x-ms-request-id": "8bf939a7-2f2a-4670-ae69-596e4c015a12", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-/recover", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/5933b43d9ab34ff6bc8702dfaf865f38\",\"attributes\":{\"enabled\":true,\"created\":1563495991,\"updated\":1563495991,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "260", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "83807a04-96cd-4a27-b317-2a7945d43fd9", + "x-ms-request-id": "1011050f-67e2-47af-afc9-32174cedc5fe", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/backup", - "query": { - "api-version": "7.0" - }, - "requestBody": null, + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", "status": 200, - "response": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLklzNXpXX0ExNS1RUnY0dVdEQTJnOVdSN0pSU21YX0NDYUFiaTE5MS1iNkNsS3RQSUdtZ2V1bk9BUlItNlBUNC15cUtGOW5YTTlsSThmLVhGSDBtWGwxRE5xZlk0R3M3NUxXbmpuVW9LTWtnWldFYV9NTml3ZHlVbkR6OUExRkV2dHIweGROTFVBR1o3bGFxYllqY2xLaHpyQTJyU1pobXJBLU4tOHVfZ1Rid3RBdUlYLUJJdk5KR2hyTk9yNWprWVV3dXBFMnNHUnFFdl91bVhoTHNuc1RkMnBNdVlESGFKZzB1UVNPcXd5SnUzZjBfcUtLbzVpXzA5OXM2U3lsWFJ4UURhN3pTcHM3RGIzZ3ZDTG93ZzF3VTJXOU40cWE5TDhGSEhYcHJjejNOczJxbEhFSmZOcmpRUnBIRldMRlVtWFItODNkWldGS3g2anRfc2hSd2NiZy4waC04eDg1djRIV0lwdXowSDdmME13LlZLUEh3MzZHYlNfMGJ6Vi04aklFUG1lR0RiT3FHYVBrQ0EtRm9TTHNGR3lmZEZ0WGxJay1uNzU2T1B6R05qbzQtLWdBUWgxdXdpeWxmZWVGZHg0RmpwRmRQcWwyeG15bDVQcW5rMHUwSl80YUxkR0M3S0QzZXd2b0cwaEdNallDUTNKck9NZW1aTmhmUEhUTXNpMkZNV1dhOXpVX0RZbmY4bFNWcllGcFVqby1XWUx3bDk3bGZqZTlMRUdyM3o1Q090c3Bwa3F2bjJaQnZSWUFESExkX2tGRXNJS1c5V2FPcEJpRnVTcjJwaGZnZlowMmswUjJLTzNLRkl1VlVwWEkxVGVkcWpMSi1UZURXaTRrSUdBSGo1c1RPemk4eXAxeTA5eWtyU3g0clRNUm1XOHpWRGw4WnlHeXN0cWxJQVZOa3JCcGdNNGc3MDk1WmdISjRPRXU5cERQQ2JBWGY3ZjRTbW1SOHJoaDYzZ1VXQlc4MThJWkxlRDN2VjhwdjFvUkxQNkZvelBHMjBWUGdkbmRBc0FlWUZZWmJGQVpXcHRBU3EtUkRWM092TGFkRFlfZ0pFR3d2WXNrbXJVdzBPb2tsUjg4Z1V4OTdLbkx5bk9rSlR4anJyWnJmZ0lUNDZCM2dFSHFHQmhsOVU0RTFDam4zaFFYdk14NlphYXZmczB0N3d5OUd0Wm9FLVM3SFVIdHFSakxQdUlWa1NjSVdWbjg1TE05Y1NNZmZYOFRtenpGYTNfaUw2SnhjRVhJMFRKVFZVZmF0NXZoVi1ZbVl5emFVc1NCc3RuZUdLZ3dmU3l4V0x3M0tCbzlOclljYjdZOXhrb3dDNTZVSTdxUE1RdGNkOHR1RTZZVG5ObFlMRUZ0emN5eUlmdjNhNFNqNjFqOVZ2ZzR5RG80cEd1SGFkT0RfQ3VfQmRTaFl2X0Rxc1pER0FELUhYZ05vaGRSOHlxZFlyVnR5SXhseU5abVc0dlBpclRmc1hqNk5Ca3BHeUVxNzBTWEh3T0NjUktOQlVURkhLcVF4a0tPQzFOY0JCWGZTRWsyUFAwbVliRkNCdDJLRlpTRmRIQi1HNGVGZTJhMHJsd0FtYUlsRnFiVjFlaWhxZjFDNjhXQnJnNE5rVlN3cnc3T1F4dU8yaXBnalR6MHdjM0FuWUU0TkZGTTM1NmxCSEVHMjhiMU12dkdVcHdUXy1vNlpTM09WcVMxRU05dzc2TEo4SnlNQUpNMU00RWF0QW1WQkE3WGZpYy1PaHZvVzhyTmNDMWRFZngwdDVLcFFVLTlEQ04wZHRXRlhpU0s3c3ZXQVU4VG1tUUE0STFiaFktdFpJUm1oS3JjR0hzSXRFVmp5UkhaZWh3YThwbGkwSDhqbUpmQk8zeG5uRHZzOWdmdzZwUUF0UGQtRFNzZHRUc183c213RzdHNnpMN2YyeC15cVp1dEdtMGVDSE1XNFhJTjlMNzBfdW10QnU3ZWYyQ0w0T2lTd3kxM2taN1NPX3REWkJfMzd5d2dweUxwZWltb3cwVWppcW1lUGtGaDJ6d3BzQnFvVlU2ZllMcTAza0J4VGs4QlFYbUw0R1ktVXE0OVJPcjFlSU5HaG5RQlFNNnU0a1h2cU1Gd1huNmdnTHFMLTc3VHd0RFlqSWZTQ2RHZW9lWWxMRlR6YV9idFh0cTZaTWVNVDhRVnhtZWVDczdMY2hzeXJUVFFyVDVOZm9vRWJ1WFBtaDhwVzVnRlpOcDdTQk85b3kzZlhpbzctS0xyOEg2WFdkUlhZMFduWEJRSHFhRnRBNHRqdlVUMVZEWXJGSEk5TEhXYldTZzJTRlA0UXVhbzBLZF9Rd2haSlM0b1MxTWRPdDdPQktPcXlQNUlKNW45UGc2SFRxR05vX0FrQUFJQWh0a2tOMTFaRVprU1pZYW80NWdiZGVxdWt4bWc4LWVoOU1aMkVDX0VidzFkT25zcVpGYnJtQ3FNRHJRWlcxOTJmRE1MckduZy1JOXk3S2lhaUlZdVlrY1RBQ0RjM1JILVBvZ01tWHBaelBIY3dZXzd2TXNqcVdpZlJXNGI5OXByblNSOTlIZDl6QkdhOUJWdmxEX0pucHlTVWxuLTI2TjU4ajNUd0JLLUZFZnRralRmNU5yQ1ZsZ2E2dzJvdFUtcTJxYXEwRnEtSjNOSllDLVBKTEhoelVrVjZTdEVCa19uVm56LTE5VHlsemM4dzdYZ0dtSlFfM0tJNFNuZUhWaVpOSFZPaG45OVNxYzdRRTRNZFVvejFlY0Fld2dNVjNHalM2UHJaTEpJQlFFT1hJUmFnVGdmbzFfckh3VjgyU09WSTZNOWNMLUg1OG80bndreGk2eTBZQTliSWtsR1lsUnVlVUdzQlNpS1ZmYk9nT0ROX25wTGlHYlpQb2UtSHVVbmctLWgyVEFpaWdNVXZaRlltTWNJd1YyVldHNmhnLVViU0dIN3FMb20xMUFYTDhxcVJOU1RncWJwZ19VdmMwakRiSTlvUzJGamgxWmpUaHlXQno5Um5aTVFFSE1lVVhzd3ByYnNSX0xaNXphWHRqQ0JQV1psTE9fUF9tNExzMGpWRkdWQmNTeEhVUU1vQm96YzNqckhQSHBEX2w2cVp3LVlMb0NyeVlERDZkaVViUTNSWU0xNm1FZXlmV1VZQ2F1YmVqdm9tb2ZkOVNLU2JPcllmOGtaOXVhY1hiTGYyeURnZWNuWVpSQ0UyR0V2SkhXdE9LbzJ4NE5vVmNQNjJnM0UxSW9HdkkybTM1TkN3dHJQMFVKbVJBOGl1ejFfbkpUSUlkNWRoRlg4VFU0b0dqVDdjNTkwQXhLM0lOM18zNUVHNmdLLWx5clV1LUh1UXlIY3VVUXBZRHZqRW96NTdTdEJTVVhyaVFWTUlDLXdRc0praElIeWUwNHo1Qk80LW4xMDF6eXFhVF9MVmJ5emFNbUdaMmg5ZkRoZG9feDJvRnhUWFoxb0dtT0pUV3VxdGdkLTJKS19ZZmd4OExpcHlBQ09lcVVNYWZxZF9XVmhOSkFzRk5Xc09WNkNIeG96X1pJMFB0S0Vndjh0R2hzbFFsLUZkWTIxMzVKcTJicmZIc1g1LXBkV1N6NkRDTmNsR0w1cVA0eXlBaUl3NHJOelRzZnpzYTBUcVpWM0UwOVpBZ3hnOGRxTFQ2STY0dm5xbGpIUEJVVHp0WFBoblhxTU1ROHlzMVI2dExiVV9INWx0UWhHWUtVdFZoN0VzaHJ0YTFYT0k0dVFhcktjaWJpVmJiSGlidV9ZN0d3bVdEVFNqX2hCcjFwNDF5bURucVpNZV95S0J5bG9LeUFzTGhMQ2NDdW5oaFc5blpqRGw0VWpYaVVBVzdsNzZSaEQtV0lqUWpKc3I3R0lwZkdiT0UyTE5HalpUaTI3TXZSQzFrT0s0MXNrZ0hlVHBiWV9Hcmx3UUdQaGlIZ0ZfejgzWnJGeGFpLW5iRllwazZoVzN1ZzBZa01tRG9OeUo5RHZKbG1xWmlBT3JyZERHbkhfUWpmVE4xcTN0VlJnNnRFNG5YN0ttanc5bEdLWU1MWUtBNGdVTjZrckF4UzdOV1ZURkRyWmhWNjYyVU9RbkQzRnRNZkR4aUNZajRoNTA5Q2pEVlJFRjhxczlzaERhcjcxOTc4ZTVDM2N1a0FGakZuelNVOS12ZkIzS1I3TnByYnJJbnB3ZU5qd2xrVzVkaDNfbXB5QnVvRzVYT1RZN1FYV1J4RGpOVDlvRWJnVWwzVWZYTlhUY0RldS03aVRBUTNxV1dBUkczYTlERktCUzdNd1EtLU8zb2Q2eExVaUE3N2pHQnBERjhTTklRV3JzWXB1dm5zRnNVeTFrVDZZa2Y5aFhhb3BGY29KWEpqbW1ia0dlYnpnNlRrYmU2X1hJR2pqNDhwUFkzeU9jSFRhODhtSXdCQVFsalBGT0tfRXZaYW5yOGlxSW90OUpLaElSQXRQanZhbVFDZ1Z2bVN2eFMwQklXdXNfckFTdTBGN3JWYlVtRmxxenFFZDZqV3VrMDhuS2dua2tRVTA2WGJzMnlGWS0td1NCMDBodlVQRmF1QjY3YURBQnk1ZTk1bzNYdlRtcDBqRmZSNEgwTDhtNjgxRmlCNnFRZVBlaFFyUldwMHlTV0UxaExDelQza2x0akdpU3NBVkIwWFliRnhrTVJua1VBT1pYQy1NT1FXVG9lYUp4VmZaSHloWElUbEptTXY4c2hHSTdtV1ZfTzBrRUdmOS1IVFpkbjE4b1hkUlN4ODI0cmNxLW1xQlp1ZlVUWWtCc2labzdSX01BM3dIMHM4Z1NfSUJPa3lpX2tqajNTMTVfU3h4aVFRR2NYNG13TzZQN0lHem9BQTd4eTFqT2VRSlVsZkdoQjZYeFhjaW9pb295cE5kVkMtZGJrVU5TbGRPbzRPSEl3bzNYUXlPalNJLVo2YkpoaXZISEpIWTdMOUhUMU40elVZN0ZQOGJhZkpKdVZWd3pGaTMzd3BRWnUwc05vb1JTbjEwdFJlbUZwUEc1SWJtT2FmRGpfbjZyUDk4MkZuNnYzZTA3c09PZEZHZ2ttZEl2QUljOHh3cWJiekx4VDY3WmlWTm40YkNkNmJFMkVEYU9TWkZqS0UwQ3RmQ293WEQ2d3BkX3o3TFVNdUt4MUMzeGJVY3ZhV21QaXFlVFpoOTE0NTdLelFUMGhpRzBNeHFQZHVpSEtmSmdvUXhJMFIzazNNV0VxMm1Hc1llZTBnNFlaX0xjMHVDN3E5cEdta3VwU3N5Wl9Jb0hnRGc5S1V2UEF2RFNZeU5sN1ZIYm5nZkUtTGFOaU1vWkc0WC1rLTRuUHpQRndTS240RktIQ2hPbmc0dU9ZV3lPVGhRY2Fpc0w0eGR3NkszSW80VlJoM2Z1RldubU44dUtCajhLaWVYNkdfdFVSTUVLQnBaOG9VRmFsOGdSTWhvTGRHdjVVNHpKS195Tkx4UE1meWF4dTlWMEtFR0dfNnMxUmpnbDJRdTBCZHh1c0ZEeEV4Y21QTm85RVZVWFpGYjJ2QU8tam1aRDdxVEp6Q3hEeUpsMC1RZUx5RVhZSFp3OWoyak9pVFZBVmZSdTBFT3BlRTNUTkpWZV9FaWE5elQ1eHVmZ3VhQ1MyLUhyTjQzcVFhOGtJVUQ1RkhEUXY5Mjc0X09FNGY0YjFNa0oxbmlLWm92dzFwWUNIQndVdmZ4V0pkUERXd0lfbXpQVklJWVRfbTIxeXVLN2tyVEZaNnhjQ2tITEhUWWwtNGNMNXJYcU5Db0tLeEtqdVRiTEExZGZFcEJtai1WSloyRkNRTTVOdHlMZVo3U0N5c2xFYUQxdTNwOTNURXBQWW5lVFFqNmVHUFZybEZYaFU4aHpnbHc3d0ZrbHJLWTl3MEY2RXVwU0U1dXM0bmMwZGdDeHpwZm1nWUw3ZDE1U3d4SEhJWk5LTlVZX3gxM29SY1hGTEdieEltYkxpVVM3SENZZEVWUEZJSmh1N1V6amtYaXJOZ3U0eUxzOTZEazY3YVZTQ0h5RGZYRzR6azV4RGVZWmRGU3djdW5icjdxbHd6UHNqWnQwYWZyajZKMmJNeGJNcXplYVVKR2w2NVFYek54aFoxVEt6Y0IwVFRpY3JrT2ppSkh6MlUybEZJb09LSW96WWg1ZmFpcS53TExkR1BONEpQUUxfQ2F0NlRjNjRR\"}", + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", "responseHeaders": { - "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "x-aspnet-version": "4.0.30319", - "x-powered-by": "ASP.NET", - "status": "200", - "x-ms-keyvault-region": "westus", - "content-length": "6372", "pragma": "no-cache", - "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:31 GMT", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:46 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "eb831d5a-ee81-4af5-ba4b-93553ae52e00", + "cache-control": "no-cache, no-store", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ddf8e96e-e071-467e-959a-d40cf04e5c80", - "cache-control": "no-cache", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-/recover", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-\",\"deletedDate\":1563495991,\"scheduledPurgeDate\":1571271991,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/5933b43d9ab34ff6bc8702dfaf865f38\",\"attributes\":{\"enabled\":true,\"created\":1563495991,\"updated\":1563495991,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/dbb576053fae4c8c8175c2df41ef9c83\",\"attributes\":{\"enabled\":true,\"created\":1565307446,\"updated\":1565307446,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "418", + "content-length": "255", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "1ce5705f-8f33-4c04-833a-c86d0696fa55", + "x-ms-request-id": "7aaa0419-01d6-4512-a49f-0de175c1bafa", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:31 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "cea9128f-0bad-4e15-99c7-6a345e117b0f", + "x-ms-request-id": "f6f30c1e-2896-4ae7-8fb4-0c7e778a6f13", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:47 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "20303088-d00e-4d34-bb61-483bb11c3a00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-canrecoveradeletedsecret-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "123", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:41 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:47 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "db5426c0-7547-45c7-a97f-220e1e12d978", + "x-ms-request-id": "aa2b0df4-49e9-4066-9c63-8e74cb6c35eb", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "3d567e8c-d25c-4aac-a55e-3b2c152b35a8", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:26:51 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:57 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f53ac0e5-526d-4811-a0e2-f405d4fa954d", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecretnonexisting-/backup", - "query": { + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:58 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4fe84694-1220-4b6a-ab41-857952662900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/", + "query": { "api-version": "7.0" }, "requestBody": null, - "status": 404, - "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-canbackupasecretnonexisting-\"}}", + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/dbb576053fae4c8c8175c2df41ef9c83\",\"attributes\":{\"enabled\":true,\"created\":1565307446,\"updated\":1565307446,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "404", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "125", + "content-length": "269", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:57 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "ebb5f9a5-a99d-4779-9d11-244308076c96", + "x-ms-request-id": "0b2e9fc8-e74f-4db8-bfec-442144d7caf3", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "PUT", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"RSA\"}", - "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/b964056ececb46da9992ce8127a28781\",\"attributes\":{\"enabled\":true,\"created\":1563496012,\"updated\":1563496012,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "261", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:57 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "71ba82cd-08d9-4a9f-94f2-ad846ad5a5fd", + "x-ms-request-id": "c4482e37-5fa1-4938-b058-801e4e2d1a72", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/backup", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:58 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "3a51de51-d302-4553-b2fd-e7618dba6300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, "requestBody": null, "status": 200, - "response": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlRZZXA1UW9yZzJEcTFlMDhaeFp2VE9IV2Rrb1RUaEFQOGE5T3VnVHV1UVR1R19GY0tGRkl4djdoQUl6c2pPUU4wOXp3NUowanp2Y2tZUHdIcV9ORTM5VDhfdXpwSEhFRHpvQy1OakJXWEtrdnYxMUhoalBYMlJ1RW9nY3JBOWl5bnV6d05LZTFxRHM5X05KbDcwODZvY3lNTHdyTE9PMUdUVUxOcGJPN2NLbWFGeVJjOVVDSWVrS2xDbXRRYlpkWWNTR0JTNFI4NlNNa0M3UUZpT0hoVWlJcC1QVUVtaGE1ZkxXN0NkeC1VWEFHblRyUmQzV2VUaTF2b3VZZkMwWU90TDBQbzhjLV85X2RPYjFxTEZYdG9ZTldEa2t5ZDNsMU9CZjZBdzM1b1pwQXlxdFN3MFJzV0xyQ0x6UzhNeXFYdkl6YmpMYlVJdlJBa0w4bXR0eThMQS53eWhuTkx6QkgxcU5NVmxJTjJtd05BLmx2NTRLcUhhMndBSUtQWnZnWTFwbTE3SFBuYXE2c29INTQtUDYwUU0tb2xYc3VTd3JQVnBfdWgxd2R1b0xhVUVNbDFrRHJjdEVQTDA3SlA0aklUTG9sc0tseFRnTTdyWGMzMHZOTXFsRFUtMVNpVWlla0E4bTIzZk05Ri1QNGdzbVd2NmVPZmJGUFM5YWlHZFljMzE3a1l2TU1OZ1dXcl8yV3NJUkVxdkRCenZRUDRHYVVUdWZTTm5ONGFlNVBNRWJjTmM1LVNvVGNhMUs0dDltNVBRSWpVenVvRE9JWk51SHk0QUQ3NDJUZ0tmTlctZVhKdTBuNGlURlR5UVBIOW9uZWtWTFFJRVd6YTF3QlpLeVhnMEpfaXRqNTAxanFzY0R0OVNDMmVBTWdxVWVkMWNOQlZBQ0hXY1NGam9VTHBoTmhqb3g0VU1jWDJjejhMN1YtUGNjSGpJRjRYTTRRaW9EZGdaWlNKMGxFRDlGQ01wQkdLZUxQQUFTYWpxTGtZblUzSjQ2aV96OWFpanBZQmJCUFVTLXdPSnJlWmhVYThvMlVLMWp5WG91ZkFTUXpndWwzd2dkMGxpNUYyd1Z5aXFRMzVDLWZBY0VrQUN3WVRMVG9vemtZYm5qVndKR2l1NUpXcTJES2FNM0tBVG5KSG1JR2k4LXBrbjQyMXU5Q2NGTzU0bzdfMERhRzhyODFtckJzc0gyVEQtMDZwQUU0YTJVSzh2Qk1Hb1JzZmRnWFZSc19BbGlDQTBUSXYzbE9Ib09SVTlIZjREcndoMVhhWmJPNG5IbXo1Tk5GS3FyYkdkY2FmV0VmZ2s4MHZFSkRMN3BnTGR3c3dyNkFTV1NpSXBheU11eFBFUjFidFJ6UFFZaDAzcU02VGMxSlRkanVKWnB6SGt0NkVPcUx0R2RFWXVQaU1OTmJBQ3lYaWxiX09OejlfTHpKQUJOYXhpblZ4UUVCR3MzNXQtcWpqdnJyV2NSZ0R5Ym53Z2xKcURpeVVmNlFCWGo5dV9IMFV0NjREUjEyTzhJUGlJVGR6VHU4VTFfYk14VDNhRm1sT3UxTFd4dGRDdnVXeEk4ZE1yQ3NfS0RhMlgwX2xMRFZ5amg5Sy1KUXBxTzZvNFdaUXZsclJQSEFNR1ZaVmJOVUlVNVZPdi1oclJsa0gxcDVMRzB6b0FBWVRFdU5wazR1Q1dzVWdLTV8ycF9wWWJEZkdwU2t3a01TSkx1Znp3ZnVNMXZfSnJpZF9KYy1zWE5zd1lVSXJkOGVYZDFIbWlvSW1tNjJxV0FjSDJTeUdSWlVjRl9EQkNXMUJUd3d6RE04M2d4TkRudERYc3M2VUhmQ09hVF9kcW1hbkt1RjZyS1lkUGNiREZBOXZHdTI5YW1falJIVjY0N0xyVHl1SHZ1c3RJRkJ1SnFnWFRERnh6V0lGMHBhYXRwcEZDbS1mSVNHM3BPTzVfY19fWkRLQnFGN0FrWEVEMVhlNHY1a3Vmel95cEk5Z1MzQWg1SVFFX3dIWHZZMFFNeGtJUlk0eWpOekdSTlBzakV5VXkxODk1QW1FZjliMHp4NjNYQ3NJaEdpU1FlSkZSZHBVTWtPTDVnaXJ5dWlXejlVN3EyWk81TGY5NmcwYm84ZUJaeW9wREh0X0NTSHhLYWozSWt5U3Q4Qng4d1pKdHpWTmgwOU9EWW43Zi1COWQ1eVMwX2oyWlVLcmRraVVDbDduVEpXY01CSVhaV3EyOUd1bDNaRE5vY04yc19YYU5jMnpjYXBTYnZXT2U1Q1FIV3ZBbnFuNFFuVzBWRTJDWldsZkM4eVF6VkZ4NVBQN1pab0huOUNZbjFfbXdaSWRLVEtUSm5oWmtUSmVQWFl4U1cyaGEwS3NpWmtrWWdSRF84YUNkU2ZsOWFRYW5mVkJxNXpuV295THNIYlJ2QndWSVVxRkxVNDNiNW0xNnpHTW1QWWJXZlZjMVpEWEo5WHpCLWRpajJRV3NfcnBtZVZJdVRaRnZLalhsNkNXdGIwUW1jdlBNUnhBcjVUbnRwaHU5MURUeTRwNEVjMHI5cEdjQlo2d21PRDJLV3pTd3M5WU0wTk1VLW1VbWFKX0ZFNzF0Y1htblpSQ0taa01SLWpzQXB5dXhuX3pVMzlZV1Q3S3MtODlNcEVCRzRiN3ZKbGhOampFMDRGUF9hVV92OW51RC0tS25LbVBVYURselRrSFdPQnFILVRhQ1hRaDRQZ1JObVNIVkJJTEU0YVNSRzgwWEw0ejhZTlhNWklEaDEtcHpaSDJCenk4ZHFieUQwZVVXcFFWVVFiUjVqYVRzMExkeEhFREk1WjRzaEpmNXNsRm1IZ2I0ZmVxMkg5T1VDOWRrbjlLQktvaUx0MjlfWmNlSThoRTFURjJuZk9QY1FSR1gzb29KOVFzY1dVejVtWmtMbEg5dFFNSGczN0FBMG5iSmFSUnBVRFRZNjBrUjRmOG0tMDVTYThVZkFYQXRJRmc3NXpCXzMzbnZtMTlaYVRscHVTeHlIS1FkX3lER0NvclExOTlDTm9nYVczRjAtMGd6UnNzaFk5WEQzWWFYdTR3UVFqMHpXaVFRcEFNU0c3NHlpVEprS040OUZEaDZLdFFrM1ZzOGQ0bW9xa3lZY2lIYVF1dWM4b09NTm5ra1kzR1pObGtXU2gzYkwwdHYzN3M1aHlXc0l4Tm95d1U4R0ZTYlRvUUlUaUZCRVNjS2xOejNzdEFYZ0FMVm00U3k3eENuMms3Q3dWbVFjUlAtVzFYT2UxMWVNSFozbzNuNlZrQzc5dU5kekhKaVlqOXZuOFhuTmo4cERJZ2RYUzduMU0tUER6OVdxV2tva2dtaW1ZbUpRTlhJVm12S2Y1LXpNdlZFako4ODNnVldVWktKWkRUemhuZzFXYzhPTktqS3o2c2ZubVJ2a0hsYXBDVmpnUkFqTFlwejk0eXZXQ3pOMDl6NTdUajRYSDdlV3hUVWhEWmxReDJkZUlNRGNLZ1NBeEVEemZId2ZqQ0hwQ19IVXJNNWx2WEVkVkZQTGl0cGc5b3FkSTdaemNvLUJnTUV1MHdyMG5zT1VNQ0F0c1Zrdmt5QkFRaUpPTzVaN2o1cFBFcG43Q3ZVazJJck40NnA1RmdtV1EzWmhvY294WU9lRm5KaDMwNnVYV3M1U1FadzY2ZDZaNlVoWnNJSE0zemR5TkZna2stVTdIbjJjdXduNUk4eXBpLWV5QmZBQ1VkcGtSZ2tSd0oyZVNVZzRKYWs1LWt0TENSd0pNZERTbGxyWkJEUzJjYTJxamlMZUdGcW05Q0tFaHU3YldQYm1QaWhFMUZhcFYzU3Y1UWpERURWUW1iNDJiTzhuTHpzY2RabzdPZmZ6dFFtS3c2THNLU1E2Z3FKU1hyMi1UejZrTUhaYmZrMExsNlQ2bEZfNVJyYkdjUmgxN1h1QzNQSm9NdVlwcE9nQTJYb3ZVM2tvTktSVHV5cF90OGFuV0dJdnR4YnBnUXVqLWYyWERTZTlXMW1idGdrZ2VGZlcyd1ZJTTdJakN4VXBuMktDYndfNEQteng1U19teDg1bUlCVWs5bmZPZ3ZVY2xVVmRWT2RBZGRmOEJHSFVSdk9BaThRNFdRUXJPWkFXazM2TnZJZ2x3U1JRWmpJQlRiZkJ2eVdnZGtEUWN4WXRpUlpEUGFuUnFsekpzVk5BTVR5XzliTHVMVnZjNFVCNDEwQ0xjSlFqUlQxZ0dLbUx2UjBHenZhOE00c1UyamNOMWhOaWNlaFY1bF9JeFpyUFpQRTBHYlRpUnhjNzR5SHYtZjRobmxGWjJTX0ctdFFKS3BUd05Yc2tMaUtIM1R1VkJaQ2ZmV1ZBeGJfZW5LR0szczZ0LTZvYlVmR2lsRkROcjhMRGItNUExQ01uT1h5ejhreVpuVTY5QXRWdXhoeU50Z3lKdlF0MElha3VYQnI0NHRpOUtLc2hIeFhCU21QUnBqS3RuUGhhcDkxWkFZRFgxb0M3SV83dnhCN0x0MTlqLVpycmlDbVYxenNSMVRiT21wZTd6MjNmRGFYd0ZOUnZZSzVlY1pscXRqWW1WMC1oczdmZS1DOW1NenFzeXhFTjRiVDRod2JxQUhJVU1XWG5hdnpLajg5eGZEbFQyY2VSZ3V5RHRETVVtLUdQcnNOZGVhbjZJSE03R1ktdF91VFVndktlMFowby1tY3pQbDZ5bDNldXRzMFU5b3J5VjZvd1JJTTFrUVNua0o3Z25nNnJlcE5HREtPYVgyZXBCMld4SkpMcm1rVDdJRWZ0Z1lXWklHTEg1alZESF9EZkRZbl9Qa19RbkN6VVhLcFNrR0lDU1dnbjgxblYwcU5yNW54OThCNkJ5RjdscFNldGVFTWZDcWFacXdSeTF0WWp5UVI3ZHk5eWJQVzhnM19nN3Aza0sxekoyWDNlN3ZZZTZ5NjNSMnBxZHlqbl9pdU1aS1E0TkJ3cVUxOVlfdWx0Y1c0aWp6dHBEMVBFTVd5Zy1lODFmWmdvNEIwU2V3alNBRUdqLW9mZkNvTjAwSmpLR29tNXV1QThmWFRvYi1PeVd6dFVndXZNUXZqWDdIdU9Ud0VESnhxaUg0WVlQdEtxY0hEa3drSlM1ZkxLSWVIdXRtU2R3eG1QV0NUQkoycVdfWFVvNnFJUFFSbVBHMkk5VzdlMmtkaVVJTXR2OU9OV2hHZVJZTnpIZWlyQ19oMHFnSmhsd2I0UWZ5SFMxa3R0SE5kQ25BanFhVWV5YmNBdXpnYXh3T2UxaVMtb0Z1blVOOTFDS0JNaENDQndEV1pnWVkyVDdaNVI3bWx1d0R6OVBqODJBd3BJM2NWOFFEM2p5MXZBZ2cwSk1FMXdIR3ZiNjFZNm1uNDZjeUMzZXJXSmVtUTlVVXREM2R4T25RUXlCNHNJcXRpRzZya2lzdW1DLXBkUU51dll1U1otcEQyeElVQ1JiRDBrNHpQM1hESTYtWGpqYzRzLWZLdkV3WGtqQTRvMXA4b1BOUUwyNXJMWDk5WVJ3MW5VWHBacjVZSGR4b1l3NzFlX04wTmpXVXBvSVVfT2JoZEtSWVQyQVpabUdyeDdBeWlPVy1xZlZSXzRyLVpNbGZzaTczMFB3Tkp0VlZiUVdiOFlSNjNzdkZQSkpISHJ0Tmpob3llZ1J2UnNBX09nMWR3S01YaGVsQ3pna3JRZnQ3TW9mNUFubVByRjAxZVppQkhHbEI1LXBkbXZwQmtPck81SFJUSGtEV2J4el9qZnJObHFlX1BFYkJzNFo2VklUaW9XUExoRUF4RGtIejBiNEF3end0RDNKY0tneGNVTHlvOEY1Ym9sdzd2WVptdnVZR050VFBvZjBYbFNLd0J5S1RpeXBpS3ZUdWJkRW9zNHlvMFBycHljSktRbzdPTGU0bWJOOGNROFZncmtuR1ZZRXlmSmk5Umx0VlNIVWtQQWhfcl94SDJveGJMYlhhS0ZVclNnYl9BWW5OV0dPeWphcVkwYXJoQTdFa3pHMnp2enBLbHV3eDQ3OG5JMW9vYkpvRTdPa1VXMXZPck9fUVVwWncwV2JRTkZQWmNCRW5LRF9JbWdMYmhXZGZtX01BUl9YRkZZeEZQN3pGeEtBaXJJdEdFU1N4TW92VXBzRTBWZEU0SHRDdmR2QlJCVVNtR29fd09vTVktWmc4TFE3bkwwanQ3bWcuRE9neF8tTnpNMC1pazVjZTc2dS1qZw\"}", + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-\",\"deletedDate\":1565307478,\"scheduledPurgeDate\":1573083478,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/dbb576053fae4c8c8175c2df41ef9c83\",\"attributes\":{\"enabled\":true,\"created\":1565307446,\"updated\":1565307446,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "6402", + "content-length": "436", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:58 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "b29d8ea8-39e9-4818-b7eb-7feb61848569", + "x-ms-request-id": "ed8c6136-2a57-448a-b285-cc186fae55da", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-\",\"deletedDate\":1563496012,\"scheduledPurgeDate\":1571272012,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/b964056ececb46da9992ce8127a28781\",\"attributes\":{\"enabled\":true,\"created\":1563496012,\"updated\":1563496012,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "420", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:58 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "7e243c2b-6bb0-42ba-aefd-02bfb6dc5639", + "x-ms-request-id": "be83f114-7eb8-41c1-a8f3-a04969c87ebf", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:37:58 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0d0a7bd0-e906-4f32-b15c-025a26a15000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, @@ -644,7 +764,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "409", @@ -652,17 +772,67 @@ "content-length": "121", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:26:51 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:37:58 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "dbde7544-3dee-4027-be62-657aa9d6fd55", + "x-ms-request-id": "4945b99e-44df-49cd-9a72-1c1f818ef577", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4dc5ae57-c12e-447d-88cd-a2c917e636f0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0b113d46-7dc2-4689-a3b5-26789d3b2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-", "query": { "api-version": "7.0" }, @@ -673,116 +843,160 @@ "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "server": "Microsoft-IIS/10.0", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", + "x-ms-keyvault-service-version": "1.1.0.875", "x-powered-by": "ASP.NET", "status": "204", - "x-ms-request-id": "3da04eb3-4aca-4fb3-8db1-4afa5ca37fd0", + "x-ms-request-id": "263d6075-72bb-4850-b6da-c6ed39098ef4", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:27:01 GMT", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", "cache-control": "no-cache", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecretnonexisting-/recover", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlRZZXA1UW9yZzJEcTFlMDhaeFp2VE9IV2Rrb1RUaEFQOGE5T3VnVHV1UVR1R19GY0tGRkl4djdoQUl6c2pPUU4wOXp3NUowanp2Y2tZUHdIcV9ORTM5VDhfdXpwSEhFRHpvQy1OakJXWEtrdnYxMUhoalBYMlJ1RW9nY3JBOWl5bnV6d05LZTFxRHM5X05KbDcwODZvY3lNTHdyTE9PMUdUVUxOcGJPN2NLbWFGeVJjOVVDSWVrS2xDbXRRYlpkWWNTR0JTNFI4NlNNa0M3UUZpT0hoVWlJcC1QVUVtaGE1ZkxXN0NkeC1VWEFHblRyUmQzV2VUaTF2b3VZZkMwWU90TDBQbzhjLV85X2RPYjFxTEZYdG9ZTldEa2t5ZDNsMU9CZjZBdzM1b1pwQXlxdFN3MFJzV0xyQ0x6UzhNeXFYdkl6YmpMYlVJdlJBa0w4bXR0eThMQS53eWhuTkx6QkgxcU5NVmxJTjJtd05BLmx2NTRLcUhhMndBSUtQWnZnWTFwbTE3SFBuYXE2c29INTQtUDYwUU0tb2xYc3VTd3JQVnBfdWgxd2R1b0xhVUVNbDFrRHJjdEVQTDA3SlA0aklUTG9sc0tseFRnTTdyWGMzMHZOTXFsRFUtMVNpVWlla0E4bTIzZk05Ri1QNGdzbVd2NmVPZmJGUFM5YWlHZFljMzE3a1l2TU1OZ1dXcl8yV3NJUkVxdkRCenZRUDRHYVVUdWZTTm5ONGFlNVBNRWJjTmM1LVNvVGNhMUs0dDltNVBRSWpVenVvRE9JWk51SHk0QUQ3NDJUZ0tmTlctZVhKdTBuNGlURlR5UVBIOW9uZWtWTFFJRVd6YTF3QlpLeVhnMEpfaXRqNTAxanFzY0R0OVNDMmVBTWdxVWVkMWNOQlZBQ0hXY1NGam9VTHBoTmhqb3g0VU1jWDJjejhMN1YtUGNjSGpJRjRYTTRRaW9EZGdaWlNKMGxFRDlGQ01wQkdLZUxQQUFTYWpxTGtZblUzSjQ2aV96OWFpanBZQmJCUFVTLXdPSnJlWmhVYThvMlVLMWp5WG91ZkFTUXpndWwzd2dkMGxpNUYyd1Z5aXFRMzVDLWZBY0VrQUN3WVRMVG9vemtZYm5qVndKR2l1NUpXcTJES2FNM0tBVG5KSG1JR2k4LXBrbjQyMXU5Q2NGTzU0bzdfMERhRzhyODFtckJzc0gyVEQtMDZwQUU0YTJVSzh2Qk1Hb1JzZmRnWFZSc19BbGlDQTBUSXYzbE9Ib09SVTlIZjREcndoMVhhWmJPNG5IbXo1Tk5GS3FyYkdkY2FmV0VmZ2s4MHZFSkRMN3BnTGR3c3dyNkFTV1NpSXBheU11eFBFUjFidFJ6UFFZaDAzcU02VGMxSlRkanVKWnB6SGt0NkVPcUx0R2RFWXVQaU1OTmJBQ3lYaWxiX09OejlfTHpKQUJOYXhpblZ4UUVCR3MzNXQtcWpqdnJyV2NSZ0R5Ym53Z2xKcURpeVVmNlFCWGo5dV9IMFV0NjREUjEyTzhJUGlJVGR6VHU4VTFfYk14VDNhRm1sT3UxTFd4dGRDdnVXeEk4ZE1yQ3NfS0RhMlgwX2xMRFZ5amg5Sy1KUXBxTzZvNFdaUXZsclJQSEFNR1ZaVmJOVUlVNVZPdi1oclJsa0gxcDVMRzB6b0FBWVRFdU5wazR1Q1dzVWdLTV8ycF9wWWJEZkdwU2t3a01TSkx1Znp3ZnVNMXZfSnJpZF9KYy1zWE5zd1lVSXJkOGVYZDFIbWlvSW1tNjJxV0FjSDJTeUdSWlVjRl9EQkNXMUJUd3d6RE04M2d4TkRudERYc3M2VUhmQ09hVF9kcW1hbkt1RjZyS1lkUGNiREZBOXZHdTI5YW1falJIVjY0N0xyVHl1SHZ1c3RJRkJ1SnFnWFRERnh6V0lGMHBhYXRwcEZDbS1mSVNHM3BPTzVfY19fWkRLQnFGN0FrWEVEMVhlNHY1a3Vmel95cEk5Z1MzQWg1SVFFX3dIWHZZMFFNeGtJUlk0eWpOekdSTlBzakV5VXkxODk1QW1FZjliMHp4NjNYQ3NJaEdpU1FlSkZSZHBVTWtPTDVnaXJ5dWlXejlVN3EyWk81TGY5NmcwYm84ZUJaeW9wREh0X0NTSHhLYWozSWt5U3Q4Qng4d1pKdHpWTmgwOU9EWW43Zi1COWQ1eVMwX2oyWlVLcmRraVVDbDduVEpXY01CSVhaV3EyOUd1bDNaRE5vY04yc19YYU5jMnpjYXBTYnZXT2U1Q1FIV3ZBbnFuNFFuVzBWRTJDWldsZkM4eVF6VkZ4NVBQN1pab0huOUNZbjFfbXdaSWRLVEtUSm5oWmtUSmVQWFl4U1cyaGEwS3NpWmtrWWdSRF84YUNkU2ZsOWFRYW5mVkJxNXpuV295THNIYlJ2QndWSVVxRkxVNDNiNW0xNnpHTW1QWWJXZlZjMVpEWEo5WHpCLWRpajJRV3NfcnBtZVZJdVRaRnZLalhsNkNXdGIwUW1jdlBNUnhBcjVUbnRwaHU5MURUeTRwNEVjMHI5cEdjQlo2d21PRDJLV3pTd3M5WU0wTk1VLW1VbWFKX0ZFNzF0Y1htblpSQ0taa01SLWpzQXB5dXhuX3pVMzlZV1Q3S3MtODlNcEVCRzRiN3ZKbGhOampFMDRGUF9hVV92OW51RC0tS25LbVBVYURselRrSFdPQnFILVRhQ1hRaDRQZ1JObVNIVkJJTEU0YVNSRzgwWEw0ejhZTlhNWklEaDEtcHpaSDJCenk4ZHFieUQwZVVXcFFWVVFiUjVqYVRzMExkeEhFREk1WjRzaEpmNXNsRm1IZ2I0ZmVxMkg5T1VDOWRrbjlLQktvaUx0MjlfWmNlSThoRTFURjJuZk9QY1FSR1gzb29KOVFzY1dVejVtWmtMbEg5dFFNSGczN0FBMG5iSmFSUnBVRFRZNjBrUjRmOG0tMDVTYThVZkFYQXRJRmc3NXpCXzMzbnZtMTlaYVRscHVTeHlIS1FkX3lER0NvclExOTlDTm9nYVczRjAtMGd6UnNzaFk5WEQzWWFYdTR3UVFqMHpXaVFRcEFNU0c3NHlpVEprS040OUZEaDZLdFFrM1ZzOGQ0bW9xa3lZY2lIYVF1dWM4b09NTm5ra1kzR1pObGtXU2gzYkwwdHYzN3M1aHlXc0l4Tm95d1U4R0ZTYlRvUUlUaUZCRVNjS2xOejNzdEFYZ0FMVm00U3k3eENuMms3Q3dWbVFjUlAtVzFYT2UxMWVNSFozbzNuNlZrQzc5dU5kekhKaVlqOXZuOFhuTmo4cERJZ2RYUzduMU0tUER6OVdxV2tva2dtaW1ZbUpRTlhJVm12S2Y1LXpNdlZFako4ODNnVldVWktKWkRUemhuZzFXYzhPTktqS3o2c2ZubVJ2a0hsYXBDVmpnUkFqTFlwejk0eXZXQ3pOMDl6NTdUajRYSDdlV3hUVWhEWmxReDJkZUlNRGNLZ1NBeEVEemZId2ZqQ0hwQ19IVXJNNWx2WEVkVkZQTGl0cGc5b3FkSTdaemNvLUJnTUV1MHdyMG5zT1VNQ0F0c1Zrdmt5QkFRaUpPTzVaN2o1cFBFcG43Q3ZVazJJck40NnA1RmdtV1EzWmhvY294WU9lRm5KaDMwNnVYV3M1U1FadzY2ZDZaNlVoWnNJSE0zemR5TkZna2stVTdIbjJjdXduNUk4eXBpLWV5QmZBQ1VkcGtSZ2tSd0oyZVNVZzRKYWs1LWt0TENSd0pNZERTbGxyWkJEUzJjYTJxamlMZUdGcW05Q0tFaHU3YldQYm1QaWhFMUZhcFYzU3Y1UWpERURWUW1iNDJiTzhuTHpzY2RabzdPZmZ6dFFtS3c2THNLU1E2Z3FKU1hyMi1UejZrTUhaYmZrMExsNlQ2bEZfNVJyYkdjUmgxN1h1QzNQSm9NdVlwcE9nQTJYb3ZVM2tvTktSVHV5cF90OGFuV0dJdnR4YnBnUXVqLWYyWERTZTlXMW1idGdrZ2VGZlcyd1ZJTTdJakN4VXBuMktDYndfNEQteng1U19teDg1bUlCVWs5bmZPZ3ZVY2xVVmRWT2RBZGRmOEJHSFVSdk9BaThRNFdRUXJPWkFXazM2TnZJZ2x3U1JRWmpJQlRiZkJ2eVdnZGtEUWN4WXRpUlpEUGFuUnFsekpzVk5BTVR5XzliTHVMVnZjNFVCNDEwQ0xjSlFqUlQxZ0dLbUx2UjBHenZhOE00c1UyamNOMWhOaWNlaFY1bF9JeFpyUFpQRTBHYlRpUnhjNzR5SHYtZjRobmxGWjJTX0ctdFFKS3BUd05Yc2tMaUtIM1R1VkJaQ2ZmV1ZBeGJfZW5LR0szczZ0LTZvYlVmR2lsRkROcjhMRGItNUExQ01uT1h5ejhreVpuVTY5QXRWdXhoeU50Z3lKdlF0MElha3VYQnI0NHRpOUtLc2hIeFhCU21QUnBqS3RuUGhhcDkxWkFZRFgxb0M3SV83dnhCN0x0MTlqLVpycmlDbVYxenNSMVRiT21wZTd6MjNmRGFYd0ZOUnZZSzVlY1pscXRqWW1WMC1oczdmZS1DOW1NenFzeXhFTjRiVDRod2JxQUhJVU1XWG5hdnpLajg5eGZEbFQyY2VSZ3V5RHRETVVtLUdQcnNOZGVhbjZJSE03R1ktdF91VFVndktlMFowby1tY3pQbDZ5bDNldXRzMFU5b3J5VjZvd1JJTTFrUVNua0o3Z25nNnJlcE5HREtPYVgyZXBCMld4SkpMcm1rVDdJRWZ0Z1lXWklHTEg1alZESF9EZkRZbl9Qa19RbkN6VVhLcFNrR0lDU1dnbjgxblYwcU5yNW54OThCNkJ5RjdscFNldGVFTWZDcWFacXdSeTF0WWp5UVI3ZHk5eWJQVzhnM19nN3Aza0sxekoyWDNlN3ZZZTZ5NjNSMnBxZHlqbl9pdU1aS1E0TkJ3cVUxOVlfdWx0Y1c0aWp6dHBEMVBFTVd5Zy1lODFmWmdvNEIwU2V3alNBRUdqLW9mZkNvTjAwSmpLR29tNXV1QThmWFRvYi1PeVd6dFVndXZNUXZqWDdIdU9Ud0VESnhxaUg0WVlQdEtxY0hEa3drSlM1ZkxLSWVIdXRtU2R3eG1QV0NUQkoycVdfWFVvNnFJUFFSbVBHMkk5VzdlMmtkaVVJTXR2OU9OV2hHZVJZTnpIZWlyQ19oMHFnSmhsd2I0UWZ5SFMxa3R0SE5kQ25BanFhVWV5YmNBdXpnYXh3T2UxaVMtb0Z1blVOOTFDS0JNaENDQndEV1pnWVkyVDdaNVI3bWx1d0R6OVBqODJBd3BJM2NWOFFEM2p5MXZBZ2cwSk1FMXdIR3ZiNjFZNm1uNDZjeUMzZXJXSmVtUTlVVXREM2R4T25RUXlCNHNJcXRpRzZya2lzdW1DLXBkUU51dll1U1otcEQyeElVQ1JiRDBrNHpQM1hESTYtWGpqYzRzLWZLdkV3WGtqQTRvMXA4b1BOUUwyNXJMWDk5WVJ3MW5VWHBacjVZSGR4b1l3NzFlX04wTmpXVXBvSVVfT2JoZEtSWVQyQVpabUdyeDdBeWlPVy1xZlZSXzRyLVpNbGZzaTczMFB3Tkp0VlZiUVdiOFlSNjNzdkZQSkpISHJ0Tmpob3llZ1J2UnNBX09nMWR3S01YaGVsQ3pna3JRZnQ3TW9mNUFubVByRjAxZVppQkhHbEI1LXBkbXZwQmtPck81SFJUSGtEV2J4el9qZnJObHFlX1BFYkJzNFo2VklUaW9XUExoRUF4RGtIejBiNEF3end0RDNKY0tneGNVTHlvOEY1Ym9sdzd2WVptdnVZR050VFBvZjBYbFNLd0J5S1RpeXBpS3ZUdWJkRW9zNHlvMFBycHljSktRbzdPTGU0bWJOOGNROFZncmtuR1ZZRXlmSmk5Umx0VlNIVWtQQWhfcl94SDJveGJMYlhhS0ZVclNnYl9BWW5OV0dPeWphcVkwYXJoQTdFa3pHMnp2enBLbHV3eDQ3OG5JMW9vYkpvRTdPa1VXMXZPck9fUVVwWncwV2JRTkZQWmNCRW5LRF9JbWdMYmhXZGZtX01BUl9YRkZZeEZQN3pGeEtBaXJJdEdFU1N4TW92VXBzRTBWZEU0SHRDdmR2QlJCVVNtR29fd09vTVktWmc4TFE3bkwwanQ3bWcuRE9neF8tTnpNMC1pazVjZTc2dS1qZw\"}", - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring secret https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/b964056ececb46da9992ce8127a28781 - secret already exists or concurrent access\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "245", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:27:01 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "45b0b49f-9e50-488e-a9da-a9c0808a3dd7", + "x-ms-request-id": "7d3c1f63-9223-4511-9fd4-ed7d20082a76", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { "method": "POST", - "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5a8dc41c-4d88-4336-80aa-6066e9c05200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecretnonexisting-/recover", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlRZZXA1UW9yZzJEcTFlMDhaeFp2VE9IV2Rrb1RUaEFQOGE5T3VnVHV1UVR1R19GY0tGRkl4djdoQUl6c2pPUU4wOXp3NUowanp2Y2tZUHdIcV9ORTM5VDhfdXpwSEhFRHpvQy1OakJXWEtrdnYxMUhoalBYMlJ1RW9nY3JBOWl5bnV6d05LZTFxRHM5X05KbDcwODZvY3lNTHdyTE9PMUdUVUxOcGJPN2NLbWFGeVJjOVVDSWVrS2xDbXRRYlpkWWNTR0JTNFI4NlNNa0M3UUZpT0hoVWlJcC1QVUVtaGE1ZkxXN0NkeC1VWEFHblRyUmQzV2VUaTF2b3VZZkMwWU90TDBQbzhjLV85X2RPYjFxTEZYdG9ZTldEa2t5ZDNsMU9CZjZBdzM1b1pwQXlxdFN3MFJzV0xyQ0x6UzhNeXFYdkl6YmpMYlVJdlJBa0w4bXR0eThMQS53eWhuTkx6QkgxcU5NVmxJTjJtd05BLmx2NTRLcUhhMndBSUtQWnZnWTFwbTE3SFBuYXE2c29INTQtUDYwUU0tb2xYc3VTd3JQVnBfdWgxd2R1b0xhVUVNbDFrRHJjdEVQTDA3SlA0aklUTG9sc0tseFRnTTdyWGMzMHZOTXFsRFUtMVNpVWlla0E4bTIzZk05Ri1QNGdzbVd2NmVPZmJGUFM5YWlHZFljMzE3a1l2TU1OZ1dXcl8yV3NJUkVxdkRCenZRUDRHYVVUdWZTTm5ONGFlNVBNRWJjTmM1LVNvVGNhMUs0dDltNVBRSWpVenVvRE9JWk51SHk0QUQ3NDJUZ0tmTlctZVhKdTBuNGlURlR5UVBIOW9uZWtWTFFJRVd6YTF3QlpLeVhnMEpfaXRqNTAxanFzY0R0OVNDMmVBTWdxVWVkMWNOQlZBQ0hXY1NGam9VTHBoTmhqb3g0VU1jWDJjejhMN1YtUGNjSGpJRjRYTTRRaW9EZGdaWlNKMGxFRDlGQ01wQkdLZUxQQUFTYWpxTGtZblUzSjQ2aV96OWFpanBZQmJCUFVTLXdPSnJlWmhVYThvMlVLMWp5WG91ZkFTUXpndWwzd2dkMGxpNUYyd1Z5aXFRMzVDLWZBY0VrQUN3WVRMVG9vemtZYm5qVndKR2l1NUpXcTJES2FNM0tBVG5KSG1JR2k4LXBrbjQyMXU5Q2NGTzU0bzdfMERhRzhyODFtckJzc0gyVEQtMDZwQUU0YTJVSzh2Qk1Hb1JzZmRnWFZSc19BbGlDQTBUSXYzbE9Ib09SVTlIZjREcndoMVhhWmJPNG5IbXo1Tk5GS3FyYkdkY2FmV0VmZ2s4MHZFSkRMN3BnTGR3c3dyNkFTV1NpSXBheU11eFBFUjFidFJ6UFFZaDAzcU02VGMxSlRkanVKWnB6SGt0NkVPcUx0R2RFWXVQaU1OTmJBQ3lYaWxiX09OejlfTHpKQUJOYXhpblZ4UUVCR3MzNXQtcWpqdnJyV2NSZ0R5Ym53Z2xKcURpeVVmNlFCWGo5dV9IMFV0NjREUjEyTzhJUGlJVGR6VHU4VTFfYk14VDNhRm1sT3UxTFd4dGRDdnVXeEk4ZE1yQ3NfS0RhMlgwX2xMRFZ5amg5Sy1KUXBxTzZvNFdaUXZsclJQSEFNR1ZaVmJOVUlVNVZPdi1oclJsa0gxcDVMRzB6b0FBWVRFdU5wazR1Q1dzVWdLTV8ycF9wWWJEZkdwU2t3a01TSkx1Znp3ZnVNMXZfSnJpZF9KYy1zWE5zd1lVSXJkOGVYZDFIbWlvSW1tNjJxV0FjSDJTeUdSWlVjRl9EQkNXMUJUd3d6RE04M2d4TkRudERYc3M2VUhmQ09hVF9kcW1hbkt1RjZyS1lkUGNiREZBOXZHdTI5YW1falJIVjY0N0xyVHl1SHZ1c3RJRkJ1SnFnWFRERnh6V0lGMHBhYXRwcEZDbS1mSVNHM3BPTzVfY19fWkRLQnFGN0FrWEVEMVhlNHY1a3Vmel95cEk5Z1MzQWg1SVFFX3dIWHZZMFFNeGtJUlk0eWpOekdSTlBzakV5VXkxODk1QW1FZjliMHp4NjNYQ3NJaEdpU1FlSkZSZHBVTWtPTDVnaXJ5dWlXejlVN3EyWk81TGY5NmcwYm84ZUJaeW9wREh0X0NTSHhLYWozSWt5U3Q4Qng4d1pKdHpWTmgwOU9EWW43Zi1COWQ1eVMwX2oyWlVLcmRraVVDbDduVEpXY01CSVhaV3EyOUd1bDNaRE5vY04yc19YYU5jMnpjYXBTYnZXT2U1Q1FIV3ZBbnFuNFFuVzBWRTJDWldsZkM4eVF6VkZ4NVBQN1pab0huOUNZbjFfbXdaSWRLVEtUSm5oWmtUSmVQWFl4U1cyaGEwS3NpWmtrWWdSRF84YUNkU2ZsOWFRYW5mVkJxNXpuV295THNIYlJ2QndWSVVxRkxVNDNiNW0xNnpHTW1QWWJXZlZjMVpEWEo5WHpCLWRpajJRV3NfcnBtZVZJdVRaRnZLalhsNkNXdGIwUW1jdlBNUnhBcjVUbnRwaHU5MURUeTRwNEVjMHI5cEdjQlo2d21PRDJLV3pTd3M5WU0wTk1VLW1VbWFKX0ZFNzF0Y1htblpSQ0taa01SLWpzQXB5dXhuX3pVMzlZV1Q3S3MtODlNcEVCRzRiN3ZKbGhOampFMDRGUF9hVV92OW51RC0tS25LbVBVYURselRrSFdPQnFILVRhQ1hRaDRQZ1JObVNIVkJJTEU0YVNSRzgwWEw0ejhZTlhNWklEaDEtcHpaSDJCenk4ZHFieUQwZVVXcFFWVVFiUjVqYVRzMExkeEhFREk1WjRzaEpmNXNsRm1IZ2I0ZmVxMkg5T1VDOWRrbjlLQktvaUx0MjlfWmNlSThoRTFURjJuZk9QY1FSR1gzb29KOVFzY1dVejVtWmtMbEg5dFFNSGczN0FBMG5iSmFSUnBVRFRZNjBrUjRmOG0tMDVTYThVZkFYQXRJRmc3NXpCXzMzbnZtMTlaYVRscHVTeHlIS1FkX3lER0NvclExOTlDTm9nYVczRjAtMGd6UnNzaFk5WEQzWWFYdTR3UVFqMHpXaVFRcEFNU0c3NHlpVEprS040OUZEaDZLdFFrM1ZzOGQ0bW9xa3lZY2lIYVF1dWM4b09NTm5ra1kzR1pObGtXU2gzYkwwdHYzN3M1aHlXc0l4Tm95d1U4R0ZTYlRvUUlUaUZCRVNjS2xOejNzdEFYZ0FMVm00U3k3eENuMms3Q3dWbVFjUlAtVzFYT2UxMWVNSFozbzNuNlZrQzc5dU5kekhKaVlqOXZuOFhuTmo4cERJZ2RYUzduMU0tUER6OVdxV2tva2dtaW1ZbUpRTlhJVm12S2Y1LXpNdlZFako4ODNnVldVWktKWkRUemhuZzFXYzhPTktqS3o2c2ZubVJ2a0hsYXBDVmpnUkFqTFlwejk0eXZXQ3pOMDl6NTdUajRYSDdlV3hUVWhEWmxReDJkZUlNRGNLZ1NBeEVEemZId2ZqQ0hwQ19IVXJNNWx2WEVkVkZQTGl0cGc5b3FkSTdaemNvLUJnTUV1MHdyMG5zT1VNQ0F0c1Zrdmt5QkFRaUpPTzVaN2o1cFBFcG43Q3ZVazJJck40NnA1RmdtV1EzWmhvY294WU9lRm5KaDMwNnVYV3M1U1FadzY2ZDZaNlVoWnNJSE0zemR5TkZna2stVTdIbjJjdXduNUk4eXBpLWV5QmZBQ1VkcGtSZ2tSd0oyZVNVZzRKYWs1LWt0TENSd0pNZERTbGxyWkJEUzJjYTJxamlMZUdGcW05Q0tFaHU3YldQYm1QaWhFMUZhcFYzU3Y1UWpERURWUW1iNDJiTzhuTHpzY2RabzdPZmZ6dFFtS3c2THNLU1E2Z3FKU1hyMi1UejZrTUhaYmZrMExsNlQ2bEZfNVJyYkdjUmgxN1h1QzNQSm9NdVlwcE9nQTJYb3ZVM2tvTktSVHV5cF90OGFuV0dJdnR4YnBnUXVqLWYyWERTZTlXMW1idGdrZ2VGZlcyd1ZJTTdJakN4VXBuMktDYndfNEQteng1U19teDg1bUlCVWs5bmZPZ3ZVY2xVVmRWT2RBZGRmOEJHSFVSdk9BaThRNFdRUXJPWkFXazM2TnZJZ2x3U1JRWmpJQlRiZkJ2eVdnZGtEUWN4WXRpUlpEUGFuUnFsekpzVk5BTVR5XzliTHVMVnZjNFVCNDEwQ0xjSlFqUlQxZ0dLbUx2UjBHenZhOE00c1UyamNOMWhOaWNlaFY1bF9JeFpyUFpQRTBHYlRpUnhjNzR5SHYtZjRobmxGWjJTX0ctdFFKS3BUd05Yc2tMaUtIM1R1VkJaQ2ZmV1ZBeGJfZW5LR0szczZ0LTZvYlVmR2lsRkROcjhMRGItNUExQ01uT1h5ejhreVpuVTY5QXRWdXhoeU50Z3lKdlF0MElha3VYQnI0NHRpOUtLc2hIeFhCU21QUnBqS3RuUGhhcDkxWkFZRFgxb0M3SV83dnhCN0x0MTlqLVpycmlDbVYxenNSMVRiT21wZTd6MjNmRGFYd0ZOUnZZSzVlY1pscXRqWW1WMC1oczdmZS1DOW1NenFzeXhFTjRiVDRod2JxQUhJVU1XWG5hdnpLajg5eGZEbFQyY2VSZ3V5RHRETVVtLUdQcnNOZGVhbjZJSE03R1ktdF91VFVndktlMFowby1tY3pQbDZ5bDNldXRzMFU5b3J5VjZvd1JJTTFrUVNua0o3Z25nNnJlcE5HREtPYVgyZXBCMld4SkpMcm1rVDdJRWZ0Z1lXWklHTEg1alZESF9EZkRZbl9Qa19RbkN6VVhLcFNrR0lDU1dnbjgxblYwcU5yNW54OThCNkJ5RjdscFNldGVFTWZDcWFacXdSeTF0WWp5UVI3ZHk5eWJQVzhnM19nN3Aza0sxekoyWDNlN3ZZZTZ5NjNSMnBxZHlqbl9pdU1aS1E0TkJ3cVUxOVlfdWx0Y1c0aWp6dHBEMVBFTVd5Zy1lODFmWmdvNEIwU2V3alNBRUdqLW9mZkNvTjAwSmpLR29tNXV1QThmWFRvYi1PeVd6dFVndXZNUXZqWDdIdU9Ud0VESnhxaUg0WVlQdEtxY0hEa3drSlM1ZkxLSWVIdXRtU2R3eG1QV0NUQkoycVdfWFVvNnFJUFFSbVBHMkk5VzdlMmtkaVVJTXR2OU9OV2hHZVJZTnpIZWlyQ19oMHFnSmhsd2I0UWZ5SFMxa3R0SE5kQ25BanFhVWV5YmNBdXpnYXh3T2UxaVMtb0Z1blVOOTFDS0JNaENDQndEV1pnWVkyVDdaNVI3bWx1d0R6OVBqODJBd3BJM2NWOFFEM2p5MXZBZ2cwSk1FMXdIR3ZiNjFZNm1uNDZjeUMzZXJXSmVtUTlVVXREM2R4T25RUXlCNHNJcXRpRzZya2lzdW1DLXBkUU51dll1U1otcEQyeElVQ1JiRDBrNHpQM1hESTYtWGpqYzRzLWZLdkV3WGtqQTRvMXA4b1BOUUwyNXJMWDk5WVJ3MW5VWHBacjVZSGR4b1l3NzFlX04wTmpXVXBvSVVfT2JoZEtSWVQyQVpabUdyeDdBeWlPVy1xZlZSXzRyLVpNbGZzaTczMFB3Tkp0VlZiUVdiOFlSNjNzdkZQSkpISHJ0Tmpob3llZ1J2UnNBX09nMWR3S01YaGVsQ3pna3JRZnQ3TW9mNUFubVByRjAxZVppQkhHbEI1LXBkbXZwQmtPck81SFJUSGtEV2J4el9qZnJObHFlX1BFYkJzNFo2VklUaW9XUExoRUF4RGtIejBiNEF3end0RDNKY0tneGNVTHlvOEY1Ym9sdzd2WVptdnVZR050VFBvZjBYbFNLd0J5S1RpeXBpS3ZUdWJkRW9zNHlvMFBycHljSktRbzdPTGU0bWJOOGNROFZncmtuR1ZZRXlmSmk5Umx0VlNIVWtQQWhfcl94SDJveGJMYlhhS0ZVclNnYl9BWW5OV0dPeWphcVkwYXJoQTdFa3pHMnp2enBLbHV3eDQ3OG5JMW9vYkpvRTdPa1VXMXZPck9fUVVwWncwV2JRTkZQWmNCRW5LRF9JbWdMYmhXZGZtX01BUl9YRkZZeEZQN3pGeEtBaXJJdEdFU1N4TW92VXBzRTBWZEU0SHRDdmR2QlJCVVNtR29fd09vTVktWmc4TFE3bkwwanQ3bWcuRE9neF8tTnpNMC1pazVjZTc2dS1qZw\"}", - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring secret https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/b964056ececb46da9992ce8127a28781 - secret already exists or concurrent access\"}}", + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-canrecoveradeletedsecretnonexisting-\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "404", "x-ms-keyvault-region": "westus", - "content-length": "245", + "content-length": "134", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:27:12 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a17d702f-e656-4c12-a471-ec1e31d15f8c", + "x-ms-request-id": "025548c8-1962-40c2-8812-1d9b999f47d6", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "POST", - "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-", "query": { "api-version": "7.0" }, - "requestBody": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlRZZXA1UW9yZzJEcTFlMDhaeFp2VE9IV2Rrb1RUaEFQOGE5T3VnVHV1UVR1R19GY0tGRkl4djdoQUl6c2pPUU4wOXp3NUowanp2Y2tZUHdIcV9ORTM5VDhfdXpwSEhFRHpvQy1OakJXWEtrdnYxMUhoalBYMlJ1RW9nY3JBOWl5bnV6d05LZTFxRHM5X05KbDcwODZvY3lNTHdyTE9PMUdUVUxOcGJPN2NLbWFGeVJjOVVDSWVrS2xDbXRRYlpkWWNTR0JTNFI4NlNNa0M3UUZpT0hoVWlJcC1QVUVtaGE1ZkxXN0NkeC1VWEFHblRyUmQzV2VUaTF2b3VZZkMwWU90TDBQbzhjLV85X2RPYjFxTEZYdG9ZTldEa2t5ZDNsMU9CZjZBdzM1b1pwQXlxdFN3MFJzV0xyQ0x6UzhNeXFYdkl6YmpMYlVJdlJBa0w4bXR0eThMQS53eWhuTkx6QkgxcU5NVmxJTjJtd05BLmx2NTRLcUhhMndBSUtQWnZnWTFwbTE3SFBuYXE2c29INTQtUDYwUU0tb2xYc3VTd3JQVnBfdWgxd2R1b0xhVUVNbDFrRHJjdEVQTDA3SlA0aklUTG9sc0tseFRnTTdyWGMzMHZOTXFsRFUtMVNpVWlla0E4bTIzZk05Ri1QNGdzbVd2NmVPZmJGUFM5YWlHZFljMzE3a1l2TU1OZ1dXcl8yV3NJUkVxdkRCenZRUDRHYVVUdWZTTm5ONGFlNVBNRWJjTmM1LVNvVGNhMUs0dDltNVBRSWpVenVvRE9JWk51SHk0QUQ3NDJUZ0tmTlctZVhKdTBuNGlURlR5UVBIOW9uZWtWTFFJRVd6YTF3QlpLeVhnMEpfaXRqNTAxanFzY0R0OVNDMmVBTWdxVWVkMWNOQlZBQ0hXY1NGam9VTHBoTmhqb3g0VU1jWDJjejhMN1YtUGNjSGpJRjRYTTRRaW9EZGdaWlNKMGxFRDlGQ01wQkdLZUxQQUFTYWpxTGtZblUzSjQ2aV96OWFpanBZQmJCUFVTLXdPSnJlWmhVYThvMlVLMWp5WG91ZkFTUXpndWwzd2dkMGxpNUYyd1Z5aXFRMzVDLWZBY0VrQUN3WVRMVG9vemtZYm5qVndKR2l1NUpXcTJES2FNM0tBVG5KSG1JR2k4LXBrbjQyMXU5Q2NGTzU0bzdfMERhRzhyODFtckJzc0gyVEQtMDZwQUU0YTJVSzh2Qk1Hb1JzZmRnWFZSc19BbGlDQTBUSXYzbE9Ib09SVTlIZjREcndoMVhhWmJPNG5IbXo1Tk5GS3FyYkdkY2FmV0VmZ2s4MHZFSkRMN3BnTGR3c3dyNkFTV1NpSXBheU11eFBFUjFidFJ6UFFZaDAzcU02VGMxSlRkanVKWnB6SGt0NkVPcUx0R2RFWXVQaU1OTmJBQ3lYaWxiX09OejlfTHpKQUJOYXhpblZ4UUVCR3MzNXQtcWpqdnJyV2NSZ0R5Ym53Z2xKcURpeVVmNlFCWGo5dV9IMFV0NjREUjEyTzhJUGlJVGR6VHU4VTFfYk14VDNhRm1sT3UxTFd4dGRDdnVXeEk4ZE1yQ3NfS0RhMlgwX2xMRFZ5amg5Sy1KUXBxTzZvNFdaUXZsclJQSEFNR1ZaVmJOVUlVNVZPdi1oclJsa0gxcDVMRzB6b0FBWVRFdU5wazR1Q1dzVWdLTV8ycF9wWWJEZkdwU2t3a01TSkx1Znp3ZnVNMXZfSnJpZF9KYy1zWE5zd1lVSXJkOGVYZDFIbWlvSW1tNjJxV0FjSDJTeUdSWlVjRl9EQkNXMUJUd3d6RE04M2d4TkRudERYc3M2VUhmQ09hVF9kcW1hbkt1RjZyS1lkUGNiREZBOXZHdTI5YW1falJIVjY0N0xyVHl1SHZ1c3RJRkJ1SnFnWFRERnh6V0lGMHBhYXRwcEZDbS1mSVNHM3BPTzVfY19fWkRLQnFGN0FrWEVEMVhlNHY1a3Vmel95cEk5Z1MzQWg1SVFFX3dIWHZZMFFNeGtJUlk0eWpOekdSTlBzakV5VXkxODk1QW1FZjliMHp4NjNYQ3NJaEdpU1FlSkZSZHBVTWtPTDVnaXJ5dWlXejlVN3EyWk81TGY5NmcwYm84ZUJaeW9wREh0X0NTSHhLYWozSWt5U3Q4Qng4d1pKdHpWTmgwOU9EWW43Zi1COWQ1eVMwX2oyWlVLcmRraVVDbDduVEpXY01CSVhaV3EyOUd1bDNaRE5vY04yc19YYU5jMnpjYXBTYnZXT2U1Q1FIV3ZBbnFuNFFuVzBWRTJDWldsZkM4eVF6VkZ4NVBQN1pab0huOUNZbjFfbXdaSWRLVEtUSm5oWmtUSmVQWFl4U1cyaGEwS3NpWmtrWWdSRF84YUNkU2ZsOWFRYW5mVkJxNXpuV295THNIYlJ2QndWSVVxRkxVNDNiNW0xNnpHTW1QWWJXZlZjMVpEWEo5WHpCLWRpajJRV3NfcnBtZVZJdVRaRnZLalhsNkNXdGIwUW1jdlBNUnhBcjVUbnRwaHU5MURUeTRwNEVjMHI5cEdjQlo2d21PRDJLV3pTd3M5WU0wTk1VLW1VbWFKX0ZFNzF0Y1htblpSQ0taa01SLWpzQXB5dXhuX3pVMzlZV1Q3S3MtODlNcEVCRzRiN3ZKbGhOampFMDRGUF9hVV92OW51RC0tS25LbVBVYURselRrSFdPQnFILVRhQ1hRaDRQZ1JObVNIVkJJTEU0YVNSRzgwWEw0ejhZTlhNWklEaDEtcHpaSDJCenk4ZHFieUQwZVVXcFFWVVFiUjVqYVRzMExkeEhFREk1WjRzaEpmNXNsRm1IZ2I0ZmVxMkg5T1VDOWRrbjlLQktvaUx0MjlfWmNlSThoRTFURjJuZk9QY1FSR1gzb29KOVFzY1dVejVtWmtMbEg5dFFNSGczN0FBMG5iSmFSUnBVRFRZNjBrUjRmOG0tMDVTYThVZkFYQXRJRmc3NXpCXzMzbnZtMTlaYVRscHVTeHlIS1FkX3lER0NvclExOTlDTm9nYVczRjAtMGd6UnNzaFk5WEQzWWFYdTR3UVFqMHpXaVFRcEFNU0c3NHlpVEprS040OUZEaDZLdFFrM1ZzOGQ0bW9xa3lZY2lIYVF1dWM4b09NTm5ra1kzR1pObGtXU2gzYkwwdHYzN3M1aHlXc0l4Tm95d1U4R0ZTYlRvUUlUaUZCRVNjS2xOejNzdEFYZ0FMVm00U3k3eENuMms3Q3dWbVFjUlAtVzFYT2UxMWVNSFozbzNuNlZrQzc5dU5kekhKaVlqOXZuOFhuTmo4cERJZ2RYUzduMU0tUER6OVdxV2tva2dtaW1ZbUpRTlhJVm12S2Y1LXpNdlZFako4ODNnVldVWktKWkRUemhuZzFXYzhPTktqS3o2c2ZubVJ2a0hsYXBDVmpnUkFqTFlwejk0eXZXQ3pOMDl6NTdUajRYSDdlV3hUVWhEWmxReDJkZUlNRGNLZ1NBeEVEemZId2ZqQ0hwQ19IVXJNNWx2WEVkVkZQTGl0cGc5b3FkSTdaemNvLUJnTUV1MHdyMG5zT1VNQ0F0c1Zrdmt5QkFRaUpPTzVaN2o1cFBFcG43Q3ZVazJJck40NnA1RmdtV1EzWmhvY294WU9lRm5KaDMwNnVYV3M1U1FadzY2ZDZaNlVoWnNJSE0zemR5TkZna2stVTdIbjJjdXduNUk4eXBpLWV5QmZBQ1VkcGtSZ2tSd0oyZVNVZzRKYWs1LWt0TENSd0pNZERTbGxyWkJEUzJjYTJxamlMZUdGcW05Q0tFaHU3YldQYm1QaWhFMUZhcFYzU3Y1UWpERURWUW1iNDJiTzhuTHpzY2RabzdPZmZ6dFFtS3c2THNLU1E2Z3FKU1hyMi1UejZrTUhaYmZrMExsNlQ2bEZfNVJyYkdjUmgxN1h1QzNQSm9NdVlwcE9nQTJYb3ZVM2tvTktSVHV5cF90OGFuV0dJdnR4YnBnUXVqLWYyWERTZTlXMW1idGdrZ2VGZlcyd1ZJTTdJakN4VXBuMktDYndfNEQteng1U19teDg1bUlCVWs5bmZPZ3ZVY2xVVmRWT2RBZGRmOEJHSFVSdk9BaThRNFdRUXJPWkFXazM2TnZJZ2x3U1JRWmpJQlRiZkJ2eVdnZGtEUWN4WXRpUlpEUGFuUnFsekpzVk5BTVR5XzliTHVMVnZjNFVCNDEwQ0xjSlFqUlQxZ0dLbUx2UjBHenZhOE00c1UyamNOMWhOaWNlaFY1bF9JeFpyUFpQRTBHYlRpUnhjNzR5SHYtZjRobmxGWjJTX0ctdFFKS3BUd05Yc2tMaUtIM1R1VkJaQ2ZmV1ZBeGJfZW5LR0szczZ0LTZvYlVmR2lsRkROcjhMRGItNUExQ01uT1h5ejhreVpuVTY5QXRWdXhoeU50Z3lKdlF0MElha3VYQnI0NHRpOUtLc2hIeFhCU21QUnBqS3RuUGhhcDkxWkFZRFgxb0M3SV83dnhCN0x0MTlqLVpycmlDbVYxenNSMVRiT21wZTd6MjNmRGFYd0ZOUnZZSzVlY1pscXRqWW1WMC1oczdmZS1DOW1NenFzeXhFTjRiVDRod2JxQUhJVU1XWG5hdnpLajg5eGZEbFQyY2VSZ3V5RHRETVVtLUdQcnNOZGVhbjZJSE03R1ktdF91VFVndktlMFowby1tY3pQbDZ5bDNldXRzMFU5b3J5VjZvd1JJTTFrUVNua0o3Z25nNnJlcE5HREtPYVgyZXBCMld4SkpMcm1rVDdJRWZ0Z1lXWklHTEg1alZESF9EZkRZbl9Qa19RbkN6VVhLcFNrR0lDU1dnbjgxblYwcU5yNW54OThCNkJ5RjdscFNldGVFTWZDcWFacXdSeTF0WWp5UVI3ZHk5eWJQVzhnM19nN3Aza0sxekoyWDNlN3ZZZTZ5NjNSMnBxZHlqbl9pdU1aS1E0TkJ3cVUxOVlfdWx0Y1c0aWp6dHBEMVBFTVd5Zy1lODFmWmdvNEIwU2V3alNBRUdqLW9mZkNvTjAwSmpLR29tNXV1QThmWFRvYi1PeVd6dFVndXZNUXZqWDdIdU9Ud0VESnhxaUg0WVlQdEtxY0hEa3drSlM1ZkxLSWVIdXRtU2R3eG1QV0NUQkoycVdfWFVvNnFJUFFSbVBHMkk5VzdlMmtkaVVJTXR2OU9OV2hHZVJZTnpIZWlyQ19oMHFnSmhsd2I0UWZ5SFMxa3R0SE5kQ25BanFhVWV5YmNBdXpnYXh3T2UxaVMtb0Z1blVOOTFDS0JNaENDQndEV1pnWVkyVDdaNVI3bWx1d0R6OVBqODJBd3BJM2NWOFFEM2p5MXZBZ2cwSk1FMXdIR3ZiNjFZNm1uNDZjeUMzZXJXSmVtUTlVVXREM2R4T25RUXlCNHNJcXRpRzZya2lzdW1DLXBkUU51dll1U1otcEQyeElVQ1JiRDBrNHpQM1hESTYtWGpqYzRzLWZLdkV3WGtqQTRvMXA4b1BOUUwyNXJMWDk5WVJ3MW5VWHBacjVZSGR4b1l3NzFlX04wTmpXVXBvSVVfT2JoZEtSWVQyQVpabUdyeDdBeWlPVy1xZlZSXzRyLVpNbGZzaTczMFB3Tkp0VlZiUVdiOFlSNjNzdkZQSkpISHJ0Tmpob3llZ1J2UnNBX09nMWR3S01YaGVsQ3pna3JRZnQ3TW9mNUFubVByRjAxZVppQkhHbEI1LXBkbXZwQmtPck81SFJUSGtEV2J4el9qZnJObHFlX1BFYkJzNFo2VklUaW9XUExoRUF4RGtIejBiNEF3end0RDNKY0tneGNVTHlvOEY1Ym9sdzd2WVptdnVZR050VFBvZjBYbFNLd0J5S1RpeXBpS3ZUdWJkRW9zNHlvMFBycHljSktRbzdPTGU0bWJOOGNROFZncmtuR1ZZRXlmSmk5Umx0VlNIVWtQQWhfcl94SDJveGJMYlhhS0ZVclNnYl9BWW5OV0dPeWphcVkwYXJoQTdFa3pHMnp2enBLbHV3eDQ3OG5JMW9vYkpvRTdPa1VXMXZPck9fUVVwWncwV2JRTkZQWmNCRW5LRF9JbWdMYmhXZGZtX01BUl9YRkZZeEZQN3pGeEtBaXJJdEdFU1N4TW92VXBzRTBWZEU0SHRDdmR2QlJCVVNtR29fd09vTVktWmc4TFE3bkwwanQ3bWcuRE9neF8tTnpNMC1pazVjZTc2dS1qZw\"}", - "status": 200, - "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/b964056ececb46da9992ce8127a28781\",\"attributes\":{\"enabled\":true,\"created\":1563496012,\"updated\":1563496012,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "247", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:27:22 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "a7845adf-8e5c-43df-9ac9-93447fd849b3", + "x-ms-request-id": "4e3b8e91-eda5-44cf-a2a8-a5706d4f71cb", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "GET", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "825dc7e4-1ab2-4855-a199-1cca7b495400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, + "requestBody": "{\"value\":\"RSA\"}", "status": 200, - "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/b964056ececb46da9992ce8127a28781\",\"attributes\":{\"enabled\":true,\"created\":1563496012,\"updated\":1563496012,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/02e31bb4de244ed7aaf525dbd1e50e00\",\"attributes\":{\"enabled\":true,\"created\":1565307490,\"updated\":1565307490,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "200", @@ -790,93 +1004,1537 @@ "content-length": "261", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:27:22 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "cb212357-1bc5-4134-9469-a8319ef91e8d", + "x-ms-request-id": "3cee026a-0dba-4d01-abfa-8a8d4f671f33", "cache-control": "no-cache", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/backup", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 200, - "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-\",\"deletedDate\":1563496043,\"scheduledPurgeDate\":1571272043,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/b964056ececb46da9992ce8127a28781\",\"attributes\":{\"enabled\":true,\"created\":1563496012,\"updated\":1563496012,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "200", + "status": "401", "x-ms-keyvault-region": "westus", - "content-length": "420", + "content-length": "87", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:27:23 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "86ffd3d7-4464-40e8-9656-459f2a76cfdf", + "x-ms-request-id": "3e99fd09-28a2-4387-b773-6aac3f6396fa", "cache-control": "no-cache", + "x-content-type-options": "nosniff", "expires": "-1" } }, { - "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:09 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "2b8c9b58-f579-4d2e-bb22-5dc1781c3000", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/backup", "query": { "api-version": "7.0" }, "requestBody": null, - "status": 409, - "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "status": 200, + "response": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnRNck9qNnQySEpnbm1EMVR5SVU0Vmd1VVVKMEJ6Z0dIdWd1MGZ5WGRUQS03WHNrRTg1YmJfRVVzX0sxT1lyaHZCNHV0NWRDcFhndnlGRHlwd3VxSGlaWXYyb2lCdlM0dVdyU0Z3OUdzU2hpdFdKdlE4bW1vbm8wa0RKZ1RyaWl0bGhJSGJHSExpd0x4NGNEYzNYRURhdW5nN0VKcEpxc1BzTDZxbS16Vy1XOTZtLUJzODd2a2lCQTJtd29nTGlMYU5VaHlVZXZNbE5hMHlTMG5vZXJ5V014UlNnYTlDV3pYdjZHd1Vpc1hzYUw1ZUhmS3FILXZfQjFuYklJb0VXWEpCM1RWS18zYjFVNzlCOGF6alFXYTNaS19XMGVDT3BiNEdJdGh2ZU55ajB0WmN0ZXhMaG4zVGs4czltMmVxY1FnSGZmLTFyWDl5ZW5iLWxTbWlYM19vdy40bGh5ZFlsQkpobkY2dDdUajhTcWJBLkw3cFRRNmJMY2NMbjhPLVdlbzM3SDZIcEVibDhnX193ZGFPOW5ZSGtXSXRVSHdsRFJTUVgwdVQ5eVNCWnZHUHhRNEU4LWVTOU1KSHZxb1JUSlFWdG9Cd1NSTFUwcnM2X29WU3VMTnlQNGxRazN6VzM2VDVRRk43N0lNWVhkLW1ScGpRZHpINFVBSGFzNzlORHVSTS1yWGJuVkZhblRsTGphZDdiWFVVczRsRDlwSjA4R204amk3b3B0T0kzQ1ljX08wLXB6QVFhQ2I4ZkMtem5LRVFCVlBrdmh0SnRXX1MwWWtWTkU2SWxYdWhGYjRZUlgzUm55NW0yOHB2alp0cVZiSmFna0FpN1NEdEdkQWtlM1c1VlZsM0FvUnVmQVRMZk9YUi0zZjdwc1doTEd2ZTNCZXlHMmYyaUNWNEtqUV8tS0RLaWU2SWNBekFRT2N2Y3ZNOU9TeElTeS0xOTNreS1lYlB0bWwyQ0NTQmJxZGtpY1F4dVNJbzk4UHF4Z09hcEQ4a2lGazROMWhYUnR2bWdVZ080UHdFa09SWDFLWEJkeTZDOWFGUzZYS0Q4SE81cnJicjV2V2dlQy1rdkxKQW5Md1VtX1UwanRjQ0xyRHF6NlBQMXRzTHVFeVhWcE1FT3Rfb1RYUDB0a3F3WVB2X3ZhbW5JelFTWVMwbWpRbHBxRldudDdaaThSZzhCN3Y5XzlEb3hrV3c4bEg1UFFIQVBCM0V6UHNhWV9GbWdpdmRMRmhvNTQ0dTZYaWJ1VER3V0ZaeUhobmNJR0NLd1gzb1c3YXNXaEZRZTFkZjRXa1dvcTEzTXJHX3IwNU41b0Myb1otX3hjSmVWNmNhcmQ1Q2dKSlQ0akNWUnV4Z0gtMDFqaUtUcU9nTU9NUnpaMTQyYmdfb29Pd184RFE0M0dLbnlJUjl1cmV0V18xckZ1V25YZTJUMnNmdDZaM1ZhbEhKYjBULU9zOWsxbzg1dWpGRm1WOW1JekFpR3hJOVNDZjZtVEdhdVFGQXI2V0xjTTJJMFJwR04ybWRGT2h6UFdqcl9CXzItb0J0b3RIS1lzTlFiekZLcjNPVWhPbjdSLTkwY2dERDlPdW5yd25XMFM0WjUxRTlFbTFHdVQtYWYxeUd2YUE3OEJTclBSSUpmS3B3aXVvR1NtUTAtbUN1bXRvSWt6bEdpY3VzZlVDU0ZrYy0tZW8wclMySGxXUTNOdzRsX1VzdHRpVVkxSEJyWkpuN0lucmlCWnFLZ2JOYVBrc3Jud0hnZjRFOXF5TTM1a3dMd2FXTldoaVA2Nkd3dkcxWVJVZUtBVm9obTRKU1hfOVE2Z283LXh4YnRZb09SSDhUV0I3Q01wOEEzalpPeEViNG1vOUlmVkZBeFdtVXNzNVJxQmI3b1ByZ3RzU3NUcXNfQUw3MV9DVU94cmY3X2NGcWxOY3RIcDVMUkRNRkZtOXNoQ2VMQzR1b0xmb0VDaHFCb3NmVEE1SEdvd010a3NPWUZ5T0JQNnJNakVEWDdCQUNTcWs1Ry0tS2F4S2pna1JJQ1pDcnRwUGVDcVQ2SE5xVjVkRkZpLURPRFhza0ZQUzJSRERHdnREZFJYamtVVkxIaGVYNlZBaXRuS1RtcUllcXlKUFA4bU5MZ3F3bW9kNmQzVTJkS2huWF9ZVFN4bUYzeW1pb2liempOT2VCaDliM09za0hLaXljWWVmOFlPTDNCdnpQdEYxLWZSZ2JRSXBBTVZ5QkQwdjgyd25xTTlmODFUUUVrQ2xScXRyTDdOMENBb1gxcWloZkoybGZBZEJIR01lZUM1ZlpwZ0dOYVhFSllEZHdnSi1JeU0zZVNaZzlmLS1RQnotQnI3UWNEdXZmT29lMmt5ZXNHSEhjVkZGaThrT2loWGNLSEF4VzVwVUM1UnA4TEFvS3RXdVk3dzFidV91cmZDUVIweGJKZ3liMVkzSTY5M3Z1Q0tROFVBYXl0RHp0aGxCX3IycjFjNG1OS3E1c1MtQ29INnc4ZXZmMk1jY25PVG5QSERGbmpOXy05RUFGSUpEM2k2S2M4M3hMX0lRVnJYUVRDUEZia3ZadEdNZktSN2kwVzhZdERvMzkxUjBmRzdidl9Yd1BBM1E3UDFUNGZHeFVJVk15T2ZTX2k5U183TGhnRmZYYzk4cHZZMHBSUmN3Ul9hcHBVN0FlYk8ycUZjZEQxYmhPdUhyakh3al9rZWM4aXlJYVJIdTFrX0hTTTNlM0Jsajgzdld3ZjVtMXpyNHZadEs2dGFJN2hhcXdrRWpTaVFaek1SRFJzbHJwS3ZqdE1MY2lZTDdlWDNoRXRUcmhZLU9neUhvNWlaajdMSmVEODh0MnNCM3VQUlByX191S3Mzejgwa0NRNzhBeHd0cHZhdGZnTmNNR09PWDZ1TTMwa0FkTkdROEtuTXRWbWo4ZTh4YmZ1bWRNYUpLXzJrVFdVX3F5VGFXR1dSZkRJSllfT3lmZVk3aE82T3JuX0RrT21jWVI4VGUxZVd3WnVXMUhZNk1yc1IwSWltZmtzeFpudzk3WUpTOGtpZFh5Z1ZpQ1hTNmlDeGoxaUNzYm1Ya3RoUHE0N0l2ZTlOZFlBZXVJWi1VRlczUkYxM3lXUFhYTWJIbFRwN2hVbnVwcG1HSjZXTWEzWk5BdUVxRC1WMVBHUGtQcGN4RDUxUnRjUGRKOEcwZklMbm81OGNrM09CcWVfTEVYM05SVGgwRmtXWkYzTFAzZjZySzd5dEw3Y1NxNU1TYkZ4R3o0ZzhXNkZkSkMxY1hCaTJIWjBBdXowd1d3MWNqb3lQTDRtaGx5b1lZR1Y5cFpOdkVWOS16MmdkVUZKa2dwU2pvWFg2VVMzaE1oTnVHclBiVFhXRmlpcnhrOGxKM2pkOEFCYzdpckNKMllVUXZzWlZFMHUyd3gyRnRxTmlpSUlaMzNoRkFvZFo5X0pQZlREMXE5alpjSEhmUFN1TC1ZSjhBS1haNkNBaW1KOEEwSURSZXdxVm56emZMMVdNeGVlSnlvV0hVV01JUEJtMWZ1bHhhUXhlVnNIQ2I3ejZRMWN4d1Nxa0d2S0ZLNDRxT1dPT2tIMGZ1NjJRbUY0LVRzQVNsYnlObURRQzlxeE95dlpfeEtONWhkeHhuWDFfWkl3SWExTU54OWR0QWZxLWNLQVk5ZnlpTUxRZTB4SExGUkk0dllRMVpDT2NPUGNUZDZ1bWxpQTAxVnloNWI5M1VRUnViU2JzTEdtaEY5THAtS1JUSFNLTWhXZGhPWXBYWjlyR20zQy0zdHRQRTd3SFliZ3RlWW9oTmg2M0dzU24yMDRMVlRoVWxzc1c3TlB2cDBRVXBfQVhNYjZGNHloLURqREszQTJyeUtfd2liUFBJN044emloRk5qZFJGSkVmYlZrQWpFakhxYklLMUtHM29TY18tWmZ3aDRZdjFkeXhwU0JqTDNDZ1paR0tod3J2M2M3WEpMQmhwZDdjMEsxSC0tMExibWVuMG42WExhLXVTVDVFYzdYdWdvNmo1aHZZTGFHT2hJRThxY2tSRHI4ZF9LUXFlc2Q2VG1wdVdTeUc3eGRoRHdINWZpZ0JFd243SlIxTmNRS0JtVkpub2d6SEp5SEIyRElIOWxYdC1oTUJhR19rS2VjM09iclB3Qk4tdlhQb21MajlpU0tydkdpNlpIdmMtcERzcndOQzFjUEVOcWM1cUktczJ6a1VkX1RTUnNTcWFXcDgwMkt0UzlMVjQ5Wm1wWUZXOER3YXNqeXE4bjhXQXhsSmNxLXMzUkNrNlNBeURua1l1LS1YUF9EN1FVZk5IRmxsejYtNnFVcHpoUTFrYWZ5OHplUWhNR0RYN3Q5WHZQZ3NXN1h6OXd3NFYwQV9NdV9BaE9EU3VHcTRFQmpDZ2Z0X1E5UGE2MklUV3JPZ1FlblN5QVR2WWFlV0dWS24yOVNvc05TVmpsTTRJal9EcU9PNzRfb29wVE9wd25HeGx6S0tpbm9rZGl1TWdhVzF4eWRJZWtNeHc2ZWFTWFVUYmMteWpMWGt4b2w0UjVVelNIMGxPb2liVlRtY2FGSFhLQnRBZnpQbm1SaFNXMldfS3VoWFFfOUgzR3pFWFJEeE1uanZzaE9ieTljRmFtSTZzZkxBbThTQnh6Ry1saTdVVzFxczFkaUUwM1FaTXVqa2F2WmVSd3N2eHh2UWJreUk3WmxKcHA2QzBPMG45QzF4ODV2V1RfUWRwQ3hBT1VLOHVfbEV2U3ZOb3NnQ0kwR2NMQ1loVWVnT1kyS29Pek5HZ3MxazE0RTFtell3a3FWdUVJc0lESW1vWVpibFU5QW1HbURoVExzc05IT00wTTNmaXRFVGxsS2tGVzBIMVk1OEZsTXMwQmVXWGw1eWpIQWlCQktJMGVlTzJrWks0RnN4QzhnRzRQN00ybmlXb1psT053aUFjTjFvSXlyS0REc3JWVkQ5VVBFWUZ4amZNTHV5bjJBS19WUTEwZHhHMl9OZHk5amNLc2RiT1JXUXhCTTNKbHdWQXF0UlpuZGZIdlpwQThtSUctWXl4bmMyOU93XzNmRjRPYmdoUXliV2Z2SkxVMm1YOVY5SE9QX1lBQ2ZHcjFqZDVJRUxDRzk3ck5iV2wxdUJFaVZNM3JQWklyZk1OdnZUeWROTzlEdzNKN2NVX3U5NkktcVUzYlQ2RE1ZbkNyLUhtTDV1SU1vSzhtN2V6Um1sM19uanpSSlNLOXdyY1luUVJHZFZzUUFHZFFDZHdEcklqMUlPaHFaUHFwck9NRDhsZ3ZhT1NpaW5BVUw5NTlxSzdpMEJCQUpHWEt3azNZWEp5OUtoNm1vUnhJaUVZWUJfRzZJWEJCRURnMmhoQS1KVEdMRHU0a2o1S24tQ3pnNkVCTnUyMVhyM0ZTTjdkQkNuZkRxN0h0V0VJWFdGZTFGQ0JndWlTRDBtTnhvZVRGNHZudUU1cURLTXVoc2g2WmhxXzEwNGpNVnJlRzVaNVNod0hiU3dKeXhZdm1nZmNhMWpIMlRfOXlUMk1xd0FvekpRX2dJRkx6V3lrX0VqOTctOTV6SVBZWVRtbloxaDZJM3JHZ1FQcUhwU09McEx5N0x2eXl4TmJMU2N0MllaYno3Z0RPS0JqRE95RDZFbGl5RFU3dnpCamtWODZhOGJOMnVfQzNXZThSSGZfMTg3UGVJaExqcXpRQ2xtQzg2RjJtRXJ5OThUckxuRmt4ZlpPYkRBa2EzZWVLdDVhR3N3QWxOYXpFVDZUbDBSMVVrWms1Zy1LYUpMRElCZ0t4TXVDRXJ2UU56Mktkd2R2WE5aTUlVaU5GWDRGSjd3VEV6YzZyODN3QXNUMy1aVEJHeG1iWGVuaWlGN1BIVEkwSUpYWkdvMEZjbEN6clBuS0R5MUFpcHQxS2YzTVMxMENwM190Y2JNWloyQUpYRTBLVmpNcTBCX1d3UUFYaEd6bzgzOThXU1lScm4wM1VOaGoza2tGR2FtWWFNejR0V1NMV0hrLWhRYXlkTjgxZThDMkVsQXBGR0o0bmZ0RGEwRTJxdFRUTU5Kc1VGb1hpWjdKdWRHYVZ5OEtSV2ZkWVZwaVZnaWdJamtxdmM4RzBpX1NCQWZxMVRfS1p5VnFTOEQyUGwtX3prZkVub3NReE9zUG5hMUV3ZV9UWWNKWDdySXU3MlA0NzVVWnVuMEEua3R0RldDaXZTWnFFUk84NkRuNVBBUQ\"}", "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", - "status": "409", + "status": "200", "x-ms-keyvault-region": "westus", - "content-length": "121", + "content-length": "6402", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:27:23 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:10 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "07b03c5b-5a47-44a0-bf87-c8e8a860be3b", + "x-ms-request-id": "740c4a59-8616-4fa0-8c33-6ebd639103cd", "cache-control": "no-cache", "expires": "-1" } }, { "method": "DELETE", - "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-", "query": { "api-version": "7.0" }, - "requestBody": null, - "status": 204, - "response": "", + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", "responseHeaders": { - "pragma": "no-cache", "strict-transport-security": "max-age=31536000;includeSubDomains", - "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", - "server": "Microsoft-IIS/10.0", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", - "x-ms-keyvault-service-version": "1.1.0.872", "x-powered-by": "ASP.NET", - "status": "204", - "x-ms-request-id": "52b947de-de83-451e-8d0c-e836fc4003a9", + "status": "401", "x-ms-keyvault-region": "westus", - "date": "Fri, 19 Jul 2019 00:27:33 GMT", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9b3c7f0a-dfbc-46e1-b7ac-d42a75543daa", "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "357c4149-5794-44d4-9f0c-3f62b4da5800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-\",\"deletedDate\":1565307490,\"scheduledPurgeDate\":1573083490,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/02e31bb4de244ed7aaf525dbd1e50e00\",\"attributes\":{\"enabled\":true,\"created\":1565307490,\"updated\":1565307490,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "420", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7a894b7b-44b2-4bfa-b2fa-ca13099a2b5e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6b4bb840-a3e4-4481-a6f5-87cec6f35307", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:10 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "aa4da8e9-d730-4e09-879b-929a87f72e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:10 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cadf84e0-e045-435a-ab0e-01f26f198aa4", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "99afb1f1-1b84-45cc-b2dd-eae023b2aee3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:20 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "ecd18f61-94d0-4ee1-92f3-cc3db8ec3d00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:20 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "040dd1b2-23d8-4ff3-864c-4badfff762de", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:30 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "4723ffa5-555f-485b-a3b0-6ff0afc3358d", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:30 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "50e4dd54-491a-4f63-8e2e-d7bf57ba2800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "8c8b053a-5ca5-4013-9ded-62064bff45b5", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:38:30 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecretnonexisting-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "abe3d15a-9692-4a98-ba43-653551f1c96f", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "0c0dc299-8c68-465a-97fd-3921da153900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecretnonexisting-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 404, + "response": "{\"error\":{\"code\":\"SecretNotFound\",\"message\":\"Secret not found: CRUDSecretName-canbackupasecretnonexisting-\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "404", + "x-ms-keyvault-region": "westus", + "content-length": "126", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7461da27-8fc5-4edf-8f31-1a0489116f6e", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1b64bb82-8798-4e8c-839b-349d64d40ce0", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4999da09-11db-4c98-a0e1-859a78106200", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "PUT", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"RSA\"}", + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/a51a4ab4393c42498b078fb863d1a0dd\",\"attributes\":{\"enabled\":true,\"created\":1565307512,\"updated\":1565307512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "262", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5fa1bc9b-5bf3-4ae6-95b3-b85792392d2f", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "49d2ea16-eaa3-48f6-bfd5-673b0229f967", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "357c4149-5794-44d4-9f0c-3f62cddd5800", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/backup", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnEwZUVEeUV6TEs5SEMwZnpmV0Zjc3pzQXdYUVUxUDYwNE5XRE8ycUFCb3VRLWkwZUZ1MjRuTVFCbVQxcVhRbHdJek1RYWdCYmRiS1N5a29CSDljdnBXZzRvbm0tZVVxVlRaSGR2S243dUt3V2xiQXdUenJUamZsT05ObHFrVGlLRmdCWGpBMGRzeU1VZEdXTHFUbDlzVnZieGR2a2RwLVpPZk42czh2OEh4OGJpeHpUejlYTEczY2RUXzd4ZHkyY2szdFhRN1hDMjNSbnJ0NElHUEtoYXU2MVRVNDZDbnVQU180N1RuaGRPRGo5Nno5aWdQY2FOM2UtYm5BNUZfZjNFeDZ5MFdUUmgzVl8yQURidkdLN0FZM3hFWmd0cTc4X3dzckZZcDA1OVc2RjB5aGo4MFlqSUFRcm1PTHE0MDhNbzIxQmV4ZnNBMEJjN1NocG5faF84QS4ySG1POFRyQ3huZ1pubHA3WFJla2RnLmZ3ZW9HOWI5UlNlamlmNFNzaFRXUXZVczVHclJLN2NvS0pKT0g1UkFQRWFNRlA0Y2t2MHRIRm5yOThvcTNlM0pvMFNGTHRKcF9qY1NrQ005NUw5NXlfdWVoWEcwWThYS2xoMlJGbGFidjQ4ajRBMV9YaXFXdGJNMHdlbXZUNUgweXhwd2pFZDRwSTZrYXlaZ1QtMHdWZkNHOE5EYmNReFlkcEotSVVWVVkzemFvLVROTTJackwwUzBiTXpzYk8zQlRtNTFxaW1FT01MN0F2YThJbWZDY1hmbkd3aDNHY0FHdllHOGF6UGFvNzY0ai1ldDJNeWtrX3VxTUZBbmFYdnZnRjE3LWxkTk92cHA0UjFuaUEtdHBxcjRPRjZJLVBiM0ZVUkZvQ0JxMFN3a1RkR1FueGVMTEpZOVRaY3BsdjZGQU5VdjZ1ZkVMeURpenQyUEs2emhxWlhrUjdMXzF2UUdRTkQ0Q1pHZDBlbEhQUTkzZjd6Yk15X1lvR2VKQVZvcHl4QlNQSlNwYVhHOGhVSmYydklzbGVJZFEzUkRTbWxTcGFKSE1kcVJuX3BUWGtqTkJyQnVCeEdrWEJrZFpDMjlfRUxMQ2dsRWM0ck4xMktWR0h6bTVKYkhqNWRneU5TYmJsZmw1elhKci1rWm1Rcm5MZnZZbkswSk9GQWVJVVR1cmcyTk1ReHhnbnR6OEdnTDZIUTRIaDdBTDJYSDhGQzZMMHFfeTN0TnROYjVZUGt3TzVDYWZWU05fWE1xOVFZblhYYkJsanhCcWN0S2FKT0NGQUVVSDBaYXpjNkJDN09aUkF0c2FpNDkwREI1aHgweTZMUXVyaUI2T0YxdmVpa3dOcFRQYnhqV19rOWZiTWJWMXpYdE9nNGYtVTNtcU9yWm1MaG81ZkVzSU1XT1h2M0Y4UWJNMXhzTlZJekdORzBnb1RMZDJnbDZwU05zZVRHS3d2Q240cFl5NUFVYlBGeUtpMEM2Z202T1NWY2o5cVJzdnJOMkp5dXBac01lVUw2SGctb2lHbnJ0dWIxaVJlMHBENi1ORjRpQ1IwWGdhNHZETnRnRXU3OVkzS1U5ZVJOZUZEY2I3ZmM1STNMTzRXYXh0M0ZzcWM1UFRwOEFjSktzNGc2VVlNbDNKaG1TUFFLbWN6RXctTHEyZ2VOczhienVfU29aLVlDSGZjRDNYQXlBbmJqOHplSHZzZkFCSWg3T0ZGWTktaWNvemM0cm0ydm1ZQUVQVGlna2ZLalhoMUI5c0NPSFB1Q0pDYlBZU3l3bEZiYzh5UW5LenVPaU9Rb203RndxVVpCTkRjNXBDaE9ldWktdllvQjN6S1NnQU1XT2E2WWRTLW9XT3RVMTF5Ni1jV1FTVDhFQVVwZTBFM213MTQzUElXYUxaMWdQWG9XUUlpUlhXRy1BOGxNR1owX2kwMnFsWnRCaGxQY3JrM1lVQjBZeGktaWs1d2hILUdHcURsUDF4OXFiZTFqS195ZkdKOGNjbGRBRkNWV2hTXzI1aHRQOUg2ODlBMHEwVnh6SXRON2Ftc1FWeXRHb1J4VU1mdW5taTdEZW1wbWJVMW00Y2l3V1lBdU5nVGJSVVpad29fbHl3SjVDOGNTd05WQ0k1b2Y3dFBycXc4cW9XcEFqRWtmQzFQUW1QTWR1Y195MGdDVlhBa1FhRmZDeXA2bGhzMkQ0djdPUldOWFNqX1JUblRwQ2ZkNHFoR0YzUklqZUFwMDFZYXc4enpmWjZrWDcxSWVrWFk0V3p5UVlKaVBrS3BnbG1OM1UwVlItdVZXSTVXTFpvZmU3MWpiRWN5VWp6TTdrUGZqY2ZJUVdCS2lJRTNWYy1UMVc5Nlo0ckoxOTktd00zVUs1OUF4cTlIZ2pGSnNldGxyUjhXVUlYNFN6bjQwYkYxRGxtYUNDaEtfT3U1UmlxR2VBXzFPbjhURkNxX1N3MGoyOG1EUC0yQlNMa0JNc3Q2TDN6aTNWaFdQaXNiYXV2Q3NTUjRYMmd4WVpjXzJJd2M3OF9zWEhhMERhakdOa2dYNWg3Qy1PMjhCMW4wZUo3VkhaaUkzU0F1LXRrSi1pd3hBTWJBVGgzUjZYSldhejlhVG90RWhHQlhjX3NSd0g0QWRpT3dvSW1vMlNMMUxRbmoxZzBUaEhEeFZnTlNraDYwSF9NeHVabmN1ai00cFk1TERyaXBXSXBISWx6RDFCODBCVGI5cDdjTGx6QUQ2LXdHcVhFQWxFTjRfNUk1LUlYdlNBcGd0MGVFbDQ4MGd1d1ZEd1c0UC1nSTYtRzNGYy1uUG1yUjBGX09GSHlvRWFvUkpMeGpXN0hwcURuTUoxMzdIdElpeWlQdkFxYTZnSmZmcUxIbGdCb1N6ZDBiVHNkeHpiUXp6NVRKYk9mSzBKMDBueW12Sl8yQ1lJX19MY2NQX0VxWnFSbVZQREhZVmRWR2Jpb1pNYVNvUkdSNjlCTHpYb2FsTHM2eGhWcmIteDVjU1NJZk1pa2tXbUJVczV1SWxZVmI0Q1Uwbks1NVhJaXR1bUFXNV83aUtrTnFVUXpXT29CdTBuT1JSMlRrak9GN0I1Nkl4NVBlY0JDSE12V1YzbndzSVd4UHlMUTdUOW9zcFRHMEhBQlF1WnlDZjhCRTExMzNlck1iXzN4VG9fVFNuS2dvVVctYVF4azRCRFFjc2pfSFhMXy1TU21JamNfY3NBUnh2QWZfT0JrdXNSYWhZVXlCOVhDQkRGZC13Q0JLcFJFRUhFaHo1YlUyVVBQLUt1d2JZMkI4VzJJMlpKOVNoWkZhWXoxdmItS1FZUEsyVUdINVcxYThHZEFGT2FpblNuM1d4WWlmUnJpQm9qTEluMnBqWTZLcERLV19lS3NDZExvTzJWZnhsZkZOSW5NcF9DVHdVendXRjdnSHNVWnZaZ1Vpcm5mM3pwR3N1RTJSSlBvZC1PLUlDZFNHc0Z3WlZmV1dvZ0w5U3NrWjhtMklKWnhpalZpSnE1NUpqeElRczYwbnl3TE4xaTdKM1hkRm1Xb0VsR1E0aEVJa2Fac3I4XzYxbjJ6TF93YkxMaWdLc2FjckpXX1ZJS2U1TXNpc2RFQ215TGh0Ym8yQlc3ZzBESl9aVGFXNWJ3Nk1CUjVVeGNJYkRQRUxGWUtUbEVxVm0wcGVXdVpvY3FLcHFEcldaSVVSb0dKeVR0UFlmdFlQMVhhcmxNeHFJeVR3d2JoRE1iVkluenFpcjBDVTB1SmxreTZ3YndoRXRGQ1RIbXh6dmxoNmN6dVUtWXFKa3JUanpyV01ST3JXallXaV9QNFpGUVJFRWtjRTZPNEd3UUN0V3JEakw0VHpHMUpSUTl5dllCS0lYWExmNnl4RWxvcmJXTUo4VjdKMkRlcDJCUWtxT2xQUDVJaXNndHRKVzBmUkJQUGx6WXI0cVFpVGRnaC1WS2xBclVibFl5WXNtTUtEb0FOaEh4RFBzTnR1bUo1MlZNVERGQmNEMGw3WWVWYTkyX3BSaVNuLWx4R0RESG9penBpTWZpQlByTHhyY0h1d3VFcGVNOXNpcVhianhGN3BUU0ZRLWZrb3prSE8taHJqaFJveHF6SnI2OGZoSFRkdlNaQ1VzbWlUYWtkb2Y0X2lrWkw5TVUtbGl3U25feXpmaV9odzhWc01zeGtjQzVwTUxRa29tS0YtbDRySUxXOWFaNS1LaWsySlpqOVRUenR0dWRxLXk0NXQwcWd4dDlZNEZ3M1o4eTkyRlFXQzhnY1N4SXowS3FwNVpWN0hUMVV5Rjg0VUEtOEduUG9Ob3VoT0NfX25DYWNkcjBVUVlhMHFKNEZTVzVIUDZjakwxSGRzdHB1X0RiTW5NSDd1M2I2N3VCeGE0a0pxR1lHZDZDTU5mOHpTOS1SODF1TXRkbG81NDZtdlFCbUF4WlFZUkJ0YUlGbFRGc19NQjJFbGx5Rl83azd4NFllS2twX1JNajNTa0lvVzFxemdFbnozeGdfdXNZQ2dEN3EzdG03SDc4UGlIaFBHX3lFX2R5N2dPS1NuOVVRcEdsck9GM3NpNnBjX1FDT1pxcUpBSm03MUNlRlp2bUVjd1BicWo2YVJVOHRGYmhscUg1QjJpSElOTTFCODl6SWRFcC1DTEozc3lfaUE4Mk5jRFRwM3puRHVpZV90VElsTTA5XzJKVmIwcW5uZjZZRTB5VEloNEdUc1RlLTMwcjhZa1l4SXEyeFZiOGdkRWpfazZBOTQyaThsWDg0REQ1S3NaM2V0dWZqQXBMU2dmaVBOejAzT3BNdC10R09VSk4tTXh1RTlxOEtVX1ZfLTQweVV0ejFmSWZ6T2J3czlSZXJrVU1oVTNuQlJUc0ZBZEoxMlF1YVZhWEhLNDJfVjJRS0FlMU5ZdkxDR0k0b19CWUsxMVozSEowVXhYdEg1TENqUF95VVlMVHZ1akoycVk1cHZuQWlVaXdwU1lIVThqNExTVlVKSWVSeVo3Z1VsbUZIUEpTY0liMHBfclE1N0lLWnpPbkpRVHBIcFRNOHRhendkQ0J6c0ZQeDE3SHR4czdRU1NzeVpQRVlEQ1BEc1ZUaUM3OFNKT3FlMVVBRms5TTZBbjhYYTZicnFGajMyOXR2NktsMzFhVjljeUt0RTJFQ2JZbUx5TW5OUVBHNFRzSXhQUDhfWF9kSmc2VG4ySjVYOUs4S1VBbGxBdGxJZHZIZ2ZhblozQmpMcVhVWEZfN3hubjNWdnFhMWpVRUhEVi1oSzdhclZfYWd1UHZGNlNmRk1TV0pYQjNvY3hGTTZCbldLWE50LU9lV0V6V1VoR3pKbTg0Zmx3QUJnQ1EzV2FwcExoVjZZZTJjdFBxRU14Z1E1Rms5TkVKZ2RkQVBrU202QVFHYlRyT1RSc0RzZHVYMkc1QXJULTdPcUdURlRGQVlZNm5Ma19CNnhNeFZabUx4bFZOZnduWm5NbC1CTExuZ0NzbFF2R0VFdEU1cU1WemQzaE5OY2lsNlI5WWZPNlJOUkFTZmItbWZnWktfOGhVQXM4X1BiQzROVWZzYmY4ejlHRW50NXQ1RF8yQ1lDNWxxdWdqT1NuTy1va2dJZTJGOURmdzRyalJPQlFuaVZweTFYNmdub2RHaUFSc3kzTXA2cXNrMzJHQ3czSXF0YjZCZUM1a2R0T1lkempyV0djSThyM3NsRWxTdF96a3czRG9zejFraUVPWDNOelJRY1JzMktWRFZ5RXFHSkZQWkE4X1lBRGxLSm5YZ2IyZHpVQnVKejdDQzJDZFpHWGtETlhTalp0LUpmX0NWVTl6cFFhUGZKS0JOQzVWQ2ZDdXJCV1EwR2xrVmtYZUl3M0MzeXpXWXBJTzBkUlVqZUlLTUl3QlI1aGwyRDNuMlRZcjhlbDAxNkp2anRBSnU3OWNyY1NvdFdodzI5RkUzMWxDTU5pNHlUWkxGNUJ1clRyWDlTYTZrNzdCSTRoM0M0M2JfX1pETG9WQ3ZLQUlkcHZMMk04QjVoSkt6YXNlSnJYdHlTMGVKM0NXQXd2REZUaTBEeUJDanpxN2QzS3FXVk96czB1SmNvTU1yRzVJSER2TlVrakdXbUFHaVhrSDZhN0w5ZmkzS19KeUxjLUJxM0ZhNE05emZSeDdtUGxmRjZEY255UzVNUkJUb3owZUsxdXprSkJXSV9ZMnNuLV8yQnBfSWcuQ0hldFNxWU9SSWZVbmdvYkw0SnoxZw\"}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "6402", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a63c7101-acb3-4b99-a5ad-384cb56bef0b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:31 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "b072f53e-4d66-4515-9f9b-f7258e7451c3", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "bebe4b5f-8717-43bd-aced-a08707513900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-\",\"deletedDate\":1565307512,\"scheduledPurgeDate\":1573083512,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/a51a4ab4393c42498b078fb863d1a0dd\",\"attributes\":{\"enabled\":true,\"created\":1565307512,\"updated\":1565307512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "422", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7cf231c8-aa73-4492-99c7-fb7d04fd7c3d", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "22080a3a-1047-48df-9e54-37da0918c6c7", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:32 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a05e3174-6a90-4f2e-8601-6ad69b643c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:32 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "e9cb76f0-5ed1-4a91-955b-0c1689843fae", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "0748987f-6252-4d3a-93f8-488e744fbd41", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "8cc938c0-8819-4c53-97f8-3a2dd1106300", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "36c9d81c-07af-4de9-b9bc-17b56a4329d8", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:38:43 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8cd28478-3c93-4521-b624-308f56ab1cf4", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:42 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a0a20ca6-d951-422d-bf55-e23904a25f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnEwZUVEeUV6TEs5SEMwZnpmV0Zjc3pzQXdYUVUxUDYwNE5XRE8ycUFCb3VRLWkwZUZ1MjRuTVFCbVQxcVhRbHdJek1RYWdCYmRiS1N5a29CSDljdnBXZzRvbm0tZVVxVlRaSGR2S243dUt3V2xiQXdUenJUamZsT05ObHFrVGlLRmdCWGpBMGRzeU1VZEdXTHFUbDlzVnZieGR2a2RwLVpPZk42czh2OEh4OGJpeHpUejlYTEczY2RUXzd4ZHkyY2szdFhRN1hDMjNSbnJ0NElHUEtoYXU2MVRVNDZDbnVQU180N1RuaGRPRGo5Nno5aWdQY2FOM2UtYm5BNUZfZjNFeDZ5MFdUUmgzVl8yQURidkdLN0FZM3hFWmd0cTc4X3dzckZZcDA1OVc2RjB5aGo4MFlqSUFRcm1PTHE0MDhNbzIxQmV4ZnNBMEJjN1NocG5faF84QS4ySG1POFRyQ3huZ1pubHA3WFJla2RnLmZ3ZW9HOWI5UlNlamlmNFNzaFRXUXZVczVHclJLN2NvS0pKT0g1UkFQRWFNRlA0Y2t2MHRIRm5yOThvcTNlM0pvMFNGTHRKcF9qY1NrQ005NUw5NXlfdWVoWEcwWThYS2xoMlJGbGFidjQ4ajRBMV9YaXFXdGJNMHdlbXZUNUgweXhwd2pFZDRwSTZrYXlaZ1QtMHdWZkNHOE5EYmNReFlkcEotSVVWVVkzemFvLVROTTJackwwUzBiTXpzYk8zQlRtNTFxaW1FT01MN0F2YThJbWZDY1hmbkd3aDNHY0FHdllHOGF6UGFvNzY0ai1ldDJNeWtrX3VxTUZBbmFYdnZnRjE3LWxkTk92cHA0UjFuaUEtdHBxcjRPRjZJLVBiM0ZVUkZvQ0JxMFN3a1RkR1FueGVMTEpZOVRaY3BsdjZGQU5VdjZ1ZkVMeURpenQyUEs2emhxWlhrUjdMXzF2UUdRTkQ0Q1pHZDBlbEhQUTkzZjd6Yk15X1lvR2VKQVZvcHl4QlNQSlNwYVhHOGhVSmYydklzbGVJZFEzUkRTbWxTcGFKSE1kcVJuX3BUWGtqTkJyQnVCeEdrWEJrZFpDMjlfRUxMQ2dsRWM0ck4xMktWR0h6bTVKYkhqNWRneU5TYmJsZmw1elhKci1rWm1Rcm5MZnZZbkswSk9GQWVJVVR1cmcyTk1ReHhnbnR6OEdnTDZIUTRIaDdBTDJYSDhGQzZMMHFfeTN0TnROYjVZUGt3TzVDYWZWU05fWE1xOVFZblhYYkJsanhCcWN0S2FKT0NGQUVVSDBaYXpjNkJDN09aUkF0c2FpNDkwREI1aHgweTZMUXVyaUI2T0YxdmVpa3dOcFRQYnhqV19rOWZiTWJWMXpYdE9nNGYtVTNtcU9yWm1MaG81ZkVzSU1XT1h2M0Y4UWJNMXhzTlZJekdORzBnb1RMZDJnbDZwU05zZVRHS3d2Q240cFl5NUFVYlBGeUtpMEM2Z202T1NWY2o5cVJzdnJOMkp5dXBac01lVUw2SGctb2lHbnJ0dWIxaVJlMHBENi1ORjRpQ1IwWGdhNHZETnRnRXU3OVkzS1U5ZVJOZUZEY2I3ZmM1STNMTzRXYXh0M0ZzcWM1UFRwOEFjSktzNGc2VVlNbDNKaG1TUFFLbWN6RXctTHEyZ2VOczhienVfU29aLVlDSGZjRDNYQXlBbmJqOHplSHZzZkFCSWg3T0ZGWTktaWNvemM0cm0ydm1ZQUVQVGlna2ZLalhoMUI5c0NPSFB1Q0pDYlBZU3l3bEZiYzh5UW5LenVPaU9Rb203RndxVVpCTkRjNXBDaE9ldWktdllvQjN6S1NnQU1XT2E2WWRTLW9XT3RVMTF5Ni1jV1FTVDhFQVVwZTBFM213MTQzUElXYUxaMWdQWG9XUUlpUlhXRy1BOGxNR1owX2kwMnFsWnRCaGxQY3JrM1lVQjBZeGktaWs1d2hILUdHcURsUDF4OXFiZTFqS195ZkdKOGNjbGRBRkNWV2hTXzI1aHRQOUg2ODlBMHEwVnh6SXRON2Ftc1FWeXRHb1J4VU1mdW5taTdEZW1wbWJVMW00Y2l3V1lBdU5nVGJSVVpad29fbHl3SjVDOGNTd05WQ0k1b2Y3dFBycXc4cW9XcEFqRWtmQzFQUW1QTWR1Y195MGdDVlhBa1FhRmZDeXA2bGhzMkQ0djdPUldOWFNqX1JUblRwQ2ZkNHFoR0YzUklqZUFwMDFZYXc4enpmWjZrWDcxSWVrWFk0V3p5UVlKaVBrS3BnbG1OM1UwVlItdVZXSTVXTFpvZmU3MWpiRWN5VWp6TTdrUGZqY2ZJUVdCS2lJRTNWYy1UMVc5Nlo0ckoxOTktd00zVUs1OUF4cTlIZ2pGSnNldGxyUjhXVUlYNFN6bjQwYkYxRGxtYUNDaEtfT3U1UmlxR2VBXzFPbjhURkNxX1N3MGoyOG1EUC0yQlNMa0JNc3Q2TDN6aTNWaFdQaXNiYXV2Q3NTUjRYMmd4WVpjXzJJd2M3OF9zWEhhMERhakdOa2dYNWg3Qy1PMjhCMW4wZUo3VkhaaUkzU0F1LXRrSi1pd3hBTWJBVGgzUjZYSldhejlhVG90RWhHQlhjX3NSd0g0QWRpT3dvSW1vMlNMMUxRbmoxZzBUaEhEeFZnTlNraDYwSF9NeHVabmN1ai00cFk1TERyaXBXSXBISWx6RDFCODBCVGI5cDdjTGx6QUQ2LXdHcVhFQWxFTjRfNUk1LUlYdlNBcGd0MGVFbDQ4MGd1d1ZEd1c0UC1nSTYtRzNGYy1uUG1yUjBGX09GSHlvRWFvUkpMeGpXN0hwcURuTUoxMzdIdElpeWlQdkFxYTZnSmZmcUxIbGdCb1N6ZDBiVHNkeHpiUXp6NVRKYk9mSzBKMDBueW12Sl8yQ1lJX19MY2NQX0VxWnFSbVZQREhZVmRWR2Jpb1pNYVNvUkdSNjlCTHpYb2FsTHM2eGhWcmIteDVjU1NJZk1pa2tXbUJVczV1SWxZVmI0Q1Uwbks1NVhJaXR1bUFXNV83aUtrTnFVUXpXT29CdTBuT1JSMlRrak9GN0I1Nkl4NVBlY0JDSE12V1YzbndzSVd4UHlMUTdUOW9zcFRHMEhBQlF1WnlDZjhCRTExMzNlck1iXzN4VG9fVFNuS2dvVVctYVF4azRCRFFjc2pfSFhMXy1TU21JamNfY3NBUnh2QWZfT0JrdXNSYWhZVXlCOVhDQkRGZC13Q0JLcFJFRUhFaHo1YlUyVVBQLUt1d2JZMkI4VzJJMlpKOVNoWkZhWXoxdmItS1FZUEsyVUdINVcxYThHZEFGT2FpblNuM1d4WWlmUnJpQm9qTEluMnBqWTZLcERLV19lS3NDZExvTzJWZnhsZkZOSW5NcF9DVHdVendXRjdnSHNVWnZaZ1Vpcm5mM3pwR3N1RTJSSlBvZC1PLUlDZFNHc0Z3WlZmV1dvZ0w5U3NrWjhtMklKWnhpalZpSnE1NUpqeElRczYwbnl3TE4xaTdKM1hkRm1Xb0VsR1E0aEVJa2Fac3I4XzYxbjJ6TF93YkxMaWdLc2FjckpXX1ZJS2U1TXNpc2RFQ215TGh0Ym8yQlc3ZzBESl9aVGFXNWJ3Nk1CUjVVeGNJYkRQRUxGWUtUbEVxVm0wcGVXdVpvY3FLcHFEcldaSVVSb0dKeVR0UFlmdFlQMVhhcmxNeHFJeVR3d2JoRE1iVkluenFpcjBDVTB1SmxreTZ3YndoRXRGQ1RIbXh6dmxoNmN6dVUtWXFKa3JUanpyV01ST3JXallXaV9QNFpGUVJFRWtjRTZPNEd3UUN0V3JEakw0VHpHMUpSUTl5dllCS0lYWExmNnl4RWxvcmJXTUo4VjdKMkRlcDJCUWtxT2xQUDVJaXNndHRKVzBmUkJQUGx6WXI0cVFpVGRnaC1WS2xBclVibFl5WXNtTUtEb0FOaEh4RFBzTnR1bUo1MlZNVERGQmNEMGw3WWVWYTkyX3BSaVNuLWx4R0RESG9penBpTWZpQlByTHhyY0h1d3VFcGVNOXNpcVhianhGN3BUU0ZRLWZrb3prSE8taHJqaFJveHF6SnI2OGZoSFRkdlNaQ1VzbWlUYWtkb2Y0X2lrWkw5TVUtbGl3U25feXpmaV9odzhWc01zeGtjQzVwTUxRa29tS0YtbDRySUxXOWFaNS1LaWsySlpqOVRUenR0dWRxLXk0NXQwcWd4dDlZNEZ3M1o4eTkyRlFXQzhnY1N4SXowS3FwNVpWN0hUMVV5Rjg0VUEtOEduUG9Ob3VoT0NfX25DYWNkcjBVUVlhMHFKNEZTVzVIUDZjakwxSGRzdHB1X0RiTW5NSDd1M2I2N3VCeGE0a0pxR1lHZDZDTU5mOHpTOS1SODF1TXRkbG81NDZtdlFCbUF4WlFZUkJ0YUlGbFRGc19NQjJFbGx5Rl83azd4NFllS2twX1JNajNTa0lvVzFxemdFbnozeGdfdXNZQ2dEN3EzdG03SDc4UGlIaFBHX3lFX2R5N2dPS1NuOVVRcEdsck9GM3NpNnBjX1FDT1pxcUpBSm03MUNlRlp2bUVjd1BicWo2YVJVOHRGYmhscUg1QjJpSElOTTFCODl6SWRFcC1DTEozc3lfaUE4Mk5jRFRwM3puRHVpZV90VElsTTA5XzJKVmIwcW5uZjZZRTB5VEloNEdUc1RlLTMwcjhZa1l4SXEyeFZiOGdkRWpfazZBOTQyaThsWDg0REQ1S3NaM2V0dWZqQXBMU2dmaVBOejAzT3BNdC10R09VSk4tTXh1RTlxOEtVX1ZfLTQweVV0ejFmSWZ6T2J3czlSZXJrVU1oVTNuQlJUc0ZBZEoxMlF1YVZhWEhLNDJfVjJRS0FlMU5ZdkxDR0k0b19CWUsxMVozSEowVXhYdEg1TENqUF95VVlMVHZ1akoycVk1cHZuQWlVaXdwU1lIVThqNExTVlVKSWVSeVo3Z1VsbUZIUEpTY0liMHBfclE1N0lLWnpPbkpRVHBIcFRNOHRhendkQ0J6c0ZQeDE3SHR4czdRU1NzeVpQRVlEQ1BEc1ZUaUM3OFNKT3FlMVVBRms5TTZBbjhYYTZicnFGajMyOXR2NktsMzFhVjljeUt0RTJFQ2JZbUx5TW5OUVBHNFRzSXhQUDhfWF9kSmc2VG4ySjVYOUs4S1VBbGxBdGxJZHZIZ2ZhblozQmpMcVhVWEZfN3hubjNWdnFhMWpVRUhEVi1oSzdhclZfYWd1UHZGNlNmRk1TV0pYQjNvY3hGTTZCbldLWE50LU9lV0V6V1VoR3pKbTg0Zmx3QUJnQ1EzV2FwcExoVjZZZTJjdFBxRU14Z1E1Rms5TkVKZ2RkQVBrU202QVFHYlRyT1RSc0RzZHVYMkc1QXJULTdPcUdURlRGQVlZNm5Ma19CNnhNeFZabUx4bFZOZnduWm5NbC1CTExuZ0NzbFF2R0VFdEU1cU1WemQzaE5OY2lsNlI5WWZPNlJOUkFTZmItbWZnWktfOGhVQXM4X1BiQzROVWZzYmY4ejlHRW50NXQ1RF8yQ1lDNWxxdWdqT1NuTy1va2dJZTJGOURmdzRyalJPQlFuaVZweTFYNmdub2RHaUFSc3kzTXA2cXNrMzJHQ3czSXF0YjZCZUM1a2R0T1lkempyV0djSThyM3NsRWxTdF96a3czRG9zejFraUVPWDNOelJRY1JzMktWRFZ5RXFHSkZQWkE4X1lBRGxLSm5YZ2IyZHpVQnVKejdDQzJDZFpHWGtETlhTalp0LUpmX0NWVTl6cFFhUGZKS0JOQzVWQ2ZDdXJCV1EwR2xrVmtYZUl3M0MzeXpXWXBJTzBkUlVqZUlLTUl3QlI1aGwyRDNuMlRZcjhlbDAxNkp2anRBSnU3OWNyY1NvdFdodzI5RkUzMWxDTU5pNHlUWkxGNUJ1clRyWDlTYTZrNzdCSTRoM0M0M2JfX1pETG9WQ3ZLQUlkcHZMMk04QjVoSkt6YXNlSnJYdHlTMGVKM0NXQXd2REZUaTBEeUJDanpxN2QzS3FXVk96czB1SmNvTU1yRzVJSER2TlVrakdXbUFHaVhrSDZhN0w5ZmkzS19KeUxjLUJxM0ZhNE05emZSeDdtUGxmRjZEY255UzVNUkJUb3owZUsxdXprSkJXSV9ZMnNuLV8yQnBfSWcuQ0hldFNxWU9SSWZVbmdvYkw0SnoxZw\"}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring secret https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/a51a4ab4393c42498b078fb863d1a0dd - secret already exists or concurrent access\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "246", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:43 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "bfc65f53-1328-4c96-890f-fedb3c6fc282", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:53 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "cf3f5225-dfc6-4f2c-80f0-b8bf16fc2237", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:38:53 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "4fe84694-1220-4b6a-ab41-8579876c2900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnEwZUVEeUV6TEs5SEMwZnpmV0Zjc3pzQXdYUVUxUDYwNE5XRE8ycUFCb3VRLWkwZUZ1MjRuTVFCbVQxcVhRbHdJek1RYWdCYmRiS1N5a29CSDljdnBXZzRvbm0tZVVxVlRaSGR2S243dUt3V2xiQXdUenJUamZsT05ObHFrVGlLRmdCWGpBMGRzeU1VZEdXTHFUbDlzVnZieGR2a2RwLVpPZk42czh2OEh4OGJpeHpUejlYTEczY2RUXzd4ZHkyY2szdFhRN1hDMjNSbnJ0NElHUEtoYXU2MVRVNDZDbnVQU180N1RuaGRPRGo5Nno5aWdQY2FOM2UtYm5BNUZfZjNFeDZ5MFdUUmgzVl8yQURidkdLN0FZM3hFWmd0cTc4X3dzckZZcDA1OVc2RjB5aGo4MFlqSUFRcm1PTHE0MDhNbzIxQmV4ZnNBMEJjN1NocG5faF84QS4ySG1POFRyQ3huZ1pubHA3WFJla2RnLmZ3ZW9HOWI5UlNlamlmNFNzaFRXUXZVczVHclJLN2NvS0pKT0g1UkFQRWFNRlA0Y2t2MHRIRm5yOThvcTNlM0pvMFNGTHRKcF9qY1NrQ005NUw5NXlfdWVoWEcwWThYS2xoMlJGbGFidjQ4ajRBMV9YaXFXdGJNMHdlbXZUNUgweXhwd2pFZDRwSTZrYXlaZ1QtMHdWZkNHOE5EYmNReFlkcEotSVVWVVkzemFvLVROTTJackwwUzBiTXpzYk8zQlRtNTFxaW1FT01MN0F2YThJbWZDY1hmbkd3aDNHY0FHdllHOGF6UGFvNzY0ai1ldDJNeWtrX3VxTUZBbmFYdnZnRjE3LWxkTk92cHA0UjFuaUEtdHBxcjRPRjZJLVBiM0ZVUkZvQ0JxMFN3a1RkR1FueGVMTEpZOVRaY3BsdjZGQU5VdjZ1ZkVMeURpenQyUEs2emhxWlhrUjdMXzF2UUdRTkQ0Q1pHZDBlbEhQUTkzZjd6Yk15X1lvR2VKQVZvcHl4QlNQSlNwYVhHOGhVSmYydklzbGVJZFEzUkRTbWxTcGFKSE1kcVJuX3BUWGtqTkJyQnVCeEdrWEJrZFpDMjlfRUxMQ2dsRWM0ck4xMktWR0h6bTVKYkhqNWRneU5TYmJsZmw1elhKci1rWm1Rcm5MZnZZbkswSk9GQWVJVVR1cmcyTk1ReHhnbnR6OEdnTDZIUTRIaDdBTDJYSDhGQzZMMHFfeTN0TnROYjVZUGt3TzVDYWZWU05fWE1xOVFZblhYYkJsanhCcWN0S2FKT0NGQUVVSDBaYXpjNkJDN09aUkF0c2FpNDkwREI1aHgweTZMUXVyaUI2T0YxdmVpa3dOcFRQYnhqV19rOWZiTWJWMXpYdE9nNGYtVTNtcU9yWm1MaG81ZkVzSU1XT1h2M0Y4UWJNMXhzTlZJekdORzBnb1RMZDJnbDZwU05zZVRHS3d2Q240cFl5NUFVYlBGeUtpMEM2Z202T1NWY2o5cVJzdnJOMkp5dXBac01lVUw2SGctb2lHbnJ0dWIxaVJlMHBENi1ORjRpQ1IwWGdhNHZETnRnRXU3OVkzS1U5ZVJOZUZEY2I3ZmM1STNMTzRXYXh0M0ZzcWM1UFRwOEFjSktzNGc2VVlNbDNKaG1TUFFLbWN6RXctTHEyZ2VOczhienVfU29aLVlDSGZjRDNYQXlBbmJqOHplSHZzZkFCSWg3T0ZGWTktaWNvemM0cm0ydm1ZQUVQVGlna2ZLalhoMUI5c0NPSFB1Q0pDYlBZU3l3bEZiYzh5UW5LenVPaU9Rb203RndxVVpCTkRjNXBDaE9ldWktdllvQjN6S1NnQU1XT2E2WWRTLW9XT3RVMTF5Ni1jV1FTVDhFQVVwZTBFM213MTQzUElXYUxaMWdQWG9XUUlpUlhXRy1BOGxNR1owX2kwMnFsWnRCaGxQY3JrM1lVQjBZeGktaWs1d2hILUdHcURsUDF4OXFiZTFqS195ZkdKOGNjbGRBRkNWV2hTXzI1aHRQOUg2ODlBMHEwVnh6SXRON2Ftc1FWeXRHb1J4VU1mdW5taTdEZW1wbWJVMW00Y2l3V1lBdU5nVGJSVVpad29fbHl3SjVDOGNTd05WQ0k1b2Y3dFBycXc4cW9XcEFqRWtmQzFQUW1QTWR1Y195MGdDVlhBa1FhRmZDeXA2bGhzMkQ0djdPUldOWFNqX1JUblRwQ2ZkNHFoR0YzUklqZUFwMDFZYXc4enpmWjZrWDcxSWVrWFk0V3p5UVlKaVBrS3BnbG1OM1UwVlItdVZXSTVXTFpvZmU3MWpiRWN5VWp6TTdrUGZqY2ZJUVdCS2lJRTNWYy1UMVc5Nlo0ckoxOTktd00zVUs1OUF4cTlIZ2pGSnNldGxyUjhXVUlYNFN6bjQwYkYxRGxtYUNDaEtfT3U1UmlxR2VBXzFPbjhURkNxX1N3MGoyOG1EUC0yQlNMa0JNc3Q2TDN6aTNWaFdQaXNiYXV2Q3NTUjRYMmd4WVpjXzJJd2M3OF9zWEhhMERhakdOa2dYNWg3Qy1PMjhCMW4wZUo3VkhaaUkzU0F1LXRrSi1pd3hBTWJBVGgzUjZYSldhejlhVG90RWhHQlhjX3NSd0g0QWRpT3dvSW1vMlNMMUxRbmoxZzBUaEhEeFZnTlNraDYwSF9NeHVabmN1ai00cFk1TERyaXBXSXBISWx6RDFCODBCVGI5cDdjTGx6QUQ2LXdHcVhFQWxFTjRfNUk1LUlYdlNBcGd0MGVFbDQ4MGd1d1ZEd1c0UC1nSTYtRzNGYy1uUG1yUjBGX09GSHlvRWFvUkpMeGpXN0hwcURuTUoxMzdIdElpeWlQdkFxYTZnSmZmcUxIbGdCb1N6ZDBiVHNkeHpiUXp6NVRKYk9mSzBKMDBueW12Sl8yQ1lJX19MY2NQX0VxWnFSbVZQREhZVmRWR2Jpb1pNYVNvUkdSNjlCTHpYb2FsTHM2eGhWcmIteDVjU1NJZk1pa2tXbUJVczV1SWxZVmI0Q1Uwbks1NVhJaXR1bUFXNV83aUtrTnFVUXpXT29CdTBuT1JSMlRrak9GN0I1Nkl4NVBlY0JDSE12V1YzbndzSVd4UHlMUTdUOW9zcFRHMEhBQlF1WnlDZjhCRTExMzNlck1iXzN4VG9fVFNuS2dvVVctYVF4azRCRFFjc2pfSFhMXy1TU21JamNfY3NBUnh2QWZfT0JrdXNSYWhZVXlCOVhDQkRGZC13Q0JLcFJFRUhFaHo1YlUyVVBQLUt1d2JZMkI4VzJJMlpKOVNoWkZhWXoxdmItS1FZUEsyVUdINVcxYThHZEFGT2FpblNuM1d4WWlmUnJpQm9qTEluMnBqWTZLcERLV19lS3NDZExvTzJWZnhsZkZOSW5NcF9DVHdVendXRjdnSHNVWnZaZ1Vpcm5mM3pwR3N1RTJSSlBvZC1PLUlDZFNHc0Z3WlZmV1dvZ0w5U3NrWjhtMklKWnhpalZpSnE1NUpqeElRczYwbnl3TE4xaTdKM1hkRm1Xb0VsR1E0aEVJa2Fac3I4XzYxbjJ6TF93YkxMaWdLc2FjckpXX1ZJS2U1TXNpc2RFQ215TGh0Ym8yQlc3ZzBESl9aVGFXNWJ3Nk1CUjVVeGNJYkRQRUxGWUtUbEVxVm0wcGVXdVpvY3FLcHFEcldaSVVSb0dKeVR0UFlmdFlQMVhhcmxNeHFJeVR3d2JoRE1iVkluenFpcjBDVTB1SmxreTZ3YndoRXRGQ1RIbXh6dmxoNmN6dVUtWXFKa3JUanpyV01ST3JXallXaV9QNFpGUVJFRWtjRTZPNEd3UUN0V3JEakw0VHpHMUpSUTl5dllCS0lYWExmNnl4RWxvcmJXTUo4VjdKMkRlcDJCUWtxT2xQUDVJaXNndHRKVzBmUkJQUGx6WXI0cVFpVGRnaC1WS2xBclVibFl5WXNtTUtEb0FOaEh4RFBzTnR1bUo1MlZNVERGQmNEMGw3WWVWYTkyX3BSaVNuLWx4R0RESG9penBpTWZpQlByTHhyY0h1d3VFcGVNOXNpcVhianhGN3BUU0ZRLWZrb3prSE8taHJqaFJveHF6SnI2OGZoSFRkdlNaQ1VzbWlUYWtkb2Y0X2lrWkw5TVUtbGl3U25feXpmaV9odzhWc01zeGtjQzVwTUxRa29tS0YtbDRySUxXOWFaNS1LaWsySlpqOVRUenR0dWRxLXk0NXQwcWd4dDlZNEZ3M1o4eTkyRlFXQzhnY1N4SXowS3FwNVpWN0hUMVV5Rjg0VUEtOEduUG9Ob3VoT0NfX25DYWNkcjBVUVlhMHFKNEZTVzVIUDZjakwxSGRzdHB1X0RiTW5NSDd1M2I2N3VCeGE0a0pxR1lHZDZDTU5mOHpTOS1SODF1TXRkbG81NDZtdlFCbUF4WlFZUkJ0YUlGbFRGc19NQjJFbGx5Rl83azd4NFllS2twX1JNajNTa0lvVzFxemdFbnozeGdfdXNZQ2dEN3EzdG03SDc4UGlIaFBHX3lFX2R5N2dPS1NuOVVRcEdsck9GM3NpNnBjX1FDT1pxcUpBSm03MUNlRlp2bUVjd1BicWo2YVJVOHRGYmhscUg1QjJpSElOTTFCODl6SWRFcC1DTEozc3lfaUE4Mk5jRFRwM3puRHVpZV90VElsTTA5XzJKVmIwcW5uZjZZRTB5VEloNEdUc1RlLTMwcjhZa1l4SXEyeFZiOGdkRWpfazZBOTQyaThsWDg0REQ1S3NaM2V0dWZqQXBMU2dmaVBOejAzT3BNdC10R09VSk4tTXh1RTlxOEtVX1ZfLTQweVV0ejFmSWZ6T2J3czlSZXJrVU1oVTNuQlJUc0ZBZEoxMlF1YVZhWEhLNDJfVjJRS0FlMU5ZdkxDR0k0b19CWUsxMVozSEowVXhYdEg1TENqUF95VVlMVHZ1akoycVk1cHZuQWlVaXdwU1lIVThqNExTVlVKSWVSeVo3Z1VsbUZIUEpTY0liMHBfclE1N0lLWnpPbkpRVHBIcFRNOHRhendkQ0J6c0ZQeDE3SHR4czdRU1NzeVpQRVlEQ1BEc1ZUaUM3OFNKT3FlMVVBRms5TTZBbjhYYTZicnFGajMyOXR2NktsMzFhVjljeUt0RTJFQ2JZbUx5TW5OUVBHNFRzSXhQUDhfWF9kSmc2VG4ySjVYOUs4S1VBbGxBdGxJZHZIZ2ZhblozQmpMcVhVWEZfN3hubjNWdnFhMWpVRUhEVi1oSzdhclZfYWd1UHZGNlNmRk1TV0pYQjNvY3hGTTZCbldLWE50LU9lV0V6V1VoR3pKbTg0Zmx3QUJnQ1EzV2FwcExoVjZZZTJjdFBxRU14Z1E1Rms5TkVKZ2RkQVBrU202QVFHYlRyT1RSc0RzZHVYMkc1QXJULTdPcUdURlRGQVlZNm5Ma19CNnhNeFZabUx4bFZOZnduWm5NbC1CTExuZ0NzbFF2R0VFdEU1cU1WemQzaE5OY2lsNlI5WWZPNlJOUkFTZmItbWZnWktfOGhVQXM4X1BiQzROVWZzYmY4ejlHRW50NXQ1RF8yQ1lDNWxxdWdqT1NuTy1va2dJZTJGOURmdzRyalJPQlFuaVZweTFYNmdub2RHaUFSc3kzTXA2cXNrMzJHQ3czSXF0YjZCZUM1a2R0T1lkempyV0djSThyM3NsRWxTdF96a3czRG9zejFraUVPWDNOelJRY1JzMktWRFZ5RXFHSkZQWkE4X1lBRGxLSm5YZ2IyZHpVQnVKejdDQzJDZFpHWGtETlhTalp0LUpmX0NWVTl6cFFhUGZKS0JOQzVWQ2ZDdXJCV1EwR2xrVmtYZUl3M0MzeXpXWXBJTzBkUlVqZUlLTUl3QlI1aGwyRDNuMlRZcjhlbDAxNkp2anRBSnU3OWNyY1NvdFdodzI5RkUzMWxDTU5pNHlUWkxGNUJ1clRyWDlTYTZrNzdCSTRoM0M0M2JfX1pETG9WQ3ZLQUlkcHZMMk04QjVoSkt6YXNlSnJYdHlTMGVKM0NXQXd2REZUaTBEeUJDanpxN2QzS3FXVk96czB1SmNvTU1yRzVJSER2TlVrakdXbUFHaVhrSDZhN0w5ZmkzS19KeUxjLUJxM0ZhNE05emZSeDdtUGxmRjZEY255UzVNUkJUb3owZUsxdXprSkJXSV9ZMnNuLV8yQnBfSWcuQ0hldFNxWU9SSWZVbmdvYkw0SnoxZw\"}", + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Conflict while restoring secret https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/a51a4ab4393c42498b078fb863d1a0dd - secret already exists or concurrent access\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "246", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:38:53 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "8a1f384a-7494-4a9a-b35e-f8c1818ed460", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "6c281114-c702-477f-9392-6ac47096977a", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "5a41e441-b938-46a1-8e20-0541666e6400", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "{\"value\":\"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnEwZUVEeUV6TEs5SEMwZnpmV0Zjc3pzQXdYUVUxUDYwNE5XRE8ycUFCb3VRLWkwZUZ1MjRuTVFCbVQxcVhRbHdJek1RYWdCYmRiS1N5a29CSDljdnBXZzRvbm0tZVVxVlRaSGR2S243dUt3V2xiQXdUenJUamZsT05ObHFrVGlLRmdCWGpBMGRzeU1VZEdXTHFUbDlzVnZieGR2a2RwLVpPZk42czh2OEh4OGJpeHpUejlYTEczY2RUXzd4ZHkyY2szdFhRN1hDMjNSbnJ0NElHUEtoYXU2MVRVNDZDbnVQU180N1RuaGRPRGo5Nno5aWdQY2FOM2UtYm5BNUZfZjNFeDZ5MFdUUmgzVl8yQURidkdLN0FZM3hFWmd0cTc4X3dzckZZcDA1OVc2RjB5aGo4MFlqSUFRcm1PTHE0MDhNbzIxQmV4ZnNBMEJjN1NocG5faF84QS4ySG1POFRyQ3huZ1pubHA3WFJla2RnLmZ3ZW9HOWI5UlNlamlmNFNzaFRXUXZVczVHclJLN2NvS0pKT0g1UkFQRWFNRlA0Y2t2MHRIRm5yOThvcTNlM0pvMFNGTHRKcF9qY1NrQ005NUw5NXlfdWVoWEcwWThYS2xoMlJGbGFidjQ4ajRBMV9YaXFXdGJNMHdlbXZUNUgweXhwd2pFZDRwSTZrYXlaZ1QtMHdWZkNHOE5EYmNReFlkcEotSVVWVVkzemFvLVROTTJackwwUzBiTXpzYk8zQlRtNTFxaW1FT01MN0F2YThJbWZDY1hmbkd3aDNHY0FHdllHOGF6UGFvNzY0ai1ldDJNeWtrX3VxTUZBbmFYdnZnRjE3LWxkTk92cHA0UjFuaUEtdHBxcjRPRjZJLVBiM0ZVUkZvQ0JxMFN3a1RkR1FueGVMTEpZOVRaY3BsdjZGQU5VdjZ1ZkVMeURpenQyUEs2emhxWlhrUjdMXzF2UUdRTkQ0Q1pHZDBlbEhQUTkzZjd6Yk15X1lvR2VKQVZvcHl4QlNQSlNwYVhHOGhVSmYydklzbGVJZFEzUkRTbWxTcGFKSE1kcVJuX3BUWGtqTkJyQnVCeEdrWEJrZFpDMjlfRUxMQ2dsRWM0ck4xMktWR0h6bTVKYkhqNWRneU5TYmJsZmw1elhKci1rWm1Rcm5MZnZZbkswSk9GQWVJVVR1cmcyTk1ReHhnbnR6OEdnTDZIUTRIaDdBTDJYSDhGQzZMMHFfeTN0TnROYjVZUGt3TzVDYWZWU05fWE1xOVFZblhYYkJsanhCcWN0S2FKT0NGQUVVSDBaYXpjNkJDN09aUkF0c2FpNDkwREI1aHgweTZMUXVyaUI2T0YxdmVpa3dOcFRQYnhqV19rOWZiTWJWMXpYdE9nNGYtVTNtcU9yWm1MaG81ZkVzSU1XT1h2M0Y4UWJNMXhzTlZJekdORzBnb1RMZDJnbDZwU05zZVRHS3d2Q240cFl5NUFVYlBGeUtpMEM2Z202T1NWY2o5cVJzdnJOMkp5dXBac01lVUw2SGctb2lHbnJ0dWIxaVJlMHBENi1ORjRpQ1IwWGdhNHZETnRnRXU3OVkzS1U5ZVJOZUZEY2I3ZmM1STNMTzRXYXh0M0ZzcWM1UFRwOEFjSktzNGc2VVlNbDNKaG1TUFFLbWN6RXctTHEyZ2VOczhienVfU29aLVlDSGZjRDNYQXlBbmJqOHplSHZzZkFCSWg3T0ZGWTktaWNvemM0cm0ydm1ZQUVQVGlna2ZLalhoMUI5c0NPSFB1Q0pDYlBZU3l3bEZiYzh5UW5LenVPaU9Rb203RndxVVpCTkRjNXBDaE9ldWktdllvQjN6S1NnQU1XT2E2WWRTLW9XT3RVMTF5Ni1jV1FTVDhFQVVwZTBFM213MTQzUElXYUxaMWdQWG9XUUlpUlhXRy1BOGxNR1owX2kwMnFsWnRCaGxQY3JrM1lVQjBZeGktaWs1d2hILUdHcURsUDF4OXFiZTFqS195ZkdKOGNjbGRBRkNWV2hTXzI1aHRQOUg2ODlBMHEwVnh6SXRON2Ftc1FWeXRHb1J4VU1mdW5taTdEZW1wbWJVMW00Y2l3V1lBdU5nVGJSVVpad29fbHl3SjVDOGNTd05WQ0k1b2Y3dFBycXc4cW9XcEFqRWtmQzFQUW1QTWR1Y195MGdDVlhBa1FhRmZDeXA2bGhzMkQ0djdPUldOWFNqX1JUblRwQ2ZkNHFoR0YzUklqZUFwMDFZYXc4enpmWjZrWDcxSWVrWFk0V3p5UVlKaVBrS3BnbG1OM1UwVlItdVZXSTVXTFpvZmU3MWpiRWN5VWp6TTdrUGZqY2ZJUVdCS2lJRTNWYy1UMVc5Nlo0ckoxOTktd00zVUs1OUF4cTlIZ2pGSnNldGxyUjhXVUlYNFN6bjQwYkYxRGxtYUNDaEtfT3U1UmlxR2VBXzFPbjhURkNxX1N3MGoyOG1EUC0yQlNMa0JNc3Q2TDN6aTNWaFdQaXNiYXV2Q3NTUjRYMmd4WVpjXzJJd2M3OF9zWEhhMERhakdOa2dYNWg3Qy1PMjhCMW4wZUo3VkhaaUkzU0F1LXRrSi1pd3hBTWJBVGgzUjZYSldhejlhVG90RWhHQlhjX3NSd0g0QWRpT3dvSW1vMlNMMUxRbmoxZzBUaEhEeFZnTlNraDYwSF9NeHVabmN1ai00cFk1TERyaXBXSXBISWx6RDFCODBCVGI5cDdjTGx6QUQ2LXdHcVhFQWxFTjRfNUk1LUlYdlNBcGd0MGVFbDQ4MGd1d1ZEd1c0UC1nSTYtRzNGYy1uUG1yUjBGX09GSHlvRWFvUkpMeGpXN0hwcURuTUoxMzdIdElpeWlQdkFxYTZnSmZmcUxIbGdCb1N6ZDBiVHNkeHpiUXp6NVRKYk9mSzBKMDBueW12Sl8yQ1lJX19MY2NQX0VxWnFSbVZQREhZVmRWR2Jpb1pNYVNvUkdSNjlCTHpYb2FsTHM2eGhWcmIteDVjU1NJZk1pa2tXbUJVczV1SWxZVmI0Q1Uwbks1NVhJaXR1bUFXNV83aUtrTnFVUXpXT29CdTBuT1JSMlRrak9GN0I1Nkl4NVBlY0JDSE12V1YzbndzSVd4UHlMUTdUOW9zcFRHMEhBQlF1WnlDZjhCRTExMzNlck1iXzN4VG9fVFNuS2dvVVctYVF4azRCRFFjc2pfSFhMXy1TU21JamNfY3NBUnh2QWZfT0JrdXNSYWhZVXlCOVhDQkRGZC13Q0JLcFJFRUhFaHo1YlUyVVBQLUt1d2JZMkI4VzJJMlpKOVNoWkZhWXoxdmItS1FZUEsyVUdINVcxYThHZEFGT2FpblNuM1d4WWlmUnJpQm9qTEluMnBqWTZLcERLV19lS3NDZExvTzJWZnhsZkZOSW5NcF9DVHdVendXRjdnSHNVWnZaZ1Vpcm5mM3pwR3N1RTJSSlBvZC1PLUlDZFNHc0Z3WlZmV1dvZ0w5U3NrWjhtMklKWnhpalZpSnE1NUpqeElRczYwbnl3TE4xaTdKM1hkRm1Xb0VsR1E0aEVJa2Fac3I4XzYxbjJ6TF93YkxMaWdLc2FjckpXX1ZJS2U1TXNpc2RFQ215TGh0Ym8yQlc3ZzBESl9aVGFXNWJ3Nk1CUjVVeGNJYkRQRUxGWUtUbEVxVm0wcGVXdVpvY3FLcHFEcldaSVVSb0dKeVR0UFlmdFlQMVhhcmxNeHFJeVR3d2JoRE1iVkluenFpcjBDVTB1SmxreTZ3YndoRXRGQ1RIbXh6dmxoNmN6dVUtWXFKa3JUanpyV01ST3JXallXaV9QNFpGUVJFRWtjRTZPNEd3UUN0V3JEakw0VHpHMUpSUTl5dllCS0lYWExmNnl4RWxvcmJXTUo4VjdKMkRlcDJCUWtxT2xQUDVJaXNndHRKVzBmUkJQUGx6WXI0cVFpVGRnaC1WS2xBclVibFl5WXNtTUtEb0FOaEh4RFBzTnR1bUo1MlZNVERGQmNEMGw3WWVWYTkyX3BSaVNuLWx4R0RESG9penBpTWZpQlByTHhyY0h1d3VFcGVNOXNpcVhianhGN3BUU0ZRLWZrb3prSE8taHJqaFJveHF6SnI2OGZoSFRkdlNaQ1VzbWlUYWtkb2Y0X2lrWkw5TVUtbGl3U25feXpmaV9odzhWc01zeGtjQzVwTUxRa29tS0YtbDRySUxXOWFaNS1LaWsySlpqOVRUenR0dWRxLXk0NXQwcWd4dDlZNEZ3M1o4eTkyRlFXQzhnY1N4SXowS3FwNVpWN0hUMVV5Rjg0VUEtOEduUG9Ob3VoT0NfX25DYWNkcjBVUVlhMHFKNEZTVzVIUDZjakwxSGRzdHB1X0RiTW5NSDd1M2I2N3VCeGE0a0pxR1lHZDZDTU5mOHpTOS1SODF1TXRkbG81NDZtdlFCbUF4WlFZUkJ0YUlGbFRGc19NQjJFbGx5Rl83azd4NFllS2twX1JNajNTa0lvVzFxemdFbnozeGdfdXNZQ2dEN3EzdG03SDc4UGlIaFBHX3lFX2R5N2dPS1NuOVVRcEdsck9GM3NpNnBjX1FDT1pxcUpBSm03MUNlRlp2bUVjd1BicWo2YVJVOHRGYmhscUg1QjJpSElOTTFCODl6SWRFcC1DTEozc3lfaUE4Mk5jRFRwM3puRHVpZV90VElsTTA5XzJKVmIwcW5uZjZZRTB5VEloNEdUc1RlLTMwcjhZa1l4SXEyeFZiOGdkRWpfazZBOTQyaThsWDg0REQ1S3NaM2V0dWZqQXBMU2dmaVBOejAzT3BNdC10R09VSk4tTXh1RTlxOEtVX1ZfLTQweVV0ejFmSWZ6T2J3czlSZXJrVU1oVTNuQlJUc0ZBZEoxMlF1YVZhWEhLNDJfVjJRS0FlMU5ZdkxDR0k0b19CWUsxMVozSEowVXhYdEg1TENqUF95VVlMVHZ1akoycVk1cHZuQWlVaXdwU1lIVThqNExTVlVKSWVSeVo3Z1VsbUZIUEpTY0liMHBfclE1N0lLWnpPbkpRVHBIcFRNOHRhendkQ0J6c0ZQeDE3SHR4czdRU1NzeVpQRVlEQ1BEc1ZUaUM3OFNKT3FlMVVBRms5TTZBbjhYYTZicnFGajMyOXR2NktsMzFhVjljeUt0RTJFQ2JZbUx5TW5OUVBHNFRzSXhQUDhfWF9kSmc2VG4ySjVYOUs4S1VBbGxBdGxJZHZIZ2ZhblozQmpMcVhVWEZfN3hubjNWdnFhMWpVRUhEVi1oSzdhclZfYWd1UHZGNlNmRk1TV0pYQjNvY3hGTTZCbldLWE50LU9lV0V6V1VoR3pKbTg0Zmx3QUJnQ1EzV2FwcExoVjZZZTJjdFBxRU14Z1E1Rms5TkVKZ2RkQVBrU202QVFHYlRyT1RSc0RzZHVYMkc1QXJULTdPcUdURlRGQVlZNm5Ma19CNnhNeFZabUx4bFZOZnduWm5NbC1CTExuZ0NzbFF2R0VFdEU1cU1WemQzaE5OY2lsNlI5WWZPNlJOUkFTZmItbWZnWktfOGhVQXM4X1BiQzROVWZzYmY4ejlHRW50NXQ1RF8yQ1lDNWxxdWdqT1NuTy1va2dJZTJGOURmdzRyalJPQlFuaVZweTFYNmdub2RHaUFSc3kzTXA2cXNrMzJHQ3czSXF0YjZCZUM1a2R0T1lkempyV0djSThyM3NsRWxTdF96a3czRG9zejFraUVPWDNOelJRY1JzMktWRFZ5RXFHSkZQWkE4X1lBRGxLSm5YZ2IyZHpVQnVKejdDQzJDZFpHWGtETlhTalp0LUpmX0NWVTl6cFFhUGZKS0JOQzVWQ2ZDdXJCV1EwR2xrVmtYZUl3M0MzeXpXWXBJTzBkUlVqZUlLTUl3QlI1aGwyRDNuMlRZcjhlbDAxNkp2anRBSnU3OWNyY1NvdFdodzI5RkUzMWxDTU5pNHlUWkxGNUJ1clRyWDlTYTZrNzdCSTRoM0M0M2JfX1pETG9WQ3ZLQUlkcHZMMk04QjVoSkt6YXNlSnJYdHlTMGVKM0NXQXd2REZUaTBEeUJDanpxN2QzS3FXVk96czB1SmNvTU1yRzVJSER2TlVrakdXbUFHaVhrSDZhN0w5ZmkzS19KeUxjLUJxM0ZhNE05emZSeDdtUGxmRjZEY255UzVNUkJUb3owZUsxdXprSkJXSV9ZMnNuLV8yQnBfSWcuQ0hldFNxWU9SSWZVbmdvYkw0SnoxZw\"}", + "status": 200, + "response": "{\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/a51a4ab4393c42498b078fb863d1a0dd\",\"attributes\":{\"enabled\":true,\"created\":1565307512,\"updated\":1565307512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "248", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "7aa5633b-c662-4e1e-a9f0-29149a7b09e3", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:03 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "3e2476d3-3c3c-423d-bb50-e1aec1654c5b", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "e37deebb-9321-4d66-9ef9-8c4d82f23f00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "GET", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"value\":\"RSA\",\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/a51a4ab4393c42498b078fb863d1a0dd\",\"attributes\":{\"enabled\":true,\"created\":1565307512,\"updated\":1565307512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "262", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "068cba04-ae86-4cca-9d79-0c26d8c3b8b1", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "9a41a0ca-46d7-4198-8a95-14eaee1b0e20", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a9161f10-33ec-4d0b-839b-4e3f03823e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 200, + "response": "{\"recoveryId\":\"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-\",\"deletedDate\":1565307545,\"scheduledPurgeDate\":1573083545,\"id\":\"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/a51a4ab4393c42498b078fb863d1a0dd\",\"attributes\":{\"enabled\":true,\"created\":1565307512,\"updated\":1565307512,\"recoveryLevel\":\"Recoverable+Purgeable\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "200", + "x-ms-keyvault-region": "westus", + "content-length": "422", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "1ff47843-2264-421f-9444-e6e99c652c53", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5d860bbb-9c79-457d-8b4b-78662e6f0512", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "7d39e6fc-4555-431b-ae29-a125034e5900", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:04 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "69ed0e8a-1c23-4057-882b-b4b8dd45d5c8", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "a0fd2251-fe73-4a4c-9b36-326fafe68fe5", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:15 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "98065037-355e-4b3f-ac02-7c0149973c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 409, + "response": "{\"error\":{\"code\":\"Conflict\",\"message\":\"Secret is currently being deleted.\",\"innererror\":{\"code\":\"ObjectIsBeingDeleted\"}}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "409", + "x-ms-keyvault-region": "westus", + "content-length": "121", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:15 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "5ec635c3-aea5-4dff-a216-4c0715a59f6b", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:25 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "f453a33b-9cf6-41cb-af57-ac13773eedfb", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3599,\"ext_expires_in\":3599,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:25 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "75705e30-9f4d-417c-9eb2-d28ae49c2c00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", + "expires": "-1" + } + }, + { + "method": "DELETE", + "url": "https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-", + "query": { + "api-version": "7.0" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000;includeSubDomains", + "x-content-type-options": "nosniff", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "server": "Microsoft-IIS/10.0", + "x-aspnet-version": "4.0.30319", + "x-ms-keyvault-service-version": "1.1.0.875", + "x-powered-by": "ASP.NET", + "status": "204", + "x-ms-request-id": "2c04d532-ffcc-42d2-aca5-d93fa171d956", + "x-ms-keyvault-region": "westus", + "date": "Thu, 08 Aug 2019 23:39:25 GMT", + "cache-control": "no-cache", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://keyvault_name.vault.azure.net/secrets/restore", + "query": { + "api-version": "7.0" + }, + "requestBody": "", + "status": 401, + "response": "{\"error\":{\"code\":\"Unauthorized\",\"message\":\"Request is missing a Bearer or PoP token.\"}}", + "responseHeaders": { + "strict-transport-security": "max-age=31536000;includeSubDomains", + "www-authenticate": "Bearer authorization=\"https://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://vault.azure.net\"", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", + "x-aspnet-version": "4.0.30319", + "x-powered-by": "ASP.NET", + "status": "401", + "x-ms-keyvault-region": "westus", + "content-length": "87", + "pragma": "no-cache", + "server": "Microsoft-IIS/10.0", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:25 GMT", + "content-type": "application/json; charset=utf-8", + "x-ms-request-id": "ed11ffbf-ebf2-4d31-b172-743e7b513989", + "cache-control": "no-cache", + "x-content-type-options": "nosniff", + "expires": "-1" + } + }, + { + "method": "POST", + "url": "https://login.microsoftonline.com/azure_tenant_id/oauth2/v2.0/token", + "query": {}, + "requestBody": "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default", + "status": 200, + "response": "{\"token_type\":\"Bearer\",\"expires_in\":3600,\"ext_expires_in\":3600,\"access_token\":\"access_token\"}", + "responseHeaders": { + "pragma": "no-cache", + "strict-transport-security": "max-age=31536000; includeSubDomains", + "x-content-type-options": "nosniff", + "date": "Thu, 08 Aug 2019 23:39:25 GMT", + "p3p": "CP=\"DSP CUR OTPi IND OTRi ONL FIN\"", + "x-ms-request-id": "a9161f10-33ec-4d0b-839b-4e3f6f843e00", + "cache-control": "no-cache, no-store", + "content-type": "application/json; charset=utf-8", + "content-length": "1231", + "referrer-policy": "strict-origin-when-cross-origin", "expires": "-1" } }, @@ -892,7 +2550,7 @@ "responseHeaders": { "strict-transport-security": "max-age=31536000;includeSubDomains", "x-content-type-options": "nosniff", - "x-ms-keyvault-network-info": "addr=13.82.238.224;act_addr_fam=InterNetwork;", + "x-ms-keyvault-network-info": "addr=13.92.96.140;act_addr_fam=InterNetwork;", "x-aspnet-version": "4.0.30319", "x-powered-by": "ASP.NET", "status": "400", @@ -900,10 +2558,10 @@ "content-length": "103", "pragma": "no-cache", "server": "Microsoft-IIS/10.0", - "x-ms-keyvault-service-version": "1.1.0.872", - "date": "Fri, 19 Jul 2019 00:27:33 GMT", + "x-ms-keyvault-service-version": "1.1.0.875", + "date": "Thu, 08 Aug 2019 23:39:26 GMT", "content-type": "application/json; charset=utf-8", - "x-ms-request-id": "3746a435-e57f-488b-be03-e2d65703856d", + "x-ms-request-id": "94cf1524-68af-43cd-bce2-146a60c789da", "cache-control": "no-cache", "expires": "-1" } diff --git a/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.js b/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.js index b9880f0ef2da..5eefd2c0de03 100644 --- a/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.js +++ b/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__create_read_update_and_delete_operations/recording_before_all_hook.js @@ -2,6 +2,45 @@ let nock = require('nock'); module.exports.testInfo = {} +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canaddasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2042f3bb-b9dc-43ba-9715-49750dd18b65', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:20:30 GMT', + 'Connection', + 'close' ]); + + nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', @@ -17,17 +56,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'x-ms-request-id', - '5e952e3b-1b15-4a7d-8ea6-fdc3c001cd00', + 'f6e98db3-2b93-4df4-8793-370e4f064f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'Set-Cookie', - 'fpc=Av5e4eSkNY5GsUv_9FxzYWA_aSJHAQAAAPwFw9QOAAAA; expires=Sun, 18-Aug-2019 00:29:49 GMT; path=/; secure; HttpOnly', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHAQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:30 GMT; path=/; secure; HttpOnly', 'Set-Cookie', 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', 'Set-Cookie', 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:29:49 GMT', + 'Thu, 08 Aug 2019 23:20:30 GMT', 'Connection', 'close', 'Content-Length', @@ -37,7 +78,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .put('/secrets/CRUDSecretName-canaddasecret-', {"value":"SECRET_VALUE"}) .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/4ccdc7affcbe4b759d4fd9b699c3c261","attributes":{"enabled":true,"created":1563496190,"updated":1563496190,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/789dbbe97efc43aebcbb8e54bbabb4e2","attributes":{"enabled":true,"created":1565306431,"updated":1565306431,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -50,11 +91,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f086b486-5f9b-46e8-9049-98f5f5c3c270', + '5915efc2-00ee-4a1d-a7ce-52879f556a07', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -64,7 +105,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:29:49 GMT', + 'Thu, 08 Aug 2019 23:20:30 GMT', 'Connection', 'close', 'Content-Length', @@ -74,24 +115,28 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/secrets/CRUDSecretName-canaddasecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-","deletedDate":1563496190,"scheduledPurgeDate":1571272190,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/4ccdc7affcbe4b759d4fd9b699c3c261","attributes":{"enabled":true,"created":1563496190,"updated":1563496190,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a9e7ee7f-05cf-4f95-8529-667792064fa7', + 'cbc9668f-9a7f-4410-afe3-742bd0a13f29', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -101,57 +146,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:29:50 GMT', + 'Thu, 08 Aug 2019 23:20:30 GMT', 'Connection', - 'close', - 'Content-Length', - '412' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '04425ac2-1f97-4f70-9978-1381f17521b7', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'c3b50d7a-560e-4d9c-acd3-b2f5219c3400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHAgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:29:50 GMT', + 'Thu, 08 Aug 2019 23:20:31 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') + .delete('/secrets/CRUDSecretName-canaddasecret-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canaddasecret-","deletedDate":1565306432,"scheduledPurgeDate":1573082432,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canaddasecret-/789dbbe97efc43aebcbb8e54bbabb4e2","attributes":{"enabled":true,"created":1565306431,"updated":1565306431,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -159,11 +201,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8c804751-3624-4c04-a521-49dd240719db', + 'bfc0ee50-d579-4140-b27c-87010a0309be', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -173,32 +215,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:01 GMT', + 'Thu, 08 Aug 2019 23:20:32 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '412' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-cansetasecretwithEmptyValue-', {"value":""}) + .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') .query(true) - .reply(200, {"value":"","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/d68e3480d8934a509cd9969822484f23","attributes":{"enabled":true,"created":1563496201,"updated":1563496201,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '89be9c22-b29d-47c2-aa6e-78f8ec013601', + '7d6b7964-aad3-4651-b51c-96f3080bb687', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -208,52 +256,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:01 GMT', + 'Thu, 08 Aug 2019 23:20:31 GMT', 'Connection', - 'close', - 'Content-Length', - '268' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-cansetasecretwithEmptyValue-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-","deletedDate":1563496202,"scheduledPurgeDate":1571272202,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/d68e3480d8934a509cd9969822484f23","attributes":{"enabled":true,"created":1563496201,"updated":1563496201,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '7026ed48-5126-4fa5-a107-41c8a9a4ad90', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'd77c7a93-b954-413c-808d-9ea77ebc3400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHAwAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:30:01 GMT', + 'Thu, 08 Aug 2019 23:20:32 GMT', 'Connection', 'close', 'Content-Length', - '440' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-') + .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') .query(true) .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', @@ -270,11 +313,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7526ea8f-66ab-4c2e-8b07-9169c5e9b8e9', + '2bcaf89a-a62f-4859-aa2d-e409767add1f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -284,34 +327,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:02 GMT', + 'Thu, 08 Aug 2019 23:20:31 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-') + .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '49e0d339-eda1-4f02-9500-6917fe34b356', + 'e5ca575b-88c9-45ce-87c9-a0a2e5c45d4a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -321,18 +366,56 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:12 GMT', + 'Thu, 08 Aug 2019 23:20:43 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0d784478-d6b1-43a8-b675-95fe9f4b5800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHBAAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:20:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-') + .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -340,11 +423,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '363ba2d4-3b95-4dc2-9196-9a8ba3fd98e6', + '27272b0a-f55c-42ad-a2f5-4e037985b6f7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -354,32 +437,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:23 GMT', + 'Thu, 08 Aug 2019 23:20:43 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-cansetasecretwithattributes-', {"value":"SECRET_VALUE","attributes":{"exp":32503680000}}) + .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/29e44625bfd940fe9db68acc9cf05fed","attributes":{"enabled":true,"exp":32503680000,"created":1563496223,"updated":1563496223,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '943056b4-064e-4eb7-8c17-a4d6e7d48b0c', + 'e1692240-32f9-4e32-aa40-4c85efbcdf82', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -389,59 +476,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:23 GMT', + 'Thu, 08 Aug 2019 23:20:53 GMT', 'Connection', - 'close', - 'Content-Length', - '298' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-cansetasecretwithattributes-/') - .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/29e44625bfd940fe9db68acc9cf05fed","attributes":{"enabled":true,"exp":32503680000,"created":1563496223,"updated":1563496223,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'c391be9d-9726-4338-8599-29c06b32b047', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '1cd1f43e-f039-45c1-b941-1b1de0422e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHBQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:54 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:30:24 GMT', + 'Thu, 08 Aug 2019 23:20:54 GMT', 'Connection', 'close', 'Content-Length', - '298' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-cansetasecretwithattributes-') + .delete('/deletedsecrets/CRUDSecretName-canaddasecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-","deletedDate":1563496224,"scheduledPurgeDate":1571272224,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/29e44625bfd940fe9db68acc9cf05fed","attributes":{"enabled":true,"exp":32503680000,"created":1563496223,"updated":1563496223,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -449,11 +529,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '4b8b3ce3-7a2e-4038-922d-7a8304acdcba', + '61c0f122-dff8-41be-a895-c82644caa970', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -463,36 +543,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:23 GMT', + 'Thu, 08 Aug 2019 23:20:54 GMT', 'Connection', - 'close', - 'Content-Length', - '458' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-') + .put('/secrets/CRUDSecretName-cansetasecretwithEmptyValue-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'be5a44a2-825a-48eb-be34-ffff03d2fcad', + 'f662a8db-05c7-4d18-92a8-28448a658024', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -502,48 +582,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:24 GMT', + 'Thu, 08 Aug 2019 23:20:55 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'a98e6bb8-cb92-4304-9b4c-d8cb0863a747', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '5dbdddcd-2e98-4367-a700-bd8440b86a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHBgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:55 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:30:35 GMT', + 'Thu, 08 Aug 2019 23:20:55 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canupdateasecret-', {"value":"SECRET_VALUE"}) + .put('/secrets/CRUDSecretName-cansetasecretwithEmptyValue-', {"value":""}) .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/389ecd88cbd94242b5f1bbfe42a11141","attributes":{"enabled":true,"created":1563496235,"updated":1563496235,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/9cbb170f0d984e99abe861391da9015f","attributes":{"enabled":true,"created":1565306456,"updated":1565306456,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -556,11 +637,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f3fa270b-2088-417f-a5fc-628f0dafbb63', + 'd69f2204-10d4-413d-9d76-9466759d6b63', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -570,34 +651,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:35 GMT', + 'Thu, 08 Aug 2019 23:20:56 GMT', 'Connection', 'close', 'Content-Length', - '269' ]); + '268' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .patch('/secrets/CRUDSecretName-canupdateasecret-/', {"attributes":{"exp":32503680000}}) + .delete('/secrets/CRUDSecretName-cansetasecretwithEmptyValue-') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/389ecd88cbd94242b5f1bbfe42a11141","attributes":{"enabled":true,"exp":32503680000,"created":1563496235,"updated":1563496236,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9e94a54e-4bd1-4410-89cc-8a3d4f701b3d', + '55d5541d-8c37-437d-b230-902801fb4ee2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -607,54 +692,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:35 GMT', + 'Thu, 08 Aug 2019 23:20:56 GMT', 'Connection', - 'close', - 'Content-Length', - '264' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canupdateasecret-/') - .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/389ecd88cbd94242b5f1bbfe42a11141","attributes":{"enabled":true,"exp":32503680000,"created":1563496235,"updated":1563496236,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'a36308da-6e03-4761-94c3-d0ec0cec78f9', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '36f19838-d297-41dd-9db9-fbdfffba3e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHBwAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:30:36 GMT', + 'Thu, 08 Aug 2019 23:20:57 GMT', 'Connection', 'close', 'Content-Length', - '287' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canupdateasecret-') + .delete('/secrets/CRUDSecretName-cansetasecretwithEmptyValue-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-","deletedDate":1563496236,"scheduledPurgeDate":1571272236,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/389ecd88cbd94242b5f1bbfe42a11141","attributes":{"enabled":true,"exp":32503680000,"created":1563496235,"updated":1563496236,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-","deletedDate":1565306457,"scheduledPurgeDate":1573082457,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-/9cbb170f0d984e99abe861391da9015f","attributes":{"enabled":true,"created":1565306456,"updated":1565306456,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -667,11 +747,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a7248170-7992-4478-8a71-f67f4419f7da', + '483c2f71-707e-4980-b8c3-e0365f390d15', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -681,36 +761,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:36 GMT', + 'Thu, 08 Aug 2019 23:20:57 GMT', 'Connection', 'close', 'Content-Length', - '436' ]); + '440' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canupdateasecret-') + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '4bfd681b-1ce8-433b-ab12-e522ff40657a', + '50a4d7f8-0165-4abb-86bf-28e15531de69', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -720,51 +802,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:37 GMT', + 'Thu, 08 Aug 2019 23:20:57 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canupdateasecret-') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'f386eb1c-b0ea-4314-8779-11dbe5838cd7', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '4f2ded7c-f600-449e-befc-95afbd233700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHCAAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:20:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:30:47 GMT', + 'Thu, 08 Aug 2019 23:20:57 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canupdateadisabledSecret-', {"value":"SECRET_VALUE","attributes":{"enabled":false}}) + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-') .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/7da9195b85bb477ea46e4fc411faf45e","attributes":{"enabled":false,"created":1563496248,"updated":1563496248,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -774,11 +859,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '18aea2ee-70db-44d5-a412-57d50488b134', + '8f4316f2-d5a5-47ef-ae46-3bebb4112561', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -788,34 +873,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:47 GMT', + 'Thu, 08 Aug 2019 23:20:57 GMT', 'Connection', - 'close', - 'Content-Length', - '278' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .patch('/secrets/CRUDSecretName-canupdateadisabledSecret-/', {"attributes":{"exp":32503680000}}) + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/7da9195b85bb477ea46e4fc411faf45e","attributes":{"enabled":false,"exp":32503680000,"created":1563496248,"updated":1563496248,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '1e944c72-748a-49f2-b75c-219c4506bdef', + '34d96f81-0907-4df1-a7ce-536ee114c9f6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -825,61 +912,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:47 GMT', + 'Thu, 08 Aug 2019 23:21:08 GMT', 'Connection', - 'close', - 'Content-Length', - '273' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canupdateadisabledSecret-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-","deletedDate":1563496248,"scheduledPurgeDate":1571272248,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/7da9195b85bb477ea46e4fc411faf45e","attributes":{"enabled":false,"exp":32503680000,"created":1563496248,"updated":1563496248,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '7aef6f14-fb10-4285-a886-1d78950cd2b1', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '6a1eccf9-9c06-4901-87f6-b9a64a642f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHCQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:08 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:30:48 GMT', + 'Thu, 08 Aug 2019 23:21:08 GMT', 'Connection', 'close', 'Content-Length', - '453' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-') + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -887,11 +965,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e49dff0f-7a75-4ff3-8218-9b366a1cdc0a', + '6f2c053f-b687-425b-837c-9fce2656b782', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -901,34 +979,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:49 GMT', + 'Thu, 08 Aug 2019 23:21:08 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-') + .put('/secrets/CRUDSecretName-cansetasecretwithattributes-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7a1768f2-fddc-4cf7-b2fc-ecdea1b96e37', + '0a2d246e-a5a5-4616-aec2-a7e80ec33d34', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -938,48 +1018,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:30:59 GMT', + 'Thu, 08 Aug 2019 23:21:09 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'd2df37a5-91f8-42e2-9652-45e3c2312705', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '028e4c55-30f7-454e-9bcf-cf1f9cc32f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHCgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:09 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:31:10 GMT', + 'Thu, 08 Aug 2019 23:21:09 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-cangetasecret-', {"value":"SECRET_VALUE"}) + .put('/secrets/CRUDSecretName-cansetasecretwithattributes-', {"value":"SECRET_VALUE","attributes":{"exp":32503680000}}) .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/ea49dd3fb0d14fe186efeb43fc9bb9f9","attributes":{"enabled":true,"created":1563496270,"updated":1563496270,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/16c2dbb8f80644218ea51d3deb99a006","attributes":{"enabled":true,"exp":32503680000,"created":1565306470,"updated":1565306470,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -992,11 +1073,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8436923f-fd8a-4178-bc1e-0d77c1dc1982', + '107c7a3f-d689-4736-9321-b02373b409cf', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1006,34 +1087,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:10 GMT', + 'Thu, 08 Aug 2019 23:21:09 GMT', 'Connection', 'close', 'Content-Length', - '266' ]); + '298' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-cangetasecret-/') + .get('/secrets/CRUDSecretName-cansetasecretwithattributes-/') .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/ea49dd3fb0d14fe186efeb43fc9bb9f9","attributes":{"enabled":true,"created":1563496270,"updated":1563496270,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a13e570d-3576-47ee-9709-4a7815156e28', + '8c164fd1-3f57-42b4-bd65-d3449c763fa5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1043,17 +1128,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:10 GMT', + 'Thu, 08 Aug 2019 23:21:09 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '373da176-7a24-4780-ba91-441fd2c43f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHCwAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:10 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:09 GMT', 'Connection', 'close', 'Content-Length', - '266' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-cangetasecret-') + .get('/secrets/CRUDSecretName-cansetasecretwithattributes-/') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-","deletedDate":1563496271,"scheduledPurgeDate":1571272271,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/ea49dd3fb0d14fe186efeb43fc9bb9f9","attributes":{"enabled":true,"created":1563496270,"updated":1563496270,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/16c2dbb8f80644218ea51d3deb99a006","attributes":{"enabled":true,"exp":32503680000,"created":1565306470,"updated":1565306470,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1066,11 +1183,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7c3bb035-b7c1-4672-b2f7-887f5f5a8b89', + 'c3a5bcdb-529a-4af3-8752-b538535b3439', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1080,36 +1197,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:10 GMT', + 'Thu, 08 Aug 2019 23:21:10 GMT', 'Connection', 'close', 'Content-Length', - '412' ]); + '298' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .delete('/secrets/CRUDSecretName-cansetasecretwithattributes-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f58fceaf-c8fd-4309-8a7f-dd50f46e6b1f', + '225c4b98-cbe8-428a-be0b-cf435ed56eff', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1119,18 +1238,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:11 GMT', + 'Thu, 08 Aug 2019 23:21:11 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0ea8b1f0-99ce-4312-876c-fe1609903c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHDAAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:11 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:11 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .delete('/secrets/CRUDSecretName-cansetasecretwithattributes-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-","deletedDate":1565306471,"scheduledPurgeDate":1573082471,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithattributes-/16c2dbb8f80644218ea51d3deb99a006","attributes":{"enabled":true,"exp":32503680000,"created":1565306470,"updated":1565306470,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1138,11 +1293,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '56e142c3-2b80-43cd-a1a1-400103232d9f', + '8575780b-2155-4247-b1a6-0505eee2ee3e', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1152,32 +1307,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:22 GMT', + 'Thu, 08 Aug 2019 23:21:11 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '458' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-cantgetadisabledSecret-', {"value":"SECRET_VALUE","attributes":{"enabled":false}}) + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-') .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/c09979639f58482a8d08514edc33c402","attributes":{"enabled":false,"created":1563496283,"updated":1563496283,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '452b6906-9f0e-431a-958d-c38ff994fc4f', + '8cf782de-9a76-4ba1-8619-92977e2dba79', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1187,57 +1348,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:22 GMT', + 'Thu, 08 Aug 2019 23:21:11 GMT', 'Connection', - 'close', - 'Content-Length', - '276' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-cantgetadisabledSecret-/') - .query(true) - .reply(403, {"error":{"code":"Forbidden","message":"Operation get is not allowed on a disabled secret.","innererror":{"code":"SecretDisabled"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '132', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '8d885aa5-a5c0-4e49-b2a5-4109a75374e2', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '11c84285-74d9-4621-9de1-a80dd6a83c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHDQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:12 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:31:22 GMT', + 'Thu, 08 Aug 2019 23:21:11 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-cantgetadisabledSecret-') + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-","deletedDate":1563496283,"scheduledPurgeDate":1571272283,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/c09979639f58482a8d08514edc33c402","attributes":{"enabled":false,"created":1563496283,"updated":1563496283,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1247,11 +1405,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b35009f8-d7ef-4320-84e5-57845e7f2465', + '12a2db8a-17d8-4f4d-acb2-889508263406', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1261,36 +1419,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:23 GMT', + 'Thu, 08 Aug 2019 23:21:11 GMT', 'Connection', - 'close', - 'Content-Length', - '431' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-') + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f10d3195-7b65-45ae-82a6-9812f6979156', + '3b6cb299-d406-49d2-8c44-aa324b77a4b8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1300,13 +1458,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:24 GMT', + 'Thu, 08 Aug 2019 23:21:22 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5f0d2806-97f7-4937-b131-bccf8d292f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHDgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:23 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:23 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-') + .delete('/deletedsecrets/CRUDSecretName-cansetasecretwithattributes-') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -1319,11 +1511,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7785ca7a-4de3-47bd-a96f-bdc5bf22ca24', + '3478e2ec-bc55-4eab-b35a-a8c1f303fac4', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1333,32 +1525,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:34 GMT', + 'Thu, 08 Aug 2019 23:21:22 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-', {"value":"SECRET_VALUE"}) + .put('/secrets/CRUDSecretName-canupdateasecret-') .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/54e8939e52384301aa85385e4a67375b","attributes":{"enabled":true,"created":1563496295,"updated":1563496295,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '82c1b6a7-0bde-4a1a-82eb-c93ec19505db', + 'c9e3d6c0-916b-40ef-8b89-2830170f4825', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1368,54 +1564,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:34 GMT', + 'Thu, 08 Aug 2019 23:21:23 GMT', 'Connection', - 'close', - 'Content-Length', - '294' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/') - .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/54e8939e52384301aa85385e4a67375b","attributes":{"enabled":true,"created":1563496295,"updated":1563496295,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '2a9470da-4287-4aca-90e3-cfd2820e3489', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'e856ed59-a55f-4e39-880a-b370e8602d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHDwAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:23 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:31:34 GMT', + 'Thu, 08 Aug 2019 23:21:23 GMT', 'Connection', 'close', 'Content-Length', - '294' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .put('/secrets/CRUDSecretName-canupdateasecret-', {"value":"SECRET_VALUE"}) .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-","deletedDate":1563496295,"scheduledPurgeDate":1571272295,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/54e8939e52384301aa85385e4a67375b","attributes":{"enabled":true,"created":1563496295,"updated":1563496295,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/1c19f55668e840cc9f7c4873b82b115d","attributes":{"enabled":true,"created":1565306484,"updated":1565306484,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1428,11 +1619,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '24eb5fe8-4a83-4ca7-8457-9044f53b9c44', + '6804c8a4-6294-4b13-913a-3ea4ce343a28', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1442,36 +1633,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:35 GMT', + 'Thu, 08 Aug 2019 23:21:23 GMT', 'Connection', 'close', 'Content-Length', - '468' ]); + '269' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .patch('/secrets/CRUDSecretName-canupdateasecret-/') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8ebcc563-3511-418b-8cc5-8e958d77a727', + 'a3c94128-770e-43a7-900b-a15d332f0099', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1481,55 +1674,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:35 GMT', + 'Thu, 08 Aug 2019 23:21:23 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '78b36c2a-213e-4c9d-9ec9-bc8a24194a8f', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'b3ab7edd-8d26-45ff-a548-2dcabbd25300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHEAAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:24 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:31:45 GMT', + 'Thu, 08 Aug 2019 23:21:23 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .patch('/secrets/CRUDSecretName-canupdateasecret-/', {"attributes":{"exp":32503680000}}) .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/1c19f55668e840cc9f7c4873b82b115d","attributes":{"enabled":true,"exp":32503680000,"created":1565306484,"updated":1565306484,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1537,11 +1729,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a026289b-0be7-4988-a9e2-0d40de7dbe11', + 'd09806dd-7f45-4af9-8184-fff13b922694', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1551,34 +1743,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:56 GMT', + 'Thu, 08 Aug 2019 23:21:24 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '264' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-cangetasecretNonExisting-/') + .get('/secrets/CRUDSecretName-canupdateasecret-/') .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-cangetasecretNonExisting-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '122', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'be876cd8-5831-427d-b479-1608cf89b831', + 'c5d6aee2-686a-4c50-a154-0322a41a7c2b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1588,52 +1784,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:57 GMT', + 'Thu, 08 Aug 2019 23:21:24 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-candeleteasecret-', {"value":"SECRET_VALUE"}) - .query(true) - .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/89ced047b932485fba2641b909308bf7","attributes":{"enabled":true,"created":1563496317,"updated":1563496317,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'e70d36ee-05c5-47fc-ac53-6a968f3cb6a7', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'd9fb6523-1bb4-4cce-973c-01ba3f403300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHEQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:25 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:31:57 GMT', + 'Thu, 08 Aug 2019 23:21:24 GMT', 'Connection', 'close', 'Content-Length', - '269' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-candeleteasecret-') + .get('/secrets/CRUDSecretName-canupdateasecret-/') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-","deletedDate":1563496318,"scheduledPurgeDate":1571272318,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/89ced047b932485fba2641b909308bf7","attributes":{"enabled":true,"created":1563496317,"updated":1563496317,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/1c19f55668e840cc9f7c4873b82b115d","attributes":{"enabled":true,"exp":32503680000,"created":1565306484,"updated":1565306484,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1646,11 +1839,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6af283e6-4231-40a7-9d48-b1b44e07f184', + 'ba0027d6-a6ae-4829-98a8-a4743080a68b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1660,36 +1853,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:57 GMT', + 'Thu, 08 Aug 2019 23:21:25 GMT', 'Connection', 'close', 'Content-Length', - '418' ]); + '287' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-candeleteasecret-/') + .delete('/secrets/CRUDSecretName-canupdateasecret-') .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-candeleteasecret-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '114', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'af52a231-b31b-4215-a85d-d22affeda3fe', + 'f224b3fa-142f-4d3d-ad9b-07060baab6e8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1699,20 +1894,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:58 GMT', + 'Thu, 08 Aug 2019 23:21:25 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ecd51ffe-a02f-4f55-976f-6123e18f5900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHEgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-candeleteasecret-') + .delete('/secrets/CRUDSecretName-canupdateasecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-","deletedDate":1565306486,"scheduledPurgeDate":1573082486,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-/1c19f55668e840cc9f7c4873b82b115d","attributes":{"enabled":true,"exp":32503680000,"created":1565306484,"updated":1565306484,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1722,11 +1949,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6e452cfd-b53a-4890-b194-16d930a7d21a', + '012e09fe-dca5-4bdc-bb73-c24cd9a51012', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1736,30 +1963,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:31:58 GMT', + 'Thu, 08 Aug 2019 23:21:26 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '436' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-candeleteasecret-') + .delete('/deletedsecrets/CRUDSecretName-canupdateasecret-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '446d116d-83d4-4718-9394-aa78dac8c4ef', + 'bdd5a668-6ca4-477d-8cf0-c10fba459503', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1769,34 +2004,3493 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:09 GMT', + 'Thu, 08 Aug 2019 23:21:26 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '420f82f8-5497-46ab-b384-5fc5a7f04700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHEwAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canupdateasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b9045933-7126-4405-85ea-d3d237093c33', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canupdateasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ac16bc1c-ad3c-45ae-979e-7f57261da094', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'cc2d7aa4-5674-42c0-bf8e-3e50229d5800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHFAAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:37 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canupdateasecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '96fe0514-6c72-4f7e-aca9-dad5566e0aa3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canupdateadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '048535b5-cdfd-4445-94e1-a847ecf18e5b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0c4b356e-df2f-4c84-b9fd-3343dd8f2800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHFQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canupdateadisabledSecret-', {"value":"SECRET_VALUE","attributes":{"enabled":false}}) + .query(true) + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/7611ea5530fc493abb35a29f267ec948","attributes":{"enabled":false,"created":1565306498,"updated":1565306498,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd3e14781-50e2-4e1a-89f5-4dfbb7db7154', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '278' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .patch('/secrets/CRUDSecretName-canupdateadisabledSecret-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f5816ebd-9d9c-4534-b9a3-670fadc10b6d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2757c470-d8b5-4395-89c9-de5b00622e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHFgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:39 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .patch('/secrets/CRUDSecretName-canupdateadisabledSecret-/', {"attributes":{"exp":32503680000}}) + .query(true) + .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/7611ea5530fc493abb35a29f267ec948","attributes":{"enabled":false,"exp":32503680000,"created":1565306498,"updated":1565306499,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '458181a2-876d-4d99-b337-3310dfdeac22', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '273' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canupdateadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f9c3e13e-e01c-452a-b361-7fa4bd39f798', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a2439358-3990-4933-b2b4-c96905713000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHFwAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:40 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canupdateadisabledSecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-","deletedDate":1565306500,"scheduledPurgeDate":1573082500,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateadisabledSecret-/7611ea5530fc493abb35a29f267ec948","attributes":{"enabled":false,"exp":32503680000,"created":1565306498,"updated":1565306499,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b6f18ca7-13b2-4377-be1c-6b901a6ed36d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '453' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bf83e642-651f-42f3-92fc-a0438e63087a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a9739541-a738-4f35-a4c7-99ea0bf03200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHGAAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:40 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd6f5d41d-fd21-445e-b329-1fc5b55d957f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '97f3c10b-c4cb-4f4e-bd66-4d7bd61a5cf6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0d362827-fd35-4fe3-80d0-61d88bee3200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHGQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:51 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:51 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canupdateadisabledSecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7ac08326-690a-4bee-8520-06b46c03e0ca', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '85743d3a-0915-4368-9d89-fc0a7036e36d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2aa80873-e171-4dab-9b29-6adcc7343400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHGgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:52 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:52 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-cangetasecret-', {"value":"SECRET_VALUE"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/d7043b605b6a4b799bcc9d18216ab225","attributes":{"enabled":true,"created":1565306512,"updated":1565306512,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8820cbc4-db7f-44ae-8b37-5280f50ef5b1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:52 GMT', + 'Connection', + 'close', + 'Content-Length', + '266' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-cangetasecret-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c1a79fe0-3ddd-4759-8c2a-8eaa8fca95b6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:52 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'b10651db-f864-4ff5-b3a9-6e6d99926a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHGwAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:53 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:52 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-cangetasecret-/') + .query(true) + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/d7043b605b6a4b799bcc9d18216ab225","attributes":{"enabled":true,"created":1565306512,"updated":1565306512,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f1314d9e-9408-4ced-8c53-a18667b020ec', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '266' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3bcb5174-2959-476d-9662-4294947bde6f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:53 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '98b76e44-5867-4105-86ab-0d42751d2c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHAAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:53 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:53 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetasecret-","deletedDate":1565306514,"scheduledPurgeDate":1573082514,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetasecret-/d7043b605b6a4b799bcc9d18216ab225","attributes":{"enabled":true,"created":1565306512,"updated":1565306512,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '53d7cb25-38d1-46c6-8a65-605cb83b2a38', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '412' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9160605f-6ee4-4d4d-a6d3-2da096966db8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1cd1f43e-f039-45c1-b941-1b1d81492e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHQAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:21:55 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:21:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f61f18cd-e557-439b-ab0b-7419b9ade273', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:21:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0e248e77-49d5-46ca-8575-131298172f22', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'dedfaf15-dc7e-4ebd-8758-487cef116600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:05 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c864122c-0c75-4397-b748-28de4de15619', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f40f947e-a12e-42b1-a402-a9be664813f1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'cc47cb4c-4734-4cce-a598-b53afc062b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cangetasecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a9f4414e-77a0-43c0-bf78-a4a4429d1942', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-cantgetadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2530c636-8fb0-4679-85c7-5b1749a24e74', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0750a735-f4a9-4a77-b6d8-837a44542a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:17 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:17 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-cantgetadisabledSecret-', {"value":"SECRET_VALUE","attributes":{"enabled":false}}) + .query(true) + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/5ab217c3da304983907309bee3741262","attributes":{"enabled":false,"created":1565306537,"updated":1565306537,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '937c0e58-2fe9-4afd-b388-77f8f7604c8c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '276' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-cantgetadisabledSecret-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '34d1da07-681f-44b7-95e9-c1b121d46da4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8a34c0f1-53bf-4bb0-b03e-5d1ba6903c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:17 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-cantgetadisabledSecret-/') + .query(true) + .reply(403, {"error":{"code":"Forbidden","message":"Operation get is not allowed on a disabled secret.","innererror":{"code":"SecretDisabled"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '132', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5b9ad4a7-63c3-4977-985e-1adfd408c186', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-cantgetadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '97119071-f789-4576-9267-7fa2f20256de', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f3a879cc-ab1c-43ed-bb5f-0eb49cce2d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-cantgetadisabledSecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-","deletedDate":1565306539,"scheduledPurgeDate":1573082539,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cantgetadisabledSecret-/5ab217c3da304983907309bee3741262","attributes":{"enabled":false,"created":1565306537,"updated":1565306537,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a7d8ac1a-6d5c-42c8-a405-e9a2bfe3f617', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '431' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ed13cd0e-9f0c-4d77-853e-b4c8642d9138', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:19 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '734c9f1e-591f-4fae-8803-f22686e43500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:19 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b4eb7c34-e8fa-4c09-a5d7-e9d80a9515f2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:19 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9238d6e4-2f14-45b9-9cd4-f31ef88b4f73', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd3066495-90ff-4368-b413-2fd54cee5700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cantgetadisabledSecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '97ad9701-b6a8-4a99-b5b1-a3aedd860c1c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '605b7d25-ffad-4512-b689-98b5aac86b7d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'a3b7aa7b-ff0b-4a53-bcc7-6ae7e8025200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-', {"value":"SECRET_VALUE"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/f5c7f04a3e4e44d7a76e5bac614ba22c","attributes":{"enabled":true,"created":1565306551,"updated":1565306551,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0769dc8d-f4ae-4190-ace9-cb12bbf77320', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '294' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3855b5da-d555-4a6a-a118-9fb63db00446', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '17393c18-4798-44a7-ac52-fc4fb2476100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/') + .query(true) + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/f5c7f04a3e4e44d7a76e5bac614ba22c","attributes":{"enabled":true,"created":1565306551,"updated":1565306551,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e2db66be-52a2-4df8-94e6-5dc4221034a3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '294' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b1099140-730e-4ffd-8684-3cb915c5cff9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9158f3a5-07e3-43b4-80cb-b2edb8433800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-","deletedDate":1565306553,"scheduledPurgeDate":1573082553,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-/f5c7f04a3e4e44d7a76e5bac614ba22c","attributes":{"enabled":true,"created":1565306551,"updated":1565306551,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '09b9377c-f114-41ca-894c-952dfae82b32', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '468' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '732ca0a1-68b3-4ad5-a43f-575068e67cf1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd9bcaa50-a1bc-462b-8d6b-21bfac973300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:33 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7070612b-12a4-4b43-bad2-bd2d925b908e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '206b3a23-6779-4751-8f22-8bc69b3d505a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'be260c59-4954-4622-bd45-809972336a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1ec66b18-bf42-463c-b761-ed298e6642bb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-cangetasecretNonExisting-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd9ab4195-5676-4e1a-a398-24f25f17d8bf', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8c490aa1-d682-4c57-8bc4-e096b2a66a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:45 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-cangetasecretNonExisting-/') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-cangetasecretNonExisting-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '122', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6b320930-c3b3-46e2-8475-be6d7b19d738', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-candeleteasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'aa5809d5-5219-41cf-8deb-fe95596e500f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '120f65d6-51de-4289-9e73-5acf32cb5a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-candeleteasecret-', {"value":"SECRET_VALUE"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/af98804c626d44dd92ea68df52ec1d59","attributes":{"enabled":true,"created":1565306566,"updated":1565306566,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7792cc5f-f4a1-4df8-8a3c-94459a7d7358', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '269' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-candeleteasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '45ec52a2-6086-478c-963b-d59cb637684a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4ace6305-c36b-4a6d-916f-54b917c73200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-candeleteasecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-candeleteasecret-","deletedDate":1565306567,"scheduledPurgeDate":1573082567,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-candeleteasecret-/af98804c626d44dd92ea68df52ec1d59","attributes":{"enabled":true,"created":1565306566,"updated":1565306566,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4449f1e5-7588-4cf7-bac1-586c1440b5d9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '418' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-candeleteasecret-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c2357430-882e-4ca2-91a0-64c33ee79a39', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:47 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c8f42b03-b5b6-45b1-91d0-1c9d1db56000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:47 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:47 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-candeleteasecret-/') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-candeleteasecret-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '114', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '86013331-5ee9-4d58-a1e5-9395f86fcf78', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:47 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-candeleteasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1109f2b5-bd70-4df8-ad78-104ff4aa558d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:48 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '2b471acd-26d2-41c6-9c21-1a7c0f7f3700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:48 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:48 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-candeleteasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4979c1f7-9285-4c3d-87b8-a2e5f673f59e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:47 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-candeleteasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '90e3b87d-1e39-4b12-8633-65e3df2b14cb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:58 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'dd49d0eb-154f-4629-809a-5dbe8ff97100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:59 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:58 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-candeleteasecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2be9608f-d8c2-4539-883e-33c63fc444a3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-candeleteasecretNonExisting-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '499c864b-edb9-4b82-9983-fd62fc969db6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:22:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'b808b3f4-6c5e-48be-98d5-6f6416f62a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:22:59 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:22:59 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-candeleteasecretNonExisting-') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-candeleteasecretNonExisting-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '125', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1c9ee61f-b2c0-4afb-89ed-e665d16c043b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:00 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-cangetadeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0dd570c7-1acb-443d-bf36-0fac198f7dd4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:00 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e1be9cee-dbe6-4539-baf2-5298a82f7000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:01 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:00 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-cangetadeletedsecret-', {"value":"RSA"}) + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/95fd1a838fd548b3bc0985d920f72fdf","attributes":{"enabled":true,"created":1565306581,"updated":1565306581,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c33f82f8-2715-4979-b8d6-d4b4968009b1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '264' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-cangetadeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '30f5e82b-34a2-43c6-ae07-a4c1045a52cb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3845eea9-9da5-4a2c-a712-0c5678e03800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:02 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-cangetadeletedsecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-","deletedDate":1565306582,"scheduledPurgeDate":1573082582,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/95fd1a838fd548b3bc0985d920f72fdf","attributes":{"enabled":true,"created":1565306581,"updated":1565306581,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0e8a5e13-2588-4344-a72f-f8dd19f111ef', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:02 GMT', + 'Connection', + 'close', + 'Content-Length', + '426' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-candeleteasecretNonExisting-') + .get('/deletedsecrets/CRUDSecretName-cangetadeletedsecret-') .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-candeleteasecretNonExisting-"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '125', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'db57fc8a-8c2b-4cad-abe9-f9a0b3f03ee5', + '08643cdf-df61-4a2c-88a1-e2240d134d81', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1806,18 +5500,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:09 GMT', + 'Thu, 08 Aug 2019 23:23:02 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ec953be9-1258-4f2a-b699-f56adb625200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:02 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-cangetadeletedsecret-', {"value":"RSA"}) + .get('/deletedsecrets/CRUDSecretName-cangetadeletedsecret-') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/3e9a99044dbc4dd78131f1a458fe7ea9","attributes":{"enabled":true,"created":1563496330,"updated":1563496330,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-cangetadeletedsecret-"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '126', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1827,11 +5557,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8dc6d20c-ae39-4cd9-82a4-77970114e8a7', + '587d1f1c-52bc-44ce-91e8-5757371f82b1', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1841,34 +5571,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:09 GMT', + 'Thu, 08 Aug 2019 23:23:02 GMT', 'Connection', - 'close', - 'Content-Length', - '264' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-cangetadeletedsecret-') + .get('/deletedsecrets/CRUDSecretName-cangetadeletedsecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-","deletedDate":1563496330,"scheduledPurgeDate":1571272330,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/3e9a99044dbc4dd78131f1a458fe7ea9","attributes":{"enabled":true,"created":1563496330,"updated":1563496330,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '30a010a4-50e8-4d20-b8aa-f800531c87b5', + '00d918cb-0907-437b-a63e-ddc593ef39b8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1878,11 +5610,43 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:09 GMT', + 'Thu, 08 Aug 2019 23:23:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '562b5a2a-d429-4344-885b-36dc95b74400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:13 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:12 GMT', 'Connection', 'close', 'Content-Length', - '426' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) @@ -1903,11 +5667,50 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5b38c66e-85c3-48d3-84e2-55232b341893', + '801cd8c6-21ac-4e40-b98e-6dfdc714b429', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:13 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-cangetadeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ffb42922-c047-4495-b4f0-e623fbedfeb9', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1917,15 +5720,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:11 GMT', + 'Thu, 08 Aug 2019 23:23:24 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e5db4162-038e-480e-8661-2ba76f132a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:24 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:24 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedsecrets/CRUDSecretName-cangetadeletedsecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-","deletedDate":1563496330,"scheduledPurgeDate":1571272330,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/3e9a99044dbc4dd78131f1a458fe7ea9","attributes":{"enabled":true,"created":1563496330,"updated":1563496330,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-","deletedDate":1565306582,"scheduledPurgeDate":1573082582,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-/95fd1a838fd548b3bc0985d920f72fdf","attributes":{"enabled":true,"created":1565306581,"updated":1565306581,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1938,11 +5775,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'cfaf9e45-1e5b-41eb-838d-40603a0711cf', + '2f843378-a4e1-4972-838f-ba63f00fa6c4', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1952,13 +5789,86 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:20 GMT', + 'Thu, 08 Aug 2019 23:23:24 GMT', 'Connection', 'close', 'Content-Length', '426' ]); +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-cangetadeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd20c6478-8df8-4f7c-8299-ad8c3a86e669', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:25 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '98d92508-1ea8-4fd7-8110-1f997d5f2c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:25 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/deletedsecrets/CRUDSecretName-cangetadeletedsecret-') .query(true) @@ -1973,11 +5883,50 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '98610f52-8347-4fd0-bc0b-7f11f653a899', + '1bc41a04-1ae1-4116-948f-ada8189fb50b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:25 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-cangetadeletedsecretNonExisting-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '284caf40-91d4-4ff9-8a5f-6b4b75148d60', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1987,11 +5936,45 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:22 GMT', + 'Thu, 08 Aug 2019 23:23:26 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '00e53b66-7aac-45cc-b240-956456393d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AskXsV1ovq9Hgl9Ia6pZkgc_aSJHHgAAAD2l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/secrets/CRUDSecretName-cangetadeletedsecretNonExisting-') .query(true) @@ -2010,11 +5993,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd17493fb-685a-475d-93f6-1b7de090001b', + '181013dc-55cf-433a-a0b4-7ca5bbd2c916', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2024,7 +6007,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:22 GMT', + 'Thu, 08 Aug 2019 23:23:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__list_secrets_in_various_ways/recording_before_all_hook.js b/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__list_secrets_in_various_ways/recording_before_all_hook.js index c91843fe21e4..3c6245c83a92 100644 --- a/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__list_secrets_in_various_ways/recording_before_all_hook.js +++ b/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__list_secrets_in_various_ways/recording_before_all_hook.js @@ -2,9 +2,48 @@ let nock = require('nock'); module.exports.testInfo = {} +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ed89d861-646c-4812-9f04-173102962ea4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:23:27 GMT', + 'Connection', + 'close' ]); + + nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") - .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', 'no-cache, no-store', 'Pragma', 'no-cache', @@ -17,17 +56,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'x-ms-request-id', - '3b82c115-5abf-4b67-95d0-827237f60501', + '032cce83-64dc-4622-b7bd-b6d6c3e15e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'Set-Cookie', - 'fpc=AuC3gtWViTNIjxmEM5TUeLY_aSJHAQAAAJYGw9QOAAAA; expires=Sun, 18-Aug-2019 00:32:22 GMT; path=/; secure; HttpOnly', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHAQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:27 GMT; path=/; secure; HttpOnly', 'Set-Cookie', 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', 'Set-Cookie', 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:32:22 GMT', + 'Thu, 08 Aug 2019 23:23:26 GMT', 'Connection', 'close', 'Content-Length', @@ -37,7 +78,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .put('/secrets/CRUDSecretName-canlistsecrets-0', {"value":"RSA"}) .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/31a46ba5232b4f2f92d84966e22270ad","attributes":{"enabled":true,"created":1563496343,"updated":1563496343,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/772a5439de134bd9afc6f537e1ea9e45","attributes":{"enabled":true,"created":1565306607,"updated":1565306607,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -50,11 +91,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7f454111-3ba7-405c-8fcb-95b12efe0a97', + '852e093e-5ba9-42e3-8d05-ff49b1204399', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -64,7 +105,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:22 GMT', + 'Thu, 08 Aug 2019 23:23:27 GMT', 'Connection', 'close', 'Content-Length', @@ -72,26 +113,30 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canlistsecrets-1', {"value":"RSA"}) + .put('/secrets/CRUDSecretName-canlistsecrets-1') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/6e4884a23216491ea9948da454e6959e","attributes":{"enabled":true,"created":1563496343,"updated":1563496343,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6b425a71-0db2-4a03-b549-94c08f20df6c', + 'b1ac65b8-0cbb-496e-8d91-ce186ad09161', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -101,54 +146,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:23 GMT', + 'Thu, 08 Aug 2019 23:23:27 GMT', 'Connection', - 'close', - 'Content-Length', - '259' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets') - .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816","attributes":{"enabled":true,"created":1563495687,"updated":1563495687,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0","attributes":{"enabled":true,"created":1563496343,"updated":1563496343,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1","attributes":{"enabled":true,"created":1563496343,"updated":1563496343,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/ExamplePassword","attributes":{"enabled":true,"created":1559920536,"updated":1559920536,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035497352907352","attributes":{"enabled":true,"created":1560354978,"updated":1560354978,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035503730605597","attributes":{"enabled":true,"created":1560355042,"updated":1560355042,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035505405304954","attributes":{"enabled":true,"created":1560355059,"updated":1560355059,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName1","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555","attributes":{"enabled":true,"created":1559698309,"updated":1559698309,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254","attributes":{"enabled":true,"exp":32503680000,"created":1559698313,"updated":1559698313,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633","attributes":{"enabled":true,"exp":32503680000,"created":1559698314,"updated":1559698328,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177","attributes":{"enabled":true,"created":1559698345,"updated":1559698345,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376","attributes":{"enabled":true,"created":1559698415,"updated":1559698415,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224","attributes":{"enabled":true,"created":1559698422,"updated":1559698422,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999","attributes":{"enabled":true,"exp":32503680000,"created":1559698435,"updated":1559698435,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107","attributes":{"enabled":true,"exp":32503680000,"created":1559698450,"updated":1559698457,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300","attributes":{"enabled":true,"created":1559698479,"updated":1559698479,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675","attributes":{"enabled":true,"created":1559698582,"updated":1559698582,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRnNU16ZzFNRGMxTkRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '655dead3-01a6-4904-94f6-4e4952924147', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '65e0665e-1646-4ca3-84dc-d29ad00e3600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHAgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:32:23 GMT', + 'Thu, 08 Aug 2019 23:23:27 GMT', 'Connection', 'close', 'Content-Length', - '3831' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets') + .put('/secrets/CRUDSecretName-canlistsecrets-1', {"value":"RSA"}) .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540","attributes":{"enabled":true,"exp":32503680000,"created":1559698595,"updated":1559698595,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057","attributes":{"enabled":true,"exp":32503680000,"created":1559698608,"updated":1559698615,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327","attributes":{"enabled":true,"created":1559698661,"updated":1559698661,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045","attributes":{"enabled":true,"created":1559748717,"updated":1559748717,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440","attributes":{"enabled":true,"exp":32503680000,"created":1559748728,"updated":1559748728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363","attributes":{"enabled":true,"exp":32503680000,"created":1559748739,"updated":1559748744,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577","attributes":{"enabled":true,"created":1559748784,"updated":1559748784,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146","attributes":{"enabled":true,"created":1559762682,"updated":1559762682,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658","attributes":{"enabled":true,"created":1559779876,"updated":1559779876,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041","attributes":{"enabled":true,"created":1559779883,"updated":1559779883,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314","attributes":{"enabled":true,"exp":32503680000,"created":1559779896,"updated":1559779896,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514","attributes":{"enabled":true,"exp":32503680000,"created":1559779909,"updated":1559779916,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573","attributes":{"enabled":true,"created":1559779954,"updated":1559779954,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962","attributes":{"enabled":true,"created":1559855297,"updated":1559855297,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520","attributes":{"enabled":true,"created":1559861253,"updated":1559861253,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211","attributes":{"enabled":true,"created":1559861260,"updated":1559861260,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251","attributes":{"enabled":true,"exp":32503680000,"created":1559861276,"updated":1559861276,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpBNE5ERTFNRFUxTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/b48908d61cd24614a16ca3c9f290a60e","attributes":{"enabled":true,"created":1565306608,"updated":1565306608,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -161,11 +201,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'c1ff5dbb-52f9-4b7b-a9f5-2a5d09766291', + '484ba91f-6022-42a4-8ed2-f36e2d3026da', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -175,34 +215,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:23 GMT', + 'Thu, 08 Aug 2019 23:23:27 GMT', 'Connection', 'close', 'Content-Length', - '3646' ]); + '259' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/secrets') .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684","attributes":{"enabled":true,"created":1560354683,"updated":1560354683,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718","attributes":{"enabled":true,"exp":32503680000,"created":1560354688,"updated":1560354688,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815","attributes":{"enabled":true,"exp":32503680000,"created":1560354700,"updated":1560354705,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910","attributes":{"enabled":false,"exp":32503680000,"created":1560354717,"updated":1560354723,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987","attributes":{"enabled":true,"created":1560354728,"updated":1560354728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992","attributes":{"enabled":false,"created":1560354739,"updated":1560354739,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332","attributes":{"enabled":true,"created":1560354751,"updated":1560354751,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463","attributes":{"enabled":true,"created":1560354940,"updated":1560354940,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575","attributes":{"enabled":true,"created":1560365673,"updated":1560365673,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379","attributes":{"enabled":true,"exp":32503680000,"created":1560365679,"updated":1560365679,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952","attributes":{"enabled":true,"exp":32503680000,"created":1560365690,"updated":1560365695,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621","attributes":{"enabled":false,"exp":32503680000,"created":1560365707,"updated":1560365713,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936","attributes":{"enabled":true,"created":1560365718,"updated":1560365718,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051","attributes":{"enabled":false,"created":1560365729,"updated":1560365729,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072","attributes":{"enabled":true,"created":1560365740,"updated":1560365740,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918","attributes":{"enabled":true,"created":1560365867,"updated":1560365867,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RBd09EQTRNRGt6TWpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b0c4258f-193f-4b58-962d-702b08640157', + 'af88f413-81a3-4dba-a812-2a5297c66bf2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -212,17 +256,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:24 GMT', + 'Thu, 08 Aug 2019 23:23:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9451f902-367c-41b1-b483-8ba9b43a6a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHAwAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:28 GMT', 'Connection', 'close', 'Content-Length', - '3442' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/secrets') .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323","attributes":{"enabled":true,"created":1560365906,"updated":1560365906,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652","attributes":{"enabled":true,"created":1560365969,"updated":1560365969,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284","attributes":{"enabled":true,"created":1560366250,"updated":1560366250,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243","attributes":{"enabled":true,"exp":32503680000,"created":1560366256,"updated":1560366256,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356","attributes":{"enabled":true,"exp":32503680000,"created":1560366267,"updated":1560366272,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634","attributes":{"enabled":false,"exp":32503680000,"created":1560366283,"updated":1560366289,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025","attributes":{"enabled":true,"created":1560366295,"updated":1560366295,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034","attributes":{"enabled":false,"created":1560366306,"updated":1560366306,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153","attributes":{"enabled":true,"created":1560366317,"updated":1560366317,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935","attributes":{"enabled":true,"created":1560366530,"updated":1560366530,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451","attributes":{"enabled":true,"created":1560366569,"updated":1560366569,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557","attributes":{"enabled":true,"created":1560366633,"updated":1560366633,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385","attributes":{"enabled":true,"created":1560367765,"updated":1560367765,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRnNU1UVXhNRGN6TkRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0","attributes":{"enabled":true,"created":1565306607,"updated":1565306607,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1","attributes":{"enabled":true,"created":1565306608,"updated":1565306608,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/ExamplePassword","attributes":{"enabled":true,"created":1559920536,"updated":1559920536,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035497352907352","attributes":{"enabled":true,"created":1560354978,"updated":1560354978,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035503730605597","attributes":{"enabled":true,"created":1560355042,"updated":1560355042,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035505405304954","attributes":{"enabled":true,"created":1560355059,"updated":1560355059,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -235,11 +311,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ed701c2b-3ecc-4621-b86f-9fcfb1989fe1', + 'b9d8937e-111a-44d6-9a45-2295fd649c3f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -249,34 +325,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:25 GMT', + 'Thu, 08 Aug 2019 23:23:29 GMT', 'Connection', 'close', 'Content-Length', - '2816' ]); + '1440' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/secrets') .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836","attributes":{"enabled":true,"created":1560834589,"updated":1560834589,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466","attributes":{"enabled":true,"created":1560834627,"updated":1560834627,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384","attributes":{"enabled":true,"created":1560834724,"updated":1560834724,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983","attributes":{"enabled":true,"created":1560834763,"updated":1560834763,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330","attributes":{"enabled":true,"created":1560351327,"updated":1560351327,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968","attributes":{"enabled":true,"created":1560354843,"updated":1560354843,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298","attributes":{"enabled":true,"created":1560354838,"updated":1560354838,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694","attributes":{"enabled":true,"created":1560365822,"updated":1560365822,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753","attributes":{"enabled":true,"created":1560365828,"updated":1560365828,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029","attributes":{"enabled":true,"created":1560366404,"updated":1560366404,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648","attributes":{"enabled":true,"created":1560366410,"updated":1560366410,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280","attributes":{"enabled":true,"created":1560834555,"updated":1560834555,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650","attributes":{"enabled":true,"created":1560834728,"updated":1560834728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472","attributes":{"enabled":true,"created":1560834727,"updated":1560834727,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f1c259ba-ac85-451e-8810-ba31a77861eb', + '60576261-1d79-4bcf-aec7-1cdfe17356f5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -286,17 +366,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:25 GMT', + 'Thu, 08 Aug 2019 23:23:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '00b011de-a65c-4fef-a05f-85fca9d14100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHBAAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:29 GMT', 'Connection', 'close', 'Content-Length', - '3079' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistsecrets-0') + .get('/secrets') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0","deletedDate":1563496346,"scheduledPurgeDate":1571272346,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/31a46ba5232b4f2f92d84966e22270ad","attributes":{"enabled":true,"created":1563496343,"updated":1563496343,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName1","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555","attributes":{"enabled":true,"created":1559698309,"updated":1559698309,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254","attributes":{"enabled":true,"exp":32503680000,"created":1559698313,"updated":1559698313,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633","attributes":{"enabled":true,"exp":32503680000,"created":1559698314,"updated":1559698328,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177","attributes":{"enabled":true,"created":1559698345,"updated":1559698345,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376","attributes":{"enabled":true,"created":1559698415,"updated":1559698415,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224","attributes":{"enabled":true,"created":1559698422,"updated":1559698422,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999","attributes":{"enabled":true,"exp":32503680000,"created":1559698435,"updated":1559698435,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107","attributes":{"enabled":true,"exp":32503680000,"created":1559698450,"updated":1559698457,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300","attributes":{"enabled":true,"created":1559698479,"updated":1559698479,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675","attributes":{"enabled":true,"created":1559698582,"updated":1559698582,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540","attributes":{"enabled":true,"exp":32503680000,"created":1559698595,"updated":1559698595,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057","attributes":{"enabled":true,"exp":32503680000,"created":1559698608,"updated":1559698615,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327","attributes":{"enabled":true,"created":1559698661,"updated":1559698661,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045","attributes":{"enabled":true,"created":1559748717,"updated":1559748717,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440","attributes":{"enabled":true,"exp":32503680000,"created":1559748728,"updated":1559748728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363","attributes":{"enabled":true,"exp":32503680000,"created":1559748739,"updated":1559748744,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577","attributes":{"enabled":true,"created":1559748784,"updated":1559748784,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146","attributes":{"enabled":true,"created":1559762682,"updated":1559762682,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658","attributes":{"enabled":true,"created":1559779876,"updated":1559779876,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041","attributes":{"enabled":true,"created":1559779883,"updated":1559779883,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314","attributes":{"enabled":true,"exp":32503680000,"created":1559779896,"updated":1559779896,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -309,11 +421,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'aa51895c-d2de-4fe1-bdac-506b0d3fdfd7', + '12e20691-aef8-4aa6-a8bf-4e97b483288b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -323,36 +435,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:26 GMT', + 'Thu, 08 Aug 2019 23:23:30 GMT', 'Connection', 'close', 'Content-Length', - '416' ]); + '4623' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .get('/secrets') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '970e2240-4a42-481e-9913-b948827de587', + 'ee2e8ee3-1143-4238-83ee-77d1def2d393', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -362,48 +476,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:26 GMT', + 'Thu, 08 Aug 2019 23:23:30 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'c9b4905d-de44-4a5a-9551-bb41b8816b23', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'c3b50d7a-560e-4d9c-acd3-b2f53eb43400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHBQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:32:37 GMT', + 'Thu, 08 Aug 2019 23:23:29 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistsecrets-1') + .get('/secrets') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1","deletedDate":1563496357,"scheduledPurgeDate":1571272357,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/6e4884a23216491ea9948da454e6959e","attributes":{"enabled":true,"created":1563496343,"updated":1563496343,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514","attributes":{"enabled":true,"exp":32503680000,"created":1559779909,"updated":1559779916,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573","attributes":{"enabled":true,"created":1559779954,"updated":1559779954,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962","attributes":{"enabled":true,"created":1559855297,"updated":1559855297,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520","attributes":{"enabled":true,"created":1559861253,"updated":1559861253,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211","attributes":{"enabled":true,"created":1559861260,"updated":1559861260,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251","attributes":{"enabled":true,"exp":32503680000,"created":1559861276,"updated":1559861276,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684","attributes":{"enabled":true,"created":1560354683,"updated":1560354683,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718","attributes":{"enabled":true,"exp":32503680000,"created":1560354688,"updated":1560354688,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815","attributes":{"enabled":true,"exp":32503680000,"created":1560354700,"updated":1560354705,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910","attributes":{"enabled":false,"exp":32503680000,"created":1560354717,"updated":1560354723,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987","attributes":{"enabled":true,"created":1560354728,"updated":1560354728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992","attributes":{"enabled":false,"created":1560354739,"updated":1560354739,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332","attributes":{"enabled":true,"created":1560354751,"updated":1560354751,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -416,11 +531,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '312b9c9f-04b9-4556-bd9c-bc8486d2c02c', + 'b553b82b-0755-4499-9ee7-9855d361c733', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -430,36 +545,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:37 GMT', + 'Thu, 08 Aug 2019 23:23:31 GMT', 'Connection', 'close', 'Content-Length', - '416' ]); + '2852' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .get('/secrets') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'aa8cf67c-f416-4849-ad27-6391acc42442', + '845f5b7d-0b66-42c2-982d-320b46422c00', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -469,20 +586,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:38 GMT', + 'Thu, 08 Aug 2019 23:23:31 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e5db4162-038e-480e-8661-2ba718142a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHBgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:23:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .get('/secrets') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463","attributes":{"enabled":true,"created":1560354940,"updated":1560354940,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575","attributes":{"enabled":true,"created":1560365673,"updated":1560365673,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379","attributes":{"enabled":true,"exp":32503680000,"created":1560365679,"updated":1560365679,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952","attributes":{"enabled":true,"exp":32503680000,"created":1560365690,"updated":1560365695,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621","attributes":{"enabled":false,"exp":32503680000,"created":1560365707,"updated":1560365713,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936","attributes":{"enabled":true,"created":1560365718,"updated":1560365718,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051","attributes":{"enabled":false,"created":1560365729,"updated":1560365729,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072","attributes":{"enabled":true,"created":1560365740,"updated":1560365740,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918","attributes":{"enabled":true,"created":1560365867,"updated":1560365867,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323","attributes":{"enabled":true,"created":1560365906,"updated":1560365906,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652","attributes":{"enabled":true,"created":1560365969,"updated":1560365969,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284","attributes":{"enabled":true,"created":1560366250,"updated":1560366250,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243","attributes":{"enabled":true,"exp":32503680000,"created":1560366256,"updated":1560366256,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356","attributes":{"enabled":true,"exp":32503680000,"created":1560366267,"updated":1560366272,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634","attributes":{"enabled":false,"exp":32503680000,"created":1560366283,"updated":1560366289,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025","attributes":{"enabled":true,"created":1560366295,"updated":1560366295,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034","attributes":{"enabled":false,"created":1560366306,"updated":1560366306,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153","attributes":{"enabled":true,"created":1560366317,"updated":1560366317,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -492,11 +641,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '91442542-0c2e-4935-8d9a-63b5f541ea19', + '32e36475-27b1-4582-8209-33c725f73651', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -506,30 +655,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:48 GMT', + 'Thu, 08 Aug 2019 23:23:32 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '3822' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .get('/secrets') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '155108d9-5c90-4de7-bd6c-512588cc301c', + '2c3a6b82-c921-41e2-85ec-599f8ac362e8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -539,52 +696,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:58 GMT', + 'Thu, 08 Aug 2019 23:23:32 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canlistdeletedsecrets-0', {"value":"RSA"}) - .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/a2cc698bfe104bedad8b1792806370bb","attributes":{"enabled":true,"created":1563496379,"updated":1563496379,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '7786b7f0-48ef-4cc8-83c2-ca2ee87d4f52', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '1fd3ad1e-59c0-4308-b884-0d38bdbe7900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHBwAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:33 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:32:58 GMT', + 'Thu, 08 Aug 2019 23:23:32 GMT', 'Connection', 'close', 'Content-Length', - '266' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canlistdeletedsecrets-1', {"value":"RSA"}) + .get('/secrets') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/c6bb1da9d0634ad7b24dec664bff007a","attributes":{"enabled":true,"created":1563496379,"updated":1563496379,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935","attributes":{"enabled":true,"created":1560366530,"updated":1560366530,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451","attributes":{"enabled":true,"created":1560366569,"updated":1560366569,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557","attributes":{"enabled":true,"created":1560366633,"updated":1560366633,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385","attributes":{"enabled":true,"created":1560367765,"updated":1560367765,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836","attributes":{"enabled":true,"created":1560834589,"updated":1560834589,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466","attributes":{"enabled":true,"created":1560834627,"updated":1560834627,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384","attributes":{"enabled":true,"created":1560834724,"updated":1560834724,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983","attributes":{"enabled":true,"created":1560834763,"updated":1560834763,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330","attributes":{"enabled":true,"created":1560351327,"updated":1560351327,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968","attributes":{"enabled":true,"created":1560354843,"updated":1560354843,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298","attributes":{"enabled":true,"created":1560354838,"updated":1560354838,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694","attributes":{"enabled":true,"created":1560365822,"updated":1560365822,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -597,11 +751,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '35e6d28a-e908-444b-bdfa-8a76688b5923', + '561fb8b1-b2f2-4a92-b22e-fcc8584e7215', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -611,34 +765,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:59 GMT', + 'Thu, 08 Aug 2019 23:23:33 GMT', 'Connection', 'close', 'Content-Length', - '266' ]); + '2579' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-0') + .get('/secrets') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1563496380,"scheduledPurgeDate":1571272380,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/a2cc698bfe104bedad8b1792806370bb","attributes":{"enabled":true,"created":1563496379,"updated":1563496379,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f4bdb2b0-489f-4161-b861-1aef67501f1f', + '8609bcb8-fe0a-4639-b74d-5f13b82afbea', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -648,59 +806,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:32:59 GMT', + 'Thu, 08 Aug 2019 23:23:34 GMT', 'Connection', - 'close', - 'Content-Length', - '430' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-1') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1563496380,"scheduledPurgeDate":1571272380,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/c6bb1da9d0634ad7b24dec664bff007a","attributes":{"enabled":true,"created":1563496379,"updated":1563496379,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'f2847f47-f9ea-4cd4-ac43-25f57d617a04', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'ea10ce94-9c68-4767-ad84-9a68bd4a3000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHCAAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:34 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:00 GMT', + 'Thu, 08 Aug 2019 23:23:34 GMT', 'Connection', 'close', 'Content-Length', - '430' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .get('/secrets') .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0"}}, [ 'Cache-Control', + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753","attributes":{"enabled":true,"created":1560365828,"updated":1560365828,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029","attributes":{"enabled":true,"created":1560366404,"updated":1560366404,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648","attributes":{"enabled":true,"created":1560366410,"updated":1560366410,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280","attributes":{"enabled":true,"created":1560834555,"updated":1560834555,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650","attributes":{"enabled":true,"created":1560834728,"updated":1560834728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472","attributes":{"enabled":true,"created":1560834727,"updated":1560834727,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '128', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -710,11 +861,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '519f018d-8583-49a3-a79c-c3e8e46c188e', + 'db1c3056-b592-4ac3-b0d4-56ac51c4a759', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -724,32 +875,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:00 GMT', + 'Thu, 08 Aug 2019 23:23:35 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1555' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .delete('/secrets/CRUDSecretName-canlistsecrets-0') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1563496380,"scheduledPurgeDate":1571272380,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/a2cc698bfe104bedad8b1792806370bb","attributes":{"enabled":true,"created":1563496379,"updated":1563496379,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5e036eb2-4e0b-4540-9dae-ac63ed571765', + '2642faf7-5c3f-4360-986e-25ce07a65fa7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -759,54 +916,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:11 GMT', + 'Thu, 08 Aug 2019 23:23:35 GMT', 'Connection', - 'close', - 'Content-Length', - '430' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","deletedDate":1562091716,"scheduledPurgeDate":1569867716,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","attributes":{"enabled":true,"created":1562091716,"updated":1562091716,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1563496380,"scheduledPurgeDate":1571272380,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0","attributes":{"enabled":true,"created":1563496379,"updated":1563496379,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1563496380,"scheduledPurgeDate":1571272380,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1","attributes":{"enabled":true,"created":1563496379,"updated":1563496379,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832","deletedDate":1560352589,"scheduledPurgeDate":1568128589,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832","attributes":{"enabled":true,"created":1560352578,"updated":1560352578,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456","deletedDate":1560352595,"scheduledPurgeDate":1568128595,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456","attributes":{"enabled":true,"created":1560352584,"updated":1560352584,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0","deletedDate":1561751925,"scheduledPurgeDate":1569527925,"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName0","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName","deletedDate":1561752013,"scheduledPurgeDate":1569528013,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName","attributes":{"enabled":true,"created":1561752012,"updated":1561752012,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXdJWE5sWTNKbGRDOVNSVU5QVmtWU1UwVkRVa1ZVVGtGTlJTMURRVTVTUlZOVVQxSkZRVk5GUTFKRlZDMHdPREF4TlRrMU56YzBOakV5TVRVeE5pRXdNREF3TWpnaE9UazVPUzB4TWkwek1WUXlNem8xT1RvMU9TNDVPVGs1T1RrNVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '6633b4c9-9967-4c2d-a83e-3248fe8863ba', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'e04a97dc-28ea-41ff-965e-4b92d7265c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHCQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:36 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:11 GMT', + 'Thu, 08 Aug 2019 23:23:36 GMT', 'Connection', 'close', 'Content-Length', - '2852' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .delete('/secrets/CRUDSecretName-canlistsecrets-0') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516","deletedDate":1561725411,"scheduledPurgeDate":1569501411,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516","attributes":{"enabled":true,"created":1561725356,"updated":1561725356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TmpBeU1EazNNRE13TlRjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0","deletedDate":1565306616,"scheduledPurgeDate":1573082616,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/772a5439de134bd9afc6f537e1ea9e45","attributes":{"enabled":true,"created":1565306607,"updated":1565306607,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -819,11 +971,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8b1b98b1-497a-425a-b751-9d6167a6268a', + '18181d7a-3ae1-4e9c-9f58-07f822ddd270', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -833,34 +985,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:12 GMT', + 'Thu, 08 Aug 2019 23:23:36 GMT', 'Connection', 'close', 'Content-Length', - '693' ]); + '416' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') .query(true) - .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVPRFUxTWpreE56STRNREE1TmpJdk5EWXhPRVV6TUVORk1ESXdORUpCTkRnM1Fqa3dPVGMwTnpreE5URkVOemNoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '02dc7a05-e404-4c26-b9ce-2e073afd3acd', + 'b08cf020-b47e-4b66-b975-6151925c5b9e', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -870,57 +1026,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:12 GMT', + 'Thu, 08 Aug 2019 23:23:36 GMT', 'Connection', - 'close', - 'Content-Length', - '356' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917","deletedDate":1560288400,"scheduledPurgeDate":1568064400,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917","attributes":{"enabled":true,"created":1560288394,"updated":1560288394,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205","deletedDate":1560289358,"scheduledPurgeDate":1568065358,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205","attributes":{"enabled":false,"exp":32503680000,"created":1560289341,"updated":1560289347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102","deletedDate":1560289559,"scheduledPurgeDate":1568065559,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102","attributes":{"enabled":false,"exp":32503680000,"created":1560289548,"updated":1560289554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194","deletedDate":1560289648,"scheduledPurgeDate":1568065648,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194","attributes":{"enabled":false,"exp":32503680000,"created":1560289636,"updated":1560289642,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042","deletedDate":1560289703,"scheduledPurgeDate":1568065703,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042","attributes":{"enabled":false,"exp":32503680000,"created":1560289691,"updated":1560289697,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437","deletedDate":1560289831,"scheduledPurgeDate":1568065831,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437","attributes":{"enabled":false,"exp":32503680000,"created":1560289815,"updated":1560289826,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585","deletedDate":1560289994,"scheduledPurgeDate":1568065994,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585","attributes":{"enabled":false,"exp":32503680000,"created":1560289983,"updated":1560289989,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409","deletedDate":1560290062,"scheduledPurgeDate":1568066062,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409","attributes":{"enabled":false,"exp":32503680000,"created":1560290045,"updated":1560290051,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555","deletedDate":1560290236,"scheduledPurgeDate":1568066236,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555","attributes":{"enabled":false,"exp":32503680000,"created":1560290214,"updated":1560290219,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpFNU56UXpNREExTnpnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '4c8079f0-465c-4f1a-a21c-70b46ecd16ee', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '5b6f1cb8-aff3-4189-be60-d4cbf3c75200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHCgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:37 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:13 GMT', + 'Thu, 08 Aug 2019 23:23:36 GMT', 'Connection', 'close', 'Content-Length', - '3491' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578","deletedDate":1560290242,"scheduledPurgeDate":1568066242,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578","attributes":{"enabled":false,"created":1560290225,"updated":1560290225,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419","deletedDate":1560347014,"scheduledPurgeDate":1568123014,"id":"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419","attributes":{"enabled":false,"exp":32503680000,"created":1560347002,"updated":1560347008,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829","deletedDate":1560355143,"scheduledPurgeDate":1568131143,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829","attributes":{"enabled":true,"created":1560354677,"updated":1560354677,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921","deletedDate":1560354773,"scheduledPurgeDate":1568130773,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921","attributes":{"enabled":true,"created":1560354767,"updated":1560354767,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164","deletedDate":1560360558,"scheduledPurgeDate":1568136558,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164","attributes":{"enabled":true,"exp":32503680000,"created":1560360547,"updated":1560360547,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNell3TlRReE5EZ3hNRFF4TmpRdlJFWkdOek0wUkRZMU16UTJORUkxTlVFd01rTkJNVFZGUlVZMk5FSkRSa1FoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -930,11 +1083,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'd55606fd-3639-45ce-a6ee-a5b4a528c7e2', + 'db2c48f8-c126-42fb-a792-25332ed921d9', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -944,34 +1097,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:13 GMT', + 'Thu, 08 Aug 2019 23:23:36 GMT', 'Connection', - 'close', - 'Content-Length', - '2083' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067","deletedDate":1560366029,"scheduledPurgeDate":1568142029,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067","attributes":{"enabled":true,"created":1560365667,"updated":1560365667,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928","deletedDate":1560365763,"scheduledPurgeDate":1568141763,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928","attributes":{"enabled":true,"created":1560365757,"updated":1560365757,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231","deletedDate":1560365785,"scheduledPurgeDate":1568141785,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231","attributes":{"enabled":true,"created":1560365780,"updated":1560365780,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RZME16a3hNRGcyTlRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e32e9608-8379-48bb-8be3-a5f375cdee3d', + '44fd3f25-2213-479b-8a9d-5b6d4e915e68', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -981,57 +1136,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:14 GMT', + 'Thu, 08 Aug 2019 23:23:47 GMT', 'Connection', - 'close', - 'Content-Length', - '1311' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898","deletedDate":1560365997,"scheduledPurgeDate":1568141997,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898","attributes":{"enabled":true,"created":1560365986,"updated":1560365986,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210","deletedDate":1560366693,"scheduledPurgeDate":1568142693,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210","attributes":{"enabled":true,"created":1560366244,"updated":1560366244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621","deletedDate":1560366339,"scheduledPurgeDate":1568142339,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621","attributes":{"enabled":true,"created":1560366333,"updated":1560366333,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRZek9UQTJNRGswTlRFdk1rSTBNakV3UWtZMU9USkZOREZGUWpnNE5rVXdPVGhFTXpkR09ERkNNakVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'f24e4e79-afa4-4e3c-bc81-2359e68b32fb', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '4e8a63a7-4095-4d92-85b1-ef7779512e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHCwAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:48 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:14 GMT', + 'Thu, 08 Aug 2019 23:23:48 GMT', 'Connection', 'close', 'Content-Length', - '1369' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342","deletedDate":1560366661,"scheduledPurgeDate":1568142661,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342","attributes":{"enabled":true,"created":1560366650,"updated":1560366650,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797","deletedDate":1560367433,"scheduledPurgeDate":1568143433,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797","attributes":{"enabled":true,"created":1560367428,"updated":1560367428,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796","deletedDate":1560368144,"scheduledPurgeDate":1568144144,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796","attributes":{"enabled":true,"created":1560367636,"updated":1560367636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180","deletedDate":1560368181,"scheduledPurgeDate":1568144181,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180","attributes":{"enabled":true,"created":1560367748,"updated":1560367748,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933","deletedDate":1560370061,"scheduledPurgeDate":1568146061,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933","attributes":{"enabled":true,"created":1560370056,"updated":1560370056,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704","deletedDate":1560370705,"scheduledPurgeDate":1568146705,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704","attributes":{"enabled":true,"created":1560370284,"updated":1560370284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701","deletedDate":1560446082,"scheduledPurgeDate":1568222082,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701","attributes":{"enabled":true,"created":1560445805,"updated":1560445805,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659","deletedDate":1560446150,"scheduledPurgeDate":1568222150,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659","attributes":{"enabled":true,"created":1560445997,"updated":1560445997,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298","deletedDate":1560446194,"scheduledPurgeDate":1568222194,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298","attributes":{"enabled":true,"created":1560446178,"updated":1560446178,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349","deletedDate":1560446233,"scheduledPurgeDate":1568222233,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349","attributes":{"enabled":true,"created":1560446205,"updated":1560446205,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTlRnMU9UazFNRGM0TlRFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1041,11 +1193,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '515078cd-7874-4edd-9092-1734f922f1db', + 'e81154ca-341d-410c-b04c-457e1d3e6eae', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1055,34 +1207,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:14 GMT', + 'Thu, 08 Aug 2019 23:23:48 GMT', 'Connection', - 'close', - 'Content-Length', - '3677' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851","deletedDate":1560446631,"scheduledPurgeDate":1568222631,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851","attributes":{"enabled":true,"created":1560446603,"updated":1560446603,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355","deletedDate":1560351344,"scheduledPurgeDate":1568127344,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355","attributes":{"enabled":true,"created":1560351321,"updated":1560351321,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851","deletedDate":1560365851,"scheduledPurgeDate":1568141851,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851","attributes":{"enabled":true,"created":1560365840,"updated":1560365840,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970","deletedDate":1560365845,"scheduledPurgeDate":1568141845,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970","attributes":{"enabled":true,"created":1560365834,"updated":1560365834,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTFJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEExT1Rjd0wwWkJOa1V4TkVORk4wUTFSRFJDTWtaQlJrUXdPRVUxTWprek56TTBPRGcwSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '87d8d092-079b-45e9-8cb9-f4c3180c7448', + 'e87ef894-c38a-413c-9f87-7b5a361a7ef1', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1092,52 +1246,47 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:15 GMT', + 'Thu, 08 Aug 2019 23:23:59 GMT', 'Connection', - 'close', - 'Content-Length', - '1719' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') - .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057","deletedDate":1560834630,"scheduledPurgeDate":1568610630,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057","attributes":{"enabled":true,"created":1560834554,"updated":1560834554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547","deletedDate":1560834787,"scheduledPurgeDate":1568610787,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547","attributes":{"enabled":true,"created":1560834689,"updated":1560834689,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '2aae68ee-414e-449d-9ced-a6664fdc9afe', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'b808b3f4-6c5e-48be-98d5-6f648efc2a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHDAAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:23:59 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:15 GMT', + 'Thu, 08 Aug 2019 23:23:59 GMT', 'Connection', 'close', 'Content-Length', - '707' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') .query(true) .reply(204, "", [ 'Cache-Control', 'no-cache', @@ -1150,11 +1299,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0043eff6-436c-4050-ad48-deceed2582d1', + '33154b0d-139b-40f7-b518-45cfd5fd71bf', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1164,30 +1313,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:16 GMT', + 'Thu, 08 Aug 2019 23:23:59 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') + .delete('/secrets/CRUDSecretName-canlistsecrets-1') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ca4bad25-718d-42d6-8946-0fd6954076f0', + '0b07ed1f-c9ba-44f0-9396-7eb9a5e3566f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1197,52 +1352,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:17 GMT', + 'Thu, 08 Aug 2019 23:23:59 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE0"}) - .query(true) - .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/72f85425ec6946a3a417cf8927b42526","attributes":{"enabled":true,"created":1563496397,"updated":1563496397,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '02e51254-77f9-4a31-a635-f09bc0892457', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'c597228a-3064-47de-8f52-b15cc5985d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHDQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:00 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:17 GMT', + 'Thu, 08 Aug 2019 23:23:59 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE1"}) + .delete('/secrets/CRUDSecretName-canlistsecrets-1') .query(true) - .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7f8b22ed57264866bc062cd7d951b7b0","attributes":{"enabled":true,"created":1563496398,"updated":1563496398,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1","deletedDate":1565306640,"scheduledPurgeDate":1573082640,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/b48908d61cd24614a16ca3c9f290a60e","attributes":{"enabled":true,"created":1565306608,"updated":1565306608,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1255,11 +1407,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b5fe50b4-4df0-4e77-8996-147673ddccda', + '30ab4029-4374-4fa8-8468-5592dd72c739', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1269,34 +1421,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:17 GMT', + 'Thu, 08 Aug 2019 23:24:00 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '416' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE2"}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') .query(true) - .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a3a3e7e508804b90b23ee3985b87d9ce","attributes":{"enabled":true,"created":1563496398,"updated":1563496398,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '45e6b18e-f0e2-48dc-acd8-e1feb2530a41', + '8488992f-e78e-4d59-8174-0c92b2d9e2e2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1306,57 +1462,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:17 GMT', + 'Thu, 08 Aug 2019 23:24:00 GMT', 'Connection', - 'close', - 'Content-Length', - '285' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions') - .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/72f85425ec6946a3a417cf8927b42526","attributes":{"enabled":true,"created":1563496397,"updated":1563496397,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7f8b22ed57264866bc062cd7d951b7b0","attributes":{"enabled":true,"created":1563496398,"updated":1563496398,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a3a3e7e508804b90b23ee3985b87d9ce","attributes":{"enabled":true,"created":1563496398,"updated":1563496398,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '13967245-3d24-4c40-b06f-8bdd137cc1f6', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '4999da09-11db-4c98-a0e1-859a18a96100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHDgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:01 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:18 GMT', + 'Thu, 08 Aug 2019 23:24:01 GMT', 'Connection', 'close', 'Content-Length', - '813' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/72f85425ec6946a3a417cf8927b42526') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') .query(true) - .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/72f85425ec6946a3a417cf8927b42526","attributes":{"enabled":true,"created":1563496397,"updated":1563496397,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1366,11 +1519,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '586432a7-fdb6-4b1f-8212-69c27e495343', + '318f59e2-3046-4e1b-83d4-78d29fef8116', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1380,34 +1533,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:18 GMT', + 'Thu, 08 Aug 2019 23:24:01 GMT', 'Connection', - 'close', - 'Content-Length', - '285' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7f8b22ed57264866bc062cd7d951b7b0') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') .query(true) - .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7f8b22ed57264866bc062cd7d951b7b0","attributes":{"enabled":true,"created":1563496398,"updated":1563496398,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '373df782-2236-42e5-89dd-0bd64fa6c1f5', + '603514ce-0e4e-49ee-96c5-bf83f20edf03', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1417,59 +1572,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:19 GMT', + 'Thu, 08 Aug 2019 23:24:11 GMT', 'Connection', - 'close', - 'Content-Length', - '285' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a3a3e7e508804b90b23ee3985b87d9ce') - .query(true) - .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a3a3e7e508804b90b23ee3985b87d9ce","attributes":{"enabled":true,"created":1563496398,"updated":1563496398,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '161252de-c356-446f-aaf8-b898f6d702dc', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'ff0a93f1-8ecb-433b-8344-5d2fa9f13100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHDwAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:12 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:19 GMT', + 'Thu, 08 Aug 2019 23:24:11 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-","deletedDate":1563496400,"scheduledPurgeDate":1571272400,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/a3a3e7e508804b90b23ee3985b87d9ce","attributes":{"enabled":true,"created":1563496398,"updated":1563496398,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1477,11 +1625,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8d7a6f72-59ce-4f0c-b63e-04a7f28ea34e', + 'f8a9fb1a-631a-4d70-9217-8055e34522f3', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1491,36 +1639,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:19 GMT', + 'Thu, 08 Aug 2019 23:24:11 GMT', 'Connection', - 'close', - 'Content-Length', - '448' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-0') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5cce3202-9df1-42da-a598-2946e55c91d5', + '3b7c34d4-cbf9-48ee-9229-a0d0fccd6ad8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1530,55 +1678,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:20 GMT', + 'Thu, 08 Aug 2019 23:24:11 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') - .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'f40d1730-3387-463b-8f5a-e56b4645df7d', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'ef4d4e69-e47d-49fc-9eb7-1f4bb5934600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHEAAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:12 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:30 GMT', + 'Thu, 08 Aug 2019 23:24:12 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-0', {"value":"RSA"}) .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/2fdc40e32d5f4556b5de3768c0cc2736","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1586,11 +1733,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '7414eba4-6f1c-413a-97eb-b0edb1ac932e', + 'ac2c1199-5a0f-49ae-86a0-44023fb63908', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1600,32 +1747,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:41 GMT', + 'Thu, 08 Aug 2019 23:24:12 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '266' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions') + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-1') .query(true) - .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '94483dcc-0627-49f4-b0ae-00db5cb81224', + '58c7b825-4146-4ba7-acdf-a0d4c86a94e8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1635,54 +1788,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:41 GMT', + 'Thu, 08 Aug 2019 23:24:12 GMT', 'Connection', - 'close', - 'Content-Length', - '28' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canlistsecrets-0', {"value":"RSA"}) - .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/6716876e968844089e3e9915204db072","attributes":{"enabled":true,"created":1563496422,"updated":1563496422,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'ba7f0294-d5ca-45d7-900d-a162a93473db', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'e67af3bc-b049-4715-bb96-585fdbe36000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHEQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:13 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:42 GMT', + 'Thu, 08 Aug 2019 23:24:13 GMT', 'Connection', 'close', 'Content-Length', - '259' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canlistsecrets-1', {"value":"RSA"}) + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-1', {"value":"RSA"}) .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/b73bdc44042a4bf1b75e39592f9def59","attributes":{"enabled":true,"created":1563496423,"updated":1563496423,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/ef59fa7b3e1744b989f4aaf873c49e7e","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1695,11 +1843,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'fd6793c4-6814-405e-b39b-b9176fbef803', + 'cee154de-b223-4863-bab7-8786c3b8e438', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1709,34 +1857,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:43 GMT', + 'Thu, 08 Aug 2019 23:24:13 GMT', 'Connection', 'close', 'Content-Length', - '259' ]); + '266' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets') + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-0') .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816","attributes":{"enabled":true,"created":1563495687,"updated":1563495687,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0","attributes":{"enabled":true,"created":1563496422,"updated":1563496422,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1","attributes":{"enabled":true,"created":1563496423,"updated":1563496423,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/ExamplePassword","attributes":{"enabled":true,"created":1559920536,"updated":1559920536,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035497352907352","attributes":{"enabled":true,"created":1560354978,"updated":1560354978,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035503730605597","attributes":{"enabled":true,"created":1560355042,"updated":1560355042,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035505405304954","attributes":{"enabled":true,"created":1560355059,"updated":1560355059,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName1","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555","attributes":{"enabled":true,"created":1559698309,"updated":1559698309,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254","attributes":{"enabled":true,"exp":32503680000,"created":1559698313,"updated":1559698313,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633","attributes":{"enabled":true,"exp":32503680000,"created":1559698314,"updated":1559698328,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177","attributes":{"enabled":true,"created":1559698345,"updated":1559698345,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376","attributes":{"enabled":true,"created":1559698415,"updated":1559698415,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224","attributes":{"enabled":true,"created":1559698422,"updated":1559698422,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999","attributes":{"enabled":true,"exp":32503680000,"created":1559698435,"updated":1559698435,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107","attributes":{"enabled":true,"exp":32503680000,"created":1559698450,"updated":1559698457,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300","attributes":{"enabled":true,"created":1559698479,"updated":1559698479,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675","attributes":{"enabled":true,"created":1559698582,"updated":1559698582,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRnNU16ZzFNRGMxTkRBaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '371a7ba6-ed97-492a-86cb-552194dd297c', + 'e789c4b6-b560-44f9-9396-00b99ec6836c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1746,54 +1898,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:43 GMT', + 'Thu, 08 Aug 2019 23:24:14 GMT', 'Connection', - 'close', - 'Content-Length', - '3831' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets') - .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540","attributes":{"enabled":true,"exp":32503680000,"created":1559698595,"updated":1559698595,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057","attributes":{"enabled":true,"exp":32503680000,"created":1559698608,"updated":1559698615,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327","attributes":{"enabled":true,"created":1559698661,"updated":1559698661,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045","attributes":{"enabled":true,"created":1559748717,"updated":1559748717,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440","attributes":{"enabled":true,"exp":32503680000,"created":1559748728,"updated":1559748728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363","attributes":{"enabled":true,"exp":32503680000,"created":1559748739,"updated":1559748744,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577","attributes":{"enabled":true,"created":1559748784,"updated":1559748784,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146","attributes":{"enabled":true,"created":1559762682,"updated":1559762682,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658","attributes":{"enabled":true,"created":1559779876,"updated":1559779876,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041","attributes":{"enabled":true,"created":1559779883,"updated":1559779883,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314","attributes":{"enabled":true,"exp":32503680000,"created":1559779896,"updated":1559779896,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514","attributes":{"enabled":true,"exp":32503680000,"created":1559779909,"updated":1559779916,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573","attributes":{"enabled":true,"created":1559779954,"updated":1559779954,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962","attributes":{"enabled":true,"created":1559855297,"updated":1559855297,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520","attributes":{"enabled":true,"created":1559861253,"updated":1559861253,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211","attributes":{"enabled":true,"created":1559861260,"updated":1559861260,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251","attributes":{"enabled":true,"exp":32503680000,"created":1559861276,"updated":1559861276,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpBNE5ERTFNRFUxTlRVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '1951d633-ed89-4c8e-b469-c99a5e8bdc79', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'd5fcd201-27af-4a7f-af66-73479afa3400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHEgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:14 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:43 GMT', + 'Thu, 08 Aug 2019 23:24:14 GMT', 'Connection', 'close', 'Content-Length', - '3646' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets') + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-0') .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684","attributes":{"enabled":true,"created":1560354683,"updated":1560354683,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718","attributes":{"enabled":true,"exp":32503680000,"created":1560354688,"updated":1560354688,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815","attributes":{"enabled":true,"exp":32503680000,"created":1560354700,"updated":1560354705,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910","attributes":{"enabled":false,"exp":32503680000,"created":1560354717,"updated":1560354723,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987","attributes":{"enabled":true,"created":1560354728,"updated":1560354728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992","attributes":{"enabled":false,"created":1560354739,"updated":1560354739,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332","attributes":{"enabled":true,"created":1560354751,"updated":1560354751,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463","attributes":{"enabled":true,"created":1560354940,"updated":1560354940,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575","attributes":{"enabled":true,"created":1560365673,"updated":1560365673,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379","attributes":{"enabled":true,"exp":32503680000,"created":1560365679,"updated":1560365679,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952","attributes":{"enabled":true,"exp":32503680000,"created":1560365690,"updated":1560365695,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621","attributes":{"enabled":false,"exp":32503680000,"created":1560365707,"updated":1560365713,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936","attributes":{"enabled":true,"created":1560365718,"updated":1560365718,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051","attributes":{"enabled":false,"created":1560365729,"updated":1560365729,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072","attributes":{"enabled":true,"created":1560365740,"updated":1560365740,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918","attributes":{"enabled":true,"created":1560365867,"updated":1560365867,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RBd09EQTRNRGt6TWpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1565306654,"scheduledPurgeDate":1573082654,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/2fdc40e32d5f4556b5de3768c0cc2736","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1806,11 +1953,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '845261ae-46a2-4d7f-85f0-3f42fb68c5fa', + 'b3608db1-b5cb-412e-a121-a4a482827d1f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1820,34 +1967,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:44 GMT', + 'Thu, 08 Aug 2019 23:24:14 GMT', 'Connection', 'close', 'Content-Length', - '3442' ]); + '430' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets') + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-1') .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323","attributes":{"enabled":true,"created":1560365906,"updated":1560365906,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652","attributes":{"enabled":true,"created":1560365969,"updated":1560365969,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284","attributes":{"enabled":true,"created":1560366250,"updated":1560366250,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243","attributes":{"enabled":true,"exp":32503680000,"created":1560366256,"updated":1560366256,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356","attributes":{"enabled":true,"exp":32503680000,"created":1560366267,"updated":1560366272,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634","attributes":{"enabled":false,"exp":32503680000,"created":1560366283,"updated":1560366289,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025","attributes":{"enabled":true,"created":1560366295,"updated":1560366295,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034","attributes":{"enabled":false,"created":1560366306,"updated":1560366306,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153","attributes":{"enabled":true,"created":1560366317,"updated":1560366317,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935","attributes":{"enabled":true,"created":1560366530,"updated":1560366530,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451","attributes":{"enabled":true,"created":1560366569,"updated":1560366569,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557","attributes":{"enabled":true,"created":1560366633,"updated":1560366633,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385","attributes":{"enabled":true,"created":1560367765,"updated":1560367765,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRnNU1UVXhNRGN6TkRraE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '70f7962c-0221-4e85-a3dc-455d1940d611', + 'e7c4ad76-0ce6-4847-b6e6-f58d4a33b6f9', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1857,54 +2008,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:45 GMT', + 'Thu, 08 Aug 2019 23:24:14 GMT', 'Connection', - 'close', - 'Content-Length', - '2816' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets') - .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836","attributes":{"enabled":true,"created":1560834589,"updated":1560834589,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466","attributes":{"enabled":true,"created":1560834627,"updated":1560834627,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384","attributes":{"enabled":true,"created":1560834724,"updated":1560834724,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983","attributes":{"enabled":true,"created":1560834763,"updated":1560834763,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330","attributes":{"enabled":true,"created":1560351327,"updated":1560351327,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968","attributes":{"enabled":true,"created":1560354843,"updated":1560354843,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298","attributes":{"enabled":true,"created":1560354838,"updated":1560354838,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694","attributes":{"enabled":true,"created":1560365822,"updated":1560365822,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753","attributes":{"enabled":true,"created":1560365828,"updated":1560365828,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029","attributes":{"enabled":true,"created":1560366404,"updated":1560366404,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648","attributes":{"enabled":true,"created":1560366410,"updated":1560366410,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280","attributes":{"enabled":true,"created":1560834555,"updated":1560834555,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650","attributes":{"enabled":true,"created":1560834728,"updated":1560834728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472","attributes":{"enabled":true,"created":1560834727,"updated":1560834727,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '6bfe16b8-f491-4d6a-8f4e-69de68bb801b', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '7e00e42a-764f-47f1-ac54-eea57ddf2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHEwAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:15 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:46 GMT', + 'Thu, 08 Aug 2019 23:24:15 GMT', 'Connection', 'close', 'Content-Length', - '3079' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistsecrets-0') + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-1') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0","deletedDate":1563496426,"scheduledPurgeDate":1571272426,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/6716876e968844089e3e9915204db072","attributes":{"enabled":true,"created":1563496422,"updated":1563496422,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1565306655,"scheduledPurgeDate":1573082655,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/ef59fa7b3e1744b989f4aaf873c49e7e","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -1917,11 +2063,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '1a6f6618-e93c-4aad-aeea-0dfd0eaf7e2a', + 'ae26e5d9-e4f0-4c1d-bdc1-7251e1a1fe61', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1931,36 +2077,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:46 GMT', + 'Thu, 08 Aug 2019 23:24:15 GMT', 'Connection', 'close', 'Content-Length', - '416' ]); + '430' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5c3ce32c-63cc-4c07-8888-c7deb9a8e62e', + '835d83d9-95c2-43e1-8f9a-b23927fee369', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1970,51 +2118,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:46 GMT', + 'Thu, 08 Aug 2019 23:24:15 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', - 'Pragma', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'e5f5e00e-e12c-48e7-b2b5-d8323dbd9ccb', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'b7cfe0c0-1cfb-40f5-b593-c5e1daf05700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHFAAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:33:57 GMT', + 'Thu, 08 Aug 2019 23:24:15 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistsecrets-1') + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1","deletedDate":1563496437,"scheduledPurgeDate":1571272437,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/b73bdc44042a4bf1b75e39592f9def59","attributes":{"enabled":true,"created":1563496423,"updated":1563496423,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '128', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -2024,11 +2175,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5026df7a-85d6-4ba4-abc4-3f9c4facec74', + 'af13e0eb-9863-4ec0-a441-7146f959d9cc', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2038,36 +2189,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:57 GMT', + 'Thu, 08 Aug 2019 23:24:16 GMT', 'Connection', - 'close', - 'Content-Length', - '416' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '64f7405e-da60-45a7-b7f1-85e0a8254c9f', + 'cb940924-05a7-4f45-be5c-e728fda4c27d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2077,20 +2228,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:33:58 GMT', + 'Thu, 08 Aug 2019 23:24:26 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '734c9f1e-591f-4fae-8803-f226dff13500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHFQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:26 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:25 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1565306654,"scheduledPurgeDate":1573082654,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/2fdc40e32d5f4556b5de3768c0cc2736","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -2100,11 +2283,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8ddbd8de-3a3f-4af3-9e97-47ff9b978d12', + 'a5d2c8ac-e332-48aa-91c7-8d51849e2188', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2114,30 +2297,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:09 GMT', + 'Thu, 08 Aug 2019 23:24:27 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '430' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '36fe1415-16ed-4fa8-9492-7480095a65c1', + 'c9232161-99ec-46ed-b5f6-29603bd73107', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2147,52 +2338,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:19 GMT', + 'Thu, 08 Aug 2019 23:24:26 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canlistdeletedsecrets-0', {"value":"RSA"}) - .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/936b67d32aa246c9acacfe0449bf098f","attributes":{"enabled":true,"created":1563496459,"updated":1563496459,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'e88db46d-0193-4938-abd2-436ba3a0e22e', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '3e28015e-6dde-482c-b808-58c577c02c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHFgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:34:19 GMT', + 'Thu, 08 Aug 2019 23:24:27 GMT', 'Connection', 'close', 'Content-Length', - '266' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canlistdeletedsecrets-1', {"value":"RSA"}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/39a24e06d0454abb857cbfdbb3f9c862","attributes":{"enabled":true,"created":1563496460,"updated":1563496460,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1565306655,"scheduledPurgeDate":1573082655,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/ef59fa7b3e1744b989f4aaf873c49e7e","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2205,11 +2393,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0846f9cb-821e-4bcc-8416-8f79c04fd573', + '68d906dc-5e37-4c4c-9a40-18b00b552881', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2219,34 +2407,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:19 GMT', + 'Thu, 08 Aug 2019 23:24:27 GMT', 'Connection', 'close', 'Content-Length', - '266' ]); + '430' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-0') + .get('/deletedsecrets') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1563496460,"scheduledPurgeDate":1571272460,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/936b67d32aa246c9acacfe0449bf098f","attributes":{"enabled":true,"created":1563496459,"updated":1563496459,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0754755d-79e6-4863-a573-433608a101b6', + '573aedde-7e62-4efd-b19e-5169fba1ddc2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2256,17 +2448,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:20 GMT', + 'Thu, 08 Aug 2019 23:24:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5822f6d1-59ae-4031-9ba8-70f216c86500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHFwAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:28 GMT', 'Connection', 'close', 'Content-Length', - '430' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-1') + .get('/deletedsecrets') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1563496461,"scheduledPurgeDate":1571272461,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/39a24e06d0454abb857cbfdbb3f9c862","attributes":{"enabled":true,"created":1563496460,"updated":1563496460,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-12981529728391816","deletedDate":1564705732,"scheduledPurgeDate":1572481732,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816","attributes":{"enabled":true,"created":1563495687,"updated":1563495687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-20865076900801038","deletedDate":1564705753,"scheduledPurgeDate":1572481753,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-20865076900801038","attributes":{"enabled":true,"created":1563839885,"updated":1563839885,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","deletedDate":1562091716,"scheduledPurgeDate":1569867716,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","attributes":{"enabled":true,"created":1562091716,"updated":1562091716,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040","deletedDate":1563903311,"scheduledPurgeDate":1571679311,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040","attributes":{"enabled":true,"created":1563903303,"updated":1563903303,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041","deletedDate":1563903314,"scheduledPurgeDate":1571679314,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041","attributes":{"enabled":true,"created":1563903306,"updated":1563903306,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210","deletedDate":1565121627,"scheduledPurgeDate":1572897627,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210","attributes":{"enabled":true,"created":1565121625,"updated":1565121625,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211","deletedDate":1565121628,"scheduledPurgeDate":1572897628,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211","attributes":{"enabled":true,"created":1565121626,"updated":1565121626,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420","deletedDate":1564705395,"scheduledPurgeDate":1572481395,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420","attributes":{"enabled":true,"created":1564705395,"updated":1564705395,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421","deletedDate":1564705395,"scheduledPurgeDate":1572481395,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421","attributes":{"enabled":true,"created":1564705395,"updated":1564705395,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230","deletedDate":1564695446,"scheduledPurgeDate":1572471446,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230","attributes":{"enabled":true,"created":1564695446,"updated":1564695446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231","deletedDate":1564695447,"scheduledPurgeDate":1572471447,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231","attributes":{"enabled":true,"created":1564695446,"updated":1564695446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1565306654,"scheduledPurgeDate":1573082654,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1565306655,"scheduledPurgeDate":1573082655,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1","attributes":{"enabled":true,"created":1565306653,"updated":1565306653,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01EazBJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFUxTnpRek5EVTNPVGMxTnprd05qRXZSVVkxT1VaQk4wSXpSVEUzTkRSQ09UZzVSalJCUVVZNE56TkRORGxGTjBVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2279,11 +2503,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '66196e9a-4eed-4de4-8c2f-5a3a61a7e40c', + 'dba3c9d4-fcce-4e64-8e0f-cac02cae4b95', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2293,36 +2517,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:20 GMT', + 'Thu, 08 Aug 2019 23:24:28 GMT', 'Connection', 'close', 'Content-Length', - '430' ]); + '5583' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .get('/deletedsecrets') .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '128', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5c48241c-0a1b-43c0-97c9-5237011e42b7', + '7ecccf95-46da-4dfb-9a04-af4175456d73', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2332,52 +2558,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:21 GMT', + 'Thu, 08 Aug 2019 23:24:29 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1563496460,"scheduledPurgeDate":1571272460,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/936b67d32aa246c9acacfe0449bf098f","attributes":{"enabled":true,"created":1563496459,"updated":1563496459,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '94e4d582-76e8-423b-9624-232e8a95377e', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '81c80503-4aa1-46cf-9da5-275919943b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHGAAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:34:31 GMT', + 'Thu, 08 Aug 2019 23:24:28 GMT', 'Connection', 'close', 'Content-Length', - '430' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedsecrets') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","deletedDate":1562091716,"scheduledPurgeDate":1569867716,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","attributes":{"enabled":true,"created":1562091716,"updated":1562091716,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1563496460,"scheduledPurgeDate":1571272460,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0","attributes":{"enabled":true,"created":1563496459,"updated":1563496459,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1563496461,"scheduledPurgeDate":1571272461,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1","attributes":{"enabled":true,"created":1563496460,"updated":1563496460,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832","deletedDate":1560352589,"scheduledPurgeDate":1568128589,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832","attributes":{"enabled":true,"created":1560352578,"updated":1560352578,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456","deletedDate":1560352595,"scheduledPurgeDate":1568128595,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456","attributes":{"enabled":true,"created":1560352584,"updated":1560352584,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0","deletedDate":1561751925,"scheduledPurgeDate":1569527925,"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName0","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName","deletedDate":1561752013,"scheduledPurgeDate":1569528013,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName","attributes":{"enabled":true,"created":1561752012,"updated":1561752012,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDAhTURBd01EWXdJWE5sWTNKbGRDOVNSVU5QVmtWU1UwVkRVa1ZVVGtGTlJTMURRVTVTUlZOVVQxSkZRVk5GUTFKRlZDMHdPREF4TlRrMU56YzBOakV5TVRVeE5pRXdNREF3TWpnaE9UazVPUzB4TWkwek1WUXlNem8xT1RvMU9TNDVPVGs1T1RrNVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-4318261257672191","deletedDate":1565121838,"scheduledPurgeDate":1572897838,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-4318261257672191","attributes":{"enabled":true,"created":1565121800,"updated":1565121800,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299","deletedDate":1564518782,"scheduledPurgeDate":1572294782,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299","attributes":{"enabled":true,"created":1564518780,"updated":1564518780,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752","deletedDate":1564695596,"scheduledPurgeDate":1572471596,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752","attributes":{"enabled":true,"created":1564695596,"updated":1564695596,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525","deletedDate":1563838818,"scheduledPurgeDate":1571614818,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525","attributes":{"enabled":true,"created":1563838818,"updated":1563838818,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-8192810949565263","deletedDate":1564612407,"scheduledPurgeDate":1572388407,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-8192810949565263","attributes":{"enabled":true,"exp":32503680000,"created":1564612406,"updated":1564612407,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832","deletedDate":1560352589,"scheduledPurgeDate":1568128589,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832","attributes":{"enabled":true,"created":1560352578,"updated":1560352578,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456","deletedDate":1560352595,"scheduledPurgeDate":1568128595,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456","attributes":{"enabled":true,"created":1560352584,"updated":1560352584,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0","deletedDate":1561751925,"scheduledPurgeDate":1569527925,"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName0","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2390,11 +2613,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '405c787d-8d1b-488d-818f-82a308a7bce0', + '377ed962-d0bb-4cdb-a2cc-259874d70df0', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2404,34 +2627,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:32 GMT', + 'Thu, 08 Aug 2019 23:24:29 GMT', 'Connection', 'close', 'Content-Length', - '2852' ]); + '3313' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedsecrets') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516","deletedDate":1561725411,"scheduledPurgeDate":1569501411,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516","attributes":{"enabled":true,"created":1561725356,"updated":1561725356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TmpBeU1EazNNRE13TlRjaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '51488679-fc97-4d80-a7ec-199fd68ecc96', + '2da7a0da-9333-45d9-96da-cab01808beee', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2441,54 +2668,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:32 GMT', + 'Thu, 08 Aug 2019 23:24:29 GMT', 'Connection', - 'close', - 'Content-Length', - '693' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') - .query(true) - .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVPRFUxTWpreE56STRNREE1TmpJdk5EWXhPRVV6TUVORk1ESXdORUpCTkRnM1Fqa3dPVGMwTnpreE5URkVOemNoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '52f99ce8-e83d-4888-b119-dfe71e3c04cb', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'b9401453-f31e-493b-b7c4-a306d43b2b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHGQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:34:33 GMT', + 'Thu, 08 Aug 2019 23:24:29 GMT', 'Connection', 'close', 'Content-Length', - '356' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedsecrets') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917","deletedDate":1560288400,"scheduledPurgeDate":1568064400,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917","attributes":{"enabled":true,"created":1560288394,"updated":1560288394,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205","deletedDate":1560289358,"scheduledPurgeDate":1568065358,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205","attributes":{"enabled":false,"exp":32503680000,"created":1560289341,"updated":1560289347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102","deletedDate":1560289559,"scheduledPurgeDate":1568065559,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102","attributes":{"enabled":false,"exp":32503680000,"created":1560289548,"updated":1560289554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194","deletedDate":1560289648,"scheduledPurgeDate":1568065648,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194","attributes":{"enabled":false,"exp":32503680000,"created":1560289636,"updated":1560289642,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042","deletedDate":1560289703,"scheduledPurgeDate":1568065703,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042","attributes":{"enabled":false,"exp":32503680000,"created":1560289691,"updated":1560289697,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437","deletedDate":1560289831,"scheduledPurgeDate":1568065831,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437","attributes":{"enabled":false,"exp":32503680000,"created":1560289815,"updated":1560289826,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585","deletedDate":1560289994,"scheduledPurgeDate":1568065994,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585","attributes":{"enabled":false,"exp":32503680000,"created":1560289983,"updated":1560289989,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409","deletedDate":1560290062,"scheduledPurgeDate":1568066062,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409","attributes":{"enabled":false,"exp":32503680000,"created":1560290045,"updated":1560290051,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555","deletedDate":1560290236,"scheduledPurgeDate":1568066236,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555","attributes":{"enabled":false,"exp":32503680000,"created":1560290214,"updated":1560290219,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TWpFNU56UXpNREExTnpnaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName","deletedDate":1561752013,"scheduledPurgeDate":1569528013,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName","attributes":{"enabled":true,"created":1561752012,"updated":1561752012,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516","deletedDate":1561725411,"scheduledPurgeDate":1569501411,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516","attributes":{"enabled":true,"created":1561725356,"updated":1561725356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2501,11 +2723,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ee8694a0-579b-4782-aa6d-d1df73977a13', + '539985dc-bc42-441b-9504-c4f3c809ac71', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2515,34 +2737,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:33 GMT', + 'Thu, 08 Aug 2019 23:24:30 GMT', 'Connection', 'close', 'Content-Length', - '3491' ]); + '1075' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedsecrets') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578","deletedDate":1560290242,"scheduledPurgeDate":1568066242,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578","attributes":{"enabled":false,"created":1560290225,"updated":1560290225,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419","deletedDate":1560347014,"scheduledPurgeDate":1568123014,"id":"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419","attributes":{"enabled":false,"exp":32503680000,"created":1560347002,"updated":1560347008,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829","deletedDate":1560355143,"scheduledPurgeDate":1568131143,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829","attributes":{"enabled":true,"created":1560354677,"updated":1560354677,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921","deletedDate":1560354773,"scheduledPurgeDate":1568130773,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921","attributes":{"enabled":true,"created":1560354767,"updated":1560354767,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164","deletedDate":1560360558,"scheduledPurgeDate":1568136558,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164","attributes":{"enabled":true,"exp":32503680000,"created":1560360547,"updated":1560360547,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNell3TlRReE5EZ3hNRFF4TmpRdlJFWkdOek0wUkRZMU16UTJORUkxTlVFd01rTkJNVFZGUlVZMk5FSkRSa1FoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '077cba34-eae7-4d8e-89c3-c66ed4071a82', + 'e08e72f7-61cc-4881-9e61-6032939d48c1', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2552,17 +2778,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:34 GMT', + 'Thu, 08 Aug 2019 23:24:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '78b55260-bd6d-4d89-9a1a-ddd5d24e7500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHGgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:31 GMT', 'Connection', 'close', 'Content-Length', - '2083' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedsecrets') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067","deletedDate":1560366029,"scheduledPurgeDate":1568142029,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067","attributes":{"enabled":true,"created":1560365667,"updated":1560365667,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928","deletedDate":1560365763,"scheduledPurgeDate":1568141763,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928","attributes":{"enabled":true,"created":1560365757,"updated":1560365757,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231","deletedDate":1560365785,"scheduledPurgeDate":1568141785,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231","attributes":{"enabled":true,"created":1560365780,"updated":1560365780,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT1RZME16a3hNRGcyTlRJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2575,11 +2833,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '8eced1f9-7d7d-497d-9435-f8362fe8f749', + '5b0e7d8d-f210-47b5-9fcf-cc9aba9b6a98', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2589,34 +2847,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:34 GMT', + 'Thu, 08 Aug 2019 23:24:30 GMT', 'Connection', 'close', 'Content-Length', - '1311' ]); + '298' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/deletedsecrets') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898","deletedDate":1560365997,"scheduledPurgeDate":1568141997,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898","attributes":{"enabled":true,"created":1560365986,"updated":1560365986,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210","deletedDate":1560366693,"scheduledPurgeDate":1568142693,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210","attributes":{"enabled":true,"created":1560366244,"updated":1560366244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621","deletedDate":1560366339,"scheduledPurgeDate":1568142339,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621","attributes":{"enabled":true,"created":1560366333,"updated":1560366333,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRZek9UQTJNRGswTlRFdk1rSTBNakV3UWtZMU9USkZOREZGUWpnNE5rVXdPVGhFTXpkR09ERkNNakVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0541a887-1aa6-4d64-b4bb-7763d5ea6d7f', + '5f637b25-bf07-424a-b792-48b2c539e180', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2626,17 +2888,6731 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:34 GMT', + 'Thu, 08 Aug 2019 23:24:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '763e316d-72f7-4206-a1ee-53f92c502600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHGwAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917","deletedDate":1560288400,"scheduledPurgeDate":1568064400,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917","attributes":{"enabled":true,"created":1560288394,"updated":1560288394,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205","deletedDate":1560289358,"scheduledPurgeDate":1568065358,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205","attributes":{"enabled":false,"exp":32503680000,"created":1560289341,"updated":1560289347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102","deletedDate":1560289559,"scheduledPurgeDate":1568065559,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102","attributes":{"enabled":false,"exp":32503680000,"created":1560289548,"updated":1560289554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194","deletedDate":1560289648,"scheduledPurgeDate":1568065648,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194","attributes":{"enabled":false,"exp":32503680000,"created":1560289636,"updated":1560289642,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042","deletedDate":1560289703,"scheduledPurgeDate":1568065703,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042","attributes":{"enabled":false,"exp":32503680000,"created":1560289691,"updated":1560289697,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437","deletedDate":1560289831,"scheduledPurgeDate":1568065831,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437","attributes":{"enabled":false,"exp":32503680000,"created":1560289815,"updated":1560289826,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585","deletedDate":1560289994,"scheduledPurgeDate":1568065994,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585","attributes":{"enabled":false,"exp":32503680000,"created":1560289983,"updated":1560289989,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409","deletedDate":1560290062,"scheduledPurgeDate":1568066062,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409","attributes":{"enabled":false,"exp":32503680000,"created":1560290045,"updated":1560290051,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '15c56ce8-fce0-4034-9155-d7e4c7709b87', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '3192' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9182cada-9940-4116-88a0-9ab4d3ecc58d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '71744ef0-9eb9-414f-9c66-2ec5e7b63300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHAAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555","deletedDate":1560290236,"scheduledPurgeDate":1568066236,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555","attributes":{"enabled":false,"exp":32503680000,"created":1560290214,"updated":1560290219,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578","deletedDate":1560290242,"scheduledPurgeDate":1568066242,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578","attributes":{"enabled":false,"created":1560290225,"updated":1560290225,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419","deletedDate":1560347014,"scheduledPurgeDate":1568123014,"id":"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419","attributes":{"enabled":false,"exp":32503680000,"created":1560347002,"updated":1560347008,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829","deletedDate":1560355143,"scheduledPurgeDate":1568131143,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829","attributes":{"enabled":true,"created":1560354677,"updated":1560354677,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921","deletedDate":1560354773,"scheduledPurgeDate":1568130773,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921","attributes":{"enabled":true,"created":1560354767,"updated":1560354767,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '724a06f6-40ee-447c-aab6-7574430c87f7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '2026' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '617d47e3-5709-4783-9f69-bed27d38df55', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:32 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4c466548-af91-4365-9422-313e3cd12c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHQAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:33 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164","deletedDate":1560360558,"scheduledPurgeDate":1568136558,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164","attributes":{"enabled":true,"exp":32503680000,"created":1560360547,"updated":1560360547,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067","deletedDate":1560366029,"scheduledPurgeDate":1568142029,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067","attributes":{"enabled":true,"created":1560365667,"updated":1560365667,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928","deletedDate":1560365763,"scheduledPurgeDate":1568141763,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928","attributes":{"enabled":true,"created":1560365757,"updated":1560365757,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231","deletedDate":1560365785,"scheduledPurgeDate":1568141785,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231","attributes":{"enabled":true,"created":1560365780,"updated":1560365780,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f8ef5716-216f-44cd-886b-b442f78dd1a1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1725' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '220952a5-d394-4938-9746-85df7718b705', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c8f42b03-b5b6-45b1-91d0-1c9dd9c16000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:34 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:34 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898","deletedDate":1560365997,"scheduledPurgeDate":1568141997,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898","attributes":{"enabled":true,"created":1560365986,"updated":1560365986,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210","deletedDate":1560366693,"scheduledPurgeDate":1568142693,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210","attributes":{"enabled":true,"created":1560366244,"updated":1560366244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621","deletedDate":1560366339,"scheduledPurgeDate":1568142339,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621","attributes":{"enabled":true,"created":1560366333,"updated":1560366333,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5c59328a-cb00-4ed6-ae93-9ced82a64ab8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:34 GMT', + 'Connection', + 'close', + 'Content-Length', + '1311' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6cc4207b-1d79-4bd4-beb8-72eba6d0b4e1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:35 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9441694c-1f17-48ba-b968-23ff83833d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:35 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342","deletedDate":1560366661,"scheduledPurgeDate":1568142661,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342","attributes":{"enabled":true,"created":1560366650,"updated":1560366650,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797","deletedDate":1560367433,"scheduledPurgeDate":1568143433,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797","attributes":{"enabled":true,"created":1560367428,"updated":1560367428,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796","deletedDate":1560368144,"scheduledPurgeDate":1568144144,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796","attributes":{"enabled":true,"created":1560367636,"updated":1560367636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180","deletedDate":1560368181,"scheduledPurgeDate":1568144181,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180","attributes":{"enabled":true,"created":1560367748,"updated":1560367748,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933","deletedDate":1560370061,"scheduledPurgeDate":1568146061,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933","attributes":{"enabled":true,"created":1560370056,"updated":1560370056,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704","deletedDate":1560370705,"scheduledPurgeDate":1568146705,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704","attributes":{"enabled":true,"created":1560370284,"updated":1560370284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701","deletedDate":1560446082,"scheduledPurgeDate":1568222082,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701","attributes":{"enabled":true,"created":1560445805,"updated":1560445805,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659","deletedDate":1560446150,"scheduledPurgeDate":1568222150,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659","attributes":{"enabled":true,"created":1560445997,"updated":1560445997,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298","deletedDate":1560446194,"scheduledPurgeDate":1568222194,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298","attributes":{"enabled":true,"created":1560446178,"updated":1560446178,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3e13a9fd-879c-416f-b25a-df0e18203807', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '3397' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6813cb71-bad8-4394-b924-8769d0c7c716', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:35 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '7a9a07ff-f2a4-4a39-a471-0a6dacc62e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:36 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349","deletedDate":1560446233,"scheduledPurgeDate":1568222233,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349","attributes":{"enabled":true,"created":1560446205,"updated":1560446205,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851","deletedDate":1560446631,"scheduledPurgeDate":1568222631,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851","attributes":{"enabled":true,"created":1560446603,"updated":1560446603,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355","deletedDate":1560351344,"scheduledPurgeDate":1568127344,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355","attributes":{"enabled":true,"created":1560351321,"updated":1560351321,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f46c4784-cab7-46cb-913d-ba5a72f133d6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '1318' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '74db1b6d-2b86-401b-bb35-9620182ba8ee', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:36 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8230fcdb-886c-4a19-8922-380ac66d5b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:37 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851","deletedDate":1560365851,"scheduledPurgeDate":1568141851,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851","attributes":{"enabled":true,"created":1560365840,"updated":1560365840,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970","deletedDate":1560365845,"scheduledPurgeDate":1568141845,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970","attributes":{"enabled":true,"created":1560365834,"updated":1560365834,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057","deletedDate":1560834630,"scheduledPurgeDate":1568610630,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057","attributes":{"enabled":true,"created":1560834554,"updated":1560834554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547","deletedDate":1560834787,"scheduledPurgeDate":1568610787,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547","attributes":{"enabled":true,"created":1560834689,"updated":1560834689,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a4cf5f2a-b07d-400a-8379-c5d5f37ce98b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:37 GMT', + 'Connection', + 'close', + 'Content-Length', + '1387' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a498db55-611f-4bee-bfe0-5dbc675ba20c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8e990575-c93a-4555-86df-0fcaa7256600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:37 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '58556f4b-f0cc-4950-ae21-019b03928931', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a762c91b-8c37-4bb5-83b5-3a204b9b8310', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5c397515-8001-46b8-b5ff-07c914666600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '347a26d9-d785-4b1c-9c15-36f7cfe9b21e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '40648220-287a-4dae-956a-3e29ff244073', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'eeabdad2-6892-4494-bc82-324419bd5700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:39 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE0"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/351fbf1af0d4430eb0eef25031897583","attributes":{"enabled":true,"created":1565306680,"updated":1565306680,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1b0b2412-3123-4998-8657-1136954ddce7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1b04c144-3dc3-4273-8bfd-d574583bb3d0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '78346853-c600-40ee-aa3a-baf22fad6500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:40 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE1"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/04095fec141d4e209c27f68f667a19f6","attributes":{"enabled":true,"created":1565306680,"updated":1565306680,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7777a50b-1bbc-4a0b-a2e1-895d45984a6a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '21647598-2813-49e0-a462-e538ce413108', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '898328e3-c2f7-40fe-a123-9ac5a01e5a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE2"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7015fabdda0342288ea5fa6009cdcf68","attributes":{"enabled":true,"created":1565306681,"updated":1565306681,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'eca0cc39-cbf4-4f84-ae93-5aa3ca2aadd5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bc31212a-f45f-467d-a8b3-4e66afde5afc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '291b7d59-46ba-4125-8aa2-1de33aa22c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions') + .query(true) + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/04095fec141d4e209c27f68f667a19f6","attributes":{"enabled":true,"created":1565306680,"updated":1565306680,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/351fbf1af0d4430eb0eef25031897583","attributes":{"enabled":true,"created":1565306680,"updated":1565306680,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7015fabdda0342288ea5fa6009cdcf68","attributes":{"enabled":true,"created":1565306681,"updated":1565306681,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '43a7e859-4c8b-44d0-a5dd-04dbed15f551', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '813' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/04095fec141d4e209c27f68f667a19f6') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9395fb7d-e2c7-452a-a524-12c8be8085c2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '40acad59-c989-45cf-b76f-07873c996900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/04095fec141d4e209c27f68f667a19f6') + .query(true) + .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/04095fec141d4e209c27f68f667a19f6","attributes":{"enabled":true,"created":1565306680,"updated":1565306680,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '942b4374-d719-4df1-861f-f3cdc30fc9f2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/351fbf1af0d4430eb0eef25031897583') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0935daed-addc-41b7-9eae-f99ddddf1b2e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '07f7b480-e137-4dad-afe6-71db1c7f6d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/351fbf1af0d4430eb0eef25031897583') + .query(true) + .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/351fbf1af0d4430eb0eef25031897583","attributes":{"enabled":true,"created":1565306680,"updated":1565306680,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3b135e8e-065d-41fc-9d1e-7e151546250a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7015fabdda0342288ea5fa6009cdcf68') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '587cabfc-53d2-420a-aa9a-c479e2e318eb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6d08dfa9-ed4f-4ca4-a458-d0d27c733000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7015fabdda0342288ea5fa6009cdcf68') + .query(true) + .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7015fabdda0342288ea5fa6009cdcf68","attributes":{"enabled":true,"created":1565306681,"updated":1565306681,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fc95182d-3a92-47a1-948a-ffa3d52af948', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6e66a6a8-0271-4399-8881-a884f324767d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c04c627d-263c-4b0a-8377-96bae1cc6700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:45 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-","deletedDate":1565306685,"scheduledPurgeDate":1573082685,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/7015fabdda0342288ea5fa6009cdcf68","attributes":{"enabled":true,"created":1565306681,"updated":1565306681,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '41370508-b9f4-42d3-8295-a6800e7859d4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:45 GMT', + 'Connection', + 'close', + 'Content-Length', + '448' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'cc4f7530-9afa-469e-8b6e-6731edb27dba', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6e397187-72b6-4cea-b021-f5f3a54a3900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:46 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2b374c0f-776a-40a3-b6ca-0470c5f21c83', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a95dcd19-e4da-40fe-be88-027c9fd27a0e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:56 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '479e3e8a-6332-4b3f-b888-432270b66200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:24:57 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:24:57 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7098426a-96a7-4042-b22d-0563d85c2611', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:24:56 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e075403a-e9aa-4881-8b92-f6c042c1d272', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:06 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'aed7ea69-2602-43e2-be87-9b1d9c222d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:07 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:07 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '79f7baa9-329a-402b-a0ac-22d6990365a0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:07 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5ac79fec-3679-47c3-b3f2-b1b69816fff7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:07 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c30a1c10-0403-48ac-a220-671809783200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:08 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:07 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions') + .query(true) + .reply(200, {"value":[],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f5d7aaf1-8d29-41ab-bc78-e4b46d6534ab', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:08 GMT', + 'Connection', + 'close', + 'Content-Length', + '28' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '93db1ef9-ea31-456d-9fb2-c5538bb4695c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:08 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4c8547c3-1284-4e74-b9a7-3faac22a5700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:09 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:08 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistsecrets-0', {"value":"RSA"}) + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/67bd03f5a85f46eabaabc3eb5ab061fd","attributes":{"enabled":true,"created":1565306709,"updated":1565306709,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '08e4f9c3-a322-48c1-b65a-cac0143d69e8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:09 GMT', + 'Connection', + 'close', + 'Content-Length', + '259' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd2cab832-4149-4df5-be9b-12e352ae727b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:09 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'eb6e25d6-e430-42c9-b72a-a8c4ae1e5b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:10 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:09 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistsecrets-1', {"value":"RSA"}) + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/8f810908dfa149dcb6e461edfc20bbd3","attributes":{"enabled":true,"created":1565306710,"updated":1565306710,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9f645dbf-d7ee-4eb4-ab57-d5465da86b2d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:09 GMT', + 'Connection', + 'close', + 'Content-Length', + '259' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b812d83d-ef07-4ecf-9d9d-f76190c9c09c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:09 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'd817904e-0744-4ec8-a10a-e59170d32c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:11 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:10 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0","attributes":{"enabled":true,"created":1565306709,"updated":1565306709,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1","attributes":{"enabled":true,"created":1565306710,"updated":1565306710,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/ExamplePassword","attributes":{"enabled":true,"created":1559920536,"updated":1559920536,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035497352907352","attributes":{"enabled":true,"created":1560354978,"updated":1560354978,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035503730605597","attributes":{"enabled":true,"created":1560355042,"updated":1560355042,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/key156035505405304954","attributes":{"enabled":true,"created":1560355059,"updated":1560355059,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '39a9d728-6e72-42ec-b710-51858c635288', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:11 GMT', + 'Connection', + 'close', + 'Content-Length', + '1440' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e321aa08-a401-473f-9c7d-c28bc1daa792', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:11 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '587ca227-746d-411d-9628-21956a055900', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:12 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:11 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName1","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830299800555","attributes":{"enabled":true,"created":1559698309,"updated":1559698309,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830501005254","attributes":{"enabled":true,"exp":32503680000,"created":1559698313,"updated":1559698313,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969830702405633","attributes":{"enabled":true,"exp":32503680000,"created":1559698314,"updated":1559698328,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969831104103177","attributes":{"enabled":true,"created":1559698345,"updated":1559698345,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969840997100376","attributes":{"enabled":true,"created":1559698415,"updated":1559698415,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969841605401224","attributes":{"enabled":true,"created":1559698422,"updated":1559698422,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969842993209999","attributes":{"enabled":true,"exp":32503680000,"created":1559698435,"updated":1559698435,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969844356809107","attributes":{"enabled":true,"exp":32503680000,"created":1559698450,"updated":1559698457,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969847359407300","attributes":{"enabled":true,"created":1559698479,"updated":1559698479,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969857586802675","attributes":{"enabled":true,"created":1559698582,"updated":1559698582,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969858938507540","attributes":{"enabled":true,"exp":32503680000,"created":1559698595,"updated":1559698595,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969860209703057","attributes":{"enabled":true,"exp":32503680000,"created":1559698608,"updated":1559698615,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155969864161208327","attributes":{"enabled":true,"created":1559698661,"updated":1559698661,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974871145300045","attributes":{"enabled":true,"created":1559748717,"updated":1559748717,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974872276605440","attributes":{"enabled":true,"exp":32503680000,"created":1559748728,"updated":1559748728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974873380306363","attributes":{"enabled":true,"exp":32503680000,"created":1559748739,"updated":1559748744,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155974876803708577","attributes":{"enabled":true,"created":1559748784,"updated":1559748784,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155976267700703146","attributes":{"enabled":true,"created":1559762682,"updated":1559762682,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987019000658","attributes":{"enabled":true,"created":1559779876,"updated":1559779876,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977987618402041","attributes":{"enabled":true,"created":1559779883,"updated":1559779883,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977989062300314","attributes":{"enabled":true,"exp":32503680000,"created":1559779896,"updated":1559779896,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RBek1URXpNRFUxTVRRaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0464dbda-892b-4474-9f21-bca94635e14a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:12 GMT', + 'Connection', + 'close', + 'Content-Length', + '4623' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6add1b01-af43-4e04-a73a-3c3b98291505', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:11 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4717df68-8c78-40dd-9354-6330bc183200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:13 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:12 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977990311305514","attributes":{"enabled":true,"exp":32503680000,"created":1559779909,"updated":1559779916,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155977994218208573","attributes":{"enabled":true,"created":1559779954,"updated":1559779954,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155985529172800962","attributes":{"enabled":true,"created":1559855297,"updated":1559855297,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986124522104520","attributes":{"enabled":true,"created":1559861253,"updated":1559861253,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986125376001211","attributes":{"enabled":true,"created":1559861260,"updated":1559861260,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret155986126989703251","attributes":{"enabled":true,"exp":32503680000,"created":1559861276,"updated":1559861276,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467744608684","attributes":{"enabled":true,"created":1560354683,"updated":1560354683,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035468319002718","attributes":{"enabled":true,"exp":32503680000,"created":1560354688,"updated":1560354688,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035469457101815","attributes":{"enabled":true,"exp":32503680000,"created":1560354700,"updated":1560354705,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035471178508910","attributes":{"enabled":false,"exp":32503680000,"created":1560354717,"updated":1560354723,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035472322108987","attributes":{"enabled":true,"created":1560354728,"updated":1560354728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035473421700992","attributes":{"enabled":false,"created":1560354739,"updated":1560354739,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035474537300332","attributes":{"enabled":true,"created":1560354751,"updated":1560354751,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwTnpZeU1UTXpNRGc1TWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5f40cac2-872c-4fd1-b4a1-0a8d85f6044a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:12 GMT', + 'Connection', + 'close', + 'Content-Length', + '2852' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '38d40bc8-4577-4f25-8685-b648a0f590d9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:13 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '78af4f0b-496c-4a48-817a-053f67ca3400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:13 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:13 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156035492380902463","attributes":{"enabled":true,"created":1560354940,"updated":1560354940,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566801100575","attributes":{"enabled":true,"created":1560365673,"updated":1560365673,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036567378506379","attributes":{"enabled":true,"exp":32503680000,"created":1560365679,"updated":1560365679,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036568492401952","attributes":{"enabled":true,"exp":32503680000,"created":1560365690,"updated":1560365695,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036570169100621","attributes":{"enabled":false,"exp":32503680000,"created":1560365707,"updated":1560365713,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036571333008936","attributes":{"enabled":true,"created":1560365718,"updated":1560365718,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036572454709051","attributes":{"enabled":false,"created":1560365729,"updated":1560365729,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036573548102072","attributes":{"enabled":true,"created":1560365740,"updated":1560365740,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036585124607918","attributes":{"enabled":true,"created":1560365867,"updated":1560365867,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036590080809323","attributes":{"enabled":true,"created":1560365906,"updated":1560365906,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036596439108652","attributes":{"enabled":true,"created":1560365969,"updated":1560365969,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036624468808284","attributes":{"enabled":true,"created":1560366250,"updated":1560366250,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036625043103243","attributes":{"enabled":true,"exp":32503680000,"created":1560366256,"updated":1560366256,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036626200104356","attributes":{"enabled":true,"exp":32503680000,"created":1560366267,"updated":1560366272,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036627848202634","attributes":{"enabled":false,"exp":32503680000,"created":1560366283,"updated":1560366289,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036628972007025","attributes":{"enabled":true,"created":1560366295,"updated":1560366295,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036630071100034","attributes":{"enabled":false,"created":1560366306,"updated":1560366306,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036631177303153","attributes":{"enabled":true,"created":1560366317,"updated":1560366317,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTXpJNE16VTNNREEyTWpFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5fa96f9b-0f87-4c3e-95cb-3d4928438fdb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:13 GMT', + 'Connection', + 'close', + 'Content-Length', + '3822' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f1a8cde4-bc0b-4ec6-98a5-ac6e83075eea', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:14 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5f0d2806-97f7-4937-b131-bccf68452f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:14 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:14 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036651431706935","attributes":{"enabled":true,"created":1560366530,"updated":1560366530,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036656390609451","attributes":{"enabled":true,"created":1560366569,"updated":1560366569,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036662789900557","attributes":{"enabled":true,"created":1560366633,"updated":1560366633,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156036776000805385","attributes":{"enabled":true,"created":1560367765,"updated":1560367765,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083458808007836","attributes":{"enabled":true,"created":1560834589,"updated":1560834589,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083462580205466","attributes":{"enabled":true,"created":1560834627,"updated":1560834627,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083472284304384","attributes":{"enabled":true,"created":1560834724,"updated":1560834724,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secret156083476178902983","attributes":{"enabled":true,"created":1560834763,"updated":1560834763,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601606330","attributes":{"enabled":true,"created":1560351327,"updated":1560351327,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280103968","attributes":{"enabled":true,"created":1560354843,"updated":1560354843,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035483280107298","attributes":{"enabled":true,"created":1560354838,"updated":1560354838,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736106694","attributes":{"enabled":true,"created":1560365822,"updated":1560365822,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/secrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneE56TTJNVEE0TnpVeklUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6128a1a4-1649-43a1-8372-a3c1e7b02de5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:14 GMT', + 'Connection', + 'close', + 'Content-Length', + '2579' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '17b540c5-3bc8-449a-b46a-63f1db85eae1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1556e0e2-0f49-45cf-9986-b67251603c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:15 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:15 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets') + .query(true) + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036581736108753","attributes":{"enabled":true,"created":1560365828,"updated":1560365828,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908703029","attributes":{"enabled":true,"created":1560366404,"updated":1560366404,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036639908709648","attributes":{"enabled":true,"created":1560366410,"updated":1560366410,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364403280","attributes":{"enabled":true,"created":1560834555,"updated":1560834555,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257408076","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083459257409406","attributes":{"enabled":true,"created":1560834593,"updated":1560834593,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719004650","attributes":{"enabled":true,"created":1560834728,"updated":1560834728,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083472719009472","attributes":{"enabled":true,"created":1560834727,"updated":1560834727,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3904a7bc-216e-4b1d-97fe-e24dddd409a7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:15 GMT', + 'Connection', + 'close', + 'Content-Length', + '1555' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '14484b3c-7dff-43b7-9ca9-26f1ead17d4b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1f53405f-3908-4d47-88fe-06ab4a9d3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:15 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-0","deletedDate":1565306716,"scheduledPurgeDate":1573082716,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-0/67bd03f5a85f46eabaabc3eb5ab061fd","attributes":{"enabled":true,"created":1565306709,"updated":1565306709,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2804322c-6cb6-47d0-bdb9-7437fac4cf13', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '416' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '861fa8c1-4776-4da8-984e-372a8cefaa62', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c3b4adce-de61-40bb-ad62-d1ad57d35300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:17 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:16 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bd06a88e-5727-4779-b2c0-2d942bfb7e76', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e89e4bf5-1c7b-46f7-b2b7-b8eb94252d25', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3b48632f-51f6-46a9-88e4-969a1ad23d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:27 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '58c6011a-01af-4fab-8276-fdee9f237487', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '501125c2-ba26-4d35-9fcd-5d2a5cb8c572', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '7ae1b760-e264-4f4b-97f3-3956e29d5a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:39 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-0') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6ed1b6cf-30fd-4656-8e88-8478a0a1584b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5a2ded6a-8b63-4572-aa52-d08fea4970e5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3b48632f-51f6-46a9-88e4-969ac9d33d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:40 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistsecrets-1","deletedDate":1565306740,"scheduledPurgeDate":1573082740,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistsecrets-1/8f810908dfa149dcb6e461edfc20bbd3","attributes":{"enabled":true,"created":1565306710,"updated":1565306710,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '02530a6b-ef6d-4cc0-9d5c-d7eab2c75111', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '416' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '88f953ef-e919-48de-b781-6c0c862dad8e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f1e99bcd-0f6e-41b4-be8e-59ea225d2f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '219e4ab2-0219-4c6d-8527-d0d89b538c73', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '90be078e-8418-4890-9c95-449e3f6ac66e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0b0803cb-e00d-47fa-91ea-7cb34f205200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:25:51 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:25:51 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f32f2682-4c8a-4183-ab59-5224f36b4df0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:25:51 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'af0f9ae1-8ff4-4485-8121-72c405db0f0a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:02 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4ad009f9-cef0-4df6-86f5-7d6643663400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:02 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:02 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistsecrets-1') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '57b51c5a-cd7d-4b5c-b9a6-cd6539fc0e62', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:03 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '44702bc2-9f7e-4264-a550-1592a1e49905', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:03 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9bc2ede6-63d8-4a6a-ad67-91e41e5d3400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:03 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:03 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-0', {"value":"RSA"}) + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/1917f9f7ac9e4e1eb6e0339d06f5e854","attributes":{"enabled":true,"created":1565306764,"updated":1565306764,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd1451a38-b25c-4bc3-b990-dbffa50e9c84', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:03 GMT', + 'Connection', + 'close', + 'Content-Length', + '266' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3f7d2a00-7360-40e7-a002-ebaae7895c58', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '47ed1352-ee9a-4b69-9eb8-e42e499a4400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:04 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:03 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canlistdeletedsecrets-1', {"value":"RSA"}) + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/e16f69be55774a0da78dbc031628f79b","attributes":{"enabled":true,"created":1565306765,"updated":1565306765,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '05fa2b77-dc38-4995-909b-b160c3aa831e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:04 GMT', + 'Connection', + 'close', + 'Content-Length', + '266' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '799df887-442c-440c-b181-84726b44157d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '58d8d7a1-81ab-4068-81b4-f27731a93d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:05 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1565306766,"scheduledPurgeDate":1573082766,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/1917f9f7ac9e4e1eb6e0339d06f5e854","attributes":{"enabled":true,"created":1565306764,"updated":1565306764,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e8cc9d00-139b-4925-a1db-88e6d075c3ee', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:05 GMT', + 'Connection', + 'close', + 'Content-Length', + '430' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '31116182-056d-4de8-a820-30ec4501d88f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0c4b356e-df2f-4c84-b9fd-33438cae2800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:06 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:05 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1565306767,"scheduledPurgeDate":1573082767,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/e16f69be55774a0da78dbc031628f79b","attributes":{"enabled":true,"created":1565306765,"updated":1565306765,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1049af84-d4aa-441d-b2a8-338e96b09e4e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:07 GMT', + 'Connection', + 'close', + 'Content-Length', + '430' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6cc81519-5a7f-425a-993a-6b8e1e5c0142', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:06 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '78346853-c600-40ee-aa3a-baf27cb66500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:07 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:06 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '128', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bbda3d4e-c880-4f21-a353-e6b48db45aab', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:07 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8f092ba7-7511-4969-8d40-d997a3fa37af', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '48f6b5c0-a70e-4434-ac8d-20a920875a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-canlistdeletedsecrets-0"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '128', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e36b84fa-c9cd-48b5-88ce-8d5d013fbd76', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fb87554d-81f2-4378-8def-f43f23a3580b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'aa9922c5-ee18-45f7-b75c-fc2072024600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1565306766,"scheduledPurgeDate":1573082766,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0/1917f9f7ac9e4e1eb6e0339d06f5e854","attributes":{"enabled":true,"created":1565306764,"updated":1565306764,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '6a920040-2cb6-409f-a4cb-19b149e8a786', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '430' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'dd870bf5-45a5-42bf-9783-b0be9ecc612a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9158f3a5-07e3-43b4-80cb-b2eda05a3800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1565306767,"scheduledPurgeDate":1573082767,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1/e16f69be55774a0da78dbc031628f79b","attributes":{"enabled":true,"created":1565306765,"updated":1565306765,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '97493b1d-0cd6-44bb-a044-cf340002aa06', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '430' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '83d3dfae-4503-4522-876f-bb3d0d90920a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f50983f6-4b98-4493-aaad-c43c018a5c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-12981529728391816","deletedDate":1564705732,"scheduledPurgeDate":1572481732,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-12981529728391816","attributes":{"enabled":true,"created":1563495687,"updated":1563495687,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canabortaddingasecret-20865076900801038","deletedDate":1564705753,"scheduledPurgeDate":1572481753,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canabortaddingasecret-20865076900801038","attributes":{"enabled":true,"created":1563839885,"updated":1563839885,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","deletedDate":1562091716,"scheduledPurgeDate":1569867716,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cangetadeletedsecret-9288107853032652","attributes":{"enabled":true,"created":1562091716,"updated":1562091716,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040","deletedDate":1563903311,"scheduledPurgeDate":1571679311,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956040","attributes":{"enabled":true,"created":1563903303,"updated":1563903303,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041","deletedDate":1563903314,"scheduledPurgeDate":1571679314,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0135423555813956041","attributes":{"enabled":true,"created":1563903306,"updated":1563903306,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210","deletedDate":1565121627,"scheduledPurgeDate":1572897627,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516210","attributes":{"enabled":true,"created":1565121625,"updated":1565121625,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211","deletedDate":1565121628,"scheduledPurgeDate":1572897628,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-3429829170516211","attributes":{"enabled":true,"created":1565121626,"updated":1565121626,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420","deletedDate":1564705395,"scheduledPurgeDate":1572481395,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896420","attributes":{"enabled":true,"created":1564705395,"updated":1564705395,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421","deletedDate":1564705395,"scheduledPurgeDate":1572481395,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-44985787069896421","attributes":{"enabled":true,"created":1564705395,"updated":1564705395,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230","deletedDate":1564695446,"scheduledPurgeDate":1572471446,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404230","attributes":{"enabled":true,"created":1564695446,"updated":1564695446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231","deletedDate":1564695447,"scheduledPurgeDate":1572471447,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-56197282464404231","attributes":{"enabled":true,"created":1564695446,"updated":1564695446,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0","deletedDate":1565306766,"scheduledPurgeDate":1573082766,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-0","attributes":{"enabled":true,"created":1565306764,"updated":1565306764,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1","deletedDate":1565306767,"scheduledPurgeDate":1573082767,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canlistdeletedsecrets-1","attributes":{"enabled":true,"created":1565306765,"updated":1565306765,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExODQhTURBd01EazBJWE5sWTNKbGRDOURVbFZFVTBWRFVrVlVUa0ZOUlMxRFFVNU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGTXRPVFUxTnpRek5EVTNPVGMxTnprd05qRXZSVEUyUmpZNVFrVTFOVGMzTkVFd1JFRTNPRVJDUXpBek1UWXlPRVkzT1VJaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '7a0c7249-4058-4dde-8f9d-20a19ae98ad1', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '5583' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd2e359d4-c8d8-428d-818a-b6e5b7592404', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'ae1f83e8-18a9-4f62-9afd-b68689ca3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-4318261257672191","deletedDate":1565121838,"scheduledPurgeDate":1572897838,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-4318261257672191","attributes":{"enabled":true,"created":1565121800,"updated":1565121800,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299","deletedDate":1564518782,"scheduledPurgeDate":1572294782,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrievethelatestversionofasecretvalue-6588409093985299","attributes":{"enabled":true,"created":1564518780,"updated":1564518780,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752","deletedDate":1564695596,"scheduledPurgeDate":1572471596,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-2696487059936752","attributes":{"enabled":true,"created":1564695596,"updated":1564695596,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525","deletedDate":1563838818,"scheduledPurgeDate":1571614818,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-cansetasecretwithEmptyValue-30142415311417525","attributes":{"enabled":true,"created":1563838818,"updated":1563838818,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canupdateasecret-8192810949565263","deletedDate":1564612407,"scheduledPurgeDate":1572388407,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canupdateasecret-8192810949565263","attributes":{"enabled":true,"exp":32503680000,"created":1564612406,"updated":1564612407,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289501832","deletedDate":1560352589,"scheduledPurgeDate":1568128589,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289501832","attributes":{"enabled":true,"created":1560352578,"updated":1560352578,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/keys156035257289602456","deletedDate":1560352595,"scheduledPurgeDate":1568128595,"id":"https://keyvault_name.vault.azure.net/secrets/keys156035257289602456","attributes":{"enabled":true,"created":1560352584,"updated":1560352584,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/listSecretName0","deletedDate":1561751925,"scheduledPurgeDate":1569527925,"id":"https://keyvault_name.vault.azure.net/secrets/listSecretName0","attributes":{"enabled":true,"created":1561751921,"updated":1561751921,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVRrRk5SVEVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '61c5d935-3619-498d-9b92-47fc87151353', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:32 GMT', + 'Connection', + 'close', + 'Content-Length', + '3313' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '790e9291-ae23-4f0c-bc25-b3ca893fdfca', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:32 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'b808b3f4-6c5e-48be-98d5-6f64d00d2b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:32 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName","deletedDate":1561752013,"scheduledPurgeDate":1569528013,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName","attributes":{"enabled":true,"created":1561752012,"updated":1561752012,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/recoverSecretName-canrestoreasecret-08015957746121516","deletedDate":1561725411,"scheduledPurgeDate":1569501411,"id":"https://keyvault_name.vault.azure.net/secrets/recoverSecretName-canrestoreasecret-08015957746121516","attributes":{"enabled":true,"created":1561725356,"updated":1561725356,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOams0TlRjMU9EWTRNREkyTnpVdlJEbEVRa1ExT0RKQlFVWkJORGd6UWtFelFVRkJOamhETkRZMlJVTXdSVFloTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ebfe76e3-c54a-45e8-b89a-be96132bbedc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1075' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ce33406f-5c11-41c2-8f4d-ae7d427827ac', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '83a1626b-8218-4d67-a12e-d613d35c5c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:34 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UVTVOemM1T1RReU1UZ3lNRGcxTnpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '556028a5-b917-4e44-a7bf-515c3ea817bb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:33 GMT', + 'Connection', + 'close', + 'Content-Length', + '298' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a67efb9c-80f0-4189-896e-9456ca29509c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:34 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '96b7bfef-e66d-41c3-8ff6-9b13d3962f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:35 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:34 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028838837406917","deletedDate":1560288400,"scheduledPurgeDate":1568064400,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028838837406917","attributes":{"enabled":true,"created":1560288394,"updated":1560288394,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028933587502205","deletedDate":1560289358,"scheduledPurgeDate":1568065358,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028933587502205","attributes":{"enabled":false,"exp":32503680000,"created":1560289341,"updated":1560289347,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028954261707102","deletedDate":1560289559,"scheduledPurgeDate":1568065559,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028954261707102","attributes":{"enabled":false,"exp":32503680000,"created":1560289548,"updated":1560289554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028963087108194","deletedDate":1560289648,"scheduledPurgeDate":1568065648,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028963087108194","attributes":{"enabled":false,"exp":32503680000,"created":1560289636,"updated":1560289642,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028968597502042","deletedDate":1560289703,"scheduledPurgeDate":1568065703,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028968597502042","attributes":{"enabled":false,"exp":32503680000,"created":1560289691,"updated":1560289697,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028981007704437","deletedDate":1560289831,"scheduledPurgeDate":1568065831,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028981007704437","attributes":{"enabled":false,"exp":32503680000,"created":1560289815,"updated":1560289826,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156028997762408585","deletedDate":1560289994,"scheduledPurgeDate":1568065994,"id":"https://keyvault_name.vault.azure.net/secrets/secret156028997762408585","attributes":{"enabled":false,"exp":32503680000,"created":1560289983,"updated":1560289989,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029003971701409","deletedDate":1560290062,"scheduledPurgeDate":1568066062,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029003971701409","attributes":{"enabled":false,"exp":32503680000,"created":1560290045,"updated":1560290051,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNamt3TURNNU56RTNNREUwTURrdlJEbEdORFF5UWtJek1rUkVORGt4TjBJME9UUTJPRVUwUXpOR00wSTFSRVVoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5f32d7a0-90d2-4e92-967a-cbacabfe9980', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '3192' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b88c454b-8b13-4e60-ae11-2e7250f75c14', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:35 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '91b68f88-5206-457f-9c66-703eab874600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:36 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029020841505555","deletedDate":1560290236,"scheduledPurgeDate":1568066236,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029020841505555","attributes":{"enabled":false,"exp":32503680000,"created":1560290214,"updated":1560290219,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156029021974300578","deletedDate":1560290242,"scheduledPurgeDate":1568066242,"id":"https://keyvault_name.vault.azure.net/secrets/secret156029021974300578","attributes":{"enabled":false,"created":1560290225,"updated":1560290225,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156034699779802419","deletedDate":1560347014,"scheduledPurgeDate":1568123014,"id":"https://keyvault_name.vault.azure.net/secrets/secret156034699779802419","attributes":{"enabled":false,"exp":32503680000,"created":1560347002,"updated":1560347008,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035467151900829","deletedDate":1560355143,"scheduledPurgeDate":1568131143,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035467151900829","attributes":{"enabled":true,"created":1560354677,"updated":1560354677,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156035476213308921","deletedDate":1560354773,"scheduledPurgeDate":1568130773,"id":"https://keyvault_name.vault.azure.net/secrets/secret156035476213308921","attributes":{"enabled":true,"created":1560354767,"updated":1560354767,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelUwT1RJek9EQTVNREkwTmpNaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bc8b270b-8d69-4309-bf8d-9ea227f0533a', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:35 GMT', + 'Connection', + 'close', + 'Content-Length', + '2026' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '513a90a9-fcf8-4d04-ba9a-88971035228b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:36 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f013da0a-e077-4ad0-8f4d-60e503f36500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:36 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036054148104164","deletedDate":1560360558,"scheduledPurgeDate":1568136558,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036054148104164","attributes":{"enabled":true,"exp":32503680000,"created":1560360547,"updated":1560360547,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036566207901067","deletedDate":1560366029,"scheduledPurgeDate":1568142029,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036566207901067","attributes":{"enabled":true,"created":1560365667,"updated":1560365667,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036575195005928","deletedDate":1560365763,"scheduledPurgeDate":1568141763,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036575195005928","attributes":{"enabled":true,"created":1560365757,"updated":1560365757,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036577464301231","deletedDate":1560365785,"scheduledPurgeDate":1568141785,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036577464301231","attributes":{"enabled":true,"created":1560365780,"updated":1560365780,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkxT0RVeE1qUTJNRGM1TVRndk56TTVSalF6T0VVd1JETkdOREkyTkRnelJqa3hRVGhGTkVVMk9ERTFNVEFoTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '534b7092-b62c-408e-989a-167a85540bc4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '1725' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd38c405c-10e8-47bb-8bff-c8eca053892c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '515bcd84-df7e-4cf7-964e-12f21e646b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:37 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:36 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036598110406898","deletedDate":1560365997,"scheduledPurgeDate":1568141997,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036598110406898","attributes":{"enabled":true,"created":1560365986,"updated":1560365986,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036623881507210","deletedDate":1560366693,"scheduledPurgeDate":1568142693,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036623881507210","attributes":{"enabled":true,"created":1560366244,"updated":1560366244,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036632835700621","deletedDate":1560366339,"scheduledPurgeDate":1568142339,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036632835700621","attributes":{"enabled":true,"created":1560366333,"updated":1560366333,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdNelkyTlRFME16RTNNRFk1TXpVaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f99607cc-60c5-4b9a-a03b-83bb55125bb5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:37 GMT', + 'Connection', + 'close', + 'Content-Length', + '1311' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '16b43fcb-2e80-4861-ac94-408a111fa321', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '04d66235-4575-4235-8abf-400d5f773500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342","deletedDate":1560366661,"scheduledPurgeDate":1568142661,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342","attributes":{"enabled":true,"created":1560366650,"updated":1560366650,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797","deletedDate":1560367433,"scheduledPurgeDate":1568143433,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797","attributes":{"enabled":true,"created":1560367428,"updated":1560367428,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796","deletedDate":1560368144,"scheduledPurgeDate":1568144144,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796","attributes":{"enabled":true,"created":1560367636,"updated":1560367636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180","deletedDate":1560368181,"scheduledPurgeDate":1568144181,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180","attributes":{"enabled":true,"created":1560367748,"updated":1560367748,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933","deletedDate":1560370061,"scheduledPurgeDate":1568146061,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933","attributes":{"enabled":true,"created":1560370056,"updated":1560370056,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704","deletedDate":1560370705,"scheduledPurgeDate":1568146705,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704","attributes":{"enabled":true,"created":1560370284,"updated":1560370284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701","deletedDate":1560446082,"scheduledPurgeDate":1568222082,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701","attributes":{"enabled":true,"created":1560445805,"updated":1560445805,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659","deletedDate":1560446150,"scheduledPurgeDate":1568222150,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659","attributes":{"enabled":true,"created":1560445997,"updated":1560445997,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298","deletedDate":1560446194,"scheduledPurgeDate":1568222194,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298","attributes":{"enabled":true,"created":1560446178,"updated":1560446178,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWTBJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTVRZeE5UazJNRGd5T1Rndk16a3lNVEJGTmtOQ01rWTJORFUzTTBGRlJUSTNPVVpDTXpNd01ETXhOa01oTURBd01ESTRJVGs1T1RrdE1USXRNekZVTWpNNk5UazZOVGt1T1RrNU9UazVPVm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'aedea83d-8319-4c5c-bb76-c0887770c3d2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '3397' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '451c4ffa-eae6-461e-a4d6-4ce93a448b79', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6e62832a-e732-43ca-88bb-864d062f5e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:39 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349","deletedDate":1560446233,"scheduledPurgeDate":1568222233,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349","attributes":{"enabled":true,"created":1560446205,"updated":1560446205,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851","deletedDate":1560446631,"scheduledPurgeDate":1568222631,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851","attributes":{"enabled":true,"created":1560446603,"updated":1560446603,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355","deletedDate":1560351344,"scheduledPurgeDate":1568127344,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355","attributes":{"enabled":true,"created":1560351321,"updated":1560351321,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDQhTURBd01ETXlJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEF6T0RVeElUQXdNREF5T0NFNU9UazVMVEV5TFRNeFZESXpPalU1T2pVNUxqazVPVGs1T1RsYUlRLS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f9f3a5d0-d39d-4990-ac8c-58e7e4aefc98', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1318' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c1bc556f-58a5-456d-9f0c-44f3729342a8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '4f144a93-77a7-4b45-b103-cf57c6775800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:40 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/deletedsecrets') + .query(true) + .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851","deletedDate":1560365851,"scheduledPurgeDate":1568141851,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851","attributes":{"enabled":true,"created":1560365840,"updated":1560365840,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970","deletedDate":1560365845,"scheduledPurgeDate":1568141845,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970","attributes":{"enabled":true,"created":1560365834,"updated":1560365834,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057","deletedDate":1560834630,"scheduledPurgeDate":1568610630,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057","attributes":{"enabled":true,"created":1560834554,"updated":1560834554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547","deletedDate":1560834787,"scheduledPurgeDate":1568610787,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547","attributes":{"enabled":true,"created":1560834689,"updated":1560834689,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fae1cdf6-9e67-4a06-b1ec-85106efa5bbb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '1387' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e5cf2e52-63a0-4277-a506-06b8abe6a41f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '03bbfb98-9076-4360-958b-da0efe815500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:40 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:40 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c76e0bf0-a9e4-446e-960d-ad999560b257', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '674d199a-8b0d-41b9-9ad4-26caaf906eed', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '65a1e742-036e-4068-9ae3-989486304c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:41 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:41 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b2bbaabd-6a59-4f18-a91f-83e6c29b7c01', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9dbd6438-3010-4613-a470-f3e9b15fea5e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8122aacb-d983-45c6-9d4c-aa557a896c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE0"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/267a5258c32149fd9d8d99961020e07f","attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '9a837107-990f-49eb-86a2-4ee930671520', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'f90bd074-7e9a-4928-9310-dea2fe706b45', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6052668d-7cfd-418c-a452-48783be23000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE1"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/f9b5d0521a7449daa2fa88062eba35be","attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd524e377-7655-41b4-8293-15f0dcc93d79', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '269e30e3-1d4a-43c9-b323-c2c5c81ba7e7', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'be53866b-1071-4a84-b2ce-f8e636b25a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:44 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE2"}) + .query(true) + .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/753077a611a045f8aee5a33ae9295f92","attributes":{"enabled":true,"created":1565306804,"updated":1565306804,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '32c88053-e53a-4711-84e9-f5177cfdf1a4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:44 GMT', + 'Connection', + 'close', + 'Content-Length', + '285' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'a3904a7a-4c34-44f7-a97f-99da2722dbfa', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:26:44 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '9af66e93-c6bf-4fea-a2dc-68f091845600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:45 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:44 GMT', 'Connection', 'close', 'Content-Length', - '1369' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036664460803342","deletedDate":1560366661,"scheduledPurgeDate":1568142661,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036664460803342","attributes":{"enabled":true,"created":1560366650,"updated":1560366650,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036742269706797","deletedDate":1560367433,"scheduledPurgeDate":1568143433,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036742269706797","attributes":{"enabled":true,"created":1560367428,"updated":1560367428,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036761951707796","deletedDate":1560368144,"scheduledPurgeDate":1568144144,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036761951707796","attributes":{"enabled":true,"created":1560367636,"updated":1560367636,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156036774298602180","deletedDate":1560368181,"scheduledPurgeDate":1568144181,"id":"https://keyvault_name.vault.azure.net/secrets/secret156036774298602180","attributes":{"enabled":true,"created":1560367748,"updated":1560367748,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037005065302933","deletedDate":1560370061,"scheduledPurgeDate":1568146061,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037005065302933","attributes":{"enabled":true,"created":1560370056,"updated":1560370056,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156037026758407704","deletedDate":1560370705,"scheduledPurgeDate":1568146705,"id":"https://keyvault_name.vault.azure.net/secrets/secret156037026758407704","attributes":{"enabled":true,"created":1560370284,"updated":1560370284,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044578898402701","deletedDate":1560446082,"scheduledPurgeDate":1568222082,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044578898402701","attributes":{"enabled":true,"created":1560445805,"updated":1560445805,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044598025306659","deletedDate":1560446150,"scheduledPurgeDate":1568222150,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044598025306659","attributes":{"enabled":true,"created":1560445997,"updated":1560445997,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044616159608298","deletedDate":1560446194,"scheduledPurgeDate":1568222194,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044616159608298","attributes":{"enabled":true,"created":1560446178,"updated":1560446178,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044618915107349","deletedDate":1560446233,"scheduledPurgeDate":1568222233,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044618915107349","attributes":{"enabled":true,"created":1560446205,"updated":1560446205,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ETXhJWE5sWTNKbGRDOVRSVU5TUlZReE5UWXdORFEyTlRnMU9UazFNRGM0TlRFaE1EQXdNREk0SVRrNU9Ua3RNVEl0TXpGVU1qTTZOVGs2TlRrdU9UazVPVGs1T1ZvaCIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/267a5258c32149fd9d8d99961020e07f","attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/753077a611a045f8aee5a33ae9295f92","attributes":{"enabled":true,"created":1565306804,"updated":1565306804,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/f9b5d0521a7449daa2fa88062eba35be","attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2649,11 +9625,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '69af262d-eb60-4ac7-b356-82c7d0087779', + '349b65fa-048a-4352-aadc-de44d7a0080c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2663,34 +9639,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:34 GMT', + 'Thu, 08 Aug 2019 23:26:45 GMT', 'Connection', 'close', 'Content-Length', - '3677' ]); + '813' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/267a5258c32149fd9d8d99961020e07f') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secret156044658599507851","deletedDate":1560446631,"scheduledPurgeDate":1568222631,"id":"https://keyvault_name.vault.azure.net/secrets/secret156044658599507851","attributes":{"enabled":true,"created":1560446603,"updated":1560446603,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156035131601504355","deletedDate":1560351344,"scheduledPurgeDate":1568127344,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156035131601504355","attributes":{"enabled":true,"created":1560351321,"updated":1560351321,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870903851","deletedDate":1560365851,"scheduledPurgeDate":1568141851,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870903851","attributes":{"enabled":true,"created":1560365840,"updated":1560365840,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156036582870905970","deletedDate":1560365845,"scheduledPurgeDate":1568141845,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156036582870905970","attributes":{"enabled":true,"created":1560365834,"updated":1560365834,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":"https://keyvault_name.vault.azure.net:443/deletedsecrets?api-version=7.0&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDghTURBd01EWTFJWE5sWTNKbGRDOVRSVU5TUlZSVE1UVTJNRE0yTlRneU9EY3dPVEExT1Rjd0wwWkJOa1V4TkVORk4wUTFSRFJDTWtaQlJrUXdPRVUxTWprek56TTBPRGcwSVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9a95c8a9-26f8-4a2a-adf6-c0f2f39ae9d2', + 'e7f762f0-c049-4905-bf6a-8fbcf7b36e69', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2700,17 +9680,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:35 GMT', + 'Thu, 08 Aug 2019 23:26:45 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '64267c59-f228-415c-a2b9-53a5d4544000', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:45 GMT', 'Connection', 'close', 'Content-Length', - '1719' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets') + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/267a5258c32149fd9d8d99961020e07f') .query(true) - .reply(200, {"value":[{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083455364402057","deletedDate":1560834630,"scheduledPurgeDate":1568610630,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083455364402057","attributes":{"enabled":true,"created":1560834554,"updated":1560834554,"recoveryLevel":"Recoverable+Purgeable"}},{"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/secrets156083468802106547","deletedDate":1560834787,"scheduledPurgeDate":1568610787,"id":"https://keyvault_name.vault.azure.net/secrets/secrets156083468802106547","attributes":{"enabled":true,"created":1560834689,"updated":1560834689,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/267a5258c32149fd9d8d99961020e07f","attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2723,11 +9735,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '01d4df83-5e70-49e1-a0ed-4c40435ed4ae', + '97a85caf-5578-4044-bb0f-324c3d76c5f5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2737,32 +9749,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:36 GMT', + 'Thu, 08 Aug 2019 23:26:45 GMT', 'Connection', 'close', 'Content-Length', - '707' ]); + '285' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-0') + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/753077a611a045f8aee5a33ae9295f92') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '5c0f3964-a546-4cee-acb5-54fe16436a66', + '00cfcb4c-e3d2-4839-ab2e-b69e53ee51c2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2772,48 +9790,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:36 GMT', + 'Thu, 08 Aug 2019 23:26:46 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canlistdeletedsecrets-1') - .query(true) - .reply(204, "", [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '900f97b2-2a5d-4be4-b63c-6bf2ea5793e7', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '0c3d333f-ed21-4586-a13a-4a63b3f55a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:46 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:34:37 GMT', + 'Thu, 08 Aug 2019 23:26:46 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE0"}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/753077a611a045f8aee5a33ae9295f92') .query(true) - .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f1a15834dfd428fb2fd3c2adebd588e","attributes":{"enabled":true,"created":1563496477,"updated":1563496477,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/753077a611a045f8aee5a33ae9295f92","attributes":{"enabled":true,"created":1565306804,"updated":1565306804,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2826,11 +9845,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '16fce2a3-1b45-4aeb-b215-d7343131cbda', + '4b8818b8-9359-4977-95f0-68e80f34128a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2840,7 +9859,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:37 GMT', + 'Thu, 08 Aug 2019 23:26:47 GMT', 'Connection', 'close', 'Content-Length', @@ -2848,26 +9867,30 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE1"}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/f9b5d0521a7449daa2fa88062eba35be') .query(true) - .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/0b20660f55f0483eb6f51a8cee59613c","attributes":{"enabled":true,"created":1563496477,"updated":1563496477,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '54157f6f-f68a-4822-8008-717e6e2eb3b7', + 'd022b8b8-9460-4e0e-a3f9-c67ad82d2b4d', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2877,17 +9900,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:37 GMT', + 'Thu, 08 Aug 2019 23:26:47 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e7a4c513-7a35-4f02-9857-7f98c4f54f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:47 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:47 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canretrieveallversionsofasecret-', {"value":"SECRET_VALUE2"}) + .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/f9b5d0521a7449daa2fa88062eba35be') .query(true) - .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/e9fc7d2a985a4aee8c32776076b0c24a","attributes":{"enabled":true,"created":1563496478,"updated":1563496478,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/f9b5d0521a7449daa2fa88062eba35be","attributes":{"enabled":true,"created":1565306803,"updated":1565306803,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -2900,11 +9955,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'af361b9a-c945-4505-bfbc-e0cffb8a77a3', + '4f1ea8f9-124f-4e3f-a520-d17dcc8aa3f2', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2914,7 +9969,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:38 GMT', + 'Thu, 08 Aug 2019 23:26:47 GMT', 'Connection', 'close', 'Content-Length', @@ -2922,26 +9977,30 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/versions') + .delete('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') .query(true) - .reply(200, {"value":[{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/0b20660f55f0483eb6f51a8cee59613c","attributes":{"enabled":true,"created":1563496477,"updated":1563496477,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f1a15834dfd428fb2fd3c2adebd588e","attributes":{"enabled":true,"created":1563496477,"updated":1563496477,"recoveryLevel":"Recoverable+Purgeable"}},{"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/e9fc7d2a985a4aee8c32776076b0c24a","attributes":{"enabled":true,"created":1563496478,"updated":1563496478,"recoveryLevel":"Recoverable+Purgeable"}}],"nextLink":null}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'eeeae6bf-c7e0-479e-97f5-fb1ff84f112a', + '24c060de-6687-4035-a574-ae970e094514', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -2951,54 +10010,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:37 GMT', + 'Thu, 08 Aug 2019 23:26:48 GMT', 'Connection', - 'close', - 'Content-Length', - '813' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/0b20660f55f0483eb6f51a8cee59613c') - .query(true) - .reply(200, {"value":"SECRET_VALUE1","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/0b20660f55f0483eb6f51a8cee59613c","attributes":{"enabled":true,"created":1563496477,"updated":1563496477,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'e0cec79c-681b-4db5-8cb2-722b677ace70', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '3187c5ae-13e3-410a-84da-9c1448e32c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:48 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:34:38 GMT', + 'Thu, 08 Aug 2019 23:26:47 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f1a15834dfd428fb2fd3c2adebd588e') + .delete('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') .query(true) - .reply(200, {"value":"SECRET_VALUE0","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/3f1a15834dfd428fb2fd3c2adebd588e","attributes":{"enabled":true,"created":1563496477,"updated":1563496477,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-","deletedDate":1565306809,"scheduledPurgeDate":1573082809,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/753077a611a045f8aee5a33ae9295f92","attributes":{"enabled":true,"created":1565306804,"updated":1565306804,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -3011,11 +10065,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'e2ea31d1-9c3d-444d-8e48-0b66599f406c', + 'd8d65d37-2b29-424e-9d5a-a000a8ddcc27', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3025,34 +10079,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:38 GMT', + 'Thu, 08 Aug 2019 23:26:49 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '448' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canretrieveallversionsofasecret-/e9fc7d2a985a4aee8c32776076b0c24a') + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') .query(true) - .reply(200, {"value":"SECRET_VALUE2","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/e9fc7d2a985a4aee8c32776076b0c24a","attributes":{"enabled":true,"created":1563496478,"updated":1563496478,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'a12b0988-d799-443f-8a14-67d0f4a1dfb0', + 'e0fb7116-adb7-4f60-88f7-4eadbf387ac0', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3062,20 +10120,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:38 GMT', + 'Thu, 08 Aug 2019 23:26:48 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '13f01073-3fa6-4cd3-b8a9-644266016500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:26:49 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:26:49 GMT', 'Connection', 'close', 'Content-Length', - '285' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canretrieveallversionsofasecret-') + .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-","deletedDate":1563496479,"scheduledPurgeDate":1571272479,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canretrieveallversionsofasecret-/e9fc7d2a985a4aee8c32776076b0c24a","attributes":{"enabled":true,"created":1563496478,"updated":1563496478,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -3085,11 +10177,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f394fcf9-03ac-4664-8055-4b79965329a4', + '87d460dc-a972-47a2-b402-fa15b1bc0678', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3099,36 +10191,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:39 GMT', + 'Thu, 08 Aug 2019 23:26:49 GMT', 'Connection', - 'close', - 'Content-Length', - '448' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '4f740315-0ee5-4a8e-bb6c-b9f21f53433f', + '3157e08a-75fb-4bd9-95a4-3c68941ac70a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3138,22 +10230,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:39 GMT', + 'Thu, 08 Aug 2019 23:26:59 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '1aefa331-3654-4e93-b0ac-3b0d06bf4400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:00 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:00 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -3161,11 +10283,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'ba985b21-5eee-4126-aecd-dbb18d3f1441', + '946c38ea-a90c-4791-b381-fd7bbd132268', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3175,30 +10297,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:34:50 GMT', + 'Thu, 08 Aug 2019 23:27:00 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canretrieveallversionsofasecret-') + .get('/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '590c8f56-358d-4c96-abf2-9c88d6549eab', + '280c44ba-d14d-4bf8-9e1c-3f31858c2082', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3208,11 +10336,45 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:00 GMT', + 'Thu, 08 Aug 2019 23:27:00 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e2ba1d40-8721-43df-acef-85b2cb533400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AgUsUiscgvdChA7TT3yPOiw_aSJHHgAAAO6l3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:01 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .get('/secrets/CRUDSecretName-canlistsecretversionsnonexisting-/versions') .query(true) @@ -3229,11 +10391,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '28e902a0-5b7f-4ef3-b8c4-bcb3335e0583', + 'eca8cdbc-72ae-4aee-919c-fa93af89b50b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -3243,7 +10405,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:02 GMT', + 'Thu, 08 Aug 2019 23:27:01 GMT', 'Connection', 'close', 'Content-Length', diff --git a/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.js b/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.js index 90aedc59324c..4d686bc3c487 100644 --- a/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.js +++ b/sdk/keyvault/keyvault-secrets/recordings/node/secret_client__restore_secrets_and_recover_backups/recording_before_all_hook.js @@ -2,6 +2,45 @@ let nock = require('nock'); module.exports.testInfo = {} +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b76970ce-1f99-464d-a74a-7b8e04d23e0e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:01 GMT', + 'Connection', + 'close' ]); + + nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', @@ -17,17 +56,19 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'x-ms-request-id', - '5f0ed136-5d97-4e20-ade4-e77dabbdfc00', + 'be260c59-4954-4622-bd45-809922556a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', 'P3P', 'CP="DSP CUR OTPi IND OTRi ONL FIN"', 'Set-Cookie', - 'fpc=AhA3Xpb_KVhEiQSfGmZFCqY_aSJHAQAAADYHw9QOAAAA; expires=Sun, 18-Aug-2019 00:35:02 GMT; path=/; secure; HttpOnly', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHAQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:02 GMT; path=/; secure; HttpOnly', 'Set-Cookie', 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', 'Set-Cookie', 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:35:01 GMT', + 'Thu, 08 Aug 2019 23:27:01 GMT', 'Connection', 'close', 'Content-Length', @@ -37,7 +78,7 @@ nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .put('/secrets/CRUDSecretName-canrecoveradeletedsecret-', {"value":"RSA"}) .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6682b04e64c341e990e94d4505403d8a","attributes":{"enabled":true,"created":1563496502,"updated":1563496502,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6e3d8740cb9542899f02e6f70c6c4cbe","attributes":{"enabled":true,"created":1565306822,"updated":1565306822,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -50,11 +91,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2756474e-a853-4401-b908-8f0e6a506129', + '82c6ca98-d714-4c50-9c40-0dd559abb774', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -64,34 +105,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:02 GMT', + 'Thu, 08 Aug 2019 23:27:02 GMT', 'Connection', 'close', 'Content-Length', - '268' ]); + '269' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/secrets/CRUDSecretName-canrecoveradeletedsecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-","deletedDate":1563496503,"scheduledPurgeDate":1571272503,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6682b04e64c341e990e94d4505403d8a","attributes":{"enabled":true,"created":1563496502,"updated":1563496502,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f507fd1c-ad08-4675-98f0-2ec1e5fb3663', + '96813d25-8627-48b2-aa70-78d37bfe5f56', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -101,54 +146,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:03 GMT', + 'Thu, 08 Aug 2019 23:27:02 GMT', 'Connection', - 'close', - 'Content-Length', - '434' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') - .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-canrecoveradeletedsecret-"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '130', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'c55b653d-acd2-43dd-8dd9-90786363577f', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '88690787-ff2f-4bf6-8b13-07ce6d763b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHAgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:02 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:35:03 GMT', + 'Thu, 08 Aug 2019 23:27:01 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .delete('/secrets/CRUDSecretName-canrecoveradeletedsecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-","deletedDate":1563496503,"scheduledPurgeDate":1571272503,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6682b04e64c341e990e94d4505403d8a","attributes":{"enabled":true,"created":1563496502,"updated":1563496502,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-","deletedDate":1565306823,"scheduledPurgeDate":1573082823,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6e3d8740cb9542899f02e6f70c6c4cbe","attributes":{"enabled":true,"created":1565306822,"updated":1565306822,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -161,11 +201,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6c13c7ef-3a6d-4953-8e62-0a408998a0f0', + 'ae76e3f3-edce-492b-bef4-1ef82bec53d8', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -175,34 +215,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:13 GMT', + 'Thu, 08 Aug 2019 23:27:02 GMT', 'Connection', 'close', 'Content-Length', - '434' ]); + '436' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-/recover') + .get('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6682b04e64c341e990e94d4505403d8a","attributes":{"enabled":true,"created":1563496502,"updated":1563496502,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '91ebb9e8-6a5b-4f64-bbe3-aae88f943eb9', + 'ace6b24d-3cfa-4b22-8bc6-1bfe461f9f8f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -212,59 +256,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:13 GMT', + 'Thu, 08 Aug 2019 23:27:03 GMT', 'Connection', - 'close', - 'Content-Length', - '254' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') - .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canrecoveradeletedsecret-"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '122', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '3c1a5a60-ce21-4a91-91a2-763db6efcb97', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'ec83fd2e-40be-42b4-bd55-3c2f5d0b6c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHAwAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:03 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:35:13 GMT', + 'Thu, 08 Aug 2019 23:27:03 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') + .get('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canrecoveradeletedsecret-"}}, [ 'Cache-Control', + .reply(404, {"error":{"code":"SecretNotFound","message":"Deleted Secret not found: CRUDSecretName-canrecoveradeletedsecret-"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '122', + '131', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -274,11 +313,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '590c8651-e81f-49e5-a898-6a3ce9aac1c5', + '8a146ac4-87c2-400d-98f6-0b6dfab6b890', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -288,32 +327,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:24 GMT', + 'Thu, 08 Aug 2019 23:27:03 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') + .get('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6682b04e64c341e990e94d4505403d8a","attributes":{"enabled":true,"created":1563496502,"updated":1563496502,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '621ab634-eb8f-40d1-895f-103207999a77', + '31439617-c036-4e08-a4fb-98503b0f773a', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -323,59 +366,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:35 GMT', + 'Thu, 08 Aug 2019 23:27:14 GMT', 'Connection', - 'close', - 'Content-Length', - '268' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canrecoveradeletedsecret-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-","deletedDate":1563496535,"scheduledPurgeDate":1571272535,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6682b04e64c341e990e94d4505403d8a","attributes":{"enabled":true,"created":1563496502,"updated":1563496502,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '095f5ee9-b83a-4e09-9315-ff61321b90ba', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'dcb901de-ffc9-455f-b887-83cd6fef3100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHBAAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:14 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:35:35 GMT', + 'Thu, 08 Aug 2019 23:27:14 GMT', 'Connection', 'close', 'Content-Length', - '434' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .get('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-","deletedDate":1565306823,"scheduledPurgeDate":1573082823,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6e3d8740cb9542899f02e6f70c6c4cbe","attributes":{"enabled":true,"created":1565306822,"updated":1565306822,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -385,11 +421,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'b3f0c5f1-4ae8-4ca4-9e08-3ac76b71199e', + '5b176fc0-d88b-4c3b-9d2b-c57eadd115ab', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -399,30 +435,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:35 GMT', + 'Thu, 08 Aug 2019 23:27:14 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '436' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .post('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-/recover') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'bd902760-ba59-4474-882b-b3d539854ac3', + 'd74b349a-f2fd-4e75-9367-0b712ea052b7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -432,52 +476,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:46 GMT', + 'Thu, 08 Aug 2019 23:27:15 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecretnonexisting-/recover') - .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canrecoveradeletedsecretnonexisting-"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', - 'Content-Length', - '133', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '732f2f30-f231-4e81-9d0a-eab03fb085a9', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + '98065037-355e-4b3f-ac02-7c01963e3c00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHBQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:15 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:35:47 GMT', + 'Thu, 08 Aug 2019 23:27:14 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canbackupasecret-', {"value":"RSA"}) + .post('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-/recover') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/7f774293aa9744baabc5e5e6cf6ee26b","attributes":{"enabled":true,"created":1563496547,"updated":1563496547,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6e3d8740cb9542899f02e6f70c6c4cbe","attributes":{"enabled":true,"created":1565306822,"updated":1565306822,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -490,11 +531,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '56c89d35-269c-42ac-913f-7c308295908a', + 'd8c2cbba-f07f-4810-b70f-8ec94c6b84a4', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -504,34 +545,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:47 GMT', + 'Thu, 08 Aug 2019 23:27:14 GMT', 'Connection', 'close', 'Content-Length', - '260' ]); + '255' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/secrets/CRUDSecretName-canbackupasecret-/backup') + .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') .query(true) - .reply(200, {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmNGamZGVk5vRUpOV1lndks3R2p6T09PVjZMS1ZKSU90R3E1RUFQd3hheFAwWXBIMk41d2twWWNJbXlnbHdFY296NXplY29XYXVWc3pfcnk0WnV5YThqSWVyZVc1SGJfUGl2N010R2pJN0xjWFoyblBEY3hfZDB2dXNKMnhlR3pvWmwzM1cyMnNXYURDN0VpaWt5eFB0Qng2WmJWOTY1Ujg2TXVwSW9hQjBMb091c1hCdkNnSFowTVFqeGozX2FnLU1uWm12MUhWX3NnZDhmOWNSNnZtcHBBblhBTVlaeWZER0cteEF6ald1dU95cnBVY04zSWNiV2FzcFlpTzg3Z2lFZDlKTm1mRURkVjd0RzJwTkpCRy15eGlkMUJSZzhmeVFFejUycXN6T2h1cmtWUk5qUHBVRWV5RkFFTVQ2WWtnU1J2NGhFdC1ySi1kdlZLNkFQOVdLQS5WTmVWcEN1cUJyMkFyY25KRC0tUUNnLlVzcm9GeTROUU9LUklQLU9xb3lxNnZVRnZUbmR5cUN5bFZQaXJ6VnhydDJxZ3lNQTE5Vi1EQ1h0R2JkZlN5aEd4aTU5VE43eVU5eFpwWnJfZV9LM2xsS0N6QVUxdlZjeDczMUhvX0N4azZoSGRsUHpaekJ1MmRXbnJpdXBTVFJEUmhzYmJuVFFwN29nWUZndUJwQjBPeU9pVU5CVmFhVVl2RUEza1VjQlkzdHZpNG5lZ0pMRTU2Sjk2S014a1NWNlpSUVZoNlFzZ0J3WnFqR0Y2MVRzMGt6aEZONFdnejdMb1ZFbnBaTGs3bFJEcDF6NGl5Z1JpUzUzcFhWVEM0YlE4Um9XVXRWSWFadG5tc0RXbTV1T202ZVY4RFJWU3BpNmlOa3pjTVMzN3o5QnZMUnBJbHMyQWFkRDZkd3JTX196TElMX2F3Mkwwc3Q5OFV2NUtWQzNqaEFoVW5wLS1UaEhTRzVIbjl4eHl5UGgyamJmZnhUVEwwbGNkZjJsN251Ry1pZkljOS1ubTV1N2FvcElhaW85RU44Ml9RRWJaZjdaQ21QOVp0bVlJZ3hWbUh3X2tlSFFGdVN0cXhZWEZ3bS00RnEtREx4ODRiME9wLV9DRjJTOHVscHZURUNiLTJFRzRtcE9KV3dJTkFtb1VYUWRGSU5hQUVkMFRLZWNZQ0dfVUFkN3FmU2hHWVdxd3Q5Q2tjLU5XTk1FZmRPYm1OTlZCc0xzTFd1ZklHUUg4bkxWR2c0T216MDBZREktTWhMLXgzVDc5QnlGT2MyMUJFb2I2MWliQ0NURHUtMlRONjFad0NvdEtpenhlRS1ReGcweUItZEJiX1J1UHJpcEwwUklXbU5oRkNVSVQ3WlF2ekYwcjVGWWpfVWRjMlM2aFUtWVRGREpxcWRuZHdDT0I1VTFkUXl4WG05R1EzSmxIcUdMOXVvTkFOZGlkRlRVUHpvS0FHbUR2Nl9NRVNEQ2I5cVBWQnQ0M0tOSEx4MkIwUTl1MXhDWUhrRWpwTFBFRUNZcTFNSVpnWGFCLXFSTzhEZTVTU3hMMjhMMTNVWEpjY3kwbTlPOUQ1R2luUzF3c0dyTGowWVpWR0FVSklNSHprdGJRLU5mdTR4MzhnclplY1B4RU5STUx4TUFwZTZ4VDI2azlXOUJQVmVVTnZoY1dDeWJPd3FmNHZsbVRFazRIVmFBUzJ1OEdNU0x0NGlrSDFkTENVM0RTNk03bjQ1MmI3UDgzZjJRNjBSWEtlRVgtRlU2S0NhblpiZHRielhnRTBRVHlYcjBxWjJLWDM4Y1BsQzRwVGstaTN5S1dOZ24zT2lVd29qNmw5dWctOXNjaEpDVDVqVU9rT3Rfc21OcFRobHZydkt0OEpsbVZlZlBBNV9rR3FJbzRsdk5lUHJJNjNEMlljYjFVam5YajlUajNhWFVqb1R4TV9mTXczTk1JbjVOY3BmcXZ1MUowVDBHT3NRcC1oU3lyUXVHajhKM3VXNmVNVlpPNUlJNHhUQUZDbUNoalRSWjBxR1BmbjRBdndiSi0xLUo4d2IwTnEybTdReUVKY29aMnZmQUVMdU5nT1ljUlozNVRiNmJMcXdkTm9OYmVsWmxOTW5sLXdqM2tvdGNPMlc0bUtGNzd1MHJNcnJIbnN4QkNITUNLb1F4WERpa0pvaHM0dWFBR3dfcXZfZ1VsQVpDdFpZaGVFN0YyUUpQTlJBNGczY2l1M2ZGWExfVUk1N3FZQUVfYnRBd1FJT1dTaUtRQ3RCMUxBQW9IVHJpT0ViRU53clFXZzN1R1p3N1JXSTJ4VDNjZGIwYVUxUWtKcVdJdGppSWJNeWtjN2VxX1Jfc0JXTW5oMWw4ZUh0Y0RkX1BqeG1fa0VTRFlMYVJWeE9LdDNmVnA0MDF2cnM5T3B1RG81ajRVYnQ2Z0szcnNUZ1JYYU82eTNjVFp3aUotU2NiczZ6eVRJWVgyVGhVa00xNnBZY2wzX1hlVGh4aDVoMS1ROWlNYmZESF80dVIxUGRPQS1FYVhFVTNEcVd5R0gxYUNNeFl6akRsVEJYeGJnOV9oWm1DWkFQaXNSSWs1TVNBMDhqOXhuVEk3dGtLUzNjTHRBN0Z0MTJzYVZuZ29TY2JCR2pDZlNsQ0F1aWFDenR0Rkt1N3JHSnZFQm9oZi02WU5sTDU0ZXJ1UDFGYktGOFhLakNuaUNFa2REdUdIbUVMV1ZEQWFWTFBEZVhtVFVvUTRpSmZNV1ByWWU0VG01MzZHbkNsTkhaeEM2YklsazVBcVI4dUxIOF9OOWN1T3pxdl84c1ZpQzZrV1ZRV1RhVHJvSTdPUlJRUmlNeGZRSTZ1NmFXVnJReEd2SmpDWGhjTGRWdlhSY25CemhVbWVBN243TVE2ZGxhRHdvV1JhUGtCc0prOTNqZVBZSWcxc001Yk8xeTJfMVh6M3Q1dDM1aVN1eVR5eXNabmtQSFF2bFNOand2RGhSaTFrTjU3cUZOZzY3aG9hMkt0MUtyYzd0ZEVqdGtnTnNtNkhDUDdKalJPYjV6bHZOMm1jSnJybkQ0S0x6WE9FVnFzYko2SjNObTFZUmJHb29JQ013VVpqZHpOdVcxNWROaEhVZFZ2NkFrTzY1aWtxczRpQTdxa0dTdzVPNzlad2c0Q21lQkg2VDN3YnVJNktsU0tkZV9ra0FFS1V3SW9aeGFfWWVxUkk0cWF4U2ljWmFsbWY1WW1DVDhTUkY0V3N6TW1PcGNYUVhJN2RBZnVfZlJSQml2TG9WVzZjS1ozZFljMWQ4U05rUVBnZG14TWxmczlXM0VMRk9McTNUaDUzZ3VkX2pmeVVtZHhWajdNb1pEWWt6RkZ1cU5SNFBSYW1YQXpTWDNHVmNScnVLU1JDcUVaZWVsQUp6T2c1SUtoQUZ1al9JVXY1U053NTNENUd3eWJLWHhZM19tdUx1OXBYQmw2dGhFTnFubGJjR09IS3dpRURvQzR1bk8yQVRDQ1FnbU5vNG83VTN2TzF4akswV05DX0ZHNTlyQVNLaHl0TGpsVzBPY2V5UlBxMFl1MGNtNTJiUmRNeXZXN1lnaHlVUjAyVHE5QTZhWlktZ1hsb3NpV0ZfZGhLWlUwYzUyRGlTSlNFVWhyYWlpZUNHYnlTXzNmS192YU5MZWtqX1VCTzNsWl9CeHNxcTJZeGZFN3F0NEh4eU1WTTFmNzFkRGdyeWI0a3Y0RzRnMGdFazgteENDN2VpQkVZQS16SHlNU2lNWm55RUpzMk1qTnNhZFR2bTJ3WjZXbllWWDdrWHZ3MUl0NDRXTDd3Z3ZFNmFBRThlS0JsdE14bl80cURTWE4tR2s4ZV8xdjNHWlFoU3l6elRzOHNpUzI5Ri1pamQ0M3FCcEE1dnFfSXhGS0pVclpsWGo0S2FEWDVxYlhxTF9yb3Ezdi1peU9qQThQZmgwbVdhd1FBLXIyMmdRMWNOUjRhcHVFZlRnZXFCZnVVZmVnT2l3Z042WkNFVF9FUGlVWXFkSm5INkNPRVJ5aEVKMGxXcl9QUVA3dFZETG1weHlGb3N2YzlUNDZadDEycG1XN0VpUlVfeE1ZSmhxcmQwbjZEbkxOVWRCSXM4WFBRN002VkR1UDNQb2lvRmJDbms1ZGJmQXpzRDQ2TzY5blJ4VzFZR3VnTWxTbWZycXJMNGNFNlcwcmRYWVgxMXNubDlwbmZ5akU0S3ZGUjJ4MDFILW52cEdBbXFwRE1nTGF3WlpjaU9HNnhrRE5vXzNzZmE2NXMtQjBkTEpGbTFqMU5PWElWdG96ZnVjaDZPLWlaTkp5eDhNcFpscFZpWksyMFA5WU13NktYX1QyOE53SXBDd2VPeDRuS1BUZWdfVlk5OHFNQVRhNW9XUURPUEpTOGFpZUdYUUNNT19hLTVlWnVyTEJabjJvUmxWci0wTlpNWDRPdGRhRjNBQWlCRzl2UWRteU5PZVdKNFU0UUozSmZ6MnNSd0tycnpPblByTDl0UWpyVnNaVmVIMndUZGtNcHF5M3dwTjVyZnQ5TzB3VmZuU3cxd0V3dUNQVWlvaG5YZVcxZzNPak5lVlhpQWVJS3ZDNkpKbUtqODdQb0xyTmxGTVB1SXM3VjJsV3dLSk45VjQ1MldjSVpJRElfUzQtdnczZ2otTmUzcHE1b1pqTTdCYmMyQXB2WDNhdkR5RDdBT3NhMVpZZk5DV2R2cE00a1BWWTJGaDVUbUk3TC1LSG16X1dnZUhXZ0poWGY0bzFnVEFzaEN2Y0ZnMXB1dXphNm13YURfMWtRRURva1Fwak1xaGQ2MGlRNFJSc2JUZWlhd0JOTHFld3dWd1NXbzYxRkdEWG00WHdsUk84LWE0RGVac2tyMjR1ZFNXbmRuQ0RENF9UdFBTS0EtS3B0ejcyVlh4YVBhdjk5RUJoajZiNDk2dDdENDZkRzZsXzhzRmxCWHBPQXN6VVQ0cXl1YW1WYlQtaXVCZEhmZDFxRTJLSXA3eUtQMFJfYzQtUEpkdEkzWi1YbUJCXzFGczFDMExRbUI3VGQ3R0I1YXRQbl9raWwxdUsxVzczb1FiNjd5bUwtM0IzUTlYQ0dGbmJkSUtJRGg4TmhNUWZTU3JvTjJGSjEwT0ZrWHNuMVZYMDlSSDhCYnBnUXhMbG5QTktPR25Ca0U4ZUdGV2RiV1VTYnlIU1lGcFhFNHhEbGgwSkxRUXo4eFpybkxpa2w1MjBlbXdubEhWRlpaZEZKMl9xLTdfTVZGRUVVWmlXY0VqR2p3RFBVeFR0TTBnbHNiX3U2dXN3SGxDWS1XblQyTlVPaUw5TFBQeEdUX1JiUVFPZkloOTZ5by12UDhqaFk1T21FczNsQmpYWXEtWTFPOXl2dTVKSWFrZEVUS3dSVkotUG9NZEJQU3JZTTRmYy1GU09OcVRBNHFLQ3BFemNtdUcwd3d4ODFndldQVEF4c2UzMnh6YmdLcWZUY1UwZXNkMi1vNjZWTkR2VmYzYW9hSUlWNXg0RmZKZUVIdjJvTnZOTVB0VmttMkxpbE1HYVA3Vzd2YTNRUE1IbEx6UnAwLTZHTzhCOEhJcmRJbUFkVnFsX0h2bHI0V1FrV0p2R185aVZlS2d5V1VTQlEzMXQ3M3FNRDl6TDJaVTB0a1RUNUhkQThnTVgxMmFKV3dzQ2xmRDJJMWhKdHNLdktQdDNZN3VWanpZWjdYdGRldi1YVEphQUdrcWtVUEhLVW9GenJSN2FHVFBfQXEwaFpHN1dIeWpEcHpYZEVRNm9MWjZtX0F2aWVZS0lwRWVadHRBemFWYjE2ZjR4YnZjUHZ6aUNEeXpSRG8wMGRpSlUyWFRGdXNWSzcyQ0drcG9kZ0VicG1CZk12SGVKYS1ONnJvelAzOXU4RXpId3RwbTFHWS1iaXh5bzZScUlfOWpNeThWZ2dndG1pRW01TFBja01SUXdMaF91TGlzMlRTRzVkRDE3RGtOR0JxNVkzQ0ZRMUwyQ3FfVG9yeHVtSGRCNkU0MC11MGdHbHNoVzZxTVhLdU1ZZFNGeUtwbENXRENsaDNMa3k5bW5uLW1lWWw5NVljTW9iRUZyd2tJcEd3cm9FWER0Nzl2ZzltTUluQ0dISXYzVy1FYXVldnB3UmYyNjllaEZPYTBNZWJpVEpRV0lSbDZIRFJWMWJyVzRrTGVTZUtkMWdXcDdzYkJXZ2cuZjl4a1RvMUllcGI1VVJyRWNZNGJrdw"}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '17be624e-aba9-47a4-ab02-0afc65b53231', + 'a6632182-f42b-4400-b533-b8f0914d4ff5', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -541,59 +586,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:47 GMT', + 'Thu, 08 Aug 2019 23:27:15 GMT', 'Connection', - 'close', - 'Content-Length', - '6402' ]); + 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canbackupasecret-') - .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-","deletedDate":1563496548,"scheduledPurgeDate":1571272548,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/7f774293aa9744baabc5e5e6cf6ee26b","attributes":{"enabled":true,"created":1563496547,"updated":1563496547,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - 'ccf185e7-5ed2-4567-8ed2-be36764e530f', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'a3401261-a4f7-4dac-92ef-7c2cd2075500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHBgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:35:48 GMT', + 'Thu, 08 Aug 2019 23:27:16 GMT', 'Connection', 'close', 'Content-Length', - '418' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canrecoveradeletedsecret-"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '123', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -603,11 +643,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '16c2fa2a-24f3-4d70-891a-05ba82cd071a', + '74a80b47-6a6b-4f3a-92db-b1b8766697fd', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -617,30 +657,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:47 GMT', + 'Thu, 08 Aug 2019 23:27:15 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '9ba6dbf0-a6db-4611-b864-0168acf18758', + '8de58e92-d3d2-4e0a-af31-7169d32b02aa', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -650,20 +696,2242 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:58 GMT', + 'Thu, 08 Aug 2019 23:27:26 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/secrets/CRUDSecretName-canbackupasecretnonexisting-/backup') - .query(true) - .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canbackupasecretnonexisting-"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f98b4fbf-5f75-45ae-8727-f9c3eeb76300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHBwAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canrecoveradeletedsecret-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '123', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e8132557-7cab-48f6-80c8-947fe27544c5', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '89f490a5-312f-4722-a5c6-ef69c141b7fc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '3b48632f-51f6-46a9-88e4-969ae2e23d00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHCAAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:37 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:37 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .get('/secrets/CRUDSecretName-canrecoveradeletedsecret-/') + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6e3d8740cb9542899f02e6f70c6c4cbe","attributes":{"enabled":true,"created":1565306822,"updated":1565306822,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '4dd78453-2a5c-4b3e-89b2-7b25eaffaca2', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:37 GMT', + 'Connection', + 'close', + 'Content-Length', + '269' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8d94673e-c2dc-4484-97fb-b04ff4d9b8bb', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f5cb424d-404d-4927-a41c-5d8147372f00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHCQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:38 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-","deletedDate":1565306859,"scheduledPurgeDate":1573082859,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrecoveradeletedsecret-/6e3d8740cb9542899f02e6f70c6c4cbe","attributes":{"enabled":true,"created":1565306822,"updated":1565306822,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c9f18c2b-ef3b-4711-a32d-7ef8addc98dd', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:38 GMT', + 'Connection', + 'close', + 'Content-Length', + '436' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '38761b24-3419-4d4b-8e5d-73c692a25e32', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:39 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e35ae297-e6f0-4f90-8cca-0aec87394400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHCgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:39 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:39 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '291371ef-0cad-432f-b24f-ce5cb72eea04', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'e812bb61-792d-4986-b883-af9b27168ecc', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:49 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '481e28c4-c75e-44ee-9123-8643f69d7100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHCwAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:27:50 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:27:50 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '8ce0473d-a1c6-4120-98cf-a4599d398d73', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:27:49 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fbde7023-a1e9-478e-b46a-76a4319db676', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:00 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '8b405256-eb45-4602-b46c-7f65d98d3500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHDAAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:01 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:00 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'fc01e275-2d76-4196-97a3-8837757b241f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecretnonexisting-/recover') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '3f30f4fe-59de-4f7a-b2c6-c51439a456f4', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '50e4dd54-491a-4f63-8e2e-d7bf9f7d2800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHDQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:01 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/deletedsecrets/CRUDSecretName-canrecoveradeletedsecretnonexisting-/recover') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canrecoveradeletedsecretnonexisting-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '134', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b04d0d79-4259-433e-9051-70d6b4e3ebb6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b354ac4d-436e-4d68-b626-f6782a57f0a9', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'b6f447d8-c20d-48d8-aaed-a8c3631e4500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHDgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:02 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:02 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canbackupasecret-', {"value":"RSA"}) + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/282c302d209d4f14b2c71358927dd592","attributes":{"enabled":true,"created":1565306883,"updated":1565306883,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '2ead8438-7ce7-4952-818d-cb9f21e54c3e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:02 GMT', + 'Connection', + 'close', + 'Content-Length', + '261' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/CRUDSecretName-canbackupasecret-/backup') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '06fb7c58-a765-4dfb-9868-04e474eced73', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:03 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '6d159a70-f66d-40e8-a7c7-a61fbdec2700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHDwAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:03 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:03 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/CRUDSecretName-canbackupasecret-/backup') + .query(true) + .reply(200, {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLlp0VFNtdldCQ3ZDV2dnSWtXVEgzay1BZzBPeXVGb1dPWG9zTExPX3RiSWlHUktxazBncGJpRW9iWFYxdXJGMGNhUXpkWHVBOVQtOW9fSWJ5LVZGaWRVTlJWamVDa2hLS1puZ0xDZ1Z2UXlIUmhJcTZRMTBPVUM2U3NFT0dkVDItdXhBXzBURkxIVHB5aUZmbV9LMU4tc28yTUJYVHEwQWlOUnVLT2F5eTNsU1RoR011RVNUR0RmSDNUYXJSbl9vVUNNQUxwQjU5S2xqRE05MEZHd1lEeW8yMmlCNG9hWFBDRWhQaExKcndtR05EcFRWSzNMdl9wdURGSDRITk1XaWxHRHBKUjZTQk1XN2lUSmtRRXY3Umt0QkhwTjZVQVhFNWUtZHpTSVdLZ093cHhTNlhsclZQWWhiSnpySXp6RGZTSkxycTRTRnJUY3dfcUdIVldsaFk0dy5RTVB2RUl5OEdfRmEya2dVVUFKU21BLjZ3R0ZsRXRydzFHM0w4R1h5dDNfVFFDaVBmVlpHdzloYnkzOXRaT09mbTJ1MVVBWlQySElGWHdqOTk1bU5pNkt5Y29iSlRMYmViOGtHenk1YzhKdzFBWW5WN2VYVkhIUGtIT3RaV0FBOWhMWUVYZ2haczA4N3hkd2JDdE83TGxoUTRINXYwMFN0TG1RZG9LT1U0SEw2dWM1blNSb1M1SVBmNDNvMWRPdWtTOG5rRWlMSGJYalJ0VU1hZVdnLTZFQW9BM3BHQUhuclNUREh6b1BSWnJrcko4UWNURmt1RG5lUV9hRkNXekV4N2tHbXZOdFR0YVNBQWlKb1pTQXB2OFFmNnhKYnpPUTduYVpCM0s2VmM5T0lXS1RSZS1LdWp6ZkxJc2NNd2Y1S0tsajF6OUZMTTVvOG5fU25nNjBic0xDVFJsTWdIWUluNlR4X2RPSG5KQ2RHdlJfeVREc0JtR2dvNGp1bWUyZ2hkNDBBanRIeGJFVU1fczY4WXZLdmMwS1hWY2d6c2F1RzhCM3p2TkhDWFpsa1Y0cGQtdzRoN3dDNWFJREhCOEVBaFNZOS16eWM4b0x6RExTTEVTYnZUZUdBd1EwcXhVcGJrV3FwcU1NVHNuRm9GdEdmR2hIN29sWDEyNVNBRk1nRGdHTnRldzMwWnIxVEFwdjluTVYxSzlWQzlyaEFLa2N2V2piVml6MjZ0d2FBNGRNa3hEVlZRdFZTSEpsWnhvZWQ3aThqajdLWnpTTUhmVWVVRXlVSk1TcmF3b29rV1lkTUJqRS1vdmFPOGlVUXRmNUlZcjFxS2Z3eEx5emlUdkZNZEdyaGRXRUM0Z0dTbUN3SWVXMllEVE5VQmtXZHp3dG9haFBqckdHYWotSUlGVWZmaERoUDNZZmtVM3luZzlyRmYzTmFfaVRnUWJBemtVRjUyd3dyZUZFUm5nLW81TnpOd1B3NjlyX1dncnRTVVZoLVJfSTBSVUJjc1FRNjUtUmVUT19xcm51MXJDQ2JLVGxBd1lGVzVjNl9SbTJpWU1UNFphb1dzVm1PZlFnQlNYN2hka0JzSVVpd2psOWhONms0d3RidzM4ODlYR1lOSjZtdXFKWmJRUnlzeFRDMzNrZFFyc3R2RDVYLVVRNWxKM3VaTXZ1QU8zWGNxZkd6ZHhfVmR2NFZ2cjFUUE93NmFsY0VmdVBxaW9aU2hVQlZXOUJzV0VUSklRQXlwMVZ1RXpOc2RoVVlLQ0tuRnA1YzU0c3ZTV2lBSXFMS3lNdHMzYjB1UERtOE1QM1dXWklmNzBlR28tdU9uUHc4U2w5dldtbUJUaWxsdE5ydXFoYkUzRlIwdTFDYU9RYjZHbXFwYjRfRmpEZzVzMnVrb2RJQkhKRHhYZ3NTcUJLX3cxZ011VDVydFJ0ZW1CZlFCbEVTY1BkdFhXcFN4bTdpR0pIQXdpSzRZbmdkWk1vR3BvQVhCTTBrTmVfU0txZWFBNG96c2M4SmJjVzVJMXZRRXBKMHRsWUowcVpodW5tUkViY0pIdzNoTFl6cmRxWkpzcURuNjI5Qk9qd1VvdVBoRzBpOEFZOTIyMjNRcy1XdFlyN1dTeWhmMFd1OFRjZ0FkWEtBR1JaS3Utcmw2anVXM1g5aEs5Njg4eDBtLW5Vd1RnajRBV1NET25ONE4xcmxGNDZhbzZET0xwZHdTRmZ2c0I5Wl9kd0kydWRmNUpQODBRTENiSzY2bGNnRlVWeV9oZTFrT0ZKbENQSklWYU95SkNlSFNfWDJkOFhZR0I3aDV3MFVqVnVXbDJYX3hDR25EaDNhb09vRldyclZLRXFvRTNqZU1LV2VsTUNYM3FHY013dHdEXzk5YURyUTBFQ2c2ZXZObzZKekZqcGZPRUlDRlRvYVNmS3FndUpHZmZIYzY4S3NpXzJ0OVIwYWI2YnFXdEQyZUdCLTFDQ3dkMmREWXdNNTdTUUNRTVVpV3BwUlptVFM4VkM2bkpKOHVTeFVXWnlOakVIYUc5S3JhMUZnQjdUWi1QU3AybW9hTzBhUUd5SGhOVnFiTjh1VE1OWFVPcGxwMnpxRlFNeXExc0RPUFQ2X0ZZNlNwM3hoMWRxSWloNTRrZ25JQ0tmbEZPQVBGZV9ZRFp4RGcxaU9qUEo1ODJhS3ZMVldFblJfS2c3aXF0ak4yNmdrODlOVE5GMXd4YVdGYVdCWEllMEt3NFlLT25Dek13RVdBdFk2SU1vWm4tVl85T3FHX1lHNzBHZFFWWm9rQXptanpJOGh5WHJKbURmbU9UMUR5RmZsRGVWV0xrRmJZb1d6M2ZLY3JvLTFoalZYekw1TGpaeWhNVFdldlVWS3QzTWM0SXltbDZBenY2bHkzdHdoTmdqTFVmOUNaSXpsdFZ6TW9GUkdwclRkOF94VWdlODRPWmItSldOUkY4ZlJCTzlER3VHYm9rRWtFWTZwNlBic1pNR3E4czU3bE5valZROEpfLVJRR3MxU2F3X3RRemx0MlhpNkswb3BuRlZLVWNqT21BVHl5c1FidVdqTVNwUzljUXRCY2ZhanMxbExfelpRSnNuVVh3TjFfZlNoMTgxYmp3VWlhcEFQZGc1NlFnV05yX2c3cGI0RlFRYXd0UHpMSkt3MWMxM05uMDVZM3BZTlF2eEozODE5SEpWdHE1c3RQakZKLTN1dFlOd3JSVTZQNjBhb1QyYWt3XzlNQ093bHFuT1JEZ0pmbHF0N3FiakZmbGlmOXJvTTNFbE11UU5uNmM2RzRqRTJjWVo1N1BnUVBfTGRtaTBKQzZiTkpJbC1VODRDck1waUtSSHJReUxTMGhHWWZOc1B5Y3VsRGVNNkx4c280a2Y0d1B4UHFwaExWM1pvQ2pZYkYxSk9WTERfQ1VwRTdDejFPVmZaVHc4TDY4bUVxLU9MT0h2OUp6Y3VpZ0RvdUo5UzdRTDRUTVpaRmRkQjlFNjVsNlJza0RKeVZPM0loYjJrSHg4N2RuajdNUkNrRnV5QlhCSE1KNmR3STZJbHc1NzVfc3NOSUZ0RlJRSnpzZmRFVjExUGlxUFhEdGN5TFdPNldsWlhxdmZKSGg5TWxkQTFHR0IwaGRURDdFUlQyU25FTjY4b25SUm9DVzk0dF9FNmc0MnlJQVBQU0FYLVVnclM2b05kaTdjaTNGdmdCclZFWldWdV9GVENOa2VaOXNsQ0J5RHkySFdNSktWNEMzTTUtMXcwZEgzVDlaNHhucElBd3BhQXowOTN2cEoycVdMMWtWWmg5ZWJVUVNIVS0waFduLUlUR3JHcnN3WWYxNkphMDc2RWtFM19ZNmZIV3EzdFNaaW5zem9KQW1uc1lUZTVDVmt2Q0RrQnlDeThoZ0NrRWlJUFJvLW5ocEFjdC1xMnM2UlJiNEltdmxVNmR1am84MkxmRlVZUFA1TFdrLWNZNUt6ZzVBcHZObzdzc1d6bi1ENkpPZjhQWWVSWjdIVUc5M3h5ZXF0aE40cG1JeGFJS2xBRXJ3R0RjME5vUXR4VDFNbGJiSG1GZmE3dExaOXJjalZtOGVzcjhDVmFsUG9ZN0ZxaGo1S3J1R3IxOFZNWW5uaVNvWndHcTJpUl9JOUgzcjZERlNXZEUzWlVpWHRyQmJLbjMxT0lZQmUxbjhzVnRkbTVwbFN1MGNzdDdUX0RzSGhGcEhHNTlWVkxkdDRSYjJ2d0xCU1NRbTF2d19LVjRfYk9QdDlvUUhQV1V0Vzdfcm80NXhyNGo0SmZ5aXgxRVdQVDd3UFhhZEpaOUdtZVBLUTdBb1o0UkJLU2JaUjB1eS1MSHRfM3NkMXRaekM2enBjb2hQUEJ1RENOTlpiRnNpd0ZGbW84NnlVQ1BuNnpoTVdpM2tDX0hlVHo5MlM5X00zcWhIQ1lmTFp1dmZkY1hxRE9OLUduTm1TQVZvMDVVM3pOeTk5bG45eC1YNzB6MXVSX2Rueng2dFZMREVXbEhKN09CNHRsZ0RUNncyTElrNTNaRThjTlFQSDNFcjJhbzZDdktIYjdwMzd1eVdJUDZLbXUtMnZ2aW1nYzcyQ2RBZ3lzbzBDXzZTYzVvZjdhbENxTmlacEZtR24xX3o3d2ROZDRBZXR1ODBEQndCVDFBcHBXLW9zOGdCaWlLaU5BTXNObG1MbFVUNGp5cDQ4RzhkSzBkc29hb09rcXFEM2NhYkVtT2haSU56cmlFUFpEWmFTQm5rMTJsMWZkblhtcXp1R0Z1bUFIZ09YNjZEdGxlNjNkLXhobHAwVW93Y2lUbXpSMXg1OGFaOTVPdl9xel9EaG8wVDQ2dnZoZUg0blNYWlpwRjZLVEFLaXozVWZna3pMcWRIenlodkJVNUFwVU5tU0FtZGJDakt1QmRET2hmX1ZuTTFvWi1vQ2lPNXBsY1NFNlZ4TkVtUllSb0czSnlqUHZGQ3d4N3JCYzlwcm5PeVJsR09rMm41N1JnSzc1NUl4NkFRa3F2ZjlQUzdwZmdTM1JtVElKTVo4eGU3UXA5UFpXaVktOFB2ODNsWWVZUHVqdDhiVXNOMkdzSm1rckswUi1mVGc4NWo5WEw5UG9kZHNJWEkyR3dNUTlhbjY1ajJCVWJMWWNfbXlSYjUzQWp0am9uRUtaLWlWNUNoZkdteXpKOUhkTDJyR0RHX09ZcU1lNm96dU15VU5iXzZNbGs3TTlFRWVQMFY5RnRDSDEwdWVoWEJ6TF9oWGxPQ2Zvd1NjZjN0TjN4eXBYNmdlc20tZU1zc3VJRlNTcGozZzBvY1BXYklobXI2UVJEVlYtX1dybUI2QXNQRFlkVkdXN0x4VEVJc2V4eVRaU1BOY0JNaV8tSmRlamlkRy1wd0FVSUV6VFNTUlVqZVc3WnZ0czVRTUVDYU1ZUTROeEl5SFVwb01pazRtNUNOajY3RmphdTVHZWZRRW1zdUFRXzlmXzF0LVFhanVSM2o0RDItaWQ3U0xkYWV6MTJxaVRPbHRUSlJmZzJJTTJMWERadndsX2JFUnRoenBtQnMwcklhak5SSUtLd1FibnJYVkJiQ2ZFNUp5VUNWc3BHbkczZUJaYzdyR1hJVncyZjR2OXpQQk95eHl0MTVGUnZ2VEpCSGNWUWN1cVQwRFJzQ1RWdjBaV21Xand1eXN2MUNFeFF6MG9ZcWJXZ3FQbnM2YXRkQnlFRVJULWJsVlFvaUFGSWZLZktjRGlaSEltZUFqV3hObUVFczczMTJPUG5hTTFFc2RLVGZySFhfZEZuSld3aU14OEVoaW5Dc0JJUzdoUDNOTWVqdk5zQlBXdUlvUVVJWnRpVlVSVi1lSmVMNlpYYlgzblNRaS1VVHJra0NFWTg5b3h3YmJDWFZrRlpLZHZkNTEwUzRnUE5mYl9fQ1Z2UkduUUFaUk5hdk42RGdBNFZQOHdrS2JzT29uR1IwRXNZR1dhUmdHU0xsUzdweDExRlpiTG44OHJ4LVZOc0dYeWdLMHh6UXdXNUZSRHJPalpxdENXWEo1RHNrSGZkbVREN1dXYVE5Vl9yTUxoMFBNV1ZMcnhGRmdYSXJVN3hBMnhFMHhUQkR5b2ZLanlmaUxod0dzd0xPYkx2WmI5M2xwTkxxLWZZQmwzVWZPSGk4bE1QanF3RWtvWmloTzVhSTF1YVlRcjU1MTVKQlpKRExyV2xHU2lxVEFKNkpzUjd6dFJQdFdOaWpBSncuYnBpMXVROEx4NW5qczRRaEhFSmwtdw"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '12c7af57-6c51-49ac-938b-502696e62260', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:04 GMT', + 'Connection', + 'close', + 'Content-Length', + '6402' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ab532ae9-66fb-4082-b885-2f34b2fd8d7f', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '494e0250-6faf-4758-81c1-e55f54b72800', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHEAAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:04 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canbackupasecret-","deletedDate":1565306885,"scheduledPurgeDate":1573082885,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canbackupasecret-/282c302d209d4f14b2c71358927dd592","attributes":{"enabled":true,"created":1565306883,"updated":1565306883,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'd901e2ed-96f1-4157-a1b3-59b79218e0d0', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:04 GMT', + 'Connection', + 'close', + 'Content-Length', + '420' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '101adaf5-bbea-46ba-91fd-a1b4e3ed0996', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'e1ec0859-3560-45e1-83f1-8d553e973100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHEQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:05 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5384c219-397a-4ef2-a85c-b3c94fe7861d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'c0ec6d9e-5b35-4779-a6d6-f49e0d17a21e', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '26ff5dd8-5c6a-49ae-9403-d45cd6432a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHEgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:16 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:15 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0340b3fe-1c0d-49b0-93b0-3bd924ac48c3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b6298a01-765b-403c-89e2-42907bf78892', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '0f4486dc-9ae7-44f6-b3a9-af438af12b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHEwAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:27 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:26 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canbackupasecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '717a08a7-0ce8-4b02-bdb0-3744d24bb43c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/CRUDSecretName-canbackupasecretnonexisting-/backup') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'ddd5faf3-241f-4b94-8933-06f2b77dffb8', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:27 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '29fb2250-ee8e-423e-baf1-67f798972a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHFAAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:28 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:27 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/CRUDSecretName-canbackupasecretnonexisting-/backup') + .query(true) + .reply(404, {"error":{"code":"SecretNotFound","message":"Secret not found: CRUDSecretName-canbackupasecretnonexisting-"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '126', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0bf7ecef-291c-418d-84b1-2e748e4c28fd', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canrestoreasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '5ee8dc59-5743-45a7-9242-29ac51873d3c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:28 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '32fd3437-197c-484f-809c-5c21f7986200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHFQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:28 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .put('/secrets/CRUDSecretName-canrestoreasecret-', {"value":"RSA"}) + .query(true) + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/6ac02c916ef34c3aa9308351ea102b9d","attributes":{"enabled":true,"created":1565306909,"updated":1565306909,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bbe6bed2-5874-426a-801e-c73929e823a3', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '262' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/CRUDSecretName-canrestoreasecret-/backup') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '318e71be-84a3-4611-9e2d-74b3608cae4d', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:29 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'dcb901de-ffc9-455f-b887-83cd07f93100', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHFgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:29 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/CRUDSecretName-canrestoreasecret-/backup') + .query(true) + .reply(200, {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLkNTTnAxSmJZanM3Zm9hZWVFQkFwOVlzUEstTzgzQTlHR0U1RlFmekhLdFpRZjQzTDdLMUIwc0pMV005Y2djV0xHdDdpTW04YWczWnRjRE5IWkljVHdwS2pYS2N1dnl4NGllYXJhNnJMdDR2cEJyeDgwQnE4TzVDSGFkMC16eUgyZUt4Xy16S1VsVEJ3NDd2cm56YUZGNEVYaTRXWkk3dk5RNHo2S1pUVGZ5WGE4Q2ZvUmZTcFlDdFAyV01CUTZFU1NiREJybXk0aUVFRUlPbzZMb0t2cVRqWDdlZVVrOVVFYnpuTHplY01LNVAyQTBpekpmckhPMV9HYk4yVTN0Wjg3bHpFcVRGSUNDbzg1Q0k0UVFycXVFQkEyY24yRUFSV2l6TENBZjllMjNZeXV0dEVsODI3NDRwLUd1bnpheUJick1USEhoXzg1QUhtMV9SRHZveVRqZy5uREtKOG1KcEF1LXZoWjNRcWFFQXpRLjVoeDJlcVNCa1BUa1FSNzlBWVdmUUh3Tk52NS1IODdLbmVOT2F2cUhjX2xlcGlmVThyQTRzelRPYnFCT0lsVnFRemRXVXFSMDFZOThmaFAxeS1TblNRMGVCZlZ3SzVHWE54ZHA0UUoyRTQtaDFsOTZjdlpuQXd5bHYwVm8zcUJHRmtlclljYS1Vemdub1JqZDJXTzVLbjdpS0pTVzlBcy1MaUc1N0tmS0s5X2ZPMXF1eDNPYnM1UUI4OWxacHBsczdqZE82ZGNuQ2VualFNNG81R2R5T0o0RTNzMjBkNjFrTWlNSkNSbF9HYklRcXlreFZwSjJna0t5TW10X0pqWFpCSGhDY2l6RjV4WmNjWWxub0M0Um4yMXRkT3RvVWp1MW1zbnlMZW1CYjFFZGRQTzVwa05uRm55djBUY2wzRmhDZDl1aGRFbFVYZ01EWksyTHVBZm1ES0QxUGdFV2FVa1I2SUw2MlN4Zzgtbm5Bb3JpWmdrS2VKNGxya2RkbFY2Q0R2bk95d3VwMFB1NGgteHh4XzVNNzF0ZWpBbzE4YUw0LWNVd2xrTlZ1N3U1NklUbEhZRHBUUWhXMEs2UHFfVUFpbDRQdTFwU3NmTmdQTW5zRUtqSFZYd2QtQU1iTlJlTHJOZFkteHotQTZ1QVdmWHEwNXh2Qk1wX181VHlmbnV2cVZKdGtnWDN3aVdJeDEtZTl0QWRKdUgwTHlxck1RNFZIbnRJLUVVWlUycmwtOU1NNS1uWm1GSHlUUzZQbjRLM0U5dXVtdEdMaHYzY2trX1NHSjRIVE40eGFiMzhvbnZhUk45aW5mdnBuc0dwWGowNlowY2FDWEpJWDNTOFlCYzVWZkI4WWZhSVF4NnZHNlhWeXF0cW9KVmdSeXdFTUpfTzgwZjYwZXRBTElGLXdycEZtd1JnQl9YY1VkTTZiZnFnYUJGQVNJYl8yb0lGRkhWMTQxekJTNWJjeXdHa24xazlBdjR4VWJfQVlydkRfSGZIRHY2T1JudVNlR1FtazNjOVFPRmU4ckZaX1ItajByS0FxR19NR0k4ejJxWkxmUVkycGxlV0JRNk1uSmVsRVZoUVdsU1ZkMW55bXFoMjFXdXdIWmVWeGhETVBmaXAwSjRjWHI0d0xVU1VNVWhJRDRBSWlnTFN6M1JmaTI4dlp2XzdfcHNuS2s2SG9GVDFBVjU2SkJwNFplSGpEQ1NNYk9VTXZSdExneDkyVHlkMHY2MkJMNThlUDQ4THpSYzl4UmdZMkh1NUpDRHRjeC1kTjUtRUoxUmdUOWdaLWdyTVJVbGo1VlluMXVxVFZQQjZLTTRiNUs1S1BPLVdKcEcyZnB1aUVTZ2t2SzY5VVJHRkV3VkgtMGpOTHd2c1h3QVZPYk5HVFlTQm5Na0JDMTdpaUhWSUtuMVU1V1lLcl9tLTFCdmhKUGhiQnAxWWNyMHdxbktiRnpGSE1obWNLMTIwSGN3b0RmZXdsVmRBc0h6cllndllPQjZQVHlUdkFYVW92c3R5Qjg4akJmMnU3b01TY3I1UWxFdnduNEVqUEJNeHozZXlhSmdmZUlvbHhYUk14TmozaFJSU29VY255WC1YRVRWbkhGT0IzOTVzVDV4SWlzWE5QaXplNUZyU3BVRnVweWJ3VUFwanBfc3RsS2c1UG1JSGRYaUxjbDJJOVNMMmt1bFptSjd5N01Scl9ScnNjLURWOV9GNUQ1X01xR3dpUjZVOThudjFHMVFiS3Flck1LTFVUNmFWMkZfSzlKemFnQ1k2NWtucll0b1ptS2dBYmdXWjBKSkljb3BEdUl4R3JaVGxBUTNyMkVia1dZRlhxQnBmN0RXTENIZWV0Q3RScTRHMjB1WkYxeUx5RGhtUThJOXZ5a2t6WGFRQlBmZDgwcjJGTG9ZNkc5dEdpTGQ3QXVfWVVrTXBkX25fZDB1ODYyS3UtWHE1RFJCaURsdVZ4R2dxVjU0b3BIU3JLZ1VyeDJfaXhRZHNnOW55a09kU2ZzQWJsTzhXYkt6OGlCQ29aOHFTbGJXYmpmbXphYUxRcFVVd3FZUXVwQ21Fek1RWms1N19veDRvYWdfUUt0d3k3WjYxS3I0VWxIajhzRmNGdjVqMW1WZ0QwYjktMUZ5aGFCTU1Nelo4TF9kb0Nyb1BnS1RuNG0zOW1Udm1jOFlDR19vRUVyV3VrTHZsQ2FpMkZNTmFZZXRoRDdhQ2JGQXdIWEhMcWN0Tnc4QmlYMWlrLV90WVdtYU5weWpjM1pPZUx2cVk2MHkwSHJ3eWNyUjVNQTEyYzhQTGtMOFZSUXpwTE43NWl5VWlOZmJiMzNLS3VfNlpFdkRCRXd0SkNFZ1JlU3Y3UEpPSHpMRWZCVUVBN0ZIRnpZWkdBaGVGWTZraTk2UkdmazNSeVJtdXVoOWFnNzd1Z0RucXFjMHJBbHBHd093NGVKT3hIRUdZVHBTdEd6ZktPdkNXM0dkZ25SUTE0bHItWUJ6YTUtQUxXQVlxWGliWEJXaGFVUFhiUU9SUjc1RzdOWXE2Zk9SNE9ycWxlVFBVTmVrWDVHTk9NLXFyTi03MmhJbFFmMmFfM0xoQzA0OTkzY2dJbXdQRWFaVTZGVE8yMU82dld1TEx2cHBzUVdwMUkxV0pPdGFzbjR3UTVPMVZNa0VyT3RPenZYX0psS2VEcGVDcTQta09TT255V0kyeTgzTnpQZnZhOG02UHJ5RHVBb0k5ZTZBdjVnN1BPWnFKLXVkbnZkbmYyWmpjbG80cXdfMGhSb2V2bFRCVkkwQzVoa2xIRXZRaEthcUQ4YWw5SUZuVXZqeEtReld4MEdyQmlDVlRZYm1zQkQtVGV6WnhEX2djR2lKeHMzcVh0VW9ZeWphczdBdTFmLWdjS3FNT3RSX0Zpd3VJYmFHVFBsRmZSUFByNWpVLUdfZkRyTFpmQWtkbUVSYjJhVW05T2JCNkdFU0gzd1RkanFiQVBvSEJkbzBaeENVSHd2UG4wbGE5RUNLSWI1alZ6TzIyZ2xSN29lTV9WbG1ucWljX2JjVHJOYUJLalRUMFV4RXNKR24xaVJINExKZXA1dUFiS2MteVBBTVctbUFKN1hNdm15QmJuWkxYU2gycC1OeGhLdUdNdVJIR2g3QjI2UDZjWE9EbVJIVWw1dnl3cnZxS2NUUlF0Z0hVaHU5X2R1dGpUNERuRUdMTFJzN1U2OXFWLTJFM251RThzTGluSjdqMV9sLUN1ZkhHdlNQNkk0S1p3WEVSNFNzWGhTdFoyVkxaVFJBTTMwbHA4N0k4eTYzMEIydlY2LXotaXpUNDNrTC1PTjhHNDFtWUdCdGNwYzY1VDhlUFhxZFRiRGFCSF93TWN4UUpmckFldVE1WFNJc2N5MGlQeXAyMlNRV3NkRnBhUFVGNFdoalVyOTRGOHUzTWNBN1BlOFBLdXpGLVhxSUQ2azYxcF8zS1M4YzBDQmVqcVZPMjB0bHg4ZEdnc0c4aG1uZlZXQ3QwS0cyQ2hzX3c5UFd2bU94emdVMS1sQVRFdGdKTGlFemdpMFFUZmFWMFhRMUNlUUlnNWp0NHNVUTRtWWNkQTJZRm9JbWxCSWxRV0NhSDRwSVhlOTFxcjlkYU9RZkxfOGdKazNLb1dIdTI2R01JMERnTFlHWGZYXy1hLUg3ckRjdU9HY0V0ZE83WGVUYmFfcGFPaGpsOEhleXFSQzB5XzJLLWprbmpJZlFDOFJ4blNGZjl1ZEtqcXdWSXc0Y1lmNmdiN1NSc19aa3ZGWmhzeGFjeS1BaXVBZW40SUUxMlRXU2JZcmlWSkl3SVZfSFpWSGY1TjhxOXBzUUFVeHFhSzVBeTBMNklweFUwcFE2blJUQV9KNkRLUDJDWXpnNE92cjcxREgwcDRXMkdYMUxxcWt6UXhIb3djV0RkZ2RQdk1PUWdvTmJ5OElKTFhqVW1BMEs4QmlFWDBPMFY1dmQzY3pYUHpTTmp3MGJXRFBkN05TdWhYbEJaN29fRzNXVmNsU01nZk1aVWg4YjRDUFI2b1daU1k0b0NkaGhzY2h4WDlfb2VveVJEaWFyXzUzTGZlb1hXaVpraHpVYTFwbWtxZEF6RlJfMXEtNEljd0h2QjQwcHc4dVRfV01hQ3U2UUxJaEhfNDFWdmNIbW5zY05wWXgzb3d6aTZJSmJoM1lQNnBFLWNjUElmVm1JV0tGTWkwYmVTZVpucGFYVkk1R052Vl84Zmk0QW1TdTVxUDBuME00VHhnRzRmdTdKdnB6TC1rR3E3bG9JR29BXzNTLWlHUFp2THkzclpKeFBpd0JrU1o1ZVFkdHdtdlpqUlRQckV6LWFwVEp6OVhLQXQ4WjZfSXdydU5xOEIwbG9jWkEyQUE4OFNDYi1mN3FxbTNDSlpZOXZaMFVVVlhyS295WFVrMFhoUGZqcU1BMl9qYno3T3pyTlJEMVo1V0dQUzVvQ05lV25TeVI5RjB5d1U5LVc1VTdBX3hCTjU1bHowTlVSN2VRNUpqTk16SFdLX1ZaRjNwbmFpenQzSWtvYzltMEk1Y0tBT0JCTWFhM0hTdnMyTTUzcFZRYzVpVU4wczVQSk1OZ0JlUjY4Y3dwMGVlNmxoMHJ5eWZCQi1EMGJ0V2dpbndKYkpCLUpaLVluUGVlUFRNZDNIcjhDVGtPZlA3MUw3RXM1dXhoMmYyQkF1RnItdjZNTnNNc1J2NmRkTkpyVkh6SGhBbWJzRWhrd1FTUXdGTWFYWWgzQTFsdkl3V1BETGhKd0NMVGp3UHVjeXR5RXhiaGNmcmJJWmljdm5zNU1oc2ZLU3lTR1ZMUFRwX2ZNelhONnYxOEI3MFRweTMxSEhNb2FhZlRVcFB5NDdlN0N3eW5DX1lrd1JjejNpdEYyQTFnV0NNYTNrNnhoTjlQQ0Joc1d2NE5kZmpYVUY0enFLT292UDg4X2ZJYnRBS1pGZ3hDZ1ZqX3B6eDJiSlFkaEgxNmUwamwtcHUwV0RQaHF4REZCM21BTng1NGdVZlNseUNvdEUxZHJ1VnUwYWNROGp4VmxYcnd1YzU0N0N1Vy1tcUpDamRmMkp4WHl0UkZQUFNEczZIVWg4dDE5ZVdxNmxQZ1dkVVhtby1zdDZNYnpNZFpvdGVkSXB4UVpYZFNBX2YxS2NZeThQdV83aWpMTzg4bUttLWdhM0ViM05wbmIwUHAyVzFQZzNUbHNCOGpLMGY0Vm40UWYzS0poV0NFVllxYndlb2JaemZ1ZFBCZk8xeTkzNHZsRVNJd2ZpQ0F5bS02eHFGSG0wdzJpUlFNNFFLQ2h5YVVqWDVlaHlqV01HNXRFOTZyejVDU2tpN1R4X01xTTRuYWJzSEFMbldTcTBKcmlFX1BodndER2lfNzBrbzJpRnFfMHR2X2kwWVZhMUpoNlRYV0JTQ29kcjNFTGxxY3lVSzVqc0FKZmYydjBNX3pQeUFHakhsUk1zN21QWDJnMGluMTdYU1E0S1FkNVFfTTc4VVFlRms1VHp2Q0trWXlxR1VKcHBoWTVZUjJmMi1EMUFiVEp3WHFXMXg3cFIzZzRfY0N1Qlo3WlpFSGNLbTNBeXg5WW1mZE9CR3JkaEpES1Nsal9sUFJjc1BJeFN4TEl5XzBOZ1RsSnBBWTl4eWQxZEZhaUw0WFItMGVuLUhsMXJZcG1mOWZreHlSNFZITnlsTVEuV2phYzJrU01sU1NVOWtmWVlaSzJFZw"}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '60db32c4-758a-4b81-b926-dd84aa93061b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:29 GMT', + 'Connection', + 'close', + 'Content-Length', + '6402' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canrestoreasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'eb9c9b8d-df29-41c4-94d3-7485348ddc16', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'c0c3fb59-1914-406d-966b-469ed7624400', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHFwAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:30 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/secrets/CRUDSecretName-canrestoreasecret-') + .query(true) + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-","deletedDate":1565306911,"scheduledPurgeDate":1573082911,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/6ac02c916ef34c3aa9308351ea102b9d","attributes":{"enabled":true,"created":1565306909,"updated":1565306909,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '85fe5db2-6dfa-4944-8a73-1ad4ec8d4227', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:30 GMT', + 'Connection', + 'close', + 'Content-Length', + '422' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'bdea3c4a-b530-4363-a07a-ff73e4cdad48', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '7a836539-7369-49b8-aee6-c9b2ca766b00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHGAAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:31 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:31 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '121', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0044ee90-634f-4fbd-9cba-69576031642b', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '1d180fa2-1258-407c-8120-79b5bf8aae42', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'fa60bbe5-40f3-4b7a-bc24-b8cabc185700', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHGQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:42 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:42 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .query(true) + .reply(204, "", [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'cb966543-458e-471e-8a59-fd174ab75516', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/restore') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '05158a58-ff65-4e4f-84f6-58e29eff1014', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5822f6d1-59ae-4031-9ba8-70f274e76500', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHGgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:43 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:43 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/restore', {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLkNTTnAxSmJZanM3Zm9hZWVFQkFwOVlzUEstTzgzQTlHR0U1RlFmekhLdFpRZjQzTDdLMUIwc0pMV005Y2djV0xHdDdpTW04YWczWnRjRE5IWkljVHdwS2pYS2N1dnl4NGllYXJhNnJMdDR2cEJyeDgwQnE4TzVDSGFkMC16eUgyZUt4Xy16S1VsVEJ3NDd2cm56YUZGNEVYaTRXWkk3dk5RNHo2S1pUVGZ5WGE4Q2ZvUmZTcFlDdFAyV01CUTZFU1NiREJybXk0aUVFRUlPbzZMb0t2cVRqWDdlZVVrOVVFYnpuTHplY01LNVAyQTBpekpmckhPMV9HYk4yVTN0Wjg3bHpFcVRGSUNDbzg1Q0k0UVFycXVFQkEyY24yRUFSV2l6TENBZjllMjNZeXV0dEVsODI3NDRwLUd1bnpheUJick1USEhoXzg1QUhtMV9SRHZveVRqZy5uREtKOG1KcEF1LXZoWjNRcWFFQXpRLjVoeDJlcVNCa1BUa1FSNzlBWVdmUUh3Tk52NS1IODdLbmVOT2F2cUhjX2xlcGlmVThyQTRzelRPYnFCT0lsVnFRemRXVXFSMDFZOThmaFAxeS1TblNRMGVCZlZ3SzVHWE54ZHA0UUoyRTQtaDFsOTZjdlpuQXd5bHYwVm8zcUJHRmtlclljYS1Vemdub1JqZDJXTzVLbjdpS0pTVzlBcy1MaUc1N0tmS0s5X2ZPMXF1eDNPYnM1UUI4OWxacHBsczdqZE82ZGNuQ2VualFNNG81R2R5T0o0RTNzMjBkNjFrTWlNSkNSbF9HYklRcXlreFZwSjJna0t5TW10X0pqWFpCSGhDY2l6RjV4WmNjWWxub0M0Um4yMXRkT3RvVWp1MW1zbnlMZW1CYjFFZGRQTzVwa05uRm55djBUY2wzRmhDZDl1aGRFbFVYZ01EWksyTHVBZm1ES0QxUGdFV2FVa1I2SUw2MlN4Zzgtbm5Bb3JpWmdrS2VKNGxya2RkbFY2Q0R2bk95d3VwMFB1NGgteHh4XzVNNzF0ZWpBbzE4YUw0LWNVd2xrTlZ1N3U1NklUbEhZRHBUUWhXMEs2UHFfVUFpbDRQdTFwU3NmTmdQTW5zRUtqSFZYd2QtQU1iTlJlTHJOZFkteHotQTZ1QVdmWHEwNXh2Qk1wX181VHlmbnV2cVZKdGtnWDN3aVdJeDEtZTl0QWRKdUgwTHlxck1RNFZIbnRJLUVVWlUycmwtOU1NNS1uWm1GSHlUUzZQbjRLM0U5dXVtdEdMaHYzY2trX1NHSjRIVE40eGFiMzhvbnZhUk45aW5mdnBuc0dwWGowNlowY2FDWEpJWDNTOFlCYzVWZkI4WWZhSVF4NnZHNlhWeXF0cW9KVmdSeXdFTUpfTzgwZjYwZXRBTElGLXdycEZtd1JnQl9YY1VkTTZiZnFnYUJGQVNJYl8yb0lGRkhWMTQxekJTNWJjeXdHa24xazlBdjR4VWJfQVlydkRfSGZIRHY2T1JudVNlR1FtazNjOVFPRmU4ckZaX1ItajByS0FxR19NR0k4ejJxWkxmUVkycGxlV0JRNk1uSmVsRVZoUVdsU1ZkMW55bXFoMjFXdXdIWmVWeGhETVBmaXAwSjRjWHI0d0xVU1VNVWhJRDRBSWlnTFN6M1JmaTI4dlp2XzdfcHNuS2s2SG9GVDFBVjU2SkJwNFplSGpEQ1NNYk9VTXZSdExneDkyVHlkMHY2MkJMNThlUDQ4THpSYzl4UmdZMkh1NUpDRHRjeC1kTjUtRUoxUmdUOWdaLWdyTVJVbGo1VlluMXVxVFZQQjZLTTRiNUs1S1BPLVdKcEcyZnB1aUVTZ2t2SzY5VVJHRkV3VkgtMGpOTHd2c1h3QVZPYk5HVFlTQm5Na0JDMTdpaUhWSUtuMVU1V1lLcl9tLTFCdmhKUGhiQnAxWWNyMHdxbktiRnpGSE1obWNLMTIwSGN3b0RmZXdsVmRBc0h6cllndllPQjZQVHlUdkFYVW92c3R5Qjg4akJmMnU3b01TY3I1UWxFdnduNEVqUEJNeHozZXlhSmdmZUlvbHhYUk14TmozaFJSU29VY255WC1YRVRWbkhGT0IzOTVzVDV4SWlzWE5QaXplNUZyU3BVRnVweWJ3VUFwanBfc3RsS2c1UG1JSGRYaUxjbDJJOVNMMmt1bFptSjd5N01Scl9ScnNjLURWOV9GNUQ1X01xR3dpUjZVOThudjFHMVFiS3Flck1LTFVUNmFWMkZfSzlKemFnQ1k2NWtucll0b1ptS2dBYmdXWjBKSkljb3BEdUl4R3JaVGxBUTNyMkVia1dZRlhxQnBmN0RXTENIZWV0Q3RScTRHMjB1WkYxeUx5RGhtUThJOXZ5a2t6WGFRQlBmZDgwcjJGTG9ZNkc5dEdpTGQ3QXVfWVVrTXBkX25fZDB1ODYyS3UtWHE1RFJCaURsdVZ4R2dxVjU0b3BIU3JLZ1VyeDJfaXhRZHNnOW55a09kU2ZzQWJsTzhXYkt6OGlCQ29aOHFTbGJXYmpmbXphYUxRcFVVd3FZUXVwQ21Fek1RWms1N19veDRvYWdfUUt0d3k3WjYxS3I0VWxIajhzRmNGdjVqMW1WZ0QwYjktMUZ5aGFCTU1Nelo4TF9kb0Nyb1BnS1RuNG0zOW1Udm1jOFlDR19vRUVyV3VrTHZsQ2FpMkZNTmFZZXRoRDdhQ2JGQXdIWEhMcWN0Tnc4QmlYMWlrLV90WVdtYU5weWpjM1pPZUx2cVk2MHkwSHJ3eWNyUjVNQTEyYzhQTGtMOFZSUXpwTE43NWl5VWlOZmJiMzNLS3VfNlpFdkRCRXd0SkNFZ1JlU3Y3UEpPSHpMRWZCVUVBN0ZIRnpZWkdBaGVGWTZraTk2UkdmazNSeVJtdXVoOWFnNzd1Z0RucXFjMHJBbHBHd093NGVKT3hIRUdZVHBTdEd6ZktPdkNXM0dkZ25SUTE0bHItWUJ6YTUtQUxXQVlxWGliWEJXaGFVUFhiUU9SUjc1RzdOWXE2Zk9SNE9ycWxlVFBVTmVrWDVHTk9NLXFyTi03MmhJbFFmMmFfM0xoQzA0OTkzY2dJbXdQRWFaVTZGVE8yMU82dld1TEx2cHBzUVdwMUkxV0pPdGFzbjR3UTVPMVZNa0VyT3RPenZYX0psS2VEcGVDcTQta09TT255V0kyeTgzTnpQZnZhOG02UHJ5RHVBb0k5ZTZBdjVnN1BPWnFKLXVkbnZkbmYyWmpjbG80cXdfMGhSb2V2bFRCVkkwQzVoa2xIRXZRaEthcUQ4YWw5SUZuVXZqeEtReld4MEdyQmlDVlRZYm1zQkQtVGV6WnhEX2djR2lKeHMzcVh0VW9ZeWphczdBdTFmLWdjS3FNT3RSX0Zpd3VJYmFHVFBsRmZSUFByNWpVLUdfZkRyTFpmQWtkbUVSYjJhVW05T2JCNkdFU0gzd1RkanFiQVBvSEJkbzBaeENVSHd2UG4wbGE5RUNLSWI1alZ6TzIyZ2xSN29lTV9WbG1ucWljX2JjVHJOYUJLalRUMFV4RXNKR24xaVJINExKZXA1dUFiS2MteVBBTVctbUFKN1hNdm15QmJuWkxYU2gycC1OeGhLdUdNdVJIR2g3QjI2UDZjWE9EbVJIVWw1dnl3cnZxS2NUUlF0Z0hVaHU5X2R1dGpUNERuRUdMTFJzN1U2OXFWLTJFM251RThzTGluSjdqMV9sLUN1ZkhHdlNQNkk0S1p3WEVSNFNzWGhTdFoyVkxaVFJBTTMwbHA4N0k4eTYzMEIydlY2LXotaXpUNDNrTC1PTjhHNDFtWUdCdGNwYzY1VDhlUFhxZFRiRGFCSF93TWN4UUpmckFldVE1WFNJc2N5MGlQeXAyMlNRV3NkRnBhUFVGNFdoalVyOTRGOHUzTWNBN1BlOFBLdXpGLVhxSUQ2azYxcF8zS1M4YzBDQmVqcVZPMjB0bHg4ZEdnc0c4aG1uZlZXQ3QwS0cyQ2hzX3c5UFd2bU94emdVMS1sQVRFdGdKTGlFemdpMFFUZmFWMFhRMUNlUUlnNWp0NHNVUTRtWWNkQTJZRm9JbWxCSWxRV0NhSDRwSVhlOTFxcjlkYU9RZkxfOGdKazNLb1dIdTI2R01JMERnTFlHWGZYXy1hLUg3ckRjdU9HY0V0ZE83WGVUYmFfcGFPaGpsOEhleXFSQzB5XzJLLWprbmpJZlFDOFJ4blNGZjl1ZEtqcXdWSXc0Y1lmNmdiN1NSc19aa3ZGWmhzeGFjeS1BaXVBZW40SUUxMlRXU2JZcmlWSkl3SVZfSFpWSGY1TjhxOXBzUUFVeHFhSzVBeTBMNklweFUwcFE2blJUQV9KNkRLUDJDWXpnNE92cjcxREgwcDRXMkdYMUxxcWt6UXhIb3djV0RkZ2RQdk1PUWdvTmJ5OElKTFhqVW1BMEs4QmlFWDBPMFY1dmQzY3pYUHpTTmp3MGJXRFBkN05TdWhYbEJaN29fRzNXVmNsU01nZk1aVWg4YjRDUFI2b1daU1k0b0NkaGhzY2h4WDlfb2VveVJEaWFyXzUzTGZlb1hXaVpraHpVYTFwbWtxZEF6RlJfMXEtNEljd0h2QjQwcHc4dVRfV01hQ3U2UUxJaEhfNDFWdmNIbW5zY05wWXgzb3d6aTZJSmJoM1lQNnBFLWNjUElmVm1JV0tGTWkwYmVTZVpucGFYVkk1R052Vl84Zmk0QW1TdTVxUDBuME00VHhnRzRmdTdKdnB6TC1rR3E3bG9JR29BXzNTLWlHUFp2THkzclpKeFBpd0JrU1o1ZVFkdHdtdlpqUlRQckV6LWFwVEp6OVhLQXQ4WjZfSXdydU5xOEIwbG9jWkEyQUE4OFNDYi1mN3FxbTNDSlpZOXZaMFVVVlhyS295WFVrMFhoUGZqcU1BMl9qYno3T3pyTlJEMVo1V0dQUzVvQ05lV25TeVI5RjB5d1U5LVc1VTdBX3hCTjU1bHowTlVSN2VRNUpqTk16SFdLX1ZaRjNwbmFpenQzSWtvYzltMEk1Y0tBT0JCTWFhM0hTdnMyTTUzcFZRYzVpVU4wczVQSk1OZ0JlUjY4Y3dwMGVlNmxoMHJ5eWZCQi1EMGJ0V2dpbndKYkpCLUpaLVluUGVlUFRNZDNIcjhDVGtPZlA3MUw3RXM1dXhoMmYyQkF1RnItdjZNTnNNc1J2NmRkTkpyVkh6SGhBbWJzRWhrd1FTUXdGTWFYWWgzQTFsdkl3V1BETGhKd0NMVGp3UHVjeXR5RXhiaGNmcmJJWmljdm5zNU1oc2ZLU3lTR1ZMUFRwX2ZNelhONnYxOEI3MFRweTMxSEhNb2FhZlRVcFB5NDdlN0N3eW5DX1lrd1JjejNpdEYyQTFnV0NNYTNrNnhoTjlQQ0Joc1d2NE5kZmpYVUY0enFLT292UDg4X2ZJYnRBS1pGZ3hDZ1ZqX3B6eDJiSlFkaEgxNmUwamwtcHUwV0RQaHF4REZCM21BTng1NGdVZlNseUNvdEUxZHJ1VnUwYWNROGp4VmxYcnd1YzU0N0N1Vy1tcUpDamRmMkp4WHl0UkZQUFNEczZIVWg4dDE5ZVdxNmxQZ1dkVVhtby1zdDZNYnpNZFpvdGVkSXB4UVpYZFNBX2YxS2NZeThQdV83aWpMTzg4bUttLWdhM0ViM05wbmIwUHAyVzFQZzNUbHNCOGpLMGY0Vm40UWYzS0poV0NFVllxYndlb2JaemZ1ZFBCZk8xeTkzNHZsRVNJd2ZpQ0F5bS02eHFGSG0wdzJpUlFNNFFLQ2h5YVVqWDVlaHlqV01HNXRFOTZyejVDU2tpN1R4X01xTTRuYWJzSEFMbldTcTBKcmlFX1BodndER2lfNzBrbzJpRnFfMHR2X2kwWVZhMUpoNlRYV0JTQ29kcjNFTGxxY3lVSzVqc0FKZmYydjBNX3pQeUFHakhsUk1zN21QWDJnMGluMTdYU1E0S1FkNVFfTTc4VVFlRms1VHp2Q0trWXlxR1VKcHBoWTVZUjJmMi1EMUFiVEp3WHFXMXg3cFIzZzRfY0N1Qlo3WlpFSGNLbTNBeXg5WW1mZE9CR3JkaEpES1Nsal9sUFJjc1BJeFN4TEl5XzBOZ1RsSnBBWTl4eWQxZEZhaUw0WFItMGVuLUhsMXJZcG1mOWZreHlSNFZITnlsTVEuV2phYzJrU01sU1NVOWtmWVlaSzJFZw"}) + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Conflict while restoring secret https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/6ac02c916ef34c3aa9308351ea102b9d - secret already exists or concurrent access"}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '246', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + 'b76b7ff6-a0d5-4453-a272-7af52d5e0bd6', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:43 GMT', + 'Connection', + 'close' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/restore') + .query(true) + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', + 'no-cache', + 'Pragma', + 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Server', + 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', + 'x-ms-keyvault-region', + 'westus', + 'x-ms-request-id', + '0773d313-6bbe-4595-b2ac-192c12081a2c', + 'x-ms-keyvault-service-version', + '1.1.0.875', + 'x-ms-keyvault-network-info', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', + 'X-AspNet-Version', + '4.0.30319', + 'X-Powered-By', + 'ASP.NET', + 'Strict-Transport-Security', + 'max-age=31536000;includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'Date', + 'Thu, 08 Aug 2019 23:28:53 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'da354016-388a-4176-b78e-b1a379986e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHGwAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:28:54 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:28:54 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + +nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) + .post('/secrets/restore', {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLkNTTnAxSmJZanM3Zm9hZWVFQkFwOVlzUEstTzgzQTlHR0U1RlFmekhLdFpRZjQzTDdLMUIwc0pMV005Y2djV0xHdDdpTW04YWczWnRjRE5IWkljVHdwS2pYS2N1dnl4NGllYXJhNnJMdDR2cEJyeDgwQnE4TzVDSGFkMC16eUgyZUt4Xy16S1VsVEJ3NDd2cm56YUZGNEVYaTRXWkk3dk5RNHo2S1pUVGZ5WGE4Q2ZvUmZTcFlDdFAyV01CUTZFU1NiREJybXk0aUVFRUlPbzZMb0t2cVRqWDdlZVVrOVVFYnpuTHplY01LNVAyQTBpekpmckhPMV9HYk4yVTN0Wjg3bHpFcVRGSUNDbzg1Q0k0UVFycXVFQkEyY24yRUFSV2l6TENBZjllMjNZeXV0dEVsODI3NDRwLUd1bnpheUJick1USEhoXzg1QUhtMV9SRHZveVRqZy5uREtKOG1KcEF1LXZoWjNRcWFFQXpRLjVoeDJlcVNCa1BUa1FSNzlBWVdmUUh3Tk52NS1IODdLbmVOT2F2cUhjX2xlcGlmVThyQTRzelRPYnFCT0lsVnFRemRXVXFSMDFZOThmaFAxeS1TblNRMGVCZlZ3SzVHWE54ZHA0UUoyRTQtaDFsOTZjdlpuQXd5bHYwVm8zcUJHRmtlclljYS1Vemdub1JqZDJXTzVLbjdpS0pTVzlBcy1MaUc1N0tmS0s5X2ZPMXF1eDNPYnM1UUI4OWxacHBsczdqZE82ZGNuQ2VualFNNG81R2R5T0o0RTNzMjBkNjFrTWlNSkNSbF9HYklRcXlreFZwSjJna0t5TW10X0pqWFpCSGhDY2l6RjV4WmNjWWxub0M0Um4yMXRkT3RvVWp1MW1zbnlMZW1CYjFFZGRQTzVwa05uRm55djBUY2wzRmhDZDl1aGRFbFVYZ01EWksyTHVBZm1ES0QxUGdFV2FVa1I2SUw2MlN4Zzgtbm5Bb3JpWmdrS2VKNGxya2RkbFY2Q0R2bk95d3VwMFB1NGgteHh4XzVNNzF0ZWpBbzE4YUw0LWNVd2xrTlZ1N3U1NklUbEhZRHBUUWhXMEs2UHFfVUFpbDRQdTFwU3NmTmdQTW5zRUtqSFZYd2QtQU1iTlJlTHJOZFkteHotQTZ1QVdmWHEwNXh2Qk1wX181VHlmbnV2cVZKdGtnWDN3aVdJeDEtZTl0QWRKdUgwTHlxck1RNFZIbnRJLUVVWlUycmwtOU1NNS1uWm1GSHlUUzZQbjRLM0U5dXVtdEdMaHYzY2trX1NHSjRIVE40eGFiMzhvbnZhUk45aW5mdnBuc0dwWGowNlowY2FDWEpJWDNTOFlCYzVWZkI4WWZhSVF4NnZHNlhWeXF0cW9KVmdSeXdFTUpfTzgwZjYwZXRBTElGLXdycEZtd1JnQl9YY1VkTTZiZnFnYUJGQVNJYl8yb0lGRkhWMTQxekJTNWJjeXdHa24xazlBdjR4VWJfQVlydkRfSGZIRHY2T1JudVNlR1FtazNjOVFPRmU4ckZaX1ItajByS0FxR19NR0k4ejJxWkxmUVkycGxlV0JRNk1uSmVsRVZoUVdsU1ZkMW55bXFoMjFXdXdIWmVWeGhETVBmaXAwSjRjWHI0d0xVU1VNVWhJRDRBSWlnTFN6M1JmaTI4dlp2XzdfcHNuS2s2SG9GVDFBVjU2SkJwNFplSGpEQ1NNYk9VTXZSdExneDkyVHlkMHY2MkJMNThlUDQ4THpSYzl4UmdZMkh1NUpDRHRjeC1kTjUtRUoxUmdUOWdaLWdyTVJVbGo1VlluMXVxVFZQQjZLTTRiNUs1S1BPLVdKcEcyZnB1aUVTZ2t2SzY5VVJHRkV3VkgtMGpOTHd2c1h3QVZPYk5HVFlTQm5Na0JDMTdpaUhWSUtuMVU1V1lLcl9tLTFCdmhKUGhiQnAxWWNyMHdxbktiRnpGSE1obWNLMTIwSGN3b0RmZXdsVmRBc0h6cllndllPQjZQVHlUdkFYVW92c3R5Qjg4akJmMnU3b01TY3I1UWxFdnduNEVqUEJNeHozZXlhSmdmZUlvbHhYUk14TmozaFJSU29VY255WC1YRVRWbkhGT0IzOTVzVDV4SWlzWE5QaXplNUZyU3BVRnVweWJ3VUFwanBfc3RsS2c1UG1JSGRYaUxjbDJJOVNMMmt1bFptSjd5N01Scl9ScnNjLURWOV9GNUQ1X01xR3dpUjZVOThudjFHMVFiS3Flck1LTFVUNmFWMkZfSzlKemFnQ1k2NWtucll0b1ptS2dBYmdXWjBKSkljb3BEdUl4R3JaVGxBUTNyMkVia1dZRlhxQnBmN0RXTENIZWV0Q3RScTRHMjB1WkYxeUx5RGhtUThJOXZ5a2t6WGFRQlBmZDgwcjJGTG9ZNkc5dEdpTGQ3QXVfWVVrTXBkX25fZDB1ODYyS3UtWHE1RFJCaURsdVZ4R2dxVjU0b3BIU3JLZ1VyeDJfaXhRZHNnOW55a09kU2ZzQWJsTzhXYkt6OGlCQ29aOHFTbGJXYmpmbXphYUxRcFVVd3FZUXVwQ21Fek1RWms1N19veDRvYWdfUUt0d3k3WjYxS3I0VWxIajhzRmNGdjVqMW1WZ0QwYjktMUZ5aGFCTU1Nelo4TF9kb0Nyb1BnS1RuNG0zOW1Udm1jOFlDR19vRUVyV3VrTHZsQ2FpMkZNTmFZZXRoRDdhQ2JGQXdIWEhMcWN0Tnc4QmlYMWlrLV90WVdtYU5weWpjM1pPZUx2cVk2MHkwSHJ3eWNyUjVNQTEyYzhQTGtMOFZSUXpwTE43NWl5VWlOZmJiMzNLS3VfNlpFdkRCRXd0SkNFZ1JlU3Y3UEpPSHpMRWZCVUVBN0ZIRnpZWkdBaGVGWTZraTk2UkdmazNSeVJtdXVoOWFnNzd1Z0RucXFjMHJBbHBHd093NGVKT3hIRUdZVHBTdEd6ZktPdkNXM0dkZ25SUTE0bHItWUJ6YTUtQUxXQVlxWGliWEJXaGFVUFhiUU9SUjc1RzdOWXE2Zk9SNE9ycWxlVFBVTmVrWDVHTk9NLXFyTi03MmhJbFFmMmFfM0xoQzA0OTkzY2dJbXdQRWFaVTZGVE8yMU82dld1TEx2cHBzUVdwMUkxV0pPdGFzbjR3UTVPMVZNa0VyT3RPenZYX0psS2VEcGVDcTQta09TT255V0kyeTgzTnpQZnZhOG02UHJ5RHVBb0k5ZTZBdjVnN1BPWnFKLXVkbnZkbmYyWmpjbG80cXdfMGhSb2V2bFRCVkkwQzVoa2xIRXZRaEthcUQ4YWw5SUZuVXZqeEtReld4MEdyQmlDVlRZYm1zQkQtVGV6WnhEX2djR2lKeHMzcVh0VW9ZeWphczdBdTFmLWdjS3FNT3RSX0Zpd3VJYmFHVFBsRmZSUFByNWpVLUdfZkRyTFpmQWtkbUVSYjJhVW05T2JCNkdFU0gzd1RkanFiQVBvSEJkbzBaeENVSHd2UG4wbGE5RUNLSWI1alZ6TzIyZ2xSN29lTV9WbG1ucWljX2JjVHJOYUJLalRUMFV4RXNKR24xaVJINExKZXA1dUFiS2MteVBBTVctbUFKN1hNdm15QmJuWkxYU2gycC1OeGhLdUdNdVJIR2g3QjI2UDZjWE9EbVJIVWw1dnl3cnZxS2NUUlF0Z0hVaHU5X2R1dGpUNERuRUdMTFJzN1U2OXFWLTJFM251RThzTGluSjdqMV9sLUN1ZkhHdlNQNkk0S1p3WEVSNFNzWGhTdFoyVkxaVFJBTTMwbHA4N0k4eTYzMEIydlY2LXotaXpUNDNrTC1PTjhHNDFtWUdCdGNwYzY1VDhlUFhxZFRiRGFCSF93TWN4UUpmckFldVE1WFNJc2N5MGlQeXAyMlNRV3NkRnBhUFVGNFdoalVyOTRGOHUzTWNBN1BlOFBLdXpGLVhxSUQ2azYxcF8zS1M4YzBDQmVqcVZPMjB0bHg4ZEdnc0c4aG1uZlZXQ3QwS0cyQ2hzX3c5UFd2bU94emdVMS1sQVRFdGdKTGlFemdpMFFUZmFWMFhRMUNlUUlnNWp0NHNVUTRtWWNkQTJZRm9JbWxCSWxRV0NhSDRwSVhlOTFxcjlkYU9RZkxfOGdKazNLb1dIdTI2R01JMERnTFlHWGZYXy1hLUg3ckRjdU9HY0V0ZE83WGVUYmFfcGFPaGpsOEhleXFSQzB5XzJLLWprbmpJZlFDOFJ4blNGZjl1ZEtqcXdWSXc0Y1lmNmdiN1NSc19aa3ZGWmhzeGFjeS1BaXVBZW40SUUxMlRXU2JZcmlWSkl3SVZfSFpWSGY1TjhxOXBzUUFVeHFhSzVBeTBMNklweFUwcFE2blJUQV9KNkRLUDJDWXpnNE92cjcxREgwcDRXMkdYMUxxcWt6UXhIb3djV0RkZ2RQdk1PUWdvTmJ5OElKTFhqVW1BMEs4QmlFWDBPMFY1dmQzY3pYUHpTTmp3MGJXRFBkN05TdWhYbEJaN29fRzNXVmNsU01nZk1aVWg4YjRDUFI2b1daU1k0b0NkaGhzY2h4WDlfb2VveVJEaWFyXzUzTGZlb1hXaVpraHpVYTFwbWtxZEF6RlJfMXEtNEljd0h2QjQwcHc4dVRfV01hQ3U2UUxJaEhfNDFWdmNIbW5zY05wWXgzb3d6aTZJSmJoM1lQNnBFLWNjUElmVm1JV0tGTWkwYmVTZVpucGFYVkk1R052Vl84Zmk0QW1TdTVxUDBuME00VHhnRzRmdTdKdnB6TC1rR3E3bG9JR29BXzNTLWlHUFp2THkzclpKeFBpd0JrU1o1ZVFkdHdtdlpqUlRQckV6LWFwVEp6OVhLQXQ4WjZfSXdydU5xOEIwbG9jWkEyQUE4OFNDYi1mN3FxbTNDSlpZOXZaMFVVVlhyS295WFVrMFhoUGZqcU1BMl9qYno3T3pyTlJEMVo1V0dQUzVvQ05lV25TeVI5RjB5d1U5LVc1VTdBX3hCTjU1bHowTlVSN2VRNUpqTk16SFdLX1ZaRjNwbmFpenQzSWtvYzltMEk1Y0tBT0JCTWFhM0hTdnMyTTUzcFZRYzVpVU4wczVQSk1OZ0JlUjY4Y3dwMGVlNmxoMHJ5eWZCQi1EMGJ0V2dpbndKYkpCLUpaLVluUGVlUFRNZDNIcjhDVGtPZlA3MUw3RXM1dXhoMmYyQkF1RnItdjZNTnNNc1J2NmRkTkpyVkh6SGhBbWJzRWhrd1FTUXdGTWFYWWgzQTFsdkl3V1BETGhKd0NMVGp3UHVjeXR5RXhiaGNmcmJJWmljdm5zNU1oc2ZLU3lTR1ZMUFRwX2ZNelhONnYxOEI3MFRweTMxSEhNb2FhZlRVcFB5NDdlN0N3eW5DX1lrd1JjejNpdEYyQTFnV0NNYTNrNnhoTjlQQ0Joc1d2NE5kZmpYVUY0enFLT292UDg4X2ZJYnRBS1pGZ3hDZ1ZqX3B6eDJiSlFkaEgxNmUwamwtcHUwV0RQaHF4REZCM21BTng1NGdVZlNseUNvdEUxZHJ1VnUwYWNROGp4VmxYcnd1YzU0N0N1Vy1tcUpDamRmMkp4WHl0UkZQUFNEczZIVWg4dDE5ZVdxNmxQZ1dkVVhtby1zdDZNYnpNZFpvdGVkSXB4UVpYZFNBX2YxS2NZeThQdV83aWpMTzg4bUttLWdhM0ViM05wbmIwUHAyVzFQZzNUbHNCOGpLMGY0Vm40UWYzS0poV0NFVllxYndlb2JaemZ1ZFBCZk8xeTkzNHZsRVNJd2ZpQ0F5bS02eHFGSG0wdzJpUlFNNFFLQ2h5YVVqWDVlaHlqV01HNXRFOTZyejVDU2tpN1R4X01xTTRuYWJzSEFMbldTcTBKcmlFX1BodndER2lfNzBrbzJpRnFfMHR2X2kwWVZhMUpoNlRYV0JTQ29kcjNFTGxxY3lVSzVqc0FKZmYydjBNX3pQeUFHakhsUk1zN21QWDJnMGluMTdYU1E0S1FkNVFfTTc4VVFlRms1VHp2Q0trWXlxR1VKcHBoWTVZUjJmMi1EMUFiVEp3WHFXMXg3cFIzZzRfY0N1Qlo3WlpFSGNLbTNBeXg5WW1mZE9CR3JkaEpES1Nsal9sUFJjc1BJeFN4TEl5XzBOZ1RsSnBBWTl4eWQxZEZhaUw0WFItMGVuLUhsMXJZcG1mOWZreHlSNFZITnlsTVEuV2phYzJrU01sU1NVOWtmWVlaSzJFZw"}) + .query(true) + .reply(409, {"error":{"code":"Conflict","message":"Conflict while restoring secret https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/6ac02c916ef34c3aa9308351ea102b9d - secret already exists or concurrent access"}}, [ 'Cache-Control', + 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '125', + '246', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -673,11 +2941,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'dfcd8961-ba78-4a07-a281-9e74dd7b97c5', + '6530f4cb-13d3-4f07-9650-287e1712dba6', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -687,32 +2955,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:59 GMT', + 'Thu, 08 Aug 2019 23:28:53 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .put('/secrets/CRUDSecretName-canrestoreasecret-', {"value":"RSA"}) + .post('/secrets/restore') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/0fd89ede7a3443639a2992fa033b639f","attributes":{"enabled":true,"created":1563496559,"updated":1563496559,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'dcecf007-f632-4a29-b438-0c013b1a52c5', + '17407899-48be-4a54-86bb-9bfb9d8e20b0', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -722,17 +2994,49 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:35:59 GMT', + 'Thu, 08 Aug 2019 23:29:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '5f9e207a-59ed-4296-854b-c7b81ddc6200', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHHAAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:05 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:04 GMT', 'Connection', 'close', 'Content-Length', - '261' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/secrets/CRUDSecretName-canrestoreasecret-/backup') + .post('/secrets/restore', {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLkNTTnAxSmJZanM3Zm9hZWVFQkFwOVlzUEstTzgzQTlHR0U1RlFmekhLdFpRZjQzTDdLMUIwc0pMV005Y2djV0xHdDdpTW04YWczWnRjRE5IWkljVHdwS2pYS2N1dnl4NGllYXJhNnJMdDR2cEJyeDgwQnE4TzVDSGFkMC16eUgyZUt4Xy16S1VsVEJ3NDd2cm56YUZGNEVYaTRXWkk3dk5RNHo2S1pUVGZ5WGE4Q2ZvUmZTcFlDdFAyV01CUTZFU1NiREJybXk0aUVFRUlPbzZMb0t2cVRqWDdlZVVrOVVFYnpuTHplY01LNVAyQTBpekpmckhPMV9HYk4yVTN0Wjg3bHpFcVRGSUNDbzg1Q0k0UVFycXVFQkEyY24yRUFSV2l6TENBZjllMjNZeXV0dEVsODI3NDRwLUd1bnpheUJick1USEhoXzg1QUhtMV9SRHZveVRqZy5uREtKOG1KcEF1LXZoWjNRcWFFQXpRLjVoeDJlcVNCa1BUa1FSNzlBWVdmUUh3Tk52NS1IODdLbmVOT2F2cUhjX2xlcGlmVThyQTRzelRPYnFCT0lsVnFRemRXVXFSMDFZOThmaFAxeS1TblNRMGVCZlZ3SzVHWE54ZHA0UUoyRTQtaDFsOTZjdlpuQXd5bHYwVm8zcUJHRmtlclljYS1Vemdub1JqZDJXTzVLbjdpS0pTVzlBcy1MaUc1N0tmS0s5X2ZPMXF1eDNPYnM1UUI4OWxacHBsczdqZE82ZGNuQ2VualFNNG81R2R5T0o0RTNzMjBkNjFrTWlNSkNSbF9HYklRcXlreFZwSjJna0t5TW10X0pqWFpCSGhDY2l6RjV4WmNjWWxub0M0Um4yMXRkT3RvVWp1MW1zbnlMZW1CYjFFZGRQTzVwa05uRm55djBUY2wzRmhDZDl1aGRFbFVYZ01EWksyTHVBZm1ES0QxUGdFV2FVa1I2SUw2MlN4Zzgtbm5Bb3JpWmdrS2VKNGxya2RkbFY2Q0R2bk95d3VwMFB1NGgteHh4XzVNNzF0ZWpBbzE4YUw0LWNVd2xrTlZ1N3U1NklUbEhZRHBUUWhXMEs2UHFfVUFpbDRQdTFwU3NmTmdQTW5zRUtqSFZYd2QtQU1iTlJlTHJOZFkteHotQTZ1QVdmWHEwNXh2Qk1wX181VHlmbnV2cVZKdGtnWDN3aVdJeDEtZTl0QWRKdUgwTHlxck1RNFZIbnRJLUVVWlUycmwtOU1NNS1uWm1GSHlUUzZQbjRLM0U5dXVtdEdMaHYzY2trX1NHSjRIVE40eGFiMzhvbnZhUk45aW5mdnBuc0dwWGowNlowY2FDWEpJWDNTOFlCYzVWZkI4WWZhSVF4NnZHNlhWeXF0cW9KVmdSeXdFTUpfTzgwZjYwZXRBTElGLXdycEZtd1JnQl9YY1VkTTZiZnFnYUJGQVNJYl8yb0lGRkhWMTQxekJTNWJjeXdHa24xazlBdjR4VWJfQVlydkRfSGZIRHY2T1JudVNlR1FtazNjOVFPRmU4ckZaX1ItajByS0FxR19NR0k4ejJxWkxmUVkycGxlV0JRNk1uSmVsRVZoUVdsU1ZkMW55bXFoMjFXdXdIWmVWeGhETVBmaXAwSjRjWHI0d0xVU1VNVWhJRDRBSWlnTFN6M1JmaTI4dlp2XzdfcHNuS2s2SG9GVDFBVjU2SkJwNFplSGpEQ1NNYk9VTXZSdExneDkyVHlkMHY2MkJMNThlUDQ4THpSYzl4UmdZMkh1NUpDRHRjeC1kTjUtRUoxUmdUOWdaLWdyTVJVbGo1VlluMXVxVFZQQjZLTTRiNUs1S1BPLVdKcEcyZnB1aUVTZ2t2SzY5VVJHRkV3VkgtMGpOTHd2c1h3QVZPYk5HVFlTQm5Na0JDMTdpaUhWSUtuMVU1V1lLcl9tLTFCdmhKUGhiQnAxWWNyMHdxbktiRnpGSE1obWNLMTIwSGN3b0RmZXdsVmRBc0h6cllndllPQjZQVHlUdkFYVW92c3R5Qjg4akJmMnU3b01TY3I1UWxFdnduNEVqUEJNeHozZXlhSmdmZUlvbHhYUk14TmozaFJSU29VY255WC1YRVRWbkhGT0IzOTVzVDV4SWlzWE5QaXplNUZyU3BVRnVweWJ3VUFwanBfc3RsS2c1UG1JSGRYaUxjbDJJOVNMMmt1bFptSjd5N01Scl9ScnNjLURWOV9GNUQ1X01xR3dpUjZVOThudjFHMVFiS3Flck1LTFVUNmFWMkZfSzlKemFnQ1k2NWtucll0b1ptS2dBYmdXWjBKSkljb3BEdUl4R3JaVGxBUTNyMkVia1dZRlhxQnBmN0RXTENIZWV0Q3RScTRHMjB1WkYxeUx5RGhtUThJOXZ5a2t6WGFRQlBmZDgwcjJGTG9ZNkc5dEdpTGQ3QXVfWVVrTXBkX25fZDB1ODYyS3UtWHE1RFJCaURsdVZ4R2dxVjU0b3BIU3JLZ1VyeDJfaXhRZHNnOW55a09kU2ZzQWJsTzhXYkt6OGlCQ29aOHFTbGJXYmpmbXphYUxRcFVVd3FZUXVwQ21Fek1RWms1N19veDRvYWdfUUt0d3k3WjYxS3I0VWxIajhzRmNGdjVqMW1WZ0QwYjktMUZ5aGFCTU1Nelo4TF9kb0Nyb1BnS1RuNG0zOW1Udm1jOFlDR19vRUVyV3VrTHZsQ2FpMkZNTmFZZXRoRDdhQ2JGQXdIWEhMcWN0Tnc4QmlYMWlrLV90WVdtYU5weWpjM1pPZUx2cVk2MHkwSHJ3eWNyUjVNQTEyYzhQTGtMOFZSUXpwTE43NWl5VWlOZmJiMzNLS3VfNlpFdkRCRXd0SkNFZ1JlU3Y3UEpPSHpMRWZCVUVBN0ZIRnpZWkdBaGVGWTZraTk2UkdmazNSeVJtdXVoOWFnNzd1Z0RucXFjMHJBbHBHd093NGVKT3hIRUdZVHBTdEd6ZktPdkNXM0dkZ25SUTE0bHItWUJ6YTUtQUxXQVlxWGliWEJXaGFVUFhiUU9SUjc1RzdOWXE2Zk9SNE9ycWxlVFBVTmVrWDVHTk9NLXFyTi03MmhJbFFmMmFfM0xoQzA0OTkzY2dJbXdQRWFaVTZGVE8yMU82dld1TEx2cHBzUVdwMUkxV0pPdGFzbjR3UTVPMVZNa0VyT3RPenZYX0psS2VEcGVDcTQta09TT255V0kyeTgzTnpQZnZhOG02UHJ5RHVBb0k5ZTZBdjVnN1BPWnFKLXVkbnZkbmYyWmpjbG80cXdfMGhSb2V2bFRCVkkwQzVoa2xIRXZRaEthcUQ4YWw5SUZuVXZqeEtReld4MEdyQmlDVlRZYm1zQkQtVGV6WnhEX2djR2lKeHMzcVh0VW9ZeWphczdBdTFmLWdjS3FNT3RSX0Zpd3VJYmFHVFBsRmZSUFByNWpVLUdfZkRyTFpmQWtkbUVSYjJhVW05T2JCNkdFU0gzd1RkanFiQVBvSEJkbzBaeENVSHd2UG4wbGE5RUNLSWI1alZ6TzIyZ2xSN29lTV9WbG1ucWljX2JjVHJOYUJLalRUMFV4RXNKR24xaVJINExKZXA1dUFiS2MteVBBTVctbUFKN1hNdm15QmJuWkxYU2gycC1OeGhLdUdNdVJIR2g3QjI2UDZjWE9EbVJIVWw1dnl3cnZxS2NUUlF0Z0hVaHU5X2R1dGpUNERuRUdMTFJzN1U2OXFWLTJFM251RThzTGluSjdqMV9sLUN1ZkhHdlNQNkk0S1p3WEVSNFNzWGhTdFoyVkxaVFJBTTMwbHA4N0k4eTYzMEIydlY2LXotaXpUNDNrTC1PTjhHNDFtWUdCdGNwYzY1VDhlUFhxZFRiRGFCSF93TWN4UUpmckFldVE1WFNJc2N5MGlQeXAyMlNRV3NkRnBhUFVGNFdoalVyOTRGOHUzTWNBN1BlOFBLdXpGLVhxSUQ2azYxcF8zS1M4YzBDQmVqcVZPMjB0bHg4ZEdnc0c4aG1uZlZXQ3QwS0cyQ2hzX3c5UFd2bU94emdVMS1sQVRFdGdKTGlFemdpMFFUZmFWMFhRMUNlUUlnNWp0NHNVUTRtWWNkQTJZRm9JbWxCSWxRV0NhSDRwSVhlOTFxcjlkYU9RZkxfOGdKazNLb1dIdTI2R01JMERnTFlHWGZYXy1hLUg3ckRjdU9HY0V0ZE83WGVUYmFfcGFPaGpsOEhleXFSQzB5XzJLLWprbmpJZlFDOFJ4blNGZjl1ZEtqcXdWSXc0Y1lmNmdiN1NSc19aa3ZGWmhzeGFjeS1BaXVBZW40SUUxMlRXU2JZcmlWSkl3SVZfSFpWSGY1TjhxOXBzUUFVeHFhSzVBeTBMNklweFUwcFE2blJUQV9KNkRLUDJDWXpnNE92cjcxREgwcDRXMkdYMUxxcWt6UXhIb3djV0RkZ2RQdk1PUWdvTmJ5OElKTFhqVW1BMEs4QmlFWDBPMFY1dmQzY3pYUHpTTmp3MGJXRFBkN05TdWhYbEJaN29fRzNXVmNsU01nZk1aVWg4YjRDUFI2b1daU1k0b0NkaGhzY2h4WDlfb2VveVJEaWFyXzUzTGZlb1hXaVpraHpVYTFwbWtxZEF6RlJfMXEtNEljd0h2QjQwcHc4dVRfV01hQ3U2UUxJaEhfNDFWdmNIbW5zY05wWXgzb3d6aTZJSmJoM1lQNnBFLWNjUElmVm1JV0tGTWkwYmVTZVpucGFYVkk1R052Vl84Zmk0QW1TdTVxUDBuME00VHhnRzRmdTdKdnB6TC1rR3E3bG9JR29BXzNTLWlHUFp2THkzclpKeFBpd0JrU1o1ZVFkdHdtdlpqUlRQckV6LWFwVEp6OVhLQXQ4WjZfSXdydU5xOEIwbG9jWkEyQUE4OFNDYi1mN3FxbTNDSlpZOXZaMFVVVlhyS295WFVrMFhoUGZqcU1BMl9qYno3T3pyTlJEMVo1V0dQUzVvQ05lV25TeVI5RjB5d1U5LVc1VTdBX3hCTjU1bHowTlVSN2VRNUpqTk16SFdLX1ZaRjNwbmFpenQzSWtvYzltMEk1Y0tBT0JCTWFhM0hTdnMyTTUzcFZRYzVpVU4wczVQSk1OZ0JlUjY4Y3dwMGVlNmxoMHJ5eWZCQi1EMGJ0V2dpbndKYkpCLUpaLVluUGVlUFRNZDNIcjhDVGtPZlA3MUw3RXM1dXhoMmYyQkF1RnItdjZNTnNNc1J2NmRkTkpyVkh6SGhBbWJzRWhrd1FTUXdGTWFYWWgzQTFsdkl3V1BETGhKd0NMVGp3UHVjeXR5RXhiaGNmcmJJWmljdm5zNU1oc2ZLU3lTR1ZMUFRwX2ZNelhONnYxOEI3MFRweTMxSEhNb2FhZlRVcFB5NDdlN0N3eW5DX1lrd1JjejNpdEYyQTFnV0NNYTNrNnhoTjlQQ0Joc1d2NE5kZmpYVUY0enFLT292UDg4X2ZJYnRBS1pGZ3hDZ1ZqX3B6eDJiSlFkaEgxNmUwamwtcHUwV0RQaHF4REZCM21BTng1NGdVZlNseUNvdEUxZHJ1VnUwYWNROGp4VmxYcnd1YzU0N0N1Vy1tcUpDamRmMkp4WHl0UkZQUFNEczZIVWg4dDE5ZVdxNmxQZ1dkVVhtby1zdDZNYnpNZFpvdGVkSXB4UVpYZFNBX2YxS2NZeThQdV83aWpMTzg4bUttLWdhM0ViM05wbmIwUHAyVzFQZzNUbHNCOGpLMGY0Vm40UWYzS0poV0NFVllxYndlb2JaemZ1ZFBCZk8xeTkzNHZsRVNJd2ZpQ0F5bS02eHFGSG0wdzJpUlFNNFFLQ2h5YVVqWDVlaHlqV01HNXRFOTZyejVDU2tpN1R4X01xTTRuYWJzSEFMbldTcTBKcmlFX1BodndER2lfNzBrbzJpRnFfMHR2X2kwWVZhMUpoNlRYV0JTQ29kcjNFTGxxY3lVSzVqc0FKZmYydjBNX3pQeUFHakhsUk1zN21QWDJnMGluMTdYU1E0S1FkNVFfTTc4VVFlRms1VHp2Q0trWXlxR1VKcHBoWTVZUjJmMi1EMUFiVEp3WHFXMXg3cFIzZzRfY0N1Qlo3WlpFSGNLbTNBeXg5WW1mZE9CR3JkaEpES1Nsal9sUFJjc1BJeFN4TEl5XzBOZ1RsSnBBWTl4eWQxZEZhaUw0WFItMGVuLUhsMXJZcG1mOWZreHlSNFZITnlsTVEuV2phYzJrU01sU1NVOWtmWVlaSzJFZw"}) .query(true) - .reply(200, {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnVCSllleE1DUWUyLUdSYkItMEN2aEl3d2tQZ1VsakQxeVIxYkdnNUNPY19kT0lvQmxaallCbDVnSkNSdE1TZFlJM3d6cW1IeV9xdUx4N1g0cTJxbHJvTUFxQ1pHTk54WlZiVHM3Yk1qVGtHZVhORjk0SjMxd0xrMEkzUkZfR3BzQmdOVkpxN3Z2VlVlRDhLazRLOTYyaDF4SlRHRlg1eDdaamJBYXZpQjhpUUdNU2psNXdBMzFNZVJDN2Q4ZTJ0d0VkdE04NTFiQUtiMGhvem5nZVdrX3Iyb2d3dVJZbUpMUlhVVXFxdHJRRld3U1BWOUoxbG83ay0teTBkVHh1bzhnRHlXNXdWSi1UdnJNWXpUY1ZaYUQyVEYzMW5CZkdGVWRpUGJvSnZTQ3hjY0dVN19ITUZJT2dSeGdiQ19aeW5aRy13SUdxQ1ZlNEluMEszZ1R3OUtvZy5wZlBxcG1oTnNuQUwtVkZFMFA5WVdBLnJ3cjBBbkY3WDZIcFlZYzBWaEE3NXlPT3ZzQkF1Y0FSNU5aVTRONjZ0ZHJnYk9PSDQ0ZGJvb0xuZXVOMC0wVGJsdVFHdGN4T29wZWxMclpPTkJaX2R1Tm1ZdHVRRDN2N3JJcVJIWjIzN2VmZkRWR0Y5X1MwWFhjNUZDamk1Szk1OWUwOC03WUdDeG9Ud2tjMENMRUhObTV6ajh2d3NlVFdXZTJEdUJ4YXR5ZHBheWMtTDRobERUQTlSUElkbDUxSDR4UVZtT0E5TVNHTmFmUTlmY2w1bEhXOW55YW9xQXVHQ0pROTk3NW13cFd1UFNvallrNFk3MFN6bnBMWkRDWUZaWGczdVo0TmhmNFBSc0h3WTlQcHhObTdiU0JPZzUzWURpYUJBbGJTVG9oeEF0OTlDeVJLZFhnbl82QUpDSkZsam9tcjJya0pKbjR4cVAyVXdQZGFxTUtMcFV0dVlpa0NUM052SzRkS0NKbVVCa0ZUSGFFeVdFNU9sMkNBS2Mxdm8tSlc0M3MwVXRYb2lYV05xcEVwTXdGRF9TOE1pZkYyalJlQXhtWkRiZkx6RnVETE9Wc2lSWmJOemZfVXJDV0VsQTBGTmhWQzJOVTFQdU9BY1V6ZWs5Q1dSb09uWGRBcXFCS1NBa0RNbmNXUWc1U28zZk5XcHFoWXZKSDdYYlZlRGZ3eGRQLXZRSUNjYmNFSUg1STFJSFUyUm0ybUFvS1IxZGtKN3puLWowTTl4b0Q0MGNhUERfdERnUzF0V2hiLUtVY1lhdkNRMWlwQnVhS2VxWTloTlFYR084T0tOTHA2eEt1ZnNZRjNsb1hJV2tkTFB2YThSYkVIUnh4MzV1WVB1ZkY5QlJEV1JXRktjLXVHcEJWMDNNXzlFeW5icFRNNVNnbF9weXpENVRDdHptRTBkZ21JYXVfSHJQM3JXZHBRYXhna1A4aEVPbEp1UzNWeHFKa0M2LW8zYVVjZEFYcFBaQzVwNDdxMzZpRkhYZy1MdXdlM2NOWWY0UFBJQmJ3ZmY2dmt5LXBwdVo2WXhSZnRNUWRoazQyN0lQUExrdmhXVTF5SXU0SXhQMDR1NjRkWGtuWGZTNUhYQkdqUm9fTDV0SEppdE1UeTdTNndqOFZzNEs1MjNLNmd5cXZ0anhDLWtLbWg2WTdPLTR5SHZPWGstN1ZBc1JaWkY5b3QtWEtieV8xaGVzSlRfcHdmcVpyN3I5ell4eHVTTng1bklmS0dwUzU5OVlJOUI1R1RnY3VZeDBmVy11U1pELVp0cnE5Q0UtWnJKNVhPbk5ERUkwWmxPVUlNMy1faTFGX1NvSVprenZENmp4NkpLT19iRkVMVG5VTWo5YUFQLWR0RFB6MnE0cXc3VzR6bUd6WmdpMEE1enJ3OGRHQVAwUTgxRTQzdzNfZnREV25JWkFTa0FWTGdYWkpLS09KcGQ2bVg4Z0k2Qjl6NFpaVzN4MzZRY1pFcFFocDFwTlg1SEc2Y0FfX1dyNHIwM09zSXM2ME1ZSmg0SkU0Nk5TTWVKUlFkUWF2ME93VG55SVdFVjdfd2tjSXVleXFyc0RLemxNbEF0ZWxPSDJnTEdwYXhNdW1qbWYyQTRnTllWR1N0S1VldzFxU0RobExuRXRsNVEtUkZ6TEcxZXVIaXJlVl9MZnFpS3dSRnBsZ1JQR2RHb25pTGdyaFM5SE40bk1sWFZQY1huNzNna1VseFBlOGlhcXl6TU1FUWp6eUIxUTNqU2Rnb3ZFNDJyNUw5YXFXUGM1MThqbHVXdEtfdWN2Yk8ydjYtd2FoRTg1SlRhempJTVFOTmlUUmlUZlprRG4wRkNXa1pKOTU1T0Jkd1VZNlNLdk53R0JDVi1jTU1DZGNzTkdkRVA5MERsOVlFQ3hBeVhOOVltSTdWeHZhbTNReHRXTU1VdlRpcFRPWFowdHlDM09ueHNodUpWV3BQcGhxOEsxZld4RG9CelhCcWlSWDlhUHl6cnp1ZHVhTGhBSDlyQ0tvaVVwZ0EtbW50RGhOdk1hZkUwN3Y0Ty05TUVXUXlRMU96UkFXM1N2X0IyT3NaWkZReUlaSVVaNl83WXpzX0JRenBqSFpTQU4zQm9TY2ZVTUtPUXozSnRCdjNmOWFfc2RVdkVBc1B1ZnFwMW53YW9mXzNueGhvZWd1c3ZlRjBxbEo5Rm80SERUdDFzY2xkdDlIZlNRU2lOcWpqakpyemlWYWV5Zmdra1pEZV9FVmVad1doSV9XX3N4YWdSUWZkaUtEX0xvS2lMdUZ6TUJGMkZUUnRYalJkZ2N5MWxnZGh6aDhNX1ozbnk1TmVGWkdhYV9pMlhnUzRRQ1kwUVA2NmxHWXBNUV80U0lrdG5neV9JbF91ZnJzUGNVQURPVmJ2SWszbVlMZEN1Yld5eV84S0lIVTRUNnk4UVdwcDRiVzQ5V25IMkp4amxKamltWVZ6enRmSlJJdnk5bGdkY3YtVGl5NWxySU9SQmltd3FWbWtRMXF0NG5xNkMtN1pxcmJQbEQ4eXZ3M2FWY2pmdUhUdGRFQUQzYkVfRnI0UnlZRW1MQjdOX2RQMFpBTC16eWc2VTZoRW5MMzdqX0NjTF9fYlZlSFZHRTgtbjZPcXhmRU44Q3BLRWFiOVBtVTRjSjdiQTU0WTdoTkpVNGVEMnZvUUpOVGFrZWFFbzJKeTlaS2xIRUZhZWFoc3ViTldxZERWYXM2d2lxejRuN0N1bVU4aTFPSGpCWmUyY0xxSUJLNVFoMllTclhScm1UNllnd1paQXRyUUpyQ0NDN3Q5RGIxdjBON2hUbzRXX0Z2ZjNaaWcyRGgteTVJVEFVOGJIYkJvdnQ5VDhWVXhrdm9DbU5vUmgzc0VrT1JVdlJFNkpLUVVLc1hDRVlWUllLS0pqcXhtQ19LRjVPZ3BfUEpQSmdpYnhxbFNTRjltTnU2bEJsWDJzX0ZWc2dIM09FSllkWWpzUmRvUVJkZGVGdFBhWU5qd3E1WmNXc0JJc0g4T0RncXN6V3ktdkR3bHMtNlZXb2ptaThUbERwcnJiUEVUdzhPQnF0eGVTcnJjS2U2cDl0VDM3Yk5mbTB1REpkdDBKblVEM1BIM194REZXT3NmUUdfd2M3TkllbW5MencwQjdENTFZWk5LS3ViOG85VDl5MWE2NzYwbWk5Sl9rR2RVVlNQRDU3WXRSSTVCX3BjV3lsdDRTdkJuX3FXOXQ2cUIxMUZSWVRISUJrV1FXTmFTZ0JPQVc0OHczb3kxUDVCS1V1TTB6ZExseVJaRGp0ZkVHbGl2VXFjYkZFQzltMWxON1dnWVVpdjY4elBVRExxS1BLS2oyZG5SNC15akxEa0F5dFBmZ0hZNFc4dS1FYzJERWstUHhDU250SnZoVmd6MUIyd0staUk5SGZuSWQ4VXkyTUUzbXBwUEpxa2hvQ3N6RXJMMm9aRzI3aTJxM1hFSjVnSXBiOU1aZ2dnMG9xcE5yYkxheHNBUG11S3BRUHA3di02SEZma180Qnh3dlhkeEpUV3kzeG4zb25XUExCTEdBVW91ckhVWnQwUksxOGFNTVBTc09ZU1NBZ1NyUjFzb2dGakRETlZmV1V5ak5sS2MwcUN2M1NwUzFZSUh3WHhiV3RVN1htbWJJRl9sTDVXU3UxNUVMazVpWEhkcTVsTTBQWC0ycGNJeUxfQzZpQzBndUdMWmtGUTliSnhqbFEyRmloM1lSTEJvTWlBRnlEdXIxSElxS0NkMzNtaG45aEg3Mi1ya3M3aWhfYVA1Y3k2M0RUcmZ2RnFHeTRYcHZFQjRRODFWXzZFVWRDdXZ1U1RjSzdwUGtTNFB1LVMyaGZiSEVYalJZTFhvNVlkWGRMemRpcDJfUmN3NkpUQWdPT29VX0NVY2huNUU0N0lubGsxUWRBbG01VnZ1MGpLRlQ2dDlNWFdEeHJ5ZkZmcms2Z2xGSUljYW1VSzY5bDBMRFJlRnROYTlYYmFWSlBteHo3dWhvU0s3S2lNU2lJanh2RDRUc0tFLWhYZEtpa0FYaGR0cmNDU0ZRQW5aYjBaNF8zYjk2UjhQNGVhZHdOVEl5ZjMxNFBrUDNPV09NM25XS2ItX2NyUVZOZkQydWpKb0poakFHOGlCSlRoY3NrelNkLXJPM0Ntck1qbjJBVlRhTFNiWTZzN1c4M3IzQjVIWUc5el9RWXlSZ2JxS3VnVzhUX0ZWSG5FdjRHZDlFV0lQYnBpQnJLd0pyWkRzbE9DUGFIenp5cFFXSzV0eFZXakR1UFJaTGd2aW9ZcDZnY0JkUUVsdzBYYmJVdndrR1NHd1NQamY0YmxyOG5IaldqTVlCVkdxaTVGNUxJUl9ES2VzR2c2Tjczak1ESjVZbXBKeGVmejdRTno3bXRzWXhfdG5mZU83WTI2Z1FUMlI0WG9nVnNNejZDOVBwTVNlWXFTWDhubF8tWlV6bVJ1bUM3WHZOUVdkQWRfdDFPLXVILWh6UV9HdmhRTVdieVRPc3JiUlZmVjRlX1RLQmpXanJpeW1RWE9LdnktUjh6dXFKaUFSUGRiTmFkUmk3OXBGVzZWX3VsNEdKTExtSzVEZ2xJcV9PX0N0azhfQ1FpNlJXLVRJSFBKR3pmaWs1MHFSaDIyMHgwNnZURExGaU85eGNQcDJvUlBWVDN3Q2hOTzRWd0ZnX3puREM5NWlLWDFwNG5KUHZ2eGNFSGoyMFk3RU5naFdqaUl0aXZfSXZJd2FKYk9JUXA2OTFuZWFBbXB1WFFucEp3alkzZ0s3eXBKR1Y0bFl2b2Z2eWVmQ043d3RwRFZac19LdEQ3MS1wTkFMWGxRYzRzQWFKYU5FUHVIM01MdTl4Ym1EaF9ZdUxET29nQzRZOTUyRHBpUEpIbFVzcC1lNHFESmwzdFlfZmhJRzJFcVBnaHBaTmRLd0E0dmxReVd5cVRPU0ZGQjBEempGay03bHdaM2lOMnFMSzVvSE1wZktrQ3NpV0pveHBQZnZzczBFN1VmVlJ0Z2pMd094c29Ea3VSUGprT3pkSlZmZ09hUEoyaF9yb1dPeWRVUUFBdFNrTG9lUDZ0Q2tldi1mbTRmLXZOM3otNjFrYmo1Ml8zVHVGNlBObno5dVhkaFBGcFVlS3ozNkYwNDZ6aGlWSC1XT19KbHRnamllVFVsSjhxWXN6QlMtS1laQldvTTdVQXZwUkVPQktvd0FGRkx3LWNZTGYyWmc5OU82cDhsYmhDekNodUNOaTI4Vk9DUnZSeFZPZG8yWjlOYXJVY2VuSzV3ZW9UckZ4ZU5RSTlwYlBjZnhSMnNjcWFFNHlDMTRMLUpucmN6aVZhSkZZbzBWMXp5dF82UmtYcHhMZXV0OTlHMkxWQVp0WDJiRmFZWlJLYm5uX2xGdGVQQy1xTFZYR01SZlo5SHV4WThSUXRoM2l5dVdTNDU1NkpBakpzM1luUWRObW9hQy1oMUZycnNyemE1SE1ENVJlN0FQS1BDZzRXa1VfdkItS3dWQnFQUGV3NU1PRzRVcG1lNVlUdFVveldnWm0teFhGc0RNSnNFLWdrc2thak9xVzVhZDQ3ZEJDUnNWWFlCSmpjS292bXEzeXc1NVNNcUlRUzh6SGhuaTV5Vl9pbmpQLU5WUnp6YllaYWFsVG1NNmdwZ0hscHRDTTd6eDNtMjVJTmlpdERDQ0FVVXY0NkVPc0EuVG5fb0N2ZXRHUUZDLXd1eW5ac0ktZw"}, [ 'Cache-Control', + .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/6ac02c916ef34c3aa9308351ea102b9d","attributes":{"enabled":true,"created":1565306909,"updated":1565306909,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', @@ -745,11 +3049,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '3cfc3d8b-c16d-420f-9876-b8d9664cbd82', + '2ca2b26b-35f7-4ff8-83e3-46a557381794', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -759,34 +3063,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:00 GMT', + 'Thu, 08 Aug 2019 23:29:05 GMT', 'Connection', 'close', 'Content-Length', - '6402' ]); + '248' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canrestoreasecret-') + .get('/secrets/CRUDSecretName-canrestoreasecret-/') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-","deletedDate":1563496560,"scheduledPurgeDate":1571272560,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/0fd89ede7a3443639a2992fa033b639f","attributes":{"enabled":true,"created":1563496559,"updated":1563496559,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '6fd6f046-a08c-4450-b805-c5c498444899', + '3acb6a95-37c1-4386-8913-a4fdba1bcdc9', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -796,22 +3104,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:00 GMT', + 'Thu, 08 Aug 2019 23:29:05 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'cb4f2745-453c-4382-9f47-c45396823e00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHHQAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:06 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:06 GMT', 'Connection', 'close', 'Content-Length', - '420' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .get('/secrets/CRUDSecretName-canrestoreasecret-/') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/6ac02c916ef34c3aa9308351ea102b9d","attributes":{"enabled":true,"created":1565306909,"updated":1565306909,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -821,11 +3159,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'bb77132a-ede7-4972-af9d-d99a10ec459a', + '00e7b529-a9a3-4a1c-a148-9de483ca97fa', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -835,34 +3173,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:01 GMT', + 'Thu, 08 Aug 2019 23:29:06 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '262' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .delete('/secrets/CRUDSecretName-canrestoreasecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '121', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'f3dd94bf-e623-4634-8154-36145e08167c', + 'cb1cda2a-551e-4fcf-ba11-c609bf2605c7', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -872,18 +3214,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:11 GMT', + 'Thu, 08 Aug 2019 23:29:06 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + '57234a34-04dd-430e-9ba2-f0a19b284a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHHgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:06 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:06 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .delete('/secrets/CRUDSecretName-canrestoreasecret-') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-","deletedDate":1565306947,"scheduledPurgeDate":1573082947,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/6ac02c916ef34c3aa9308351ea102b9d","attributes":{"enabled":true,"created":1565306909,"updated":1565306909,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -891,11 +3269,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '67569455-87ab-4340-a972-c7e9d1f312f4', + 'b34f1836-dd55-48b0-ae72-9b4b9d19570e', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -905,34 +3283,38 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:21 GMT', + 'Thu, 08 Aug 2019 23:29:06 GMT', 'Connection', - 'close' ]); + 'close', + 'Content-Length', + '422' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/secrets/restore', {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnVCSllleE1DUWUyLUdSYkItMEN2aEl3d2tQZ1VsakQxeVIxYkdnNUNPY19kT0lvQmxaallCbDVnSkNSdE1TZFlJM3d6cW1IeV9xdUx4N1g0cTJxbHJvTUFxQ1pHTk54WlZiVHM3Yk1qVGtHZVhORjk0SjMxd0xrMEkzUkZfR3BzQmdOVkpxN3Z2VlVlRDhLazRLOTYyaDF4SlRHRlg1eDdaamJBYXZpQjhpUUdNU2psNXdBMzFNZVJDN2Q4ZTJ0d0VkdE04NTFiQUtiMGhvem5nZVdrX3Iyb2d3dVJZbUpMUlhVVXFxdHJRRld3U1BWOUoxbG83ay0teTBkVHh1bzhnRHlXNXdWSi1UdnJNWXpUY1ZaYUQyVEYzMW5CZkdGVWRpUGJvSnZTQ3hjY0dVN19ITUZJT2dSeGdiQ19aeW5aRy13SUdxQ1ZlNEluMEszZ1R3OUtvZy5wZlBxcG1oTnNuQUwtVkZFMFA5WVdBLnJ3cjBBbkY3WDZIcFlZYzBWaEE3NXlPT3ZzQkF1Y0FSNU5aVTRONjZ0ZHJnYk9PSDQ0ZGJvb0xuZXVOMC0wVGJsdVFHdGN4T29wZWxMclpPTkJaX2R1Tm1ZdHVRRDN2N3JJcVJIWjIzN2VmZkRWR0Y5X1MwWFhjNUZDamk1Szk1OWUwOC03WUdDeG9Ud2tjMENMRUhObTV6ajh2d3NlVFdXZTJEdUJ4YXR5ZHBheWMtTDRobERUQTlSUElkbDUxSDR4UVZtT0E5TVNHTmFmUTlmY2w1bEhXOW55YW9xQXVHQ0pROTk3NW13cFd1UFNvallrNFk3MFN6bnBMWkRDWUZaWGczdVo0TmhmNFBSc0h3WTlQcHhObTdiU0JPZzUzWURpYUJBbGJTVG9oeEF0OTlDeVJLZFhnbl82QUpDSkZsam9tcjJya0pKbjR4cVAyVXdQZGFxTUtMcFV0dVlpa0NUM052SzRkS0NKbVVCa0ZUSGFFeVdFNU9sMkNBS2Mxdm8tSlc0M3MwVXRYb2lYV05xcEVwTXdGRF9TOE1pZkYyalJlQXhtWkRiZkx6RnVETE9Wc2lSWmJOemZfVXJDV0VsQTBGTmhWQzJOVTFQdU9BY1V6ZWs5Q1dSb09uWGRBcXFCS1NBa0RNbmNXUWc1U28zZk5XcHFoWXZKSDdYYlZlRGZ3eGRQLXZRSUNjYmNFSUg1STFJSFUyUm0ybUFvS1IxZGtKN3puLWowTTl4b0Q0MGNhUERfdERnUzF0V2hiLUtVY1lhdkNRMWlwQnVhS2VxWTloTlFYR084T0tOTHA2eEt1ZnNZRjNsb1hJV2tkTFB2YThSYkVIUnh4MzV1WVB1ZkY5QlJEV1JXRktjLXVHcEJWMDNNXzlFeW5icFRNNVNnbF9weXpENVRDdHptRTBkZ21JYXVfSHJQM3JXZHBRYXhna1A4aEVPbEp1UzNWeHFKa0M2LW8zYVVjZEFYcFBaQzVwNDdxMzZpRkhYZy1MdXdlM2NOWWY0UFBJQmJ3ZmY2dmt5LXBwdVo2WXhSZnRNUWRoazQyN0lQUExrdmhXVTF5SXU0SXhQMDR1NjRkWGtuWGZTNUhYQkdqUm9fTDV0SEppdE1UeTdTNndqOFZzNEs1MjNLNmd5cXZ0anhDLWtLbWg2WTdPLTR5SHZPWGstN1ZBc1JaWkY5b3QtWEtieV8xaGVzSlRfcHdmcVpyN3I5ell4eHVTTng1bklmS0dwUzU5OVlJOUI1R1RnY3VZeDBmVy11U1pELVp0cnE5Q0UtWnJKNVhPbk5ERUkwWmxPVUlNMy1faTFGX1NvSVprenZENmp4NkpLT19iRkVMVG5VTWo5YUFQLWR0RFB6MnE0cXc3VzR6bUd6WmdpMEE1enJ3OGRHQVAwUTgxRTQzdzNfZnREV25JWkFTa0FWTGdYWkpLS09KcGQ2bVg4Z0k2Qjl6NFpaVzN4MzZRY1pFcFFocDFwTlg1SEc2Y0FfX1dyNHIwM09zSXM2ME1ZSmg0SkU0Nk5TTWVKUlFkUWF2ME93VG55SVdFVjdfd2tjSXVleXFyc0RLemxNbEF0ZWxPSDJnTEdwYXhNdW1qbWYyQTRnTllWR1N0S1VldzFxU0RobExuRXRsNVEtUkZ6TEcxZXVIaXJlVl9MZnFpS3dSRnBsZ1JQR2RHb25pTGdyaFM5SE40bk1sWFZQY1huNzNna1VseFBlOGlhcXl6TU1FUWp6eUIxUTNqU2Rnb3ZFNDJyNUw5YXFXUGM1MThqbHVXdEtfdWN2Yk8ydjYtd2FoRTg1SlRhempJTVFOTmlUUmlUZlprRG4wRkNXa1pKOTU1T0Jkd1VZNlNLdk53R0JDVi1jTU1DZGNzTkdkRVA5MERsOVlFQ3hBeVhOOVltSTdWeHZhbTNReHRXTU1VdlRpcFRPWFowdHlDM09ueHNodUpWV3BQcGhxOEsxZld4RG9CelhCcWlSWDlhUHl6cnp1ZHVhTGhBSDlyQ0tvaVVwZ0EtbW50RGhOdk1hZkUwN3Y0Ty05TUVXUXlRMU96UkFXM1N2X0IyT3NaWkZReUlaSVVaNl83WXpzX0JRenBqSFpTQU4zQm9TY2ZVTUtPUXozSnRCdjNmOWFfc2RVdkVBc1B1ZnFwMW53YW9mXzNueGhvZWd1c3ZlRjBxbEo5Rm80SERUdDFzY2xkdDlIZlNRU2lOcWpqakpyemlWYWV5Zmdra1pEZV9FVmVad1doSV9XX3N4YWdSUWZkaUtEX0xvS2lMdUZ6TUJGMkZUUnRYalJkZ2N5MWxnZGh6aDhNX1ozbnk1TmVGWkdhYV9pMlhnUzRRQ1kwUVA2NmxHWXBNUV80U0lrdG5neV9JbF91ZnJzUGNVQURPVmJ2SWszbVlMZEN1Yld5eV84S0lIVTRUNnk4UVdwcDRiVzQ5V25IMkp4amxKamltWVZ6enRmSlJJdnk5bGdkY3YtVGl5NWxySU9SQmltd3FWbWtRMXF0NG5xNkMtN1pxcmJQbEQ4eXZ3M2FWY2pmdUhUdGRFQUQzYkVfRnI0UnlZRW1MQjdOX2RQMFpBTC16eWc2VTZoRW5MMzdqX0NjTF9fYlZlSFZHRTgtbjZPcXhmRU44Q3BLRWFiOVBtVTRjSjdiQTU0WTdoTkpVNGVEMnZvUUpOVGFrZWFFbzJKeTlaS2xIRUZhZWFoc3ViTldxZERWYXM2d2lxejRuN0N1bVU4aTFPSGpCWmUyY0xxSUJLNVFoMllTclhScm1UNllnd1paQXRyUUpyQ0NDN3Q5RGIxdjBON2hUbzRXX0Z2ZjNaaWcyRGgteTVJVEFVOGJIYkJvdnQ5VDhWVXhrdm9DbU5vUmgzc0VrT1JVdlJFNkpLUVVLc1hDRVlWUllLS0pqcXhtQ19LRjVPZ3BfUEpQSmdpYnhxbFNTRjltTnU2bEJsWDJzX0ZWc2dIM09FSllkWWpzUmRvUVJkZGVGdFBhWU5qd3E1WmNXc0JJc0g4T0RncXN6V3ktdkR3bHMtNlZXb2ptaThUbERwcnJiUEVUdzhPQnF0eGVTcnJjS2U2cDl0VDM3Yk5mbTB1REpkdDBKblVEM1BIM194REZXT3NmUUdfd2M3TkllbW5MencwQjdENTFZWk5LS3ViOG85VDl5MWE2NzYwbWk5Sl9rR2RVVlNQRDU3WXRSSTVCX3BjV3lsdDRTdkJuX3FXOXQ2cUIxMUZSWVRISUJrV1FXTmFTZ0JPQVc0OHczb3kxUDVCS1V1TTB6ZExseVJaRGp0ZkVHbGl2VXFjYkZFQzltMWxON1dnWVVpdjY4elBVRExxS1BLS2oyZG5SNC15akxEa0F5dFBmZ0hZNFc4dS1FYzJERWstUHhDU250SnZoVmd6MUIyd0staUk5SGZuSWQ4VXkyTUUzbXBwUEpxa2hvQ3N6RXJMMm9aRzI3aTJxM1hFSjVnSXBiOU1aZ2dnMG9xcE5yYkxheHNBUG11S3BRUHA3di02SEZma180Qnh3dlhkeEpUV3kzeG4zb25XUExCTEdBVW91ckhVWnQwUksxOGFNTVBTc09ZU1NBZ1NyUjFzb2dGakRETlZmV1V5ak5sS2MwcUN2M1NwUzFZSUh3WHhiV3RVN1htbWJJRl9sTDVXU3UxNUVMazVpWEhkcTVsTTBQWC0ycGNJeUxfQzZpQzBndUdMWmtGUTliSnhqbFEyRmloM1lSTEJvTWlBRnlEdXIxSElxS0NkMzNtaG45aEg3Mi1ya3M3aWhfYVA1Y3k2M0RUcmZ2RnFHeTRYcHZFQjRRODFWXzZFVWRDdXZ1U1RjSzdwUGtTNFB1LVMyaGZiSEVYalJZTFhvNVlkWGRMemRpcDJfUmN3NkpUQWdPT29VX0NVY2huNUU0N0lubGsxUWRBbG01VnZ1MGpLRlQ2dDlNWFdEeHJ5ZkZmcms2Z2xGSUljYW1VSzY5bDBMRFJlRnROYTlYYmFWSlBteHo3dWhvU0s3S2lNU2lJanh2RDRUc0tFLWhYZEtpa0FYaGR0cmNDU0ZRQW5aYjBaNF8zYjk2UjhQNGVhZHdOVEl5ZjMxNFBrUDNPV09NM25XS2ItX2NyUVZOZkQydWpKb0poakFHOGlCSlRoY3NrelNkLXJPM0Ntck1qbjJBVlRhTFNiWTZzN1c4M3IzQjVIWUc5el9RWXlSZ2JxS3VnVzhUX0ZWSG5FdjRHZDlFV0lQYnBpQnJLd0pyWkRzbE9DUGFIenp5cFFXSzV0eFZXakR1UFJaTGd2aW9ZcDZnY0JkUUVsdzBYYmJVdndrR1NHd1NQamY0YmxyOG5IaldqTVlCVkdxaTVGNUxJUl9ES2VzR2c2Tjczak1ESjVZbXBKeGVmejdRTno3bXRzWXhfdG5mZU83WTI2Z1FUMlI0WG9nVnNNejZDOVBwTVNlWXFTWDhubF8tWlV6bVJ1bUM3WHZOUVdkQWRfdDFPLXVILWh6UV9HdmhRTVdieVRPc3JiUlZmVjRlX1RLQmpXanJpeW1RWE9LdnktUjh6dXFKaUFSUGRiTmFkUmk3OXBGVzZWX3VsNEdKTExtSzVEZ2xJcV9PX0N0azhfQ1FpNlJXLVRJSFBKR3pmaWs1MHFSaDIyMHgwNnZURExGaU85eGNQcDJvUlBWVDN3Q2hOTzRWd0ZnX3puREM5NWlLWDFwNG5KUHZ2eGNFSGoyMFk3RU5naFdqaUl0aXZfSXZJd2FKYk9JUXA2OTFuZWFBbXB1WFFucEp3alkzZ0s3eXBKR1Y0bFl2b2Z2eWVmQ043d3RwRFZac19LdEQ3MS1wTkFMWGxRYzRzQWFKYU5FUHVIM01MdTl4Ym1EaF9ZdUxET29nQzRZOTUyRHBpUEpIbFVzcC1lNHFESmwzdFlfZmhJRzJFcVBnaHBaTmRLd0E0dmxReVd5cVRPU0ZGQjBEempGay03bHdaM2lOMnFMSzVvSE1wZktrQ3NpV0pveHBQZnZzczBFN1VmVlJ0Z2pMd094c29Ea3VSUGprT3pkSlZmZ09hUEoyaF9yb1dPeWRVUUFBdFNrTG9lUDZ0Q2tldi1mbTRmLXZOM3otNjFrYmo1Ml8zVHVGNlBObno5dVhkaFBGcFVlS3ozNkYwNDZ6aGlWSC1XT19KbHRnamllVFVsSjhxWXN6QlMtS1laQldvTTdVQXZwUkVPQktvd0FGRkx3LWNZTGYyWmc5OU82cDhsYmhDekNodUNOaTI4Vk9DUnZSeFZPZG8yWjlOYXJVY2VuSzV3ZW9UckZ4ZU5RSTlwYlBjZnhSMnNjcWFFNHlDMTRMLUpucmN6aVZhSkZZbzBWMXp5dF82UmtYcHhMZXV0OTlHMkxWQVp0WDJiRmFZWlJLYm5uX2xGdGVQQy1xTFZYR01SZlo5SHV4WThSUXRoM2l5dVdTNDU1NkpBakpzM1luUWRObW9hQy1oMUZycnNyemE1SE1ENVJlN0FQS1BDZzRXa1VfdkItS3dWQnFQUGV3NU1PRzRVcG1lNVlUdFVveldnWm0teFhGc0RNSnNFLWdrc2thak9xVzVhZDQ3ZEJDUnNWWFlCSmpjS292bXEzeXc1NVNNcUlRUzh6SGhuaTV5Vl9pbmpQLU5WUnp6YllaYWFsVG1NNmdwZ0hscHRDTTd6eDNtMjVJTmlpdERDQ0FVVXY0NkVPc0EuVG5fb0N2ZXRHUUZDLXd1eW5ac0ktZw"}) + .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Conflict while restoring secret https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/0fd89ede7a3443639a2992fa033b639f - secret already exists or concurrent access"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', 'Content-Length', - '245', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '2906f821-9250-4e2c-bd0e-aab4552900b2', + 'e3396641-b8d5-49f0-830c-eca025dbc98c', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -942,55 +3324,54 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:22 GMT', + 'Thu, 08 Aug 2019 23:29:06 GMT', 'Connection', 'close' ]); -nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .post('/secrets/restore', {"value":"KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLnVCSllleE1DUWUyLUdSYkItMEN2aEl3d2tQZ1VsakQxeVIxYkdnNUNPY19kT0lvQmxaallCbDVnSkNSdE1TZFlJM3d6cW1IeV9xdUx4N1g0cTJxbHJvTUFxQ1pHTk54WlZiVHM3Yk1qVGtHZVhORjk0SjMxd0xrMEkzUkZfR3BzQmdOVkpxN3Z2VlVlRDhLazRLOTYyaDF4SlRHRlg1eDdaamJBYXZpQjhpUUdNU2psNXdBMzFNZVJDN2Q4ZTJ0d0VkdE04NTFiQUtiMGhvem5nZVdrX3Iyb2d3dVJZbUpMUlhVVXFxdHJRRld3U1BWOUoxbG83ay0teTBkVHh1bzhnRHlXNXdWSi1UdnJNWXpUY1ZaYUQyVEYzMW5CZkdGVWRpUGJvSnZTQ3hjY0dVN19ITUZJT2dSeGdiQ19aeW5aRy13SUdxQ1ZlNEluMEszZ1R3OUtvZy5wZlBxcG1oTnNuQUwtVkZFMFA5WVdBLnJ3cjBBbkY3WDZIcFlZYzBWaEE3NXlPT3ZzQkF1Y0FSNU5aVTRONjZ0ZHJnYk9PSDQ0ZGJvb0xuZXVOMC0wVGJsdVFHdGN4T29wZWxMclpPTkJaX2R1Tm1ZdHVRRDN2N3JJcVJIWjIzN2VmZkRWR0Y5X1MwWFhjNUZDamk1Szk1OWUwOC03WUdDeG9Ud2tjMENMRUhObTV6ajh2d3NlVFdXZTJEdUJ4YXR5ZHBheWMtTDRobERUQTlSUElkbDUxSDR4UVZtT0E5TVNHTmFmUTlmY2w1bEhXOW55YW9xQXVHQ0pROTk3NW13cFd1UFNvallrNFk3MFN6bnBMWkRDWUZaWGczdVo0TmhmNFBSc0h3WTlQcHhObTdiU0JPZzUzWURpYUJBbGJTVG9oeEF0OTlDeVJLZFhnbl82QUpDSkZsam9tcjJya0pKbjR4cVAyVXdQZGFxTUtMcFV0dVlpa0NUM052SzRkS0NKbVVCa0ZUSGFFeVdFNU9sMkNBS2Mxdm8tSlc0M3MwVXRYb2lYV05xcEVwTXdGRF9TOE1pZkYyalJlQXhtWkRiZkx6RnVETE9Wc2lSWmJOemZfVXJDV0VsQTBGTmhWQzJOVTFQdU9BY1V6ZWs5Q1dSb09uWGRBcXFCS1NBa0RNbmNXUWc1U28zZk5XcHFoWXZKSDdYYlZlRGZ3eGRQLXZRSUNjYmNFSUg1STFJSFUyUm0ybUFvS1IxZGtKN3puLWowTTl4b0Q0MGNhUERfdERnUzF0V2hiLUtVY1lhdkNRMWlwQnVhS2VxWTloTlFYR084T0tOTHA2eEt1ZnNZRjNsb1hJV2tkTFB2YThSYkVIUnh4MzV1WVB1ZkY5QlJEV1JXRktjLXVHcEJWMDNNXzlFeW5icFRNNVNnbF9weXpENVRDdHptRTBkZ21JYXVfSHJQM3JXZHBRYXhna1A4aEVPbEp1UzNWeHFKa0M2LW8zYVVjZEFYcFBaQzVwNDdxMzZpRkhYZy1MdXdlM2NOWWY0UFBJQmJ3ZmY2dmt5LXBwdVo2WXhSZnRNUWRoazQyN0lQUExrdmhXVTF5SXU0SXhQMDR1NjRkWGtuWGZTNUhYQkdqUm9fTDV0SEppdE1UeTdTNndqOFZzNEs1MjNLNmd5cXZ0anhDLWtLbWg2WTdPLTR5SHZPWGstN1ZBc1JaWkY5b3QtWEtieV8xaGVzSlRfcHdmcVpyN3I5ell4eHVTTng1bklmS0dwUzU5OVlJOUI1R1RnY3VZeDBmVy11U1pELVp0cnE5Q0UtWnJKNVhPbk5ERUkwWmxPVUlNMy1faTFGX1NvSVprenZENmp4NkpLT19iRkVMVG5VTWo5YUFQLWR0RFB6MnE0cXc3VzR6bUd6WmdpMEE1enJ3OGRHQVAwUTgxRTQzdzNfZnREV25JWkFTa0FWTGdYWkpLS09KcGQ2bVg4Z0k2Qjl6NFpaVzN4MzZRY1pFcFFocDFwTlg1SEc2Y0FfX1dyNHIwM09zSXM2ME1ZSmg0SkU0Nk5TTWVKUlFkUWF2ME93VG55SVdFVjdfd2tjSXVleXFyc0RLemxNbEF0ZWxPSDJnTEdwYXhNdW1qbWYyQTRnTllWR1N0S1VldzFxU0RobExuRXRsNVEtUkZ6TEcxZXVIaXJlVl9MZnFpS3dSRnBsZ1JQR2RHb25pTGdyaFM5SE40bk1sWFZQY1huNzNna1VseFBlOGlhcXl6TU1FUWp6eUIxUTNqU2Rnb3ZFNDJyNUw5YXFXUGM1MThqbHVXdEtfdWN2Yk8ydjYtd2FoRTg1SlRhempJTVFOTmlUUmlUZlprRG4wRkNXa1pKOTU1T0Jkd1VZNlNLdk53R0JDVi1jTU1DZGNzTkdkRVA5MERsOVlFQ3hBeVhOOVltSTdWeHZhbTNReHRXTU1VdlRpcFRPWFowdHlDM09ueHNodUpWV3BQcGhxOEsxZld4RG9CelhCcWlSWDlhUHl6cnp1ZHVhTGhBSDlyQ0tvaVVwZ0EtbW50RGhOdk1hZkUwN3Y0Ty05TUVXUXlRMU96UkFXM1N2X0IyT3NaWkZReUlaSVVaNl83WXpzX0JRenBqSFpTQU4zQm9TY2ZVTUtPUXozSnRCdjNmOWFfc2RVdkVBc1B1ZnFwMW53YW9mXzNueGhvZWd1c3ZlRjBxbEo5Rm80SERUdDFzY2xkdDlIZlNRU2lOcWpqakpyemlWYWV5Zmdra1pEZV9FVmVad1doSV9XX3N4YWdSUWZkaUtEX0xvS2lMdUZ6TUJGMkZUUnRYalJkZ2N5MWxnZGh6aDhNX1ozbnk1TmVGWkdhYV9pMlhnUzRRQ1kwUVA2NmxHWXBNUV80U0lrdG5neV9JbF91ZnJzUGNVQURPVmJ2SWszbVlMZEN1Yld5eV84S0lIVTRUNnk4UVdwcDRiVzQ5V25IMkp4amxKamltWVZ6enRmSlJJdnk5bGdkY3YtVGl5NWxySU9SQmltd3FWbWtRMXF0NG5xNkMtN1pxcmJQbEQ4eXZ3M2FWY2pmdUhUdGRFQUQzYkVfRnI0UnlZRW1MQjdOX2RQMFpBTC16eWc2VTZoRW5MMzdqX0NjTF9fYlZlSFZHRTgtbjZPcXhmRU44Q3BLRWFiOVBtVTRjSjdiQTU0WTdoTkpVNGVEMnZvUUpOVGFrZWFFbzJKeTlaS2xIRUZhZWFoc3ViTldxZERWYXM2d2lxejRuN0N1bVU4aTFPSGpCWmUyY0xxSUJLNVFoMllTclhScm1UNllnd1paQXRyUUpyQ0NDN3Q5RGIxdjBON2hUbzRXX0Z2ZjNaaWcyRGgteTVJVEFVOGJIYkJvdnQ5VDhWVXhrdm9DbU5vUmgzc0VrT1JVdlJFNkpLUVVLc1hDRVlWUllLS0pqcXhtQ19LRjVPZ3BfUEpQSmdpYnhxbFNTRjltTnU2bEJsWDJzX0ZWc2dIM09FSllkWWpzUmRvUVJkZGVGdFBhWU5qd3E1WmNXc0JJc0g4T0RncXN6V3ktdkR3bHMtNlZXb2ptaThUbERwcnJiUEVUdzhPQnF0eGVTcnJjS2U2cDl0VDM3Yk5mbTB1REpkdDBKblVEM1BIM194REZXT3NmUUdfd2M3TkllbW5MencwQjdENTFZWk5LS3ViOG85VDl5MWE2NzYwbWk5Sl9rR2RVVlNQRDU3WXRSSTVCX3BjV3lsdDRTdkJuX3FXOXQ2cUIxMUZSWVRISUJrV1FXTmFTZ0JPQVc0OHczb3kxUDVCS1V1TTB6ZExseVJaRGp0ZkVHbGl2VXFjYkZFQzltMWxON1dnWVVpdjY4elBVRExxS1BLS2oyZG5SNC15akxEa0F5dFBmZ0hZNFc4dS1FYzJERWstUHhDU250SnZoVmd6MUIyd0staUk5SGZuSWQ4VXkyTUUzbXBwUEpxa2hvQ3N6RXJMMm9aRzI3aTJxM1hFSjVnSXBiOU1aZ2dnMG9xcE5yYkxheHNBUG11S3BRUHA3di02SEZma180Qnh3dlhkeEpUV3kzeG4zb25XUExCTEdBVW91ckhVWnQwUksxOGFNTVBTc09ZU1NBZ1NyUjFzb2dGakRETlZmV1V5ak5sS2MwcUN2M1NwUzFZSUh3WHhiV3RVN1htbWJJRl9sTDVXU3UxNUVMazVpWEhkcTVsTTBQWC0ycGNJeUxfQzZpQzBndUdMWmtGUTliSnhqbFEyRmloM1lSTEJvTWlBRnlEdXIxSElxS0NkMzNtaG45aEg3Mi1ya3M3aWhfYVA1Y3k2M0RUcmZ2RnFHeTRYcHZFQjRRODFWXzZFVWRDdXZ1U1RjSzdwUGtTNFB1LVMyaGZiSEVYalJZTFhvNVlkWGRMemRpcDJfUmN3NkpUQWdPT29VX0NVY2huNUU0N0lubGsxUWRBbG01VnZ1MGpLRlQ2dDlNWFdEeHJ5ZkZmcms2Z2xGSUljYW1VSzY5bDBMRFJlRnROYTlYYmFWSlBteHo3dWhvU0s3S2lNU2lJanh2RDRUc0tFLWhYZEtpa0FYaGR0cmNDU0ZRQW5aYjBaNF8zYjk2UjhQNGVhZHdOVEl5ZjMxNFBrUDNPV09NM25XS2ItX2NyUVZOZkQydWpKb0poakFHOGlCSlRoY3NrelNkLXJPM0Ntck1qbjJBVlRhTFNiWTZzN1c4M3IzQjVIWUc5el9RWXlSZ2JxS3VnVzhUX0ZWSG5FdjRHZDlFV0lQYnBpQnJLd0pyWkRzbE9DUGFIenp5cFFXSzV0eFZXakR1UFJaTGd2aW9ZcDZnY0JkUUVsdzBYYmJVdndrR1NHd1NQamY0YmxyOG5IaldqTVlCVkdxaTVGNUxJUl9ES2VzR2c2Tjczak1ESjVZbXBKeGVmejdRTno3bXRzWXhfdG5mZU83WTI2Z1FUMlI0WG9nVnNNejZDOVBwTVNlWXFTWDhubF8tWlV6bVJ1bUM3WHZOUVdkQWRfdDFPLXVILWh6UV9HdmhRTVdieVRPc3JiUlZmVjRlX1RLQmpXanJpeW1RWE9LdnktUjh6dXFKaUFSUGRiTmFkUmk3OXBGVzZWX3VsNEdKTExtSzVEZ2xJcV9PX0N0azhfQ1FpNlJXLVRJSFBKR3pmaWs1MHFSaDIyMHgwNnZURExGaU85eGNQcDJvUlBWVDN3Q2hOTzRWd0ZnX3puREM5NWlLWDFwNG5KUHZ2eGNFSGoyMFk3RU5naFdqaUl0aXZfSXZJd2FKYk9JUXA2OTFuZWFBbXB1WFFucEp3alkzZ0s3eXBKR1Y0bFl2b2Z2eWVmQ043d3RwRFZac19LdEQ3MS1wTkFMWGxRYzRzQWFKYU5FUHVIM01MdTl4Ym1EaF9ZdUxET29nQzRZOTUyRHBpUEpIbFVzcC1lNHFESmwzdFlfZmhJRzJFcVBnaHBaTmRLd0E0dmxReVd5cVRPU0ZGQjBEempGay03bHdaM2lOMnFMSzVvSE1wZktrQ3NpV0pveHBQZnZzczBFN1VmVlJ0Z2pMd094c29Ea3VSUGprT3pkSlZmZ09hUEoyaF9yb1dPeWRVUUFBdFNrTG9lUDZ0Q2tldi1mbTRmLXZOM3otNjFrYmo1Ml8zVHVGNlBObno5dVhkaFBGcFVlS3ozNkYwNDZ6aGlWSC1XT19KbHRnamllVFVsSjhxWXN6QlMtS1laQldvTTdVQXZwUkVPQktvd0FGRkx3LWNZTGYyWmc5OU82cDhsYmhDekNodUNOaTI4Vk9DUnZSeFZPZG8yWjlOYXJVY2VuSzV3ZW9UckZ4ZU5RSTlwYlBjZnhSMnNjcWFFNHlDMTRMLUpucmN6aVZhSkZZbzBWMXp5dF82UmtYcHhMZXV0OTlHMkxWQVp0WDJiRmFZWlJLYm5uX2xGdGVQQy1xTFZYR01SZlo5SHV4WThSUXRoM2l5dVdTNDU1NkpBakpzM1luUWRObW9hQy1oMUZycnNyemE1SE1ENVJlN0FQS1BDZzRXa1VfdkItS3dWQnFQUGV3NU1PRzRVcG1lNVlUdFVveldnWm0teFhGc0RNSnNFLWdrc2thak9xVzVhZDQ3ZEJDUnNWWFlCSmpjS292bXEzeXc1NVNNcUlRUzh6SGhuaTV5Vl9pbmpQLU5WUnp6YllaYWFsVG1NNmdwZ0hscHRDTTd6eDNtMjVJTmlpdERDQ0FVVXY0NkVPc0EuVG5fb0N2ZXRHUUZDLXd1eW5ac0ktZw"}) - .query(true) - .reply(200, {"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/0fd89ede7a3443639a2992fa033b639f","attributes":{"enabled":true,"created":1563496559,"updated":1563496559,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', - 'no-cache', +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3599,"ext_expires_in":3599,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', 'Pragma', 'no-cache', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', - 'Server', - 'Microsoft-IIS/10.0', - 'x-ms-keyvault-region', - 'westus', - 'x-ms-request-id', - '39a8360a-444c-4717-b982-e50312fb1d5e', - 'x-ms-keyvault-service-version', - '1.1.0.872', - 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', - 'X-AspNet-Version', - '4.0.30319', - 'X-Powered-By', - 'ASP.NET', 'Strict-Transport-Security', - 'max-age=31536000;includeSubDomains', + 'max-age=31536000; includeSubDomains', 'X-Content-Type-Options', 'nosniff', + 'x-ms-request-id', + 'a895b8d3-ac11-4e2b-83c2-8e3863955300', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHHgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:07 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', 'Date', - 'Fri, 19 Jul 2019 00:36:32 GMT', + 'Thu, 08 Aug 2019 23:29:07 GMT', 'Connection', 'close', 'Content-Length', - '247' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .get('/secrets/CRUDSecretName-canrestoreasecret-/') + .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') .query(true) - .reply(200, {"value":"RSA","id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/0fd89ede7a3443639a2992fa033b639f","attributes":{"enabled":true,"created":1563496559,"updated":1563496559,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '121', 'Content-Type', 'application/json; charset=utf-8', 'Expires', @@ -1000,11 +3381,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '728fb403-c5e2-414a-b199-2c87648109f1', + '13fef0db-aeb6-4fba-af08-d1c37f5df6b0', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1014,34 +3395,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:33 GMT', + 'Thu, 08 Aug 2019 23:29:07 GMT', 'Connection', - 'close', - 'Content-Length', - '261' ]); + 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/secrets/CRUDSecretName-canrestoreasecret-') + .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') .query(true) - .reply(200, {"recoveryId":"https://keyvault_name.vault.azure.net/deletedsecrets/CRUDSecretName-canrestoreasecret-","deletedDate":1563496593,"scheduledPurgeDate":1571272593,"id":"https://keyvault_name.vault.azure.net/secrets/CRUDSecretName-canrestoreasecret-/0fd89ede7a3443639a2992fa033b639f","attributes":{"enabled":true,"created":1563496559,"updated":1563496559,"recoveryLevel":"Recoverable+Purgeable"}}, [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', 'Content-Type', 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '97e0093c-bb61-43c0-97e0-4a8c695ef404', + '5335ed90-3cea-4e93-bf53-4ec63757ee3b', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1051,24 +3434,52 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:33 GMT', + 'Thu, 08 Aug 2019 23:29:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'cdfe8a85-1008-4408-9b19-c95927ba2a00', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHHgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:18 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:18 GMT', 'Connection', 'close', 'Content-Length', - '420' ]); + '1231' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') .query(true) - .reply(409, {"error":{"code":"Conflict","message":"Secret is currently being deleted.","innererror":{"code":"ObjectIsBeingDeleted"}}}, [ 'Cache-Control', + .reply(204, "", [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', - 'Content-Length', - '121', - 'Content-Type', - 'application/json; charset=utf-8', 'Expires', '-1', 'Server', @@ -1076,11 +3487,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - 'c60faa95-7fbe-4746-b309-970e8a7b04a8', + '5bfcd544-7919-44ac-bb5b-63f74d9ab6b3', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1090,30 +3501,36 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:33 GMT', + 'Thu, 08 Aug 2019 23:29:18 GMT', 'Connection', 'close' ]); nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) - .delete('/deletedsecrets/CRUDSecretName-canrestoreasecret-') + .post('/secrets/restore') .query(true) - .reply(204, "", [ 'Cache-Control', + .reply(401, {"error":{"code":"Unauthorized","message":"Request is missing a Bearer or PoP token."}}, [ 'Cache-Control', 'no-cache', 'Pragma', 'no-cache', + 'Content-Length', + '87', + 'Content-Type', + 'application/json; charset=utf-8', 'Expires', '-1', 'Server', 'Microsoft-IIS/10.0', + 'WWW-Authenticate', + 'Bearer authorization="https://login.windows.net/azure_tenant_id", resource="https://vault.azure.net"', 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '0aa61376-21f8-40e4-bbb5-78de980f4498', + '2e03cac6-c2d4-49ba-beae-bae2b1cb769f', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1123,11 +3540,45 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:44 GMT', + 'Thu, 08 Aug 2019 23:29:19 GMT', 'Connection', 'close' ]); +nock('https://login.microsoftonline.com:443', {"encodedQueryParams":true}) + .post('/azure_tenant_id/oauth2/v2.0/token', "response_type=token&grant_type=client_credentials&client_id=azure_client_id&client_secret=azure_client_secret&scope=https%3A%2F%2Fvault.azure.net%2F.default") + .reply(200, {"token_type":"Bearer","expires_in":3600,"ext_expires_in":3600,"access_token":"access_token"}, [ 'Cache-Control', + 'no-cache, no-store', + 'Pragma', + 'no-cache', + 'Content-Type', + 'application/json; charset=utf-8', + 'Expires', + '-1', + 'Strict-Transport-Security', + 'max-age=31536000; includeSubDomains', + 'X-Content-Type-Options', + 'nosniff', + 'x-ms-request-id', + 'f3bbbab3-c667-45a8-a9ca-60ae18096600', + 'Referrer-Policy', + 'strict-origin-when-cross-origin', + 'P3P', + 'CP="DSP CUR OTPi IND OTRi ONL FIN"', + 'Set-Cookie', + 'fpc=AmkVs3Rqko5JhZsj_zwGgKQ_aSJHHgAAAMWm3tQOAAAA; expires=Sat, 07-Sep-2019 23:29:19 GMT; path=/; secure; HttpOnly', + 'Set-Cookie', + 'x-ms-gateway-slice=prod; path=/; secure; HttpOnly', + 'Set-Cookie', + 'stsservicecookie=ests; path=/; secure; HttpOnly', + 'Date', + 'Thu, 08 Aug 2019 23:29:18 GMT', + 'Connection', + 'close', + 'Content-Length', + '1231' ]); + + nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) .post('/secrets/restore', {"value":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}) .query(true) @@ -1146,11 +3597,11 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'x-ms-keyvault-region', 'westus', 'x-ms-request-id', - '252429ef-e3e1-49cf-b057-be44f5f2d18b', + '81c8d084-9fc8-4900-a61d-13512a91af04', 'x-ms-keyvault-service-version', - '1.1.0.872', + '1.1.0.875', 'x-ms-keyvault-network-info', - 'addr=13.82.238.224;act_addr_fam=InterNetwork;', + 'addr=13.92.96.140;act_addr_fam=InterNetwork;', 'X-AspNet-Version', '4.0.30319', 'X-Powered-By', @@ -1160,7 +3611,7 @@ nock('https://keyvault_name.vault.azure.net:443', {"encodedQueryParams":true}) 'X-Content-Type-Options', 'nosniff', 'Date', - 'Fri, 19 Jul 2019 00:36:44 GMT', + 'Thu, 08 Aug 2019 23:29:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/keyvault/keyvault-secrets/review/keyvault-secrets.api.md b/sdk/keyvault/keyvault-secrets/review/keyvault-secrets.api.md index cdf63202f97f..6ec1160134fb 100644 --- a/sdk/keyvault/keyvault-secrets/review/keyvault-secrets.api.md +++ b/sdk/keyvault/keyvault-secrets/review/keyvault-secrets.api.md @@ -4,7 +4,6 @@ ```ts -import { AbortSignalLike } from '@azure/abort-controller'; import { HttpClient } from '@azure/core-http'; import { HttpPipelineLogger } from '@azure/core-http'; import * as msRest from '@azure/core-http'; @@ -117,7 +116,6 @@ export class SecretsClient { // @public export interface SetSecretOptions { - abortSignal?: AbortSignalLike; contentType?: string; enabled?: boolean; expires?: Date; diff --git a/sdk/keyvault/keyvault-secrets/rollup.base.config.js b/sdk/keyvault/keyvault-secrets/rollup.base.config.js index eb335d175962..5a930ab62039 100644 --- a/sdk/keyvault/keyvault-secrets/rollup.base.config.js +++ b/sdk/keyvault/keyvault-secrets/rollup.base.config.js @@ -118,10 +118,7 @@ export function browserConfig(test = false) { }), cjs({ namedExports: { - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 - "assert/": ["ok", "equal", "strictEqual"] + assert: ["ok", "equal", "strictEqual"] } }) ] diff --git a/sdk/keyvault/keyvault-secrets/samples/backupAndRestore.ts b/sdk/keyvault/keyvault-secrets/samples/backupAndRestore.ts index aa40256aeade..eab078498932 100644 --- a/sdk/keyvault/keyvault-secrets/samples/backupAndRestore.ts +++ b/sdk/keyvault/keyvault-secrets/samples/backupAndRestore.ts @@ -1,6 +1,6 @@ import { SecretsClient } from "../src"; import fs = require("fs"); -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; function writeFile(filename: string, text: Uint8Array): Promise { return new Promise((resolve, reject) => { @@ -25,11 +25,11 @@ export function delay(t: number, value?: T): Promise { } async function main(): Promise { - // EnvironmentCredential expects the following three environment variables: + // DefaultAzureCredential expects the following three environment variables: // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant // - AZURE_CLIENT_SECRET: The client secret for the registered application - const credential = new EnvironmentCredential(); + const credential = new DefaultAzureCredential(); const vaultName = process.env["KEYVAULT_NAME"] || ""; const url = `https://${vaultName}.vault.azure.net`; diff --git a/sdk/keyvault/keyvault-secrets/samples/challenge.ts b/sdk/keyvault/keyvault-secrets/samples/challenge.ts new file mode 100644 index 000000000000..94869f522160 --- /dev/null +++ b/sdk/keyvault/keyvault-secrets/samples/challenge.ts @@ -0,0 +1,92 @@ +import { SecretsClient } from "../src"; +import { DefaultAzureCredential } from "@azure/identity"; + +import { + ServiceClientCredentials, + TokenCredential, + isTokenCredential, + RequestPolicyFactory, + deserializationPolicy, + signingPolicy, + bearerTokenAuthenticationPolicy, + RequestOptionsBase, + exponentialRetryPolicy, + redirectPolicy, + systemErrorRetryPolicy, + generateClientRequestIdPolicy, + proxyPolicy, + throttlingRetryPolicy, + getDefaultProxySettings, + userAgentPolicy +} from "@azure/core-http"; + +import { RetryConstants, SDK_VERSION } from "../src/core/utils/constants"; +import { + ChallengeBasedAuthenticationPolicy, + challengeBasedAuthenticationPolicy +} from "../src/core/challengeBasedAuthenticationPolicy"; + +import { TokenCredentials } from "@azure/core-http"; +import { Pipeline } from "../src/core/keyVaultBase"; + +async function main(): Promise { + // DefaultAzureCredential expects the following three environment variables: + // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory + // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant + // - AZURE_CLIENT_SECRET: The client secret for the registered application + const credential = new DefaultAzureCredential(); + const retryOptions: any = {}; + const pipelineOptions: any = {}; + const requestPolicyFactories: RequestPolicyFactory[] = [ + proxyPolicy(getDefaultProxySettings((pipelineOptions.proxyOptions || {}).proxySettings)), + userAgentPolicy({ value: "" }), + generateClientRequestIdPolicy(), + deserializationPolicy(), // Default deserializationPolicy is provided by protocol layer + throttlingRetryPolicy(), + systemErrorRetryPolicy(), + exponentialRetryPolicy( + retryOptions.retryCount, + retryOptions.retryIntervalInMS, + RetryConstants.MIN_RETRY_INTERVAL_MS, // Minimum retry interval to prevent frequent retries + retryOptions.maxRetryDelayInMs + ), + redirectPolicy(), + + challengeBasedAuthenticationPolicy(credential) + ]; + + const pipeline: Pipeline = { + httpClient: pipelineOptions.HTTPClient, + httpPipelineLogger: pipelineOptions.logger, + requestPolicyFactories + }; + + const vaultName = process.env["KEYVAULT_NAME"] || ""; + const url = `https://${vaultName}.vault.azure.net`; + + const client = new SecretsClient(url, credential, pipeline); + + // Create a secret + const secretName = "MySecretName12345"; + const result = await client.setSecret(secretName, "MySecretValue"); + console.log("result: ", result); + + // Read the secret we created + const secret = await client.getSecret(secretName); + console.log("secret: ", secret); + + // Update the secret with different attributes + const updatedSecret = await client.updateSecretAttributes(secretName, result.version, { + enabled: false + }); + console.log("updated secret: ", updatedSecret); + + // Delete the secret + await client.deleteSecret(secretName); +} + +main().catch((err) => { + console.log("error code: ", err.code); + console.log("error message: ", err.message); + console.log("error stack: ", err.stack); +}); diff --git a/sdk/keyvault/keyvault-secrets/samples/deleteAndRecover.ts b/sdk/keyvault/keyvault-secrets/samples/deleteAndRecover.ts index 97e42027dc9b..84473836d344 100644 --- a/sdk/keyvault/keyvault-secrets/samples/deleteAndRecover.ts +++ b/sdk/keyvault/keyvault-secrets/samples/deleteAndRecover.ts @@ -1,18 +1,18 @@ import { SecretsClient } from "../src"; -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; export function delay(t: number, value?: T): Promise { return new Promise((resolve) => setTimeout(() => resolve(value), t)); } async function main(): Promise { - // EnvironmentCredential expects the following three environment variables: + // DefaultAzureCredential expects the following three environment variables: // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant // - AZURE_CLIENT_SECRET: The client secret for the registered application - const credential = new EnvironmentCredential(); + const credential = new DefaultAzureCredential(); - const vaultName = process.env["KEYVAULT_NAME"] || "" + const vaultName = process.env["KEYVAULT_NAME"] || ""; const url = `https://${vaultName}.vault.azure.net`; const client = new SecretsClient(url, credential); diff --git a/sdk/keyvault/keyvault-secrets/samples/helloWorld.ts b/sdk/keyvault/keyvault-secrets/samples/helloWorld.ts index b8c36230d461..2bb0919d6de3 100644 --- a/sdk/keyvault/keyvault-secrets/samples/helloWorld.ts +++ b/sdk/keyvault/keyvault-secrets/samples/helloWorld.ts @@ -1,14 +1,14 @@ import { SecretsClient } from "../src"; -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; async function main(): Promise { - // EnvironmentCredential expects the following three environment variables: + // DefaultAzureCredential expects the following three environment variables: // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant // - AZURE_CLIENT_SECRET: The client secret for the registered application - const credential = new EnvironmentCredential(); + const credential = new DefaultAzureCredential(); - const vaultName = process.env["KEYVAULT_NAME"] || "" + const vaultName = process.env["KEYVAULT_NAME"] || ""; const url = `https://${vaultName}.vault.azure.net`; const client = new SecretsClient(url, credential); @@ -23,7 +23,9 @@ async function main(): Promise { console.log("secret: ", secret); // Update the secret with different attributes - const updatedSecret = await client.updateSecretAttributes(secretName, result.version, { enabled: false }); + const updatedSecret = await client.updateSecretAttributes(secretName, result.version, { + enabled: false + }); console.log("updated secret: ", updatedSecret); // Delete the secret diff --git a/sdk/keyvault/keyvault-secrets/samples/listOperations.ts b/sdk/keyvault/keyvault-secrets/samples/listOperations.ts index 7fd29e53c5ea..e3e90cba6396 100644 --- a/sdk/keyvault/keyvault-secrets/samples/listOperations.ts +++ b/sdk/keyvault/keyvault-secrets/samples/listOperations.ts @@ -1,14 +1,14 @@ import { SecretsClient } from "../src"; -import { EnvironmentCredential } from "@azure/identity"; +import { DefaultAzureCredential } from "@azure/identity"; async function main(): Promise { - // EnvironmentCredential expects the following three environment variables: + // DefaultAzureCredential expects the following three environment variables: // - AZURE_TENANT_ID: The tenant ID in Azure Active Directory // - AZURE_CLIENT_ID: The application (client) ID registered in the AAD tenant // - AZURE_CLIENT_SECRET: The client secret for the registered application - const credential = new EnvironmentCredential(); + const credential = new DefaultAzureCredential(); - const vaultName = process.env["KEYVAULT_NAME"] || "" + const vaultName = process.env["KEYVAULT_NAME"] || ""; const url = `https://${vaultName}.vault.azure.net`; const client = new SecretsClient(url, credential); diff --git a/sdk/keyvault/keyvault-secrets/src/core/challengeBasedAuthenticationPolicy.ts b/sdk/keyvault/keyvault-secrets/src/core/challengeBasedAuthenticationPolicy.ts new file mode 100644 index 000000000000..da643a776364 --- /dev/null +++ b/sdk/keyvault/keyvault-secrets/src/core/challengeBasedAuthenticationPolicy.ts @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See License.txt in the project root for license information. + +import { TokenCredential, AccessToken } from "@azure/core-http"; +import { BaseRequestPolicy, RequestPolicy, RequestPolicyOptions, RequestPolicyFactory } from "@azure/core-http"; +import { Constants } from "@azure/core-http"; +import { HttpOperationResponse } from "@azure/core-http"; +import { HttpHeaders } from "@azure/core-http"; +import { WebResource } from "@azure/core-http"; + +export const TokenRefreshBufferMs = 2 * 60 * 1000; // 2 Minutes + +/** + * Creates a new ChallengeBasedAuthenticationPolicy factory. + * + * @param credential The TokenCredential implementation that can supply the challenge token. + */ +export function challengeBasedAuthenticationPolicy(credential: TokenCredential): RequestPolicyFactory { + return { + create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions) => { + return new ChallengeBasedAuthenticationPolicy(nextPolicy, options, credential); + } + }; +} + +export class AuthenticationChallenge { + constructor(public scopes: string[] | string) { } +} + +/** + * + * Provides a RequestPolicy that can request a token from a TokenCredential + * implementation and then apply it to the Authorization header of a request + * as a Bearer token. + * + */ +export class ChallengeBasedAuthenticationPolicy extends BaseRequestPolicy { + private cachedToken: AccessToken | undefined = undefined; + private challenge: AuthenticationChallenge | undefined = undefined; + + /** + * Creates a new ChallengeBasedAuthenticationPolicy object. + * + * @param nextPolicy The next RequestPolicy in the request pipeline. + * @param options Options for this RequestPolicy. + * @param credential The TokenCredential implementation that can supply the bearer token. + * @param scopes The scopes for which the bearer token applies. + */ + constructor( + nextPolicy: RequestPolicy, + options: RequestPolicyOptions, + private credential: TokenCredential, + private refreshOn: number = Date.now(), + ) { + super(nextPolicy, options); + } + + private parseWWWAuthenticate(www_authenticate: string): string { + // Parses an authentication message like: + // ``` + // Bearer authorization="some_authorization", resource="https://some.url" + // ``` + let authenticateArray = www_authenticate.split(" "); + + // Remove the "Bearer" piece + delete authenticateArray[0]; + + // Split the KV comma-separated list + let commaSep = authenticateArray.join().split(","); + for (let item of commaSep) { + // Split the key/value pairs + let kv = item.split("="); + if (kv[0].trim() == "resource") { + // Remove the quotations around the string + let resource = kv[1].trim().replace(/['"]+/g, ''); + return resource; + } + } + return ""; + } + + /** + * Applies the Bearer token to the request through the Authorization header. + * @param webResource + */ + public async sendRequest( + webResource: WebResource + ): Promise { + if (!webResource.headers) webResource.headers = new HttpHeaders(); + + let originalBody = webResource.body; + + if (this.challenge == undefined) { + // Use a blank to start the challenge + webResource.body = ""; + } else { + // or use the cached token if we have one + await this.authenticateRequest(webResource); + } + + let response = await this._nextPolicy.sendRequest(webResource); + + if (response.status == 401) { + webResource.body = originalBody; + + let www_authenticate = response.headers.get("WWW-Authenticate"); + + if (www_authenticate) { + let resource = this.parseWWWAuthenticate(www_authenticate); + let challenge = new AuthenticationChallenge(resource + "/.default") + + if (this.challenge != challenge) { + this.challenge = challenge; + this.cachedToken = undefined; + + await this.authenticateRequest(webResource); + } + } + return this._nextPolicy.sendRequest(webResource); + } else { + return response; + } + } + + private async authenticateRequest(webResource: WebResource): Promise { + if ( + this.cachedToken && + (Date.now() < this.refreshOn) + ) { + webResource.headers.set( + Constants.HeaderConstants.AUTHORIZATION, + `Bearer ${this.cachedToken.token}` + ); + } else { + let token: AccessToken | null = await this.credential.getToken(this.challenge!.scopes); + if (token) { + this.cachedToken = token; + this.refreshOn = token.expiresOnTimestamp - TokenRefreshBufferMs; + webResource.headers.set( + Constants.HeaderConstants.AUTHORIZATION, + `Bearer ${token.token}` + ); + } + } + } +} diff --git a/sdk/keyvault/keyvault-secrets/src/index.ts b/sdk/keyvault/keyvault-secrets/src/index.ts index eb10dae35d91..b56cb4f14f94 100644 --- a/sdk/keyvault/keyvault-secrets/src/index.ts +++ b/sdk/keyvault/keyvault-secrets/src/index.ts @@ -8,7 +8,6 @@ import { RequestPolicyFactory, deserializationPolicy, signingPolicy, - bearerTokenAuthenticationPolicy, RequestOptionsBase, exponentialRetryPolicy, redirectPolicy, @@ -31,6 +30,8 @@ import { } from "./core/models"; import { KeyVaultClient } from "./core/keyVaultClient"; import { RetryConstants, SDK_VERSION } from "./core/utils/constants"; +import { challengeBasedAuthenticationPolicy } from "./core/challengeBasedAuthenticationPolicy"; + import { Secret, DeletedSecret, @@ -110,7 +111,7 @@ export class SecretsClient { ), redirectPolicy(), isTokenCredential(credential) - ? bearerTokenAuthenticationPolicy(credential, "https://vault.azure.net/.default") + ? challengeBasedAuthenticationPolicy(credential) : signingPolicy(credential) ]); @@ -143,10 +144,10 @@ export class SecretsClient { * Example usage: * ```ts * import { SecretsClient } from "@azure/keyvault-secrets"; - * import { EnvironmentCredential } from "@azure/identity"; + * import { DefaultAzureCredential } from "@azure/identity"; * * let url = `https://.vault.azure.net`; - * let credentials = new EnvironmentCredential(); + * let credentials = new DefaultAzureCredential(); * * let client = new SecretsClient(url, credentials); * ``` diff --git a/sdk/keyvault/keyvault-secrets/src/secretsModels.ts b/sdk/keyvault/keyvault-secrets/src/secretsModels.ts index a944c1343010..7ceca0236d08 100644 --- a/sdk/keyvault/keyvault-secrets/src/secretsModels.ts +++ b/sdk/keyvault/keyvault-secrets/src/secretsModels.ts @@ -2,7 +2,6 @@ // Licensed under the MIT License. import * as msRest from "@azure/core-http"; -import { AbortSignalLike } from "@azure/abort-controller"; import { DeletionRecoveryLevel } from "./core/models"; import { ParsedKeyVaultEntityIdentifier } from "./core/keyVaultBase"; @@ -115,8 +114,7 @@ export interface DeletedSecret extends Secret { /** * @interface - * An interface representing KeyVaultClientSetSecretOptionalParams. - * Optional Parameters. + * An interface representing the optional parameters that can be passed to setSecret. */ export interface SetSecretOptions { /** @@ -145,16 +143,11 @@ export interface SetSecretOptions { * @member {msRest.RequestOptionsBase} [requestOptions] Options for this request */ requestOptions?: msRest.RequestOptionsBase; - /** - * @member {AbortSignalLike} [abortSignal] Abort signal - */ - abortSignal?: AbortSignalLike; } /** * @interface - * An interface representing KeyVaultClientUpdateSecretOptionalParams. - * Optional Parameters. + * An interface representing the optional parameters that can be passed to updateSecret. */ export interface UpdateSecretOptions { /** @@ -187,8 +180,7 @@ export interface UpdateSecretOptions { /** * @interface - * An interface representing SecretClientGetSecretOptionalParams. - * Optional Parameters. + * An interface representing the optional parameters that can be passed to getSecret. */ export interface GetSecretOptions { /** @@ -205,7 +197,6 @@ export interface GetSecretOptions { /** * @interface * An interface representing optional parameters for SecretClient paged operations. - * Optional Parameters. */ export interface ListSecretsOptions { /** diff --git a/sdk/keyvault/keyvault-secrets/tests/CRUD.test.ts b/sdk/keyvault/keyvault-secrets/tests/CRUD.test.ts index 4645f4a8f6cb..1145b255d64e 100644 --- a/sdk/keyvault/keyvault-secrets/tests/CRUD.test.ts +++ b/sdk/keyvault/keyvault-secrets/tests/CRUD.test.ts @@ -3,7 +3,7 @@ import * as assert from "assert"; import { SecretsClient } from "../src"; -import { isNode, retry, env } from "./utils/recorder"; +import { retry, env } from "./utils/recorder"; import { authenticate } from "./utils/testAuthentication"; import TestClient from "./utils/testClient"; import { AbortController } from "@azure/abort-controller"; @@ -46,7 +46,9 @@ describe("Secret client - create, read, update and delete operations", () => { ); const controller = new AbortController(); const resultPromise = client.setSecret(secretName, secretValue, { - abortSignal: controller.signal + requestOptions: { + abortSignal: controller.signal + } }); controller.abort(); let error; @@ -55,11 +57,7 @@ describe("Secret client - create, read, update and delete operations", () => { } catch (e) { error = e; } - if (isNode) { - assert.equal(error.message, "The request was aborted"); - } else { - assert.equal(error.message, "Failed to send the request."); - } + assert.equal(error.message, "The request was aborted"); }); it("cannot create a secret with an empty name", async function() { @@ -178,7 +176,7 @@ describe("Secret client - create, read, update and delete operations", () => { assert.equal( error.message, "Operation get is not allowed on a disabled secret.", - "Unexpected error after tryign to get a disabled secret" + "Unexpected error after trying to get a disabled secret" ); await testClient.flushSecret(secretName); }); @@ -210,7 +208,7 @@ describe("Secret client - create, read, update and delete operations", () => { assert.equal( error.message, `Secret not found: ${secretName}`, - "Unexpected error after tryign to get a disabled secret" + "Unexpected error after trying to get a disabled secret" ); }); @@ -252,7 +250,7 @@ describe("Secret client - create, read, update and delete operations", () => { assert.equal( error.message, `Secret not found: ${secretName}`, - "Unexpected error after tryign to get a disabled secret" + "Unexpected error after trying to get a disabled secret" ); }); diff --git a/sdk/keyvault/keyvault-secrets/tests/list.test.ts b/sdk/keyvault/keyvault-secrets/tests/list.test.ts index 3d08aa6f8df5..a8f44915e3f0 100644 --- a/sdk/keyvault/keyvault-secrets/tests/list.test.ts +++ b/sdk/keyvault/keyvault-secrets/tests/list.test.ts @@ -66,8 +66,10 @@ describe("Secret client - list secrets in various ways", () => { await client.deleteSecret(name); } - // Waiting until the key is deleted - await retry(async () => client.getDeletedSecret(secretNames[0])); + // Waiting until the secrets are deleted + for (const name of secretNames) { + await retry(async () => client.getDeletedSecret(name)); + } let found = 0; for await (const secret of client.listDeletedSecrets()) { @@ -164,8 +166,10 @@ describe("Secret client - list secrets in various ways", () => { await client.deleteSecret(name); } - // Waiting until the key is deleted - await retry(async () => client.getDeletedSecret(secretNames[0])); + // Waiting until the secrets are deleted + for (const name of secretNames) { + await retry(async () => client.getDeletedSecret(name)); + } let found = 0; for await (const page of client.listDeletedSecrets().byPage()) { diff --git a/sdk/keyvault/keyvault-secrets/tests/utils/recorder.ts b/sdk/keyvault/keyvault-secrets/tests/utils/recorder.ts index f60217fc2a9c..087c0646ad38 100644 --- a/sdk/keyvault/keyvault-secrets/tests/utils/recorder.ts +++ b/sdk/keyvault/keyvault-secrets/tests/utils/recorder.ts @@ -8,7 +8,7 @@ import { retry as realRetry } from "./retry"; import { isNode as coreIsNode } from "@azure/core-http"; import queryString from "query-string"; import * as dotenv from "dotenv"; -dotenv.config({ path: "../../.env" }); +dotenv.config({ path: "../.env" }); export function isBrowser(): boolean { return typeof window !== "undefined"; diff --git a/sdk/kusto/arm-kusto/package.json b/sdk/kusto/arm-kusto/package.json index e398fb3a69f9..7ae52fcb5980 100644 --- a/sdk/kusto/arm-kusto/package.json +++ b/sdk/kusto/arm-kusto/package.json @@ -2,11 +2,11 @@ "name": "@azure/arm-kusto", "author": "Microsoft Corporation", "description": "KustoManagementClient Library with typescript type definitions for node.js and browser.", - "version": "2.0.1", + "version": "2.0.3", "dependencies": { - "@azure/ms-rest-azure-js": "^2.0.0", - "@azure/ms-rest-js": "^2.0.3", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.1", + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" }, "keywords": [ "node", diff --git a/sdk/kusto/arm-kusto/src/kustoManagementClientContext.ts b/sdk/kusto/arm-kusto/src/kustoManagementClientContext.ts index 01ee587ed07c..abc2b2dd2c1f 100644 --- a/sdk/kusto/arm-kusto/src/kustoManagementClientContext.ts +++ b/sdk/kusto/arm-kusto/src/kustoManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-kusto"; -const packageVersion = "2.0.1"; +const packageVersion = "2.0.3"; export class KustoManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/sdk/kusto/arm-kusto/src/models/mappers.ts b/sdk/kusto/arm-kusto/src/models/mappers.ts index c571284d20d3..888cbfc600fa 100644 --- a/sdk/kusto/arm-kusto/src/models/mappers.ts +++ b/sdk/kusto/arm-kusto/src/models/mappers.ts @@ -493,7 +493,7 @@ export const DataConnection: msRest.CompositeMapper = { serializedName: "kind", clientName: "kind" }, - uberParent: "DataConnection", + uberParent: "BaseResource", className: "DataConnection", modelProperties: { ...ProxyResource.type.modelProperties, diff --git a/sdk/policy/arm-policy/package.json b/sdk/policy/arm-policy/package.json index 93debc7b855f..cbca4c130707 100644 --- a/sdk/policy/arm-policy/package.json +++ b/sdk/policy/arm-policy/package.json @@ -2,7 +2,7 @@ "name": "@azure/arm-policy", "author": "Microsoft Corporation", "description": "PolicyClient Library with typescript type definitions for node.js and browser.", - "version": "1.0.2", + "version": "2.0.0", "dependencies": { "@azure/ms-rest-azure-js": "^1.3.2", "@azure/ms-rest-js": "^1.8.1", diff --git a/sdk/policy/arm-policy/src/models/index.ts b/sdk/policy/arm-policy/src/models/index.ts index 427a4211ddee..b6689df20b24 100644 --- a/sdk/policy/arm-policy/src/models/index.ts +++ b/sdk/policy/arm-policy/src/models/index.ts @@ -135,10 +135,9 @@ export interface PolicyDefinition extends BaseResource { */ policyType?: PolicyType; /** - * The policy definition mode. Possible values are NotSpecified, Indexed, and All. Possible - * values include: 'NotSpecified', 'Indexed', 'All' + * The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data. */ - mode?: PolicyMode; + mode?: string; /** * The display name of the policy definition. */ @@ -328,14 +327,6 @@ export type ResourceIdentityType = 'SystemAssigned' | 'None'; */ export type PolicyType = 'NotSpecified' | 'BuiltIn' | 'Custom'; -/** - * Defines values for PolicyMode. - * Possible values include: 'NotSpecified', 'Indexed', 'All' - * @readonly - * @enum {string} - */ -export type PolicyMode = 'NotSpecified' | 'Indexed' | 'All'; - /** * Contains response data for the deleteMethod operation. */ diff --git a/sdk/policy/arm-policy/src/operations/policyAssignments.ts b/sdk/policy/arm-policy/src/operations/policyAssignments.ts index d3423fcd6259..b39b2d92c6f8 100644 --- a/sdk/policy/arm-policy/src/operations/policyAssignments.ts +++ b/sdk/policy/arm-policy/src/operations/policyAssignments.ts @@ -179,9 +179,8 @@ export class PolicyAssignments { * contained within the resource group. If $filter=atScope() is provided, the returned list * includes all policy assignments that apply to the resource group, which is everything in the * unfiltered list except those applied to resources contained within the resource group. If - * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes only policy - * assignments that apply to the resource group and assign the policy definition whose id is - * {value}. + * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy + * assignments of the policy definition whose id is {value} that apply to the resource group. * @summary Retrieves all policy assignments that apply to a resource group. * @param resourceGroupName The name of the resource group that contains policy assignments. * @param [options] The optional parameters @@ -218,11 +217,11 @@ export class PolicyAssignments { * resources contained within the resource. If $filter=atScope() is provided, the returned list * includes all policy assignments that apply to the resource, which is everything in the * unfiltered list except those applied to resources contained within the resource. If - * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes only policy - * assignments that apply to the resource and assign the policy definition whose id is {value}. - * Three parameters plus the resource name are used to identify a specific resource. If the - * resource is not part of a parent resource (the more common case), the parent resource path - * should not be provided (or provided as ''). For example a web app could be specified as + * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy + * assignments of the policy definition whose id is {value} that apply to the resource. Three + * parameters plus the resource name are used to identify a specific resource. If the resource is + * not part of a parent resource (the more common case), the parent resource path should not be + * provided (or provided as ''). For example a web app could be specified as * ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == * 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent resource, then all * parameters should be provided. For example a virtual machine DNS name could be specified as @@ -290,8 +289,8 @@ export class PolicyAssignments { * contained within the subscription. If $filter=atScope() is provided, the returned list includes * all policy assignments that apply to the subscription, which is everything in the unfiltered * list except those applied to objects contained within the subscription. If - * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes only policy - * assignments that apply to the subscription and assign the policy definition whose id is {value}. + * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy + * assignments of the policy definition whose id is {value}. * @summary Retrieves all policy assignments that apply to a subscription. * @param [options] The optional parameters * @returns Promise @@ -445,9 +444,8 @@ export class PolicyAssignments { * contained within the resource group. If $filter=atScope() is provided, the returned list * includes all policy assignments that apply to the resource group, which is everything in the * unfiltered list except those applied to resources contained within the resource group. If - * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes only policy - * assignments that apply to the resource group and assign the policy definition whose id is - * {value}. + * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy + * assignments of the policy definition whose id is {value} that apply to the resource group. * @summary Retrieves all policy assignments that apply to a resource group. * @param nextPageLink The NextLink from the previous successful call to List operation. * @param [options] The optional parameters @@ -484,11 +482,11 @@ export class PolicyAssignments { * resources contained within the resource. If $filter=atScope() is provided, the returned list * includes all policy assignments that apply to the resource, which is everything in the * unfiltered list except those applied to resources contained within the resource. If - * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes only policy - * assignments that apply to the resource and assign the policy definition whose id is {value}. - * Three parameters plus the resource name are used to identify a specific resource. If the - * resource is not part of a parent resource (the more common case), the parent resource path - * should not be provided (or provided as ''). For example a web app could be specified as + * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy + * assignments of the policy definition whose id is {value} that apply to the resource. Three + * parameters plus the resource name are used to identify a specific resource. If the resource is + * not part of a parent resource (the more common case), the parent resource path should not be + * provided (or provided as ''). For example a web app could be specified as * ({resourceProviderNamespace} == 'Microsoft.Web', {parentResourcePath} == '', {resourceType} == * 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a parent resource, then all * parameters should be provided. For example a virtual machine DNS name could be specified as @@ -534,8 +532,8 @@ export class PolicyAssignments { * contained within the subscription. If $filter=atScope() is provided, the returned list includes * all policy assignments that apply to the subscription, which is everything in the unfiltered * list except those applied to objects contained within the subscription. If - * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes only policy - * assignments that apply to the subscription and assign the policy definition whose id is {value}. + * $filter=policyDefinitionId eq '{value}' is provided, the returned list includes all policy + * assignments of the policy definition whose id is {value}. * @summary Retrieves all policy assignments that apply to a subscription. * @param nextPageLink The NextLink from the previous successful call to List operation. * @param [options] The optional parameters diff --git a/sdk/policy/arm-policy/src/policyClientContext.ts b/sdk/policy/arm-policy/src/policyClientContext.ts index 5333b15ad59a..3c2285df3670 100644 --- a/sdk/policy/arm-policy/src/policyClientContext.ts +++ b/sdk/policy/arm-policy/src/policyClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-policy"; -const packageVersion = "1.0.2"; +const packageVersion = "2.0.0"; export class PolicyClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; @@ -44,7 +44,7 @@ export class PolicyClientContext extends msRestAzure.AzureServiceClient { super(credentials, options); - this.apiVersion = '2018-05-01'; + this.apiVersion = '2019-01-01'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/sdk/service-map/arm-servicemap/LICENSE.txt b/sdk/service-map/arm-servicemap/LICENSE.txt index a70e8cf66038..b73b4a1293c3 100644 --- a/sdk/service-map/arm-servicemap/LICENSE.txt +++ b/sdk/service-map/arm-servicemap/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/service-map/arm-servicemap/README.md b/sdk/service-map/arm-servicemap/README.md index 09b3b3b52e88..7c2a887801cf 100644 --- a/sdk/service-map/arm-servicemap/README.md +++ b/sdk/service-map/arm-servicemap/README.md @@ -9,7 +9,7 @@ This package contains an isomorphic SDK for ServicemapManagementClient. ### How to Install -``` +```bash npm install @azure/arm-servicemap ``` @@ -19,13 +19,13 @@ npm install @azure/arm-servicemap ##### Install @azure/ms-rest-nodeauth -``` +```bash npm install @azure/ms-rest-nodeauth ``` ##### Sample code -```ts +```typescript import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; @@ -54,7 +54,7 @@ msRestNodeAuth.interactiveLogin().then((creds) => { ##### Install @azure/ms-rest-browserauth -``` +```bash npm install @azure/ms-rest-browserauth ``` @@ -109,5 +109,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) - ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/service-map/arm-servicemap/README.png) diff --git a/sdk/service-map/arm-servicemap/package.json b/sdk/service-map/arm-servicemap/package.json index daa0ae89038d..395461461703 100644 --- a/sdk/service-map/arm-servicemap/package.json +++ b/sdk/service-map/arm-servicemap/package.json @@ -2,11 +2,11 @@ "name": "@azure/arm-servicemap", "author": "Microsoft Corporation", "description": "ServicemapManagementClient Library with typescript type definitions for node.js and browser.", - "version": "2.1.0", + "version": "2.2.0", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.0", + "@azure/ms-rest-js": "^2.0.3", + "tslib": "^1.10.0" }, "keywords": [ "node", @@ -23,15 +23,16 @@ "typescript": "^3.1.1", "rollup": "^0.66.2", "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/service-map/arm-servicemap", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/service-map/arm-servicemap", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", @@ -43,6 +44,7 @@ "esm/**/*.d.ts", "esm/**/*.d.ts.map", "src/**/*.ts", + "README.md", "rollup.config.js", "tsconfig.json" ], @@ -52,5 +54,5 @@ "prepack": "npm install && npm run build" }, "sideEffects": false, - "authPublish": true + "autoPublish": true } diff --git a/sdk/service-map/arm-servicemap/rollup.config.js b/sdk/service-map/arm-servicemap/rollup.config.js index 8b0acefa9745..cffa953c5b05 100644 --- a/sdk/service-map/arm-servicemap/rollup.config.js +++ b/sdk/service-map/arm-servicemap/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/servicemapManagementClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/servicemapManagementClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-servicemap.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ module: true }), + sourcemaps() ] }; + export default config; diff --git a/sdk/service-map/arm-servicemap/src/models/clientGroupsMappers.ts b/sdk/service-map/arm-servicemap/src/models/clientGroupsMappers.ts index 25d59175f09c..50374ddeb695 100644 --- a/sdk/service-map/arm-servicemap/src/models/clientGroupsMappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/clientGroupsMappers.ts @@ -1,59 +1,56 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, + Acceptor, + AgentConfiguration, + AzureCloudServiceConfiguration, + AzureHostingConfiguration, + AzureProcessHostingConfiguration, + AzureServiceFabricClusterConfiguration, + AzureVmScaleSetConfiguration, + BaseResource, ClientGroup, + ClientGroupMember, + ClientGroupMembersCollection, + ClientGroupMembersCount, + ClientGroupReference, + Connection, CoreResource, - Resource, - BaseResource, - ResourceReference, - ErrorResponse, ErrorModel, - ClientGroupMembersCount, - ClientGroupMembersCollection, - ClientGroupMember, - PortReference, + ErrorResponse, + HostingConfiguration, + HypervisorConfiguration, + ImageConfiguration, + Ipv4NetworkInterface, + Ipv6NetworkInterface, + Machine, + MachineCountsByOperatingSystem, + MachineGroup, MachineReference, - ProcessReference, MachineReferenceWithHints, - ClientGroupReference, - Machine, - Timezone, - AgentConfiguration, MachineResourcesConfiguration, + MachinesSummary, NetworkConfiguration, - Ipv4NetworkInterface, - Ipv6NetworkInterface, OperatingSystemConfiguration, - VirtualMachineConfiguration, - HypervisorConfiguration, - HostingConfiguration, + Port, + PortReference, Process, ProcessDetails, ProcessHostedService, - ProcessUser, ProcessHostingConfiguration, - Port, - MachineGroup, - Summary, - MachinesSummary, - MachineCountsByOperatingSystem, + ProcessReference, + ProcessUser, Relationship, - Connection, - Acceptor, - AzureHostingConfiguration, - ImageConfiguration, - AzureCloudServiceConfiguration, - AzureVmScaleSetConfiguration, - AzureServiceFabricClusterConfiguration, - AzureProcessHostingConfiguration + Resource, + ResourceReference, + Summary, + Timezone, + VirtualMachineConfiguration } from "../models/mappers"; - diff --git a/sdk/service-map/arm-servicemap/src/models/index.ts b/sdk/service-map/arm-servicemap/src/models/index.ts index ce2d81fb3109..3664efa935f6 100644 --- a/sdk/service-map/arm-servicemap/src/models/index.ts +++ b/sdk/service-map/arm-servicemap/src/models/index.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; @@ -13,31 +11,23 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; - /** - * @interface - * An interface representing Resource. * Resource model definition. - * - * @extends BaseResource */ export interface Resource extends BaseResource { /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; } @@ -48,211 +38,175 @@ export interface Resource extends BaseResource { export type ResourceReferenceUnion = ResourceReference | MachineReference | ProcessReference | PortReference | MachineReferenceWithHints | ClientGroupReference; /** - * @interface - * An interface representing ResourceReference. * Represents a reference to another resource. - * */ export interface ResourceReference { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "ResourceReference"; /** - * @member {string} id Resource URI. + * Resource URI. */ id: string; /** - * @member {string} [type] Resource type qualifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type qualifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; } /** - * @interface - * An interface representing MachineReference. * Reference to a machine. - * */ export interface MachineReference { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "ref:machine"; /** - * @member {string} id Resource URI. + * Resource URI. */ id: string; /** - * @member {string} [type] Resource type qualifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type qualifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; } /** - * @interface - * An interface representing ProcessReference. * Reference to a process. - * */ export interface ProcessReference { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "ref:process"; /** - * @member {string} id Resource URI. + * Resource URI. */ id: string; /** - * @member {string} [type] Resource type qualifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type qualifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {MachineReference} [machine] Machine hosting the process. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Machine hosting the process. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly machine?: MachineReference; } /** - * @interface - * An interface representing PortReference. * Reference to a port. - * */ export interface PortReference { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "ref:port"; /** - * @member {string} id Resource URI. + * Resource URI. */ id: string; /** - * @member {string} [type] Resource type qualifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type qualifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {MachineReference} [machine] Machine hosting the port. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Machine hosting the port. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly machine?: MachineReference; /** - * @member {string} [ipAddress] IP address of the port. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * IP address of the port. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly ipAddress?: string; /** - * @member {number} [portNumber] Port number. + * Port number. */ portNumber?: number; } /** - * @interface - * An interface representing MachineReferenceWithHints. * A machine reference with a hint of the machine's name and operating system. - * */ export interface MachineReferenceWithHints { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "ref:machinewithhints"; /** - * @member {string} id Resource URI. + * Resource URI. */ id: string; /** - * @member {string} [type] Resource type qualifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type qualifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [displayNameHint] Last known display name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Last known display name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly displayNameHint?: string; /** - * @member {OperatingSystemFamily} [osFamilyHint] Last known operating system - * family. Possible values include: 'unknown', 'windows', 'linux', 'solaris', - * 'aix' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Last known operating system family. Possible values include: 'unknown', 'windows', 'linux', + * 'solaris', 'aix' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly osFamilyHint?: OperatingSystemFamily; } /** - * @interface - * An interface representing ClientGroupReference. * Reference to a client group. - * */ export interface ClientGroupReference { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "ref:clientgroup"; /** - * @member {string} id Resource URI. + * Resource URI. */ id: string; /** - * @member {string} [type] Resource type qualifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type qualifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; } @@ -263,247 +217,202 @@ export interface ClientGroupReference { export type CoreResourceUnion = CoreResource | Machine | Process | Port | ClientGroup | MachineGroup; /** - * @interface - * An interface representing CoreResource. * Marker resource for the core Service Map resources - * */ export interface CoreResource { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "CoreResource"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [etag] Resource ETAG. + * Resource ETAG. */ etag?: string; } /** - * @interface - * An interface representing Timezone. * Describes a timezone. - * */ export interface Timezone { /** - * @member {string} [fullName] Timezone full name. + * Timezone full name. */ fullName?: string; } /** - * @interface - * An interface representing AgentConfiguration. * Describes the configuration of the Dependency Agent installed on a machine. - * */ export interface AgentConfiguration { /** - * @member {string} agentId Health Service Agent unique identifier. + * Health Service Agent unique identifier. */ agentId: string; /** - * @member {string} [dependencyAgentId] Dependency Agent unique identifier. + * Dependency Agent unique identifier. */ dependencyAgentId?: string; /** - * @member {string} [dependencyAgentVersion] Dependency Agent version number. + * Dependency Agent version number. */ dependencyAgentVersion?: string; /** - * @member {string} [dependencyAgentRevision] Dependency Agent revision - * number. + * Dependency Agent revision number. */ dependencyAgentRevision?: string; /** - * @member {MachineRebootStatus} [rebootStatus] Specifies whether the machine - * has been rebooted since the Dependency Agent installation. Possible values - * include: 'unknown', 'rebooted', 'notRebooted' + * Specifies whether the machine has been rebooted since the Dependency Agent installation. + * Possible values include: 'unknown', 'rebooted', 'notRebooted' */ rebootStatus?: MachineRebootStatus; /** - * @member {number} [clockGranularity] Machine clock granularity in - * milliseconds. + * Machine clock granularity in milliseconds. */ clockGranularity?: number; } /** - * @interface - * An interface representing MachineResourcesConfiguration. * Describes the resources of a machine. - * */ export interface MachineResourcesConfiguration { /** - * @member {number} [physicalMemory] Physical memory in megabytes (MB). + * Physical memory in megabytes (MB). */ physicalMemory?: number; /** - * @member {number} [cpus] Number of CPUs. + * Number of CPUs. */ cpus?: number; /** - * @member {number} [cpuSpeed] CPU speed in megahertz (Mhz). + * CPU speed in megahertz (Mhz). */ cpuSpeed?: number; /** - * @member {Accuracy} [cpuSpeedAccuracy] Describes the accuracy of the - * cpuSpeed field. Possible values include: 'actual', 'estimated' + * Describes the accuracy of the cpuSpeed field. Possible values include: 'actual', 'estimated' */ cpuSpeedAccuracy?: Accuracy; } /** - * @interface - * An interface representing Ipv4NetworkInterface. * Describes an IPv4 network interface. - * */ export interface Ipv4NetworkInterface { /** - * @member {string} ipAddress IPv4 address. + * IPv4 address. */ ipAddress: string; /** - * @member {string} [subnetMask] IPv4 subnet mask. Default value: - * '255.255.255.255' . + * IPv4 subnet mask. Default value: '255.255.255.255'. */ subnetMask?: string; } /** - * @interface - * An interface representing Ipv6NetworkInterface. * Describes an IPv6 network interface. - * */ export interface Ipv6NetworkInterface { /** - * @member {string} ipAddress IPv6 address. + * IPv6 address. */ ipAddress: string; } /** - * @interface - * An interface representing NetworkConfiguration. * Describes the network configuration of a machine. - * */ export interface NetworkConfiguration { /** - * @member {Ipv4NetworkInterface[]} [ipv4Interfaces] IPv4 interfaces. + * IPv4 interfaces. */ ipv4Interfaces?: Ipv4NetworkInterface[]; /** - * @member {Ipv6NetworkInterface[]} [ipv6Interfaces] IPv6 interfaces. + * IPv6 interfaces. */ ipv6Interfaces?: Ipv6NetworkInterface[]; /** - * @member {string[]} [defaultIpv4Gateways] Default IPv4 gateways. + * Default IPv4 gateways. */ defaultIpv4Gateways?: string[]; /** - * @member {string[]} [macAddresses] MAC addresses of all active network - * interfaces. + * MAC addresses of all active network interfaces. */ macAddresses?: string[]; /** - * @member {string[]} [dnsNames] DNS names associated with the machine. + * DNS names associated with the machine. */ dnsNames?: string[]; } /** - * @interface - * An interface representing OperatingSystemConfiguration. * Describes the configuration of the operating system of a machine. - * */ export interface OperatingSystemConfiguration { /** - * @member {OperatingSystemFamily} family Windows, Linux, etc. Possible - * values include: 'unknown', 'windows', 'linux', 'solaris', 'aix' + * Windows, Linux, etc. Possible values include: 'unknown', 'windows', 'linux', 'solaris', 'aix' */ family: OperatingSystemFamily; /** - * @member {string} fullName Operating system full name. + * Operating system full name. */ fullName: string; /** - * @member {Bitness} bitness Operating system bitness (32-bit or 64-bit). - * Possible values include: '32bit', '64bit' + * Operating system bitness (32-bit or 64-bit). Possible values include: '32bit', '64bit' */ bitness: Bitness; } /** - * @interface - * An interface representing VirtualMachineConfiguration. - * Describes the virtualizaton-related configuration of a machine. - * + * Describes the virtualization-related configuration of a machine. */ export interface VirtualMachineConfiguration { /** - * @member {VirtualMachineType} [virtualMachineType] Specifies the - * virtualization technology used by the machine (hyperv, vmware, etc.). - * Possible values include: 'unknown', 'hyperv', 'ldom', 'lpar', 'vmware', - * 'virtualPc', 'xen' + * Specifies the virtualization technology used by the machine (hyperv, vmware, etc.). Possible + * values include: 'unknown', 'hyperv', 'ldom', 'lpar', 'vmware', 'virtualPc', 'xen' */ virtualMachineType?: VirtualMachineType; /** - * @member {string} [nativeMachineId] The unique identifier of the virtual - * machine as reported by the underlying virtualization sytem. + * The unique identifier of the virtual machine as reported by the underlying virtualization + * system. */ nativeMachineId?: string; /** - * @member {string} [virtualMachineName] The Name of the virtual machine. + * The Name of the virtual machine. */ virtualMachineName?: string; /** - * @member {string} [nativeHostMachineId] The unique identifier of the host - * of this virtual machine as reported by the underlying virtualization - * system. + * The unique identifier of the host of this virtual machine as reported by the underlying + * virtualization system. */ nativeHostMachineId?: string; } /** - * @interface - * An interface representing HypervisorConfiguration. * Describes the hypervisor configuration of a machine. - * */ export interface HypervisorConfiguration { /** - * @member {HypervisorType} [hypervisorType] Specifies the virtualization - * technology used by the hypervisor (hyperv, vmware, etc.). Possible values - * include: 'unknown', 'hyperv' + * Specifies the virtualization technology used by the hypervisor (hyperv, vmware, etc.). + * Possible values include: 'unknown', 'hyperv' */ hypervisorType?: HypervisorType; /** - * @member {string} [nativeHostMachineId] The unique identifier of the - * hypervisor machine as reported by the underlying virtualization system. + * The unique identifier of the hypervisor machine as reported by the underlying virtualization + * system. */ nativeHostMachineId?: string; } @@ -514,238 +423,202 @@ export interface HypervisorConfiguration { export type HostingConfigurationUnion = HostingConfiguration | AzureHostingConfiguration; /** - * @interface - * An interface representing HostingConfiguration. * Describes the hosting configuration of a machine. - * */ export interface HostingConfiguration { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "HostingConfiguration"; /** - * @member {Provider} [provider] The hosting provider of the VM. Possible - * values include: 'azure' + * The hosting provider of the VM. Possible values include: 'azure' */ provider?: Provider; } /** - * @interface - * An interface representing Machine. - * A machine resource represents a discovered computer system. It can be - * *monitored*, i.e., a Dependency Agent is running on it, or *discovered*, - * i.e., its existence was inferred by observing the data stream from monitored - * machines. As machines change, prior versions of the machine resource are - * preserved and available for access. A machine is live during an interval of - * time, if either its Dependency Agent has reported data during (parts) of - * that interval, or a Dependency agent running on other machines has reported - * activity associated with the machine. - * + * A machine resource represents a discovered computer system. It can be *monitored*, i.e., a + * Dependency Agent is running on it, or *discovered*, i.e., its existence was inferred by + * observing the data stream from monitored machines. As machines change, prior versions of the + * machine resource are preserved and available for access. A machine is live during an interval of + * time, if either its Dependency Agent has reported data during (parts) of that interval, or a + * Dependency agent running on other machines has reported activity associated with the machine. */ export interface Machine { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "machine"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [etag] Resource ETAG. + * Resource ETAG. */ etag?: string; /** - * @member {Date} [timestamp] UTC date and time when this resource was - * updated in the system. + * UTC date and time when this resource was updated in the system. */ timestamp?: Date; /** - * @member {MonitoringState} [monitoringState] Specifies whether the machine - * is actively monitored or discovered. Possible values include: 'monitored', - * 'discovered' + * Specifies whether the machine is actively monitored or discovered. Possible values include: + * 'monitored', 'discovered' */ monitoringState?: MonitoringState; /** - * @member {VirtualizationState} [virtualizationState] Specifies whether the - * machine is virtualized. Possible values include: 'unknown', 'physical', + * Specifies whether the machine is virtualized. Possible values include: 'unknown', 'physical', * 'virtual', 'hypervisor' */ virtualizationState?: VirtualizationState; /** - * @member {string} [displayName] Name to use for display purposes + * Name to use for display purposes */ displayName?: string; /** - * @member {string} [computerName] Name of the machine, e.g., server + * Name of the machine, e.g., server */ computerName?: string; /** - * @member {string} [fullyQualifiedDomainName] Fully-qualified name of the - * machine, e.g., server.company.com + * Fully-qualified name of the machine, e.g., server.company.com */ fullyQualifiedDomainName?: string; /** - * @member {Date} [bootTime] UTC date and time when the machine last booted + * UTC date and time when the machine last booted */ bootTime?: Date; /** - * @member {Timezone} [timezone] Timezone of the machine. + * Timezone of the machine. */ timezone?: Timezone; /** - * @member {AgentConfiguration} [agent] Dependency Agent configuration. + * Dependency Agent configuration. */ agent?: AgentConfiguration; /** - * @member {MachineResourcesConfiguration} [resources] Machine resources - * (memory, cpu, etc.). + * Machine resources (memory, cpu, etc.). */ resources?: MachineResourcesConfiguration; /** - * @member {NetworkConfiguration} [networking] Network configuration (ips, - * gateways, dns, etc.) + * Network configuration (ips, gateways, dns, etc.) */ networking?: NetworkConfiguration; /** - * @member {OperatingSystemConfiguration} [operatingSystem] Operating system - * information. + * Operating system information. */ operatingSystem?: OperatingSystemConfiguration; /** - * @member {VirtualMachineConfiguration} [virtualMachine] - * Virtualization-related configuration. Present only when - * `virtualizationState` is `virtual`. + * Virtualization-related configuration. Present only when `virtualizationState` is `virtual`. */ virtualMachine?: VirtualMachineConfiguration; /** - * @member {HypervisorConfiguration} [hypervisor] Hypervisor-related - * configuration. Present only when 'virtualizationState' is `hypervisor`. + * Hypervisor-related configuration. Present only when 'virtualizationState' is `hypervisor`. */ hypervisor?: HypervisorConfiguration; /** - * @member {HostingConfigurationUnion} [hosting] Hosting-related - * configuration. Present if hosting information is discovered for the VM. + * Hosting-related configuration. Present if hosting information is discovered for the VM. */ hosting?: HostingConfigurationUnion; } /** - * @interface - * An interface representing ProcessHostedService. * A service hosted by a process. - * */ export interface ProcessHostedService { /** - * @member {string} [name] The name of the service. + * The name of the service. */ name?: string; /** - * @member {string} [displayName] The service's display name. + * The service's display name. */ displayName?: string; } /** - * @interface - * An interface representing ProcessDetails. * Describes process metadata. - * */ export interface ProcessDetails { /** - * @member {string} [persistentKey] A unique indentifier for a process, - * generally resilient to process restart, computed by Service Map. + * A unique identifier for a process, generally resilient to process restart, computed by Service + * Map. */ persistentKey?: string; /** - * @member {number} [poolId] Represents the identity of the process pool - * assigned to the process by Dependency Agent. + * Represents the identity of the process pool assigned to the process by Dependency Agent. */ poolId?: number; /** - * @member {number} [firstPid] The Operating System Process Idendifier (PID) - * of the first process in this process pool. + * The Operating System Process Identifier (PID) of the first process in this process pool. */ firstPid?: number; /** - * @member {string} [description] Process description. + * Process description. */ description?: string; /** - * @member {string} [companyName] Name of company that created the process - * executable. + * Name of company that created the process executable. */ companyName?: string; /** - * @member {string} [internalName] Internal process name. + * Internal process name. */ internalName?: string; /** - * @member {string} [productName] Product name. + * Product name. */ productName?: string; /** - * @member {string} [productVersion] Product version. + * Product version. */ productVersion?: string; /** - * @member {string} [fileVersion] File version. + * File version. */ fileVersion?: string; /** - * @member {string} [commandLine] Process command line. + * Process command line. */ commandLine?: string; /** - * @member {string} [executablePath] Process executable path. + * Process executable path. */ executablePath?: string; /** - * @member {string} [workingDirectory] Process workingDirectory. + * Process workingDirectory. */ workingDirectory?: string; /** - * @member {ProcessHostedService[]} [services] Collection of services hosted - * by this Process (Windows only). + * Collection of services hosted by this Process (Windows only). */ services?: ProcessHostedService[]; /** - * @member {string} [zoneName] Process zone name (Linux only). + * Process zone name (Linux only). */ zoneName?: string; } /** - * @interface - * An interface representing ProcessUser. * Describes the user under which a process is running. - * */ export interface ProcessUser { /** - * @member {string} [userName] User name under which the process is running. + * User name under which the process is running. */ userName?: string; /** - * @member {string} [userDomain] Domain name for the user. + * Domain name for the user. */ userDomain?: string; } @@ -756,369 +629,308 @@ export interface ProcessUser { export type ProcessHostingConfigurationUnion = ProcessHostingConfiguration | AzureProcessHostingConfiguration; /** - * @interface - * An interface representing ProcessHostingConfiguration. * Describes the hosting configuration of a process. - * */ export interface ProcessHostingConfiguration { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "ProcessHostingConfiguration"; /** - * @member {Provider1} [provider] The hosting provider of the VM. Possible - * values include: 'azure' + * The hosting provider of the VM. Possible values include: 'azure' */ provider?: Provider1; } /** - * @interface - * An interface representing Process. - * A process resource represents a process running on a machine. The process - * may be actively *monitored*, i.e., a Dependency Agent is running on its - * machine, or *discovered*, i.e., its existence was inferred by observing the - * data stream from monitored machines. A process resource represents a pool of - * actual operating system resources that share command lines and metadata. As - * the process pool evolves over time, prior versions of the process resource - * are preserved and available for access. A process is live during an interval - * of time, if that process is executing during (parts) of that interval - * + * A process resource represents a process running on a machine. The process may be actively + * *monitored*, i.e., a Dependency Agent is running on its machine, or *discovered*, i.e., its + * existence was inferred by observing the data stream from monitored machines. A process resource + * represents a pool of actual operating system resources that share command lines and metadata. As + * the process pool evolves over time, prior versions of the process resource are preserved and + * available for access. A process is live during an interval of time, if that process is executing + * during (parts) of that interval */ export interface Process { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "process"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [etag] Resource ETAG. + * Resource ETAG. */ etag?: string; /** - * @member {Date} [timestamp] UTC date and time when this process resource - * was updated in the system + * UTC date and time when this process resource was updated in the system */ timestamp?: Date; /** - * @member {MonitoringState} [monitoringState] Specifies whether the process - * is actively monitored or discovered. Possible values include: 'monitored', - * 'discovered' + * Specifies whether the process is actively monitored or discovered. Possible values include: + * 'monitored', 'discovered' */ monitoringState?: MonitoringState; /** - * @member {ResourceReferenceUnion} [machine] Machine hosting this process. + * Machine hosting this process. */ machine?: ResourceReferenceUnion; /** - * @member {string} [executableName] The name of the process executable + * The name of the process executable */ executableName?: string; /** - * @member {string} [displayName] Name to use for display purposes + * Name to use for display purposes */ displayName?: string; /** - * @member {Date} [startTime] UTC date and time when the process started + * UTC date and time when the process started */ startTime?: Date; /** - * @member {ProcessRole} [role] The inferred role of this process based on - * its name, command line, etc. Possible values include: 'webServer', - * 'appServer', 'databaseServer', 'ldapServer', 'smbServer' + * The inferred role of this process based on its name, command line, etc. Possible values + * include: 'webServer', 'appServer', 'databaseServer', 'ldapServer', 'smbServer' */ role?: ProcessRole; /** - * @member {string} [group] The name of the product or suite of the process. - * The group is determined by its executable name, command line, etc. + * The name of the product or suite of the process. The group is determined by its executable + * name, command line, etc. */ group?: string; /** - * @member {ProcessDetails} [details] Process metadata (command line, product - * name, etc.). + * Process metadata (command line, product name, etc.). */ details?: ProcessDetails; /** - * @member {ProcessUser} [user] Information about the account under which the - * process is executing. + * Information about the account under which the process is executing. */ user?: ProcessUser; /** - * @member {ResourceReferenceUnion} [clientOf] Present only for a discovered - * process acting as a client of a monitored process/machine/port. References - * the monitored process/machine/port that this process is a client of. + * Present only for a discovered process acting as a client of a monitored process/machine/port. + * References the monitored process/machine/port that this process is a client of. */ clientOf?: ResourceReferenceUnion; /** - * @member {ResourceReferenceUnion} [acceptorOf] Present only for a - * discovered process acting as a server. References the port on which the + * Present only for a discovered process acting as a server. References the port on which the * discovered process is accepting. */ acceptorOf?: ResourceReferenceUnion; /** - * @member {ProcessHostingConfigurationUnion} [hosting] Information about the - * hosting environment + * Information about the hosting environment */ hosting?: ProcessHostingConfigurationUnion; } /** - * @interface - * An interface representing Port. - * A port resource represents a server port on a machine. The port may be - * actively *monitored*, i.e., a Dependency Agent is running on its machine, or - * *discovered*, i.e., its existence was inferred by observing the data stream - * from monitored machines. A port is live during an interval of time, if that - * port had associated activity during (parts) of that interval. - * + * A port resource represents a server port on a machine. The port may be actively *monitored*, + * i.e., a Dependency Agent is running on its machine, or *discovered*, i.e., its existence was + * inferred by observing the data stream from monitored machines. A port is live during an interval + * of time, if that port had associated activity during (parts) of that interval. */ export interface Port { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "port"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [etag] Resource ETAG. + * Resource ETAG. */ etag?: string; /** - * @member {MonitoringState} [monitoringState] Specifies whether the port is - * actively monitored or discovered. Possible values include: 'monitored', - * 'discovered' + * Specifies whether the port is actively monitored or discovered. Possible values include: + * 'monitored', 'discovered' */ monitoringState?: MonitoringState; /** - * @member {ResourceReferenceUnion} [machine] Machine hosting this port. + * Machine hosting this port. */ machine?: ResourceReferenceUnion; /** - * @member {string} [displayName] Name to use for display purposes. + * Name to use for display purposes. */ displayName?: string; /** - * @member {string} [ipAddress] IP address associated with the port. At - * present only IPv4 addresses are supported. + * IP address associated with the port. At present only IPv4 addresses are supported. */ ipAddress?: string; /** - * @member {number} [portNumber] Port number. + * Port number. */ portNumber?: number; } /** - * @interface - * An interface representing ClientGroup. - * Represents a collection of clients of a resource. A client group can - * represent the clients of a port, process, or a machine. - * + * Represents a collection of clients of a resource. A client group can represent the clients of a + * port, process, or a machine. */ export interface ClientGroup { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "clientGroup"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [etag] Resource ETAG. + * Resource ETAG. */ etag?: string; /** - * @member {ResourceReferenceUnion} clientsOf Reference to the resource whose - * clients are represented by this group. + * Reference to the resource whose clients are represented by this group. */ clientsOf: ResourceReferenceUnion; } /** - * @interface - * An interface representing ClientGroupMember. * Represents a member of a client group - * - * @extends Resource */ export interface ClientGroupMember extends Resource { /** - * @member {string} [ipAddress] IP address. + * IP address. */ ipAddress?: string; /** - * @member {PortReference} [port] Port into which this client connected + * Port into which this client connected */ port?: PortReference; /** - * @member {ProcessReference[]} [processes] Processes accepting on the above - * port that received connections from this client. + * Processes accepting on the above port that received connections from this client. */ processes?: ProcessReference[]; } /** - * @interface - * An interface representing MachineGroup. * A user-defined logical grouping of machines. - * */ export interface MachineGroup { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "machineGroup"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [etag] Resource ETAG. + * Resource ETAG. */ etag?: string; /** - * @member {MachineGroupType} [groupType] Type of the machine group. Possible - * values include: 'unknown', 'azure-cs', 'azure-sf', 'azure-vmss', - * 'user-static' + * Type of the machine group. Possible values include: 'unknown', 'azure-cs', 'azure-sf', + * 'azure-vmss', 'user-static' */ groupType?: MachineGroupType; /** - * @member {string} displayName User defined name for the group + * User defined name for the group */ displayName: string; /** - * @member {number} [count] Count of machines in this group. The value of - * count may be bigger than the number of machines in case of the group has - * been truncated due to exceeding the max number of machines a group can - * handle. + * Count of machines in this group. The value of count may be bigger than the number of machines + * in case of the group has been truncated due to exceeding the max number of machines a group + * can handle. */ count?: number; /** - * @member {MachineReferenceWithHints[]} [machines] References of the - * machines in this group. The hints within each reference do not represent - * the current value of the corresponding fields. They are a snapshot created - * during the last time the machine group was updated. + * References of the machines in this group. The hints within each reference do not represent the + * current value of the corresponding fields. They are a snapshot created during the last time + * the machine group was updated. */ machines?: MachineReferenceWithHints[]; } /** - * @interface - * An interface representing Summary. * Base for all resource summaries. - * - * @extends Resource */ export interface Summary extends Resource { } /** - * @interface - * An interface representing MachineCountsByOperatingSystem. * Machines by operating system. - * */ export interface MachineCountsByOperatingSystem { /** - * @member {number} windows Number of live Windows machines. + * Number of live Windows machines. */ windows: number; /** - * @member {number} linux Number of live Linux machines. + * Number of live Linux machines. */ linux: number; } /** - * @interface - * An interface representing MachinesSummary. * A summary of the machines in the workspace. - * - * @extends Summary */ export interface MachinesSummary extends Summary { /** - * @member {Date} startTime Summary interval start time. + * Summary interval start time. */ startTime: Date; /** - * @member {Date} endTime Summary interval end time. + * Summary interval end time. */ endTime: Date; /** - * @member {number} total Total number of machines. + * Total number of machines. */ total: number; /** - * @member {number} live Number of live machines. + * Number of live machines. */ live: number; /** - * @member {MachineCountsByOperatingSystem} os Machine counts by operating - * system. + * Machine counts by operating system. */ os: MachineCountsByOperatingSystem; } @@ -1129,462 +941,384 @@ export interface MachinesSummary extends Summary { export type RelationshipUnion = Relationship | Connection | Acceptor; /** - * @interface - * An interface representing Relationship. * A typed relationship between two entities. - * */ export interface Relationship { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "Relationship"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; } /** - * @interface - * An interface representing Connection. * A network connection. - * */ export interface Connection { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "rel:connection"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {ResourceReferenceUnion} source Source resource of the - * relationship. + * Source resource of the relationship. */ source: ResourceReferenceUnion; /** - * @member {ResourceReferenceUnion} destination Destination resource of the - * relationship. + * Destination resource of the relationship. */ destination: ResourceReferenceUnion; /** - * @member {Date} [startTime] Relationship start time. + * Relationship start time. */ startTime?: Date; /** - * @member {Date} [endTime] Relationship end time. + * Relationship end time. */ endTime?: Date; /** - * @member {PortReference} [serverPort] Reference to the server port via - * which this connection has been established. + * Reference to the server port via which this connection has been established. */ serverPort?: PortReference; /** - * @member {ConnectionFailureState} [failureState] Specifies whether there - * are only successful, failed or a mixture of both connections represented - * by this resource. Possible values include: 'ok', 'failed', 'mixed' + * Specifies whether there are only successful, failed or a mixture of both connections + * represented by this resource. Possible values include: 'ok', 'failed', 'mixed' */ failureState?: ConnectionFailureState; } /** - * @interface - * An interface representing Acceptor. * A process accepting on a port. - * */ export interface Acceptor { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "rel:acceptor"; /** - * @member {string} [id] Resource identifier. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource identifier. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [type] Resource type. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [name] Resource name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {PortReference} source Port being accepted. + * Port being accepted. */ source: PortReference; /** - * @member {ProcessReference} destination Accepting process. + * Accepting process. */ destination: ProcessReference; /** - * @member {Date} [startTime] Relationship start time. + * Relationship start time. */ startTime?: Date; /** - * @member {Date} [endTime] Relationship end time. + * Relationship end time. */ endTime?: Date; } /** - * @interface - * An interface representing SummaryProperties. * Base for all summaries. - * */ export interface SummaryProperties { /** - * @member {Date} startTime Summary interval start time. + * Summary interval start time. */ startTime: Date; /** - * @member {Date} endTime Summary interval end time. + * Summary interval end time. */ endTime: Date; } /** - * @interface - * An interface representing RelationshipProperties. * Relationship properties. - * */ export interface RelationshipProperties { /** - * @member {ResourceReferenceUnion} source Source resource of the - * relationship. + * Source resource of the relationship. */ source: ResourceReferenceUnion; /** - * @member {ResourceReferenceUnion} destination Destination resource of the - * relationship. + * Destination resource of the relationship. */ destination: ResourceReferenceUnion; /** - * @member {Date} [startTime] Relationship start time. + * Relationship start time. */ startTime?: Date; /** - * @member {Date} [endTime] Relationship end time. + * Relationship end time. */ endTime?: Date; } /** - * @interface - * An interface representing ImageConfiguration. * Describes the VM image of a machine. - * */ export interface ImageConfiguration { /** - * @member {string} [publisher] Publisher of the VM image. + * Publisher of the VM image. */ publisher?: string; /** - * @member {string} [offering] Offering of the VM image. + * Offering of the VM image. */ offering?: string; /** - * @member {string} [sku] SKU of the VM image. + * SKU of the VM image. */ sku?: string; /** - * @member {string} [version] Version of the VM image. + * Version of the VM image. */ version?: string; } /** - * @interface - * An interface representing AzureCloudServiceConfiguration. * Describes an Azure Cloud Service - * */ export interface AzureCloudServiceConfiguration { /** - * @member {string} [name] Cloud Service name + * Cloud Service name */ name?: string; /** - * @member {string} [instanceId] Cloud Service instance identifier + * Cloud Service instance identifier */ instanceId?: string; /** - * @member {string} [deployment] Cloud Service deployment identifier + * Cloud Service deployment identifier */ deployment?: string; /** - * @member {string} [roleName] Cloud Service role name + * Cloud Service role name */ roleName?: string; /** - * @member {AzureCloudServiceRoleType} [roleType] Used to specify type of an - * Azure Cloud Service role. Possible values include: 'unknown', 'worker', - * 'web' + * Used to specify type of an Azure Cloud Service role. Possible values include: 'unknown', + * 'worker', 'web' */ roleType?: AzureCloudServiceRoleType; } /** - * @interface - * An interface representing AzureVmScaleSetConfiguration. * Describes an Azure Virtual Machine Scale Set - * */ export interface AzureVmScaleSetConfiguration { /** - * @member {string} [name] Virtual Machine Scale Set name + * Virtual Machine Scale Set name */ name?: string; /** - * @member {string} [instanceId] Virtual Machine Scale Set instance - * identifier + * Virtual Machine Scale Set instance identifier */ instanceId?: string; /** - * @member {string} [deployment] Virtual Machine Scale Set deployment - * identifier + * Virtual Machine Scale Set deployment identifier */ deployment?: string; /** - * @member {string} [resourceId] Unique identifier of the resource. + * Unique identifier of the resource. */ resourceId?: string; } /** - * @interface - * An interface representing AzureServiceFabricClusterConfiguration. * Describes an Azure Service Fabric Cluster - * */ export interface AzureServiceFabricClusterConfiguration { /** - * @member {string} [name] Service Fabric cluster name. + * Service Fabric cluster name. */ name?: string; /** - * @member {string} [clusterId] Service Fabric cluster indentifier. + * Service Fabric cluster identifier. */ clusterId?: string; } /** - * @interface - * An interface representing AzureHostingConfiguration. * Provides information about how a machine is hosted in Azure - * */ export interface AzureHostingConfiguration { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "provider:azure"; /** - * @member {Provider} [provider] The hosting provider of the VM. Possible - * values include: 'azure' + * The hosting provider of the VM. Possible values include: 'azure' */ provider?: Provider; /** - * @member {string} [vmId] Virtual Machine ID (unique identifier). + * Virtual Machine ID (unique identifier). */ vmId?: string; /** - * @member {string} [location] Geographical location of the VM. + * Geographical location of the VM. */ location?: string; /** - * @member {string} [name] Machine name according to the hosting provider. + * Machine name according to the hosting provider. */ name?: string; /** - * @member {string} [size] Size of the VM. + * Size of the VM. */ size?: string; /** - * @member {string} [updateDomain] Update domain of the VM. + * Update domain of the VM. */ updateDomain?: string; /** - * @member {string} [faultDomain] Fault domain of the VM. + * Fault domain of the VM. */ faultDomain?: string; /** - * @member {string} [subscriptionId] Subscription ID. + * Subscription ID. */ subscriptionId?: string; /** - * @member {string} [resourceGroup] Resource group name within the specified - * subscription. + * Resource group name within the specified subscription. */ resourceGroup?: string; /** - * @member {string} [resourceId] Unique identifier of the resource. + * Unique identifier of the resource. */ resourceId?: string; /** - * @member {ImageConfiguration} [image] Image of the machine. + * Image of the machine. */ image?: ImageConfiguration; /** - * @member {AzureCloudServiceConfiguration} [cloudService] Contains - * information about machines hosted as an Azure Cloud Service + * Contains information about machines hosted as an Azure Cloud Service */ cloudService?: AzureCloudServiceConfiguration; /** - * @member {AzureVmScaleSetConfiguration} [vmScaleSet] Contains information - * about machines hosted as an Azure Virtual Machine Scale Set + * Contains information about machines hosted as an Azure Virtual Machine Scale Set */ vmScaleSet?: AzureVmScaleSetConfiguration; /** - * @member {AzureServiceFabricClusterConfiguration} [serviceFabricCluster] - * Contains information about machines that belong an Azure Service Fabric - * Cluster + * Contains information about machines that belong an Azure Service Fabric Cluster */ serviceFabricCluster?: AzureServiceFabricClusterConfiguration; } /** - * @interface - * An interface representing AzureProcessHostingConfiguration. * Describes the hosting configuration of a process when hosted on azure - * */ export interface AzureProcessHostingConfiguration { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "provider:azure"; /** - * @member {Provider1} [provider] The hosting provider of the VM. Possible - * values include: 'azure' + * The hosting provider of the VM. Possible values include: 'azure' */ provider?: Provider1; /** - * @member {AzureCloudServiceConfiguration} [cloudService] Contains - * information about the cloud service the process belongs to + * Contains information about the cloud service the process belongs to */ cloudService?: AzureCloudServiceConfiguration; } /** - * @interface - * An interface representing MapNodes. * The nodes (entities) of a map. - * */ export interface MapNodes { /** - * @member {Machine[]} [machines] Machine resources. + * Machine resources. */ machines?: Machine[]; /** - * @member {Process[]} [processes] Process resources. + * Process resources. */ processes?: Process[]; /** - * @member {Port[]} [ports] Port resources. + * Port resources. */ ports?: Port[]; /** - * @member {ClientGroup[]} [clientGroups] Client Group resources. + * Client Group resources. */ clientGroups?: ClientGroup[]; } /** - * @interface - * An interface representing MapEdges. * The edges (relationships) of a map. - * */ export interface MapEdges { /** - * @member {Connection[]} [connections] Network connections. + * Network connections. */ connections?: Connection[]; /** - * @member {Acceptor[]} [acceptors] Processes accepting on a port. + * Processes accepting on a port. */ acceptors?: Acceptor[]; } /** - * @interface - * An interface representing Map. * A map of resources and relationships between them. - * */ export interface Map { - /** - * @member {MapNodes} nodes - */ nodes: MapNodes; - /** - * @member {MapEdges} edges - */ edges: MapEdges; } /** - * @interface - * An interface representing Liveness. * Specifies the contents of a check liveness response. - * */ export interface Liveness { /** - * @member {Date} startTime Liveness interval start time. + * Liveness interval start time. */ startTime: Date; /** - * @member {Date} endTime Liveness interval end time. + * Liveness interval end time. */ endTime: Date; /** - * @member {boolean} live `true` if the resource is live during [startTime, - * endTime], `false` otherwise + * `true` if the resource is live during [startTime, endTime], `false` otherwise */ live: boolean; } @@ -1595,49 +1329,42 @@ export interface Liveness { export type MapRequestUnion = MapRequest | SingleMachineDependencyMapRequest | MultipleMachinesMapRequestUnion; /** - * @interface - * An interface representing MapRequest. * Specifies the contents of request to generate a map. - * */ export interface MapRequest { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "MapRequest"; /** - * @member {Date} [startTime] Map interval start time. + * Map interval start time. */ startTime?: Date; /** - * @member {Date} [endTime] Map interval end time. + * Map interval end time. */ endTime?: Date; } /** - * @interface - * An interface representing SingleMachineDependencyMapRequest. - * Specifies the computation of a single server dependency map. A single server - * dependency map includes all direct dependencies of a given machine. - * + * Specifies the computation of a single server dependency map. A single server dependency map + * includes all direct dependencies of a given machine. */ export interface SingleMachineDependencyMapRequest { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "map:single-machine-dependency"; /** - * @member {Date} [startTime] Map interval start time. + * Map interval start time. */ startTime?: Date; /** - * @member {Date} [endTime] Map interval end time. + * Map interval end time. */ endTime?: Date; /** - * @member {string} machineId URI of machine resource for which to generate - * the map. + * URI of machine resource for which to generate the map. */ machineId: string; } @@ -1648,732 +1375,592 @@ export interface SingleMachineDependencyMapRequest { export type MultipleMachinesMapRequestUnion = MultipleMachinesMapRequest | MachineListMapRequest | MachineGroupMapRequest; /** - * @interface - * An interface representing MultipleMachinesMapRequest. - * Provides a base class for describing map requests for a collection of - * machines - * + * Provides a base class for describing map requests for a collection of machines */ export interface MultipleMachinesMapRequest { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "MultipleMachinesMapRequest"; /** - * @member {Date} [startTime] Map interval start time. + * Map interval start time. */ startTime?: Date; /** - * @member {Date} [endTime] Map interval end time. + * Map interval end time. */ endTime?: Date; /** - * @member {boolean} [filterProcesses] If true, only processes between - * specified machines will be included. Any connections in or out of those - * processes will be included. + * If true, only processes between specified machines will be included. Any connections in or out + * of those processes will be included. */ filterProcesses?: boolean; } /** - * @interface - * An interface representing MachineListMapRequest. - * Specifies the computation of a one hope dependency map for a list of - * machines. The resulting map includes all direct dependencies for the - * specified machines. - * + * Specifies the computation of a one hope dependency map for a list of machines. The resulting map + * includes all direct dependencies for the specified machines. */ export interface MachineListMapRequest { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "map:machine-list-dependency"; /** - * @member {Date} [startTime] Map interval start time. + * Map interval start time. */ startTime?: Date; /** - * @member {Date} [endTime] Map interval end time. + * Map interval end time. */ endTime?: Date; /** - * @member {boolean} [filterProcesses] If true, only processes between - * specified machines will be included. Any connections in or out of those - * processes will be included. + * If true, only processes between specified machines will be included. Any connections in or out + * of those processes will be included. */ filterProcesses?: boolean; /** - * @member {string[]} machineIds a list of URIs of machine resources for - * which to generate the map. + * a list of URIs of machine resources for which to generate the map. */ machineIds: string[]; } /** - * @interface - * An interface representing MachineGroupMapRequest. - * Specifies the computation of a machine group dependency map. A machine group - * dependency map includes all direct dependencies the machines in the group. - * + * Specifies the computation of a machine group dependency map. A machine group dependency map + * includes all direct dependencies the machines in the group. */ export interface MachineGroupMapRequest { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "map:machine-group-dependency"; /** - * @member {Date} [startTime] Map interval start time. + * Map interval start time. */ startTime?: Date; /** - * @member {Date} [endTime] Map interval end time. + * Map interval end time. */ endTime?: Date; /** - * @member {boolean} [filterProcesses] If true, only processes between - * specified machines will be included. Any connections in or out of those - * processes will be included. + * If true, only processes between specified machines will be included. Any connections in or out + * of those processes will be included. */ filterProcesses?: boolean; /** - * @member {string} machineGroupId URI of machine group resource for which to - * generate the map. + * URI of machine group resource for which to generate the map. */ machineGroupId: string; } /** - * @interface - * An interface representing MapResponse. * Specified the contents of a map response. - * */ export interface MapResponse { /** - * @member {Date} startTime Map interval start time. + * Map interval start time. */ startTime: Date; /** - * @member {Date} endTime Map interval end time. + * Map interval end time. */ endTime: Date; /** - * @member {Map} map The generated map. + * The generated map. */ map: Map; } /** - * @interface - * An interface representing ClientGroupMembersCount. * Specifies the number of members in a client group. - * */ export interface ClientGroupMembersCount { /** - * @member {Date} startTime Membership interval start time. + * Membership interval start time. */ startTime: Date; /** - * @member {Date} endTime Membership interval start time. + * Membership interval start time. */ endTime: Date; /** - * @member {string} groupId Client Group URI. + * Client Group URI. */ groupId: string; /** - * @member {number} count Number of members in the client group. Use this - * value together with the value of ```accuracy```. If accuracy is `exact` - * then the value represents the actual number of members in the cloud. When - * accuracy is `estimated`, the actual number of members is larger than the + * Number of members in the client group. Use this value together with the value of + * ```accuracy```. If accuracy is `exact` then the value represents the actual number of members + * in the cloud. When accuracy is `estimated`, the actual number of members is larger than the * value of ```count```. */ count: number; /** - * @member {Accuracy} accuracy Accuracy of the reported count. Possible - * values include: 'actual', 'estimated' + * Accuracy of the reported count. Possible values include: 'actual', 'estimated' */ accuracy: Accuracy; } /** - * @interface - * An interface representing ErrorModel. * Error details. - * */ export interface ErrorModel { /** - * @member {string} code Error code identifying the specific error. + * Error code identifying the specific error. */ code: string; /** - * @member {string} [message] Error message in the caller's locale. + * Error message in the caller's locale. */ message?: string; } /** - * @interface - * An interface representing ErrorResponse. * An error response from the API. - * */ export interface ErrorResponse { /** - * @member {ErrorModel} error Error information. + * Error information. */ error: ErrorModel; } /** - * @interface - * An interface representing MachinesListByWorkspaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachinesListByWorkspaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {boolean} [live] Specifies whether to return live resources (true) - * or inventory resources (false). Defaults to **true**. When retrieving live - * resources, the start time (`startTime`) and end time (`endTime`) of the - * desired interval should be included. When retrieving inventory resources, - * an optional timestamp (`timestamp`) parameter can be specified to return - * the version of each resource closest (not-after) that timestamp. Default - * value: true . + * Specifies whether to return live resources (true) or inventory resources (false). Defaults to + * **true**. When retrieving live resources, the start time (`startTime`) and end time + * (`endTime`) of the desired interval should be included. When retrieving inventory resources, + * an optional timestamp (`timestamp`) parameter can be specified to return the version of each + * resource closest (not-after) that timestamp. Default value: true. */ live?: boolean; /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; /** - * @member {Date} [timestamp] UTC date and time specifying a time instance - * relative to which to evaluate each machine resource. Only applies when - * `live=false`. When not specified, the service uses DateTime.UtcNow. + * UTC date and time specifying a time instance relative to which to evaluate each machine + * resource. Only applies when `live=false`. When not specified, the service uses + * DateTime.UtcNow. */ timestamp?: Date; /** - * @member {number} [top] Page size to use. When not specified, the default - * page size is 100 records. + * Page size to use. When not specified, the default page size is 100 records. */ top?: number; } /** - * @interface - * An interface representing MachinesGetOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachinesGetOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [timestamp] UTC date and time specifying a time instance - * relative to which to evaluate the machine resource. When not specified, - * the service uses DateTime.UtcNow. + * UTC date and time specifying a time instance relative to which to evaluate the machine + * resource. When not specified, the service uses DateTime.UtcNow. */ timestamp?: Date; } /** - * @interface - * An interface representing MachinesGetLivenessOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachinesGetLivenessOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing MachinesListConnectionsOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachinesListConnectionsOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing MachinesListProcessesOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachinesListProcessesOptionalParams extends msRest.RequestOptionsBase { /** - * @member {boolean} [live] Specifies whether to return live resources (true) - * or inventory resources (false). Defaults to **true**. When retrieving live - * resources, the start time (`startTime`) and end time (`endTime`) of the - * desired interval should be included. When retrieving inventory resources, - * an optional timestamp (`timestamp`) parameter can be specified to return - * the version of each resource closest (not-after) that timestamp. Default - * value: true . + * Specifies whether to return live resources (true) or inventory resources (false). Defaults to + * **true**. When retrieving live resources, the start time (`startTime`) and end time + * (`endTime`) of the desired interval should be included. When retrieving inventory resources, + * an optional timestamp (`timestamp`) parameter can be specified to return the version of each + * resource closest (not-after) that timestamp. Default value: true. */ live?: boolean; /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; /** - * @member {Date} [timestamp] UTC date and time specifying a time instance - * relative to which to evaluate all process resource. Only applies when - * `live=false`. When not specified, the service uses DateTime.UtcNow. + * UTC date and time specifying a time instance relative to which to evaluate all process + * resource. Only applies when `live=false`. When not specified, the service uses + * DateTime.UtcNow. */ timestamp?: Date; } /** - * @interface - * An interface representing MachinesListPortsOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachinesListPortsOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing MachinesListMachineGroupMembershipOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachinesListMachineGroupMembershipOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing ProcessesGetOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ProcessesGetOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [timestamp] UTC date and time specifying a time instance - * relative to which to evaluate a resource. When not specified, the service - * uses DateTime.UtcNow. + * UTC date and time specifying a time instance relative to which to evaluate a resource. When + * not specified, the service uses DateTime.UtcNow. */ timestamp?: Date; } /** - * @interface - * An interface representing ProcessesGetLivenessOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ProcessesGetLivenessOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing ProcessesListAcceptingPortsOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ProcessesListAcceptingPortsOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing ProcessesListConnectionsOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ProcessesListConnectionsOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing PortsGetOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface PortsGetOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing PortsGetLivenessOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface PortsGetLivenessOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing PortsListAcceptingProcessesOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface PortsListAcceptingProcessesOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing PortsListConnectionsOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface PortsListConnectionsOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing ClientGroupsGetOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ClientGroupsGetOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing ClientGroupsGetMembersCountOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ClientGroupsGetMembersCountOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing ClientGroupsListMembersOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface ClientGroupsListMembersOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; /** - * @member {number} [top] Page size to use. When not specified, the default - * page size is 100 records. + * Page size to use. When not specified, the default page size is 100 records. */ top?: number; } /** - * @interface - * An interface representing SummariesGetMachinesOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SummariesGetMachinesOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing MachineGroupsListByWorkspaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachineGroupsListByWorkspaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface - * An interface representing MachineGroupsGetOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface MachineGroupsGetOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Date} [startTime] UTC date and time specifying the start time of - * an interval. When not specified the service uses DateTime.UtcNow - 10m + * UTC date and time specifying the start time of an interval. When not specified the service + * uses DateTime.UtcNow - 10m */ startTime?: Date; /** - * @member {Date} [endTime] UTC date and time specifying the end time of an - * interval. When not specified the service uses DateTime.UtcNow + * UTC date and time specifying the end time of an interval. When not specified the service uses + * DateTime.UtcNow */ endTime?: Date; } /** - * @interface * An interface representing ServicemapManagementClientOptions. - * @extends AzureServiceClientOptions */ export interface ServicemapManagementClientOptions extends AzureServiceClientOptions { - /** - * @member {string} [baseUri] - */ baseUri?: string; } - /** * @interface - * An interface representing the MachineCollection. * Collection of Machine resources. - * * @extends Array */ export interface MachineCollection extends Array { /** - * @member {string} [nextLink] The URL to the next set of resources. + * The URL to the next set of resources. */ nextLink?: string; } /** * @interface - * An interface representing the ConnectionCollection. * Collection of Connection resources. - * * @extends Array */ export interface ConnectionCollection extends Array { /** - * @member {string} [nextLink] The URL to the next set of resources. + * The URL to the next set of resources. */ nextLink?: string; } /** * @interface - * An interface representing the ProcessCollection. * Collection of Process resources. - * * @extends Array */ export interface ProcessCollection extends Array { /** - * @member {string} [nextLink] The URL to the next set of resources. + * The URL to the next set of resources. */ nextLink?: string; } /** * @interface - * An interface representing the PortCollection. * Collection of Port resources. - * * @extends Array */ export interface PortCollection extends Array { /** - * @member {string} [nextLink] The URL to the next set of resources. + * The URL to the next set of resources. */ nextLink?: string; } /** * @interface - * An interface representing the MachineGroupCollection. * Collection of Machine Group resources. - * * @extends Array */ export interface MachineGroupCollection extends Array { /** - * @member {string} [nextLink] The URL to the next set of resources. + * The URL to the next set of resources. */ nextLink?: string; } /** * @interface - * An interface representing the ClientGroupMembersCollection. * Collection of ClientGroupMember resources. - * * @extends Array */ export interface ClientGroupMembersCollection extends Array { /** - * @member {string} [nextLink] The URL to the next set of resources. + * The URL to the next set of resources. */ nextLink?: string; } @@ -2502,6 +2089,7 @@ export type MachinesListByWorkspaceResponse = MachineCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2521,6 +2109,7 @@ export type MachinesGetResponse = Machine & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2540,6 +2129,7 @@ export type MachinesGetLivenessResponse = Liveness & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2559,6 +2149,7 @@ export type MachinesListConnectionsResponse = ConnectionCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2578,6 +2169,7 @@ export type MachinesListProcessesResponse = ProcessCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2597,6 +2189,7 @@ export type MachinesListPortsResponse = PortCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2616,6 +2209,7 @@ export type MachinesListMachineGroupMembershipResponse = MachineGroupCollection * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2635,6 +2229,7 @@ export type MachinesListByWorkspaceNextResponse = MachineCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2654,6 +2249,7 @@ export type MachinesListConnectionsNextResponse = ConnectionCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2673,6 +2269,7 @@ export type MachinesListProcessesNextResponse = ProcessCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2692,6 +2289,7 @@ export type MachinesListPortsNextResponse = PortCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2711,6 +2309,7 @@ export type MachinesListMachineGroupMembershipNextResponse = MachineGroupCollect * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2730,6 +2329,7 @@ export type ProcessesGetResponse = Process & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2749,6 +2349,7 @@ export type ProcessesGetLivenessResponse = Liveness & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2768,6 +2369,7 @@ export type ProcessesListAcceptingPortsResponse = PortCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2787,6 +2389,7 @@ export type ProcessesListConnectionsResponse = ConnectionCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2806,6 +2409,7 @@ export type ProcessesListAcceptingPortsNextResponse = PortCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2825,6 +2429,7 @@ export type ProcessesListConnectionsNextResponse = ConnectionCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2844,6 +2449,7 @@ export type PortsGetResponse = Port & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2863,6 +2469,7 @@ export type PortsGetLivenessResponse = Liveness & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2882,6 +2489,7 @@ export type PortsListAcceptingProcessesResponse = ProcessCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2901,6 +2509,7 @@ export type PortsListConnectionsResponse = ConnectionCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2920,6 +2529,7 @@ export type PortsListAcceptingProcessesNextResponse = ProcessCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2939,6 +2549,7 @@ export type PortsListConnectionsNextResponse = ConnectionCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2958,6 +2569,7 @@ export type ClientGroupsGetResponse = ClientGroup & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2977,6 +2589,7 @@ export type ClientGroupsGetMembersCountResponse = ClientGroupMembersCount & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2996,6 +2609,7 @@ export type ClientGroupsListMembersResponse = ClientGroupMembersCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3015,6 +2629,7 @@ export type ClientGroupsListMembersNextResponse = ClientGroupMembersCollection & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3034,6 +2649,7 @@ export type MapsGenerateResponse = MapResponse & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3053,6 +2669,7 @@ export type SummariesGetMachinesResponse = MachinesSummary & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3072,6 +2689,7 @@ export type MachineGroupsListByWorkspaceResponse = MachineGroupCollection & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3091,6 +2709,7 @@ export type MachineGroupsCreateResponse = MachineGroup & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3110,6 +2729,7 @@ export type MachineGroupsGetResponse = MachineGroup & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3129,6 +2749,7 @@ export type MachineGroupsUpdateResponse = MachineGroup & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3148,6 +2769,7 @@ export type MachineGroupsListByWorkspaceNextResponse = MachineGroupCollection & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ diff --git a/sdk/service-map/arm-servicemap/src/models/machineGroupsMappers.ts b/sdk/service-map/arm-servicemap/src/models/machineGroupsMappers.ts index aec737704ee8..7a92af1662ef 100644 --- a/sdk/service-map/arm-servicemap/src/models/machineGroupsMappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/machineGroupsMappers.ts @@ -1,58 +1,55 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - MachineGroupCollection, - MachineGroup, - CoreResource, - Resource, + Acceptor, + AgentConfiguration, + AzureCloudServiceConfiguration, + AzureHostingConfiguration, + AzureProcessHostingConfiguration, + AzureServiceFabricClusterConfiguration, + AzureVmScaleSetConfiguration, BaseResource, - MachineReferenceWithHints, - ResourceReference, - ErrorResponse, - ErrorModel, - MachineReference, - ProcessReference, - PortReference, + ClientGroup, + ClientGroupMember, ClientGroupReference, + Connection, + CoreResource, + ErrorModel, + ErrorResponse, + HostingConfiguration, + HypervisorConfiguration, + ImageConfiguration, + Ipv4NetworkInterface, + Ipv6NetworkInterface, Machine, - Timezone, - AgentConfiguration, + MachineCountsByOperatingSystem, + MachineGroup, + MachineGroupCollection, + MachineReference, + MachineReferenceWithHints, MachineResourcesConfiguration, + MachinesSummary, NetworkConfiguration, - Ipv4NetworkInterface, - Ipv6NetworkInterface, OperatingSystemConfiguration, - VirtualMachineConfiguration, - HypervisorConfiguration, - HostingConfiguration, + Port, + PortReference, Process, ProcessDetails, ProcessHostedService, - ProcessUser, ProcessHostingConfiguration, - Port, - ClientGroup, - ClientGroupMember, - Summary, - MachinesSummary, - MachineCountsByOperatingSystem, + ProcessReference, + ProcessUser, Relationship, - Connection, - Acceptor, - AzureHostingConfiguration, - ImageConfiguration, - AzureCloudServiceConfiguration, - AzureVmScaleSetConfiguration, - AzureServiceFabricClusterConfiguration, - AzureProcessHostingConfiguration + Resource, + ResourceReference, + Summary, + Timezone, + VirtualMachineConfiguration } from "../models/mappers"; - diff --git a/sdk/service-map/arm-servicemap/src/models/machinesMappers.ts b/sdk/service-map/arm-servicemap/src/models/machinesMappers.ts index 04632700439d..a67340add909 100644 --- a/sdk/service-map/arm-servicemap/src/models/machinesMappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/machinesMappers.ts @@ -1,63 +1,60 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - MachineCollection, - Machine, - CoreResource, - Resource, - BaseResource, - Timezone, + Acceptor, AgentConfiguration, - MachineResourcesConfiguration, - NetworkConfiguration, + AzureCloudServiceConfiguration, + AzureHostingConfiguration, + AzureProcessHostingConfiguration, + AzureServiceFabricClusterConfiguration, + AzureVmScaleSetConfiguration, + BaseResource, + ClientGroup, + ClientGroupMember, + ClientGroupReference, + Connection, + ConnectionCollection, + CoreResource, + ErrorModel, + ErrorResponse, + HostingConfiguration, + HypervisorConfiguration, + ImageConfiguration, Ipv4NetworkInterface, Ipv6NetworkInterface, - OperatingSystemConfiguration, - VirtualMachineConfiguration, - HypervisorConfiguration, - HostingConfiguration, - ErrorResponse, - ErrorModel, Liveness, - ConnectionCollection, - Connection, - Relationship, - ResourceReference, - PortReference, + Machine, + MachineCollection, + MachineCountsByOperatingSystem, + MachineGroup, + MachineGroupCollection, MachineReference, - ProcessCollection, + MachineReferenceWithHints, + MachineResourcesConfiguration, + MachinesSummary, + NetworkConfiguration, + OperatingSystemConfiguration, + Port, + PortCollection, + PortReference, Process, + ProcessCollection, ProcessDetails, ProcessHostedService, - ProcessUser, ProcessHostingConfiguration, - PortCollection, - Port, - MachineGroupCollection, - MachineGroup, - MachineReferenceWithHints, ProcessReference, - ClientGroupReference, - ClientGroup, - ClientGroupMember, + ProcessUser, + Relationship, + Resource, + ResourceReference, Summary, - MachinesSummary, - MachineCountsByOperatingSystem, - Acceptor, - AzureHostingConfiguration, - ImageConfiguration, - AzureCloudServiceConfiguration, - AzureVmScaleSetConfiguration, - AzureServiceFabricClusterConfiguration, - AzureProcessHostingConfiguration + Timezone, + VirtualMachineConfiguration } from "../models/mappers"; - diff --git a/sdk/service-map/arm-servicemap/src/models/mappers.ts b/sdk/service-map/arm-servicemap/src/models/mappers.ts index 62ea9f57137e..2a50f46a2816 100644 --- a/sdk/service-map/arm-servicemap/src/models/mappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/mappers.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; @@ -211,7 +209,7 @@ export const CoreResource: msRest.CompositeMapper = { serializedName: "kind", clientName: "kind" }, - uberParent: "CoreResource", + uberParent: "BaseResource", className: "CoreResource", modelProperties: { ...Resource.type.modelProperties, @@ -1212,7 +1210,7 @@ export const Relationship: msRest.CompositeMapper = { serializedName: "kind", clientName: "kind" }, - uberParent: "Relationship", + uberParent: "BaseResource", className: "Relationship", modelProperties: { ...Resource.type.modelProperties, @@ -2217,4 +2215,5 @@ export const discriminators = { 'MapRequest.MultipleMachinesMapRequest' : MultipleMachinesMapRequest, 'MapRequest.map:machine-list-dependency' : MachineListMapRequest, 'MapRequest.map:machine-group-dependency' : MachineGroupMapRequest + }; diff --git a/sdk/service-map/arm-servicemap/src/models/mapsMappers.ts b/sdk/service-map/arm-servicemap/src/models/mapsMappers.ts index 8fb233f0605a..7987fadf3af4 100644 --- a/sdk/service-map/arm-servicemap/src/models/mapsMappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/mapsMappers.ts @@ -1,66 +1,63 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - MapRequest, - MapResponse, - Map, - MapNodes, - Machine, - CoreResource, - Resource, - BaseResource, - Timezone, + Acceptor, AgentConfiguration, - MachineResourcesConfiguration, - NetworkConfiguration, + AzureCloudServiceConfiguration, + AzureHostingConfiguration, + AzureProcessHostingConfiguration, + AzureServiceFabricClusterConfiguration, + AzureVmScaleSetConfiguration, + BaseResource, + ClientGroup, + ClientGroupMember, + ClientGroupReference, + Connection, + CoreResource, + ErrorModel, + ErrorResponse, + HostingConfiguration, + HypervisorConfiguration, + ImageConfiguration, Ipv4NetworkInterface, Ipv6NetworkInterface, + Machine, + MachineCountsByOperatingSystem, + MachineGroup, + MachineGroupMapRequest, + MachineListMapRequest, + MachineReference, + MachineReferenceWithHints, + MachineResourcesConfiguration, + MachinesSummary, + Map, + MapEdges, + MapNodes, + MapRequest, + MapResponse, + MultipleMachinesMapRequest, + NetworkConfiguration, OperatingSystemConfiguration, - VirtualMachineConfiguration, - HypervisorConfiguration, - HostingConfiguration, + Port, + PortReference, Process, - ResourceReference, ProcessDetails, ProcessHostedService, - ProcessUser, ProcessHostingConfiguration, - Port, - ClientGroup, - MapEdges, - Connection, - Relationship, - PortReference, - MachineReference, - Acceptor, ProcessReference, - ErrorResponse, - ErrorModel, - MachineReferenceWithHints, - ClientGroupReference, - ClientGroupMember, - MachineGroup, - Summary, - MachinesSummary, - MachineCountsByOperatingSystem, - AzureHostingConfiguration, - ImageConfiguration, - AzureCloudServiceConfiguration, - AzureVmScaleSetConfiguration, - AzureServiceFabricClusterConfiguration, - AzureProcessHostingConfiguration, + ProcessUser, + Relationship, + Resource, + ResourceReference, SingleMachineDependencyMapRequest, - MultipleMachinesMapRequest, - MachineListMapRequest, - MachineGroupMapRequest + Summary, + Timezone, + VirtualMachineConfiguration } from "../models/mappers"; - diff --git a/sdk/service-map/arm-servicemap/src/models/portsMappers.ts b/sdk/service-map/arm-servicemap/src/models/portsMappers.ts index a569dd7baedf..a229225dba52 100644 --- a/sdk/service-map/arm-servicemap/src/models/portsMappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/portsMappers.ts @@ -1,60 +1,57 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - Port, - CoreResource, - Resource, + Acceptor, + AgentConfiguration, + AzureCloudServiceConfiguration, + AzureHostingConfiguration, + AzureProcessHostingConfiguration, + AzureServiceFabricClusterConfiguration, + AzureVmScaleSetConfiguration, BaseResource, - ResourceReference, - ErrorResponse, + ClientGroup, + ClientGroupMember, + ClientGroupReference, + Connection, + ConnectionCollection, + CoreResource, ErrorModel, + ErrorResponse, + HostingConfiguration, + HypervisorConfiguration, + ImageConfiguration, + Ipv4NetworkInterface, + Ipv6NetworkInterface, Liveness, - ProcessCollection, - Process, - ProcessDetails, - ProcessHostedService, - ProcessUser, - ProcessHostingConfiguration, - ConnectionCollection, - Connection, - Relationship, - PortReference, + Machine, + MachineCountsByOperatingSystem, + MachineGroup, MachineReference, - ProcessReference, MachineReferenceWithHints, - ClientGroupReference, - Machine, - Timezone, - AgentConfiguration, MachineResourcesConfiguration, + MachinesSummary, NetworkConfiguration, - Ipv4NetworkInterface, - Ipv6NetworkInterface, OperatingSystemConfiguration, - VirtualMachineConfiguration, - HypervisorConfiguration, - HostingConfiguration, - ClientGroup, - ClientGroupMember, - MachineGroup, + Port, + PortReference, + Process, + ProcessCollection, + ProcessDetails, + ProcessHostedService, + ProcessHostingConfiguration, + ProcessReference, + ProcessUser, + Relationship, + Resource, + ResourceReference, Summary, - MachinesSummary, - MachineCountsByOperatingSystem, - Acceptor, - AzureHostingConfiguration, - ImageConfiguration, - AzureCloudServiceConfiguration, - AzureVmScaleSetConfiguration, - AzureServiceFabricClusterConfiguration, - AzureProcessHostingConfiguration + Timezone, + VirtualMachineConfiguration } from "../models/mappers"; - diff --git a/sdk/service-map/arm-servicemap/src/models/processesMappers.ts b/sdk/service-map/arm-servicemap/src/models/processesMappers.ts index 1aff84adefd5..06bd10002936 100644 --- a/sdk/service-map/arm-servicemap/src/models/processesMappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/processesMappers.ts @@ -1,60 +1,57 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - Process, - CoreResource, - Resource, + Acceptor, + AgentConfiguration, + AzureCloudServiceConfiguration, + AzureHostingConfiguration, + AzureProcessHostingConfiguration, + AzureServiceFabricClusterConfiguration, + AzureVmScaleSetConfiguration, BaseResource, - ResourceReference, - ProcessDetails, - ProcessHostedService, - ProcessUser, - ProcessHostingConfiguration, - ErrorResponse, + ClientGroup, + ClientGroupMember, + ClientGroupReference, + Connection, + ConnectionCollection, + CoreResource, ErrorModel, + ErrorResponse, + HostingConfiguration, + HypervisorConfiguration, + ImageConfiguration, + Ipv4NetworkInterface, + Ipv6NetworkInterface, Liveness, - PortCollection, - Port, - ConnectionCollection, - Connection, - Relationship, - PortReference, + Machine, + MachineCountsByOperatingSystem, + MachineGroup, MachineReference, - ProcessReference, MachineReferenceWithHints, - ClientGroupReference, - Machine, - Timezone, - AgentConfiguration, MachineResourcesConfiguration, + MachinesSummary, NetworkConfiguration, - Ipv4NetworkInterface, - Ipv6NetworkInterface, OperatingSystemConfiguration, - VirtualMachineConfiguration, - HypervisorConfiguration, - HostingConfiguration, - ClientGroup, - ClientGroupMember, - MachineGroup, + Port, + PortCollection, + PortReference, + Process, + ProcessDetails, + ProcessHostedService, + ProcessHostingConfiguration, + ProcessReference, + ProcessUser, + Relationship, + Resource, + ResourceReference, Summary, - MachinesSummary, - MachineCountsByOperatingSystem, - Acceptor, - AzureHostingConfiguration, - ImageConfiguration, - AzureCloudServiceConfiguration, - AzureVmScaleSetConfiguration, - AzureServiceFabricClusterConfiguration, - AzureProcessHostingConfiguration + Timezone, + VirtualMachineConfiguration } from "../models/mappers"; - diff --git a/sdk/service-map/arm-servicemap/src/models/summariesMappers.ts b/sdk/service-map/arm-servicemap/src/models/summariesMappers.ts index 7585dadbc8b4..715b7e401276 100644 --- a/sdk/service-map/arm-servicemap/src/models/summariesMappers.ts +++ b/sdk/service-map/arm-servicemap/src/models/summariesMappers.ts @@ -1,57 +1,54 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - MachinesSummary, - Summary, - Resource, + Acceptor, + AgentConfiguration, + AzureCloudServiceConfiguration, + AzureHostingConfiguration, + AzureProcessHostingConfiguration, + AzureServiceFabricClusterConfiguration, + AzureVmScaleSetConfiguration, BaseResource, - MachineCountsByOperatingSystem, - ErrorResponse, - ErrorModel, + ClientGroup, + ClientGroupMember, + ClientGroupReference, + Connection, CoreResource, + ErrorModel, + ErrorResponse, + HostingConfiguration, + HypervisorConfiguration, + ImageConfiguration, + Ipv4NetworkInterface, + Ipv6NetworkInterface, Machine, - Timezone, - AgentConfiguration, + MachineCountsByOperatingSystem, + MachineGroup, + MachineReference, + MachineReferenceWithHints, MachineResourcesConfiguration, + MachinesSummary, NetworkConfiguration, - Ipv4NetworkInterface, - Ipv6NetworkInterface, OperatingSystemConfiguration, - VirtualMachineConfiguration, - HypervisorConfiguration, - HostingConfiguration, + Port, + PortReference, Process, - ResourceReference, ProcessDetails, ProcessHostedService, - ProcessUser, ProcessHostingConfiguration, - Port, - ClientGroup, - ClientGroupMember, - PortReference, - MachineReference, ProcessReference, - MachineGroup, - MachineReferenceWithHints, + ProcessUser, Relationship, - Connection, - Acceptor, - AzureHostingConfiguration, - ImageConfiguration, - AzureCloudServiceConfiguration, - AzureVmScaleSetConfiguration, - AzureServiceFabricClusterConfiguration, - AzureProcessHostingConfiguration, - ClientGroupReference + Resource, + ResourceReference, + Summary, + Timezone, + VirtualMachineConfiguration } from "../models/mappers"; - diff --git a/sdk/service-map/arm-servicemap/src/servicemapManagementClientContext.ts b/sdk/service-map/arm-servicemap/src/servicemapManagementClientContext.ts index f8de5ae717ed..782f18140578 100644 --- a/sdk/service-map/arm-servicemap/src/servicemapManagementClientContext.ts +++ b/sdk/service-map/arm-servicemap/src/servicemapManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-servicemap"; -const packageVersion = "0.1.0"; +const packageVersion = "2.2.0"; export class ServicemapManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/sdk/service-map/arm-servicemap/tsconfig.json b/sdk/service-map/arm-servicemap/tsconfig.json index 87bbf5b5fa49..422b584abd5e 100644 --- a/sdk/service-map/arm-servicemap/tsconfig.json +++ b/sdk/service-map/arm-servicemap/tsconfig.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, "outDir": "./esm", "importHelpers": true diff --git a/sdk/servicebus/service-bus/package.json b/sdk/servicebus/service-bus/package.json index db434837b789..77b882b7615b 100644 --- a/sdk/servicebus/service-bus/package.json +++ b/sdk/servicebus/service-bus/package.json @@ -52,7 +52,7 @@ "integration-test:browser": "node .scripts/buildBrowserTestResources.js && karma start --single-run", "integration-test:node": "mocha -t 120000 test-dist/index.js --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=-", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o service-bus-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f html -o service-bus-lintReport.html || exit 0", "lint-fix": "eslint -c ../../.eslintrc.json src test samples --ext .ts --fix --fix-type [problem,suggestion]", "pack": "npm pack 2>&1", "prebuild": "npm run clean", @@ -69,6 +69,7 @@ "@azure/ms-rest-nodeauth": "^0.9.2", "@types/is-buffer": "^2.0.0", "@types/long": "^4.0.0", + "buffer": "^5.2.1", "debug": "^3.1.0", "is-buffer": "^2.0.3", "long": "^4.0.0", @@ -78,7 +79,7 @@ "tslib": "^1.9.3" }, "devDependencies": { - "@azure/arm-servicebus": "^0.1.0", + "@azure/arm-servicebus": "^3.2.0", "@microsoft/api-extractor": "^7.1.5", "@types/async-lock": "^1.1.0", "@types/chai": "^4.1.6", @@ -88,24 +89,22 @@ "@types/mocha": "^5.2.5", "@types/node": "^8.0.0", "@types/ws": "^6.0.1", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", - "buffer": "^5.2.1", "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "cross-env": "^5.2.0", "delay": "^4.2.0", - "dotenv": "^7.0.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "dotenv": "^8.0.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", "https-proxy-agent": "^2.2.1", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", @@ -134,8 +133,8 @@ "rollup-plugin-shim": "^1.0.0", "rollup-plugin-sourcemaps": "^0.4.2", "rollup-plugin-terser": "^5.1.1", - "ts-node": "^7.0.1", + "ts-node": "^8.3.0", "typescript": "^3.2.2", - "ws": "^6.2.1" + "ws": "^7.1.1" } } diff --git a/sdk/servicebus/service-bus/review/service-bus.api.md b/sdk/servicebus/service-bus/review/service-bus.api.md index 8b6d378ef1a2..1792bcd00e56 100644 --- a/sdk/servicebus/service-bus/review/service-bus.api.md +++ b/sdk/servicebus/service-bus/review/service-bus.api.md @@ -68,8 +68,8 @@ export interface OnMessage { // @public export class QueueClient implements Client { close(): Promise; - createReceiver(receiveMode: ReceiveMode, sessionOptions: SessionReceiverOptions): SessionReceiver; createReceiver(receiveMode: ReceiveMode): Receiver; + createReceiver(receiveMode: ReceiveMode, sessionOptions: SessionReceiverOptions): SessionReceiver; createSender(): Sender; readonly entityPath: string; static getDeadLetterQueuePath(queueName: string): string; diff --git a/sdk/servicebus/service-bus/rollup.base.config.js b/sdk/servicebus/service-bus/rollup.base.config.js index b5be1ddfca88..8e868ed17ad0 100644 --- a/sdk/servicebus/service-bus/rollup.base.config.js +++ b/sdk/servicebus/service-bus/rollup.base.config.js @@ -139,14 +139,10 @@ export function browserConfig({ test = false, production = false } = {}) { nodeResolve({ mainFields: ["module", "browser"], - preferBuiltins: false, - dedupe: ["buffer"] + preferBuiltins: false }), cjs({ - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 - namedExports: { "events/": ["EventEmitter"], long: ["ZERO"] } + namedExports: { events: ["EventEmitter"], long: ["ZERO"] } }), // rhea and rhea-promise use the Buffer global which requires diff --git a/sdk/servicebus/service-bus/samples/javascript/gettingStarted/loginWithAzureAccount.js b/sdk/servicebus/service-bus/samples/javascript/gettingStarted/loginWithAzureAccount.js index 2c45fb2b2d64..ea389ce9c951 100644 --- a/sdk/servicebus/service-bus/samples/javascript/gettingStarted/loginWithAzureAccount.js +++ b/sdk/servicebus/service-bus/samples/javascript/gettingStarted/loginWithAzureAccount.js @@ -10,7 +10,7 @@ region. AAD Role Based Access Control is not supported in other regions yet. In the Azure portal, go to your Service Bus resource and click on the Access control (IAM) tab. - Here, assign "owner" role to your account. + Here, assign "Azure Service Bus Data Owner (Preview)" role to your account. */ const { ServiceBusClient } = require("@azure/service-bus"); diff --git a/sdk/servicebus/service-bus/samples/javascript/gettingStarted/servicePrincipalLogin.js b/sdk/servicebus/service-bus/samples/javascript/gettingStarted/servicePrincipalLogin.js index 0b806af081ca..b3cf3851e9aa 100644 --- a/sdk/servicebus/service-bus/samples/javascript/gettingStarted/servicePrincipalLogin.js +++ b/sdk/servicebus/service-bus/samples/javascript/gettingStarted/servicePrincipalLogin.js @@ -9,13 +9,13 @@ Please ensure that your Azure Service Bus resource is in US East, US East 2, or West Europe region. AAD Role Based Access Control is not supported in other regions yet. - Register a new application in AAD and assign the "owner" role to it + Register a new application in AAD and assign the "Azure Service Bus Data Owner (Preview)" role to it - See https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app to register a new application in the Azure Active Directory. - Note down the CLIENT_ID and TENANT_ID from the above step. - In the "Certificates & Secrets" tab, create a secret and note that down. - In the Azure portal, go to your Service Bus resource and click on the Access control (IAM) - tab. Here, assign "owner" role to the registered application. + tab. Here, assign "Azure Service Bus Data Owner (Preview)" role to the registered application. */ const { ServiceBusClient } = require("@azure/service-bus"); diff --git a/sdk/servicebus/service-bus/samples/typescript/gettingStarted/loginWithAzureAccount.ts b/sdk/servicebus/service-bus/samples/typescript/gettingStarted/loginWithAzureAccount.ts index 761609b0e044..3ec4770c80e9 100644 --- a/sdk/servicebus/service-bus/samples/typescript/gettingStarted/loginWithAzureAccount.ts +++ b/sdk/servicebus/service-bus/samples/typescript/gettingStarted/loginWithAzureAccount.ts @@ -10,7 +10,7 @@ region. AAD Role Based Access Control is not supported in other regions yet. In the Azure portal, go to your Service Bus resource and click on the Access control (IAM) tab. - Here, assign "owner" role to your account. + Here, assign "Azure Service Bus Data Owner (Preview)" role to your account. */ import { ServiceBusClient } from "@azure/service-bus"; diff --git a/sdk/servicebus/service-bus/samples/typescript/gettingStarted/servicePrincipalLogin.ts b/sdk/servicebus/service-bus/samples/typescript/gettingStarted/servicePrincipalLogin.ts index 670c36b276bb..f6c670197c03 100644 --- a/sdk/servicebus/service-bus/samples/typescript/gettingStarted/servicePrincipalLogin.ts +++ b/sdk/servicebus/service-bus/samples/typescript/gettingStarted/servicePrincipalLogin.ts @@ -9,13 +9,13 @@ Please ensure that your Azure Service Bus resource is in US East, US East 2, or West Europe region. AAD Role Based Access Control is not supported in other regions yet. - Register a new application in AAD and assign the "owner" role to it + Register a new application in AAD and assign the "Azure Service Bus Data Owner (Preview)" role to it - See https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app to register a new application in the Azure Active Directory. - Note down the CLIENT_ID and TENANT_ID from the above step. - In the "Certificates & Secrets" tab, create a secret and note that down. - In the Azure portal, go to your Service Bus resource and click on the Access control (IAM) - tab. Here, assign "owner" role to the registered application. + tab. Here, assign "Azure Service Bus Data Owner (Preview)" role to the registered application. */ import { ServiceBusClient } from "@azure/service-bus"; diff --git a/sdk/servicebus/service-bus/test/README.md b/sdk/servicebus/service-bus/test/README.md index 3cb02df9ec96..24b735b38c20 100644 --- a/sdk/servicebus/service-bus/test/README.md +++ b/sdk/servicebus/service-bus/test/README.md @@ -105,11 +105,11 @@ Go through the following setup in order to delete and create the required servic **Assign owner role to the registered application** -- In the azure-portal, go to your servicebus-namespace and assign **owner** role to the registered application. -- This can be done from `Access control (IAM)` tab(in the left-side-navbar of your servicebus-namespace in the azure-portal)
-_Doing this would allow the registered application manage the namespace, i.e., entity creation, deletion, etc.,_
-_**Note:** AAD RBAC is enabled only on the new namespaces in this region for the preview. Please ensure that your servicebus-namespace is present in one of these regions: **US East, US East 2, or West Europe**. If not, create the namespace in one of those regions._ - +- In the azure-portal, go to your servicebus-namespace and assign **Azure Service Bus Data Owner (Preview)** role to the registered application. +- This can be done from `Role assignment` section of `Access control (IAM)` tab (in the left-side-navbar of your servicebus-namespace in the azure-portal)
+ _Doing this would allow the registered application manage the namespace, i.e., entity creation, deletion, etc.,_
+ _**Note:** AAD RBAC is enabled only on the new namespaces in this region for the preview. Please ensure that your servicebus-namespace is present in one of these regions: **US East, US East 2, or West Europe**. If not, create the namespace in one of those regions._ +- For more information on Service Bus RBAC setup - [Learn more](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-role-based-access-control) **Update your environment variables** diff --git a/sdk/signalr/arm-signalr/LICENSE.txt b/sdk/signalr/arm-signalr/LICENSE.txt index a70e8cf66038..b73b4a1293c3 100644 --- a/sdk/signalr/arm-signalr/LICENSE.txt +++ b/sdk/signalr/arm-signalr/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/signalr/arm-signalr/README.md b/sdk/signalr/arm-signalr/README.md index 278f0caefac9..c2b8b2a30c49 100644 --- a/sdk/signalr/arm-signalr/README.md +++ b/sdk/signalr/arm-signalr/README.md @@ -9,7 +9,7 @@ This package contains an isomorphic SDK for SignalRManagementClient. ### How to Install -``` +```bash npm install @azure/arm-signalr ``` @@ -19,13 +19,13 @@ npm install @azure/arm-signalr ##### Install @azure/ms-rest-nodeauth -``` +```bash npm install @azure/ms-rest-nodeauth ``` ##### Sample code -```ts +```typescript import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; @@ -47,7 +47,7 @@ msRestNodeAuth.interactiveLogin().then((creds) => { ##### Install @azure/ms-rest-browserauth -``` +```bash npm install @azure/ms-rest-browserauth ``` @@ -95,5 +95,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) - ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/signalr/arm-signalr/README.png) diff --git a/sdk/signalr/arm-signalr/package.json b/sdk/signalr/arm-signalr/package.json index ee959f237a24..d8c5b5b63f84 100644 --- a/sdk/signalr/arm-signalr/package.json +++ b/sdk/signalr/arm-signalr/package.json @@ -2,10 +2,10 @@ "name": "@azure/arm-signalr", "author": "Microsoft Corporation", "description": "SignalRManagementClient Library with typescript type definitions for node.js and browser.", - "version": "1.2.0", + "version": "2.0.0", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", + "@azure/ms-rest-azure-js": "^1.3.2", + "@azure/ms-rest-js": "^1.8.1", "tslib": "^1.9.3" }, "keywords": [ @@ -23,15 +23,16 @@ "typescript": "^3.1.1", "rollup": "^0.66.2", "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/signalr/arm-signalr", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/signalr/arm-signalr", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", @@ -43,6 +44,7 @@ "esm/**/*.d.ts", "esm/**/*.d.ts.map", "src/**/*.ts", + "README.md", "rollup.config.js", "tsconfig.json" ], @@ -52,5 +54,5 @@ "prepack": "npm install && npm run build" }, "sideEffects": false, - "authPublish": true + "autoPublish": true } diff --git a/sdk/signalr/arm-signalr/rollup.config.js b/sdk/signalr/arm-signalr/rollup.config.js index 5ce4fd696a08..7ee4e27aa63f 100644 --- a/sdk/signalr/arm-signalr/rollup.config.js +++ b/sdk/signalr/arm-signalr/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/signalRManagementClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/signalRManagementClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-signalr.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ module: true }), + sourcemaps() ] }; + export default config; diff --git a/sdk/signalr/arm-signalr/src/models/index.ts b/sdk/signalr/arm-signalr/src/models/index.ts index 1af7d1a71449..7f27a39bbd18 100644 --- a/sdk/signalr/arm-signalr/src/models/index.ts +++ b/sdk/signalr/arm-signalr/src/models/index.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; @@ -13,644 +11,547 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; - /** - * @interface - * An interface representing OperationDisplay. * The object that describes a operation. - * */ export interface OperationDisplay { /** - * @member {string} [provider] Friendly name of the resource provider + * Friendly name of the resource provider */ provider?: string; /** - * @member {string} [resource] Resource type on which the operation is - * performed. + * Resource type on which the operation is performed. */ resource?: string; /** - * @member {string} [operation] The localized friendly name for the - * operation. + * The localized friendly name for the operation. */ operation?: string; /** - * @member {string} [description] The localized friendly description for the - * operation + * The localized friendly description for the operation */ description?: string; } /** - * @interface - * An interface representing Dimension. * Specifications of the Dimension of metrics. - * */ export interface Dimension { /** - * @member {string} [name] The public facing name of the dimension. + * The public facing name of the dimension. */ name?: string; /** - * @member {string} [displayName] Localized friendly display name of the - * dimension. + * Localized friendly display name of the dimension. */ displayName?: string; /** - * @member {string} [internalName] Name of the dimension as it appears in - * MDM. + * Name of the dimension as it appears in MDM. */ internalName?: string; /** - * @member {boolean} [toBeExportedForShoebox] A Boolean flag indicating - * whether this dimension should be included for the shoebox export scenario. + * A Boolean flag indicating whether this dimension should be included for the shoebox export + * scenario. */ toBeExportedForShoebox?: boolean; } /** - * @interface - * An interface representing MetricSpecification. * Specifications of the Metrics for Azure Monitoring. - * */ export interface MetricSpecification { /** - * @member {string} [name] Name of the metric. + * Name of the metric. */ name?: string; /** - * @member {string} [displayName] Localized friendly display name of the - * metric. + * Localized friendly display name of the metric. */ displayName?: string; /** - * @member {string} [displayDescription] Localized friendly description of - * the metric. + * Localized friendly description of the metric. */ displayDescription?: string; /** - * @member {string} [unit] The unit that makes sense for the metric. + * The unit that makes sense for the metric. */ unit?: string; /** - * @member {string} [aggregationType] Only provide one value for this field. - * Valid values: Average, Minimum, Maximum, Total, Count. + * Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count. */ aggregationType?: string; /** - * @member {string} [fillGapWithZero] Optional. If set to true, then zero - * will be returned for time duration where no metric is emitted/published. - * Ex. a metric that returns the number of times a particular error code was - * emitted. The error code may not appear - * often, instead of the RP publishing 0, Shoebox can auto fill in 0s for - * time periods where nothing was emitted. + * Optional. If set to true, then zero will be returned for time duration where no metric is + * emitted/published. + * Ex. a metric that returns the number of times a particular error code was emitted. The error + * code may not appear + * often, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where + * nothing was emitted. */ fillGapWithZero?: string; /** - * @member {string} [category] The name of the metric category that the - * metric belongs to. A metric can only belong to a single category. + * The name of the metric category that the metric belongs to. A metric can only belong to a + * single category. */ category?: string; /** - * @member {Dimension[]} [dimensions] The dimensions of the metrics. + * The dimensions of the metrics. */ dimensions?: Dimension[]; } /** - * @interface - * An interface representing ServiceSpecification. * An object that describes a specification. - * */ export interface ServiceSpecification { /** - * @member {MetricSpecification[]} [metricSpecifications] Specifications of - * the Metrics for Azure Monitoring. + * Specifications of the Metrics for Azure Monitoring. */ metricSpecifications?: MetricSpecification[]; } /** - * @interface - * An interface representing OperationProperties. * Extra Operation properties. - * */ export interface OperationProperties { /** - * @member {ServiceSpecification} [serviceSpecification] The service - * specifications. + * The service specifications. */ serviceSpecification?: ServiceSpecification; } /** - * @interface - * An interface representing Operation. * REST API operation supported by SignalR resource provider. - * */ export interface Operation { /** - * @member {string} [name] Name of the operation with format: - * {provider}/{resource}/{operation} + * Name of the operation with format: {provider}/{resource}/{operation} */ name?: string; /** - * @member {OperationDisplay} [display] The object that describes the - * operation. + * The object that describes the operation. */ display?: OperationDisplay; /** - * @member {string} [origin] Optional. The intended executor of the - * operation; governs the display of the operation in the RBAC UX and the - * audit logs UX. + * Optional. The intended executor of the operation; governs the display of the operation in the + * RBAC UX and the audit logs UX. */ origin?: string; /** - * @member {OperationProperties} [properties] Extra properties for the - * operation. + * Extra properties for the operation. */ properties?: OperationProperties; } /** - * @interface - * An interface representing NameAvailabilityParameters. * Data POST-ed to the nameAvailability action - * */ export interface NameAvailabilityParameters { /** - * @member {string} type The resource type. Should be always - * "Microsoft.SignalRService/SignalR". + * The resource type. Should be always "Microsoft.SignalRService/SignalR". */ type: string; /** - * @member {string} name The SignalR service name to validate. - * e.g."my-signalR-name-here" + * The SignalR service name to validate. e.g."my-signalR-name-here" */ name: string; } /** - * @interface - * An interface representing NameAvailability. - * Result of the request to check name availability. It contains a flag and - * possible reason of failure. - * + * Result of the request to check name availability. It contains a flag and possible reason of + * failure. */ export interface NameAvailability { /** - * @member {boolean} [nameAvailable] Indicates whether the name is available - * or not. + * Indicates whether the name is available or not. */ nameAvailable?: boolean; /** - * @member {string} [reason] The reason of the availability. Required if name - * is not available. + * The reason of the availability. Required if name is not available. */ reason?: string; /** - * @member {string} [message] The message of the operation. + * The message of the operation. */ message?: string; } /** - * @interface - * An interface representing ResourceSku. - * The billing information of the resource.(e.g. basic vs. standard) - * + * The billing information of the SignalR resource. */ export interface ResourceSku { /** - * @member {string} name The name of the SKU. This is typically a letter + - * number code, such as A0 or P3. Required (if sku is specified) + * The name of the SKU. Required. + * + * Allowed values: Standard_S1, Free_F1 */ name: string; /** - * @member {SignalRSkuTier} [tier] Optional tier of this particular SKU. - * `Basic` is deprecated, use `Standard` instead for Basic tier. Possible - * values include: 'Free', 'Basic', 'Standard', 'Premium' + * Optional tier of this particular SKU. 'Standard' or 'Free'. + * + * `Basic` is deprecated, use `Standard` instead. Possible values include: 'Free', 'Basic', + * 'Standard', 'Premium' */ tier?: SignalRSkuTier; /** - * @member {string} [size] Optional, string. When the name field is the - * combination of tier and some other value, this would be the standalone - * code. + * Optional string. For future use. */ size?: string; /** - * @member {string} [family] Optional, string. If the service has different - * generations of hardware, for the same SKU, then that can be captured here. + * Optional string. For future use. */ family?: string; /** - * @member {number} [capacity] Optional, integer. If the SKU supports scale - * out/in then the capacity integer should be included. If scale out/in is - * not - * possible for the resource this may be omitted. + * Optional, integer. The unit count of SignalR resource. 1 by default. + * + * If present, following values are allowed: + * Free: 1 + * Standard: 1,2,5,10,20,50,100 */ capacity?: number; } /** - * @interface - * An interface representing Resource. * The core properties of ARM resources. - * - * @extends BaseResource */ export interface Resource extends BaseResource { /** - * @member {string} [id] Fully qualified resource Id for the resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Fully qualified resource Id for the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] The name of the resouce. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The name of the resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] The type of the service - e.g. - * "Microsoft.SignalRService/SignalR" - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The type of the service - e.g. "Microsoft.SignalRService/SignalR" + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; } /** - * @interface - * An interface representing TrackedResource. * The resource model definition for a ARM tracked top level resource. - * - * @extends Resource */ export interface TrackedResource extends Resource { /** - * @member {string} [location] The GEO location of the SignalR service. e.g. - * West US | East US | North Central US | South Central US. + * The GEO location of the SignalR service. e.g. West US | East US | North Central US | South + * Central US. */ location?: string; /** - * @member {{ [propertyName: string]: string }} [tags] Tags of the service - * which is a list of key value pairs that describe the resource. + * Tags of the service which is a list of key value pairs that describe the resource. */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing SignalRResource. * A class represent a SignalR service resource. - * - * @extends TrackedResource */ export interface SignalRResource extends TrackedResource { /** - * @member {ResourceSku} [sku] SKU of the service. + * SKU of the service. */ sku?: ResourceSku; /** - * @member {string} [hostNamePrefix] Prefix for the hostName of the SignalR - * service. Retained for future use. - * The hostname will be of format: - * <hostNamePrefix>.service.signalr.net. + * Prefix for the hostName of the SignalR service. Retained for future use. + * The hostname will be of format: <hostNamePrefix>.service.signalr.net. */ hostNamePrefix?: string; /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Unknown', 'Succeeded', 'Failed', + * List of SignalR featureFlags. e.g. ServiceMode. + * + * FeatureFlags that are not included in the parameters for the update operation will not be + * modified. + * And the response will only include featureFlags that are explicitly set. + * When a featureFlag is not explicitly set, SignalR service will use its globally default value. + * But keep in mind, the default value doesn't mean "false". It varies in terms of different + * FeatureFlags. + */ + features?: SignalRFeature[]; + /** + * Cross-Origin Resource Sharing (CORS) settings. + */ + cors?: SignalRCorsSettings; + /** + * Provisioning state of the resource. Possible values include: 'Unknown', 'Succeeded', 'Failed', * 'Canceled', 'Running', 'Creating', 'Updating', 'Deleting', 'Moving' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: ProvisioningState; /** - * @member {string} [externalIP] The publicly accessible IP of the SignalR - * service. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The publicly accessible IP of the SignalR service. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly externalIP?: string; /** - * @member {string} [hostName] FQDN of the SignalR service instance. Format: - * xxx.service.signalr.net - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * FQDN of the SignalR service instance. Format: xxx.service.signalr.net + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly hostName?: string; /** - * @member {number} [publicPort] The publicly accessibly port of the SignalR - * service which is designed for browser/client side usage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The publicly accessible port of the SignalR service which is designed for browser/client side + * usage. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly publicPort?: number; /** - * @member {number} [serverPort] The publicly accessibly port of the SignalR - * service which is designed for customer server side usage. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The publicly accessible port of the SignalR service which is designed for customer server side + * usage. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly serverPort?: number; /** - * @member {string} [version] Version of the SignalR resource. Probably you - * need the same or higher version of client SDKs. + * Version of the SignalR resource. Probably you need the same or higher version of client SDKs. */ version?: string; } /** - * @interface - * An interface representing SignalRCreateOrUpdateProperties. + * Feature of a SignalR resource, which controls the SignalR runtime behavior. + */ +export interface SignalRFeature { + /** + * Value of the feature flag. See Azure SignalR service document + * https://docs.microsoft.com/en-us/azure/azure-signalr/ for allowed values. + */ + value: string; + /** + * Optional properties related to this feature. + */ + properties?: { [propertyName: string]: string }; +} + +/** + * Cross-Origin Resource Sharing (CORS) settings. + */ +export interface SignalRCorsSettings { + /** + * Gets or sets the list of origins that should be allowed to make cross-origin calls (for + * example: http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + */ + allowedOrigins?: string[]; +} + +/** * Settings used to provision or configure the resource. - * */ export interface SignalRCreateOrUpdateProperties { /** - * @member {string} [hostNamePrefix] Prefix for the hostName of the SignalR - * service. Retained for future use. - * The hostname will be of format: - * <hostNamePrefix>.service.signalr.net. + * Prefix for the hostName of the SignalR service. Retained for future use. + * The hostname will be of format: <hostNamePrefix>.service.signalr.net. */ hostNamePrefix?: string; + /** + * List of SignalR featureFlags. e.g. ServiceMode. + * + * FeatureFlags that are not included in the parameters for the update operation will not be + * modified. + * And the response will only include featureFlags that are explicitly set. + * When a featureFlag is not explicitly set, SignalR service will use its globally default value. + * But keep in mind, the default value doesn't mean "false". It varies in terms of different + * FeatureFlags. + */ + features?: SignalRFeature[]; + /** + * Cross-Origin Resource Sharing (CORS) settings. + */ + cors?: SignalRCorsSettings; } /** - * @interface - * An interface representing SignalRKeys. * A class represents the access keys of SignalR service. - * */ export interface SignalRKeys { /** - * @member {string} [primaryKey] The primary access key. + * The primary access key. */ primaryKey?: string; /** - * @member {string} [secondaryKey] The secondary access key. + * The secondary access key. */ secondaryKey?: string; /** - * @member {string} [primaryConnectionString] SignalR connection string - * constructed via the primaryKey + * SignalR connection string constructed via the primaryKey */ primaryConnectionString?: string; /** - * @member {string} [secondaryConnectionString] SignalR connection string - * constructed via the secondaryKey + * SignalR connection string constructed via the secondaryKey */ secondaryConnectionString?: string; } /** - * @interface - * An interface representing RegenerateKeyParameters. * Parameters describes the request to regenerate access keys - * */ export interface RegenerateKeyParameters { /** - * @member {KeyType} [keyType] The keyType to regenerate. Must be either - * 'primary' or 'secondary'(case-insensitive). Possible values include: - * 'Primary', 'Secondary' + * The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive). Possible + * values include: 'Primary', 'Secondary' */ keyType?: KeyType; } /** - * @interface - * An interface representing SignalRUpdateParameters. * Parameters for SignalR service update operation - * */ export interface SignalRUpdateParameters { /** - * @member {{ [propertyName: string]: string }} [tags] A list of key value - * pairs that describe the resource. + * A list of key value pairs that describe the resource. */ tags?: { [propertyName: string]: string }; /** - * @member {ResourceSku} [sku] The billing information of the resource.(e.g. - * basic vs. standard) + * The billing information of the resource.(e.g. basic vs. standard) */ sku?: ResourceSku; /** - * @member {SignalRCreateOrUpdateProperties} [properties] Settings used to - * provision or configure the resource + * Settings used to provision or configure the resource */ properties?: SignalRCreateOrUpdateProperties; } /** - * @interface - * An interface representing SignalRCreateParameters. * Parameters for SignalR service create/update operation. * * Keep the same schema as AzSignalR.Models.SignalRResource - * - * @extends SignalRUpdateParameters */ export interface SignalRCreateParameters extends SignalRUpdateParameters { /** - * @member {string} location Azure GEO region: e.g. West US | East US | North - * Central US | South Central US | West Europe | North Europe | East Asia | - * Southeast Asia | etc. + * Azure GEO region: e.g. West US | East US | North Central US | South Central US | West Europe | + * North Europe | East Asia | Southeast Asia | etc. * The geo region of a resource never changes after it is created. */ location: string; } /** - * @interface - * An interface representing SignalRUsageName. * Localizable String object containing the name and a localized value. - * */ export interface SignalRUsageName { /** - * @member {string} [value] The indentifier of the usage. + * The identifier of the usage. */ value?: string; /** - * @member {string} [localizedValue] Localized name of the usage. + * Localized name of the usage. */ localizedValue?: string; } /** - * @interface - * An interface representing SignalRUsage. * Object that describes a specific usage of SignalR resources. - * */ export interface SignalRUsage { /** - * @member {string} [id] Fully qualified ARM resource id + * Fully qualified ARM resource id */ id?: string; /** - * @member {number} [currentValue] Current value for the usage quota. + * Current value for the usage quota. */ currentValue?: number; /** - * @member {number} [limit] The maximum permitted value for the usage quota. - * If there is no limit, this value will be -1. + * The maximum permitted value for the usage quota. If there is no limit, this value will be -1. */ limit?: number; /** - * @member {SignalRUsageName} [name] Localizable String object containing the - * name and a localized value. + * Localizable String object containing the name and a localized value. */ name?: SignalRUsageName; /** - * @member {string} [unit] Representing the units of the usage quota. - * Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, - * BytesPerSecond. + * Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, + * Percent, CountPerSecond, BytesPerSecond. */ unit?: string; } /** - * @interface - * An interface representing SignalRCheckNameAvailabilityOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SignalRCheckNameAvailabilityOptionalParams extends msRest.RequestOptionsBase { /** - * @member {NameAvailabilityParameters} [parameters] Parameters supplied to - * the operation. + * Parameters supplied to the operation. */ parameters?: NameAvailabilityParameters; } /** - * @interface - * An interface representing SignalRRegenerateKeyOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SignalRRegenerateKeyOptionalParams extends msRest.RequestOptionsBase { /** - * @member {RegenerateKeyParameters} [parameters] Parameter that describes - * the Regenerate Key Operation. + * Parameter that describes the Regenerate Key Operation. */ parameters?: RegenerateKeyParameters; } /** - * @interface - * An interface representing SignalRCreateOrUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SignalRCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {SignalRCreateParameters} [parameters] Parameters for the create - * or update operation + * Parameters for the create or update operation */ parameters?: SignalRCreateParameters; } /** - * @interface - * An interface representing SignalRUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SignalRUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {SignalRUpdateParameters} [parameters] Parameters for the update - * operation + * Parameters for the update operation */ parameters?: SignalRUpdateParameters; } /** - * @interface - * An interface representing SignalRBeginRegenerateKeyOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SignalRBeginRegenerateKeyOptionalParams extends msRest.RequestOptionsBase { /** - * @member {RegenerateKeyParameters} [parameters] Parameter that describes - * the Regenerate Key Operation. + * Parameter that describes the Regenerate Key Operation. */ parameters?: RegenerateKeyParameters; } /** - * @interface - * An interface representing SignalRBeginCreateOrUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SignalRBeginCreateOrUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {SignalRCreateParameters} [parameters] Parameters for the create - * or update operation + * Parameters for the create or update operation */ parameters?: SignalRCreateParameters; } /** - * @interface - * An interface representing SignalRBeginUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface SignalRBeginUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {SignalRUpdateParameters} [parameters] Parameters for the update - * operation + * Parameters for the update operation */ parameters?: SignalRUpdateParameters; } /** - * @interface * An interface representing SignalRManagementClientOptions. - * @extends AzureServiceClientOptions */ export interface SignalRManagementClientOptions extends AzureServiceClientOptions { - /** - * @member {string} [baseUri] - */ baseUri?: string; } - /** * @interface - * An interface representing the OperationList. - * Result of the request to list REST API operations. It contains a list of - * operations. - * + * Result of the request to list REST API operations. It contains a list of operations. * @extends Array */ export interface OperationList extends Array { /** - * @member {string} [nextLink] The URL the client should use to fetch the - * next page (per server side paging). + * The URL the client should use to fetch the next page (per server side paging). * It's null for now, added for future use. */ nextLink?: string; @@ -658,16 +559,12 @@ export interface OperationList extends Array { /** * @interface - * An interface representing the SignalRResourceList. - * Object that includes an array of SignalR services and a possible link for - * next set. - * + * Object that includes an array of SignalR services and a possible link for next set. * @extends Array */ export interface SignalRResourceList extends Array { /** - * @member {string} [nextLink] The URL the client should use to fetch the - * next page (per server side paging). + * The URL the client should use to fetch the next page (per server side paging). * It's null for now, added for future use. */ nextLink?: string; @@ -675,16 +572,12 @@ export interface SignalRResourceList extends Array { /** * @interface - * An interface representing the SignalRUsageList. - * Object that includes an array of SignalR resource usages and a possible link - * for next set. - * + * Object that includes an array of SignalR resource usages and a possible link for next set. * @extends Array */ export interface SignalRUsageList extends Array { /** - * @member {string} [nextLink] The URL the client should use to fetch the - * next page (per server side paging). + * The URL the client should use to fetch the next page (per server side paging). * It's null for now, added for future use. */ nextLink?: string; @@ -715,94 +608,6 @@ export type ProvisioningState = 'Unknown' | 'Succeeded' | 'Failed' | 'Canceled' */ export type KeyType = 'Primary' | 'Secondary'; -/** - * Defines values for ApiVersion. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion1. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion1 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion2. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion2 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion3. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion3 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion4. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion4 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion5. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion5 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion6. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion6 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion7. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion7 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion8. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion8 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion9. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion9 = '2018-03-01-preview' | '2018-10-01'; - -/** - * Defines values for ApiVersion10. - * Possible values include: '2018-03-01-preview', '2018-10-01' - * @readonly - * @enum {string} - */ -export type ApiVersion10 = '2018-03-01-preview' | '2018-10-01'; - /** * Contains response data for the list operation. */ @@ -815,6 +620,7 @@ export type OperationsListResponse = OperationList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -834,6 +640,7 @@ export type OperationsListNextResponse = OperationList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -853,6 +660,7 @@ export type SignalRCheckNameAvailabilityResponse = NameAvailability & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -872,6 +680,7 @@ export type SignalRListBySubscriptionResponse = SignalRResourceList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -891,6 +700,7 @@ export type SignalRListByResourceGroupResponse = SignalRResourceList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -910,6 +720,7 @@ export type SignalRListKeysResponse = SignalRKeys & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -929,6 +740,7 @@ export type SignalRRegenerateKeyResponse = SignalRKeys & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -948,6 +760,7 @@ export type SignalRGetResponse = SignalRResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -967,6 +780,7 @@ export type SignalRCreateOrUpdateResponse = SignalRResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -986,6 +800,7 @@ export type SignalRUpdateResponse = SignalRResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1005,6 +820,7 @@ export type SignalRBeginRegenerateKeyResponse = SignalRKeys & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1024,6 +840,7 @@ export type SignalRBeginCreateOrUpdateResponse = SignalRResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1043,6 +860,7 @@ export type SignalRBeginUpdateResponse = SignalRResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1062,6 +880,7 @@ export type SignalRListBySubscriptionNextResponse = SignalRResourceList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1081,6 +900,7 @@ export type SignalRListByResourceGroupNextResponse = SignalRResourceList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1100,6 +920,7 @@ export type UsagesListResponse = SignalRUsageList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1119,6 +940,7 @@ export type UsagesListNextResponse = SignalRUsageList & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ diff --git a/sdk/signalr/arm-signalr/src/models/mappers.ts b/sdk/signalr/arm-signalr/src/models/mappers.ts index f672cadc85b5..cfd0174cb50a 100644 --- a/sdk/signalr/arm-signalr/src/models/mappers.ts +++ b/sdk/signalr/arm-signalr/src/models/mappers.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; @@ -393,6 +391,25 @@ export const SignalRResource: msRest.CompositeMapper = { name: "String" } }, + features: { + serializedName: "properties.features", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SignalRFeature" + } + } + } + }, + cors: { + serializedName: "properties.cors", + type: { + name: "Composite", + className: "SignalRCorsSettings" + } + }, provisioningState: { readOnly: true, serializedName: "properties.provisioningState", @@ -438,6 +455,68 @@ export const SignalRResource: msRest.CompositeMapper = { } }; +export const SignalRFeature: msRest.CompositeMapper = { + serializedName: "SignalRFeature", + type: { + name: "Composite", + className: "SignalRFeature", + modelProperties: { + flag: { + required: true, + isConstant: true, + serializedName: "flag", + defaultValue: 'ServiceMode', + type: { + name: "String" + } + }, + value: { + required: true, + serializedName: "value", + constraints: { + MaxLength: 128, + MinLength: 1 + }, + type: { + name: "String" + } + }, + properties: { + serializedName: "properties", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const SignalRCorsSettings: msRest.CompositeMapper = { + serializedName: "SignalRCorsSettings", + type: { + name: "Composite", + className: "SignalRCorsSettings", + modelProperties: { + allowedOrigins: { + serializedName: "allowedOrigins", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + export const SignalRCreateOrUpdateProperties: msRest.CompositeMapper = { serializedName: "SignalRCreateOrUpdateProperties", type: { @@ -449,6 +528,25 @@ export const SignalRCreateOrUpdateProperties: msRest.CompositeMapper = { type: { name: "String" } + }, + features: { + serializedName: "features", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SignalRFeature" + } + } + } + }, + cors: { + serializedName: "cors", + type: { + name: "Composite", + className: "SignalRCorsSettings" + } } } } diff --git a/sdk/signalr/arm-signalr/src/models/operationsMappers.ts b/sdk/signalr/arm-signalr/src/models/operationsMappers.ts index d93e18a3f028..0c08e4126240 100644 --- a/sdk/signalr/arm-signalr/src/models/operationsMappers.ts +++ b/sdk/signalr/arm-signalr/src/models/operationsMappers.ts @@ -1,21 +1,18 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - OperationList, + CloudError, + Dimension, + MetricSpecification, Operation, OperationDisplay, + OperationList, OperationProperties, - ServiceSpecification, - MetricSpecification, - Dimension, - CloudError + ServiceSpecification } from "../models/mappers"; - diff --git a/sdk/signalr/arm-signalr/src/models/signalRMappers.ts b/sdk/signalr/arm-signalr/src/models/signalRMappers.ts index 0696fbf4de7c..ab52ff22bc82 100644 --- a/sdk/signalr/arm-signalr/src/models/signalRMappers.ts +++ b/sdk/signalr/arm-signalr/src/models/signalRMappers.ts @@ -1,27 +1,26 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - NameAvailabilityParameters, - NameAvailability, + BaseResource, CloudError, - SignalRResourceList, - SignalRResource, - TrackedResource, + NameAvailability, + NameAvailabilityParameters, + RegenerateKeyParameters, Resource, - BaseResource, ResourceSku, - SignalRKeys, - RegenerateKeyParameters, + SignalRCorsSettings, + SignalRCreateOrUpdateProperties, SignalRCreateParameters, + SignalRFeature, + SignalRKeys, + SignalRResource, + SignalRResourceList, SignalRUpdateParameters, - SignalRCreateOrUpdateProperties + TrackedResource } from "../models/mappers"; - diff --git a/sdk/signalr/arm-signalr/src/models/usagesMappers.ts b/sdk/signalr/arm-signalr/src/models/usagesMappers.ts index 0b672776f340..eb4103f06fe6 100644 --- a/sdk/signalr/arm-signalr/src/models/usagesMappers.ts +++ b/sdk/signalr/arm-signalr/src/models/usagesMappers.ts @@ -1,17 +1,14 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - SignalRUsageList, + CloudError, SignalRUsage, - SignalRUsageName, - CloudError + SignalRUsageList, + SignalRUsageName } from "../models/mappers"; - diff --git a/sdk/signalr/arm-signalr/src/operations/signalR.ts b/sdk/signalr/arm-signalr/src/operations/signalR.ts index fca3f4028825..acb3200beeba 100644 --- a/sdk/signalr/arm-signalr/src/operations/signalR.ts +++ b/sdk/signalr/arm-signalr/src/operations/signalR.ts @@ -233,6 +233,19 @@ export class SignalR { .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; } + /** + * Operation to restart a SignalR service. + * @param resourceGroupName The name of the resource group that contains the resource. You can + * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceName The name of the SignalR resource. + * @param [options] The optional parameters + * @returns Promise + */ + restart(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.beginRestart(resourceGroupName,resourceName,options) + .then(lroPoller => lroPoller.pollUntilFinished()); + } + /** * Regenerate SignalR service access key. PrimaryKey and SecondaryKey cannot be regenerated at the * same time. @@ -310,6 +323,25 @@ export class SignalR { options); } + /** + * Operation to restart a SignalR service. + * @param resourceGroupName The name of the resource group that contains the resource. You can + * obtain this value from the Azure Resource Manager API or the portal. + * @param resourceName The name of the SignalR resource. + * @param [options] The optional parameters + * @returns Promise + */ + beginRestart(resourceGroupName: string, resourceName: string, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + resourceGroupName, + resourceName, + options + }, + beginRestartOperationSpec, + options); + } + /** * Handles requests to list all resources in a subscription. * @param nextPageLink The NextLink from the previous successful call to List operation. @@ -474,7 +506,7 @@ const listKeysOperationSpec: msRest.OperationSpec = { const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", urlParameters: [ Parameters.subscriptionId, Parameters.resourceGroupName, @@ -531,7 +563,7 @@ const beginRegenerateKeyOperationSpec: msRest.OperationSpec = { const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { httpMethod: "PUT", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", urlParameters: [ Parameters.subscriptionId, Parameters.resourceGroupName, @@ -564,7 +596,7 @@ const beginCreateOrUpdateOperationSpec: msRest.OperationSpec = { const beginDeleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", urlParameters: [ Parameters.subscriptionId, Parameters.resourceGroupName, @@ -588,7 +620,7 @@ const beginDeleteMethodOperationSpec: msRest.OperationSpec = { const beginUpdateOperationSpec: msRest.OperationSpec = { httpMethod: "PATCH", - path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}", urlParameters: [ Parameters.subscriptionId, Parameters.resourceGroupName, @@ -619,6 +651,30 @@ const beginUpdateOperationSpec: msRest.OperationSpec = { serializer }; +const beginRestartOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart", + urlParameters: [ + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.resourceName + ], + queryParameters: [ + Parameters.apiVersion + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + const listBySubscriptionNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", baseUrl: "https://management.azure.com", diff --git a/sdk/signalr/arm-signalr/src/signalRManagementClientContext.ts b/sdk/signalr/arm-signalr/src/signalRManagementClientContext.ts index 9552ff25fe77..989f634e26e2 100644 --- a/sdk/signalr/arm-signalr/src/signalRManagementClientContext.ts +++ b/sdk/signalr/arm-signalr/src/signalRManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-signalr"; -const packageVersion = "0.1.0"; +const packageVersion = "2.0.0"; export class SignalRManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/sdk/storage/CONTRIBUTING.md b/sdk/storage/CONTRIBUTING.md index a0c080d5c446..9772fc6cb08b 100644 --- a/sdk/storage/CONTRIBUTING.md +++ b/sdk/storage/CONTRIBUTING.md @@ -82,6 +82,22 @@ npm run test:browser Browser testing is based on Karma, you can change default testing browser by modifying karma.conf.js file. +### Record & Play + +By default, above test commands are live testing against real Azure Storage accounts. Before running above tests, set environment value `TEST_MODE` to switch to offline mock test mode or test recording mode. + +Playback mode is for offline mock test, which doesn't require a storage account, it's quick but less coverage: + +`export TEST_MODE=playback` + +Record tests for next playback. Recording is necessary after adding or updating test cases: + +`export TEST_MODE=record` + +Live tests by clearing `TEST_MODE` environment variable: + +`export TEST_MODE=` + ### Testing Features As you develop a feature, you'll need to write tests to ensure quality. You should also run existing tests related to your change to address any unexpected breaks in both Node.js and Browsers. diff --git a/sdk/storage/storage-blob/ChangeLog.md b/sdk/storage/storage-blob/ChangeLog.md index 4694048d6385..c4a0296c6e25 100644 --- a/sdk/storage/storage-blob/ChangeLog.md +++ b/sdk/storage/storage-blob/ChangeLog.md @@ -11,6 +11,26 @@ - SAS connection string example - `BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString` - SAS connection string is supported in both NodeJS and browser runtimes unlike the Account Connection String which is supported only in the NodeJS runtime. +### 2019.07 Version 10.4.0 + +- Updated Azure Storage Service API version to [2018-11-09](https://docs.microsoft.com/en-us/rest/api/storageservices/version-2018-11-09). +- Improved comments for `BlockBlobURL.upload()`. +- Exported `HttpRequestBody` type for who wants to implement a customized HTTP client. +- Fixed a bug of `downloadBlobToBuffer()` and `downloadAzureFileToBuffer()` when provided offset is not 0. +- Fixed a bug that `Aborter` cannot work during retry interval. +- Fixed a bug that `Aborter` throws timeout error even though it succeeds of `BlockBlobUrl.download()`. +- Fixed a bug that "err.code.toUpperCase is not a function" when retries in browser. +- Export `RetryPolicyType`. +- `Aborter` doesn't require `dom` as tsconfig lib requirement anymore for `Event` type. +- Service SAS generation now supports snapshot access control from 2018-11-09 in `generateBlobSASQueryParameters()`. +- Service SAS generation now supports snapshot access control from API version 2018-11-09 in `generateBlobSASQueryParameters()`. +- A new API `PageBlobURL.uploadPagesFromURL()` allows pages in a page blob to be written using a range of another blob as a source. This permits synchronous server-side copies to be orchestrated for page blobs of any size. +- A new API `AppendBlobURL.appendBlockFromURL()` commits a new block of data to the end of an append blob. Method uses a range of another blob as a source. This permits synchronous server-side copies to be orchestrated for append blobs of any size. +- A new API `BlobURL.syncCopyFromURL()` allows a block blob to be copied synchronously using a URL as a source. This API has a maximum size of 256 MB and preserves metadata and block list. +- A new API `ServiceURL.getUserDelegationKey()` added to get a key that can be used to generate a user delegation SAS (shared access signature). +- Updated HTTP client from axios to node-fetch in Node.js runtime. +- A new option `keepAliveOptions` added to parameter of `StorageURL.newPipeline()` which controls keep-alive configurations. Keep-alive is enabled by default. + ### 2019.07 Version 12.0.0-preview.1 - [Breaking] Client types are renamed from *URL to *Client. @@ -47,7 +67,7 @@ For release notes and more information please visit https://aka.ms/azure-sdk-preview1-js -### 2018.12 10.3.0 +### 2018.12 Version 10.3.0 - [Breaking] Updated convenience layer methods enum type parameters into typescript union types, this will help reducing bundle footprint. - [Breaking] Updated URL encoding strategy for `url` parameters of `new XXXURL(url, pipeline)` methods, such as `new BlobURL(url, pipeline)`. @@ -60,7 +80,7 @@ For release notes and more information please visit https://aka.ms/azure-sdk-pre - Removed default 60s server timeout value for retry options `tryTimeoutInMs` to avoid large blob download stream unexcepted ending. - Fixed an issue that when body is string with special characters, `BlockBlobULR.upload` will fail to upload. -### 2018.11 10.2.0-preview +### 2018.11 Version 10.2.0-preview - [Breaking] Updated names of exported interfaces `IHTTPPipelineLogger` & `IHTTPClient` to `IHttpPipelineLogger` & `IHttpClient`. - [Breaking] For `setMetadata()` and `setHTTPHeaders()`, `metadata` and `blobHTTPHeaders` are moved from `options` into top level parameter list. @@ -74,7 +94,7 @@ For release notes and more information please visit https://aka.ms/azure-sdk-pre - Fixed a bug that `timeout` parameter should use second as unit instead of millisecond. - Added stream retry when `BlobURL.download` response stream unexcepted ends. -### 2018.09 10.1.0-preview +### 2018.09 Version 10.1.0-preview - Fixed sharedkey authentication error when blob names have spaces. - Updated samples in readme and sample folder to fix undefined headers. diff --git a/sdk/storage/storage-blob/package.json b/sdk/storage/storage-blob/package.json index 0d0875f3db6e..6d3822d529aa 100644 --- a/sdk/storage/storage-blob/package.json +++ b/sdk/storage/storage-blob/package.json @@ -20,7 +20,7 @@ }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build:autorest": "autorest ./swagger/README.md --typescript --use=@microsoft.azure/autorest.typescript@2.1.3", + "build:autorest": "autorest ./swagger/README.md --typescript --use=@microsoft.azure/autorest.typescript@4.1.1", "build:browserzip": "gulp zip", "build:es6": "tsc -p tsconfig.json", "build:nodebrowser": "rollup -c 2>&1", @@ -36,7 +36,7 @@ "integration-test:node": "nyc mocha --require source-map-support/register --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=- --full-trace -t 120000 --retries 2 dist-test/index.node.js", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint -c ../../.eslintrc.json src test samples --ext .ts --fix", - "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o storage-blob-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f html -o storage-blob-lintReport.html || exit 0", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run integration-test:browser", @@ -78,40 +78,39 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js#readme", "sideEffects": false, "dependencies": { - "@azure/abort-controller": "1.0.0-preview.1", - "@azure/core-http": "1.0.0-preview.2", + "@azure/abort-controller": "1.0.0-preview.2", + "@azure/core-http": "1.0.0-preview.3", "@azure/core-paging": "1.0.0-preview.1", "events": "^3.0.0", "tslib": "^1.9.3" }, "devDependencies": { - "@azure/identity": "1.0.0-preview.2", + "@azure/identity": "1.0.0-preview.3", "@microsoft/api-extractor": "^7.1.5", "@types/dotenv": "^6.1.0", - "@types/fs-extra": "~7.0.0", + "@types/fs-extra": "^8.0.0", "@types/mocha": "^5.2.5", "@types/nise": "^1.4.0", "@types/nock": "^10.0.1", "@types/node": "^8.0.0", "@types/query-string": "6.2.0", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", "cross-env": "^5.2.0", - "dotenv": "^7.0.0", + "dotenv": "^8.0.0", "es6-promise": "^4.2.5", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", - "fs-extra": "~8.0.1", + "fs-extra": "^8.1.0", "gulp": "^4.0.0", - "gulp-zip": "^4.2.0", + "gulp-zip": "^5.0.0", "inherits": "^2.0.3", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", @@ -143,8 +142,8 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^2.0.0", "source-map-support": "^0.5.9", - "ts-node": "^7.0.1", + "ts-node": "^8.3.0", "typescript": "^3.2.2", - "util": "^0.11.1" + "util": "^0.12.1" } } diff --git a/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json b/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json index a399be65bb28..78e416b94d07 100644 --- a/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json +++ b/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830230202417", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610732976005242", "query": { "restype": "container" }, @@ -10,17 +10,17 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:22 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:22 GMT", + "date": "Sun, 18 Aug 2019 05:48:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCCB7FFFA\"", - "x-ms-request-id": "9f307aa5-301e-00a5-19b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBEAE6F53\"", + "x-ms-request-id": "e4d6242f-601e-003e-2d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830230202417" + "container": "container156610732976005242" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json b/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json index 8b96a4041fcc..e14b3ec62f53 100644 --- a/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json +++ b/sdk/storage/storage-blob/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830285909872", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733028508274", "query": { "restype": "container" }, @@ -10,17 +10,17 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:22 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:22 GMT", + "date": "Sun, 18 Aug 2019 05:48:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCCD3550C\"", - "x-ms-request-id": "9f307ae3-301e-00a5-49b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBECAAF00\"", + "x-ms-request-id": "e4d62462-601e-003e-5688-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830285909872" + "container": "container156610733028508274" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_appendblock.json b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_appendblock.json index 158911e06323..5c271860d9fc 100644 --- a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_appendblock.json +++ b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_appendblock.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830428706653", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733171301707", "query": { "restype": "container" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:24 GMT", + "date": "Sun, 18 Aug 2019 05:48:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCDAD88B5\"", - "x-ms-request-id": "9f307d4c-301e-00a5-50b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBFA46D86\"", + "x-ms-request-id": "e4d62577-601e-003e-4988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830428706653/blob156150830444005037", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733171301707/blob156610733186904747", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:24 GMT", + "date": "Sun, 18 Aug 2019 05:48:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCDC55F92\"", - "x-ms-request-id": "9f307d7c-301e-00a5-79b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBFBCB2C0\"", + "x-ms-request-id": "e4d62597-601e-003e-6688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830428706653/blob156150830444005037", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733171301707/blob156610733186904747", "query": { "comp": "appendblock" }, @@ -47,47 +47,48 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:24 GMT", + "date": "Sun, 18 Aug 2019 05:48:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "7Qdih1MuhjZehB6Sv8UNjA==", "x-ms-blob-committed-block-count": "1", - "etag": "\"0x8D6F9CBCDDCE375\"", - "x-ms-request-id": "9f307dc7-301e-00a5-38b4-2b4188000000", + "etag": "\"0x8D7239FBFD45DC1\"", + "x-ms-request-id": "e4d625bb-601e-003e-0588-55ccb0000000", "x-ms-blob-append-offset": "0", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830428706653/blob156150830444005037", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733171301707/blob156610733186904747", "query": {}, "requestBody": null, "status": 200, "response": "Hello World!", "responseHeaders": { "x-ms-blob-type": "AppendBlob", - "date": "Wed, 26 Jun 2019 00:18:24 GMT", + "date": "Sun, 18 Aug 2019 05:48:51 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "12", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:24 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-committed-block-count": "1", - "etag": "\"0x8D6F9CBCDDCE375\"", + "etag": "\"0x8D7239FBFD45DC1\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f307df4-301e-00a5-5fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d625d7-601e-003e-1b88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830428706653", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733171301707", "query": { "restype": "container" }, @@ -95,16 +96,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f307e24-301e-00a5-0ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d625f7-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:24 GMT", + "date": "Sun, 18 Aug 2019 05:48:51 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830428706653", - "blob": "blob156150830444005037" + "container": "container156610733171301707", + "blob": "blob156610733186904747" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_can_be_created_with_a_sas_connection_string.json b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_can_be_created_with_a_sas_connection_string.json index 0a144f4c7a68..d9827638037f 100644 --- a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_can_be_created_with_a_sas_connection_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_can_be_created_with_a_sas_connection_string.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464816884703971", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733251102145", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:29:29 GMT", - "last-modified": "Thu, 01 Aug 2019 08:29:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165A5EFCE851\"", - "x-ms-request-id": "c2baaab0-601e-0058-3b43-487eea000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC01E205C\"", + "x-ms-request-id": "e4d6261b-601e-003e-5788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464816884703971/blob156464816937700665", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733251102145/blob156610733266402910", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:29:29 GMT", - "last-modified": "Thu, 01 Aug 2019 08:29:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165A5F1E8A2A\"", - "x-ms-request-id": "c2baaaeb-601e-0058-7143-487eea000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC0361778\"", + "x-ms-request-id": "e4d62642-601e-003e-7b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464816884703971/blob156464816937700665", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733251102145/blob156610733266402910", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "AppendBlob", - "date": "Thu, 01 Aug 2019 08:29:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:51 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "0", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Thu, 01 Aug 2019 08:29:29 GMT", - "last-modified": "Thu, 01 Aug 2019 08:29:29 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-committed-block-count": "0", - "etag": "\"0x8D7165A5F1E8A2A\"", + "etag": "\"0x8D7239FC0361778\"", "content-type": "application/octet-stream", - "x-ms-request-id": "c2baab1d-601e-0058-2043-487eea000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6265d-601e-003e-1388-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464816884703971", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733251102145", "query": { "restype": "container" }, @@ -72,16 +73,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "c2baab4e-601e-0058-4c43-487eea000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62673-601e-003e-2588-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:29:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:52 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464816884703971", - "blob": "blob156464816937700665" + "container": "container156610733251102145", + "blob": "blob156610733266402910" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_default_parameters.json index 7da1237e38b3..816ca44b40b2 100644 --- a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830302000986", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733046701709", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:22 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCCEC5FCC\"", - "x-ms-request-id": "9f307b28-301e-00a5-05b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBEE65250\"", + "x-ms-request-id": "e4d62487-601e-003e-7788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830302000986/blob156150830317300792", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733046701709/blob156610733062403514", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:22 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCD04ABAE\"", - "x-ms-request-id": "9f307b66-301e-00a5-34b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBEFF81FA\"", + "x-ms-request-id": "e4d6249e-601e-003e-0b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830302000986/blob156150830317300792", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733046701709/blob156610733062403514", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "AppendBlob", - "date": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:49 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "0", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:23 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-committed-block-count": "0", - "etag": "\"0x8D6F9CBCD04ABAE\"", + "etag": "\"0x8D7239FBEFF81FA\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f307baf-301e-00a5-72b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d624bf-601e-003e-2588-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830302000986", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733046701709", "query": { "restype": "container" }, @@ -72,16 +73,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f307bf9-301e-00a5-2fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d624e2-601e-003e-4688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:50 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830302000986", - "blob": "blob156150830317300792" + "container": "container156610733046701709", + "blob": "blob156610733062403514" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_parameters_configured.json b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_parameters_configured.json index 746606d5f429..f8c92cd16f74 100644 --- a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_parameters_configured.json +++ b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_create_with_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830365008353", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733109509308", "query": { "restype": "container" }, @@ -10,45 +10,46 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCD4C1D46\"", - "x-ms-request-id": "9f307c2f-301e-00a5-5db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBF45E8BC\"", + "x-ms-request-id": "e4d62500-601e-003e-5c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830365008353/blob156150830380102812", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733109509308/blob156610733124805228", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCD67EC53\"", - "x-ms-request-id": "9f307c84-301e-00a5-22b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FBF5E06D6\"", + "x-ms-request-id": "e4d6251c-601e-003e-7588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830365008353/blob156150830380102812", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733109509308/blob156610733124805228", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "AppendBlob", - "date": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:50 GMT", "content-encoding": "blobContentEncoding", "x-ms-access-tier-inferred": "true", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "x-ms-access-tier": "Cool", "content-disposition": "blobContentDisposition", @@ -56,15 +57,15 @@ "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "accept-ranges": "bytes", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:23 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-committed-block-count": "0", - "etag": "\"0x8D6F9CBCD67EC53\"", + "etag": "\"0x8D7239FBF5E06D6\"", "content-language": "blobContentLanguage", - "x-ms-request-id": "9f307cd4-301e-00a5-6ab4-2b4188000000", + "x-ms-request-id": "e4d6252f-601e-003e-0888-55ccb0000000", "cache-control": "blobCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-key1": "vala", "content-type": "blobContentType", "x-ms-meta-key2": "valb" @@ -72,7 +73,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830365008353", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733109509308", "query": { "restype": "container" }, @@ -80,16 +81,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f307d10-301e-00a5-21b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62558-601e-003e-2d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:23 GMT", + "date": "Sun, 18 Aug 2019 05:48:50 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830365008353", - "blob": "blob156150830380102812" + "container": "container156610733109509308", + "blob": "blob156610733124805228" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json index 84e9d67b6591..f2a8c6ee0fbc 100644 --- a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464817017906339", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733351800763", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:29:30 GMT", - "last-modified": "Thu, 01 Aug 2019 08:29:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:53 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165A5F9832FA\"", - "x-ms-request-id": "c2baabee-601e-0058-5a43-487eea000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC0B795F0\"", + "x-ms-request-id": "e4d626d6-601e-003e-7988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464817017906339", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733351800763", "query": { "restype": "container" }, @@ -29,16 +29,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "c2baac2d-601e-0058-0843-487eea000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d626e9-601e-003e-0b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:29:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:52 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464817017906339", - "blob": "blob156464817033506304" + "container": "container156610733351800763", + "blob": "blob156610733367100495" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json index 68130bbc79b0..56b05b9540fd 100644 --- a/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464816986402447", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733317401191", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:29:29 GMT", - "last-modified": "Thu, 01 Aug 2019 08:29:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:53 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165A5F67CB61\"", - "x-ms-request-id": "c2baab77-601e-0058-7243-487eea000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC0835D22\"", + "x-ms-request-id": "e4d62688-601e-003e-3788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464816986402447", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733317401191", "query": { "restype": "container" }, @@ -29,16 +29,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "c2baabbf-601e-0058-3043-487eea000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d626c0-601e-003e-6688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:29:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:52 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464816986402447", - "blob": "blob156464817001907840" + "container": "container156610733317401191", + "blob": "blob156610733336304583" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.json index 57c4ab114688..dbe9b2802a5b 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831467401613", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734331406406", "query": { "restype": "container" }, @@ -10,73 +10,73 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:34 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:34 GMT", + "date": "Sun, 18 Aug 2019 05:49:02 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD3DEAB6F\"", - "x-ms-request-id": "9f308cbd-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC68E7A51\"", + "x-ms-request-id": "e4d62fe5-601e-003e-0288-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831467401613/blob156150831483001431", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734331406406/blob156610734346804767", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:34 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:34 GMT", + "date": "Sun, 18 Aug 2019 05:49:02 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD3F6F83F\"", - "x-ms-request-id": "9f308d03-301e-00a5-70b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC6A64AC6\"", + "x-ms-request-id": "e4d62ffd-601e-003e-1988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831467401613/copiedblob156150831498708674", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734331406406/copiedblob156610734362307520", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:34 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:35 GMT", + "date": "Sun, 18 Aug 2019 05:49:02 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD417A58C\"", - "x-ms-request-id": "9f308d64-301e-00a5-48b4-2b4188000000", - "x-ms-version": "2018-03-28", - "x-ms-copy-id": "04a07887-178c-46df-9201-a280c040ae6a", + "etag": "\"0x8D7239FC6C59848\"", + "x-ms-request-id": "e4d63027-601e-003e-3988-55ccb0000000", + "x-ms-version": "2018-11-09", + "x-ms-copy-id": "5dd00045-ff0b-4bed-868c-be589a74d057", "x-ms-copy-status": "success", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831467401613/copiedblob156150831498708674", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734331406406/copiedblob156610734362307520", "query": {}, "requestBody": null, "status": 400, - "response": "InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.\nRequestId:9f308d92-301e-00a5-6fb4-2b4188000000\nTime:2019-06-26T00:18:35.2299834Zx-ms-copy-source04a07887-178c-46df-9201-a280c040ae6a", + "response": "InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.\nRequestId:e4d6303f-601e-003e-4e88-55ccb0000000\nTime:2019-08-18T05:49:03.8746149Zx-ms-copy-source5dd00045-ff0b-4bed-868c-be589a74d057", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:34 GMT", + "date": "Sun, 18 Aug 2019 05:49:02 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "InvalidHeaderValue", "content-type": "application/xml", - "x-ms-request-id": "9f308d92-301e-00a5-6fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6303f-601e-003e-4e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "358" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831467401613", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734331406406", "query": { "restype": "container" }, @@ -84,17 +84,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308db4-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63057-601e-003e-6388-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:34 GMT", + "date": "Sun, 18 Aug 2019 05:49:03 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831467401613", - "blob": "blob156150831483001431", - "copiedblob": "copiedblob156150831498708674" + "container": "container156610734331406406", + "blob": "blob156610734346804767", + "copiedblob": "copiedblob156610734362307520" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_can_be_created_with_a_sas_connection_string.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_can_be_created_with_a_sas_connection_string.json index 45e17e3258b8..ce57f32ce035 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_can_be_created_with_a_sas_connection_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_can_be_created_with_a_sas_connection_string.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464898906205197", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734590805094", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:08 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C47DDD717\"", - "x-ms-request-id": "bc484851-901e-0046-3a45-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC819CEAE\"", + "x-ms-request-id": "e4d63209-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464898906205197/blob156464898953605881", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734590805094/blob156610734605900960", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:08 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D7165C47F7F808\"", - "x-ms-request-id": "bc48489b-901e-0046-7945-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC8312A11\"", + "x-ms-request-id": "e4d6323e-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464898906205197/blob156464898953605881", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734590805094/blob156610734605900960", "query": { "comp": "metadata" }, @@ -48,48 +48,49 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:09 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C48134CD5\"", - "x-ms-request-id": "bc4848cc-901e-0046-2845-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC847EA82\"", + "x-ms-request-id": "e4d63263-601e-003e-2188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464898906205197/blob156464898953605881", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734590805094/blob156610734605900960", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Thu, 01 Aug 2019 08:43:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:05 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "x-ms-access-tier": "Cool", "content-length": "11", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "x-ms-meta-a": "a", - "last-modified": "Thu, 01 Aug 2019 08:43:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C48134CD5\"", - "x-ms-creation-time": "Thu, 01 Aug 2019 08:43:09 GMT", + "etag": "\"0x8D7239FC847EA82\"", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:06 GMT", "content-type": "application/octet-stream", - "x-ms-request-id": "bc484901-901e-0046-5a45-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6328b-601e-003e-4088-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-meta-b": "b" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464898906205197", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734590805094", "query": { "restype": "container" }, @@ -97,16 +98,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484939-901e-0046-0a45-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d632a8-601e-003e-5b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:05 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464898906205197", - "blob": "blob156464898953605881" + "container": "container156610734590805094", + "blob": "blob156610734605900960" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_createsnapshot.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_createsnapshot.json index a93a22a05cdd..348684d92cb7 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_createsnapshot.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_createsnapshot.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831148103306", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734113407426", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:31 GMT", + "date": "Sun, 18 Aug 2019 05:49:00 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:01 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD1F76ADD\"", - "x-ms-request-id": "9f30888b-301e-00a5-17b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC541E807\"", + "x-ms-request-id": "e4d62e26-601e-003e-7f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831148103306/blob156150831163602039", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734113407426/blob156610734128807079", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:31 GMT", + "date": "Sun, 18 Aug 2019 05:49:00 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:01 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD20F9066\"", - "x-ms-request-id": "9f3088b5-301e-00a5-39b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC559DF79\"", + "x-ms-request-id": "e4d62e4a-601e-003e-1c88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831148103306/blob156150831163602039", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734113407426/blob156610734128807079", "query": { "comp": "snapshot" }, @@ -48,44 +48,49 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:31 GMT", + "date": "Sun, 18 Aug 2019 05:49:00 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:01 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD20F9066\"", - "x-ms-request-id": "9f3088f0-301e-00a5-6ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC559DF79\"", + "x-ms-request-id": "e4d62e5a-601e-003e-2b88-55ccb0000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "false", "content-length": "0", - "x-ms-snapshot": "2019-06-26T00:18:31.8957648Z" + "x-ms-snapshot": "2019-08-18T05:49:01.5519289Z" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831148103306/blob156150831163602039", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734113407426/blob156610734128807079", "query": { - "snapshot": "2019-06-26T00:18:31.8957648Z" + "snapshot": "2019-08-18T05:49:01.5519289Z" }, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:31 GMT", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:31 GMT", - "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "date": "Sun, 18 Aug 2019 05:49:00 GMT", + "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD20F9066\"", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", + "content-length": "11", + "x-ms-access-tier": "Cool", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:01 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:01 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7239FC559DF79\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f308916-301e-00a5-0cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62e73-601e-003e-4288-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", - "content-length": "11" + "x-ms-snapshot": "2019-08-18T05:49:01.5519289Z" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831148103306", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734113407426", "query": { "comp": "list", "include": "snapshots", @@ -93,19 +98,19 @@ }, "requestBody": null, "status": 200, - "response": "blob1561508311636020392019-06-26T00:18:31.8957648ZWed, 26 Jun 2019 00:18:31 GMTWed, 26 Jun 2019 00:18:31 GMT0x8D6F9CBD20F906611application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobtrueblob156150831163602039Wed, 26 Jun 2019 00:18:31 GMTWed, 26 Jun 2019 00:18:31 GMT0x8D6F9CBD20F906611application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue", + "response": "blob1566107341288070792019-08-18T05:49:01.5519289ZSun, 18 Aug 2019 05:49:01 GMTSun, 18 Aug 2019 05:49:01 GMT0x8D7239FC559DF7911application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrue0blob156610734128807079Sun, 18 Aug 2019 05:49:01 GMTSun, 18 Aug 2019 05:49:01 GMT0x8D7239FC559DF7911application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:31 GMT", + "date": "Sun, 18 Aug 2019 05:49:00 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f308968-301e-00a5-49b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d62ea5-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831148103306", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734113407426", "query": { "restype": "container" }, @@ -113,16 +118,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30899f-301e-00a5-75b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62ebd-601e-003e-0188-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:31 GMT", + "date": "Sun, 18 Aug 2019 05:49:01 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831148103306", - "blob": "blob156150831163602039" + "container": "container156610734113407426", + "blob": "blob156610734128807079" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete.json index 8d12b7b056c6..7b3d4b711d84 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830960603016", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733912306850", "query": { "restype": "container" }, @@ -10,53 +10,53 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:58 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:59 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD0D96AFD\"", - "x-ms-request-id": "9f3085d4-301e-00a5-38b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC40E607D\"", + "x-ms-request-id": "e4d62c2e-601e-003e-3988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830960603016/blob156150830977203032", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733912306850/blob156610733930109155", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:58 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:59 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD0F31744\"", - "x-ms-request-id": "9f308615-301e-00a5-75b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC42A775F\"", + "x-ms-request-id": "e4d62c5d-601e-003e-6188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830960603016/blob156150830977203032", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733912306850/blob156610733930109155", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:58 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30864b-301e-00a5-24b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62c6c-601e-003e-7088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830960603016", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733912306850", "query": { "restype": "container" }, @@ -64,16 +64,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308686-301e-00a5-56b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62c8d-601e-003e-0d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:58 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830960603016", - "blob": "blob156150830977203032" + "container": "container156610733912306850", + "blob": "blob156610733930109155" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete_snapshot.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete_snapshot.json index 9267def457b3..773e53d119ea 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete_snapshot.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_delete_snapshot.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:58 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:59 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD139286E\"", - "x-ms-request-id": "9f3086be-301e-00a5-06b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC47F1106\"", + "x-ms-request-id": "e4d62cb6-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217/blob156150831038401321", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344/blob156610734001604808", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:30 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:59 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:00 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD1503C4D\"", - "x-ms-request-id": "9f3086fc-301e-00a5-3eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC4988F66\"", + "x-ms-request-id": "e4d62cdb-601e-003e-5688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217/blob156150831038401321", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344/blob156610734001604808", "query": { "comp": "snapshot" }, @@ -48,78 +48,83 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:30 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:59 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:00 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD1503C4D\"", - "x-ms-request-id": "9f30872a-301e-00a5-66b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC4988F66\"", + "x-ms-request-id": "e4d62d20-601e-003e-1688-55ccb0000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "false", "content-length": "0", - "x-ms-snapshot": "2019-06-26T00:18:30.6438757Z" + "x-ms-snapshot": "2019-08-18T05:49:00.2810332Z" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217/blob156150831038401321", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344/blob156610734001604808", "query": { - "snapshot": "2019-06-26T00:18:30.6438757Z" + "snapshot": "2019-08-18T05:49:00.2810332Z" }, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:30 GMT", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:30 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:30 GMT", - "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "date": "Sun, 18 Aug 2019 05:48:59 GMT", + "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD1503C4D\"", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", + "content-length": "11", + "x-ms-access-tier": "Cool", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:00 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:00 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7239FC4988F66\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f30877b-301e-00a5-2ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62d58-601e-003e-4988-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", - "content-length": "11" + "x-ms-snapshot": "2019-08-18T05:49:00.2810332Z" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217/blob156150831038401321", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344/blob156610734001604808", "query": { - "snapshot": "2019-06-26T00:18:30.6438757Z" + "snapshot": "2019-08-18T05:49:00.2810332Z" }, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:59 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f3087b0-301e-00a5-5bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62d86-601e-003e-7288-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217/blob156150831038401321", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344/blob156610734001604808", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:59 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f3087ef-301e-00a5-11b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62dc4-601e-003e-2c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344", "query": { "comp": "list", "include": "snapshots", @@ -127,19 +132,19 @@ }, "requestBody": null, "status": 200, - "response": "", + "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:30 GMT", + "date": "Sun, 18 Aug 2019 05:48:59 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30881c-301e-00a5-38b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d62de3-601e-003e-4888-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831023208217", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733985402344", "query": { "restype": "container" }, @@ -147,16 +152,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308866-301e-00a5-76b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62e0a-601e-003e-6988-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:31 GMT", + "date": "Sun, 18 Aug 2019 05:49:00 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831023208217", - "blob": "blob156150831038401321" + "container": "container156610733985402344", + "blob": "blob156610734001604808" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_all_parameters_set.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_all_parameters_set.json index 0a066d1c7154..f29ac80a70d4 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_all_parameters_set.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830569901407", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733509206799", "query": { "restype": "container" }, @@ -10,62 +10,63 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:55 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCE84FD03\"", - "x-ms-request-id": "9f307f87-301e-00a5-39b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC1A86313\"", + "x-ms-request-id": "e4d6281b-601e-003e-0788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830569901407/blob156150830585403011", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733509206799/blob156610733524804082", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:55 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBCE9D2213\"", - "x-ms-request-id": "9f307fd6-301e-00a5-7db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC1C05A2B\"", + "x-ms-request-id": "e4d62844-601e-003e-2f88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830569901407/blob156150830585403011", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733509206799/blob156610733524804082", "query": {}, "requestBody": null, "status": 206, "response": "H", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:54 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:25 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:55 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:55 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCE9D2213\"", + "etag": "\"0x8D7239FC1C05A2B\"", "x-ms-blob-content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", "content-type": "application/octet-stream", - "x-ms-request-id": "9f30802e-301e-00a5-4bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62872-601e-003e-5888-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830569901407", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733509206799", "query": { "restype": "container" }, @@ -73,16 +74,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308073-301e-00a5-01b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62883-601e-003e-6788-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:54 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830569901407", - "blob": "blob156150830585403011" + "container": "container156610733509206799", + "blob": "blob156610733524804082" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_should_not_have_aborted_error_after_download_finishes.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_should_not_have_aborted_error_after_download_finishes.json new file mode 100644 index 000000000000..aff996ba7b1d --- /dev/null +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_should_not_have_aborted_error_after_download_finishes.json @@ -0,0 +1,89 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733447306449", + "query": { + "restype": "container" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Sun, 18 Aug 2019 05:48:53 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:54 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7239FC1496904\"", + "x-ms-request-id": "e4d62785-601e-003e-0e88-55ccb0000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733447306449/blob156610733462604404", + "query": {}, + "requestBody": "Hello World", + "status": 201, + "response": "", + "responseHeaders": { + "date": "Sun, 18 Aug 2019 05:48:53 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:54 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "etag": "\"0x8D7239FC16138F7\"", + "x-ms-request-id": "e4d6279d-601e-003e-2288-55ccb0000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "GET", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733447306449/blob156610733462604404", + "query": {}, + "requestBody": null, + "status": 200, + "response": "Hello World", + "responseHeaders": { + "x-ms-blob-type": "BlockBlob", + "date": "Sun, 18 Aug 2019 05:48:53 GMT", + "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", + "x-ms-server-encrypted": "true", + "content-length": "11", + "x-ms-lease-state": "available", + "x-ms-lease-status": "unlocked", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:54 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7239FC16138F7\"", + "content-type": "application/octet-stream", + "x-ms-request-id": "e4d627bf-601e-003e-3e88-55ccb0000000", + "x-ms-version": "2018-11-09", + "accept-ranges": "bytes" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733447306449", + "query": { + "restype": "container" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "e4d627e3-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "date": "Sun, 18 Aug 2019 05:48:54 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "container": "container156610733447306449", + "blob": "blob156610733462604404" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_with_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_with_with_default_parameters.json index 149a970f89f4..2d05df9377a5 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_with_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_download_with_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830506603149", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733383609174", "query": { "restype": "container" }, @@ -10,62 +10,63 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:53 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCE2454F0\"", - "x-ms-request-id": "9f307e67-301e-00a5-43b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC0E8249E\"", + "x-ms-request-id": "e4d6270f-601e-003e-3088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830506603149/blob156150830521705042", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733383609174/blob156610733398805253", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:53 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:54 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBCE3C2BC9\"", - "x-ms-request-id": "9f307ec0-301e-00a5-0bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC0FF7F60\"", + "x-ms-request-id": "e4d62734-601e-003e-4f88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830506603149/blob156150830521705042", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733383609174/blob156610733398805253", "query": {}, "requestBody": null, "status": 200, "response": "Hello World", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:53 GMT", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:25 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:54 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCE3C2BC9\"", + "etag": "\"0x8D7239FC0FF7F60\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f307f13-301e-00a5-52b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6274b-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830506603149", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733383609174", "query": { "restype": "container" }, @@ -73,16 +74,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f307f4a-301e-00a5-7fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62773-601e-003e-7f88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:25 GMT", + "date": "Sun, 18 Aug 2019 05:48:53 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830506603149", - "blob": "blob156150830521705042" + "container": "container156610733383609174", + "blob": "blob156610733398805253" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_all_parameters_set.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_all_parameters_set.json index 788b08e8c959..77bc13bced84 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_all_parameters_set.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830884108392", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733834005811", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:28 GMT", + "date": "Sun, 18 Aug 2019 05:48:57 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:58 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD0649B1A\"", - "x-ms-request-id": "9f308479-301e-00a5-0fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC397BB75\"", + "x-ms-request-id": "e4d62b27-601e-003e-4a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830884108392/blob156150830899503190", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733834005811/blob156610733849505557", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:57 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:58 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD07C7225\"", - "x-ms-request-id": "9f3084d2-301e-00a5-5bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC3B0764A\"", + "x-ms-request-id": "e4d62b43-601e-003e-6388-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830884108392/blob156150830899503190", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733834005811/blob156610733849505557", "query": { "comp": "properties" }, @@ -48,49 +48,50 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:57 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:58 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD093CEFC\"", - "x-ms-request-id": "9f308525-301e-00a5-1eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC3C89687\"", + "x-ms-request-id": "e4d62b83-601e-003e-1d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830884108392/blob156150830899503190", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733834005811/blob156610733849505557", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:28 GMT", + "date": "Sun, 18 Aug 2019 05:48:57 GMT", "content-encoding": "blobContentEncoding", "x-ms-access-tier-inferred": "true", "content-md5": "AQIDBA==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "x-ms-access-tier": "Cool", "content-disposition": "blobContentDisposition", "content-length": "11", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:29 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:58 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:58 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD093CEFC\"", + "etag": "\"0x8D7239FC3C89687\"", "content-language": "blobContentLanguage", - "x-ms-request-id": "9f308555-301e-00a5-4ab4-2b4188000000", + "x-ms-request-id": "e4d62bc2-601e-003e-5788-55ccb0000000", "cache-control": "blobCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "content-type": "blobContentType" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830884108392", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733834005811", "query": { "restype": "container" }, @@ -98,16 +99,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308595-301e-00a5-80b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62bee-601e-003e-7e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:29 GMT", + "date": "Sun, 18 Aug 2019 05:48:58 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830884108392", - "blob": "blob156150830899503190" + "container": "container156610733834005811", + "blob": "blob156610733849505557" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_default_parameters.json index 4ef6cc3b2fa9..e5815357b279 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_sethttpheaders_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830807203899", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733756002522", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:27 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:28 GMT", + "date": "Sun, 18 Aug 2019 05:48:56 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:57 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCFEF07A8\"", - "x-ms-request-id": "9f308352-301e-00a5-0bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC320A12C\"", + "x-ms-request-id": "e4d62a11-601e-003e-4f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830807203899/blob156150830822505582", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733756002522/blob156610733771509256", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:27 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:28 GMT", + "date": "Sun, 18 Aug 2019 05:48:56 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:57 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD0072CD5\"", - "x-ms-request-id": "9f3083ac-301e-00a5-5ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC338715E\"", + "x-ms-request-id": "e4d62a55-601e-003e-0a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830807203899/blob156150830822505582", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733756002522/blob156610733771509256", "query": { "comp": "properties" }, @@ -48,43 +48,44 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:28 GMT", + "date": "Sun, 18 Aug 2019 05:48:57 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:57 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD01ED7D2\"", - "x-ms-request-id": "9f3083d7-301e-00a5-80b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC350919F\"", + "x-ms-request-id": "e4d62a99-601e-003e-4b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830807203899/blob156150830822505582", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733756002522/blob156610733771509256", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:28 GMT", + "date": "Sun, 18 Aug 2019 05:48:57 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:28 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:57 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:57 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD01ED7D2\"", - "x-ms-request-id": "9f308415-301e-00a5-37b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC350919F\"", + "x-ms-request-id": "e4d62add-601e-003e-0988-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830807203899", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733756002522", "query": { "restype": "container" }, @@ -92,16 +93,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30844a-301e-00a5-63b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62b03-601e-003e-2d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:28 GMT", + "date": "Sun, 18 Aug 2019 05:48:57 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830807203899", - "blob": "blob156150830822505582" + "container": "container156610733756002522", + "blob": "blob156610733771509256" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_cleaning_up_metadata.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_cleaning_up_metadata.json index e831e4c54198..fa3bd00635f4 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_cleaning_up_metadata.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_cleaning_up_metadata.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830708503451", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733649704049", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:27 GMT", + "date": "Sun, 18 Aug 2019 05:48:55 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:56 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCF58519F\"", - "x-ms-request-id": "9f308223-301e-00a5-7bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC27E2942\"", + "x-ms-request-id": "e4d62937-601e-003e-1088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830708503451/blob156150830723601551", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733649704049/blob156610733671404929", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:27 GMT", + "date": "Sun, 18 Aug 2019 05:48:55 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:56 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBCF6F8C5F\"", - "x-ms-request-id": "9f308267-301e-00a5-38b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC29FBF27\"", + "x-ms-request-id": "e4d62966-601e-003e-3a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830708503451/blob156150830723601551", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733649704049/blob156610733671404929", "query": { "comp": "metadata" }, @@ -48,48 +48,49 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:27 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:27 GMT", + "date": "Sun, 18 Aug 2019 05:48:56 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:56 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCF8673DF\"", - "x-ms-request-id": "9f308286-301e-00a5-53b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC2B6F4E2\"", + "x-ms-request-id": "e4d62978-601e-003e-4a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830708503451/blob156150830723601551", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733649704049/blob156610733671404929", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:27 GMT", + "date": "Sun, 18 Aug 2019 05:48:56 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "x-ms-access-tier": "Cool", "content-length": "11", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "x-ms-meta-a": "a", - "last-modified": "Wed, 26 Jun 2019 00:18:27 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:56 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCF8673DF\"", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:27 GMT", + "etag": "\"0x8D7239FC2B6F4E2\"", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:56 GMT", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3082cd-301e-00a5-13b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6299b-601e-003e-6988-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-meta-b": "b" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830708503451/blob156150830723601551", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733649704049/blob156610733671404929", "query": { "comp": "metadata" }, @@ -97,46 +98,47 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:27 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:27 GMT", + "date": "Sun, 18 Aug 2019 05:48:56 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:57 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCFA9E0C2\"", - "x-ms-request-id": "9f3082df-301e-00a5-24b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC2D99E60\"", + "x-ms-request-id": "e4d629b2-601e-003e-7b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830708503451/blob156150830723601551", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733649704049/blob156610733671404929", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:27 GMT", + "date": "Sun, 18 Aug 2019 05:48:56 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:27 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:27 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:56 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:57 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCFA9E0C2\"", + "etag": "\"0x8D7239FC2D99E60\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f308301-301e-00a5-42b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d629d2-601e-003e-1688-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830708503451", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733649704049", "query": { "restype": "container" }, @@ -144,16 +146,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30831d-301e-00a5-5ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d629fd-601e-003e-3b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:27 GMT", + "date": "Sun, 18 Aug 2019 05:48:56 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830708503451", - "blob": "blob156150830723601551" + "container": "container156610733649704049", + "blob": "blob156610733671404929" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_new_metadata_set.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_new_metadata_set.json index e5f1c7a7f1d0..1e7cd70fa873 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_new_metadata_set.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_setmetadata_with_new_metadata_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830631802146", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733572406165", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:26 GMT", + "date": "Sun, 18 Aug 2019 05:48:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:55 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCEE3A8D8\"", - "x-ms-request-id": "9f3080c0-301e-00a5-47b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC2082092\"", + "x-ms-request-id": "e4d628a4-601e-003e-0488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830631802146/blob156150830647201837", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733572406165/blob156610733587904194", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:26 GMT", + "date": "Sun, 18 Aug 2019 05:48:55 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:55 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBCEFB58C6\"", - "x-ms-request-id": "9f308106-301e-00a5-80b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC22065EA\"", + "x-ms-request-id": "e4d628be-601e-003e-1d88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830631802146/blob156150830647201837", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733572406165/blob156610733587904194", "query": { "comp": "metadata" }, @@ -48,48 +48,49 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:26 GMT", + "date": "Sun, 18 Aug 2019 05:48:55 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:56 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCF124050\"", - "x-ms-request-id": "9f30814d-301e-00a5-3db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC237E9CE\"", + "x-ms-request-id": "e4d628d7-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830631802146/blob156150830647201837", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733572406165/blob156610733587904194", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:26 GMT", + "date": "Sun, 18 Aug 2019 05:48:55 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "x-ms-access-tier": "Cool", "content-length": "11", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "x-ms-meta-a": "a", - "last-modified": "Wed, 26 Jun 2019 00:18:26 GMT", + "last-modified": "Sun, 18 Aug 2019 05:48:56 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBCF124050\"", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:26 GMT", + "etag": "\"0x8D7239FC237E9CE\"", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:48:55 GMT", "content-type": "application/octet-stream", - "x-ms-request-id": "9f308195-301e-00a5-7bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d628f5-601e-003e-5088-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-meta-b": "b" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150830631802146", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610733572406165", "query": { "restype": "container" }, @@ -97,16 +98,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3081de-301e-00a5-40b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6290c-601e-003e-6688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:26 GMT", + "date": "Sun, 18 Aug 2019 05:48:55 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150830631802146", - "blob": "blob156150830647201837" + "container": "container156610733572406165", + "blob": "blob156610733587904194" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_archive_to_hot.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_archive_to_hot.json index 13f732628b0c..68fb352e68b8 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_archive_to_hot.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_archive_to_hot.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831621404512", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734490504894", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:35 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:04 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD4C95CD6\"", - "x-ms-request-id": "9f308ee1-301e-00a5-0bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC7816AB7\"", + "x-ms-request-id": "e4d63134-601e-003e-2a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831621404512/blob156150831636601418", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734490504894/blob156610734506101177", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:36 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:04 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD4E134AC\"", - "x-ms-request-id": "9f308f1c-301e-00a5-3ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC7996265\"", + "x-ms-request-id": "e4d6316a-601e-003e-5788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831621404512/blob156150831636601418", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734490504894/blob156610734506101177", "query": { "comp": "tier" }, @@ -48,43 +48,44 @@ "status": 200, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308f5f-301e-00a5-77b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6317f-601e-003e-6c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:04 GMT", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831621404512/blob156150831636601418", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734490504894/blob156610734506101177", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:04 GMT", "x-ms-lease-state": "available", - "x-ms-access-tier-change-time": "Wed, 26 Jun 2019 00:18:36 GMT", + "x-ms-access-tier-change-time": "Sun, 18 Aug 2019 05:49:05 GMT", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-access-tier": "Archive", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:36 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:36 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD4E134AC\"", + "etag": "\"0x8D7239FC7996265\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f308f98-301e-00a5-2cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6319e-601e-003e-0588-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831621404512/blob156150831636601418", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734490504894/blob156610734506101177", "query": { "comp": "tier" }, @@ -92,44 +93,45 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308fb5-301e-00a5-47b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d631a8-601e-003e-0c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:04 GMT", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831621404512/blob156150831636601418", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734490504894/blob156610734506101177", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:04 GMT", "x-ms-lease-state": "available", - "x-ms-access-tier-change-time": "Wed, 26 Jun 2019 00:18:36 GMT", + "x-ms-access-tier-change-time": "Sun, 18 Aug 2019 05:49:05 GMT", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "x-ms-archive-status": "rehydrate-pending-to-hot", "content-length": "11", "x-ms-access-tier": "Archive", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:36 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:36 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD4E134AC\"", + "etag": "\"0x8D7239FC7996265\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f308fef-301e-00a5-79b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d631d2-601e-003e-2d88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831621404512", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734490504894", "query": { "restype": "container" }, @@ -137,16 +139,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f309035-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d631f1-601e-003e-4488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:04 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831621404512", - "blob": "blob156150831636601418" + "container": "container156610734490504894", + "blob": "blob156610734506101177" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_default_to_cool.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_default_to_cool.json index 0f6ea7ef0414..2469a5a7abe3 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_default_to_cool.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_settier_set_default_to_cool.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831543905572", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734407504542", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:35 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:35 GMT", + "date": "Sun, 18 Aug 2019 05:49:03 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD453C97C\"", - "x-ms-request-id": "9f308de3-301e-00a5-34b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC7025FB9\"", + "x-ms-request-id": "e4d6306e-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831543905572/blob156150831560004068", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734407504542/blob156610734426000042", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:35 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:35 GMT", + "date": "Sun, 18 Aug 2019 05:49:03 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD46C64A2\"", - "x-ms-request-id": "9f308e13-301e-00a5-5bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC71F3A39\"", + "x-ms-request-id": "e4d63091-601e-003e-1988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831543905572/blob156150831560004068", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734407504542/blob156610734426000042", "query": { "comp": "tier" }, @@ -48,43 +48,44 @@ "status": 200, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308e43-301e-00a5-04b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d630b3-601e-003e-3488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:35 GMT", + "date": "Sun, 18 Aug 2019 05:49:03 GMT", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831543905572/blob156150831560004068", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734407504542/blob156610734426000042", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:35 GMT", + "date": "Sun, 18 Aug 2019 05:49:03 GMT", "x-ms-lease-state": "available", - "x-ms-access-tier-change-time": "Wed, 26 Jun 2019 00:18:35 GMT", + "x-ms-access-tier-change-time": "Sun, 18 Aug 2019 05:49:04 GMT", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:35 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:35 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:04 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD46C64A2\"", + "etag": "\"0x8D7239FC71F3A39\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f308e71-301e-00a5-2bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d630d8-601e-003e-5388-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831543905572", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734407504542", "query": { "restype": "container" }, @@ -92,16 +93,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308eb1-301e-00a5-60b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d630f7-601e-003e-7288-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:35 GMT", + "date": "Sun, 18 Aug 2019 05:49:03 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831543905572", - "blob": "blob156150831560004068" + "container": "container156610734407504542", + "blob": "blob156610734426000042" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json index 46861b77c840..8ee612145d56 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899066808206", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734713007926", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:10 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:10 GMT", + "date": "Sun, 18 Aug 2019 05:49:06 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C48A3E2F4\"", - "x-ms-request-id": "bc484a14-901e-0046-4a45-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC8D4B4FC\"", + "x-ms-request-id": "e4d6330f-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899066808206/blob156464899082301259", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734713007926/blob156610734728403140", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:10 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:10 GMT", + "date": "Sun, 18 Aug 2019 05:49:06 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D7165C48BB8FDB\"", - "x-ms-request-id": "bc484a32-901e-0046-6445-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC8EC85C2\"", + "x-ms-request-id": "e4d63329-601e-003e-4c88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899066808206", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734713007926", "query": { "restype": "container" }, @@ -48,16 +48,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484a77-901e-0046-2145-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63339-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:10 GMT", + "date": "Sun, 18 Aug 2019 05:49:06 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899066808206", - "blob": "blob156464899082301259" + "container": "container156610734713007926", + "blob": "blob156610734728403140" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json index 20e94835b9f1..7b8aaee3957e 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899017701968", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734666407015", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:09 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:10 GMT", + "date": "Sun, 18 Aug 2019 05:49:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C48582646\"", - "x-ms-request-id": "bc48496a-901e-0046-3245-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC88D65E4\"", + "x-ms-request-id": "e4d632bb-601e-003e-6e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899017701968/blob156464899032504994", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734666407015/blob156610734681604755", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:09 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:10 GMT", + "date": "Sun, 18 Aug 2019 05:49:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D7165C486F37D6\"", - "x-ms-request-id": "bc4849a7-901e-0046-6545-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC8A536A1\"", + "x-ms-request-id": "e4d632c9-601e-003e-7b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899017701968", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734666407015", "query": { "restype": "container" }, @@ -48,16 +48,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc4849d5-901e-0046-0e45-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d632ec-601e-003e-1788-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:06 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899017701968", - "blob": "blob156464899032504994" + "container": "container156610734666407015", + "blob": "blob156610734681604755" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_undelete.json b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_undelete.json index 7687766fc8b5..2fbabf106d2e 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_undelete.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobclient/recording_undelete.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831241806716", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734205300939", "query": { "restype": "container" }, @@ -10,30 +10,30 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:32 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:32 GMT", + "date": "Sun, 18 Aug 2019 05:49:01 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:02 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD2865725\"", - "x-ms-request-id": "9f3089d0-301e-00a5-22b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC5CE3BD7\"", + "x-ms-request-id": "e4d62eea-601e-003e-2888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831241806716/blob156150831257008534", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734205300939/blob156610734220906887", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:32 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:32 GMT", + "date": "Sun, 18 Aug 2019 05:49:01 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:02 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBD29F8E80\"", - "x-ms-request-id": "9f3089f6-301e-00a5-41b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC5E6CFA5\"", + "x-ms-request-id": "e4d62f0f-601e-003e-4988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } @@ -49,33 +49,33 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,PUT,OPTIONS***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888true7false", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:32 GMT", + "date": "Sun, 18 Aug 2019 05:49:01 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f308a22-301e-00a5-66b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d62f31-601e-003e-6788-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831241806716/blob156150831257008534", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734205300939/blob156610734220906887", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:32 GMT", + "date": "Sun, 18 Aug 2019 05:49:01 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f308a52-301e-00a5-11b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62f53-601e-003e-0488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831241806716", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734205300939", "query": { "comp": "list", "include": "deleted", @@ -83,19 +83,19 @@ }, "requestBody": null, "status": 200, - "response": "blob156150831257008534trueWed, 26 Jun 2019 00:18:32 GMTWed, 26 Jun 2019 00:18:32 GMT0x8D6F9CBD29F8E8011application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrueWed, 26 Jun 2019 00:18:32 GMT6", + "response": "blob156610734220906887trueSun, 18 Aug 2019 05:49:02 GMTSun, 18 Aug 2019 05:49:02 GMT0x8D7239FC5E6CFA511application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrueSun, 18 Aug 2019 05:49:02 GMT60", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:32 GMT", + "date": "Sun, 18 Aug 2019 05:49:01 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f308a88-301e-00a5-41b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d62f73-601e-003e-2188-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831241806716/blob156150831257008534", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734205300939/blob156610734220906887", "query": { "comp": "undelete" }, @@ -103,16 +103,16 @@ "status": 200, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308ad8-301e-00a5-05b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62f8b-601e-003e-3688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:32 GMT", + "date": "Sun, 18 Aug 2019 05:49:01 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831241806716", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734205300939", "query": { "comp": "list", "include": "deleted", @@ -120,19 +120,19 @@ }, "requestBody": null, "status": 200, - "response": "blob156150831257008534Wed, 26 Jun 2019 00:18:32 GMTWed, 26 Jun 2019 00:18:32 GMT0x8D6F9CBD29F8E8011application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue", + "response": "blob156610734220906887Sun, 18 Aug 2019 05:49:02 GMTSun, 18 Aug 2019 05:49:02 GMT0x8D7239FC5E6CFA511application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:33 GMT", + "date": "Sun, 18 Aug 2019 05:49:02 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f308b13-301e-00a5-3bb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d62fa4-601e-003e-4d88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831241806716", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734205300939", "query": { "restype": "container" }, @@ -140,16 +140,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f308b49-301e-00a5-70b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d62fc5-601e-003e-6488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:33 GMT", + "date": "Sun, 18 Aug 2019 05:49:02 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831241806716", - "blob": "blob156150831257008534" + "container": "container156610734205300939", + "blob": "blob156610734220906887" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.json index 3f08170a54ca..17f9b4db93e2 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.json @@ -11,12 +11,12 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,PUT,OPTIONS***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888true7false", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:10 GMT", + "date": "Sun, 18 Aug 2019 05:49:21 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "bc484aac-901e-0046-4c45-48a407000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63d5d-601e-003e-0888-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_createcontainer_and_deletecontainer.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_createcontainer_and_deletecontainer.json index 1608988cda1e..98e8713e358b 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_createcontainer_and_deletecontainer.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_createcontainer_and_deletecontainer.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833014903363", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736099001139", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:49 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:50 GMT", + "date": "Sun, 18 Aug 2019 05:49:21 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:21 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDD17318F\"", - "x-ms-request-id": "9f30a399-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD1187682\"", + "x-ms-request-id": "e4d63cd6-601e-003e-0f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833014903363", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736099001139", "query": { "restype": "container" }, @@ -30,15 +30,15 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "unlocked", - "date": "Wed, 26 Jun 2019 00:18:49 GMT", + "date": "Sun, 18 Aug 2019 05:49:21 GMT", "x-ms-meta-key": "value", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:18:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:21 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDD17318F\"", + "etag": "\"0x8D7239FD1187682\"", "x-ms-blob-public-access": "container", - "x-ms-request-id": "9f30a3c2-301e-00a5-12b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63ce4-601e-003e-1a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "available" @@ -46,7 +46,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833014903363", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736099001139", "query": { "restype": "container" }, @@ -54,34 +54,34 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30a3eb-301e-00a5-32b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63d03-601e-003e-3488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:50 GMT", + "date": "Sun, 18 Aug 2019 05:49:21 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833014903363", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736099001139", "query": { "restype": "container" }, "requestBody": null, "status": 404, - "response": "ContainerNotFoundThe specified container does not exist.\nRequestId:9f30a418-301e-00a5-59b4-2b4188000000\nTime:2019-06-26T00:18:50.6949115Z", + "response": "ContainerNotFoundThe specified container does not exist.\nRequestId:e4d63d2b-601e-003e-5788-55ccb0000000\nTime:2019-08-18T05:49:21.5671412Z", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:50 GMT", + "date": "Sun, 18 Aug 2019 05:49:21 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "ContainerNotFound", "content-type": "application/xml", - "x-ms-request-id": "9f30a418-301e-00a5-59b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63d2b-601e-003e-5788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "225" } } ], "uniqueTestInfo": { - "container": "container156150833014903363" + "container": "container156610736099001139" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getaccountinfo.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getaccountinfo.json index 5fff1e3ef6bf..27544e8392fe 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getaccountinfo.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getaccountinfo.json @@ -11,12 +11,12 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:49 GMT", + "date": "Sun, 18 Aug 2019 05:49:20 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-account-kind": "StorageV2", - "x-ms-request-id": "9f30a368-301e-00a5-45b4-2b4188000000", + "x-ms-request-id": "e4d63cb6-601e-003e-7188-55ccb0000000", "x-ms-sku-name": "Standard_RAGRS", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "content-length": "0" } } diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getproperties.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getproperties.json index 0cc2cdbaf245..02eee0e28edc 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getproperties.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getproperties.json @@ -11,12 +11,12 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,PUT,OPTIONS***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888true7false", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:43 GMT", + "date": "Sun, 18 Aug 2019 05:49:14 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f309a6e-301e-00a5-09b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63847-601e-003e-2788-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getuserdelegationkey_should_work.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getuserdelegationkey_should_work.json new file mode 100644 index 000000000000..7327159368bb --- /dev/null +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_getuserdelegationkey_should_work.json @@ -0,0 +1,4 @@ +{ + "recordings": [], + "uniqueTestInfo": {} +} \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_all_parameters_configured.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_all_parameters_configured.json index e232ca74a377..d0872c0f48e3 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_all_parameters_configured.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_all_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831757406675x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734819105058x1", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:37 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:37 GMT", + "date": "Sun, 18 Aug 2019 05:49:07 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD598E07A\"", - "x-ms-request-id": "9f3090be-301e-00a5-2ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC9769085\"", + "x-ms-request-id": "e4d633c8-601e-003e-5488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831757406675x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734819105058x2", "query": { "restype": "container" }, @@ -29,12 +29,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:37 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:37 GMT", + "date": "Sun, 18 Aug 2019 05:49:07 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD5B01622\"", - "x-ms-request-id": "9f3090f6-301e-00a5-57b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FC98E3B7E\"", + "x-ms-request-id": "e4d633f4-601e-003e-7388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -45,18 +45,18 @@ "comp": "list", "include": "metadata", "maxresults": "1", - "prefix": "container156150831757406675" + "prefix": "container156610734819105058" }, "requestBody": null, "status": 200, - "response": "container1561508317574066751container156150831757406675x1Wed, 26 Jun 2019 00:18:37 GMT\"0x8D6F9CBD598E07A\"unlockedavailablefalsefalseval/fakestorageaccount/container156150831757406675x2", + "response": "container1566107348191050581container156610734819105058x1Sun, 18 Aug 2019 05:49:08 GMT\"0x8D7239FC9769085\"unlockedavailablefalsefalseval/fakestorageaccount/container156610734819105058x2", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:37 GMT", + "date": "Sun, 18 Aug 2019 05:49:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f309115-301e-00a5-75b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63409-601e-003e-0688-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { @@ -65,25 +65,25 @@ "query": { "comp": "list", "include": "metadata", - "marker": "/fakestorageaccount/container156150831757406675x2", + "marker": "/fakestorageaccount/container156610734819105058x2", "maxresults": "1", - "prefix": "container156150831757406675" + "prefix": "container156610734819105058" }, "requestBody": null, "status": 200, - "response": "container156150831757406675/fakestorageaccount/container156150831757406675x21container156150831757406675x2Wed, 26 Jun 2019 00:18:37 GMT\"0x8D6F9CBD5B01622\"unlockedavailablefalsefalseval", + "response": "container156610734819105058/fakestorageaccount/container156610734819105058x21container156610734819105058x2Sun, 18 Aug 2019 05:49:08 GMT\"0x8D7239FC98E3B7E\"unlockedavailablefalsefalseval", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:37 GMT", + "date": "Sun, 18 Aug 2019 05:49:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30915c-301e-00a5-32b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d6342c-601e-003e-2388-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831757406675x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734819105058x1", "query": { "restype": "container" }, @@ -91,16 +91,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30918c-301e-00a5-59b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6344d-601e-003e-4088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:37 GMT", + "date": "Sun, 18 Aug 2019 05:49:07 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831757406675x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734819105058x2", "query": { "restype": "container" }, @@ -108,15 +108,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3091c4-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63474-601e-003e-6088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:38 GMT", + "date": "Sun, 18 Aug 2019 05:49:08 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831757406675" + "container": "container156610734819105058" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_default_parameters.json index 46a23f3947db..ef45456f7766 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_listcontainers_with_default_parameters.json @@ -8,14 +8,14 @@ }, "requestBody": null, "status": 200, - "response": "1container-with-dash156115964854905442Fri, 21 Jun 2019 23:27:28 GMT\"0x8D6F6A006C0A26B\"unlockedavailablefalsefalsecontainer156090554725705490Wed, 19 Jun 2019 00:52:27 GMT\"0x8D6F45066AA0EEB\"unlockedavailablefalsefalsecontainer156090554779608687Wed, 19 Jun 2019 00:52:28 GMT\"0x8D6F45066E6929F\"unlockedavailablefalsefalsecontainer156090561203008921156090561232906201Wed, 19 Jun 2019 00:53:32 GMT\"0x8D6F4508D5C383D\"unlockedavailablecontainerfalsefalsecontainer156090867214307648Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD4085EF\"unlockedavailablefalsefalsecontainer156090867264201894Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD63566C\"unlockedavailablefalsefalsecontainer156090872711907981156090872727306486Wed, 19 Jun 2019 01:45:27 GMT\"0x8D6F457CDEB14E4\"unlockedavailablecontainerfalsefalsecontainer156090914137907938Wed, 19 Jun 2019 01:52:21 GMT\"0x8D6F458C4F044E4\"unlockedavailablefalsefalsecontainer156090914186704532Wed, 19 Jun 2019 01:52:22 GMT\"0x8D6F458C512A02B\"unlockedavailablefalsefalsecontainer156090919639003062156090919654405598Wed, 19 Jun 2019 01:53:16 GMT\"0x8D6F458E5A0D07F\"unlockedavailablecontainerfalsefalsecontainer156090927369404910Wed, 19 Jun 2019 01:54:33 GMT\"0x8D6F459139C9126\"unlockedavailablefalsefalsecontainer156091262443706516Wed, 19 Jun 2019 02:50:24 GMT\"0x8D6F460E10763ED\"unlockedavailablefalsefalsecontainer156091262497101824Wed, 19 Jun 2019 02:50:25 GMT\"0x8D6F460E129BF3A\"unlockedavailablefalsefalsecontainer156091266313809371156091266329600565Wed, 19 Jun 2019 02:51:03 GMT\"0x8D6F460F7F8F7F4\"unlockedavailablecontainerfalsefalsecontainer156091272858605498Wed, 19 Jun 2019 02:52:08 GMT\"0x8D6F4611F0E7CB1\"unlockedavailablefalsefalsecontainer156091272903308772Wed, 19 Jun 2019 02:52:09 GMT\"0x8D6F4611F3D4DF6\"unlockedavailablefalsefalsecontainer156091279462904083156091279492705125Wed, 19 Jun 2019 02:53:15 GMT\"0x8D6F46146847053\"unlockedavailablecontainerfalsefalsecontainer156091351130508858Wed, 19 Jun 2019 03:05:11 GMT\"0x8D6F462F199157F\"unlockedavailablefalsefalsecontainer156091351179904003Wed, 19 Jun 2019 03:05:12 GMT\"0x8D6F462F1CF7C41\"unlockedavailablefalsefalsecontainer156091357473902828156091357507003495Wed, 19 Jun 2019 03:06:15 GMT\"0x8D6F4631784E9A3\"unlockedavailablecontainerfalsefalsecontainer156097024987501854Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70C6E3DF8\"unlockedavailablefalsefalsecontainer156097025036305209Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70CA331FC\"unlockedavailablefalsefalsecontainer156097032908204284156097032938404096Wed, 19 Jun 2019 18:52:09 GMT\"0x8D6F4E73BBBAA6F\"unlockedavailablecontainerfalsefalsecontainer156097104224604478Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4C0F471\"unlockedavailablefalsefalsecontainer156097104276103822Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4E32889\"unlockedavailablefalsefalsecontainer156097107774300513156097107789009300Wed, 19 Jun 2019 19:04:37 GMT\"0x8D6F4E8F9CA138F\"unlockedavailablecontainerfalsefalsecontainer156105643756901599156105643787203056Thu, 20 Jun 2019 18:47:18 GMT\"0x8D6F5AFB8660FFD\"unlockedavailablecontainerfalsefalsecontainer156114004451501471Fri, 21 Jun 2019 18:00:44 GMT\"0x8D6F67261F9EA36\"unlockedavailablefalsefalsecontainer156114004505609427Fri, 21 Jun 2019 18:00:45 GMT\"0x8D6F67262284BFE\"unlockedavailablefalsefalsecontainer156114011397205660156114011426706131Fri, 21 Jun 2019 18:01:54 GMT\"0x8D6F6728B698B2E\"unlockedavailablecontainerfalsefalsecontainer156114087829106735156114087859109362Fri, 21 Jun 2019 18:14:38 GMT\"0x8D6F67452FBC965\"unlockedavailablecontainerfalsefalsecontainer156114502060405743Fri, 21 Jun 2019 19:23:40 GMT\"0x8D6F67DF7E74163\"unlockedavailablefalsefalsecontainer156114502105705998Fri, 21 Jun 2019 19:23:41 GMT\"0x8D6F67DF815EA2D\"unlockedavailablefalsefalsecontainer156114509118209199156114509147403388Fri, 21 Jun 2019 19:24:51 GMT\"0x8D6F67E220F2760\"unlockedavailablecontainerfalsefalsecontainer156115949109607609Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA90281D7\"unlockedavailablefalsefalsecontainer156115949159205948Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA93342C2\"unlockedavailablefalsefalsecontainer156115957377103265156115957407908648Fri, 21 Jun 2019 23:26:14 GMT\"0x8D6F69FDA6462E0\"unlockedavailablecontainerfalsefalsecontainer156141759468407984Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AC0D4CC\"unlockedavailablefalsefalsecontainer156141759523203407Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AF57377\"unlockedavailablefalsefalsecontainer156141766234900613156141766264203728Mon, 24 Jun 2019 23:07:42 GMT\"0x8D6F8F8C3233BC9\"unlockedavailablecontainerfalsefalsecontainer156141819245700366Mon, 24 Jun 2019 23:16:32 GMT\"0x8D6F8F9FF0F0832\"unlockedavailablefalsefalsecontainer156141819298608886Mon, 24 Jun 2019 23:16:33 GMT\"0x8D6F8F9FF31FFDA\"unlockedavailablefalsefalsecontainer156141823066904750156141823082207639Mon, 24 Jun 2019 23:17:10 GMT\"0x8D6F8FA15B6FEFA\"unlockedavailablecontainerfalsefalsecontainer156141920928403418Mon, 24 Jun 2019 23:33:29 GMT\"0x8D6F8FC5D1A5B84\"unlockedavailablefalsefalsecontainer156141920977109880Mon, 24 Jun 2019 23:33:30 GMT\"0x8D6F8FC5D4DAFEE\"unlockedavailablefalsefalsecontainer156141927861505007156141927890603002Mon, 24 Jun 2019 23:34:39 GMT\"0x8D6F8FC8680E2F3\"unlockedavailablecontainerfalsefalsecontainer156141960699900351Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A263841\"unlockedavailablefalsefalsecontainer156141960747702958Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A59D909\"unlockedavailablefalsefalsecontainer156141967683200333156141967713009963Mon, 24 Jun 2019 23:41:17 GMT\"0x8D6F8FD73DE312C\"unlockedavailablecontainerfalsefalsecontainer156142020403106302Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE064E7F\"unlockedavailablefalsefalsecontainer156142020456902730Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE3F3E08\"unlockedavailablefalsefalsecontainer156142025553501646Mon, 24 Jun 2019 23:50:55 GMT\"0x8D6F8FECC9F3D49\"unlockedavailablefalsefalsecontainer156142036489400146Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0DE28137\"unlockedavailablefalsefalsecontainer156142036537902490Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0E193B4C\"unlockedavailablefalsefalsecontainer156142043563506030156142043595106431Mon, 24 Jun 2019 23:53:56 GMT\"0x8D6F8FF38292165\"unlockedavailablecontainerfalsefalsecontainer156142093920501679Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F9006434A518\"unlockedavailablefalsefalsecontainer156142093965604939Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F900644E734D\"unlockedavailablefalsefalsecontainer156142097818803588156142097834608426Tue, 25 Jun 2019 00:02:58 GMT\"0x8D6F9007B5E19A6\"unlockedavailablecontainerfalsefalsecontainer156142243858402205Tue, 25 Jun 2019 00:27:18 GMT\"0x8D6F903E1E87A7A\"unlockedavailablefalsefalsecontainer156142243912202747Tue, 25 Jun 2019 00:27:19 GMT\"0x8D6F903E2261C80\"unlockedavailablefalsefalsecontainer156142246104701542Tue, 25 Jun 2019 00:27:41 GMT\"0x8D6F903EF350F1E\"unlockedavailablefalsefalsecontainer156142264307302436Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045BCA8DE1\"unlockedavailablefalsefalsecontainer156142264358401271Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045C02A0C3\"unlockedavailablefalsefalsecontainer156142271202706393156142271232308499Tue, 25 Jun 2019 00:31:52 GMT\"0x8D6F90484FBE57D\"unlockedavailablecontainerfalsefalsecontainer156142341801803081Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629AE3D07\"unlockedavailablefalsefalsecontainer156142341845709009Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629C7E42A\"unlockedavailablefalsefalsecontainer156142345755804614156142345770903903Tue, 25 Jun 2019 00:44:17 GMT\"0x8D6F906412CECA6\"unlockedavailablecontainerfalsefalsecontainer156142529642708147Tue, 25 Jun 2019 01:14:56 GMT\"0x8D6F90A895F03CD\"unlockedavailablefalsefalsecontainer156142529698406742Tue, 25 Jun 2019 01:14:57 GMT\"0x8D6F90A897AF55B\"unlockedavailablefalsefalsecontainer156142530034402585Tue, 25 Jun 2019 01:15:00 GMT\"0x8D6F90A8B7A5752\"unlockedavailablefalsefalsecontainer156142690728900422Tue, 25 Jun 2019 01:41:47 GMT\"0x8D6F90E497CF739\"unlockedavailablefalsefalsecontainer156142690779405271Tue, 25 Jun 2019 01:41:48 GMT\"0x8D6F90E49ADB2D6\"unlockedavailablefalsefalsecontainer156142699012009697156142699042405916Tue, 25 Jun 2019 01:43:10 GMT\"0x8D6F90E7AEE3158\"unlockedavailablecontainerfalsefalsecontainer156142886337101746Tue, 25 Jun 2019 02:14:23 GMT\"0x8D6F912D7623791\"unlockedavailablefalsefalsecontainer156142886389902105Tue, 25 Jun 2019 02:14:24 GMT\"0x8D6F912D79B7D2A\"unlockedavailablefalsefalsecontainer156142893223109318156142893252106303Tue, 25 Jun 2019 02:15:32 GMT\"0x8D6F91300811911\"unlockedavailablecontainerfalsefalsecontainer156143119745000266Tue, 25 Jun 2019 02:53:17 GMT\"0x8D6F918469ADF72\"unlockedavailablefalsefalsecontainer156143119799608917Tue, 25 Jun 2019 02:53:18 GMT\"0x8D6F91846D728E7\"unlockedavailablefalsefalsecontainer156143126509402138156143126539206898Tue, 25 Jun 2019 02:54:25 GMT\"0x8D6F9186F022915\"unlockedavailablecontainerfalsefalsecontainer156143264148405404Tue, 25 Jun 2019 03:17:21 GMT\"0x8D6F91BA353FD99\"unlockedavailablefalsefalsecontainer156143264197307061Tue, 25 Jun 2019 03:17:22 GMT\"0x8D6F91BA3831FA2\"unlockedavailablefalsefalsecontainer156143270779701246156143270808805570Tue, 25 Jun 2019 03:18:28 GMT\"0x8D6F91BCAEC659F\"unlockedavailablecontainerfalsefalsecontainer156150704867908665Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E16DF5CC\"unlockedavailablefalsefalsecontainer156150704913009257Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E1A22DFF\"unlockedavailablefalsefalsecontainer156150711809001022156150711838409588Tue, 25 Jun 2019 23:58:38 GMT\"0x8D6F9C90AE8B898\"unlockedavailablecontainerfalsefalsecontainer156150780604806987Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA4E43436\"unlockedavailablefalsefalsecontainer156150780663707432Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA524F90C\"unlockedavailablefalsefalsecontainer156150787409600313156150787438902817Wed, 26 Jun 2019 00:11:14 GMT\"0x8D6F9CACD86940B\"unlockedavailablecontainerfalsefalsecontainer156150830230202417Wed, 26 Jun 2019 00:18:22 GMT\"0x8D6F9CBCCB7FFFA\"unlockedavailablefalsefalsecontainer156150830285909872Wed, 26 Jun 2019 00:18:22 GMT\"0x8D6F9CBCCD3550C\"unlockedavailablefalsefalsenewcontainer1558563421778Wed, 22 May 2019 22:16:04 GMT\"0x8D6DF031477DC5B\"unlockedavailablefalsefalsenewcontainer1558563547313Wed, 22 May 2019 22:18:09 GMT\"0x8D6DF035F60E0EB\"unlockedavailablefalsefalsenewcontainer1558563621011Wed, 22 May 2019 22:19:23 GMT\"0x8D6DF038B5109E0\"unlockedavailablefalsefalsenewcontainer1558563665188Wed, 22 May 2019 22:20:07 GMT\"0x8D6DF03A59C822A\"unlockedavailablefalsefalsenewcontainer1558563784334Wed, 22 May 2019 22:22:06 GMT\"0x8D6DF03ECC69AC6\"unlockedavailablefalsefalsenewcontainer1558563920843Wed, 22 May 2019 22:24:23 GMT\"0x8D6DF043E0252F0\"unlockedavailablefalsefalsenewcontainer1558563958329Wed, 22 May 2019 22:25:00 GMT\"0x8D6DF0454524392\"unlockedavailablefalsefalsenewcontainer1558564002274Wed, 22 May 2019 22:25:44 GMT\"0x8D6DF046E8C13B4\"unlockedavailablefalsefalsenewcontainer1558566428843Wed, 22 May 2019 23:06:11 GMT\"0x8D6DF0A14E48745\"unlockedavailablefalsefalsenewcontainer1558566502944Wed, 22 May 2019 23:07:25 GMT\"0x8D6DF0A41171278\"unlockedavailablefalsefalsenewcontainer1558567561267Wed, 22 May 2019 23:25:03 GMT\"0x8D6DF0CB7E075CA\"unlockedavailablefalsefalsenewcontainer1558568435670Wed, 22 May 2019 23:39:38 GMT\"0x8D6DF0EC112B3D1\"unlockedavailablefalsefalsenewcontainer1558568652495Wed, 22 May 2019 23:43:14 GMT\"0x8D6DF0F424E081B\"unlockedavailablefalsefalsenewcontainer1558568745506Wed, 22 May 2019 23:44:47 GMT\"0x8D6DF0F79C51DAC\"unlockedavailablefalsefalsenewcontainer1558569392955Wed, 22 May 2019 23:55:35 GMT\"0x8D6DF10FBAA7A4A\"unlockedavailablefalsefalsenewcontainer1558569468574Wed, 22 May 2019 23:56:51 GMT\"0x8D6DF1128BABAB9\"unlockedavailablefalsefalsenewcontainer1558569536456Wed, 22 May 2019 23:57:58 GMT\"0x8D6DF11512FB4E9\"unlockedavailablefalsefalsenewcontainer1558569685779Thu, 23 May 2019 00:00:28 GMT\"0x8D6DF11AA31B593\"unlockedavailablefalsefalsenewcontainer1558569823106Thu, 23 May 2019 00:02:45 GMT\"0x8D6DF11FC0967AF\"unlockedavailablefalsefalsenewcontainer1558569889486Thu, 23 May 2019 00:03:51 GMT\"0x8D6DF12239C4D79\"unlockedavailablefalsefalsenewcontainer1558569945712Thu, 23 May 2019 00:04:48 GMT\"0x8D6DF12451A16B8\"unlockedavailablefalsefalsenewcontainer1558569987205Thu, 23 May 2019 00:05:29 GMT\"0x8D6DF125DD9CF62\"unlockedavailablefalsefalsenewcontainer1558571694791Thu, 23 May 2019 00:33:57 GMT\"0x8D6DF1657AAAB3A\"unlockedavailablefalsefalsenewcontainer1558571988171Thu, 23 May 2019 00:38:50 GMT\"0x8D6DF17069448C5\"unlockedavailablefalsefalsenewcontainer1558572038761Thu, 23 May 2019 00:39:41 GMT\"0x8D6DF172496D021\"unlockedavailablefalsefalsenewcontainer1558572092088Thu, 23 May 2019 00:40:34 GMT\"0x8D6DF17445F6287\"unlockedavailablefalsefalsenewcontainer1558572190452Thu, 23 May 2019 00:42:12 GMT\"0x8D6DF177EFF670F\"unlockedavailablefalsefalsenewcontainer1558572372101Thu, 23 May 2019 00:45:14 GMT\"0x8D6DF17EB453B55\"unlockedavailablefalsefalsenewcontainer1559004365932Tue, 28 May 2019 00:46:06 GMT\"0x8D6E305DE333510\"unlockedavailablefalsefalsenewcontainer1559004757976Tue, 28 May 2019 00:52:38 GMT\"0x8D6E306C7E14974\"unlockedavailablefalsefalsenewcontainer1559342089338Fri, 31 May 2019 22:34:49 GMT\"0x8D6E6183133AB7B\"unlockedavailablefalsefalsenewcontainer1559347780600Sat, 01 Jun 2019 00:09:41 GMT\"0x8D6E625717AAA2A\"unlockedavailablefalsefalsenewcontainer1560993322689Thu, 20 Jun 2019 01:15:23 GMT\"0x8D6F51CC4F2F4D3\"unlockedavailablefalsefalsenewcontainer1561069143536Thu, 20 Jun 2019 22:19:03 GMT\"0x8D6F5CD4DA84818\"unlockedavailablefalsefalsenewcontainer1561073367239Thu, 20 Jun 2019 23:29:27 GMT\"0x8D6F5D723155163\"unlockedavailablefalsefalsenewcontainer1561073421471Thu, 20 Jun 2019 23:30:21 GMT\"0x8D6F5D743688390\"unlockedavailablefalsefalse", + "response": "1container-with-dash156115964854905442Fri, 21 Jun 2019 23:27:28 GMT\"0x8D6F6A006C0A26B\"unlockedavailablefalsefalsecontainer156090554725705490Wed, 19 Jun 2019 00:52:27 GMT\"0x8D6F45066AA0EEB\"unlockedavailablefalsefalsecontainer156090554779608687Wed, 19 Jun 2019 00:52:28 GMT\"0x8D6F45066E6929F\"unlockedavailablefalsefalsecontainer156090561203008921156090561232906201Wed, 19 Jun 2019 00:53:32 GMT\"0x8D6F4508D5C383D\"unlockedavailablecontainerfalsefalsecontainer156090867214307648Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD4085EF\"unlockedavailablefalsefalsecontainer156090867264201894Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD63566C\"unlockedavailablefalsefalsecontainer156090872711907981156090872727306486Wed, 19 Jun 2019 01:45:27 GMT\"0x8D6F457CDEB14E4\"unlockedavailablecontainerfalsefalsecontainer156090914137907938Wed, 19 Jun 2019 01:52:21 GMT\"0x8D6F458C4F044E4\"unlockedavailablefalsefalsecontainer156090914186704532Wed, 19 Jun 2019 01:52:22 GMT\"0x8D6F458C512A02B\"unlockedavailablefalsefalsecontainer156090919639003062156090919654405598Wed, 19 Jun 2019 01:53:16 GMT\"0x8D6F458E5A0D07F\"unlockedavailablecontainerfalsefalsecontainer156090927369404910Wed, 19 Jun 2019 01:54:33 GMT\"0x8D6F459139C9126\"unlockedavailablefalsefalsecontainer156091262443706516Wed, 19 Jun 2019 02:50:24 GMT\"0x8D6F460E10763ED\"unlockedavailablefalsefalsecontainer156091262497101824Wed, 19 Jun 2019 02:50:25 GMT\"0x8D6F460E129BF3A\"unlockedavailablefalsefalsecontainer156091266313809371156091266329600565Wed, 19 Jun 2019 02:51:03 GMT\"0x8D6F460F7F8F7F4\"unlockedavailablecontainerfalsefalsecontainer156091272858605498Wed, 19 Jun 2019 02:52:08 GMT\"0x8D6F4611F0E7CB1\"unlockedavailablefalsefalsecontainer156091272903308772Wed, 19 Jun 2019 02:52:09 GMT\"0x8D6F4611F3D4DF6\"unlockedavailablefalsefalsecontainer156091279462904083156091279492705125Wed, 19 Jun 2019 02:53:15 GMT\"0x8D6F46146847053\"unlockedavailablecontainerfalsefalsecontainer156091351130508858Wed, 19 Jun 2019 03:05:11 GMT\"0x8D6F462F199157F\"unlockedavailablefalsefalsecontainer156091351179904003Wed, 19 Jun 2019 03:05:12 GMT\"0x8D6F462F1CF7C41\"unlockedavailablefalsefalsecontainer156091357473902828156091357507003495Wed, 19 Jun 2019 03:06:15 GMT\"0x8D6F4631784E9A3\"unlockedavailablecontainerfalsefalsecontainer156097024987501854Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70C6E3DF8\"unlockedavailablefalsefalsecontainer156097025036305209Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70CA331FC\"unlockedavailablefalsefalsecontainer156097032908204284156097032938404096Wed, 19 Jun 2019 18:52:09 GMT\"0x8D6F4E73BBBAA6F\"unlockedavailablecontainerfalsefalsecontainer156097104224604478Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4C0F471\"unlockedavailablefalsefalsecontainer156097104276103822Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4E32889\"unlockedavailablefalsefalsecontainer156097107774300513156097107789009300Wed, 19 Jun 2019 19:04:37 GMT\"0x8D6F4E8F9CA138F\"unlockedavailablecontainerfalsefalsecontainer156105643756901599156105643787203056Thu, 20 Jun 2019 18:47:18 GMT\"0x8D6F5AFB8660FFD\"unlockedavailablecontainerfalsefalsecontainer156114004451501471Fri, 21 Jun 2019 18:00:44 GMT\"0x8D6F67261F9EA36\"unlockedavailablefalsefalsecontainer156114004505609427Fri, 21 Jun 2019 18:00:45 GMT\"0x8D6F67262284BFE\"unlockedavailablefalsefalsecontainer156114011397205660156114011426706131Fri, 21 Jun 2019 18:01:54 GMT\"0x8D6F6728B698B2E\"unlockedavailablecontainerfalsefalsecontainer156114087829106735156114087859109362Fri, 21 Jun 2019 18:14:38 GMT\"0x8D6F67452FBC965\"unlockedavailablecontainerfalsefalsecontainer156114502060405743Fri, 21 Jun 2019 19:23:40 GMT\"0x8D6F67DF7E74163\"unlockedavailablefalsefalsecontainer156114502105705998Fri, 21 Jun 2019 19:23:41 GMT\"0x8D6F67DF815EA2D\"unlockedavailablefalsefalsecontainer156114509118209199156114509147403388Fri, 21 Jun 2019 19:24:51 GMT\"0x8D6F67E220F2760\"unlockedavailablecontainerfalsefalsecontainer156115949109607609Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA90281D7\"unlockedavailablefalsefalsecontainer156115949159205948Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA93342C2\"unlockedavailablefalsefalsecontainer156115957377103265156115957407908648Fri, 21 Jun 2019 23:26:14 GMT\"0x8D6F69FDA6462E0\"unlockedavailablecontainerfalsefalsecontainer156141759468407984Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AC0D4CC\"unlockedavailablefalsefalsecontainer156141759523203407Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AF57377\"unlockedavailablefalsefalsecontainer156141766234900613156141766264203728Mon, 24 Jun 2019 23:07:42 GMT\"0x8D6F8F8C3233BC9\"unlockedavailablecontainerfalsefalsecontainer156141819245700366Mon, 24 Jun 2019 23:16:32 GMT\"0x8D6F8F9FF0F0832\"unlockedavailablefalsefalsecontainer156141819298608886Mon, 24 Jun 2019 23:16:33 GMT\"0x8D6F8F9FF31FFDA\"unlockedavailablefalsefalsecontainer156141823066904750156141823082207639Mon, 24 Jun 2019 23:17:10 GMT\"0x8D6F8FA15B6FEFA\"unlockedavailablecontainerfalsefalsecontainer156141920928403418Mon, 24 Jun 2019 23:33:29 GMT\"0x8D6F8FC5D1A5B84\"unlockedavailablefalsefalsecontainer156141920977109880Mon, 24 Jun 2019 23:33:30 GMT\"0x8D6F8FC5D4DAFEE\"unlockedavailablefalsefalsecontainer156141927861505007156141927890603002Mon, 24 Jun 2019 23:34:39 GMT\"0x8D6F8FC8680E2F3\"unlockedavailablecontainerfalsefalsecontainer156141960699900351Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A263841\"unlockedavailablefalsefalsecontainer156141960747702958Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A59D909\"unlockedavailablefalsefalsecontainer156141967683200333156141967713009963Mon, 24 Jun 2019 23:41:17 GMT\"0x8D6F8FD73DE312C\"unlockedavailablecontainerfalsefalsecontainer156142020403106302Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE064E7F\"unlockedavailablefalsefalsecontainer156142020456902730Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE3F3E08\"unlockedavailablefalsefalsecontainer156142025553501646Mon, 24 Jun 2019 23:50:55 GMT\"0x8D6F8FECC9F3D49\"unlockedavailablefalsefalsecontainer156142036489400146Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0DE28137\"unlockedavailablefalsefalsecontainer156142036537902490Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0E193B4C\"unlockedavailablefalsefalsecontainer156142043563506030156142043595106431Mon, 24 Jun 2019 23:53:56 GMT\"0x8D6F8FF38292165\"unlockedavailablecontainerfalsefalsecontainer156142093920501679Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F9006434A518\"unlockedavailablefalsefalsecontainer156142093965604939Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F900644E734D\"unlockedavailablefalsefalsecontainer156142097818803588156142097834608426Tue, 25 Jun 2019 00:02:58 GMT\"0x8D6F9007B5E19A6\"unlockedavailablecontainerfalsefalsecontainer156142243858402205Tue, 25 Jun 2019 00:27:18 GMT\"0x8D6F903E1E87A7A\"unlockedavailablefalsefalsecontainer156142243912202747Tue, 25 Jun 2019 00:27:19 GMT\"0x8D6F903E2261C80\"unlockedavailablefalsefalsecontainer156142246104701542Tue, 25 Jun 2019 00:27:41 GMT\"0x8D6F903EF350F1E\"unlockedavailablefalsefalsecontainer156142264307302436Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045BCA8DE1\"unlockedavailablefalsefalsecontainer156142264358401271Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045C02A0C3\"unlockedavailablefalsefalsecontainer156142271202706393156142271232308499Tue, 25 Jun 2019 00:31:52 GMT\"0x8D6F90484FBE57D\"unlockedavailablecontainerfalsefalsecontainer156142341801803081Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629AE3D07\"unlockedavailablefalsefalsecontainer156142341845709009Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629C7E42A\"unlockedavailablefalsefalsecontainer156142345755804614156142345770903903Tue, 25 Jun 2019 00:44:17 GMT\"0x8D6F906412CECA6\"unlockedavailablecontainerfalsefalsecontainer156142529642708147Tue, 25 Jun 2019 01:14:56 GMT\"0x8D6F90A895F03CD\"unlockedavailablefalsefalsecontainer156142529698406742Tue, 25 Jun 2019 01:14:57 GMT\"0x8D6F90A897AF55B\"unlockedavailablefalsefalsecontainer156142530034402585Tue, 25 Jun 2019 01:15:00 GMT\"0x8D6F90A8B7A5752\"unlockedavailablefalsefalsecontainer156142690728900422Tue, 25 Jun 2019 01:41:47 GMT\"0x8D6F90E497CF739\"unlockedavailablefalsefalsecontainer156142690779405271Tue, 25 Jun 2019 01:41:48 GMT\"0x8D6F90E49ADB2D6\"unlockedavailablefalsefalsecontainer156142699012009697156142699042405916Tue, 25 Jun 2019 01:43:10 GMT\"0x8D6F90E7AEE3158\"unlockedavailablecontainerfalsefalsecontainer156142886337101746Tue, 25 Jun 2019 02:14:23 GMT\"0x8D6F912D7623791\"unlockedavailablefalsefalsecontainer156142886389902105Tue, 25 Jun 2019 02:14:24 GMT\"0x8D6F912D79B7D2A\"unlockedavailablefalsefalsecontainer156142893223109318156142893252106303Tue, 25 Jun 2019 02:15:32 GMT\"0x8D6F91300811911\"unlockedavailablecontainerfalsefalsecontainer156143119745000266Tue, 25 Jun 2019 02:53:17 GMT\"0x8D6F918469ADF72\"unlockedavailablefalsefalsecontainer156143119799608917Tue, 25 Jun 2019 02:53:18 GMT\"0x8D6F91846D728E7\"unlockedavailablefalsefalsecontainer156143126509402138156143126539206898Tue, 25 Jun 2019 02:54:25 GMT\"0x8D6F9186F022915\"unlockedavailablecontainerfalsefalsecontainer156143264148405404Tue, 25 Jun 2019 03:17:21 GMT\"0x8D6F91BA353FD99\"unlockedavailablefalsefalsecontainer156143264197307061Tue, 25 Jun 2019 03:17:22 GMT\"0x8D6F91BA3831FA2\"unlockedavailablefalsefalsecontainer156143270779701246156143270808805570Tue, 25 Jun 2019 03:18:28 GMT\"0x8D6F91BCAEC659F\"unlockedavailablecontainerfalsefalsecontainer156150704867908665Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E16DF5CC\"unlockedavailablefalsefalsecontainer156150704913009257Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E1A22DFF\"unlockedavailablefalsefalsecontainer156150711809001022156150711838409588Tue, 25 Jun 2019 23:58:38 GMT\"0x8D6F9C90AE8B898\"unlockedavailablecontainerfalsefalsecontainer156150780604806987Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA4E43436\"unlockedavailablefalsefalsecontainer156150780663707432Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA524F90C\"unlockedavailablefalsefalsecontainer156150787409600313156150787438902817Wed, 26 Jun 2019 00:11:14 GMT\"0x8D6F9CACD86940B\"unlockedavailablecontainerfalsefalsecontainer156150830230202417Wed, 26 Jun 2019 00:18:22 GMT\"0x8D6F9CBCCB7FFFA\"unlockedavailablefalsefalsecontainer156150830285909872Wed, 26 Jun 2019 00:18:22 GMT\"0x8D6F9CBCCD3550C\"unlockedavailablefalsefalsecontainer156150834010005232156150834025006969Wed, 26 Jun 2019 00:19:00 GMT\"0x8D6F9CBE31CA84E\"unlockedavailablecontainerfalsefalsecontainer156157307000003091Wed, 26 Jun 2019 18:17:50 GMT\"0x8D6FA629941D310\"unlockedavailablefalsefalsecontainer156157307052308501Wed, 26 Jun 2019 18:17:50 GMT\"0x8D6FA62995D9D64\"unlockedavailablefalsefalsecontainer156157624791805785Wed, 26 Jun 2019 19:10:48 GMT\"0x8D6FA69FF6565CC\"unlockedavailablefalsefalsecontainer156157624842104958Wed, 26 Jun 2019 19:10:48 GMT\"0x8D6FA69FF9FF290\"unlockedavailablefalsefalsecontainer156157631454308390156157631484800305Wed, 26 Jun 2019 19:11:55 GMT\"0x8D6FA6A2737EB7D\"unlockedavailablecontainerfalsefalsecontainer156157675866908678Wed, 26 Jun 2019 19:19:19 GMT\"0x8D6FA6B2FDB3948\"unlockedavailablefalsefalsecontainer156157675919808463Wed, 26 Jun 2019 19:19:19 GMT\"0x8D6FA6B30049AAF\"unlockedavailablefalsefalsecontainer156157679552809419156157679568006273Wed, 26 Jun 2019 19:19:55 GMT\"0x8D6FA6B45BA72A2\"unlockedavailablecontainerfalsefalsecontainer156166433746103102Thu, 27 Jun 2019 19:38:57 GMT\"0x8D6FB3718EAFB6D\"unlockedavailablefalsefalsecontainer156166433799901666Thu, 27 Jun 2019 19:38:58 GMT\"0x8D6FB37190E8F80\"unlockedavailablefalsefalsecontainer156166437660606294156166437675707976Thu, 27 Jun 2019 19:39:36 GMT\"0x8D6FB37301EECFB\"unlockedavailablecontainerfalsefalsecontainer156166884753803260Thu, 27 Jun 2019 20:54:07 GMT\"0x8D6FB4199194780\"unlockedavailablefalsefalsecontainer156166884806105139Thu, 27 Jun 2019 20:54:08 GMT\"0x8D6FB41994FA4B7\"unlockedavailablefalsefalsecontainer156166885978200681Thu, 27 Jun 2019 20:54:20 GMT\"0x8D6FB41A04B5229\"unlockedavailablefalsefalsecontainer156166922183406720Thu, 27 Jun 2019 21:00:22 GMT\"0x8D6FB42782D2803\"unlockedavailablefalsefalsecontainer156166922228307462Thu, 27 Jun 2019 21:00:22 GMT\"0x8D6FB42785CD91A\"unlockedavailablefalsefalsecontainer156166929272107165156166929301104792Thu, 27 Jun 2019 21:01:33 GMT\"0x8D6FB42A284E44A\"unlockedavailablecontainerfalsefalsecontainer156167142581901476Thu, 27 Jun 2019 21:37:06 GMT\"0x8D6FB4799E6160F\"unlockedavailablefalsefalsecontainer156167142634508603Thu, 27 Jun 2019 21:37:06 GMT\"0x8D6FB479A0934CD\"unlockedavailablefalsefalsecontainer156167146791409800156167146806306957Thu, 27 Jun 2019 21:37:48 GMT\"0x8D6FB47B2DDF5ED\"unlockedavailablecontainerfalsefalsecontainer156167461871706206Thu, 27 Jun 2019 22:30:19 GMT\"0x8D6FB4F08F0BD9F\"unlockedavailablefalsefalsecontainer156167461913706076Thu, 27 Jun 2019 22:30:19 GMT\"0x8D6FB4F0922A6E0\"unlockedavailablefalsefalsecontainer156167468568008696156167468596904869Thu, 27 Jun 2019 22:31:26 GMT\"0x8D6FB4F30F72998\"unlockedavailablecontainerfalsefalsecontainer156167487755009926Thu, 27 Jun 2019 22:34:37 GMT\"0x8D6FB4FA32910BB\"unlockedavailablefalsefalsecontainer156167516754003612Thu, 27 Jun 2019 22:39:27 GMT\"0x8D6FB50501C2B15\"unlockedavailablefalsefalsecontainer156167516802204572Thu, 27 Jun 2019 22:39:28 GMT\"0x8D6FB50504B6C92\"unlockedavailablefalsefalsecontainer156167523428708013156167523457705153Thu, 27 Jun 2019 22:40:34 GMT\"0x8D6FB5077F60935\"unlockedavailablecontainerfalsefalsecontainer156167527798600624Thu, 27 Jun 2019 22:41:18 GMT\"0x8D6FB5091E44006\"unlockedavailablefalsefalsecontainer156167527838205330Thu, 27 Jun 2019 22:41:18 GMT\"0x8D6FB509214F690\"unlockedavailablefalsefalsecontainer156167534620808929156167534649804459Thu, 27 Jun 2019 22:42:26 GMT\"0x8D6FB50BAACEF98\"unlockedavailablecontainerfalsefalsecontainer156167573849900048Thu, 27 Jun 2019 22:48:58 GMT\"0x8D6FB51A4634D3E\"unlockedavailablefalsefalsecontainer156167573892800755Thu, 27 Jun 2019 22:48:59 GMT\"0x8D6FB51A487F2E9\"unlockedavailablefalsefalsecontainer156167577616502375156167577641208857Thu, 27 Jun 2019 22:49:36 GMT\"0x8D6FB51BAD72BF7\"unlockedavailablecontainerfalsefalsecontainer156167591857104313Thu, 27 Jun 2019 22:51:58 GMT\"0x8D6FB520FBFA0F4\"unlockedavailablefalsefalsecontainer156167591904701400Thu, 27 Jun 2019 22:51:59 GMT\"0x8D6FB520FE3833B\"unlockedavailablefalsefalsecontainer156167595565507611156167595580703651Thu, 27 Jun 2019 22:52:35 GMT\"0x8D6FB5225C441E1\"unlockedavailablecontainerfalsefalsecontainer156176588364509349Fri, 28 Jun 2019 23:51:24 GMT\"0x8D6FC2387232BE9\"unlockedavailablefalsefalsecontainer156176588414600905Fri, 28 Jun 2019 23:51:24 GMT\"0x8D6FC238752E587\"unlockedavailablefalsefalsecontainer156176595227105917156176595256609977Fri, 28 Jun 2019 23:52:32 GMT\"0x8D6FC23B01A9CA2\"unlockedavailablecontainerfalsefalsecontainer156176658130205688Sat, 29 Jun 2019 00:03:01 GMT\"0x8D6FC2526F37129\"unlockedavailablefalsefalsecontainer156176658178105496Sat, 29 Jun 2019 00:03:01 GMT\"0x8D6FC252717A1A0\"unlockedavailablefalsefalsecontainer156176661861706135156176661876802348Sat, 29 Jun 2019 00:03:38 GMT\"0x8D6FC253D1A8622\"unlockedavailablecontainerfalsefalsecontainer156177022532903436Sat, 29 Jun 2019 01:03:45 GMT\"0x8D6FC2DA2F46C4B\"unlockedavailablefalsefalsecontainer156177022578303737Sat, 29 Jun 2019 01:03:45 GMT\"0x8D6FC2DA317B22A\"unlockedavailablefalsefalsecontainer156177029207503064156177029237904944Sat, 29 Jun 2019 01:04:52 GMT\"0x8D6FC2DCAD60FB5\"unlockedavailablecontainerfalsefalsecontainer156177069420209097Sat, 29 Jun 2019 01:11:34 GMT\"0x8D6FC2EBA5A9EF1\"unlockedavailablefalsefalsecontainer156177107984906674Sat, 29 Jun 2019 01:18:00 GMT\"0x8D6FC2FA0466293\"unlockedavailablefalsefalsecontainer156177108027602693Sat, 29 Jun 2019 01:18:00 GMT\"0x8D6FC2FA0761445\"unlockedavailablefalsefalsecontainer156177114634709378156177114663904922Sat, 29 Jun 2019 01:19:06 GMT\"0x8D6FC2FC8024AF8\"unlockedavailablecontainerfalsefalsecontainer156177163563601447Sat, 29 Jun 2019 01:27:15 GMT\"0x8D6FC30EB8B23A3\"unlockedavailablefalsefalsecontainer156177163606902130Sat, 29 Jun 2019 01:27:16 GMT\"0x8D6FC30EBAEDEBF\"unlockedavailablefalsefalsecontainer156177167284102256156177167299208065Sat, 29 Jun 2019 01:27:53 GMT\"0x8D6FC3101A87B1C\"unlockedavailablecontainerfalsefalsecontainer156177468180906969Sat, 29 Jun 2019 02:18:02 GMT\"0x8D6FC380341AAB4\"unlockedavailablefalsefalsecontainer156177468232600610Sat, 29 Jun 2019 02:18:02 GMT\"0x8D6FC38036A96F6\"unlockedavailablefalsefalsecontainer156177471904206094156177471919101025Sat, 29 Jun 2019 02:18:39 GMT\"0x8D6FC38195946F0\"unlockedavailablecontainerfalsefalsecontainer156177479686303618Sat, 29 Jun 2019 02:19:57 GMT\"0x8D6FC3847D58A31\"unlockedavailablefalsefalsecontainer156177479739107232Sat, 29 Jun 2019 02:19:57 GMT\"0x8D6FC38480AB612\"unlockedavailablefalsefalsecontainer156177486858909421156177486889002438Sat, 29 Jun 2019 02:21:09 GMT\"0x8D6FC3872ABF6E0\"unlockedavailablecontainerfalsefalsecontainer156177950617207560Sat, 29 Jun 2019 03:38:26 GMT\"0x8D6FC433ED1B7A5\"unlockedavailablefalsefalsecontainer156177950669407545Sat, 29 Jun 2019 03:38:26 GMT\"0x8D6FC433EF4883D\"unlockedavailablefalsefalsecontainer156177954289003073156177954304204452Sat, 29 Jun 2019 03:39:03 GMT\"0x8D6FC435495CAFF\"unlockedavailablecontainerfalsefalsecontainer156177968568702463Sat, 29 Jun 2019 03:41:26 GMT\"0x8D6FC43A9CCE84B\"unlockedavailablefalsefalsecontainer156177968620208534Sat, 29 Jun 2019 03:41:26 GMT\"0x8D6FC43AA003812\"unlockedavailablefalsefalsecontainer156177975492603814156177975525906588Sat, 29 Jun 2019 03:42:35 GMT\"0x8D6FC43D329CDAE\"unlockedavailablecontainerfalsefalsecontainer156178042712501851Sat, 29 Jun 2019 03:53:47 GMT\"0x8D6FC4563B6C523\"unlockedavailablefalsefalsecontainer156178042759100379Sat, 29 Jun 2019 03:53:47 GMT\"0x8D6FC4563E78108\"unlockedavailablefalsefalsecontainer156178049457303905156178049487404401Sat, 29 Jun 2019 03:54:55 GMT\"0x8D6FC458C02A7C8\"unlockedavailablecontainerfalsefalsecontainer156178095437600794Sat, 29 Jun 2019 04:02:34 GMT\"0x8D6FC469DFFB74E\"unlockedavailablefalsefalsecontainer156178095488302955Sat, 29 Jun 2019 04:02:35 GMT\"0x8D6FC469E23E7AC\"unlockedavailablefalsefalsecontainer156178099199306812156178099214402328Sat, 29 Jun 2019 04:03:12 GMT\"0x8D6FC46B450BF7D\"unlockedavailablecontainerfalsefalsecontainer156178142870904634Sat, 29 Jun 2019 04:10:29 GMT\"0x8D6FC47B8B219B6\"unlockedavailablefalsefalsecontainer156178142917009751Sat, 29 Jun 2019 04:10:29 GMT\"0x8D6FC47B8E5712F\"unlockedavailablefalsefalsecontainer156178149771606895156178149801507139Sat, 29 Jun 2019 04:11:38 GMT\"0x8D6FC47E1EEA050\"unlockedavailablecontainerfalsefalsecontainer156178196503602946Sat, 29 Jun 2019 04:19:25 GMT\"0x8D6FC48F860C01A\"unlockedavailablefalsefalsecontainer156178196550900154Sat, 29 Jun 2019 04:19:25 GMT\"0x8D6FC48F8862928\"unlockedavailablefalsefalsecontainer156178200261200115156178200276602817Sat, 29 Jun 2019 04:20:02 GMT\"0x8D6FC490EB15067\"unlockedavailablecontainerfalsefalsecontainer156178233708909091Sat, 29 Jun 2019 04:25:37 GMT\"0x8D6FC49D61F827A\"unlockedavailablefalsefalsecontainer156178233753901905Sat, 29 Jun 2019 04:25:37 GMT\"0x8D6FC49D6525E66\"unlockedavailablefalsefalsecontainer156178240365702397156178240395409911Sat, 29 Jun 2019 04:26:44 GMT\"0x8D6FC49FDE73FB1\"unlockedavailablecontainerfalsefalsecontainer156178290376906342Sat, 29 Jun 2019 04:35:04 GMT\"0x8D6FC4B27DFB069\"unlockedavailablefalsefalsecontainer156178290418402658Sat, 29 Jun 2019 04:35:04 GMT\"0x8D6FC4B2802F648\"unlockedavailablefalsefalsecontainer156178294449500853156178294464707130Sat, 29 Jun 2019 04:35:44 GMT\"0x8D6FC4B4017D149\"unlockedavailablecontainerfalsefalsecontainer156178305021507737Sat, 29 Jun 2019 04:37:30 GMT\"0x8D6FC4B7F04333A\"unlockedavailablefalsefalsecontainer156209045725506961Tue, 02 Jul 2019 18:00:57 GMT\"0x8D6FF173C12389B\"unlockedavailablefalsefalsecontainer156209045774508902Tue, 02 Jul 2019 18:00:57 GMT\"0x8D6FF173C35F3B5\"unlockedavailablefalsefalsecontainer156209049910903276156209049925800247Tue, 02 Jul 2019 18:01:39 GMT\"0x8D6FF1754EB5157\"unlockedavailablecontainerfalsefalsecontainer156209141109409328Tue, 02 Jul 2019 18:16:51 GMT\"0x8D6FF19749BC158\"unlockedavailablefalsefalsecontainer156209141310008182Tue, 02 Jul 2019 18:16:53 GMT\"0x8D6FF19759D8126\"unlockedavailablefalsefalsecontainer156209141409606493Tue, 02 Jul 2019 18:16:54 GMT\"0x8D6FF197636A87B\"unlockedavailablefalsefalsecontainer156209141609104264Tue, 02 Jul 2019 18:16:56 GMT\"0x8D6FF1977672202\"unlockedavailablefalsefalsecontainer156209149715504344Tue, 02 Jul 2019 18:18:17 GMT\"0x8D6FF19A7BA0FB4\"unlockedavailablefalsefalsecontainer156209149733602045Tue, 02 Jul 2019 18:18:17 GMT\"0x8D6FF19A7D47A51\"unlockedavailablefalsefalsecontainer156209157168307085156209157176600207Tue, 02 Jul 2019 18:19:31 GMT\"0x8D6FF19D431B791\"unlockedavailablecontainerfalsefalsecontainer156209168293905030Tue, 02 Jul 2019 18:21:23 GMT\"0x8D6FF1A167836FD\"unlockedavailablefalsefalsecontainer156209168313107224Tue, 02 Jul 2019 18:21:23 GMT\"0x8D6FF1A1693B34D\"unlockedavailablefalsefalsecontainer156209173356208683156209173371507932Tue, 02 Jul 2019 18:22:13 GMT\"0x8D6FF1A34B8C370\"unlockedavailablecontainerfalsefalsecontainer156209272454505510Tue, 02 Jul 2019 18:38:44 GMT\"0x8D6FF1C8376B833\"unlockedavailablefalsefalsecontainer156209272513407563Tue, 02 Jul 2019 18:38:45 GMT\"0x8D6FF1C83AE7404\"unlockedavailablefalsefalsecontainer156209276496406051156209276512203008Tue, 02 Jul 2019 18:39:25 GMT\"0x8D6FF1C9B7EF1DA\"unlockedavailablecontainerfalsefalsecontainer156211324456902384Wed, 03 Jul 2019 00:20:44 GMT\"0x8D6FF4C4A54B068\"unlockedavailablefalsefalsecontainer156211324500009945Wed, 03 Jul 2019 00:20:45 GMT\"0x8D6FF4C4A73B83D\"unlockedavailablefalsefalsecontainer156211328363601853156211328379206659Wed, 03 Jul 2019 00:21:23 GMT\"0x8D6FF4C6190A480\"unlockedavailablecontainerfalsefalsecontainer156213686815401105Wed, 03 Jul 2019 06:54:28 GMT\"0x8D6FF834B1BEA2A\"unlockedavailablefalsefalsecontainer156213686863602348Wed, 03 Jul 2019 06:54:28 GMT\"0x8D6FF834B50F82E\"unlockedavailablefalsefalsecontainer156213693936608832156213693965606859Wed, 03 Jul 2019 06:55:39 GMT\"0x8D6FF8375A3C518\"unlockedavailablecontainerfalsefalsecontainer156213738116009498Wed, 03 Jul 2019 07:03:01 GMT\"0x8D6FF847CE1F2A4\"unlockedavailablefalsefalsecontainer156213738163400807Wed, 03 Jul 2019 07:03:01 GMT\"0x8D6FF847D062308\"unlockedavailablefalsefalsecontainer156213741977609797156213741992804657Wed, 03 Jul 2019 07:03:40 GMT\"0x8D6FF8493D1445C\"unlockedavailablecontainerfalsefalsecontainer156223822419104307Thu, 04 Jul 2019 11:03:44 GMT\"0x8D7006F47F0DFE5\"unlockedavailablefalsefalsecontainer156223822455103481Thu, 04 Jul 2019 11:03:44 GMT\"0x8D7006F480AAE26\"unlockedavailablefalsefalsecontainer156223825597203410Thu, 04 Jul 2019 11:04:16 GMT\"0x8D7006F5ADD357A\"unlockedavailablefalsefalsecontainer156223825623409345Thu, 04 Jul 2019 11:04:16 GMT\"0x8D7006F5AF1D2A2\"unlockedavailablefalsefalsecontainer156223826782905339156223826792004595Thu, 04 Jul 2019 11:04:27 GMT\"0x8D7006F61DD62D4\"unlockedavailablecontainerfalsefalsecontainer156223829106901807Thu, 04 Jul 2019 11:04:51 GMT\"0x8D7006F6FC37BDB\"unlockedavailablefalsefalsecontainer156223829129306893Thu, 04 Jul 2019 11:04:51 GMT\"0x8D7006F6FD8AEA1\"unlockedavailablefalsefalsecontainer156223829771105825156223829779301400Thu, 04 Jul 2019 11:04:57 GMT\"0x8D7006F73B176C3\"unlockedavailablecontainerfalsefalsecontainer156223831192808092Thu, 04 Jul 2019 11:05:12 GMT\"0x8D7006F7C37A38F\"unlockedavailablefalsefalsecontainer156223831219005815Thu, 04 Jul 2019 11:05:12 GMT\"0x8D7006F7C4D1863\"unlockedavailablefalsefalsecontainer156223831607400978Thu, 04 Jul 2019 11:05:16 GMT\"0x8D7006F7E9D90C3\"unlockedavailablefalsefalsecontainer156223831618801639Thu, 04 Jul 2019 11:05:16 GMT\"0x8D7006F7EA0ECC1\"unlockedavailablefalsefalsecontainer156223831619807872Thu, 04 Jul 2019 11:05:16 GMT\"0x8D7006F7EA47E86\"unlockedavailablefalsefalsecontainer156223834410200220156223834411701388Thu, 04 Jul 2019 11:05:44 GMT\"0x8D7006F8F466CAC\"unlockedavailablecontainerfalsefalsecontainer156223834538505717156223834551704887Thu, 04 Jul 2019 11:05:45 GMT\"0x8D7006F9028366E\"unlockedavailablecontainerfalsefalsecontainer156223836911008950156223836923004310Thu, 04 Jul 2019 11:06:09 GMT\"0x8D7006F9E524DE2\"unlockedavailablecontainerfalsefalsecontainer156223836988003156Thu, 04 Jul 2019 11:06:10 GMT\"0x8D7006F9EC0A4A1\"unlockedavailablefalsefalsecontainer156223837014007988Thu, 04 Jul 2019 11:06:10 GMT\"0x8D7006F9EDDA41D\"unlockedavailablefalsefalsecontainer156223838666509766Thu, 04 Jul 2019 11:06:26 GMT\"0x8D7006FA8CE2D77\"unlockedavailablefalsefalsecontainer156223838701406920Thu, 04 Jul 2019 11:06:27 GMT\"0x8D7006FA8EBC537\"unlockedavailablefalsefalsecontainer156223839054005857Thu, 04 Jul 2019 11:06:30 GMT\"0x8D7006FAB219693\"unlockedavailablefalsefalsecontainer156223839095701924Thu, 04 Jul 2019 11:06:31 GMT\"0x8D7006FAB41BC5B\"unlockedavailablefalsefalsecontainer156223841557408930Thu, 04 Jul 2019 11:06:55 GMT\"0x8D7006FBA005896\"unlockedavailablefalsefalsecontainer156223841590401515Thu, 04 Jul 2019 11:06:56 GMT\"0x8D7006FBA21089A\"unlockedavailablefalsefalsecontainer156223842410207052156223842428108764Thu, 04 Jul 2019 11:07:04 GMT\"0x8D7006FBF1D1FF0\"unlockedavailablecontainerfalsefalsecontainer156223844853800938156223844872505755Thu, 04 Jul 2019 11:07:29 GMT\"0x8D7006FCDCBE678\"unlockedavailablecontainerfalsefalsecontainer156223845293707845156223845311907782Thu, 04 Jul 2019 11:07:33 GMT\"0x8D7006FD0672FFB\"unlockedavailablecontainerfalsefalsecontainer156223848738909933156223848756501557Thu, 04 Jul 2019 11:08:07 GMT\"0x8D7006FE4D8A185\"unlockedavailablecontainerfalsefalsecontainer156223876412909756Thu, 04 Jul 2019 11:12:44 GMT\"0x8D7007089C6052E\"unlockedavailablefalsefalsecontainer156223876444300859Thu, 04 Jul 2019 11:12:44 GMT\"0x8D7007089E621CF\"unlockedavailablefalsefalsecontainer156223876494603583Thu, 04 Jul 2019 11:12:45 GMT\"0x8D700708A45D4EF\"unlockedavailablefalsefalsecontainer156223876525900379Thu, 04 Jul 2019 11:12:45 GMT\"0x8D700708A6573AA\"unlockedavailablefalsefalsecontainer156223882793100004156223882813405987Thu, 04 Jul 2019 11:13:48 GMT\"0x8D70070AFDD8064\"unlockedavailablecontainerfalsefalsecontainer156223882816600878156223882836205941Thu, 04 Jul 2019 11:13:48 GMT\"0x8D70070AFFED9A8\"unlockedavailablecontainerfalsefalsecontainer156224138551006453Thu, 04 Jul 2019 11:56:25 GMT\"0x8D70076A4383928\"unlockedavailablefalsefalsecontainer156224138582204577Thu, 04 Jul 2019 11:56:25 GMT\"0x8D70076A455596E\"unlockedavailablefalsefalsecontainer156224143833802045156224143844700474Thu, 04 Jul 2019 11:57:18 GMT\"0x8D70076C3B26A4E\"unlockedavailablecontainerfalsefalsecontainer156232462917207542Fri, 05 Jul 2019 11:03:49 GMT\"0x8D70138754E8ABE\"unlockedavailablefalsefalsecontainer156232462948901701Fri, 05 Jul 2019 11:03:49 GMT\"0x8D7013875652410\"unlockedavailablefalsefalsecontainer156232465576401990Fri, 05 Jul 2019 11:04:16 GMT\"0x8D70138852A31FF\"unlockedavailablefalsefalsecontainer156232465606009630Fri, 05 Jul 2019 11:04:16 GMT\"0x8D701388540A442\"unlockedavailablefalsefalsecontainer156232467340403555156232467350600131Fri, 05 Jul 2019 11:04:33 GMT\"0x8D701388F9CFDA9\"unlockedavailablecontainerfalsefalsecontainer156232468332908214Fri, 05 Jul 2019 11:04:43 GMT\"0x8D701389587A6C8\"unlockedavailablefalsefalsecontainer156232468348305114Fri, 05 Jul 2019 11:04:43 GMT\"0x8D70138958D29AD\"unlockedavailablefalsefalsecontainer156232468447409536Fri, 05 Jul 2019 11:04:44 GMT\"0x8D701389637F5CE\"unlockedavailablefalsefalsecontainer156232468465502965Fri, 05 Jul 2019 11:04:44 GMT\"0x8D70138964093BB\"unlockedavailablefalsefalsecontainer156232469692904999Fri, 05 Jul 2019 11:04:57 GMT\"0x8D701389D9FC5C6\"unlockedavailablefalsefalsecontainer156232469707301750Fri, 05 Jul 2019 11:04:57 GMT\"0x8D701389DA5CDEF\"unlockedavailablefalsefalsecontainer156232470016803535156232470026706973Fri, 05 Jul 2019 11:05:00 GMT\"0x8D701389F94D67D\"unlockedavailablecontainerfalsefalsecontainer156232471350604487156232471352307967Fri, 05 Jul 2019 11:05:13 GMT\"0x8D70138A77424CF\"unlockedavailablecontainerfalsefalsecontainer156232471749805263156232471751704058Fri, 05 Jul 2019 11:05:17 GMT\"0x8D70138A9D57ACF\"unlockedavailablecontainerfalsefalsecontainer156232472731409881156232472734705668Fri, 05 Jul 2019 11:05:27 GMT\"0x8D70138AFB1FF5B\"unlockedavailablecontainerfalsefalsecontainer156232473633309575Fri, 05 Jul 2019 11:05:36 GMT\"0x8D70138B5310775\"unlockedavailablefalsefalsecontainer156232473667502061Fri, 05 Jul 2019 11:05:36 GMT\"0x8D70138B54E2B49\"unlockedavailablefalsefalsecontainer156232473813505089Fri, 05 Jul 2019 11:05:38 GMT\"0x8D70138B6226C88\"unlockedavailablefalsefalsecontainer156232474586006478Fri, 05 Jul 2019 11:05:46 GMT\"0x8D70138BAD6DDDC\"unlockedavailablefalsefalsecontainer156232474614704650Fri, 05 Jul 2019 11:05:46 GMT\"0x8D70138BAF86082\"unlockedavailablefalsefalsecontainer156232475423801398Fri, 05 Jul 2019 11:05:54 GMT\"0x8D70138BFC75EE9\"unlockedavailablefalsefalsecontainer156232475435808010Fri, 05 Jul 2019 11:05:54 GMT\"0x8D70138BFCABAE1\"unlockedavailablefalsefalsecontainer156232475436805790Fri, 05 Jul 2019 11:05:54 GMT\"0x8D70138BFCD4B55\"unlockedavailablefalsefalsecontainer156232477838008733Fri, 05 Jul 2019 11:06:18 GMT\"0x8D70138CE483649\"unlockedavailablefalsefalsecontainer156232477873200634Fri, 05 Jul 2019 11:06:18 GMT\"0x8D70138CE65C719\"unlockedavailablefalsefalsecontainer156232478565602865156232478567001655Fri, 05 Jul 2019 11:06:25 GMT\"0x8D70138D273BB4B\"unlockedavailablecontainerfalsefalsecontainer156232480102609337Fri, 05 Jul 2019 11:06:41 GMT\"0x8D70138DBB9DC7E\"unlockedavailablefalsefalsecontainer156232480131405470Fri, 05 Jul 2019 11:06:41 GMT\"0x8D70138DBCF3D25\"unlockedavailablefalsefalsecontainer156232480930407019156232480948000841Fri, 05 Jul 2019 11:06:49 GMT\"0x8D70138E0B2B1DA\"unlockedavailablecontainerfalsefalsecontainer156232481964002406156232481981207149Fri, 05 Jul 2019 11:06:59 GMT\"0x8D70138E6DBB99C\"unlockedavailablecontainerfalsefalsecontainer156232484638608723156232484647506628Fri, 05 Jul 2019 11:07:26 GMT\"0x8D70138F6B5842C\"unlockedavailablecontainerfalsefalsecontainer156232484812400233156232484830103972Fri, 05 Jul 2019 11:07:28 GMT\"0x8D70138F7DD1813\"unlockedavailablecontainerfalsefalsecontainer156232491083405478Fri, 05 Jul 2019 11:08:30 GMT\"0x8D701391D1177AB\"unlockedavailablefalsefalsecontainer156232492930108543Fri, 05 Jul 2019 11:08:49 GMT\"0x8D7013928375865\"unlockedavailablefalsefalsecontainer156232492960008427Fri, 05 Jul 2019 11:08:49 GMT\"0x8D7013928568564\"unlockedavailablefalsefalsecontainer156232495996103100Fri, 05 Jul 2019 11:09:20 GMT\"0x8D701393A8C724A\"unlockedavailablefalsefalsecontainer156232496036706376Fri, 05 Jul 2019 11:09:20 GMT\"0x8D701393AAD3E73\"unlockedavailablefalsefalsecontainer156232497393000064Fri, 05 Jul 2019 11:09:34 GMT\"0x8D7013942CE8069\"unlockedavailablefalsefalsecontainer156232497422905414Fri, 05 Jul 2019 11:09:34 GMT\"0x8D7013942E62B68\"unlockedavailablefalsefalsecontainer156232499253909185156232499272804915Fri, 05 Jul 2019 11:09:52 GMT\"0x8D701394DF67FDB\"unlockedavailablecontainerfalsefalsecontainer156232501756701214156232501769806917Fri, 05 Jul 2019 11:10:17 GMT\"0x8D701395CC7EA9D\"unlockedavailablecontainerfalsefalsecontainer156232502582604270156232502607601017Fri, 05 Jul 2019 11:10:26 GMT\"0x8D7013961D7310B\"unlockedavailablecontainerfalsefalsecontainer156232508317804695Fri, 05 Jul 2019 11:11:23 GMT\"0x8D7013983CFD2D4\"unlockedavailablefalsefalsecontainer156232514634005909Fri, 05 Jul 2019 11:12:26 GMT\"0x8D70139A9939A59\"unlockedavailablefalsefalsecontainer156232514665500843Fri, 05 Jul 2019 11:12:26 GMT\"0x8D70139A9A8D3E2\"unlockedavailablefalsefalsecontainer156232518894707903Fri, 05 Jul 2019 11:13:09 GMT\"0x8D70139C2F98191\"unlockedavailablefalsefalsecontainer156232518924405220Fri, 05 Jul 2019 11:13:09 GMT\"0x8D70139C318C5C1\"unlockedavailablefalsefalsecontainer156232518984504033156232518993902118Fri, 05 Jul 2019 11:13:09 GMT\"0x8D70139C3719774\"unlockedavailablecontainerfalsefalsecontainer156232525302603200Fri, 05 Jul 2019 11:14:13 GMT\"0x8D70139E90C238E\"unlockedavailablefalsefalsecontainer156232525302809765156232525321606148Fri, 05 Jul 2019 11:14:13 GMT\"0x8D70139E938F71A\"unlockedavailablecontainerfalsefalsecontainer156241101315108645Sat, 06 Jul 2019 11:03:33 GMT\"0x8D70201962E4F5D\"unlockedavailablefalsefalsecontainer156241101345209560Sat, 06 Jul 2019 11:03:33 GMT\"0x8D70201964361CF\"unlockedavailablefalsefalsecontainer156241105618902738156241105628007700Sat, 06 Jul 2019 11:04:16 GMT\"0x8D70201AFC5C094\"unlockedavailablecontainerfalsefalsecontainer156241105866002235Sat, 06 Jul 2019 11:04:18 GMT\"0x8D70201B140374B\"unlockedavailablefalsefalsecontainer156241105885903052Sat, 06 Jul 2019 11:04:18 GMT\"0x8D70201B14EB8DA\"unlockedavailablefalsefalsecontainer156241108436205673Sat, 06 Jul 2019 11:04:44 GMT\"0x8D70201C096B2C7\"unlockedavailablefalsefalsecontainer156241108457604661Sat, 06 Jul 2019 11:04:44 GMT\"0x8D70201C0AD089A\"unlockedavailablefalsefalsecontainer156241108940606975Sat, 06 Jul 2019 11:04:49 GMT\"0x8D70201C398BE51\"unlockedavailablefalsefalsecontainer156241108964507224Sat, 06 Jul 2019 11:04:49 GMT\"0x8D70201C3B1EED8\"unlockedavailablefalsefalsecontainer156241109765308573156241109772104155Sat, 06 Jul 2019 11:04:57 GMT\"0x8D70201C8780B1C\"unlockedavailablecontainerfalsefalsecontainer156241113599807029156241113615003980Sat, 06 Jul 2019 11:05:36 GMT\"0x8D70201DF676D91\"unlockedavailablecontainerfalsefalsecontainer156241114163904119156241114180201306Sat, 06 Jul 2019 11:05:41 GMT\"0x8D70201E2C5BA67\"unlockedavailablecontainerfalsefalsecontainer156241114354206587Sat, 06 Jul 2019 11:05:43 GMT\"0x8D70201E3DD605E\"unlockedavailablefalsefalsecontainer156241114376508815Sat, 06 Jul 2019 11:05:43 GMT\"0x8D70201E3F14F57\"unlockedavailablefalsefalsecontainer156241114833806913Sat, 06 Jul 2019 11:05:48 GMT\"0x8D70201E6C61256\"unlockedavailablefalsefalsecontainer156241114866201574Sat, 06 Jul 2019 11:05:48 GMT\"0x8D70201E6E2E721\"unlockedavailablefalsefalsecontainer156241115290004992Sat, 06 Jul 2019 11:05:53 GMT\"0x8D70201E972359B\"unlockedavailablefalsefalsecontainer156241115312508541Sat, 06 Jul 2019 11:05:53 GMT\"0x8D70201E9839DEB\"unlockedavailablefalsefalsecontainer156241115415106469Sat, 06 Jul 2019 11:05:54 GMT\"0x8D70201EA491B54\"unlockedavailablefalsefalsecontainer156241115455004504Sat, 06 Jul 2019 11:05:54 GMT\"0x8D70201EA65CC60\"unlockedavailablefalsefalsecontainer156241118712809822Sat, 06 Jul 2019 11:06:27 GMT\"0x8D70201FDE7B50C\"unlockedavailablefalsefalsecontainer156241118746601394Sat, 06 Jul 2019 11:06:27 GMT\"0x8D70201FE04E973\"unlockedavailablefalsefalsecontainer156241119234508343156241119242406436Sat, 06 Jul 2019 11:06:32 GMT\"0x8D7020200EC2A9F\"unlockedavailablecontainerfalsefalsecontainer156241119381706257156241119395009336Sat, 06 Jul 2019 11:06:34 GMT\"0x8D7020201DD0AC5\"unlockedavailablecontainerfalsefalsecontainer156241121031808807156241121049309846Sat, 06 Jul 2019 11:06:50 GMT\"0x8D702020BBE1BF2\"unlockedavailablecontainerfalsefalsecontainer156241121682909073156241121700209314Sat, 06 Jul 2019 11:06:57 GMT\"0x8D702020F9FE059\"unlockedavailablecontainerfalsefalsecontainer156241125139401335156241125157002434Sat, 06 Jul 2019 11:07:31 GMT\"0x8D7020224333F80\"unlockedavailablecontainerfalsefalsecontainer156241139514402008Sat, 06 Jul 2019 11:09:55 GMT\"0x8D7020279D935E7\"unlockedavailablefalsefalsecontainer156241139539401928Sat, 06 Jul 2019 11:09:55 GMT\"0x8D7020279F0EE77\"unlockedavailablefalsefalsecontainer156241144553905793156241144564908246Sat, 06 Jul 2019 11:10:45 GMT\"0x8D7020297E50213\"unlockedavailablecontainerfalsefalsecontainer156241152784607252Sat, 06 Jul 2019 11:12:08 GMT\"0x8D70202C8F8374F\"unlockedavailablefalsefalsecontainer156241152812809168Sat, 06 Jul 2019 11:12:08 GMT\"0x8D70202C90F7C89\"unlockedavailablefalsefalsecontainer156241155982805895Sat, 06 Jul 2019 11:12:40 GMT\"0x8D70202DC00567A\"unlockedavailablefalsefalsecontainer156241156006403388Sat, 06 Jul 2019 11:12:40 GMT\"0x8D70202DC139216\"unlockedavailablefalsefalsecontainer156241157952908521156241157965409946Sat, 06 Jul 2019 11:12:59 GMT\"0x8D70202E7C51A27\"unlockedavailablecontainerfalsefalsecontainer156241160986300713156241160998800974Sat, 06 Jul 2019 11:13:30 GMT\"0x8D70202F9D84D6B\"unlockedavailablecontainerfalsefalsecontainer156249742056006968Sun, 07 Jul 2019 11:03:40 GMT\"0x8D702CAC504BE8A\"unlockedavailablefalsefalsecontainer156249742087201183Sun, 07 Jul 2019 11:03:40 GMT\"0x8D702CAC51A6D66\"unlockedavailablefalsefalsecontainer156249746578800153156249746591805038Sun, 07 Jul 2019 11:04:25 GMT\"0x8D702CADFEF8C9E\"unlockedavailablecontainerfalsefalsecontainer156249746936103682Sun, 07 Jul 2019 11:04:29 GMT\"0x8D702CAE20DF257\"unlockedavailablefalsefalsecontainer156249746957206537Sun, 07 Jul 2019 11:04:29 GMT\"0x8D702CAE21BD789\"unlockedavailablefalsefalsecontainer156249750042909745Sun, 07 Jul 2019 11:05:00 GMT\"0x8D702CAF498E43B\"unlockedavailablefalsefalsecontainer156249750067902088Sun, 07 Jul 2019 11:05:00 GMT\"0x8D702CAF4AF6030\"unlockedavailablefalsefalsecontainer156249750749503030156249750755605086Sun, 07 Jul 2019 11:05:07 GMT\"0x8D702CAF8BDD065\"unlockedavailablecontainerfalsefalsecontainer156249754829408710Sun, 07 Jul 2019 11:05:48 GMT\"0x8D702CB111BB325\"unlockedavailablefalsefalsecontainer156249754850002238Sun, 07 Jul 2019 11:05:48 GMT\"0x8D702CB112B1F41\"unlockedavailablefalsefalsecontainer156249755199203416Sun, 07 Jul 2019 11:05:52 GMT\"0x8D702CB136192D6\"unlockedavailablefalsefalsecontainer156249755228105367156249755239005001Sun, 07 Jul 2019 11:05:52 GMT\"0x8D702CB13819008\"unlockedavailablecontainerfalsefalsecontainer156249755233907183Sun, 07 Jul 2019 11:05:52 GMT\"0x8D702CB137E50A1\"unlockedavailablefalsefalsecontainer156249755745709821Sun, 07 Jul 2019 11:05:57 GMT\"0x8D702CB169FADB4\"unlockedavailablefalsefalsecontainer156249755777204383Sun, 07 Jul 2019 11:05:57 GMT\"0x8D702CB16B3F3E4\"unlockedavailablefalsefalsecontainer156249758318001158Sun, 07 Jul 2019 11:06:23 GMT\"0x8D702CB26037689\"unlockedavailablefalsefalsecontainer156249758456207429Sun, 07 Jul 2019 11:06:24 GMT\"0x8D702CB26B47D50\"unlockedavailablefalsefalsecontainer156249758837205759156249758844304768Sun, 07 Jul 2019 11:06:28 GMT\"0x8D702CB28F896A8\"unlockedavailablecontainerfalsefalsecontainer156249760487003999Sun, 07 Jul 2019 11:06:45 GMT\"0x8D702CB32D826E0\"unlockedavailablefalsefalsecontainer156249760511602919Sun, 07 Jul 2019 11:06:45 GMT\"0x8D702CB32EF62E1\"unlockedavailablefalsefalsecontainer156249760887009895156249760901205447Sun, 07 Jul 2019 11:06:49 GMT\"0x8D702CB3541C038\"unlockedavailablecontainerfalsefalsecontainer156249761346403561156249761364009805Sun, 07 Jul 2019 11:06:53 GMT\"0x8D702CB3808C9E4\"unlockedavailablecontainerfalsefalsecontainer156249764354606938156249764371906831Sun, 07 Jul 2019 11:07:24 GMT\"0x8D702CB4A13AF2E\"unlockedavailablecontainerfalsefalsecontainer156249764980108306Sun, 07 Jul 2019 11:07:29 GMT\"0x8D702CB4D87A73F\"unlockedavailablefalsefalsecontainer156249765689104542156249765700409090Sun, 07 Jul 2019 11:07:37 GMT\"0x8D702CB51DCD74B\"unlockedavailablecontainerfalsefalsecontainer156249767800908495Sun, 07 Jul 2019 11:07:58 GMT\"0x8D702CB5E857925\"unlockedavailablefalsefalsecontainer156249767834606809Sun, 07 Jul 2019 11:07:58 GMT\"0x8D702CB5EA2B1D7\"unlockedavailablefalsefalsecontainer156249769169806604Sun, 07 Jul 2019 11:08:11 GMT\"0x8D702CB6693C3E6\"unlockedavailablefalsefalsecontainer156249769190707698Sun, 07 Jul 2019 11:08:11 GMT\"0x8D702CB66A50503\"unlockedavailablefalsefalsecontainer156249773158101689156249773165709319Sun, 07 Jul 2019 11:08:51 GMT\"0x8D702CB7E535FA8\"unlockedavailablecontainerfalsefalsecontainer156249773878507586156249773896108246Sun, 07 Jul 2019 11:08:59 GMT\"0x8D702CB82C4056B\"unlockedavailablecontainerfalsefalsecontainer156249798039509077Sun, 07 Jul 2019 11:13:00 GMT\"0x8D702CC12B3902B\"unlockedavailablefalsefalsecontainer156249798066902478Sun, 07 Jul 2019 11:13:00 GMT\"0x8D702CC12CB17C2\"unlockedavailablefalsefalsecontainer156249798201506167Sun, 07 Jul 2019 11:13:02 GMT\"0x8D702CC13A57793\"unlockedavailablefalsefalsecontainer156249798225400857Sun, 07 Jul 2019 11:13:02 GMT\"0x8D702CC13BA03CD\"unlockedavailablefalsefalsecontainer156249800868606433Sun, 07 Jul 2019 11:13:28 GMT\"0x8D702CC23824CC7\"unlockedavailablefalsefalsecontainer156249800890604731Sun, 07 Jul 2019 11:13:29 GMT\"0x8D702CC2399D0A3\"unlockedavailablefalsefalsecontainer156249803144404156156249803159108751Sun, 07 Jul 2019 11:13:51 GMT\"0x8D702CC31227EE3\"unlockedavailablecontainerfalsefalsecontainer156249803322307348156249803336400514Sun, 07 Jul 2019 11:13:53 GMT\"0x8D702CC3236B485\"unlockedavailablecontainerfalsefalsecontainer156249805929200646156249805943309188Sun, 07 Jul 2019 11:14:19 GMT\"0x8D702CC41B5F934\"unlockedavailablecontainerfalsefalsecontainer156258382191503058Mon, 08 Jul 2019 11:03:42 GMT\"0x8D70393F03CB1AE\"unlockedavailablefalsefalsecontainer156258382226503097Mon, 08 Jul 2019 11:03:42 GMT\"0x8D70393F0537220\"unlockedavailablefalsefalsecontainer156258386569208923156258386580207394Mon, 08 Jul 2019 11:04:25 GMT\"0x8D703940A421B07\"unlockedavailablecontainerfalsefalsecontainer156258387224506689Mon, 08 Jul 2019 11:04:32 GMT\"0x8D703940E30470D\"unlockedavailablefalsefalsecontainer156258387246809734Mon, 08 Jul 2019 11:04:32 GMT\"0x8D703940E413A0C\"unlockedavailablefalsefalsecontainer156258391138507166156258391145306110Mon, 08 Jul 2019 11:05:11 GMT\"0x8D70394257B1874\"unlockedavailablecontainerfalsefalsecontainer156258391855308418Mon, 08 Jul 2019 11:05:18 GMT\"0x8D7039429CAF9B0\"unlockedavailablefalsefalsecontainer156258391877507887Mon, 08 Jul 2019 11:05:18 GMT\"0x8D7039429DE44AA\"unlockedavailablefalsefalsecontainer156258393202604629Mon, 08 Jul 2019 11:05:32 GMT\"0x8D7039431EB843B\"unlockedavailablefalsefalsecontainer156258393242701221Mon, 08 Jul 2019 11:05:32 GMT\"0x8D7039432097DBF\"unlockedavailablefalsefalsecontainer156258394472308666Mon, 08 Jul 2019 11:05:44 GMT\"0x8D70394396CF1D9\"unlockedavailablefalsefalsecontainer156258394499700230Mon, 08 Jul 2019 11:05:45 GMT\"0x8D703943983EB00\"unlockedavailablefalsefalsecontainer156258396836109770Mon, 08 Jul 2019 11:06:08 GMT\"0x8D70394478A298B\"unlockedavailablefalsefalsecontainer156258396871905552Mon, 08 Jul 2019 11:06:08 GMT\"0x8D7039447A88E9A\"unlockedavailablefalsefalsecontainer156258397108300219156258397123403746Mon, 08 Jul 2019 11:06:11 GMT\"0x8D7039449226BAC\"unlockedavailablecontainerfalsefalsecontainer156258397951001854Mon, 08 Jul 2019 11:06:19 GMT\"0x8D703944E20920C\"unlockedavailablefalsefalsecontainer156258397972008518Mon, 08 Jul 2019 11:06:19 GMT\"0x8D703944E31AC2B\"unlockedavailablefalsefalsecontainer156258399433201014156258399451104470Mon, 08 Jul 2019 11:06:34 GMT\"0x8D70394570A0D28\"unlockedavailablecontainerfalsefalsecontainer156258399486601724156258399498502839Mon, 08 Jul 2019 11:06:35 GMT\"0x8D70394574E1906\"unlockedavailablecontainerfalsefalsecontainer156258400343901431Mon, 08 Jul 2019 11:06:43 GMT\"0x8D703945C66967C\"unlockedavailablefalsefalsecontainer156258400367605103Mon, 08 Jul 2019 11:06:43 GMT\"0x8D703945C796459\"unlockedavailablefalsefalsecontainer156258400426105134Mon, 08 Jul 2019 11:06:44 GMT\"0x8D703945CEDAA84\"unlockedavailablefalsefalsecontainer156258400460009218Mon, 08 Jul 2019 11:06:44 GMT\"0x8D703945D0BF673\"unlockedavailablefalsefalsecontainer156258401696708494156258401702702855Mon, 08 Jul 2019 11:06:57 GMT\"0x8D703946468D683\"unlockedavailablecontainerfalsefalsecontainer156258402790602076156258402808708528Mon, 08 Jul 2019 11:07:08 GMT\"0x8D703946B0A9DE3\"unlockedavailablecontainerfalsefalsecontainer156258405380708244156258405393905998Mon, 08 Jul 2019 11:07:34 GMT\"0x8D703947A6F470E\"unlockedavailablecontainerfalsefalsecontainer156258407080306654156258407098502559Mon, 08 Jul 2019 11:07:51 GMT\"0x8D70394849D2C72\"unlockedavailablecontainerfalsefalsecontainer156258442429104004Mon, 08 Jul 2019 11:13:44 GMT\"0x8D70395574BE7DC\"unlockedavailablefalsefalsecontainer156258442462004801Mon, 08 Jul 2019 11:13:44 GMT\"0x8D70395576C5F68\"unlockedavailablefalsefalsecontainer156258443144909460Mon, 08 Jul 2019 11:13:51 GMT\"0x8D703955B7B005B\"unlockedavailablefalsefalsecontainer156258443160605737Mon, 08 Jul 2019 11:13:51 GMT\"0x8D703955B805901\"unlockedavailablefalsefalsecontainer156258446412006613156258446413606090Mon, 08 Jul 2019 11:14:24 GMT\"0x8D703956EE55274\"unlockedavailablecontainerfalsefalsecontainer156258448696307727156258448715201470Mon, 08 Jul 2019 11:14:47 GMT\"0x8D703957CB03A7E\"unlockedavailablecontainerfalsefalsecontainer156258699911707314Mon, 08 Jul 2019 11:56:39 GMT\"0x8D7039B55F418F2\"unlockedavailablefalsefalsecontainer156258699932100597Mon, 08 Jul 2019 11:56:39 GMT\"0x8D7039B55F9CA4C\"unlockedavailablefalsefalsecontainer156258703078402760156258703083103112Mon, 08 Jul 2019 11:57:10 GMT\"0x8D7039B68C320EE\"unlockedavailablecontainerfalsefalsecontainer156264824188309329Tue, 09 Jul 2019 04:57:22 GMT\"0x8D70429ED840B4E\"unlockedavailablefalsefalsecontainer156264824219009999Tue, 09 Jul 2019 04:57:22 GMT\"0x8D70429ED9A0840\"unlockedavailablefalsefalsecontainer156264826791801650156264826800900664Tue, 09 Jul 2019 04:57:48 GMT\"0x8D70429FCF910D6\"unlockedavailablecontainerfalsefalsecontainer156264827029708909Tue, 09 Jul 2019 04:57:50 GMT\"0x8D70429FE80854F\"unlockedavailablefalsefalsecontainer156264827066901114Tue, 09 Jul 2019 04:57:50 GMT\"0x8D70429FE9E5ACE\"unlockedavailablefalsefalsecontainer156264827644903369Tue, 09 Jul 2019 04:57:56 GMT\"0x8D7042A021F686A\"unlockedavailablefalsefalsecontainer156264827678001956Tue, 09 Jul 2019 04:57:56 GMT\"0x8D7042A023CD95D\"unlockedavailablefalsefalsecontainer156264828529604989Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A076D068B\"unlockedavailablefalsefalsecontainer156264828548307137Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A07724C15\"unlockedavailablefalsefalsecontainer156264828565709833Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A078C22F8\"unlockedavailablefalsefalsecontainer156264828565808310Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A07803148\"unlockedavailablefalsefalsecontainer156264830475801921156264830481909403Tue, 09 Jul 2019 04:58:24 GMT\"0x8D7042A12E8F32E\"unlockedavailablecontainerfalsefalsecontainer156264831889606464156264831907008351Tue, 09 Jul 2019 04:58:39 GMT\"0x8D7042A1B71EB3C\"unlockedavailablecontainerfalsefalsecontainer156264832847002330Tue, 09 Jul 2019 04:58:48 GMT\"0x8D7042A2119ABA1\"unlockedavailablefalsefalsecontainer156264832869901287Tue, 09 Jul 2019 04:58:48 GMT\"0x8D7042A212EB2AA\"unlockedavailablefalsefalsecontainer156264832885202420156264832902601177Tue, 09 Jul 2019 04:58:49 GMT\"0x8D7042A216709DC\"unlockedavailablecontainerfalsefalsecontainer156264832958005425156264832975506005Tue, 09 Jul 2019 04:58:49 GMT\"0x8D7042A21D4CEBC\"unlockedavailablecontainerfalsefalsecontainer156264833974300264Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27D100D3\"unlockedavailablefalsefalsecontainer156264833996509344Tue, 09 Jul 2019 04:59:00 GMT\"0x8D7042A27E876AB\"unlockedavailablefalsefalsecontainer156264834548902989Tue, 09 Jul 2019 04:59:05 GMT\"0x8D7042A2B50A486\"unlockedavailablefalsefalsecontainer156264834583603447Tue, 09 Jul 2019 04:59:05 GMT\"0x8D7042A2B64E904\"unlockedavailablefalsefalsecontainer156264836123004170156264836140902537Tue, 09 Jul 2019 04:59:21 GMT\"0x8D7042A34AC665B\"unlockedavailablecontainerfalsefalsecontainer156264837463601881156264837476604485Tue, 09 Jul 2019 04:59:34 GMT\"0x8D7042A3CA5BA3C\"unlockedavailablecontainerfalsefalsecontainer156264837793304086156264837804803823Tue, 09 Jul 2019 04:59:38 GMT\"0x8D7042A3E9A29FF\"unlockedavailablecontainerfalsefalsecontainer156264838220209166Tue, 09 Jul 2019 04:59:42 GMT\"0x8D7042A4127E620\"unlockedavailablefalsefalsecontainer156264838248203359Tue, 09 Jul 2019 04:59:42 GMT\"0x8D7042A413ECDA3\"unlockedavailablefalsefalsecontainer156264840858700772156264840868805008Tue, 09 Jul 2019 05:00:08 GMT\"0x8D7042A50D85F30\"unlockedavailablecontainerfalsefalsecontainer156264842328907294Tue, 09 Jul 2019 05:00:23 GMT\"0x8D7042A59ABD854\"unlockedavailablefalsefalsecontainer156264842361901920Tue, 09 Jul 2019 05:00:23 GMT\"0x8D7042A59CA86D7\"unlockedavailablefalsefalsecontainer156264842544503648Tue, 09 Jul 2019 05:00:25 GMT\"0x8D7042A5AED8798\"unlockedavailablefalsefalsecontainer156264842572701450Tue, 09 Jul 2019 05:00:25 GMT\"0x8D7042A5B0C591E\"unlockedavailablefalsefalsecontainer156264847148109040156264847166905550Tue, 09 Jul 2019 05:01:11 GMT\"0x8D7042A76710801\"unlockedavailablecontainerfalsefalsecontainer156264847150502962156264847169005053Tue, 09 Jul 2019 05:01:11 GMT\"0x8D7042A767204C9\"unlockedavailablecontainerfalsefalsecontainer156264857306802735Tue, 09 Jul 2019 05:02:53 GMT\"0x8D7042AB2F0673B\"unlockedavailablefalsefalsecontainer156264857338207272Tue, 09 Jul 2019 05:02:53 GMT\"0x8D7042AB30FFFB3\"unlockedavailablefalsefalsecontainer156264861897303516156264861919206190Tue, 09 Jul 2019 05:03:39 GMT\"0x8D7042ACE5E6E10\"unlockedavailablecontainerfalsefalsecontainer156265035205705578Tue, 09 Jul 2019 05:32:32 GMT\"0x8D7042ED74E0A24\"unlockedavailablefalsefalsecontainer156265035245205489Tue, 09 Jul 2019 05:32:32 GMT\"0x8D7042ED76CBB56\"unlockedavailablefalsefalsecontainer156265037630208408Tue, 09 Jul 2019 05:32:56 GMT\"0x8D7042EE5C2CFC4\"unlockedavailablefalsefalsecontainer156265037664604486Tue, 09 Jul 2019 05:32:56 GMT\"0x8D7042EE5E09C42\"unlockedavailablefalsefalsecontainer156265037668101590156265037677103199Tue, 09 Jul 2019 05:32:56 GMT\"0x8D7042EE5E7060F\"unlockedavailablecontainerfalsefalsecontainer156265039049803527Tue, 09 Jul 2019 05:33:10 GMT\"0x8D7042EEE3BB526\"unlockedavailablefalsefalsecontainer156265039084902674Tue, 09 Jul 2019 05:33:11 GMT\"0x8D7042EEE59E9A3\"unlockedavailablefalsefalsecontainer156265039311401222Tue, 09 Jul 2019 05:33:13 GMT\"0x8D7042EEFC037C2\"unlockedavailablefalsefalsecontainer156265039342405360Tue, 09 Jul 2019 05:33:13 GMT\"0x8D7042EEFDE1DF3\"unlockedavailablefalsefalsecontainer156265041311808239Tue, 09 Jul 2019 05:33:33 GMT\"0x8D7042EFB9A44CF\"unlockedavailablefalsefalsecontainer156265041326102758Tue, 09 Jul 2019 05:33:33 GMT\"0x8D7042EFB9F48FE\"unlockedavailablefalsefalsecontainer156265042038109739Tue, 09 Jul 2019 05:33:40 GMT\"0x8D7042F00016BD5\"unlockedavailablefalsefalsecontainer156265042067102963Tue, 09 Jul 2019 05:33:40 GMT\"0x8D7042F0014F75D\"unlockedavailablefalsefalsecontainer156265042405204464156265042410505431Tue, 09 Jul 2019 05:33:44 GMT\"0x8D7042F02157BFB\"unlockedavailablecontainerfalsefalsecontainer156265042474102849156265042491401533Tue, 09 Jul 2019 05:33:45 GMT\"0x8D7042F02A522D9\"unlockedavailablecontainerfalsefalsecontainer156265042685801043Tue, 09 Jul 2019 05:33:47 GMT\"0x8D7042F03CF391E\"unlockedavailablefalsefalsecontainer156265042703004162Tue, 09 Jul 2019 05:33:47 GMT\"0x8D7042F03D451E5\"unlockedavailablefalsefalsecontainer156265043157302204Tue, 09 Jul 2019 05:33:51 GMT\"0x8D7042F06A7E024\"unlockedavailablefalsefalsecontainer156265043181607993Tue, 09 Jul 2019 05:33:51 GMT\"0x8D7042F06BC25CB\"unlockedavailablefalsefalsecontainer156265043420702150156265043438206342Tue, 09 Jul 2019 05:33:54 GMT\"0x8D7042F084B8483\"unlockedavailablecontainerfalsefalsecontainer156265043571906087156265043589402611Tue, 09 Jul 2019 05:33:56 GMT\"0x8D7042F092DF2D8\"unlockedavailablecontainerfalsefalsecontainer156265043859708990156265043861301291Tue, 09 Jul 2019 05:33:58 GMT\"0x8D7042F0ABB5709\"unlockedavailablecontainerfalsefalsecontainer156265044442804264156265044451205098Tue, 09 Jul 2019 05:34:04 GMT\"0x8D7042F0E4686DC\"unlockedavailablecontainerfalsefalsecontainer156265046298908563156265046310205964Tue, 09 Jul 2019 05:34:23 GMT\"0x8D7042F19627BF3\"unlockedavailablecontainerfalsefalsecontainer156265046837105524Tue, 09 Jul 2019 05:34:28 GMT\"0x8D7042F1C7F468E\"unlockedavailablefalsefalsecontainer156265050484909994Tue, 09 Jul 2019 05:35:05 GMT\"0x8D7042F325DAF6D\"unlockedavailablefalsefalsecontainer156265050514600394Tue, 09 Jul 2019 05:35:05 GMT\"0x8D7042F327C4CC3\"unlockedavailablefalsefalsecontainer156265050883403554Tue, 09 Jul 2019 05:35:09 GMT\"0x8D7042F34BB17B4\"unlockedavailablefalsefalsecontainer156265050912504380Tue, 09 Jul 2019 05:35:09 GMT\"0x8D7042F34D24D5D\"unlockedavailablefalsefalsecontainer156265053312507052Tue, 09 Jul 2019 05:35:33 GMT\"0x8D7042F433822FC\"unlockedavailablefalsefalsecontainer156265053343705122Tue, 09 Jul 2019 05:35:33 GMT\"0x8D7042F4357FDAD\"unlockedavailablefalsefalsecontainer156265053596903691Tue, 09 Jul 2019 05:35:36 GMT\"0x8D7042F44F2B20F\"unlockedavailablefalsefalsecontainer156265053633208207Tue, 09 Jul 2019 05:35:36 GMT\"0x8D7042F45118726\"unlockedavailablefalsefalsecontainer156265054246202095Tue, 09 Jul 2019 05:35:42 GMT\"0x8D7042F48BF4620\"unlockedavailablefalsefalsecontainer156265054271805988Tue, 09 Jul 2019 05:35:42 GMT\"0x8D7042F48D458A7\"unlockedavailablefalsefalsecontainer156265054498100155156265054508103552Tue, 09 Jul 2019 05:35:45 GMT\"0x8D7042F4A3B7A3E\"unlockedavailablecontainerfalsefalsecontainer156265055706705454156265055724107991Tue, 09 Jul 2019 05:35:57 GMT\"0x8D7042F5189BDF3\"unlockedavailablecontainerfalsefalsecontainer156265057172803403156265057181802026Tue, 09 Jul 2019 05:36:11 GMT\"0x8D7042F5A27DE08\"unlockedavailablecontainerfalsefalsecontainer156265057989409738156265058008705966Tue, 09 Jul 2019 05:36:20 GMT\"0x8D7042F5F27C952\"unlockedavailablecontainerfalsefalsecontainer156265058225700928156265058244407538Tue, 09 Jul 2019 05:36:22 GMT\"0x8D7042F608E3F41\"unlockedavailablecontainerfalsefalsecontainer156265066323908261Tue, 09 Jul 2019 05:37:43 GMT\"0x8D7042F90A5D19A\"unlockedavailablefalsefalsecontainer156265073299802389Tue, 09 Jul 2019 05:38:53 GMT\"0x8D7042FBA5219BA\"unlockedavailablefalsefalsecontainer156265073326005940Tue, 09 Jul 2019 05:38:53 GMT\"0x8D7042FBA672C26\"unlockedavailablefalsefalsecontainer156265075769208088156265075778302656Tue, 09 Jul 2019 05:39:17 GMT\"0x8D7042FC9005E6B\"unlockedavailablecontainerfalsefalsecontainer156265084851103183Tue, 09 Jul 2019 05:40:48 GMT\"0x8D7042FFF148445\"unlockedavailablefalsefalsecontainer156265092389603542Tue, 09 Jul 2019 05:42:04 GMT\"0x8D704302C20F569\"unlockedavailablefalsefalsecontainer156265092420307749Tue, 09 Jul 2019 05:42:04 GMT\"0x8D704302C36CB45\"unlockedavailablefalsefalsecontainer156265094846908153156265094856008951Tue, 09 Jul 2019 05:42:28 GMT\"0x8D704303AB76779\"unlockedavailablecontainerfalsefalsecontainer156265103918701144Tue, 09 Jul 2019 05:43:59 GMT\"0x8D7043070BBEBC8\"unlockedavailablefalsefalsecontainer156267024273808166Tue, 09 Jul 2019 11:04:02 GMT\"0x8D7045D270CE101\"unlockedavailablefalsefalsecontainer156267024307403471Tue, 09 Jul 2019 11:04:03 GMT\"0x8D7045D27274B9F\"unlockedavailablefalsefalsecontainer156267028659907498156267028674804317Tue, 09 Jul 2019 11:04:46 GMT\"0x8D7045D412B0150\"unlockedavailablecontainerfalsefalsecontainer156267030966401498Tue, 09 Jul 2019 11:05:09 GMT\"0x8D7045D4EE45312\"unlockedavailablefalsefalsecontainer156267030985801785Tue, 09 Jul 2019 11:05:09 GMT\"0x8D7045D4EF1C30E\"unlockedavailablefalsefalsecontainer156267033989700890Tue, 09 Jul 2019 11:05:40 GMT\"0x8D7045D60F15D6F\"unlockedavailablefalsefalsecontainer156267034013903568Tue, 09 Jul 2019 11:05:40 GMT\"0x8D7045D610896AF\"unlockedavailablefalsefalsecontainer156267034812509891156267034820405260Tue, 09 Jul 2019 11:05:48 GMT\"0x8D7045D65CAB941\"unlockedavailablecontainerfalsefalsecontainer156267038053205284Tue, 09 Jul 2019 11:06:20 GMT\"0x8D7045D79268645\"unlockedavailablefalsefalsecontainer156267038075306573Tue, 09 Jul 2019 11:06:20 GMT\"0x8D7045D7935A433\"unlockedavailablefalsefalsecontainer156267038947106688Tue, 09 Jul 2019 11:06:29 GMT\"0x8D7045D7E7E9EC3\"unlockedavailablefalsefalsecontainer156267038972404263Tue, 09 Jul 2019 11:06:29 GMT\"0x8D7045D7E961F25\"unlockedavailablefalsefalsecontainer156267039085600460156267039100308011Tue, 09 Jul 2019 11:06:31 GMT\"0x8D7045D7F57C97D\"unlockedavailablecontainerfalsefalsecontainer156267039225701930Tue, 09 Jul 2019 11:06:32 GMT\"0x8D7045D8034EEC2\"unlockedavailablefalsefalsecontainer156267039260704449Tue, 09 Jul 2019 11:06:32 GMT\"0x8D7045D805281EB\"unlockedavailablefalsefalsecontainer156267040188101460Tue, 09 Jul 2019 11:06:42 GMT\"0x8D7045D85F1ECF8\"unlockedavailablefalsefalsecontainer156267040223404996Tue, 09 Jul 2019 11:06:42 GMT\"0x8D7045D8610D0C3\"unlockedavailablefalsefalsecontainer156267041889108777156267041895105023Tue, 09 Jul 2019 11:06:59 GMT\"0x8D7045D8FF6FE95\"unlockedavailablecontainerfalsefalsecontainer156267044009608780156267044023308754Tue, 09 Jul 2019 11:07:20 GMT\"0x8D7045D9CAE5A72\"unlockedavailablecontainerfalsefalsecontainer156267045044708039Tue, 09 Jul 2019 11:07:30 GMT\"0x8D7045DA2D4800B\"unlockedavailablefalsefalsecontainer156267045068304470Tue, 09 Jul 2019 11:07:30 GMT\"0x8D7045DA2EC0FA5\"unlockedavailablefalsefalsecontainer156267045496201997156267045513508242Tue, 09 Jul 2019 11:07:35 GMT\"0x8D7045DA5978821\"unlockedavailablecontainerfalsefalsecontainer156267048458600969156267048475908619Tue, 09 Jul 2019 11:08:04 GMT\"0x8D7045DB73E9F92\"unlockedavailablecontainerfalsefalsecontainer156267049517007314Tue, 09 Jul 2019 11:08:15 GMT\"0x8D7045DBD8C7492\"unlockedavailablefalsefalsecontainer156267049553207811Tue, 09 Jul 2019 11:08:15 GMT\"0x8D7045DBDA992C0\"unlockedavailablefalsefalsecontainer156267050145402507156267050159001444Tue, 09 Jul 2019 11:08:21 GMT\"0x8D7045DC143928F\"unlockedavailablecontainerfalsefalsecontainer156267059070006297156267059088606885Tue, 09 Jul 2019 11:09:51 GMT\"0x8D7045DF680CDE4\"unlockedavailablecontainerfalsefalsecontainer156267080315704925Tue, 09 Jul 2019 11:13:23 GMT\"0x8D7045E750D1850\"unlockedavailablefalsefalsecontainer156267080334409151Tue, 09 Jul 2019 11:13:23 GMT\"0x8D7045E75131678\"unlockedavailablefalsefalsecontainer156267081332405754Tue, 09 Jul 2019 11:13:33 GMT\"0x8D7045E7B1B6C96\"unlockedavailablefalsefalsecontainer156267081351100774Tue, 09 Jul 2019 11:13:33 GMT\"0x8D7045E7B22D40E\"unlockedavailablefalsefalsecontainer156267081727103142Tue, 09 Jul 2019 11:13:37 GMT\"0x8D7045E7D81DEB6\"unlockedavailablefalsefalsecontainer156267081756203247Tue, 09 Jul 2019 11:13:37 GMT\"0x8D7045E7DA0A1F0\"unlockedavailablefalsefalsecontainer156267083682102116156267083683602946Tue, 09 Jul 2019 11:13:56 GMT\"0x8D7045E89087E8B\"unlockedavailablecontainerfalsefalsecontainer156267084409503633156267084411105786Tue, 09 Jul 2019 11:14:04 GMT\"0x8D7045E8D5E27A5\"unlockedavailablecontainerfalsefalsecontainer156267087993203935156267088014201135Tue, 09 Jul 2019 11:14:40 GMT\"0x8D7045EA2EC3F60\"unlockedavailablecontainerfalsefalsecontainer156269593063102113Tue, 09 Jul 2019 18:12:10 GMT\"0x8D70498F6302830\"unlockedavailablefalsefalsecontainer156269593090205586Tue, 09 Jul 2019 18:12:10 GMT\"0x8D70498F649F675\"unlockedavailablefalsefalsecontainer156269595039002636156269595044707797Tue, 09 Jul 2019 18:12:30 GMT\"0x8D7049901EAC555\"unlockedavailablecontainerfalsefalsecontainer156269596402209875Tue, 09 Jul 2019 18:12:44 GMT\"0x8D704990A275C21\"unlockedavailablefalsefalsecontainer156269596435600988Tue, 09 Jul 2019 18:12:44 GMT\"0x8D704990A4451F9\"unlockedavailablefalsefalsecontainer156269596481500990Tue, 09 Jul 2019 18:12:45 GMT\"0x8D704990A9796F0\"unlockedavailablefalsefalsecontainer156269596513104734Tue, 09 Jul 2019 18:12:45 GMT\"0x8D704990AAE7E64\"unlockedavailablefalsefalsecontainer156269599163009475Tue, 09 Jul 2019 18:13:11 GMT\"0x8D704991A813BF2\"unlockedavailablefalsefalsecontainer156269599174106957Tue, 09 Jul 2019 18:13:11 GMT\"0x8D704991A84BF05\"unlockedavailablefalsefalsecontainer156269599175109106Tue, 09 Jul 2019 18:13:11 GMT\"0x8D704991A88A008\"unlockedavailablefalsefalsecontainer156269599369202618156269599378306983Tue, 09 Jul 2019 18:13:13 GMT\"0x8D704991BBC71DD\"unlockedavailablecontainerfalsefalsecontainer156269600087600754156269600089007895Tue, 09 Jul 2019 18:13:20 GMT\"0x8D704991FF934F4\"unlockedavailablecontainerfalsefalsecontainer156269600485106675156269600501305246Tue, 09 Jul 2019 18:13:25 GMT\"0x8D7049922801601\"unlockedavailablecontainerfalsefalsecontainer156269602102904671Tue, 09 Jul 2019 18:13:41 GMT\"0x8D704992C16D2BB\"unlockedavailablefalsefalsecontainer156269602127409681Tue, 09 Jul 2019 18:13:41 GMT\"0x8D704992C2B5A06\"unlockedavailablefalsefalsecontainer156269604349707508Tue, 09 Jul 2019 18:14:03 GMT\"0x8D70499397B79AD\"unlockedavailablefalsefalsecontainer156269604374206246Tue, 09 Jul 2019 18:14:03 GMT\"0x8D704993992D407\"unlockedavailablefalsefalsecontainer156269605411902428156269605425400160Tue, 09 Jul 2019 18:14:14 GMT\"0x8D704993FD49C63\"unlockedavailablecontainerfalsefalsecontainer156269607704102567156269607718406941Tue, 09 Jul 2019 18:14:37 GMT\"0x8D704994D8081BC\"unlockedavailablecontainerfalsefalsecontainer156269608400508364Tue, 09 Jul 2019 18:14:44 GMT\"0x8D7049951827AD8\"unlockedavailablefalsefalsecontainer156269613232401414Tue, 09 Jul 2019 18:15:32 GMT\"0x8D704996E6674EE\"unlockedavailablefalsefalsecontainer156269613249803045Tue, 09 Jul 2019 18:15:32 GMT\"0x8D704996E6BB2E5\"unlockedavailablefalsefalsecontainer156269613434902805Tue, 09 Jul 2019 18:15:34 GMT\"0x8D704996FB89D77\"unlockedavailablefalsefalsecontainer156269613475208819Tue, 09 Jul 2019 18:15:34 GMT\"0x8D704996FD6142F\"unlockedavailablefalsefalsecontainer156269613960500586Tue, 09 Jul 2019 18:15:39 GMT\"0x8D7049972C62260\"unlockedavailablefalsefalsecontainer156269613989402526Tue, 09 Jul 2019 18:15:40 GMT\"0x8D7049972E30369\"unlockedavailablefalsefalsecontainer156269614323903153156269614325402196Tue, 09 Jul 2019 18:15:43 GMT\"0x8D7049974D64402\"unlockedavailablecontainerfalsefalsecontainer156269615526400907Tue, 09 Jul 2019 18:15:55 GMT\"0x8D704997C113B4C\"unlockedavailablefalsefalsecontainer156269615551304750Tue, 09 Jul 2019 18:15:55 GMT\"0x8D704997C25FF91\"unlockedavailablefalsefalsecontainer156269617654409733156269617671508576Tue, 09 Jul 2019 18:16:16 GMT\"0x8D7049988D8E9C4\"unlockedavailablecontainerfalsefalsecontainer156269618062103807156269618070904705Tue, 09 Jul 2019 18:16:20 GMT\"0x8D704998B25CA4A\"unlockedavailablecontainerfalsefalsecontainer156269619895103569156269619912204446Tue, 09 Jul 2019 18:16:39 GMT\"0x8D7049996305973\"unlockedavailablecontainerfalsefalsecontainer156269623505403073Tue, 09 Jul 2019 18:17:15 GMT\"0x8D70499ABAEC9D0\"unlockedavailablefalsefalsecontainer156269623539202501Tue, 09 Jul 2019 18:17:15 GMT\"0x8D70499ABCD0FC5\"unlockedavailablefalsefalsecontainer156269628259006640156269628276701935Tue, 09 Jul 2019 18:18:02 GMT\"0x8D70499C80AEB32\"unlockedavailablecontainerfalsefalsecontainer156269640822909638Tue, 09 Jul 2019 18:20:08 GMT\"0x8D7049A12E7DB67\"unlockedavailablefalsefalsecontainer156269640852603726Tue, 09 Jul 2019 18:20:08 GMT\"0x8D7049A13080C8E\"unlockedavailablefalsefalsecontainer156269643011103736Tue, 09 Jul 2019 18:20:30 GMT\"0x8D7049A1FF48C7F\"unlockedavailablefalsefalsecontainer156269643040400557Tue, 09 Jul 2019 18:20:30 GMT\"0x8D7049A200CD672\"unlockedavailablefalsefalsecontainer156269645428600172156269645447309183Tue, 09 Jul 2019 18:20:54 GMT\"0x8D7049A2E697064\"unlockedavailablecontainerfalsefalsecontainer156269646424003537156269646436502119Tue, 09 Jul 2019 18:21:04 GMT\"0x8D7049A344BD51F\"unlockedavailablecontainerfalsefalsecontainer156275680147405747Wed, 10 Jul 2019 11:06:41 GMT\"0x8D70526B01A18D8\"unlockedavailablefalsefalsecontainer156275680187203338Wed, 10 Jul 2019 11:06:41 GMT\"0x8D70526B038C9F7\"unlockedavailablefalsefalsecontainer156275684503002722156275684512206090Wed, 10 Jul 2019 11:07:25 GMT\"0x8D70526C9FC6731\"unlockedavailablecontainerfalsefalsecontainer156275689929000495Wed, 10 Jul 2019 11:08:19 GMT\"0x8D70526EA578B09\"unlockedavailablefalsefalsecontainer156275689950109243Wed, 10 Jul 2019 11:08:19 GMT\"0x8D70526EA66A8F5\"unlockedavailablefalsefalsecontainer156275690849106365Wed, 10 Jul 2019 11:08:28 GMT\"0x8D70526EFC1A199\"unlockedavailablefalsefalsecontainer156275693847500928156275693854003579Wed, 10 Jul 2019 11:08:58 GMT\"0x8D7052701A87D3A\"unlockedavailablecontainerfalsefalsecontainer156275697185507138Wed, 10 Jul 2019 11:09:32 GMT\"0x8D70527159E5921\"unlockedavailablefalsefalsecontainer156275697212301324Wed, 10 Jul 2019 11:09:32 GMT\"0x8D7052715B392B4\"unlockedavailablefalsefalsecontainer156275701651308226156275701660300635Wed, 10 Jul 2019 11:10:16 GMT\"0x8D70527303216E7\"unlockedavailablecontainerfalsefalsecontainer156275703037909972Wed, 10 Jul 2019 11:10:30 GMT\"0x8D7052738706C52\"unlockedavailablefalsefalsecontainer156275703051605611Wed, 10 Jul 2019 11:10:30 GMT\"0x8D7052738743D8E\"unlockedavailablefalsefalsecontainer156275703052806977Wed, 10 Jul 2019 11:10:30 GMT\"0x8D70527387872FD\"unlockedavailablefalsefalsecontainer156275705891305596156275705894603002Wed, 10 Jul 2019 11:10:58 GMT\"0x8D705274966471F\"unlockedavailablecontainerfalsefalsecontainer156275716020605532Wed, 10 Jul 2019 11:12:40 GMT\"0x8D7052785E2E6D3\"unlockedavailablefalsefalsecontainer156275716046009909Wed, 10 Jul 2019 11:12:40 GMT\"0x8D7052785F8D14D\"unlockedavailablefalsefalsecontainer156275721058308326156275721070804615Wed, 10 Jul 2019 11:13:30 GMT\"0x8D70527A3E9CA88\"unlockedavailablecontainerfalsefalsecontainer156275736208609455Wed, 10 Jul 2019 11:16:02 GMT\"0x8D70527FE45A4D4\"unlockedavailablefalsefalsecontainer156275736243307285Wed, 10 Jul 2019 11:16:02 GMT\"0x8D70527FE5A6552\"unlockedavailablefalsefalsecontainer156275737994902426Wed, 10 Jul 2019 11:16:20 GMT\"0x8D7052808D9138D\"unlockedavailablefalsefalsecontainer156275738018009826Wed, 10 Jul 2019 11:16:20 GMT\"0x8D7052808ED1735\"unlockedavailablefalsefalsecontainer156275741286004577156275741297802120Wed, 10 Jul 2019 11:16:53 GMT\"0x8D705281C7A7C06\"unlockedavailablecontainerfalsefalsecontainer156275743106004783156275743116800587Wed, 10 Jul 2019 11:17:11 GMT\"0x8D705282753F53F\"unlockedavailablecontainerfalsefalsecontainer156275748425702500Wed, 10 Jul 2019 11:18:04 GMT\"0x8D70528471CB8F1\"unlockedavailablefalsefalsecontainer156275748466706124Wed, 10 Jul 2019 11:18:04 GMT\"0x8D70528473A6293\"unlockedavailablefalsefalsecontainer156275748543801194Wed, 10 Jul 2019 11:18:05 GMT\"0x8D7052847C528F1\"unlockedavailablefalsefalsecontainer156275748578307794Wed, 10 Jul 2019 11:18:05 GMT\"0x8D7052847E24D29\"unlockedavailablefalsefalsecontainer156275754419201643156275754436904338Wed, 10 Jul 2019 11:19:04 GMT\"0x8D705286AD02B6A\"unlockedavailablecontainerfalsefalsecontainer156275754562409651156275754579901062Wed, 10 Jul 2019 11:19:05 GMT\"0x8D705286BA76673\"unlockedavailablecontainerfalsefalsecontainer156275763673101498Wed, 10 Jul 2019 11:20:37 GMT\"0x8D70528A1F82F10\"unlockedavailablefalsefalsecontainer156275763713905388Wed, 10 Jul 2019 11:20:37 GMT\"0x8D70528A21A9E0B\"unlockedavailablefalsefalsecontainer156275770469701653156275770488303631Wed, 10 Jul 2019 11:21:45 GMT\"0x8D70528CA7C0130\"unlockedavailablecontainerfalsefalsecontainer156275777687400083Wed, 10 Jul 2019 11:22:57 GMT\"0x8D70528F5648E43\"unlockedavailablefalsefalsecontainer156275777701403110Wed, 10 Jul 2019 11:22:57 GMT\"0x8D70528F56A46AA\"unlockedavailablefalsefalsecontainer156275780741507636156275780743004651Wed, 10 Jul 2019 11:23:27 GMT\"0x8D70529078C734D\"unlockedavailablecontainerfalsefalsecontainer156275781050403634Wed, 10 Jul 2019 11:23:30 GMT\"0x8D7052909766088\"unlockedavailablefalsefalsecontainer156275781067600310Wed, 10 Jul 2019 11:23:30 GMT\"0x8D70529097BF54B\"unlockedavailablefalsefalsecontainer156275783762202616Wed, 10 Jul 2019 11:23:57 GMT\"0x8D70529199E81A9\"unlockedavailablefalsefalsecontainer156275783779501313Wed, 10 Jul 2019 11:23:57 GMT\"0x8D7052919A483F0\"unlockedavailablefalsefalsecontainer156275784027507862156275784030807362Wed, 10 Jul 2019 11:24:00 GMT\"0x8D705291B241431\"unlockedavailablecontainerfalsefalsecontainer156275786792900946156275786794506213Wed, 10 Jul 2019 11:24:27 GMT\"0x8D705292B9D493C\"unlockedavailablecontainerfalsefalsecontainer156279266311006383Wed, 10 Jul 2019 21:04:23 GMT\"0x8D7057A2F6D2281\"unlockedavailablefalsefalsecontainer156279266371109805Wed, 10 Jul 2019 21:04:24 GMT\"0x8D7057A2FAEA23C\"unlockedavailablefalsefalsecontainer156279273054101554156279273083802462Wed, 10 Jul 2019 21:05:31 GMT\"0x8D7057A57B37880\"unlockedavailablecontainerfalsefalsecontainer156279289878604539Wed, 10 Jul 2019 21:08:19 GMT\"0x8D7057ABBCBE0D9\"unlockedavailablefalsefalsecontainer156284350824009413Thu, 11 Jul 2019 11:11:48 GMT\"0x8D705F09155E1D7\"unlockedavailablefalsefalsecontainer156284350852406717Thu, 11 Jul 2019 11:11:48 GMT\"0x8D705F0916A7EFC\"unlockedavailablefalsefalsecontainer156284354994406294156284355002908774Thu, 11 Jul 2019 11:12:30 GMT\"0x8D705F0AA233EB0\"unlockedavailablecontainerfalsefalsecontainer156284365756601590Thu, 11 Jul 2019 11:14:17 GMT\"0x8D705F0EA57C56B\"unlockedavailablefalsefalsecontainer156284365787300924Thu, 11 Jul 2019 11:14:17 GMT\"0x8D705F0EA6D25FA\"unlockedavailablefalsefalsecontainer156284370165103659156284370174202682Thu, 11 Jul 2019 11:15:01 GMT\"0x8D705F1048E8095\"unlockedavailablecontainerfalsefalsecontainer156284376578706925Thu, 11 Jul 2019 11:16:05 GMT\"0x8D705F12ABB8523\"unlockedavailablefalsefalsecontainer156284382848606397Thu, 11 Jul 2019 11:17:08 GMT\"0x8D705F150325075\"unlockedavailablefalsefalsecontainer156284382875201460Thu, 11 Jul 2019 11:17:08 GMT\"0x8D705F15047B114\"unlockedavailablefalsefalsecontainer156284387258206838156284387267405620Thu, 11 Jul 2019 11:17:52 GMT\"0x8D705F16A70B314\"unlockedavailablecontainerfalsefalsecontainer156284393806407141Thu, 11 Jul 2019 11:18:58 GMT\"0x8D705F1916A248D\"unlockedavailablefalsefalsecontainer156284400171203216Thu, 11 Jul 2019 11:20:01 GMT\"0x8D705F1B77123B8\"unlockedavailablefalsefalsecontainer156284400200309515Thu, 11 Jul 2019 11:20:02 GMT\"0x8D705F1B78A7CAF\"unlockedavailablefalsefalsecontainer156284404536204021156284404545203022Thu, 11 Jul 2019 11:20:45 GMT\"0x8D705F1D16C27B6\"unlockedavailablecontainerfalsefalsecontainer156284406904102642Thu, 11 Jul 2019 11:21:09 GMT\"0x8D705F1DF9F087A\"unlockedavailablefalsefalsecontainer156284406936902072Thu, 11 Jul 2019 11:21:09 GMT\"0x8D705F1DFB8D6C0\"unlockedavailablefalsefalsecontainer156284408389102155Thu, 11 Jul 2019 11:21:24 GMT\"0x8D705F1E87B132F\"unlockedavailablefalsefalsecontainer156284408421202185Thu, 11 Jul 2019 11:21:24 GMT\"0x8D705F1E88FDA46\"unlockedavailablefalsefalsecontainer156284410886306793Thu, 11 Jul 2019 11:21:48 GMT\"0x8D705F1F737E7FC\"unlockedavailablefalsefalsecontainer156284411797603715156284411807700681Thu, 11 Jul 2019 11:21:58 GMT\"0x8D705F1FCBBD85C\"unlockedavailablecontainerfalsefalsecontainer156284413574507113156284413587303134Thu, 11 Jul 2019 11:22:15 GMT\"0x8D705F2075B0D4E\"unlockedavailablecontainerfalsefalsecontainer156284413617905119Thu, 11 Jul 2019 11:22:16 GMT\"0x8D705F2079A1572\"unlockedavailablefalsefalsecontainer156284413642708592Thu, 11 Jul 2019 11:22:16 GMT\"0x8D705F207AFE58F\"unlockedavailablefalsefalsecontainer156284417225407518Thu, 11 Jul 2019 11:22:52 GMT\"0x8D705F21D1817CC\"unlockedavailablefalsefalsecontainer156284417252001461Thu, 11 Jul 2019 11:22:52 GMT\"0x8D705F21D2D2A3B\"unlockedavailablefalsefalsecontainer156284417860307314Thu, 11 Jul 2019 11:22:58 GMT\"0x8D705F220DFAA4F\"unlockedavailablefalsefalsecontainer156284417882700926Thu, 11 Jul 2019 11:22:58 GMT\"0x8D705F220F30EF4\"unlockedavailablefalsefalsecontainer156284418703608182156284418714908818Thu, 11 Jul 2019 11:23:07 GMT\"0x8D705F225E84390\"unlockedavailablecontainerfalsefalsecontainer156284420496503212Thu, 11 Jul 2019 11:23:25 GMT\"0x8D705F230A59CEF\"unlockedavailablefalsefalsecontainer156284420532500487Thu, 11 Jul 2019 11:23:25 GMT\"0x8D705F230C2B1D3\"unlockedavailablefalsefalsecontainer156284420826901606Thu, 11 Jul 2019 11:23:28 GMT\"0x8D705F2329B6BD4\"unlockedavailablefalsefalsecontainer156284420861100545Thu, 11 Jul 2019 11:23:28 GMT\"0x8D705F232BB5EB7\"unlockedavailablefalsefalsecontainer156284421524305449156284421534105215Thu, 11 Jul 2019 11:23:35 GMT\"0x8D705F236AF698E\"unlockedavailablecontainerfalsefalsecontainer156284423426309189156284423439505804Thu, 11 Jul 2019 11:23:54 GMT\"0x8D705F2421331B6\"unlockedavailablecontainerfalsefalsecontainer156284424399505931Thu, 11 Jul 2019 11:24:04 GMT\"0x8D705F247EAD469\"unlockedavailablefalsefalsecontainer156284424434700474Thu, 11 Jul 2019 11:24:04 GMT\"0x8D705F248089EB0\"unlockedavailablefalsefalsecontainer156284426731006829156284426748506907Thu, 11 Jul 2019 11:24:27 GMT\"0x8D705F255CFA598\"unlockedavailablecontainerfalsefalsecontainer156284427818509952Thu, 11 Jul 2019 11:24:38 GMT\"0x8D705F25C240C85\"unlockedavailablefalsefalsecontainer156284430541700354156284430559604517Thu, 11 Jul 2019 11:25:05 GMT\"0x8D705F26C8A2E4C\"unlockedavailablecontainerfalsefalsecontainer156284433730400713156284433747804851Thu, 11 Jul 2019 11:25:37 GMT\"0x8D705F27F885D3F\"unlockedavailablecontainerfalsefalsecontainer156284445895904292Thu, 11 Jul 2019 11:27:39 GMT\"0x8D705F2C7F8056F\"unlockedavailablefalsefalsecontainer156284445914604100Thu, 11 Jul 2019 11:27:39 GMT\"0x8D705F2C7FDE7C4\"unlockedavailablefalsefalsecontainer156284446244004271Thu, 11 Jul 2019 11:27:42 GMT\"0x8D705F2CA18E03F\"unlockedavailablefalsefalsecontainer156284446270700857Thu, 11 Jul 2019 11:27:42 GMT\"0x8D705F2CA1F103D\"unlockedavailablefalsefalsecontainer156284448911802489156284448913409294Thu, 11 Jul 2019 11:28:09 GMT\"0x8D705F2D9DCCEC2\"unlockedavailablecontainerfalsefalsecontainer156284449339801728156284449343002489Thu, 11 Jul 2019 11:28:13 GMT\"0x8D705F2DC6CC285\"unlockedavailablecontainerfalsefalsecontainer156284454178007509Thu, 11 Jul 2019 11:29:02 GMT\"0x8D705F2F9630D03\"unlockedavailablefalsefalsecontainer156284454207900155Thu, 11 Jul 2019 11:29:02 GMT\"0x8D705F2F982D846\"unlockedavailablefalsefalsecontainer156284461217403747156284461237706784Thu, 11 Jul 2019 11:30:12 GMT\"0x8D705F32367289A\"unlockedavailablecontainerfalsefalsecontainer156292966448505363Fri, 12 Jul 2019 11:07:44 GMT\"0x8D706B92A753A14\"unlockedavailablefalsefalsecontainer156292966483502788Fri, 12 Jul 2019 11:07:44 GMT\"0x8D706B92A9152A7\"unlockedavailablefalsefalsecontainer156292970869405144156292970878603784Fri, 12 Jul 2019 11:08:28 GMT\"0x8D706B944BED538\"unlockedavailablecontainerfalsefalsecontainer156292977251501120Fri, 12 Jul 2019 11:09:32 GMT\"0x8D706B96ABB10CA\"unlockedavailablefalsefalsecontainer156292983554002414Fri, 12 Jul 2019 11:10:35 GMT\"0x8D706B990627385\"unlockedavailablefalsefalsecontainer156292983580205072Fri, 12 Jul 2019 11:10:35 GMT\"0x8D706B99077AD16\"unlockedavailablefalsefalsecontainer156292987915108863156292987925508706Fri, 12 Jul 2019 11:11:19 GMT\"0x8D706B9AA5A4A5D\"unlockedavailablecontainerfalsefalsecontainer156292994383603292Fri, 12 Jul 2019 11:12:23 GMT\"0x8D706B9D0D7B67B\"unlockedavailablefalsefalsecontainer156292997423501045Fri, 12 Jul 2019 11:12:54 GMT\"0x8D706B9E30D0032\"unlockedavailablefalsefalsecontainer156292997445707249Fri, 12 Jul 2019 11:12:54 GMT\"0x8D706B9E31E4155\"unlockedavailablefalsefalsecontainer156293000701000156Fri, 12 Jul 2019 11:13:27 GMT\"0x8D706B9F6976270\"unlockedavailablefalsefalsecontainer156293000728606346Fri, 12 Jul 2019 11:13:27 GMT\"0x8D706B9F6AD1143\"unlockedavailablefalsefalsecontainer156293001440905138156293001448609163Fri, 12 Jul 2019 11:13:34 GMT\"0x8D706B9FAF7111B\"unlockedavailablecontainerfalsefalsecontainer156293005092609913156293005102105199Fri, 12 Jul 2019 11:14:11 GMT\"0x8D706BA10BA60A6\"unlockedavailablecontainerfalsefalsecontainer156293011417108299Fri, 12 Jul 2019 11:15:14 GMT\"0x8D706BA365DFBC4\"unlockedavailablefalsefalsecontainer156293017762001298Fri, 12 Jul 2019 11:16:17 GMT\"0x8D706BA5C4ADB41\"unlockedavailablefalsefalsecontainer156293017790606289Fri, 12 Jul 2019 11:16:17 GMT\"0x8D706BA5C6014B7\"unlockedavailablefalsefalsecontainer156293022134705672156293022144202108Fri, 12 Jul 2019 11:17:01 GMT\"0x8D706BA764E9A15\"unlockedavailablecontainerfalsefalsecontainer156293022464506467Fri, 12 Jul 2019 11:17:04 GMT\"0x8D706BA785C001C\"unlockedavailablefalsefalsecontainer156293022495703958Fri, 12 Jul 2019 11:17:05 GMT\"0x8D706BA78742050\"unlockedavailablefalsefalsecontainer156293023457300186Fri, 12 Jul 2019 11:17:14 GMT\"0x8D706BA7E3FD76B\"unlockedavailablefalsefalsecontainer156293023483307149Fri, 12 Jul 2019 11:17:14 GMT\"0x8D706BA7E54BC2D\"unlockedavailablefalsefalsecontainer156293026916108343156293026926105547Fri, 12 Jul 2019 11:17:49 GMT\"0x8D706BA92D6123B\"unlockedavailablecontainerfalsefalsecontainer156293028815400463156293028829401546Fri, 12 Jul 2019 11:18:08 GMT\"0x8D706BA9E34931D\"unlockedavailablecontainerfalsefalsecontainer156293038358300268Fri, 12 Jul 2019 11:19:43 GMT\"0x8D706BAD719C312\"unlockedavailablefalsefalsecontainer156293038391604021Fri, 12 Jul 2019 11:19:44 GMT\"0x8D706BAD7371CFE\"unlockedavailablefalsefalsecontainer156293042970105796Fri, 12 Jul 2019 11:20:29 GMT\"0x8D706BAF28A71EC\"unlockedavailablefalsefalsecontainer156293042993404273Fri, 12 Jul 2019 11:20:30 GMT\"0x8D706BAF2A1C012\"unlockedavailablefalsefalsecontainer156293044722903990156293044740300505Fri, 12 Jul 2019 11:20:47 GMT\"0x8D706BAFD0E3D84\"unlockedavailablecontainerfalsefalsecontainer156293045335504387Fri, 12 Jul 2019 11:20:53 GMT\"0x8D706BB00B75DAB\"unlockedavailablefalsefalsecontainer156293045374805629Fri, 12 Jul 2019 11:20:53 GMT\"0x8D706BB00D4A4D2\"unlockedavailablefalsefalsecontainer156293046013700792Fri, 12 Jul 2019 11:21:00 GMT\"0x8D706BB04AB7630\"unlockedavailablefalsefalsecontainer156293046035302293Fri, 12 Jul 2019 11:21:00 GMT\"0x8D706BB04C3C9FC\"unlockedavailablefalsefalsecontainer156293047967609955156293047978506236Fri, 12 Jul 2019 11:21:19 GMT\"0x8D706BB10585745\"unlockedavailablecontainerfalsefalsecontainer156293050384300630Fri, 12 Jul 2019 11:21:44 GMT\"0x8D706BB1EC4CE4F\"unlockedavailablefalsefalsecontainer156293050417508576Fri, 12 Jul 2019 11:21:44 GMT\"0x8D706BB1EE22472\"unlockedavailablefalsefalsecontainer156293051194101359156293051209100777Fri, 12 Jul 2019 11:21:52 GMT\"0x8D706BB23985C8F\"unlockedavailablecontainerfalsefalsecontainer156293051568703485156293051586200262Fri, 12 Jul 2019 11:21:55 GMT\"0x8D706BB25D9DAAF\"unlockedavailablecontainerfalsefalsecontainer156293063270103668156293063287908935Fri, 12 Jul 2019 11:23:53 GMT\"0x8D706BB6B9985E1\"unlockedavailablecontainerfalsefalsecontainer156293064291406046Fri, 12 Jul 2019 11:24:03 GMT\"0x8D706BB71AA280E\"unlockedavailablefalsefalsecontainer156293064322203460Fri, 12 Jul 2019 11:24:03 GMT\"0x8D706BB71C9AF97\"unlockedavailablefalsefalsecontainer156293064745702385Fri, 12 Jul 2019 11:24:07 GMT\"0x8D706BB7463DC28\"unlockedavailablefalsefalsecontainer156293064777006959Fri, 12 Jul 2019 11:24:07 GMT\"0x8D706BB748337F4\"unlockedavailablefalsefalsecontainer156293070325109708Fri, 12 Jul 2019 11:25:03 GMT\"0x8D706BB9593D89D\"unlockedavailablefalsefalsecontainer156293070342409419Fri, 12 Jul 2019 11:25:03 GMT\"0x8D706BB9599400A\"unlockedavailablefalsefalsecontainer156293070567404785156293070590900869Fri, 12 Jul 2019 11:25:06 GMT\"0x8D706BB9726E0C6\"unlockedavailablecontainerfalsefalsecontainer156293071179809795156293071201705092Fri, 12 Jul 2019 11:25:12 GMT\"0x8D706BB9ACEE55A\"unlockedavailablecontainerfalsefalsecontainer156293073405901529156293073407507029Fri, 12 Jul 2019 11:25:34 GMT\"0x8D706BBA7DED020\"unlockedavailablecontainerfalsefalsecontainer156460854691908645Wed, 31 Jul 2019 21:29:07 GMT\"0x8D715FE1ED936B4\"unlockedavailablefalsefalsecontainer156460854807105196Wed, 31 Jul 2019 21:29:08 GMT\"0x8D715FE1F0FB054\"unlockedavailablefalsefalsecontainer156460854841000151Wed, 31 Jul 2019 21:29:08 GMT\"0x8D715FE1F436B8A\"unlockedavailablefalsefalsecontainer156460856011008189Wed, 31 Jul 2019 21:29:20 GMT\"0x8D715FE2657DC91\"unlockedavailablefalsefalsecontainer156460856060907319Wed, 31 Jul 2019 21:29:20 GMT\"0x8D715FE267C0CF9\"unlockedavailablefalsefalsecontainer156460856083700474Wed, 31 Jul 2019 21:29:20 GMT\"0x8D715FE26967BAF\"unlockedavailablefalsefalsecontainer156503746944404068Mon, 05 Aug 2019 20:37:49 GMT\"0x8D719E4C8435B25\"unlockedavailablefalsefalsecontainer156503747002001829Mon, 05 Aug 2019 20:37:50 GMT\"0x8D719E4C869D5E4\"unlockedavailablefalsefalsecontainer156503747024507716Mon, 05 Aug 2019 20:37:50 GMT\"0x8D719E4C883F803\"unlockedavailablefalsefalsecontainer156503747972605693Mon, 05 Aug 2019 20:37:59 GMT\"0x8D719E4CE2A70A6\"unlockedavailablefalsefalsecontainer156503747991407856Mon, 05 Aug 2019 20:38:00 GMT\"0x8D719E4CE4FB361\"unlockedavailablefalsefalsecontainer156503748015501129Mon, 05 Aug 2019 20:38:00 GMT\"0x8D719E4CE6B7AF2\"unlockedavailablefalsefalsecontainer156503752061108486156503752077407974Mon, 05 Aug 2019 20:38:40 GMT\"0x8D719E4E6A0D310\"unlockedavailablecontainerfalsefalsecontainer156503752128207841156503752143302735Mon, 05 Aug 2019 20:38:41 GMT\"0x8D719E4E705418F\"unlockedavailablecontainerfalsefalsecontainer156503787318805895Mon, 05 Aug 2019 20:44:33 GMT\"0x8D719E5B8E2CAC3\"unlockedavailablefalsefalsecontainer156503787369900058Mon, 05 Aug 2019 20:44:33 GMT\"0x8D719E5B902183A\"unlockedavailablefalsefalsecontainer156503787390805902Mon, 05 Aug 2019 20:44:34 GMT\"0x8D719E5B91EA611\"unlockedavailablefalsefalsecontainer156503788241707449Mon, 05 Aug 2019 20:44:42 GMT\"0x8D719E5BE36716E\"unlockedavailablefalsefalsecontainer156503788272802149Mon, 05 Aug 2019 20:44:42 GMT\"0x8D719E5BE60F728\"unlockedavailablefalsefalsecontainer156503788291402617Mon, 05 Aug 2019 20:44:43 GMT\"0x8D719E5BE7C2539\"unlockedavailablefalsefalsecontainer156503791834102387156503791909600275Mon, 05 Aug 2019 20:45:19 GMT\"0x8D719E5D40C17F0\"unlockedavailablecontainerfalsefalsecontainer156503792684106247156503792700801632Mon, 05 Aug 2019 20:45:27 GMT\"0x8D719E5D8C30422\"unlockedavailablecontainerfalsefalsecontainer156503803548708937Mon, 05 Aug 2019 20:47:15 GMT\"0x8D719E619715C5A\"unlockedavailablefalsefalsecontainer156503819339901219Mon, 05 Aug 2019 20:49:53 GMT\"0x8D719E677CB4923\"unlockedavailablefalsefalsecontainer156503819400601212Mon, 05 Aug 2019 20:49:54 GMT\"0x8D719E677E87359\"unlockedavailablefalsefalsecontainer156503819417404173Mon, 05 Aug 2019 20:49:54 GMT\"0x8D719E67801F366\"unlockedavailablefalsefalsecontainer156503820271506910Mon, 05 Aug 2019 20:50:03 GMT\"0x8D719E67D3D336F\"unlockedavailablefalsefalsecontainer156503820313808157Mon, 05 Aug 2019 20:50:03 GMT\"0x8D719E67D5A5DAA\"unlockedavailablefalsefalsecontainer156503820331306867Mon, 05 Aug 2019 20:50:03 GMT\"0x8D719E67D758BC2\"unlockedavailablefalsefalsecontainer156503820819302812Mon, 05 Aug 2019 20:50:08 GMT\"0x8D719E6805D7BC9\"unlockedavailablefalsefalsecontainer156503825497508447Mon, 05 Aug 2019 20:50:55 GMT\"0x8D719E69C66ABF5\"unlockedavailablefalsefalsecontainer156503825540204874Mon, 05 Aug 2019 20:50:55 GMT\"0x8D719E69C80EF6E\"unlockedavailablefalsefalsecontainer156503825557100798Mon, 05 Aug 2019 20:50:55 GMT\"0x8D719E69C9C1D79\"unlockedavailablefalsefalsecontainer156503826062509990Mon, 05 Aug 2019 20:51:00 GMT\"0x8D719E69FC19C50\"unlockedavailablefalsefalsecontainer156503826107104406Mon, 05 Aug 2019 20:51:01 GMT\"0x8D719E69FE297C8\"unlockedavailablefalsefalsecontainer156503826126102415Mon, 05 Aug 2019 20:51:01 GMT\"0x8D719E6A000DA7C\"unlockedavailablefalsefalsecontainer156503830110404350156503830125809505Mon, 05 Aug 2019 20:51:41 GMT\"0x8D719E6B7D595C5\"unlockedavailablecontainerfalsefalsecontainer156503835736407538156503835751702496Mon, 05 Aug 2019 20:52:37 GMT\"0x8D719E6D95E7113\"unlockedavailablecontainerfalsefalsecontainer156503929590703199Mon, 05 Aug 2019 21:08:16 GMT\"0x8D719E908EEA45F\"unlockedavailablefalsefalsecontainer156503929651207798Mon, 05 Aug 2019 21:08:16 GMT\"0x8D719E9090E8E28\"unlockedavailablefalsefalsecontainer156503929676007669Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E9094B9EBC\"unlockedavailablefalsefalsecontainer156503929685103813Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E9094C302C\"unlockedavailablefalsefalsecontainer156503929713809956Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E9097831BF\"unlockedavailablefalsefalsecontainer156503929739401170Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E90993D854\"unlockedavailablefalsefalsecontainer156503934126705532156503934142009404Mon, 05 Aug 2019 21:09:01 GMT\"0x8D719E923D19FE1\"unlockedavailablecontainerfalsefalsecontainer156503934355603157156503934373709410Mon, 05 Aug 2019 21:09:03 GMT\"0x8D719E92532F63E\"unlockedavailablecontainerfalsefalsecontainer156599004051208749Fri, 16 Aug 2019 21:14:02 GMT\"0x8D7228EA98E15BF\"unlockedavailablefalsefalsecontainer156599004225905064Fri, 16 Aug 2019 21:14:02 GMT\"0x8D7228EA9C50A58\"unlockedavailablefalsefalsecontainer156599004262703394Fri, 16 Aug 2019 21:14:02 GMT\"0x8D7228EA9FDFEF0\"unlockedavailablefalsefalsecontainer156599012082103816156599012110708442Fri, 16 Aug 2019 21:15:21 GMT\"0x8D7228ED8C3DA39\"unlockedavailablecontainerfalsefalsecontainer156599201742300370Fri, 16 Aug 2019 21:46:57 GMT\"0x8D722934324D879\"unlockedavailablefalsefalsecontainer156599201790109005Fri, 16 Aug 2019 21:46:58 GMT\"0x8D7229343400698\"unlockedavailablefalsefalsecontainer156599201933008941Fri, 16 Aug 2019 21:46:59 GMT\"0x8D722934419C57C\"unlockedavailablefalsefalsecontainer156599370257801378Fri, 16 Aug 2019 22:15:02 GMT\"0x8D722972F94E34D\"unlockedavailablefalsefalsecontainer156599370308907910Fri, 16 Aug 2019 22:15:03 GMT\"0x8D722972FB31F29\"unlockedavailablefalsefalsecontainer156599382195907574Fri, 16 Aug 2019 22:17:02 GMT\"0x8D7229776BF0FC2\"unlockedavailablefalsefalsecontainer156599382273206552Fri, 16 Aug 2019 22:17:02 GMT\"0x8D722977719F3F2\"unlockedavailablefalsefalsecontainer156599382307509358Fri, 16 Aug 2019 22:17:03 GMT\"0x8D72297774D8FAD\"unlockedavailablefalsefalsecontainer156599390129703791156599390158903067Fri, 16 Aug 2019 22:18:21 GMT\"0x8D72297A6190524\"unlockedavailablecontainerfalsefalsecontainer156599400822007973Fri, 16 Aug 2019 22:20:08 GMT\"0x8D72297E5A89960\"unlockedavailablefalsefalsecontainer156599408915609483Fri, 16 Aug 2019 22:21:29 GMT\"0x8D7229815FD0AEB\"unlockedavailablefalsefalsecontainer156599408965608974Fri, 16 Aug 2019 22:21:29 GMT\"0x8D7229816320E91\"unlockedavailablefalsefalsecontainer156599408998904680Fri, 16 Aug 2019 22:21:30 GMT\"0x8D72298166554B9\"unlockedavailablefalsefalsecontainer156599416605205577156599416635103543Fri, 16 Aug 2019 22:22:46 GMT\"0x8D7229843E7C0CC\"unlockedavailablecontainerfalsefalsecontainer156610607679608964Sun, 18 Aug 2019 05:27:57 GMT\"0x8D7239CD3D588A6\"unlockedavailablefalsefalsecontainer156610607728107708Sun, 18 Aug 2019 05:27:57 GMT\"0x8D7239CD3F17A10\"unlockedavailablefalsefalsecontainer156610607958109853Sun, 18 Aug 2019 05:27:59 GMT\"0x8D7239CD5501036\"unlockedavailablefalsefalsecontainer156610618636503390Sun, 18 Aug 2019 05:29:46 GMT\"0x8D7239D151B64E4\"unlockedavailablefalsefalsecontainer156610618677605352Sun, 18 Aug 2019 05:29:46 GMT\"0x8D7239D15344898\"unlockedavailablefalsefalsecontainer156610619935206741Sun, 18 Aug 2019 05:29:59 GMT\"0x8D7239D1CB3868B\"unlockedavailablefalsefalsecontainer156610629117803734Sun, 18 Aug 2019 05:31:31 GMT\"0x8D7239D53965767\"unlockedavailablefalsefalsecontainer156610629161704240Sun, 18 Aug 2019 05:31:31 GMT\"0x8D7239D53B1D38F\"unlockedavailablefalsefalsecontainer156610721573404947Sun, 18 Aug 2019 05:46:56 GMT\"0x8D7239F7AB6420A\"unlockedavailablefalsefalsecontainer156610721625506535Sun, 18 Aug 2019 05:46:56 GMT\"0x8D7239F7AD2CFE5\"unlockedavailablefalsefalsecontainer156610732976005242Sun, 18 Aug 2019 05:48:50 GMT\"0x8D7239FBEAE6F53\"unlockedavailablefalsefalsecontainer156610733028508274Sun, 18 Aug 2019 05:48:50 GMT\"0x8D7239FBECAAF00\"unlockedavailablefalsefalsefinalnewcontainerWed, 03 Jul 2019 07:49:29 GMT\"0x8D6FF8AFAE5B844\"unlockedavailablefalsefalsefinalnewcontainer100Wed, 03 Jul 2019 17:02:54 GMT\"0x8D6FFD84A9464B7\"unlockedavailablefalsefalsefinalnewcontainer369Wed, 03 Jul 2019 22:55:32 GMT\"0x8D700098D6A36F0\"unlockedavailablefalsefalsefinalnewcontainer379Wed, 03 Jul 2019 22:56:45 GMT\"0x8D70009B940AA8C\"unlockedavailablefalsefalsefinalnewcontainer396Tue, 06 Aug 2019 18:24:47 GMT\"0x8D71A9B5C9B3BF4\"unlockedavailablefalsefalsefinalnewcontainer396-firefoxTue, 06 Aug 2019 18:43:29 GMT\"0x8D71A9DF9786AFC\"unlockedavailablefalsefalsefinalnewcontainer399Wed, 03 Jul 2019 22:57:16 GMT\"0x8D70009CB47BD23\"unlockedavailablefalsefalsefinalnewcontainer6Wed, 03 Jul 2019 17:02:41 GMT\"0x8D6FFD8427A75EB\"unlockedavailablefalsefalseharsha-newcontainerWed, 03 Jul 2019 07:25:49 GMT\"0x8D6FF87AC203A00\"unlockedavailablefalsefalseharsha-newcontainer1562138451655Wed, 03 Jul 2019 07:20:51 GMT\"0x8D6FF86FACA31E9\"unlockedavailablefalsefalseharsha-newcontainer1562138489155Wed, 03 Jul 2019 07:21:29 GMT\"0x8D6FF871146DCDB\"unlockedavailablefalsefalseharsha-newcontainer2Wed, 03 Jul 2019 07:26:18 GMT\"0x8D6FF87BD75BA3D\"unlockedavailablefalsefalsenewcontainer-h-browserWed, 07 Aug 2019 01:10:56 GMT\"0x8D71AD419C3C90C\"unlockedavailablefalsefalsenewcontainer1558563421778Wed, 22 May 2019 22:16:04 GMT\"0x8D6DF031477DC5B\"unlockedavailablefalsefalsenewcontainer1558563547313Wed, 22 May 2019 22:18:09 GMT\"0x8D6DF035F60E0EB\"unlockedavailablefalsefalsenewcontainer1558563621011Wed, 22 May 2019 22:19:23 GMT\"0x8D6DF038B5109E0\"unlockedavailablefalsefalsenewcontainer1558563665188Wed, 22 May 2019 22:20:07 GMT\"0x8D6DF03A59C822A\"unlockedavailablefalsefalsenewcontainer1558563784334Wed, 22 May 2019 22:22:06 GMT\"0x8D6DF03ECC69AC6\"unlockedavailablefalsefalsenewcontainer1558563920843Wed, 22 May 2019 22:24:23 GMT\"0x8D6DF043E0252F0\"unlockedavailablefalsefalsenewcontainer1558563958329Wed, 22 May 2019 22:25:00 GMT\"0x8D6DF0454524392\"unlockedavailablefalsefalsenewcontainer1558564002274Wed, 22 May 2019 22:25:44 GMT\"0x8D6DF046E8C13B4\"unlockedavailablefalsefalsenewcontainer1558566428843Wed, 22 May 2019 23:06:11 GMT\"0x8D6DF0A14E48745\"unlockedavailablefalsefalsenewcontainer1558566502944Wed, 22 May 2019 23:07:25 GMT\"0x8D6DF0A41171278\"unlockedavailablefalsefalsenewcontainer1558567561267Wed, 22 May 2019 23:25:03 GMT\"0x8D6DF0CB7E075CA\"unlockedavailablefalsefalsenewcontainer1558568435670Wed, 22 May 2019 23:39:38 GMT\"0x8D6DF0EC112B3D1\"unlockedavailablefalsefalsenewcontainer1558568652495Wed, 22 May 2019 23:43:14 GMT\"0x8D6DF0F424E081B\"unlockedavailablefalsefalsenewcontainer1558568745506Wed, 22 May 2019 23:44:47 GMT\"0x8D6DF0F79C51DAC\"unlockedavailablefalsefalsenewcontainer1558569392955Wed, 22 May 2019 23:55:35 GMT\"0x8D6DF10FBAA7A4A\"unlockedavailablefalsefalsenewcontainer1558569468574Wed, 22 May 2019 23:56:51 GMT\"0x8D6DF1128BABAB9\"unlockedavailablefalsefalsenewcontainer1558569536456Wed, 22 May 2019 23:57:58 GMT\"0x8D6DF11512FB4E9\"unlockedavailablefalsefalsenewcontainer1558569685779Thu, 23 May 2019 00:00:28 GMT\"0x8D6DF11AA31B593\"unlockedavailablefalsefalsenewcontainer1558569823106Thu, 23 May 2019 00:02:45 GMT\"0x8D6DF11FC0967AF\"unlockedavailablefalsefalsenewcontainer1558569889486Thu, 23 May 2019 00:03:51 GMT\"0x8D6DF12239C4D79\"unlockedavailablefalsefalsenewcontainer1558569945712Thu, 23 May 2019 00:04:48 GMT\"0x8D6DF12451A16B8\"unlockedavailablefalsefalsenewcontainer1558569987205Thu, 23 May 2019 00:05:29 GMT\"0x8D6DF125DD9CF62\"unlockedavailablefalsefalsenewcontainer1558571694791Thu, 23 May 2019 00:33:57 GMT\"0x8D6DF1657AAAB3A\"unlockedavailablefalsefalsenewcontainer1558571988171Thu, 23 May 2019 00:38:50 GMT\"0x8D6DF17069448C5\"unlockedavailablefalsefalsenewcontainer1558572038761Thu, 23 May 2019 00:39:41 GMT\"0x8D6DF172496D021\"unlockedavailablefalsefalsenewcontainer1558572092088Thu, 23 May 2019 00:40:34 GMT\"0x8D6DF17445F6287\"unlockedavailablefalsefalsenewcontainer1558572190452Thu, 23 May 2019 00:42:12 GMT\"0x8D6DF177EFF670F\"unlockedavailablefalsefalsenewcontainer1558572372101Thu, 23 May 2019 00:45:14 GMT\"0x8D6DF17EB453B55\"unlockedavailablefalsefalsenewcontainer1559004365932Tue, 28 May 2019 00:46:06 GMT\"0x8D6E305DE333510\"unlockedavailablefalsefalsenewcontainer1559004757976Tue, 28 May 2019 00:52:38 GMT\"0x8D6E306C7E14974\"unlockedavailablefalsefalsenewcontainer1559342089338Fri, 31 May 2019 22:34:49 GMT\"0x8D6E6183133AB7B\"unlockedavailablefalsefalsenewcontainer1559347780600Sat, 01 Jun 2019 00:09:41 GMT\"0x8D6E625717AAA2A\"unlockedavailablefalsefalsenewcontainer1560993322689Thu, 20 Jun 2019 01:15:23 GMT\"0x8D6F51CC4F2F4D3\"unlockedavailablefalsefalsenewcontainer1561069143536Thu, 20 Jun 2019 22:19:03 GMT\"0x8D6F5CD4DA84818\"unlockedavailablefalsefalsenewcontainer1561073367239Thu, 20 Jun 2019 23:29:27 GMT\"0x8D6F5D723155163\"unlockedavailablefalsefalsenewcontainer1561073421471Thu, 20 Jun 2019 23:30:21 GMT\"0x8D6F5D743688390\"unlockedavailablefalsefalsenewcontainer1561670320694Thu, 27 Jun 2019 21:18:41 GMT\"0x8D6FB45072AF76D\"unlockedavailablefalsefalsenewcontainer1561670948627Thu, 27 Jun 2019 21:29:09 GMT\"0x8D6FB467D74DB68\"unlockedavailablefalsefalsenewcontainer1561675516515Thu, 27 Jun 2019 22:45:16 GMT\"0x8D6FB512013C198\"unlockedavailablefalsefalsenewcontainer1561756102856Fri, 28 Jun 2019 21:08:23 GMT\"0x8D6FC0CC15F0C8A\"unlockedavailablefalsefalsenewcontainer1562127777271Wed, 03 Jul 2019 04:22:59 GMT\"0x8D6FF6E2168A8B6\"unlockedavailablefalsefalsenewcontainer1562127959285Wed, 03 Jul 2019 04:26:01 GMT\"0x8D6FF6E8DE8D608\"unlockedavailablefalsefalsenewcontainer1562137890899Wed, 03 Jul 2019 07:11:31 GMT\"0x8D6FF85ACBF4A09\"unlockedavailablefalsefalsenewcontainer1562138027884Wed, 03 Jul 2019 07:13:47 GMT\"0x8D6FF85FE3053B2\"unlockedavailablefalsefalsenewcontainer1562138028864Wed, 03 Jul 2019 07:13:48 GMT\"0x8D6FF85FEC55B9D\"unlockedavailablefalsefalsenewcontainer1562138042151Wed, 03 Jul 2019 07:14:02 GMT\"0x8D6FF8606DC1EF6\"unlockedavailablefalsefalsenewcontainer1562138162811Wed, 03 Jul 2019 07:16:03 GMT\"0x8D6FF864ECE5F2E\"unlockedavailablefalsefalsenewcontainer1562138197567Wed, 03 Jul 2019 07:16:37 GMT\"0x8D6FF8663564B05\"unlockedavailablefalsefalsenewcontainer1562138333292Wed, 03 Jul 2019 07:18:53 GMT\"0x8D6FF86B43E2C0F\"unlockedavailablefalsefalsenewcontainer1562138334169Wed, 03 Jul 2019 07:18:54 GMT\"0x8D6FF86B4C17D69\"unlockedavailablefalsefalsenewcontainer1562138334937Wed, 03 Jul 2019 07:18:55 GMT\"0x8D6FF86B53710AF\"unlockedavailablefalsefalsenewcontainer1562138436092Wed, 03 Jul 2019 07:20:36 GMT\"0x8D6FF86F1AA677A\"unlockedavailablefalsefalsenewcontainer1562180517245Wed, 03 Jul 2019 19:02:15 GMT\"0x8D6FFE8F6606560\"unlockedavailablefalsefalsenewcontainer1562180788226Wed, 03 Jul 2019 19:06:33 GMT\"0x8D6FFE9909AFF1F\"unlockedavailablefalsefalsenewcontainer1562193750784Wed, 03 Jul 2019 22:42:31 GMT\"0x8D70007BBD01C8F\"unlockedavailablefalsefalsenewcontainer1565116364509Tue, 06 Aug 2019 18:32:45 GMT\"0x8D71A9C79DE3813\"unlockedavailablefalsefalsenewcontainer1565117697695Tue, 06 Aug 2019 18:55:00 GMT\"0x8D71A9F9555EF17\"unlockedavailablefalsefalsenewcontainer1565126045623Tue, 06 Aug 2019 21:14:10 GMT\"0x8D71AB306AD6806\"unlockedavailablefalsefalse", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:36 GMT", + "date": "Sun, 18 Aug 2019 05:49:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f309059-301e-00a5-52b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63354-601e-003e-7288-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_setproperties.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_setproperties.json index 7eabf010d79f..8aabef77d8a9 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_setproperties.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_setproperties.json @@ -11,12 +11,12 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,PUT,OPTIONS***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888true7false", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:43 GMT", + "date": "Sun, 18 Aug 2019 05:49:14 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f309abf-301e-00a5-53b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63860-601e-003e-3b88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { @@ -30,10 +30,10 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f309b04-301e-00a5-0eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63874-601e-003e-4b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:44 GMT", + "date": "Sun, 18 Aug 2019 05:49:15 GMT", "content-length": "0" } }, @@ -48,12 +48,12 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,PUT,OPTIONS***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888true7false", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:49 GMT", + "date": "Sun, 18 Aug 2019 05:49:20 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30a31f-301e-00a5-06b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63c91-601e-003e-5188-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.json index 5fe7110fe4cc..bb402169529f 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x0", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x0", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:38 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:38 GMT", + "date": "Sun, 18 Aug 2019 05:49:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD6277E91\"", - "x-ms-request-id": "9f3091fd-301e-00a5-41b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCA06193E\"", + "x-ms-request-id": "e4d6348b-601e-003e-7388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x1", "query": { "restype": "container" }, @@ -29,18 +29,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:38 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:38 GMT", + "date": "Sun, 18 Aug 2019 05:49:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD63F2986\"", - "x-ms-request-id": "9f309234-301e-00a5-69b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCA1D4EF1\"", + "x-ms-request-id": "e4d6349a-601e-003e-7f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x2", "query": { "restype": "container" }, @@ -48,18 +48,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:38 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:38 GMT", + "date": "Sun, 18 Aug 2019 05:49:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD65722A5\"", - "x-ms-request-id": "9f309271-301e-00a5-1bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCA34D2D3\"", + "x-ms-request-id": "e4d634b3-601e-003e-1388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x3", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x3", "query": { "restype": "container" }, @@ -67,12 +67,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:38 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:39 GMT", + "date": "Sun, 18 Aug 2019 05:49:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD66ECD9A\"", - "x-ms-request-id": "9f3092b9-301e-00a5-54b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCA4C2F9D\"", + "x-ms-request-id": "e4d634e0-601e-003e-3c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -82,23 +82,23 @@ "query": { "comp": "list", "include": "metadata", - "prefix": "container156150831850403360" + "prefix": "container156610734913209153" }, "requestBody": null, "status": 200, - "response": "container156150831850403360container156150831850403360x0Wed, 26 Jun 2019 00:18:38 GMT\"0x8D6F9CBD6277E91\"unlockedavailablefalsefalsevalcontainer156150831850403360x1Wed, 26 Jun 2019 00:18:38 GMT\"0x8D6F9CBD63F2986\"unlockedavailablefalsefalsevalcontainer156150831850403360x2Wed, 26 Jun 2019 00:18:38 GMT\"0x8D6F9CBD65722A5\"unlockedavailablefalsefalsevalcontainer156150831850403360x3Wed, 26 Jun 2019 00:18:39 GMT\"0x8D6F9CBD66ECD9A\"unlockedavailablefalsefalseval", + "response": "container156610734913209153container156610734913209153x0Sun, 18 Aug 2019 05:49:09 GMT\"0x8D7239FCA06193E\"unlockedavailablefalsefalsevalcontainer156610734913209153x1Sun, 18 Aug 2019 05:49:09 GMT\"0x8D7239FCA1D4EF1\"unlockedavailablefalsefalsevalcontainer156610734913209153x2Sun, 18 Aug 2019 05:49:09 GMT\"0x8D7239FCA34D2D3\"unlockedavailablefalsefalsevalcontainer156610734913209153x3Sun, 18 Aug 2019 05:49:09 GMT\"0x8D7239FCA4C2F9D\"unlockedavailablefalsefalseval", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:38 GMT", + "date": "Sun, 18 Aug 2019 05:49:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30931b-301e-00a5-2ab4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d634f2-601e-003e-4c88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x0", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x0", "query": { "restype": "container" }, @@ -106,16 +106,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f309363-301e-00a5-69b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63505-601e-003e-5e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:38 GMT", + "date": "Sun, 18 Aug 2019 05:49:09 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x1", "query": { "restype": "container" }, @@ -123,16 +123,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3093b6-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6352a-601e-003e-7e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:39 GMT", + "date": "Sun, 18 Aug 2019 05:49:09 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x2", "query": { "restype": "container" }, @@ -140,16 +140,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3093fe-301e-00a5-70b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63548-601e-003e-1b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:39 GMT", + "date": "Sun, 18 Aug 2019 05:49:09 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831850403360x3", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610734913209153x3", "query": { "restype": "container" }, @@ -157,15 +157,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30942b-301e-00a5-1bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6356a-601e-003e-3a88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:39 GMT", + "date": "Sun, 18 Aug 2019 05:49:09 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831850403360" + "container": "container156610734913209153" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.json index 4afc535e34b3..f431c5239871 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x0", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x0", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:41 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:11 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:12 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD857E341\"", - "x-ms-request-id": "9f3097f3-301e-00a5-5cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCC398BD3\"", + "x-ms-request-id": "e4d636e7-601e-003e-7b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x1", "query": { "restype": "container" }, @@ -29,18 +29,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:42 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:13 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:13 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD86F671F\"", - "x-ms-request-id": "9f309839-301e-00a5-1ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCC50E89D\"", + "x-ms-request-id": "e4d63700-601e-003e-1088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x2", "query": { "restype": "container" }, @@ -48,18 +48,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:42 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:13 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:13 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD886C3E2\"", - "x-ms-request-id": "9f30986b-301e-00a5-47b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCC69F365\"", + "x-ms-request-id": "e4d6371d-601e-003e-2a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x3", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x3", "query": { "restype": "container" }, @@ -67,12 +67,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:42 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:13 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:13 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD89DF996\"", - "x-ms-request-id": "9f3098a6-301e-00a5-7ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCC8213A3\"", + "x-ms-request-id": "e4d63746-601e-003e-4b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -83,18 +83,18 @@ "comp": "list", "include": "metadata", "maxresults": "2", - "prefix": "container156150832218003886" + "prefix": "container156610735282405099" }, "requestBody": null, "status": 200, - "response": "container1561508322180038862container156150832218003886x0Wed, 26 Jun 2019 00:18:42 GMT\"0x8D6F9CBD857E341\"unlockedavailablefalsefalsevalcontainer156150832218003886x1Wed, 26 Jun 2019 00:18:42 GMT\"0x8D6F9CBD86F671F\"unlockedavailablefalsefalseval/fakestorageaccount/container156150832218003886x2", + "response": "container1566107352824050992container156610735282405099x0Sun, 18 Aug 2019 05:49:12 GMT\"0x8D7239FCC398BD3\"unlockedavailablefalsefalsevalcontainer156610735282405099x1Sun, 18 Aug 2019 05:49:13 GMT\"0x8D7239FCC50E89D\"unlockedavailablefalsefalseval/fakestorageaccount/container156610735282405099x2", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:13 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3098e8-301e-00a5-2fb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d6376b-601e-003e-6888-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { @@ -103,25 +103,25 @@ "query": { "comp": "list", "include": "metadata", - "marker": "/fakestorageaccount/container156150832218003886x2", + "marker": "/fakestorageaccount/container156610735282405099x2", "maxresults": "2", - "prefix": "container156150832218003886" + "prefix": "container156610735282405099" }, "requestBody": null, "status": 200, - "response": "container156150832218003886/fakestorageaccount/container156150832218003886x22container156150832218003886x2Wed, 26 Jun 2019 00:18:42 GMT\"0x8D6F9CBD886C3E2\"unlockedavailablefalsefalsevalcontainer156150832218003886x3Wed, 26 Jun 2019 00:18:42 GMT\"0x8D6F9CBD89DF996\"unlockedavailablefalsefalseval", + "response": "container156610735282405099/fakestorageaccount/container156610735282405099x22container156610735282405099x2Sun, 18 Aug 2019 05:49:13 GMT\"0x8D7239FCC69F365\"unlockedavailablefalsefalsevalcontainer156610735282405099x3Sun, 18 Aug 2019 05:49:13 GMT\"0x8D7239FCC8213A3\"unlockedavailablefalsefalseval", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:13 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30991f-301e-00a5-62b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63792-601e-003e-0988-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x0", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x0", "query": { "restype": "container" }, @@ -129,16 +129,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30996c-301e-00a5-20b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d637bd-601e-003e-3088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:13 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x1", "query": { "restype": "container" }, @@ -146,16 +146,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3099a3-301e-00a5-52b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d637d2-601e-003e-4288-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:42 GMT", + "date": "Sun, 18 Aug 2019 05:49:14 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x2", "query": { "restype": "container" }, @@ -163,16 +163,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3099f3-301e-00a5-1ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d637f0-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:43 GMT", + "date": "Sun, 18 Aug 2019 05:49:14 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832218003886x3", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735282405099x3", "query": { "restype": "container" }, @@ -180,15 +180,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f309a48-301e-00a5-66b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63822-601e-003e-0488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:43 GMT", + "date": "Sun, 18 Aug 2019 05:49:14 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150832218003886" + "container": "container156610735282405099" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.json index 48ea45386542..74c302792753 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x0", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x0", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:40 GMT", + "date": "Sun, 18 Aug 2019 05:49:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD76EB88F\"", - "x-ms-request-id": "9f309573-301e-00a5-3ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCB51E81D\"", + "x-ms-request-id": "e4d6360c-601e-003e-3e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x1", "query": { "restype": "container" }, @@ -29,18 +29,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:40 GMT", + "date": "Sun, 18 Aug 2019 05:49:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD786155F\"", - "x-ms-request-id": "9f3095ae-301e-00a5-6cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCB696BFA\"", + "x-ms-request-id": "e4d63625-601e-003e-5588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x2", "query": { "restype": "container" }, @@ -48,18 +48,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:41 GMT", + "date": "Sun, 18 Aug 2019 05:49:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD79D722F\"", - "x-ms-request-id": "9f3095ed-301e-00a5-21b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCB80537F\"", + "x-ms-request-id": "e4d6363f-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x3", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x3", "query": { "restype": "container" }, @@ -67,12 +67,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:41 GMT", + "date": "Sun, 18 Aug 2019 05:49:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD7B4CF04\"", - "x-ms-request-id": "9f309641-301e-00a5-6cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCB97B049\"", + "x-ms-request-id": "e4d63653-601e-003e-7d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -83,18 +83,18 @@ "comp": "list", "include": "metadata", "maxresults": "2", - "prefix": "container156150832065402456" + "prefix": "container156610735130504038" }, "requestBody": null, "status": 200, - "response": "container1561508320654024562container156150832065402456x0Wed, 26 Jun 2019 00:18:40 GMT\"0x8D6F9CBD76EB88F\"unlockedavailablefalsefalsevalcontainer156150832065402456x1Wed, 26 Jun 2019 00:18:40 GMT\"0x8D6F9CBD786155F\"unlockedavailablefalsefalseval/fakestorageaccount/container156150832065402456x2", + "response": "container1566107351305040382container156610735130504038x0Sun, 18 Aug 2019 05:49:11 GMT\"0x8D7239FCB51E81D\"unlockedavailablefalsefalsevalcontainer156610735130504038x1Sun, 18 Aug 2019 05:49:11 GMT\"0x8D7239FCB696BFA\"unlockedavailablefalsefalseval/fakestorageaccount/container156610735130504038x2", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:40 GMT", + "date": "Sun, 18 Aug 2019 05:49:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f309681-301e-00a5-1db4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d6367a-601e-003e-1d88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { @@ -103,25 +103,25 @@ "query": { "comp": "list", "include": "metadata", - "marker": "/fakestorageaccount/container156150832065402456x2", + "marker": "/fakestorageaccount/container156610735130504038x2", "maxresults": "2", - "prefix": "container156150832065402456" + "prefix": "container156610735130504038" }, "requestBody": null, "status": 200, - "response": "container156150832065402456/fakestorageaccount/container156150832065402456x22container156150832065402456x2Wed, 26 Jun 2019 00:18:41 GMT\"0x8D6F9CBD79D722F\"unlockedavailablefalsefalsevalcontainer156150832065402456x3Wed, 26 Jun 2019 00:18:41 GMT\"0x8D6F9CBD7B4CF04\"unlockedavailablefalsefalseval", + "response": "container156610735130504038/fakestorageaccount/container156610735130504038x22container156610735130504038x2Sun, 18 Aug 2019 05:49:11 GMT\"0x8D7239FCB80537F\"unlockedavailablefalsefalsevalcontainer156610735130504038x3Sun, 18 Aug 2019 05:49:11 GMT\"0x8D7239FCB97B049\"unlockedavailablefalsefalseval", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:41 GMT", + "date": "Sun, 18 Aug 2019 05:49:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3096a9-301e-00a5-3eb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d6368d-601e-003e-2f88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x0", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x0", "query": { "restype": "container" }, @@ -129,16 +129,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3096ea-301e-00a5-70b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6369a-601e-003e-3a88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:41 GMT", + "date": "Sun, 18 Aug 2019 05:49:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x1", "query": { "restype": "container" }, @@ -146,16 +146,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f309727-301e-00a5-28b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d636b3-601e-003e-4c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:41 GMT", + "date": "Sun, 18 Aug 2019 05:49:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x2", "query": { "restype": "container" }, @@ -163,16 +163,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30976b-301e-00a5-64b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d636c6-601e-003e-5d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:41 GMT", + "date": "Sun, 18 Aug 2019 05:49:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150832065402456x3", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735130504038x3", "query": { "restype": "container" }, @@ -180,15 +180,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3097bd-301e-00a5-2db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d636db-601e-003e-6f88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:41 GMT", + "date": "Sun, 18 Aug 2019 05:49:11 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150832065402456" + "container": "container156610735130504038" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.json b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.json index aed8485e0290..e4909e79574e 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.json +++ b/sdk/storage/storage-blob/recordings/browsers/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831989009376x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735052905486x1", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:39 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:39 GMT", + "date": "Sun, 18 Aug 2019 05:49:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD6FA84FE\"", - "x-ms-request-id": "9f309466-301e-00a5-4db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCADB6A28\"", + "x-ms-request-id": "e4d63584-601e-003e-5088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831989009376x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735052905486x2", "query": { "restype": "container" }, @@ -29,12 +29,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:39 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:40 GMT", + "date": "Sun, 18 Aug 2019 05:49:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBD711E1C5\"", - "x-ms-request-id": "9f3094a0-301e-00a5-80b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FCAF36353\"", + "x-ms-request-id": "e4d635a2-601e-003e-6888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -44,23 +44,23 @@ "query": { "comp": "list", "include": "metadata", - "prefix": "container156150831989009376" + "prefix": "container156610735052905486" }, "requestBody": null, "status": 200, - "response": "container156150831989009376container156150831989009376x1Wed, 26 Jun 2019 00:18:39 GMT\"0x8D6F9CBD6FA84FE\"unlockedavailablefalsefalsevalcontainer156150831989009376x2Wed, 26 Jun 2019 00:18:40 GMT\"0x8D6F9CBD711E1C5\"unlockedavailablefalsefalseval", + "response": "container156610735052905486container156610735052905486x1Sun, 18 Aug 2019 05:49:10 GMT\"0x8D7239FCADB6A28\"unlockedavailablefalsefalsevalcontainer156610735052905486x2Sun, 18 Aug 2019 05:49:10 GMT\"0x8D7239FCAF36353\"unlockedavailablefalsefalseval", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:39 GMT", + "date": "Sun, 18 Aug 2019 05:49:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3094dd-301e-00a5-30b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d635c0-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831989009376x1", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735052905486x1", "query": { "restype": "container" }, @@ -68,16 +68,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30950f-301e-00a5-5db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d635d4-601e-003e-1388-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:40 GMT", + "date": "Sun, 18 Aug 2019 05:49:10 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150831989009376x2", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610735052905486x2", "query": { "restype": "container" }, @@ -85,15 +85,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30953f-301e-00a5-08b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d635ed-601e-003e-2788-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:40 GMT", + "date": "Sun, 18 Aug 2019 05:49:10 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150831989009376" + "container": "container156610735052905486" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_can_be_created_with_a_sas_connection_string.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_can_be_created_with_a_sas_connection_string.json index ea59a097a8fe..fc79b7daab64 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_can_be_created_with_a_sas_connection_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_can_be_created_with_a_sas_connection_string.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899130406630", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736960300781", "query": { "restype": "container" }, @@ -10,62 +10,63 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:10 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:11 GMT", + "date": "Sun, 18 Aug 2019 05:49:29 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:29 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C490415BE\"", - "x-ms-request-id": "bc484afa-901e-0046-1345-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD639591C\"", + "x-ms-request-id": "e4d643b2-601e-003e-1f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899130406630/blob156464899145205179", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736960300781/blob156610736975308229", "query": {}, - "requestBody": "randomstring156464899145303081", + "requestBody": "randomstring156610736975508096", "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:10 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:11 GMT", + "date": "Sun, 18 Aug 2019 05:49:29 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:29 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "content-md5": "vYY1dApFp0DW0a1stMDv1g==", - "etag": "\"0x8D7165C491B2502\"", - "x-ms-request-id": "bc484b46-901e-0046-5845-48a407000000", - "x-ms-version": "2018-03-28", + "content-md5": "RmZpdzhvhOYtLjuYswl6aw==", + "etag": "\"0x8D7239FD6512881\"", + "x-ms-request-id": "e4d643cc-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899130406630/blob156464899145205179", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736960300781/blob156610736975308229", "query": {}, "requestBody": null, "status": 200, - "response": "randomstring156464899145303081", + "response": "randomstring156610736975508096", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Thu, 01 Aug 2019 08:43:11 GMT", - "content-md5": "vYY1dApFp0DW0a1stMDv1g==", + "date": "Sun, 18 Aug 2019 05:49:29 GMT", + "content-md5": "RmZpdzhvhOYtLjuYswl6aw==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "30", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Thu, 01 Aug 2019 08:43:11 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:11 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:29 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:29 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C491B2502\"", + "etag": "\"0x8D7239FD6512881\"", "content-type": "application/octet-stream", - "x-ms-request-id": "bc484b86-901e-0046-1145-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d643e9-601e-003e-5088-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899130406630", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736960300781", "query": { "restype": "container" }, @@ -73,17 +74,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484bcf-901e-0046-5345-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d643fd-601e-003e-6388-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:11 GMT", + "date": "Sun, 18 Aug 2019 05:49:30 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899130406630", - "blob": "blob156464899145205179", - "randomstring": "randomstring156464899145303081" + "container": "container156610736960300781", + "blob": "blob156610736975308229", + "randomstring": "randomstring156610736975508096" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist.json index d450e394fd59..ef0cb60cc7da 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833552205374", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736660009014", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:55 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:55 GMT", + "date": "Sun, 18 Aug 2019 05:49:26 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:26 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE04B799D\"", - "x-ms-request-id": "9f30aa47-301e-00a5-19b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD46FB763\"", + "x-ms-request-id": "e4d64164-601e-003e-1a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833552205374/blob156150833567406209", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736660009014/blob156610736675404848", "query": { "blockid": "MQ==", "comp": "block" @@ -30,18 +30,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:55 GMT", + "date": "Sun, 18 Aug 2019 05:49:26 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30aa89-301e-00a5-4ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6418f-601e-003e-3d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833552205374/blob156150833567406209", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736660009014/blob156610736675404848", "query": { "blockid": "Mg==", "comp": "block" @@ -50,18 +50,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:55 GMT", + "date": "Sun, 18 Aug 2019 05:49:26 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30aabd-301e-00a5-76b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6419b-601e-003e-4988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833552205374/blob156150833567406209", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736660009014/blob156610736675404848", "query": { "comp": "blocklist" }, @@ -69,20 +69,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:55 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:56 GMT", + "date": "Sun, 18 Aug 2019 05:49:27 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:27 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "dFAuDrRd9NVDo3Ngdh/H9g==", - "etag": "\"0x8D6F9CBE096C89E\"", - "x-ms-request-id": "9f30aaec-301e-00a5-24b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD4B640F9\"", + "x-ms-request-id": "e4d641ba-601e-003e-6488-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833552205374/blob156150833567406209", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736660009014/blob156610736675404848", "query": { "blocklisttype": "committed", "comp": "blocklist" @@ -91,20 +91,20 @@ "status": 200, "response": "MQ==10Mg==10", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:55 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:56 GMT", + "date": "Sun, 18 Aug 2019 05:49:27 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:27 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE096C89E\"", + "etag": "\"0x8D7239FD4B640F9\"", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30ab3f-301e-00a5-6ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d641db-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-blob-content-length": "20" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833552205374", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736660009014", "query": { "restype": "container" }, @@ -112,16 +112,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30ab5e-301e-00a5-04b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d641fa-601e-003e-1d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:56 GMT", + "date": "Sun, 18 Aug 2019 05:49:27 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833552205374", - "blob": "blob156150833567406209" + "container": "container156610736660009014", + "blob": "blob156610736675404848" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist_with_all_parameters_set.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist_with_all_parameters_set.json index f55391829c7f..d05c8c448208 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist_with_all_parameters_set.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_commitblocklist_with_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833658405670", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736752306047", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:56 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:56 GMT", + "date": "Sun, 18 Aug 2019 05:49:27 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:27 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE0EDCA9C\"", - "x-ms-request-id": "9f30ab8f-301e-00a5-32b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD4FCA7D4\"", + "x-ms-request-id": "e4d64210-601e-003e-3388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833658405670/blob156150833673603197", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736752306047/blob156610736767901059", "query": { "blockid": "MQ==", "comp": "block" @@ -30,18 +30,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:56 GMT", + "date": "Sun, 18 Aug 2019 05:49:27 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30abde-301e-00a5-77b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6422b-601e-003e-4b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833658405670/blob156150833673603197", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736752306047/blob156610736767901059", "query": { "blockid": "Mg==", "comp": "block" @@ -50,18 +50,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:56 GMT", + "date": "Sun, 18 Aug 2019 05:49:27 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30ac21-301e-00a5-31b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64242-601e-003e-6088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833658405670/blob156150833673603197", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736752306047/blob156610736767901059", "query": { "comp": "blocklist" }, @@ -69,20 +69,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:56 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:57 GMT", + "date": "Sun, 18 Aug 2019 05:49:28 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:28 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "dFAuDrRd9NVDo3Ngdh/H9g==", - "etag": "\"0x8D6F9CBE13C0044\"", - "x-ms-request-id": "9f30ac7e-301e-00a5-80b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD5435840\"", + "x-ms-request-id": "e4d64259-601e-003e-7388-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833658405670/blob156150833673603197", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736752306047/blob156610736767901059", "query": { "blocklisttype": "committed", "comp": "blocklist" @@ -91,50 +91,51 @@ "status": 200, "response": "MQ==10Mg==10", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:56 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:57 GMT", + "date": "Sun, 18 Aug 2019 05:49:28 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:28 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE13C0044\"", + "etag": "\"0x8D7239FD5435840\"", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30acc1-301e-00a5-3cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6426e-601e-003e-0688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-blob-content-length": "20" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833658405670/blob156150833673603197", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736752306047/blob156610736767901059", "query": {}, "requestBody": null, "status": 200, "response": "HelloWorldHelloWorld", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:57 GMT", + "date": "Sun, 18 Aug 2019 05:49:28 GMT", "content-encoding": "blobContentEncoding", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-disposition": "blobContentDisposition", "content-length": "20", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "x-ms-meta-keya": "vala", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:57 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:57 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:28 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:28 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE13C0044\"", + "etag": "\"0x8D7239FD5435840\"", "content-language": "blobContentLanguage", "x-ms-meta-keyb": "valb", - "x-ms-request-id": "9f30acfa-301e-00a5-6db4-2b4188000000", + "x-ms-request-id": "e4d6428e-601e-003e-1f88-55ccb0000000", "cache-control": "blobCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "content-type": "blobContentType" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833658405670", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736752306047", "query": { "restype": "container" }, @@ -142,16 +143,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30ad2b-301e-00a5-16b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d642bb-601e-003e-4688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:57 GMT", + "date": "Sun, 18 Aug 2019 05:49:28 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833658405670", - "blob": "blob156150833673603197" + "container": "container156610736752306047", + "blob": "blob156610736767901059" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_getblocklist.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_getblocklist.json index 55aaab8176e1..8dfb9fabf504 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_getblocklist.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_getblocklist.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833770602662", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736861003867", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:57 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:57 GMT", + "date": "Sun, 18 Aug 2019 05:49:28 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:28 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE198813F\"", - "x-ms-request-id": "9f30ad69-301e-00a5-45b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD5A254DB\"", + "x-ms-request-id": "e4d642ee-601e-003e-7588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833770602662/blob156150833785700760", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736861003867/blob156610736879509207", "query": { "blockid": "MQ==", "comp": "block" @@ -30,18 +30,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:57 GMT", + "date": "Sun, 18 Aug 2019 05:49:28 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30ada5-301e-00a5-7cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6432c-601e-003e-2688-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833770602662/blob156150833785700760", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736861003867/blob156610736879509207", "query": { "blockid": "Mg==", "comp": "block" @@ -50,18 +50,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:57 GMT", + "date": "Sun, 18 Aug 2019 05:49:29 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30ade2-301e-00a5-36b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64349-601e-003e-4188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833770602662/blob156150833785700760", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736861003867/blob156610736879509207", "query": { "comp": "blocklist" }, @@ -69,20 +69,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:57 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:58 GMT", + "date": "Sun, 18 Aug 2019 05:49:29 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:29 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "J7SxPNqjL6/aXqADHyKYzA==", - "etag": "\"0x8D6F9CBE1E110D7\"", - "x-ms-request-id": "9f30ae34-301e-00a5-80b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD5ECD637\"", + "x-ms-request-id": "e4d64364-601e-003e-5b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833770602662/blob156150833785700760", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736861003867/blob156610736879509207", "query": { "blocklisttype": "all", "comp": "blocklist" @@ -91,20 +91,20 @@ "status": 200, "response": "Mg==10", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:57 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:58 GMT", + "date": "Sun, 18 Aug 2019 05:49:29 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:29 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE1E110D7\"", + "etag": "\"0x8D7239FD5ECD637\"", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30ae8e-301e-00a5-51b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64378-601e-003e-6e88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-blob-content-length": "10" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833770602662", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736861003867", "query": { "restype": "container" }, @@ -112,16 +112,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30aec5-301e-00a5-05b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64394-601e-003e-0688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:58 GMT", + "date": "Sun, 18 Aug 2019 05:49:29 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833770602662", - "blob": "blob156150833785700760" + "container": "container156610736861003867", + "blob": "blob156610736879509207" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblock.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblock.json index 1f49951d58d3..137471223bc1 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblock.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblock.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833195901496", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736313409575", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:51 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:52 GMT", + "date": "Sun, 18 Aug 2019 05:49:23 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:23 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDE2C07E5\"", - "x-ms-request-id": "9f30a5d9-301e-00a5-58b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD25E9F85\"", + "x-ms-request-id": "e4d63ee0-601e-003e-6388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833195901496/blob156150833211205053", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736313409575/blob156610736329206200", "query": { "blockid": "MQ==", "comp": "block" @@ -30,18 +30,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:51 GMT", + "date": "Sun, 18 Aug 2019 05:49:23 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30a610-301e-00a5-03b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63f00-601e-003e-7f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833195901496/blob156150833211205053", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736313409575/blob156610736329206200", "query": { "blockid": "Mg==", "comp": "block" @@ -50,18 +50,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:51 GMT", + "date": "Sun, 18 Aug 2019 05:49:23 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30a641-301e-00a5-25b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63f14-601e-003e-1088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833195901496/blob156150833211205053", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736313409575/blob156610736329206200", "query": { "blocklisttype": "uncommitted", "comp": "blocklist" @@ -70,17 +70,17 @@ "status": 200, "response": "MQ==10Mg==10", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:52 GMT", + "date": "Sun, 18 Aug 2019 05:49:23 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30a65a-301e-00a5-38b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d63f37-601e-003e-2e88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833195901496", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736313409575", "query": { "restype": "container" }, @@ -88,16 +88,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30a688-301e-00a5-60b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63f6e-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:52 GMT", + "date": "Sun, 18 Aug 2019 05:49:23 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833195901496", - "blob": "blob156150833211205053" + "container": "container156610736313409575", + "blob": "blob156610736329206200" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.json index db69a81ed62f..29459195f93f 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724", "query": { "restype": "container" }, @@ -10,57 +10,57 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:53 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:54 GMT", + "date": "Sun, 18 Aug 2019 05:49:25 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:25 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDF5D6C39\"", - "x-ms-request-id": "9f30a84d-301e-00a5-6bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD37FD476\"", + "x-ms-request-id": "e4d64053-601e-003e-2788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655/blob156150833411106286", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724/blob156610736518202619", "query": {}, "requestBody": "HelloWorld", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:53 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:54 GMT", + "date": "Sun, 18 Aug 2019 05:49:25 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:25 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", - "etag": "\"0x8D6F9CBDF74823E\"", - "x-ms-request-id": "9f30a897-301e-00a5-28b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD3970843\"", + "x-ms-request-id": "e4d64071-601e-003e-4088-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724", "query": { "comp": "acl", "restype": "container" }, "requestBody": "", "status": 403, - "response": "AuthorizationFailureThis request is not authorized to perform this operation.\nRequestId:9f30a8c3-301e-00a5-51b4-2b4188000000\nTime:2019-06-26T00:18:54.3564978Z", + "response": "AuthorizationFailureThis request is not authorized to perform this operation.\nRequestId:e4d6408e-601e-003e-5a88-55ccb0000000\nTime:2019-08-18T05:49:25.4358925Z", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:53 GMT", + "date": "Sun, 18 Aug 2019 05:49:25 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "AuthorizationFailure", "content-type": "application/xml", - "x-ms-request-id": "9f30a8c3-301e-00a5-51b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6408e-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "246" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655/newblockblob156150833440506345", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724/newblockblob156610736547900751", "query": { "blockid": "MQ==", "comp": "block" @@ -69,18 +69,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:54 GMT", + "date": "Sun, 18 Aug 2019 05:49:25 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "GCTo4DB8v90Zk1EasEAHXA==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30a8f1-301e-00a5-75b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6409a-601e-003e-6688-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655/newblockblob156150833440506345", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724/newblockblob156610736547900751", "query": { "blockid": "Mg==", "comp": "block" @@ -89,18 +89,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:54 GMT", + "date": "Sun, 18 Aug 2019 05:49:25 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "K6r/BQlnE9XQ+/wI1bNxNQ==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30a91c-301e-00a5-1cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d640ca-601e-003e-1188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655/newblockblob156150833440506345", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724/newblockblob156610736547900751", "query": { "blockid": "Mw==", "comp": "block" @@ -109,18 +109,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:54 GMT", + "date": "Sun, 18 Aug 2019 05:49:25 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "lGSQrQ/cF7O4mXYKRFEo8A==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30a95a-301e-00a5-4db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d640e1-601e-003e-2788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655/newblockblob156150833440506345", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724/newblockblob156610736547900751", "query": { "blocklisttype": "uncommitted", "comp": "blocklist" @@ -129,17 +129,17 @@ "status": 200, "response": "MQ==4Mg==4Mw==2", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:54 GMT", + "date": "Sun, 18 Aug 2019 05:49:26 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30a980-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d640ec-601e-003e-3288-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655/newblockblob156150833440506345", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724/newblockblob156610736547900751", "query": { "comp": "blocklist" }, @@ -147,44 +147,45 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:54 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:55 GMT", + "date": "Sun, 18 Aug 2019 05:49:26 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:26 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "mIrrBfaRkeYI2Jey2fQPeg==", - "etag": "\"0x8D6F9CBE006F19B\"", - "x-ms-request-id": "9f30a9ba-301e-00a5-1bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD425CD9D\"", + "x-ms-request-id": "e4d6410c-601e-003e-5188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655/newblockblob156150833440506345", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724/newblockblob156610736547900751", "query": {}, "requestBody": null, "status": 200, "response": "HelloWorld", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:54 GMT", + "date": "Sun, 18 Aug 2019 05:49:26 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "10", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:55 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:55 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:26 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:26 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE006F19B\"", + "etag": "\"0x8D7239FD425CD9D\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f30a9ec-301e-00a5-48b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6412f-601e-003e-6c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833396301655", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736503006724", "query": { "restype": "container" }, @@ -192,17 +193,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30aa0c-301e-00a5-63b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6414f-601e-003e-0688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:55 GMT", + "date": "Sun, 18 Aug 2019 05:49:26 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833396301655", - "blob": "blob156150833411106286", - "newblockblob": "newblockblob156150833440506345" + "container": "container156610736503006724", + "blob": "blob156610736518202619", + "newblockblob": "newblockblob156610736547900751" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.json index c269e91563d9..1122729d4d93 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833272607965", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736390405948", "query": { "restype": "container" }, @@ -10,57 +10,57 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:52 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:52 GMT", + "date": "Sun, 18 Aug 2019 05:49:23 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:24 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDEA0FEED\"", - "x-ms-request-id": "9f30a6bc-301e-00a5-0cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD2D432EF\"", + "x-ms-request-id": "e4d63f8f-601e-003e-7988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833272607965/blob156150833288004566", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736390405948/blob156610736405706928", "query": {}, "requestBody": "HelloWorld", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:52 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:52 GMT", + "date": "Sun, 18 Aug 2019 05:49:24 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:24 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", - "etag": "\"0x8D6F9CBDEB8FF77\"", - "x-ms-request-id": "9f30a6ee-301e-00a5-39b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD2EBB50B\"", + "x-ms-request-id": "e4d63fb2-601e-003e-1788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833272607965", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736390405948", "query": { "comp": "acl", "restype": "container" }, "requestBody": "", "status": 403, - "response": "AuthorizationFailureThis request is not authorized to perform this operation.\nRequestId:9f30a732-301e-00a5-73b4-2b4188000000\nTime:2019-06-26T00:18:53.1346353Z", + "response": "AuthorizationFailureThis request is not authorized to perform this operation.\nRequestId:e4d63fc9-601e-003e-2a88-55ccb0000000\nTime:2019-08-18T05:49:24.3150940Z", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:52 GMT", + "date": "Sun, 18 Aug 2019 05:49:24 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "AuthorizationFailure", "content-type": "application/xml", - "x-ms-request-id": "9f30a732-301e-00a5-73b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63fc9-601e-003e-2a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "246" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833272607965/newblockblob156150833318100186", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736390405948/newblockblob156610736435902153", "query": { "blockid": "MQ==", "comp": "block" @@ -69,18 +69,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:53 GMT", + "date": "Sun, 18 Aug 2019 05:49:24 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", "x-ms-request-server-encrypted": "true", - "x-ms-request-id": "9f30a76b-301e-00a5-27b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63ff1-601e-003e-5188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833272607965/newblockblob156150833318100186", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736390405948/newblockblob156610736435902153", "query": { "blocklisttype": "uncommitted", "comp": "blocklist" @@ -89,17 +89,17 @@ "status": 200, "response": "MQ==10", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:53 GMT", + "date": "Sun, 18 Aug 2019 05:49:24 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30a7eb-301e-00a5-16b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64013-601e-003e-6e88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833272607965", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736390405948", "query": { "restype": "container" }, @@ -107,17 +107,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30a81d-301e-00a5-43b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64035-601e-003e-0c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:53 GMT", + "date": "Sun, 18 Aug 2019 05:49:24 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833272607965", - "blob": "blob156150833288004566", - "newblockblob": "newblockblob156150833318100186" + "container": "container156610736390405948", + "blob": "blob156610736405706928", + "newblockblob": "newblockblob156610736435902153" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json index b5d47ac7a068..3e1d6d086e7e 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899223404252", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737054507051", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:11 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:12 GMT", + "date": "Sun, 18 Aug 2019 05:49:30 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:30 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4992DAFF\"", - "x-ms-request-id": "bc484c68-901e-0046-5545-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD6C97E50\"", + "x-ms-request-id": "e4d64466-601e-003e-3988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899223404252", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737054507051", "query": { "restype": "container" }, @@ -29,16 +29,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484cbf-901e-0046-2445-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6447b-601e-003e-4d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:11 GMT", + "date": "Sun, 18 Aug 2019 05:49:30 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899223404252", - "blob": "blob156464899238808687" + "container": "container156610737054507051", + "blob": "blob156610737069809048" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json index caddd4f827cc..07a3ac4bfde1 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899191901079", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737022607311", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:11 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:12 GMT", + "date": "Sun, 18 Aug 2019 05:49:30 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:30 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4962C19C\"", - "x-ms-request-id": "bc484bf4-901e-0046-7545-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD69916A7\"", + "x-ms-request-id": "e4d6441a-601e-003e-7a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899191901079", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737022607311", "query": { "restype": "container" }, @@ -29,16 +29,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484c2f-901e-0046-2545-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64441-601e-003e-1988-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:11 GMT", + "date": "Sun, 18 Aug 2019 05:49:30 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899191901079", - "blob": "blob156464899207402866" + "container": "container156610737022607311", + "blob": "blob156610737038207749" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.json index f1bb59171783..eec0b397c523 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833135104094", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736241302150", "query": { "restype": "container" }, @@ -10,68 +10,69 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:51 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:51 GMT", + "date": "Sun, 18 Aug 2019 05:49:22 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:22 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDDCE94D1\"", - "x-ms-request-id": "9f30a533-301e-00a5-44b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD1F0D58E\"", + "x-ms-request-id": "e4d63e40-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833135104094/blob156150833149708407", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736241302150/blob156610736256700886", "query": {}, - "requestBody": "randomstring156150833149804770", + "requestBody": "randomstring156610736256801437", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:51 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:51 GMT", + "date": "Sun, 18 Aug 2019 05:49:22 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:22 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "content-md5": "gWdWBTvOn5uWxNuwBmQ83A==", - "etag": "\"0x8D6F9CBDDE5AA90\"", - "x-ms-request-id": "9f30a55c-301e-00a5-67b4-2b4188000000", - "x-ms-version": "2018-03-28", + "content-md5": "cqzLdMUpGigS4faUAFInrg==", + "etag": "\"0x8D7239FD208A5E9\"", + "x-ms-request-id": "e4d63e67-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833135104094/blob156150833149708407", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736241302150/blob156610736256700886", "query": {}, "requestBody": null, "status": 200, - "response": "randomstring156150833149804770", + "response": "randomstring156610736256801437", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:51 GMT", + "date": "Sun, 18 Aug 2019 05:49:22 GMT", "content-encoding": "blobContentEncoding", - "content-md5": "gWdWBTvOn5uWxNuwBmQ83A==", + "content-md5": "cqzLdMUpGigS4faUAFInrg==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-disposition": "blobContentDisposition", "content-length": "30", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "x-ms-meta-keya": "vala", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:51 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:51 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:22 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:22 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDDE5AA90\"", + "etag": "\"0x8D7239FD208A5E9\"", "content-language": "blobContentLanguage", "x-ms-meta-keyb": "valb", - "x-ms-request-id": "9f30a58d-301e-00a5-14b4-2b4188000000", + "x-ms-request-id": "e4d63e76-601e-003e-0788-55ccb0000000", "cache-control": "blobCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "content-type": "blobContentType" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833135104094", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736241302150", "query": { "restype": "container" }, @@ -79,17 +80,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30a5b1-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63eb2-601e-003e-3988-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:51 GMT", + "date": "Sun, 18 Aug 2019 05:49:23 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833135104094", - "blob": "blob156150833149708407", - "randomstring": "randomstring156150833149804770" + "container": "container156610736241302150", + "blob": "blob156610736256700886", + "randomstring": "randomstring156610736256801437" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_default_parameters.json index 126344745d8b..51e450487766 100644 --- a/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/blockblobclient/recording_upload_with_string_body_and_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833074701396", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736178601844", "query": { "restype": "container" }, @@ -10,62 +10,63 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:50 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:50 GMT", + "date": "Sun, 18 Aug 2019 05:49:21 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:21 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDD72817D\"", - "x-ms-request-id": "9f30a44c-301e-00a5-03b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD190F0CE\"", + "x-ms-request-id": "e4d63d97-601e-003e-4188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833074701396/blob156150833089607408", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736178601844/blob156610736193908509", "query": {}, - "requestBody": "randomstring156150833089609618", + "requestBody": "randomstring156610736194002743", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:50 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:50 GMT", + "date": "Sun, 18 Aug 2019 05:49:22 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:22 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "content-md5": "JEmqeIK8gLnGcMBg3FcVqA==", - "etag": "\"0x8D6F9CBDD8A0C6A\"", - "x-ms-request-id": "9f30a484-301e-00a5-31b4-2b4188000000", - "x-ms-version": "2018-03-28", + "content-md5": "LmdAROczTYzVpGETlkp8nQ==", + "etag": "\"0x8D7239FD1A89A50\"", + "x-ms-request-id": "e4d63dd7-601e-003e-7f88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833074701396/blob156150833089607408", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736178601844/blob156610736193908509", "query": {}, "requestBody": null, "status": 200, - "response": "randomstring156150833089609618", + "response": "randomstring156610736194002743", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:18:50 GMT", - "content-md5": "JEmqeIK8gLnGcMBg3FcVqA==", + "date": "Sun, 18 Aug 2019 05:49:22 GMT", + "content-md5": "LmdAROczTYzVpGETlkp8nQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "30", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:18:50 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:50 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:22 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:22 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBDD8A0C6A\"", + "etag": "\"0x8D7239FD1A89A50\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f30a4b8-301e-00a5-60b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63e0e-601e-003e-2c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833074701396", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610736178601844", "query": { "restype": "container" }, @@ -73,17 +74,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30a509-301e-00a5-21b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d63e25-601e-003e-4288-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:50 GMT", + "date": "Sun, 18 Aug 2019 05:49:22 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833074701396", - "blob": "blob156150833089607408", - "randomstring": "randomstring156150833089609618" + "container": "container156610736178601844", + "blob": "blob156610736193908509", + "randomstring": "randomstring156610736194002743" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string.json index c20d6f97e560..c941c426ad4e 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899259006029", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738853803882", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:12 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:12 GMT", + "date": "Sun, 18 Aug 2019 05:49:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C49C93718\"", - "x-ms-request-id": "bc484d06-901e-0046-6245-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE1832174\"", + "x-ms-request-id": "e4d65363-601e-003e-5488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899259006029", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738853803882", "query": { "restype": "container" }, @@ -30,13 +30,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "unlocked", - "date": "Thu, 01 Aug 2019 08:43:12 GMT", + "date": "Sun, 18 Aug 2019 05:49:48 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Thu, 01 Aug 2019 08:43:12 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C49C93718\"", - "x-ms-request-id": "bc484d33-901e-0046-0b45-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE1832174\"", + "x-ms-request-id": "e4d6538e-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "available" @@ -44,7 +44,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899259006029", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738853803882", "query": { "restype": "container" }, @@ -52,15 +52,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484d5a-901e-0046-2e45-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6539f-601e-003e-0688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:12 GMT", + "date": "Sun, 18 Aug 2019 05:49:48 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899259006029" + "container": "container156610738853803882" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.json index de8f7aec74e0..9f87bc0969f7 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899305706708", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738899809145", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:12 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4A10AD3C\"", - "x-ms-request-id": "bc484d9b-901e-0046-6445-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE1C937EA\"", + "x-ms-request-id": "e4d653b9-601e-003e-1b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899305706708", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738899809145", "query": { "restype": "container" }, @@ -30,13 +30,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "unlocked", - "date": "Thu, 01 Aug 2019 08:43:12 GMT", + "date": "Sun, 18 Aug 2019 05:49:49 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Thu, 01 Aug 2019 08:43:13 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4A10AD3C\"", - "x-ms-request-id": "bc484dd9-901e-0046-1a45-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE1C937EA\"", + "x-ms-request-id": "e4d653de-601e-003e-3988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "available" @@ -44,7 +44,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899305706708", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738899809145", "query": { "restype": "container" }, @@ -52,15 +52,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484e11-901e-0046-4945-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d653f3-601e-003e-4e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:12 GMT", + "date": "Sun, 18 Aug 2019 05:49:49 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899305706708" + "container": "container156610738899809145" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_all_parameters_configured.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_all_parameters_configured.json index 7ae9934bb1e9..f6591d65bedd 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_all_parameters_configured.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_all_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834010005232", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737228803247", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:59 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:32 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:32 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE305E7DB\"", - "x-ms-request-id": "9f30b0e5-301e-00a5-4fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD7D3569B\"", + "x-ms-request-id": "e4d645be-601e-003e-6088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834010005232156150834025006969", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737228803247156610737244105870", "query": { "restype": "container" }, @@ -29,18 +29,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:59 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:32 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:32 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE31CA84E\"", - "x-ms-request-id": "9f30b122-301e-00a5-01b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD7EADA8A\"", + "x-ms-request-id": "e4d645e2-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834010005232156150834025006969", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737228803247156610737244105870", "query": { "restype": "container" }, @@ -49,15 +49,15 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "unlocked", - "date": "Wed, 26 Jun 2019 00:19:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:32 GMT", "x-ms-meta-key": "value", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:00 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:32 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE31CA84E\"", + "etag": "\"0x8D7239FD7EADA8A\"", "x-ms-blob-public-access": "container", - "x-ms-request-id": "9f30b155-301e-00a5-2bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d645fc-601e-003e-1588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "available" @@ -65,7 +65,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834010005232", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737228803247", "query": { "restype": "container" }, @@ -73,16 +73,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30b18b-301e-00a5-59b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64618-601e-003e-2c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:32 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834010005232", - "container156150834010005232": "container156150834010005232156150834025006969" + "container": "container156610737228803247", + "container156610737228803247": "container156610737228803247156610737244105870" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_default_parameters.json index 9a967fe7a5b8..501e32e3a250 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_create_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833971502484", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737195706717", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:59 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:32 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:32 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE2CB4530\"", - "x-ms-request-id": "9f30b065-301e-00a5-6cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD7A119E0\"", + "x-ms-request-id": "e4d64582-601e-003e-2d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833971502484", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737195706717", "query": { "restype": "container" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30b08a-301e-00a5-0ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d645ae-601e-003e-5488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:32 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833971502484" + "container": "container156610737195706717" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_delete.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_delete.json index 59069593af24..3a40435ac93d 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_delete.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_delete.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834081002332", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737290104423", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:00 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:32 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:33 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE37278F8\"", - "x-ms-request-id": "9f30b1f0-301e-00a5-2ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD830F104\"", + "x-ms-request-id": "e4d6462b-601e-003e-3e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834081002332", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737290104423", "query": { "restype": "container" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30b22c-301e-00a5-5fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64649-601e-003e-5488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:33 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834081002332" + "container": "container156610737290104423" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_getproperties.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_getproperties.json index 2957797c94df..334ddc06ce1b 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_getproperties.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_getproperties.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833927204931", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737150202088", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:58 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:31 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:31 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE287792B\"", - "x-ms-request-id": "9f30aff0-301e-00a5-09b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD75B5198\"", + "x-ms-request-id": "e4d64519-601e-003e-5888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833927204931", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737150202088", "query": { "restype": "container" }, @@ -30,13 +30,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "unlocked", - "date": "Wed, 26 Jun 2019 00:18:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:31 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:18:59 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:31 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE287792B\"", - "x-ms-request-id": "9f30b00a-301e-00a5-1eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD75B5198\"", + "x-ms-request-id": "e4d6452d-601e-003e-6788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "available" @@ -44,7 +44,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833927204931", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737150202088", "query": { "restype": "container" }, @@ -52,15 +52,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30b03d-301e-00a5-48b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64548-601e-003e-7e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:31 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833927204931" + "container": "container156610737150202088" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.json index 391c6a3e68a9..89e61b8405ba 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559", "query": { "restype": "container" }, @@ -10,56 +10,56 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:00 GMT", - "last-modified": "Fri, 28 Jun 2019 03:03:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:43 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:43 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6FB752163CA76\"", - "x-ms-request-id": "d463b1fa-c01e-0077-6c5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDEBD177E\"", + "x-ms-request-id": "e4d64f84-601e-003e-5d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278/blockblob0%2F0156169098099703999", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559/blockblob0%2F0156610738404006337", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:00 GMT", - "last-modified": "Fri, 28 Jun 2019 03:03:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:44 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:44 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB75217BE8B9\"", - "x-ms-request-id": "d463b223-c01e-0077-115d-2dffd0000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDED58133\"", + "x-ms-request-id": "e4d64fa7-601e-003e-7f88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278/blockblob1%2F1156169098115406037", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559/blockblob1%2F1156610738419904184", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:00 GMT", - "last-modified": "Fri, 28 Jun 2019 03:03:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:44 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:44 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB75219393B4\"", - "x-ms-request-id": "d463b24c-c01e-0077-385d-2dffd0000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDEED2C2B\"", + "x-ms-request-id": "e4d64fc0-601e-003e-1688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559", "query": { "comp": "list", "delimiter": "/", @@ -70,43 +70,43 @@ }, "requestBody": null, "status": 200, - "response": "blockblob1/blockblob0/2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjE2OTA5ODExNTQwNjAzNyEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-", + "response": "blockblob1/blockblob0/2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjYxMDczODQxOTkwNDE4NCEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:44 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "d463b280-c01e-0077-615d-2dffd0000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64fdb-601e-003e-2f88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559", "query": { "comp": "list", "delimiter": "/", "include": "metadata,uncommittedblobs,copy,deleted", - "marker": "2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjE2OTA5ODExNTQwNjAzNyEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-", + "marker": "2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjYxMDczODQxOTkwNDE4NCEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-", "maxresults": "2", "prefix": "blockblob", "restype": "container" }, "requestBody": null, "status": 200, - "response": "blockblob2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjE2OTA5ODExNTQwNjAzNyEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-2/blockblob1/", + "response": "blockblob2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjYxMDczODQxOTkwNDE4NCEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-2/blockblob1/", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:44 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "d463b2b6-c01e-0077-0e5d-2dffd0000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d65001-601e-003e-5388-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559", "query": { "comp": "list", "delimiter": "/", @@ -117,51 +117,51 @@ }, "requestBody": null, "status": 200, - "response": "blockblob0/2/blockblob0/0156169098099703999Fri, 28 Jun 2019 03:03:01 GMTFri, 28 Jun 2019 03:03:01 GMT0x8D6FB75217BE8B90application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", + "response": "blockblob0/2/blockblob0/0156610738404006337Sun, 18 Aug 2019 05:49:44 GMTSun, 18 Aug 2019 05:49:44 GMT0x8D7239FDED581330application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:44 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "d463b2dd-c01e-0077-305d-2dffd0000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d6501f-601e-003e-7188-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278/blockblob0%2F0156169098099703999", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559/blockblob0%2F0156610738404006337", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:44 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "d463b304-c01e-0077-565d-2dffd0000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6503d-601e-003e-0d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278/blockblob1%2F1156169098115406037", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559/blockblob1%2F1156610738419904184", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:03:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "d463b343-c01e-0077-0d5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65062-601e-003e-2c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169098084303278", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738388608559", "query": { "restype": "container" }, @@ -169,17 +169,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "d463b367-c01e-0077-2b5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65088-601e-003e-4c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Fri, 28 Jun 2019 03:03:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:45 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156169098084303278", - "blockblob0/0": "blockblob0/0156169098099703999", - "blockblob1/1": "blockblob1/1156169098115406037" + "container": "container156610738388608559", + "blockblob0/0": "blockblob0/0156610738404006337", + "blockblob1/1": "blockblob1/1156610738419904184" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_default_parameters.json index dec3f40c8354..62d9ebcf8be9 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsbyhierarchy_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203", "query": { "restype": "container" }, @@ -10,75 +10,75 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:58 GMT", - "last-modified": "Fri, 28 Jun 2019 03:02:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:42 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:42 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6FB75208B44C7\"", - "x-ms-request-id": "d463b07b-c01e-0077-155d-2dffd0000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDDEBE5AD\"", + "x-ms-request-id": "e4d64e63-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720/blockblob0%2F0156169097958907382", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203/blockblob0%2F0156610738266906887", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:58 GMT", - "last-modified": "Fri, 28 Jun 2019 03:02:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:42 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:42 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7520A51094\"", - "x-ms-request-id": "d463b0a9-c01e-0077-3e5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDE03B33F\"", + "x-ms-request-id": "e4d64e82-601e-003e-7988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720/blockblob1%2F1156169097974800467", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203/blockblob1%2F1156610738282306842", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:59 GMT", - "last-modified": "Fri, 28 Jun 2019 03:02:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:42 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:42 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7520BE4272\"", - "x-ms-request-id": "d463b0cd-c01e-0077-5c5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDE1B1011\"", + "x-ms-request-id": "e4d64eac-601e-003e-2088-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720/blockblob2%2F2156169097990903330", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203/blockblob2%2F2156610738297506644", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:59 GMT", - "last-modified": "Fri, 28 Jun 2019 03:03:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:43 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:43 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7520D5ED69\"", - "x-ms-request-id": "d463b0ed-c01e-0077-7b5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDE3293F1\"", + "x-ms-request-id": "e4d64ed5-601e-003e-4588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203", "query": { "comp": "list", "delimiter": "/", @@ -86,67 +86,67 @@ }, "requestBody": null, "status": 200, - "response": "/blockblob0/blockblob1/blockblob2/", + "response": "/blockblob0/blockblob1/blockblob2/", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:43 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "d463b129-c01e-0077-2a5d-2dffd0000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64eee-601e-003e-5c88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720/blockblob0%2F0156169097958907382", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203/blockblob0%2F0156610738266906887", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:43 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "d463b14f-c01e-0077-4c5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64f06-601e-003e-7088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720/blockblob1%2F1156169097974800467", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203/blockblob1%2F1156610738282306842", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:43 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "d463b172-c01e-0077-6c5d-2dffd0000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64f28-601e-003e-0e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720/blockblob2%2F2156169097990903330", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203/blockblob2%2F2156610738297506644", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:02:59 GMT", + "date": "Sun, 18 Aug 2019 05:49:43 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "d463b19a-c01e-0077-135d-2dffd0000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64f40-601e-003e-2688-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169097914607720", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738251601203", "query": { "restype": "container" }, @@ -154,18 +154,18 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "d463b1cc-c01e-0077-425d-2dffd0000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64f60-601e-003e-4388-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Fri, 28 Jun 2019 03:03:00 GMT", + "date": "Sun, 18 Aug 2019 05:49:43 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156169097914607720", - "blockblob0/0": "blockblob0/0156169097958907382", - "blockblob1/1": "blockblob1/1156169097974800467", - "blockblob2/2": "blockblob2/2156169097990903330" + "container": "container156610738251601203", + "blockblob0/0": "blockblob0/0156610738266906887", + "blockblob1/1": "blockblob1/1156610738282306842", + "blockblob2/2": "blockblob2/2156610738297506644" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_all_parameters_configured.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_all_parameters_configured.json index 6653fe2edae8..90a37e0948ab 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_all_parameters_configured.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_all_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326", "query": { "restype": "container" }, @@ -10,56 +10,56 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:02 GMT", + "date": "Sun, 18 Aug 2019 05:49:34 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:34 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE47BDB7C\"", - "x-ms-request-id": "9f30b47a-301e-00a5-5bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD94467E9\"", + "x-ms-request-id": "e4d647eb-601e-003e-4588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950/blockblob%2F0156150834270303424", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326/blockblob%2F0156610737485808313", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:02 GMT", + "date": "Sun, 18 Aug 2019 05:49:34 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:34 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE49403F9\"", - "x-ms-request-id": "9f30b4b4-301e-00a5-06b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD95B7346\"", + "x-ms-request-id": "e4d64821-601e-003e-7488-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950/blockblob%2F1156150834285707505", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326/blockblob%2F1156610737500708791", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:02 GMT", + "date": "Sun, 18 Aug 2019 05:49:35 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:35 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE4AB87DB\"", - "x-ms-request-id": "9f30b4e2-301e-00a5-2db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD9731E35\"", + "x-ms-request-id": "e4d64849-601e-003e-1788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", @@ -69,74 +69,74 @@ }, "requestBody": null, "status": 200, - "response": "blockblob1blockblob/0156150834270303424Wed, 26 Jun 2019 00:19:02 GMTWed, 26 Jun 2019 00:19:02 GMT0x8D6F9CBE49403F90application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2MTUwODM0Mjg1NzA3NTA1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", + "response": "blockblob1blockblob/0156610737485808313Sun, 18 Aug 2019 05:49:34 GMTSun, 18 Aug 2019 05:49:34 GMT0x8D7239FD95B73460application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2NjEwNzM3NTAwNzA4NzkxITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:02 GMT", + "date": "Sun, 18 Aug 2019 05:49:35 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30b515-301e-00a5-57b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64859-601e-003e-2588-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", - "marker": "2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2MTUwODM0Mjg1NzA3NTA1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", + "marker": "2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2NjEwNzM3NTAwNzA4NzkxITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", "maxresults": "2", "prefix": "blockblob", "restype": "container" }, "requestBody": null, "status": 200, - "response": "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2MTUwODM0Mjg1NzA3NTA1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/1156150834285707505Wed, 26 Jun 2019 00:19:02 GMTWed, 26 Jun 2019 00:19:02 GMT0x8D6F9CBE4AB87DB0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", + "response": "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2NjEwNzM3NTAwNzA4NzkxITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/1156610737500708791Sun, 18 Aug 2019 05:49:35 GMTSun, 18 Aug 2019 05:49:35 GMT0x8D7239FD9731E350application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:02 GMT", + "date": "Sun, 18 Aug 2019 05:49:35 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30b55d-301e-00a5-14b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64876-601e-003e-3e88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950/blockblob%2F0156150834270303424", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326/blockblob%2F0156610737485808313", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:02 GMT", + "date": "Sun, 18 Aug 2019 05:49:35 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b59c-301e-00a5-4cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64883-601e-003e-4a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950/blockblob%2F1156150834285707505", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326/blockblob%2F1156610737500708791", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:03 GMT", + "date": "Sun, 18 Aug 2019 05:49:35 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b5f1-301e-00a5-1bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d648a3-601e-003e-6688-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834254704950", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737470901326", "query": { "restype": "container" }, @@ -144,17 +144,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30b632-301e-00a5-57b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d648bd-601e-003e-7d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:03 GMT", + "date": "Sun, 18 Aug 2019 05:49:35 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834254704950", - "blockblob/0": "blockblob/0156150834270303424", - "blockblob/1": "blockblob/1156150834285707505" + "container": "container156610737470901326", + "blockblob/0": "blockblob/0156610737485808313", + "blockblob/1": "blockblob/1156610737500708791" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_default_parameters.json index 4acd8191a4ab..fe36a6216e66 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_listblobsflat_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062", "query": { "restype": "container" }, @@ -10,142 +10,142 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:00 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:33 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:33 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE3A020E5\"", - "x-ms-request-id": "9f30b269-301e-00a5-14b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD860BC51\"", + "x-ms-request-id": "e4d6466e-601e-003e-7388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366/blockblob%2F0156150834126204671", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062/blockblob%2F0156610737338002420", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:00 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:33 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:33 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE3B7D3F9\"", - "x-ms-request-id": "9f30b2b4-301e-00a5-59b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD87AAE83\"", + "x-ms-request-id": "e4d64692-601e-003e-1588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366/blockblob%2F1156150834141609979", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062/blockblob%2F1156610737353601065", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:01 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:33 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:33 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE3CFA604\"", - "x-ms-request-id": "9f30b2e8-301e-00a5-04b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD892597F\"", + "x-ms-request-id": "e4d646b6-601e-003e-2f88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366/blockblob%2F2156150834157002462", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062/blockblob%2F2156610737369107161", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:01 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:33 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:33 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE3E6DBB2\"", - "x-ms-request-id": "9f30b321-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD8AA047A\"", + "x-ms-request-id": "e4d646d6-601e-003e-4d88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062", "query": { "comp": "list", "restype": "container" }, "requestBody": null, "status": 200, - "response": "blockblob/0156150834126204671Wed, 26 Jun 2019 00:19:01 GMTWed, 26 Jun 2019 00:19:01 GMT0x8D6F9CBE3B7D3F90application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueblockblob/1156150834141609979Wed, 26 Jun 2019 00:19:01 GMTWed, 26 Jun 2019 00:19:01 GMT0x8D6F9CBE3CFA6040application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueblockblob/2156150834157002462Wed, 26 Jun 2019 00:19:01 GMTWed, 26 Jun 2019 00:19:01 GMT0x8D6F9CBE3E6DBB20application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue", + "response": "blockblob/0156610737338002420Sun, 18 Aug 2019 05:49:33 GMTSun, 18 Aug 2019 05:49:33 GMT0x8D7239FD87AAE830application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0blockblob/1156610737353601065Sun, 18 Aug 2019 05:49:33 GMTSun, 18 Aug 2019 05:49:33 GMT0x8D7239FD892597F0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0blockblob/2156610737369107161Sun, 18 Aug 2019 05:49:33 GMTSun, 18 Aug 2019 05:49:33 GMT0x8D7239FD8AA047A0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:33 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30b354-301e-00a5-62b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d646f5-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366/blockblob%2F0156150834126204671", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062/blockblob%2F0156610737338002420", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:34 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b3a7-301e-00a5-26b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6472c-601e-003e-1d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366/blockblob%2F1156150834141609979", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062/blockblob%2F1156610737353601065", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:34 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b3df-301e-00a5-57b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64756-601e-003e-4088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366/blockblob%2F2156150834157002462", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062/blockblob%2F2156610737369107161", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:01 GMT", + "date": "Sun, 18 Aug 2019 05:49:34 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b40d-301e-00a5-7db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6478f-601e-003e-7388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834111200366", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737321407062", "query": { "restype": "container" }, @@ -153,18 +153,18 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30b451-301e-00a5-35b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d647bb-601e-003e-1b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:02 GMT", + "date": "Sun, 18 Aug 2019 05:49:34 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834111200366", - "blockblob/0": "blockblob/0156150834126204671", - "blockblob/1": "blockblob/1156150834141609979", - "blockblob/2": "blockblob/2156150834157002462" + "container": "container156610737321407062", + "blockblob/0": "blockblob/0156610737338002420", + "blockblob/1": "blockblob/1156610737353601065", + "blockblob/2": "blockblob/2156610737369107161" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_setmetadata.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_setmetadata.json index a558f61db992..5e4a6bf2a3e7 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_setmetadata.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_setmetadata.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833864106239", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737088407106", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:58 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:58 GMT", + "date": "Sun, 18 Aug 2019 05:49:30 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:30 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE227BBB2\"", - "x-ms-request-id": "9f30aef5-301e-00a5-2bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD6FDDE4B\"", + "x-ms-request-id": "e4d6449c-601e-003e-6888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833864106239", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737088407106", "query": { "comp": "metadata", "restype": "container" @@ -30,18 +30,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:58 GMT", - "last-modified": "Wed, 26 Jun 2019 00:18:58 GMT", + "date": "Sun, 18 Aug 2019 05:49:31 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:31 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE23F2BE3\"", - "x-ms-request-id": "9f30af27-301e-00a5-57b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD71630FC\"", + "x-ms-request-id": "e4d644ca-601e-003e-1488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833864106239", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737088407106", "query": { "restype": "container" }, @@ -49,7 +49,7 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:18:58 GMT", + "date": "Sun, 18 Aug 2019 05:49:31 GMT", "x-ms-has-legal-hold": "false", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -57,17 +57,17 @@ "x-ms-lease-status": "unlocked", "x-ms-meta-keya": "vala", "x-ms-meta-keyb": "valb", - "last-modified": "Wed, 26 Jun 2019 00:18:58 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:31 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE23F2BE3\"", - "x-ms-request-id": "9f30af57-301e-00a5-05b4-2b4188000000", + "etag": "\"0x8D7239FD71630FC\"", + "x-ms-request-id": "e4d644e0-601e-003e-2688-55ccb0000000", "x-ms-meta-key0": "val0", - "x-ms-version": "2018-03-28" + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150833864106239", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737088407106", "query": { "restype": "container" }, @@ -75,15 +75,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30afb4-301e-00a5-53b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d644ff-601e-003e-3e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:18:58 GMT", + "date": "Sun, 18 Aug 2019 05:49:31 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150833864106239" + "container": "container156610737088407106" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json index 3adb8954694f..1803ccc48106 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899352505621", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738965904655", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:12 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4A58236C\"", - "x-ms-request-id": "bc484e4a-901e-0046-7f45-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE22E26A5\"", + "x-ms-request-id": "e4d6542a-601e-003e-0388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899352505621", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738965904655", "query": { "restype": "container" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484e96-901e-0046-4345-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6543a-601e-003e-1188-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:49 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899352505621" + "container": "container156610738965904655" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_uploadblockblob_and_deleteblob.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_uploadblockblob_and_deleteblob.json index 80b73ba55d80..288d951e5c41 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_uploadblockblob_and_deleteblob.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_uploadblockblob_and_deleteblob.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835330005212", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738757107857", "query": { "restype": "container" }, @@ -10,100 +10,101 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:12 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEAE46BDF\"", - "x-ms-request-id": "9f30c3f1-301e-00a5-04b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE0EFC73C\"", + "x-ms-request-id": "e4d65260-601e-003e-6c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835330005212/blob156150835345508220", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738757107857/blob156610738772800946", "query": {}, - "requestBody": "randomstring156150835345503793", + "requestBody": "randomstring156610738772806892", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "content-md5": "+GTyW6688oTglp41JM7kLA==", - "etag": "\"0x8D6F9CBEAFC6E40\"", - "x-ms-request-id": "9f30c437-301e-00a5-40b4-2b4188000000", - "x-ms-version": "2018-03-28", + "content-md5": "eQM5Q17lXzmDMmHxrBM9aw==", + "etag": "\"0x8D7239FE1080988\"", + "x-ms-request-id": "e4d6527d-601e-003e-0788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835330005212/blob156150835345508220", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738757107857/blob156610738772800946", "query": {}, "requestBody": null, "status": 200, - "response": "randomstring156150835345503793", + "response": "randomstring156610738772806892", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:19:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:47 GMT", "content-encoding": "blobContentEncoding", - "content-md5": "+GTyW6688oTglp41JM7kLA==", + "content-md5": "eQM5Q17lXzmDMmHxrBM9aw==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-disposition": "blobContentDisposition", "content-length": "30", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "x-ms-meta-keya": "vala", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:19:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:13 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:49:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEAFC6E40\"", + "etag": "\"0x8D7239FE1080988\"", "content-language": "blobContentLanguage", "x-ms-meta-keyb": "valb", - "x-ms-request-id": "9f30c473-301e-00a5-76b4-2b4188000000", + "x-ms-request-id": "e4d652b4-601e-003e-3888-55ccb0000000", "cache-control": "blobCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "content-type": "blobContentType" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835330005212/blob156150835345508220", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738757107857/blob156610738772800946", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30c4c5-301e-00a5-3db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d652ec-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835330005212/blob156150835345508220", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738757107857/blob156610738772800946", "query": {}, "requestBody": null, "status": 404, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "BlobNotFound", "transfer-encoding": "chunked", - "x-ms-request-id": "9f30c51e-301e-00a5-05b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d65318-601e-003e-1188-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835330005212", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738757107857", "query": { "restype": "container" }, @@ -111,17 +112,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30c563-301e-00a5-3fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65346-601e-003e-3c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:13 GMT", + "date": "Sun, 18 Aug 2019 05:49:48 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150835330005212", - "randomstring": "randomstring156150835345503793", - "blob": "blob156150835345508220" + "container": "container156610738757107857", + "randomstring": "randomstring156610738772806892", + "blob": "blob156610738772800946" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.json index 4244976b6378..4f58348022fe 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457", "query": { "restype": "container" }, @@ -10,132 +10,132 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:44 GMT", - "last-modified": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6FB7D0E673C01\"", - "x-ms-request-id": "3d11bceb-001e-0007-6765-2d8c14000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDF93A170\"", + "x-ms-request-id": "e4d650a5-601e-003e-6888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020410", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091680", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:44 GMT", - "last-modified": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7D0E81D2B0\"", - "x-ms-request-id": "3d11bd26-001e-0007-1a65-2d8c14000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDFABBCC5\"", + "x-ms-request-id": "e4d650bc-601e-003e-7a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020411", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091681", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:44 GMT", - "last-modified": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7D0E9B048E\"", - "x-ms-request-id": "3d11bd31-001e-0007-2465-2d8c14000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDFC367BD\"", + "x-ms-request-id": "e4d650e0-601e-003e-1688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020412", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091682", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:44 GMT", - "last-modified": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7D0EB2FDBB\"", - "x-ms-request-id": "3d11bd4b-001e-0007-3765-2d8c14000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDFDAC48A\"", + "x-ms-request-id": "e4d65105-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020413", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091683", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:45 GMT", - "last-modified": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7D0ECACFCE\"", - "x-ms-request-id": "3d11bd68-001e-0007-4f65-2d8c14000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDFF184FB\"", + "x-ms-request-id": "e4d6512b-601e-003e-5b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020414", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091684", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:45 GMT", - "last-modified": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7D0EE2A1E0\"", - "x-ms-request-id": "3d11bd82-001e-0007-6765-2d8c14000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE0092FF7\"", + "x-ms-request-id": "e4d6514c-601e-003e-7588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020415", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091685", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:45 GMT", - "last-modified": "Fri, 28 Jun 2019 03:59:46 GMT", + "date": "Sun, 18 Aug 2019 05:49:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6FB7D0EFC701E\"", - "x-ms-request-id": "3d11bd9d-001e-0007-7c65-2d8c14000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE02065B2\"", + "x-ms-request-id": "e4d65165-601e-003e-0b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457", "query": { "comp": "list", "delimiter": "/", @@ -144,115 +144,115 @@ }, "requestBody": null, "status": 200, - "response": "/prefix156169438512005839/", + "response": "/prefix156610738544507489/", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "3d11bdb3-001e-0007-0e65-2d8c14000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d65181-601e-003e-2688-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020410", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091680", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "3d11bdce-001e-0007-2365-2d8c14000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65196-601e-003e-3988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020411", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091681", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:45 GMT", + "date": "Sun, 18 Aug 2019 05:49:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "3d11bdea-001e-0007-3b65-2d8c14000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d651b1-601e-003e-5188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020412", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091682", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:46 GMT", + "date": "Sun, 18 Aug 2019 05:49:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "3d11be0a-001e-0007-5565-2d8c14000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d651c3-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020413", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091683", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:46 GMT", + "date": "Sun, 18 Aug 2019 05:49:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "3d11be36-001e-0007-7d65-2d8c14000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d651e5-601e-003e-7f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020414", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091684", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:46 GMT", + "date": "Sun, 18 Aug 2019 05:49:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "3d11be76-001e-0007-3465-2d8c14000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65215-601e-003e-2b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531/prefix156169438512005839%2Fblockblob1561694385120020415", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457/prefix156610738544507489%2Fblockblob1566107385445091685", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Fri, 28 Jun 2019 03:59:46 GMT", + "date": "Sun, 18 Aug 2019 05:49:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "3d11bea8-001e-0007-6065-2d8c14000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65226-601e-003e-3a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156169438463105531", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738529103457", "query": { "restype": "container" }, @@ -260,17 +260,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "3d11bee2-001e-0007-1765-2d8c14000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6523a-601e-003e-4988-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Fri, 28 Jun 2019 03:59:46 GMT", + "date": "Sun, 18 Aug 2019 05:49:47 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156169438463105531", - "prefix": "prefix156169438512005839", - "blockblob": "blockblob156169438512002041" + "container": "container156610738529103457", + "prefix": "prefix156610738544507489", + "blockblob": "blockblob156610738544509168" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.json index 6ed2e4af8dbe..8234f894f586 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744", "query": { "restype": "container" }, @@ -10,94 +10,94 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:03 GMT", + "date": "Sun, 18 Aug 2019 05:49:36 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:36 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE53C8F58\"", - "x-ms-request-id": "9f30b67d-301e-00a5-1bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FD9FE8AF8\"", + "x-ms-request-id": "e4d648d5-601e-003e-1288-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F0156150834396701333", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F0156610737608101348", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:36 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:36 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE5555436\"", - "x-ms-request-id": "9f30b6c8-301e-00a5-5db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDA17440D\"", + "x-ms-request-id": "e4d648fb-601e-003e-3388-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F1156150834412503885", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F1156610737624002480", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:36 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:36 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE56F97B7\"", - "x-ms-request-id": "9f30b703-301e-00a5-10b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDA2EEF05\"", + "x-ms-request-id": "e4d64915-601e-003e-4688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F2156150834429706099", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F2156610737639809745", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:36 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:36 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE5871BA2\"", - "x-ms-request-id": "9f30b734-301e-00a5-3ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDA470F46\"", + "x-ms-request-id": "e4d6492f-601e-003e-5d88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F3156150834445106213", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F3156610737655309710", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:04 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:36 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:36 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE59EC69F\"", - "x-ms-request-id": "9f30b769-301e-00a5-68b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDA5EBA41\"", + "x-ms-request-id": "e4d64948-601e-003e-7188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", @@ -106,83 +106,83 @@ }, "requestBody": null, "status": 200, - "response": "blockblobblockblob/0156150834396701333Wed, 26 Jun 2019 00:19:04 GMTWed, 26 Jun 2019 00:19:04 GMT0x8D6F9CBE55554360application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150834412503885Wed, 26 Jun 2019 00:19:04 GMTWed, 26 Jun 2019 00:19:04 GMT0x8D6F9CBE56F97B70application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/2156150834429706099Wed, 26 Jun 2019 00:19:04 GMTWed, 26 Jun 2019 00:19:04 GMT0x8D6F9CBE5871BA20application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/3156150834445106213Wed, 26 Jun 2019 00:19:04 GMTWed, 26 Jun 2019 00:19:04 GMT0x8D6F9CBE59EC69F0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", + "response": "blockblobblockblob/0156610737608101348Sun, 18 Aug 2019 05:49:36 GMTSun, 18 Aug 2019 05:49:36 GMT0x8D7239FDA17440D0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156610737624002480Sun, 18 Aug 2019 05:49:36 GMTSun, 18 Aug 2019 05:49:36 GMT0x8D7239FDA2EEF050application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/2156610737639809745Sun, 18 Aug 2019 05:49:36 GMTSun, 18 Aug 2019 05:49:36 GMT0x8D7239FDA470F460application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/3156610737655309710Sun, 18 Aug 2019 05:49:36 GMTSun, 18 Aug 2019 05:49:36 GMT0x8D7239FDA5EBA410application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:36 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30b7b2-301e-00a5-24b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64964-601e-003e-0888-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F0156150834396701333", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F0156610737608101348", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:37 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b80d-301e-00a5-76b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6499a-601e-003e-3688-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F1156150834412503885", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F1156610737624002480", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:37 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b842-301e-00a5-24b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d649c7-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F2156150834429706099", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F2156610737639809745", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:37 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b896-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d649e8-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687/blockblob%2F3156150834445106213", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744/blockblob%2F3156610737655309710", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:04 GMT", + "date": "Sun, 18 Aug 2019 05:49:37 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b8d0-301e-00a5-1db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64a06-601e-003e-1088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834381305687", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737592608744", "query": { "restype": "container" }, @@ -190,19 +190,19 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30b910-301e-00a5-50b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64a1e-601e-003e-2688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:05 GMT", + "date": "Sun, 18 Aug 2019 05:49:37 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834381305687", - "blockblob/0": "blockblob/0156150834396701333", - "blockblob/1": "blockblob/1156150834412503885", - "blockblob/2": "blockblob/2156150834429706099", - "blockblob/3": "blockblob/3156150834445106213" + "container": "container156610737592608744", + "blockblob/0": "blockblob/0156610737608101348", + "blockblob/1": "blockblob/1156610737624002480", + "blockblob/2": "blockblob/2156610737639809745", + "blockblob/3": "blockblob/3156610737655309710" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.json index 8ec4e346b5a0..850f202ec4ad 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179", "query": { "restype": "container" }, @@ -10,94 +10,94 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:08 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:08 GMT", + "date": "Sun, 18 Aug 2019 05:49:40 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:40 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE81783A8\"", - "x-ms-request-id": "9f30bcf4-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDCD27A41\"", + "x-ms-request-id": "e4d64ce3-601e-003e-0b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F0156150834875706709", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F0156610738082904439", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:08 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:08 GMT", + "date": "Sun, 18 Aug 2019 05:49:40 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:40 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE82FACA6\"", - "x-ms-request-id": "9f30bd28-301e-00a5-3ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDCEA9661\"", + "x-ms-request-id": "e4d64d16-601e-003e-3688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F1156150834891101501", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F1156610738098005647", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:08 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:41 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:41 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE847579E\"", - "x-ms-request-id": "9f30bd64-301e-00a5-6ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDD021A46\"", + "x-ms-request-id": "e4d64d45-601e-003e-5d88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F2156150834906704395", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F2156610738113402699", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:08 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:41 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:41 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE85EB46D\"", - "x-ms-request-id": "9f30bdb6-301e-00a5-2ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDD199E2A\"", + "x-ms-request-id": "e4d64d5b-601e-003e-7188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F3156150834922003940", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F3156610738128804033", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:08 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:41 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:41 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE8763853\"", - "x-ms-request-id": "9f30bdeb-301e-00a5-5db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDD312217\"", + "x-ms-request-id": "e4d64d79-601e-003e-0b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", @@ -107,106 +107,106 @@ }, "requestBody": null, "status": 200, - "response": "blockblob2blockblob/0156150834875706709Wed, 26 Jun 2019 00:19:08 GMTWed, 26 Jun 2019 00:19:08 GMT0x8D6F9CBE82FACA60application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150834891101501Wed, 26 Jun 2019 00:19:09 GMTWed, 26 Jun 2019 00:19:09 GMT0x8D6F9CBE847579E0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwODM0OTA2NzA0Mzk1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", + "response": "blockblob2blockblob/0156610738082904439Sun, 18 Aug 2019 05:49:40 GMTSun, 18 Aug 2019 05:49:40 GMT0x8D7239FDCEA96610application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156610738098005647Sun, 18 Aug 2019 05:49:41 GMTSun, 18 Aug 2019 05:49:41 GMT0x8D7239FDD021A460application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NjEwNzM4MTEzNDAyNjk5ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:41 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30be18-301e-00a5-02b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64da5-601e-003e-3088-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", - "marker": "2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwODM0OTA2NzA0Mzk1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", + "marker": "2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NjEwNzM4MTEzNDAyNjk5ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", "maxresults": "2", "prefix": "blockblob", "restype": "container" }, "requestBody": null, "status": 200, - "response": "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwODM0OTA2NzA0Mzk1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156150834906704395Wed, 26 Jun 2019 00:19:09 GMTWed, 26 Jun 2019 00:19:09 GMT0x8D6F9CBE85EB46D0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/3156150834922003940Wed, 26 Jun 2019 00:19:09 GMTWed, 26 Jun 2019 00:19:09 GMT0x8D6F9CBE87638530application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", + "response": "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NjEwNzM4MTEzNDAyNjk5ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156610738113402699Sun, 18 Aug 2019 05:49:41 GMTSun, 18 Aug 2019 05:49:41 GMT0x8D7239FDD199E2A0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/3156610738128804033Sun, 18 Aug 2019 05:49:41 GMTSun, 18 Aug 2019 05:49:41 GMT0x8D7239FDD3122170application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:41 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30be52-301e-00a5-31b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64dcf-601e-003e-5888-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F0156150834875706709", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F0156610738082904439", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:41 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30be80-301e-00a5-56b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64de9-601e-003e-6e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F1156150834891101501", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F1156610738098005647", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:41 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30beda-301e-00a5-29b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64dfb-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F2156150834906704395", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F2156610738113402699", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:42 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30bf05-301e-00a5-4db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64e1c-601e-003e-1d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739/blockblob%2F3156150834922003940", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179/blockblob%2F3156610738128804033", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:42 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30bf3c-301e-00a5-7eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64e36-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834860304739", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738067201179", "query": { "restype": "container" }, @@ -214,19 +214,19 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30bf74-301e-00a5-2fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64e4f-601e-003e-4b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:09 GMT", + "date": "Sun, 18 Aug 2019 05:49:42 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834860304739", - "blockblob/0": "blockblob/0156150834875706709", - "blockblob/1": "blockblob/1156150834891101501", - "blockblob/2": "blockblob/2156150834906704395", - "blockblob/3": "blockblob/3156150834922003940" + "container": "container156610738067201179", + "blockblob/0": "blockblob/0156610738082904439", + "blockblob/1": "blockblob/1156610738098005647", + "blockblob/2": "blockblob/2156610738113402699", + "blockblob/3": "blockblob/3156610738128804033" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.json index 949a988b1da8..d7506158b4e8 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219", "query": { "restype": "container" }, @@ -10,94 +10,94 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:06 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:06 GMT", + "date": "Sun, 18 Aug 2019 05:49:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE6F5B2B9\"", - "x-ms-request-id": "9f30ba84-301e-00a5-04b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDBB89997\"", + "x-ms-request-id": "e4d64b20-601e-003e-0788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F0156150834686009579", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F0156610737897804090", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:06 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:06 GMT", + "date": "Sun, 18 Aug 2019 05:49:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE70E77EB\"", - "x-ms-request-id": "9f30bab8-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDBD0B5DC\"", + "x-ms-request-id": "e4d64b48-601e-003e-2988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F1156150834701407869", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F1156610737913304015", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:06 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE7258690\"", - "x-ms-request-id": "9f30bae7-301e-00a5-5bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDBE860D8\"", + "x-ms-request-id": "e4d64b71-601e-003e-4d88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F2156150834716708613", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F2156610737931204910", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:06 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE73DF505\"", - "x-ms-request-id": "9f30bb1b-301e-00a5-07b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDC03B5FE\"", + "x-ms-request-id": "e4d64b94-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F3156150834732707867", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F3156610737946704516", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:06 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE7552AB4\"", - "x-ms-request-id": "9f30bb41-301e-00a5-2ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDC1B880D\"", + "x-ms-request-id": "e4d64bb1-601e-003e-0488-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", @@ -107,106 +107,106 @@ }, "requestBody": null, "status": 200, - "response": "blockblob2blockblob/0156150834686009579Wed, 26 Jun 2019 00:19:06 GMTWed, 26 Jun 2019 00:19:06 GMT0x8D6F9CBE70E77EB0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150834701407869Wed, 26 Jun 2019 00:19:07 GMTWed, 26 Jun 2019 00:19:07 GMT0x8D6F9CBE72586900application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwODM0NzE2NzA4NjEzITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", + "response": "blockblob2blockblob/0156610737897804090Sun, 18 Aug 2019 05:49:39 GMTSun, 18 Aug 2019 05:49:39 GMT0x8D7239FDBD0B5DC0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156610737913304015Sun, 18 Aug 2019 05:49:39 GMTSun, 18 Aug 2019 05:49:39 GMT0x8D7239FDBE860D80application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NjEwNzM3OTMxMjA0OTEwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30bb69-301e-00a5-49b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64be1-601e-003e-2888-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", - "marker": "2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwODM0NzE2NzA4NjEzITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", + "marker": "2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NjEwNzM3OTMxMjA0OTEwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", "maxresults": "2", "prefix": "blockblob", "restype": "container" }, "requestBody": null, "status": 200, - "response": "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwODM0NzE2NzA4NjEzITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156150834716708613Wed, 26 Jun 2019 00:19:07 GMTWed, 26 Jun 2019 00:19:07 GMT0x8D6F9CBE73DF5050application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/3156150834732707867Wed, 26 Jun 2019 00:19:07 GMTWed, 26 Jun 2019 00:19:07 GMT0x8D6F9CBE7552AB40application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", + "response": "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NjEwNzM3OTMxMjA0OTEwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156610737931204910Sun, 18 Aug 2019 05:49:39 GMTSun, 18 Aug 2019 05:49:39 GMT0x8D7239FDC03B5FE0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/3156610737946704516Sun, 18 Aug 2019 05:49:39 GMTSun, 18 Aug 2019 05:49:39 GMT0x8D7239FDC1B880D0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30bb8f-301e-00a5-67b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64bfd-601e-003e-3f88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F0156150834686009579", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F0156610737897804090", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:40 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30bbca-301e-00a5-1bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64c15-601e-003e-4f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F1156150834701407869", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F1156610737913304015", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:40 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30bbef-301e-00a5-3ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64c3e-601e-003e-7488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F2156150834716708613", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F2156610737931204910", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:40 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30bc33-301e-00a5-6fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64c78-601e-003e-2e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801/blockblob%2F3156150834732707867", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219/blockblob%2F3156610737946704516", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:07 GMT", + "date": "Sun, 18 Aug 2019 05:49:40 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30bc67-301e-00a5-1ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64cad-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834670304801", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737882307219", "query": { "restype": "container" }, @@ -214,19 +214,19 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30bcab-301e-00a5-4fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64cc6-601e-003e-7188-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:08 GMT", + "date": "Sun, 18 Aug 2019 05:49:40 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834670304801", - "blockblob/0": "blockblob/0156150834686009579", - "blockblob/1": "blockblob/1156150834701407869", - "blockblob/2": "blockblob/2156150834716708613", - "blockblob/3": "blockblob/3156150834732707867" + "container": "container156610737882307219", + "blockblob/0": "blockblob/0156610737897804090", + "blockblob/1": "blockblob/1156610737913304015", + "blockblob/2": "blockblob/2156610737931204910", + "blockblob/3": "blockblob/3156610737946704516" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.json b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.json index 249959c2b7f1..41537e4c2176 100644 --- a/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.json +++ b/sdk/storage/storage-blob/recordings/browsers/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834563300120", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737769803244", "query": { "restype": "container" }, @@ -10,56 +10,56 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:05 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:05 GMT", + "date": "Sun, 18 Aug 2019 05:49:37 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:37 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBE6527743\"", - "x-ms-request-id": "9f30b938-301e-00a5-72b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDB0CD0E6\"", + "x-ms-request-id": "e4d64a3e-601e-003e-4388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834563300120/blockblob%2F0156150834578801514", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737769803244/blockblob%2F0156610737785204687", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:05 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:05 GMT", + "date": "Sun, 18 Aug 2019 05:49:37 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:37 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE66A51F0\"", - "x-ms-request-id": "9f30b962-301e-00a5-15b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDB249F31\"", + "x-ms-request-id": "e4d64a5b-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834563300120/blockblob%2F1156150834593906071", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737769803244/blockblob%2F1156610737800907879", "query": {}, "requestBody": "", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:05 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:06 GMT", + "date": "Sun, 18 Aug 2019 05:49:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "1B2M2Y8AsgTpgAmY7PhCfg==", - "etag": "\"0x8D6F9CBE681D5D1\"", - "x-ms-request-id": "9f30b9a5-301e-00a5-4ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FDB3CBF72\"", + "x-ms-request-id": "e4d64a7d-601e-003e-7688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834563300120", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737769803244", "query": { "comp": "list", "include": "snapshots,metadata,uncommittedblobs,copy,deleted", @@ -68,51 +68,51 @@ }, "requestBody": null, "status": 200, - "response": "blockblobblockblob/0156150834578801514Wed, 26 Jun 2019 00:19:05 GMTWed, 26 Jun 2019 00:19:05 GMT0x8D6F9CBE66A51F00application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150834593906071Wed, 26 Jun 2019 00:19:06 GMTWed, 26 Jun 2019 00:19:06 GMT0x8D6F9CBE681D5D10application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", + "response": "blockblobblockblob/0156610737785204687Sun, 18 Aug 2019 05:49:37 GMTSun, 18 Aug 2019 05:49:37 GMT0x8D7239FDB249F310application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156610737800907879Sun, 18 Aug 2019 05:49:38 GMTSun, 18 Aug 2019 05:49:38 GMT0x8D7239FDB3CBF720application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:05 GMT", + "date": "Sun, 18 Aug 2019 05:49:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f30b9e0-301e-00a5-7bb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d64a92-601e-003e-0a88-55ccb0000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834563300120/blockblob%2F0156150834578801514", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737769803244/blockblob%2F0156610737785204687", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:05 GMT", + "date": "Sun, 18 Aug 2019 05:49:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30b9ff-301e-00a5-13b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64ab0-601e-003e-2688-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834563300120/blockblob%2F1156150834593906071", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737769803244/blockblob%2F1156610737800907879", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:06 GMT", + "date": "Sun, 18 Aug 2019 05:49:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-delete-type-permanent": "false", - "x-ms-request-id": "9f30ba26-301e-00a5-35b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64adf-601e-003e-4e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150834563300120", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610737769803244", "query": { "restype": "container" }, @@ -120,17 +120,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30ba5c-301e-00a5-63b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d64b01-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:06 GMT", + "date": "Sun, 18 Aug 2019 05:49:38 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150834563300120", - "blockblob/0": "blockblob/0156150834578801514", - "blockblob/1": "blockblob/1156150834593906071" + "container": "container156610737769803244", + "blockblob/0": "blockblob/0156610737785204687", + "blockblob/1": "blockblob/1156610737800907879" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_acquirelease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_acquirelease.json index e1af21f67804..0ea3519621ae 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_acquirelease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_acquirelease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837958802264", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741476404920", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:39 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:39 GMT", + "date": "Sun, 18 Aug 2019 05:50:14 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:14 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFA8F20E9\"", - "x-ms-request-id": "9f30eaa8-301e-00a5-2ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF124B297\"", + "x-ms-request-id": "e4d66712-601e-003e-7188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837958802264/blob156150837973808117", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741476404920/blob156610741491706098", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:39 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:39 GMT", + "date": "Sun, 18 Aug 2019 05:50:14 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBFAA6AE41\"", - "x-ms-request-id": "9f30ead0-301e-00a5-4ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF13CA2A3\"", + "x-ms-request-id": "e4d66739-601e-003e-1288-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837958802264/blob156150837973808117", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741476404920/blob156610741491706098", "query": { "comp": "lease" }, @@ -48,47 +48,48 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:39 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:39 GMT", + "date": "Sun, 18 Aug 2019 05:50:15 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFAA6AE41\"", - "x-ms-request-id": "9f30eb17-301e-00a5-06b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF13CA2A3\"", + "x-ms-request-id": "e4d66758-601e-003e-2c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837958802264/blob156150837973808117", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741476404920/blob156610741491706098", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:19:39 GMT", - "x-ms-lease-state": "leased", + "date": "Sun, 18 Aug 2019 05:50:15 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", - "content-length": "11", "x-ms-access-tier": "Cool", + "content-length": "11", + "x-ms-lease-state": "leased", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:19:39 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:39 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:15 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFAA6AE41\"", + "etag": "\"0x8D7239FF13CA2A3\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f30eb66-301e-00a5-49b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d66777-601e-003e-4788-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-lease-duration": "fixed" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837958802264/blob156150837973808117", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741476404920/blob156610741491706098", "query": { "comp": "lease" }, @@ -96,18 +97,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:39 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:39 GMT", + "date": "Sun, 18 Aug 2019 05:50:15 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFAA6AE41\"", - "x-ms-request-id": "9f30eb97-301e-00a5-6fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF13CA2A3\"", + "x-ms-request-id": "e4d66795-601e-003e-6188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837958802264", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741476404920", "query": { "restype": "container" }, @@ -115,16 +116,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30ebbd-301e-00a5-0cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d667b7-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:39 GMT", + "date": "Sun, 18 Aug 2019 05:50:15 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150837958802264", - "blob": "blob156150837973808117" + "container": "container156610741476404920", + "blob": "blob156610741491706098" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_breaklease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_breaklease.json index bb4f8baa14ef..eda03af46c42 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_breaklease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_breaklease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:04 GMT", + "date": "Sun, 18 Aug 2019 05:50:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC091125FE\"", - "x-ms-request-id": "9f310c0e-301e-00a5-19b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFFA92DD3\"", + "x-ms-request-id": "e4d67778-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211/blob156150840407909314", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279/blob156610743927004764", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:04 GMT", + "date": "Sun, 18 Aug 2019 05:50:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CC0928B0A6\"", - "x-ms-request-id": "9f310c61-301e-00a5-66b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFFBFE1AE\"", + "x-ms-request-id": "e4d67790-601e-003e-1588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211/blob156150840407909314", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279/blob156610743927004764", "query": { "comp": "lease" }, @@ -48,47 +48,48 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:04 GMT", + "date": "Sun, 18 Aug 2019 05:50:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0928B0A6\"", - "x-ms-request-id": "9f310cc2-301e-00a5-40b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFFBFE1AE\"", + "x-ms-request-id": "e4d677a0-601e-003e-2488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211/blob156150840407909314", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279/blob156610743927004764", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:04 GMT", - "x-ms-lease-state": "leased", + "date": "Sun, 18 Aug 2019 05:50:39 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", - "content-length": "11", "x-ms-access-tier": "Cool", + "content-length": "11", + "x-ms-lease-state": "leased", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:04 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:04 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0928B0A6\"", + "etag": "\"0x8D7239FFFBFE1AE\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f310d5c-301e-00a5-48b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d677bc-601e-003e-3c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-lease-duration": "fixed" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211/blob156150840407909314", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279/blob156610743927004764", "query": { "comp": "lease" }, @@ -96,73 +97,75 @@ "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:04 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:04 GMT", + "date": "Sun, 18 Aug 2019 05:50:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0928B0A6\"", - "x-ms-request-id": "9f310d8a-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFFBFE1AE\"", + "x-ms-request-id": "e4d677d6-601e-003e-5088-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-time": "5", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211/blob156150840407909314", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279/blob156610743927004764", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:04 GMT", + "date": "Sun, 18 Aug 2019 05:50:39 GMT", "x-ms-lease-state": "breaking", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-access-tier": "Cool", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:04 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:04 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0928B0A6\"", + "etag": "\"0x8D7239FFFBFE1AE\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f310dd6-301e-00a5-2fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d677ef-601e-003e-6888-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211/blob156150840407909314", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279/blob156610743927004764", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:09 GMT", + "date": "Sun, 18 Aug 2019 05:50:45 GMT", "x-ms-lease-state": "broken", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:04 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:04 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:39 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:39 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0928B0A6\"", + "etag": "\"0x8D7239FFFBFE1AE\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311481-301e-00a5-52b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67ba6-601e-003e-2188-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840393107211", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743912100279", "query": { "restype": "container" }, @@ -170,16 +173,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3114c0-301e-00a5-07b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67bb5-601e-003e-3088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:09 GMT", + "date": "Sun, 18 Aug 2019 05:50:45 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150840393107211", - "blob": "blob156150840407909314" + "container": "container156610743912100279", + "blob": "blob156610743927004764" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_changelease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_changelease.json index bbcbda6d2540..4f892fbcc9bc 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_changelease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_changelease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:02 GMT", + "date": "Sun, 18 Aug 2019 05:50:37 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC085D93E9\"", - "x-ms-request-id": "9f310965-301e-00a5-36b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFEF4FF6C\"", + "x-ms-request-id": "e4d67668-601e-003e-1488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871/blob156150840290406494", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390/blob156610743809202418", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:03 GMT", + "date": "Sun, 18 Aug 2019 05:50:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CC08759418\"", - "x-ms-request-id": "9f310999-301e-00a5-66b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFF0CC4E0\"", + "x-ms-request-id": "e4d6769b-601e-003e-3e88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871/blob156150840290406494", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390/blob156610743809202418", "query": { "comp": "lease" }, @@ -48,47 +48,48 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:03 GMT", + "date": "Sun, 18 Aug 2019 05:50:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC08759418\"", - "x-ms-request-id": "9f3109e0-301e-00a5-23b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFF0CC4E0\"", + "x-ms-request-id": "e4d676cd-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871/blob156150840290406494", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390/blob156610743809202418", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:02 GMT", - "x-ms-lease-state": "leased", + "date": "Sun, 18 Aug 2019 05:50:38 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", - "content-length": "11", "x-ms-access-tier": "Cool", + "content-length": "11", + "x-ms-lease-state": "leased", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:03 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC08759418\"", + "etag": "\"0x8D7239FFF0CC4E0\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f310a30-301e-00a5-67b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d676f3-601e-003e-0c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-lease-duration": "fixed" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871/blob156150840290406494", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390/blob156610743809202418", "query": { "comp": "lease" }, @@ -96,47 +97,48 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:03 GMT", + "date": "Sun, 18 Aug 2019 05:50:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC08759418\"", - "x-ms-request-id": "9f310a7d-301e-00a5-2cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFF0CC4E0\"", + "x-ms-request-id": "e4d67719-601e-003e-2f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "3c7e72eb-b430-4526-bc53-d8ecef03798f" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871/blob156150840290406494", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390/blob156610743809202418", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:03 GMT", - "x-ms-lease-state": "leased", + "date": "Sun, 18 Aug 2019 05:50:38 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", - "content-length": "11", "x-ms-access-tier": "Cool", + "content-length": "11", + "x-ms-lease-state": "leased", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:03 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC08759418\"", + "etag": "\"0x8D7239FFF0CC4E0\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f310ae7-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6773a-601e-003e-4c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-lease-duration": "fixed" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871/blob156150840290406494", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390/blob156610743809202418", "query": { "comp": "lease" }, @@ -144,18 +146,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:03 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:03 GMT", + "date": "Sun, 18 Aug 2019 05:50:38 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:38 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC08759418\"", - "x-ms-request-id": "9f310b1c-301e-00a5-42b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FFF0CC4E0\"", + "x-ms-request-id": "e4d67749-601e-003e-5988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150840275103871", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610743793904390", "query": { "restype": "container" }, @@ -163,16 +165,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f310bab-301e-00a5-42b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67762-601e-003e-6d88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:03 GMT", + "date": "Sun, 18 Aug 2019 05:50:38 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150840275103871", - "blob": "blob156150840290406494" + "container": "container156610743793904390", + "blob": "blob156610743809202418" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_releaselease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_releaselease.json index 63c1145e5cc1..0c1bf61f4a22 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_releaselease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_releaselease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838049107616", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741569107449", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:40 GMT", + "date": "Sun, 18 Aug 2019 05:50:15 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFB18DC26\"", - "x-ms-request-id": "9f30ebe6-301e-00a5-2cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF1B26652\"", + "x-ms-request-id": "e4d667d5-601e-003e-1988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838049107616/blob156150838064008987", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741569107449/blob156610741584409680", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:40 GMT", + "date": "Sun, 18 Aug 2019 05:50:15 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBFB2FF42D\"", - "x-ms-request-id": "9f30ec20-301e-00a5-64b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF1CA2F35\"", + "x-ms-request-id": "e4d667f8-601e-003e-3a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838049107616/blob156150838064008987", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741569107449/blob156610741584409680", "query": { "comp": "lease" }, @@ -48,47 +48,48 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:40 GMT", + "date": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFB2FF42D\"", - "x-ms-request-id": "9f30ec68-301e-00a5-1ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF1CA2F35\"", + "x-ms-request-id": "e4d66813-601e-003e-5188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838049107616/blob156150838064008987", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741569107449/blob156610741584409680", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:19:40 GMT", - "x-ms-lease-state": "leased", + "date": "Sun, 18 Aug 2019 05:50:16 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", - "content-length": "11", "x-ms-access-tier": "Cool", + "content-length": "11", + "x-ms-lease-state": "leased", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:19:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:40 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:15 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFB2FF42D\"", + "etag": "\"0x8D7239FF1CA2F35\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f30ec9a-301e-00a5-46b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d66823-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-lease-duration": "infinite" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838049107616/blob156150838064008987", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741569107449/blob156610741584409680", "query": { "comp": "lease" }, @@ -96,18 +97,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:40 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:40 GMT", + "date": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:15 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFB2FF42D\"", - "x-ms-request-id": "9f30ecc7-301e-00a5-6eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF1CA2F35\"", + "x-ms-request-id": "e4d6683b-601e-003e-7588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838049107616", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741569107449", "query": { "restype": "container" }, @@ -115,16 +116,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30ed13-301e-00a5-2bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d66848-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:40 GMT", + "date": "Sun, 18 Aug 2019 05:50:16 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150838049107616", - "blob": "blob156150838064008987" + "container": "container156610741569107449", + "blob": "blob156610741584409680" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_renewlease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_renewlease.json index 9e1391e94c74..9bc8e5991f8b 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_renewlease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_blob/recording_renewlease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:41 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "date": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFBA7052D\"", - "x-ms-request-id": "9f30ed56-301e-00a5-65b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF23DF6CF\"", + "x-ms-request-id": "e4d66855-601e-003e-0b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863/blob156150838157304793", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378/blob156610741675906963", "query": {}, "requestBody": "Hello World", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:41 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "date": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9CBFBBF0784\"", - "x-ms-request-id": "9f30edaf-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF2554A2E\"", + "x-ms-request-id": "e4d66878-601e-003e-2988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863/blob156150838157304793", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378/blob156610741675906963", "query": { "comp": "lease" }, @@ -48,74 +48,76 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:41 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "date": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFBBF0784\"", - "x-ms-request-id": "9f30edff-301e-00a5-7db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF2554A2E\"", + "x-ms-request-id": "e4d66890-601e-003e-4088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863/blob156150838157304793", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378/blob156610741675906963", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:19:41 GMT", - "x-ms-lease-state": "leased", + "date": "Sun, 18 Aug 2019 05:50:17 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", - "content-length": "11", "x-ms-access-tier": "Cool", + "content-length": "11", + "x-ms-lease-state": "leased", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:19:41 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFBBF0784\"", + "etag": "\"0x8D7239FF2554A2E\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f30ee20-301e-00a5-1cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d668b0-601e-003e-5c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-lease-duration": "fixed" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863/blob156150838157304793", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378/blob156610741675906963", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:01 GMT", + "date": "Sun, 18 Aug 2019 05:50:37 GMT", "x-ms-lease-state": "expired", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "11", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:19:41 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFBBF0784\"", + "etag": "\"0x8D7239FF2554A2E\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f310826-301e-00a5-21b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d675f3-601e-003e-2d88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863/blob156150838157304793", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378/blob156610741675906963", "query": { "comp": "lease" }, @@ -123,47 +125,48 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:01 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "date": "Sun, 18 Aug 2019 05:50:37 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFBBF0784\"", - "x-ms-request-id": "9f310870-301e-00a5-61b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF2554A2E\"", + "x-ms-request-id": "e4d67612-601e-003e-4888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863/blob156150838157304793", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378/blob156610741675906963", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:01 GMT", - "x-ms-lease-state": "leased", + "date": "Sun, 18 Aug 2019 05:50:37 GMT", "x-ms-access-tier-inferred": "true", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", - "content-length": "11", "x-ms-access-tier": "Cool", + "content-length": "11", + "x-ms-lease-state": "leased", "x-ms-lease-status": "locked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:19:41 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFBBF0784\"", + "etag": "\"0x8D7239FF2554A2E\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3108aa-301e-00a5-12b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67634-601e-003e-6588-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-lease-duration": "fixed" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863/blob156150838157304793", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378/blob156610741675906963", "query": { "comp": "lease" }, @@ -171,18 +174,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:02 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:41 GMT", + "date": "Sun, 18 Aug 2019 05:50:37 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:16 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBFBBF0784\"", - "x-ms-request-id": "9f3108c7-301e-00a5-2cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FF2554A2E\"", + "x-ms-request-id": "e4d67643-601e-003e-7088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150838142101863", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741660601378", "query": { "restype": "container" }, @@ -190,16 +193,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f31091a-301e-00a5-74b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67657-601e-003e-0388-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:02 GMT", + "date": "Sun, 18 Aug 2019 05:50:37 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150838142101863", - "blob": "blob156150838157304793" + "container": "container156610741660601378", + "blob": "blob156610741675906963" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease.json index df3c3af9c565..a60dabff495e 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835428807806", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738997009110", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:14 GMT", + "date": "Sun, 18 Aug 2019 05:49:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEB7AAC7A\"", - "x-ms-request-id": "9f30c595-301e-00a5-6bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE25DF1EE\"", + "x-ms-request-id": "e4d65463-601e-003e-3388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835428807806", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738997009110", "query": { "comp": "lease", "restype": "container" @@ -30,19 +30,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:14 GMT", + "date": "Sun, 18 Aug 2019 05:49:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEB7AAC7A\"", - "x-ms-request-id": "9f30c5cc-301e-00a5-18b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE25DF1EE\"", + "x-ms-request-id": "e4d65481-601e-003e-4d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835428807806", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738997009110", "query": { "restype": "container" }, @@ -51,13 +51,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:14 GMT", + "date": "Sun, 18 Aug 2019 05:49:50 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:14 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEB7AAC7A\"", - "x-ms-request-id": "9f30c631-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE25DF1EE\"", + "x-ms-request-id": "e4d65498-601e-003e-6488-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "fixed", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -66,7 +66,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835428807806", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738997009110", "query": { "comp": "lease", "restype": "container" @@ -75,18 +75,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:14 GMT", + "date": "Sun, 18 Aug 2019 05:49:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEB7AAC7A\"", - "x-ms-request-id": "9f30c667-301e-00a5-1cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE25DF1EE\"", + "x-ms-request-id": "e4d654b6-601e-003e-7c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835428807806", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610738997009110", "query": { "restype": "container" }, @@ -94,15 +94,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30c6b9-301e-00a5-63b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d654d0-601e-003e-1088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:14 GMT", + "date": "Sun, 18 Aug 2019 05:49:50 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150835428807806" + "container": "container156610738997009110" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.json index 744460d46c56..270bbffe66f6 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835518100690", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739080403502", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:15 GMT", + "date": "Sun, 18 Aug 2019 05:49:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC030819\"", - "x-ms-request-id": "9f30c6ec-301e-00a5-14b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE2DCD606\"", + "x-ms-request-id": "e4d654dd-601e-003e-1b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835518100690", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739080403502", "query": { "comp": "lease", "restype": "container" @@ -30,19 +30,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:15 GMT", + "date": "Sun, 18 Aug 2019 05:49:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC030819\"", - "x-ms-request-id": "9f30c71b-301e-00a5-3bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE2DCD606\"", + "x-ms-request-id": "e4d654fb-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", - "x-ms-lease-id": "52828409-5c08-4b54-bfd8-42884142686f" + "x-ms-lease-id": "f28b3a65-2b02-4b25-b32c-113793f3f980" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835518100690", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739080403502", "query": { "restype": "container" }, @@ -51,13 +51,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:15 GMT", + "date": "Sun, 18 Aug 2019 05:49:51 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:15 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC030819\"", - "x-ms-request-id": "9f30c76b-301e-00a5-01b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE2DCD606\"", + "x-ms-request-id": "e4d65521-601e-003e-5888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "fixed", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -66,7 +66,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835518100690", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739080403502", "query": { "comp": "lease", "restype": "container" @@ -75,18 +75,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:15 GMT", + "date": "Sun, 18 Aug 2019 05:49:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC030819\"", - "x-ms-request-id": "9f30c795-301e-00a5-29b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE2DCD606\"", + "x-ms-request-id": "e4d6554f-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835518100690", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739080403502", "query": { "restype": "container" }, @@ -94,15 +94,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30c7d3-301e-00a5-60b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65578-601e-003e-2688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:15 GMT", + "date": "Sun, 18 Aug 2019 05:49:51 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150835518100690" + "container": "container156610739080403502" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_breaklease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_breaklease.json index 3cde4631809d..1d9ae1d26a54 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_breaklease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_breaklease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837486709446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741063002802", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:34 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:34 GMT", + "date": "Sun, 18 Aug 2019 05:50:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF7BEB5B3\"", - "x-ms-request-id": "9f30e33e-301e-00a5-43b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEEADC135\"", + "x-ms-request-id": "e4d66462-601e-003e-0888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837486709446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741063002802", "query": { "comp": "lease", "restype": "container" @@ -30,19 +30,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:34 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:34 GMT", + "date": "Sun, 18 Aug 2019 05:50:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF7BEB5B3\"", - "x-ms-request-id": "9f30e393-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEEADC135\"", + "x-ms-request-id": "e4d6648e-601e-003e-3388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837486709446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741063002802", "query": { "restype": "container" }, @@ -51,13 +51,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:34 GMT", + "date": "Sun, 18 Aug 2019 05:50:11 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:34 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF7BEB5B3\"", - "x-ms-request-id": "9f30e402-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEEADC135\"", + "x-ms-request-id": "e4d664a9-601e-003e-4b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "fixed", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -66,7 +66,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837486709446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741063002802", "query": { "comp": "lease", "restype": "container" @@ -75,19 +75,19 @@ "status": 202, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:35 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:34 GMT", + "date": "Sun, 18 Aug 2019 05:50:11 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF7BEB5B3\"", - "x-ms-request-id": "9f30e43e-301e-00a5-21b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEEADC135\"", + "x-ms-request-id": "e4d664be-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-time": "3", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837486709446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741063002802", "query": { "restype": "container" }, @@ -96,13 +96,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:35 GMT", + "date": "Sun, 18 Aug 2019 05:50:11 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:34 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF7BEB5B3\"", - "x-ms-request-id": "9f30e599-301e-00a5-50b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEEADC135\"", + "x-ms-request-id": "e4d664da-601e-003e-7988-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "breaking" @@ -110,7 +110,7 @@ }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837486709446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741063002802", "query": { "restype": "container" }, @@ -119,13 +119,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "unlocked", - "date": "Wed, 26 Jun 2019 00:19:38 GMT", + "date": "Sun, 18 Aug 2019 05:50:14 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:34 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF7BEB5B3\"", - "x-ms-request-id": "9f30ea34-301e-00a5-4db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEEADC135\"", + "x-ms-request-id": "e4d666de-601e-003e-4288-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "broken" @@ -133,7 +133,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837486709446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610741063002802", "query": { "restype": "container" }, @@ -141,15 +141,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30ea76-301e-00a5-02b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d666fb-601e-003e-5c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:39 GMT", + "date": "Sun, 18 Aug 2019 05:50:14 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150837486709446" + "container": "container156610741063002802" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_changelease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_changelease.json index 4d674287938d..01c10415eb94 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_changelease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_changelease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837386102134", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610740959601661", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:33 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:33 GMT", + "date": "Sun, 18 Aug 2019 05:50:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF725B560\"", - "x-ms-request-id": "9f30e19d-301e-00a5-5ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEE10532A\"", + "x-ms-request-id": "e4d6636a-601e-003e-2988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837386102134", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610740959601661", "query": { "comp": "lease", "restype": "container" @@ -30,19 +30,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:33 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:33 GMT", + "date": "Sun, 18 Aug 2019 05:50:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF725B560\"", - "x-ms-request-id": "9f30e1e9-301e-00a5-1db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEE10532A\"", + "x-ms-request-id": "e4d6639a-601e-003e-4f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837386102134", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610740959601661", "query": { "restype": "container" }, @@ -51,13 +51,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:33 GMT", + "date": "Sun, 18 Aug 2019 05:50:09 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:33 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF725B560\"", - "x-ms-request-id": "9f30e246-301e-00a5-6bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEE10532A\"", + "x-ms-request-id": "e4d663bf-601e-003e-7288-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "fixed", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -66,7 +66,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837386102134", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610740959601661", "query": { "comp": "lease", "restype": "container" @@ -75,19 +75,19 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:33 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:33 GMT", + "date": "Sun, 18 Aug 2019 05:50:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF725B560\"", - "x-ms-request-id": "9f30e271-301e-00a5-0fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEE10532A\"", + "x-ms-request-id": "e4d663e5-601e-003e-1788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "3c7e72eb-b430-4526-bc53-d8ecef03798f" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837386102134", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610740959601661", "query": { "restype": "container" }, @@ -96,13 +96,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:34 GMT", + "date": "Sun, 18 Aug 2019 05:50:10 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:33 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF725B560\"", - "x-ms-request-id": "9f30e2b8-301e-00a5-4eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEE10532A\"", + "x-ms-request-id": "e4d66402-601e-003e-3188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "fixed", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -111,7 +111,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837386102134", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610740959601661", "query": { "comp": "lease", "restype": "container" @@ -120,18 +120,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:34 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:33 GMT", + "date": "Sun, 18 Aug 2019 05:50:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBF725B560\"", - "x-ms-request-id": "9f30e2e4-301e-00a5-78b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FEE10532A\"", + "x-ms-request-id": "e4d66414-601e-003e-4188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150837386102134", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610740959601661", "query": { "restype": "container" }, @@ -139,15 +139,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30e314-301e-00a5-1eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d66432-601e-003e-5c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:34 GMT", + "date": "Sun, 18 Aug 2019 05:50:10 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150837386102134" + "container": "container156610740959601661" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_releaselease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_releaselease.json index 8ff4e1ddc452..e17624f345c0 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_releaselease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_releaselease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835592108442", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739156807303", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:49:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC7406C2\"", - "x-ms-request-id": "9f30c7ff-301e-00a5-0ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE35130E6\"", + "x-ms-request-id": "e4d6559a-601e-003e-4588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835592108442", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739156807303", "query": { "comp": "lease", "restype": "container" @@ -30,19 +30,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:49:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC7406C2\"", - "x-ms-request-id": "9f30c83b-301e-00a5-3fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE35130E6\"", + "x-ms-request-id": "e4d655bd-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835592108442", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739156807303", "query": { "restype": "container" }, @@ -51,13 +51,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:15 GMT", + "date": "Sun, 18 Aug 2019 05:49:51 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC7406C2\"", - "x-ms-request-id": "9f30c86a-301e-00a5-68b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE35130E6\"", + "x-ms-request-id": "e4d655d6-601e-003e-7788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "infinite", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -66,7 +66,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835592108442", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739156807303", "query": { "comp": "lease", "restype": "container" @@ -75,18 +75,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:49:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBEC7406C2\"", - "x-ms-request-id": "9f30c897-301e-00a5-11b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE35130E6\"", + "x-ms-request-id": "e4d655f7-601e-003e-1488-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835592108442", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739156807303", "query": { "restype": "container" }, @@ -94,15 +94,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30c8c5-301e-00a5-3eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d65617-601e-003e-3188-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:49:52 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150835592108442" + "container": "container156610739156807303" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_renewlease.json b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_renewlease.json index f1ec869aaafe..5c085d0bec61 100644 --- a/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_renewlease.json +++ b/sdk/storage/storage-blob/recordings/browsers/leaseclient_from_container/recording_renewlease.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:49:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBECEAF9E7\"", - "x-ms-request-id": "9f30c906-301e-00a5-7ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE3C1E186\"", + "x-ms-request-id": "e4d65631-601e-003e-4588-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "comp": "lease", "restype": "container" @@ -30,19 +30,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:49:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBECEAF9E7\"", - "x-ms-request-id": "9f30c94e-301e-00a5-37b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE3C1E186\"", + "x-ms-request-id": "e4d65660-601e-003e-6d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "restype": "container" }, @@ -51,13 +51,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:49:52 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBECEAF9E7\"", - "x-ms-request-id": "9f30c986-301e-00a5-6bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE3C1E186\"", + "x-ms-request-id": "e4d6567b-601e-003e-0388-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "fixed", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -66,7 +66,7 @@ }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "restype": "container" }, @@ -75,13 +75,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "unlocked", - "date": "Wed, 26 Jun 2019 00:19:32 GMT", + "date": "Sun, 18 Aug 2019 05:50:08 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBECEAF9E7\"", - "x-ms-request-id": "9f30e096-301e-00a5-7bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE3C1E186\"", + "x-ms-request-id": "e4d6629b-601e-003e-7788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0", "x-ms-lease-state": "expired" @@ -89,7 +89,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "comp": "lease", "restype": "container" @@ -98,19 +98,19 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:32 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBECEAF9E7\"", - "x-ms-request-id": "9f30e0bf-301e-00a5-1cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE3C1E186\"", + "x-ms-request-id": "e4d662db-601e-003e-3188-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0", "x-ms-lease-id": "ca761232-ed42-11ce-bacd-00aa0057b223" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "restype": "container" }, @@ -119,13 +119,13 @@ "response": "", "responseHeaders": { "x-ms-lease-status": "locked", - "date": "Wed, 26 Jun 2019 00:19:33 GMT", + "date": "Sun, 18 Aug 2019 05:50:09 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBECEAF9E7\"", - "x-ms-request-id": "9f30e0fd-301e-00a5-54b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE3C1E186\"", + "x-ms-request-id": "e4d66303-601e-003e-5088-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-lease-duration": "fixed", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -134,7 +134,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "comp": "lease", "restype": "container" @@ -143,18 +143,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:19:33 GMT", - "last-modified": "Wed, 26 Jun 2019 00:19:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:49:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CBECEAF9E7\"", - "x-ms-request-id": "9f30e117-301e-00a5-6bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7239FE3C1E186\"", + "x-ms-request-id": "e4d6630c-601e-003e-5888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150835670303165", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610739230809418", "query": { "restype": "container" }, @@ -162,15 +162,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f30e145-301e-00a5-14b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d66332-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:19:33 GMT", + "date": "Sun, 18 Aug 2019 05:50:09 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150835670303165" + "container": "container156610739230809418" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_can_be_created_with_a_sas_connection_string.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_can_be_created_with_a_sas_connection_string.json index 19af3724b013..4059f0a748ab 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_can_be_created_with_a_sas_connection_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_can_be_created_with_a_sas_connection_string.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899383408439", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745317000558", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:13 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:53 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:53 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4A86DCFB\"", - "x-ms-request-id": "bc484ebe-901e-0046-6945-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A008090A0C\"", + "x-ms-request-id": "e4d6821c-601e-003e-5e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899383408439/blob156464899398801534", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745317000558/blob156610745332404681", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:13 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:53 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:53 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4A9ED1A5\"", - "x-ms-request-id": "bc484eff-901e-0046-2245-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A008211BA0\"", + "x-ms-request-id": "e4d68236-601e-003e-7588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899383408439/blob156464899398801534", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745317000558/blob156610745332404681", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Thu, 01 Aug 2019 08:43:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:53 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "512", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Thu, 01 Aug 2019 08:43:14 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:14 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:53 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:53 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D7165C4A9ED1A5\"", + "etag": "\"0x8D723A008211BA0\"", "content-type": "application/octet-stream", - "x-ms-request-id": "bc484f34-901e-0046-4e45-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6824b-601e-003e-0688-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899383408439", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745317000558", "query": { "restype": "container" }, @@ -72,16 +73,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484f72-901e-0046-0445-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6825c-601e-003e-1788-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:53 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899383408439", - "blob": "blob156464899398801534" + "container": "container156610745317000558", + "blob": "blob156610745332404681" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_clearpages.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_clearpages.json index eb398defa4f4..0ea78919ad20 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_clearpages.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_clearpages.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:12 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0E6BBECE\"", - "x-ms-request-id": "9f3118fe-301e-00a5-30b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A004F4AABB\"", + "x-ms-request-id": "e4d67e35-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837/blob156150841306906076", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460/blob156610744823903965", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:12 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0E84CF86\"", - "x-ms-request-id": "9f31194a-301e-00a5-70b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0051990AE\"", + "x-ms-request-id": "e4d67e5d-601e-003e-1888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837/blob156150841306906076", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460/blob156610744823903965", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:12 GMT", + "date": "Sun, 18 Aug 2019 05:50:48 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:13 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0E84CF86\"", + "etag": "\"0x8D723A0051990AE\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311987-301e-00a5-25b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67e81-601e-003e-3788-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837/blob156150841306906076", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460/blob156610744823903965", "query": { "comp": "page" }, @@ -72,46 +73,47 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:12 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "yaNM/IXZgmmMasifdgcavQ==", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0EB22942\"", - "x-ms-request-id": "9f3119af-301e-00a5-49b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00549D12C\"", + "x-ms-request-id": "e4d67e96-601e-003e-4788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837/blob156150841306906076", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460/blob156610744823903965", "query": {}, "requestBody": null, "status": 206, "response": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:48 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:13 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0EB22942\"", + "etag": "\"0x8D723A00549D12C\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3119d1-301e-00a5-68b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67ece-601e-003e-7b88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837/blob156150841306906076", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460/blob156610744823903965", "query": { "comp": "page" }, @@ -119,44 +121,45 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0ED45D6C\"", - "x-ms-request-id": "9f3119f2-301e-00a5-04b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0056EEC18\"", + "x-ms-request-id": "e4d67edd-601e-003e-0788-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837/blob156150841306906076", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460/blob156610744823903965", "query": {}, "requestBody": null, "status": 206, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:48 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "512", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:13 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:48 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:48 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0ED45D6C\"", + "etag": "\"0x8D723A0056EEC18\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311a30-301e-00a5-38b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67ef7-601e-003e-1f88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841291109837", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744799608460", "query": { "restype": "container" }, @@ -164,16 +167,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f311a6c-301e-00a5-6fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67f11-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:49 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841291109837", - "blob": "blob156150841306906076" + "container": "container156610744799608460", + "blob": "blob156610744823903965" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_all_parameters_set.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_all_parameters_set.json index 451f0b76a6d3..cb0b8ff3acac 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_all_parameters_set.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841094802722", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744605107709", "query": { "restype": "container" }, @@ -10,59 +10,60 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:10 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:11 GMT", + "date": "Sun, 18 Aug 2019 05:50:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0D40280C\"", - "x-ms-request-id": "9f31160a-301e-00a5-1ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A003CAC16E\"", + "x-ms-request-id": "e4d67c73-601e-003e-5988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841094802722/blob156150841109900015", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744605107709/blob156610744620405649", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:10 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:11 GMT", + "date": "Sun, 18 Aug 2019 05:50:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0D587580\"", - "x-ms-request-id": "9f31163d-301e-00a5-43b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A003E285E6\"", + "x-ms-request-id": "e4d67c95-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841094802722/blob156150841109900015", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744605107709/blob156610744620405649", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:10 GMT", + "date": "Sun, 18 Aug 2019 05:50:46 GMT", "content-encoding": "blobContentEncoding", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-disposition": "blobContentDisposition", "content-length": "512", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "accept-ranges": "bytes", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:11 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0D587580\"", + "etag": "\"0x8D723A003E285E6\"", "content-language": "blobContentLanguage", - "x-ms-request-id": "9f311681-301e-00a5-7bb4-2b4188000000", + "x-ms-request-id": "e4d67cbd-601e-003e-2088-55ccb0000000", "cache-control": "blobCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-key1": "vala", "content-type": "blobContentType", "x-ms-meta-key2": "valb" @@ -70,16 +71,17 @@ }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841094802722/blob156150841109900015", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744605107709/blob156610744620405649", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:10 GMT", + "date": "Sun, 18 Aug 2019 05:50:46 GMT", "content-encoding": "blobContentEncoding", "x-ms-access-tier-inferred": "true", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "x-ms-access-tier": "Cool", "content-disposition": "blobContentDisposition", @@ -87,15 +89,15 @@ "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", "accept-ranges": "bytes", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:11 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0D587580\"", + "etag": "\"0x8D723A003E285E6\"", "content-language": "blobContentLanguage", - "x-ms-request-id": "9f3116ba-301e-00a5-2cb4-2b4188000000", + "x-ms-request-id": "e4d67ccb-601e-003e-2c88-55ccb0000000", "cache-control": "blobCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-key1": "vala", "content-type": "blobContentType", "x-ms-meta-key2": "valb" @@ -103,7 +105,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841094802722", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744605107709", "query": { "restype": "container" }, @@ -111,16 +113,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3116f3-301e-00a5-5fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67ce4-601e-003e-4288-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:11 GMT", + "date": "Sun, 18 Aug 2019 05:50:46 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841094802722", - "blob": "blob156150841109900015" + "container": "container156610744605107709", + "blob": "blob156610744620405649" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_default_parameters.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_default_parameters.json index b2f14c6f14fc..e1bf6cda2130 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_default_parameters.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_create_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841031401019", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744539708983", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:09 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:10 GMT", + "date": "Sun, 18 Aug 2019 05:50:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0CDF8010\"", - "x-ms-request-id": "9f311505-301e-00a5-42b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00366E459\"", + "x-ms-request-id": "e4d67bec-601e-003e-6088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841031401019/blob156150841046501446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744539708983/blob156610744555004513", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:10 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:10 GMT", + "date": "Sun, 18 Aug 2019 05:50:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0CF77F4F\"", - "x-ms-request-id": "9f311553-301e-00a5-7fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0037F4542\"", + "x-ms-request-id": "e4d67c1a-601e-003e-0888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841031401019/blob156150841046501446", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744539708983/blob156610744555004513", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:10 GMT", + "date": "Sun, 18 Aug 2019 05:50:45 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "512", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:10 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:10 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:45 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:45 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0CF77F4F\"", + "etag": "\"0x8D723A0037F4542\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311594-301e-00a5-36b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67c38-601e-003e-2488-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841031401019", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744539708983", "query": { "restype": "container" }, @@ -72,16 +73,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3115dc-301e-00a5-74b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67c59-601e-003e-3f88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:10 GMT", + "date": "Sun, 18 Aug 2019 05:50:45 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841031401019", - "blob": "blob156150841046501446" + "container": "container156610744539708983", + "blob": "blob156610744555004513" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpageranges.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpageranges.json index 884f47c4fd47..6b60a771230a 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpageranges.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpageranges.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0F19836D\"", - "x-ms-request-id": "9f311aa3-301e-00a5-1db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A005B81E63\"", + "x-ms-request-id": "e4d67f36-601e-003e-5888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598/blob156150841420100528", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332/blob156610744943806275", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:13 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0F31A96B\"", - "x-ms-request-id": "9f311aed-301e-00a5-61b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A005CFE265\"", + "x-ms-request-id": "e4d67f56-601e-003e-7588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598/blob156150841420100528", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332/blob156610744943806275", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:13 GMT", + "date": "Sun, 18 Aug 2019 05:50:49 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:14 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0F31A96B\"", + "etag": "\"0x8D723A005CFE265\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311b43-301e-00a5-29b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67f81-601e-003e-1888-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598/blob156150841420100528", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332/blob156610744943806275", "query": { "comp": "page" }, @@ -72,21 +73,21 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "VpBzljOcorCZvRIkX5Nt3A==", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0F61E9DD\"", - "x-ms-request-id": "9f311b8d-301e-00a5-69b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A005FF1141\"", + "x-ms-request-id": "e4d67f9c-601e-003e-3188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598/blob156150841420100528", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332/blob156610744943806275", "query": { "comp": "page" }, @@ -94,21 +95,21 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "uk9S5NXZfBvPq4jGr+LM5g==", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0F6E6F3F\"", - "x-ms-request-id": "9f311bb6-301e-00a5-0fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0060AD333\"", + "x-ms-request-id": "e4d67fb3-601e-003e-4888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598/blob156150841420100528", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332/blob156610744943806275", "query": { "comp": "pagelist" }, @@ -116,20 +117,20 @@ "status": 200, "response": "0511", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:49 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0F6E6F3F\"", + "etag": "\"0x8D723A0060AD333\"", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f311c0e-301e-00a5-59b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67fd4-601e-003e-6888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-blob-content-length": "1024" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598/blob156150841420100528", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332/blob156610744943806275", "query": { "comp": "pagelist" }, @@ -137,20 +138,20 @@ "status": 200, "response": "5121023", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:49 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0F6E6F3F\"", + "etag": "\"0x8D723A0060AD333\"", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f311c57-301e-00a5-1bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67ff6-601e-003e-0288-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-blob-content-length": "1024" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841404803598", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744928203332", "query": { "restype": "container" }, @@ -158,16 +159,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f311cbb-301e-00a5-77b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6800e-601e-003e-1988-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:50 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841404803598", - "blob": "blob156150841420100528" + "container": "container156610744928203332", + "blob": "blob156610744943806275" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpagerangesdiff.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpagerangesdiff.json index e3b90524c2c7..8cb80222dab2 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpagerangesdiff.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_getpagerangesdiff.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:15 GMT", + "date": "Sun, 18 Aug 2019 05:50:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0FCAF218\"", - "x-ms-request-id": "9f311cea-301e-00a5-20b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00667DF31\"", + "x-ms-request-id": "e4d68042-601e-003e-4988-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122/blob156150841536408733", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121/blob156610745058805472", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:14 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:15 GMT", + "date": "Sun, 18 Aug 2019 05:50:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0FE2C9DA\"", - "x-ms-request-id": "9f311d14-301e-00a5-48b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0067EDFC8\"", + "x-ms-request-id": "e4d68062-601e-003e-6688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122/blob156150841536408733", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121/blob156610745058805472", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:15 GMT", + "date": "Sun, 18 Aug 2019 05:50:50 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:15 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:50 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0FE2C9DA\"", + "etag": "\"0x8D723A0067EDFC8\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311d39-301e-00a5-6bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68091-601e-003e-0f88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122/blob156150841536408733", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121/blob156610745058805472", "query": { "comp": "page" }, @@ -72,21 +73,21 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:15 GMT", + "date": "Sun, 18 Aug 2019 05:50:50 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "u+ZALNybfiA2/JfpqRcmzQ==", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC10126DEB\"", - "x-ms-request-id": "9f311d79-301e-00a5-1fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A006AEF923\"", + "x-ms-request-id": "e4d680b7-601e-003e-3188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122/blob156150841536408733", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121/blob156610745058805472", "query": { "comp": "snapshot" }, @@ -94,19 +95,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:15 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC10126DEB\"", - "x-ms-request-id": "9f311d9f-301e-00a5-3fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A006AEF923\"", + "x-ms-request-id": "e4d680f6-601e-003e-6988-55ccb0000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "false", "content-length": "0", - "x-ms-snapshot": "2019-06-26T00:20:15.9322801Z" + "x-ms-snapshot": "2019-08-18T05:50:51.1655495Z" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122/blob156150841536408733", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121/blob156610745058805472", "query": { "comp": "page" }, @@ -114,21 +116,21 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "VpBzljOcorCZvRIkX5Nt3A==", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC10443543\"", - "x-ms-request-id": "9f311de3-301e-00a5-7bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A006D35091\"", + "x-ms-request-id": "e4d68109-601e-003e-7c88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122/blob156150841536408733", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121/blob156610745058805472", "query": { "comp": "page" }, @@ -136,41 +138,41 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC10506C7B\"", - "x-ms-request-id": "9f311df2-301e-00a5-08b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A006DFAED7\"", + "x-ms-request-id": "e4d6810f-601e-003e-0288-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122/blob156150841536408733", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121/blob156610745058805472", "query": { "comp": "pagelist", - "prevsnapshot": "2019-06-26T00:20:15.9322801Z" + "prevsnapshot": "2019-08-18T05:50:51.1655495Z" }, "requestBody": null, "status": 200, "response": "05115121023", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:15 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC10506C7B\"", + "etag": "\"0x8D723A006DFAED7\"", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f311e1e-301e-00a5-2fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68126-601e-003e-1388-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-blob-content-length": "1024" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841521208122", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745043309121", "query": { "restype": "container" }, @@ -178,16 +180,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f311e4c-301e-00a5-57b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6813c-601e-003e-2788-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:15 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841521208122", - "blob": "blob156150841536408733" + "container": "container156610745043309121", + "blob": "blob156610745058805472" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json index 97b9fccbd70c..b45754f84728 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899476500296", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745411204057", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:14 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:54 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4B1505E1\"", - "x-ms-request-id": "bc485038-901e-0046-3345-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A008990847\"", + "x-ms-request-id": "e4d682b7-601e-003e-5d88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899476500296", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745411204057", "query": { "restype": "container" }, @@ -29,16 +29,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc48506a-901e-0046-6145-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d682ca-601e-003e-6e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:54 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899476500296", - "blob": "blob156464899492003371" + "container": "container156610745411204057", + "blob": "blob156610745426805977" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json index 8c0617398c9b..6e17e141061c 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899445806110", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745379707301", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 08:43:13 GMT", - "last-modified": "Thu, 01 Aug 2019 08:43:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:53 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:53 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D7165C4AE561C7\"", - "x-ms-request-id": "bc484fbf-901e-0046-4c45-48a407000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00868C7B9\"", + "x-ms-request-id": "e4d68273-601e-003e-2b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156464899445806110", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745379707301", "query": { "restype": "container" }, @@ -29,16 +29,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "bc484ff5-901e-0046-7c45-48a407000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6828a-601e-003e-3c88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 08:43:14 GMT", + "date": "Sun, 18 Aug 2019 05:50:53 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156464899445806110", - "blob": "blob156464899460801711" + "container": "container156610745379707301", + "blob": "blob156610745395201357" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_updatesequencenumber.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_updatesequencenumber.json index 3e98efc66254..97bc7f0117f8 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_updatesequencenumber.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_updatesequencenumber.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185", "query": { "restype": "container" }, @@ -10,63 +10,64 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC1096CCCF\"", - "x-ms-request-id": "9f311e7f-301e-00a5-02b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A007273366\"", + "x-ms-request-id": "e4d68159-601e-003e-3e88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC10B693AF\"", - "x-ms-request-id": "9f311ebf-301e-00a5-37b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0073F9365\"", + "x-ms-request-id": "e4d68178-601e-003e-5188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:51 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:16 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:51 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC10B693AF\"", + "etag": "\"0x8D723A0073F9365\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311f0a-301e-00a5-79b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68186-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": { "comp": "properties" }, @@ -74,46 +75,47 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:17 GMT", + "date": "Sun, 18 Aug 2019 05:50:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "1", - "etag": "\"0x8D6F9CC10E43B99\"", - "x-ms-request-id": "9f311f3b-301e-00a5-1fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0076DB0A0\"", + "x-ms-request-id": "e4d681a5-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:16 GMT", + "date": "Sun, 18 Aug 2019 05:50:52 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:17 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "1", - "etag": "\"0x8D6F9CC10E43B99\"", + "etag": "\"0x8D723A0076DB0A0\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311f63-301e-00a5-41b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d681bb-601e-003e-0c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": { "comp": "properties" }, @@ -121,46 +123,47 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:17 GMT", + "date": "Sun, 18 Aug 2019 05:50:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "10", - "etag": "\"0x8D6F9CC11116E3E\"", - "x-ms-request-id": "9f311f8e-301e-00a5-66b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0079BA6C7\"", + "x-ms-request-id": "e4d681ca-601e-003e-1b88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:17 GMT", + "date": "Sun, 18 Aug 2019 05:50:52 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:17 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "10", - "etag": "\"0x8D6F9CC11116E3E\"", + "etag": "\"0x8D723A0079BA6C7\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311fc7-301e-00a5-1cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d681dd-601e-003e-2c88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": { "comp": "properties" }, @@ -168,46 +171,47 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:17 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:17 GMT", + "date": "Sun, 18 Aug 2019 05:50:52 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "100", - "etag": "\"0x8D6F9CC1132DEF4\"", - "x-ms-request-id": "9f311fd1-301e-00a5-25b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A007BDB3E5\"", + "x-ms-request-id": "e4d681e1-601e-003e-3088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783/blob156150841675107524", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185/blob156610745184401274", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:17 GMT", + "date": "Sun, 18 Aug 2019 05:50:52 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:16 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:17 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:51 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:52 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "100", - "etag": "\"0x8D6F9CC1132DEF4\"", + "etag": "\"0x8D723A007BDB3E5\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f312008-301e-00a5-4db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d681f3-601e-003e-4088-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841654807783", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745169100185", "query": { "restype": "container" }, @@ -215,16 +219,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f312042-301e-00a5-7bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68205-601e-003e-4e88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:17 GMT", + "date": "Sun, 18 Aug 2019 05:50:52 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841654807783", - "blob": "blob156150841675107524" + "container": "container156610745169100185", + "blob": "blob156610745184401274" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_uploadpages.json b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_uploadpages.json index 75186a86ebc4..688772a51ef2 100644 --- a/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_uploadpages.json +++ b/sdk/storage/storage-blob/recordings/browsers/pageblobclient/recording_uploadpages.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280", "query": { "restype": "container" }, @@ -10,61 +10,62 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:11 GMT", + "date": "Sun, 18 Aug 2019 05:50:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:46 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0DB40D69\"", - "x-ms-request-id": "9f311741-301e-00a5-25b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A004402DEC\"", + "x-ms-request-id": "e4d67d01-601e-003e-5c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703/blob156150841186504385", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280/blob156610744697406511", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:11 GMT", + "date": "Sun, 18 Aug 2019 05:50:46 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC0DCD1E39\"", - "x-ms-request-id": "9f31178a-301e-00a5-64b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00457F24A\"", + "x-ms-request-id": "e4d67d2d-601e-003e-0188-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703/blob156150841186504385", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280/blob156610744697406511", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:11 GMT", + "date": "Sun, 18 Aug 2019 05:50:47 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1024", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:11 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0DCD1E39\"", + "etag": "\"0x8D723A00457F24A\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3117ba-301e-00a5-0cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67d5a-601e-003e-2b88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703/blob156150841186504385", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280/blob156610744697406511", "query": { "comp": "page" }, @@ -72,21 +73,21 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:12 GMT", + "date": "Sun, 18 Aug 2019 05:50:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "VpBzljOcorCZvRIkX5Nt3A==", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0DFC7424\"", - "x-ms-request-id": "9f3117e5-301e-00a5-34b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00487212A\"", + "x-ms-request-id": "e4d67d8c-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703/blob156150841186504385", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280/blob156610744697406511", "query": { "comp": "page" }, @@ -94,71 +95,73 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:12 GMT", + "date": "Sun, 18 Aug 2019 05:50:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "uk9S5NXZfBvPq4jGr+LM5g==", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0E08AB58\"", - "x-ms-request-id": "9f311811-301e-00a5-5ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00493F4BE\"", + "x-ms-request-id": "e4d67d9d-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703/blob156150841186504385", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280/blob156610744697406511", "query": {}, "requestBody": null, "status": 206, "response": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:12 GMT", + "date": "Sun, 18 Aug 2019 05:50:47 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "512", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:12 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0E08AB58\"", + "etag": "\"0x8D723A00493F4BE\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f31183b-301e-00a5-01b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67dbe-601e-003e-0988-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703/blob156150841186504385", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280/blob156610744697406511", "query": {}, "requestBody": null, "status": 206, "response": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "responseHeaders": { "x-ms-blob-type": "PageBlob", - "date": "Wed, 26 Jun 2019 00:20:12 GMT", + "date": "Sun, 18 Aug 2019 05:50:47 GMT", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "512", "x-ms-lease-state": "available", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:11 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:12 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:50:47 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:47 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-blob-sequence-number": "0", - "etag": "\"0x8D6F9CC0E08AB58\"", + "etag": "\"0x8D723A00493F4BE\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f311876-301e-00a5-36b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67de8-601e-003e-2f88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841170604703", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610744682109280", "query": { "restype": "container" }, @@ -166,16 +169,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3118c5-301e-00a5-7cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d67e0e-601e-003e-5488-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:12 GMT", + "date": "Sun, 18 Aug 2019 05:50:47 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841170604703", - "blob": "blob156150841186504385" + "container": "container156610744682109280", + "blob": "blob156610744697406511" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json new file mode 100644 index 000000000000..b529d4d60250 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json @@ -0,0 +1,43 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745504009156", + "query": { + "restype": "container" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Sun, 18 Aug 2019 05:50:55 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:55 GMT", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D723A009266DF1\"", + "x-ms-request-id": "e4d68344-601e-003e-5488-55ccb0000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745504009156", + "query": { + "restype": "container" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "e4d684a9-601e-003e-7888-55ccb0000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", + "date": "Sun, 18 Aug 2019 05:50:57 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "container": "container156610745504009156" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json index 65f86a00546e..4966710520fe 100644 --- a/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json +++ b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841863900560", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745735206100", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:18 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:18 GMT", + "date": "Sun, 18 Aug 2019 05:50:57 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:57 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC11D614D1\"", - "x-ms-request-id": "9f31215c-301e-00a5-74b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00A87015B\"", + "x-ms-request-id": "e4d684c8-601e-003e-1288-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841863900560", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745735206100", "query": { "restype": "container" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3126b3-301e-00a5-04b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d687dd-601e-003e-4588-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:22 GMT", + "date": "Sun, 18 Aug 2019 05:51:01 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841863900560" + "container": "container156610745735206100" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json index 867b0cc7cac0..ae40a336ef54 100644 --- a/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json +++ b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150842297708839", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610746168902678", "query": { "restype": "container" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:22 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:23 GMT", + "date": "Sun, 18 Aug 2019 05:51:01 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:01 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC146BDD87\"", - "x-ms-request-id": "9f3126f8-301e-00a5-3db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00D1CA3C9\"", + "x-ms-request-id": "e4d687ff-601e-003e-6388-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount-secondary.blob.core.windows.net/container156150842297708839", + "url": "https://fakestorageaccount-secondary.blob.core.windows.net/container156610746168902678", "query": { "restype": "container" }, "requestBody": null, "status": 404, - "response": "ContainerNotFoundThe specified container does not exist.\nRequestId:af0ecb83-801e-0033-45b4-2b33a9000000\nTime:2019-06-26T00:20:23.6758910Z", + "response": "ContainerNotFoundThe specified container does not exist.\nRequestId:95f5a7b1-401e-000c-2988-558475000000\nTime:2019-08-18T05:51:02.9315816Z", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:23 GMT", + "date": "Sun, 18 Aug 2019 05:51:02 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "ContainerNotFound", "content-type": "application/xml", - "x-ms-request-id": "af0ecb83-801e-0033-45b4-2b33a9000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "95f5a7b1-401e-000c-2988-558475000000", + "x-ms-version": "2018-11-09", "content-length": "225" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150842297708839", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610746168902678", "query": { "restype": "container" }, @@ -48,15 +48,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3127ed-301e-00a5-08b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d688ec-601e-003e-3088-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:23 GMT", + "date": "Sun, 18 Aug 2019 05:51:02 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150842297708839" + "container": "container156610746168902678" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json index 82d3c7bbcafb..80cbc22b195b 100644 --- a/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json +++ b/sdk/storage/storage-blob/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841802403746", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745442508583", "query": { "restype": "container" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:17 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:18 GMT", + "date": "Sun, 18 Aug 2019 05:50:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:54 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC11785382\"", - "x-ms-request-id": "9f312086-301e-00a5-3ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A008C8855E\"", + "x-ms-request-id": "e4d682e0-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841802403746", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745442508583", "query": { "comp": "metadata", "restype": "container" @@ -30,18 +30,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:17 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:18 GMT", + "date": "Sun, 18 Aug 2019 05:50:54 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:54 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC11918489\"", - "x-ms-request-id": "9f3120ac-301e-00a5-5ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A008E06530\"", + "x-ms-request-id": "e4d68305-601e-003e-1c88-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841802403746", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745442508583", "query": { "restype": "container" }, @@ -49,7 +49,7 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:17 GMT", + "date": "Sun, 18 Aug 2019 05:50:54 GMT", "x-ms-has-legal-hold": "false", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -57,17 +57,17 @@ "x-ms-lease-status": "unlocked", "x-ms-meta-keya": "vala", "x-ms-meta-keyb": "valb", - "last-modified": "Wed, 26 Jun 2019 00:20:18 GMT", + "last-modified": "Sun, 18 Aug 2019 05:50:54 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC11918489\"", - "x-ms-request-id": "9f3120e7-301e-00a5-0cb4-2b4188000000", + "etag": "\"0x8D723A008E06530\"", + "x-ms-request-id": "e4d68318-601e-003e-2d88-55ccb0000000", "x-ms-meta-key0": "val0", - "x-ms-version": "2018-03-28" + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/container156150841802403746", + "url": "https://fakestorageaccount.blob.core.windows.net/container156610745442508583", "query": { "restype": "container" }, @@ -75,15 +75,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f31211e-301e-00a5-39b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d6832d-601e-003e-3f88-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:18 GMT", + "date": "Sun, 18 Aug 2019 05:50:54 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "container": "container156150841802403746" + "container": "container156610745442508583" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_after_all_hook.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_after_all_hook.json index 22ef9d1fed6d..a3e14962dd51 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_after_all_hook.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_after_all_hook.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "DELETE", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "restype": "container" }, @@ -10,10 +10,10 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "9f3137eb-301e-00a5-6ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d69079-601e-003e-4688-55ccb0000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "date": "Wed, 26 Jun 2019 00:20:33 GMT", + "date": "Sun, 18 Aug 2019 05:51:11 GMT", "content-length": "0" } } diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_before_all_hook.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_before_all_hook.json index 82f5ef0a7370..a4889cfe2569 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_before_all_hook.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_before_all_hook.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "restype": "container" }, @@ -10,17 +10,17 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:23 GMT", + "date": "Sun, 18 Aug 2019 05:51:03 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC14F71FA2\"", - "x-ms-request-id": "9f312830-301e-00a5-43b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00DFAF73E\"", + "x-ms-request-id": "e4d68913-601e-003e-5088-55ccb0000000", + "x-ms-version": "2018-11-09", "content-length": "0" } } ], "uniqueTestInfo": { - "1container-with-dash": "1container-with-dash156150842388809308" + "1container-with-dash": "1container-with-dash156610746314501798" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic.json index 2a27dfceb94b..890507b1cae0 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150843165902256", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156610746958900029", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:31 GMT", + "date": "Sun, 18 Aug 2019 05:51:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC1998F96F\"", - "x-ms-request-id": "9f313475-301e-00a5-63b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A011D2440B\"", + "x-ms-request-id": "e4d68e53-601e-003e-6388-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150843165902256", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156610746958900029", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:31 GMT", + "date": "Sun, 18 Aug 2019 05:51:09 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:31 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC1998F96F\"", + "etag": "\"0x8D723A011D2440B\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3134b6-301e-00a5-1cb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68e73-601e-003e-8088-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "عربي/عربى156150843165902256", + "prefix": "عربي/عربى156610746958900029", "restype": "container" }, "requestBody": null, "status": 200, - "response": "عربي/عربى156150843165902256عربي/عربى156150843165902256Wed, 26 Jun 2019 00:20:31 GMTWed, 26 Jun 2019 00:20:31 GMT0x8D6F9CC1998F96F1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "عربي/عربى156610746958900029عربي/عربى156610746958900029Sun, 18 Aug 2019 05:51:09 GMTSun, 18 Aug 2019 05:51:09 GMT0x8D723A011D2440B1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:31 GMT", + "date": "Sun, 18 Aug 2019 05:51:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3134e3-301e-00a5-44b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68e94-601e-003e-1b88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "عربي/عربى": "عربي/عربى156150843165902256" + "عربي/عربى": "عربي/عربى156610746958900029" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.json index 6ca26140e0c7..f24fa344cb37 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156150843211008084", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156610747004507209", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:32 GMT", + "date": "Sun, 18 Aug 2019 05:51:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC19DE7363\"", - "x-ms-request-id": "9f31353a-301e-00a5-0eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A01218335D\"", + "x-ms-request-id": "e4d68ec1-601e-003e-4388-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156150843211008084", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156610747004507209", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:31 GMT", + "date": "Sun, 18 Aug 2019 05:51:10 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:32 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:32 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC19DE7363\"", + "etag": "\"0x8D723A01218335D\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f31356f-301e-00a5-3fb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68eee-601e-003e-6d88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "عربي/عربى156150843211008084", + "prefix": "عربي/عربى156610747004507209", "restype": "container" }, "requestBody": null, "status": 200, - "response": "عربي/عربى156150843211008084عربي/عربى156150843211008084Wed, 26 Jun 2019 00:20:32 GMTWed, 26 Jun 2019 00:20:32 GMT0x8D6F9CC19DE73631application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "عربي/عربى156610747004507209عربي/عربى156610747004507209Sun, 18 Aug 2019 05:51:10 GMTSun, 18 Aug 2019 05:51:10 GMT0x8D723A01218335D1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:31 GMT", + "date": "Sun, 18 Aug 2019 05:51:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3135a5-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68f12-601e-003e-0d88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "عربي/عربى": "عربي/عربى156150843211008084" + "عربي/عربى": "عربي/عربى156610747004507209" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.json index 2bf5eb379a66..cd2d393b8e7d 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150843120709118", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156610746912307757", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:30 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:31 GMT", + "date": "Sun, 18 Aug 2019 05:51:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC1953A691\"", - "x-ms-request-id": "9f31339f-301e-00a5-29b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0118B9146\"", + "x-ms-request-id": "e4d68dbd-601e-003e-5f88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150843120709118", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156610746912307757", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:30 GMT", + "date": "Sun, 18 Aug 2019 05:51:09 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:31 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:31 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:09 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC1953A691\"", + "etag": "\"0x8D723A0118B9146\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3133e0-301e-00a5-62b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68dea-601e-003e-0188-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150843120709118", + "prefix": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156610746912307757", "restype": "container" }, "requestBody": null, "status": 200, - "response": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150843120709118%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150843120709118Wed, 26 Jun 2019 00:20:31 GMTWed, 26 Jun 2019 00:20:31 GMT0x8D6F9CC1953A6911application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156610746912307757%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156610746912307757Sun, 18 Aug 2019 05:51:09 GMTSun, 18 Aug 2019 05:51:09 GMT0x8D723A0118B91461application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:31 GMT", + "date": "Sun, 18 Aug 2019 05:51:09 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f31342b-301e-00a5-24b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68e1c-601e-003e-2d88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "عربي/عربى": "عربي/عربى156150843120709118" + "عربي/عربى": "عربي/عربى156610746912307757" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters.json index 8a11821cc2ce..19a9615f9d18 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156150842891903658", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156610746681005809", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:06 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC17F6E4FA\"", - "x-ms-request-id": "9f312fb6-301e-00a5-57b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0102AD6E2\"", + "x-ms-request-id": "e4d68bd6-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156150842891903658", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156610746681005809", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:28 GMT", + "date": "Sun, 18 Aug 2019 05:51:06 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:29 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:06 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC17F6E4FA\"", + "etag": "\"0x8D723A0102AD6E2\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f312ff6-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68bf3-601e-003e-5088-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150842891903658", + "prefix": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156610746681005809", "restype": "container" }, "requestBody": null, "status": 200, - "response": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150842891903658汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150842891903658Wed, 26 Jun 2019 00:20:29 GMTWed, 26 Jun 2019 00:20:29 GMT0x8D6F9CC17F6E4FA1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156610746681005809汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156610746681005809Sun, 18 Aug 2019 05:51:06 GMTSun, 18 Aug 2019 05:51:06 GMT0x8D723A0102AD6E21application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:28 GMT", + "date": "Sun, 18 Aug 2019 05:51:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f313030-301e-00a5-40b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68c14-601e-003e-6988-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156150842891903658" + "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156610746681005809" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.json index 8498c2b7970f..684665ecf3e3 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156150842936503915", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156610746727400771", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:07 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC183B2636\"", - "x-ms-request-id": "9f313064-301e-00a5-69b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0107189A6\"", + "x-ms-request-id": "e4d68c33-601e-003e-0888-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156150842936503915", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156610746727400771", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:07 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:29 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:07 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC183B2636\"", + "etag": "\"0x8D723A0107189A6\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f313098-301e-00a5-11b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68c4b-601e-003e-1e88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150842936503915", + "prefix": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156610746727400771", "restype": "container" }, "requestBody": null, "status": 200, - "response": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150842936503915汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150842936503915Wed, 26 Jun 2019 00:20:29 GMTWed, 26 Jun 2019 00:20:29 GMT0x8D6F9CC183B26361application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156610746727400771汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156610746727400771Sun, 18 Aug 2019 05:51:07 GMTSun, 18 Aug 2019 05:51:07 GMT0x8D723A0107189A61application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3130cd-301e-00a5-3bb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68c64-601e-003e-3688-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156150842936503915" + "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'": "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156610746727400771" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese.json index 19577677f114..19edfb795c78 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150843302101775", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156610747099206540", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:32 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:33 GMT", + "date": "Sun, 18 Aug 2019 05:51:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC1A69191F\"", - "x-ms-request-id": "9f31367d-301e-00a5-2db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A012A8F4CE\"", + "x-ms-request-id": "e4d68fb7-601e-003e-1c88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150843302101775", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156610747099206540", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:32 GMT", + "date": "Sun, 18 Aug 2019 05:51:11 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:33 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:33 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:11 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC1A69191F\"", + "etag": "\"0x8D723A012A8F4CE\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3136ae-301e-00a5-51b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68fd9-601e-003e-3988-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "にっぽんご/にほんご156150843302101775", + "prefix": "にっぽんご/にほんご156610747099206540", "restype": "container" }, "requestBody": null, "status": 200, - "response": "にっぽんご/にほんご156150843302101775にっぽんご/にほんご156150843302101775Wed, 26 Jun 2019 00:20:33 GMTWed, 26 Jun 2019 00:20:33 GMT0x8D6F9CC1A69191F1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "にっぽんご/にほんご156610747099206540にっぽんご/にほんご156610747099206540Sun, 18 Aug 2019 05:51:11 GMTSun, 18 Aug 2019 05:51:11 GMT0x8D723A012A8F4CE1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:32 GMT", + "date": "Sun, 18 Aug 2019 05:51:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3136e9-301e-00a5-05b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68fef-601e-003e-4c88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "にっぽんご/にほんご": "にっぽんご/にほんご156150843302101775" + "にっぽんご/にほんご": "にっぽんご/にほんご156610747099206540" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.json index 712f216d904e..79c2a845fde9 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150843347200474", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156610747145301779", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:33 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:33 GMT", + "date": "Sun, 18 Aug 2019 05:51:11 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC1AADF6B7\"", - "x-ms-request-id": "9f31372e-301e-00a5-47b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A012EF0B1F\"", + "x-ms-request-id": "e4d6900d-601e-003e-6788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150843347200474", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156610747145301779", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:33 GMT", + "date": "Sun, 18 Aug 2019 05:51:11 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:33 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:33 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:11 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC1AADF6B7\"", + "etag": "\"0x8D723A012EF0B1F\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f31376c-301e-00a5-79b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d69037-601e-003e-0b88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "にっぽんご/にほんご156150843347200474", + "prefix": "にっぽんご/にほんご156610747145301779", "restype": "container" }, "requestBody": null, "status": 200, - "response": "にっぽんご/にほんご156150843347200474にっぽんご/にほんご156150843347200474Wed, 26 Jun 2019 00:20:33 GMTWed, 26 Jun 2019 00:20:33 GMT0x8D6F9CC1AADF6B71application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "にっぽんご/にほんご156610747145301779にっぽんご/にほんご156610747145301779Sun, 18 Aug 2019 05:51:11 GMTSun, 18 Aug 2019 05:51:11 GMT0x8D723A012EF0B1F1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:33 GMT", + "date": "Sun, 18 Aug 2019 05:51:11 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f31379f-301e-00a5-21b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d69051-601e-003e-2388-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "にっぽんご/にほんご": "にっぽんご/にほんご156150843347200474" + "にっぽんご/にほんご": "にっぽんご/にほんご156610747145301779" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.json index bfc28f5443e1..8bf8ae35de9d 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150843256808590", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156610747051606318", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:32 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:32 GMT", + "date": "Sun, 18 Aug 2019 05:51:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC1A24146F\"", - "x-ms-request-id": "9f3135cf-301e-00a5-13b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0126045F6\"", + "x-ms-request-id": "e4d68f2f-601e-003e-2788-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150843256808590", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156610747051606318", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:32 GMT", + "date": "Sun, 18 Aug 2019 05:51:10 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:32 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:32 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:10 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC1A24146F\"", + "etag": "\"0x8D723A0126045F6\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f313606-301e-00a5-46b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68f60-601e-003e-5188-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150843256808590", + "prefix": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156610747051606318", "restype": "container" }, "requestBody": null, "status": 200, - "response": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150843256808590%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150843256808590Wed, 26 Jun 2019 00:20:32 GMTWed, 26 Jun 2019 00:20:32 GMT0x8D6F9CC1A24146F1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156610747051606318%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156610747051606318Sun, 18 Aug 2019 05:51:10 GMTSun, 18 Aug 2019 05:51:10 GMT0x8D723A0126045F61application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:32 GMT", + "date": "Sun, 18 Aug 2019 05:51:10 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f313636-301e-00a5-6fb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68f98-601e-003e-7e88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "にっぽんご/にほんご": "にっぽんご/にほんご156150843256808590" + "にっぽんご/にほんご": "にっぽんご/にほんご156610747051606318" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian.json index cbd68183aa79..a3451c4984ad 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150843030301286", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156610746820706323", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:30 GMT", + "date": "Sun, 18 Aug 2019 05:51:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC18CA1277\"", - "x-ms-request-id": "9f3131ec-301e-00a5-33b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A0110000D6\"", + "x-ms-request-id": "e4d68ce6-601e-003e-2588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150843030301286", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156610746820706323", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:08 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:30 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:30 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC18CA1277\"", + "etag": "\"0x8D723A0110000D6\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f313246-301e-00a5-02b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68cfa-601e-003e-3588-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "ру́сский язы́к156150843030301286", + "prefix": "ру́сский язы́к156610746820706323", "restype": "container" }, "requestBody": null, "status": 200, - "response": "ру́сский язы́к156150843030301286ру́сский язы́к156150843030301286Wed, 26 Jun 2019 00:20:30 GMTWed, 26 Jun 2019 00:20:30 GMT0x8D6F9CC18CA12771application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "ру́сский язы́к156610746820706323ру́сский язы́к156610746820706323Sun, 18 Aug 2019 05:51:08 GMTSun, 18 Aug 2019 05:51:08 GMT0x8D723A0110000D61application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:30 GMT", + "date": "Sun, 18 Aug 2019 05:51:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f313293-301e-00a5-44b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68d1c-601e-003e-4e88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "ру́сский язы́к": "ру́сский язы́к156150843030301286" + "ру́сский язы́к": "ру́сский язы́к156610746820706323" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.json index 54f4d8c5e97a..698b906540d4 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150843075305349", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156610746867208483", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:30 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:30 GMT", + "date": "Sun, 18 Aug 2019 05:51:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC190F6550\"", - "x-ms-request-id": "9f3132c4-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A011468C80\"", + "x-ms-request-id": "e4d68d47-601e-003e-7588-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150843075305349", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156610746867208483", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:30 GMT", + "date": "Sun, 18 Aug 2019 05:51:08 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:30 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:30 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:08 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC190F6550\"", + "etag": "\"0x8D723A011468C80\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3132fe-301e-00a5-20b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68d63-601e-003e-1088-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "ру́сский язы́к156150843075305349", + "prefix": "ру́сский язы́к156610746867208483", "restype": "container" }, "requestBody": null, "status": 200, - "response": "ру́сский язы́к156150843075305349ру́сский язы́к156150843075305349Wed, 26 Jun 2019 00:20:30 GMTWed, 26 Jun 2019 00:20:30 GMT0x8D6F9CC190F65501application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "ру́сский язы́к156610746867208483ру́сский язы́к156610746867208483Sun, 18 Aug 2019 05:51:08 GMTSun, 18 Aug 2019 05:51:08 GMT0x8D723A011468C801application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:30 GMT", + "date": "Sun, 18 Aug 2019 05:51:08 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f313349-301e-00a5-65b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68d96-601e-003e-4188-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "ру́сский язы́к": "ру́сский язы́к156150843075305349" + "ру́сский язы́к": "ру́сский язы́к156610746867208483" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.json index fa93aa829af0..c1fe5bed6386 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150842982302048", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156610746774005076", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:07 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC1880EE55\"", - "x-ms-request-id": "9f313117-301e-00a5-7ab4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A010B8D8CC\"", + "x-ms-request-id": "e4d68c7f-601e-003e-4e88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150842982302048", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156610746774005076", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:07 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:29 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:29 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:07 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC1880EE55\"", + "etag": "\"0x8D723A010B8D8CC\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f313164-301e-00a5-3eb4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68caa-601e-003e-7188-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150842982302048", + "prefix": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156610746774005076", "restype": "container" }, "requestBody": null, "status": 200, - "response": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150842982302048%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150842982302048Wed, 26 Jun 2019 00:20:29 GMTWed, 26 Jun 2019 00:20:29 GMT0x8D6F9CC1880EE551application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156610746774005076%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156610746774005076Sun, 18 Aug 2019 05:51:07 GMTSun, 18 Aug 2019 05:51:07 GMT0x8D723A010B8D8CC1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:29 GMT", + "date": "Sun, 18 Aug 2019 05:51:07 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3131a6-301e-00a5-74b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68cbc-601e-003e-0188-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "ру́сский язы́к": "ру́сский язы́к156150842982302048" + "ру́сский язы́к": "ру́сский язы́к156610746774005076" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.json index 13a9c75d0d90..54419e7c197a 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156150842653205072", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156610746588506051", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:26 GMT", + "date": "Sun, 18 Aug 2019 05:51:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC168ADE62\"", - "x-ms-request-id": "9f312c4d-301e-00a5-5db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00F9D9873\"", + "x-ms-request-id": "e4d68b07-601e-003e-0688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156150842653205072", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156610746588506051", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:26 GMT", + "date": "Sun, 18 Aug 2019 05:51:05 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:26 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC168ADE62\"", + "etag": "\"0x8D723A00F9D9873\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f312c7d-301e-00a5-05b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68b3b-601e-003e-3288-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "////Upper/blob/empty /another 汉字156150842653205072", + "prefix": "////Upper/blob/empty /another 汉字156610746588506051", "restype": "container" }, "requestBody": null, "status": 200, - "response": "////Upper/blob/empty /another 汉字156150842653205072////Upper/blob/empty /another 汉字156150842653205072Wed, 26 Jun 2019 00:20:26 GMTWed, 26 Jun 2019 00:20:26 GMT0x8D6F9CC168ADE621application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "////Upper/blob/empty /another 汉字156610746588506051////Upper/blob/empty /another 汉字156610746588506051Sun, 18 Aug 2019 05:51:05 GMTSun, 18 Aug 2019 05:51:05 GMT0x8D723A00F9D98731application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:27 GMT", + "date": "Sun, 18 Aug 2019 05:51:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f312cc6-301e-00a5-44b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68b58-601e-003e-4b88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "////Upper/blob/empty /another 汉字": "////Upper/blob/empty /another 汉字156150842653205072" + "////Upper/blob/empty /another 汉字": "////Upper/blob/empty /another 汉字156610746588506051" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.json index 78d548535a62..e252abdba1d4 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156150842847405225", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156610746634805495", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:28 GMT", + "date": "Sun, 18 Aug 2019 05:51:06 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC17B31902\"", - "x-ms-request-id": "9f312f0f-301e-00a5-43b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00FE4241D\"", + "x-ms-request-id": "e4d68b6b-601e-003e-5b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156150842847405225", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156610746634805495", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:28 GMT", + "date": "Sun, 18 Aug 2019 05:51:06 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:28 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:28 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:06 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC17B31902\"", + "etag": "\"0x8D723A00FE4241D\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f312f55-301e-00a5-06b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68b90-601e-003e-7b88-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "////Upper/blob/empty /another 汉字156150842847405225", + "prefix": "////Upper/blob/empty /another 汉字156610746634805495", "restype": "container" }, "requestBody": null, "status": 200, - "response": "////Upper/blob/empty /another 汉字156150842847405225////Upper/blob/empty /another 汉字156150842847405225Wed, 26 Jun 2019 00:20:28 GMTWed, 26 Jun 2019 00:20:28 GMT0x8D6F9CC17B319021application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "////Upper/blob/empty /another 汉字156610746634805495////Upper/blob/empty /another 汉字156610746634805495Sun, 18 Aug 2019 05:51:06 GMTSun, 18 Aug 2019 05:51:06 GMT0x8D723A00FE4241D1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:28 GMT", + "date": "Sun, 18 Aug 2019 05:51:06 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f312f87-301e-00a5-31b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68bbf-601e-003e-2388-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "////Upper/blob/empty /another 汉字": "////Upper/blob/empty /another 汉字156150842847405225" + "////Upper/blob/empty /another 汉字": "////Upper/blob/empty /another 汉字156610746634805495" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.json index 0647bd1b160d..1812c3925710 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156150842562201943", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156610746493805417", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:25 GMT", + "date": "Sun, 18 Aug 2019 05:51:04 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC15FFEA74\"", - "x-ms-request-id": "9f312aee-301e-00a5-2db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00F0CFE37\"", + "x-ms-request-id": "e4d68a57-601e-003e-6b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156150842562201943", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156610746493805417", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:25 GMT", + "date": "Sun, 18 Aug 2019 05:51:05 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:25 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC15FFEA74\"", + "etag": "\"0x8D723A00F0CFE37\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f312b35-301e-00a5-6db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68a86-601e-003e-1588-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "////Upper/blob/empty /another156150842562201943", + "prefix": "////Upper/blob/empty /another156610746493805417", "restype": "container" }, "requestBody": null, "status": 200, - "response": "////Upper/blob/empty /another156150842562201943////Upper/blob/empty /another156150842562201943Wed, 26 Jun 2019 00:20:25 GMTWed, 26 Jun 2019 00:20:25 GMT0x8D6F9CC15FFEA741application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "////Upper/blob/empty /another156610746493805417////Upper/blob/empty /another156610746493805417Sun, 18 Aug 2019 05:51:05 GMTSun, 18 Aug 2019 05:51:05 GMT0x8D723A00F0CFE371application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:25 GMT", + "date": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f312b6f-301e-00a5-1fb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68a9e-601e-003e-2b88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "////Upper/blob/empty /another": "////Upper/blob/empty /another156150842562201943" + "////Upper/blob/empty /another": "////Upper/blob/empty /another156610746493805417" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.json index d5410de77c75..809ae108a4a7 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/////Upper/blob/empty%20/another156150842607602772", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/////Upper/blob/empty%20/another156610746541306804", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:26 GMT", + "date": "Sun, 18 Aug 2019 05:51:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC16458B85\"", - "x-ms-request-id": "9f312ba8-301e-00a5-53b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00F5585EC\"", + "x-ms-request-id": "e4d68ab7-601e-003e-4088-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/////Upper/blob/empty%20/another156150842607602772", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/////Upper/blob/empty%20/another156610746541306804", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:25 GMT", + "date": "Sun, 18 Aug 2019 05:51:05 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:26 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:26 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:05 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC16458B85\"", + "etag": "\"0x8D723A00F5585EC\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f312bf3-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68ace-601e-003e-5588-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "////Upper/blob/empty /another156150842607602772", + "prefix": "////Upper/blob/empty /another156610746541306804", "restype": "container" }, "requestBody": null, "status": 200, - "response": "////Upper/blob/empty /another156150842607602772////Upper/blob/empty /another156150842607602772Wed, 26 Jun 2019 00:20:26 GMTWed, 26 Jun 2019 00:20:26 GMT0x8D6F9CC16458B851application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "////Upper/blob/empty /another156610746541306804////Upper/blob/empty /another156610746541306804Sun, 18 Aug 2019 05:51:05 GMTSun, 18 Aug 2019 05:51:05 GMT0x8D723A00F5585EC1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:25 GMT", + "date": "Sun, 18 Aug 2019 05:51:05 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f312c2c-301e-00a5-40b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68af4-601e-003e-7488-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "////Upper/blob/empty /another": "////Upper/blob/empty /another156150842607602772" + "////Upper/blob/empty /another": "////Upper/blob/empty /another156610746541306804" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.json index 133fa4903f78..3c5e6b087500 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156150842472907241", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156610746398505129", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:24 GMT", + "date": "Sun, 18 Aug 2019 05:51:03 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC15776800\"", - "x-ms-request-id": "9f312973-301e-00a5-60b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00E7B7943\"", + "x-ms-request-id": "e4d689be-601e-003e-6688-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156150842472907241", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156610746398505129", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:24 GMT", + "date": "Sun, 18 Aug 2019 05:51:04 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:24 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:04 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC15776800\"", + "etag": "\"0x8D723A00E7B7943\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f3129b0-301e-00a5-14b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d689d1-601e-003e-7688-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "////blob/empty /another156150842472907241", + "prefix": "////blob/empty /another156610746398505129", "restype": "container" }, "requestBody": null, "status": 200, - "response": "////blob/empty /another156150842472907241////blob/empty /another156150842472907241Wed, 26 Jun 2019 00:20:24 GMTWed, 26 Jun 2019 00:20:24 GMT0x8D6F9CC157768001application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "////blob/empty /another156610746398505129////blob/empty /another156610746398505129Sun, 18 Aug 2019 05:51:04 GMTSun, 18 Aug 2019 05:51:04 GMT0x8D723A00E7B79431application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:24 GMT", + "date": "Sun, 18 Aug 2019 05:51:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3129ff-301e-00a5-5cb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d689f3-601e-003e-1188-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "////blob/empty /another": "////blob/empty /another156150842472907241" + "////blob/empty /another": "////blob/empty /another156610746398505129" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.json index 208285f4bb65..94432f049ef0 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.json @@ -2,72 +2,73 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/////blob/empty%20/another156150842517003844", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/////blob/empty%20/another156610746444607956", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:24 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:25 GMT", + "date": "Sun, 18 Aug 2019 05:51:04 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC15BBA93C\"", - "x-ms-request-id": "9f312a36-301e-00a5-0bb4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00EC25323\"", + "x-ms-request-id": "e4d68a10-601e-003e-2b88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/////blob/empty%20/another156150842517003844", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/////blob/empty%20/another156610746444607956", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { "x-ms-blob-type": "BlockBlob", - "date": "Wed, 26 Jun 2019 00:20:24 GMT", + "date": "Sun, 18 Aug 2019 05:51:04 GMT", "x-ms-lease-state": "available", "x-ms-access-tier-inferred": "true", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", + "x-ms-tag-count": "0", "x-ms-server-encrypted": "true", "content-length": "1", "x-ms-access-tier": "Cool", "x-ms-lease-status": "unlocked", - "x-ms-creation-time": "Wed, 26 Jun 2019 00:20:25 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:25 GMT", + "x-ms-creation-time": "Sun, 18 Aug 2019 05:51:04 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9CC15BBA93C\"", + "etag": "\"0x8D723A00EC25323\"", "content-type": "application/octet-stream", - "x-ms-request-id": "9f312a6c-301e-00a5-36b4-2b4188000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "e4d68a2c-601e-003e-4588-55ccb0000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "////blob/empty /another156150842517003844", + "prefix": "////blob/empty /another156610746444607956", "restype": "container" }, "requestBody": null, "status": 200, - "response": "////blob/empty /another156150842517003844////blob/empty /another156150842517003844Wed, 26 Jun 2019 00:20:25 GMTWed, 26 Jun 2019 00:20:25 GMT0x8D6F9CC15BBA93C1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "////blob/empty /another156610746444607956////blob/empty /another156610746444607956Sun, 18 Aug 2019 05:51:04 GMTSun, 18 Aug 2019 05:51:04 GMT0x8D723A00EC253231application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:25 GMT", + "date": "Sun, 18 Aug 2019 05:51:04 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f312aa6-301e-00a5-6bb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68a42-601e-003e-5a88-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "////blob/empty /another": "////blob/empty /another156150842517003844" + "////blob/empty /another": "////blob/empty /another156610746444607956" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.json index 698e15c367b5..5c5b66909dd5 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.json @@ -2,45 +2,45 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/blob%20empty156150842404305488", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/blob%20empty156610746330200987", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:24 GMT", + "date": "Sun, 18 Aug 2019 05:51:03 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC1515FC92\"", - "x-ms-request-id": "9f312877-301e-00a5-03b4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00E1CCD58\"", + "x-ms-request-id": "e4d68923-601e-003e-5e88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "blob empty156150842404305488", + "prefix": "blob empty156610746330200987", "restype": "container" }, "requestBody": null, "status": 200, - "response": "blob empty156150842404305488blob empty156150842404305488Wed, 26 Jun 2019 00:20:24 GMTWed, 26 Jun 2019 00:20:24 GMT0x8D6F9CC1515FC921application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "blob empty156610746330200987blob empty156610746330200987Sun, 18 Aug 2019 05:51:03 GMTSun, 18 Aug 2019 05:51:03 GMT0x8D723A00E1CCD581application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:23 GMT", + "date": "Sun, 18 Aug 2019 05:51:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f3128de-301e-00a5-5fb4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d68954-601e-003e-0988-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "blob empty": "blob empty156150842404305488" + "blob empty": "blob empty156610746330200987" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.json b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.json index 1db5fd8ec51d..6cb7a895fa86 100644 --- a/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.json +++ b/sdk/storage/storage-blob/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.json @@ -2,45 +2,45 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308/blob%20empty156150842442400176", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798/blob%20empty156610746367906456", "query": {}, "requestBody": "A", "status": 201, "response": "", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:23 GMT", - "last-modified": "Wed, 26 Jun 2019 00:20:24 GMT", + "date": "Sun, 18 Aug 2019 05:51:03 GMT", + "last-modified": "Sun, 18 Aug 2019 05:51:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "f8VicOenD6gaWTW3Lqy+KQ==", - "etag": "\"0x8D6F9CC154971E8\"", - "x-ms-request-id": "9f312913-301e-00a5-0db4-2b4188000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D723A00E4C9899\"", + "x-ms-request-id": "e4d6897c-601e-003e-2a88-55ccb0000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156150842388809308", + "url": "https://fakestorageaccount.blob.core.windows.net/1container-with-dash156610746314501798", "query": { "comp": "list", - "prefix": "blob empty156150842442400176", + "prefix": "blob empty156610746367906456", "restype": "container" }, "requestBody": null, "status": 200, - "response": "blob empty156150842442400176blob empty156150842442400176Wed, 26 Jun 2019 00:20:24 GMTWed, 26 Jun 2019 00:20:24 GMT0x8D6F9CC154971E81application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", + "response": "blob empty156610746367906456blob empty156610746367906456Sun, 18 Aug 2019 05:51:03 GMTSun, 18 Aug 2019 05:51:03 GMT0x8D723A00E4C98991application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", "responseHeaders": { - "date": "Wed, 26 Jun 2019 00:20:24 GMT", + "date": "Sun, 18 Aug 2019 05:51:03 GMT", "server": "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "9f31293f-301e-00a5-34b4-2b4188000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "e4d6899d-601e-003e-4988-55ccb0000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "blob empty": "blob empty156150842442400176" + "blob empty": "blob empty156610746367906456" } } \ No newline at end of file diff --git a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js index ff69d2658ae2..27046ccd0196 100644 --- a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js +++ b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js @@ -1,3 +1,3 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780694208286"} +module.exports.testInfo = {"container":"container156599408995200064"} diff --git a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_father_aborter_calls_abort.js b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_father_aborter_calls_abort.js index 024129014266..8edf5967ab39 100644 --- a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_father_aborter_calls_abort.js +++ b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_after_father_aborter_calls_abort.js @@ -1,3 +1,24 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780698705544"} +module.exports.testInfo = {"container":"container156599408998904680"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599408998904680') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:21:30 GMT', + 'ETag', + '"0x8D72298166554B9"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c00df9f3-701e-00a2-7880-54b70d000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:21:29 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js index d0f045620421..cfd9a21d831a 100644 --- a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js +++ b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js @@ -1,3 +1,3 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780657507778"} +module.exports.testInfo = {"container":"container156599408962002648"} diff --git a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js index 715ba8d21046..59f9d3dd81dd 100644 --- a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js +++ b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js @@ -1,24 +1,24 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780604806987"} +module.exports.testInfo = {"container":"container156599408915609483"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780604806987') + .put('/container156599408915609483') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:06 GMT', + 'Fri, 16 Aug 2019 22:21:29 GMT', 'ETag', - '"0x8D6F9CAA4E43436"', + '"0x8D7229815FD0AEB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c9533ba5-501e-00b5-10b3-2b776e000000', + 'b1383074-601e-0053-7480-54669e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:05 GMT', + 'Fri, 16 Aug 2019 22:21:29 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js index c02180b73248..4b2184e4e755 100644 --- a/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js +++ b/sdk/storage/storage-blob/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js @@ -1,24 +1,24 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780663707432"} +module.exports.testInfo = {"container":"container156599408965608974"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780663707432') + .put('/container156599408965608974') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:06 GMT', + 'Fri, 16 Aug 2019 22:21:29 GMT', 'ETag', - '"0x8D6F9CAA524F90C"', + '"0x8D7229816320E91"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f2985df6-301e-004b-32b3-2b4b0b000000', + 'c33f7bd0-501e-0072-6280-540baf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:06 GMT', + 'Fri, 16 Aug 2019 22:21:29 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_appendblock.js b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_appendblock.js index 9142e37bccf3..15618dba91be 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_appendblock.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_appendblock.js @@ -1,67 +1,67 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780951009298","blob":"blob156150780980703786"} +module.exports.testInfo = {"container":"container156599409268706812","blob":"blob156599409297706491"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780951009298') + .put('/container156599409268706812') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:09 GMT', + 'Fri, 16 Aug 2019 22:21:32 GMT', 'ETag', - '"0x8D6F9CAA6DB0943"', + '"0x8D722981800EA56"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3ca26c31-201e-00ba-30b3-2b9a98000000', + '2c0ecb61-b01e-0096-7480-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780951009298/blob156150780980703786') + .put('/container156599409268706812/blob156599409297706491') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:10 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'ETag', - '"0x8D6F9CAA70819CF"', + '"0x8D72298182C7C72"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '565b65ec-c01e-0055-6cb3-2b91e6000000', + '49d59989-401e-0044-2380-54a6fd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:09 GMT', + 'Fri, 16 Aug 2019 22:21:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780951009298/blob156150780980703786', "Hello World!") + .put('/container156599409268706812/blob156599409297706491', "Hello World!") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '7Qdih1MuhjZehB6Sv8UNjA==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:10 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'ETag', - '"0x8D6F9CAA735739E"', + '"0x8D72298186B3E6E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '54576c59-101e-003a-7fb3-2b3932000000', + '798a4450-701e-008b-7180-54c14f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-append-offset', '0', 'x-ms-blob-committed-block-count', @@ -69,31 +69,33 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:10 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150780951009298/blob156150780980703786') + .get('/container156599409268706812/blob156599409297706491') .reply(200, "Hello World!", [ 'Content-Length', '12', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:10 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAA735739E"', + '"0x8D72298186B3E6E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '823d7fae-d01e-00a4-20b3-2b4075000000', + '864ff843-801e-009e-8080-5403d6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:10 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -105,28 +107,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:09 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150780951009298') + .delete('/container156599409268706812') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '27cb5cdf-e01e-008e-77b3-2b3530000000', + '96391b3b-a01e-004e-7580-54bf74000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:10 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_can_be_created_with_a_sas_connection_string.js b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_can_be_created_with_a_sas_connection_string.js index 421fef39bedb..b013e781ff74 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_can_be_created_with_a_sas_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_can_be_created_with_a_sas_connection_string.js @@ -1,72 +1,74 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464815460503783","blob":"blob156464815508604163"} +module.exports.testInfo = {"container":"container156599409426809100","blob":"blob156599409456906272"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464815460503783') + .put('/container156599409426809100') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:29:15 GMT', + 'Fri, 16 Aug 2019 22:21:34 GMT', 'ETag', - '"0x8D7165A567F0F49"', + '"0x8D7229818F3522B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e95af8c0-701e-0008-1043-4861e2000000', + '50e390b3-a01e-0023-2b80-54155a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:29:14 GMT', + 'Fri, 16 Aug 2019 22:21:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464815460503783/blob156464815508604163') + .put('/container156599409426809100/blob156599409456906272') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:29:15 GMT', + 'Fri, 16 Aug 2019 22:21:34 GMT', 'ETag', - '"0x8D7165A56B77963"', + '"0x8D72298192364F1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b5cd302-501e-0014-5643-48b9f5000000', + 'dbfb862f-b01e-0015-4480-54b808000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Thu, 01 Aug 2019 08:29:14 GMT', + 'Fri, 16 Aug 2019 22:21:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156464815460503783/blob156464815508604163') + .get('/container156599409426809100/blob156599409456906272') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Thu, 01 Aug 2019 08:29:15 GMT', + 'Fri, 16 Aug 2019 22:21:34 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D7165A56B77963"', + '"0x8D72298192364F1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '17ce0276-e01e-00c1-1743-48f128000000', + 'b138357c-601e-0053-4380-54669e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Thu, 01 Aug 2019 08:29:15 GMT', + 'Fri, 16 Aug 2019 22:21:34 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 08:29:15 GMT', + 'Fri, 16 Aug 2019 22:21:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464815460503783') + .delete('/container156599409426809100') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c3223aeb-501e-00d3-0143-48c534000000', + '7f06e270-701e-006e-0e80-54d3b8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:29:15 GMT', + 'Fri, 16 Aug 2019 22:21:34 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_default_parameters.js index 54a29acb8d1e..749f0c2434c0 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_default_parameters.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780711702643","blob":"blob156150780741607201"} +module.exports.testInfo = {"container":"container156599409031705149","blob":"blob156599409060801518"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780711702643') + .put('/container156599409031705149') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:07 GMT', + 'Fri, 16 Aug 2019 22:21:30 GMT', 'ETag', - '"0x8D6F9CAA56E149B"', + '"0x8D72298169720DC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b3d777e-901e-0081-39b3-2bd8c6000000', + '7d3b8be2-301e-0062-1380-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:07 GMT', + 'Fri, 16 Aug 2019 22:21:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780711702643/blob156150780741607201') + .put('/container156599409031705149/blob156599409060801518') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:07 GMT', + 'Fri, 16 Aug 2019 22:21:30 GMT', 'ETag', - '"0x8D6F9CAA59DE7FA"', + '"0x8D7229816C7CA3C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de427de1-c01e-007c-10b3-2be7a4000000', + '9cd93cef-301e-0087-1580-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:06 GMT', + 'Fri, 16 Aug 2019 22:21:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150780711702643/blob156150780741607201') + .get('/container156599409031705149/blob156599409060801518') .reply(200, "", [ 'Content-Length', '0', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:07 GMT', + 'Fri, 16 Aug 2019 22:21:30 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAA59DE7FA"', + '"0x8D7229816C7CA3C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b255f07-001e-0084-14b3-2b2cb9000000', + '1ff62bed-c01e-005e-4f80-548992000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:07 GMT', + 'Fri, 16 Aug 2019 22:21:30 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:07 GMT', + 'Fri, 16 Aug 2019 22:21:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150780711702643') + .delete('/container156599409031705149') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a9a077e8-f01e-005d-61b3-2b8a95000000', + '5678de30-001e-0043-6a80-545078000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:07 GMT', + 'Fri, 16 Aug 2019 22:21:31 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_parameters_configured.js b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_parameters_configured.js index 90595b2e9130..fdfd7c6624e7 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_parameters_configured.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_create_with_parameters_configured.js @@ -1,52 +1,52 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150780833203163","blob":"blob156150780862507346"} +module.exports.testInfo = {"container":"container156599409151201820","blob":"blob156599409180603439"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780833203163') + .put('/container156599409151201820') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:31 GMT', 'ETag', - '"0x8D6F9CAA627182F"', + '"0x8D72298174D9367"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f3952d75-801e-003f-3eb3-2bcd4d000000', + 'acb0782f-d01e-00c2-5f80-54f22f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150780833203163/blob156150780862507346') + .put('/container156599409151201820/blob156599409180603439') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:32 GMT', 'ETag', - '"0x8D6F9CAA65460C0"', + '"0x8D72298177A989E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8d2c42e-e01e-0085-64b3-2b2d44000000', + '9f4e91a3-701e-00a9-6580-54af79000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150780833203163/blob156150780862507346') + .head('/container156599409151201820/blob156599409180603439') .reply(200, [], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', @@ -58,23 +58,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'blobContentLanguage', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:32 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAA65460C0"', + '"0x8D72298177A989E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06f223cd-e01e-00c1-5eb3-2bf128000000', + 'be579590-701e-00c4-5280-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-key1', 'vala', 'x-ms-meta-key2', 'valb', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:32 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -92,28 +94,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-key1,x-ms-meta-key2,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-key1,x-ms-meta-key2,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:08 GMT', + 'Fri, 16 Aug 2019 22:21:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150780833203163') + .delete('/container156599409151201820') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd5795149-d01e-0027-1db3-2be0d8000000', + '5679d4fc-901e-0020-0980-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:09 GMT', + 'Fri, 16 Aug 2019 22:21:32 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js index b3f4a99a6d6e..9bb8cbd34b5e 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464815663606042","blob":"blob156464815693403828"} +module.exports.testInfo = {"container":"container156599409606104396","blob":"blob156599409634700707"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464815663606042') + .put('/container156599409606104396') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:29:16 GMT', + 'Fri, 16 Aug 2019 22:21:36 GMT', 'ETag', - '"0x8D7165A579BC4A5"', + '"0x8D722981A02D81C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '68f14b14-e01e-008e-1b43-483530000000', + '7f06e464-701e-006e-5780-54d3b8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:29:16 GMT', + 'Fri, 16 Aug 2019 22:21:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464815663606042') + .delete('/container156599409606104396') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c3223d46-501e-00d3-1043-48c534000000', + '10fcd036-601e-009f-3b80-54022b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:29:16 GMT', + 'Fri, 16 Aug 2019 22:21:35 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js index e9d3893fe740..8aea665676d4 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464815604200526","blob":"blob156464815633801223"} +module.exports.testInfo = {"container":"container156599409547208237","blob":"blob156599409576201896"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464815604200526') + .put('/container156599409547208237') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:29:16 GMT', + 'Fri, 16 Aug 2019 22:21:35 GMT', 'ETag', - '"0x8D7165A5740BA93"', + '"0x8D7229819A961F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f0ea2222-801e-0052-4f43-486763000000', + '8d70b6a3-c01e-0011-6780-544d8a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:29:16 GMT', + 'Fri, 16 Aug 2019 22:21:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464815604200526') + .delete('/container156599409547208237') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ed8571e-f01e-0091-4843-48ee20000000', + 'f0303f5b-c01e-00d6-2e80-54314b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:29:16 GMT', + 'Fri, 16 Aug 2019 22:21:35 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_appendblockfromurl.js b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_appendblockfromurl.js new file mode 100644 index 000000000000..6308b5af7c68 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_appendblockfromurl.js @@ -0,0 +1,187 @@ +let nock = require('nock'); + +module.exports.testInfo = {"container":"container156599433280507324","blob":"blob156599433314005746","blockblob":"blockblob156599433345002083","undefined":"2019-08-16T22:25:33.752Z"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599433280507324') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:33 GMT', + 'ETag', + '"0x8D72298A72200EC"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '5ca4a5cd-101e-009b-7581-54f7a9000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:32 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599433280507324/blob156599433314005746') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:33 GMT', + 'ETag', + '"0x8D72298A7559BA5"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '96a27495-701e-0008-4181-5461e2000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599433280507324/blockblob156599433345002083', "Hello World!") + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + '7Qdih1MuhjZehB6Sv8UNjA==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:33 GMT', + 'ETag', + '"0x8D72298A783DFFF"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '7d3d851d-301e-0062-7d81-543d49000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599433280507324/blob156599433314005746', "Hello World!") + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + '7Qdih1MuhjZehB6Sv8UNjA==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:34 GMT', + 'ETag', + '"0x8D72298A7D123A6"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '4e44669b-001e-000c-5a81-549460000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-blob-append-offset', + '0', + 'x-ms-blob-committed-block-count', + '1', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:33 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599433280507324/blob156599433314005746') + .query(true) + .reply(201, "", [ 'Content-MD5', + '7Qdih1MuhjZehB6Sv8UNjA==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:34 GMT', + 'ETag', + '"0x8D72298A80FE5AA"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-blob-committed-block-count', + '2', + 'x-ms-blob-append-offset', + '12', + 'x-ms-request-server-encrypted', + 'true', + 'x-ms-request-id', + '8f3720e0-401e-00cc-0981-541e24000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:34 GMT', + 'Connection', + 'close', + 'Content-Length', + '0' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156599433280507324/blob156599433314005746') + .reply(200, "Hello World!Hello World!", [ 'Content-Length', + '24', + 'Content-Type', + 'application/octet-stream', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:34 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298A80FE5AA"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'ec60f89c-601e-0071-0881-5408a8000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:25:33 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'AppendBlob', + 'x-ms-blob-committed-block-count', + '2', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:25:34 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156599433280507324') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'ec60f91a-601e-0071-7581-5408a8000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:34 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js index dfaee6bac6e9..7289ad5916f3 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150801697303253","blob":"blob156150801727804207"} +module.exports.testInfo = {"container":"container156599433151602193","blob":"blob156599433187707483"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801697303253') + .put('/container156599433151602193') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:37 GMT', + 'Fri, 16 Aug 2019 22:25:31 GMT', 'ETag', - '"0x8D6F9CB2284EBBC"', + '"0x8D72298A65D85A3"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'afd1ac8d-501e-005b-0eb4-2b7ded000000', + 'c59c42b5-a01e-00c6-0c81-5407ad000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801697303253/blob156150801727804207') + .put('/container156599433151602193/blob156599433187707483') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:37 GMT', + 'Fri, 16 Aug 2019 22:25:32 GMT', 'ETag', - '"0x8D6F9CB22B29797"', + '"0x8D72298A695F96D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cf594da5-901e-00ec-59b4-2b72e8000000', + '3074278d-f01e-0012-0c81-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:37 GMT', + 'Fri, 16 Aug 2019 22:25:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150801697303253/blob156150801727804207') + .get('/container156599433151602193/blob156599433187707483') .reply(200, "", [ 'Content-Length', '0', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:37 GMT', + 'Fri, 16 Aug 2019 22:25:32 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB22B29797"', + '"0x8D72298A695F96D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '12b68c32-301e-000f-41b4-2b9767000000', + '19eb317f-f01e-003b-0181-5438cf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:37 GMT', + 'Fri, 16 Aug 2019 22:25:32 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150801697303253') + .delete('/container156599433151602193') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e1cd5f1f-901e-0002-0bb4-2b786b000000', + '1c30d4a4-c01e-0055-6681-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:37 GMT', + 'Fri, 16 Aug 2019 22:25:31 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index c85b8e092a4f..490a4eab382c 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150801279504132","blob":"blob156150801311007264"} +module.exports.testInfo = {"container":"container156599432716809650","blob":"blob156599432754305104"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801279504132') + .put('/container156599432716809650') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:33 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'ETag', - '"0x8D6F9CB2006B3E9"', + '"0x8D72298A3CFEC0C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ade6a06-901e-00e7-38b3-2b6a9c000000', + '2c7ea719-e01e-00e3-6a81-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:32 GMT', + 'Fri, 16 Aug 2019 22:25:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801279504132/blob156150801311007264') + .put('/container156599432716809650/blob156599432754305104') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:33 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'ETag', - '"0x8D6F9CB20364EB8"', + '"0x8D72298A3FF6D3D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b90eaeac-301e-008c-1bb3-2b37ca000000', + '77d1542c-d01e-00e0-0281-549c19000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:32 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150801279504132/blob156150801311007264') + .get('/container156599432716809650/blob156599432754305104') .reply(200, "", [ 'Content-Length', '0', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:33 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB20364EB8"', + '"0x8D72298A3FF6D3D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b6355b0e-c01e-0011-0fb3-2b4d8a000000', + 'ddec310d-001e-0048-6881-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:33 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:32 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150801279504132') + .delete('/container156599432716809650') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5b97dd0a-801e-0016-0fb3-2bbb0f000000', + '4c775e84-b01e-00b4-6681-547693000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:33 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 3e3ab1d0d802..1fc5f97e199a 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150801400605213","blob":"blob156150801430502744"} +module.exports.testInfo = {"container":"container156599432846302601","blob":"blob156599432876909339"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801400605213') + .put('/container156599432846302601') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:34 GMT', + 'Fri, 16 Aug 2019 22:25:28 GMT', 'ETag', - '"0x8D6F9CB20BEF883"', + '"0x8D72298A48B5B3C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '825e98a9-401e-0000-51b3-2b7a91000000', + '9c69f68d-d01e-00c9-4981-54ea5b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:33 GMT', + 'Fri, 16 Aug 2019 22:25:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801400605213/blob156150801430502744') + .put('/container156599432846302601/blob156599432876909339') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:34 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'ETag', - '"0x8D6F9CB20ECA07E"', + '"0x8D72298A4BA5380"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6dac5c83-401e-004f-38b3-2bbe89000000', + '52de81e1-301e-000f-4a81-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:33 GMT', + 'Fri, 16 Aug 2019 22:25:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150801400605213/blob156150801430502744') + .get('/container156599432846302601/blob156599432876909339') .reply(200, "", [ 'Content-Length', '0', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:34 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB20ECA07E"', + '"0x8D72298A4BA5380"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b51e8f1-801e-009e-13b3-2b03d6000000', + 'be58625b-701e-00c4-2581-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:34 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:34 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150801400605213') + .delete('/container156599432846302601') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c95447c9-501e-00b5-06b3-2b776e000000', + 'ff271542-501e-0079-1c81-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:34 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index e669464510f7..c37fa3836f8e 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150801579806345","blob":"blob156150801609108138"} +module.exports.testInfo = {"container":"container156599433030902887","blob":"blob156599433061106204"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801579806345') + .put('/container156599433030902887') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'ETag', - '"0x8D6F9CB21CF9ECF"', + '"0x8D72298A5A47300"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e8abb71c-d01e-00c9-3bb3-2bea5b000000', + '95992b2d-a01e-0067-2c81-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:35 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801579806345/blob156150801609108138') + .put('/container156599433030902887/blob156599433061106204') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'ETag', - '"0x8D6F9CB21FCE263"', + '"0x8D72298A5D2AD0F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '413c651c-701e-0047-50b3-2ba5fa000000', + '1f28f887-901e-0081-3881-54d8c6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:35 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150801579806345/blob156150801609108138') + .get('/container156599433030902887/blob156599433061106204') .reply(200, "", [ 'Content-Length', '0', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB21FCE263"', + '"0x8D72298A5D2AD0F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6dac614c-401e-004f-6bb3-2bbe89000000', + 'adcdf9e1-e01e-00e8-7a81-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-committed-block-count,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150801579806345') + .delete('/container156599433030902887') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd23ec67-c01e-0038-1bb3-2b3bc8000000', + '039f1b16-901e-006f-5881-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:36 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index 841d85bc8bf9..13aef2f3d5da 100644 --- a/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-blob/recordings/node/appendblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150801520802898","blob":"blob156150801550203342"} +module.exports.testInfo = {"container":"container156599432969202693","blob":"blob156599432999908863"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801520802898') + .put('/container156599432969202693') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:35 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'ETag', - '"0x8D6F9CB2175BF54"', + '"0x8D72298A54702C4"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e2f0442-b01e-00d2-4eb3-2bc4c9000000', + '7d3d7e37-301e-0062-0b81-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:34 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150801520802898') + .delete('/container156599432969202693') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99b6bf8-701e-008b-39b3-2bc14f000000', + '398a34b6-001e-00cb-4e81-54e8a1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:35 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js index f1fb58783167..2a24aaf5b1c6 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js @@ -1,109 +1,109 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150782949107934","blob":"blob156150782978808737","copiedblob":"copiedblob156150783008204464"} +module.exports.testInfo = {"container":"container156599411607009494","blob":"blob156599411635706760","copiedblob":"copiedblob156599411664604599"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782949107934') + .put('/container156599411607009494') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:29 GMT', + 'Fri, 16 Aug 2019 22:21:56 GMT', 'ETag', - '"0x8D6F9CAB2C3B53B"', + '"0x8D7229825F01A62"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1aa4e851-801e-0095-7eb3-2b1ba2000000', + 'dbfbb28c-b01e-0015-7181-54b808000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:29 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782949107934/blob156150782978808737', "Hello World") + .put('/container156599411607009494/blob156599411635706760', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:30 GMT', + 'Fri, 16 Aug 2019 22:21:56 GMT', 'ETag', - '"0x8D6F9CAB2F0FC14"', + '"0x8D72298261C5CEA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f39545d3-801e-003f-75b3-2bcd4d000000', + '49a30410-801e-0059-1e81-547f17000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:29 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782949107934/copiedblob156150783008204464') + .put('/container156599411607009494/copiedblob156599411664604599') .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:30 GMT', + 'Fri, 16 Aug 2019 22:21:56 GMT', 'ETag', - '"0x8D6F9CAB32890F2"', + '"0x8D7229826487DEB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '84df0515-901e-004d-52b3-2bbc73000000', + 'c33fd322-501e-0072-4981-540baf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - '40bce646-f873-4813-97b1-697903e1267f', + 'da00a0c4-1012-46d6-9d99-9434cc6a2fd8', 'x-ms-copy-status', 'success', 'Date', - 'Wed, 26 Jun 2019 00:10:29 GMT', + 'Fri, 16 Aug 2019 22:21:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782949107934/copiedblob156150783008204464') - .reply(400, "InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.\nRequestId:e9765055-f01e-00b3-17b3-2b8016000000\nTime:2019-06-26T00:10:30.7482938Zx-ms-copy-source40bce646-f873-4813-97b1-697903e1267f", [ 'Content-Length', + .put('/container156599411607009494/copiedblob156599411664604599') + .reply(400, "InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.\nRequestId:82415b96-101e-0057-6f81-54931c000000\nTime:2019-08-16T22:21:57.1823623Zx-ms-copy-sourceda00a0c4-1012-46d6-9d99-9434cc6a2fd8", [ 'Content-Length', '358', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e9765055-f01e-00b3-17b3-2b8016000000', + '82415b96-101e-0057-6f81-54931c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'InvalidHeaderValue', 'Date', - 'Wed, 26 Jun 2019 00:10:30 GMT', + 'Fri, 16 Aug 2019 22:21:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782949107934') + .delete('/container156599411607009494') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cf5fef30-201e-005f-15b3-2b886f000000', + '739f7fde-501e-001f-6c81-54a181000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:30 GMT', + 'Fri, 16 Aug 2019 22:21:57 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_can_be_created_with_a_sas_connection_string.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_can_be_created_with_a_sas_connection_string.js index a90e215d7346..10ed5b39e7f3 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_can_be_created_with_a_sas_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_can_be_created_with_a_sas_connection_string.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464896597806984","blob":"blob156464896645106530"} +module.exports.testInfo = {"container":"container156599412102909842","blob":"blob156599412131702595"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464896597806984') + .put('/container156599412102909842') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:46 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'ETag', - '"0x8D7165C3A1B304D"', + '"0x8D7229828E4DFCB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7895fed4-401e-0029-4d45-480cd3000000', + '66f46e49-401e-00e5-4d81-546866000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:46 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464896597806984/blob156464896645106530', "Hello World") + .put('/container156599412102909842/blob156599412131702595', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:46 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'ETag', - '"0x8D7165C3A4E805E"', + '"0x8D7229829111EDB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6547b4df-101e-00d4-4645-4833b1000000', + '14b37b95-701e-0003-2681-547996000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Thu, 01 Aug 2019 08:42:46 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464896597806984/blob156464896645106530') + .put('/container156599412102909842/blob156599412131702595') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:47 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'ETag', - '"0x8D7165C3A7FAAB6"', + '"0x8D72298293DB51D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a5b3a04b-d01e-004a-3545-484af6000000', + '56bb3c95-001e-00c0-4881-54f0d5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Thu, 01 Aug 2019 08:42:46 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156464896597806984/blob156464896645106530') + .head('/container156599412102909842/blob156599412131702595') .query(true) .reply(200, "", [ 'Content-Length', '11', @@ -80,23 +80,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:47 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D7165C3A7FAAB6"', + '"0x8D72298293DB51D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5f3d6373-701e-008b-5d45-48c14f000000', + '8f3586c5-401e-00cc-1581-541e24000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Thu, 01 Aug 2019 08:42:46 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -110,28 +112,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 08:42:46 GMT', + 'Fri, 16 Aug 2019 22:22:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464896597806984') + .delete('/container156599412102909842') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '752817a1-401e-0044-3145-48a6fd000000', + '3cff1798-d01e-004a-7081-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:47 GMT', + 'Fri, 16 Aug 2019 22:22:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_createsnapshot.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_createsnapshot.js index af6512632172..0c5ad9bc2cb6 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_createsnapshot.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_createsnapshot.js @@ -1,77 +1,79 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150782347800356","blob":"blob156150782377403361"} +module.exports.testInfo = {"container":"container156599411020709162","blob":"blob156599411049908669"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782347800356') + .put('/container156599411020709162') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:23 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'ETag', - '"0x8D6F9CAAF2E652C"', + '"0x8D722982272405A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '84defd7f-901e-004d-1fb3-2bbc73000000', + 'e843b003-701e-0080-1880-54d93b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:23 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782347800356/blob156150782377403361', "Hello World") + .put('/container156599411020709162/blob156599411049908669', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:24 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'ETag', - '"0x8D6F9CAAF5CA7BD"', + '"0x8D72298229E7C2C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '86833944-301e-0069-39b3-2b253d000000', + '4b75fb82-501e-0050-1481-546599000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:23 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782347800356/blob156150782377403361') + .put('/container156599411020709162/blob156599411049908669') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:24 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'ETag', - '"0x8D6F9CAAF5CA7BD"', + '"0x8D72298229E7C2C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f1206574-c01e-00bb-3cb3-2b9b65000000', + 'ff260c90-501e-0079-6181-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-26T00:10:24.3251032Z', + '2019-08-16T22:21:51.0321774Z', + 'x-ms-request-server-encrypted', + 'false', 'Date', - 'Wed, 26 Jun 2019 00:10:23 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150782347800356/blob156150782377403361') + .head('/container156599411020709162/blob156599411049908669') .query(true) .reply(200, "", [ 'Content-Length', '11', @@ -80,69 +82,77 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:24 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAAF5CA7BD"', + '"0x8D72298229E7C2C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd450de51-201e-001b-3bb3-2b5403000000', + '9c69012e-d01e-00c9-1181-54ea5b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-snapshot', + '2019-08-16T22:21:51.0321774Z', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:24 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'x-ms-blob-type', 'BlockBlob', 'x-ms-server-encrypted', 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-snapshot,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:24 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150782347800356') + .get('/container156599411020709162') .query(true) - .reply(200, "blob1561507823774033612019-06-26T00:10:24.3251032ZWed, 26 Jun 2019 00:10:24 GMTWed, 26 Jun 2019 00:10:24 GMT0x8D6F9CAAF5CA7BD11application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobtrueblob156150782377403361Wed, 26 Jun 2019 00:10:24 GMTWed, 26 Jun 2019 00:10:24 GMT0x8D6F9CAAF5CA7BD11application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "blob1565994110499086692019-08-16T22:21:51.0321774ZFri, 16 Aug 2019 22:21:50 GMTFri, 16 Aug 2019 22:21:50 GMT0x8D72298229E7C2C11application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrue0blob156599411049908669Fri, 16 Aug 2019 22:21:50 GMTFri, 16 Aug 2019 22:21:50 GMT0x8D72298229E7C2C11application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '86833ac0-301e-0069-07b3-2b253d000000', + '1a663717-601e-0094-0581-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:24 GMT', + 'Fri, 16 Aug 2019 22:21:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782347800356') + .delete('/container156599411020709162') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a03c3582-d01e-00c2-72b3-2bf22f000000', + '9f4ea7e0-701e-00a9-5c81-54af79000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:25 GMT', + 'Fri, 16 Aug 2019 22:21:51 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete.js index 5547fc4964d2..dddcb0f4a49c 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete.js @@ -1,83 +1,83 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150781989106776","blob":"blob156150782018306651"} +module.exports.testInfo = {"container":"container156599410670408681","blob":"blob156599410699703656"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781989106776') + .put('/container156599410670408681') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:20 GMT', + 'Fri, 16 Aug 2019 22:21:46 GMT', 'ETag', - '"0x8D6F9CAAD0A55C4"', + '"0x8D72298205BA697"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e24be41-501e-0097-68b3-2b1958000000', + '6d0f5e88-b01e-00d2-4280-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:19 GMT', + 'Fri, 16 Aug 2019 22:21:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781989106776/blob156150782018306651', "Hello World") + .put('/container156599410670408681/blob156599410699703656', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:20 GMT', + 'Fri, 16 Aug 2019 22:21:47 GMT', 'ETag', - '"0x8D6F9CAAD37B688"', + '"0x8D7229820885B6C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '359d7632-401e-00aa-4fb3-2bac7e000000', + '1f27253e-901e-0081-5480-54d8c6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:20 GMT', + 'Fri, 16 Aug 2019 22:21:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781989106776/blob156150782018306651') + .delete('/container156599410670408681/blob156599410699703656') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b35189c-301e-00ea-67b3-2b8590000000', + '65c5d1df-301e-0069-5380-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:10:19 GMT', + 'Fri, 16 Aug 2019 22:21:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781989106776') + .delete('/container156599410670408681') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0a90c86a-e01e-000d-57b3-2b959d000000', + 'a933d3b6-301e-00ae-5480-5459fc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:20 GMT', + 'Fri, 16 Aug 2019 22:21:47 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete_snapshot.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete_snapshot.js index 0208f154ab4c..75e046d3cc3d 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete_snapshot.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_delete_snapshot.js @@ -1,77 +1,79 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150782107304180","blob":"blob156150782138003162"} +module.exports.testInfo = {"container":"container156599410786105641","blob":"blob156599410815604072"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782107304180') + .put('/container156599410786105641') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'ETag', - '"0x8D6F9CAADC10747"', + '"0x8D72298210C83C9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc85012-b01e-0051-12b3-2b6464000000', + '3d312181-401e-000b-7d80-5462e5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782107304180/blob156150782138003162', "Hello World") + .put('/container156599410786105641/blob156599410815604072', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'ETag', - '"0x8D6F9CAADEECBBD"', + '"0x8D7229821390683"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de1e3325-101e-0031-73b3-2b2146000000', + '216acdbf-101e-0075-3a80-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:20 GMT', + 'Fri, 16 Aug 2019 22:21:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782107304180/blob156150782138003162') + .put('/container156599410786105641/blob156599410815604072') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'ETag', - '"0x8D6F9CAADEECBBD"', + '"0x8D7229821390683"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1aa4d9a5-801e-0095-28b3-2b1ba2000000', + '1ff66371-c01e-005e-1280-548992000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-26T00:10:21.9274059Z', + '2019-08-16T22:21:48.6875296Z', + 'x-ms-request-server-encrypted', + 'false', 'Date', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150782107304180/blob156150782138003162') + .head('/container156599410786105641/blob156599410815604072') .query(true) .reply(200, "", [ 'Content-Length', '11', @@ -80,106 +82,114 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAADEECBBD"', + '"0x8D7229821390683"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '12b5bf41-301e-000f-36b3-2b9767000000', + 'a11d0e51-101e-00b2-0c80-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-snapshot', + '2019-08-16T22:21:48.6875296Z', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'x-ms-blob-type', 'BlockBlob', 'x-ms-server-encrypted', 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-snapshot,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782107304180/blob156150782138003162') + .delete('/container156599410786105641/blob156599410815604072') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1ae70f70-f01e-0019-31b3-2b56f9000000', + 'fd234f4a-b01e-003c-7c80-54ce4a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:10:21 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782107304180/blob156150782138003162') + .delete('/container156599410786105641/blob156599410815604072') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f0413c9-801e-00d1-75b3-2bc7ce000000', + 'db1fb6e4-701e-00e6-6b80-546b61000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:10:22 GMT', + 'Fri, 16 Aug 2019 22:21:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150782107304180') + .get('/container156599410786105641') .query(true) - .reply(200, "", [ 'Transfer-Encoding', + .reply(200, "", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9abd47eb-401e-0022-3bb3-2b14a7000000', + '6f5337a3-f01e-00de-6280-542a38000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:22 GMT', + 'Fri, 16 Aug 2019 22:21:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782107304180') + .delete('/container156599410786105641') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '27cb6ef6-e01e-008e-5bb3-2b3530000000', + '8a954e49-901e-008a-1780-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:22 GMT', + 'Fri, 16 Aug 2019 22:21:49 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_all_parameters_set.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_all_parameters_set.js index 7568ec3e5654..471559f9f381 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_all_parameters_set.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_all_parameters_set.js @@ -1,54 +1,54 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150781219905001","blob":"blob156150781249107916"} +module.exports.testInfo = {"container":"container156599409899507415","blob":"blob156599409929306768"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781219905001') + .put('/container156599409899507415') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'ETag', - '"0x8D6F9CAA87516B7"', + '"0x8D722981BC3E516"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8df81bff-b01e-001e-59b3-2ba07c000000', + '6d0f51bc-b01e-00d2-2f80-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781219905001/blob156150781249107916', "Hello World") + .put('/container156599409899507415/blob156599409929306768', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'ETag', - '"0x8D6F9CAA8A2654E"', + '"0x8D722981BF35A2E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a163e284-401e-00a1-0eb3-2bb40a000000', + '039db73d-901e-006f-4880-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150781219905001/blob156150781249107916') + .get('/container156599409899507415/blob156599409929306768') .reply(206, "H", [ 'Content-Length', '1', 'Content-Type', @@ -58,19 +58,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-0/11', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAA8A2654E"', + '"0x8D722981BF35A2E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a159db26-c01e-0077-3cb3-2bffd0000000', + 'a933c0a1-301e-00ae-7e80-5459fc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'x-ms-blob-content-md5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'x-ms-lease-status', @@ -82,28 +84,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781219905001') + .delete('/container156599409899507415') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '483cb229-001e-00e2-3db3-2b9ee3000000', + 'c93507cb-f01e-0091-0180-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_should_not_have_aborted_error_after_download_finishes.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_should_not_have_aborted_error_after_download_finishes.js new file mode 100644 index 000000000000..d94fd9d20d23 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_should_not_have_aborted_error_after_download_finishes.js @@ -0,0 +1,107 @@ +let nock = require('nock'); + +module.exports.testInfo = {"container":"container156599409781306706","blob":"blob156599409810502633"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599409781306706') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:21:38 GMT', + 'ETag', + '"0x8D722981B0E7960"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c8d68f5a-001e-0061-3d80-543e4e000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:21:37 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599409781306706/blob156599409810502633', "Hello World") + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + 'sQqNsWTgdUEFt6mb5y4/5Q==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:21:38 GMT', + 'ETag', + '"0x8D722981B3C1E39"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '6f532efa-f01e-00de-2280-542a38000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:21:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156599409781306706/blob156599409810502633') + .reply(200, "Hello World", [ 'Content-Length', + '11', + 'Content-Type', + 'application/octet-stream', + 'Content-MD5', + 'sQqNsWTgdUEFt6mb5y4/5Q==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:21:38 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D722981B3C1E39"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '4b75e77f-501e-0050-6380-546599000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:21:38 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'BlockBlob', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:21:38 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156599409781306706') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '65c5c2e0-301e-0069-1680-54253d000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:21:38 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_with_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_with_with_default_parameters.js index cf79d009f2c8..5cc07bf33893 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_with_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_download_with_with_default_parameters.js @@ -1,54 +1,54 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150781100604783","blob":"blob156150781131302797"} +module.exports.testInfo = {"container":"container156599409664803154","blob":"blob156599409694101732"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781100604783') + .put('/container156599409664803154') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:11 GMT', + 'Fri, 16 Aug 2019 22:21:36 GMT', 'ETag', - '"0x8D6F9CAA7C10614"', + '"0x8D722981A5D6D9E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5175a52e-d01e-0041-26b3-2b5282000000', + '63baa750-901e-0002-1180-54786b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:10 GMT', + 'Fri, 16 Aug 2019 22:21:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781100604783/blob156150781131302797', "Hello World") + .put('/container156599409664803154/blob156599409694101732', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:11 GMT', + 'Fri, 16 Aug 2019 22:21:37 GMT', 'ETag', - '"0x8D6F9CAA7EE5DE7"', + '"0x8D722981A8A617C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9501cec7-501e-0050-7ab3-2b6599000000', + '9a506fd7-201e-0076-4780-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:11 GMT', + 'Fri, 16 Aug 2019 22:21:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150781100604783/blob156150781131302797') + .get('/container156599409664803154/blob156599409694101732') .reply(200, "Hello World", [ 'Content-Length', '11', 'Content-Type', @@ -56,19 +56,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:11 GMT', + 'Fri, 16 Aug 2019 22:21:37 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAA7EE5DE7"', + '"0x8D722981A8A617C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cf584514-901e-00ec-5eb3-2b72e8000000', + '7ee713e1-101e-0090-3580-54efdd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:11 GMT', + 'Fri, 16 Aug 2019 22:21:37 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:11 GMT', + 'Fri, 16 Aug 2019 22:21:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781100604783') + .delete('/container156599409664803154') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '791e2588-601e-00bd-56b3-2b6c1d000000', + '216ac590-101e-0075-4280-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:11 GMT', + 'Fri, 16 Aug 2019 22:21:36 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_all_parameters_set.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_all_parameters_set.js index 2c64d42d0f62..aa331fdda0bf 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_all_parameters_set.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_all_parameters_set.js @@ -1,75 +1,75 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150781843501174","blob":"blob156150781872601930"} +module.exports.testInfo = {"container":"container156599410522202083","blob":"blob156599410551606300"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781843501174') + .put('/container156599410522202083') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:18 GMT', + 'Fri, 16 Aug 2019 22:21:45 GMT', 'ETag', - '"0x8D6F9CAAC2C0A9B"', + '"0x8D722981F795795"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8f2cdfa4-501e-0079-10b3-2b13db000000', + '2c7d5533-e01e-00e3-0380-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:18 GMT', + 'Fri, 16 Aug 2019 22:21:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781843501174/blob156150781872601930', "Hello World") + .put('/container156599410522202083/blob156599410551606300', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:18 GMT', + 'Fri, 16 Aug 2019 22:21:45 GMT', 'ETag', - '"0x8D6F9CAAC5914F3"', + '"0x8D722981FA748C6"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '79423917-601e-0058-6ab3-2b7eea000000', + '0062ce11-b01e-00d9-2780-54dcbd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:18 GMT', + 'Fri, 16 Aug 2019 22:21:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781843501174/blob156150781872601930') + .put('/container156599410522202083/blob156599410551606300') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:19 GMT', + 'Fri, 16 Aug 2019 22:21:46 GMT', 'ETag', - '"0x8D6F9CAAC8647AA"', + '"0x8D722981FD3B7FE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '666f8603-c01e-0099-34b3-2bf553000000', + 'b696033d-001e-0007-7880-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:18 GMT', + 'Fri, 16 Aug 2019 22:21:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150781843501174/blob156150781872601930') + .head('/container156599410522202083/blob156599410551606300') .reply(200, [], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', @@ -83,19 +83,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'AQIDBA==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:19 GMT', + 'Fri, 16 Aug 2019 22:21:46 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAAC8647AA"', + '"0x8D722981FD3B7FE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '27cb691a-e01e-008e-3bb3-2b3530000000', + '1c3031b7-c01e-0055-4880-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:18 GMT', + 'Fri, 16 Aug 2019 22:21:45 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -111,28 +113,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:18 GMT', + 'Fri, 16 Aug 2019 22:21:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781843501174') + .delete('/container156599410522202083') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e9764137-f01e-00b3-4bb3-2b8016000000', + 'a11d0aa4-101e-00b2-5c80-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:19 GMT', + 'Fri, 16 Aug 2019 22:21:45 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_default_parameters.js index a947e0d10c13..1af0801d49ba 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_sethttpheaders_with_default_parameters.js @@ -1,91 +1,93 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150781692906448","blob":"blob156150781722706222"} +module.exports.testInfo = {"container":"container156599410371409832","blob":"blob156599410400309793"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781692906448') + .put('/container156599410371409832') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:43 GMT', 'ETag', - '"0x8D6F9CAAB476B39"', + '"0x8D722981E92F4EE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f63b389-601e-00db-73b3-2bde47000000', + 'bb52f4d9-a01e-0089-6d80-54c3b5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:16 GMT', + 'Fri, 16 Aug 2019 22:21:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781692906448/blob156150781722706222', "Hello World") + .put('/container156599410371409832/blob156599410400309793', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:44 GMT', 'ETag', - '"0x8D6F9CAAB74F41B"', + '"0x8D722981EBF3006"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c76575d7-201e-0093-7ab3-2becda000000', + '9b6a82f7-e01e-006b-7180-5427c7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781692906448/blob156150781722706222') + .put('/container156599410371409832/blob156599410400309793') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:44 GMT', 'ETag', - '"0x8D6F9CAABA27504"', + '"0x8D722981EF4A184"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5732cfeb-001e-0043-25b3-2b5078000000', + '8f3562c1-401e-00cc-2980-541e24000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:16 GMT', + 'Fri, 16 Aug 2019 22:21:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150781692906448/blob156150781722706222') + .head('/container156599410371409832/blob156599410400309793') .reply(200, "", [ 'Content-Length', '11', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:44 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAABA27504"', + '"0x8D722981EF4A184"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a6733f7f-101e-007e-4eb3-2be55e000000', + 'e2e99139-d01e-0005-6d80-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:44 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -99,28 +101,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781692906448') + .delete('/container156599410371409832') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e2d8758-b01e-00d2-50b3-2bc4c9000000', + '9c093227-101e-00b9-0180-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:17 GMT', + 'Fri, 16 Aug 2019 22:21:44 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_cleaning_up_metadata.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_cleaning_up_metadata.js index b5ca73c1955f..303b5a6b835c 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_cleaning_up_metadata.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_cleaning_up_metadata.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150781486107936","blob":"blob156150781515804338"} +module.exports.testInfo = {"container":"container156599410166902305","blob":"blob156599410195902952"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781486107936') + .put('/container156599410166902305') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:41 GMT', 'ETag', - '"0x8D6F9CAAA0B79EA"', + '"0x8D722981D5AF53C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e70f6b08-d01e-002c-5ab3-2bf8ac000000', + 'acee46fa-f01e-00d5-6080-54324c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:14 GMT', + 'Fri, 16 Aug 2019 22:21:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781486107936/blob156150781515804338', "Hello World") + .put('/container156599410166902305/blob156599410195902952', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'ETag', - '"0x8D6F9CAAA392D8B"', + '"0x8D722981D87FEB2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fe12b61-c01e-00d6-4eb3-2b314b000000', + '0136f5bb-401e-004f-4b80-54be89000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:14 GMT', + 'Fri, 16 Aug 2019 22:21:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781486107936/blob156150781515804338') + .put('/container156599410166902305/blob156599410195902952') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'ETag', - '"0x8D6F9CAAA66391D"', + '"0x8D722981DB5CD9F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e37986-c01e-00dd-4cb3-2b293f000000', + '8a9541a4-901e-008a-0680-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150781486107936/blob156150781515804338') + .head('/container156599410166902305/blob156599410195902952') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAAA66391D"', + '"0x8D722981DB5CD9F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '791e2d0f-601e-00bd-05b3-2b6c1d000000', + '9cd94dba-301e-0087-6d80-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,40 +111,40 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781486107936/blob156150781515804338') + .put('/container156599410166902305/blob156599410195902952') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:16 GMT', + 'Fri, 16 Aug 2019 22:21:43 GMT', 'ETag', - '"0x8D6F9CAAAC09E8A"', + '"0x8D722981E0D4C32"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '39335677-301e-0062-3db3-2b3d49000000', + '1c4af209-001e-0025-4980-54e222000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150781486107936/blob156150781515804338') + .head('/container156599410166902305/blob156599410195902952') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -150,19 +152,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:16 GMT', + 'Fri, 16 Aug 2019 22:21:43 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAAAC09E8A"', + '"0x8D722981E0D4C32"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e70f6eca-d01e-002c-3ab3-2bf8ac000000', + '507fd571-201e-001b-6c80-545403000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -176,28 +180,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:15 GMT', + 'Fri, 16 Aug 2019 22:21:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781486107936') + .delete('/container156599410166902305') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b256bb9-001e-0084-51b3-2b2cb9000000', + '5678eb56-001e-0043-0580-545078000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:16 GMT', + 'Fri, 16 Aug 2019 22:21:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_new_metadata_set.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_new_metadata_set.js index 9418102a4003..6b926c7db782 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_new_metadata_set.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_setmetadata_with_new_metadata_set.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150781338002809","blob":"blob156150781367703976"} +module.exports.testInfo = {"container":"container156599410019502209","blob":"blob156599410048704692"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781338002809') + .put('/container156599410019502209') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:13 GMT', + 'Fri, 16 Aug 2019 22:21:40 GMT', 'ETag', - '"0x8D6F9CAA9299CB1"', + '"0x8D722981C7A3271"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e8aa9747-d01e-00c9-34b3-2bea5b000000', + 'f57d51cc-901e-00a3-1780-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:12 GMT', + 'Fri, 16 Aug 2019 22:21:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781338002809/blob156150781367703976', "Hello World") + .put('/container156599410019502209/blob156599410048704692', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:13 GMT', + 'Fri, 16 Aug 2019 22:21:40 GMT', 'ETag', - '"0x8D6F9CAA9570911"', + '"0x8D722981CA7AF77"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '820fc81e-901e-00a8-46b3-2bae84000000', + '5968587f-e01e-008e-0180-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:13 GMT', + 'Fri, 16 Aug 2019 22:21:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150781338002809/blob156150781367703976') + .put('/container156599410019502209/blob156599410048704692') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:14 GMT', + 'Fri, 16 Aug 2019 22:21:41 GMT', 'ETag', - '"0x8D6F9CAA9843BC3"', + '"0x8D722981CD41EA6"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '759f15cd-801e-00bc-1fb3-2b6de0000000', + 'fba539cb-101e-00df-6e80-542bc5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:13 GMT', + 'Fri, 16 Aug 2019 22:21:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150781338002809/blob156150781367703976') + .head('/container156599410019502209/blob156599410048704692') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:14 GMT', + 'Fri, 16 Aug 2019 22:21:41 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAA9843BC3"', + '"0x8D722981CD41EA6"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5628fac4-301e-0040-15b3-2b537f000000', + 'baa7afe3-201e-005f-2580-54886f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:13 GMT', + 'Fri, 16 Aug 2019 22:21:40 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,28 +111,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:13 GMT', + 'Fri, 16 Aug 2019 22:21:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150781338002809') + .delete('/container156599410019502209') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e24b5c4-501e-0097-76b3-2b1958000000', + '4eb9bea3-301e-00c3-3880-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:14 GMT', + 'Fri, 16 Aug 2019 22:21:40 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_archive_to_hot.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_archive_to_hot.js index 608c7ed8ea03..1fce18023724 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_archive_to_hot.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_archive_to_hot.js @@ -1,71 +1,71 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150783262801427","blob":"blob156150783291807747"} +module.exports.testInfo = {"container":"container156599411898707462","blob":"blob156599411928004475"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783262801427') + .put('/container156599411898707462') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:32 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'ETag', - '"0x8D6F9CAB4A16612"', + '"0x8D7229827ADC0BA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e24d1d3-501e-0097-0db3-2b1958000000', + 'e2e9b033-d01e-0005-0981-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:32 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783262801427/blob156150783291807747', "Hello World") + .put('/container156599411898707462/blob156599411928004475', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'ETag', - '"0x8D6F9CAB4CE9E5F"', + '"0x8D7229827DBC28A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f36ff148-501e-009c-3bb3-2b012c000000', + '7dce54c7-f01e-0030-2881-5420bb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:32 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783262801427/blob156150783291807747') + .put('/container156599411898707462/blob156599411928004475') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1d84a4f-101e-00d4-71b3-2b33b1000000', + 'fd235d70-b01e-003c-0a81-54ce4a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150783262801427/blob156150783291807747') + .head('/container156599411898707462/blob156599411928004475') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -73,19 +73,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAB4CE9E5F"', + '"0x8D7229827DBC28A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b676e10-501e-0014-75b3-2bb9f5000000', + '2da44089-601e-007a-5c81-5410dc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -97,36 +99,36 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Archive', 'x-ms-access-tier-change-time', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783262801427/blob156150783291807747') + .put('/container156599411898707462/blob156599411928004475') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f36ff235-501e-009c-07b3-2b012c000000', + '05baa170-e01e-0085-1c81-542d44000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150783262801427/blob156150783291807747') + .head('/container156599411898707462/blob156599411928004475') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -134,19 +136,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAB4CE9E5F"', + '"0x8D7229827DBC28A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f2d9f4b-301e-00a5-15b3-2b4188000000', + '44f2742d-d01e-00af-2d81-545801000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -158,32 +162,32 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Archive', 'x-ms-access-tier-change-time', - 'Wed, 26 Jun 2019 00:10:34 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'x-ms-archive-status', 'rehydrate-pending-to-hot', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,x-ms-archive-status,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,x-ms-archive-status,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:33 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783262801427') + .delete('/container156599411898707462') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '759f34ba-801e-00bc-50b3-2b6de0000000', + 'd6061574-801e-00b7-8081-547594000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:34 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_default_to_cool.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_default_to_cool.js index 46173b7cdefe..52f1bc4f2fc1 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_default_to_cool.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_settier_set_default_to_cool.js @@ -1,71 +1,71 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150783109909502","blob":"blob156150783140605980"} +module.exports.testInfo = {"container":"container156599411752406459","blob":"blob156599411781602485"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783109909502') + .put('/container156599411752406459') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:31 GMT', + 'Fri, 16 Aug 2019 22:21:57 GMT', 'ETag', - '"0x8D6F9CAB3BADF02"', + '"0x8D7229826CE40B9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '13f6f7db-f01e-00de-42b3-2b2a38000000', + 'baa7caf5-201e-005f-0881-54886f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:30 GMT', + 'Fri, 16 Aug 2019 22:21:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783109909502/blob156150783140605980', "Hello World") + .put('/container156599411752406459/blob156599411781602485', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:31 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'ETag', - '"0x8D6F9CAB3E80C19"', + '"0x8D7229826FB4C45"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd2344ce2-e01e-00ca-09b3-2be95c000000', + '9532e938-a01e-00ef-7381-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:31 GMT', + 'Fri, 16 Aug 2019 22:21:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783109909502/blob156150783140605980') + .put('/container156599411752406459/blob156599411781602485') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8df82cb0-b01e-001e-6eb3-2ba07c000000', + '44f270c2-d01e-00af-1981-545801000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:31 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150783109909502/blob156150783140605980') + .head('/container156599411752406459/blob156599411781602485') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -73,19 +73,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:31 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAB3E80C19"', + '"0x8D7229826FB4C45"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '51346a76-d01e-0063-61b3-2b3cb4000000', + '551ee3f8-801e-0034-2281-54d539000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:31 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -97,30 +99,30 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Cool', 'x-ms-access-tier-change-time', - 'Wed, 26 Jun 2019 00:10:31 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:32 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783109909502') + .delete('/container156599411752406459') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9cb19e3c-901e-008a-18b3-2bc0b2000000', + '42cf698d-301e-00c8-4081-54eba6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:32 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_startcopyfromclient.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_startcopyfromclient.js index 30d706093ecc..7fce91a88601 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_startcopyfromclient.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_startcopyfromclient.js @@ -1,78 +1,78 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150782768101430","blob":"blob156150782797202952","copiedblob":"copiedblob156150782826804410"} +module.exports.testInfo = {"container":"container156599411429300164","blob":"blob156599411460104359","copiedblob":"copiedblob156599411491901905"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782768101430') + .put('/container156599411429300164') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:27 GMT', + 'Fri, 16 Aug 2019 22:21:54 GMT', 'ETag', - '"0x8D6F9CAB1AF1FD2"', + '"0x8D7229824E3E7AB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8df82854-b01e-001e-19b3-2ba07c000000', + '528dca23-501e-005b-1a81-547ded000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:27 GMT', + 'Fri, 16 Aug 2019 22:21:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782768101430/blob156150782797202952', "Hello World") + .put('/container156599411429300164/blob156599411460104359', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:54 GMT', 'ETag', - '"0x8D6F9CAB1DC25B1"', + '"0x8D722982514A881"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ad057083-a01e-00a0-6cb3-2bb5f7000000', + '3d3131fe-401e-000b-4881-5462e5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782768101430/copiedblob156150782826804410') + .put('/container156599411429300164/copiedblob156599411491901905') .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'ETag', - '"0x8D6F9CAB20A911C"', + '"0x8D7229825418CF5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '823d9c99-d01e-00a4-6bb3-2b4075000000', + '677ef7dd-401e-0066-2981-54c8cb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - 'e69f38c8-b874-44d6-ad11-a5371014568c', + '5a708ec3-7757-4b9a-b9c3-858b607e54a4', 'x-ms-copy-status', 'success', 'Date', - 'Wed, 26 Jun 2019 00:10:27 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150782768101430/blob156150782797202952') + .head('/container156599411429300164/blob156599411460104359') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -80,19 +80,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:54 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAB1DC25B1"', + '"0x8D722982514A881"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5175b7f0-d01e-0041-60b3-2b5282000000', + '379a88c6-e01e-00c1-6881-54f128000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:54 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -106,17 +108,17 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150782768101430/copiedblob156150782826804410') + .head('/container156599411429300164/copiedblob156599411491901905') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -124,19 +126,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAB20A911C"', + '"0x8D7229825418CF5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6979d88d-801e-007b-39b3-2b1121000000', + '528dcb3a-501e-005b-0181-547ded000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -144,15 +148,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-blob-type', 'BlockBlob', 'x-ms-copy-id', - 'e69f38c8-b874-44d6-ad11-a5371014568c', + '5a708ec3-7757-4b9a-b9c3-858b607e54a4', 'x-ms-copy-source', - 'https://fakestorageaccount.blob.core.windows.net/container156150782768101430/blob156150782797202952', + 'https://fakestorageaccount.blob.core.windows.net/container156599411429300164/blob156599411460104359', 'x-ms-copy-status', 'success', 'x-ms-copy-progress', '11/11', 'x-ms-copy-completion-time', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'x-ms-server-encrypted', 'true', 'x-ms-access-tier', @@ -160,28 +164,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782768101430') + .delete('/container156599411429300164') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '40d2e0b5-601e-0094-21b3-2b1a5f000000', + '6d0f6c9e-b01e-00d2-6981-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:28 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js index b8bd02fd0dc2..a01826cc98f9 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js @@ -1,65 +1,65 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464896864300825","blob":"blob156464896894807673"} +module.exports.testInfo = {"container":"container156599412336800905","blob":"blob156599412365809885"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464896864300825') + .put('/container156599412336800905') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:48 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'ETag', - '"0x8D7165C3B9AC000"', + '"0x8D722982A4A2378"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ea3872c2-501e-0097-0945-481958000000', + '9cd96869-301e-0087-1e81-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:48 GMT', + 'Fri, 16 Aug 2019 22:22:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464896864300825/blob156464896894807673', "Hello World") + .put('/container156599412336800905/blob156599412365809885', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:49 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'ETag', - '"0x8D7165C3BC86756"', + '"0x8D722982A75D10C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5dffa2b6-201e-0093-3745-48ecda000000', + '42cf7106-301e-00c8-4281-54eba6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Thu, 01 Aug 2019 08:42:48 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464896864300825') + .delete('/container156599412336800905') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fc635fc3-701e-00ed-1d45-487315000000', + 'e843c623-701e-0080-4181-54d93b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:49 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js index f80a20369127..a58dd065bfc8 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js @@ -1,65 +1,65 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464896774400269","blob":"blob156464896804302154"} +module.exports.testInfo = {"container":"container156599412248302205","blob":"blob156599412277202030"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464896774400269') + .put('/container156599412248302205') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:47 GMT', + 'Fri, 16 Aug 2019 22:22:02 GMT', 'ETag', - '"0x8D7165C3B10A143"', + '"0x8D7229829C2D66C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8c78fcdc-001e-0061-5f45-483e4e000000', + '05baa7ac-e01e-0085-2d81-542d44000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:47 GMT', + 'Fri, 16 Aug 2019 22:22:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464896774400269/blob156464896804302154', "Hello World") + .put('/container156599412248302205/blob156599412277202030', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:48 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'ETag', - '"0x8D7165C3B3DEA74"', + '"0x8D7229829EF71E2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'abec6008-301e-002d-2b45-48f951000000', + '2d8bc156-301e-004b-3e81-544b0b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Thu, 01 Aug 2019 08:42:48 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464896774400269') + .delete('/container156599412248302205') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '809dc160-401e-00e5-3045-486866000000', + 'b9b69663-501e-0014-1281-54b9f5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:47 GMT', + 'Fri, 16 Aug 2019 22:22:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient/recording_undelete.js b/sdk/storage/storage-blob/recordings/node/blobclient/recording_undelete.js index e713902e7b70..0c28dde4a83f 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient/recording_undelete.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient/recording_undelete.js @@ -1,48 +1,48 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150782527207176","blob":"blob156150782557008022"} +module.exports.testInfo = {"container":"container156599411195106224","blob":"blob156599411224203521"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782527207176') + .put('/container156599411195106224') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:25 GMT', + 'Fri, 16 Aug 2019 22:21:52 GMT', 'ETag', - '"0x8D6F9CAB0401D23"', + '"0x8D72298237C0D36"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fee573e8-001e-00a6-06b3-2b428f000000', + '823084ed-c01e-00b0-7d81-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:25 GMT', + 'Fri, 16 Aug 2019 22:21:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782527207176/blob156150782557008022', "Hello World") + .put('/container156599411195106224/blob156599411224203521', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:25 GMT', + 'Fri, 16 Aug 2019 22:21:52 GMT', 'ETag', - '"0x8D6F9CAB06D37D4"', + '"0x8D7229823A82CC1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '00c73d74-701e-00cf-7eb3-2b1d23000000', + 'c935216f-f01e-0091-7481-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:24 GMT', + 'Fri, 16 Aug 2019 22:21:52 GMT', 'Connection', 'close' ]); @@ -57,113 +57,113 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '159dff8b-901e-00ce-2bb3-2b1cde000000', + '3988570c-001e-00cb-4181-54e8a1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:25 GMT', + 'Fri, 16 Aug 2019 22:21:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782527207176/blob156150782557008022') + .delete('/container156599411195106224/blob156599411224203521') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd7e6a05c-a01e-0082-3bb3-2bdbc1000000', + '4cb0acc0-d01e-0086-2681-542e43000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:10:25 GMT', + 'Fri, 16 Aug 2019 22:21:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150782527207176') + .get('/container156599411195106224') .query(true) - .reply(200, "blob156150782557008022trueWed, 26 Jun 2019 00:10:25 GMTWed, 26 Jun 2019 00:10:25 GMT0x8D6F9CAB06D37D411application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrueWed, 26 Jun 2019 00:10:26 GMT6", [ 'Transfer-Encoding', + .reply(200, "blob156599411224203521trueFri, 16 Aug 2019 22:21:52 GMTFri, 16 Aug 2019 22:21:52 GMT0x8D7229823A82CC111application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrueFri, 16 Aug 2019 22:21:53 GMT60", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8f2cea44-501e-0079-0eb3-2b13db000000', + 'd50e5183-201e-0054-7f81-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:26 GMT', + 'Fri, 16 Aug 2019 22:21:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150782527207176/blob156150782557008022') + .put('/container156599411195106224/blob156599411224203521') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f8eeae1-b01e-0073-24b3-2b0a52000000', + 'dde9e93c-001e-0048-5b81-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:26 GMT', + 'Fri, 16 Aug 2019 22:21:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150782527207176') + .get('/container156599411195106224') .query(true) - .reply(200, "blob156150782557008022Wed, 26 Jun 2019 00:10:25 GMTWed, 26 Jun 2019 00:10:25 GMT0x8D6F9CAB06D37D411application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "blob156599411224203521Fri, 16 Aug 2019 22:21:52 GMTFri, 16 Aug 2019 22:21:52 GMT0x8D7229823A82CC111application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16868436-801e-0070-4fb3-2b0955000000', + 'ded5ffd9-501e-00b5-0d81-54776e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:26 GMT', + 'Fri, 16 Aug 2019 22:21:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150782527207176') + .delete('/container156599411195106224') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdf96c14-701e-006e-17b3-2bd3b8000000', + '8f79b5aa-a01e-006c-4181-54d142000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:26 GMT', + 'Fri, 16 Aug 2019 22:21:53 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js index c84be2d0bd01..6ef08f954ebd 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_abortcopyfromclient_should_failed_for_a_completed_copy_operation.js @@ -1,109 +1,109 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150803879504227","blob":"blob156150803910501904","copiedblob":"copiedblob156150803939806771"} +module.exports.testInfo = {"container":"container156599435620009061","blob":"blob156599435651507474","copiedblob":"copiedblob156599435681503531"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803879504227') + .put('/container156599435620009061') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:59 GMT', + 'Fri, 16 Aug 2019 22:25:56 GMT', 'ETag', - '"0x8D6F9CB2F874B79"', + '"0x8D72298B51310FD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fe24441-c01e-00d6-80b4-2b314b000000', + '2c7ed15b-e01e-00e3-5e81-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:58 GMT', + 'Fri, 16 Aug 2019 22:25:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803879504227/blob156150803910501904', "Hello World") + .put('/container156599435620009061/blob156599435651507474', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:59 GMT', + 'Fri, 16 Aug 2019 22:25:56 GMT', 'ETag', - '"0x8D6F9CB2FB448C7"', + '"0x8D72298B5430F38"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ed3389ec-a01e-004e-34b4-2bbf74000000', + '3957ec67-601e-00d0-5581-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:58 GMT', + 'Fri, 16 Aug 2019 22:25:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803879504227/copiedblob156150803939806771') + .put('/container156599435620009061/copiedblob156599435681503531') .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:59 GMT', + 'Fri, 16 Aug 2019 22:25:57 GMT', 'ETag', - '"0x8D6F9CB2FE17B7E"', + '"0x8D72298B57572FD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '32bad904-e01e-006b-49b4-2b27c7000000', + 'd4b6ed7b-601e-00b6-7681-547469000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - 'ca7bc0ee-c74b-4035-bd26-3b90c9e53d83', + '2d03173e-7b6c-4739-ac70-dc3b4f1eee9e', 'x-ms-copy-status', 'success', 'Date', - 'Wed, 26 Jun 2019 00:13:58 GMT', + 'Fri, 16 Aug 2019 22:25:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803879504227/copiedblob156150803939806771') - .reply(400, "InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.\nRequestId:6b374a45-301e-00ea-58b4-2b8590000000\nTime:2019-06-26T00:13:59.9376487Zx-ms-copy-sourceca7bc0ee-c74b-4035-bd26-3b90c9e53d83", [ 'Content-Length', + .put('/container156599435620009061/copiedblob156599435681503531') + .reply(400, "InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.\nRequestId:c5102622-801e-003f-7381-54cd4d000000\nTime:2019-08-16T22:25:57.3934267Zx-ms-copy-source2d03173e-7b6c-4739-ac70-dc3b4f1eee9e", [ 'Content-Length', '358', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b374a45-301e-00ea-58b4-2b8590000000', + 'c5102622-801e-003f-7381-54cd4d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'InvalidHeaderValue', 'Date', - 'Wed, 26 Jun 2019 00:13:59 GMT', + 'Fri, 16 Aug 2019 22:25:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150803879504227') + .delete('/container156599435620009061') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25c29a5f-f01e-0074-72b4-2bfcd7000000', + 'ecde03aa-901e-00e7-2681-546a9c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:59 GMT', + 'Fri, 16 Aug 2019 22:25:57 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js index 94adf9e1c793..2fe735333dbe 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150804922407281","blob":"blob156150804952109668"} +module.exports.testInfo = {"container":"container156599436709904047","blob":"blob156599436740409338"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804922407281') + .put('/container156599436709904047') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:09 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'ETag', - '"0x8D6F9CB35BCC51E"', + '"0x8D72298BB92BC4C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b90ee41a-301e-008c-70b4-2b37ca000000', + '2d8ea643-301e-004b-5981-544b0b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804922407281/blob156150804952109668', "Hello World") + .put('/container156599436709904047/blob156599436740409338', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:09 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'ETag', - '"0x8D6F9CB35EA2833"', + '"0x8D72298BBC14ED2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0c6a702d-901e-0020-16b4-2b165d000000', + '717ac854-401e-0088-4a81-54c248000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:09 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804922407281/blob156150804952109668') + .put('/container156599436709904047/blob156599436740409338') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:10 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'ETag', - '"0x8D6F9CB36184570"', + '"0x8D72298BBF3B293"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '87d14e62-b01e-0037-27b4-2bd63e000000', + 'ec613393-601e-0071-2281-5408a8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:09 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150804922407281/blob156150804952109668') + .head('/container156599436709904047/blob156599436740409338') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:10 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB36184570"', + '"0x8D72298BBF3B293"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f65d6c8-601e-00db-2fb4-2bde47000000', + '2c7ee465-e01e-00e3-4d81-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:09 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,28 +111,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:09 GMT', + 'Fri, 16 Aug 2019 22:26:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150804922407281') + .delete('/container156599436709904047') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'af692f6e-b01e-00d9-4eb4-2bdcbd000000', + '5f4d9ea5-201e-0010-5281-544c77000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:10 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index a991f8ca3458..ec0a47244ba1 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150804386502325","blob":"blob156150804415700391"} +module.exports.testInfo = {"container":"container156599436156809756","blob":"blob156599436187504812"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804386502325') + .put('/container156599436156809756') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:01 GMT', 'ETag', - '"0x8D6F9CB3289EF04"', + '"0x8D72298B846FB1D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0684eba2-001e-0007-59b4-2b8c14000000', + '8ea7a6c8-e01e-00ac-1281-545b06000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:03 GMT', + 'Fri, 16 Aug 2019 22:26:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804386502325/blob156150804415700391', "Hello World") + .put('/container156599436156809756/blob156599436187504812', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'ETag', - '"0x8D6F9CB32B71835"', + '"0x8D72298B8766D13"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '32bae0aa-e01e-006b-19b4-2b27c7000000', + 'e9def795-901e-00a8-4881-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:03 GMT', + 'Fri, 16 Aug 2019 22:26:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804386502325/blob156150804415700391') + .put('/container156599436156809756/blob156599436187504812') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'ETag', - '"0x8D6F9CB32E69533"', + '"0x8D72298B8A8D0DC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc974b1-b01e-0051-54b4-2b6464000000', + '1d2e43a1-801e-0016-8081-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150804386502325/blob156150804415700391') + .head('/container156599436156809756/blob156599436187504812') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB32E69533"', + '"0x8D72298B8A8D0DC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cb227211-f01e-0030-05b4-2b20bb000000', + '44e29fdf-301e-00ea-2881-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,28 +111,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150804386502325') + .delete('/container156599436156809756') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '393475f4-301e-0062-25b4-2b3d49000000', + '1d2e444a-801e-0016-1481-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:05 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 486949c5355b..a5f22d678c55 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150804536707214","blob":"blob156150804566205231"} +module.exports.testInfo = {"container":"container156599436312603837","blob":"blob156599436343202221"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804536707214') + .put('/container156599436312603837') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:05 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'ETag', - '"0x8D6F9CB336FE4D5"', + '"0x8D72298B9348468"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '19cda583-d01e-00eb-2bb4-2b846d000000', + '80e6e08d-901e-0009-6b81-54601f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:04 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804536707214/blob156150804566205231', "Hello World") + .put('/container156599436312603837/blob156599436343202221', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:05 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'ETag', - '"0x8D6F9CB339C71AA"', + '"0x8D72298B963B740"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'afd1f424-501e-005b-6eb4-2b7ded000000', + '3074693c-f01e-0012-6481-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:05 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804536707214/blob156150804566205231') + .put('/container156599436312603837/blob156599436343202221') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:06 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'ETag', - '"0x8D6F9CB33CA8EEC"', + '"0x8D72298B992BF09"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1d9a488-101e-00d4-2cb4-2b33b1000000', + '1f293ad5-901e-0081-5b81-54d8c6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:06 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150804536707214/blob156150804566205231') + .head('/container156599436312603837/blob156599436343202221') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:06 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB33CA8EEC"', + '"0x8D72298B992BF09"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10b05100-901e-002b-1ab4-2b0e29000000', + 'b9b843a3-501e-0014-4581-54b9f5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:05 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,28 +111,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:05 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150804536707214') + .delete('/container156599436312603837') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '80ba16bd-a01e-0023-1eb4-2b155a000000', + '5ca4ed12-101e-009b-4981-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:06 GMT', + 'Fri, 16 Aug 2019 22:26:04 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index 005c9cca8808..2254eecfc8a6 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150804775405110","blob":"blob156150804804704588"} +module.exports.testInfo = {"container":"container156599436558607214","blob":"blob156599436589302239"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804775405110') + .put('/container156599436558607214') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:07 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'ETag', - '"0x8D6F9CB34DBAFC8"', + '"0x8D72298BAAC14EF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16885819-801e-0070-18b4-2b0955000000', + '3d96f709-201e-0098-5981-54f4ae000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:07 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804775405110/blob156150804804704588', "Hello World") + .put('/container156599436558607214/blob156599436589302239', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'ETag', - '"0x8D6F9CB3508038B"', + '"0x8D72298BADA9590"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d0c784d-c01e-0092-2eb4-2bed27000000', + '805c87cf-201e-0039-1b81-543a35000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:07 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804775405110/blob156150804804704588') + .put('/container156599436558607214/blob156599436589302239') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'ETag', - '"0x8D6F9CB3535F9B1"', + '"0x8D72298BB099D47"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc8326e-a01e-0089-68b4-2bc3b5000000', + '78633e61-a01e-00a0-2581-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150804775405110/blob156150804804704588') + .head('/container156599436558607214/blob156599436589302239') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3535F9B1"', + '"0x8D72298BB099D47"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d68fff8-a01e-00ab-5ab4-2bad83000000', + '4c3be487-f01e-0074-7981-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,28 +111,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150804775405110') + .delete('/container156599436558607214') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a03df9e1-d01e-00c2-24b4-2bf22f000000', + '1f2940dc-901e-0081-3681-54d8c6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:08 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index 4ece67a33cc2..8048d5b4223f 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,65 +1,65 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150804686103533","blob":"blob156150804716300147"} +module.exports.testInfo = {"container":"container156599436467107872","blob":"blob156599436497303414"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804686103533') + .put('/container156599436467107872') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:07 GMT', + 'Fri, 16 Aug 2019 22:26:04 GMT', 'ETag', - '"0x8D6F9CB34551186"', + '"0x8D72298BA1F8D8A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8684c1be-301e-0069-63b4-2b253d000000', + '1d8801ee-501e-0036-5a81-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:06 GMT', + 'Fri, 16 Aug 2019 22:26:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804686103533/blob156150804716300147', "Hello World") + .put('/container156599436467107872/blob156599436497303414', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:07 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'ETag', - '"0x8D6F9CB3482407D"', + '"0x8D72298BA4E1ABF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0ffb14bf-101e-0057-2ab4-2b931c000000', + '97d3c4ab-901e-002b-3f81-540e29000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:06 GMT', + 'Fri, 16 Aug 2019 22:26:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150804686103533') + .delete('/container156599436467107872') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99baff3-701e-008b-59b4-2bc14f000000', + '8fce399f-101e-0018-3f81-545704000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:07 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_createsnapshot.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_createsnapshot.js index 953e2933c2ad..2838f472f10d 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_createsnapshot.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_createsnapshot.js @@ -1,77 +1,79 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150803253906068","blob":"blob156150803283101486"} +module.exports.testInfo = {"container":"container156599434805601977","blob":"blob156599434836707374"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803253906068') + .put('/container156599434805601977') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:52 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'ETag', - '"0x8D6F9CB2BCA1247"', + '"0x8D72298B039105A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd2355346-e01e-00ca-43b4-2be95c000000', + '7f095587-701e-006e-6d81-54d3b8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:52 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803253906068/blob156150803283101486', "Hello World") + .put('/container156599434805601977/blob156599434836707374', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:53 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'ETag', - '"0x8D6F9CB2BF7566F"', + '"0x8D72298B067F601"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd8a7bdd6-c01e-00b0-47b4-2b8311000000', + '3d014ee2-d01e-004a-1581-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:52 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803253906068/blob156150803283101486') + .put('/container156599434805601977/blob156599434836707374') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:53 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'ETag', - '"0x8D6F9CB2BF7566F"', + '"0x8D72298B067F601"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '825eb3b6-401e-0000-6cb4-2b7a91000000', + '60db5306-a01e-00cd-5b81-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-26T00:13:53.3763086Z', + '2019-08-16T22:25:48.9273290Z', + 'x-ms-request-server-encrypted', + 'false', 'Date', - 'Wed, 26 Jun 2019 00:13:52 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150803253906068/blob156150803283101486') + .head('/container156599434805601977/blob156599434836707374') .query(true) .reply(200, "", [ 'Content-Length', '11', @@ -80,69 +82,77 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:53 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB2BF7566F"', + '"0x8D72298B067F601"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a03ddaca-d01e-00c2-6fb4-2bf22f000000', + '49a4588d-801e-0059-4181-547f17000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-snapshot', + '2019-08-16T22:25:48.9273290Z', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:53 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'x-ms-blob-type', 'BlockBlob', 'x-ms-server-encrypted', 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-snapshot,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:53 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150803253906068') + .get('/container156599434805601977') .query(true) - .reply(200, "blob1561508032831014862019-06-26T00:13:53.3763086ZWed, 26 Jun 2019 00:13:53 GMTWed, 26 Jun 2019 00:13:53 GMT0x8D6F9CB2BF7566F11application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobtrueblob156150803283101486Wed, 26 Jun 2019 00:13:53 GMTWed, 26 Jun 2019 00:13:53 GMT0x8D6F9CB2BF7566F11application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "blob1565994348367073742019-08-16T22:25:48.9273290ZFri, 16 Aug 2019 22:25:48 GMTFri, 16 Aug 2019 22:25:48 GMT0x8D72298B067F60111application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrue0blob156599434836707374Fri, 16 Aug 2019 22:25:48 GMTFri, 16 Aug 2019 22:25:48 GMT0x8D72298B067F60111application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7bc8cf6-301e-00e1-53b4-2b9de4000000', + '798b4abd-701e-008b-3e81-54c14f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:54 GMT', + 'Fri, 16 Aug 2019 22:25:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150803253906068') + .delete('/container156599434805601977') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b69651e-501e-0014-01b4-2bb9f5000000', + 'c59c5d49-a01e-00c6-7a81-5407ad000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:54 GMT', + 'Fri, 16 Aug 2019 22:25:49 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete.js index d45ac4e55b6b..9a71739487b0 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete.js @@ -1,83 +1,83 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150802864003132","blob":"blob156150802893401476"} +module.exports.testInfo = {"container":"container156599434439306459","blob":"blob156599434469505891"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802864003132') + .put('/container156599434439306459') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:48 GMT', + 'Fri, 16 Aug 2019 22:25:44 GMT', 'ETag', - '"0x8D6F9CB2977200F"', + '"0x8D72298AE092E57"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ade78c8-901e-00e7-5fb4-2b6a9c000000', + '52dea37a-301e-000f-6c81-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:48 GMT', + 'Fri, 16 Aug 2019 22:25:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802864003132/blob156150802893401476', "Hello World") + .put('/container156599434439306459/blob156599434469505891', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:49 GMT', + 'Fri, 16 Aug 2019 22:25:44 GMT', 'ETag', - '"0x8D6F9CB29A4BD3E"', + '"0x8D72298AE38F0F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dbe2a2a2-e01e-00a7-64b4-2b4372000000', + '8a96aa6a-901e-008a-7d81-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:49 GMT', + 'Fri, 16 Aug 2019 22:25:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802864003132/blob156150802893401476') + .delete('/container156599434439306459/blob156599434469505891') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'af6911c5-b01e-00d9-40b4-2bdcbd000000', + 'c9370842-f01e-0091-5c81-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:13:49 GMT', + 'Fri, 16 Aug 2019 22:25:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802864003132') + .delete('/container156599434439306459') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd451d805-201e-001b-01b4-2b5403000000', + '52dea573-301e-000f-3281-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:49 GMT', + 'Fri, 16 Aug 2019 22:25:45 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete_snapshot.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete_snapshot.js index e9685c7bd26f..35ba244d7bcb 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete_snapshot.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_delete_snapshot.js @@ -1,77 +1,79 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150802981902327","blob":"blob156150803011103297"} +module.exports.testInfo = {"container":"container156599434562702967","blob":"blob156599434593101073"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802981902327') + .put('/container156599434562702967') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:50 GMT', + 'Fri, 16 Aug 2019 22:25:45 GMT', 'ETag', - '"0x8D6F9CB2A2B4003"', + '"0x8D72298AEC63728"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '04e22266-701e-0080-34b4-2bd93b000000', + '4c3bb71d-f01e-0074-2481-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:49 GMT', + 'Fri, 16 Aug 2019 22:25:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802981902327/blob156150803011103297', "Hello World") + .put('/container156599434562702967/blob156599434593101073', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:50 GMT', + 'Fri, 16 Aug 2019 22:25:46 GMT', 'ETag', - '"0x8D6F9CB2A5AC0D1"', + '"0x8D72298AEF473C0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '359e5dca-401e-00aa-1bb4-2bac7e000000', + '9b6b7ff8-e01e-006b-3e81-5427c7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:49 GMT', + 'Fri, 16 Aug 2019 22:25:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802981902327/blob156150803011103297') + .put('/container156599434562702967/blob156599434593101073') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:50 GMT', + 'Fri, 16 Aug 2019 22:25:46 GMT', 'ETag', - '"0x8D6F9CB2A5AC0D1"', + '"0x8D72298AEF473C0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0684c8f8-001e-0007-25b4-2b8c14000000', + '58f2c709-f01e-0019-2e81-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-26T00:13:50.6763981Z', + '2019-08-16T22:25:46.4876053Z', + 'x-ms-request-server-encrypted', + 'false', 'Date', - 'Wed, 26 Jun 2019 00:13:50 GMT', + 'Fri, 16 Aug 2019 22:25:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150802981902327/blob156150803011103297') + .head('/container156599434562702967/blob156599434593101073') .query(true) .reply(200, "", [ 'Content-Length', '11', @@ -80,106 +82,114 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:50 GMT', + 'Fri, 16 Aug 2019 22:25:46 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB2A5AC0D1"', + '"0x8D72298AEF473C0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c0f67c3e-901e-00a3-74b4-2bb6f0000000', + '1a67927a-601e-0094-5481-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-snapshot', + '2019-08-16T22:25:46.4876053Z', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:50 GMT', + 'Fri, 16 Aug 2019 22:25:46 GMT', 'x-ms-blob-type', 'BlockBlob', 'x-ms-server-encrypted', 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-snapshot,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:50 GMT', + 'Fri, 16 Aug 2019 22:25:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802981902327/blob156150803011103297') + .delete('/container156599434562702967/blob156599434593101073') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f907d5a-b01e-0073-27b4-2b0a52000000', + '7d974ea4-b01e-0051-3f81-546464000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:13:51 GMT', + 'Fri, 16 Aug 2019 22:25:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802981902327/blob156150803011103297') + .delete('/container156599434562702967/blob156599434593101073') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'adfa2483-301e-0087-21b4-2b2fbe000000', + '7fab74d6-b01e-0078-0f81-541226000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:13:51 GMT', + 'Fri, 16 Aug 2019 22:25:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150802981902327') + .get('/container156599434562702967') .query(true) - .reply(200, "", [ 'Transfer-Encoding', + .reply(200, "", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd57a8e62-d01e-0027-35b4-2be0d8000000', + '58768913-b01e-005a-5b81-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:51 GMT', + 'Fri, 16 Aug 2019 22:25:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802981902327') + .delete('/container156599434562702967') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '720f3221-001e-00e9-25b4-2b8697000000', + '3957d814-601e-00d0-7381-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:51 GMT', + 'Fri, 16 Aug 2019 22:25:47 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_all_parameters_set.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_all_parameters_set.js index 1b4206fd1e8b..184863a8ec33 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_all_parameters_set.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_all_parameters_set.js @@ -1,54 +1,54 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150802066104279","blob":"blob156150802095407354"} +module.exports.testInfo = {"container":"container156599433646106902","blob":"blob156599433677201389"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802066104279') + .put('/container156599433646106902') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:40 GMT', + 'Fri, 16 Aug 2019 22:25:36 GMT', 'ETag', - '"0x8D6F9CB24B5815C"', + '"0x8D72298A95069B4"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5629c401-301e-0040-62b4-2b537f000000', + '0138e2e3-401e-004f-2481-54be89000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:40 GMT', + 'Fri, 16 Aug 2019 22:25:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802066104279/blob156150802095407354', "Hello World") + .put('/container156599433646106902/blob156599433677201389', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:41 GMT', + 'Fri, 16 Aug 2019 22:25:37 GMT', 'ETag', - '"0x8D6F9CB24E56E2E"', + '"0x8D72298A97F96B5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8210bbf0-901e-00a8-16b4-2bae84000000', + '124a4d23-b01e-00bf-2b81-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:40 GMT', + 'Fri, 16 Aug 2019 22:25:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150802066104279/blob156150802095407354') + .get('/container156599433646106902/blob156599433677201389') .reply(206, "H", [ 'Content-Length', '1', 'Content-Type', @@ -58,19 +58,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-0/11', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:41 GMT', + 'Fri, 16 Aug 2019 22:25:37 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB24E56E2E"', + '"0x8D72298A97F96B5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e8abbe31-d01e-00c9-76b4-2bea5b000000', + '2c7eb6fb-e01e-00e3-0281-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:41 GMT', + 'Fri, 16 Aug 2019 22:25:37 GMT', 'x-ms-blob-content-md5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'x-ms-lease-status', @@ -82,28 +84,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:41 GMT', + 'Fri, 16 Aug 2019 22:25:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802066104279') + .delete('/container156599433646106902') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0da8e55e-701e-0008-6cb4-2b61e2000000', + '7a05cf4d-301e-0040-4e81-54537f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:41 GMT', + 'Fri, 16 Aug 2019 22:25:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_with_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_with_with_default_parameters.js index c88ecfd0eb86..43a8965b0a09 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_with_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_download_with_with_default_parameters.js @@ -1,54 +1,54 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150801941606728","blob":"blob156150801972005976"} +module.exports.testInfo = {"container":"container156599433522502397","blob":"blob156599433553307082"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801941606728') + .put('/container156599433522502397') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:39 GMT', + 'Fri, 16 Aug 2019 22:25:35 GMT', 'ETag', - '"0x8D6F9CB23F991FD"', + '"0x8D72298A8935CCF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4ef221cf-501e-0072-7db4-2b0baf000000', + '2079797a-401e-0000-0281-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:39 GMT', + 'Fri, 16 Aug 2019 22:25:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150801941606728/blob156150801972005976', "Hello World") + .put('/container156599433522502397/blob156599433553307082', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:39 GMT', + 'Fri, 16 Aug 2019 22:25:35 GMT', 'ETag', - '"0x8D6F9CB2426684D"', + '"0x8D72298A8C23EDB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d0c560c-c01e-0092-03b4-2bed27000000', + '3cbad0ca-601e-0017-2881-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:39 GMT', + 'Fri, 16 Aug 2019 22:25:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150801941606728/blob156150801972005976') + .get('/container156599433522502397/blob156599433553307082') .reply(200, "Hello World", [ 'Content-Length', '11', 'Content-Type', @@ -56,19 +56,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:39 GMT', + 'Fri, 16 Aug 2019 22:25:35 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB2426684D"', + '"0x8D72298A8C23EDB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ea6f68c-101e-00b2-30b4-2b81eb000000', + '65005a13-f01e-009a-2681-54f654000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:39 GMT', + 'Fri, 16 Aug 2019 22:25:35 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:39 GMT', + 'Fri, 16 Aug 2019 22:25:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150801941606728') + .delete('/container156599433522502397') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a31a55ae-201e-0076-66b4-2bfe2d000000', + '1b0f38cd-d01e-0027-5681-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:40 GMT', + 'Fri, 16 Aug 2019 22:25:35 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_all_parameters_set.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_all_parameters_set.js index 01728e48d68f..2005b8669f60 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_all_parameters_set.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_all_parameters_set.js @@ -1,75 +1,75 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150802714904185","blob":"blob156150802744404042"} +module.exports.testInfo = {"container":"container156599434286602972","blob":"blob156599434316900010"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802714904185') + .put('/container156599434286602972') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'ETag', - '"0x8D6F9CB2894265D"', + '"0x8D72298AD2090D4"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b3728ed-301e-00ea-06b4-2b8590000000', + 'a62134e7-c01e-0077-6581-54ffd0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802714904185/blob156150802744404042', "Hello World") + .put('/container156599434286602972/blob156599434316900010', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'ETag', - '"0x8D6F9CB28C0C381"', + '"0x8D72298AD503B7F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ade77b4-901e-00e7-6ab4-2b6a9c000000', + 'e89cd662-201e-00d7-6381-5430b6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802714904185/blob156150802744404042') + .put('/container156599434286602972/blob156599434316900010') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'ETag', - '"0x8D6F9CB28EEE0C2"', + '"0x8D72298AD7F6A5F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc804a4-a01e-0089-71b4-2bc3b5000000', + '7d3d99c1-301e-0062-7181-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150802714904185/blob156150802744404042') + .head('/container156599434286602972/blob156599434316900010') .reply(200, [], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', @@ -83,19 +83,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'AQIDBA==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB28EEE0C2"', + '"0x8D72298AD7F6A5F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '40d37110-601e-0094-4cb4-2b1a5f000000', + '8231c7df-c01e-00b0-5081-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:47 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -111,28 +113,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:48 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802714904185') + .delete('/container156599434286602972') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdfa4e0c-701e-006e-0eb4-2bd3b8000000', + '8830856e-501e-0097-4681-541958000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:48 GMT', + 'Fri, 16 Aug 2019 22:25:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_default_parameters.js index 14c155f6f1a5..1d8215533668 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_sethttpheaders_with_default_parameters.js @@ -1,91 +1,93 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150802568404401","blob":"blob156150802597900880"} +module.exports.testInfo = {"container":"container156599434132305789","blob":"blob156599434162409262"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802568404401') + .put('/container156599434132305789') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:45 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'ETag', - '"0x8D6F9CB27B4A55A"', + '"0x8D72298AC34CB13"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25c2835f-f01e-0074-32b4-2bfcd7000000', + '3d013dbb-d01e-004a-6c81-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:45 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802568404401/blob156150802597900880', "Hello World") + .put('/container156599434132305789/blob156599434162409262', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:46 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'ETag', - '"0x8D6F9CB27E18590"', + '"0x8D72298AC638DA6"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1a04a861-b01e-0096-3cb4-2b18a5000000', + '9d576d50-301e-008c-7481-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:45 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802568404401/blob156150802597900880') + .put('/container156599434132305789/blob156599434162409262') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:46 GMT', + 'Fri, 16 Aug 2019 22:25:42 GMT', 'ETag', - '"0x8D6F9CB280E6A18"', + '"0x8D72298AC91AAE0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '823f5594-d01e-00a4-4ab4-2b4075000000', + '6500633a-f01e-009a-0381-54f654000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:46 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150802568404401/blob156150802597900880') + .head('/container156599434132305789/blob156599434162409262') .reply(200, "", [ 'Content-Length', '11', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:46 GMT', + 'Fri, 16 Aug 2019 22:25:42 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB280E6A18"', + '"0x8D72298AC91AAE0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '54783181-501e-0036-0fb4-2bd7c3000000', + '2c7ebd80-e01e-00e3-3f81-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:46 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -99,28 +101,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:45 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802568404401') + .delete('/container156599434132305789') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44c819eb-901e-0046-67b4-2ba407000000', + 'e49080ad-b01e-0037-1c81-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:46 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_cleaning_up_metadata.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_cleaning_up_metadata.js index 9656726da180..9a870791cba9 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_cleaning_up_metadata.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_cleaning_up_metadata.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150802354405108","blob":"blob156150802384305027"} +module.exports.testInfo = {"container":"container156599433920001228","blob":"blob156599433951003499"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802354405108') + .put('/container156599433920001228') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:43 GMT', + 'Fri, 16 Aug 2019 22:25:39 GMT', 'ETag', - '"0x8D6F9CB266D476B"', + '"0x8D72298AAF1B35D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '51351f1b-d01e-0063-60b4-2b3cb4000000', + 'd704b7c5-801e-007b-3381-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:43 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802354405108/blob156150802384305027', "Hello World") + .put('/container156599433920001228/blob156599433951003499', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:39 GMT', 'ETag', - '"0x8D6F9CB269C477F"', + '"0x8D72298AB20E843"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '17f5bf23-901e-0009-1bb4-2b601f000000', + 'a11ede61-101e-00b2-6e81-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:43 GMT', + 'Fri, 16 Aug 2019 22:25:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802354405108/blob156150802384305027') + .put('/container156599433920001228/blob156599433951003499') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'ETag', - '"0x8D6F9CB26C8DDC8"', + '"0x8D72298AB4FA1E2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9413d4b6-b01e-00b4-01b4-2b7693000000', + '52de9a07-301e-000f-1a81-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150802354405108/blob156150802384305027') + .head('/container156599433920001228/blob156599433951003499') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB26C8DDC8"', + '"0x8D72298AB4FA1E2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '75a0522a-801e-00bc-4cb4-2b6de0000000', + 'f68b19b7-101e-00d4-6581-5433b1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:39 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,40 +111,40 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802354405108/blob156150802384305027') + .put('/container156599433920001228/blob156599433951003499') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'ETag', - '"0x8D6F9CB27220A60"', + '"0x8D72298ABABB531"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f65925b-601e-00db-57b4-2bde47000000', + 'e2eb7b94-d01e-0005-5681-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150802354405108/blob156150802384305027') + .head('/container156599433920001228/blob156599433951003499') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -150,19 +152,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB27220A60"', + '"0x8D72298ABABB531"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e8d5efe-401e-0083-76b4-2bda3c000000', + '0f00f503-d01e-002c-5381-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:39 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -176,28 +180,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:44 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802354405108') + .delete('/container156599433920001228') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1a04a67f-b01e-0096-09b4-2b18a5000000', + 'd08e40c3-a01e-000a-5281-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:45 GMT', + 'Fri, 16 Aug 2019 22:25:40 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_new_metadata_set.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_new_metadata_set.js index dfc733ca4998..0ceb3026fb64 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_new_metadata_set.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_setmetadata_with_new_metadata_set.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150802194705866","blob":"blob156150802224300389"} +module.exports.testInfo = {"container":"container156599433768804762","blob":"blob156599433798907666"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802194705866') + .put('/container156599433768804762') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:37 GMT', 'ETag', - '"0x8D6F9CB257A727B"', + '"0x8D72298AA0A3CB5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '49c18f28-201e-0010-31b4-2b4c77000000', + '9a527fc7-201e-0076-0281-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:41 GMT', + 'Fri, 16 Aug 2019 22:25:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802194705866/blob156150802224300389', "Hello World") + .put('/container156599433768804762/blob156599433798907666', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'ETag', - '"0x8D6F9CB25B195D8"', + '"0x8D72298AA3832C6"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f28af44c-201e-00dc-63b4-2b28c2000000', + '124a4eef-b01e-00bf-3081-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:41 GMT', + 'Fri, 16 Aug 2019 22:25:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150802194705866/blob156150802224300389') + .put('/container156599433768804762/blob156599433798907666') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'ETag', - '"0x8D6F9CB25DF64EF"', + '"0x8D72298AA667724"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3b876a29-601e-0017-1ab4-2bbaf2000000', + '3d0136d0-d01e-004a-1a81-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150802194705866/blob156150802224300389') + .head('/container156599433768804762/blob156599433798907666') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,23 +79,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB25DF64EF"', + '"0x8D72298AA667724"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e9775286-f01e-00b3-01b4-2b8016000000', + '9d5767f1-301e-008c-5b81-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-a', 'a', 'x-ms-meta-b', 'b', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,28 +111,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-a,x-ms-meta-b,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150802194705866') + .delete('/container156599433768804762') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1294fd1b-d01e-000e-72b4-2b969a000000', + 'd08e3b98-a01e-000a-2b81-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:42 GMT', + 'Fri, 16 Aug 2019 22:25:38 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_archive_to_hot.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_archive_to_hot.js index 13cd82fd6009..4cd8d945917c 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_archive_to_hot.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_archive_to_hot.js @@ -1,71 +1,71 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150804177107687","blob":"blob156150804206609917"} +module.exports.testInfo = {"container":"container156599435942401545","blob":"blob156599435972603716"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804177107687') + .put('/container156599435942401545') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'ETag', - '"0x8D6F9CB314B1E0F"', + '"0x8D72298B6FE735B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f909529-b01e-0073-72b4-2b0a52000000', + '20798da9-401e-0000-3381-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:01 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804177107687/blob156150804206609917', "Hello World") + .put('/container156599435942401545/blob156599435972603716', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'ETag', - '"0x8D6F9CB3178B933"', + '"0x8D72298B72E4848"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3861b76c-e01e-00ac-10b4-2b5b06000000', + 'acefce42-f01e-00d5-2881-54324c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:01 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804177107687/blob156150804206609917') + .put('/container156599435942401545/blob156599435972603716') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd6eed0d1-e01e-0049-36b4-2b49f1000000', + '3d0169a4-d01e-004a-5881-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150804177107687/blob156150804206609917') + .head('/container156599435942401545/blob156599435972603716') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -73,19 +73,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3178B933"', + '"0x8D72298B72E4848"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1aa670c5-801e-0095-1bb4-2b1ba2000000', + 'c9ff355f-701e-002a-4481-540fd4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -97,36 +99,36 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Archive', 'x-ms-access-tier-change-time', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:26:00 GMT', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804177107687/blob156150804206609917') + .put('/container156599435942401545/blob156599435972603716') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdfa603a-701e-006e-16b4-2bd3b8000000', + '1d197854-601e-003e-1d81-54ccb0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:03 GMT', + 'Fri, 16 Aug 2019 22:26:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150804177107687/blob156150804206609917') + .head('/container156599435942401545/blob156599435972603716') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -134,19 +136,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3178B933"', + '"0x8D72298B72E4848"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '823f7a0f-d01e-00a4-05b4-2b4075000000', + 'ff2739ea-501e-0079-3a81-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:25:59 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -158,32 +162,32 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Archive', 'x-ms-access-tier-change-time', - 'Wed, 26 Jun 2019 00:14:03 GMT', + 'Fri, 16 Aug 2019 22:26:00 GMT', 'x-ms-archive-status', 'rehydrate-pending-to-hot', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,x-ms-archive-status,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,x-ms-archive-status,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:03 GMT', + 'Fri, 16 Aug 2019 22:26:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150804177107687') + .delete('/container156599435942401545') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '15a037bf-901e-00ce-7fb4-2b1cde000000', + 'fba64a5e-101e-00df-3f81-542bc5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:02 GMT', + 'Fri, 16 Aug 2019 22:26:00 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_default_to_cool.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_default_to_cool.js index b56b20707249..987091d0e39f 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_default_to_cool.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_settier_set_default_to_cool.js @@ -1,71 +1,71 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150804028703609","blob":"blob156150804058205083"} +module.exports.testInfo = {"container":"container156599435779000903","blob":"blob156599435813307233"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804028703609') + .put('/container156599435779000903') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'ETag', - '"0x8D6F9CB3068BD58"', + '"0x8D72298B60564A5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e5a5a3f8-a01e-00c6-5fb4-2b07ad000000', + '2c7ed399-e01e-00e3-5181-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804028703609/blob156150804058205083', "Hello World") + .put('/container156599435779000903/blob156599435813307233', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'ETag', - '"0x8D6F9CB3095F82A"', + '"0x8D72298B63A4647"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f9092a3-b01e-0073-2db4-2b0a52000000', + 'd35a9e51-c01e-00dd-0c81-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150804028703609/blob156150804058205083') + .put('/container156599435779000903/blob156599435813307233') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b52014d-801e-009e-3bb4-2b03d6000000', + '20798c4a-401e-0000-7181-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150804028703609/blob156150804058205083') + .head('/container156599435779000903/blob156599435813307233') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -73,19 +73,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3095F82A"', + '"0x8D72298B63A4647"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc82275-a01e-0089-26b4-2bc3b5000000', + 'b697f6cc-001e-0007-0581-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -97,30 +99,30 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier', 'Cool', 'x-ms-access-tier-change-time', - 'Wed, 26 Jun 2019 00:14:01 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-change-time,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:00 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150804028703609') + .delete('/container156599435779000903') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5108b5d2-401e-00ee-7db4-2b7012000000', + '1ff95ea0-c01e-005e-0181-548992000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:01 GMT', + 'Fri, 16 Aug 2019 22:25:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_startcopyfromclient.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_startcopyfromclient.js index 0046e139b194..728a0d78eb55 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_startcopyfromclient.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_startcopyfromclient.js @@ -1,78 +1,78 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150803698507698","blob":"blob156150803728007291","copiedblob":"copiedblob156150803757803671"} +module.exports.testInfo = {"container":"container156599435233207844","blob":"blob156599435263708223","copiedblob":"copiedblob156599435294400738"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803698507698') + .put('/container156599435233207844') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'ETag', - '"0x8D6F9CB2E7033ED"', + '"0x8D72298B2C5595C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9413e7d6-b01e-00b4-06b4-2b7693000000', + '9cda8077-301e-0087-5b81-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803698507698/blob156150803728007291', "Hello World") + .put('/container156599435233207844/blob156599435263708223', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'ETag', - '"0x8D6F9CB2E9E87D6"', + '"0x8D72298B2F46E82"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70b01178-d01e-008d-12b4-2b3637000000', + 'dbfd8587-b01e-0015-0c81-54b808000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803698507698/copiedblob156150803757803671') + .put('/container156599435233207844/copiedblob156599435294400738') .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'ETag', - '"0x8D6F9CB2ECCF347"', + '"0x8D72298B3285929"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99b9ad0-701e-008b-1fb4-2bc14f000000', + 'be587375-701e-00c4-0681-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - '2b5949a8-4bfb-4988-b9ac-3d4a94e4024d', + 'bf6b0fc8-fd40-4b01-aa55-28eba1d64ea8', 'x-ms-copy-status', 'success', 'Date', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150803698507698/blob156150803728007291') + .head('/container156599435233207844/blob156599435263708223') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -80,19 +80,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB2E9E87D6"', + '"0x8D72298B2F46E82"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ed338863-a01e-004e-59b4-2bbf74000000', + 'bb523a0f-c01e-007c-4b81-54e7a4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -106,17 +108,17 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150803698507698/copiedblob156150803757803671') + .head('/container156599435233207844/copiedblob156599435294400738') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -124,19 +126,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB2ECCF347"', + '"0x8D72298B3285929"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1688410f-801e-0070-53b4-2b0955000000', + 'd420d8ba-701e-00cf-3f81-541d23000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -144,15 +148,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-blob-type', 'BlockBlob', 'x-ms-copy-id', - '2b5949a8-4bfb-4988-b9ac-3d4a94e4024d', + 'bf6b0fc8-fd40-4b01-aa55-28eba1d64ea8', 'x-ms-copy-source', - 'https://fakestorageaccount.blob.core.windows.net/container156150803698507698/blob156150803728007291', + 'https://fakestorageaccount.blob.core.windows.net/container156599435233207844/blob156599435263708223', 'x-ms-copy-status', 'success', 'x-ms-copy-progress', '11/11', 'x-ms-copy-completion-time', - 'Wed, 26 Jun 2019 00:13:57 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'x-ms-server-encrypted', 'true', 'x-ms-access-tier', @@ -160,28 +164,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:58 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150803698507698') + .delete('/container156599435233207844') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99b9ccd-701e-008b-72b4-2bc14f000000', + '84e987d1-801e-00bc-0681-546de0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:58 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_synccopyfromurl.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_synccopyfromurl.js new file mode 100644 index 000000000000..5fddb862ebd3 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_synccopyfromurl.js @@ -0,0 +1,193 @@ +let nock = require('nock'); + +module.exports.testInfo = {"container":"container156599435420402554","blob":"blob156599435451607426","copiedblob":"copiedblob156599435481907767","undefined":"2019-08-16T22:25:54.820Z"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599435420402554') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'ETag', + '"0x8D72298B3E42D65"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '5baeeda9-f01e-007f-0b81-54e4a3000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599435420402554/blob156599435451607426', "Hello World") + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + 'sQqNsWTgdUEFt6mb5y4/5Q==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'ETag', + '"0x8D72298B4124723"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '3957e78e-601e-00d0-0681-54c633000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599435420402554/copiedblob156599435481907767') + .reply(202, "", [ 'Content-Length', + '0', + 'Content-MD5', + 'sQqNsWTgdUEFt6mb5y4/5Q==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:55 GMT', + 'ETag', + '"0x8D72298B4599CE0"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '1b0f5218-d01e-0027-1e81-54e0d8000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-copy-id', + 'e07c2b2e-e6f8-46dd-b205-db7cc88a3052', + 'x-ms-copy-status', + 'success', + 'Date', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .head('/container156599435420402554/blob156599435451607426') + .reply(200, "", [ 'Content-Length', + '11', + 'Content-Type', + 'application/octet-stream', + 'Content-MD5', + 'sQqNsWTgdUEFt6mb5y4/5Q==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298B4124723"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '4c3bc9c7-f01e-0074-0781-54fcd7000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'BlockBlob', + 'x-ms-server-encrypted', + 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:25:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .head('/container156599435420402554/copiedblob156599435481907767') + .reply(200, "", [ 'Content-Length', + '11', + 'Content-Type', + 'application/octet-stream', + 'Content-MD5', + 'sQqNsWTgdUEFt6mb5y4/5Q==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:55 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298B4599CE0"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '6f5435f8-f01e-00de-7e81-542a38000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:25:55 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'BlockBlob', + 'x-ms-copy-id', + 'e07c2b2e-e6f8-46dd-b205-db7cc88a3052', + 'x-ms-copy-source', + 'https://fakestorageaccount.blob.core.windows.net/container156599435420402554/blob156599435451607426?sv=2018-11-09&se=2019-08-17T22%3A25%3A54Z&sr=b&sp=racwd&sig=%2FLf7zu4RyFgjii99GoWvrUrKsBduAtiVRIQ2JkapZa4%3D', + 'x-ms-copy-status', + 'success', + 'x-ms-copy-progress', + '11/11', + 'x-ms-copy-completion-time', + 'Fri, 16 Aug 2019 22:25:55 GMT', + 'x-ms-server-encrypted', + 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:25:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156599435420402554') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '4b77aa93-501e-0050-4081-546599000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:55 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_undelete.js b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_undelete.js index dc05daa23446..648f255edbb5 100644 --- a/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_undelete.js +++ b/sdk/storage/storage-blob/recordings/node/blobclient_nodejs_only/recording_undelete.js @@ -1,48 +1,48 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150803457000180","blob":"blob156150803486806881"} +module.exports.testInfo = {"container":"container156599434988000042","blob":"blob156599435018801906"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803457000180') + .put('/container156599434988000042') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:54 GMT', + 'Fri, 16 Aug 2019 22:25:50 GMT', 'ETag', - '"0x8D6F9CB2D00E237"', + '"0x8D72298B14F6AAE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5e77c6-801e-0034-28b4-2bd539000000', + 'd1b8eda9-c01e-0038-0d81-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:54 GMT', + 'Fri, 16 Aug 2019 22:25:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803457000180/blob156150803486806881', "Hello World") + .put('/container156599434988000042/blob156599435018801906', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:55 GMT', + 'Fri, 16 Aug 2019 22:25:50 GMT', 'ETag', - '"0x8D6F9CB2D2DC4E4"', + '"0x8D72298B17EEFD3"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4ef249c0-501e-0072-08b4-2b0baf000000', + 'c51021b5-801e-003f-4081-54cd4d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:54 GMT', + 'Fri, 16 Aug 2019 22:25:49 GMT', 'Connection', 'close' ]); @@ -57,113 +57,113 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4a2d9b99-101e-00b9-46b4-2b999f000000', + '86518d40-801e-009e-2c81-5403d6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:54 GMT', + 'Fri, 16 Aug 2019 22:25:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150803457000180/blob156150803486806881') + .delete('/container156599434988000042/blob156599435018801906') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8b4e55a6-f01e-007f-6eb4-2be4a3000000', + '8a96b2b3-901e-008a-4e81-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:13:55 GMT', + 'Fri, 16 Aug 2019 22:25:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150803457000180') + .get('/container156599434988000042') .query(true) - .reply(200, "blob156150803486806881trueWed, 26 Jun 2019 00:13:55 GMTWed, 26 Jun 2019 00:13:55 GMT0x8D6F9CB2D2DC4E411application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrueWed, 26 Jun 2019 00:13:55 GMT6", [ 'Transfer-Encoding', + .reply(200, "blob156599435018801906trueFri, 16 Aug 2019 22:25:50 GMTFri, 16 Aug 2019 22:25:50 GMT0x8D72298B17EEFD311application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltruetrueFri, 16 Aug 2019 22:25:51 GMT60", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd4b500a6-201e-0039-40b4-2b3a35000000', + '0cc081d1-201e-00dc-7381-5428c2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:55 GMT', + 'Fri, 16 Aug 2019 22:25:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150803457000180/blob156150803486806881') + .put('/container156599434988000042/blob156599435018801906') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bbb45564-601e-0071-0cb4-2b08a8000000', + '3d333b73-401e-000b-3481-5462e5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:56 GMT', + 'Fri, 16 Aug 2019 22:25:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150803457000180') + .get('/container156599434988000042') .query(true) - .reply(200, "blob156150803486806881Wed, 26 Jun 2019 00:13:55 GMTWed, 26 Jun 2019 00:13:55 GMT0x8D6F9CB2D2DC4E411application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "blob156599435018801906Fri, 16 Aug 2019 22:25:50 GMTFri, 16 Aug 2019 22:25:50 GMT0x8D72298B17EEFD311application/octet-streamsQqNsWTgdUEFt6mb5y4/5Q==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '15a025dd-901e-00ce-69b4-2b1cde000000', + '8f373f09-401e-00cc-7281-541e24000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:55 GMT', + 'Fri, 16 Aug 2019 22:25:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150803457000180') + .delete('/container156599434988000042') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a5642e1-a01e-0028-59b4-2b0d2e000000', + '7d3da868-301e-0062-7281-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:56 GMT', + 'Fri, 16 Aug 2019 22:25:51 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.js index 5dae7cea25ab..6d256955175a 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_can_be_created_from_a_sas_connection_string.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37b9597c-a01e-00ef-3545-4871ef000000', + '1a666e94-601e-0094-2281-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 08:42:49 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_createcontainer_and_deletecontainer.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_createcontainer_and_deletecontainer.js index 999d4e55fbb0..367f00bd8ee7 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_createcontainer_and_deletecontainer.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_createcontainer_and_deletecontainer.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150785457205843"} +module.exports.testInfo = {"container":"container156599414547701302"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785457205843') + .put('/container156599414547701302') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'ETag', - '"0x8D6F9CAC1B744CE"', + '"0x8D722983778D198"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '12947a83-d01e-000e-67b3-2b969a000000', + '5ca2dde3-101e-009b-4c81-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150785457205843') + .get('/container156599414547701302') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'ETag', - '"0x8D6F9CAC1B744CE"', + '"0x8D722983778D198"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70af614c-d01e-008d-1db3-2b3637000000', + 'c50f8819-801e-003f-8081-54cd4d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key', 'value', 'x-ms-lease-status', @@ -55,41 +55,41 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150785457205843') + .delete('/container156599414547701302') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8df83ce0-b01e-001e-44b3-2ba07c000000', + '2da461ee-601e-007a-6b81-5410dc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:55 GMT', + 'Fri, 16 Aug 2019 22:22:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150785457205843') + .get('/container156599414547701302') .query(true) - .reply(404, "ContainerNotFoundThe specified container does not exist.\nRequestId:63189eec-401e-006d-7db3-2bd0bf000000\nTime:2019-06-26T00:10:55.7071015Z", [ 'Content-Length', + .reply(404, "ContainerNotFoundThe specified container does not exist.\nRequestId:d08bdeae-a01e-000a-0b81-546318000000\nTime:2019-08-16T22:22:26.6069017Z", [ 'Content-Length', '225', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '63189eec-401e-006d-7db3-2bd0bf000000', + 'd08bdeae-a01e-000a-0b81-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'ContainerNotFound', 'Access-Control-Expose-Headers', @@ -97,7 +97,7 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:55 GMT', + 'Fri, 16 Aug 2019 22:22:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getaccountinfo.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getaccountinfo.js index 8ba88da684aa..332123c273df 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getaccountinfo.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getaccountinfo.js @@ -10,9 +10,9 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de1e638a-101e-0031-31b3-2b2146000000', + 'd1b79e06-c01e-0038-6581-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-sku-name', 'Standard_RAGRS', 'x-ms-account-kind', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:53 GMT', + 'Fri, 16 Aug 2019 22:22:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getproperties.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getproperties.js index 269d66e764b6..f4ac0b479927 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getproperties.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getproperties.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e8aac9b4-d01e-00c9-50b3-2bea5b000000', + '4e4386ae-001e-000c-7a81-549460000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:47 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getuserdelegationkey_should_work.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getuserdelegationkey_should_work.js new file mode 100644 index 000000000000..438dbf32ba0f --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_getuserdelegationkey_should_work.js @@ -0,0 +1,3 @@ +let nock = require('nock'); + +module.exports.testInfo = {} diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_all_parameters_configured.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_all_parameters_configured.js index 86817e3a453e..5350b6931fe3 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_all_parameters_configured.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_all_parameters_configured.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150783527201818"} +module.exports.testInfo = {"container":"container156599412522408237"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783527201818x1') + .put('/container156599412522408237x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:35 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'ETag', - '"0x8D6F9CAB634AE7D"', + '"0x8D722982B64B51C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '12b5caee-301e-000f-31b3-2b9767000000', + 'e843c879-701e-0080-4881-54d93b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:34 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783527201818x2') + .put('/container156599412522408237x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:35 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'ETag', - '"0x8D6F9CAB66141DE"', + '"0x8D722982B94E685"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e24d653-501e-0097-0ab3-2b1958000000', + '0efeeaa3-d01e-002c-1d81-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:35 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); @@ -47,22 +47,22 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container1561507835272018181container156150783527201818x1Wed, 26 Jun 2019 00:10:35 GMT\"0x8D6F9CAB634AE7D\"unlockedavailablefalsefalseval/fakestorageaccount/container156150783527201818x2", [ 'Transfer-Encoding', + .reply(200, "container1565994125224082371container156599412522408237x1Fri, 16 Aug 2019 22:22:05 GMT\"0x8D722982B64B51C\"unlockedavailablefalsefalseval/fakestorageaccount/container156599412522408237x2", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a287a7de-001e-0025-2fb3-2be222000000', + 'f57d8203-901e-00a3-5381-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:35 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); @@ -70,56 +70,56 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container156150783527201818/fakestorageaccount/container156150783527201818x21container156150783527201818x2Wed, 26 Jun 2019 00:10:35 GMT\"0x8D6F9CAB66141DE\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', + .reply(200, "container156599412522408237/fakestorageaccount/container156599412522408237x21container156599412522408237x2Fri, 16 Aug 2019 22:22:05 GMT\"0x8D722982B94E685\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ef7e0b85-601e-001c-26b3-2ba286000000', + '6ed9de89-401e-00a1-5781-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:35 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783527201818x1') + .delete('/container156599412522408237x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '413b0fed-701e-0047-09b3-2ba5fa000000', + '82416911-101e-0057-2181-54931c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:35 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783527201818x2') + .delete('/container156599412522408237x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3b862eae-601e-0017-03b3-2bbaf2000000', + '96a13ad3-701e-0008-7581-5461e2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:36 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_default_parameters.js index 72e7106c5bf6..2456ece46139 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_listcontainers_with_default_parameters.js @@ -5,22 +5,22 @@ module.exports.testInfo = {} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "1container-with-dash156115964854905442Fri, 21 Jun 2019 23:27:28 GMT\"0x8D6F6A006C0A26B\"unlockedavailablefalsefalsecontainer156090554725705490Wed, 19 Jun 2019 00:52:27 GMT\"0x8D6F45066AA0EEB\"unlockedavailablefalsefalsecontainer156090554779608687Wed, 19 Jun 2019 00:52:28 GMT\"0x8D6F45066E6929F\"unlockedavailablefalsefalsecontainer156090561203008921156090561232906201Wed, 19 Jun 2019 00:53:32 GMT\"0x8D6F4508D5C383D\"unlockedavailablecontainerfalsefalsecontainer156090867214307648Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD4085EF\"unlockedavailablefalsefalsecontainer156090867264201894Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD63566C\"unlockedavailablefalsefalsecontainer156090872711907981156090872727306486Wed, 19 Jun 2019 01:45:27 GMT\"0x8D6F457CDEB14E4\"unlockedavailablecontainerfalsefalsecontainer156090914137907938Wed, 19 Jun 2019 01:52:21 GMT\"0x8D6F458C4F044E4\"unlockedavailablefalsefalsecontainer156090914186704532Wed, 19 Jun 2019 01:52:22 GMT\"0x8D6F458C512A02B\"unlockedavailablefalsefalsecontainer156090919639003062156090919654405598Wed, 19 Jun 2019 01:53:16 GMT\"0x8D6F458E5A0D07F\"unlockedavailablecontainerfalsefalsecontainer156090927369404910Wed, 19 Jun 2019 01:54:33 GMT\"0x8D6F459139C9126\"unlockedavailablefalsefalsecontainer156091262443706516Wed, 19 Jun 2019 02:50:24 GMT\"0x8D6F460E10763ED\"unlockedavailablefalsefalsecontainer156091262497101824Wed, 19 Jun 2019 02:50:25 GMT\"0x8D6F460E129BF3A\"unlockedavailablefalsefalsecontainer156091266313809371156091266329600565Wed, 19 Jun 2019 02:51:03 GMT\"0x8D6F460F7F8F7F4\"unlockedavailablecontainerfalsefalsecontainer156091272858605498Wed, 19 Jun 2019 02:52:08 GMT\"0x8D6F4611F0E7CB1\"unlockedavailablefalsefalsecontainer156091272903308772Wed, 19 Jun 2019 02:52:09 GMT\"0x8D6F4611F3D4DF6\"unlockedavailablefalsefalsecontainer156091279462904083156091279492705125Wed, 19 Jun 2019 02:53:15 GMT\"0x8D6F46146847053\"unlockedavailablecontainerfalsefalsecontainer156091351130508858Wed, 19 Jun 2019 03:05:11 GMT\"0x8D6F462F199157F\"unlockedavailablefalsefalsecontainer156091351179904003Wed, 19 Jun 2019 03:05:12 GMT\"0x8D6F462F1CF7C41\"unlockedavailablefalsefalsecontainer156091357473902828156091357507003495Wed, 19 Jun 2019 03:06:15 GMT\"0x8D6F4631784E9A3\"unlockedavailablecontainerfalsefalsecontainer156097024987501854Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70C6E3DF8\"unlockedavailablefalsefalsecontainer156097025036305209Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70CA331FC\"unlockedavailablefalsefalsecontainer156097032908204284156097032938404096Wed, 19 Jun 2019 18:52:09 GMT\"0x8D6F4E73BBBAA6F\"unlockedavailablecontainerfalsefalsecontainer156097104224604478Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4C0F471\"unlockedavailablefalsefalsecontainer156097104276103822Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4E32889\"unlockedavailablefalsefalsecontainer156097107774300513156097107789009300Wed, 19 Jun 2019 19:04:37 GMT\"0x8D6F4E8F9CA138F\"unlockedavailablecontainerfalsefalsecontainer156105643756901599156105643787203056Thu, 20 Jun 2019 18:47:18 GMT\"0x8D6F5AFB8660FFD\"unlockedavailablecontainerfalsefalsecontainer156114004451501471Fri, 21 Jun 2019 18:00:44 GMT\"0x8D6F67261F9EA36\"unlockedavailablefalsefalsecontainer156114004505609427Fri, 21 Jun 2019 18:00:45 GMT\"0x8D6F67262284BFE\"unlockedavailablefalsefalsecontainer156114011397205660156114011426706131Fri, 21 Jun 2019 18:01:54 GMT\"0x8D6F6728B698B2E\"unlockedavailablecontainerfalsefalsecontainer156114087829106735156114087859109362Fri, 21 Jun 2019 18:14:38 GMT\"0x8D6F67452FBC965\"unlockedavailablecontainerfalsefalsecontainer156114502060405743Fri, 21 Jun 2019 19:23:40 GMT\"0x8D6F67DF7E74163\"unlockedavailablefalsefalsecontainer156114502105705998Fri, 21 Jun 2019 19:23:41 GMT\"0x8D6F67DF815EA2D\"unlockedavailablefalsefalsecontainer156114509118209199156114509147403388Fri, 21 Jun 2019 19:24:51 GMT\"0x8D6F67E220F2760\"unlockedavailablecontainerfalsefalsecontainer156115949109607609Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA90281D7\"unlockedavailablefalsefalsecontainer156115949159205948Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA93342C2\"unlockedavailablefalsefalsecontainer156115957377103265156115957407908648Fri, 21 Jun 2019 23:26:14 GMT\"0x8D6F69FDA6462E0\"unlockedavailablecontainerfalsefalsecontainer156141759468407984Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AC0D4CC\"unlockedavailablefalsefalsecontainer156141759523203407Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AF57377\"unlockedavailablefalsefalsecontainer156141766234900613156141766264203728Mon, 24 Jun 2019 23:07:42 GMT\"0x8D6F8F8C3233BC9\"unlockedavailablecontainerfalsefalsecontainer156141819245700366Mon, 24 Jun 2019 23:16:32 GMT\"0x8D6F8F9FF0F0832\"unlockedavailablefalsefalsecontainer156141819298608886Mon, 24 Jun 2019 23:16:33 GMT\"0x8D6F8F9FF31FFDA\"unlockedavailablefalsefalsecontainer156141823066904750156141823082207639Mon, 24 Jun 2019 23:17:10 GMT\"0x8D6F8FA15B6FEFA\"unlockedavailablecontainerfalsefalsecontainer156141920928403418Mon, 24 Jun 2019 23:33:29 GMT\"0x8D6F8FC5D1A5B84\"unlockedavailablefalsefalsecontainer156141920977109880Mon, 24 Jun 2019 23:33:30 GMT\"0x8D6F8FC5D4DAFEE\"unlockedavailablefalsefalsecontainer156141927861505007156141927890603002Mon, 24 Jun 2019 23:34:39 GMT\"0x8D6F8FC8680E2F3\"unlockedavailablecontainerfalsefalsecontainer156141960699900351Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A263841\"unlockedavailablefalsefalsecontainer156141960747702958Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A59D909\"unlockedavailablefalsefalsecontainer156141967683200333156141967713009963Mon, 24 Jun 2019 23:41:17 GMT\"0x8D6F8FD73DE312C\"unlockedavailablecontainerfalsefalsecontainer156142020403106302Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE064E7F\"unlockedavailablefalsefalsecontainer156142020456902730Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE3F3E08\"unlockedavailablefalsefalsecontainer156142025553501646Mon, 24 Jun 2019 23:50:55 GMT\"0x8D6F8FECC9F3D49\"unlockedavailablefalsefalsecontainer156142036489400146Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0DE28137\"unlockedavailablefalsefalsecontainer156142036537902490Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0E193B4C\"unlockedavailablefalsefalsecontainer156142043563506030156142043595106431Mon, 24 Jun 2019 23:53:56 GMT\"0x8D6F8FF38292165\"unlockedavailablecontainerfalsefalsecontainer156142093920501679Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F9006434A518\"unlockedavailablefalsefalsecontainer156142093965604939Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F900644E734D\"unlockedavailablefalsefalsecontainer156142097818803588156142097834608426Tue, 25 Jun 2019 00:02:58 GMT\"0x8D6F9007B5E19A6\"unlockedavailablecontainerfalsefalsecontainer156142243858402205Tue, 25 Jun 2019 00:27:18 GMT\"0x8D6F903E1E87A7A\"unlockedavailablefalsefalsecontainer156142243912202747Tue, 25 Jun 2019 00:27:19 GMT\"0x8D6F903E2261C80\"unlockedavailablefalsefalsecontainer156142246104701542Tue, 25 Jun 2019 00:27:41 GMT\"0x8D6F903EF350F1E\"unlockedavailablefalsefalsecontainer156142264307302436Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045BCA8DE1\"unlockedavailablefalsefalsecontainer156142264358401271Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045C02A0C3\"unlockedavailablefalsefalsecontainer156142271202706393156142271232308499Tue, 25 Jun 2019 00:31:52 GMT\"0x8D6F90484FBE57D\"unlockedavailablecontainerfalsefalsecontainer156142341801803081Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629AE3D07\"unlockedavailablefalsefalsecontainer156142341845709009Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629C7E42A\"unlockedavailablefalsefalsecontainer156142345755804614156142345770903903Tue, 25 Jun 2019 00:44:17 GMT\"0x8D6F906412CECA6\"unlockedavailablecontainerfalsefalsecontainer156142529642708147Tue, 25 Jun 2019 01:14:56 GMT\"0x8D6F90A895F03CD\"unlockedavailablefalsefalsecontainer156142529698406742Tue, 25 Jun 2019 01:14:57 GMT\"0x8D6F90A897AF55B\"unlockedavailablefalsefalsecontainer156142530034402585Tue, 25 Jun 2019 01:15:00 GMT\"0x8D6F90A8B7A5752\"unlockedavailablefalsefalsecontainer156142690728900422Tue, 25 Jun 2019 01:41:47 GMT\"0x8D6F90E497CF739\"unlockedavailablefalsefalsecontainer156142690779405271Tue, 25 Jun 2019 01:41:48 GMT\"0x8D6F90E49ADB2D6\"unlockedavailablefalsefalsecontainer156142699012009697156142699042405916Tue, 25 Jun 2019 01:43:10 GMT\"0x8D6F90E7AEE3158\"unlockedavailablecontainerfalsefalsecontainer156142886337101746Tue, 25 Jun 2019 02:14:23 GMT\"0x8D6F912D7623791\"unlockedavailablefalsefalsecontainer156142886389902105Tue, 25 Jun 2019 02:14:24 GMT\"0x8D6F912D79B7D2A\"unlockedavailablefalsefalsecontainer156142893223109318156142893252106303Tue, 25 Jun 2019 02:15:32 GMT\"0x8D6F91300811911\"unlockedavailablecontainerfalsefalsecontainer156143119745000266Tue, 25 Jun 2019 02:53:17 GMT\"0x8D6F918469ADF72\"unlockedavailablefalsefalsecontainer156143119799608917Tue, 25 Jun 2019 02:53:18 GMT\"0x8D6F91846D728E7\"unlockedavailablefalsefalsecontainer156143126509402138156143126539206898Tue, 25 Jun 2019 02:54:25 GMT\"0x8D6F9186F022915\"unlockedavailablecontainerfalsefalsecontainer156143264148405404Tue, 25 Jun 2019 03:17:21 GMT\"0x8D6F91BA353FD99\"unlockedavailablefalsefalsecontainer156143264197307061Tue, 25 Jun 2019 03:17:22 GMT\"0x8D6F91BA3831FA2\"unlockedavailablefalsefalsecontainer156143270779701246156143270808805570Tue, 25 Jun 2019 03:18:28 GMT\"0x8D6F91BCAEC659F\"unlockedavailablecontainerfalsefalsecontainer156150704867908665Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E16DF5CC\"unlockedavailablefalsefalsecontainer156150704913009257Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E1A22DFF\"unlockedavailablefalsefalsecontainer156150711809001022156150711838409588Tue, 25 Jun 2019 23:58:38 GMT\"0x8D6F9C90AE8B898\"unlockedavailablecontainerfalsefalsecontainer156150780604806987Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA4E43436\"unlockedavailablefalsefalsecontainer156150780663707432Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA524F90C\"unlockedavailablefalsefalsenewcontainer1558563421778Wed, 22 May 2019 22:16:04 GMT\"0x8D6DF031477DC5B\"unlockedavailablefalsefalsenewcontainer1558563547313Wed, 22 May 2019 22:18:09 GMT\"0x8D6DF035F60E0EB\"unlockedavailablefalsefalsenewcontainer1558563621011Wed, 22 May 2019 22:19:23 GMT\"0x8D6DF038B5109E0\"unlockedavailablefalsefalsenewcontainer1558563665188Wed, 22 May 2019 22:20:07 GMT\"0x8D6DF03A59C822A\"unlockedavailablefalsefalsenewcontainer1558563784334Wed, 22 May 2019 22:22:06 GMT\"0x8D6DF03ECC69AC6\"unlockedavailablefalsefalsenewcontainer1558563920843Wed, 22 May 2019 22:24:23 GMT\"0x8D6DF043E0252F0\"unlockedavailablefalsefalsenewcontainer1558563958329Wed, 22 May 2019 22:25:00 GMT\"0x8D6DF0454524392\"unlockedavailablefalsefalsenewcontainer1558564002274Wed, 22 May 2019 22:25:44 GMT\"0x8D6DF046E8C13B4\"unlockedavailablefalsefalsenewcontainer1558566428843Wed, 22 May 2019 23:06:11 GMT\"0x8D6DF0A14E48745\"unlockedavailablefalsefalsenewcontainer1558566502944Wed, 22 May 2019 23:07:25 GMT\"0x8D6DF0A41171278\"unlockedavailablefalsefalsenewcontainer1558567561267Wed, 22 May 2019 23:25:03 GMT\"0x8D6DF0CB7E075CA\"unlockedavailablefalsefalsenewcontainer1558568435670Wed, 22 May 2019 23:39:38 GMT\"0x8D6DF0EC112B3D1\"unlockedavailablefalsefalsenewcontainer1558568652495Wed, 22 May 2019 23:43:14 GMT\"0x8D6DF0F424E081B\"unlockedavailablefalsefalsenewcontainer1558568745506Wed, 22 May 2019 23:44:47 GMT\"0x8D6DF0F79C51DAC\"unlockedavailablefalsefalsenewcontainer1558569392955Wed, 22 May 2019 23:55:35 GMT\"0x8D6DF10FBAA7A4A\"unlockedavailablefalsefalsenewcontainer1558569468574Wed, 22 May 2019 23:56:51 GMT\"0x8D6DF1128BABAB9\"unlockedavailablefalsefalsenewcontainer1558569536456Wed, 22 May 2019 23:57:58 GMT\"0x8D6DF11512FB4E9\"unlockedavailablefalsefalsenewcontainer1558569685779Thu, 23 May 2019 00:00:28 GMT\"0x8D6DF11AA31B593\"unlockedavailablefalsefalsenewcontainer1558569823106Thu, 23 May 2019 00:02:45 GMT\"0x8D6DF11FC0967AF\"unlockedavailablefalsefalsenewcontainer1558569889486Thu, 23 May 2019 00:03:51 GMT\"0x8D6DF12239C4D79\"unlockedavailablefalsefalsenewcontainer1558569945712Thu, 23 May 2019 00:04:48 GMT\"0x8D6DF12451A16B8\"unlockedavailablefalsefalsenewcontainer1558569987205Thu, 23 May 2019 00:05:29 GMT\"0x8D6DF125DD9CF62\"unlockedavailablefalsefalsenewcontainer1558571694791Thu, 23 May 2019 00:33:57 GMT\"0x8D6DF1657AAAB3A\"unlockedavailablefalsefalsenewcontainer1558571988171Thu, 23 May 2019 00:38:50 GMT\"0x8D6DF17069448C5\"unlockedavailablefalsefalsenewcontainer1558572038761Thu, 23 May 2019 00:39:41 GMT\"0x8D6DF172496D021\"unlockedavailablefalsefalsenewcontainer1558572092088Thu, 23 May 2019 00:40:34 GMT\"0x8D6DF17445F6287\"unlockedavailablefalsefalsenewcontainer1558572190452Thu, 23 May 2019 00:42:12 GMT\"0x8D6DF177EFF670F\"unlockedavailablefalsefalsenewcontainer1558572372101Thu, 23 May 2019 00:45:14 GMT\"0x8D6DF17EB453B55\"unlockedavailablefalsefalsenewcontainer1559004365932Tue, 28 May 2019 00:46:06 GMT\"0x8D6E305DE333510\"unlockedavailablefalsefalsenewcontainer1559004757976Tue, 28 May 2019 00:52:38 GMT\"0x8D6E306C7E14974\"unlockedavailablefalsefalsenewcontainer1559342089338Fri, 31 May 2019 22:34:49 GMT\"0x8D6E6183133AB7B\"unlockedavailablefalsefalsenewcontainer1559347780600Sat, 01 Jun 2019 00:09:41 GMT\"0x8D6E625717AAA2A\"unlockedavailablefalsefalsenewcontainer1560993322689Thu, 20 Jun 2019 01:15:23 GMT\"0x8D6F51CC4F2F4D3\"unlockedavailablefalsefalsenewcontainer1561069143536Thu, 20 Jun 2019 22:19:03 GMT\"0x8D6F5CD4DA84818\"unlockedavailablefalsefalsenewcontainer1561073367239Thu, 20 Jun 2019 23:29:27 GMT\"0x8D6F5D723155163\"unlockedavailablefalsefalsenewcontainer1561073421471Thu, 20 Jun 2019 23:30:21 GMT\"0x8D6F5D743688390\"unlockedavailablefalsefalse", [ 'Transfer-Encoding', + .reply(200, "1container-with-dash156115964854905442Fri, 21 Jun 2019 23:27:28 GMT\"0x8D6F6A006C0A26B\"unlockedavailablefalsefalsecontainer156090554725705490Wed, 19 Jun 2019 00:52:27 GMT\"0x8D6F45066AA0EEB\"unlockedavailablefalsefalsecontainer156090554779608687Wed, 19 Jun 2019 00:52:28 GMT\"0x8D6F45066E6929F\"unlockedavailablefalsefalsecontainer156090561203008921156090561232906201Wed, 19 Jun 2019 00:53:32 GMT\"0x8D6F4508D5C383D\"unlockedavailablecontainerfalsefalsecontainer156090867214307648Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD4085EF\"unlockedavailablefalsefalsecontainer156090867264201894Wed, 19 Jun 2019 01:44:32 GMT\"0x8D6F457AD63566C\"unlockedavailablefalsefalsecontainer156090872711907981156090872727306486Wed, 19 Jun 2019 01:45:27 GMT\"0x8D6F457CDEB14E4\"unlockedavailablecontainerfalsefalsecontainer156090914137907938Wed, 19 Jun 2019 01:52:21 GMT\"0x8D6F458C4F044E4\"unlockedavailablefalsefalsecontainer156090914186704532Wed, 19 Jun 2019 01:52:22 GMT\"0x8D6F458C512A02B\"unlockedavailablefalsefalsecontainer156090919639003062156090919654405598Wed, 19 Jun 2019 01:53:16 GMT\"0x8D6F458E5A0D07F\"unlockedavailablecontainerfalsefalsecontainer156090927369404910Wed, 19 Jun 2019 01:54:33 GMT\"0x8D6F459139C9126\"unlockedavailablefalsefalsecontainer156091262443706516Wed, 19 Jun 2019 02:50:24 GMT\"0x8D6F460E10763ED\"unlockedavailablefalsefalsecontainer156091262497101824Wed, 19 Jun 2019 02:50:25 GMT\"0x8D6F460E129BF3A\"unlockedavailablefalsefalsecontainer156091266313809371156091266329600565Wed, 19 Jun 2019 02:51:03 GMT\"0x8D6F460F7F8F7F4\"unlockedavailablecontainerfalsefalsecontainer156091272858605498Wed, 19 Jun 2019 02:52:08 GMT\"0x8D6F4611F0E7CB1\"unlockedavailablefalsefalsecontainer156091272903308772Wed, 19 Jun 2019 02:52:09 GMT\"0x8D6F4611F3D4DF6\"unlockedavailablefalsefalsecontainer156091279462904083156091279492705125Wed, 19 Jun 2019 02:53:15 GMT\"0x8D6F46146847053\"unlockedavailablecontainerfalsefalsecontainer156091351130508858Wed, 19 Jun 2019 03:05:11 GMT\"0x8D6F462F199157F\"unlockedavailablefalsefalsecontainer156091351179904003Wed, 19 Jun 2019 03:05:12 GMT\"0x8D6F462F1CF7C41\"unlockedavailablefalsefalsecontainer156091357473902828156091357507003495Wed, 19 Jun 2019 03:06:15 GMT\"0x8D6F4631784E9A3\"unlockedavailablecontainerfalsefalsecontainer156097024987501854Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70C6E3DF8\"unlockedavailablefalsefalsecontainer156097025036305209Wed, 19 Jun 2019 18:50:50 GMT\"0x8D6F4E70CA331FC\"unlockedavailablefalsefalsecontainer156097032908204284156097032938404096Wed, 19 Jun 2019 18:52:09 GMT\"0x8D6F4E73BBBAA6F\"unlockedavailablecontainerfalsefalsecontainer156097104224604478Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4C0F471\"unlockedavailablefalsefalsecontainer156097104276103822Wed, 19 Jun 2019 19:04:02 GMT\"0x8D6F4E8E4E32889\"unlockedavailablefalsefalsecontainer156097107774300513156097107789009300Wed, 19 Jun 2019 19:04:37 GMT\"0x8D6F4E8F9CA138F\"unlockedavailablecontainerfalsefalsecontainer156105643756901599156105643787203056Thu, 20 Jun 2019 18:47:18 GMT\"0x8D6F5AFB8660FFD\"unlockedavailablecontainerfalsefalsecontainer156114004451501471Fri, 21 Jun 2019 18:00:44 GMT\"0x8D6F67261F9EA36\"unlockedavailablefalsefalsecontainer156114004505609427Fri, 21 Jun 2019 18:00:45 GMT\"0x8D6F67262284BFE\"unlockedavailablefalsefalsecontainer156114011397205660156114011426706131Fri, 21 Jun 2019 18:01:54 GMT\"0x8D6F6728B698B2E\"unlockedavailablecontainerfalsefalsecontainer156114087829106735156114087859109362Fri, 21 Jun 2019 18:14:38 GMT\"0x8D6F67452FBC965\"unlockedavailablecontainerfalsefalsecontainer156114502060405743Fri, 21 Jun 2019 19:23:40 GMT\"0x8D6F67DF7E74163\"unlockedavailablefalsefalsecontainer156114502105705998Fri, 21 Jun 2019 19:23:41 GMT\"0x8D6F67DF815EA2D\"unlockedavailablefalsefalsecontainer156114509118209199156114509147403388Fri, 21 Jun 2019 19:24:51 GMT\"0x8D6F67E220F2760\"unlockedavailablecontainerfalsefalsecontainer156115949109607609Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA90281D7\"unlockedavailablefalsefalsecontainer156115949159205948Fri, 21 Jun 2019 23:24:51 GMT\"0x8D6F69FA93342C2\"unlockedavailablefalsefalsecontainer156115957377103265156115957407908648Fri, 21 Jun 2019 23:26:14 GMT\"0x8D6F69FDA6462E0\"unlockedavailablecontainerfalsefalsecontainer156141759468407984Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AC0D4CC\"unlockedavailablefalsefalsecontainer156141759523203407Mon, 24 Jun 2019 23:06:35 GMT\"0x8D6F8F89AF57377\"unlockedavailablefalsefalsecontainer156141766234900613156141766264203728Mon, 24 Jun 2019 23:07:42 GMT\"0x8D6F8F8C3233BC9\"unlockedavailablecontainerfalsefalsecontainer156141819245700366Mon, 24 Jun 2019 23:16:32 GMT\"0x8D6F8F9FF0F0832\"unlockedavailablefalsefalsecontainer156141819298608886Mon, 24 Jun 2019 23:16:33 GMT\"0x8D6F8F9FF31FFDA\"unlockedavailablefalsefalsecontainer156141823066904750156141823082207639Mon, 24 Jun 2019 23:17:10 GMT\"0x8D6F8FA15B6FEFA\"unlockedavailablecontainerfalsefalsecontainer156141920928403418Mon, 24 Jun 2019 23:33:29 GMT\"0x8D6F8FC5D1A5B84\"unlockedavailablefalsefalsecontainer156141920977109880Mon, 24 Jun 2019 23:33:30 GMT\"0x8D6F8FC5D4DAFEE\"unlockedavailablefalsefalsecontainer156141927861505007156141927890603002Mon, 24 Jun 2019 23:34:39 GMT\"0x8D6F8FC8680E2F3\"unlockedavailablecontainerfalsefalsecontainer156141960699900351Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A263841\"unlockedavailablefalsefalsecontainer156141960747702958Mon, 24 Jun 2019 23:40:07 GMT\"0x8D6F8FD4A59D909\"unlockedavailablefalsefalsecontainer156141967683200333156141967713009963Mon, 24 Jun 2019 23:41:17 GMT\"0x8D6F8FD73DE312C\"unlockedavailablecontainerfalsefalsecontainer156142020403106302Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE064E7F\"unlockedavailablefalsefalsecontainer156142020456902730Mon, 24 Jun 2019 23:50:04 GMT\"0x8D6F8FEAE3F3E08\"unlockedavailablefalsefalsecontainer156142025553501646Mon, 24 Jun 2019 23:50:55 GMT\"0x8D6F8FECC9F3D49\"unlockedavailablefalsefalsecontainer156142036489400146Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0DE28137\"unlockedavailablefalsefalsecontainer156142036537902490Mon, 24 Jun 2019 23:52:45 GMT\"0x8D6F8FF0E193B4C\"unlockedavailablefalsefalsecontainer156142043563506030156142043595106431Mon, 24 Jun 2019 23:53:56 GMT\"0x8D6F8FF38292165\"unlockedavailablecontainerfalsefalsecontainer156142093920501679Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F9006434A518\"unlockedavailablefalsefalsecontainer156142093965604939Tue, 25 Jun 2019 00:02:19 GMT\"0x8D6F900644E734D\"unlockedavailablefalsefalsecontainer156142097818803588156142097834608426Tue, 25 Jun 2019 00:02:58 GMT\"0x8D6F9007B5E19A6\"unlockedavailablecontainerfalsefalsecontainer156142243858402205Tue, 25 Jun 2019 00:27:18 GMT\"0x8D6F903E1E87A7A\"unlockedavailablefalsefalsecontainer156142243912202747Tue, 25 Jun 2019 00:27:19 GMT\"0x8D6F903E2261C80\"unlockedavailablefalsefalsecontainer156142246104701542Tue, 25 Jun 2019 00:27:41 GMT\"0x8D6F903EF350F1E\"unlockedavailablefalsefalsecontainer156142264307302436Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045BCA8DE1\"unlockedavailablefalsefalsecontainer156142264358401271Tue, 25 Jun 2019 00:30:43 GMT\"0x8D6F9045C02A0C3\"unlockedavailablefalsefalsecontainer156142271202706393156142271232308499Tue, 25 Jun 2019 00:31:52 GMT\"0x8D6F90484FBE57D\"unlockedavailablecontainerfalsefalsecontainer156142341801803081Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629AE3D07\"unlockedavailablefalsefalsecontainer156142341845709009Tue, 25 Jun 2019 00:43:38 GMT\"0x8D6F90629C7E42A\"unlockedavailablefalsefalsecontainer156142345755804614156142345770903903Tue, 25 Jun 2019 00:44:17 GMT\"0x8D6F906412CECA6\"unlockedavailablecontainerfalsefalsecontainer156142529642708147Tue, 25 Jun 2019 01:14:56 GMT\"0x8D6F90A895F03CD\"unlockedavailablefalsefalsecontainer156142529698406742Tue, 25 Jun 2019 01:14:57 GMT\"0x8D6F90A897AF55B\"unlockedavailablefalsefalsecontainer156142530034402585Tue, 25 Jun 2019 01:15:00 GMT\"0x8D6F90A8B7A5752\"unlockedavailablefalsefalsecontainer156142690728900422Tue, 25 Jun 2019 01:41:47 GMT\"0x8D6F90E497CF739\"unlockedavailablefalsefalsecontainer156142690779405271Tue, 25 Jun 2019 01:41:48 GMT\"0x8D6F90E49ADB2D6\"unlockedavailablefalsefalsecontainer156142699012009697156142699042405916Tue, 25 Jun 2019 01:43:10 GMT\"0x8D6F90E7AEE3158\"unlockedavailablecontainerfalsefalsecontainer156142886337101746Tue, 25 Jun 2019 02:14:23 GMT\"0x8D6F912D7623791\"unlockedavailablefalsefalsecontainer156142886389902105Tue, 25 Jun 2019 02:14:24 GMT\"0x8D6F912D79B7D2A\"unlockedavailablefalsefalsecontainer156142893223109318156142893252106303Tue, 25 Jun 2019 02:15:32 GMT\"0x8D6F91300811911\"unlockedavailablecontainerfalsefalsecontainer156143119745000266Tue, 25 Jun 2019 02:53:17 GMT\"0x8D6F918469ADF72\"unlockedavailablefalsefalsecontainer156143119799608917Tue, 25 Jun 2019 02:53:18 GMT\"0x8D6F91846D728E7\"unlockedavailablefalsefalsecontainer156143126509402138156143126539206898Tue, 25 Jun 2019 02:54:25 GMT\"0x8D6F9186F022915\"unlockedavailablecontainerfalsefalsecontainer156143264148405404Tue, 25 Jun 2019 03:17:21 GMT\"0x8D6F91BA353FD99\"unlockedavailablefalsefalsecontainer156143264197307061Tue, 25 Jun 2019 03:17:22 GMT\"0x8D6F91BA3831FA2\"unlockedavailablefalsefalsecontainer156143270779701246156143270808805570Tue, 25 Jun 2019 03:18:28 GMT\"0x8D6F91BCAEC659F\"unlockedavailablecontainerfalsefalsecontainer156150704867908665Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E16DF5CC\"unlockedavailablefalsefalsecontainer156150704913009257Tue, 25 Jun 2019 23:57:29 GMT\"0x8D6F9C8E1A22DFF\"unlockedavailablefalsefalsecontainer156150711809001022156150711838409588Tue, 25 Jun 2019 23:58:38 GMT\"0x8D6F9C90AE8B898\"unlockedavailablecontainerfalsefalsecontainer156150780604806987Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA4E43436\"unlockedavailablefalsefalsecontainer156150780663707432Wed, 26 Jun 2019 00:10:06 GMT\"0x8D6F9CAA524F90C\"unlockedavailablefalsefalsecontainer156150787409600313156150787438902817Wed, 26 Jun 2019 00:11:14 GMT\"0x8D6F9CACD86940B\"unlockedavailablecontainerfalsefalsecontainer156150830230202417Wed, 26 Jun 2019 00:18:22 GMT\"0x8D6F9CBCCB7FFFA\"unlockedavailablefalsefalsecontainer156150830285909872Wed, 26 Jun 2019 00:18:22 GMT\"0x8D6F9CBCCD3550C\"unlockedavailablefalsefalsecontainer156150834010005232156150834025006969Wed, 26 Jun 2019 00:19:00 GMT\"0x8D6F9CBE31CA84E\"unlockedavailablecontainerfalsefalsecontainer156157307000003091Wed, 26 Jun 2019 18:17:50 GMT\"0x8D6FA629941D310\"unlockedavailablefalsefalsecontainer156157307052308501Wed, 26 Jun 2019 18:17:50 GMT\"0x8D6FA62995D9D64\"unlockedavailablefalsefalsecontainer156157624791805785Wed, 26 Jun 2019 19:10:48 GMT\"0x8D6FA69FF6565CC\"unlockedavailablefalsefalsecontainer156157624842104958Wed, 26 Jun 2019 19:10:48 GMT\"0x8D6FA69FF9FF290\"unlockedavailablefalsefalsecontainer156157631454308390156157631484800305Wed, 26 Jun 2019 19:11:55 GMT\"0x8D6FA6A2737EB7D\"unlockedavailablecontainerfalsefalsecontainer156157675866908678Wed, 26 Jun 2019 19:19:19 GMT\"0x8D6FA6B2FDB3948\"unlockedavailablefalsefalsecontainer156157675919808463Wed, 26 Jun 2019 19:19:19 GMT\"0x8D6FA6B30049AAF\"unlockedavailablefalsefalsecontainer156157679552809419156157679568006273Wed, 26 Jun 2019 19:19:55 GMT\"0x8D6FA6B45BA72A2\"unlockedavailablecontainerfalsefalsecontainer156166433746103102Thu, 27 Jun 2019 19:38:57 GMT\"0x8D6FB3718EAFB6D\"unlockedavailablefalsefalsecontainer156166433799901666Thu, 27 Jun 2019 19:38:58 GMT\"0x8D6FB37190E8F80\"unlockedavailablefalsefalsecontainer156166437660606294156166437675707976Thu, 27 Jun 2019 19:39:36 GMT\"0x8D6FB37301EECFB\"unlockedavailablecontainerfalsefalsecontainer156166884753803260Thu, 27 Jun 2019 20:54:07 GMT\"0x8D6FB4199194780\"unlockedavailablefalsefalsecontainer156166884806105139Thu, 27 Jun 2019 20:54:08 GMT\"0x8D6FB41994FA4B7\"unlockedavailablefalsefalsecontainer156166885978200681Thu, 27 Jun 2019 20:54:20 GMT\"0x8D6FB41A04B5229\"unlockedavailablefalsefalsecontainer156166922183406720Thu, 27 Jun 2019 21:00:22 GMT\"0x8D6FB42782D2803\"unlockedavailablefalsefalsecontainer156166922228307462Thu, 27 Jun 2019 21:00:22 GMT\"0x8D6FB42785CD91A\"unlockedavailablefalsefalsecontainer156166929272107165156166929301104792Thu, 27 Jun 2019 21:01:33 GMT\"0x8D6FB42A284E44A\"unlockedavailablecontainerfalsefalsecontainer156167142581901476Thu, 27 Jun 2019 21:37:06 GMT\"0x8D6FB4799E6160F\"unlockedavailablefalsefalsecontainer156167142634508603Thu, 27 Jun 2019 21:37:06 GMT\"0x8D6FB479A0934CD\"unlockedavailablefalsefalsecontainer156167146791409800156167146806306957Thu, 27 Jun 2019 21:37:48 GMT\"0x8D6FB47B2DDF5ED\"unlockedavailablecontainerfalsefalsecontainer156167461871706206Thu, 27 Jun 2019 22:30:19 GMT\"0x8D6FB4F08F0BD9F\"unlockedavailablefalsefalsecontainer156167461913706076Thu, 27 Jun 2019 22:30:19 GMT\"0x8D6FB4F0922A6E0\"unlockedavailablefalsefalsecontainer156167468568008696156167468596904869Thu, 27 Jun 2019 22:31:26 GMT\"0x8D6FB4F30F72998\"unlockedavailablecontainerfalsefalsecontainer156167487755009926Thu, 27 Jun 2019 22:34:37 GMT\"0x8D6FB4FA32910BB\"unlockedavailablefalsefalsecontainer156167516754003612Thu, 27 Jun 2019 22:39:27 GMT\"0x8D6FB50501C2B15\"unlockedavailablefalsefalsecontainer156167516802204572Thu, 27 Jun 2019 22:39:28 GMT\"0x8D6FB50504B6C92\"unlockedavailablefalsefalsecontainer156167523428708013156167523457705153Thu, 27 Jun 2019 22:40:34 GMT\"0x8D6FB5077F60935\"unlockedavailablecontainerfalsefalsecontainer156167527798600624Thu, 27 Jun 2019 22:41:18 GMT\"0x8D6FB5091E44006\"unlockedavailablefalsefalsecontainer156167527838205330Thu, 27 Jun 2019 22:41:18 GMT\"0x8D6FB509214F690\"unlockedavailablefalsefalsecontainer156167534620808929156167534649804459Thu, 27 Jun 2019 22:42:26 GMT\"0x8D6FB50BAACEF98\"unlockedavailablecontainerfalsefalsecontainer156167573849900048Thu, 27 Jun 2019 22:48:58 GMT\"0x8D6FB51A4634D3E\"unlockedavailablefalsefalsecontainer156167573892800755Thu, 27 Jun 2019 22:48:59 GMT\"0x8D6FB51A487F2E9\"unlockedavailablefalsefalsecontainer156167577616502375156167577641208857Thu, 27 Jun 2019 22:49:36 GMT\"0x8D6FB51BAD72BF7\"unlockedavailablecontainerfalsefalsecontainer156167591857104313Thu, 27 Jun 2019 22:51:58 GMT\"0x8D6FB520FBFA0F4\"unlockedavailablefalsefalsecontainer156167591904701400Thu, 27 Jun 2019 22:51:59 GMT\"0x8D6FB520FE3833B\"unlockedavailablefalsefalsecontainer156167595565507611156167595580703651Thu, 27 Jun 2019 22:52:35 GMT\"0x8D6FB5225C441E1\"unlockedavailablecontainerfalsefalsecontainer156176588364509349Fri, 28 Jun 2019 23:51:24 GMT\"0x8D6FC2387232BE9\"unlockedavailablefalsefalsecontainer156176588414600905Fri, 28 Jun 2019 23:51:24 GMT\"0x8D6FC238752E587\"unlockedavailablefalsefalsecontainer156176595227105917156176595256609977Fri, 28 Jun 2019 23:52:32 GMT\"0x8D6FC23B01A9CA2\"unlockedavailablecontainerfalsefalsecontainer156176658130205688Sat, 29 Jun 2019 00:03:01 GMT\"0x8D6FC2526F37129\"unlockedavailablefalsefalsecontainer156176658178105496Sat, 29 Jun 2019 00:03:01 GMT\"0x8D6FC252717A1A0\"unlockedavailablefalsefalsecontainer156176661861706135156176661876802348Sat, 29 Jun 2019 00:03:38 GMT\"0x8D6FC253D1A8622\"unlockedavailablecontainerfalsefalsecontainer156177022532903436Sat, 29 Jun 2019 01:03:45 GMT\"0x8D6FC2DA2F46C4B\"unlockedavailablefalsefalsecontainer156177022578303737Sat, 29 Jun 2019 01:03:45 GMT\"0x8D6FC2DA317B22A\"unlockedavailablefalsefalsecontainer156177029207503064156177029237904944Sat, 29 Jun 2019 01:04:52 GMT\"0x8D6FC2DCAD60FB5\"unlockedavailablecontainerfalsefalsecontainer156177069420209097Sat, 29 Jun 2019 01:11:34 GMT\"0x8D6FC2EBA5A9EF1\"unlockedavailablefalsefalsecontainer156177107984906674Sat, 29 Jun 2019 01:18:00 GMT\"0x8D6FC2FA0466293\"unlockedavailablefalsefalsecontainer156177108027602693Sat, 29 Jun 2019 01:18:00 GMT\"0x8D6FC2FA0761445\"unlockedavailablefalsefalsecontainer156177114634709378156177114663904922Sat, 29 Jun 2019 01:19:06 GMT\"0x8D6FC2FC8024AF8\"unlockedavailablecontainerfalsefalsecontainer156177163563601447Sat, 29 Jun 2019 01:27:15 GMT\"0x8D6FC30EB8B23A3\"unlockedavailablefalsefalsecontainer156177163606902130Sat, 29 Jun 2019 01:27:16 GMT\"0x8D6FC30EBAEDEBF\"unlockedavailablefalsefalsecontainer156177167284102256156177167299208065Sat, 29 Jun 2019 01:27:53 GMT\"0x8D6FC3101A87B1C\"unlockedavailablecontainerfalsefalsecontainer156177468180906969Sat, 29 Jun 2019 02:18:02 GMT\"0x8D6FC380341AAB4\"unlockedavailablefalsefalsecontainer156177468232600610Sat, 29 Jun 2019 02:18:02 GMT\"0x8D6FC38036A96F6\"unlockedavailablefalsefalsecontainer156177471904206094156177471919101025Sat, 29 Jun 2019 02:18:39 GMT\"0x8D6FC38195946F0\"unlockedavailablecontainerfalsefalsecontainer156177479686303618Sat, 29 Jun 2019 02:19:57 GMT\"0x8D6FC3847D58A31\"unlockedavailablefalsefalsecontainer156177479739107232Sat, 29 Jun 2019 02:19:57 GMT\"0x8D6FC38480AB612\"unlockedavailablefalsefalsecontainer156177486858909421156177486889002438Sat, 29 Jun 2019 02:21:09 GMT\"0x8D6FC3872ABF6E0\"unlockedavailablecontainerfalsefalsecontainer156177950617207560Sat, 29 Jun 2019 03:38:26 GMT\"0x8D6FC433ED1B7A5\"unlockedavailablefalsefalsecontainer156177950669407545Sat, 29 Jun 2019 03:38:26 GMT\"0x8D6FC433EF4883D\"unlockedavailablefalsefalsecontainer156177954289003073156177954304204452Sat, 29 Jun 2019 03:39:03 GMT\"0x8D6FC435495CAFF\"unlockedavailablecontainerfalsefalsecontainer156177968568702463Sat, 29 Jun 2019 03:41:26 GMT\"0x8D6FC43A9CCE84B\"unlockedavailablefalsefalsecontainer156177968620208534Sat, 29 Jun 2019 03:41:26 GMT\"0x8D6FC43AA003812\"unlockedavailablefalsefalsecontainer156177975492603814156177975525906588Sat, 29 Jun 2019 03:42:35 GMT\"0x8D6FC43D329CDAE\"unlockedavailablecontainerfalsefalsecontainer156178042712501851Sat, 29 Jun 2019 03:53:47 GMT\"0x8D6FC4563B6C523\"unlockedavailablefalsefalsecontainer156178042759100379Sat, 29 Jun 2019 03:53:47 GMT\"0x8D6FC4563E78108\"unlockedavailablefalsefalsecontainer156178049457303905156178049487404401Sat, 29 Jun 2019 03:54:55 GMT\"0x8D6FC458C02A7C8\"unlockedavailablecontainerfalsefalsecontainer156178095437600794Sat, 29 Jun 2019 04:02:34 GMT\"0x8D6FC469DFFB74E\"unlockedavailablefalsefalsecontainer156178095488302955Sat, 29 Jun 2019 04:02:35 GMT\"0x8D6FC469E23E7AC\"unlockedavailablefalsefalsecontainer156178099199306812156178099214402328Sat, 29 Jun 2019 04:03:12 GMT\"0x8D6FC46B450BF7D\"unlockedavailablecontainerfalsefalsecontainer156178142870904634Sat, 29 Jun 2019 04:10:29 GMT\"0x8D6FC47B8B219B6\"unlockedavailablefalsefalsecontainer156178142917009751Sat, 29 Jun 2019 04:10:29 GMT\"0x8D6FC47B8E5712F\"unlockedavailablefalsefalsecontainer156178149771606895156178149801507139Sat, 29 Jun 2019 04:11:38 GMT\"0x8D6FC47E1EEA050\"unlockedavailablecontainerfalsefalsecontainer156178196503602946Sat, 29 Jun 2019 04:19:25 GMT\"0x8D6FC48F860C01A\"unlockedavailablefalsefalsecontainer156178196550900154Sat, 29 Jun 2019 04:19:25 GMT\"0x8D6FC48F8862928\"unlockedavailablefalsefalsecontainer156178200261200115156178200276602817Sat, 29 Jun 2019 04:20:02 GMT\"0x8D6FC490EB15067\"unlockedavailablecontainerfalsefalsecontainer156178233708909091Sat, 29 Jun 2019 04:25:37 GMT\"0x8D6FC49D61F827A\"unlockedavailablefalsefalsecontainer156178233753901905Sat, 29 Jun 2019 04:25:37 GMT\"0x8D6FC49D6525E66\"unlockedavailablefalsefalsecontainer156178240365702397156178240395409911Sat, 29 Jun 2019 04:26:44 GMT\"0x8D6FC49FDE73FB1\"unlockedavailablecontainerfalsefalsecontainer156178290376906342Sat, 29 Jun 2019 04:35:04 GMT\"0x8D6FC4B27DFB069\"unlockedavailablefalsefalsecontainer156178290418402658Sat, 29 Jun 2019 04:35:04 GMT\"0x8D6FC4B2802F648\"unlockedavailablefalsefalsecontainer156178294449500853156178294464707130Sat, 29 Jun 2019 04:35:44 GMT\"0x8D6FC4B4017D149\"unlockedavailablecontainerfalsefalsecontainer156178305021507737Sat, 29 Jun 2019 04:37:30 GMT\"0x8D6FC4B7F04333A\"unlockedavailablefalsefalsecontainer156209045725506961Tue, 02 Jul 2019 18:00:57 GMT\"0x8D6FF173C12389B\"unlockedavailablefalsefalsecontainer156209045774508902Tue, 02 Jul 2019 18:00:57 GMT\"0x8D6FF173C35F3B5\"unlockedavailablefalsefalsecontainer156209049910903276156209049925800247Tue, 02 Jul 2019 18:01:39 GMT\"0x8D6FF1754EB5157\"unlockedavailablecontainerfalsefalsecontainer156209141109409328Tue, 02 Jul 2019 18:16:51 GMT\"0x8D6FF19749BC158\"unlockedavailablefalsefalsecontainer156209141310008182Tue, 02 Jul 2019 18:16:53 GMT\"0x8D6FF19759D8126\"unlockedavailablefalsefalsecontainer156209141409606493Tue, 02 Jul 2019 18:16:54 GMT\"0x8D6FF197636A87B\"unlockedavailablefalsefalsecontainer156209141609104264Tue, 02 Jul 2019 18:16:56 GMT\"0x8D6FF1977672202\"unlockedavailablefalsefalsecontainer156209149715504344Tue, 02 Jul 2019 18:18:17 GMT\"0x8D6FF19A7BA0FB4\"unlockedavailablefalsefalsecontainer156209149733602045Tue, 02 Jul 2019 18:18:17 GMT\"0x8D6FF19A7D47A51\"unlockedavailablefalsefalsecontainer156209157168307085156209157176600207Tue, 02 Jul 2019 18:19:31 GMT\"0x8D6FF19D431B791\"unlockedavailablecontainerfalsefalsecontainer156209168293905030Tue, 02 Jul 2019 18:21:23 GMT\"0x8D6FF1A167836FD\"unlockedavailablefalsefalsecontainer156209168313107224Tue, 02 Jul 2019 18:21:23 GMT\"0x8D6FF1A1693B34D\"unlockedavailablefalsefalsecontainer156209173356208683156209173371507932Tue, 02 Jul 2019 18:22:13 GMT\"0x8D6FF1A34B8C370\"unlockedavailablecontainerfalsefalsecontainer156209272454505510Tue, 02 Jul 2019 18:38:44 GMT\"0x8D6FF1C8376B833\"unlockedavailablefalsefalsecontainer156209272513407563Tue, 02 Jul 2019 18:38:45 GMT\"0x8D6FF1C83AE7404\"unlockedavailablefalsefalsecontainer156209276496406051156209276512203008Tue, 02 Jul 2019 18:39:25 GMT\"0x8D6FF1C9B7EF1DA\"unlockedavailablecontainerfalsefalsecontainer156211324456902384Wed, 03 Jul 2019 00:20:44 GMT\"0x8D6FF4C4A54B068\"unlockedavailablefalsefalsecontainer156211324500009945Wed, 03 Jul 2019 00:20:45 GMT\"0x8D6FF4C4A73B83D\"unlockedavailablefalsefalsecontainer156211328363601853156211328379206659Wed, 03 Jul 2019 00:21:23 GMT\"0x8D6FF4C6190A480\"unlockedavailablecontainerfalsefalsecontainer156213686815401105Wed, 03 Jul 2019 06:54:28 GMT\"0x8D6FF834B1BEA2A\"unlockedavailablefalsefalsecontainer156213686863602348Wed, 03 Jul 2019 06:54:28 GMT\"0x8D6FF834B50F82E\"unlockedavailablefalsefalsecontainer156213693936608832156213693965606859Wed, 03 Jul 2019 06:55:39 GMT\"0x8D6FF8375A3C518\"unlockedavailablecontainerfalsefalsecontainer156213738116009498Wed, 03 Jul 2019 07:03:01 GMT\"0x8D6FF847CE1F2A4\"unlockedavailablefalsefalsecontainer156213738163400807Wed, 03 Jul 2019 07:03:01 GMT\"0x8D6FF847D062308\"unlockedavailablefalsefalsecontainer156213741977609797156213741992804657Wed, 03 Jul 2019 07:03:40 GMT\"0x8D6FF8493D1445C\"unlockedavailablecontainerfalsefalsecontainer156223822419104307Thu, 04 Jul 2019 11:03:44 GMT\"0x8D7006F47F0DFE5\"unlockedavailablefalsefalsecontainer156223822455103481Thu, 04 Jul 2019 11:03:44 GMT\"0x8D7006F480AAE26\"unlockedavailablefalsefalsecontainer156223825597203410Thu, 04 Jul 2019 11:04:16 GMT\"0x8D7006F5ADD357A\"unlockedavailablefalsefalsecontainer156223825623409345Thu, 04 Jul 2019 11:04:16 GMT\"0x8D7006F5AF1D2A2\"unlockedavailablefalsefalsecontainer156223826782905339156223826792004595Thu, 04 Jul 2019 11:04:27 GMT\"0x8D7006F61DD62D4\"unlockedavailablecontainerfalsefalsecontainer156223829106901807Thu, 04 Jul 2019 11:04:51 GMT\"0x8D7006F6FC37BDB\"unlockedavailablefalsefalsecontainer156223829129306893Thu, 04 Jul 2019 11:04:51 GMT\"0x8D7006F6FD8AEA1\"unlockedavailablefalsefalsecontainer156223829771105825156223829779301400Thu, 04 Jul 2019 11:04:57 GMT\"0x8D7006F73B176C3\"unlockedavailablecontainerfalsefalsecontainer156223831192808092Thu, 04 Jul 2019 11:05:12 GMT\"0x8D7006F7C37A38F\"unlockedavailablefalsefalsecontainer156223831219005815Thu, 04 Jul 2019 11:05:12 GMT\"0x8D7006F7C4D1863\"unlockedavailablefalsefalsecontainer156223831607400978Thu, 04 Jul 2019 11:05:16 GMT\"0x8D7006F7E9D90C3\"unlockedavailablefalsefalsecontainer156223831618801639Thu, 04 Jul 2019 11:05:16 GMT\"0x8D7006F7EA0ECC1\"unlockedavailablefalsefalsecontainer156223831619807872Thu, 04 Jul 2019 11:05:16 GMT\"0x8D7006F7EA47E86\"unlockedavailablefalsefalsecontainer156223834410200220156223834411701388Thu, 04 Jul 2019 11:05:44 GMT\"0x8D7006F8F466CAC\"unlockedavailablecontainerfalsefalsecontainer156223834538505717156223834551704887Thu, 04 Jul 2019 11:05:45 GMT\"0x8D7006F9028366E\"unlockedavailablecontainerfalsefalsecontainer156223836911008950156223836923004310Thu, 04 Jul 2019 11:06:09 GMT\"0x8D7006F9E524DE2\"unlockedavailablecontainerfalsefalsecontainer156223836988003156Thu, 04 Jul 2019 11:06:10 GMT\"0x8D7006F9EC0A4A1\"unlockedavailablefalsefalsecontainer156223837014007988Thu, 04 Jul 2019 11:06:10 GMT\"0x8D7006F9EDDA41D\"unlockedavailablefalsefalsecontainer156223838666509766Thu, 04 Jul 2019 11:06:26 GMT\"0x8D7006FA8CE2D77\"unlockedavailablefalsefalsecontainer156223838701406920Thu, 04 Jul 2019 11:06:27 GMT\"0x8D7006FA8EBC537\"unlockedavailablefalsefalsecontainer156223839054005857Thu, 04 Jul 2019 11:06:30 GMT\"0x8D7006FAB219693\"unlockedavailablefalsefalsecontainer156223839095701924Thu, 04 Jul 2019 11:06:31 GMT\"0x8D7006FAB41BC5B\"unlockedavailablefalsefalsecontainer156223841557408930Thu, 04 Jul 2019 11:06:55 GMT\"0x8D7006FBA005896\"unlockedavailablefalsefalsecontainer156223841590401515Thu, 04 Jul 2019 11:06:56 GMT\"0x8D7006FBA21089A\"unlockedavailablefalsefalsecontainer156223842410207052156223842428108764Thu, 04 Jul 2019 11:07:04 GMT\"0x8D7006FBF1D1FF0\"unlockedavailablecontainerfalsefalsecontainer156223844853800938156223844872505755Thu, 04 Jul 2019 11:07:29 GMT\"0x8D7006FCDCBE678\"unlockedavailablecontainerfalsefalsecontainer156223845293707845156223845311907782Thu, 04 Jul 2019 11:07:33 GMT\"0x8D7006FD0672FFB\"unlockedavailablecontainerfalsefalsecontainer156223848738909933156223848756501557Thu, 04 Jul 2019 11:08:07 GMT\"0x8D7006FE4D8A185\"unlockedavailablecontainerfalsefalsecontainer156223876412909756Thu, 04 Jul 2019 11:12:44 GMT\"0x8D7007089C6052E\"unlockedavailablefalsefalsecontainer156223876444300859Thu, 04 Jul 2019 11:12:44 GMT\"0x8D7007089E621CF\"unlockedavailablefalsefalsecontainer156223876494603583Thu, 04 Jul 2019 11:12:45 GMT\"0x8D700708A45D4EF\"unlockedavailablefalsefalsecontainer156223876525900379Thu, 04 Jul 2019 11:12:45 GMT\"0x8D700708A6573AA\"unlockedavailablefalsefalsecontainer156223882793100004156223882813405987Thu, 04 Jul 2019 11:13:48 GMT\"0x8D70070AFDD8064\"unlockedavailablecontainerfalsefalsecontainer156223882816600878156223882836205941Thu, 04 Jul 2019 11:13:48 GMT\"0x8D70070AFFED9A8\"unlockedavailablecontainerfalsefalsecontainer156224138551006453Thu, 04 Jul 2019 11:56:25 GMT\"0x8D70076A4383928\"unlockedavailablefalsefalsecontainer156224138582204577Thu, 04 Jul 2019 11:56:25 GMT\"0x8D70076A455596E\"unlockedavailablefalsefalsecontainer156224143833802045156224143844700474Thu, 04 Jul 2019 11:57:18 GMT\"0x8D70076C3B26A4E\"unlockedavailablecontainerfalsefalsecontainer156232462917207542Fri, 05 Jul 2019 11:03:49 GMT\"0x8D70138754E8ABE\"unlockedavailablefalsefalsecontainer156232462948901701Fri, 05 Jul 2019 11:03:49 GMT\"0x8D7013875652410\"unlockedavailablefalsefalsecontainer156232465576401990Fri, 05 Jul 2019 11:04:16 GMT\"0x8D70138852A31FF\"unlockedavailablefalsefalsecontainer156232465606009630Fri, 05 Jul 2019 11:04:16 GMT\"0x8D701388540A442\"unlockedavailablefalsefalsecontainer156232467340403555156232467350600131Fri, 05 Jul 2019 11:04:33 GMT\"0x8D701388F9CFDA9\"unlockedavailablecontainerfalsefalsecontainer156232468332908214Fri, 05 Jul 2019 11:04:43 GMT\"0x8D701389587A6C8\"unlockedavailablefalsefalsecontainer156232468348305114Fri, 05 Jul 2019 11:04:43 GMT\"0x8D70138958D29AD\"unlockedavailablefalsefalsecontainer156232468447409536Fri, 05 Jul 2019 11:04:44 GMT\"0x8D701389637F5CE\"unlockedavailablefalsefalsecontainer156232468465502965Fri, 05 Jul 2019 11:04:44 GMT\"0x8D70138964093BB\"unlockedavailablefalsefalsecontainer156232469692904999Fri, 05 Jul 2019 11:04:57 GMT\"0x8D701389D9FC5C6\"unlockedavailablefalsefalsecontainer156232469707301750Fri, 05 Jul 2019 11:04:57 GMT\"0x8D701389DA5CDEF\"unlockedavailablefalsefalsecontainer156232470016803535156232470026706973Fri, 05 Jul 2019 11:05:00 GMT\"0x8D701389F94D67D\"unlockedavailablecontainerfalsefalsecontainer156232471350604487156232471352307967Fri, 05 Jul 2019 11:05:13 GMT\"0x8D70138A77424CF\"unlockedavailablecontainerfalsefalsecontainer156232471749805263156232471751704058Fri, 05 Jul 2019 11:05:17 GMT\"0x8D70138A9D57ACF\"unlockedavailablecontainerfalsefalsecontainer156232472731409881156232472734705668Fri, 05 Jul 2019 11:05:27 GMT\"0x8D70138AFB1FF5B\"unlockedavailablecontainerfalsefalsecontainer156232473633309575Fri, 05 Jul 2019 11:05:36 GMT\"0x8D70138B5310775\"unlockedavailablefalsefalsecontainer156232473667502061Fri, 05 Jul 2019 11:05:36 GMT\"0x8D70138B54E2B49\"unlockedavailablefalsefalsecontainer156232473813505089Fri, 05 Jul 2019 11:05:38 GMT\"0x8D70138B6226C88\"unlockedavailablefalsefalsecontainer156232474586006478Fri, 05 Jul 2019 11:05:46 GMT\"0x8D70138BAD6DDDC\"unlockedavailablefalsefalsecontainer156232474614704650Fri, 05 Jul 2019 11:05:46 GMT\"0x8D70138BAF86082\"unlockedavailablefalsefalsecontainer156232475423801398Fri, 05 Jul 2019 11:05:54 GMT\"0x8D70138BFC75EE9\"unlockedavailablefalsefalsecontainer156232475435808010Fri, 05 Jul 2019 11:05:54 GMT\"0x8D70138BFCABAE1\"unlockedavailablefalsefalsecontainer156232475436805790Fri, 05 Jul 2019 11:05:54 GMT\"0x8D70138BFCD4B55\"unlockedavailablefalsefalsecontainer156232477838008733Fri, 05 Jul 2019 11:06:18 GMT\"0x8D70138CE483649\"unlockedavailablefalsefalsecontainer156232477873200634Fri, 05 Jul 2019 11:06:18 GMT\"0x8D70138CE65C719\"unlockedavailablefalsefalsecontainer156232478565602865156232478567001655Fri, 05 Jul 2019 11:06:25 GMT\"0x8D70138D273BB4B\"unlockedavailablecontainerfalsefalsecontainer156232480102609337Fri, 05 Jul 2019 11:06:41 GMT\"0x8D70138DBB9DC7E\"unlockedavailablefalsefalsecontainer156232480131405470Fri, 05 Jul 2019 11:06:41 GMT\"0x8D70138DBCF3D25\"unlockedavailablefalsefalsecontainer156232480930407019156232480948000841Fri, 05 Jul 2019 11:06:49 GMT\"0x8D70138E0B2B1DA\"unlockedavailablecontainerfalsefalsecontainer156232481964002406156232481981207149Fri, 05 Jul 2019 11:06:59 GMT\"0x8D70138E6DBB99C\"unlockedavailablecontainerfalsefalsecontainer156232484638608723156232484647506628Fri, 05 Jul 2019 11:07:26 GMT\"0x8D70138F6B5842C\"unlockedavailablecontainerfalsefalsecontainer156232484812400233156232484830103972Fri, 05 Jul 2019 11:07:28 GMT\"0x8D70138F7DD1813\"unlockedavailablecontainerfalsefalsecontainer156232491083405478Fri, 05 Jul 2019 11:08:30 GMT\"0x8D701391D1177AB\"unlockedavailablefalsefalsecontainer156232492930108543Fri, 05 Jul 2019 11:08:49 GMT\"0x8D7013928375865\"unlockedavailablefalsefalsecontainer156232492960008427Fri, 05 Jul 2019 11:08:49 GMT\"0x8D7013928568564\"unlockedavailablefalsefalsecontainer156232495996103100Fri, 05 Jul 2019 11:09:20 GMT\"0x8D701393A8C724A\"unlockedavailablefalsefalsecontainer156232496036706376Fri, 05 Jul 2019 11:09:20 GMT\"0x8D701393AAD3E73\"unlockedavailablefalsefalsecontainer156232497393000064Fri, 05 Jul 2019 11:09:34 GMT\"0x8D7013942CE8069\"unlockedavailablefalsefalsecontainer156232497422905414Fri, 05 Jul 2019 11:09:34 GMT\"0x8D7013942E62B68\"unlockedavailablefalsefalsecontainer156232499253909185156232499272804915Fri, 05 Jul 2019 11:09:52 GMT\"0x8D701394DF67FDB\"unlockedavailablecontainerfalsefalsecontainer156232501756701214156232501769806917Fri, 05 Jul 2019 11:10:17 GMT\"0x8D701395CC7EA9D\"unlockedavailablecontainerfalsefalsecontainer156232502582604270156232502607601017Fri, 05 Jul 2019 11:10:26 GMT\"0x8D7013961D7310B\"unlockedavailablecontainerfalsefalsecontainer156232508317804695Fri, 05 Jul 2019 11:11:23 GMT\"0x8D7013983CFD2D4\"unlockedavailablefalsefalsecontainer156232514634005909Fri, 05 Jul 2019 11:12:26 GMT\"0x8D70139A9939A59\"unlockedavailablefalsefalsecontainer156232514665500843Fri, 05 Jul 2019 11:12:26 GMT\"0x8D70139A9A8D3E2\"unlockedavailablefalsefalsecontainer156232518894707903Fri, 05 Jul 2019 11:13:09 GMT\"0x8D70139C2F98191\"unlockedavailablefalsefalsecontainer156232518924405220Fri, 05 Jul 2019 11:13:09 GMT\"0x8D70139C318C5C1\"unlockedavailablefalsefalsecontainer156232518984504033156232518993902118Fri, 05 Jul 2019 11:13:09 GMT\"0x8D70139C3719774\"unlockedavailablecontainerfalsefalsecontainer156232525302603200Fri, 05 Jul 2019 11:14:13 GMT\"0x8D70139E90C238E\"unlockedavailablefalsefalsecontainer156232525302809765156232525321606148Fri, 05 Jul 2019 11:14:13 GMT\"0x8D70139E938F71A\"unlockedavailablecontainerfalsefalsecontainer156241101315108645Sat, 06 Jul 2019 11:03:33 GMT\"0x8D70201962E4F5D\"unlockedavailablefalsefalsecontainer156241101345209560Sat, 06 Jul 2019 11:03:33 GMT\"0x8D70201964361CF\"unlockedavailablefalsefalsecontainer156241105618902738156241105628007700Sat, 06 Jul 2019 11:04:16 GMT\"0x8D70201AFC5C094\"unlockedavailablecontainerfalsefalsecontainer156241105866002235Sat, 06 Jul 2019 11:04:18 GMT\"0x8D70201B140374B\"unlockedavailablefalsefalsecontainer156241105885903052Sat, 06 Jul 2019 11:04:18 GMT\"0x8D70201B14EB8DA\"unlockedavailablefalsefalsecontainer156241108436205673Sat, 06 Jul 2019 11:04:44 GMT\"0x8D70201C096B2C7\"unlockedavailablefalsefalsecontainer156241108457604661Sat, 06 Jul 2019 11:04:44 GMT\"0x8D70201C0AD089A\"unlockedavailablefalsefalsecontainer156241108940606975Sat, 06 Jul 2019 11:04:49 GMT\"0x8D70201C398BE51\"unlockedavailablefalsefalsecontainer156241108964507224Sat, 06 Jul 2019 11:04:49 GMT\"0x8D70201C3B1EED8\"unlockedavailablefalsefalsecontainer156241109765308573156241109772104155Sat, 06 Jul 2019 11:04:57 GMT\"0x8D70201C8780B1C\"unlockedavailablecontainerfalsefalsecontainer156241113599807029156241113615003980Sat, 06 Jul 2019 11:05:36 GMT\"0x8D70201DF676D91\"unlockedavailablecontainerfalsefalsecontainer156241114163904119156241114180201306Sat, 06 Jul 2019 11:05:41 GMT\"0x8D70201E2C5BA67\"unlockedavailablecontainerfalsefalsecontainer156241114354206587Sat, 06 Jul 2019 11:05:43 GMT\"0x8D70201E3DD605E\"unlockedavailablefalsefalsecontainer156241114376508815Sat, 06 Jul 2019 11:05:43 GMT\"0x8D70201E3F14F57\"unlockedavailablefalsefalsecontainer156241114833806913Sat, 06 Jul 2019 11:05:48 GMT\"0x8D70201E6C61256\"unlockedavailablefalsefalsecontainer156241114866201574Sat, 06 Jul 2019 11:05:48 GMT\"0x8D70201E6E2E721\"unlockedavailablefalsefalsecontainer156241115290004992Sat, 06 Jul 2019 11:05:53 GMT\"0x8D70201E972359B\"unlockedavailablefalsefalsecontainer156241115312508541Sat, 06 Jul 2019 11:05:53 GMT\"0x8D70201E9839DEB\"unlockedavailablefalsefalsecontainer156241115415106469Sat, 06 Jul 2019 11:05:54 GMT\"0x8D70201EA491B54\"unlockedavailablefalsefalsecontainer156241115455004504Sat, 06 Jul 2019 11:05:54 GMT\"0x8D70201EA65CC60\"unlockedavailablefalsefalsecontainer156241118712809822Sat, 06 Jul 2019 11:06:27 GMT\"0x8D70201FDE7B50C\"unlockedavailablefalsefalsecontainer156241118746601394Sat, 06 Jul 2019 11:06:27 GMT\"0x8D70201FE04E973\"unlockedavailablefalsefalsecontainer156241119234508343156241119242406436Sat, 06 Jul 2019 11:06:32 GMT\"0x8D7020200EC2A9F\"unlockedavailablecontainerfalsefalsecontainer156241119381706257156241119395009336Sat, 06 Jul 2019 11:06:34 GMT\"0x8D7020201DD0AC5\"unlockedavailablecontainerfalsefalsecontainer156241121031808807156241121049309846Sat, 06 Jul 2019 11:06:50 GMT\"0x8D702020BBE1BF2\"unlockedavailablecontainerfalsefalsecontainer156241121682909073156241121700209314Sat, 06 Jul 2019 11:06:57 GMT\"0x8D702020F9FE059\"unlockedavailablecontainerfalsefalsecontainer156241125139401335156241125157002434Sat, 06 Jul 2019 11:07:31 GMT\"0x8D7020224333F80\"unlockedavailablecontainerfalsefalsecontainer156241139514402008Sat, 06 Jul 2019 11:09:55 GMT\"0x8D7020279D935E7\"unlockedavailablefalsefalsecontainer156241139539401928Sat, 06 Jul 2019 11:09:55 GMT\"0x8D7020279F0EE77\"unlockedavailablefalsefalsecontainer156241144553905793156241144564908246Sat, 06 Jul 2019 11:10:45 GMT\"0x8D7020297E50213\"unlockedavailablecontainerfalsefalsecontainer156241152784607252Sat, 06 Jul 2019 11:12:08 GMT\"0x8D70202C8F8374F\"unlockedavailablefalsefalsecontainer156241152812809168Sat, 06 Jul 2019 11:12:08 GMT\"0x8D70202C90F7C89\"unlockedavailablefalsefalsecontainer156241155982805895Sat, 06 Jul 2019 11:12:40 GMT\"0x8D70202DC00567A\"unlockedavailablefalsefalsecontainer156241156006403388Sat, 06 Jul 2019 11:12:40 GMT\"0x8D70202DC139216\"unlockedavailablefalsefalsecontainer156241157952908521156241157965409946Sat, 06 Jul 2019 11:12:59 GMT\"0x8D70202E7C51A27\"unlockedavailablecontainerfalsefalsecontainer156241160986300713156241160998800974Sat, 06 Jul 2019 11:13:30 GMT\"0x8D70202F9D84D6B\"unlockedavailablecontainerfalsefalsecontainer156249742056006968Sun, 07 Jul 2019 11:03:40 GMT\"0x8D702CAC504BE8A\"unlockedavailablefalsefalsecontainer156249742087201183Sun, 07 Jul 2019 11:03:40 GMT\"0x8D702CAC51A6D66\"unlockedavailablefalsefalsecontainer156249746578800153156249746591805038Sun, 07 Jul 2019 11:04:25 GMT\"0x8D702CADFEF8C9E\"unlockedavailablecontainerfalsefalsecontainer156249746936103682Sun, 07 Jul 2019 11:04:29 GMT\"0x8D702CAE20DF257\"unlockedavailablefalsefalsecontainer156249746957206537Sun, 07 Jul 2019 11:04:29 GMT\"0x8D702CAE21BD789\"unlockedavailablefalsefalsecontainer156249750042909745Sun, 07 Jul 2019 11:05:00 GMT\"0x8D702CAF498E43B\"unlockedavailablefalsefalsecontainer156249750067902088Sun, 07 Jul 2019 11:05:00 GMT\"0x8D702CAF4AF6030\"unlockedavailablefalsefalsecontainer156249750749503030156249750755605086Sun, 07 Jul 2019 11:05:07 GMT\"0x8D702CAF8BDD065\"unlockedavailablecontainerfalsefalsecontainer156249754829408710Sun, 07 Jul 2019 11:05:48 GMT\"0x8D702CB111BB325\"unlockedavailablefalsefalsecontainer156249754850002238Sun, 07 Jul 2019 11:05:48 GMT\"0x8D702CB112B1F41\"unlockedavailablefalsefalsecontainer156249755199203416Sun, 07 Jul 2019 11:05:52 GMT\"0x8D702CB136192D6\"unlockedavailablefalsefalsecontainer156249755228105367156249755239005001Sun, 07 Jul 2019 11:05:52 GMT\"0x8D702CB13819008\"unlockedavailablecontainerfalsefalsecontainer156249755233907183Sun, 07 Jul 2019 11:05:52 GMT\"0x8D702CB137E50A1\"unlockedavailablefalsefalsecontainer156249755745709821Sun, 07 Jul 2019 11:05:57 GMT\"0x8D702CB169FADB4\"unlockedavailablefalsefalsecontainer156249755777204383Sun, 07 Jul 2019 11:05:57 GMT\"0x8D702CB16B3F3E4\"unlockedavailablefalsefalsecontainer156249758318001158Sun, 07 Jul 2019 11:06:23 GMT\"0x8D702CB26037689\"unlockedavailablefalsefalsecontainer156249758456207429Sun, 07 Jul 2019 11:06:24 GMT\"0x8D702CB26B47D50\"unlockedavailablefalsefalsecontainer156249758837205759156249758844304768Sun, 07 Jul 2019 11:06:28 GMT\"0x8D702CB28F896A8\"unlockedavailablecontainerfalsefalsecontainer156249760487003999Sun, 07 Jul 2019 11:06:45 GMT\"0x8D702CB32D826E0\"unlockedavailablefalsefalsecontainer156249760511602919Sun, 07 Jul 2019 11:06:45 GMT\"0x8D702CB32EF62E1\"unlockedavailablefalsefalsecontainer156249760887009895156249760901205447Sun, 07 Jul 2019 11:06:49 GMT\"0x8D702CB3541C038\"unlockedavailablecontainerfalsefalsecontainer156249761346403561156249761364009805Sun, 07 Jul 2019 11:06:53 GMT\"0x8D702CB3808C9E4\"unlockedavailablecontainerfalsefalsecontainer156249764354606938156249764371906831Sun, 07 Jul 2019 11:07:24 GMT\"0x8D702CB4A13AF2E\"unlockedavailablecontainerfalsefalsecontainer156249764980108306Sun, 07 Jul 2019 11:07:29 GMT\"0x8D702CB4D87A73F\"unlockedavailablefalsefalsecontainer156249765689104542156249765700409090Sun, 07 Jul 2019 11:07:37 GMT\"0x8D702CB51DCD74B\"unlockedavailablecontainerfalsefalsecontainer156249767800908495Sun, 07 Jul 2019 11:07:58 GMT\"0x8D702CB5E857925\"unlockedavailablefalsefalsecontainer156249767834606809Sun, 07 Jul 2019 11:07:58 GMT\"0x8D702CB5EA2B1D7\"unlockedavailablefalsefalsecontainer156249769169806604Sun, 07 Jul 2019 11:08:11 GMT\"0x8D702CB6693C3E6\"unlockedavailablefalsefalsecontainer156249769190707698Sun, 07 Jul 2019 11:08:11 GMT\"0x8D702CB66A50503\"unlockedavailablefalsefalsecontainer156249773158101689156249773165709319Sun, 07 Jul 2019 11:08:51 GMT\"0x8D702CB7E535FA8\"unlockedavailablecontainerfalsefalsecontainer156249773878507586156249773896108246Sun, 07 Jul 2019 11:08:59 GMT\"0x8D702CB82C4056B\"unlockedavailablecontainerfalsefalsecontainer156249798039509077Sun, 07 Jul 2019 11:13:00 GMT\"0x8D702CC12B3902B\"unlockedavailablefalsefalsecontainer156249798066902478Sun, 07 Jul 2019 11:13:00 GMT\"0x8D702CC12CB17C2\"unlockedavailablefalsefalsecontainer156249798201506167Sun, 07 Jul 2019 11:13:02 GMT\"0x8D702CC13A57793\"unlockedavailablefalsefalsecontainer156249798225400857Sun, 07 Jul 2019 11:13:02 GMT\"0x8D702CC13BA03CD\"unlockedavailablefalsefalsecontainer156249800868606433Sun, 07 Jul 2019 11:13:28 GMT\"0x8D702CC23824CC7\"unlockedavailablefalsefalsecontainer156249800890604731Sun, 07 Jul 2019 11:13:29 GMT\"0x8D702CC2399D0A3\"unlockedavailablefalsefalsecontainer156249803144404156156249803159108751Sun, 07 Jul 2019 11:13:51 GMT\"0x8D702CC31227EE3\"unlockedavailablecontainerfalsefalsecontainer156249803322307348156249803336400514Sun, 07 Jul 2019 11:13:53 GMT\"0x8D702CC3236B485\"unlockedavailablecontainerfalsefalsecontainer156249805929200646156249805943309188Sun, 07 Jul 2019 11:14:19 GMT\"0x8D702CC41B5F934\"unlockedavailablecontainerfalsefalsecontainer156258382191503058Mon, 08 Jul 2019 11:03:42 GMT\"0x8D70393F03CB1AE\"unlockedavailablefalsefalsecontainer156258382226503097Mon, 08 Jul 2019 11:03:42 GMT\"0x8D70393F0537220\"unlockedavailablefalsefalsecontainer156258386569208923156258386580207394Mon, 08 Jul 2019 11:04:25 GMT\"0x8D703940A421B07\"unlockedavailablecontainerfalsefalsecontainer156258387224506689Mon, 08 Jul 2019 11:04:32 GMT\"0x8D703940E30470D\"unlockedavailablefalsefalsecontainer156258387246809734Mon, 08 Jul 2019 11:04:32 GMT\"0x8D703940E413A0C\"unlockedavailablefalsefalsecontainer156258391138507166156258391145306110Mon, 08 Jul 2019 11:05:11 GMT\"0x8D70394257B1874\"unlockedavailablecontainerfalsefalsecontainer156258391855308418Mon, 08 Jul 2019 11:05:18 GMT\"0x8D7039429CAF9B0\"unlockedavailablefalsefalsecontainer156258391877507887Mon, 08 Jul 2019 11:05:18 GMT\"0x8D7039429DE44AA\"unlockedavailablefalsefalsecontainer156258393202604629Mon, 08 Jul 2019 11:05:32 GMT\"0x8D7039431EB843B\"unlockedavailablefalsefalsecontainer156258393242701221Mon, 08 Jul 2019 11:05:32 GMT\"0x8D7039432097DBF\"unlockedavailablefalsefalsecontainer156258394472308666Mon, 08 Jul 2019 11:05:44 GMT\"0x8D70394396CF1D9\"unlockedavailablefalsefalsecontainer156258394499700230Mon, 08 Jul 2019 11:05:45 GMT\"0x8D703943983EB00\"unlockedavailablefalsefalsecontainer156258396836109770Mon, 08 Jul 2019 11:06:08 GMT\"0x8D70394478A298B\"unlockedavailablefalsefalsecontainer156258396871905552Mon, 08 Jul 2019 11:06:08 GMT\"0x8D7039447A88E9A\"unlockedavailablefalsefalsecontainer156258397108300219156258397123403746Mon, 08 Jul 2019 11:06:11 GMT\"0x8D7039449226BAC\"unlockedavailablecontainerfalsefalsecontainer156258397951001854Mon, 08 Jul 2019 11:06:19 GMT\"0x8D703944E20920C\"unlockedavailablefalsefalsecontainer156258397972008518Mon, 08 Jul 2019 11:06:19 GMT\"0x8D703944E31AC2B\"unlockedavailablefalsefalsecontainer156258399433201014156258399451104470Mon, 08 Jul 2019 11:06:34 GMT\"0x8D70394570A0D28\"unlockedavailablecontainerfalsefalsecontainer156258399486601724156258399498502839Mon, 08 Jul 2019 11:06:35 GMT\"0x8D70394574E1906\"unlockedavailablecontainerfalsefalsecontainer156258400343901431Mon, 08 Jul 2019 11:06:43 GMT\"0x8D703945C66967C\"unlockedavailablefalsefalsecontainer156258400367605103Mon, 08 Jul 2019 11:06:43 GMT\"0x8D703945C796459\"unlockedavailablefalsefalsecontainer156258400426105134Mon, 08 Jul 2019 11:06:44 GMT\"0x8D703945CEDAA84\"unlockedavailablefalsefalsecontainer156258400460009218Mon, 08 Jul 2019 11:06:44 GMT\"0x8D703945D0BF673\"unlockedavailablefalsefalsecontainer156258401696708494156258401702702855Mon, 08 Jul 2019 11:06:57 GMT\"0x8D703946468D683\"unlockedavailablecontainerfalsefalsecontainer156258402790602076156258402808708528Mon, 08 Jul 2019 11:07:08 GMT\"0x8D703946B0A9DE3\"unlockedavailablecontainerfalsefalsecontainer156258405380708244156258405393905998Mon, 08 Jul 2019 11:07:34 GMT\"0x8D703947A6F470E\"unlockedavailablecontainerfalsefalsecontainer156258407080306654156258407098502559Mon, 08 Jul 2019 11:07:51 GMT\"0x8D70394849D2C72\"unlockedavailablecontainerfalsefalsecontainer156258442429104004Mon, 08 Jul 2019 11:13:44 GMT\"0x8D70395574BE7DC\"unlockedavailablefalsefalsecontainer156258442462004801Mon, 08 Jul 2019 11:13:44 GMT\"0x8D70395576C5F68\"unlockedavailablefalsefalsecontainer156258443144909460Mon, 08 Jul 2019 11:13:51 GMT\"0x8D703955B7B005B\"unlockedavailablefalsefalsecontainer156258443160605737Mon, 08 Jul 2019 11:13:51 GMT\"0x8D703955B805901\"unlockedavailablefalsefalsecontainer156258446412006613156258446413606090Mon, 08 Jul 2019 11:14:24 GMT\"0x8D703956EE55274\"unlockedavailablecontainerfalsefalsecontainer156258448696307727156258448715201470Mon, 08 Jul 2019 11:14:47 GMT\"0x8D703957CB03A7E\"unlockedavailablecontainerfalsefalsecontainer156258699911707314Mon, 08 Jul 2019 11:56:39 GMT\"0x8D7039B55F418F2\"unlockedavailablefalsefalsecontainer156258699932100597Mon, 08 Jul 2019 11:56:39 GMT\"0x8D7039B55F9CA4C\"unlockedavailablefalsefalsecontainer156258703078402760156258703083103112Mon, 08 Jul 2019 11:57:10 GMT\"0x8D7039B68C320EE\"unlockedavailablecontainerfalsefalsecontainer156264824188309329Tue, 09 Jul 2019 04:57:22 GMT\"0x8D70429ED840B4E\"unlockedavailablefalsefalsecontainer156264824219009999Tue, 09 Jul 2019 04:57:22 GMT\"0x8D70429ED9A0840\"unlockedavailablefalsefalsecontainer156264826791801650156264826800900664Tue, 09 Jul 2019 04:57:48 GMT\"0x8D70429FCF910D6\"unlockedavailablecontainerfalsefalsecontainer156264827029708909Tue, 09 Jul 2019 04:57:50 GMT\"0x8D70429FE80854F\"unlockedavailablefalsefalsecontainer156264827066901114Tue, 09 Jul 2019 04:57:50 GMT\"0x8D70429FE9E5ACE\"unlockedavailablefalsefalsecontainer156264827644903369Tue, 09 Jul 2019 04:57:56 GMT\"0x8D7042A021F686A\"unlockedavailablefalsefalsecontainer156264827678001956Tue, 09 Jul 2019 04:57:56 GMT\"0x8D7042A023CD95D\"unlockedavailablefalsefalsecontainer156264828529604989Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A076D068B\"unlockedavailablefalsefalsecontainer156264828548307137Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A07724C15\"unlockedavailablefalsefalsecontainer156264828565709833Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A078C22F8\"unlockedavailablefalsefalsecontainer156264828565808310Tue, 09 Jul 2019 04:58:05 GMT\"0x8D7042A07803148\"unlockedavailablefalsefalsecontainer156264830475801921156264830481909403Tue, 09 Jul 2019 04:58:24 GMT\"0x8D7042A12E8F32E\"unlockedavailablecontainerfalsefalsecontainer156264831889606464156264831907008351Tue, 09 Jul 2019 04:58:39 GMT\"0x8D7042A1B71EB3C\"unlockedavailablecontainerfalsefalsecontainer156264832847002330Tue, 09 Jul 2019 04:58:48 GMT\"0x8D7042A2119ABA1\"unlockedavailablefalsefalsecontainer156264832869901287Tue, 09 Jul 2019 04:58:48 GMT\"0x8D7042A212EB2AA\"unlockedavailablefalsefalsecontainer156264832885202420156264832902601177Tue, 09 Jul 2019 04:58:49 GMT\"0x8D7042A216709DC\"unlockedavailablecontainerfalsefalsecontainer156264832958005425156264832975506005Tue, 09 Jul 2019 04:58:49 GMT\"0x8D7042A21D4CEBC\"unlockedavailablecontainerfalsefalsecontainer156264833974300264Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27D100D3\"unlockedavailablefalsefalsecontainer156264833996509344Tue, 09 Jul 2019 04:59:00 GMT\"0x8D7042A27E876AB\"unlockedavailablefalsefalsecontainer156264834548902989Tue, 09 Jul 2019 04:59:05 GMT\"0x8D7042A2B50A486\"unlockedavailablefalsefalsecontainer156264834583603447Tue, 09 Jul 2019 04:59:05 GMT\"0x8D7042A2B64E904\"unlockedavailablefalsefalsecontainer156264836123004170156264836140902537Tue, 09 Jul 2019 04:59:21 GMT\"0x8D7042A34AC665B\"unlockedavailablecontainerfalsefalsecontainer156264837463601881156264837476604485Tue, 09 Jul 2019 04:59:34 GMT\"0x8D7042A3CA5BA3C\"unlockedavailablecontainerfalsefalsecontainer156264837793304086156264837804803823Tue, 09 Jul 2019 04:59:38 GMT\"0x8D7042A3E9A29FF\"unlockedavailablecontainerfalsefalsecontainer156264838220209166Tue, 09 Jul 2019 04:59:42 GMT\"0x8D7042A4127E620\"unlockedavailablefalsefalsecontainer156264838248203359Tue, 09 Jul 2019 04:59:42 GMT\"0x8D7042A413ECDA3\"unlockedavailablefalsefalsecontainer156264840858700772156264840868805008Tue, 09 Jul 2019 05:00:08 GMT\"0x8D7042A50D85F30\"unlockedavailablecontainerfalsefalsecontainer156264842328907294Tue, 09 Jul 2019 05:00:23 GMT\"0x8D7042A59ABD854\"unlockedavailablefalsefalsecontainer156264842361901920Tue, 09 Jul 2019 05:00:23 GMT\"0x8D7042A59CA86D7\"unlockedavailablefalsefalsecontainer156264842544503648Tue, 09 Jul 2019 05:00:25 GMT\"0x8D7042A5AED8798\"unlockedavailablefalsefalsecontainer156264842572701450Tue, 09 Jul 2019 05:00:25 GMT\"0x8D7042A5B0C591E\"unlockedavailablefalsefalsecontainer156264847148109040156264847166905550Tue, 09 Jul 2019 05:01:11 GMT\"0x8D7042A76710801\"unlockedavailablecontainerfalsefalsecontainer156264847150502962156264847169005053Tue, 09 Jul 2019 05:01:11 GMT\"0x8D7042A767204C9\"unlockedavailablecontainerfalsefalsecontainer156264857306802735Tue, 09 Jul 2019 05:02:53 GMT\"0x8D7042AB2F0673B\"unlockedavailablefalsefalsecontainer156264857338207272Tue, 09 Jul 2019 05:02:53 GMT\"0x8D7042AB30FFFB3\"unlockedavailablefalsefalsecontainer156264861897303516156264861919206190Tue, 09 Jul 2019 05:03:39 GMT\"0x8D7042ACE5E6E10\"unlockedavailablecontainerfalsefalsecontainer156265035205705578Tue, 09 Jul 2019 05:32:32 GMT\"0x8D7042ED74E0A24\"unlockedavailablefalsefalsecontainer156265035245205489Tue, 09 Jul 2019 05:32:32 GMT\"0x8D7042ED76CBB56\"unlockedavailablefalsefalsecontainer156265037630208408Tue, 09 Jul 2019 05:32:56 GMT\"0x8D7042EE5C2CFC4\"unlockedavailablefalsefalsecontainer156265037664604486Tue, 09 Jul 2019 05:32:56 GMT\"0x8D7042EE5E09C42\"unlockedavailablefalsefalsecontainer156265037668101590156265037677103199Tue, 09 Jul 2019 05:32:56 GMT\"0x8D7042EE5E7060F\"unlockedavailablecontainerfalsefalsecontainer156265039049803527Tue, 09 Jul 2019 05:33:10 GMT\"0x8D7042EEE3BB526\"unlockedavailablefalsefalsecontainer156265039084902674Tue, 09 Jul 2019 05:33:11 GMT\"0x8D7042EEE59E9A3\"unlockedavailablefalsefalsecontainer156265039311401222Tue, 09 Jul 2019 05:33:13 GMT\"0x8D7042EEFC037C2\"unlockedavailablefalsefalsecontainer156265039342405360Tue, 09 Jul 2019 05:33:13 GMT\"0x8D7042EEFDE1DF3\"unlockedavailablefalsefalsecontainer156265041311808239Tue, 09 Jul 2019 05:33:33 GMT\"0x8D7042EFB9A44CF\"unlockedavailablefalsefalsecontainer156265041326102758Tue, 09 Jul 2019 05:33:33 GMT\"0x8D7042EFB9F48FE\"unlockedavailablefalsefalsecontainer156265042038109739Tue, 09 Jul 2019 05:33:40 GMT\"0x8D7042F00016BD5\"unlockedavailablefalsefalsecontainer156265042067102963Tue, 09 Jul 2019 05:33:40 GMT\"0x8D7042F0014F75D\"unlockedavailablefalsefalsecontainer156265042405204464156265042410505431Tue, 09 Jul 2019 05:33:44 GMT\"0x8D7042F02157BFB\"unlockedavailablecontainerfalsefalsecontainer156265042474102849156265042491401533Tue, 09 Jul 2019 05:33:45 GMT\"0x8D7042F02A522D9\"unlockedavailablecontainerfalsefalsecontainer156265042685801043Tue, 09 Jul 2019 05:33:47 GMT\"0x8D7042F03CF391E\"unlockedavailablefalsefalsecontainer156265042703004162Tue, 09 Jul 2019 05:33:47 GMT\"0x8D7042F03D451E5\"unlockedavailablefalsefalsecontainer156265043157302204Tue, 09 Jul 2019 05:33:51 GMT\"0x8D7042F06A7E024\"unlockedavailablefalsefalsecontainer156265043181607993Tue, 09 Jul 2019 05:33:51 GMT\"0x8D7042F06BC25CB\"unlockedavailablefalsefalsecontainer156265043420702150156265043438206342Tue, 09 Jul 2019 05:33:54 GMT\"0x8D7042F084B8483\"unlockedavailablecontainerfalsefalsecontainer156265043571906087156265043589402611Tue, 09 Jul 2019 05:33:56 GMT\"0x8D7042F092DF2D8\"unlockedavailablecontainerfalsefalsecontainer156265043859708990156265043861301291Tue, 09 Jul 2019 05:33:58 GMT\"0x8D7042F0ABB5709\"unlockedavailablecontainerfalsefalsecontainer156265044442804264156265044451205098Tue, 09 Jul 2019 05:34:04 GMT\"0x8D7042F0E4686DC\"unlockedavailablecontainerfalsefalsecontainer156265046298908563156265046310205964Tue, 09 Jul 2019 05:34:23 GMT\"0x8D7042F19627BF3\"unlockedavailablecontainerfalsefalsecontainer156265046837105524Tue, 09 Jul 2019 05:34:28 GMT\"0x8D7042F1C7F468E\"unlockedavailablefalsefalsecontainer156265050484909994Tue, 09 Jul 2019 05:35:05 GMT\"0x8D7042F325DAF6D\"unlockedavailablefalsefalsecontainer156265050514600394Tue, 09 Jul 2019 05:35:05 GMT\"0x8D7042F327C4CC3\"unlockedavailablefalsefalsecontainer156265050883403554Tue, 09 Jul 2019 05:35:09 GMT\"0x8D7042F34BB17B4\"unlockedavailablefalsefalsecontainer156265050912504380Tue, 09 Jul 2019 05:35:09 GMT\"0x8D7042F34D24D5D\"unlockedavailablefalsefalsecontainer156265053312507052Tue, 09 Jul 2019 05:35:33 GMT\"0x8D7042F433822FC\"unlockedavailablefalsefalsecontainer156265053343705122Tue, 09 Jul 2019 05:35:33 GMT\"0x8D7042F4357FDAD\"unlockedavailablefalsefalsecontainer156265053596903691Tue, 09 Jul 2019 05:35:36 GMT\"0x8D7042F44F2B20F\"unlockedavailablefalsefalsecontainer156265053633208207Tue, 09 Jul 2019 05:35:36 GMT\"0x8D7042F45118726\"unlockedavailablefalsefalsecontainer156265054246202095Tue, 09 Jul 2019 05:35:42 GMT\"0x8D7042F48BF4620\"unlockedavailablefalsefalsecontainer156265054271805988Tue, 09 Jul 2019 05:35:42 GMT\"0x8D7042F48D458A7\"unlockedavailablefalsefalsecontainer156265054498100155156265054508103552Tue, 09 Jul 2019 05:35:45 GMT\"0x8D7042F4A3B7A3E\"unlockedavailablecontainerfalsefalsecontainer156265055706705454156265055724107991Tue, 09 Jul 2019 05:35:57 GMT\"0x8D7042F5189BDF3\"unlockedavailablecontainerfalsefalsecontainer156265057172803403156265057181802026Tue, 09 Jul 2019 05:36:11 GMT\"0x8D7042F5A27DE08\"unlockedavailablecontainerfalsefalsecontainer156265057989409738156265058008705966Tue, 09 Jul 2019 05:36:20 GMT\"0x8D7042F5F27C952\"unlockedavailablecontainerfalsefalsecontainer156265058225700928156265058244407538Tue, 09 Jul 2019 05:36:22 GMT\"0x8D7042F608E3F41\"unlockedavailablecontainerfalsefalsecontainer156265066323908261Tue, 09 Jul 2019 05:37:43 GMT\"0x8D7042F90A5D19A\"unlockedavailablefalsefalsecontainer156265073299802389Tue, 09 Jul 2019 05:38:53 GMT\"0x8D7042FBA5219BA\"unlockedavailablefalsefalsecontainer156265073326005940Tue, 09 Jul 2019 05:38:53 GMT\"0x8D7042FBA672C26\"unlockedavailablefalsefalsecontainer156265075769208088156265075778302656Tue, 09 Jul 2019 05:39:17 GMT\"0x8D7042FC9005E6B\"unlockedavailablecontainerfalsefalsecontainer156265084851103183Tue, 09 Jul 2019 05:40:48 GMT\"0x8D7042FFF148445\"unlockedavailablefalsefalsecontainer156265092389603542Tue, 09 Jul 2019 05:42:04 GMT\"0x8D704302C20F569\"unlockedavailablefalsefalsecontainer156265092420307749Tue, 09 Jul 2019 05:42:04 GMT\"0x8D704302C36CB45\"unlockedavailablefalsefalsecontainer156265094846908153156265094856008951Tue, 09 Jul 2019 05:42:28 GMT\"0x8D704303AB76779\"unlockedavailablecontainerfalsefalsecontainer156265103918701144Tue, 09 Jul 2019 05:43:59 GMT\"0x8D7043070BBEBC8\"unlockedavailablefalsefalsecontainer156267024273808166Tue, 09 Jul 2019 11:04:02 GMT\"0x8D7045D270CE101\"unlockedavailablefalsefalsecontainer156267024307403471Tue, 09 Jul 2019 11:04:03 GMT\"0x8D7045D27274B9F\"unlockedavailablefalsefalsecontainer156267028659907498156267028674804317Tue, 09 Jul 2019 11:04:46 GMT\"0x8D7045D412B0150\"unlockedavailablecontainerfalsefalsecontainer156267030966401498Tue, 09 Jul 2019 11:05:09 GMT\"0x8D7045D4EE45312\"unlockedavailablefalsefalsecontainer156267030985801785Tue, 09 Jul 2019 11:05:09 GMT\"0x8D7045D4EF1C30E\"unlockedavailablefalsefalsecontainer156267033989700890Tue, 09 Jul 2019 11:05:40 GMT\"0x8D7045D60F15D6F\"unlockedavailablefalsefalsecontainer156267034013903568Tue, 09 Jul 2019 11:05:40 GMT\"0x8D7045D610896AF\"unlockedavailablefalsefalsecontainer156267034812509891156267034820405260Tue, 09 Jul 2019 11:05:48 GMT\"0x8D7045D65CAB941\"unlockedavailablecontainerfalsefalsecontainer156267038053205284Tue, 09 Jul 2019 11:06:20 GMT\"0x8D7045D79268645\"unlockedavailablefalsefalsecontainer156267038075306573Tue, 09 Jul 2019 11:06:20 GMT\"0x8D7045D7935A433\"unlockedavailablefalsefalsecontainer156267038947106688Tue, 09 Jul 2019 11:06:29 GMT\"0x8D7045D7E7E9EC3\"unlockedavailablefalsefalsecontainer156267038972404263Tue, 09 Jul 2019 11:06:29 GMT\"0x8D7045D7E961F25\"unlockedavailablefalsefalsecontainer156267039085600460156267039100308011Tue, 09 Jul 2019 11:06:31 GMT\"0x8D7045D7F57C97D\"unlockedavailablecontainerfalsefalsecontainer156267039225701930Tue, 09 Jul 2019 11:06:32 GMT\"0x8D7045D8034EEC2\"unlockedavailablefalsefalsecontainer156267039260704449Tue, 09 Jul 2019 11:06:32 GMT\"0x8D7045D805281EB\"unlockedavailablefalsefalsecontainer156267040188101460Tue, 09 Jul 2019 11:06:42 GMT\"0x8D7045D85F1ECF8\"unlockedavailablefalsefalsecontainer156267040223404996Tue, 09 Jul 2019 11:06:42 GMT\"0x8D7045D8610D0C3\"unlockedavailablefalsefalsecontainer156267041889108777156267041895105023Tue, 09 Jul 2019 11:06:59 GMT\"0x8D7045D8FF6FE95\"unlockedavailablecontainerfalsefalsecontainer156267044009608780156267044023308754Tue, 09 Jul 2019 11:07:20 GMT\"0x8D7045D9CAE5A72\"unlockedavailablecontainerfalsefalsecontainer156267045044708039Tue, 09 Jul 2019 11:07:30 GMT\"0x8D7045DA2D4800B\"unlockedavailablefalsefalsecontainer156267045068304470Tue, 09 Jul 2019 11:07:30 GMT\"0x8D7045DA2EC0FA5\"unlockedavailablefalsefalsecontainer156267045496201997156267045513508242Tue, 09 Jul 2019 11:07:35 GMT\"0x8D7045DA5978821\"unlockedavailablecontainerfalsefalsecontainer156267048458600969156267048475908619Tue, 09 Jul 2019 11:08:04 GMT\"0x8D7045DB73E9F92\"unlockedavailablecontainerfalsefalsecontainer156267049517007314Tue, 09 Jul 2019 11:08:15 GMT\"0x8D7045DBD8C7492\"unlockedavailablefalsefalsecontainer156267049553207811Tue, 09 Jul 2019 11:08:15 GMT\"0x8D7045DBDA992C0\"unlockedavailablefalsefalsecontainer156267050145402507156267050159001444Tue, 09 Jul 2019 11:08:21 GMT\"0x8D7045DC143928F\"unlockedavailablecontainerfalsefalsecontainer156267059070006297156267059088606885Tue, 09 Jul 2019 11:09:51 GMT\"0x8D7045DF680CDE4\"unlockedavailablecontainerfalsefalsecontainer156267080315704925Tue, 09 Jul 2019 11:13:23 GMT\"0x8D7045E750D1850\"unlockedavailablefalsefalsecontainer156267080334409151Tue, 09 Jul 2019 11:13:23 GMT\"0x8D7045E75131678\"unlockedavailablefalsefalsecontainer156267081332405754Tue, 09 Jul 2019 11:13:33 GMT\"0x8D7045E7B1B6C96\"unlockedavailablefalsefalsecontainer156267081351100774Tue, 09 Jul 2019 11:13:33 GMT\"0x8D7045E7B22D40E\"unlockedavailablefalsefalsecontainer156267081727103142Tue, 09 Jul 2019 11:13:37 GMT\"0x8D7045E7D81DEB6\"unlockedavailablefalsefalsecontainer156267081756203247Tue, 09 Jul 2019 11:13:37 GMT\"0x8D7045E7DA0A1F0\"unlockedavailablefalsefalsecontainer156267083682102116156267083683602946Tue, 09 Jul 2019 11:13:56 GMT\"0x8D7045E89087E8B\"unlockedavailablecontainerfalsefalsecontainer156267084409503633156267084411105786Tue, 09 Jul 2019 11:14:04 GMT\"0x8D7045E8D5E27A5\"unlockedavailablecontainerfalsefalsecontainer156267087993203935156267088014201135Tue, 09 Jul 2019 11:14:40 GMT\"0x8D7045EA2EC3F60\"unlockedavailablecontainerfalsefalsecontainer156269593063102113Tue, 09 Jul 2019 18:12:10 GMT\"0x8D70498F6302830\"unlockedavailablefalsefalsecontainer156269593090205586Tue, 09 Jul 2019 18:12:10 GMT\"0x8D70498F649F675\"unlockedavailablefalsefalsecontainer156269595039002636156269595044707797Tue, 09 Jul 2019 18:12:30 GMT\"0x8D7049901EAC555\"unlockedavailablecontainerfalsefalsecontainer156269596402209875Tue, 09 Jul 2019 18:12:44 GMT\"0x8D704990A275C21\"unlockedavailablefalsefalsecontainer156269596435600988Tue, 09 Jul 2019 18:12:44 GMT\"0x8D704990A4451F9\"unlockedavailablefalsefalsecontainer156269596481500990Tue, 09 Jul 2019 18:12:45 GMT\"0x8D704990A9796F0\"unlockedavailablefalsefalsecontainer156269596513104734Tue, 09 Jul 2019 18:12:45 GMT\"0x8D704990AAE7E64\"unlockedavailablefalsefalsecontainer156269599163009475Tue, 09 Jul 2019 18:13:11 GMT\"0x8D704991A813BF2\"unlockedavailablefalsefalsecontainer156269599174106957Tue, 09 Jul 2019 18:13:11 GMT\"0x8D704991A84BF05\"unlockedavailablefalsefalsecontainer156269599175109106Tue, 09 Jul 2019 18:13:11 GMT\"0x8D704991A88A008\"unlockedavailablefalsefalsecontainer156269599369202618156269599378306983Tue, 09 Jul 2019 18:13:13 GMT\"0x8D704991BBC71DD\"unlockedavailablecontainerfalsefalsecontainer156269600087600754156269600089007895Tue, 09 Jul 2019 18:13:20 GMT\"0x8D704991FF934F4\"unlockedavailablecontainerfalsefalsecontainer156269600485106675156269600501305246Tue, 09 Jul 2019 18:13:25 GMT\"0x8D7049922801601\"unlockedavailablecontainerfalsefalsecontainer156269602102904671Tue, 09 Jul 2019 18:13:41 GMT\"0x8D704992C16D2BB\"unlockedavailablefalsefalsecontainer156269602127409681Tue, 09 Jul 2019 18:13:41 GMT\"0x8D704992C2B5A06\"unlockedavailablefalsefalsecontainer156269604349707508Tue, 09 Jul 2019 18:14:03 GMT\"0x8D70499397B79AD\"unlockedavailablefalsefalsecontainer156269604374206246Tue, 09 Jul 2019 18:14:03 GMT\"0x8D704993992D407\"unlockedavailablefalsefalsecontainer156269605411902428156269605425400160Tue, 09 Jul 2019 18:14:14 GMT\"0x8D704993FD49C63\"unlockedavailablecontainerfalsefalsecontainer156269607704102567156269607718406941Tue, 09 Jul 2019 18:14:37 GMT\"0x8D704994D8081BC\"unlockedavailablecontainerfalsefalsecontainer156269608400508364Tue, 09 Jul 2019 18:14:44 GMT\"0x8D7049951827AD8\"unlockedavailablefalsefalsecontainer156269613232401414Tue, 09 Jul 2019 18:15:32 GMT\"0x8D704996E6674EE\"unlockedavailablefalsefalsecontainer156269613249803045Tue, 09 Jul 2019 18:15:32 GMT\"0x8D704996E6BB2E5\"unlockedavailablefalsefalsecontainer156269613434902805Tue, 09 Jul 2019 18:15:34 GMT\"0x8D704996FB89D77\"unlockedavailablefalsefalsecontainer156269613475208819Tue, 09 Jul 2019 18:15:34 GMT\"0x8D704996FD6142F\"unlockedavailablefalsefalsecontainer156269613960500586Tue, 09 Jul 2019 18:15:39 GMT\"0x8D7049972C62260\"unlockedavailablefalsefalsecontainer156269613989402526Tue, 09 Jul 2019 18:15:40 GMT\"0x8D7049972E30369\"unlockedavailablefalsefalsecontainer156269614323903153156269614325402196Tue, 09 Jul 2019 18:15:43 GMT\"0x8D7049974D64402\"unlockedavailablecontainerfalsefalsecontainer156269615526400907Tue, 09 Jul 2019 18:15:55 GMT\"0x8D704997C113B4C\"unlockedavailablefalsefalsecontainer156269615551304750Tue, 09 Jul 2019 18:15:55 GMT\"0x8D704997C25FF91\"unlockedavailablefalsefalsecontainer156269617654409733156269617671508576Tue, 09 Jul 2019 18:16:16 GMT\"0x8D7049988D8E9C4\"unlockedavailablecontainerfalsefalsecontainer156269618062103807156269618070904705Tue, 09 Jul 2019 18:16:20 GMT\"0x8D704998B25CA4A\"unlockedavailablecontainerfalsefalsecontainer156269619895103569156269619912204446Tue, 09 Jul 2019 18:16:39 GMT\"0x8D7049996305973\"unlockedavailablecontainerfalsefalsecontainer156269623505403073Tue, 09 Jul 2019 18:17:15 GMT\"0x8D70499ABAEC9D0\"unlockedavailablefalsefalsecontainer156269623539202501Tue, 09 Jul 2019 18:17:15 GMT\"0x8D70499ABCD0FC5\"unlockedavailablefalsefalsecontainer156269628259006640156269628276701935Tue, 09 Jul 2019 18:18:02 GMT\"0x8D70499C80AEB32\"unlockedavailablecontainerfalsefalsecontainer156269640822909638Tue, 09 Jul 2019 18:20:08 GMT\"0x8D7049A12E7DB67\"unlockedavailablefalsefalsecontainer156269640852603726Tue, 09 Jul 2019 18:20:08 GMT\"0x8D7049A13080C8E\"unlockedavailablefalsefalsecontainer156269643011103736Tue, 09 Jul 2019 18:20:30 GMT\"0x8D7049A1FF48C7F\"unlockedavailablefalsefalsecontainer156269643040400557Tue, 09 Jul 2019 18:20:30 GMT\"0x8D7049A200CD672\"unlockedavailablefalsefalsecontainer156269645428600172156269645447309183Tue, 09 Jul 2019 18:20:54 GMT\"0x8D7049A2E697064\"unlockedavailablecontainerfalsefalsecontainer156269646424003537156269646436502119Tue, 09 Jul 2019 18:21:04 GMT\"0x8D7049A344BD51F\"unlockedavailablecontainerfalsefalsecontainer156275680147405747Wed, 10 Jul 2019 11:06:41 GMT\"0x8D70526B01A18D8\"unlockedavailablefalsefalsecontainer156275680187203338Wed, 10 Jul 2019 11:06:41 GMT\"0x8D70526B038C9F7\"unlockedavailablefalsefalsecontainer156275684503002722156275684512206090Wed, 10 Jul 2019 11:07:25 GMT\"0x8D70526C9FC6731\"unlockedavailablecontainerfalsefalsecontainer156275689929000495Wed, 10 Jul 2019 11:08:19 GMT\"0x8D70526EA578B09\"unlockedavailablefalsefalsecontainer156275689950109243Wed, 10 Jul 2019 11:08:19 GMT\"0x8D70526EA66A8F5\"unlockedavailablefalsefalsecontainer156275690849106365Wed, 10 Jul 2019 11:08:28 GMT\"0x8D70526EFC1A199\"unlockedavailablefalsefalsecontainer156275693847500928156275693854003579Wed, 10 Jul 2019 11:08:58 GMT\"0x8D7052701A87D3A\"unlockedavailablecontainerfalsefalsecontainer156275697185507138Wed, 10 Jul 2019 11:09:32 GMT\"0x8D70527159E5921\"unlockedavailablefalsefalsecontainer156275697212301324Wed, 10 Jul 2019 11:09:32 GMT\"0x8D7052715B392B4\"unlockedavailablefalsefalsecontainer156275701651308226156275701660300635Wed, 10 Jul 2019 11:10:16 GMT\"0x8D70527303216E7\"unlockedavailablecontainerfalsefalsecontainer156275703037909972Wed, 10 Jul 2019 11:10:30 GMT\"0x8D7052738706C52\"unlockedavailablefalsefalsecontainer156275703051605611Wed, 10 Jul 2019 11:10:30 GMT\"0x8D7052738743D8E\"unlockedavailablefalsefalsecontainer156275703052806977Wed, 10 Jul 2019 11:10:30 GMT\"0x8D70527387872FD\"unlockedavailablefalsefalsecontainer156275705891305596156275705894603002Wed, 10 Jul 2019 11:10:58 GMT\"0x8D705274966471F\"unlockedavailablecontainerfalsefalsecontainer156275716020605532Wed, 10 Jul 2019 11:12:40 GMT\"0x8D7052785E2E6D3\"unlockedavailablefalsefalsecontainer156275716046009909Wed, 10 Jul 2019 11:12:40 GMT\"0x8D7052785F8D14D\"unlockedavailablefalsefalsecontainer156275721058308326156275721070804615Wed, 10 Jul 2019 11:13:30 GMT\"0x8D70527A3E9CA88\"unlockedavailablecontainerfalsefalsecontainer156275736208609455Wed, 10 Jul 2019 11:16:02 GMT\"0x8D70527FE45A4D4\"unlockedavailablefalsefalsecontainer156275736243307285Wed, 10 Jul 2019 11:16:02 GMT\"0x8D70527FE5A6552\"unlockedavailablefalsefalsecontainer156275737994902426Wed, 10 Jul 2019 11:16:20 GMT\"0x8D7052808D9138D\"unlockedavailablefalsefalsecontainer156275738018009826Wed, 10 Jul 2019 11:16:20 GMT\"0x8D7052808ED1735\"unlockedavailablefalsefalsecontainer156275741286004577156275741297802120Wed, 10 Jul 2019 11:16:53 GMT\"0x8D705281C7A7C06\"unlockedavailablecontainerfalsefalsecontainer156275743106004783156275743116800587Wed, 10 Jul 2019 11:17:11 GMT\"0x8D705282753F53F\"unlockedavailablecontainerfalsefalsecontainer156275748425702500Wed, 10 Jul 2019 11:18:04 GMT\"0x8D70528471CB8F1\"unlockedavailablefalsefalsecontainer156275748466706124Wed, 10 Jul 2019 11:18:04 GMT\"0x8D70528473A6293\"unlockedavailablefalsefalsecontainer156275748543801194Wed, 10 Jul 2019 11:18:05 GMT\"0x8D7052847C528F1\"unlockedavailablefalsefalsecontainer156275748578307794Wed, 10 Jul 2019 11:18:05 GMT\"0x8D7052847E24D29\"unlockedavailablefalsefalsecontainer156275754419201643156275754436904338Wed, 10 Jul 2019 11:19:04 GMT\"0x8D705286AD02B6A\"unlockedavailablecontainerfalsefalsecontainer156275754562409651156275754579901062Wed, 10 Jul 2019 11:19:05 GMT\"0x8D705286BA76673\"unlockedavailablecontainerfalsefalsecontainer156275763673101498Wed, 10 Jul 2019 11:20:37 GMT\"0x8D70528A1F82F10\"unlockedavailablefalsefalsecontainer156275763713905388Wed, 10 Jul 2019 11:20:37 GMT\"0x8D70528A21A9E0B\"unlockedavailablefalsefalsecontainer156275770469701653156275770488303631Wed, 10 Jul 2019 11:21:45 GMT\"0x8D70528CA7C0130\"unlockedavailablecontainerfalsefalsecontainer156275777687400083Wed, 10 Jul 2019 11:22:57 GMT\"0x8D70528F5648E43\"unlockedavailablefalsefalsecontainer156275777701403110Wed, 10 Jul 2019 11:22:57 GMT\"0x8D70528F56A46AA\"unlockedavailablefalsefalsecontainer156275780741507636156275780743004651Wed, 10 Jul 2019 11:23:27 GMT\"0x8D70529078C734D\"unlockedavailablecontainerfalsefalsecontainer156275781050403634Wed, 10 Jul 2019 11:23:30 GMT\"0x8D7052909766088\"unlockedavailablefalsefalsecontainer156275781067600310Wed, 10 Jul 2019 11:23:30 GMT\"0x8D70529097BF54B\"unlockedavailablefalsefalsecontainer156275783762202616Wed, 10 Jul 2019 11:23:57 GMT\"0x8D70529199E81A9\"unlockedavailablefalsefalsecontainer156275783779501313Wed, 10 Jul 2019 11:23:57 GMT\"0x8D7052919A483F0\"unlockedavailablefalsefalsecontainer156275784027507862156275784030807362Wed, 10 Jul 2019 11:24:00 GMT\"0x8D705291B241431\"unlockedavailablecontainerfalsefalsecontainer156275786792900946156275786794506213Wed, 10 Jul 2019 11:24:27 GMT\"0x8D705292B9D493C\"unlockedavailablecontainerfalsefalsecontainer156279266311006383Wed, 10 Jul 2019 21:04:23 GMT\"0x8D7057A2F6D2281\"unlockedavailablefalsefalsecontainer156279266371109805Wed, 10 Jul 2019 21:04:24 GMT\"0x8D7057A2FAEA23C\"unlockedavailablefalsefalsecontainer156279273054101554156279273083802462Wed, 10 Jul 2019 21:05:31 GMT\"0x8D7057A57B37880\"unlockedavailablecontainerfalsefalsecontainer156279289878604539Wed, 10 Jul 2019 21:08:19 GMT\"0x8D7057ABBCBE0D9\"unlockedavailablefalsefalsecontainer156284350824009413Thu, 11 Jul 2019 11:11:48 GMT\"0x8D705F09155E1D7\"unlockedavailablefalsefalsecontainer156284350852406717Thu, 11 Jul 2019 11:11:48 GMT\"0x8D705F0916A7EFC\"unlockedavailablefalsefalsecontainer156284354994406294156284355002908774Thu, 11 Jul 2019 11:12:30 GMT\"0x8D705F0AA233EB0\"unlockedavailablecontainerfalsefalsecontainer156284365756601590Thu, 11 Jul 2019 11:14:17 GMT\"0x8D705F0EA57C56B\"unlockedavailablefalsefalsecontainer156284365787300924Thu, 11 Jul 2019 11:14:17 GMT\"0x8D705F0EA6D25FA\"unlockedavailablefalsefalsecontainer156284370165103659156284370174202682Thu, 11 Jul 2019 11:15:01 GMT\"0x8D705F1048E8095\"unlockedavailablecontainerfalsefalsecontainer156284376578706925Thu, 11 Jul 2019 11:16:05 GMT\"0x8D705F12ABB8523\"unlockedavailablefalsefalsecontainer156284382848606397Thu, 11 Jul 2019 11:17:08 GMT\"0x8D705F150325075\"unlockedavailablefalsefalsecontainer156284382875201460Thu, 11 Jul 2019 11:17:08 GMT\"0x8D705F15047B114\"unlockedavailablefalsefalsecontainer156284387258206838156284387267405620Thu, 11 Jul 2019 11:17:52 GMT\"0x8D705F16A70B314\"unlockedavailablecontainerfalsefalsecontainer156284393806407141Thu, 11 Jul 2019 11:18:58 GMT\"0x8D705F1916A248D\"unlockedavailablefalsefalsecontainer156284400171203216Thu, 11 Jul 2019 11:20:01 GMT\"0x8D705F1B77123B8\"unlockedavailablefalsefalsecontainer156284400200309515Thu, 11 Jul 2019 11:20:02 GMT\"0x8D705F1B78A7CAF\"unlockedavailablefalsefalsecontainer156284404536204021156284404545203022Thu, 11 Jul 2019 11:20:45 GMT\"0x8D705F1D16C27B6\"unlockedavailablecontainerfalsefalsecontainer156284406904102642Thu, 11 Jul 2019 11:21:09 GMT\"0x8D705F1DF9F087A\"unlockedavailablefalsefalsecontainer156284406936902072Thu, 11 Jul 2019 11:21:09 GMT\"0x8D705F1DFB8D6C0\"unlockedavailablefalsefalsecontainer156284408389102155Thu, 11 Jul 2019 11:21:24 GMT\"0x8D705F1E87B132F\"unlockedavailablefalsefalsecontainer156284408421202185Thu, 11 Jul 2019 11:21:24 GMT\"0x8D705F1E88FDA46\"unlockedavailablefalsefalsecontainer156284410886306793Thu, 11 Jul 2019 11:21:48 GMT\"0x8D705F1F737E7FC\"unlockedavailablefalsefalsecontainer156284411797603715156284411807700681Thu, 11 Jul 2019 11:21:58 GMT\"0x8D705F1FCBBD85C\"unlockedavailablecontainerfalsefalsecontainer156284413574507113156284413587303134Thu, 11 Jul 2019 11:22:15 GMT\"0x8D705F2075B0D4E\"unlockedavailablecontainerfalsefalsecontainer156284413617905119Thu, 11 Jul 2019 11:22:16 GMT\"0x8D705F2079A1572\"unlockedavailablefalsefalsecontainer156284413642708592Thu, 11 Jul 2019 11:22:16 GMT\"0x8D705F207AFE58F\"unlockedavailablefalsefalsecontainer156284417225407518Thu, 11 Jul 2019 11:22:52 GMT\"0x8D705F21D1817CC\"unlockedavailablefalsefalsecontainer156284417252001461Thu, 11 Jul 2019 11:22:52 GMT\"0x8D705F21D2D2A3B\"unlockedavailablefalsefalsecontainer156284417860307314Thu, 11 Jul 2019 11:22:58 GMT\"0x8D705F220DFAA4F\"unlockedavailablefalsefalsecontainer156284417882700926Thu, 11 Jul 2019 11:22:58 GMT\"0x8D705F220F30EF4\"unlockedavailablefalsefalsecontainer156284418703608182156284418714908818Thu, 11 Jul 2019 11:23:07 GMT\"0x8D705F225E84390\"unlockedavailablecontainerfalsefalsecontainer156284420496503212Thu, 11 Jul 2019 11:23:25 GMT\"0x8D705F230A59CEF\"unlockedavailablefalsefalsecontainer156284420532500487Thu, 11 Jul 2019 11:23:25 GMT\"0x8D705F230C2B1D3\"unlockedavailablefalsefalsecontainer156284420826901606Thu, 11 Jul 2019 11:23:28 GMT\"0x8D705F2329B6BD4\"unlockedavailablefalsefalsecontainer156284420861100545Thu, 11 Jul 2019 11:23:28 GMT\"0x8D705F232BB5EB7\"unlockedavailablefalsefalsecontainer156284421524305449156284421534105215Thu, 11 Jul 2019 11:23:35 GMT\"0x8D705F236AF698E\"unlockedavailablecontainerfalsefalsecontainer156284423426309189156284423439505804Thu, 11 Jul 2019 11:23:54 GMT\"0x8D705F2421331B6\"unlockedavailablecontainerfalsefalsecontainer156284424399505931Thu, 11 Jul 2019 11:24:04 GMT\"0x8D705F247EAD469\"unlockedavailablefalsefalsecontainer156284424434700474Thu, 11 Jul 2019 11:24:04 GMT\"0x8D705F248089EB0\"unlockedavailablefalsefalsecontainer156284426731006829156284426748506907Thu, 11 Jul 2019 11:24:27 GMT\"0x8D705F255CFA598\"unlockedavailablecontainerfalsefalsecontainer156284427818509952Thu, 11 Jul 2019 11:24:38 GMT\"0x8D705F25C240C85\"unlockedavailablefalsefalsecontainer156284430541700354156284430559604517Thu, 11 Jul 2019 11:25:05 GMT\"0x8D705F26C8A2E4C\"unlockedavailablecontainerfalsefalsecontainer156284433730400713156284433747804851Thu, 11 Jul 2019 11:25:37 GMT\"0x8D705F27F885D3F\"unlockedavailablecontainerfalsefalsecontainer156284445895904292Thu, 11 Jul 2019 11:27:39 GMT\"0x8D705F2C7F8056F\"unlockedavailablefalsefalsecontainer156284445914604100Thu, 11 Jul 2019 11:27:39 GMT\"0x8D705F2C7FDE7C4\"unlockedavailablefalsefalsecontainer156284446244004271Thu, 11 Jul 2019 11:27:42 GMT\"0x8D705F2CA18E03F\"unlockedavailablefalsefalsecontainer156284446270700857Thu, 11 Jul 2019 11:27:42 GMT\"0x8D705F2CA1F103D\"unlockedavailablefalsefalsecontainer156284448911802489156284448913409294Thu, 11 Jul 2019 11:28:09 GMT\"0x8D705F2D9DCCEC2\"unlockedavailablecontainerfalsefalsecontainer156284449339801728156284449343002489Thu, 11 Jul 2019 11:28:13 GMT\"0x8D705F2DC6CC285\"unlockedavailablecontainerfalsefalsecontainer156284454178007509Thu, 11 Jul 2019 11:29:02 GMT\"0x8D705F2F9630D03\"unlockedavailablefalsefalsecontainer156284454207900155Thu, 11 Jul 2019 11:29:02 GMT\"0x8D705F2F982D846\"unlockedavailablefalsefalsecontainer156284461217403747156284461237706784Thu, 11 Jul 2019 11:30:12 GMT\"0x8D705F32367289A\"unlockedavailablecontainerfalsefalsecontainer156292966448505363Fri, 12 Jul 2019 11:07:44 GMT\"0x8D706B92A753A14\"unlockedavailablefalsefalsecontainer156292966483502788Fri, 12 Jul 2019 11:07:44 GMT\"0x8D706B92A9152A7\"unlockedavailablefalsefalsecontainer156292970869405144156292970878603784Fri, 12 Jul 2019 11:08:28 GMT\"0x8D706B944BED538\"unlockedavailablecontainerfalsefalsecontainer156292977251501120Fri, 12 Jul 2019 11:09:32 GMT\"0x8D706B96ABB10CA\"unlockedavailablefalsefalsecontainer156292983554002414Fri, 12 Jul 2019 11:10:35 GMT\"0x8D706B990627385\"unlockedavailablefalsefalsecontainer156292983580205072Fri, 12 Jul 2019 11:10:35 GMT\"0x8D706B99077AD16\"unlockedavailablefalsefalsecontainer156292987915108863156292987925508706Fri, 12 Jul 2019 11:11:19 GMT\"0x8D706B9AA5A4A5D\"unlockedavailablecontainerfalsefalsecontainer156292994383603292Fri, 12 Jul 2019 11:12:23 GMT\"0x8D706B9D0D7B67B\"unlockedavailablefalsefalsecontainer156292997423501045Fri, 12 Jul 2019 11:12:54 GMT\"0x8D706B9E30D0032\"unlockedavailablefalsefalsecontainer156292997445707249Fri, 12 Jul 2019 11:12:54 GMT\"0x8D706B9E31E4155\"unlockedavailablefalsefalsecontainer156293000701000156Fri, 12 Jul 2019 11:13:27 GMT\"0x8D706B9F6976270\"unlockedavailablefalsefalsecontainer156293000728606346Fri, 12 Jul 2019 11:13:27 GMT\"0x8D706B9F6AD1143\"unlockedavailablefalsefalsecontainer156293001440905138156293001448609163Fri, 12 Jul 2019 11:13:34 GMT\"0x8D706B9FAF7111B\"unlockedavailablecontainerfalsefalsecontainer156293005092609913156293005102105199Fri, 12 Jul 2019 11:14:11 GMT\"0x8D706BA10BA60A6\"unlockedavailablecontainerfalsefalsecontainer156293011417108299Fri, 12 Jul 2019 11:15:14 GMT\"0x8D706BA365DFBC4\"unlockedavailablefalsefalsecontainer156293017762001298Fri, 12 Jul 2019 11:16:17 GMT\"0x8D706BA5C4ADB41\"unlockedavailablefalsefalsecontainer156293017790606289Fri, 12 Jul 2019 11:16:17 GMT\"0x8D706BA5C6014B7\"unlockedavailablefalsefalsecontainer156293022134705672156293022144202108Fri, 12 Jul 2019 11:17:01 GMT\"0x8D706BA764E9A15\"unlockedavailablecontainerfalsefalsecontainer156293022464506467Fri, 12 Jul 2019 11:17:04 GMT\"0x8D706BA785C001C\"unlockedavailablefalsefalsecontainer156293022495703958Fri, 12 Jul 2019 11:17:05 GMT\"0x8D706BA78742050\"unlockedavailablefalsefalsecontainer156293023457300186Fri, 12 Jul 2019 11:17:14 GMT\"0x8D706BA7E3FD76B\"unlockedavailablefalsefalsecontainer156293023483307149Fri, 12 Jul 2019 11:17:14 GMT\"0x8D706BA7E54BC2D\"unlockedavailablefalsefalsecontainer156293026916108343156293026926105547Fri, 12 Jul 2019 11:17:49 GMT\"0x8D706BA92D6123B\"unlockedavailablecontainerfalsefalsecontainer156293028815400463156293028829401546Fri, 12 Jul 2019 11:18:08 GMT\"0x8D706BA9E34931D\"unlockedavailablecontainerfalsefalsecontainer156293038358300268Fri, 12 Jul 2019 11:19:43 GMT\"0x8D706BAD719C312\"unlockedavailablefalsefalsecontainer156293038391604021Fri, 12 Jul 2019 11:19:44 GMT\"0x8D706BAD7371CFE\"unlockedavailablefalsefalsecontainer156293042970105796Fri, 12 Jul 2019 11:20:29 GMT\"0x8D706BAF28A71EC\"unlockedavailablefalsefalsecontainer156293042993404273Fri, 12 Jul 2019 11:20:30 GMT\"0x8D706BAF2A1C012\"unlockedavailablefalsefalsecontainer156293044722903990156293044740300505Fri, 12 Jul 2019 11:20:47 GMT\"0x8D706BAFD0E3D84\"unlockedavailablecontainerfalsefalsecontainer156293045335504387Fri, 12 Jul 2019 11:20:53 GMT\"0x8D706BB00B75DAB\"unlockedavailablefalsefalsecontainer156293045374805629Fri, 12 Jul 2019 11:20:53 GMT\"0x8D706BB00D4A4D2\"unlockedavailablefalsefalsecontainer156293046013700792Fri, 12 Jul 2019 11:21:00 GMT\"0x8D706BB04AB7630\"unlockedavailablefalsefalsecontainer156293046035302293Fri, 12 Jul 2019 11:21:00 GMT\"0x8D706BB04C3C9FC\"unlockedavailablefalsefalsecontainer156293047967609955156293047978506236Fri, 12 Jul 2019 11:21:19 GMT\"0x8D706BB10585745\"unlockedavailablecontainerfalsefalsecontainer156293050384300630Fri, 12 Jul 2019 11:21:44 GMT\"0x8D706BB1EC4CE4F\"unlockedavailablefalsefalsecontainer156293050417508576Fri, 12 Jul 2019 11:21:44 GMT\"0x8D706BB1EE22472\"unlockedavailablefalsefalsecontainer156293051194101359156293051209100777Fri, 12 Jul 2019 11:21:52 GMT\"0x8D706BB23985C8F\"unlockedavailablecontainerfalsefalsecontainer156293051568703485156293051586200262Fri, 12 Jul 2019 11:21:55 GMT\"0x8D706BB25D9DAAF\"unlockedavailablecontainerfalsefalsecontainer156293063270103668156293063287908935Fri, 12 Jul 2019 11:23:53 GMT\"0x8D706BB6B9985E1\"unlockedavailablecontainerfalsefalsecontainer156293064291406046Fri, 12 Jul 2019 11:24:03 GMT\"0x8D706BB71AA280E\"unlockedavailablefalsefalsecontainer156293064322203460Fri, 12 Jul 2019 11:24:03 GMT\"0x8D706BB71C9AF97\"unlockedavailablefalsefalsecontainer156293064745702385Fri, 12 Jul 2019 11:24:07 GMT\"0x8D706BB7463DC28\"unlockedavailablefalsefalsecontainer156293064777006959Fri, 12 Jul 2019 11:24:07 GMT\"0x8D706BB748337F4\"unlockedavailablefalsefalsecontainer156293070325109708Fri, 12 Jul 2019 11:25:03 GMT\"0x8D706BB9593D89D\"unlockedavailablefalsefalsecontainer156293070342409419Fri, 12 Jul 2019 11:25:03 GMT\"0x8D706BB9599400A\"unlockedavailablefalsefalsecontainer156293070567404785156293070590900869Fri, 12 Jul 2019 11:25:06 GMT\"0x8D706BB9726E0C6\"unlockedavailablecontainerfalsefalsecontainer156293071179809795156293071201705092Fri, 12 Jul 2019 11:25:12 GMT\"0x8D706BB9ACEE55A\"unlockedavailablecontainerfalsefalsecontainer156293073405901529156293073407507029Fri, 12 Jul 2019 11:25:34 GMT\"0x8D706BBA7DED020\"unlockedavailablecontainerfalsefalsecontainer156460854691908645Wed, 31 Jul 2019 21:29:07 GMT\"0x8D715FE1ED936B4\"unlockedavailablefalsefalsecontainer156460854807105196Wed, 31 Jul 2019 21:29:08 GMT\"0x8D715FE1F0FB054\"unlockedavailablefalsefalsecontainer156460854841000151Wed, 31 Jul 2019 21:29:08 GMT\"0x8D715FE1F436B8A\"unlockedavailablefalsefalsecontainer156460856011008189Wed, 31 Jul 2019 21:29:20 GMT\"0x8D715FE2657DC91\"unlockedavailablefalsefalsecontainer156460856060907319Wed, 31 Jul 2019 21:29:20 GMT\"0x8D715FE267C0CF9\"unlockedavailablefalsefalsecontainer156460856083700474Wed, 31 Jul 2019 21:29:20 GMT\"0x8D715FE26967BAF\"unlockedavailablefalsefalsecontainer156503746944404068Mon, 05 Aug 2019 20:37:49 GMT\"0x8D719E4C8435B25\"unlockedavailablefalsefalsecontainer156503747002001829Mon, 05 Aug 2019 20:37:50 GMT\"0x8D719E4C869D5E4\"unlockedavailablefalsefalsecontainer156503747024507716Mon, 05 Aug 2019 20:37:50 GMT\"0x8D719E4C883F803\"unlockedavailablefalsefalsecontainer156503747972605693Mon, 05 Aug 2019 20:37:59 GMT\"0x8D719E4CE2A70A6\"unlockedavailablefalsefalsecontainer156503747991407856Mon, 05 Aug 2019 20:38:00 GMT\"0x8D719E4CE4FB361\"unlockedavailablefalsefalsecontainer156503748015501129Mon, 05 Aug 2019 20:38:00 GMT\"0x8D719E4CE6B7AF2\"unlockedavailablefalsefalsecontainer156503752061108486156503752077407974Mon, 05 Aug 2019 20:38:40 GMT\"0x8D719E4E6A0D310\"unlockedavailablecontainerfalsefalsecontainer156503752128207841156503752143302735Mon, 05 Aug 2019 20:38:41 GMT\"0x8D719E4E705418F\"unlockedavailablecontainerfalsefalsecontainer156503787318805895Mon, 05 Aug 2019 20:44:33 GMT\"0x8D719E5B8E2CAC3\"unlockedavailablefalsefalsecontainer156503787369900058Mon, 05 Aug 2019 20:44:33 GMT\"0x8D719E5B902183A\"unlockedavailablefalsefalsecontainer156503787390805902Mon, 05 Aug 2019 20:44:34 GMT\"0x8D719E5B91EA611\"unlockedavailablefalsefalsecontainer156503788241707449Mon, 05 Aug 2019 20:44:42 GMT\"0x8D719E5BE36716E\"unlockedavailablefalsefalsecontainer156503788272802149Mon, 05 Aug 2019 20:44:42 GMT\"0x8D719E5BE60F728\"unlockedavailablefalsefalsecontainer156503788291402617Mon, 05 Aug 2019 20:44:43 GMT\"0x8D719E5BE7C2539\"unlockedavailablefalsefalsecontainer156503791834102387156503791909600275Mon, 05 Aug 2019 20:45:19 GMT\"0x8D719E5D40C17F0\"unlockedavailablecontainerfalsefalsecontainer156503792684106247156503792700801632Mon, 05 Aug 2019 20:45:27 GMT\"0x8D719E5D8C30422\"unlockedavailablecontainerfalsefalsecontainer156503803548708937Mon, 05 Aug 2019 20:47:15 GMT\"0x8D719E619715C5A\"unlockedavailablefalsefalsecontainer156503819339901219Mon, 05 Aug 2019 20:49:53 GMT\"0x8D719E677CB4923\"unlockedavailablefalsefalsecontainer156503819400601212Mon, 05 Aug 2019 20:49:54 GMT\"0x8D719E677E87359\"unlockedavailablefalsefalsecontainer156503819417404173Mon, 05 Aug 2019 20:49:54 GMT\"0x8D719E67801F366\"unlockedavailablefalsefalsecontainer156503820271506910Mon, 05 Aug 2019 20:50:03 GMT\"0x8D719E67D3D336F\"unlockedavailablefalsefalsecontainer156503820313808157Mon, 05 Aug 2019 20:50:03 GMT\"0x8D719E67D5A5DAA\"unlockedavailablefalsefalsecontainer156503820331306867Mon, 05 Aug 2019 20:50:03 GMT\"0x8D719E67D758BC2\"unlockedavailablefalsefalsecontainer156503820819302812Mon, 05 Aug 2019 20:50:08 GMT\"0x8D719E6805D7BC9\"unlockedavailablefalsefalsecontainer156503825497508447Mon, 05 Aug 2019 20:50:55 GMT\"0x8D719E69C66ABF5\"unlockedavailablefalsefalsecontainer156503825540204874Mon, 05 Aug 2019 20:50:55 GMT\"0x8D719E69C80EF6E\"unlockedavailablefalsefalsecontainer156503825557100798Mon, 05 Aug 2019 20:50:55 GMT\"0x8D719E69C9C1D79\"unlockedavailablefalsefalsecontainer156503826062509990Mon, 05 Aug 2019 20:51:00 GMT\"0x8D719E69FC19C50\"unlockedavailablefalsefalsecontainer156503826107104406Mon, 05 Aug 2019 20:51:01 GMT\"0x8D719E69FE297C8\"unlockedavailablefalsefalsecontainer156503826126102415Mon, 05 Aug 2019 20:51:01 GMT\"0x8D719E6A000DA7C\"unlockedavailablefalsefalsecontainer156503830110404350156503830125809505Mon, 05 Aug 2019 20:51:41 GMT\"0x8D719E6B7D595C5\"unlockedavailablecontainerfalsefalsecontainer156503835736407538156503835751702496Mon, 05 Aug 2019 20:52:37 GMT\"0x8D719E6D95E7113\"unlockedavailablecontainerfalsefalsecontainer156503929590703199Mon, 05 Aug 2019 21:08:16 GMT\"0x8D719E908EEA45F\"unlockedavailablefalsefalsecontainer156503929651207798Mon, 05 Aug 2019 21:08:16 GMT\"0x8D719E9090E8E28\"unlockedavailablefalsefalsecontainer156503929676007669Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E9094B9EBC\"unlockedavailablefalsefalsecontainer156503929685103813Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E9094C302C\"unlockedavailablefalsefalsecontainer156503929713809956Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E9097831BF\"unlockedavailablefalsefalsecontainer156503929739401170Mon, 05 Aug 2019 21:08:17 GMT\"0x8D719E90993D854\"unlockedavailablefalsefalsecontainer156503934126705532156503934142009404Mon, 05 Aug 2019 21:09:01 GMT\"0x8D719E923D19FE1\"unlockedavailablecontainerfalsefalsecontainer156503934355603157156503934373709410Mon, 05 Aug 2019 21:09:03 GMT\"0x8D719E92532F63E\"unlockedavailablecontainerfalsefalsecontainer156599004051208749Fri, 16 Aug 2019 21:14:02 GMT\"0x8D7228EA98E15BF\"unlockedavailablefalsefalsecontainer156599004225905064Fri, 16 Aug 2019 21:14:02 GMT\"0x8D7228EA9C50A58\"unlockedavailablefalsefalsecontainer156599004262703394Fri, 16 Aug 2019 21:14:02 GMT\"0x8D7228EA9FDFEF0\"unlockedavailablefalsefalsecontainer156599012082103816156599012110708442Fri, 16 Aug 2019 21:15:21 GMT\"0x8D7228ED8C3DA39\"unlockedavailablecontainerfalsefalsecontainer156599201742300370Fri, 16 Aug 2019 21:46:57 GMT\"0x8D722934324D879\"unlockedavailablefalsefalsecontainer156599201790109005Fri, 16 Aug 2019 21:46:58 GMT\"0x8D7229343400698\"unlockedavailablefalsefalsecontainer156599201933008941Fri, 16 Aug 2019 21:46:59 GMT\"0x8D722934419C57C\"unlockedavailablefalsefalsecontainer156599370257801378Fri, 16 Aug 2019 22:15:02 GMT\"0x8D722972F94E34D\"unlockedavailablefalsefalsecontainer156599370308907910Fri, 16 Aug 2019 22:15:03 GMT\"0x8D722972FB31F29\"unlockedavailablefalsefalsecontainer156599382195907574Fri, 16 Aug 2019 22:17:02 GMT\"0x8D7229776BF0FC2\"unlockedavailablefalsefalsecontainer156599382273206552Fri, 16 Aug 2019 22:17:02 GMT\"0x8D722977719F3F2\"unlockedavailablefalsefalsecontainer156599382307509358Fri, 16 Aug 2019 22:17:03 GMT\"0x8D72297774D8FAD\"unlockedavailablefalsefalsecontainer156599390129703791156599390158903067Fri, 16 Aug 2019 22:18:21 GMT\"0x8D72297A6190524\"unlockedavailablecontainerfalsefalsecontainer156599400822007973Fri, 16 Aug 2019 22:20:08 GMT\"0x8D72297E5A89960\"unlockedavailablefalsefalsecontainer156599408915609483Fri, 16 Aug 2019 22:21:29 GMT\"0x8D7229815FD0AEB\"unlockedavailablefalsefalsecontainer156599408965608974Fri, 16 Aug 2019 22:21:29 GMT\"0x8D7229816320E91\"unlockedavailablefalsefalsecontainer156599408998904680Fri, 16 Aug 2019 22:21:30 GMT\"0x8D72298166554B9\"unlockedavailablefalsefalsefinalnewcontainerWed, 03 Jul 2019 07:49:29 GMT\"0x8D6FF8AFAE5B844\"unlockedavailablefalsefalsefinalnewcontainer100Wed, 03 Jul 2019 17:02:54 GMT\"0x8D6FFD84A9464B7\"unlockedavailablefalsefalsefinalnewcontainer369Wed, 03 Jul 2019 22:55:32 GMT\"0x8D700098D6A36F0\"unlockedavailablefalsefalsefinalnewcontainer379Wed, 03 Jul 2019 22:56:45 GMT\"0x8D70009B940AA8C\"unlockedavailablefalsefalsefinalnewcontainer396Tue, 06 Aug 2019 18:24:47 GMT\"0x8D71A9B5C9B3BF4\"unlockedavailablefalsefalsefinalnewcontainer396-firefoxTue, 06 Aug 2019 18:43:29 GMT\"0x8D71A9DF9786AFC\"unlockedavailablefalsefalsefinalnewcontainer399Wed, 03 Jul 2019 22:57:16 GMT\"0x8D70009CB47BD23\"unlockedavailablefalsefalsefinalnewcontainer6Wed, 03 Jul 2019 17:02:41 GMT\"0x8D6FFD8427A75EB\"unlockedavailablefalsefalseharsha-newcontainerWed, 03 Jul 2019 07:25:49 GMT\"0x8D6FF87AC203A00\"unlockedavailablefalsefalseharsha-newcontainer1562138451655Wed, 03 Jul 2019 07:20:51 GMT\"0x8D6FF86FACA31E9\"unlockedavailablefalsefalseharsha-newcontainer1562138489155Wed, 03 Jul 2019 07:21:29 GMT\"0x8D6FF871146DCDB\"unlockedavailablefalsefalseharsha-newcontainer2Wed, 03 Jul 2019 07:26:18 GMT\"0x8D6FF87BD75BA3D\"unlockedavailablefalsefalsenewcontainer-h-browserWed, 07 Aug 2019 01:10:56 GMT\"0x8D71AD419C3C90C\"unlockedavailablefalsefalsenewcontainer1558563421778Wed, 22 May 2019 22:16:04 GMT\"0x8D6DF031477DC5B\"unlockedavailablefalsefalsenewcontainer1558563547313Wed, 22 May 2019 22:18:09 GMT\"0x8D6DF035F60E0EB\"unlockedavailablefalsefalsenewcontainer1558563621011Wed, 22 May 2019 22:19:23 GMT\"0x8D6DF038B5109E0\"unlockedavailablefalsefalsenewcontainer1558563665188Wed, 22 May 2019 22:20:07 GMT\"0x8D6DF03A59C822A\"unlockedavailablefalsefalsenewcontainer1558563784334Wed, 22 May 2019 22:22:06 GMT\"0x8D6DF03ECC69AC6\"unlockedavailablefalsefalsenewcontainer1558563920843Wed, 22 May 2019 22:24:23 GMT\"0x8D6DF043E0252F0\"unlockedavailablefalsefalsenewcontainer1558563958329Wed, 22 May 2019 22:25:00 GMT\"0x8D6DF0454524392\"unlockedavailablefalsefalsenewcontainer1558564002274Wed, 22 May 2019 22:25:44 GMT\"0x8D6DF046E8C13B4\"unlockedavailablefalsefalsenewcontainer1558566428843Wed, 22 May 2019 23:06:11 GMT\"0x8D6DF0A14E48745\"unlockedavailablefalsefalsenewcontainer1558566502944Wed, 22 May 2019 23:07:25 GMT\"0x8D6DF0A41171278\"unlockedavailablefalsefalsenewcontainer1558567561267Wed, 22 May 2019 23:25:03 GMT\"0x8D6DF0CB7E075CA\"unlockedavailablefalsefalsenewcontainer1558568435670Wed, 22 May 2019 23:39:38 GMT\"0x8D6DF0EC112B3D1\"unlockedavailablefalsefalsenewcontainer1558568652495Wed, 22 May 2019 23:43:14 GMT\"0x8D6DF0F424E081B\"unlockedavailablefalsefalsenewcontainer1558568745506Wed, 22 May 2019 23:44:47 GMT\"0x8D6DF0F79C51DAC\"unlockedavailablefalsefalsenewcontainer1558569392955Wed, 22 May 2019 23:55:35 GMT\"0x8D6DF10FBAA7A4A\"unlockedavailablefalsefalsenewcontainer1558569468574Wed, 22 May 2019 23:56:51 GMT\"0x8D6DF1128BABAB9\"unlockedavailablefalsefalsenewcontainer1558569536456Wed, 22 May 2019 23:57:58 GMT\"0x8D6DF11512FB4E9\"unlockedavailablefalsefalsenewcontainer1558569685779Thu, 23 May 2019 00:00:28 GMT\"0x8D6DF11AA31B593\"unlockedavailablefalsefalsenewcontainer1558569823106Thu, 23 May 2019 00:02:45 GMT\"0x8D6DF11FC0967AF\"unlockedavailablefalsefalsenewcontainer1558569889486Thu, 23 May 2019 00:03:51 GMT\"0x8D6DF12239C4D79\"unlockedavailablefalsefalsenewcontainer1558569945712Thu, 23 May 2019 00:04:48 GMT\"0x8D6DF12451A16B8\"unlockedavailablefalsefalsenewcontainer1558569987205Thu, 23 May 2019 00:05:29 GMT\"0x8D6DF125DD9CF62\"unlockedavailablefalsefalsenewcontainer1558571694791Thu, 23 May 2019 00:33:57 GMT\"0x8D6DF1657AAAB3A\"unlockedavailablefalsefalsenewcontainer1558571988171Thu, 23 May 2019 00:38:50 GMT\"0x8D6DF17069448C5\"unlockedavailablefalsefalsenewcontainer1558572038761Thu, 23 May 2019 00:39:41 GMT\"0x8D6DF172496D021\"unlockedavailablefalsefalsenewcontainer1558572092088Thu, 23 May 2019 00:40:34 GMT\"0x8D6DF17445F6287\"unlockedavailablefalsefalsenewcontainer1558572190452Thu, 23 May 2019 00:42:12 GMT\"0x8D6DF177EFF670F\"unlockedavailablefalsefalsenewcontainer1558572372101Thu, 23 May 2019 00:45:14 GMT\"0x8D6DF17EB453B55\"unlockedavailablefalsefalsenewcontainer1559004365932Tue, 28 May 2019 00:46:06 GMT\"0x8D6E305DE333510\"unlockedavailablefalsefalsenewcontainer1559004757976Tue, 28 May 2019 00:52:38 GMT\"0x8D6E306C7E14974\"unlockedavailablefalsefalsenewcontainer1559342089338Fri, 31 May 2019 22:34:49 GMT\"0x8D6E6183133AB7B\"unlockedavailablefalsefalsenewcontainer1559347780600Sat, 01 Jun 2019 00:09:41 GMT\"0x8D6E625717AAA2A\"unlockedavailablefalsefalsenewcontainer1560993322689Thu, 20 Jun 2019 01:15:23 GMT\"0x8D6F51CC4F2F4D3\"unlockedavailablefalsefalsenewcontainer1561069143536Thu, 20 Jun 2019 22:19:03 GMT\"0x8D6F5CD4DA84818\"unlockedavailablefalsefalsenewcontainer1561073367239Thu, 20 Jun 2019 23:29:27 GMT\"0x8D6F5D723155163\"unlockedavailablefalsefalsenewcontainer1561073421471Thu, 20 Jun 2019 23:30:21 GMT\"0x8D6F5D743688390\"unlockedavailablefalsefalsenewcontainer1561670320694Thu, 27 Jun 2019 21:18:41 GMT\"0x8D6FB45072AF76D\"unlockedavailablefalsefalsenewcontainer1561670948627Thu, 27 Jun 2019 21:29:09 GMT\"0x8D6FB467D74DB68\"unlockedavailablefalsefalsenewcontainer1561675516515Thu, 27 Jun 2019 22:45:16 GMT\"0x8D6FB512013C198\"unlockedavailablefalsefalsenewcontainer1561756102856Fri, 28 Jun 2019 21:08:23 GMT\"0x8D6FC0CC15F0C8A\"unlockedavailablefalsefalsenewcontainer1562127777271Wed, 03 Jul 2019 04:22:59 GMT\"0x8D6FF6E2168A8B6\"unlockedavailablefalsefalsenewcontainer1562127959285Wed, 03 Jul 2019 04:26:01 GMT\"0x8D6FF6E8DE8D608\"unlockedavailablefalsefalsenewcontainer1562137890899Wed, 03 Jul 2019 07:11:31 GMT\"0x8D6FF85ACBF4A09\"unlockedavailablefalsefalsenewcontainer1562138027884Wed, 03 Jul 2019 07:13:47 GMT\"0x8D6FF85FE3053B2\"unlockedavailablefalsefalsenewcontainer1562138028864Wed, 03 Jul 2019 07:13:48 GMT\"0x8D6FF85FEC55B9D\"unlockedavailablefalsefalsenewcontainer1562138042151Wed, 03 Jul 2019 07:14:02 GMT\"0x8D6FF8606DC1EF6\"unlockedavailablefalsefalsenewcontainer1562138162811Wed, 03 Jul 2019 07:16:03 GMT\"0x8D6FF864ECE5F2E\"unlockedavailablefalsefalsenewcontainer1562138197567Wed, 03 Jul 2019 07:16:37 GMT\"0x8D6FF8663564B05\"unlockedavailablefalsefalsenewcontainer1562138333292Wed, 03 Jul 2019 07:18:53 GMT\"0x8D6FF86B43E2C0F\"unlockedavailablefalsefalsenewcontainer1562138334169Wed, 03 Jul 2019 07:18:54 GMT\"0x8D6FF86B4C17D69\"unlockedavailablefalsefalsenewcontainer1562138334937Wed, 03 Jul 2019 07:18:55 GMT\"0x8D6FF86B53710AF\"unlockedavailablefalsefalsenewcontainer1562138436092Wed, 03 Jul 2019 07:20:36 GMT\"0x8D6FF86F1AA677A\"unlockedavailablefalsefalsenewcontainer1562180517245Wed, 03 Jul 2019 19:02:15 GMT\"0x8D6FFE8F6606560\"unlockedavailablefalsefalsenewcontainer1562180788226Wed, 03 Jul 2019 19:06:33 GMT\"0x8D6FFE9909AFF1F\"unlockedavailablefalsefalsenewcontainer1562193750784Wed, 03 Jul 2019 22:42:31 GMT\"0x8D70007BBD01C8F\"unlockedavailablefalsefalsenewcontainer1565116364509Tue, 06 Aug 2019 18:32:45 GMT\"0x8D71A9C79DE3813\"unlockedavailablefalsefalsenewcontainer1565117697695Tue, 06 Aug 2019 18:55:00 GMT\"0x8D71A9F9555EF17\"unlockedavailablefalsefalsenewcontainer1565126045623Tue, 06 Aug 2019 21:14:10 GMT\"0x8D71AB306AD6806\"unlockedavailablefalsefalse", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0b89bf24-301e-002d-7ab3-2bf951000000', + '9c094c6d-101e-00b9-2581-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:34 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_setproperties.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_setproperties.js index 66209dfd68f9..972ac0d9b058 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_setproperties.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_setproperties.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8d30f4f-e01e-0085-27b3-2b2d44000000', + '1c4b22e9-001e-0025-1381-54e222000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:47 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'Connection', 'close' ]); @@ -33,11 +33,11 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7de7799f-401e-00cc-1fb3-2b1e24000000', + '739f92e8-501e-001f-3b81-54a181000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:48 GMT', + 'Fri, 16 Aug 2019 22:22:19 GMT', 'Connection', 'close' ]); @@ -52,15 +52,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '71bfbdf9-501e-001f-4fb3-2ba181000000', + '6f53572c-f01e-00de-6381-542a38000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:53 GMT', + 'Fri, 16 Aug 2019 22:22:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.js index 6b9e0ae704c8..fd992f89c445 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiterator_for_listcontainers.js @@ -1,87 +1,87 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150783703900402"} +module.exports.testInfo = {"container":"container156599412697902923"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783703900402x0') + .put('/container156599412697902923x0') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:37 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'ETag', - '"0x8D6F9CAB743DA50"', + '"0x8D722982C72633B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '825dcfc2-401e-0000-66b3-2b7a91000000', + 'e9dcd2b0-901e-00a8-6e81-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:36 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783703900402x1') + .put('/container156599412697902923x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:37 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'ETag', - '"0x8D6F9CAB7725DF6"', + '"0x8D722982C9EF1AB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '40d2e5a0-601e-0094-60b3-2b1a5f000000', + '18cad3fe-501e-00d8-7081-54dd40000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:36 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783703900402x2') + .put('/container156599412697902923x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:37 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'ETag', - '"0x8D6F9CAB7A11521"', + '"0x8D722982CCBE063"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ac28c8f-201e-007d-01b3-2be659000000', + 'ec5fb2b6-601e-0071-3d81-5408a8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:37 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783703900402x3') + .put('/container156599412697902923x3') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:38 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'ETag', - '"0x8D6F9CAB7CDAE2E"', + '"0x8D722982CF8FA63"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd23454af-e01e-00ca-5db3-2be95c000000', + '717943d6-401e-0088-0681-54c248000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:37 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); @@ -89,90 +89,90 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container156150783703900402container156150783703900402x0Wed, 26 Jun 2019 00:10:37 GMT\"0x8D6F9CAB743DA50\"unlockedavailablefalsefalsevalcontainer156150783703900402x1Wed, 26 Jun 2019 00:10:37 GMT\"0x8D6F9CAB7725DF6\"unlockedavailablefalsefalsevalcontainer156150783703900402x2Wed, 26 Jun 2019 00:10:37 GMT\"0x8D6F9CAB7A11521\"unlockedavailablefalsefalsevalcontainer156150783703900402x3Wed, 26 Jun 2019 00:10:38 GMT\"0x8D6F9CAB7CDAE2E\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', + .reply(200, "container156599412697902923container156599412697902923x0Fri, 16 Aug 2019 22:22:07 GMT\"0x8D722982C72633B\"unlockedavailablefalsefalsevalcontainer156599412697902923x1Fri, 16 Aug 2019 22:22:07 GMT\"0x8D722982C9EF1AB\"unlockedavailablefalsefalsevalcontainer156599412697902923x2Fri, 16 Aug 2019 22:22:07 GMT\"0x8D722982CCBE063\"unlockedavailablefalsefalsevalcontainer156599412697902923x3Fri, 16 Aug 2019 22:22:08 GMT\"0x8D722982CF8FA63\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '49c0db73-201e-0010-04b3-2b4c77000000', + '5748396c-601e-0035-2181-54d4c4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:38 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783703900402x0') + .delete('/container156599412697902923x0') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70af50ef-d01e-008d-2bb3-2b3637000000', + 'd41f8ceb-701e-00cf-6481-541d23000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:37 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783703900402x1') + .delete('/container156599412697902923x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de42cca2-c01e-007c-4cb3-2be7a4000000', + 'e89af807-201e-00d7-7881-5430b6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:38 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783703900402x2') + .delete('/container156599412697902923x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e34b1dbf-c01e-0033-80b3-2b23bc000000', + '2b23a4d7-401e-0029-6881-540cd3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:38 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783703900402x3') + .delete('/container156599412697902923x3') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ab956ae5-c01e-001a-60b3-2b55fe000000', + '677f18ef-401e-0066-5581-54c8cb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:39 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.js index f45724cb82da..f9e34ce1d6a2 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listcontainers.js @@ -1,87 +1,87 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150784468602733"} +module.exports.testInfo = {"container":"container156599413408905448"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784468602733x0') + .put('/container156599413408905448x0') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:44 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'ETag', - '"0x8D6F9CABBD34489"', + '"0x8D7229830AE9AE9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ce5f4dcf-701e-0065-6bb3-2bcbcc000000', + 'b6963d3f-001e-0007-2e81-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:44 GMT', + 'Fri, 16 Aug 2019 22:22:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784468602733x1') + .put('/container156599413408905448x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:45 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'ETag', - '"0x8D6F9CABC000E84"', + '"0x8D7229830E26508"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c29d50c4-a01e-006c-06b3-2bd142000000', + '4c76199b-b01e-00b4-2d81-547693000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:44 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784468602733x2') + .put('/container156599413408905448x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:45 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'ETag', - '"0x8D6F9CABC3540F2"', + '"0x8D72298310F8605"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5dfd3811-601e-0035-2fb3-2bd4c4000000', + '49d5d558-401e-0044-5e81-54a6fd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:45 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784468602733x3') + .put('/container156599413408905448x3') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:45 GMT', + 'Fri, 16 Aug 2019 22:22:15 GMT', 'ETag', - '"0x8D6F9CABC61A2A3"', + '"0x8D72298313DDF1D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fee5a306-001e-00a6-65b3-2b428f000000', + '9597d389-a01e-0067-4381-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:45 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'Connection', 'close' ]); @@ -89,22 +89,22 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container1561507844686027332container156150784468602733x0Wed, 26 Jun 2019 00:10:44 GMT\"0x8D6F9CABBD34489\"unlockedavailablefalsefalsevalcontainer156150784468602733x1Wed, 26 Jun 2019 00:10:45 GMT\"0x8D6F9CABC000E84\"unlockedavailablefalsefalseval/fakestorageaccount/container156150784468602733x2", [ 'Transfer-Encoding', + .reply(200, "container1565994134089054482container156599413408905448x0Fri, 16 Aug 2019 22:22:14 GMT\"0x8D7229830AE9AE9\"unlockedavailablefalsefalsevalcontainer156599413408905448x1Fri, 16 Aug 2019 22:22:14 GMT\"0x8D7229830E26508\"unlockedavailablefalsefalseval/fakestorageaccount/container156599413408905448x2", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '337b87be-101e-00df-03b3-2b2bc5000000', + '96a14798-701e-0008-5781-5461e2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:45 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'Connection', 'close' ]); @@ -112,90 +112,90 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container156150784468602733/fakestorageaccount/container156150784468602733x22container156150784468602733x2Wed, 26 Jun 2019 00:10:45 GMT\"0x8D6F9CABC3540F2\"unlockedavailablefalsefalsevalcontainer156150784468602733x3Wed, 26 Jun 2019 00:10:45 GMT\"0x8D6F9CABC61A2A3\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', + .reply(200, "container156599413408905448/fakestorageaccount/container156599413408905448x22container156599413408905448x2Fri, 16 Aug 2019 22:22:14 GMT\"0x8D72298310F8605\"unlockedavailablefalsefalsevalcontainer156599413408905448x3Fri, 16 Aug 2019 22:22:15 GMT\"0x8D72298313DDF1D\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4edc6356-701e-00c4-2eb3-2b0557000000', + 'aceabe00-001e-00e9-0681-548697000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:45 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784468602733x0') + .delete('/container156599413408905448x0') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '79425029-601e-0058-62b3-2b7eea000000', + 'd0eab1ea-301e-002d-0c81-54f951000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:46 GMT', + 'Fri, 16 Aug 2019 22:22:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784468602733x1') + .delete('/container156599413408905448x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '27cb95a0-e01e-008e-14b3-2b3530000000', + 'c59b2e32-a01e-00c6-3f81-5407ad000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:46 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784468602733x2') + .delete('/container156599413408905448x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '55522e30-d01e-0068-20b3-2b24c0000000', + '9597d7a1-a01e-0067-6a81-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:47 GMT', + 'Fri, 16 Aug 2019 22:22:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784468602733x3') + .delete('/container156599413408905448x3') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f3700023-501e-009c-45b3-2b012c000000', + 'aceac0b4-001e-00e9-5581-548697000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:47 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.js index dd4a36f0508a..6d0faa746ad4 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listcontainers.js @@ -1,87 +1,87 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150784171607876"} +module.exports.testInfo = {"container":"container156599413115800127"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784171607876x0') + .put('/container156599413115800127x0') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:41 GMT', + 'Fri, 16 Aug 2019 22:22:11 GMT', 'ETag', - '"0x8D6F9CABA0D4721"', + '"0x8D722982EEFEC5D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdf97d42-701e-006e-7eb3-2bd3b8000000', + '1ff6a7d2-c01e-005e-8081-548992000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:41 GMT', + 'Fri, 16 Aug 2019 22:22:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784171607876x1') + .put('/container156599413115800127x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:11 GMT', 'ETag', - '"0x8D6F9CABA3D893F"', + '"0x8D722982F1CDFBD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0da75a87-701e-0008-26b3-2b61e2000000', + 'c7b54cac-301e-00e1-1181-549de4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:41 GMT', + 'Fri, 16 Aug 2019 22:22:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784171607876x2') + .put('/container156599413115800127x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:11 GMT', 'ETag', - '"0x8D6F9CABA6A7550"', + '"0x8D722982F48C79C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '720d7bbf-001e-00e9-54b3-2b8697000000', + 'bb50c5b3-c01e-007c-7b81-54e7a4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150784171607876x3') + .put('/container156599413115800127x3') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:12 GMT', 'ETag', - '"0x8D6F9CABA97D46D"', + '"0x8D722982F7449EF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '607d9671-501e-00be-4bb3-2b6f1a000000', + '9c09554f-101e-00b9-3e81-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:11 GMT', 'Connection', 'close' ]); @@ -89,22 +89,22 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container1561507841716078762container156150784171607876x0Wed, 26 Jun 2019 00:10:41 GMT\"0x8D6F9CABA0D4721\"unlockedavailablefalsefalsevalcontainer156150784171607876x1Wed, 26 Jun 2019 00:10:42 GMT\"0x8D6F9CABA3D893F\"unlockedavailablefalsefalseval/fakestorageaccount/container156150784171607876x2", [ 'Transfer-Encoding', + .reply(200, "container1565994131158001272container156599413115800127x0Fri, 16 Aug 2019 22:22:11 GMT\"0x8D722982EEFEC5D\"unlockedavailablefalsefalsevalcontainer156599413115800127x1Fri, 16 Aug 2019 22:22:11 GMT\"0x8D722982F1CDFBD\"unlockedavailablefalsefalseval/fakestorageaccount/container156599413115800127x2", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ea5ce32-101e-00b2-75b3-2b81eb000000', + '6ed9e902-401e-00a1-2a81-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:12 GMT', 'Connection', 'close' ]); @@ -112,90 +112,90 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container156150784171607876/fakestorageaccount/container156150784171607876x22container156150784171607876x2Wed, 26 Jun 2019 00:10:42 GMT\"0x8D6F9CABA6A7550\"unlockedavailablefalsefalsevalcontainer156150784171607876x3Wed, 26 Jun 2019 00:10:42 GMT\"0x8D6F9CABA97D46D\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', + .reply(200, "container156599413115800127/fakestorageaccount/container156599413115800127x22container156599413115800127x2Fri, 16 Aug 2019 22:22:11 GMT\"0x8D722982F48C79C\"unlockedavailablefalsefalsevalcontainer156599413115800127x3Fri, 16 Aug 2019 22:22:12 GMT\"0x8D722982F7449EF\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '12b5d2ad-301e-000f-3ab3-2b9767000000', + '18caded6-501e-00d8-2481-54dd40000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784171607876x0') + .delete('/container156599413115800127x0') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ef7e14c2-601e-001c-3bb3-2ba286000000', + 'c340032b-501e-0072-0481-540baf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:42 GMT', + 'Fri, 16 Aug 2019 22:22:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784171607876x1') + .delete('/container156599413115800127x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '030e22c8-101e-009b-06b3-2bf7a9000000', + '42cf7fc1-301e-00c8-4481-54eba6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:43 GMT', + 'Fri, 16 Aug 2019 22:22:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784171607876x2') + .delete('/container156599413115800127x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e8c6d19-401e-0083-7cb3-2bda3c000000', + 'c6929d59-e01e-0049-1581-5449f1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:43 GMT', + 'Fri, 16 Aug 2019 22:22:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150784171607876x3') + .delete('/container156599413115800127x3') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fe14f90-c01e-00d6-47b3-2b314b000000', + '507fff95-201e-001b-4a81-545403000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:44 GMT', + 'Fri, 16 Aug 2019 22:22:13 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.js index e27a6e1d3e76..035806425eec 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listcontainers.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150783989001591"} +module.exports.testInfo = {"container":"container156599412967507338"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783989001591x1') + .put('/container156599412967507338x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:40 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'ETag', - '"0x8D6F9CAB8F5B8DB"', + '"0x8D722982E0D1014"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53a3165e-201e-0032-55b3-2b2241000000', + 'fa4d575e-c01e-0099-6281-54f553000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:39 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150783989001591x2') + .put('/container156599412967507338x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:40 GMT', + 'Fri, 16 Aug 2019 22:22:10 GMT', 'ETag', - '"0x8D6F9CAB924DD6B"', + '"0x8D722982E39FB78"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cf5865ff-901e-00ec-56b3-2b72e8000000', + '66f48707-401e-00e5-6081-546866000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:40 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); @@ -47,56 +47,56 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "container156150783989001591container156150783989001591x1Wed, 26 Jun 2019 00:10:40 GMT\"0x8D6F9CAB8F5B8DB\"unlockedavailablefalsefalsevalcontainer156150783989001591x2Wed, 26 Jun 2019 00:10:40 GMT\"0x8D6F9CAB924DD6B\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', + .reply(200, "container156599412967507338container156599412967507338x1Fri, 16 Aug 2019 22:22:09 GMT\"0x8D722982E0D1014\"unlockedavailablefalsefalsevalcontainer156599412967507338x2Fri, 16 Aug 2019 22:22:10 GMT\"0x8D722982E39FB78\"unlockedavailablefalsefalseval", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '823db1c3-d01e-00a4-72b3-2b4075000000', + '9a50b9c8-201e-0076-2f81-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:39 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783989001591x1') + .delete('/container156599412967507338x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e733d67a-e01e-0024-55b3-2be3df000000', + 'e9dcd924-901e-00a8-7081-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:41 GMT', + 'Fri, 16 Aug 2019 22:22:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150783989001591x2') + .delete('/container156599412967507338x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f9ed1ce7-601e-00b6-6bb3-2b7469000000', + '65c5f58e-301e-0069-7181-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:41 GMT', + 'Fri, 16 Aug 2019 22:22:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js index 8faa3fd0177d..5a3284e37315 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8210e29f-901e-00a8-2db4-2bae84000000', + 'f57f3e97-901e-00a3-5481-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:12 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 1bbc7aec35f9..627828301546 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ab96ace4-c01e-001a-53b4-2b55fe000000', + '5baf02eb-f01e-007f-3f81-54e4a3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:12 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 62506b9dc5e0..4538fd02032a 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1a04ec99-b01e-0096-3ab4-2b18a5000000', + 'acec03b6-001e-00e9-7881-548697000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:12 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index 1b1ac66552e9..07fc6f51212c 100644 --- a/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-blob/recordings/node/blobserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '04e259a4-701e-0080-2eb4-2bd93b000000', + '8d723d15-c01e-0011-3c81-544d8a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:13 GMT', + 'Fri, 16 Aug 2019 22:26:09 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist.js index a0b868edee84..8eb31094908b 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist.js @@ -1,30 +1,30 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150786565009648","blob":"blob156150786594803066"} +module.exports.testInfo = {"container":"container156599415626704635","blob":"blob156599415657100385"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786565009648') + .put('/container156599415626704635') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'ETag', - '"0x8D6F9CAC851AA89"', + '"0x8D722983DE83D59"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8c5178c8-f01e-00b8-11b3-2b9862000000', + '216af987-101e-0075-6f81-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786565009648/blob156150786594803066', "HelloWorld") + .put('/container156599415626704635/blob156599415657100385', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -33,19 +33,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '483cf6cc-001e-00e2-50b3-2b9ee3000000', + 'ff26445f-501e-0079-2381-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786565009648/blob156150786594803066', "HelloWorld") + .put('/container156599415626704635/blob156599415657100385', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -54,59 +54,59 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9a0680f5-501e-00d3-3db3-2bc534000000', + '2da46fa7-601e-007a-1c81-5410dc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786565009648/blob156150786594803066', "MQ==Mg==") + .put('/container156599415626704635/blob156599415657100385', "MQ==Mg==") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'dFAuDrRd9NVDo3Ngdh/H9g==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:06 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'ETag', - '"0x8D6F9CAC8E25EEE"', + '"0x8D722983E6CD4DB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5dfd5033-601e-0035-58b3-2bd4c4000000', + '65c61b5c-301e-0069-5f81-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:06 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150786565009648/blob156150786594803066') + .get('/container156599415626704635/blob156599415657100385') .query(true) .reply(200, "MQ==10Mg==10", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:06 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'ETag', - '"0x8D6F9CAC8E25EEE"', + '"0x8D722983E6CD4DB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd8f2fcad-701e-00a9-3fb3-2baf79000000', + '9c097456-101e-00b9-7f81-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-content-length', '20', 'Access-Control-Expose-Headers', @@ -114,24 +114,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:06 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150786565009648') + .delete('/container156599415626704635') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '950247c8-501e-0050-16b3-2b6599000000', + 'dd3f98b7-401e-00c7-7581-540650000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:07 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist_with_all_parameters_set.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist_with_all_parameters_set.js index 4be17bc426fc..8a3d623f27f1 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist_with_all_parameters_set.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_commitblocklist_with_all_parameters_set.js @@ -1,30 +1,30 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150786758207446","blob":"blob156150786787207030"} +module.exports.testInfo = {"container":"container156599415805309647","blob":"blob156599415834503879"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786758207446') + .put('/container156599415805309647') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:07 GMT', + 'Fri, 16 Aug 2019 22:22:38 GMT', 'ETag', - '"0x8D6F9CAC977883A"', + '"0x8D722983EF6D513"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '86838096-301e-0069-6ab3-2b253d000000', + '58f0f5aa-f01e-0019-0381-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:07 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786758207446/blob156150786787207030', "HelloWorld") + .put('/container156599415805309647/blob156599415834503879', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -33,19 +33,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '61f8b322-501e-003d-32b3-2bcfb7000000', + '2c0f6d10-b01e-0096-3981-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:07 GMT', + 'Fri, 16 Aug 2019 22:22:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786758207446/blob156150786787207030', "HelloWorld") + .put('/container156599415805309647/blob156599415834503879', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -54,59 +54,59 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '87cf54d5-b01e-0037-17b3-2bd63e000000', + 'a11d660a-101e-00b2-2c81-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:08 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786758207446/blob156150786787207030', "MQ==Mg==") + .put('/container156599415805309647/blob156599415834503879', "MQ==Mg==") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'dFAuDrRd9NVDo3Ngdh/H9g==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:08 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'ETag', - '"0x8D6F9CAC9FD2A0F"', + '"0x8D722983F7FFCFC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd7e6d5ef-a01e-0082-16b3-2bdbc1000000', + '9d2b2cd7-d01e-00eb-3c81-54846d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:07 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150786758207446/blob156150786787207030') + .get('/container156599415805309647/blob156599415834503879') .query(true) .reply(200, "MQ==10Mg==10", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:08 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'ETag', - '"0x8D6F9CAC9FD2A0F"', + '"0x8D722983F7FFCFC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '49b0938b-b01e-0078-75b3-2b1226000000', + '60d9ad36-a01e-00cd-5581-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-content-length', '20', 'Access-Control-Expose-Headers', @@ -114,13 +114,13 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:08 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150786758207446/blob156150786787207030') + .get('/container156599415805309647/blob156599415834503879') .reply(200, ["48656c6c6f576f726c64","48656c6c6f576f726c64"], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', @@ -132,23 +132,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'blobContentLanguage', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:08 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAC9FD2A0F"', + '"0x8D722983F7FFCFC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e583c928-701e-00ed-58b3-2b7315000000', + '9c693d53-d01e-00c9-4881-54ea5b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-keya', 'vala', 'x-ms-meta-keyb', 'valb', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:11:08 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -160,28 +162,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-keya,x-ms-meta-keyb,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-keya,x-ms-meta-keyb,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:08 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150786758207446') + .delete('/container156599415805309647') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '337ba682-101e-00df-42b3-2b2bc5000000', + '216afd1d-101e-0075-7981-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:09 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_getblocklist.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_getblocklist.js index ccff8d5224fc..d2382b425f0b 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_getblocklist.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_getblocklist.js @@ -1,30 +1,30 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150786964006722","blob":"blob156150786993102890"} +module.exports.testInfo = {"container":"container156599416018100051","blob":"blob156599416049701475"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786964006722') + .put('/container156599416018100051') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:09 GMT', + 'Fri, 16 Aug 2019 22:22:40 GMT', 'ETag', - '"0x8D6F9CACAB19831"', + '"0x8D72298403A77DC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd2347c51-e01e-00ca-19b3-2be95c000000', + '8f7a1b16-a01e-006c-6281-54d142000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:09 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786964006722/blob156150786993102890', "HelloWorld") + .put('/container156599416018100051/blob156599416049701475', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -33,19 +33,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6318afb1-401e-006d-2eb3-2bd0bf000000', + '1249140b-b01e-00bf-1d81-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:10 GMT', + 'Fri, 16 Aug 2019 22:22:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786964006722/blob156150786993102890', "HelloWorld") + .put('/container156599416018100051/blob156599416049701475', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -54,59 +54,59 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e34b3da0-c01e-0033-4cb3-2b23bc000000', + 'd08c0e29-a01e-000a-4581-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:09 GMT', + 'Fri, 16 Aug 2019 22:22:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786964006722/blob156150786993102890', "Mg==") + .put('/container156599416018100051/blob156599416049701475', "Mg==") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'J7SxPNqjL6/aXqADHyKYzA==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:10 GMT', + 'Fri, 16 Aug 2019 22:22:41 GMT', 'ETag', - '"0x8D6F9CACB382D03"', + '"0x8D7229840C253F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '759f6cd3-801e-00bc-0fb3-2b6de0000000', + 'c9fdb5a5-701e-002a-5581-540fd4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:10 GMT', + 'Fri, 16 Aug 2019 22:22:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150786964006722/blob156150786993102890') + .get('/container156599416018100051/blob156599416049701475') .query(true) .reply(200, "Mg==10", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:10 GMT', + 'Fri, 16 Aug 2019 22:22:41 GMT', 'ETag', - '"0x8D6F9CACB382D03"', + '"0x8D7229840C253F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a287e752-001e-0025-5bb3-2be222000000', + 'be57d257-701e-00c4-4781-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-content-length', '10', 'Access-Control-Expose-Headers', @@ -114,24 +114,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:10 GMT', + 'Fri, 16 Aug 2019 22:22:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150786964006722') + .delete('/container156599416018100051') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e3ed74-c01e-00dd-75b3-2b293f000000', + '58f0fe79-f01e-0019-7d81-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:10 GMT', + 'Fri, 16 Aug 2019 22:22:41 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblock.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblock.js index cceece6701ff..24e0cb5c5d48 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblock.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblock.js @@ -1,30 +1,30 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150785815203271","blob":"blob156150785845401807"} +module.exports.testInfo = {"container":"container156599414937901262","blob":"blob156599414967109408"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785815203271') + .put('/container156599414937901262') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:58 GMT', + 'Fri, 16 Aug 2019 22:22:29 GMT', 'ETag', - '"0x8D6F9CAC3DA40ED"', + '"0x8D7229839CB53D6"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8f2d0eb9-501e-0079-11b3-2b13db000000', + '53eba906-901e-00c5-1181-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:58 GMT', + 'Fri, 16 Aug 2019 22:22:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785815203271/blob156150785845401807', "HelloWorld") + .put('/container156599414937901262/blob156599414967109408', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -33,19 +33,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fdd3ae2-901e-00c5-0ab3-2b04aa000000', + '1d18243a-601e-003e-5781-54ccb0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:57 GMT', + 'Fri, 16 Aug 2019 22:22:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785815203271/blob156150785845401807', "HelloWorld") + .put('/container156599414937901262/blob156599414967109408', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -54,19 +54,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8b4cd489-f01e-007f-6db3-2be4a3000000', + 'db1ffd91-701e-00e6-0b81-546b61000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:58 GMT', + 'Fri, 16 Aug 2019 22:22:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150785815203271/blob156150785845401807') + .get('/container156599414937901262/blob156599414967109408') .query(true) .reply(200, "MQ==10Mg==10", [ 'Transfer-Encoding', 'chunked', @@ -75,32 +75,32 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bbb3ad9c-601e-0071-1cb3-2b08a8000000', + '0eff2348-d01e-002c-0d81-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:58 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150785815203271') + .delete('/container156599414937901262') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd7e6c8d4-a01e-0082-7cb3-2bdbc1000000', + 'fbdc5b21-501e-00d3-1d81-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:58 GMT', + 'Fri, 16 Aug 2019 22:22:29 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.js index ad57de0d0184..ebec74f54d1b 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_separate_blocks.js @@ -1,75 +1,75 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150786179702516","blob":"blob156150786213904156","newblockblob":"newblockblob156150786274407414"} +module.exports.testInfo = {"container":"container156599415294402070","blob":"blob156599415324003003","newblockblob":"newblockblob156599415385807729"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786179702516') + .put('/container156599415294402070') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:02 GMT', + 'Fri, 16 Aug 2019 22:22:33 GMT', 'ETag', - '"0x8D6F9CAC6051D16"', + '"0x8D722983BEBD656"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '483cf096-001e-00e2-74b3-2b9ee3000000', + '551f1065-801e-0034-3a81-54d539000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:01 GMT', + 'Fri, 16 Aug 2019 22:22:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786179702516/blob156150786213904156', "HelloWorld") + .put('/container156599415294402070/blob156599415324003003', "HelloWorld") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'aOEJ8PQMpyoV4FzCJ4b45g==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:02 GMT', + 'Fri, 16 Aug 2019 22:22:33 GMT', 'ETag', - '"0x8D6F9CAC6397F99"', + '"0x8D722983C1B7532"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5c5db80f-b01e-0015-6db3-2bb808000000', + 'c9fda623-701e-002a-6081-540fd4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:01 GMT', + 'Fri, 16 Aug 2019 22:22:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786179702516', "") + .put('/container156599415294402070', "") .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:02 GMT', + 'Fri, 16 Aug 2019 22:22:33 GMT', 'ETag', - '"0x8D6F9CAC668CAAD"', + '"0x8D722983C4A9E05"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd2347245-e01e-00ca-60b3-2be95c000000', + '96a16b2a-701e-0008-3481-5461e2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:02 GMT', + 'Fri, 16 Aug 2019 22:22:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786179702516/newblockblob156150786274407414') + .put('/container156599415294402070/newblockblob156599415385807729') .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -78,19 +78,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53a32a3f-201e-0032-6eb3-2b2241000000', + 'fd8fa6fb-e01e-00ca-0b81-54e95c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:02 GMT', + 'Fri, 16 Aug 2019 22:22:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786179702516/newblockblob156150786274407414') + .put('/container156599415294402070/newblockblob156599415385807729') .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -99,19 +99,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dbcb000c-101e-0018-1fb3-2b5704000000', + 'bdfab524-901e-00ec-5581-5472e8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:03 GMT', + 'Fri, 16 Aug 2019 22:22:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786179702516/newblockblob156150786274407414') + .put('/container156599415294402070/newblockblob156599415385807729') .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -120,19 +120,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f9ed3325-601e-00b6-76b3-2b7469000000', + 'fd8fa83a-e01e-00ca-1c81-54e95c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:04 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150786179702516/newblockblob156150786274407414') + .get('/container156599415294402070/newblockblob156599415385807729') .query(true) .reply(200, "MQ==4Mg==4Mw==2", [ 'Transfer-Encoding', 'chunked', @@ -141,64 +141,66 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '963a3d25-001e-00ad-80b3-2b5afb000000', + '9a5f620f-301e-00a5-3281-544188000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:03 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150786179702516/newblockblob156150786274407414', "MQ==Mg==Mw==") + .put('/container156599415294402070/newblockblob156599415385807729', "MQ==Mg==Mw==") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'mIrrBfaRkeYI2Jey2fQPeg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'ETag', - '"0x8D6F9CAC7C91AAD"', + '"0x8D722983D5FC84B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c0f55f93-901e-00a3-50b3-2bb6f0000000', + '0eff2ea2-d01e-002c-3481-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:04 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150786179702516/newblockblob156150786274407414') + .get('/container156599415294402070/newblockblob156599415385807729') .reply(200, "HelloWorld", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAC7C91AAD"', + '"0x8D722983D5FC84B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1ae73a81-f01e-0019-4eb3-2b56f9000000', + '431e6c3c-101e-003a-6081-543932000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -208,28 +210,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:04 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150786179702516') + .delete('/container156599415294402070') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1cfc0069-b01e-00bf-6eb3-2b6ee7000000', + '5f4c849e-201e-0010-3a81-544c77000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:05 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.js index 588fbbfe85ef..9b5ed3fddbd1 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_stageblockfromurl_copy_source_blob_as_single_block.js @@ -1,75 +1,75 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150785979507007","blob":"blob156150786015301694","newblockblob":"newblockblob156150786074904537"} +module.exports.testInfo = {"container":"container156599415085307776","blob":"blob156599415115206202","newblockblob":"newblockblob156599415177903407"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785979507007') + .put('/container156599415085307776') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:00 GMT', + 'Fri, 16 Aug 2019 22:22:31 GMT', 'ETag', - '"0x8D6F9CAC4D38011"', + '"0x8D722983AAD0825"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '77df9d38-801e-0052-77b3-2b6763000000', + '457c5484-001e-008f-1781-5434cd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:59 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785979507007/blob156150786015301694', "HelloWorld") + .put('/container156599415085307776/blob156599415115206202', "HelloWorld") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'aOEJ8PQMpyoV4FzCJ4b45g==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:00 GMT', + 'Fri, 16 Aug 2019 22:22:31 GMT', 'ETag', - '"0x8D6F9CAC50B773D"', + '"0x8D722983ADAA525"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7bbe5f3-301e-00e1-0fb3-2b9de4000000', + '882e8b0e-501e-0097-1a81-541958000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:59 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785979507007', "") + .put('/container156599415085307776', "") .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:00 GMT', + 'Fri, 16 Aug 2019 22:22:31 GMT', 'ETag', - '"0x8D6F9CAC5389FB0"', + '"0x8D722983B081F34"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '57332940-001e-0043-60b3-2b5078000000', + 'd7b55c0f-401e-006d-3781-54d0bf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:59 GMT', + 'Fri, 16 Aug 2019 22:22:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785979507007/newblockblob156150786074904537') + .put('/container156599415085307776/newblockblob156599415177903407') .query(true) .reply(201, "", [ 'Content-Length', '0', @@ -78,19 +78,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '61f8a756-501e-003d-3eb3-2bcfb7000000', + '7ee79333-101e-0090-3781-54efdd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:00 GMT', + 'Fri, 16 Aug 2019 22:22:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150785979507007/newblockblob156150786074904537') + .get('/container156599415085307776/newblockblob156599415177903407') .query(true) .reply(200, "MQ==10", [ 'Transfer-Encoding', 'chunked', @@ -99,32 +99,32 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c107f31e-a01e-0067-68b3-2bc936000000', + '2b23dd47-401e-0029-2881-540cd3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:01 GMT', + 'Fri, 16 Aug 2019 22:22:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150785979507007') + .delete('/container156599415085307776') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '555243bc-d01e-0068-2fb3-2b24c0000000', + '1d2d7177-801e-0016-5c81-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:01 GMT', + 'Fri, 16 Aug 2019 22:22:32 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js index acbef614d5bf..e872eb6d7b71 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897172202589","blob":"blob156464897203102316"} +module.exports.testInfo = {"container":"container156599416281608650","blob":"blob156599416310804344"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897172202589') + .put('/container156599416281608650') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:51 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'ETag', - '"0x8D7165C3D713732"', + '"0x8D7229841CDFCDA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd81a7c7d-201e-0054-6145-48901b000000', + 'ef73de69-a01e-00ab-6e81-54ad83000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:51 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897172202589') + .delete('/container156599416281608650') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9c977115-301e-0040-2545-48537f000000', + '77f95018-601e-001c-4a81-54a286000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:51 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js index a9f091cab148..f82a23ab3ce9 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897112401521","blob":"blob156464897142907587"} +module.exports.testInfo = {"container":"container156599416222504200","blob":"blob156599416252005986"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897112401521') + .put('/container156599416222504200') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:51 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'ETag', - '"0x8D7165C3D15764F"', + '"0x8D722984173BB30"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0ace0b54-501e-0050-5e45-486599000000', + '039e1779-901e-006f-4881-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:50 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897112401521') + .delete('/container156599416222504200') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '91081c1f-701e-0047-0845-48a5fa000000', + '4cb0e4cf-d01e-0086-7f81-542e43000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:51 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.js index b6ce39512758..ee5ff1c7bf3d 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_all_parameters_set.js @@ -1,55 +1,55 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150785696401364","blob":"blob156150785725407053","randomstring":"randomstring156150785725509178"} +module.exports.testInfo = {"container":"container156599414816709388","blob":"blob156599414847800857","randomstring":"randomstring156599414847901791"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785696401364') + .put('/container156599414816709388') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:57 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'ETag', - '"0x8D6F9CAC32350C8"', + '"0x8D7229839152568"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdf98d7f-701e-006e-48b3-2bd3b8000000', + '78622ca0-a01e-00a0-7c81-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785696401364/blob156150785725407053', "randomstring156150785725509178") + .put('/container156599414816709388/blob156599414847800857', "randomstring156599414847901791") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'yasOn+QpKqyU/I5cQSoa1w==', + 'ZwcQ/e1FsjZg0pCKdhseig==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:57 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'ETag', - '"0x8D6F9CAC35141E6"', + '"0x8D7229839425686"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c95373f5-501e-00b5-40b3-2b776e000000', + '8f7a0011-a01e-006c-1981-54d142000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150785696401364/blob156150785725407053') - .reply(200, ["72616e646f6d737472696e67313536313530373835373235353039313738"], [ 'Cache-Control', + .get('/container156599414816709388/blob156599414847800857') + .reply(200, ["72616e646f6d737472696e67313536353939343134383437393031373931"], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', '30', @@ -60,25 +60,27 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'blobContentLanguage', 'Content-MD5', - 'yasOn+QpKqyU/I5cQSoa1w==', + 'ZwcQ/e1FsjZg0pCKdhseig==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:57 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAC35141E6"', + '"0x8D7229839425686"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e5a4600d-a01e-00c6-38b3-2b07ad000000', + '9c096a79-101e-00b9-3e81-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-keya', 'vala', 'x-ms-meta-keyb', 'valb', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:57 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -90,28 +92,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-keya,x-ms-meta-keyb,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-keya,x-ms-meta-keyb,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:57 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150785696401364') + .delete('/container156599414816709388') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b4810994-801e-001d-18b3-2ba37b000000', + 'fbdc5953-501e-00d3-0981-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:57 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_default_parameters.js index 1217c9371c71..a40d887d1288 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient/recording_upload_with_string_body_and_default_parameters.js @@ -1,74 +1,76 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150785580702975","blob":"blob156150785610308127","randomstring":"randomstring156150785610408427"} +module.exports.testInfo = {"container":"container156599414698702164","blob":"blob156599414727800402","randomstring":"randomstring156599414727807305"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785580702975') + .put('/container156599414698702164') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'ETag', - '"0x8D6F9CAC27396EE"', + '"0x8D72298385E1BDF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ed32f8c9-a01e-004e-40b3-2bbf74000000', + '6d0f9f18-b01e-00d2-2081-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:55 GMT', + 'Fri, 16 Aug 2019 22:22:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150785580702975/blob156150785610308127', "randomstring156150785610408427") + .put('/container156599414698702164/blob156599414727800402', "randomstring156599414727807305") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'wQwQDnQazAvi9c1rpctnMw==', + 'QvIyUV6lp3DjlzbTM0QaEw==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'ETag', - '"0x8D6F9CAC2A1F656"', + '"0x8D72298388B1A8C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '51347d8d-d01e-0063-66b3-2b3cb4000000', + '431e5fee-101e-003a-1f81-543932000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150785580702975/blob156150785610308127') - .reply(200, "randomstring156150785610408427", [ 'Content-Length', + .get('/container156599414698702164/blob156599414727800402') + .reply(200, "randomstring156599414727807305", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Content-MD5', - 'wQwQDnQazAvi9c1rpctnMw==', + 'QvIyUV6lp3DjlzbTM0QaEw==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAC2A1F656"', + '"0x8D72298388B1A8C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5c5dace1-b01e-0015-6bb3-2bb808000000', + '1248fc5c-b01e-00bf-5181-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150785580702975') + .delete('/container156599414698702164') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5c5dad49-b01e-0015-43b3-2bb808000000', + '1c30538e-c01e-0055-0181-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:10:56 GMT', + 'Fri, 16 Aug 2019 22:22:27 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js index 43dafbcd6f92..f33c7d9e96a5 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js @@ -1,74 +1,76 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806032703117","blob":"blob156150806061401329","randomstring":"randomstring156150806061507674"} +module.exports.testInfo = {"container":"container156599437667607779","blob":"blob156599437698909724","randomstring":"randomstring156599437699001378"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806032703117') + .put('/container156599437667607779') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:20 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'ETag', - '"0x8D6F9CB3C5933B7"', + '"0x8D72298C148825A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b521018-801e-009e-51b4-2b03d6000000', + '8047e9ec-801e-001d-1181-54a37b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806032703117/blob156150806061401329', "randomstring156150806061507674") + .put('/container156599437667607779/blob156599437698909724', "randomstring156599437699001378") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'MgXhspTBMfFpWp/epVDKLg==', + 'DiZGw6b7b9vY5ruCK9sazg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:20 GMT', + 'Fri, 16 Aug 2019 22:26:17 GMT', 'ETag', - '"0x8D6F9CB3C874065"', + '"0x8D72298C177AD91"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ed28370-701e-0003-53b4-2b7996000000', + 'd35ac1f1-c01e-00dd-0a81-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:20 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806032703117/blob156150806061401329') - .reply(200, "randomstring156150806061507674", [ 'Content-Length', + .get('/container156599437667607779/blob156599437698909724') + .reply(200, "randomstring156599437699001378", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Content-MD5', - 'MgXhspTBMfFpWp/epVDKLg==', + 'DiZGw6b7b9vY5ruCK9sazg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:20 GMT', + 'Fri, 16 Aug 2019 22:26:17 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3C874065"', + '"0x8D72298C177AD91"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '393489f0-301e-0062-41b4-2b3d49000000', + 'be5888ee-701e-00c4-1c81-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:20 GMT', + 'Fri, 16 Aug 2019 22:26:17 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:21 GMT', + 'Fri, 16 Aug 2019 22:26:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806032703117') + .delete('/container156599437667607779') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c10948c3-a01e-0067-3ab4-2bc936000000', + 'e845288c-701e-0080-6e81-54d93b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:20 GMT', + 'Fri, 16 Aug 2019 22:26:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 3c08b730b118..057d6b107dda 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,74 +1,76 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150805627004450","blob":"blob156150805655707901","randomstring":"randomstring156150805655707362"} +module.exports.testInfo = {"container":"container156599437239905846","blob":"blob156599437270209934","randomstring":"randomstring156599437270405729"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805627004450') + .put('/container156599437239905846') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:16 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'ETag', - '"0x8D6F9CB39EE5D5B"', + '"0x8D72298BEBA94E8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd23574b2-e01e-00ca-3fb4-2be95c000000', + '97d3d07a-901e-002b-3481-540e29000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805627004450/blob156150805655707901', "randomstring156150805655707362") + .put('/container156599437239905846/blob156599437270209934', "randomstring156599437270405729") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'lw597tQWZintevwULMbvDg==', + '4TLfRQq3NKJEhvV5cokRcg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:16 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'ETag', - '"0x8D6F9CB3A1B4E3E"', + '"0x8D72298BEE9D55A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4f76dbaa-101e-0075-60b4-2bfd2a000000', + '2da5bb30-601e-007a-2281-5410dc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150805627004450/blob156150805655707901') - .reply(200, "randomstring156150805655707362", [ 'Content-Length', + .get('/container156599437239905846/blob156599437270209934') + .reply(200, "randomstring156599437270405729", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Content-MD5', - 'lw597tQWZintevwULMbvDg==', + '4TLfRQq3NKJEhvV5cokRcg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:16 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3A1B4E3E"', + '"0x8D72298BEE9D55A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc986de-b01e-0051-53b4-2b6464000000', + '9fcfd63b-a01e-00e4-7581-54699b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:16 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:16 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150805627004450') + .delete('/container156599437239905846') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd235764f-e01e-00ca-35b4-2be95c000000', + '3d018494-d01e-004a-5881-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:16 GMT', + 'Fri, 16 Aug 2019 22:26:13 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index cb512b8927a1..100f23b3a7dc 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,74 +1,76 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150805742509517","blob":"blob156150805771500359","randomstring":"randomstring156150805771701773"} +module.exports.testInfo = {"container":"container156599437362609958","blob":"blob156599437393304710","randomstring":"randomstring156599437393306297"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805742509517') + .put('/container156599437362609958') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:17 GMT', + 'Fri, 16 Aug 2019 22:26:13 GMT', 'ETag', - '"0x8D6F9CB3A9F6096"', + '"0x8D72298BF766E79"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0c83f353-d01e-00af-66b4-2b5801000000', + '56bdea2e-001e-00c0-5081-54f0d5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:17 GMT', + 'Fri, 16 Aug 2019 22:26:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805742509517/blob156150805771500359', "randomstring156150805771701773") + .put('/container156599437362609958/blob156599437393304710', "randomstring156599437393306297") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'dtX6gT89XQNkhWQddsZ4ig==', + 'X7keOzO8uzveAhKsM4L6pQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:17 GMT', + 'Fri, 16 Aug 2019 22:26:14 GMT', 'ETag', - '"0x8D6F9CB3ACCBD13"', + '"0x8D72298BFA4BBB5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcc9b980-601e-003e-41b4-2bccb0000000', + '3d0185d1-d01e-004a-0181-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:17 GMT', + 'Fri, 16 Aug 2019 22:26:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150805742509517/blob156150805771500359') - .reply(200, "randomstring156150805771701773", [ 'Content-Length', + .get('/container156599437362609958/blob156599437393304710') + .reply(200, "randomstring156599437393306297", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Content-MD5', - 'dtX6gT89XQNkhWQddsZ4ig==', + 'X7keOzO8uzveAhKsM4L6pQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:17 GMT', + 'Fri, 16 Aug 2019 22:26:14 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3ACCBD13"', + '"0x8D72298BFA4BBB5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44c868da-901e-0046-53b4-2ba407000000', + '8ea7c221-e01e-00ac-0181-545b06000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:17 GMT', + 'Fri, 16 Aug 2019 22:26:14 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:17 GMT', + 'Fri, 16 Aug 2019 22:26:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150805742509517') + .delete('/container156599437362609958') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1bebe717-f01e-00d5-65b4-2b324c000000', + '2c7eed2d-e01e-00e3-7381-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:18 GMT', + 'Fri, 16 Aug 2019 22:26:14 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index da02eac3b40b..53905cd23137 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,74 +1,76 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150805919903636","blob":"blob156150805941704833","randomstring":"randomstring156150805941808552"} +module.exports.testInfo = {"container":"container156599437544507666","blob":"blob156599437575206448","randomstring":"randomstring156599437575402172"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805919903636') + .put('/container156599437544507666') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:15 GMT', 'ETag', - '"0x8D6F9CB3BA307D7"', + '"0x8D72298C08C5B5B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '27cd17f6-e01e-008e-6db4-2b3530000000', + 'f032753c-c01e-00d6-4081-54314b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:18 GMT', + 'Fri, 16 Aug 2019 22:26:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805919903636/blob156150805941704833', "randomstring156150805941808552") + .put('/container156599437544507666/blob156599437575206448', "randomstring156599437575402172") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - '3gvlMZ7DAQ6uXqFqPrpmiQ==', + 'ENk057hOobYG4tUCJauVOQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'ETag', - '"0x8D6F9CB3BD00419"', + '"0x8D72298C0BAF210"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9cbd4376-e01e-00e8-3fb4-2b876a000000', + '1a67b9fd-601e-0094-7c81-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150805919903636/blob156150805941704833') - .reply(200, "randomstring156150805941808552", [ 'Content-Length', + .get('/container156599437544507666/blob156599437575206448') + .reply(200, "randomstring156599437575402172", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Content-MD5', - '3gvlMZ7DAQ6uXqFqPrpmiQ==', + 'ENk057hOobYG4tUCJauVOQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB3BD00419"', + '"0x8D72298C0BAF210"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '87d1673f-b01e-0037-53b4-2bd63e000000', + '0063f6c9-b01e-00d9-3d81-54dcbd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150805919903636') + .delete('/container156599437544507666') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2fb23be2-001e-0061-18b4-2b3e4e000000', + '9b6ba4a3-e01e-006b-6881-5427c7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:19 GMT', + 'Fri, 16 Aug 2019 22:26:16 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index 7fee898dcb7f..50908d0685c1 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150805860000241","blob":"blob156150805889809703"} +module.exports.testInfo = {"container":"container156599437484307741","blob":"blob156599437514407997"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805860000241') + .put('/container156599437484307741') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:18 GMT', + 'Fri, 16 Aug 2019 22:26:15 GMT', 'ETag', - '"0x8D6F9CB3B53B3F3"', + '"0x8D72298C02FB0C7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b504d756-401e-000b-25b4-2b62e5000000', + '1d2e539c-801e-0016-4981-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:18 GMT', + 'Fri, 16 Aug 2019 22:26:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150805860000241') + .delete('/container156599437484307741') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '27cd177c-e01e-008e-7db4-2b3530000000', + '3d97100d-201e-0098-7481-54f4ae000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:18 GMT', + 'Fri, 16 Aug 2019 22:26:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js index e6468e54745f..d3c71ad66f55 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js @@ -1,74 +1,76 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150805496101535","blob":"blob156150805539104944","randomstring你好":"randomstring你好156150805539106003"} +module.exports.testInfo = {"container":"container156599437117402273","blob":"blob156599437147903768","randomstring你好":"randomstring你好156599437147900351"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805496101535') + .put('/container156599437117402273') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:11 GMT', 'ETag', - '"0x8D6F9CB392B86C9"', + '"0x8D72298BE0028AE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1d9b3fe-101e-00d4-80b4-2b33b1000000', + 'a9363f3e-301e-00ae-1881-5459fc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805496101535/blob156150805539104944', "randomstring你好156150805539106003") + .put('/container156599437117402273/blob156599437147903768', "randomstring你好156599437147900351") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'NTarprAwHFcZNEofOgYneA==', + 'j0BqsxMS23la0cO8dw3TqA==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:11 GMT', 'ETag', - '"0x8D6F9CB396942FB"', + '"0x8D72298BE2EC7FA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8b4e836c-f01e-007f-36b4-2be4a3000000', + '49a4770e-801e-0059-7b81-547f17000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150805496101535/blob156150805539104944') - .reply(200, "randomstring你好156150805539106003", [ 'Content-Length', + .get('/container156599437117402273/blob156599437147903768') + .reply(200, "randomstring你好156599437147900351", [ 'Content-Length', '36', 'Content-Type', 'application/octet-stream', 'Content-MD5', - 'NTarprAwHFcZNEofOgYneA==', + 'j0BqsxMS23la0cO8dw3TqA==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:11 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB396942FB"', + '"0x8D72298BE2EC7FA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c765e781-201e-0093-33b4-2becda000000', + '805c953b-201e-0039-6981-543a35000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:11 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150805496101535') + .delete('/container156599437117402273') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8684d204-301e-0069-51b4-2b253d000000', + '54849c87-801e-00da-7e81-54dfba000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:15 GMT', + 'Fri, 16 Aug 2019 22:26:11 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_readable_stream_body_and_default_parameters.js b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_readable_stream_body_and_default_parameters.js index 942aea2d10da..2d81410216af 100644 --- a/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_readable_stream_body_and_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/blockblobclient_nodejs_only/recording_upload_with_readable_stream_body_and_default_parameters.js @@ -1,74 +1,76 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150805377401546","blob":"blob156150805406805973","randomstring":"randomstring156150805407000442"} +module.exports.testInfo = {"container":"container156599436993100268","blob":"blob156599437023705298","randomstring":"randomstring156599437023805709"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805377401546') + .put('/container156599436993100268') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:14 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'ETag', - '"0x8D6F9CB3872D6E7"', + '"0x8D72298BD4300EF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ef7f1bf3-601e-001c-7eb4-2ba286000000', + '5a5788df-a01e-0082-2081-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:13 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150805377401546/blob156150805406805973', "randomstring156150805407000442") + .put('/container156599436993100268/blob156599437023705298', "randomstring156599437023805709") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'N9au1yt4HazU6vwbTqVqSg==', + 'RxjcuXUlbCtb2p857IRg3A==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:14 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'ETag', - '"0x8D6F9CB389F8CC8"', + '"0x8D72298BD719733"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1fd48084-d01e-00e0-1eb4-2b9c19000000', + 'e490a920-b01e-0037-2981-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:13 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150805377401546/blob156150805406805973') - .reply(200, "randomstring156150805407000442", [ 'Content-Length', + .get('/container156599436993100268/blob156599437023705298') + .reply(200, "randomstring156599437023805709", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Content-MD5', - 'N9au1yt4HazU6vwbTqVqSg==', + 'RxjcuXUlbCtb2p857IRg3A==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:14 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB389F8CC8"', + '"0x8D72298BD719733"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e34c3e79-c01e-0033-67b4-2b23bc000000', + '7faba6df-b01e-0078-6f81-541226000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:14 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:13 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150805377401546') + .delete('/container156599436993100268') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f99f0b78-d01e-0086-6ab4-2b2e43000000', + '8231eda1-c01e-00b0-3181-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:14 GMT', + 'Fri, 16 Aug 2019 22:26:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string.js index e269127ce6cc..f72aed2acfee 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897233003891"} +module.exports.testInfo = {"container":"container156599419776902751"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897233003891') + .put('/container156599419776902751') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:52 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'ETag', - '"0x8D7165C3DCBCB45"', + '"0x8D7229856A34A99"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9944b8e3-601e-0053-5645-48669e000000', + '3d954eb9-201e-0098-1681-54f4ae000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:51 GMT', + 'Fri, 16 Aug 2019 22:23:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156464897233003891') + .get('/container156599419776902751') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:52 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'ETag', - '"0x8D7165C3DCBCB45"', + '"0x8D7229856A34A99"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8fa6f6a2-301e-00ae-1145-4859fc000000', + 'fbdc969d-501e-00d3-1781-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 08:42:52 GMT', + 'Fri, 16 Aug 2019 22:23:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897233003891') + .delete('/container156599419776902751') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bc007f40-601e-00bd-3a45-486c1d000000', + 'e6952288-101e-005c-5a81-548b68000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:52 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.js index 2f35dac7a9d3..0b4bac030599 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_can_be_created_with_a_sas_connection_string_and_a_container_name_and_an_option_bag.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897340508022"} +module.exports.testInfo = {"container":"container156599419865207405"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897340508022') + .put('/container156599419865207405') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:53 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'ETag', - '"0x8D7165C3E6F726A"', + '"0x8D722985729B9BA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a4a008c5-e01e-00ac-2045-485b06000000', + 'bb513376-c01e-007c-1a81-54e7a4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:53 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156464897340508022') + .get('/container156599419865207405') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:53 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'ETag', - '"0x8D7165C3E6F726A"', + '"0x8D722985729B9BA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7f26b299-701e-00a2-4045-48b70d000000', + 'bdfb27a0-901e-00ec-7c81-5472e8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 08:42:53 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897340508022') + .delete('/container156599419865207405') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7be9335a-501e-00d8-4845-48dd40000000', + 'c9fdfe8d-701e-002a-2281-540fd4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:53 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_all_parameters_configured.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_all_parameters_configured.js index 152958c7e627..7db932d7ca72 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_all_parameters_configured.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_all_parameters_configured.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150787409600313","container156150787409600313":"container156150787409600313156150787438902817"} +module.exports.testInfo = {"container":"container156599416605205577","container156599416605205577":"container156599416605205577156599416635103543"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787409600313') + .put('/container156599416605205577') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:14 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'ETag', - '"0x8D6F9CACD59B355"', + '"0x8D7229843BAF986"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e583d032-701e-00ed-11b3-2b7315000000', + '4eba1442-301e-00c3-6681-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:13 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787409600313156150787438902817') + .put('/container156599416605205577156599416635103543') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:14 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'ETag', - '"0x8D6F9CACD86940B"', + '"0x8D7229843E7C0CC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06f26440-e01e-00c1-59b3-2bf128000000', + '5f4c92e9-201e-0010-1281-544c77000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:14 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150787409600313156150787438902817') + .get('/container156599416605205577156599416635103543') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:14 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'ETag', - '"0x8D6F9CACD86940B"', + '"0x8D7229843E7C0CC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '12948b75-d01e-000e-4db3-2b969a000000', + '16fdc26e-201e-00b1-5581-5482ec000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key', 'value', 'x-ms-lease-status', @@ -76,24 +76,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:14 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787409600313') + .delete('/container156599416605205577') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3e91cac7-201e-00d7-7ab3-2b30b6000000', + '6d0fc04b-b01e-00d2-5c81-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:14 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_default_parameters.js index dcbc328c71d3..b88b86b017c0 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_create_with_default_parameters.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150787351107810"} +module.exports.testInfo = {"container":"container156599416547401355"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787351107810') + .put('/container156599416547401355') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:13 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'ETag', - '"0x8D6F9CACD00695C"', + '"0x8D722984362AF25"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '49b099ee-b01e-0078-0cb3-2b1226000000', + '923cc3af-801e-0052-0e81-546763000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:12 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787351107810') + .delete('/container156599416547401355') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5dfd5a3e-601e-0035-67b3-2bd4c4000000', + '5a56a5bb-a01e-0082-4481-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:13 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_delete.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_delete.js index 7f69161cbb1d..fb89b97647f4 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_delete.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_delete.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150787527605794"} +module.exports.testInfo = {"container":"container156599416720500993"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787527605794') + .put('/container156599416720500993') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:15 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'ETag', - '"0x8D6F9CACE0DF057"', + '"0x8D72298446B1A20"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a03c9ed1-d01e-00c2-4fb3-2bf22f000000', + '50e3c9d1-a01e-0023-3f81-54155a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:15 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787527605794') + .delete('/container156599416720500993') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e8c9479-401e-0083-03b3-2bda3c000000', + '39562c8a-601e-00d0-7e81-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:15 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_getproperties.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_getproperties.js index c492344be6cb..da3cfba1cbb3 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_getproperties.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_getproperties.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150787262006359"} +module.exports.testInfo = {"container":"container156599416459504934"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787262006359') + .put('/container156599416459504934') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:12 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'ETag', - '"0x8D6F9CACC78A76C"', + '"0x8D7229842DD9FFC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f8f423b-b01e-0073-7bb3-2b0a52000000', + 'f030d264-c01e-00d6-4281-54314b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:11 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150787262006359') + .get('/container156599416459504934') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:12 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'ETag', - '"0x8D6F9CACC78A76C"', + '"0x8D7229842DD9FFC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1686e2aa-801e-0070-27b3-2b0955000000', + 'ddea7802-001e-0048-2981-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:12 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787262006359') + .delete('/container156599416459504934') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '666fd5cf-c01e-0099-7bb3-2bf553000000', + 'b0e0a62c-f01e-00b3-6181-548016000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:12 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.js index a23601798106..ffd370b97367 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_all_parameters_configured.js @@ -1,194 +1,194 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156169096163703240","blockblob0/0":"blockblob0/0156169096193502851","blockblob1/1":"blockblob1/1156169096223609344"} +module.exports.testInfo = {"container":"container156599418888907074","blockblob0/0":"blockblob0/0156599418917906348","blockblob1/1":"blockblob1/1156599418947004172"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169096163703240') + .put('/container156599418888907074') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Fri, 28 Jun 2019 03:02:41 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'ETag', - '"0x8D6FB7516070E48"', + '"0x8D722985157B00B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1d87eab-201e-00b1-2d5d-2d82ec000000', + '4cb1010b-d01e-0086-7081-542e43000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Fri, 28 Jun 2019 03:02:41 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169096163703240/blockblob0%2F0156169096193502851') + .put('/container156599418888907074/blockblob0%2F0156599418917906348') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:02:42 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'ETag', - '"0x8D6FB751635CC27"', + '"0x8D7229851842A4A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8852157d-f01e-0056-5f5d-2d92e1000000', + '1d185ecc-601e-003e-3081-54ccb0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:02:41 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169096163703240/blockblob1%2F1156169096223609344') + .put('/container156599418888907074/blockblob1%2F1156599418947004172') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:02:42 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'ETag', - '"0x8D6FB7516628998"', + '"0x8D7229851B135D1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cf65bde0-001e-00e9-155d-2d8697000000', + '5ca34606-101e-009b-7681-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:02:42 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156169096163703240') + .get('/container156599418888907074') .query(true) - .reply(200, "blockblob1/blockblob0/2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjE2OTA5NjIyMzYwOTM0NCEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-", [ 'Transfer-Encoding', + .reply(200, "blockblob1/blockblob0/2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjU5OTQxODk0NzAwNDE3MiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd479c5cd-801e-009e-415d-2d03d6000000', + 'd50efb22-201e-0054-2a81-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Fri, 28 Jun 2019 03:02:41 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156169096163703240') + .get('/container156599418888907074') .query(true) - .reply(200, "blockblob2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjE2OTA5NjIyMzYwOTM0NCEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-2/blockblob1/", [ 'Transfer-Encoding', + .reply(200, "blockblob2!100!MDAwMDMwIWJsb2NrYmxvYjEvMTE1NjU5OTQxODk0NzAwNDE3MiEwMDAwMjghOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5WiE-2/blockblob1/", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e17c0272-501e-005b-395d-2d7ded000000', + 'b696b65b-001e-0007-4281-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Fri, 28 Jun 2019 03:02:42 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156169096163703240') + .get('/container156599418888907074') .query(true) - .reply(200, "blockblob0/2/blockblob0/0156169096193502851Fri, 28 Jun 2019 03:02:42 GMTFri, 28 Jun 2019 03:02:42 GMT0x8D6FB751635CC270application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", [ 'Transfer-Encoding', + .reply(200, "blockblob0/2/blockblob0/0156599418917906348Fri, 16 Aug 2019 22:23:09 GMTFri, 16 Aug 2019 22:23:09 GMT0x8D7229851842A4A0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7232facf-f01e-0091-625d-2dee20000000', + 'ae43b42f-101e-0031-3281-542146000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Fri, 28 Jun 2019 03:02:42 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169096163703240/blockblob0%2F0156169096193502851') + .delete('/container156599418888907074/blockblob0%2F0156599418917906348') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd8c0f945-501e-00d3-065d-2dc534000000', + 'd703ede7-801e-007b-3581-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:02:42 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169096163703240/blockblob1%2F1156169096223609344') + .delete('/container156599418888907074/blockblob1%2F1156599418947004172') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '77a88f0c-701e-00ed-4e5d-2d7315000000', + '00632dbb-b01e-00d9-6881-54dcbd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:02:43 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169096163703240') + .delete('/container156599418888907074') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3027de7b-501e-0050-1a5d-2d6599000000', + '5bae0089-f01e-007f-2e81-54e4a3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Fri, 28 Jun 2019 03:02:43 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_default_parameters.js index d5ee5d13b1df..57767d6b04eb 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsbyhierarchy_with_default_parameters.js @@ -1,190 +1,190 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156169095868202962","blockblob0/0":"blockblob0/0156169095915604708","blockblob1/1":"blockblob1/1156169095947904437","blockblob2/2":"blockblob2/2156169095980201983"} +module.exports.testInfo = {"container":"container156599418618604135","blockblob0/0":"blockblob0/0156599418648200420","blockblob1/1":"blockblob1/1156599418679201735","blockblob2/2":"blockblob2/2156599418708504497"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169095868202962') + .put('/container156599418618604135') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Fri, 28 Jun 2019 03:02:39 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'ETag', - '"0x8D6FB75145C7D61"', + '"0x8D722984FBBE9F4"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3bc9d275-001e-00c0-125d-2df0d5000000', + 'b696ae20-001e-0007-5a81-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Fri, 28 Jun 2019 03:02:38 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169095868202962/blockblob0%2F0156169095915604708') + .put('/container156599418618604135/blockblob0%2F0156599418648200420') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:02:39 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'ETag', - '"0x8D6FB751490A963"', + '"0x8D722984FE8A62F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f4570e4a-801e-00da-055d-2ddfba000000', + 'e48f9ce1-b01e-0037-0c81-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:02:39 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169095868202962/blockblob1%2F1156169095947904437') + .put('/container156599418618604135/blockblob1%2F1156599418679201735') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:02:39 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'ETag', - '"0x8D6FB7514BDB503"', + '"0x8D722985017FC27"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '21211d3a-901e-00a3-085d-2db6f0000000', + '3cb9e641-601e-0017-0181-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:02:39 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169095868202962/blockblob2%2F2156169095980201983') + .put('/container156599418618604135/blockblob2%2F2156599418708504497') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:02:40 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'ETag', - '"0x8D6FB7514F3C2ED"', + '"0x8D7229850446B6C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c1fffd3e-101e-00df-615d-2d2bc5000000', + '9c0996b7-101e-00b9-2f81-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:02:40 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156169095868202962') + .get('/container156599418618604135') .query(true) - .reply(200, "/blockblob0/blockblob1/blockblob2/", [ 'Transfer-Encoding', + .reply(200, "/blockblob0/blockblob1/blockblob2/", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '683e3e6e-e01e-0049-735d-2d49f1000000', + '4eba302c-301e-00c3-1a81-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Fri, 28 Jun 2019 03:02:40 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169095868202962/blockblob0%2F0156169095915604708') + .delete('/container156599418618604135/blockblob0%2F0156599418648200420') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ef2c2caa-a01e-006c-255d-2dd142000000', + '039e3d97-901e-006f-7c81-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:02:40 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169095868202962/blockblob1%2F1156169095947904437') + .delete('/container156599418618604135/blockblob1%2F1156599418679201735') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '644043c1-f01e-00d5-685d-2d324c000000', + '9d55d1b0-301e-008c-5781-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:02:40 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169095868202962/blockblob2%2F2156169095980201983') + .delete('/container156599418618604135/blockblob2%2F2156599418708504497') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '895e5ce0-501e-00d8-545d-2ddd40000000', + 'd7b5b90d-401e-006d-2181-54d0bf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:02:40 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169095868202962') + .delete('/container156599418618604135') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a8a4d022-e01e-00ca-045d-2de95c000000', + '8ea649a2-e01e-00ac-2d81-545b06000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Fri, 28 Jun 2019 03:02:41 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_all_parameters_configured.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_all_parameters_configured.js index 27c465e2531f..ab36e84a898f 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_all_parameters_configured.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_all_parameters_configured.js @@ -1,171 +1,171 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150787869806161","blockblob/0":"blockblob/0156150787902007299","blockblob/1":"blockblob/1156150787931305678"} +module.exports.testInfo = {"container":"container156599417050705202","blockblob/0":"blockblob/0156599417085006429","blockblob/1":"blockblob/1156599417114204633"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787869806161') + .put('/container156599417050705202') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:18 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'ETag', - '"0x8D6F9CAD017B574"', + '"0x8D72298466321C8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '95026374-501e-0050-1cb3-2b6599000000', + 'fa4da688-c01e-0099-1f81-54f553000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:18 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787869806161/blockblob%2F0156150787902007299') + .put('/container156599417050705202/blockblob%2F0156599417085006429') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:19 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'ETag', - '"0x8D6F9CAD049546E"', + '"0x8D722984697D7BE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e3fb4b-c01e-00dd-12b3-2b293f000000', + 'b41c733b-e01e-0060-7681-543fb3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:18 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787869806161/blockblob%2F1156150787931305678') + .put('/container156599417050705202/blockblob%2F1156599417114204633') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:19 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'ETag', - '"0x8D6F9CAD0768725"', + '"0x8D7229846C41FDF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '59e7f4e6-601e-0053-21b3-2b669e000000', + 'd703d8f3-801e-007b-3081-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:19 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150787869806161') + .get('/container156599417050705202') .query(true) - .reply(200, "blockblob1blockblob/0156150787902007299Wed, 26 Jun 2019 00:11:19 GMTWed, 26 Jun 2019 00:11:19 GMT0x8D6F9CAD049546E0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2MTUwNzg3OTMxMzA1Njc4ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", [ 'Transfer-Encoding', + .reply(200, "blockblob1blockblob/0156599417085006429Fri, 16 Aug 2019 22:22:51 GMTFri, 16 Aug 2019 22:22:51 GMT0x8D722984697D7BE0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2NTk5NDE3MTE0MjA0NjMzITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b634ea10-c01e-0011-50b3-2b4d8a000000', + '78d45bda-501e-003d-5881-54cfb7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:19 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150787869806161') + .get('/container156599417050705202') .query(true) - .reply(200, "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2MTUwNzg3OTMxMzA1Njc4ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/1156150787931305678Wed, 26 Jun 2019 00:11:19 GMTWed, 26 Jun 2019 00:11:19 GMT0x8D6F9CAD07687250application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", [ 'Transfer-Encoding', + .reply(200, "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8xMTU2NTk5NDE3MTE0MjA0NjMzITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/1156599417114204633Fri, 16 Aug 2019 22:22:51 GMTFri, 16 Aug 2019 22:22:51 GMT0x8D7229846C41FDF0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6bda7338-e01e-0006-59b3-2b8de9000000', + '551f2afd-801e-0034-6581-54d539000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:19 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787869806161/blockblob%2F0156150787902007299') + .delete('/container156599417050705202/blockblob%2F0156599417085006429') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f644b15-601e-00db-7bb3-2bde47000000', + '6743415d-401e-00aa-3081-54ac7e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:20 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787869806161/blockblob%2F1156150787931305678') + .delete('/container156599417050705202/blockblob%2F1156599417114204633') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '59e7f6bb-601e-0053-4db3-2b669e000000', + '8a95b13c-901e-008a-0181-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:20 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787869806161') + .delete('/container156599417050705202') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2ee39f3d-601e-007a-30b3-2b10dc000000', + '786249fe-a01e-00a0-2a81-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:20 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_default_parameters.js index 0c5a706a3e2f..ced60d578966 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_listblobsflat_with_default_parameters.js @@ -1,190 +1,190 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150787586702019","blockblob/0":"blockblob/0156150787616702273","blockblob/1":"blockblob/1156150787646409047","blockblob/2":"blockblob/2156150787675801679"} +module.exports.testInfo = {"container":"container156599416780709319","blockblob/0":"blockblob/0156599416809300835","blockblob/1":"blockblob/1156599416838306215","blockblob/2":"blockblob/2156599416869002440"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787586702019') + .put('/container156599416780709319') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:16 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'ETag', - '"0x8D6F9CACE68B464"', + '"0x8D7229844C627D6"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fee5ef4a-001e-00a6-0eb3-2b428f000000', + '9a5f7d47-301e-00a5-6b81-544188000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:15 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787586702019/blockblob%2F0156150787616702273') + .put('/container156599416780709319/blockblob%2F0156599416809300835') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:16 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'ETag', - '"0x8D6F9CACE967373"', + '"0x8D7229844F2DC35"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9a068d34-501e-00d3-2ab3-2bc534000000', + '677f7114-401e-0066-5e81-54c8cb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:15 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787586702019/blockblob%2F1156150787646409047') + .put('/container156599416780709319/blockblob%2F1156599416838306215') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:16 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'ETag', - '"0x8D6F9CACEC2BB94"', + '"0x8D722984521BCE7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fdd6ba8-901e-00c5-4eb3-2b04aa000000', + 'e9dd2ea4-901e-00a8-3181-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:15 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787586702019/blockblob%2F2156150787675801679') + .put('/container156599416780709319/blockblob%2F2156599416869002440') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:17 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'ETag', - '"0x8D6F9CACEF12703"', + '"0x8D72298454D8FC7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd6ee135e-e01e-0049-49b3-2b49f1000000', + '7faa15d8-b01e-0078-6981-541226000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:16 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150787586702019') + .get('/container156599416780709319') .query(true) - .reply(200, "blockblob/0156150787616702273Wed, 26 Jun 2019 00:11:16 GMTWed, 26 Jun 2019 00:11:16 GMT0x8D6F9CACE9673730application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueblockblob/1156150787646409047Wed, 26 Jun 2019 00:11:16 GMTWed, 26 Jun 2019 00:11:16 GMT0x8D6F9CACEC2BB940application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueblockblob/2156150787675801679Wed, 26 Jun 2019 00:11:17 GMTWed, 26 Jun 2019 00:11:17 GMT0x8D6F9CACEF127030application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "blockblob/0156599416809300835Fri, 16 Aug 2019 22:22:48 GMTFri, 16 Aug 2019 22:22:48 GMT0x8D7229844F2DC350application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0blockblob/1156599416838306215Fri, 16 Aug 2019 22:22:48 GMTFri, 16 Aug 2019 22:22:48 GMT0x8D722984521BCE70application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0blockblob/2156599416869002440Fri, 16 Aug 2019 22:22:48 GMTFri, 16 Aug 2019 22:22:48 GMT0x8D72298454D8FC70application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e3f79a-c01e-00dd-46b3-2b293f000000', + '567ab186-901e-0020-1c81-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:16 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787586702019/blockblob%2F0156150787616702273') + .delete('/container156599416780709319/blockblob%2F0156599416809300835') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c0f572dc-901e-00a3-77b3-2bb6f0000000', + '3988cc15-001e-00cb-1f81-54e8a1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:17 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787586702019/blockblob%2F1156150787646409047') + .delete('/container156599416780709319/blockblob%2F1156599416838306215') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de4328aa-c01e-007c-5bb3-2be7a4000000', + '2078f7e9-401e-0000-0581-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:18 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787586702019/blockblob%2F2156150787675801679') + .delete('/container156599416780709319/blockblob%2F2156599416869002440') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1ae745a2-f01e-0019-0eb3-2b56f9000000', + '2e21f419-701e-00ed-1381-547315000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:17 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787586702019') + .delete('/container156599416780709319') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f289d89f-201e-00dc-52b3-2b28c2000000', + '9a510f80-201e-0076-7581-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:17 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_setmetadata.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_setmetadata.js index 2484ab51159f..54b101897e40 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_setmetadata.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_setmetadata.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150787143103611"} +module.exports.testInfo = {"container":"container156599416343208832"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787143103611') + .put('/container156599416343208832') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:11 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'ETag', - '"0x8D6F9CACBC35DC1"', + '"0x8D72298422B3928"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1686df69-801e-0070-41b3-2b0955000000', + '3cb9bf2f-601e-0017-0381-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:10 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150787143103611') + .put('/container156599416343208832') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:11 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'ETag', - '"0x8D6F9CACBF045C9"', + '"0x8D7229842582EE2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ed197f2-701e-0003-26b3-2b7996000000', + '5a56a35a-a01e-0082-2481-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:11 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150787143103611') + .get('/container156599416343208832') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:11 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'ETag', - '"0x8D6F9CACBF045C9"', + '"0x8D7229842582EE2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b35939b-301e-00ea-4eb3-2b8590000000', + '3956243d-601e-00d0-2381-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key0', 'val0', 'x-ms-meta-keya', @@ -78,24 +78,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:12 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150787143103611') + .delete('/container156599416343208832') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ac2e892-201e-007d-55b3-2be659000000', + '9598047b-a01e-0067-4681-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:12 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js index 5833f200523b..72b58bcc3e3e 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897428909701"} +module.exports.testInfo = {"container":"container156599419952303712"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897428909701') + .put('/container156599419952303712') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:54 GMT', + 'Fri, 16 Aug 2019 22:23:19 GMT', 'ETag', - '"0x8D7165C3EF7864E"', + '"0x8D7229857AE9901"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bf58de49-c01e-0077-7e45-48ffd0000000', + '52dd3acf-301e-000f-5d81-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:54 GMT', + 'Fri, 16 Aug 2019 22:23:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897428909701') + .delete('/container156599419952303712') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cb8fd642-101e-0057-0e45-48931c000000', + 'e2ea59b1-d01e-0005-4e81-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:54 GMT', + 'Fri, 16 Aug 2019 22:23:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_uploadblockblob_and_deleteblob.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_uploadblockblob_and_deleteblob.js index 3069eeeb1866..f2e9db9dd8f9 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_uploadblockblob_and_deleteblob.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_uploadblockblob_and_deleteblob.js @@ -1,55 +1,55 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150789924806848","randomstring":"randomstring156150789955005528","blob":"blob156150789955007896"} +module.exports.testInfo = {"container":"container156599419602401225","randomstring":"randomstring156599419631109332","blob":"blob156599419631101108"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150789924806848') + .put('/container156599419602401225') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:39 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'ETag', - '"0x8D6F9CADC575378"', + '"0x8D7229855983710"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9abdd8df-401e-0022-15b3-2b14a7000000', + '8230ff39-c01e-00b0-7e81-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:38 GMT', + 'Fri, 16 Aug 2019 22:23:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150789924806848/blob156150789955007896', "randomstring156150789955005528") + .put('/container156599419602401225/blob156599419631101108', "randomstring156599419631109332") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'qVbgmaw+LP7XATD79cppQQ==', + 'r+OiaN3OeKiX9UkUrswDGw==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:39 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'ETag', - '"0x8D6F9CADC856EE2"', + '"0x8D7229855C46DFB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a15a42db-c01e-0077-7cb3-2bffd0000000', + '651407f4-b01e-001e-4481-54a07c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:39 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150789924806848/blob156150789955007896') - .reply(200, ["72616e646f6d737472696e67313536313530373839393535303035353238"], [ 'Cache-Control', + .get('/container156599419602401225/blob156599419631101108') + .reply(200, ["72616e646f6d737472696e67313536353939343139363331313039333332"], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', '30', @@ -60,25 +60,27 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'blobContentLanguage', 'Content-MD5', - 'qVbgmaw+LP7XATD79cppQQ==', + 'r+OiaN3OeKiX9UkUrswDGw==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:39 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CADC856EE2"', + '"0x8D7229855C46DFB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10823bf4-401e-0088-6cb3-2bc248000000', + '677fb3d5-401e-0066-0f81-54c8cb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-keya', 'vala', 'x-ms-meta-keyb', 'valb', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:11:39 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -90,43 +92,43 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-keya,x-ms-meta-keyb,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-keya,x-ms-meta-keyb,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:39 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150789924806848/blob156150789955007896') + .delete('/container156599419602401225/blob156599419631101108') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e73438bf-e01e-0024-34b3-2be3df000000', + '301aa2f6-f01e-00b8-5281-549862000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:40 GMT', + 'Fri, 16 Aug 2019 22:23:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150789924806848/blob156150789955007896') + .head('/container156599419602401225/blob156599419631101108') .reply(404, "", [ 'Transfer-Encoding', 'chunked', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6bda816d-e01e-0006-5cb3-2b8de9000000', + 'ae43bbfe-101e-0031-7881-542146000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'BlobNotFound', 'Access-Control-Expose-Headers', @@ -134,24 +136,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:40 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150789924806848') + .delete('/container156599419602401225') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0ffa58ea-101e-0057-78b3-2b931c000000', + '8a95d7cd-901e-008a-0d81-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:40 GMT', + 'Fri, 16 Aug 2019 22:23:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.js index 5fe37cc49e52..fbfc921b0bf6 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsbyhierarchy.js @@ -1,316 +1,316 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156169437126400315","prefix":"prefix156169437171909491","blockblob":"blockblob156169437171904775"} +module.exports.testInfo = {"container":"container156599419157006079","prefix":"prefix156599419187202047","blockblob":"blockblob156599419187208599"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169437126400315') + .put('/container156599419157006079') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Fri, 28 Jun 2019 03:59:31 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'ETag', - '"0x8D6FB7D066A37D0"', + '"0x8D7229852F10512"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9cf49532-701e-00cf-3c65-2d1d23000000', + '6eda5728-401e-00a1-6281-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Fri, 28 Jun 2019 03:59:30 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047750') + .put('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085990') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:59:32 GMT', + 'Fri, 16 Aug 2019 22:23:12 GMT', 'ETag', - '"0x8D6FB7D069F06E2"', + '"0x8D72298531FD54B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a922b8ea-f01e-005d-1565-2d8a95000000', + 'c9fdef90-701e-002a-2881-540fd4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:59:31 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047751') + .put('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085991') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:59:32 GMT', + 'Fri, 16 Aug 2019 22:23:12 GMT', 'ETag', - '"0x8D6FB7D06CD242A"', + '"0x8D72298534D7D49"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fb7da6c8-101e-00d4-2865-2d33b1000000', + '754f8287-601e-00db-4481-54de47000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:59:31 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047752') + .put('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085992') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:59:32 GMT', + 'Fri, 16 Aug 2019 22:23:12 GMT', 'ETag', - '"0x8D6FB7D06FB8F99"', + '"0x8D72298537E330C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '895a0c5e-001e-006a-7d65-2d263a000000', + '8230f9d9-c01e-00b0-5681-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:59:31 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047753') + .put('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085993') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:59:32 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'ETag', - '"0x8D6FB7D07289B35"', + '"0x8D7229853AB8CD7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8c491501-c01e-0092-3065-2ded27000000', + '3c08890e-c01e-00bb-4181-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:59:32 GMT', + 'Fri, 16 Aug 2019 22:23:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047754') + .put('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085994') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:59:33 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'ETag', - '"0x8D6FB7D0755A6D1"', + '"0x8D7229853D7FC18"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '50172d19-e01e-008e-6d65-2d3530000000', + '3453c9b5-801e-0095-6081-541ba2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:59:33 GMT', + 'Fri, 16 Aug 2019 22:23:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047755') + .put('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085995') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Fri, 28 Jun 2019 03:59:33 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'ETag', - '"0x8D6FB7D07860E6D"', + '"0x8D722985404E09E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c4163391-401e-004f-5f65-2dbe89000000', + '16fdea6c-201e-00b1-0581-5482ec000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Fri, 28 Jun 2019 03:59:32 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156169437126400315') + .get('/container156599419157006079') .query(true) - .reply(200, "/prefix156169437171909491/", [ 'Transfer-Encoding', + .reply(200, "/prefix156599419187202047/", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b478220-101e-007e-0d65-2de55e000000', + '7a0500f1-301e-0040-7681-54537f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Fri, 28 Jun 2019 03:59:33 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047750') + .delete('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085990') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c2288295-001e-0025-5965-2de222000000', + '24c25a28-401e-0022-3781-5414a7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:59:33 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047751') + .delete('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085991') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e49a261-e01e-00c1-0165-2df128000000', + 'e84435d3-701e-0080-0a81-54d93b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:59:33 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047752') + .delete('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085992') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd474f475-c01e-0077-4365-2dffd0000000', + '3c088c10-c01e-00bb-5881-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:59:34 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047753') + .delete('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085993') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'acc8b85b-801e-0052-4765-2d6763000000', + '90aa443e-d01e-00a4-0181-544075000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:59:35 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047754') + .delete('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085994') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '929e151e-201e-00dc-0165-2d28c2000000', + '039e48c0-901e-006f-5781-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:59:34 GMT', + 'Fri, 16 Aug 2019 22:23:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169437126400315/prefix156169437171909491%2Fblockblob1561694371719047755') + .delete('/container156599419157006079/prefix156599419187202047%2Fblockblob1565994191872085995') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cb2e6181-a01e-00ef-2365-2d71ef000000', + '47482a62-e01e-00a7-2181-544372000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Fri, 28 Jun 2019 03:59:35 GMT', + 'Fri, 16 Aug 2019 22:23:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156169437126400315') + .delete('/container156599419157006079') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ded3f561-b01e-0051-0b65-2d6464000000', + 'b41ca910-e01e-0060-3e81-543fb3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Fri, 28 Jun 2019 03:59:35 GMT', + 'Fri, 16 Aug 2019 22:23:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.js index 9d130e66e7b9..77a59ef46056 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiterator_for_listblobsflat.js @@ -1,232 +1,232 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150788110602625","blockblob/0":"blockblob/0156150788140403014","blockblob/1":"blockblob/1156150788169605090","blockblob/2":"blockblob/2156150788198909310","blockblob/3":"blockblob/3156150788229906380"} +module.exports.testInfo = {"container":"container156599417287108471","blockblob/0":"blockblob/0156599417319008982","blockblob/1":"blockblob/1156599417348805930","blockblob/2":"blockblob/2156599417377907939","blockblob/3":"blockblob/3156599417409306405"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788110602625') + .put('/container156599417287108471') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:21 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'ETag', - '"0x8D6F9CAD187F137"', + '"0x8D7229847CB8C1E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9cbbc058-e01e-00e8-0cb3-2b876a000000', + 'e48f8773-b01e-0037-5e81-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:21 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788110602625/blockblob%2F0156150788140403014') + .put('/container156599417287108471/blockblob%2F0156599417319008982') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:21 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'ETag', - '"0x8D6F9CAD1B4E64F"', + '"0x8D7229847FDEA43"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5175e3c7-d01e-0041-2ab3-2b5282000000', + '60d9cebe-a01e-00cd-0b81-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:21 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788110602625/blockblob%2F1156150788169605090') + .put('/container156599417287108471/blockblob%2F1156599417348805930') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:21 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'ETag', - '"0x8D6F9CAD1E10764"', + '"0x8D72298482A3268"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f2ddb3d-301e-00a5-11b3-2b4188000000', + 'c59b6338-a01e-00c6-1881-5407ad000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:20 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788110602625/blockblob%2F2156150788198909310') + .put('/container156599417287108471/blockblob%2F2156599417377907939') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:22 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'ETag', - '"0x8D6F9CAD210D2A3"', + '"0x8D7229848567A96"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2fb13ec3-001e-0061-80b3-2b3e4e000000', + '567ac0e9-901e-0020-4f81-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:22 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788110602625/blockblob%2F3156150788229906380') + .put('/container156599417287108471/blockblob%2F3156599417409306405') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:22 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'ETag', - '"0x8D6F9CAD23E5388"', + '"0x8D722984885F7A0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4a2cb164-101e-00b9-75b3-2b999f000000', + '1b0e7c90-d01e-0027-1c81-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:21 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150788110602625') + .get('/container156599417287108471') .query(true) - .reply(200, "blockblobblockblob/0156150788140403014Wed, 26 Jun 2019 00:11:21 GMTWed, 26 Jun 2019 00:11:21 GMT0x8D6F9CAD1B4E64F0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150788169605090Wed, 26 Jun 2019 00:11:21 GMTWed, 26 Jun 2019 00:11:21 GMT0x8D6F9CAD1E107640application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/2156150788198909310Wed, 26 Jun 2019 00:11:22 GMTWed, 26 Jun 2019 00:11:22 GMT0x8D6F9CAD210D2A30application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/3156150788229906380Wed, 26 Jun 2019 00:11:22 GMTWed, 26 Jun 2019 00:11:22 GMT0x8D6F9CAD23E53880application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", [ 'Transfer-Encoding', + .reply(200, "blockblobblockblob/0156599417319008982Fri, 16 Aug 2019 22:22:53 GMTFri, 16 Aug 2019 22:22:53 GMT0x8D7229847FDEA430application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156599417348805930Fri, 16 Aug 2019 22:22:53 GMTFri, 16 Aug 2019 22:22:53 GMT0x8D72298482A32680application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/2156599417377907939Fri, 16 Aug 2019 22:22:54 GMTFri, 16 Aug 2019 22:22:54 GMT0x8D7229848567A960application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/3156599417409306405Fri, 16 Aug 2019 22:22:54 GMTFri, 16 Aug 2019 22:22:54 GMT0x8D722984885F7A00application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8d35728-e01e-0085-0ab3-2b2d44000000', + '7f07ad2a-701e-006e-7881-54d3b8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:22 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788110602625/blockblob%2F0156150788140403014') + .delete('/container156599417287108471/blockblob%2F0156599417319008982') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8fe664cf-701e-00a2-3cb3-2bb70d000000', + 'e89b5b87-201e-00d7-6681-5430b6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:22 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788110602625/blockblob%2F1156150788169605090') + .delete('/container156599417287108471/blockblob%2F1156599417348805930') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5457ce9a-101e-003a-1eb3-2b3932000000', + '4eba1fe0-301e-00c3-2e81-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:23 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788110602625/blockblob%2F2156150788198909310') + .delete('/container156599417287108471/blockblob%2F2156599417377907939') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9abdb93c-401e-0022-3fb3-2b14a7000000', + '71798d60-401e-0088-6e81-54c248000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:23 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788110602625/blockblob%2F3156150788229906380') + .delete('/container156599417287108471/blockblob%2F3156599417409306405') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ed1a613-701e-0003-61b3-2b7996000000', + 'c00e5df6-701e-00a2-1e81-54b70d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:23 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788110602625') + .delete('/container156599417287108471') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de1e9633-101e-0031-07b3-2b2146000000', + '4eb3b9fa-d01e-008d-3a81-543637000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:23 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.js index 9911b28031ba..8d7506a7a2c0 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listblobsflat.js @@ -1,255 +1,255 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150789016804617","blockblob/0":"blockblob/0156150789046105387","blockblob/1":"blockblob/1156150789075500097","blockblob/2":"blockblob/2156150789105303259","blockblob/3":"blockblob/3156150789136209187"} +module.exports.testInfo = {"container":"container156599418265204603","blockblob/0":"blockblob/0156599418294200512","blockblob/1":"blockblob/1156599418323602516","blockblob/2":"blockblob/2156599418354302840","blockblob/3":"blockblob/3156599418383900535"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150789016804617') + .put('/container156599418265204603') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:30 GMT', + 'Fri, 16 Aug 2019 22:23:02 GMT', 'ETag', - '"0x8D6F9CAD6EE0F73"', + '"0x8D722984DA036E1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '950282e0-501e-0050-0fb3-2b6599000000', + '9cd9b468-301e-0087-2b81-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:30 GMT', + 'Fri, 16 Aug 2019 22:23:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150789016804617/blockblob%2F0156150789046105387') + .put('/container156599418265204603/blockblob%2F0156599418294200512') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:30 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'ETag', - '"0x8D6F9CAD71B41D6"', + '"0x8D722984DCD2CB2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '823e085d-d01e-00a4-3bb3-2b4075000000', + '1249409c-b01e-00bf-4781-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:30 GMT', + 'Fri, 16 Aug 2019 22:23:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150789016804617/blockblob%2F1156150789075500097') + .put('/container156599418265204603/blockblob%2F1156599418323602516') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'ETag', - '"0x8D6F9CAD7489BA7"', + '"0x8D722984DFBE63E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b600980-301e-0004-08b3-2b8f13000000', + '9b6adeb3-e01e-006b-1181-5427c7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:30 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150789016804617/blockblob%2F2156150789105303259') + .put('/container156599418265204603/blockblob%2F2156599418354302840') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'ETag', - '"0x8D6F9CAD775A747"', + '"0x8D722984E293FF7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56293c07-301e-0040-2ab3-2b537f000000', + 'ff266681-501e-0079-1781-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150789016804617/blockblob%2F3156150789136209187') + .put('/container156599418265204603/blockblob%2F3156599418383900535') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'ETag', - '"0x8D6F9CAD7A4AF13"', + '"0x8D722984E5560FD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e7342873-e01e-0024-41b3-2be3df000000', + 'd703e583-801e-007b-7281-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150789016804617') + .get('/container156599418265204603') .query(true) - .reply(200, "blockblob2blockblob/0156150789046105387Wed, 26 Jun 2019 00:11:30 GMTWed, 26 Jun 2019 00:11:30 GMT0x8D6F9CAD71B41D60application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150789075500097Wed, 26 Jun 2019 00:11:31 GMTWed, 26 Jun 2019 00:11:31 GMT0x8D6F9CAD7489BA70application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwNzg5MTA1MzAzMjU5ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", [ 'Transfer-Encoding', + .reply(200, "blockblob2blockblob/0156599418294200512Fri, 16 Aug 2019 22:23:03 GMTFri, 16 Aug 2019 22:23:03 GMT0x8D722984DCD2CB20application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156599418323602516Fri, 16 Aug 2019 22:23:03 GMTFri, 16 Aug 2019 22:23:03 GMT0x8D722984DFBE63E0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NTk5NDE4MzU0MzAyODQwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd4512ed0-201e-001b-16b3-2b5403000000', + 'ddeaab60-001e-0048-5481-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150789016804617') + .get('/container156599418265204603') .query(true) - .reply(200, "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwNzg5MTA1MzAzMjU5ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156150789105303259Wed, 26 Jun 2019 00:11:31 GMTWed, 26 Jun 2019 00:11:31 GMT0x8D6F9CAD775A7470application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/3156150789136209187Wed, 26 Jun 2019 00:11:31 GMTWed, 26 Jun 2019 00:11:31 GMT0x8D6F9CAD7A4AF130application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", [ 'Transfer-Encoding', + .reply(200, "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NTk5NDE4MzU0MzAyODQwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156599418354302840Fri, 16 Aug 2019 22:23:03 GMTFri, 16 Aug 2019 22:23:03 GMT0x8D722984E293FF70application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/3156599418383900535Fri, 16 Aug 2019 22:23:04 GMTFri, 16 Aug 2019 22:23:04 GMT0x8D722984E5560FD0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ab95b343-c01e-001a-0ab3-2b55fe000000', + 'f0d95d17-d01e-0041-1a81-545282000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150789016804617/blockblob%2F0156150789046105387') + .delete('/container156599418265204603/blockblob%2F0156599418294200512') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06f274d3-e01e-00c1-10b3-2bf128000000', + '56794e6b-001e-0043-5a81-545078000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:31 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150789016804617/blockblob%2F1156150789075500097') + .delete('/container156599418265204603/blockblob%2F1156599418323602516') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e1cbe6ca-901e-0002-41b3-2b786b000000', + '5968cda7-e01e-008e-5481-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:32 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150789016804617/blockblob%2F2156150789105303259') + .delete('/container156599418265204603/blockblob%2F2156599418354302840') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8f2d33ff-501e-0079-2eb3-2b13db000000', + '42cfc714-301e-00c8-4581-54eba6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:32 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150789016804617/blockblob%2F3156150789136209187') + .delete('/container156599418265204603/blockblob%2F3156599418383900535') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '51349e42-d01e-0063-13b3-2b3cb4000000', + '4e43c0eb-001e-000c-7781-549460000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:33 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150789016804617') + .delete('/container156599418265204603') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '720dedd0-001e-00e9-1eb3-2b8697000000', + '2b2437bc-401e-0029-7f81-540cd3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:33 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.js index 4bda23648072..58eee1c55827 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorbypage_for_listblobsflat.js @@ -1,255 +1,255 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150788657504839","blockblob/0":"blockblob/0156150788688508696","blockblob/1":"blockblob/1156150788719208512","blockblob/2":"blockblob/2156150788750708312","blockblob/3":"blockblob/3156150788779906850"} +module.exports.testInfo = {"container":"container156599417868901712","blockblob/0":"blockblob/0156599417898006025","blockblob/1":"blockblob/1156599417928107674","blockblob/2":"blockblob/2156599417957106285","blockblob/3":"blockblob/3156599417986605355"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788657504839') + .put('/container156599417868901712') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:26 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'ETag', - '"0x8D6F9CAD4CA345A"', + '"0x8D722984B437096"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fdc991a4-f01e-003b-23b3-2b38cf000000', + '80e5d924-901e-0009-4381-54601f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:26 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788657504839/blockblob%2F0156150788688508696') + .put('/container156599417868901712/blockblob%2F0156599417898006025') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:27 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'ETag', - '"0x8D6F9CAD4FBA8CE"', + '"0x8D722984B703144"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4ef0d3c6-501e-0072-58b3-2b0baf000000', + '6d0fd32c-b01e-00d2-5581-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:26 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788657504839/blockblob%2F1156150788719208512') + .put('/container156599417868901712/blockblob%2F1156599417928107674') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:27 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'ETag', - '"0x8D6F9CAD5288D56"', + '"0x8D722984B9E276C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10aef2e7-901e-002b-59b3-2b0e29000000', + 'afe4459e-d01e-000e-3481-54969a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:26 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788657504839/blockblob%2F2156150788750708312') + .put('/container156599417868901712/blockblob%2F2156599417957106285') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:27 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'ETag', - '"0x8D6F9CAD558317E"', + '"0x8D722984BCABDC8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e40cc8-c01e-00dd-01b3-2b293f000000', + '64ffb4a6-f01e-009a-1b81-54f654000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:27 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788657504839/blockblob%2F3156150788779906850') + .put('/container156599417868901712/blockblob%2F3156599417986605355') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:28 GMT', + 'Fri, 16 Aug 2019 22:23:00 GMT', 'ETag', - '"0x8D6F9CAD5851607"', + '"0x8D722984BF7A24D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1fd37005-d01e-00e0-21b3-2b9c19000000', + '47480d53-e01e-00a7-3b81-544372000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:27 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150788657504839') + .get('/container156599417868901712') .query(true) - .reply(200, "blockblob2blockblob/0156150788688508696Wed, 26 Jun 2019 00:11:27 GMTWed, 26 Jun 2019 00:11:27 GMT0x8D6F9CAD4FBA8CE0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150788719208512Wed, 26 Jun 2019 00:11:27 GMTWed, 26 Jun 2019 00:11:27 GMT0x8D6F9CAD5288D560application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwNzg4NzUwNzA4MzEyITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", [ 'Transfer-Encoding', + .reply(200, "blockblob2blockblob/0156599417898006025Fri, 16 Aug 2019 22:22:59 GMTFri, 16 Aug 2019 22:22:59 GMT0x8D722984B7031440application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156599417928107674Fri, 16 Aug 2019 22:22:59 GMTFri, 16 Aug 2019 22:22:59 GMT0x8D722984B9E276C0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NTk5NDE3OTU3MTA2Mjg1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ccc2a5b6-101e-0090-3ab3-2befdd000000', + 'd1b7dc5c-c01e-0038-6681-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:28 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150788657504839') + .get('/container156599417868901712') .query(true) - .reply(200, "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2MTUwNzg4NzUwNzA4MzEyITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156150788750708312Wed, 26 Jun 2019 00:11:27 GMTWed, 26 Jun 2019 00:11:27 GMT0x8D6F9CAD558317E0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/3156150788779906850Wed, 26 Jun 2019 00:11:28 GMTWed, 26 Jun 2019 00:11:28 GMT0x8D6F9CAD58516070application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", [ 'Transfer-Encoding', + .reply(200, "blockblob2!100!MDAwMDI5IWJsb2NrYmxvYi8yMTU2NTk5NDE3OTU3MTA2Mjg1ITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--2blockblob/2156599417957106285Fri, 16 Aug 2019 22:22:59 GMTFri, 16 Aug 2019 22:22:59 GMT0x8D722984BCABDC80application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/3156599417986605355Fri, 16 Aug 2019 22:23:00 GMTFri, 16 Aug 2019 22:23:00 GMT0x8D722984BF7A24D0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2fb14670-001e-0061-7db3-2b3e4e000000', + '923cd4d6-801e-0052-4b81-546763000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:28 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788657504839/blockblob%2F0156150788688508696') + .delete('/container156599417868901712/blockblob%2F0156599417898006025') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53a33f60-201e-0032-53b3-2b2241000000', + '4ddddf33-101e-0013-6181-544f70000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:28 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788657504839/blockblob%2F1156150788719208512') + .delete('/container156599417868901712/blockblob%2F1156599417928107674') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a4dab72-a01e-00cd-3fb3-2b1fd9000000', + 'd41fd140-701e-00cf-5881-541d23000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:28 GMT', + 'Fri, 16 Aug 2019 22:23:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788657504839/blockblob%2F2156150788750708312') + .delete('/container156599417868901712/blockblob%2F2156599417957106285') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2ad5910f-f01e-009a-25b3-2bf654000000', + '47480fc7-e01e-00a7-6881-544372000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:28 GMT', + 'Fri, 16 Aug 2019 22:23:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788657504839/blockblob%2F3156150788779906850') + .delete('/container156599417868901712/blockblob%2F3156599417986605355') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fdd9028-901e-00c5-69b3-2b04aa000000', + '4c3a4d6b-f01e-0074-1281-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:29 GMT', + 'Fri, 16 Aug 2019 22:23:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788657504839') + .delete('/container156599417868901712') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '359dbfa9-401e-00aa-36b3-2bac7e000000', + 'ddeaa65f-001e-0048-4781-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:29 GMT', + 'Fri, 16 Aug 2019 22:23:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.js b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.js index 9b85eb1b70fb..d8621c2fc3b0 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listblobsflat.js @@ -1,148 +1,148 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150788447203908","blockblob/0":"blockblob/0156150788476406211","blockblob/1":"blockblob/1156150788505800115"} +module.exports.testInfo = {"container":"container156599417630605879","blockblob/0":"blockblob/0156599417659409417","blockblob/1":"blockblob/1156599417688107959"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788447203908') + .put('/container156599417630605879') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:24 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'ETag', - '"0x8D6F9CAD3889B70"', + '"0x8D7229849D7813A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9a069745-501e-00d3-07b3-2bc534000000', + '379afeec-e01e-00c1-7981-54f128000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:23 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788447203908/blockblob%2F0156150788476406211') + .put('/container156599417630605879/blockblob%2F0156599417659409417') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:25 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'ETag', - '"0x8D6F9CAD3B5F54E"', + '"0x8D722984A03B52D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4edcb877-701e-00c4-80b3-2b0557000000', + '1c4b5f9c-001e-0025-1381-54e222000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:24 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150788447203908/blockblob%2F1156150788505800115') + .put('/container156599417630605879/blockblob%2F1156599417688107959') .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '1B2M2Y8AsgTpgAmY7PhCfg==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:25 GMT', + 'Fri, 16 Aug 2019 22:22:57 GMT', 'ETag', - '"0x8D6F9CAD3E2B2C0"', + '"0x8D722984A2F880D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1fd36c17-d01e-00e0-37b3-2b9c19000000', + 'b0757379-801e-0070-2e81-540955000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:11:25 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150788447203908') + .get('/container156599417630605879') .query(true) - .reply(200, "blockblobblockblob/0156150788476406211Wed, 26 Jun 2019 00:11:25 GMTWed, 26 Jun 2019 00:11:25 GMT0x8D6F9CAD3B5F54E0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueacblockblob/1156150788505800115Wed, 26 Jun 2019 00:11:25 GMTWed, 26 Jun 2019 00:11:25 GMT0x8D6F9CAD3E2B2C00application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrueac", [ 'Transfer-Encoding', + .reply(200, "blockblobblockblob/0156599417659409417Fri, 16 Aug 2019 22:22:56 GMTFri, 16 Aug 2019 22:22:56 GMT0x8D722984A03B52D0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0acblockblob/1156599417688107959Fri, 16 Aug 2019 22:22:57 GMTFri, 16 Aug 2019 22:22:57 GMT0x8D722984A2F880D0application/octet-stream1B2M2Y8AsgTpgAmY7PhCfg==BlockBlobCooltrueunlockedavailabletrue0ac", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c29d821f-a01e-006c-48b3-2bd142000000', + '805af24c-201e-0039-7181-543a35000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:24 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788447203908/blockblob%2F0156150788476406211') + .delete('/container156599417630605879/blockblob%2F0156599417659409417') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d683fc7-a01e-00ab-2ab3-2bad83000000', + '24c24347-401e-0022-7781-5414a7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:25 GMT', + 'Fri, 16 Aug 2019 22:22:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788447203908/blockblob%2F1156150788505800115') + .delete('/container156599417630605879/blockblob%2F1156599417688107959') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25c18538-f01e-0074-52b3-2bfcd7000000', + '18cb5004-501e-00d8-7081-54dd40000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-delete-type-permanent', 'false', 'Date', - 'Wed, 26 Jun 2019 00:11:25 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150788447203908') + .delete('/container156599417630605879') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c3a9e05e-801e-0059-39b3-2b7f17000000', + '52dd032e-301e-000f-6e81-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:26 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string.js index 815694bd2176..f3c6bfe4a5ca 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806800309886"} +module.exports.testInfo = {"container":"container156599438341402095"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806800309886') + .put('/container156599438341402095') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:28 GMT', + 'Fri, 16 Aug 2019 22:26:23 GMT', 'ETag', - '"0x8D6F9CB40EDFA8E"', + '"0x8D72298C54BC788"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '359e8890-401e-00aa-6db4-2bac7e000000', + 'be2f6ed1-601e-00bd-5681-546c1d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:27 GMT', + 'Fri, 16 Aug 2019 22:26:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806800309886/') + .get('/container156599438341402095/') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:28 GMT', + 'Fri, 16 Aug 2019 22:26:23 GMT', 'ETag', - '"0x8D6F9CB40EDFA8E"', + '"0x8D72298C54BC788"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f2eed1e-301e-00a5-6bb4-2b4188000000', + '63bd104b-901e-0002-4581-54786b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:28 GMT', + 'Fri, 16 Aug 2019 22:26:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806800309886') + .delete('/container156599438341402095') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcc9c54d-601e-003e-7cb4-2bccb0000000', + '49a48808-801e-0059-0681-547f17000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:28 GMT', + 'Fri, 16 Aug 2019 22:26:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_container_name_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_container_name_and_an_option_bag.js index c48f0d95a3e6..e5205ad1e61f 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_container_name_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_container_name_and_an_option_bag.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806891706661"} +module.exports.testInfo = {"container":"container156599438433001508"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806891706661') + .put('/container156599438433001508') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:29 GMT', + 'Fri, 16 Aug 2019 22:26:24 GMT', 'ETag', - '"0x8D6F9CB41798B7C"', + '"0x8D72298C5D8058A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '71c05fad-501e-001f-10b4-2ba181000000', + '7ee992d9-101e-0090-7381-54efdd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:28 GMT', + 'Fri, 16 Aug 2019 22:26:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806891706661/') + .get('/container156599438433001508/') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:29 GMT', + 'Fri, 16 Aug 2019 22:26:24 GMT', 'ETag', - '"0x8D6F9CB41798B7C"', + '"0x8D72298C5D8058A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '129523a7-d01e-000e-2db4-2b969a000000', + '3454d2ec-801e-0095-3181-541ba2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:28 GMT', + 'Fri, 16 Aug 2019 22:26:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806891706661') + .delete('/container156599438433001508') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c5ea482-801e-0034-5fb4-2bd539000000', + '49d76575-401e-0044-5c81-54a6fd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:29 GMT', + 'Fri, 16 Aug 2019 22:26:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 0110775a044f..b89cb46b978b 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806474906155"} +module.exports.testInfo = {"container":"container156599437998605738"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806474906155') + .put('/container156599437998605738') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:24 GMT', + 'Fri, 16 Aug 2019 22:26:20 GMT', 'ETag', - '"0x8D6F9CB3EFD5054"', + '"0x8D72298C340942A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd7e7ce55-a01e-0082-43b4-2bdbc1000000', + 'd5108891-201e-0054-0c81-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:24 GMT', + 'Fri, 16 Aug 2019 22:26:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806474906155') + .get('/container156599437998605738') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:24 GMT', + 'Fri, 16 Aug 2019 22:26:20 GMT', 'ETag', - '"0x8D6F9CB3EFD5054"', + '"0x8D72298C340942A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '66710493-c01e-0099-7eb4-2bf553000000', + '2e22c0c4-701e-00ed-5781-547315000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:24 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806474906155') + .delete('/container156599437998605738') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '94140ec7-b01e-00b4-4bb4-2b7693000000', + 'b0763a90-801e-0070-3f81-540955000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:25 GMT', + 'Fri, 16 Aug 2019 22:26:20 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 2180d7c72285..0ef668d6b45e 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806564709874"} +module.exports.testInfo = {"container":"container156599438090806722"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806564709874') + .put('/container156599438090806722') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:25 GMT', + 'Fri, 16 Aug 2019 22:26:21 GMT', 'ETag', - '"0x8D6F9CB3F866D3C"', + '"0x8D72298C3CDD83D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '13f8d1ca-f01e-00de-39b4-2b2a38000000', + '19eba37e-f01e-003b-2681-5438cf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:25 GMT', + 'Fri, 16 Aug 2019 22:26:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806564709874') + .get('/container156599438090806722') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:25 GMT', + 'Fri, 16 Aug 2019 22:26:21 GMT', 'ETag', - '"0x8D6F9CB3F866D3C"', + '"0x8D72298C3CDD83D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f959878-001e-00cb-6eb4-2be8a1000000', + 'f10f0397-a01e-0045-7d81-54a700000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:25 GMT', + 'Fri, 16 Aug 2019 22:26:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806564709874') + .delete('/container156599438090806722') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '57351688-001e-0043-3fb4-2b5078000000', + 'afe5f55f-d01e-000e-5881-54969a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:26 GMT', + 'Fri, 16 Aug 2019 22:26:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index de3e48b855f1..29988331c135 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806711802189"} +module.exports.testInfo = {"container":"container156599438248203018"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806711802189') + .put('/container156599438248203018') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:27 GMT', + 'Fri, 16 Aug 2019 22:26:22 GMT', 'ETag', - '"0x8D6F9CB40668291"', + '"0x8D72298C4BFA485"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '15a07434-901e-00ce-1eb4-2b1cde000000', + '9a6118a5-301e-00a5-2181-544188000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:26 GMT', + 'Fri, 16 Aug 2019 22:26:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806711802189') + .get('/container156599438248203018') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:27 GMT', + 'Fri, 16 Aug 2019 22:26:22 GMT', 'ETag', - '"0x8D6F9CB40668291"', + '"0x8D72298C4BFA485"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd8a803b3-c01e-00b0-3db4-2b8311000000', + '4cb1ca97-d01e-0086-6b81-542e43000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -51,24 +51,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:27 GMT', + 'Fri, 16 Aug 2019 22:26:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806711802189') + .delete('/container156599438248203018') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '95044b1c-501e-0050-1ab4-2b6599000000', + '9f4fd983-701e-00a9-0c81-54af79000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:27 GMT', + 'Fri, 16 Aug 2019 22:26:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index 2cdcde5e8609..c4e90cec63e0 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806653200526"} +module.exports.testInfo = {"container":"container156599438187609186"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806653200526') + .put('/container156599438187609186') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:26 GMT', + 'Fri, 16 Aug 2019 22:26:22 GMT', 'ETag', - '"0x8D6F9CB400D83F8"', + '"0x8D72298C460CA2E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8fe82435-701e-00a2-3eb4-2bb70d000000', + '44e2d9da-301e-00ea-3181-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:26 GMT', + 'Fri, 16 Aug 2019 22:26:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806653200526') + .delete('/container156599438187609186') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7bcabe4-301e-00e1-37b4-2b9de4000000', + 'b0763c40-801e-0070-2a81-540955000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:27 GMT', + 'Fri, 16 Aug 2019 22:26:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_getaccesspolicy.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_getaccesspolicy.js index 94f5ae3e8f8e..78440aab157f 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_getaccesspolicy.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_getaccesspolicy.js @@ -1,68 +1,68 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806267605063"} +module.exports.testInfo = {"container":"container156599437790207470"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806267605063') + .put('/container156599437790207470') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:22 GMT', + 'Fri, 16 Aug 2019 22:26:18 GMT', 'ETag', - '"0x8D6F9CB3DC18D55"', + '"0x8D72298C2042B92"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8c5326c6-f01e-00b8-7db4-2b9862000000', + '95355895-a01e-00ef-2181-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:22 GMT', + 'Fri, 16 Aug 2019 22:26:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806267605063') + .get('/container156599437790207470') .query(true) .reply(200, "", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:22 GMT', + 'Fri, 16 Aug 2019 22:26:18 GMT', 'ETag', - '"0x8D6F9CB3DC18D55"', + '"0x8D72298C2042B92"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1fd48cde-d01e-00e0-4db4-2b9c19000000', + 'ded8ed97-501e-00b5-1581-54776e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Last-Modified,ETag,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:22 GMT', + 'Fri, 16 Aug 2019 22:26:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806267605063') + .delete('/container156599437790207470') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ce60465b-701e-0065-5fb4-2bcbcc000000', + '95998520-a01e-0067-6681-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:22 GMT', + 'Fri, 16 Aug 2019 22:26:18 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_setaccesspolicy.js b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_setaccesspolicy.js index 6fafc0424aac..7985ad6a9071 100644 --- a/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_setaccesspolicy.js +++ b/sdk/storage/storage-blob/recordings/node/containerclient_nodejs_only/recording_setaccesspolicy.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150806356809080"} +module.exports.testInfo = {"container":"container156599437883503315"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806356809080') + .put('/container156599437883503315') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:23 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'ETag', - '"0x8D6F9CB3E4925B6"', + '"0x8D72298C2906891"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '555378d1-d01e-0068-57b4-2b24c0000000', + '7fabb86c-b01e-0078-4481-541226000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:23 GMT', + 'Fri, 16 Aug 2019 22:26:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150806356809080', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zrwd") + .put('/container156599437883503315', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zrwd") .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:24 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'ETag', - '"0x8D6F9CB3E763646"', + '"0x8D72298C2BF3405"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a67597a2-101e-007e-1eb4-2be55e000000', + '5baf147b-f01e-007f-7081-54e4a3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:23 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150806356809080') + .get('/container156599437883503315') .query(true) .reply(200, "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zrwd", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:24 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'ETag', - '"0x8D6F9CB3E763646"', + '"0x8D72298C2BF3405"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '94140d74-b01e-00b4-32b4-2b7693000000', + '5baf14d5-f01e-007f-4381-54e4a3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-public-access', 'blob', 'Access-Control-Expose-Headers', @@ -68,24 +68,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:24 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150806356809080') + .delete('/container156599437883503315') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '59e8feec-601e-0053-3bb4-2b669e000000', + 'acb1a112-d01e-00c2-2481-54f22f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:23 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/highlevel/recording_downloadblobtobuffer_should_success_when_downloading_a_range_inside_blob.js b/sdk/storage/storage-blob/recordings/node/highlevel/recording_downloadblobtobuffer_should_success_when_downloading_a_range_inside_blob.js new file mode 100644 index 000000000000..e63028d6ac98 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/highlevel/recording_downloadblobtobuffer_should_success_when_downloading_a_range_inside_blob.js @@ -0,0 +1,241 @@ +let nock = require('nock'); + +module.exports.testInfo = {"container":"container156610720105808566","blob":"blob156610720154805244"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156610720105808566') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'ETag', + '"0x8D7239F71F472E3"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'f22cd1c2-501e-0050-1388-556599000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Sun, 18 Aug 2019 05:46:40 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156610720105808566/blob156610720154805244', "aaaabbbb") + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + 'xiIFTZ5vF7Q4FK1dYcqyOQ==', + 'Last-Modified', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'ETag', + '"0x8D7239F72282372"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '1cd23a14-f01e-0030-1d88-5520bb000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156610720105808566/blob156610720154805244') + .reply(206, "bbbb", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 4-7/8', + 'Last-Modified', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7239F72282372"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '0c94ee53-101e-0090-1288-55efdd000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'x-ms-blob-content-md5', + 'xiIFTZ5vF7Q4FK1dYcqyOQ==', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'BlockBlob', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Sun, 18 Aug 2019 05:46:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156610720105808566/blob156610720154805244') + .reply(206, "abbb", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 3-6/8', + 'Last-Modified', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7239F72282372"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '0eb53f74-101e-00df-4e88-552bc5000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'x-ms-blob-content-md5', + 'xiIFTZ5vF7Q4FK1dYcqyOQ==', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'BlockBlob', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156610720105808566/blob156610720154805244') + .reply(206, "aabb", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 2-5/8', + 'Last-Modified', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7239F72282372"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'fff37eb4-a01e-0082-4588-55dbc1000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'x-ms-blob-content-md5', + 'xiIFTZ5vF7Q4FK1dYcqyOQ==', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'BlockBlob', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Sun, 18 Aug 2019 05:46:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156610720105808566/blob156610720154805244') + .reply(206, "aaab", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 1-4/8', + 'Last-Modified', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7239F72282372"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '8fad4259-901e-006f-2a88-55d245000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Sun, 18 Aug 2019 05:46:41 GMT', + 'x-ms-blob-content-md5', + 'xiIFTZ5vF7Q4FK1dYcqyOQ==', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'BlockBlob', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-content-md5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Sun, 18 Aug 2019 05:46:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156610720105808566') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c182fb70-201e-005f-3488-55886f000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Sun, 18 Aug 2019 05:46:43 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_gte_block_blob_max_upload_blob_bytes.js b/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_gte_block_blob_max_upload_blob_bytes.js index eb1051065ab0..f1d2f683a13f 100644 --- a/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_gte_block_blob_max_upload_blob_bytes.js +++ b/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_gte_block_blob_max_upload_blob_bytes.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150807412200289","blob":"blob156150807446704579"} +module.exports.testInfo = {"container":"container156599438665102069","blob":"blob156599438696109808"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807412200289') + .put('/container156599438665102069') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:34 GMT', + 'Fri, 16 Aug 2019 22:26:26 GMT', 'ETag', - '"0x8D6F9CB449AF6DA"', + '"0x8D72298C73AB5A9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e5a4eb-c01e-00dd-40b4-2b293f000000', + '216bcc60-101e-0075-7d81-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:33 GMT', + 'Fri, 16 Aug 2019 22:26:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150807412200289') + .delete('/container156599438665102069') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de452240-c01e-007c-15b4-2be7a4000000', + '7dcfb940-f01e-0030-5981-5420bb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:34 GMT', + 'Fri, 16 Aug 2019 22:26:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_lt_block_blob_max_upload_blob_bytes.js b/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_lt_block_blob_max_upload_blob_bytes.js index fc9ae2951b19..908bc775925c 100644 --- a/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_lt_block_blob_max_upload_blob_bytes.js +++ b/sdk/storage/storage-blob/recordings/node/highlevel/recording_uploadfile_should_abort_when_blob_lt_block_blob_max_upload_blob_bytes.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150807490004508","blob":"blob156150807521009058"} +module.exports.testInfo = {"container":"container156599438748508237","blob":"blob156599438779602574"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807490004508') + .put('/container156599438748508237') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:35 GMT', + 'Fri, 16 Aug 2019 22:26:27 GMT', 'ETag', - '"0x8D6F9CB450C8F9B"', + '"0x8D72298C7B8F34D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e8ac064f-d01e-00c9-05b4-2bea5b000000', + 'bb5272b1-c01e-007c-5781-54e7a4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:35 GMT', + 'Fri, 16 Aug 2019 22:26:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150807490004508') + .delete('/container156599438748508237') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ec55c4a8-001e-002e-2fb4-2bfa56000000', + 'acb1ab03-d01e-00c2-5c81-54f22f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:35 GMT', + 'Fri, 16 Aug 2019 22:26:27 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_acquirelease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_acquirelease.js index 2d459accf2f8..3c0c27b2d126 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_acquirelease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_acquirelease.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150793287509275","blob":"blob156150793317109187"} +module.exports.testInfo = {"container":"container156599423191603990","blob":"blob156599423221105430"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793287509275') + .put('/container156599423191603990') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'ETag', - '"0x8D6F9CAF062C2C8"', + '"0x8D722986AFE1D46"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5a8713de-e01e-00e3-7cb3-2b9f1e000000', + '551f7cae-801e-0034-6481-54d539000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:12 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793287509275/blob156150793317109187', "Hello World") + .put('/container156599423191603990/blob156599423221105430', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'ETag', - '"0x8D6F9CAF0913EBB"', + '"0x8D722986B3600E9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc8dad4-b01e-0051-19b3-2b6464000000', + 'aceb4e37-001e-00e9-7581-548697000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793287509275/blob156150793317109187') + .put('/container156599423191603990/blob156599423221105430') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'ETag', - '"0x8D6F9CAF0913EBB"', + '"0x8D722986B3600E9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e476fd-c01e-00dd-6db3-2b293f000000', + 'c8d76098-001e-0061-5381-543e4e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150793287509275/blob156150793317109187') + .head('/container156599423191603990/blob156599423221105430') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,19 +79,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAF0913EBB"', + '"0x8D722986B3600E9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b90e47cc-301e-008c-76b3-2b37ca000000', + 'fbdcbe0c-501e-00d3-6381-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -107,49 +109,49 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793287509275/blob156150793317109187') + .put('/container156599423191603990/blob156599423221105430') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'ETag', - '"0x8D6F9CAF0913EBB"', + '"0x8D722986B3600E9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de1ee667-101e-0031-21b3-2b2146000000', + 'bdfb839e-901e-00ec-3681-5472e8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150793287509275') + .delete('/container156599423191603990') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b26154b-001e-0084-50b3-2b2cb9000000', + 'a5423308-801e-00d1-2081-54c7ce000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:13 GMT', + 'Fri, 16 Aug 2019 22:23:53 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_breaklease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_breaklease.js index 3b10d4efbb7b..ddbdf7b6b5d0 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_breaklease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_breaklease.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150796156804822","blob":"blob156150796185901901"} +module.exports.testInfo = {"container":"container156599426066905607","blob":"blob156599426096303899"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150796156804822') + .put('/container156599426066905607') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:41 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'ETag', - '"0x8D6F9CB017CAC2F"', + '"0x8D722987C216F26"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a6749e44-101e-007e-42b3-2be55e000000', + '9d568dc4-301e-008c-5d81-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:41 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150796156804822/blob156150796185901901', "Hello World") + .put('/container156599426066905607/blob156599426096303899', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'ETag', - '"0x8D6F9CB01A9AB64"', + '"0x8D722987C4D33A8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'afd12045-501e-005b-28b3-2b7ded000000', + '6743991f-401e-00aa-5f81-54ac7e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:41 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150796156804822/blob156150796185901901') + .put('/container156599426066905607/blob156599426096303899') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'ETag', - '"0x8D6F9CB01A9AB64"', + '"0x8D722987C4D33A8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e5a50c7b-a01e-00c6-39b3-2b07ad000000', + 'ddeb83c2-001e-0048-2d81-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150796156804822/blob156150796185901901') + .head('/container156599426066905607/blob156599426096303899') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,19 +79,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB01A9AB64"', + '"0x8D722987C4D33A8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0a917dee-e01e-000d-3fb3-2b959d000000', + '78d4b204-501e-003d-1381-54cfb7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -107,40 +109,40 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150796156804822/blob156150796185901901') + .put('/container156599426066905607/blob156599426096303899') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'ETag', - '"0x8D6F9CB01A9AB64"', + '"0x8D722987C4D33A8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a15a949e-c01e-0077-31b3-2bffd0000000', + 'fa4e517b-c01e-0099-5381-54f553000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-time', '5', 'Date', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150796156804822/blob156150796185901901') + .head('/container156599426066905607/blob156599426096303899') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -148,19 +150,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB01A9AB64"', + '"0x8D722987C4D33A8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6dabf51c-401e-004f-80b3-2bbe89000000', + 'f57e7f78-901e-00a3-4c81-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -174,17 +178,17 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150796156804822/blob156150796185901901') + .head('/container156599426066905607/blob156599426096303899') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -192,19 +196,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB01A9AB64"', + '"0x8D722987C4D33A8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ed3348f0-a01e-004e-66b3-2bbf74000000', + '1c4be7d7-001e-0025-2181-54e222000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:42 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -218,28 +224,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:47 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150796156804822') + .delete('/container156599426066905607') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c29decc9-a01e-006c-68b3-2bd142000000', + '6f53da8d-f01e-00de-3e81-542a38000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:48 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_changelease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_changelease.js index b770f83cb7b8..2a94ecef9533 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_changelease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_changelease.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150795911908977","blob":"blob156150795941203130"} +module.exports.testInfo = {"container":"container156599425828308390","blob":"blob156599425858107982"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150795911908977') + .put('/container156599425828308390') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'ETag', - '"0x8D6F9CB0006EF2B"', + '"0x8D722987AB571D4"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '59e865e2-601e-0053-74b3-2b669e000000', + '7862bb0c-a01e-00a0-2781-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:38 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150795911908977/blob156150795941203130', "Hello World") + .put('/container156599425828308390/blob156599425858107982', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'ETag', - '"0x8D6F9CB0034F019"', + '"0x8D722987AE2DAB1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '868428e6-301e-0069-5cb3-2b253d000000', + 'e2ead525-d01e-0005-2381-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:38 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150795911908977/blob156150795941203130') + .put('/container156599425828308390/blob156599425858107982') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'ETag', - '"0x8D6F9CB0034F019"', + '"0x8D722987AE2DAB1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd23896f-c01e-0038-4eb3-2b3bc8000000', + '9a602c04-301e-00a5-6181-544188000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150795911908977/blob156150795941203130') + .head('/container156599425828308390/blob156599425858107982') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,19 +79,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0034F019"', + '"0x8D722987AE2DAB1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06842aa6-001e-0007-0cb3-2b8c14000000', + '474893e1-e01e-00a7-3481-544372000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -107,40 +109,40 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:40 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150795911908977/blob156150795941203130') + .put('/container156599425828308390/blob156599425858107982') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'ETag', - '"0x8D6F9CB0034F019"', + '"0x8D722987AE2DAB1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2ee3e757-601e-007a-65b3-2b10dc000000', + '34ff5e8a-b01e-0073-0281-540a52000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', '3c7e72eb-b430-4526-bc53-d8ecef03798f', 'Date', - 'Wed, 26 Jun 2019 00:12:40 GMT', + 'Fri, 16 Aug 2019 22:24:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150795911908977/blob156150795941203130') + .head('/container156599425828308390/blob156599425858107982') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -148,19 +150,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0034F019"', + '"0x8D722987AE2DAB1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fee6b6c5-001e-00a6-37b3-2b428f000000', + '00637b2a-b01e-00d9-7d81-54dcbd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -176,49 +180,49 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:40 GMT', + 'Fri, 16 Aug 2019 22:24:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150795911908977/blob156150795941203130') + .put('/container156599425828308390/blob156599425858107982') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:39 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'ETag', - '"0x8D6F9CB0034F019"', + '"0x8D722987AE2DAB1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd238bcc-c01e-0038-4fb3-2b3bc8000000', + '10fda532-601e-009f-5981-54022b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:40 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150795911908977') + .delete('/container156599425828308390') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9a06fde7-501e-00d3-4fb3-2bc534000000', + 'f0d9b582-d01e-0041-0681-545282000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:41 GMT', + 'Fri, 16 Aug 2019 22:24:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_releaselease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_releaselease.js index fb58f52fd73a..bc1192afef01 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_releaselease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_releaselease.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150793465603564","blob":"blob156150793494804880"} +module.exports.testInfo = {"container":"container156599423378905790","blob":"blob156599423409509828"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793465603564') + .put('/container156599423378905790') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:14 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'ETag', - '"0x8D6F9CAF1723131"', + '"0x8D722986C1BF4D2"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f04d837-801e-00d1-09b3-2bc7ce000000', + '49d67cc8-401e-0044-3181-54a6fd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:14 GMT', + 'Fri, 16 Aug 2019 22:23:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793465603564/blob156150793494804880', "Hello World") + .put('/container156599423378905790/blob156599423409509828', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'ETag', - '"0x8D6F9CAF19FAB8F"', + '"0x8D722986C4A61F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3933e9ee-301e-0062-2eb3-2b3d49000000', + 'e69548b2-101e-005c-4481-548b68000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:14 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793465603564/blob156150793494804880') + .put('/container156599423378905790/blob156599423409509828') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'ETag', - '"0x8D6F9CAF19FAB8F"', + '"0x8D722986C4A61F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de1ee83f-101e-0031-34b3-2b2146000000', + 'b138d0b1-601e-0053-6481-54669e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:14 GMT', + 'Fri, 16 Aug 2019 22:23:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150793465603564/blob156150793494804880') + .head('/container156599423378905790/blob156599423409509828') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,19 +79,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAF19FAB8F"', + '"0x8D722986C4A61F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9abe1a77-401e-0022-31b3-2b14a7000000', + '3c08cd41-c01e-00bb-3a81-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -107,49 +109,49 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793465603564/blob156150793494804880') + .put('/container156599423378905790/blob156599423409509828') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'ETag', - '"0x8D6F9CAF19FAB8F"', + '"0x8D722986C4A61F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e47d90-c01e-00dd-74b3-2b293f000000', + '8650e18a-801e-009e-2a81-5403d6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150793465603564') + .delete('/container156599423378905790') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd4b41caf-201e-0039-47b3-2b3a35000000', + '754fb55b-601e-00db-2381-54de47000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_renewlease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_renewlease.js index d557eac7e0ea..e1d865cd6fb8 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_renewlease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_blob/recording_renewlease.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150793644300762","blob":"blob156150793673508404"} +module.exports.testInfo = {"container":"container156599423560007850","blob":"blob156599423589803533"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793644300762') + .put('/container156599423560007850') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'ETag', - '"0x8D6F9CAF282A0E6"', + '"0x8D722986D301740"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8d3c2d6-e01e-0085-14b3-2b2d44000000', + '1d2dc1da-801e-0016-5381-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:15 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793644300762/blob156150793673508404', "Hello World") + .put('/container156599423560007850/blob156599423589803533', "Hello World") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'ETag', - '"0x8D6F9CAF2AFED40"', + '"0x8D722986D5DFFCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3e921085-201e-00d7-4ab3-2b30b6000000', + '77d07c88-d01e-00e0-1881-549c19000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793644300762/blob156150793673508404') + .put('/container156599423560007850/blob156599423589803533') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'ETag', - '"0x8D6F9CAF2AFED40"', + '"0x8D722986D5DFFCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aed8ee9b-401e-0044-34b3-2ba6fd000000', + '8f7ac452-a01e-006c-5c81-54d142000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150793644300762/blob156150793673508404') + .head('/container156599423560007850/blob156599423589803533') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -79,19 +79,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAF2AFED40"', + '"0x8D722986D5DFFCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fde1809-901e-00c5-6eb3-2b04aa000000', + 'f0d99bdd-d01e-0041-2f81-545282000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -107,17 +109,17 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150793644300762/blob156150793673508404') + .head('/container156599423560007850/blob156599423589803533') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -125,19 +127,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAF2AFED40"', + '"0x8D722986D5DFFCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5477ebdb-501e-0036-23b3-2bd7c3000000', + 'ff26b9b3-501e-0079-5c81-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -151,40 +155,40 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:37 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793644300762/blob156150793673508404') + .put('/container156599423560007850/blob156599423589803533') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'ETag', - '"0x8D6F9CAF2AFED40"', + '"0x8D722986D5DFFCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7bc3cc1-301e-00e1-74b3-2b9de4000000', + 'fbdcd9a1-501e-00d3-4481-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:37 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150793644300762/blob156150793673508404') + .head('/container156599423560007850/blob156599423589803533') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', @@ -192,19 +196,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CAF2AFED40"', + '"0x8D722986D5DFFCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70afc3fb-d01e-008d-0db3-2b3637000000', + '53ec1827-901e-00c5-2581-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -220,49 +226,49 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-lease-duration,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:38 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150793644300762/blob156150793673508404') + .put('/container156599423560007850/blob156599423589803533') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:16 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'ETag', - '"0x8D6F9CAF2AFED40"', + '"0x8D722986D5DFFCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3b86f9e8-601e-0017-70b3-2bbaf2000000', + '30739517-f01e-0012-4a81-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:38 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150793644300762') + .delete('/container156599423560007850') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1ae79e06-f01e-0019-64b3-2b56f9000000', + '674396f3-401e-00aa-0f81-54ac7e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:38 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease.js index 201643232902..0a84d8ea161b 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150790100103995"} +module.exports.testInfo = {"container":"container156599420010909829"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790100103995') + .put('/container156599420010909829') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:41 GMT', + 'Fri, 16 Aug 2019 22:23:20 GMT', 'ETag', - '"0x8D6F9CADD62C74D"', + '"0x8D72298580716EC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0b8a32f2-301e-002d-0bb3-2bf951000000', + '4c3a76ae-f01e-0074-2681-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:40 GMT', + 'Fri, 16 Aug 2019 22:23:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790100103995') + .put('/container156599420010909829') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:41 GMT', + 'Fri, 16 Aug 2019 22:23:20 GMT', 'ETag', - '"0x8D6F9CADD62C74D"', + '"0x8D72298580716EC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd579d2d1-d01e-0027-13b3-2be0d8000000', + '9bea540a-601e-0058-2381-547eea000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:11:41 GMT', + 'Fri, 16 Aug 2019 22:23:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150790100103995') + .get('/container156599420010909829') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:41 GMT', + 'Fri, 16 Aug 2019 22:23:20 GMT', 'ETag', - '"0x8D6F9CADD62C74D"', + '"0x8D72298580716EC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd4513a74-201e-001b-5db3-2b5403000000', + 'ff267bf9-501e-0079-6981-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -76,45 +76,45 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:41 GMT', + 'Fri, 16 Aug 2019 22:23:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790100103995') + .put('/container156599420010909829') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:41 GMT', + 'Fri, 16 Aug 2019 22:23:20 GMT', 'ETag', - '"0x8D6F9CADD62C74D"', + '"0x8D72298580716EC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fdc9b186-f01e-003b-35b3-2b38cf000000', + '1d871b26-501e-0036-6581-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150790100103995') + .delete('/container156599420010909829') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e42df7-c01e-00dd-25b3-2b293f000000', + '3d95571f-201e-0098-7381-54f4ae000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:41 GMT', + 'Fri, 16 Aug 2019 22:23:20 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.js index 8e84ccbbf6b0..4d42d53969f1 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_acquirelease_without_specifying_a_lease_id.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150790261703995"} +module.exports.testInfo = {"container":"container156599420163808189"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790261703995') + .put('/container156599420163808189') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:21 GMT', 'ETag', - '"0x8D6F9CADE597923"', + '"0x8D7229858F19238"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5134a660-d01e-0063-2bb3-2b3cb4000000', + 'a11dbe2b-101e-00b2-1481-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790261703995') + .put('/container156599420163808189') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:21 GMT', 'ETag', - '"0x8D6F9CADE597923"', + '"0x8D7229858F19238"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0c693db7-901e-0020-24b3-2b165d000000', + 'c340d168-501e-0072-4a81-540baf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', - '5d78f2d7-fb6d-4414-b72b-c7647d92b0e7', + 'e34e0142-6d40-4778-afde-8999f0038f02', 'Date', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150790261703995') + .get('/container156599420163808189') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:21 GMT', 'ETag', - '"0x8D6F9CADE597923"', + '"0x8D7229858F19238"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '011096ef-c01e-005e-45b3-2b8992000000', + '4cb10e2d-d01e-0086-5981-542e43000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -76,45 +76,45 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790261703995') + .put('/container156599420163808189') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:42 GMT', + 'Fri, 16 Aug 2019 22:23:21 GMT', 'ETag', - '"0x8D6F9CADE597923"', + '"0x8D7229858F19238"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5c5e091a-b01e-0015-58b3-2bb808000000', + '84e893e6-801e-00bc-7481-546de0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:43 GMT', + 'Fri, 16 Aug 2019 22:23:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150790261703995') + .delete('/container156599420163808189') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f298b99b-301e-004b-73b3-2b4b0b000000', + '3cffe795-d01e-004a-2b81-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:43 GMT', + 'Fri, 16 Aug 2019 22:23:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_breaklease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_breaklease.js index 131cbf5662cc..f855dbf583eb 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_breaklease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_breaklease.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150792772508792"} +module.exports.testInfo = {"container":"container156599422673707857"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150792772508792') + .put('/container156599422673707857') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'ETag', - '"0x8D6F9CAED526F2A"', + '"0x8D7229867E78462"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0683e017-001e-0007-5db3-2b8c14000000', + '9fcee96e-a01e-00e4-5b81-54699b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150792772508792') + .put('/container156599422673707857') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'ETag', - '"0x8D6F9CAED526F2A"', + '"0x8D7229867E78462"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10824dfe-401e-0088-77b3-2bc248000000', + '5969075e-e01e-008e-0281-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150792772508792') + .get('/container156599422673707857') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'ETag', - '"0x8D6F9CAED526F2A"', + '"0x8D7229867E78462"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cf1f1677-801e-00b7-02b3-2b7594000000', + '3956c1b6-601e-00d0-4581-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -76,49 +76,49 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150792772508792') + .put('/container156599422673707857') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'ETag', - '"0x8D6F9CAED526F2A"', + '"0x8D7229867E78462"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7bc20c6-301e-00e1-63b3-2b9de4000000', + 'acef06d0-f01e-00d5-1581-54324c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-time', '3', 'Date', - 'Wed, 26 Jun 2019 00:12:08 GMT', + 'Fri, 16 Aug 2019 22:23:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150792772508792') + .get('/container156599422673707857') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'ETag', - '"0x8D6F9CAED526F2A"', + '"0x8D7229867E78462"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1d8e1e0-101e-00d4-08b3-2b33b1000000', + '50808a38-201e-001b-0381-545403000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -132,26 +132,26 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:09 GMT', + 'Fri, 16 Aug 2019 22:23:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150792772508792') + .get('/container156599422673707857') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:46 GMT', 'ETag', - '"0x8D6F9CAED526F2A"', + '"0x8D7229867E78462"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ea66411-101e-00b2-1ab3-2b81eb000000', + 'd08cee66-a01e-000a-3281-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -165,24 +165,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:11 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150792772508792') + .delete('/container156599422673707857') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e8cdeef-401e-0083-52b3-2bda3c000000', + '9a519717-201e-0076-1881-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:12 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_changelease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_changelease.js index 1eaec51fbf15..029b80dbd8ed 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_changelease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_changelease.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150792457406751"} +module.exports.testInfo = {"container":"container156599422457202307"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150792457406751') + .put('/container156599422457202307') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'ETag', - '"0x8D6F9CAEB7125DA"', + '"0x8D72298669CBDDD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '04e13a55-701e-0080-2eb3-2bd93b000000', + '5f4cec9e-201e-0010-4181-544c77000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150792457406751') + .put('/container156599422457202307') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'ETag', - '"0x8D6F9CAEB7125DA"', + '"0x8D72298669CBDDD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f04c6e3-801e-00d1-26b3-2bc7ce000000', + '805b587f-201e-0039-4a81-543a35000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:05 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150792457406751') + .get('/container156599422457202307') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'ETag', - '"0x8D6F9CAEB7125DA"', + '"0x8D72298669CBDDD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '963a928c-001e-00ad-16b3-2b5afb000000', + '216b371b-101e-0075-2681-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -76,49 +76,49 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:06 GMT', + 'Fri, 16 Aug 2019 22:23:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150792457406751') + .put('/container156599422457202307') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'ETag', - '"0x8D6F9CAEB7125DA"', + '"0x8D72298669CBDDD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f94fb67-001e-00cb-20b3-2be8a1000000', + 'd1b826ba-c01e-0038-5281-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', '3c7e72eb-b430-4526-bc53-d8ecef03798f', 'Date', - 'Wed, 26 Jun 2019 00:12:06 GMT', + 'Fri, 16 Aug 2019 22:23:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150792457406751') + .get('/container156599422457202307') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'ETag', - '"0x8D6F9CAEB7125DA"', + '"0x8D72298669CBDDD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70afaa09-d01e-008d-02b3-2b3637000000', + '3cba23f1-601e-0017-0381-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -134,45 +134,45 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150792457406751') + .put('/container156599422457202307') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'ETag', - '"0x8D6F9CAEB7125DA"', + '"0x8D72298669CBDDD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f8fade3-b01e-0073-10b3-2b0a52000000', + 'b138c656-601e-0053-3781-54669e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:06 GMT', + 'Fri, 16 Aug 2019 22:23:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150792457406751') + .delete('/container156599422457202307') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a4dd63d-a01e-00cd-4cb3-2b1fd9000000', + '78629345-a01e-00a0-3981-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:07 GMT', + 'Fri, 16 Aug 2019 22:23:45 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_releaselease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_releaselease.js index 0e76bd7e7daf..7620affc04df 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_releaselease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_releaselease.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150790413906421"} +module.exports.testInfo = {"container":"container156599420414003568"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790413906421') + .put('/container156599420414003568') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:44 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'ETag', - '"0x8D6F9CADF417BF8"', + '"0x8D722985A6F7D17"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd4513c8d-201e-001b-1bb3-2b5403000000', + 'adcd7e5e-e01e-00e8-5581-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:44 GMT', + 'Fri, 16 Aug 2019 22:23:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790413906421') + .put('/container156599420414003568') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:44 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'ETag', - '"0x8D6F9CADF417BF8"', + '"0x8D722985A6F7D17"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd232a40-c01e-0038-3fb3-2b3bc8000000', + 'ecdca129-901e-00e7-7f81-546a9c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:11:44 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150790413906421') + .get('/container156599420414003568') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:44 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'ETag', - '"0x8D6F9CADF417BF8"', + '"0x8D722985A6F7D17"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '555283b4-d01e-0068-75b3-2b24c0000000', + 'd50f1ee7-201e-0054-5081-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -76,45 +76,45 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:45 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790413906421') + .put('/container156599420414003568') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:44 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'ETag', - '"0x8D6F9CADF417BF8"', + '"0x8D722985A6F7D17"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a8f54780-101e-0013-33b3-2b4f70000000', + '65c6633a-301e-0069-7381-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:45 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150790413906421') + .delete('/container156599420414003568') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a6740e2d-101e-007e-55b3-2be55e000000', + '66f5435b-401e-00e5-3781-546866000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:45 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_renewlease.js b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_renewlease.js index a3f6622185f5..affbcce21964 100644 --- a/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_renewlease.js +++ b/sdk/storage/storage-blob/recordings/node/leaseclient_from_container/recording_renewlease.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150790584809071"} +module.exports.testInfo = {"container":"container156599420564807263"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790584809071') + .put('/container156599420564807263') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'ETag', - '"0x8D6F9CAE0472322"', + '"0x8D722985B558AD1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7de7c17a-401e-00cc-63b3-2b1e24000000', + '7d3c7add-301e-0062-0881-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:11:45 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790584809071') + .put('/container156599420564807263') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'ETag', - '"0x8D6F9CAE0472322"', + '"0x8D722985B558AD1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e583fb58-701e-00ed-56b3-2b7315000000', + '431eb7ab-101e-003a-2b81-543932000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:11:45 GMT', + 'Fri, 16 Aug 2019 22:23:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150790584809071') + .get('/container156599420564807263') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'ETag', - '"0x8D6F9CAE0472322"', + '"0x8D722985B558AD1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70c915b4-701e-00e6-0fb3-2b6b61000000', + 'd7b5e5fa-401e-006d-2681-54d0bf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -76,26 +76,26 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150790584809071') + .get('/container156599420564807263') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'ETag', - '"0x8D6F9CAE0472322"', + '"0x8D722985B558AD1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3e92009e-201e-00d7-29b3-2b30b6000000', + '10fd700e-601e-009f-3481-54022b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -109,49 +109,49 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:02 GMT', + 'Fri, 16 Aug 2019 22:23:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790584809071') + .put('/container156599420564807263') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'ETag', - '"0x8D6F9CAE0472322"', + '"0x8D722985B558AD1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b60361f-301e-0004-36b3-2b8f13000000', + 'b075a4b6-801e-0070-4781-540955000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-id', 'ca761232-ed42-11ce-bacd-00aa0057b223', 'Date', - 'Wed, 26 Jun 2019 00:12:03 GMT', + 'Fri, 16 Aug 2019 22:23:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150790584809071') + .get('/container156599420564807263') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'ETag', - '"0x8D6F9CAE0472322"', + '"0x8D722985B558AD1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ad066b6b-a01e-00a0-5fb3-2bb5f7000000', + 'd1b823fe-c01e-0038-7781-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-lease-status', 'locked', 'x-ms-lease-state', @@ -167,45 +167,45 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:03 GMT', + 'Fri, 16 Aug 2019 22:23:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150790584809071') + .put('/container156599420564807263') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:11:46 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'ETag', - '"0x8D6F9CAE0472322"', + '"0x8D722985B558AD1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1687509f-801e-0070-07b3-2b0955000000', + 'b6970263-001e-0007-5781-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:04 GMT', + 'Fri, 16 Aug 2019 22:23:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150790584809071') + .delete('/container156599420564807263') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c953c6dc-501e-00b5-52b3-2b776e000000', + '24c27f41-401e-0022-0981-5414a7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:03 GMT', + 'Fri, 16 Aug 2019 22:23:44 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_can_be_created_with_a_sas_connection_string.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_can_be_created_with_a_sas_connection_string.js index 269b9a152252..cadd4bfad2f2 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_can_be_created_with_a_sas_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_can_be_created_with_a_sas_connection_string.js @@ -1,72 +1,74 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897489608965","blob":"blob156464897518803924"} +module.exports.testInfo = {"container":"container156599428343303542","blob":"blob156599428372300062"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897489608965') + .put('/container156599428343303542') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:55 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'ETag', - '"0x8D7165C3F52D7DF"', + '"0x8D7229889B1DD34"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bda73ff3-c01e-005e-4445-488992000000', + '58761275-b01e-005a-5381-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:54 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897489608965/blob156464897518803924') + .put('/container156599428343303542/blob156599428372300062') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:55 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'ETag', - '"0x8D7165C3F80B7AC"', + '"0x8D7229889DFA5AF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a53cd142-001e-00e9-5345-488697000000', + '4869854e-201e-0093-4581-54ecda000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Thu, 01 Aug 2019 08:42:54 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156464897489608965/blob156464897518803924') + .get('/container156599428343303542/blob156599428372300062') .query(true) .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '512', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:55 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D7165C3F80B7AC"', + '"0x8D7229889DFA5AF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ac943f54-601e-0035-5c45-48d4c4000000', + 'f10ea0aa-a01e-0045-3081-54a700000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Thu, 01 Aug 2019 08:42:55 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -78,28 +80,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 08:42:54 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897489608965') + .delete('/container156599428343303542') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '026c0239-901e-0002-3c45-48786b000000', + '4e4431cd-001e-000c-4d81-549460000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:55 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_clearpages.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_clearpages.js index b9493309c607..f0bb5b55ea92 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_clearpages.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_clearpages.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150797425108341","blob":"blob156150797454903729"} +module.exports.testInfo = {"container":"container156599427318603263","blob":"blob156599427349404469"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797425108341') + .put('/container156599427318603263') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'ETag', - '"0x8D6F9CB090CE7F7"', + '"0x8D7229883993465"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e34bb88c-c01e-0033-53b3-2b23bc000000', + '1a673137-601e-0094-1781-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797425108341/blob156150797454903729') + .put('/container156599427318603263/blob156599427349404469') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'ETag', - '"0x8D6F9CB093A5088"', + '"0x8D7229883C62D64"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d68a7a5-a01e-00ab-34b3-2bad83000000', + '24a217d5-001e-00ad-5881-545afb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797425108341/blob156150797454903729') + .get('/container156599427318603263/blob156599427349404469') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB093A5088"', + '"0x8D7229883C62D64"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2c9884ad-001e-008f-54b3-2b34cd000000', + '7d96d0cd-b01e-0051-4281-546464000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,44 +78,44 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797425108341/blob156150797454903729', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/container156599427318603263/blob156599427349404469', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'yaNM/IXZgmmMasifdgcavQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:55 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'ETag', - '"0x8D6F9CB0993A453"', + '"0x8D72298841FF66B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9a070f3c-501e-00d3-69b3-2bc534000000', + '44e1ad5d-301e-00ea-6281-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:12:55 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797425108341/blob156150797454903729') + .get('/container156599427318603263/blob156599427349404469') .reply(206, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Content-Length', '1024', 'Content-Type', @@ -121,19 +123,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-1023/1024', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:55 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0993A453"', + '"0x8D72298841FF66B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd2350355-e01e-00ca-68b3-2be95c000000', + '50e41d6e-a01e-0023-4f81-54155a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -145,40 +149,40 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:55 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797425108341/blob156150797454903729') + .put('/container156599427318603263/blob156599427349404469') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'ETag', - '"0x8D6F9CB09F2ECA4"', + '"0x8D72298847C30F1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ccc2fdb7-101e-0090-7db3-2befdd000000', + '66f5e809-401e-00e5-3481-546866000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:12:55 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797425108341/blob156150797454903729') + .get('/container156599427318603263/blob156599427349404469') .reply(206, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '512', 'Content-Type', @@ -186,19 +190,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-511/1024', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB09F2ECA4"', + '"0x8D72298847C30F1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06844d20-001e-0007-3bb3-2b8c14000000', + '9c09fa44-101e-00b9-2981-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:54 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -210,28 +216,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150797425108341') + .delete('/container156599427318603263') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '030ed00f-101e-009b-52b3-2bf7a9000000', + '6edaee7d-401e-00a1-5081-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:55 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_all_parameters_set.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_all_parameters_set.js index 5e24e1c075ae..d8e542c86252 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_all_parameters_set.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_all_parameters_set.js @@ -1,52 +1,52 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150797016202131","blob":"blob156150797045405099"} +module.exports.testInfo = {"container":"container156599426931806561","blob":"blob156599426961304326"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797016202131') + .put('/container156599426931806561') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'ETag', - '"0x8D6F9CB069BFD92"', + '"0x8D722988148B5C8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0b8aa608-301e-002d-0cb3-2bf951000000', + '1b0ee912-d01e-0027-2a81-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797016202131/blob156150797045405099') + .put('/container156599426931806561/blob156599426961304326') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'ETag', - '"0x8D6F9CB06C97B40"', + '"0x8D722988175DEAB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '66706b35-c01e-0099-1bb3-2bf553000000', + '216b5e76-101e-0075-2c81-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797016202131/blob156150797045405099') + .get('/container156599426931806561/blob156599426961304326') .reply(200, ["0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', @@ -58,23 +58,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'blobContentLanguage', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB06C97B40"', + '"0x8D722988175DEAB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5a833844-301e-00c3-77b3-2bf3d2000000', + '4eb40d4e-d01e-008d-5781-543637000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-key1', 'vala', 'x-ms-meta-key2', 'valb', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -88,17 +90,17 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-key1,x-ms-meta-key2,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-key1,x-ms-meta-key2,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Content-Disposition,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150797016202131/blob156150797045405099') + .head('/container156599426931806561/blob156599426961304326') .reply(200, [], [ 'Cache-Control', 'blobCacheControl', 'Content-Length', @@ -110,23 +112,25 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'blobContentLanguage', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB06C97B40"', + '"0x8D722988175DEAB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44c78c4d-901e-0046-61b3-2ba407000000', + 'a5425e64-801e-00d1-5f81-54c7ce000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-key1', 'vala', 'x-ms-meta-key2', 'valb', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -144,28 +148,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-key1,x-ms-meta-key2,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-key1,x-ms-meta-key2,Content-Type,Content-Encoding,Content-Language,Cache-Control,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Content-Disposition,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:50 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150797016202131') + .delete('/container156599426931806561') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd7e75259-a01e-0082-0eb3-2bdbc1000000', + '8fcdc6b3-101e-0018-6481-545704000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:51 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_default_parameters.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_default_parameters.js index b8ece30403e8..f90d81ac4fee 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_default_parameters.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_create_with_default_parameters.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150796896300003","blob":"blob156150796926306036"} +module.exports.testInfo = {"container":"container156599426812801251","blob":"blob156599426842000264"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150796896300003') + .put('/container156599426812801251') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'ETag', - '"0x8D6F9CB05E64D5B"', + '"0x8D722988092FD38"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5dfdb5fe-601e-0035-6fb3-2bd4c4000000', + 'c00ed445-701e-00a2-3881-54b70d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:48 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150796896300003/blob156150796926306036') + .put('/container156599426812801251/blob156599426842000264') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'ETag', - '"0x8D6F9CB0614B09A"', + '"0x8D7229880C113DF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1ff04ce3-601e-00d0-73b3-2bc633000000', + '7f089d33-701e-006e-4181-54d3b8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150796896300003/blob156150796926306036') + .get('/container156599426812801251/blob156599426842000264') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '512', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0614B09A"', + '"0x8D7229880C113DF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8c524f1c-f01e-00b8-5bb3-2b9862000000', + 'e9de2475-901e-00a8-7a81-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150796896300003') + .delete('/container156599426812801251') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e9bd011-a01e-0045-69b3-2ba700000000', + '1c30a807-c01e-0055-0b81-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:49 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpageranges.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpageranges.js index 24e686546a2b..7ecc2d7a3509 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpageranges.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpageranges.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150797663800490","blob":"blob156150797696809106"} +module.exports.testInfo = {"container":"container156599427556402617","blob":"blob156599427585606031"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797663800490') + .put('/container156599427556402617') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:35 GMT', 'ETag', - '"0x8D6F9CB0A792702"', + '"0x8D722988501AADB"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f99eb9c5-d01e-0086-15b3-2b2e43000000', + 'b138f89b-601e-0053-6681-54669e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797663800490/blob156150797696809106') + .put('/container156599427556402617/blob156599427585606031') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:57 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'ETag', - '"0x8D6F9CB0AAB618D"', + '"0x8D72298852EFF8D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f052450-801e-00d1-77b3-2bc7ce000000', + 'bb53c085-a01e-0089-4e81-54c3b5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797663800490/blob156150797696809106') + .get('/container156599427556402617/blob156599427585606031') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:57 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0AAB618D"', + '"0x8D72298852EFF8D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10826971-401e-0088-44b3-2bc248000000', + '1ff872c2-c01e-005e-5381-548992000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:57 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,86 +78,86 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797663800490/blob156150797696809106', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/container156599427556402617/blob156599427585606031', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'VpBzljOcorCZvRIkX5Nt3A==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:57 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'ETag', - '"0x8D6F9CB0B0578A7"', + '"0x8D722988586CC6C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53a39ae3-201e-0032-30b3-2b2241000000', + 'acef4c17-f01e-00d5-3781-54324c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:12:56 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797663800490/blob156150797696809106', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + .put('/container156599427556402617/blob156599427585606031', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'uk9S5NXZfBvPq4jGr+LM5g==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:58 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'ETag', - '"0x8D6F9CB0B320F06"', + '"0x8D7229885B67092"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f99ebaaa-d01e-0086-4bb3-2b2e43000000', + 'e89c49bc-201e-00d7-5a81-5430b6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:12:57 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797663800490/blob156150797696809106') + .get('/container156599427556402617/blob156599427585606031') .query(true) .reply(200, "0511", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:58 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'ETag', - '"0x8D6F9CB0B320F06"', + '"0x8D7229885B67092"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '990d5aba-801e-00da-52b3-2bdfba000000', + '9d2c66e4-d01e-00eb-4181-54846d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-content-length', '1024', 'Access-Control-Expose-Headers', @@ -163,28 +165,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:57 GMT', + 'Fri, 16 Aug 2019 22:24:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797663800490/blob156150797696809106') + .get('/container156599427556402617/blob156599427585606031') .query(true) .reply(200, "5121023", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:58 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'ETag', - '"0x8D6F9CB0B320F06"', + '"0x8D7229885B67092"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fe1e7c5-c01e-00d6-41b3-2b314b000000', + '3cba76eb-601e-0017-0a81-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-content-length', '1024', 'Access-Control-Expose-Headers', @@ -192,24 +194,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:57 GMT', + 'Fri, 16 Aug 2019 22:24:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150797663800490') + .delete('/container156599427556402617') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5108533a-401e-00ee-09b3-2b7012000000', + 'f0d9c87a-d01e-0041-4b81-545282000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:58 GMT', + 'Fri, 16 Aug 2019 22:24:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpagerangesdiff.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpagerangesdiff.js index b53e7e13231f..48c0aeaa5500 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpagerangesdiff.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_getpagerangesdiff.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150797905009638","blob":"blob156150797934700353"} +module.exports.testInfo = {"container":"container156599427793005505","blob":"blob156599427821801282"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797905009638') + .put('/container156599427793005505') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:59 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'ETag', - '"0x8D6F9CB0BE8F088"', + '"0x8D722988669F0BC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '791f3fe1-601e-00bd-76b3-2b6c1d000000', + 'e9de387d-901e-00a8-5a81-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:58 GMT', + 'Fri, 16 Aug 2019 22:24:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797905009638/blob156150797934700353') + .put('/container156599427793005505/blob156599427821801282') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:59 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'ETag', - '"0x8D6F9CB0C159386"', + '"0x8D722988697834F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdfa122e-701e-006e-5cb3-2bd3b8000000', + '49a3f69d-801e-0059-4c81-547f17000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:59 GMT', + 'Fri, 16 Aug 2019 22:24:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797905009638/blob156150797934700353') + .get('/container156599427793005505/blob156599427821801282') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:59 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0C159386"', + '"0x8D722988697834F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5a834cde-301e-00c3-66b3-2bf3d2000000', + '551faf3b-801e-0034-6481-54d539000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:59 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,132 +78,134 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:59 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797905009638/blob156150797934700353', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + .put('/container156599427793005505/blob156599427821801282', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'u+ZALNybfiA2/JfpqRcmzQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:00 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'ETag', - '"0x8D6F9CB0C6F5C8F"', + '"0x8D7229886EF5033"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b5043f43-401e-000b-24b3-2b62e5000000', + '2c7e5ff5-e01e-00e3-3981-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:13:00 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797905009638/blob156150797934700353') + .put('/container156599427793005505/blob156599427821801282') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:00 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'ETag', - '"0x8D6F9CB0C6F5C8F"', + '"0x8D7229886EF5033"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56298f33-301e-0040-5ab3-2b537f000000', + 'd7b695f2-401e-006d-0e81-54d0bf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-26T00:13:00.4978214Z', + '2019-08-16T22:24:39.3340551Z', + 'x-ms-request-server-encrypted', + 'false', 'Date', - 'Wed, 26 Jun 2019 00:13:00 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797905009638/blob156150797934700353', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/container156599427793005505/blob156599427821801282', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'VpBzljOcorCZvRIkX5Nt3A==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:00 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'ETag', - '"0x8D6F9CB0CCE56B1"', + '"0x8D722988747E086"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '359e1dfe-401e-00aa-5bb3-2bac7e000000', + 'd420694b-701e-00cf-3781-541d23000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:13:00 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797905009638/blob156150797934700353') + .put('/container156599427793005505/blob156599427821801282') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'ETag', - '"0x8D6F9CB0CFA77C1"', + '"0x8D722988773170A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0a9191b2-e01e-000d-39b3-2b959d000000', + 'a5426981-801e-00d1-0e81-54c7ce000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797905009638/blob156150797934700353') + .get('/container156599427793005505/blob156599427821801282') .query(true) .reply(200, "05115121023", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'ETag', - '"0x8D6F9CB0CFA77C1"', + '"0x8D722988773170A"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e710b1ae-d01e-002c-23b3-2bf8ac000000', + 'be5836f5-701e-00c4-1e81-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-content-length', '1024', 'Access-Control-Expose-Headers', @@ -209,24 +213,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150797905009638') + .delete('/container156599427793005505') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0a9192b2-e01e-000d-22b3-2b959d000000', + '59694827-e01e-008e-7781-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js index af70351fb491..01e27abc3b90 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_blobname_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897671403909","blob":"blob156464897700806450"} +module.exports.testInfo = {"container":"container156599428520001921","blob":"blob156599428549408050"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897671403909') + .put('/container156599428520001921') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:56 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'ETag', - '"0x8D7165C40688BC5"', + '"0x8D722988AC02FE4"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7e075354-a01e-00a0-7e45-48b5f7000000', + '3d9637c4-201e-0098-6581-54f4ae000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:55 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897671403909') + .delete('/container156599428520001921') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b0511ad-901e-00a3-6045-48b6f0000000', + 'adcdce10-e01e-00e8-6881-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:57 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js index a94a66cc3462..ce74741a6b0b 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_throws_error_if_constructor_containername_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156464897610800056","blob":"blob156464897641303632"} +module.exports.testInfo = {"container":"container156599428460704579","blob":"blob156599428490009758"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156464897610800056') + .put('/container156599428460704579') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 08:42:56 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'ETag', - '"0x8D7165C400DE795"', + '"0x8D722988A65C65C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'abfd03a0-201e-007d-4e45-48e659000000', + 'f4fdf44f-701e-0047-1a81-54a5fa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:55 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156464897610800056') + .delete('/container156599428460704579') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1bfd3c7c-c01e-00d6-4345-48314b000000', + '457d4b4d-001e-008f-3881-5434cd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 08:42:56 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_updatesequencenumber.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_updatesequencenumber.js index 1c78cdad1522..ead6b902b17d 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_updatesequencenumber.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_updatesequencenumber.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150798173706323","blob":"blob156150798203007225"} +module.exports.testInfo = {"container":"container156599428053305694","blob":"blob156599428082502719"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798173706323') + .put('/container156599428053305694') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:40 GMT', 'ETag', - '"0x8D6F9CB0D8268FF"', + '"0x8D7229887F79EBA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '990d638c-801e-00da-3fb3-2bdfba000000', + '77fa3d6e-601e-001c-0481-54a286000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798173706323/blob156150798203007225') + .put('/container156599428053305694/blob156599428082502719') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'ETag', - '"0x8D6F9CB0DAFB7E5"', + '"0x8D722988824FB23"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f395f087-801e-003f-50b3-2bcd4d000000', + '3989d004-001e-00cb-7b81-54e8a1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:01 GMT', + 'Fri, 16 Aug 2019 22:24:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150798173706323/blob156150798203007225') + .head('/container156599428053305694/blob156599428082502719') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0DAFB7E5"', + '"0x8D722988824FB23"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'facec436-301e-00ae-7eb3-2b59fc000000', + '5484201b-801e-00da-0e81-54dfba000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -80,58 +82,60 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798173706323/blob156150798203007225') + .put('/container156599428053305694/blob156599428082502719') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'ETag', - '"0x8D6F9CB0E090BAD"', + '"0x8D72298887BDD74"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3e4da93-c01e-00dd-40b3-2b293f000000', + '00639336-b01e-00d9-6181-54dcbd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-sequence-number', '1', 'Date', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150798173706323/blob156150798203007225') + .head('/container156599428053305694/blob156599428082502719') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0E090BAD"', + '"0x8D72298887BDD74"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4edd9f6f-701e-00c4-4eb3-2b0557000000', + 'bb51c0df-c01e-007c-1d81-54e7a4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -147,58 +151,60 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798173706323/blob156150798203007225') + .put('/container156599428053305694/blob156599428082502719') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:03 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'ETag', - '"0x8D6F9CB0E64F805"', + '"0x8D7229888D38345"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '96e9c75a-201e-0098-7ab3-2bf4ae000000', + '34ff7dca-b01e-0073-2b81-540a52000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-sequence-number', '10', 'Date', - 'Wed, 26 Jun 2019 00:13:03 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150798173706323/blob156150798203007225') + .head('/container156599428053305694/blob156599428082502719') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:03 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0E64F805"', + '"0x8D7229888D38345"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10afbd28-901e-002b-1eb3-2b0e29000000', + '9598d450-a01e-0067-2a81-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -214,58 +220,60 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798173706323/blob156150798203007225') + .put('/container156599428053305694/blob156599428082502719') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:04 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'ETag', - '"0x8D6F9CB0EBE99E9"', + '"0x8D72298892D2539"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ea6b9b4-101e-00b2-5cb3-2b81eb000000', + 'd9a93966-301e-0004-1f81-548f13000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-blob-sequence-number', '100', 'Date', - 'Wed, 26 Jun 2019 00:13:03 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150798173706323/blob156150798203007225') + .head('/container156599428053305694/blob156599428082502719') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:04 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0EBE99E9"', + '"0x8D72298892D2539"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de442ea1-c01e-007c-0db3-2be7a4000000', + '63bc41a2-901e-0002-0381-54786b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:02 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -281,28 +289,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:04 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150798173706323') + .delete('/container156599428053305694') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ec551a04-001e-002e-12b3-2bfa56000000', + '60dac6dc-a01e-00cd-4d81-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:04 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_uploadpages.js b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_uploadpages.js index eed27911da29..8fb27a6b46c8 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_uploadpages.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient/recording_uploadpages.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150797171107575","blob":"blob156150797200604263"} +module.exports.testInfo = {"container":"container156599427082206838","blob":"blob156599427112006568"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797171107575') + .put('/container156599427082206838') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:51 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'ETag', - '"0x8D6F9CB0788C89F"', + '"0x8D72298822ECB6F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a03d5c8e-d01e-00c2-42b3-2bf22f000000', + '6780610a-401e-0066-4f81-54c8cb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:51 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797171107575/blob156150797200604263') + .put('/container156599427082206838/blob156599427112006568') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:52 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'ETag', - '"0x8D6F9CB07B69E65"', + '"0x8D72298825C70E5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '27cc6977-e01e-008e-7ab3-2b3530000000', + '8f7b0cf5-a01e-006c-2481-54d142000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:12:51 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797171107575/blob156150797200604263') + .get('/container156599427082206838/blob156599427112006568') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:52 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB07B69E65"', + '"0x8D72298825C70E5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e5845c93-701e-00ed-6ab3-2b7315000000', + 'ae441477-101e-0031-4981-542146000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:52 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,71 +78,71 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:51 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797171107575/blob156150797200604263', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/container156599427082206838/blob156599427112006568', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'VpBzljOcorCZvRIkX5Nt3A==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:52 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'ETag', - '"0x8D6F9CB0811A02A"', + '"0x8D7229882B639C9"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'faceab3a-301e-00ae-73b3-2b59fc000000', + '7d3d0824-301e-0062-2981-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:12:52 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150797171107575/blob156150797200604263', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + .put('/container156599427082206838/blob156599427112006568', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'uk9S5NXZfBvPq4jGr+LM5g==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'ETag', - '"0x8D6F9CB0846C392"', + '"0x8D7229882E34555"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b6077d6-301e-0004-04b3-2b8f13000000', + 'd08d6d66-a01e-000a-2081-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797171107575/blob156150797200604263') + .get('/container156599427082206838/blob156599427112006568') .reply(206, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Content-Length', '512', 'Content-Type', @@ -148,19 +150,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-511/1024', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0846C392"', + '"0x8D7229882E34555"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a8f571c4-101e-0013-52b3-2b4f70000000', + '2c1078ba-b01e-0096-2281-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:52 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -172,17 +176,17 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150797171107575/blob156150797200604263') + .get('/container156599427082206838/blob156599427112006568') .reply(206, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", [ 'Content-Length', '512', 'Content-Type', @@ -190,19 +194,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 512-1023/1024', 'Last-Modified', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB0846C392"', + '"0x8D7229882E34555"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '84df81ea-901e-004d-45b3-2bbc73000000', + 'ecdd3efa-901e-00e7-1881-546a9c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:12:52 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -214,28 +220,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150797171107575') + .delete('/container156599427082206838') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd6ee79a5-e01e-0049-39b3-2b49f1000000', + '1c4bef08-001e-0025-5381-54e222000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:12:53 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js index 2858e29fac6b..d64c4e22e5da 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_connection_string.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150809576909485","blob":"blob156150809606104954"} +module.exports.testInfo = {"container":"container156599442710700895","blob":"blob156599442741108686"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809576909485') + .put('/container156599442710700895') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:56 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'ETag', - '"0x8D6F9CB517A56EC"', + '"0x8D72298DF57015B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '75a0bfb6-801e-00bc-68b4-2b6de0000000', + '3074e513-f01e-0012-1281-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:55 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809576909485/blob156150809606104954') + .put('/container156599442710700895/blob156599442741108686') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:56 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'ETag', - '"0x8D6F9CB51A72369"', + '"0x8D72298DF86CB0B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '333342a2-a01e-000a-2db4-2b6318000000', + '78638793-a01e-00a0-4881-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:56 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150809576909485/blob156150809606104954') + .get('/container156599442710700895/blob156599442741108686') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '512', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:56 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB51A72369"', + '"0x8D72298DF86CB0B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1aa6cf16-801e-0095-5eb4-2b1ba2000000', + 'db21d2c6-701e-00e6-0e81-546b61000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:56 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:55 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150809576909485') + .delete('/container156599442710700895') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3861e36e-e01e-00ac-57b4-2b5b06000000', + '75507f65-601e-00db-0a81-54de47000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:56 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index d6744d9406fb..bbd6ade32e27 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150809158706997","blob":"blob156150809188101098"} +module.exports.testInfo = {"container":"container156599442273002519","blob":"blob156599442306208368"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809158706997') + .put('/container156599442273002519') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:51 GMT', + 'Fri, 16 Aug 2019 22:27:02 GMT', 'ETag', - '"0x8D6F9CB4EFC8AF2"', + '"0x8D72298DCBAF285"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '990e51b2-801e-00da-60b4-2bdfba000000', + '7ee9e3f9-101e-0090-6a81-54efdd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:51 GMT', + 'Fri, 16 Aug 2019 22:27:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809158706997/blob156150809188101098') + .put('/container156599442273002519/blob156599442306208368') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:52 GMT', + 'Fri, 16 Aug 2019 22:27:03 GMT', 'ETag', - '"0x8D6F9CB4F292C8A"', + '"0x8D72298DCEE4271"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f05f0dc-801e-00d1-4eb4-2bc7ce000000', + '9f5006e9-701e-00a9-0181-54af79000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:51 GMT', + 'Fri, 16 Aug 2019 22:27:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150809158706997/blob156150809188101098') + .get('/container156599442273002519/blob156599442306208368') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '512', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:52 GMT', + 'Fri, 16 Aug 2019 22:27:03 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB4F292C8A"', + '"0x8D72298DCEE4271"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '95047e1f-501e-0050-49b4-2b6599000000', + '44e350cc-301e-00ea-0781-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:52 GMT', + 'Fri, 16 Aug 2019 22:27:03 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:52 GMT', + 'Fri, 16 Aug 2019 22:27:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150809158706997') + .delete('/container156599442273002519') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dbcc3bfd-101e-0018-0fb4-2b5704000000', + 'f4fe6cb0-701e-0047-2681-54a5fa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:52 GMT', + 'Fri, 16 Aug 2019 22:27:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 055c7a24b031..17dc2ca464c1 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150809279806304","blob":"blob156150809309506791"} +module.exports.testInfo = {"container":"container156599442398001705","blob":"blob156599442433402030"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809279806304') + .put('/container156599442398001705') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'ETag', - '"0x8D6F9CB4FB567EB"', + '"0x8D72298DD7A3516"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '607ee21d-501e-00be-25b4-2b6f1a000000', + '4eb48a43-d01e-008d-4d81-543637000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809279806304/blob156150809309506791') + .put('/container156599442398001705/blob156599442433402030') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'ETag', - '"0x8D6F9CB4FE1EF93"', + '"0x8D72298DDB0CB5D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c0f6ee1b-901e-00a3-31b4-2bb6f0000000', + '557dcc4d-401e-00ee-6c81-547012000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:52 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150809279806304/blob156150809309506791') + .get('/container156599442398001705/blob156599442433402030') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '512', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB4FE1EF93"', + '"0x8D72298DDB0CB5D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b69fb0b-501e-0014-27b4-2bb9f5000000', + '013983ea-401e-004f-2781-54be89000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150809279806304') + .delete('/container156599442398001705') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f2f1231-301e-00a5-33b4-2b4188000000', + 'c59ccc47-a01e-00c6-7681-5407ad000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index c7e888f9e99d..4ad744450d1f 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,70 +1,72 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150809458204025","blob":"blob156150809487605965"} +module.exports.testInfo = {"container":"container156599442586801884","blob":"blob156599442617800008"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809458204025') + .put('/container156599442586801884') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:54 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'ETag', - '"0x8D6F9CB50C57C94"', + '"0x8D72298DE9A40A7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3fdfe3fc-901e-00c5-4bb4-2b04aa000000', + 'a11f82da-101e-00b2-5d81-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809458204025/blob156150809487605965') + .put('/container156599442586801884/blob156599442617800008') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:55 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'ETag', - '"0x8D6F9CB50F3431E"', + '"0x8D72298DECAABDE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd57aeac4-d01e-0027-66b4-2be0d8000000', + '1c311e50-c01e-0055-7981-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:54 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150809458204025/blob156150809487605965') + .get('/container156599442586801884/blob156599442617800008') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '512', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:55 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB50F3431E"', + '"0x8D72298DECAABDE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10b0bcbd-901e-002b-12b4-2b0e29000000', + 'be58b22d-701e-00c4-5481-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:55 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -76,28 +78,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:54 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150809458204025') + .delete('/container156599442586801884') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ed2ae88-701e-0003-49b4-2b7996000000', + 'b0766a1b-801e-0070-2981-540955000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:55 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index ff0ad19f56b3..29dcb91d0796 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150809397900675","blob":"blob156150809427300799"} +module.exports.testInfo = {"container":"container156599442525103445","blob":"blob156599442555605588"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809397900675') + .put('/container156599442525103445') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:54 GMT', + 'Fri, 16 Aug 2019 22:27:05 GMT', 'ETag', - '"0x8D6F9CB50691E14"', + '"0x8D72298DE3B595E"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b522df3-801e-009e-6eb4-2b03d6000000', + 'd1b96e62-c01e-0038-1081-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:53 GMT', + 'Fri, 16 Aug 2019 22:27:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150809397900675') + .delete('/container156599442525103445') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '54591eae-101e-003a-64b4-2b3932000000', + '6515c1cc-b01e-001e-0281-54a07c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:54 GMT', + 'Fri, 16 Aug 2019 22:27:05 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_startcopyincremental.js b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_startcopyincremental.js index 4c8172d2727d..d7e80a900be6 100644 --- a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_startcopyincremental.js +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_startcopyincremental.js @@ -1,168 +1,172 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150807565306844","blob":"blob156150807594804285","page":"page156150807682504796"} +module.exports.testInfo = {"container":"container156599440263508432","blob":"blob156599440293606928","page":"page156599440385009340"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844') + .put('/container156599440263508432') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:35 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'ETag', - '"0x8D6F9CB457D09B2"', + '"0x8D72298D0C049DA"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53a3f5d7-201e-0032-2fb4-2b2241000000', + '7d3e06f1-301e-0062-5b81-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:34 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844/blob156150807594804285') + .put('/container156599440263508432/blob156599440293606928') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:36 GMT', + 'Fri, 16 Aug 2019 22:26:43 GMT', 'ETag', - '"0x8D6F9CB45A907A2"', + '"0x8D72298D0EF15DC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e264120-501e-0097-25b4-2b1958000000', + '4c3c380a-f01e-0074-5d81-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:14:35 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844/blob156150807594804285', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + .put('/container156599440263508432/blob156599440293606928', "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'u+ZALNybfiA2/JfpqRcmzQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:36 GMT', + 'Fri, 16 Aug 2019 22:26:43 GMT', 'ETag', - '"0x8D6F9CB45D6133D"', + '"0x8D72298D11DF689"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd245bc2-c01e-0038-5db4-2b3bc8000000', + '379cc00a-e01e-00c1-0b81-54f128000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:14:36 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844/blob156150807594804285') + .put('/container156599440263508432/blob156599440293606928') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:36 GMT', + 'Fri, 16 Aug 2019 22:26:43 GMT', 'ETag', - '"0x8D6F9CB45D6133D"', + '"0x8D72298D11DF689"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '17f61ca2-901e-0009-74b4-2b601f000000', + 'be589e83-701e-00c4-3e81-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-26T00:14:36.7790812Z', + '2019-08-16T22:26:43.8001827Z', + 'x-ms-request-server-encrypted', + 'false', 'Date', - 'Wed, 26 Jun 2019 00:14:35 GMT', + 'Fri, 16 Aug 2019 22:26:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844', "") + .put('/container156599440263508432', "") .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:37 GMT', + 'Fri, 16 Aug 2019 22:26:44 GMT', 'ETag', - '"0x8D6F9CB46303833"', + '"0x8D72298D17A0C6D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a28990b4-001e-0025-20b4-2be222000000', + '16fee0b3-201e-00b1-2481-5482ec000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:36 GMT', + 'Fri, 16 Aug 2019 22:26:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844/page156150807682504796') + .put('/container156599440263508432/page156599440385009340') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:42 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'ETag', - '"0x8D6F9CB497B5A94"', + '"0x8D72298D4E6D1A1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3861da38-e01e-00ac-20b4-2b5b06000000', + '77d23051-d01e-00e0-6681-549c19000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - '3111b958-10e7-4d57-98a7-26dc36e49118', + '0ad502fb-e82c-4762-9a3c-b374b0c3000d', 'x-ms-copy-status', 'pending', 'Date', - 'Wed, 26 Jun 2019 00:14:42 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150807565306844/page156150807682504796') + .head('/container156599440263508432/page156599440385009340') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:42 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB4984F948"', + '"0x8D72298D4FC5951"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2fb25e40-001e-0061-54b4-2b3e4e000000', + 'c7b6c6a5-301e-00e1-5981-549de4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-sourcemeta', 'val', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:42 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -172,19 +176,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-blob-sequence-number', '0', 'x-ms-copy-id', - '3111b958-10e7-4d57-98a7-26dc36e49118', + '0ad502fb-e82c-4762-9a3c-b374b0c3000d', 'x-ms-copy-source', - 'https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:36.7790812Z', + 'https://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:43.8001827Z', 'x-ms-copy-status', 'success', 'x-ms-copy-progress', '1024/1024', 'x-ms-copy-completion-time', - 'Wed, 26 Jun 2019 00:14:42 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'x-ms-incremental-copy', 'true', 'x-ms-copy-destination-snapshot', - '2019-06-26T00:14:42.6712573Z', + '2019-08-16T22:26:49.9965687Z', 'x-ms-server-encrypted', 'true', 'x-ms-access-tier', @@ -192,135 +196,139 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-sourcemeta,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-incremental-copy,x-ms-copy-destination-snapshot,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-sourcemeta,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-incremental-copy,x-ms-copy-destination-snapshot,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:45 GMT', + 'Fri, 16 Aug 2019 22:26:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150807565306844') + .get('/container156599440263508432') .query(true) - .reply(200, "blob1561508075948042852019-06-26T00:14:36.7790812ZWed, 26 Jun 2019 00:14:36 GMTWed, 26 Jun 2019 00:14:36 GMT0x8D6F9CB45D6133D1024application/octet-stream0PageBlobtrueblob156150807594804285Wed, 26 Jun 2019 00:14:36 GMTWed, 26 Jun 2019 00:14:36 GMT0x8D6F9CB45D6133D1024application/octet-stream0PageBlobCooltrueunlockedavailabletruepage1561508076825047962019-06-26T00:14:42.6712573ZWed, 26 Jun 2019 00:14:42 GMTWed, 26 Jun 2019 00:14:42 GMT0x8D6F9CB498631FD1024application/octet-stream0PageBlob3111b958-10e7-4d57-98a7-26dc36e49118https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:36.7790812Zsuccess1024/1024Wed, 26 Jun 2019 00:14:42 GMTtrue2019-06-26T00:14:42.6712573Ztruepage156150807682504796Wed, 26 Jun 2019 00:14:42 GMTWed, 26 Jun 2019 00:14:42 GMT0x8D6F9CB4984F9481024application/octet-stream0PageBlobCooltrueunlockedavailable3111b958-10e7-4d57-98a7-26dc36e49118https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:36.7790812Zsuccess1024/1024Wed, 26 Jun 2019 00:14:42 GMTtrue2019-06-26T00:14:42.6712573Ztrue", [ 'Transfer-Encoding', + .reply(200, "blob1565994402936069282019-08-16T22:26:43.8001827ZFri, 16 Aug 2019 22:26:43 GMTFri, 16 Aug 2019 22:26:43 GMT0x8D72298D11DF6891024application/octet-stream0PageBlobCooltruetrue0blob156599440293606928Fri, 16 Aug 2019 22:26:43 GMTFri, 16 Aug 2019 22:26:43 GMT0x8D72298D11DF6891024application/octet-stream0PageBlobCooltrueunlockedavailabletrue0page1565994403850093402019-08-16T22:26:49.9965687ZFri, 16 Aug 2019 22:26:49 GMTFri, 16 Aug 2019 22:26:49 GMT0x8D72298D4FD6AF71024application/octet-stream0PageBlobCooltrue0ad502fb-e82c-4762-9a3c-b374b0c3000dhttps://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:43.8001827Zsuccess1024/1024Fri, 16 Aug 2019 22:26:49 GMTtrue2019-08-16T22:26:49.9965687Ztrue0page156599440385009340Fri, 16 Aug 2019 22:26:49 GMTFri, 16 Aug 2019 22:26:49 GMT0x8D72298D4FC59511024application/octet-stream0PageBlobCooltrueunlockedavailable0ad502fb-e82c-4762-9a3c-b374b0c3000dhttps://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:43.8001827Zsuccess1024/1024Fri, 16 Aug 2019 22:26:49 GMTtrue2019-08-16T22:26:49.9965687Ztrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cb563032-001e-006a-2eb4-2b263a000000', + '88313bbd-501e-0097-7c81-541958000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:45 GMT', + 'Fri, 16 Aug 2019 22:26:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844/blob156150807594804285', "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc") + .put('/container156599440263508432/blob156599440293606928', "cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'I2Pl5jQ6Lyr9HgxzPysQ9A==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:46 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'ETag', - '"0x8D6F9CB4BDAA047"', + '"0x8D72298D786875D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6adea0d2-901e-00e7-0fb4-2b6a9c000000', + '5969e5b4-e01e-008e-5681-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'x-ms-blob-sequence-number', '0', 'Date', - 'Wed, 26 Jun 2019 00:14:46 GMT', + 'Fri, 16 Aug 2019 22:26:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844/blob156150807594804285') + .put('/container156599440263508432/blob156599440293606928') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:46 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'ETag', - '"0x8D6F9CB4BDAA047"', + '"0x8D72298D786875D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f3966933-801e-003f-63b4-2bcd4d000000', + '8f7c22b8-a01e-006c-3481-54d142000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-26T00:14:46.8992529Z', + '2019-08-16T22:26:54.5567988Z', + 'x-ms-request-server-encrypted', + 'false', 'Date', - 'Wed, 26 Jun 2019 00:14:46 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150807565306844/page156150807682504796') + .put('/container156599440263508432/page156599440385009340') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:47 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'ETag', - '"0x8D6F9CB4C461FCB"', + '"0x8D72298D7ECFCE1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b37c934-301e-00ea-09b4-2b8590000000', + '65c788e3-301e-0069-4d81-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - 'a02a3357-7273-46bd-8d19-23dfc6cb3b49', + '79b2c15c-c562-4560-9047-05a7d0d359fb', 'x-ms-copy-status', 'pending', 'Date', - 'Wed, 26 Jun 2019 00:14:47 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150807565306844/page156150807682504796') + .head('/container156599440263508432/page156599440385009340') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:47 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB4C5564DA"', + '"0x8D72298D7F00AB8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1a05492c-b01e-0096-7db4-2b18a5000000', + '7fac0259-b01e-0078-1881-541226000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-sourcemeta', 'val', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:42 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -330,19 +338,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-blob-sequence-number', '0', 'x-ms-copy-id', - 'a02a3357-7273-46bd-8d19-23dfc6cb3b49', + '79b2c15c-c562-4560-9047-05a7d0d359fb', 'x-ms-copy-source', - 'https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:46.8992529Z', + 'https://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:54.5567988Z', 'x-ms-copy-status', 'success', 'x-ms-copy-progress', '1024/1024', 'x-ms-copy-completion-time', - 'Wed, 26 Jun 2019 00:14:47 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'x-ms-incremental-copy', 'true', 'x-ms-copy-destination-snapshot', - '2019-06-26T00:14:47.3916019Z', + '2019-08-16T22:26:54.9580837Z', 'x-ms-server-encrypted', 'true', 'x-ms-access-tier', @@ -350,60 +358,62 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-sourcemeta,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-incremental-copy,x-ms-copy-destination-snapshot,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-sourcemeta,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-incremental-copy,x-ms-copy-destination-snapshot,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:49 GMT', + 'Fri, 16 Aug 2019 22:26:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150807565306844') + .get('/container156599440263508432') .query(true) - .reply(200, "blob1561508075948042852019-06-26T00:14:36.7790812ZWed, 26 Jun 2019 00:14:36 GMTWed, 26 Jun 2019 00:14:36 GMT0x8D6F9CB45D6133D1024application/octet-stream0PageBlobtrueblob1561508075948042852019-06-26T00:14:46.8992529ZWed, 26 Jun 2019 00:14:36 GMTWed, 26 Jun 2019 00:14:46 GMT0x8D6F9CB4BDAA0471024application/octet-stream0PageBlobtrueblob156150807594804285Wed, 26 Jun 2019 00:14:36 GMTWed, 26 Jun 2019 00:14:46 GMT0x8D6F9CB4BDAA0471024application/octet-stream0PageBlobCooltrueunlockedavailabletruepage1561508076825047962019-06-26T00:14:42.6712573ZWed, 26 Jun 2019 00:14:42 GMTWed, 26 Jun 2019 00:14:42 GMT0x8D6F9CB498631FD1024application/octet-stream0PageBlob3111b958-10e7-4d57-98a7-26dc36e49118https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:36.7790812Zsuccess1024/1024Wed, 26 Jun 2019 00:14:42 GMTtrue2019-06-26T00:14:42.6712573Ztruepage1561508076825047962019-06-26T00:14:47.3916019ZWed, 26 Jun 2019 00:14:42 GMTWed, 26 Jun 2019 00:14:47 GMT0x8D6F9CB4C5676731024application/octet-stream0PageBloba02a3357-7273-46bd-8d19-23dfc6cb3b49https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:46.8992529Zsuccess1024/1024Wed, 26 Jun 2019 00:14:47 GMTtrue2019-06-26T00:14:47.3916019Ztruepage156150807682504796Wed, 26 Jun 2019 00:14:42 GMTWed, 26 Jun 2019 00:14:47 GMT0x8D6F9CB4C5564DA1024application/octet-stream0PageBlobCooltrueunlockedavailablea02a3357-7273-46bd-8d19-23dfc6cb3b49https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:46.8992529Zsuccess1024/1024Wed, 26 Jun 2019 00:14:47 GMTtrue2019-06-26T00:14:47.3916019Ztrue", [ 'Transfer-Encoding', + .reply(200, "blob1565994402936069282019-08-16T22:26:43.8001827ZFri, 16 Aug 2019 22:26:43 GMTFri, 16 Aug 2019 22:26:43 GMT0x8D72298D11DF6891024application/octet-stream0PageBlobCooltruetrue0blob1565994402936069282019-08-16T22:26:54.5567988ZFri, 16 Aug 2019 22:26:43 GMTFri, 16 Aug 2019 22:26:54 GMT0x8D72298D786875D1024application/octet-stream0PageBlobCooltruetrue0blob156599440293606928Fri, 16 Aug 2019 22:26:43 GMTFri, 16 Aug 2019 22:26:54 GMT0x8D72298D786875D1024application/octet-stream0PageBlobCooltrueunlockedavailabletrue0page1565994403850093402019-08-16T22:26:49.9965687ZFri, 16 Aug 2019 22:26:49 GMTFri, 16 Aug 2019 22:26:49 GMT0x8D72298D4FD6AF71024application/octet-stream0PageBlobCooltrue0ad502fb-e82c-4762-9a3c-b374b0c3000dhttps://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:43.8001827Zsuccess1024/1024Fri, 16 Aug 2019 22:26:49 GMTtrue2019-08-16T22:26:49.9965687Ztrue0page1565994403850093402019-08-16T22:26:54.9580837ZFri, 16 Aug 2019 22:26:49 GMTFri, 16 Aug 2019 22:26:54 GMT0x8D72298D7F27C251024application/octet-stream0PageBlobCooltrue79b2c15c-c562-4560-9047-05a7d0d359fbhttps://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:54.5567988Zsuccess1024/1024Fri, 16 Aug 2019 22:26:54 GMTtrue2019-08-16T22:26:54.9580837Ztrue0page156599440385009340Fri, 16 Aug 2019 22:26:49 GMTFri, 16 Aug 2019 22:26:54 GMT0x8D72298D7F00AB81024application/octet-stream0PageBlobCooltrueunlockedavailable79b2c15c-c562-4560-9047-05a7d0d359fbhttps://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:54.5567988Zsuccess1024/1024Fri, 16 Aug 2019 22:26:54 GMTtrue2019-08-16T22:26:54.9580837Ztrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e8ac19eb-d01e-00c9-63b4-2bea5b000000', + 'd42129e6-701e-00cf-4281-541d23000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:50 GMT', + 'Fri, 16 Aug 2019 22:26:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150807565306844/page156150807682504796') + .head('/container156599440263508432/page156599440385009340') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:47 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB4C5564DA"', + '"0x8D72298D7F00AB8"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd57ae47a-d01e-0027-2ab4-2be0d8000000', + '9fd02149-a01e-00e4-2681-54699b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-meta-sourcemeta', 'val', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:14:42 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -413,19 +423,19 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-blob-sequence-number', '0', 'x-ms-copy-id', - 'a02a3357-7273-46bd-8d19-23dfc6cb3b49', + '79b2c15c-c562-4560-9047-05a7d0d359fb', 'x-ms-copy-source', - 'https://fakestorageaccount.blob.core.windows.net/container156150807565306844/blob156150807594804285?snapshot=2019-06-26T00:14:46.8992529Z', + 'https://fakestorageaccount.blob.core.windows.net/container156599440263508432/blob156599440293606928?snapshot=2019-08-16T22:26:54.5567988Z', 'x-ms-copy-status', 'success', 'x-ms-copy-progress', '1024/1024', 'x-ms-copy-completion-time', - 'Wed, 26 Jun 2019 00:14:47 GMT', + 'Fri, 16 Aug 2019 22:26:54 GMT', 'x-ms-incremental-copy', 'true', 'x-ms-copy-destination-snapshot', - '2019-06-26T00:14:47.3916019Z', + '2019-08-16T22:26:54.9580837Z', 'x-ms-server-encrypted', 'true', 'x-ms-access-tier', @@ -433,28 +443,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,x-ms-meta-sourcemeta,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-incremental-copy,x-ms-copy-destination-snapshot,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,x-ms-meta-sourcemeta,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-copy-id,x-ms-copy-source,x-ms-copy-status,x-ms-copy-progress,x-ms-copy-completion-time,x-ms-incremental-copy,x-ms-copy-destination-snapshot,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:50 GMT', + 'Fri, 16 Aug 2019 22:26:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150807565306844') + .delete('/container156599440263508432') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '12b6e062-301e-000f-7eb4-2b9767000000', + '9bebf5b2-601e-0058-3981-547eea000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:50 GMT', + 'Fri, 16 Aug 2019 22:26:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_uploadpagesfromurl.js b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_uploadpagesfromurl.js new file mode 100644 index 000000000000..08db37193c03 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/pageblobclient_nodejs_only/recording_uploadpagesfromurl.js @@ -0,0 +1,271 @@ +let nock = require('nock'); + +module.exports.testInfo = {"container":"container156599441926808742","blob":"blob156599441957403232","blockblob":"blockblob156599442019509953","undefined":"2019-08-16T22:27:00.501Z"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599441926808742') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'ETag', + '"0x8D72298DAAACDCF"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '3cbb5527-601e-0017-0e81-54baf2000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599441926808742/blob156599441957403232') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'ETag', + '"0x8D72298DADB2EDE"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'f68beecc-101e-00d4-3881-5433b1000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156599441926808742/blob156599441957403232') + .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', + '1024', + 'Content-Type', + 'application/octet-stream', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298DADB2EDE"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '6515b50c-b01e-001e-4481-54a07c000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'PageBlob', + 'x-ms-blob-sequence-number', + '0', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599441926808742/blockblob156599442019509953', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb") + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + 'M7JgimpVGenaItzrpXsK3g==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:00 GMT', + 'ETag', + '"0x8D72298DB38A218"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'e6961187-101e-005c-5381-548b68000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:27:00 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599441926808742/blob156599441957403232') + .query(true) + .reply(201, "", [ 'Content-MD5', + 'VpBzljOcorCZvRIkX5Nt3A==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:00 GMT', + 'ETag', + '"0x8D72298DB7CE368"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-blob-sequence-number', + '0', + 'x-ms-request-server-encrypted', + 'true', + 'x-ms-request-id', + '805d03f8-201e-0039-6c81-543a35000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:27:00 GMT', + 'Connection', + 'close', + 'Content-Length', + '0' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599441926808742/blob156599441957403232') + .query(true) + .reply(201, "", [ 'Content-MD5', + 'uk9S5NXZfBvPq4jGr+LM5g==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:01 GMT', + 'ETag', + '"0x8D72298DBF780DD"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-blob-sequence-number', + '0', + 'x-ms-request-server-encrypted', + 'true', + 'x-ms-request-id', + '1f29b3a9-901e-0081-3c81-54d8c6000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:27:01 GMT', + 'Connection', + 'close', + 'Content-Length', + '0' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156599441926808742/blob156599441957403232') + .reply(206, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Content-Length', + '512', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 0-511/1024', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:01 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298DBF780DD"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '717b1f2f-401e-0088-3081-54c248000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'PageBlob', + 'x-ms-blob-sequence-number', + '0', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:27:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .get('/container156599441926808742/blob156599441957403232') + .reply(206, "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", [ 'Content-Length', + '512', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 512-1023/1024', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:01 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298DBF780DD"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '9bebfc7b-601e-0058-4a81-547eea000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:26:59 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'PageBlob', + 'x-ms-blob-sequence-number', + '0', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:27:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156599441926808742') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '9c6a5a8b-d01e-00c9-1b81-54ea5b000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:27:01 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js new file mode 100644 index 000000000000..3f7e120506f8 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js @@ -0,0 +1,41 @@ +let nock = require('nock'); + +module.exports.testInfo = {"container":"container156599428696406966"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599428696406966') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:24:47 GMT', + 'ETag', + '"0x8D722988BCDE99D"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '24c2cb3c-401e-0022-6d81-5414a7000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:24:46 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156599428696406966') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '882ffb24-501e-0097-2f81-541958000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:24:48 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js index 96967c0f2ba3..7fa325ab74bb 100644 --- a/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js +++ b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150798591602419"} +module.exports.testInfo = {"container":"container156599428957605955"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798591602419') + .put('/container156599428957605955') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:06 GMT', + 'Fri, 16 Aug 2019 22:24:49 GMT', 'ETag', - '"0x8D6F9CB10013C98"', + '"0x8D722988D5BDAB1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '29849ffa-b01e-003c-29b3-2bce4a000000', + 'b9b7ca52-501e-0014-6b81-54b9f5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:05 GMT', + 'Fri, 16 Aug 2019 22:24:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150798591602419') + .delete('/container156599428957605955') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f2e6db1-301e-00a5-5cb3-2b4188000000', + '1d879b9c-501e-0036-6681-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:10 GMT', + 'Fri, 16 Aug 2019 22:24:53 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js index a0a02b946781..a49d6d126abd 100644 --- a/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js +++ b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150799053206898"} +module.exports.testInfo = {"container":"container156599429421507855"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150799053206898') + .put('/container156599429421507855') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:10 GMT', + 'Fri, 16 Aug 2019 22:24:54 GMT', 'ETag', - '"0x8D6F9CB12C12142"', + '"0x8D72298901F7B9C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e8ab9519-d01e-00c9-5cb3-2bea5b000000', + '301b3fac-f01e-00b8-4a81-549862000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:10 GMT', + 'Fri, 16 Aug 2019 22:24:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount-secondary.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150799053206898') + .get('/container156599429421507855') .query(true) - .reply(404, "ContainerNotFoundThe specified container does not exist.\nRequestId:dabb7d2b-901e-0027-1ab3-2bf0cd000000\nTime:2019-06-26T00:13:14.4492191Z", [ 'Content-Length', + .reply(404, "ContainerNotFoundThe specified container does not exist.\nRequestId:63462c4d-401e-0025-5d81-54f237000000\nTime:2019-08-16T22:24:54.9497562Z", [ 'Content-Length', '225', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dabb7d2b-901e-0027-1ab3-2bf0cd000000', + '63462c4d-401e-0025-5d81-54f237000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'ContainerNotFound', 'Access-Control-Expose-Headers', @@ -43,24 +43,24 @@ nock('https://fakestorageaccount-secondary.blob.core.windows.net:443', {"encoded 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:13 GMT', + 'Fri, 16 Aug 2019 22:24:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150799053206898') + .delete('/container156599429421507855') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfc9288e-b01e-0051-72b3-2b6464000000', + '5a573321-a01e-0082-3f81-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:14 GMT', + 'Fri, 16 Aug 2019 22:24:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js index 0551ea294fa9..117bd2e24626 100644 --- a/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js +++ b/sdk/storage/storage-blob/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"container":"container156150798472402574"} +module.exports.testInfo = {"container":"container156599428579503559"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798472402574') + .put('/container156599428579503559') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:04 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'ETag', - '"0x8D6F9CB0F4AC438"', + '"0x8D722988B1AF2B7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0c835a2e-d01e-00af-5cb3-2b5801000000', + '42d04c82-301e-00c8-5a81-54eba6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:04 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150798472402574') + .put('/container156599428579503559') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:05 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'ETag', - '"0x8D6F9CB0F781284"', + '"0x8D722988B47A185"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dbcba731-101e-0018-0ab3-2b5704000000', + '1dcab4a6-c01e-0033-2281-5423bc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:05 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150798472402574') + .get('/container156599428579503559') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:05 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'ETag', - '"0x8D6F9CB0F781284"', + '"0x8D722988B47A185"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f3708f49-501e-009c-47b3-2b012c000000', + 'c00ee873-701e-00a2-0881-54b70d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key0', 'val0', 'x-ms-meta-keya', @@ -78,24 +78,24 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:04 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150798472402574') + .delete('/container156599428579503559') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99b2f41-701e-008b-4fb3-2bc14f000000', + '77d0f41e-d01e-00e0-7681-549c19000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:05 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js index 7725510a60bc..4592bbc76037 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js @@ -1,20 +1,20 @@ let nock = require('nock'); -module.exports.testInfo = {"tmr":"2019-06-26T00:14:58.498Z"} +module.exports.testInfo = {"tmr":"2019-08-16T22:27:08.662Z"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.\nRequestId:6f05faea-801e-00d1-55b4-2bc7ce000000\nTime:2019-06-26T00:14:58.7381496Z", [ 'Content-Length', + .reply(403, "AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.\nRequestId:1dcb9bad-c01e-0033-3381-5423bc000000\nTime:2019-08-16T22:27:08.9157204Z", [ 'Content-Length', '279', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f05faea-801e-00d1-55b4-2bc7ce000000', + '1dcb9bad-c01e-0033-3381-5423bc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'AuthorizationPermissionMismatch', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:58 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js index f7a9f513d63f..635d6488c64c 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js @@ -1,20 +1,20 @@ let nock = require('nock'); -module.exports.testInfo = {"tmr":"2019-06-26T00:14:59.078Z"} +module.exports.testInfo = {"tmr":"2019-08-16T22:27:09.272Z"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationResourceTypeMismatchThis request is not authorized to perform this operation using this resource type.\nRequestId:4b6a0944-501e-0014-18b4-2bb9f5000000\nTime:2019-06-26T00:14:59.3250157Z", [ 'Content-Length', + .reply(403, "AuthorizationResourceTypeMismatchThis request is not authorized to perform this operation using this resource type.\nRequestId:84ea0098-801e-00bc-6681-546de0000000\nTime:2019-08-16T22:27:09.5277277Z", [ 'Content-Length', '284', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b6a0944-501e-0014-18b4-2bb9f5000000', + '84ea0098-801e-00bc-6681-546de0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'AuthorizationResourceTypeMismatch', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:58 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js index 6465985804af..a79b4c00bbea 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js @@ -1,18 +1,18 @@ let nock = require('nock'); -module.exports.testInfo = {"tmr":"2019-06-26T00:14:58.785Z"} +module.exports.testInfo = {"tmr":"2019-08-16T22:27:08.967Z"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationServiceMismatchThis request is not authorized to perform this operation using this service.\nRequestId:a99c1714-701e-008b-7cb4-2bc14f000000\nTime:2019-06-26T00:14:59.0299728Z", [ 'Content-Length', + .reply(403, "AuthorizationServiceMismatchThis request is not authorized to perform this operation using this service.\nRequestId:24a322d0-001e-00ad-7581-545afb000000\nTime:2019-08-16T22:27:09.2190892Z", [ 'Content-Length', '273', 'Content-Type', 'application/xml', 'Server', 'Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99c1714-701e-008b-7cb4-2bc14f000000', + '24a322d0-001e-00ad-7581-545afb000000', 'x-ms-error-code', 'AuthorizationServiceMismatch', 'Access-Control-Expose-Headers', @@ -20,7 +20,7 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:58 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js index 53b4cf62ef7f..0ebaff067fa9 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-26T00:14:58.164Z","tmr":"2019-06-26T00:14:58.182Z"} +module.exports.testInfo = {"now":"2019-08-16T22:27:08.343Z","tmr":"2019-08-16T22:27:08.343Z"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) .get('/') @@ -10,9 +10,9 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70cabb0a-701e-00e6-2cb4-2b6b61000000', + 'd705246d-801e-007b-1081-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-sku-name', 'Standard_RAGRS', 'x-ms-account-kind', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:57 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob.js index 03857d035d08..68086d02d619 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob.js @@ -1,52 +1,52 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-26T00:15:00.290Z","tmr":"2019-06-26T00:15:00.290Z","container":"container156150810029005117","blob":"blob156150810058705079"} +module.exports.testInfo = {"now":"2019-08-16T22:27:11.792Z","tmr":"2019-08-16T22:27:11.792Z","container":"container156599443179201256","blob":"blob156599443210202550"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150810029005117') + .put('/container156599443179201256') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'ETag', - '"0x8D6F9CB542C80AE"', + '"0x8D72298E2226CCD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6adea817-901e-00e7-78b4-2b6a9c000000', + '3cbb698a-601e-0017-3581-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150810029005117/blob156150810058705079') + .put('/container156599443179201256/blob156599443210202550') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'ETag', - '"0x8D6F9CB545A64BE"', + '"0x8D72298E2519015"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0c844be5-d01e-00af-5cb4-2b5801000000', + '2c11c0bf-b01e-0096-7081-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150810029005117/blob156150810058705079') + .head('/container156599443179201256/blob156599443210202550') .query(true) .reply(200, [], [ 'Cache-Control', 'cache-control-override', @@ -59,19 +59,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'content-language-override', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB545A64BE"', + '"0x8D72298E2519015"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f2f1e5b-301e-00a5-5fb4-2b4188000000', + 'd4b7a99d-601e-00b6-7281-547469000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -89,28 +91,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Cache-Control,Content-Disposition,Content-Encoding,Content-Language,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Cache-Control,Content-Disposition,Content-Encoding,Content-Language,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150810029005117') + .delete('/container156599443179201256') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '49c1e8bd-201e-0010-2fb4-2b4c77000000', + 'd4b7a9fa-601e-00b6-4281-547469000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:15:00 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_snapshot.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_snapshot.js new file mode 100644 index 000000000000..1bb402a2df47 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_snapshot.js @@ -0,0 +1,141 @@ +let nock = require('nock'); + +module.exports.testInfo = {"now":"2019-08-16T22:27:12.936Z","tmr":"2019-08-16T22:27:12.936Z","container":"container156599443293603788","blob":"blob156599443324008867"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599443293603788') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'ETag', + '"0x8D72298E2D036FA"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c59cd82a-a01e-00c6-5f81-5407ad000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:27:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599443293603788/blob156599443324008867') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'ETag', + '"0x8D72298E2FF068D"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '77fb5e87-601e-001c-4381-54a286000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599443293603788/blob156599443324008867') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'ETag', + '"0x8D72298E2FF068D"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '1b0fb1ce-d01e-0027-7d81-54e0d8000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-snapshot', + '2019-08-16T22:27:13.8004245Z', + 'x-ms-request-server-encrypted', + 'false', + 'Date', + 'Fri, 16 Aug 2019 22:27:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .head('/container156599443293603788/blob156599443324008867') + .query(true) + .reply(200, [], [ 'Cache-Control', + 'cache-control-override', + 'Content-Length', + '1024', + 'Content-Type', + 'content-type-override', + 'Content-Encoding', + 'content-encoding-override', + 'Content-Language', + 'content-language-override', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298E2FF068D"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '24a32ce4-001e-00ad-7f81-545afb000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-snapshot', + '2019-08-16T22:27:13.8004245Z', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'x-ms-blob-type', + 'PageBlob', + 'x-ms-blob-sequence-number', + '0', + 'Content-Disposition', + 'content-disposition-override', + 'x-ms-server-encrypted', + 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-snapshot,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-blob-type,x-ms-blob-sequence-number,Cache-Control,Content-Disposition,Content-Encoding,Content-Language,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156599443293603788') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '1d886c07-501e-0036-4781-54d7c3000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:27:13 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_access_policy.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_access_policy.js index 8a3a741962fa..d78d422f3d5a 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_access_policy.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_access_policy.js @@ -1,92 +1,94 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-26T00:15:02.691Z","tmr":"2019-06-26T00:15:02.691Z","container":"container156150810269103955","blob":"blob156150810298304705"} +module.exports.testInfo = {"now":"2019-08-16T22:27:15.651Z","tmr":"2019-08-16T22:27:15.651Z","container":"container156599443565109837","blob":"blob156599443595508177"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150810269103955') + .put('/container156599443565109837') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:02 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'ETag', - '"0x8D6F9CB559A4FBC"', + '"0x8D72298E46ED7F1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99c1f0e-701e-008b-7fb4-2bc14f000000', + '60dc1203-a01e-00cd-4881-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:15:02 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150810269103955/blob156150810298304705') + .put('/container156599443565109837/blob156599443595508177') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:03 GMT', + 'Fri, 16 Aug 2019 22:27:16 GMT', 'ETag', - '"0x8D6F9CB55C7CBB5"', + '"0x8D72298E49D22FE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25c2fbe4-f01e-0074-30b4-2bfcd7000000', + '3074f5cd-f01e-0012-0681-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:15:02 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150810269103955', "unique-id2019-06-26T00:10:02.6910000Z2019-06-27T00:15:02.6910000Zracwdl") + .put('/container156599443565109837', "unique-id2019-08-16T22:22:15.6510000Z2019-08-17T22:27:15.6510000Zracwdl") .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:03 GMT', + 'Fri, 16 Aug 2019 22:27:16 GMT', 'ETag', - '"0x8D6F9CB55F4E60C"', + '"0x8D72298E4CBE505"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd7e7fa96-a01e-0082-5ab4-2bdbc1000000', + '2da6155d-601e-007a-4281-5410dc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:15:03 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container156150810269103955/blob156150810298304705') + .head('/container156599443565109837/blob156599443595508177') .query(true) .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:03 GMT', + 'Fri, 16 Aug 2019 22:27:16 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB55C7CBB5"', + '"0x8D72298E49D22FE"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd235b746-e01e-00ca-62b4-2be95c000000', + '88317ad2-501e-0097-1b81-541958000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:15:03 GMT', + 'Fri, 16 Aug 2019 22:27:16 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -102,28 +104,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:15:03 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150810269103955') + .delete('/container156599443565109837') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f2f23b7-301e-00a5-17b4-2b4188000000', + '4ebb9af7-301e-00c3-6581-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:15:03 GMT', + 'Fri, 16 Aug 2019 22:27:16 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_previous_api_version.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_previous_api_version.js new file mode 100644 index 000000000000..a2033d9e33c2 --- /dev/null +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_previous_api_version.js @@ -0,0 +1,118 @@ +let nock = require('nock'); + +module.exports.testInfo = {"now":"2019-08-16T22:27:10.581Z","tmr":"2019-08-16T22:27:10.581Z","container":"container156599443058103089","blob":"blob156599443088308345"} + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599443058103089') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:10 GMT', + 'ETag', + '"0x8D72298E168A20E"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '379cf571-e01e-00c1-0881-54f128000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:27:10 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .put('/container156599443058103089/blob156599443088308345') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:11 GMT', + 'ETag', + '"0x8D72298E1976D19"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'ff278991-501e-0079-2f81-5413db000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:27:10 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .head('/container156599443058103089/blob156599443088308345') + .query(true) + .reply(200, [], [ 'Cache-Control', + 'cache-control-override', + 'Content-Length', + '1024', + 'Content-Type', + 'content-type-override', + 'Content-Encoding', + 'content-encoding-override', + 'Content-Language', + 'content-language-override', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:27:11 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D72298E1976D19"', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c00f8566-701e-00a2-1581-54b70d000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-tag-count', + '0', + 'x-ms-creation-time', + 'Fri, 16 Aug 2019 22:27:11 GMT', + 'x-ms-lease-status', + 'unlocked', + 'x-ms-lease-state', + 'available', + 'x-ms-blob-type', + 'PageBlob', + 'x-ms-blob-sequence-number', + '0', + 'Content-Disposition', + 'content-disposition-override', + 'x-ms-server-encrypted', + 'true', + 'x-ms-access-tier', + 'Cool', + 'x-ms-access-tier-inferred', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Cache-Control,Content-Disposition,Content-Encoding,Content-Language,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:27:11 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/container156599443058103089') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'dbfe2a15-b01e-0015-7881-54b808000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:27:10 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_special_namings.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_special_namings.js index f1d591d3e42d..429554a32421 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_special_namings.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_blob_with_special_namings.js @@ -1,52 +1,52 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-26T00:15:01.483Z","tmr":"2019-06-26T00:15:01.483Z","container-with-dash":"container-with-dash156150810148309337","////Upper/blob/empty /another 汉字 ру́сский язы́к ру́сский язы́к عربي/عربى にっぽんご/にほんご . special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'":"////Upper/blob/empty /another 汉字 ру́сский язы́к ру́сский язы́к عربي/عربى にっぽんご/にほんご . special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156150810178504923"} +module.exports.testInfo = {"now":"2019-08-16T22:27:14.465Z","tmr":"2019-08-16T22:27:14.465Z","container-with-dash":"container-with-dash156599443446502517","////Upper/blob/empty /another 汉字 ру́сский язы́к ру́сский язы́к عربي/عربى にっぽんご/にほんご . special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'":"////Upper/blob/empty /another 汉字 ру́сский язы́к ру́сский язы́к عربي/عربى にっぽんご/にほんご . special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156599443476706727"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container-with-dash156150810148309337') + .put('/container-with-dash156599443446502517') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:01 GMT', + 'Fri, 16 Aug 2019 22:27:14 GMT', 'ETag', - '"0x8D6F9CB54E3066B"', + '"0x8D72298E3B9400C"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a4eb071-a01e-00cd-48b4-2b1fd9000000', + '786390c3-a01e-00a0-0281-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:15:01 GMT', + 'Fri, 16 Aug 2019 22:27:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container-with-dash156150810148309337/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89%20%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94%20.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156150810178504923') + .put('/container-with-dash156599443446502517/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89%20%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94%20.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156599443476706727') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:02 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'ETag', - '"0x8D6F9CB5510DD97"', + '"0x8D72298E3EB17E5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcc9e9d2-601e-003e-7eb4-2bccb0000000', + 'e4910ee1-b01e-0037-3581-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:15:01 GMT', + 'Fri, 16 Aug 2019 22:27:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/container-with-dash156150810148309337/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89%20%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94%20.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156150810178504923') + .head('/container-with-dash156599443446502517/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA%20%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89%20%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94%20.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156599443476706727') .query(true) .reply(200, [], [ 'Cache-Control', 'cache-control-override', @@ -59,19 +59,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'content-language-override', 'Last-Modified', - 'Wed, 26 Jun 2019 00:15:02 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB5510DD97"', + '"0x8D72298E3EB17E5"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e34c8083-c01e-0033-4cb4-2b23bc000000', + 'e4910f48-b01e-0037-0f81-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:15:02 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -89,28 +91,28 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Cache-Control,Content-Disposition,Content-Encoding,Content-Language,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-blob-sequence-number,Cache-Control,Content-Disposition,Content-Encoding,Content-Language,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:15:01 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container-with-dash156150810148309337') + .delete('/container-with-dash156599443446502517') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '75a0c91c-801e-00bc-17b4-2b6de0000000', + '58f39de7-f01e-0019-2081-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:15:02 GMT', + 'Fri, 16 Aug 2019 22:27:14 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_container.js b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_container.js index f085a6fda97b..34ba2aee419a 100644 --- a/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_container.js +++ b/sdk/storage/storage-blob/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateblobsasqueryparameters_should_work_for_container.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-26T00:14:59.374Z","tmr":"2019-06-26T00:14:59.374Z","container":"container156150809937406727"} +module.exports.testInfo = {"now":"2019-08-16T22:27:09.578Z","tmr":"2019-08-16T22:27:09.578Z","container":"container156599442957806108"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/container156150809937406727') + .put('/container156599442957806108') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:14:59 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'ETag', - '"0x8D6F9CB53A071B5"', + '"0x8D72298E0CFC171"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3934b53b-301e-0062-07b4-2b3d49000000', + '9a53464b-201e-0076-1381-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:59 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/container156150809937406727') + .get('/container156599442957806108') .query(true) - .reply(200, "", [ 'Transfer-Encoding', + .reply(200, "", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e266197-501e-0097-1db4-2b1958000000', + '963a6f0e-a01e-004e-7e81-54bf74000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:14:59 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/container156150809937406727') + .delete('/container156599442957806108') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0111f6f3-c01e-005e-6fb4-2b8992000000', + '9b6bde0b-e01e-006b-5181-5427c7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:14:59 GMT', + 'Fri, 16 Aug 2019 22:27:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_after_all_hook.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_after_all_hook.js index 6c7ef62b12b3..0363858001b7 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_after_all_hook.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_after_all_hook.js @@ -3,18 +3,18 @@ let nock = require('nock'); module.exports.testInfo = {} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/1container-with-dash156150799480401154') + .delete('/1container-with-dash156599429530306867') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '32bab352-e01e-006b-49b3-2b27c7000000', + '0f00d57f-d01e-002c-5481-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:31 GMT', + 'Fri, 16 Aug 2019 22:25:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_before_all_hook.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_before_all_hook.js index 53f4f78c14c0..a826498837a9 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_before_all_hook.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_before_all_hook.js @@ -1,24 +1,24 @@ let nock = require('nock'); -module.exports.testInfo = {"1container-with-dash":"1container-with-dash156150799480401154"} +module.exports.testInfo = {"1container-with-dash":"1container-with-dash156599429530306867"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154') + .put('/1container-with-dash156599429530306867') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:15 GMT', + 'Fri, 16 Aug 2019 22:24:55 GMT', 'ETag', - '"0x8D6F9CB154BDB15"', + '"0x8D7229890C578B7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b90e97a0-301e-008c-50b3-2b37ca000000', + 'f48b1b55-201e-007d-3d81-54e659000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Wed, 26 Jun 2019 00:13:14 GMT', + 'Fri, 16 Aug 2019 22:24:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic.js index 10434b1d7b69..d8159db585ce 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"عربي/عربى":"عربي/عربى156150800773209357"} +module.exports.testInfo = {"عربي/عربى":"عربي/عربى156599432235404743"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150800773209357', "A") + .put('/1container-with-dash156599429530306867/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156599432235404743', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:22 GMT', 'ETag', - '"0x8D6F9CB1D01DF0E"', + '"0x8D72298A0E8EB2F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4f7678f0-101e-0075-2bb3-2bfd2a000000', + '84e951a1-801e-00bc-6181-546de0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150800773209357') + .head('/1container-with-dash156599429530306867/%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156599432235404743') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:22 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1D01DF0E"', + '"0x8D72298A0E8EB2F"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a99b5b63-701e-008b-55b3-2bc14f000000', + '7fab467e-b01e-0078-0981-541226000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:22 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:28 GMT', + 'Fri, 16 Aug 2019 22:25:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "عربي/عربى156150800773209357عربي/عربى156150800773209357Wed, 26 Jun 2019 00:13:27 GMTWed, 26 Jun 2019 00:13:27 GMT0x8D6F9CB1D01DF0E1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "عربي/عربى156599432235404743عربي/عربى156599432235404743Fri, 16 Aug 2019 22:25:22 GMTFri, 16 Aug 2019 22:25:22 GMT0x8D72298A0E8EB2F1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5b97d1dd-801e-0016-0db3-2bbb0f000000', + '24c2f5b7-401e-0022-5c81-5414a7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:28 GMT', + 'Fri, 16 Aug 2019 22:25:22 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.js index 3a1d228e9808..1ebbe903fe27 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_in_url_string.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"عربي/عربى":"عربي/عربى156150800871405458"} +module.exports.testInfo = {"عربي/عربى":"عربي/عربى156599432326705148"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156150800871405458', "A") + .put('/1container-with-dash156599429530306867/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156599432326705148', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:28 GMT', + 'Fri, 16 Aug 2019 22:25:23 GMT', 'ETag', - '"0x8D6F9CB1D975C68"', + '"0x8D72298A170F890"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b6922a0-501e-0014-57b3-2bb9f5000000', + 'c3421b54-501e-0072-7f81-540baf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:28 GMT', + 'Fri, 16 Aug 2019 22:25:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156150800871405458') + .head('/1container-with-dash156599429530306867/%D8%B9%D8%B1%D8%A8%D9%8A/%D8%B9%D8%B1%D8%A8%D9%89156599432326705148') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:28 GMT', + 'Fri, 16 Aug 2019 22:25:23 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1D975C68"', + '"0x8D72298A170F890"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c29e2241-a01e-006c-34b3-2bd142000000', + '9d574ada-301e-008c-6081-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:28 GMT', + 'Fri, 16 Aug 2019 22:25:23 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:28 GMT', + 'Fri, 16 Aug 2019 22:25:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "عربي/عربى156150800871405458عربي/عربى156150800871405458Wed, 26 Jun 2019 00:13:28 GMTWed, 26 Jun 2019 00:13:28 GMT0x8D6F9CB1D975C681application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "عربي/عربى156599432326705148عربي/عربى156599432326705148Fri, 16 Aug 2019 22:25:23 GMTFri, 16 Aug 2019 22:25:23 GMT0x8D72298A170F8901application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a4a3e4a6-001e-000c-3fb3-2b9460000000', + '2d8e253a-301e-004b-7881-544b0b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:29 GMT', + 'Fri, 16 Aug 2019 22:25:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.js index 7f70ef3a89bd..da59593b53ca 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_arabic_uri_encoded.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"عربي/عربى":"عربي/عربى156150800684400824"} +module.exports.testInfo = {"عربي/عربى":"عربي/عربى156599432148008073"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150800684400824', "A") + .put('/1container-with-dash156599429530306867/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156599432148008073', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:21 GMT', 'ETag', - '"0x8D6F9CB1C7A9518"', + '"0x8D72298A05FF36D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f6568ae-601e-00db-2bb3-2bde47000000', + '79b1ac17-d01e-0068-3c81-5424c0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:26 GMT', + 'Fri, 16 Aug 2019 22:25:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150800684400824') + .head('/1container-with-dash156599429530306867/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156599432148008073') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:21 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1C7A9518"', + '"0x8D72298A05FF36D"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53a3b4f3-201e-0032-70b3-2b2241000000', + '8fce048f-101e-0018-6c81-545704000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:21 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:26 GMT', + 'Fri, 16 Aug 2019 22:25:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150800684400824%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150800684400824Wed, 26 Jun 2019 00:13:27 GMTWed, 26 Jun 2019 00:13:27 GMT0x8D6F9CB1C7A95181application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156599432148008073%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156599432148008073Fri, 16 Aug 2019 22:25:21 GMTFri, 16 Aug 2019 22:25:21 GMT0x8D72298A05FF36D1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '393443a5-301e-0062-37b3-2b3d49000000', + '1f28e501-901e-0081-5f81-54d8c6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:27 GMT', + 'Fri, 16 Aug 2019 22:25:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters.js index 3863aa064716..09a7363644dc 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'":"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156150800167909902"} +module.exports.testInfo = {"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'":"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156599430201004077"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156150800167909902', "A") + .put('/1container-with-dash156599429530306867/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156599430201004077', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:02 GMT', 'ETag', - '"0x8D6F9CB19665D79"', + '"0x8D7229894C58E44"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '80b9be94-a01e-0023-52b3-2b155a000000', + '18cc6886-501e-00d8-2781-54dd40000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156150800167909902') + .head('/1container-with-dash156599429530306867/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C%2F%27156599430201004077') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:02 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB19665D79"', + '"0x8D7229894C58E44"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ce600816-701e-0065-1ab3-2bcbcc000000', + 'dbfd2a3e-b01e-0015-7481-54b808000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:02 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150800167909902汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150800167909902Wed, 26 Jun 2019 00:13:21 GMTWed, 26 Jun 2019 00:13:21 GMT0x8D6F9CB19665D791application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156599430201004077汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156599430201004077Fri, 16 Aug 2019 22:25:02 GMTFri, 16 Aug 2019 22:25:02 GMT0x8D7229894C58E441application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2fb1e06e-001e-0061-3cb3-2b3e4e000000', + '8f7b6462-a01e-006c-5b81-54d142000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:22 GMT', + 'Fri, 16 Aug 2019 22:25:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.js index 6a2aec43def4..5ea3ef1eee08 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_characters_in_url_string.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'":"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156150800257205852"} +module.exports.testInfo = {"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'":"汉字. special ~!@#$%^&*()_+`1234567890-={}|[]\\:\";'<>?,/'156599431792509302"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156150800257205852', "A") + .put('/1container-with-dash156599429530306867/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156599431792509302', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:22 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'ETag', - '"0x8D6F9CB19EE43C7"', + '"0x8D722989E43B651"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd7e77c06-a01e-0082-64b3-2bdbc1000000', + '5749c8fd-601e-0035-0481-54d4c4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:22 GMT', + 'Fri, 16 Aug 2019 22:25:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156150800257205852') + .head('/1container-with-dash156599429530306867/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26*()_%2B%601234567890-%3D%7B%7D%7C%5B%5D%5C%3A%22%3B%27%3C%3E%3F%2C/%27156599431792509302') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:22 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB19EE43C7"', + '"0x8D722989E43B651"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a4a3db26-001e-000c-1db3-2b9460000000', + 'a542981f-801e-00d1-6b81-54c7ce000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:22 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150800257205852汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156150800257205852Wed, 26 Jun 2019 00:13:22 GMTWed, 26 Jun 2019 00:13:22 GMT0x8D6F9CB19EE43C71application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156599431792509302汉字. special ~!@#$%^&*()_+`1234567890-={}|[]/:\";'<>?,/'156599431792509302Fri, 16 Aug 2019 22:25:18 GMTFri, 16 Aug 2019 22:25:18 GMT0x8D722989E43B6511application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ef7ed8cc-601e-001c-54b3-2ba286000000', + 'd35a5ae5-c01e-00dd-1981-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese.js index ff6e363b0d3a..2482eae098bc 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"にっぽんご/にほんご":"にっぽんご/にほんご156150801062403351"} +module.exports.testInfo = {"にっぽんご/にほんご":"にっぽんご/にほんご156599432504300677"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150801062403351', "A") + .put('/1container-with-dash156599429530306867/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599432504300677', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:30 GMT', + 'Fri, 16 Aug 2019 22:25:25 GMT', 'ETag', - '"0x8D6F9CB1EBB9F1E"', + '"0x8D72298A28076F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b5047885-401e-000b-6fb3-2b62e5000000', + 'f0d9f9eb-d01e-0041-6381-545282000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:30 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150801062403351') + .head('/1container-with-dash156599429530306867/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599432504300677') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:30 GMT', + 'Fri, 16 Aug 2019 22:25:25 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1EBB9F1E"', + '"0x8D72298A28076F7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1d96636-101e-00d4-3eb3-2b33b1000000', + '4e445d8b-001e-000c-0b81-549460000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:30 GMT', + 'Fri, 16 Aug 2019 22:25:25 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:31 GMT', + 'Fri, 16 Aug 2019 22:25:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "にっぽんご/にほんご156150801062403351にっぽんご/にほんご156150801062403351Wed, 26 Jun 2019 00:13:30 GMTWed, 26 Jun 2019 00:13:30 GMT0x8D6F9CB1EBB9F1E1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "にっぽんご/にほんご156599432504300677にっぽんご/にほんご156599432504300677Fri, 16 Aug 2019 22:25:25 GMTFri, 16 Aug 2019 22:25:25 GMT0x8D72298A28076F71application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e8d49f0-401e-0083-3bb3-2bda3c000000', + '95992314-a01e-0067-7d81-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:30 GMT', + 'Fri, 16 Aug 2019 22:25:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.js index 300ef3f882c5..27df53e3814b 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_in_url_string.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"にっぽんご/にほんご":"にっぽんご/にほんご156150801154006918"} +module.exports.testInfo = {"にっぽんご/にほんご":"にっぽんご/にほんご156599432592701247"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150801154006918', "A") + .put('/1container-with-dash156599429530306867/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599432592701247', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:31 GMT', + 'Fri, 16 Aug 2019 22:25:26 GMT', 'ETag', - '"0x8D6F9CB1F469304"', + '"0x8D72298A3072488"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f99ed95d-d01e-0086-34b3-2b2e43000000', + '039f11b2-901e-006f-0c81-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:31 GMT', + 'Fri, 16 Aug 2019 22:25:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150801154006918') + .head('/1container-with-dash156599429530306867/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94/%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599432592701247') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:31 GMT', + 'Fri, 16 Aug 2019 22:25:26 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1F469304"', + '"0x8D72298A3072488"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06f2fd24-e01e-00c1-3cb3-2bf128000000', + '6edb4a85-401e-00a1-4681-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:31 GMT', + 'Fri, 16 Aug 2019 22:25:26 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:31 GMT', + 'Fri, 16 Aug 2019 22:25:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "にっぽんご/にほんご156150801154006918にっぽんご/にほんご156150801154006918Wed, 26 Jun 2019 00:13:31 GMTWed, 26 Jun 2019 00:13:31 GMT0x8D6F9CB1F4693041application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "にっぽんご/にほんご156599432592701247にっぽんご/にほんご156599432592701247Fri, 16 Aug 2019 22:25:26 GMTFri, 16 Aug 2019 22:25:26 GMT0x8D72298A30724881application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5a839920-301e-00c3-34b3-2bf3d2000000', + '4869d226-201e-0093-6f81-54ecda000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:32 GMT', + 'Fri, 16 Aug 2019 22:25:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.js index 866d1fbef1b3..d16a223a03b8 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_japanese_uri_encoded.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"にっぽんご/にほんご":"にっぽんご/にほんご156150800963200652"} +module.exports.testInfo = {"にっぽんご/にほんご":"にっぽんご/にほんご156599432415701455"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150800963200652', "A") + .put('/1container-with-dash156599429530306867/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156599432415701455', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:29 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'ETag', - '"0x8D6F9CB1E233B0E"', + '"0x8D72298A1F95428"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bbb4391c-601e-0071-33b3-2b08a8000000', + 'fd90b332-e01e-00ca-2581-54e95c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:29 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150800963200652') + .head('/1container-with-dash156599429530306867/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%252F%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156599432415701455') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:29 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1E233B0E"', + '"0x8D72298A1F95428"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ade6839-901e-00e7-1fb3-2b6a9c000000', + 'fd2498b6-b01e-003c-7f81-54ce4a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:29 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:30 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150800963200652%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150800963200652Wed, 26 Jun 2019 00:13:29 GMTWed, 26 Jun 2019 00:13:29 GMT0x8D6F9CB1E233B0E1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599432415701455%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%2F%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599432415701455Fri, 16 Aug 2019 22:25:24 GMTFri, 16 Aug 2019 22:25:24 GMT0x8D72298A1F954281application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5c5edaae-b01e-0015-57b3-2bb808000000', + '6743d4d7-401e-00aa-5881-54ac7e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:29 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian.js index 84e43dde7ac3..df56f9fd1f75 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156150800439805152"} +module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156599431971103694"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150800439805152', "A") + .put('/1container-with-dash156599429530306867/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599431971103694', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:24 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'ETag', - '"0x8D6F9CB1B0452EE"', + '"0x8D722989F52985B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f370a621-501e-009c-7db3-2b012c000000', + 'f57ee3f3-901e-00a3-7981-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150800439805152') + .head('/1container-with-dash156599429530306867/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599431971103694') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:24 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1B0452EE"', + '"0x8D722989F52985B"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10afeec5-901e-002b-09b3-2b0e29000000', + '79b1aa97-d01e-0068-7d81-5424c0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:24 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:24 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "ру́сский язы́к156150800439805152ру́сский язы́к156150800439805152Wed, 26 Jun 2019 00:13:24 GMTWed, 26 Jun 2019 00:13:24 GMT0x8D6F9CB1B0452EE1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "ру́сский язы́к156599431971103694ру́сский язы́к156599431971103694Fri, 16 Aug 2019 22:25:19 GMTFri, 16 Aug 2019 22:25:19 GMT0x8D722989F52985B1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6670a3b7-c01e-0099-7ab3-2bf553000000', + '6500462d-f01e-009a-7781-54f654000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:24 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.js index 65d04e199ee5..65bd0a00ca68 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_in_url_string.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156150800533708033"} +module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156599432059803957"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150800533708033', "A") + .put('/1container-with-dash156599429530306867/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599432059803957', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:25 GMT', + 'Fri, 16 Aug 2019 22:25:20 GMT', 'ETag', - '"0x8D6F9CB1B947818"', + '"0x8D722989FD945F1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '49b14915-b01e-0078-6bb3-2b1226000000', + '6514f1be-b01e-001e-2981-54a07c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:25 GMT', + 'Fri, 16 Aug 2019 22:25:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150800533708033') + .head('/1container-with-dash156599429530306867/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599432059803957') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:25 GMT', + 'Fri, 16 Aug 2019 22:25:20 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1B947818"', + '"0x8D722989FD945F1"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '04e1e77a-701e-0080-43b3-2bd93b000000', + '2e2285e8-701e-00ed-4381-547315000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:25 GMT', + 'Fri, 16 Aug 2019 22:25:20 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:25 GMT', + 'Fri, 16 Aug 2019 22:25:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "ру́сский язы́к156150800533708033ру́сский язы́к156150800533708033Wed, 26 Jun 2019 00:13:25 GMTWed, 26 Jun 2019 00:13:25 GMT0x8D6F9CB1B9478181application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "ру́сский язы́к156599432059803957ру́сский язы́к156599432059803957Fri, 16 Aug 2019 22:25:20 GMTFri, 16 Aug 2019 22:25:20 GMT0x8D722989FD945F11application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9a073d17-501e-00d3-4ab3-2bc534000000', + '379c1a01-e01e-00c1-4881-54f128000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:26 GMT', + 'Fri, 16 Aug 2019 22:25:20 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.js index cada88b93890..4e04a6fbf3a7 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_name_russian_uri_encoded.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156150800347901909"} +module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156599431882007995"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150800347901909', "A") + .put('/1container-with-dash156599429530306867/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156599431882007995', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'ETag', - '"0x8D6F9CB1A79AD30"', + '"0x8D722989ECB9CA0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6ac422ee-201e-007d-48b3-2be659000000', + 'c936d558-f01e-0091-2981-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150800347901909') + .head('/1container-with-dash156599429530306867/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156599431882007995') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1A79AD30"', + '"0x8D722989ECB9CA0"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a15ac5bf-c01e-0077-4bb3-2bffd0000000', + '10fe003c-601e-009f-5781-54022b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150800347901909%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150800347901909Wed, 26 Jun 2019 00:13:23 GMTWed, 26 Jun 2019 00:13:23 GMT0x8D6F9CB1A79AD301application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599431882007995%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599431882007995Fri, 16 Aug 2019 22:25:19 GMTFri, 16 Aug 2019 22:25:19 GMT0x8D722989ECB9CA01application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcc97958-601e-003e-7db3-2bccb0000000', + '963a0324-a01e-004e-7381-54bf74000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:23 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.js index 6c4ef60daece..47098a938b60 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"////Upper/blob/empty /another 汉字":"////Upper/blob/empty /another 汉字156150799989906067"} +module.exports.testInfo = {"////Upper/blob/empty /another 汉字":"////Upper/blob/empty /another 汉字156599430026001764"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156150799989906067', "A") + .put('/1container-with-dash156599429530306867/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156599430026001764', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:20 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'ETag', - '"0x8D6F9CB185817C0"', + '"0x8D7229893BA0836"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdfa28db-701e-006e-74b3-2bd3b8000000', + '5876340b-b01e-005a-2f81-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:20 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156150799989906067') + .head('/1container-with-dash156599429530306867/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother%20%E6%B1%89%E5%AD%97156599430026001764') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:20 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB185817C0"', + '"0x8D7229893BA0836"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e34be01d-c01e-0033-2db3-2b23bc000000', + '8d71e107-c01e-0011-3c81-544d8a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:20 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "////Upper/blob/empty /another 汉字156150799989906067////Upper/blob/empty /another 汉字156150799989906067Wed, 26 Jun 2019 00:13:20 GMTWed, 26 Jun 2019 00:13:20 GMT0x8D6F9CB185817C01application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "////Upper/blob/empty /another 汉字156599430026001764////Upper/blob/empty /another 汉字156599430026001764Fri, 16 Aug 2019 22:25:00 GMTFri, 16 Aug 2019 22:25:00 GMT0x8D7229893BA08361application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e2ee604-b01e-00d2-56b3-2bc4c9000000', + '24a24876-001e-00ad-1981-545afb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.js index ff3fdab12082..807f75ce4d9a 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_blob_names_chinese_characters_in_url_string.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"////Upper/blob/empty /another 汉字":"////Upper/blob/empty /another 汉字156150800079405826"} +module.exports.testInfo = {"////Upper/blob/empty /another 汉字":"////Upper/blob/empty /another 汉字156599430113007624"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156150800079405826', "A") + .put('/1container-with-dash156599429530306867/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156599430113007624', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:01 GMT', 'ETag', - '"0x8D6F9CB18DF3A9A"', + '"0x8D72298943F07CD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '72f502b7-d01e-004a-0ab3-2b4af6000000', + 'a5428375-801e-00d1-3b81-54c7ce000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:20 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156150800079405826') + .head('/1container-with-dash156599429530306867/////Upper/blob/empty%20/another%20%E6%B1%89%E5%AD%97156599430113007624') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:01 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB18DF3A9A"', + '"0x8D72298943F07CD"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '00c96951-701e-00cf-7cb3-2b1d23000000', + '596960a0-e01e-008e-3781-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:01 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "////Upper/blob/empty /another 汉字156150800079405826////Upper/blob/empty /another 汉字156150800079405826Wed, 26 Jun 2019 00:13:21 GMTWed, 26 Jun 2019 00:13:21 GMT0x8D6F9CB18DF3A9A1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "////Upper/blob/empty /another 汉字156599430113007624////Upper/blob/empty /another 汉字156599430113007624Fri, 16 Aug 2019 22:25:01 GMTFri, 16 Aug 2019 22:25:01 GMT0x8D72298943F07CD1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '720ef157-001e-00e9-6eb3-2b8697000000', + '58f26043-f01e-0019-4881-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:21 GMT', + 'Fri, 16 Aug 2019 22:25:01 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.js index 2da87546c463..7f4239443d23 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"////Upper/blob/empty /another":"////Upper/blob/empty /another156150799811503066"} +module.exports.testInfo = {"////Upper/blob/empty /another":"////Upper/blob/empty /another156599429850406365"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156150799811503066', "A") + .put('/1container-with-dash156599429530306867/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156599429850406365', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:18 GMT', + 'Fri, 16 Aug 2019 22:24:58 GMT', 'ETag', - '"0x8D6F9CB174627D5"', + '"0x8D7229892AE5B11"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bbb42e43-601e-0071-72b3-2b08a8000000', + '6d10913c-b01e-00d2-6181-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:18 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156150799811503066') + .head('/1container-with-dash156599429530306867/%2F%2F%2F%2FUpper%2Fblob%2Fempty%20%2Fanother156599429850406365') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:18 GMT', + 'Fri, 16 Aug 2019 22:24:58 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB174627D5"', + '"0x8D7229892AE5B11"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5176500b-d01e-0041-4ab3-2b5282000000', + '97d361cc-901e-002b-0581-540e29000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:18 GMT', + 'Fri, 16 Aug 2019 22:24:58 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:17 GMT', + 'Fri, 16 Aug 2019 22:24:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "////Upper/blob/empty /another156150799811503066////Upper/blob/empty /another156150799811503066Wed, 26 Jun 2019 00:13:18 GMTWed, 26 Jun 2019 00:13:18 GMT0x8D6F9CB174627D51application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "////Upper/blob/empty /another156599429850406365////Upper/blob/empty /another156599429850406365Fri, 16 Aug 2019 22:24:58 GMTFri, 16 Aug 2019 22:24:58 GMT0x8D7229892AE5B111application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '030eed47-101e-009b-80b3-2bf7a9000000', + '3d32ca5d-401e-000b-1a81-5462e5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:18 GMT', + 'Fri, 16 Aug 2019 22:24:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.js index 739b66aa2adc..e7322a144453 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_uppercase_in_url_string.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"////Upper/blob/empty /another":"////Upper/blob/empty /another156150799900408117"} +module.exports.testInfo = {"////Upper/blob/empty /another":"////Upper/blob/empty /another156599429938304242"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/////Upper/blob/empty%20/another156150799900408117', "A") + .put('/1container-with-dash156599429530306867/////Upper/blob/empty%20/another156599429938304242', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'ETag', - '"0x8D6F9CB17CE5C50"', + '"0x8D722989334BA78"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de1f4ded-101e-0031-21b3-2b2146000000', + '1c30b907-c01e-0055-2781-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:24:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/////Upper/blob/empty%20/another156150799900408117') + .head('/1container-with-dash156599429530306867/////Upper/blob/empty%20/another156599429938304242') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB17CE5C50"', + '"0x8D722989334BA78"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ccc31c53-101e-0090-18b3-2befdd000000', + 'f4fe020d-701e-0047-7481-54a5fa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "////Upper/blob/empty /another156150799900408117////Upper/blob/empty /another156150799900408117Wed, 26 Jun 2019 00:13:19 GMTWed, 26 Jun 2019 00:13:19 GMT0x8D6F9CB17CE5C501application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "////Upper/blob/empty /another156599429938304242////Upper/blob/empty /another156599429938304242Fri, 16 Aug 2019 22:24:59 GMTFri, 16 Aug 2019 22:24:59 GMT0x8D722989334BA781application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '55530ff5-d01e-0068-5eb3-2b24c0000000', + 'b69795c7-001e-0007-0881-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:19 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.js index 3a0fc6a46f5c..c25065723432 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"////blob/empty /another":"////blob/empty /another156150799633604511"} +module.exports.testInfo = {"////blob/empty /another":"////blob/empty /another156599429672408850"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156150799633604511', "A") + .put('/1container-with-dash156599429530306867/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156599429672408850', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:16 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'ETag', - '"0x8D6F9CB1636A99B"', + '"0x8D72298919F03D7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06f2ecc9-e01e-00c1-1fb3-2bf128000000', + '9a5223cd-201e-0076-3081-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:15 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156150799633604511') + .head('/1container-with-dash156599429530306867/%2F%2F%2F%2Fblob%2Fempty%20%2Fanother156599429672408850') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:16 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB1636A99B"', + '"0x8D72298919F03D7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '38618f2d-e01e-00ac-02b3-2b5b06000000', + '7dcf4831-f01e-0030-7581-5420bb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:16 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:16 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "////blob/empty /another156150799633604511////blob/empty /another156150799633604511Wed, 26 Jun 2019 00:13:16 GMTWed, 26 Jun 2019 00:13:16 GMT0x8D6F9CB1636A99B1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "////blob/empty /another156599429672408850////blob/empty /another156599429672408850Fri, 16 Aug 2019 22:24:56 GMTFri, 16 Aug 2019 22:24:56 GMT0x8D72298919F03D71application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f3709c9a-501e-009c-1cb3-2b012c000000', + '4c3b53a6-f01e-0074-7681-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:16 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.js index a2a45787a2fe..5039f26d721c 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with__in_url_string.js @@ -1,33 +1,33 @@ let nock = require('nock'); -module.exports.testInfo = {"////blob/empty /another":"////blob/empty /another156150799722007827"} +module.exports.testInfo = {"////blob/empty /another":"////blob/empty /another156599429760708654"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/////blob/empty%20/another156150799722007827', "A") + .put('/1container-with-dash156599429530306867/////blob/empty%20/another156599429760708654', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:17 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'ETag', - '"0x8D6F9CB16BD570A"', + '"0x8D722989224EDDF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '00c95da0-701e-00cf-58b3-2b1d23000000', + 'c00ef420-701e-00a2-1081-54b70d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:17 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1container-with-dash156150799480401154/////blob/empty%20/another156150799722007827') + .head('/1container-with-dash156599429530306867/////blob/empty%20/another156599429760708654') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', @@ -35,19 +35,21 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:17 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9CB16BD570A"', + '"0x8D722989224EDDF"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '565c5a1c-c01e-0055-67b3-2b91e6000000', + '431f42fb-101e-003a-2281-543932000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', + 'x-ms-tag-count', + '0', 'x-ms-creation-time', - 'Wed, 26 Jun 2019 00:13:17 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'x-ms-lease-status', 'unlocked', 'x-ms-lease-state', @@ -61,34 +63,34 @@ nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParam 'x-ms-access-tier-inferred', 'true', 'Access-Control-Expose-Headers', - 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'x-ms-request-id,Server,x-ms-version,x-ms-tag-count,Content-Type,Last-Modified,ETag,x-ms-creation-time,Content-MD5,x-ms-lease-status,x-ms-lease-state,x-ms-blob-type,x-ms-server-encrypted,x-ms-access-tier,x-ms-access-tier-inferred,Accept-Ranges,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:17 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "////blob/empty /another156150799722007827////blob/empty /another156150799722007827Wed, 26 Jun 2019 00:13:17 GMTWed, 26 Jun 2019 00:13:17 GMT0x8D6F9CB16BD570A1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "////blob/empty /another156599429760708654////blob/empty /another156599429760708654Fri, 16 Aug 2019 22:24:57 GMTFri, 16 Aug 2019 22:24:57 GMT0x8D722989224EDDF1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a56085d-a01e-0028-63b3-2b0d2e000000', + '3cba96af-601e-0017-3381-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:17 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.js index 2dfbf5763cbb..a5257c004d03 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces.js @@ -1,50 +1,50 @@ let nock = require('nock'); -module.exports.testInfo = {"blob empty":"blob empty156150799509506860"} +module.exports.testInfo = {"blob empty":"blob empty156599429559907393"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/blob%20empty156150799509506860', "A") + .put('/1container-with-dash156599429530306867/blob%20empty156599429559907393', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:15 GMT', + 'Fri, 16 Aug 2019 22:24:55 GMT', 'ETag', - '"0x8D6F9CB1580F436"', + '"0x8D7229890F55EC7"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1aa61ada-801e-0095-5cb3-2b1ba2000000', + 'e2eb22c5-d01e-0005-3281-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:14 GMT', + 'Fri, 16 Aug 2019 22:24:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "blob empty156150799509506860blob empty156150799509506860Wed, 26 Jun 2019 00:13:15 GMTWed, 26 Jun 2019 00:13:15 GMT0x8D6F9CB1580F4361application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "blob empty156599429559907393blob empty156599429559907393Fri, 16 Aug 2019 22:24:55 GMTFri, 16 Aug 2019 22:24:55 GMT0x8D7229890F55EC71application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9413b076-b01e-00b4-02b3-2b7693000000', + '457d5f51-001e-008f-5081-5434cd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:15 GMT', + 'Fri, 16 Aug 2019 22:24:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.js b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.js index 700e7725cc9b..8915e522f26c 100644 --- a/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.js +++ b/sdk/storage/storage-blob/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_blob_names_with_spaces_in_url_string.js @@ -1,50 +1,50 @@ let nock = require('nock'); -module.exports.testInfo = {"blob empty":"blob empty156150799574308928"} +module.exports.testInfo = {"blob empty":"blob empty156599429620301393"} nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1container-with-dash156150799480401154/blob%20empty156150799574308928', "A") + .put('/1container-with-dash156599429530306867/blob%20empty156599429620301393', "A") .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'f8VicOenD6gaWTW3Lqy+KQ==', 'Last-Modified', - 'Wed, 26 Jun 2019 00:13:15 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'ETag', - '"0x8D6F9CB15DC442E"', + '"0x8D72298914F27CC"', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '030eea4b-101e-009b-72b3-2bf7a9000000', + 'c936ab25-f01e-0091-6c81-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Wed, 26 Jun 2019 00:13:15 GMT', + 'Fri, 16 Aug 2019 22:24:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.blob.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1container-with-dash156150799480401154') + .get('/1container-with-dash156599429530306867') .query(true) - .reply(200, "blob empty156150799574308928blob empty156150799574308928Wed, 26 Jun 2019 00:13:15 GMTWed, 26 Jun 2019 00:13:15 GMT0x8D6F9CB15DC442E1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue", [ 'Transfer-Encoding', + .reply(200, "blob empty156599429620301393blob empty156599429620301393Fri, 16 Aug 2019 22:24:56 GMTFri, 16 Aug 2019 22:24:56 GMT0x8D72298914F27CC1application/octet-streamf8VicOenD6gaWTW3Lqy+KQ==BlockBlobCooltrueunlockedavailabletrue0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9a072e62-501e-00d3-57b3-2bc534000000', + 'c936ab90-f01e-0091-4c81-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Wed, 26 Jun 2019 00:13:16 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-blob/rollup.base.config.js b/sdk/storage/storage-blob/rollup.base.config.js index cc9d9bfcdb62..f3a563094e0d 100644 --- a/sdk/storage/storage-blob/rollup.base.config.js +++ b/sdk/storage/storage-blob/rollup.base.config.js @@ -113,12 +113,9 @@ export function browserConfig(test = false, production = false) { preferBuiltins: false }), cjs({ - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 namedExports: { - "events/": ["EventEmitter"], - "assert/": ["ok", "deepEqual", "equal", "fail", "deepStrictEqual", "notDeepEqual"] + events: ["EventEmitter"], + assert: ["ok", "deepEqual", "equal", "fail", "deepStrictEqual", "notDeepEqual"] } }) ] diff --git a/sdk/storage/storage-blob/samples/javascript/advanced.js b/sdk/storage/storage-blob/samples/javascript/advanced.js index 2c30e8534ecf..b7d8ef450330 100644 --- a/sdk/storage/storage-blob/samples/javascript/advanced.js +++ b/sdk/storage/storage-blob/samples/javascript/advanced.js @@ -45,7 +45,11 @@ async function main() { // logger: MyLogger, // A customized logger implementing IHttpPipelineLogger interface logger: new ConsoleHttpPipelineLogger(HttpPipelineLogLevel.INFO), retryOptions: { maxTries: 4 }, // Retry options - telemetry: { value: "AdvancedSample V1.0.0" } // Customized telemetry string + telemetry: { value: "AdvancedSample V1.0.0" }, // Customized telemetry string + keepAliveOptions: { + // Keep alive is enabled by default, disable keep alive by setting false + enable: false + } }); const blobServiceClient = new BlobServiceClient( diff --git a/sdk/storage/storage-blob/samples/typescript/advanced.ts b/sdk/storage/storage-blob/samples/typescript/advanced.ts index c2dc45a0c221..ff252f3f5fa8 100644 --- a/sdk/storage/storage-blob/samples/typescript/advanced.ts +++ b/sdk/storage/storage-blob/samples/typescript/advanced.ts @@ -46,7 +46,11 @@ async function main() { // logger: MyLogger, // A customized logger implementing IHttpPipelineLogger interface logger: new ConsoleHttpPipelineLogger(HttpPipelineLogLevel.INFO), retryOptions: { maxTries: 4 }, // Retry options - telemetry: { value: "AdvancedSample V1.0.0" } // Customized telemetry string + telemetry: { value: "AdvancedSample V1.0.0" }, // Customized telemetry string + keepAliveOptions: { + // Keep alive is enabled by default, disable keep alive by setting false + enable: false + } }); const blobServiceClient = new BlobServiceClient( diff --git a/sdk/storage/storage-blob/src/AppendBlobClient.ts b/sdk/storage/storage-blob/src/AppendBlobClient.ts index 4a44f010425f..97a76ed7ed9a 100644 --- a/sdk/storage/storage-blob/src/AppendBlobClient.ts +++ b/sdk/storage/storage-blob/src/AppendBlobClient.ts @@ -9,16 +9,17 @@ import { isNode } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; +import * as Models from "./generated/src/models"; import { AbortSignalLike, AbortSignal } from "@azure/abort-controller"; import { BlobClient } from "./internal"; -import { AppendBlob } from "./generated/lib/operations"; +import { AppendBlob } from "./generated/src/operations"; import { AppendBlobAccessConditions, BlobAccessConditions, Metadata } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; import { URLConstants } from "./utils/constants"; import { setURLParameter, extractConnectionStringParts } from "./utils/utils.common"; import { SharedKeyCredential } from "./credentials/SharedKeyCredential"; import { AnonymousCredential } from "./credentials/AnonymousCredential"; +import { rangeToString } from "./Range"; /** * Options to configure Append Blob - Create operation. @@ -98,6 +99,40 @@ export interface AppendBlobAppendBlockOptions { transactionalContentMD5?: Uint8Array; } +export interface AppendBlobAppendBlockFromURLOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof AppendBlobAppendBlockFromURLOptions + */ + abortSignal?: AbortSignalLike; + /** + * Conditions to meet when appending append blob blocks. + * + * @type {AppendBlobAccessConditions} + * @memberof AppendBlobAppendBlockFromURLOptions + */ + accessConditions?: AppendBlobAccessConditions; + /** + * Conditions to meet for the source Azure Blob/File when copying from a URL to the blob. + * + * @type {Models.ModifiedAccessConditions} + * @memberof AppendBlobAppendBlockFromURLOptions + */ + sourceModifiedAccessConditions?: Models.ModifiedAccessConditions; + /** + * A Uint8Array holding the MD5 hash of the source block content. + * It is only used to verify the integrity of the block during transport. + * It is not stored in with the blob. + * + * @type {Uint8Array} + * @memberof AppendBlobAppendBlockFromURLOptions + */ + sourceContentMD5?: Uint8Array; +} + /** * AppendBlobClient defines a set of operations applicable to append blobs. * @@ -299,7 +334,7 @@ export class AppendBlobClient extends BlobClient { * @see https://docs.microsoft.com/rest/api/storageservices/append-block * * @param {HttpRequestBody} body Data to be appended. - * @param {number} contentLength Number of bytes to be appended. + * @param {number} contentLength Length of the body in bytes. * @param {AppendBlobAppendBlockOptions} [options] Options to the Append Block operation. * @returns {Promise} * @memberof AppendBlobClient @@ -320,4 +355,48 @@ export class AppendBlobClient extends BlobClient { transactionalContentMD5: options.transactionalContentMD5 }); } + + /** + * The Append Block operation commits a new block of data to the end of an existing append blob + * where the contents are read from a source url. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/append-block-from-url + * + * @param {Aborter} aborter Create a new Aborter instance with Aborter.none or Aborter.timeout(), + * goto documents of Aborter for more examples about request cancellation + * @param {string} sourceURL + * The url to the blob that will be the source of the copy. A source blob in the same storage account can + * be authenticated via Shared Key. However, if the source is a blob in another account, the source blob + * must either be public or must be authenticated via a shared access signature. If the source blob is + * public, no authentication is required to perform the operation. + * @param {number} sourceOffset Offset in source to be appended + * @param {number} count Number of bytes to be appended as a block + * @param {AppendBlobAppendBlockFromURLOptions} [options={}] + * @returns {Promise} + * @memberof AppendBlobURL + */ + public async appendBlockFromURL( + sourceURL: string, + sourceOffset: number, + count: number, + options: AppendBlobAppendBlockFromURLOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + options.accessConditions = options.accessConditions || {}; + options.sourceModifiedAccessConditions = options.sourceModifiedAccessConditions || {}; + + return this.appendBlobContext.appendBlockFromUrl(sourceURL, 0, { + abortSignal: aborter, + sourceRange: rangeToString({ offset: sourceOffset, count }), + sourceContentMD5: options.sourceContentMD5, + leaseAccessConditions: options.accessConditions.leaseAccessConditions, + appendPositionAccessConditions: options.accessConditions.appendPositionAccessConditions, + modifiedAccessConditions: options.accessConditions.modifiedAccessConditions, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceModifiedAccessConditions.ifMatch, + sourceIfModifiedSince: options.sourceModifiedAccessConditions.ifModifiedSince, + sourceIfNoneMatch: options.sourceModifiedAccessConditions.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceModifiedAccessConditions.ifUnmodifiedSince + } + }); + } } diff --git a/sdk/storage/storage-blob/src/BlobClient.ts b/sdk/storage/storage-blob/src/BlobClient.ts index 5b623cfba3d7..109d594c7396 100644 --- a/sdk/storage/storage-blob/src/BlobClient.ts +++ b/sdk/storage/storage-blob/src/BlobClient.ts @@ -8,10 +8,10 @@ import { isTokenCredential } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; +import * as Models from "./generated/src/models"; import { AbortSignalLike, AbortSignal } from "@azure/abort-controller"; import { BlobDownloadResponse } from "./BlobDownloadResponse"; -import { Blob } from "./generated/lib/operations"; +import { Blob } from "./generated/src/operations"; import { rangeToString } from "./Range"; import { BlobAccessConditions, Metadata } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; @@ -431,6 +431,44 @@ export interface BlobAbortCopyFromURLOptions { leaseAccessConditions?: Models.LeaseAccessConditions; } +/** + * Options to configure Blob - synchronous Copy From URL operation. + * + * @export + * @interface BlobSyncCopyFromURLOptions + */ +export interface BlobSyncCopyFromURLOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof BlobSyncCopyFromURLOptions + */ + abortSignal?: AbortSignalLike; + /** + * A collection of key-value string pair to associate with the snapshot. + * + * @type {Metadata} + * @memberof BlobSyncCopyFromURLOptions + */ + metadata?: Metadata; + /** + * Conditions to meet for the destination blob when copying from a URL to the blob. + * + * @type {BlobAccessConditions} + * @memberof BlobSyncCopyFromURLOptions + */ + blobAccessConditions?: BlobAccessConditions; + /** + * Conditions to meet for the source Azure Blob/File when copying from a URL to the blob. + * + * @type {Models.ModifiedAccessConditions} + * @memberof BlobSyncCopyFromURLOptions + */ + sourceModifiedAccessConditions?: Models.ModifiedAccessConditions; +} + /** * Options to configure Blob - Set Tier operation. * @@ -968,7 +1006,7 @@ export class BlobClient extends StorageClient { } /** - * Copies a blob to a destination within the storage account. + * Asynchronously copies a blob to a destination within the storage account. * In version 2012-02-12 and later, the source for a Copy Blob operation can be * a committed blob in any Azure storage account. * Beginning with version 2015-02-21, the source for a Copy Blob operation can be @@ -1005,7 +1043,7 @@ export class BlobClient extends StorageClient { } /** - * Aborts a pending Copy Blob operation, and leaves a destination blob with zero + * Aborts a pending asynchronous Copy Blob operation, and leaves a destination blob with zero * length and full metadata. Version 2012-02-12 and newer. * @see https://docs.microsoft.com/en-us/rest/api/storageservices/abort-copy-blob * @@ -1025,6 +1063,38 @@ export class BlobClient extends StorageClient { }); } + /** + * The synchronous Copy From URL operation copies a blob or an internet resource to a new blob. It will not + * return a response until the copy is complete. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/copy-blob-from-url + * + * @param {string} copySource The source URL to copy from, Shared Access Signature(SAS) maybe needed for authentication + * @param {BlobSyncCopyFromURLOptions} [options={}] + * @returns {Promise} + * @memberof BlobURL + */ + public async syncCopyFromURL( + copySource: string, + options: BlobSyncCopyFromURLOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + options.blobAccessConditions = options.blobAccessConditions || {}; + options.sourceModifiedAccessConditions = options.sourceModifiedAccessConditions || {}; + + return this.blobContext.copyFromURL(copySource, { + abortSignal: aborter, + metadata: options.metadata, + leaseAccessConditions: options.blobAccessConditions.leaseAccessConditions, + modifiedAccessConditions: options.blobAccessConditions.modifiedAccessConditions, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceModifiedAccessConditions.ifMatch, + sourceIfModifiedSince: options.sourceModifiedAccessConditions.ifModifiedSince, + sourceIfNoneMatch: options.sourceModifiedAccessConditions.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceModifiedAccessConditions.ifUnmodifiedSince + } + }); + } + /** * Sets the tier on a blob. The operation is allowed on a page blob in a premium * storage account and on a block blob in a blob storage account (locally redundant @@ -1059,8 +1129,8 @@ export class BlobClient extends StorageClient { * * @export * @param {Buffer} buffer Buffer to be fill, must have length larger than count - * @param {number} offset From which position of the block blob to download - * @param {number} [count] How much data to be downloaded. Will download to the end when passing undefined + * @param {number} offset From which position of the block blob to download(in bytes) + * @param {number} [count] How much data(in bytes) to be downloaded. Will download to the end when passing undefined * @param {DownloadFromBlobOptions} [options] DownloadFromBlobOptions * @returns {Promise} */ @@ -1113,8 +1183,12 @@ export class BlobClient extends StorageClient { const batch = new Batch(options.parallelism); for (let off = offset; off < offset + count; off = off + options.blockSize) { batch.addOperation(async () => { - const chunkEnd = off + options.blockSize! < count! ? off + options.blockSize! : count!; - const response = await this.download(off, chunkEnd - off + 1, { + // Exclusive chunk end position + let chunkEnd = offset + count!; + if (off + options.blockSize! < chunkEnd) { + chunkEnd = off + options.blockSize!; + } + const response = await this.download(off, chunkEnd - off, { abortSignal: options.abortSignal, blobAccessConditions: options.blobAccessConditions, maxRetryRequests: options.maxRetryRequestsPerBlock diff --git a/sdk/storage/storage-blob/src/BlobDownloadResponse.ts b/sdk/storage/storage-blob/src/BlobDownloadResponse.ts index 017adbc0e9b7..8867ba9803f4 100644 --- a/sdk/storage/storage-blob/src/BlobDownloadResponse.ts +++ b/sdk/storage/storage-blob/src/BlobDownloadResponse.ts @@ -3,7 +3,7 @@ import { HttpResponse, isNode } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; +import * as Models from "./generated/src/models"; import { Metadata } from "./models"; import { RetriableReadableStreamOptions } from "./utils/RetriableReadableStream"; import { ReadableStreamGetter, RetriableReadableStream } from "./utils/RetriableReadableStream"; diff --git a/sdk/storage/storage-blob/src/BlobSASSignatureValues.ts b/sdk/storage/storage-blob/src/BlobSASSignatureValues.ts index bd6ed7608452..81cbbd56ea94 100644 --- a/sdk/storage/storage-blob/src/BlobSASSignatureValues.ts +++ b/sdk/storage/storage-blob/src/BlobSASSignatureValues.ts @@ -79,13 +79,21 @@ export interface BlobSASSignatureValues { containerName: string; /** - * Optional. The name of the container the SAS user may access. + * Optional. The blob name of the SAS user may access. Required if snapshotTime is provided. * * @type {string} * @memberof BlobSASSignatureValues */ blobName?: string; + /** + * Optional. Snapshot timestamp string the SAS user may access. Only supported from API version 2018-11-09. + * + * @type {string} + * @memberof IBlobSASSignatureValues + */ + snapshotTime?: string; + /** * Optional. The name of the access policy on the container this SAS references if any. * @@ -157,6 +165,38 @@ export interface BlobSASSignatureValues { export function generateBlobSASQueryParameters( blobSASSignatureValues: BlobSASSignatureValues, sharedKeyCredential: SharedKeyCredential +): SASQueryParameters { + const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION; + + // Version 2018-11-09 adds support for the signed resource and signed blob snapshot time fields. + // https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas#constructing-the-signature-string + if (version >= "2018-11-09") { + return generateBlobSASQueryParameters20181109(blobSASSignatureValues, sharedKeyCredential); + } else { + return generateBlobSASQueryParameters20150405(blobSASSignatureValues, sharedKeyCredential); + } +} + +/** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * IMPLEMENTATION FOR API VERSION FROM 2015-04-05 AND BEFORE 2018-11-09. + * + * Creates an instance of SASQueryParameters. + * + * Only accepts required settings needed to create a SAS. For optional settings please + * set corresponding properties directly, such as permissions, startTime and identifier. + * + * WARNING: When identifier is not provided, permissions and expiryTime are required. + * You MUST assign value to identifier or expiryTime & permissions manually if you initial with + * this constructor. + * + * @param {IBlobSASSignatureValues} blobSASSignatureValues + * @param {SharedKeyCredential} sharedKeyCredential + * @returns {SASQueryParameters} + */ +function generateBlobSASQueryParameters20150405( + blobSASSignatureValues: BlobSASSignatureValues, + sharedKeyCredential: SharedKeyCredential ): SASQueryParameters { if ( !blobSASSignatureValues.identifier && @@ -171,6 +211,10 @@ export function generateBlobSASQueryParameters( let resource: string = "c"; let verifiedPermissions: string | undefined; + if (blobSASSignatureValues.snapshotTime) { + throw RangeError("'version' must be >= '2018-11-09' when provided 'snapshotTime'."); + } + // Calling parse and toString guarantees the proper ordering and throws on invalid characters. if (blobSASSignatureValues.permissions) { if (blobSASSignatureValues.blobName) { @@ -230,6 +274,108 @@ export function generateBlobSASQueryParameters( ); } +/** + * ONLY AVAILABLE IN NODE.JS RUNTIME. + * IMPLEMENTATION FOR API VERSION FROM 2018-11-09. + * + * Creates an instance of SASQueryParameters. + * + * Only accepts required settings needed to create a SAS. For optional settings please + * set corresponding properties directly, such as permissions, startTime and identifier. + * + * WARNING: When identifier is not provided, permissions and expiryTime are required. + * You MUST assign value to identifier or expiryTime & permissions manually if you initial with + * this constructor. + * + * @param {IBlobSASSignatureValues} blobSASSignatureValues + * @param {SharedKeyCredential} sharedKeyCredential + * @returns {SASQueryParameters} + */ +function generateBlobSASQueryParameters20181109( + blobSASSignatureValues: BlobSASSignatureValues, + sharedKeyCredential: SharedKeyCredential +): SASQueryParameters { + if ( + !blobSASSignatureValues.identifier && + (!blobSASSignatureValues.permissions && !blobSASSignatureValues.expiryTime) + ) { + throw new RangeError( + "Must provide 'permissions' and 'expiryTime' for Blob SAS generation when 'identifier' is not provided." + ); + } + + const version = blobSASSignatureValues.version ? blobSASSignatureValues.version : SERVICE_VERSION; + let resource: string = "c"; + let verifiedPermissions: string | undefined; + + if (blobSASSignatureValues.blobName === undefined && blobSASSignatureValues.snapshotTime) { + throw RangeError("Must provide 'blobName' when provided 'snapshotTime'."); + } + + // Calling parse and toString guarantees the proper ordering and throws on invalid characters. + if (blobSASSignatureValues.permissions) { + if (blobSASSignatureValues.blobName) { + verifiedPermissions = BlobSASPermissions.parse(blobSASSignatureValues.permissions).toString(); + resource = "b"; + if (blobSASSignatureValues.snapshotTime) { + resource = "bs"; + } + } else { + verifiedPermissions = ContainerSASPermissions.parse( + blobSASSignatureValues.permissions + ).toString(); + } + } + + // Signature is generated on the un-url-encoded values. + const stringToSign = [ + verifiedPermissions ? verifiedPermissions : "", + blobSASSignatureValues.startTime + ? truncatedISO8061Date(blobSASSignatureValues.startTime, false) + : "", + blobSASSignatureValues.expiryTime + ? truncatedISO8061Date(blobSASSignatureValues.expiryTime, false) + : "", + getCanonicalName( + sharedKeyCredential.accountName, + blobSASSignatureValues.containerName, + blobSASSignatureValues.blobName + ), + blobSASSignatureValues.identifier, + blobSASSignatureValues.ipRange ? ipRangeToString(blobSASSignatureValues.ipRange) : "", + blobSASSignatureValues.protocol ? blobSASSignatureValues.protocol : "", + version, + resource, + blobSASSignatureValues.snapshotTime, + blobSASSignatureValues.cacheControl ? blobSASSignatureValues.cacheControl : "", + blobSASSignatureValues.contentDisposition ? blobSASSignatureValues.contentDisposition : "", + blobSASSignatureValues.contentEncoding ? blobSASSignatureValues.contentEncoding : "", + blobSASSignatureValues.contentLanguage ? blobSASSignatureValues.contentLanguage : "", + blobSASSignatureValues.contentType ? blobSASSignatureValues.contentType : "" + ].join("\n"); + + const signature = sharedKeyCredential.computeHMACSHA256(stringToSign); + + return new SASQueryParameters( + version, + signature, + verifiedPermissions, + undefined, + undefined, + blobSASSignatureValues.protocol, + blobSASSignatureValues.startTime, + blobSASSignatureValues.expiryTime, + blobSASSignatureValues.ipRange, + blobSASSignatureValues.identifier, + resource, + blobSASSignatureValues.cacheControl, + blobSASSignatureValues.contentDisposition, + blobSASSignatureValues.contentEncoding, + blobSASSignatureValues.contentLanguage, + blobSASSignatureValues.contentType + ); +} + function getCanonicalName(accountName: string, containerName: string, blobName?: string): string { // Container: "/blob/account/containerName" // Blob: "/blob/account/containerName/blobName" diff --git a/sdk/storage/storage-blob/src/BlobServiceClient.ts b/sdk/storage/storage-blob/src/BlobServiceClient.ts index bf344399aee9..0ea840378e6b 100644 --- a/sdk/storage/storage-blob/src/BlobServiceClient.ts +++ b/sdk/storage/storage-blob/src/BlobServiceClient.ts @@ -1,11 +1,11 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - +import { HttpResponse } from "@azure/core-http"; import { TokenCredential, isTokenCredential, isNode } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; -import { ListContainersIncludeType } from "./generated/lib/models/index"; -import { Service } from "./generated/lib/operations"; +import { ListContainersIncludeType } from "./generated/src/models/index"; +import * as Models from "./generated/src/models"; +import { Service } from "./generated/src/operations"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; import { ContainerClient, @@ -18,6 +18,7 @@ import { AnonymousCredential } from "./credentials/AnonymousCredential"; import { StorageClient } from "./internal"; import "@azure/core-paging"; import { PageSettings, PagedAsyncIterableIterator } from "@azure/core-paging"; +import { truncatedISO8061Date } from "./utils/utils.common"; /** * Options to configure the Service - Get Properties operation. @@ -87,6 +88,23 @@ export interface ServiceGetStatisticsOptions { abortSignal?: AbortSignalLike; } +/** + * Options to configure the Service - Get User Delegation Key. + * + * @export + * @interface ServiceGetUserDelegationKeyOptions + */ +export interface ServiceGetUserDelegationKeyOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof ServiceGetStatisticsOptions + */ + abortSignal?: AbortSignalLike; +} + /** * Options to configure the Service - List Container Segment operation. * @@ -152,6 +170,81 @@ export interface ServiceListContainersOptions { include?: ListContainersIncludeType; } +export interface UserDelegationKey { + /** + * The Azure Active Directory object ID in GUID format. + * + * @type {string} + * @memberof UserDelegationKey + */ + signedOid: string; + /** + * The Azure Active Directory tenant ID in GUID format + * + * @type {string} + * @memberof UserDelegationKey + */ + signedTid: string; + /** + * The date-time the key is active + * + * @type {Date} + * @memberof UserDelegationKey + */ + signedStart: Date; + /** + * The date-time the key expires + * + * @type {Date} + * @memberof UserDelegationKey + */ + signedExpiry: Date; + /** + * Abbreviation of the Azure Storage service that accepts the key. + * + * @type {string} + * @memberof UserDelegationKey + */ + signedService: string; + /** + * The service version that created the key. + * + * @type {string} + * @memberof UserDelegationKey + */ + signedVersion: string; + /** + * The key as a base64 string. + * + * @type {string} + * @memberof UserDelegationKey + */ + value: string; +} + +export declare type ServiceGetUserDelegationKeyResponse = UserDelegationKey & + Models.ServiceGetUserDelegationKeyHeaders & { + /** + * The underlying HTTP response. + */ + _response: HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: Models.ServiceGetUserDelegationKeyHeaders; + + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Models.UserDelegationKey; + }; + }; + /** * A BlobServiceClient represents a Client to the Azure Storage Blob service allowing you * to manipulate blob containers. @@ -551,4 +644,53 @@ export class BlobServiceClient extends StorageClient { } }; } + + /** + * ONLY AVAILABLE WHEN USING BEARER TOKEN AUTHENTICATION (TokenCredential). + * + * Retrieves a user delegation key for the Blob service. This is only a valid operation when using + * bearer token authentication. + * + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/get-user-delegation-key + * + * @param {Aborter} aborter Create a new Aborter instance with Aborter.none or Aborter.timeout(), + * goto documents of Aborter for more examples about request cancellation + * @param {Date} start The start time for the user delegation SAS. Must be within 7 days of the current time + * @param {Date} expiry The end time for the user delegation SAS. Must be within 7 days of the current time + * @returns {Promise} + * @memberof ServiceURL + */ + public async getUserDelegationKey( + start: Date, + expiry: Date, + options: ServiceGetUserDelegationKeyOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + const response = await this.serviceContext.getUserDelegationKey( + { + start: truncatedISO8061Date(start, false), + expiry: truncatedISO8061Date(expiry, false) + }, + { + abortSignal: aborter + } + ); + + const res: ServiceGetUserDelegationKeyResponse = { + _response: response._response, + requestId: response.requestId, + version: response.version, + date: response.date, + errorCode: response.errorCode, + signedOid: response.signedOid, + signedTid: response.signedTid, + signedStart: new Date(response.signedStart), + signedExpiry: new Date(response.signedExpiry), + signedService: response.signedService, + signedVersion: response.signedVersion, + value: response.value + }; + + return res; + } } diff --git a/sdk/storage/storage-blob/src/BlockBlobClient.ts b/sdk/storage/storage-blob/src/BlockBlobClient.ts index 7ddf2efbd6ce..b8366af0228d 100644 --- a/sdk/storage/storage-blob/src/BlockBlobClient.ts +++ b/sdk/storage/storage-blob/src/BlockBlobClient.ts @@ -13,11 +13,11 @@ import { isNode } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; +import * as Models from "./generated/src/models"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; import { BlobClient } from "./internal"; -import { BlockBlob } from "./generated/lib/operations"; -import { BlobHTTPHeaders } from "./generated/lib/models"; +import { BlockBlob } from "./generated/src/operations"; +import { BlobHTTPHeaders } from "./generated/src/models"; import { Range, rangeToString } from "./Range"; import { BlobAccessConditions, Metadata } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; diff --git a/sdk/storage/storage-blob/src/ContainerClient.ts b/sdk/storage/storage-blob/src/ContainerClient.ts index e6d4d1953b8e..990460ea7d55 100644 --- a/sdk/storage/storage-blob/src/ContainerClient.ts +++ b/sdk/storage/storage-blob/src/ContainerClient.ts @@ -8,9 +8,9 @@ import { isTokenCredential, isNode } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; -import { Container } from "./generated/lib/operations"; +import * as Models from "./generated/src/models"; +import { Container } from "./generated/src/operations"; import { ContainerAccessConditions, Metadata } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; import { ETagNone } from "./utils/constants"; diff --git a/sdk/storage/storage-blob/src/KeepAlivePolicyFactory.ts b/sdk/storage/storage-blob/src/KeepAlivePolicyFactory.ts new file mode 100644 index 000000000000..f09480463d4c --- /dev/null +++ b/sdk/storage/storage-blob/src/KeepAlivePolicyFactory.ts @@ -0,0 +1,34 @@ +import { RequestPolicy, RequestPolicyFactory, RequestPolicyOptions } from "@azure/core-http"; + +import { KeepAlivePolicy } from "./policies/KeepAlivePolicy"; + +/** + * Interface of KeepAlivePolicy options. + * + * @export + * @interface KeepAliveOptions + */ +export interface KeepAliveOptions { + enable: boolean; +} + +/** + * KeepAlivePolicyFactory is a factory class helping generating KeepAlivePolicy objects. + * + * @export + * @class KeepAlivePolicyFactory + * @implements {RequestPolicyFactory} + */ +export class KeepAlivePolicyFactory implements RequestPolicyFactory { + /** + * Creates an instance of KeepAlivePolicyFactory. + * + * @param {KeepAliveOptions} [telemetry] + * @memberof KeepAlivePolicyFactory + */ + constructor(private readonly keepAliveOptions: KeepAliveOptions = { enable: true }) {} + + public create(nextPolicy: RequestPolicy, options: RequestPolicyOptions): KeepAlivePolicy { + return new KeepAlivePolicy(nextPolicy, options, this.keepAliveOptions); + } +} diff --git a/sdk/storage/storage-blob/src/LeaseClient.ts b/sdk/storage/storage-blob/src/LeaseClient.ts index b7555306f08a..14c8d5e7fbc9 100644 --- a/sdk/storage/storage-blob/src/LeaseClient.ts +++ b/sdk/storage/storage-blob/src/LeaseClient.ts @@ -2,11 +2,11 @@ // Licensed under the MIT License. import { HttpResponse, generateUuid } from "@azure/core-http"; -import * as Models from "../src/generated/lib/models"; +import * as Models from "../src/generated/src/models"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; import { ContainerClient } from "./ContainerClient"; -import { Blob, Container } from "./generated/lib/operations"; -import { StorageClientContext } from "./generated/lib/storageClient"; +import { Blob, Container } from "./generated/src/operations"; +import { StorageClientContext } from "./generated/src/storageClient"; import { BlobClient } from "./internal"; export interface Lease { diff --git a/sdk/storage/storage-blob/src/PageBlobClient.ts b/sdk/storage/storage-blob/src/PageBlobClient.ts index dfe43a877e98..4ef60abc70f7 100644 --- a/sdk/storage/storage-blob/src/PageBlobClient.ts +++ b/sdk/storage/storage-blob/src/PageBlobClient.ts @@ -9,10 +9,10 @@ import { isNode } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; import { BlobClient } from "./internal"; -import { PageBlob } from "./generated/lib/operations"; +import * as Models from "./generated/src/models"; +import { PageBlob } from "./generated/src/operations"; import { rangeToString } from "./Range"; import { BlobAccessConditions, Metadata, PageBlobAccessConditions } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; @@ -257,6 +257,40 @@ export interface PageBlobStartCopyIncrementalOptions { modifiedAccessConditions?: Models.ModifiedAccessConditions; } +export interface PageBlobUploadPagesFromURLOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof PageBlobUploadPagesFromURLOptions + */ + abortSignal?: AbortSignalLike; + /** + * Conditions to meet when updating sequence number. + * + * @type {PageBlobAccessConditions} + * @memberof PageBlobUploadPagesFromURLOptions + */ + accessConditions?: PageBlobAccessConditions; + /** + * Conditions to meet for the source Azure Blob/File when copying from a URL to the blob. + * + * @type {Models.ModifiedAccessConditions} + * @memberof PageBlobUploadPagesFromURLOptions + */ + sourceModifiedAccessConditions?: Models.ModifiedAccessConditions; + /** + * A Uint8Array holding the MD5 hash of the source block content. + * It is only used to verify the integrity of the block during transport. + * It is not stored in with the blob. + * + * @type {Uint8Array} + * @memberof AppendBlobAppendBlockFromURLOptions + */ + sourceContentMD5?: Uint8Array; +} + /** * PageBlobClient defines a set of operations applicable to page blobs. * @@ -454,7 +488,7 @@ export class PageBlobClient extends BlobClient { * * @param {HttpRequestBody} body Data to upload * @param {number} offset Offset of destination page blob - * @param {number} count Content length of body, also how many bytes to be uploaded + * @param {number} count Content length of the body, also number of bytes to be uploaded * @param {PageBlobUploadPagesOptions} [options] Options to the Page Blob Upload Pages operation. * @returns {Promise} Response data for the Page Blob Upload Pages operation. * @memberof PageBlobClient @@ -478,6 +512,53 @@ export class PageBlobClient extends BlobClient { }); } + /** + * The Upload Pages operation writes a range of pages to a page blob where the + * contents are read from a URL. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/put-page-from-url + * + * @param {Aborter} aborter Create a new Aborter instance with Aborter.none or Aborter.timeout(), + * goto documents of Aborter for more examples about request cancellation + * @param {string} sourceURL Specify a URL to the copy source, Shared Access Signature(SAS) maybe needed for authentication + * @param {number} sourceOffset The source offset to copy from. Pass 0 to copy from the beginning of source page blob + * @param {number} destOffset Offset of destination page blob + * @param {number} count Number of bytes to be uploaded from source page blob + * @param {PageBlobUploadPagesFromURLOptions} [options={}] + * @returns {Promise} + * @memberof PageBlobClient + */ + public async uploadPagesFromURL( + sourceURL: string, + sourceOffset: number, + destOffset: number, + count: number, + options: PageBlobUploadPagesFromURLOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + options.accessConditions = options.accessConditions || {}; + options.sourceModifiedAccessConditions = options.sourceModifiedAccessConditions || {}; + + return this.pageBlobContext.uploadPagesFromURL( + sourceURL, + rangeToString({ offset: sourceOffset, count }), + 0, + rangeToString({ offset: destOffset, count }), + { + abortSignal: aborter, + sourceContentMD5: options.sourceContentMD5, + leaseAccessConditions: options.accessConditions.leaseAccessConditions, + sequenceNumberAccessConditions: options.accessConditions.sequenceNumberAccessConditions, + modifiedAccessConditions: options.accessConditions.modifiedAccessConditions, + sourceModifiedAccessConditions: { + sourceIfMatch: options.sourceModifiedAccessConditions.ifMatch, + sourceIfModifiedSince: options.sourceModifiedAccessConditions.ifModifiedSince, + sourceIfNoneMatch: options.sourceModifiedAccessConditions.ifNoneMatch, + sourceIfUnmodifiedSince: options.sourceModifiedAccessConditions.ifUnmodifiedSince + } + } + ); + } + /** * Frees the specified pages from the page blob. * @see https://docs.microsoft.com/rest/api/storageservices/put-page diff --git a/sdk/storage/storage-blob/src/Pipeline.ts b/sdk/storage/storage-blob/src/Pipeline.ts index 8de1cfdfdae7..b7af7d37dbfb 100644 --- a/sdk/storage/storage-blob/src/Pipeline.ts +++ b/sdk/storage/storage-blob/src/Pipeline.ts @@ -23,6 +23,7 @@ import { bearerTokenAuthenticationPolicy } from "@azure/core-http"; +import { KeepAliveOptions, KeepAlivePolicyFactory } from "./KeepAlivePolicyFactory"; import { BrowserPolicyFactory } from "./BrowserPolicyFactory"; import { LoggingPolicyFactory } from "./LoggingPolicyFactory"; import { RetryOptions, RetryPolicyFactory } from "./RetryPolicyFactory"; @@ -168,6 +169,13 @@ export interface NewPipelineOptions { * @memberof NewPipelineOptions */ retryOptions?: RetryOptions; + /** + * Keep alive configurations. Default keep-alive is enabled. + * + * @type {KeepAliveOptions} + * @memberof NewPipelineOptions + */ + keepAliveOptions?: KeepAliveOptions; /** * Configures the HTTP pipeline logger. @@ -202,6 +210,7 @@ export function newPipeline( // The credential's policy factory must appear close to the wire so it can sign any // changes made by other factories (like UniqueRequestIDPolicyFactory) const factories: RequestPolicyFactory[] = [ + new KeepAlivePolicyFactory(pipelineOptions.keepAliveOptions), new TelemetryPolicyFactory(pipelineOptions.telemetry), new UniqueRequestIDPolicyFactory(), new BrowserPolicyFactory(), diff --git a/sdk/storage/storage-blob/src/RetryPolicyFactory.ts b/sdk/storage/storage-blob/src/RetryPolicyFactory.ts index 2e97cde403fb..0f33f2e69800 100644 --- a/sdk/storage/storage-blob/src/RetryPolicyFactory.ts +++ b/sdk/storage/storage-blob/src/RetryPolicyFactory.ts @@ -4,6 +4,8 @@ import { RequestPolicy, RequestPolicyFactory, RequestPolicyOptions } from "@azure/core-http"; import { RetryPolicy, RetryPolicyType } from "./policies/RetryPolicy"; +export { RetryPolicyType } from "./policies/RetryPolicy"; + /** * Retry options interface. * diff --git a/sdk/storage/storage-blob/src/StorageClient.ts b/sdk/storage/storage-blob/src/StorageClient.ts index 625f3244ef6e..9f0ef25e00d2 100644 --- a/sdk/storage/storage-blob/src/StorageClient.ts +++ b/sdk/storage/storage-blob/src/StorageClient.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import { StorageClientContext } from "./generated/lib/storageClientContext"; +import { StorageClientContext } from "./generated/src/storageClientContext"; import { Pipeline } from "./Pipeline"; import { escapeURLPath } from "./utils/utils.common"; diff --git a/sdk/storage/storage-blob/src/generated/lib/operations/appendBlob.ts b/sdk/storage/storage-blob/src/generated/lib/operations/appendBlob.ts deleted file mode 100644 index c33089846b1b..000000000000 --- a/sdk/storage/storage-blob/src/generated/lib/operations/appendBlob.ts +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as coreHttp from "@azure/core-http"; -import * as Models from "../models"; -import * as Mappers from "../models/appendBlobMappers"; -import * as Parameters from "../models/parameters"; -import { StorageClientContext } from "../storageClientContext"; - -/** Class representing a AppendBlob. */ -export class AppendBlob { - private readonly client: StorageClientContext; - - /** - * Create a AppendBlob. - * @param {StorageClientContext} client Reference to the service client. - */ - constructor(client: StorageClientContext) { - this.client = client; - } - - /** - * The Create Append Blob operation creates a new append blob. - * @param contentLength The length of the request. - * @param [options] The optional parameters - * @returns Promise - */ - create(contentLength: number, options?: Models.AppendBlobCreateOptionalParams): Promise; - /** - * @param contentLength The length of the request. - * @param callback The callback - */ - create(contentLength: number, callback: coreHttp.ServiceCallback): void; - /** - * @param contentLength The length of the request. - * @param options The optional parameters - * @param callback The callback - */ - create(contentLength: number, options: Models.AppendBlobCreateOptionalParams, callback: coreHttp.ServiceCallback): void; - create(contentLength: number, options?: Models.AppendBlobCreateOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - contentLength, - options - }, - createOperationSpec, - callback) as Promise; - } - - /** - * The Append Block operation commits a new block of data to the end of an existing append blob. - * The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to - * AppendBlob. Append Block is supported only on version 2015-02-21 version or later. - * @param body Initial data - * @param contentLength The length of the request. - * @param [options] The optional parameters - * @returns Promise - */ - appendBlock(body: coreHttp.HttpRequestBody, contentLength: number, options?: Models.AppendBlobAppendBlockOptionalParams): Promise; - /** - * @param body Initial data - * @param contentLength The length of the request. - * @param callback The callback - */ - appendBlock(body: coreHttp.HttpRequestBody, contentLength: number, callback: coreHttp.ServiceCallback): void; - /** - * @param body Initial data - * @param contentLength The length of the request. - * @param options The optional parameters - * @param callback The callback - */ - appendBlock(body: coreHttp.HttpRequestBody, contentLength: number, options: Models.AppendBlobAppendBlockOptionalParams, callback: coreHttp.ServiceCallback): void; - appendBlock(body: coreHttp.HttpRequestBody, contentLength: number, options?: Models.AppendBlobAppendBlockOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - body, - contentLength, - options - }, - appendBlockOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, true); -const createOperationSpec: coreHttp.OperationSpec = { - httpMethod: "PUT", - path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout - ], - headerParameters: [ - Parameters.contentLength, - Parameters.metadata, - Parameters.version, - Parameters.requestId, - Parameters.blobType1, - Parameters.blobContentType, - Parameters.blobContentEncoding, - Parameters.blobContentLanguage, - Parameters.blobContentMD5, - Parameters.blobCacheControl, - Parameters.blobContentDisposition, - Parameters.leaseId0, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch - ], - responses: { - 201: { - headersMapper: Mappers.AppendBlobCreateHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const appendBlockOperationSpec: coreHttp.OperationSpec = { - httpMethod: "PUT", - path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp13 - ], - headerParameters: [ - Parameters.contentLength, - Parameters.transactionalContentMD5, - Parameters.version, - Parameters.requestId, - Parameters.leaseId0, - Parameters.maxSize, - Parameters.appendPosition, - Parameters.ifModifiedSince, - Parameters.ifUnmodifiedSince, - Parameters.ifMatch, - Parameters.ifNoneMatch - ], - requestBody: { - parameterPath: "body", - mapper: { - required: true, - serializedName: "body", - type: { - name: "Stream" - } - } - }, - contentType: "application/octet-stream", - responses: { - 201: { - headersMapper: Mappers.AppendBlobAppendBlockHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; diff --git a/sdk/storage/storage-blob/src/generated/lib/operations/service.ts b/sdk/storage/storage-blob/src/generated/lib/operations/service.ts deleted file mode 100644 index 38416dc1b176..000000000000 --- a/sdk/storage/storage-blob/src/generated/lib/operations/service.ts +++ /dev/null @@ -1,354 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as coreHttp from "@azure/core-http"; -import * as Models from "../models"; -import * as Mappers from "../models/serviceMappers"; -import * as Parameters from "../models/parameters"; -import { StorageClientContext } from "../storageClientContext"; - -/** Class representing a Service. */ -export class Service { - private readonly client: StorageClientContext; - - /** - * Create a Service. - * @param {StorageClientContext} client Reference to the service client. - */ - constructor(client: StorageClientContext) { - this.client = client; - } - - /** - * Sets properties for a storage account's Blob service endpoint, including properties for Storage - * Analytics and CORS (Cross-Origin Resource Sharing) rules - * @param storageServiceProperties The StorageService properties. - * @param [options] The optional parameters - * @returns Promise - */ - setProperties(storageServiceProperties: Models.StorageServiceProperties, options?: Models.ServiceSetPropertiesOptionalParams): Promise; - /** - * @param storageServiceProperties The StorageService properties. - * @param callback The callback - */ - setProperties(storageServiceProperties: Models.StorageServiceProperties, callback: coreHttp.ServiceCallback): void; - /** - * @param storageServiceProperties The StorageService properties. - * @param options The optional parameters - * @param callback The callback - */ - setProperties(storageServiceProperties: Models.StorageServiceProperties, options: Models.ServiceSetPropertiesOptionalParams, callback: coreHttp.ServiceCallback): void; - setProperties(storageServiceProperties: Models.StorageServiceProperties, options?: Models.ServiceSetPropertiesOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - storageServiceProperties, - options - }, - setPropertiesOperationSpec, - callback) as Promise; - } - - /** - * gets the properties of a storage account's Blob service, including properties for Storage - * Analytics and CORS (Cross-Origin Resource Sharing) rules. - * @param [options] The optional parameters - * @returns Promise - */ - getProperties(options?: Models.ServiceGetPropertiesOptionalParams): Promise; - /** - * @param callback The callback - */ - getProperties(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getProperties(options: Models.ServiceGetPropertiesOptionalParams, callback: coreHttp.ServiceCallback): void; - getProperties(options?: Models.ServiceGetPropertiesOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - getPropertiesOperationSpec, - callback) as Promise; - } - - /** - * Retrieves statistics related to replication for the Blob service. It is only available on the - * secondary location endpoint when read-access geo-redundant replication is enabled for the - * storage account. - * @param [options] The optional parameters - * @returns Promise - */ - getStatistics(options?: Models.ServiceGetStatisticsOptionalParams): Promise; - /** - * @param callback The callback - */ - getStatistics(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getStatistics(options: Models.ServiceGetStatisticsOptionalParams, callback: coreHttp.ServiceCallback): void; - getStatistics(options?: Models.ServiceGetStatisticsOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - getStatisticsOperationSpec, - callback) as Promise; - } - - /** - * The List Containers Segment operation returns a list of the containers under the specified - * account - * @param [options] The optional parameters - * @returns Promise - */ - listContainersSegment(options?: Models.ServiceListContainersSegmentOptionalParams): Promise; - /** - * @param callback The callback - */ - listContainersSegment(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listContainersSegment(options: Models.ServiceListContainersSegmentOptionalParams, callback: coreHttp.ServiceCallback): void; - listContainersSegment(options?: Models.ServiceListContainersSegmentOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listContainersSegmentOperationSpec, - callback) as Promise; - } - - /** - * Returns the sku name and account kind - * @param [options] The optional parameters - * @returns Promise - */ - getAccountInfo(options?: coreHttp.RequestOptionsBase): Promise; - /** - * @param callback The callback - */ - getAccountInfo(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getAccountInfo(options: coreHttp.RequestOptionsBase, callback: coreHttp.ServiceCallback): void; - getAccountInfo(options?: coreHttp.RequestOptionsBase | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - getAccountInfoOperationSpec, - callback) as Promise; - } - - /** - * The List Containers Segment operation returns a list of the containers under the specified - * account - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listContainersSegmentNext(nextPageLink: string, options?: Models.ServiceListContainersSegmentNextOptionalParams): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listContainersSegmentNext(nextPageLink: string, callback: coreHttp.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listContainersSegmentNext(nextPageLink: string, options: Models.ServiceListContainersSegmentNextOptionalParams, callback: coreHttp.ServiceCallback): void; - listContainersSegmentNext(nextPageLink: string, options?: Models.ServiceListContainersSegmentNextOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listContainersSegmentNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, true); -const setPropertiesOperationSpec: coreHttp.OperationSpec = { - httpMethod: "PUT", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.restype0, - Parameters.comp0 - ], - headerParameters: [ - Parameters.version, - Parameters.requestId - ], - requestBody: { - parameterPath: "storageServiceProperties", - mapper: { - ...Mappers.StorageServiceProperties, - required: true - } - }, - contentType: "application/xml; charset=utf-8", - responses: { - 202: { - headersMapper: Mappers.ServiceSetPropertiesHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const getPropertiesOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.restype0, - Parameters.comp0 - ], - headerParameters: [ - Parameters.version, - Parameters.requestId - ], - responses: { - 200: { - bodyMapper: Mappers.StorageServiceProperties, - headersMapper: Mappers.ServiceGetPropertiesHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const getStatisticsOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.restype0, - Parameters.comp1 - ], - headerParameters: [ - Parameters.version, - Parameters.requestId - ], - responses: { - 200: { - bodyMapper: Mappers.StorageServiceStats, - headersMapper: Mappers.ServiceGetStatisticsHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const listContainersSegmentOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.prefix, - Parameters.marker, - Parameters.maxresults, - Parameters.include0, - Parameters.timeout, - Parameters.comp2 - ], - headerParameters: [ - Parameters.version, - Parameters.requestId - ], - responses: { - 200: { - bodyMapper: Mappers.ListContainersSegmentResponse, - headersMapper: Mappers.ServiceListContainersSegmentHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const getAccountInfoOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.restype1, - Parameters.comp0 - ], - headerParameters: [ - Parameters.version - ], - responses: { - 200: { - headersMapper: Mappers.ServiceGetAccountInfoHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const listContainersSegmentNextOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - baseUrl: "{url}", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.version, - Parameters.requestId - ], - responses: { - 200: { - bodyMapper: Mappers.ListContainersSegmentResponse, - headersMapper: Mappers.ServiceListContainersSegmentHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; diff --git a/sdk/storage/storage-blob/src/generated/lib/models/appendBlobMappers.ts b/sdk/storage/storage-blob/src/generated/src/models/appendBlobMappers.ts similarity index 91% rename from sdk/storage/storage-blob/src/generated/lib/models/appendBlobMappers.ts rename to sdk/storage/storage-blob/src/generated/src/models/appendBlobMappers.ts index 70dd6c82a870..b82cb3f2f4aa 100644 --- a/sdk/storage/storage-blob/src/generated/lib/models/appendBlobMappers.ts +++ b/sdk/storage/storage-blob/src/generated/src/models/appendBlobMappers.ts @@ -7,6 +7,7 @@ */ export { + AppendBlobAppendBlockFromUrlHeaders, AppendBlobAppendBlockHeaders, AppendBlobCreateHeaders, StorageError diff --git a/sdk/storage/storage-blob/src/generated/lib/models/blobMappers.ts b/sdk/storage/storage-blob/src/generated/src/models/blobMappers.ts similarity index 96% rename from sdk/storage/storage-blob/src/generated/lib/models/blobMappers.ts rename to sdk/storage/storage-blob/src/generated/src/models/blobMappers.ts index c6f30b0779ea..ac9f243c72a5 100644 --- a/sdk/storage/storage-blob/src/generated/lib/models/blobMappers.ts +++ b/sdk/storage/storage-blob/src/generated/src/models/blobMappers.ts @@ -11,6 +11,7 @@ export { BlobAcquireLeaseHeaders, BlobBreakLeaseHeaders, BlobChangeLeaseHeaders, + BlobCopyFromURLHeaders, BlobCreateSnapshotHeaders, BlobDeleteHeaders, BlobDownloadHeaders, diff --git a/sdk/storage/storage-blob/src/generated/lib/models/blockBlobMappers.ts b/sdk/storage/storage-blob/src/generated/src/models/blockBlobMappers.ts similarity index 100% rename from sdk/storage/storage-blob/src/generated/lib/models/blockBlobMappers.ts rename to sdk/storage/storage-blob/src/generated/src/models/blockBlobMappers.ts diff --git a/sdk/storage/storage-blob/src/generated/lib/models/containerMappers.ts b/sdk/storage/storage-blob/src/generated/src/models/containerMappers.ts similarity index 100% rename from sdk/storage/storage-blob/src/generated/lib/models/containerMappers.ts rename to sdk/storage/storage-blob/src/generated/src/models/containerMappers.ts diff --git a/sdk/storage/storage-blob/src/generated/lib/models/index.ts b/sdk/storage/storage-blob/src/generated/src/models/index.ts similarity index 86% rename from sdk/storage/storage-blob/src/generated/lib/models/index.ts rename to sdk/storage/storage-blob/src/generated/src/models/index.ts index 5c8c6200dbab..7361ec8e153a 100644 --- a/sdk/storage/storage-blob/src/generated/lib/models/index.ts +++ b/sdk/storage/storage-blob/src/generated/src/models/index.ts @@ -6,13 +6,65 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ - import * as coreHttp from "@azure/core-http"; +/** + * Key information + */ +export interface KeyInfo { + /** + * The date-time the key is active in ISO 8601 UTC time + */ + start: string; + /** + * The date-time the key expires in ISO 8601 UTC time + */ + expiry: string; +} + +/** + * A user delegation key + */ +export interface UserDelegationKey { + /** + * The Azure Active Directory object ID in GUID format. + */ + signedOid: string; + /** + * The Azure Active Directory tenant ID in GUID format + */ + signedTid: string; + /** + * The date-time the key is active + * **NOTE: This entity will be treated as a string instead of a Date because the API can + * potentially deal with a higher precision value than what is supported by JavaScript.** + */ + signedStart: string; + /** + * The date-time the key expires + * **NOTE: This entity will be treated as a string instead of a Date because the API can + * potentially deal with a higher precision value than what is supported by JavaScript.** + */ + signedExpiry: string; + /** + * Abbreviation of the Azure Storage service that accepts the key + */ + signedService: string; + /** + * The service version that created the key + */ + signedVersion: string; + /** + * The key as a base64 string + */ + value: string; +} + /** * An interface representing StorageError. */ export interface StorageError { + code?: string; message?: string; } @@ -123,12 +175,12 @@ export interface BlobFlatListSegment { export interface ListBlobsFlatSegmentResponse { serviceEndpoint: string; containerName: string; - prefix: string; - marker: string; - maxResults: number; - delimiter: string; + prefix?: string; + marker?: string; + maxResults?: number; + delimiter?: string; segment: BlobFlatListSegment; - nextMarker: string; + nextMarker?: string; } /** @@ -152,12 +204,12 @@ export interface BlobHierarchyListSegment { export interface ListBlobsHierarchySegmentResponse { serviceEndpoint: string; containerName: string; - prefix: string; - marker: string; - maxResults: number; - delimiter: string; + prefix?: string; + marker?: string; + maxResults?: number; + delimiter?: string; segment: BlobHierarchyListSegment; - nextMarker: string; + nextMarker?: string; } /** @@ -231,11 +283,11 @@ export interface ContainerItem { */ export interface ListContainersSegmentResponse { serviceEndpoint: string; - prefix: string; + prefix?: string; marker?: string; - maxResults: number; + maxResults?: number; containerItems: ContainerItem[]; - nextMarker: string; + nextMarker?: string; } /** @@ -497,7 +549,7 @@ export interface BlobHTTPHeaders { } /** - * Additional parameters for startCopyFromURL operation. + * Additional parameters for a set of operations. */ export interface SourceModifiedAccessConditions { /** @@ -522,7 +574,7 @@ export interface SourceModifiedAccessConditions { /** * Additional parameters for a set of operations, such as: PageBlob_uploadPages, - * PageBlob_clearPages. + * PageBlob_clearPages, PageBlob_uploadPagesFromURL. */ export interface SequenceNumberAccessConditions { /** @@ -542,7 +594,8 @@ export interface SequenceNumberAccessConditions { } /** - * Additional parameters for appendBlock operation. + * Additional parameters for a set of operations, such as: AppendBlob_appendBlock, + * AppendBlob_appendBlockFromUrl. */ export interface AppendPositionAccessConditions { /** @@ -658,7 +711,25 @@ export interface ServiceListContainersSegmentOptionalParams extends coreHttp.Req /** * Optional Parameters. */ -export interface ServiceListContainersSegmentNextOptionalParams extends coreHttp.RequestOptionsBase { +export interface ServiceGetUserDelegationKeyOptionalParams extends coreHttp.RequestOptionsBase { + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for Blob Service Operations. + */ + timeoutParameter?: number; + /** + * Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. + */ + requestId?: string; +} + +/** + * Optional Parameters. + */ +export interface ServiceListContainersSegmentNextOptionalParams + extends coreHttp.RequestOptionsBase { /** * Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the * analytics logs when storage analytics logging is enabled. @@ -1006,7 +1077,8 @@ export interface ContainerListBlobFlatSegmentOptionalParams extends coreHttp.Req /** * Optional Parameters. */ -export interface ContainerListBlobHierarchySegmentOptionalParams extends coreHttp.RequestOptionsBase { +export interface ContainerListBlobHierarchySegmentOptionalParams + extends coreHttp.RequestOptionsBase { /** * Filters the results to return only containers whose name begins with the specified prefix. */ @@ -1048,7 +1120,8 @@ export interface ContainerListBlobHierarchySegmentOptionalParams extends coreHtt /** * Optional Parameters. */ -export interface ContainerListBlobFlatSegmentNextOptionalParams extends coreHttp.RequestOptionsBase { +export interface ContainerListBlobFlatSegmentNextOptionalParams + extends coreHttp.RequestOptionsBase { /** * Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the * analytics logs when storage analytics logging is enabled. @@ -1059,7 +1132,8 @@ export interface ContainerListBlobFlatSegmentNextOptionalParams extends coreHttp /** * Optional Parameters. */ -export interface ContainerListBlobHierarchySegmentNextOptionalParams extends coreHttp.RequestOptionsBase { +export interface ContainerListBlobHierarchySegmentNextOptionalParams + extends coreHttp.RequestOptionsBase { /** * Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the * analytics logs when storage analytics logging is enabled. @@ -1460,6 +1534,45 @@ export interface BlobStartCopyFromURLOptionalParams extends coreHttp.RequestOpti leaseAccessConditions?: LeaseAccessConditions; } +/** + * Optional Parameters. + */ +export interface BlobCopyFromURLOptionalParams extends coreHttp.RequestOptionsBase { + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for Blob Service Operations. + */ + timeoutParameter?: number; + /** + * Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value + * pairs are specified, the operation will copy the metadata from the source blob or file to the + * destination blob. If one or more name-value pairs are specified, the destination blob is + * created with the specified metadata, and metadata is not copied from the source blob or file. + * Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules + * for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more + * information. + */ + metadata?: { [propertyName: string]: string }; + /** + * Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. + */ + requestId?: string; + /** + * Additional parameters for the operation + */ + sourceModifiedAccessConditions?: SourceModifiedAccessConditions; + /** + * Additional parameters for the operation + */ + modifiedAccessConditions?: ModifiedAccessConditions; + /** + * Additional parameters for the operation + */ + leaseAccessConditions?: LeaseAccessConditions; +} + /** * Optional Parameters. */ @@ -1617,6 +1730,43 @@ export interface PageBlobClearPagesOptionalParams extends coreHttp.RequestOption modifiedAccessConditions?: ModifiedAccessConditions; } +/** + * Optional Parameters. + */ +export interface PageBlobUploadPagesFromURLOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Specify the md5 calculated for the range of bytes that must be read from the copy source. + */ + sourceContentMD5?: Uint8Array; + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for Blob Service Operations. + */ + timeoutParameter?: number; + /** + * Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. + */ + requestId?: string; + /** + * Additional parameters for the operation + */ + leaseAccessConditions?: LeaseAccessConditions; + /** + * Additional parameters for the operation + */ + sequenceNumberAccessConditions?: SequenceNumberAccessConditions; + /** + * Additional parameters for the operation + */ + modifiedAccessConditions?: ModifiedAccessConditions; + /** + * Additional parameters for the operation + */ + sourceModifiedAccessConditions?: SourceModifiedAccessConditions; +} + /** * Optional Parameters. */ @@ -1847,6 +1997,47 @@ export interface AppendBlobAppendBlockOptionalParams extends coreHttp.RequestOpt modifiedAccessConditions?: ModifiedAccessConditions; } +/** + * Optional Parameters. + */ +export interface AppendBlobAppendBlockFromUrlOptionalParams extends coreHttp.RequestOptionsBase { + /** + * Bytes of source data in the specified range. + */ + sourceRange?: string; + /** + * Specify the md5 calculated for the range of bytes that must be read from the copy source. + */ + sourceContentMD5?: Uint8Array; + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for Blob Service Operations. + */ + timeoutParameter?: number; + /** + * Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. + */ + requestId?: string; + /** + * Additional parameters for the operation + */ + leaseAccessConditions?: LeaseAccessConditions; + /** + * Additional parameters for the operation + */ + appendPositionAccessConditions?: AppendPositionAccessConditions; + /** + * Additional parameters for the operation + */ + modifiedAccessConditions?: ModifiedAccessConditions; + /** + * Additional parameters for the operation + */ + sourceModifiedAccessConditions?: SourceModifiedAccessConditions; +} + /** * Optional Parameters. */ @@ -1938,6 +2129,10 @@ export interface BlockBlobStageBlockFromURLOptionalParams extends coreHttp.Reque * Additional parameters for the operation */ leaseAccessConditions?: LeaseAccessConditions; + /** + * Additional parameters for the operation + */ + sourceModifiedAccessConditions?: SourceModifiedAccessConditions; } /** @@ -2080,6 +2275,28 @@ export interface ServiceListContainersSegmentHeaders { errorCode?: string; } +/** + * Defines headers for GetUserDelegationKey operation. + */ +export interface ServiceGetUserDelegationKeyHeaders { + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the Blob service used to execute the request. This header is returned + * for requests made against version 2009-09-19 and above. + */ + version?: string; + /** + * UTC date/time value generated by the service that indicates the time at which the response was + * initiated + */ + date?: Date; + errorCode?: string; +} + /** * Defines headers for GetAccountInfo operation. */ @@ -2760,9 +2977,9 @@ export interface BlobDownloadHeaders { */ export interface BlobGetPropertiesHeaders { /** - * Returns the date and time the container was last modified. Any operation that modifies the - * blob, including an update of the blob's metadata or properties, changes the last-modified time - * of the blob. + * Returns the date and time the blob was last modified. Any operation that modifies the blob, + * including an update of the blob's metadata or properties, changes the last-modified time of + * the blob. */ lastModified?: Date; /** @@ -3453,6 +3670,47 @@ export interface BlobStartCopyFromURLHeaders { errorCode?: string; } +/** + * Defines headers for CopyFromURL operation. + */ +export interface BlobCopyFromURLHeaders { + /** + * The ETag contains a value that you can use to perform operations conditionally. If the request + * version is 2011-08-18 or newer, the ETag value will be in quotes. + */ + eTag?: string; + /** + * Returns the date and time the container was last modified. Any operation that modifies the + * blob, including an update of the blob's metadata or properties, changes the last-modified time + * of the blob. + */ + lastModified?: Date; + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the Blob service used to execute the request. This header is returned + * for requests made against version 2009-09-19 and above. + */ + version?: string; + /** + * UTC date/time value generated by the service that indicates the time at which the response was + * initiated + */ + date?: Date; + /** + * String identifier for this copy operation. + */ + copyId?: string; + /** + * State of the copy operation identified by x-ms-copy-id. Possible values include: 'success' + */ + copyStatus?: SyncCopyStatusType; + errorCode?: string; +} + /** * Defines headers for AbortCopyFromURL operation. */ @@ -3761,9 +4019,14 @@ export interface PageBlobClearPagesHeaders { } /** - * Defines headers for GetPageRanges operation. + * Defines headers for UploadPagesFromURL operation. */ -export interface PageBlobGetPageRangesHeaders { +export interface PageBlobUploadPagesFromURLHeaders { + /** + * The ETag contains a value that you can use to perform operations conditionally. If the request + * version is 2011-08-18 or newer, the ETag value will be in quotes. + */ + eTag?: string; /** * Returns the date and time the container was last modified. Any operation that modifies the * blob, including an update of the blob's metadata or properties, changes the last-modified time @@ -3771,14 +4034,14 @@ export interface PageBlobGetPageRangesHeaders { */ lastModified?: Date; /** - * The ETag contains a value that you can use to perform operations conditionally. If the request - * version is 2011-08-18 or newer, the ETag value will be in quotes. + * If the blob has an MD5 hash and this operation is to read the full blob, this response header + * is returned so that the client can check for message content integrity. */ - eTag?: string; + contentMD5?: Uint8Array; /** - * The size of the blob in bytes. + * The current sequence number for the page blob. */ - blobContentLength?: number; + blobSequenceNumber?: number; /** * This header uniquely identifies the request that was made and can be used for troubleshooting * the request. @@ -3794,10 +4057,52 @@ export interface PageBlobGetPageRangesHeaders { * initiated */ date?: Date; - errorCode?: string; -} - -/** + /** + * The value of this header is set to true if the contents of the request are successfully + * encrypted using the specified algorithm, and false otherwise. + */ + isServerEncrypted?: boolean; + errorCode?: string; +} + +/** + * Defines headers for GetPageRanges operation. + */ +export interface PageBlobGetPageRangesHeaders { + /** + * Returns the date and time the container was last modified. Any operation that modifies the + * blob, including an update of the blob's metadata or properties, changes the last-modified time + * of the blob. + */ + lastModified?: Date; + /** + * The ETag contains a value that you can use to perform operations conditionally. If the request + * version is 2011-08-18 or newer, the ETag value will be in quotes. + */ + eTag?: string; + /** + * The size of the blob in bytes. + */ + blobContentLength?: number; + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the Blob service used to execute the request. This header is returned + * for requests made against version 2009-09-19 and above. + */ + version?: string; + /** + * UTC date/time value generated by the service that indicates the time at which the response was + * initiated + */ + date?: Date; + errorCode?: string; +} + +/** * Defines headers for GetPageRangesDiff operation. */ export interface PageBlobGetPageRangesDiffHeaders { @@ -3957,6 +4262,59 @@ export interface PageBlobCopyIncrementalHeaders { * Defines headers for AppendBlock operation. */ export interface AppendBlobAppendBlockHeaders { + /** + * The ETag contains a value that you can use to perform operations conditionally. If the request + * version is 2011-08-18 or newer, the ETag value will be in quotes. + */ + eTag?: string; + /** + * Returns the date and time the container was last modified. Any operation that modifies the + * blob, including an update of the blob's metadata or properties, changes the last-modified time + * of the blob. + */ + lastModified?: Date; + /** + * If the blob has an MD5 hash and this operation is to read the full blob, this response header + * is returned so that the client can check for message content integrity. + */ + contentMD5?: Uint8Array; + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the Blob service used to execute the request. This header is returned + * for requests made against version 2009-09-19 and above. + */ + version?: string; + /** + * UTC date/time value generated by the service that indicates the time at which the response was + * initiated + */ + date?: Date; + /** + * This response header is returned only for append operations. It returns the offset at which + * the block was committed, in bytes. + */ + blobAppendOffset?: string; + /** + * The number of committed blocks present in the blob. This header is returned only for append + * blobs. + */ + blobCommittedBlockCount?: number; + /** + * The value of this header is set to true if the contents of the request are successfully + * encrypted using the specified algorithm, and false otherwise. + */ + isServerEncrypted?: boolean; + errorCode?: string; +} + +/** + * Defines headers for AppendBlockFromUrl operation. + */ +export interface AppendBlobAppendBlockFromUrlHeaders { /** * The ETag contains a value that you can use to perform operations conditionally. If the request * version is 2011-08-18 or newer, the ETag value will be in quotes. @@ -4007,7 +4365,7 @@ export interface AppendBlobAppendBlockHeaders { * @readonly * @enum {string} */ -export type PublicAccessType = 'container' | 'blob'; +export type PublicAccessType = "container" | "blob"; /** * Defines values for CopyStatusType. @@ -4015,7 +4373,7 @@ export type PublicAccessType = 'container' | 'blob'; * @readonly * @enum {string} */ -export type CopyStatusType = 'pending' | 'success' | 'aborted' | 'failed'; +export type CopyStatusType = "pending" | "success" | "aborted" | "failed"; /** * Defines values for LeaseDurationType. @@ -4023,7 +4381,7 @@ export type CopyStatusType = 'pending' | 'success' | 'aborted' | 'failed'; * @readonly * @enum {string} */ -export type LeaseDurationType = 'infinite' | 'fixed'; +export type LeaseDurationType = "infinite" | "fixed"; /** * Defines values for LeaseStateType. @@ -4031,7 +4389,7 @@ export type LeaseDurationType = 'infinite' | 'fixed'; * @readonly * @enum {string} */ -export type LeaseStateType = 'available' | 'leased' | 'expired' | 'breaking' | 'broken'; +export type LeaseStateType = "available" | "leased" | "expired" | "breaking" | "broken"; /** * Defines values for LeaseStatusType. @@ -4039,7 +4397,7 @@ export type LeaseStateType = 'available' | 'leased' | 'expired' | 'breaking' | ' * @readonly * @enum {string} */ -export type LeaseStatusType = 'locked' | 'unlocked'; +export type LeaseStatusType = "locked" | "unlocked"; /** * Defines values for AccessTier. @@ -4047,7 +4405,17 @@ export type LeaseStatusType = 'locked' | 'unlocked'; * @readonly * @enum {string} */ -export type AccessTier = 'P4' | 'P6' | 'P10' | 'P20' | 'P30' | 'P40' | 'P50' | 'Hot' | 'Cool' | 'Archive'; +export type AccessTier = + | "P4" + | "P6" + | "P10" + | "P20" + | "P30" + | "P40" + | "P50" + | "Hot" + | "Cool" + | "Archive"; /** * Defines values for ArchiveStatus. @@ -4055,7 +4423,7 @@ export type AccessTier = 'P4' | 'P6' | 'P10' | 'P20' | 'P30' | 'P40' | 'P50' | ' * @readonly * @enum {string} */ -export type ArchiveStatus = 'rehydrate-pending-to-hot' | 'rehydrate-pending-to-cool'; +export type ArchiveStatus = "rehydrate-pending-to-hot" | "rehydrate-pending-to-cool"; /** * Defines values for BlobType. @@ -4063,7 +4431,7 @@ export type ArchiveStatus = 'rehydrate-pending-to-hot' | 'rehydrate-pending-to-c * @readonly * @enum {string} */ -export type BlobType = 'BlockBlob' | 'PageBlob' | 'AppendBlob'; +export type BlobType = "BlockBlob" | "PageBlob" | "AppendBlob"; /** * Defines values for StorageErrorCode. @@ -4103,7 +4471,112 @@ export type BlobType = 'BlockBlob' | 'PageBlob' | 'AppendBlob'; * @readonly * @enum {string} */ -export type StorageErrorCode = 'AccountAlreadyExists' | 'AccountBeingCreated' | 'AccountIsDisabled' | 'AuthenticationFailed' | 'AuthorizationFailure' | 'ConditionHeadersNotSupported' | 'ConditionNotMet' | 'EmptyMetadataKey' | 'InsufficientAccountPermissions' | 'InternalError' | 'InvalidAuthenticationInfo' | 'InvalidHeaderValue' | 'InvalidHttpVerb' | 'InvalidInput' | 'InvalidMd5' | 'InvalidMetadata' | 'InvalidQueryParameterValue' | 'InvalidRange' | 'InvalidResourceName' | 'InvalidUri' | 'InvalidXmlDocument' | 'InvalidXmlNodeValue' | 'Md5Mismatch' | 'MetadataTooLarge' | 'MissingContentLengthHeader' | 'MissingRequiredQueryParameter' | 'MissingRequiredHeader' | 'MissingRequiredXmlNode' | 'MultipleConditionHeadersNotSupported' | 'OperationTimedOut' | 'OutOfRangeInput' | 'OutOfRangeQueryParameterValue' | 'RequestBodyTooLarge' | 'ResourceTypeMismatch' | 'RequestUrlFailedToParse' | 'ResourceAlreadyExists' | 'ResourceNotFound' | 'ServerBusy' | 'UnsupportedHeader' | 'UnsupportedXmlNode' | 'UnsupportedQueryParameter' | 'UnsupportedHttpVerb' | 'AppendPositionConditionNotMet' | 'BlobAlreadyExists' | 'BlobNotFound' | 'BlobOverwritten' | 'BlobTierInadequateForContentLength' | 'BlockCountExceedsLimit' | 'BlockListTooLong' | 'CannotChangeToLowerTier' | 'CannotVerifyCopySource' | 'ContainerAlreadyExists' | 'ContainerBeingDeleted' | 'ContainerDisabled' | 'ContainerNotFound' | 'ContentLengthLargerThanTierLimit' | 'CopyAcrossAccountsNotSupported' | 'CopyIdMismatch' | 'FeatureVersionMismatch' | 'IncrementalCopyBlobMismatch' | 'IncrementalCopyOfEralierVersionSnapshotNotAllowed' | 'IncrementalCopySourceMustBeSnapshot' | 'InfiniteLeaseDurationRequired' | 'InvalidBlobOrBlock' | 'InvalidBlobTier' | 'InvalidBlobType' | 'InvalidBlockId' | 'InvalidBlockList' | 'InvalidOperation' | 'InvalidPageRange' | 'InvalidSourceBlobType' | 'InvalidSourceBlobUrl' | 'InvalidVersionForPageBlobOperation' | 'LeaseAlreadyPresent' | 'LeaseAlreadyBroken' | 'LeaseIdMismatchWithBlobOperation' | 'LeaseIdMismatchWithContainerOperation' | 'LeaseIdMismatchWithLeaseOperation' | 'LeaseIdMissing' | 'LeaseIsBreakingAndCannotBeAcquired' | 'LeaseIsBreakingAndCannotBeChanged' | 'LeaseIsBrokenAndCannotBeRenewed' | 'LeaseLost' | 'LeaseNotPresentWithBlobOperation' | 'LeaseNotPresentWithContainerOperation' | 'LeaseNotPresentWithLeaseOperation' | 'MaxBlobSizeConditionNotMet' | 'NoPendingCopyOperation' | 'OperationNotAllowedOnIncrementalCopyBlob' | 'PendingCopyOperation' | 'PreviousSnapshotCannotBeNewer' | 'PreviousSnapshotNotFound' | 'PreviousSnapshotOperationNotSupported' | 'SequenceNumberConditionNotMet' | 'SequenceNumberIncrementTooLarge' | 'SnapshotCountExceeded' | 'SnaphotOperationRateExceeded' | 'SnapshotsPresent' | 'SourceConditionNotMet' | 'SystemInUse' | 'TargetConditionNotMet' | 'UnauthorizedBlobOverwrite' | 'BlobBeingRehydrated' | 'BlobArchived' | 'BlobNotArchived'; +export type StorageErrorCode = + | "AccountAlreadyExists" + | "AccountBeingCreated" + | "AccountIsDisabled" + | "AuthenticationFailed" + | "AuthorizationFailure" + | "ConditionHeadersNotSupported" + | "ConditionNotMet" + | "EmptyMetadataKey" + | "InsufficientAccountPermissions" + | "InternalError" + | "InvalidAuthenticationInfo" + | "InvalidHeaderValue" + | "InvalidHttpVerb" + | "InvalidInput" + | "InvalidMd5" + | "InvalidMetadata" + | "InvalidQueryParameterValue" + | "InvalidRange" + | "InvalidResourceName" + | "InvalidUri" + | "InvalidXmlDocument" + | "InvalidXmlNodeValue" + | "Md5Mismatch" + | "MetadataTooLarge" + | "MissingContentLengthHeader" + | "MissingRequiredQueryParameter" + | "MissingRequiredHeader" + | "MissingRequiredXmlNode" + | "MultipleConditionHeadersNotSupported" + | "OperationTimedOut" + | "OutOfRangeInput" + | "OutOfRangeQueryParameterValue" + | "RequestBodyTooLarge" + | "ResourceTypeMismatch" + | "RequestUrlFailedToParse" + | "ResourceAlreadyExists" + | "ResourceNotFound" + | "ServerBusy" + | "UnsupportedHeader" + | "UnsupportedXmlNode" + | "UnsupportedQueryParameter" + | "UnsupportedHttpVerb" + | "AppendPositionConditionNotMet" + | "BlobAlreadyExists" + | "BlobNotFound" + | "BlobOverwritten" + | "BlobTierInadequateForContentLength" + | "BlockCountExceedsLimit" + | "BlockListTooLong" + | "CannotChangeToLowerTier" + | "CannotVerifyCopySource" + | "ContainerAlreadyExists" + | "ContainerBeingDeleted" + | "ContainerDisabled" + | "ContainerNotFound" + | "ContentLengthLargerThanTierLimit" + | "CopyAcrossAccountsNotSupported" + | "CopyIdMismatch" + | "FeatureVersionMismatch" + | "IncrementalCopyBlobMismatch" + | "IncrementalCopyOfEralierVersionSnapshotNotAllowed" + | "IncrementalCopySourceMustBeSnapshot" + | "InfiniteLeaseDurationRequired" + | "InvalidBlobOrBlock" + | "InvalidBlobTier" + | "InvalidBlobType" + | "InvalidBlockId" + | "InvalidBlockList" + | "InvalidOperation" + | "InvalidPageRange" + | "InvalidSourceBlobType" + | "InvalidSourceBlobUrl" + | "InvalidVersionForPageBlobOperation" + | "LeaseAlreadyPresent" + | "LeaseAlreadyBroken" + | "LeaseIdMismatchWithBlobOperation" + | "LeaseIdMismatchWithContainerOperation" + | "LeaseIdMismatchWithLeaseOperation" + | "LeaseIdMissing" + | "LeaseIsBreakingAndCannotBeAcquired" + | "LeaseIsBreakingAndCannotBeChanged" + | "LeaseIsBrokenAndCannotBeRenewed" + | "LeaseLost" + | "LeaseNotPresentWithBlobOperation" + | "LeaseNotPresentWithContainerOperation" + | "LeaseNotPresentWithLeaseOperation" + | "MaxBlobSizeConditionNotMet" + | "NoPendingCopyOperation" + | "OperationNotAllowedOnIncrementalCopyBlob" + | "PendingCopyOperation" + | "PreviousSnapshotCannotBeNewer" + | "PreviousSnapshotNotFound" + | "PreviousSnapshotOperationNotSupported" + | "SequenceNumberConditionNotMet" + | "SequenceNumberIncrementTooLarge" + | "SnapshotCountExceeded" + | "SnaphotOperationRateExceeded" + | "SnapshotsPresent" + | "SourceConditionNotMet" + | "SystemInUse" + | "TargetConditionNotMet" + | "UnauthorizedBlobOverwrite" + | "BlobBeingRehydrated" + | "BlobArchived" + | "BlobNotArchived"; /** * Defines values for GeoReplicationStatusType. @@ -4111,7 +4584,7 @@ export type StorageErrorCode = 'AccountAlreadyExists' | 'AccountBeingCreated' | * @readonly * @enum {string} */ -export type GeoReplicationStatusType = 'live' | 'bootstrap' | 'unavailable'; +export type GeoReplicationStatusType = "live" | "bootstrap" | "unavailable"; /** * Defines values for BlockListType. @@ -4119,7 +4592,7 @@ export type GeoReplicationStatusType = 'live' | 'bootstrap' | 'unavailable'; * @readonly * @enum {string} */ -export type BlockListType = 'committed' | 'uncommitted' | 'all'; +export type BlockListType = "committed" | "uncommitted" | "all"; /** * Defines values for DeleteSnapshotsOptionType. @@ -4127,15 +4600,20 @@ export type BlockListType = 'committed' | 'uncommitted' | 'all'; * @readonly * @enum {string} */ -export type DeleteSnapshotsOptionType = 'include' | 'only'; +export type DeleteSnapshotsOptionType = "include" | "only"; /** * Defines values for ListBlobsIncludeItem. - * Possible values include: 'snapshots', 'metadata', 'uncommittedblobs', 'copy', 'deleted' + * Possible values include: 'copy', 'deleted', 'metadata', 'snapshots', 'uncommittedblobs' * @readonly * @enum {string} */ -export type ListBlobsIncludeItem = 'snapshots' | 'metadata' | 'uncommittedblobs' | 'copy' | 'deleted'; +export type ListBlobsIncludeItem = + | "copy" + | "deleted" + | "metadata" + | "snapshots" + | "uncommittedblobs"; /** * Defines values for ListContainersIncludeType. @@ -4143,7 +4621,7 @@ export type ListBlobsIncludeItem = 'snapshots' | 'metadata' | 'uncommittedblobs' * @readonly * @enum {string} */ -export type ListContainersIncludeType = 'metadata'; +export type ListContainersIncludeType = "metadata"; /** * Defines values for SequenceNumberActionType. @@ -4151,7 +4629,7 @@ export type ListContainersIncludeType = 'metadata'; * @readonly * @enum {string} */ -export type SequenceNumberActionType = 'max' | 'update' | 'increment'; +export type SequenceNumberActionType = "max" | "update" | "increment"; /** * Defines values for SkuName. @@ -4160,7 +4638,12 @@ export type SequenceNumberActionType = 'max' | 'update' | 'increment'; * @readonly * @enum {string} */ -export type SkuName = 'Standard_LRS' | 'Standard_GRS' | 'Standard_RAGRS' | 'Standard_ZRS' | 'Premium_LRS'; +export type SkuName = + | "Standard_LRS" + | "Standard_GRS" + | "Standard_RAGRS" + | "Standard_ZRS" + | "Premium_LRS"; /** * Defines values for AccountKind. @@ -4168,7 +4651,15 @@ export type SkuName = 'Standard_LRS' | 'Standard_GRS' | 'Standard_RAGRS' | 'Stan * @readonly * @enum {string} */ -export type AccountKind = 'Storage' | 'BlobStorage' | 'StorageV2'; +export type AccountKind = "Storage" | "BlobStorage" | "StorageV2"; + +/** + * Defines values for SyncCopyStatusType. + * Possible values include: 'success' + * @readonly + * @enum {string} + */ +export type SyncCopyStatusType = "success"; /** * Contains response data for the setProperties operation. @@ -4178,21 +4669,22 @@ export type ServiceSetPropertiesResponse = ServiceSetPropertiesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ServiceSetPropertiesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ServiceSetPropertiesHeaders; + }; }; /** * Contains response data for the getProperties operation. */ -export type ServiceGetPropertiesResponse = StorageServiceProperties & ServiceGetPropertiesHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ServiceGetPropertiesResponse = StorageServiceProperties & + ServiceGetPropertiesHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4208,16 +4700,17 @@ export type ServiceGetPropertiesResponse = StorageServiceProperties & ServiceGet */ parsedBody: StorageServiceProperties; }; -}; + }; /** * Contains response data for the getStatistics operation. */ -export type ServiceGetStatisticsResponse = StorageServiceStats & ServiceGetStatisticsHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ServiceGetStatisticsResponse = StorageServiceStats & + ServiceGetStatisticsHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4233,16 +4726,17 @@ export type ServiceGetStatisticsResponse = StorageServiceStats & ServiceGetStati */ parsedBody: StorageServiceStats; }; -}; + }; /** * Contains response data for the listContainersSegment operation. */ -export type ServiceListContainersSegmentResponse = ListContainersSegmentResponse & ServiceListContainersSegmentHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ServiceListContainersSegmentResponse = ListContainersSegmentResponse & + ServiceListContainersSegmentHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4258,7 +4752,33 @@ export type ServiceListContainersSegmentResponse = ListContainersSegmentResponse */ parsedBody: ListContainersSegmentResponse; }; -}; + }; + +/** + * Contains response data for the getUserDelegationKey operation. + */ +export type ServiceGetUserDelegationKeyResponse = UserDelegationKey & + ServiceGetUserDelegationKeyHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ServiceGetUserDelegationKeyHeaders; + + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: UserDelegationKey; + }; + }; /** * Contains response data for the getAccountInfo operation. @@ -4268,11 +4788,11 @@ export type ServiceGetAccountInfoResponse = ServiceGetAccountInfoHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ServiceGetAccountInfoHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ServiceGetAccountInfoHeaders; + }; }; /** @@ -4283,11 +4803,11 @@ export type ContainerCreateResponse = ContainerCreateHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerCreateHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerCreateHeaders; + }; }; /** @@ -4298,11 +4818,11 @@ export type ContainerGetPropertiesResponse = ContainerGetPropertiesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerGetPropertiesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerGetPropertiesHeaders; + }; }; /** @@ -4313,11 +4833,11 @@ export type ContainerDeleteResponse = ContainerDeleteHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerDeleteHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerDeleteHeaders; + }; }; /** @@ -4328,21 +4848,22 @@ export type ContainerSetMetadataResponse = ContainerSetMetadataHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerSetMetadataHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerSetMetadataHeaders; + }; }; /** * Contains response data for the getAccessPolicy operation. */ -export type ContainerGetAccessPolicyResponse = Array & ContainerGetAccessPolicyHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ContainerGetAccessPolicyResponse = SignedIdentifier[] & + ContainerGetAccessPolicyHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4358,7 +4879,7 @@ export type ContainerGetAccessPolicyResponse = Array & Contain */ parsedBody: SignedIdentifier[]; }; -}; + }; /** * Contains response data for the setAccessPolicy operation. @@ -4368,11 +4889,11 @@ export type ContainerSetAccessPolicyResponse = ContainerSetAccessPolicyHeaders & * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerSetAccessPolicyHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerSetAccessPolicyHeaders; + }; }; /** @@ -4383,11 +4904,11 @@ export type ContainerAcquireLeaseResponse = ContainerAcquireLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerAcquireLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerAcquireLeaseHeaders; + }; }; /** @@ -4398,11 +4919,11 @@ export type ContainerReleaseLeaseResponse = ContainerReleaseLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerReleaseLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerReleaseLeaseHeaders; + }; }; /** @@ -4413,11 +4934,11 @@ export type ContainerRenewLeaseResponse = ContainerRenewLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerRenewLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerRenewLeaseHeaders; + }; }; /** @@ -4428,11 +4949,11 @@ export type ContainerBreakLeaseResponse = ContainerBreakLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerBreakLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerBreakLeaseHeaders; + }; }; /** @@ -4443,21 +4964,22 @@ export type ContainerChangeLeaseResponse = ContainerChangeLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerChangeLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerChangeLeaseHeaders; + }; }; /** * Contains response data for the listBlobFlatSegment operation. */ -export type ContainerListBlobFlatSegmentResponse = ListBlobsFlatSegmentResponse & ContainerListBlobFlatSegmentHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ContainerListBlobFlatSegmentResponse = ListBlobsFlatSegmentResponse & + ContainerListBlobFlatSegmentHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4473,16 +4995,17 @@ export type ContainerListBlobFlatSegmentResponse = ListBlobsFlatSegmentResponse */ parsedBody: ListBlobsFlatSegmentResponse; }; -}; + }; /** * Contains response data for the listBlobHierarchySegment operation. */ -export type ContainerListBlobHierarchySegmentResponse = ListBlobsHierarchySegmentResponse & ContainerListBlobHierarchySegmentHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ContainerListBlobHierarchySegmentResponse = ListBlobsHierarchySegmentResponse & + ContainerListBlobHierarchySegmentHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4498,7 +5021,7 @@ export type ContainerListBlobHierarchySegmentResponse = ListBlobsHierarchySegmen */ parsedBody: ListBlobsHierarchySegmentResponse; }; -}; + }; /** * Contains response data for the getAccountInfo operation. @@ -4508,11 +5031,11 @@ export type ContainerGetAccountInfoResponse = ContainerGetAccountInfoHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ContainerGetAccountInfoHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ContainerGetAccountInfoHeaders; + }; }; /** @@ -4539,11 +5062,11 @@ export type BlobDownloadResponse = BlobDownloadHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobDownloadHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobDownloadHeaders; + }; }; /** @@ -4554,11 +5077,11 @@ export type BlobGetPropertiesResponse = BlobGetPropertiesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobGetPropertiesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobGetPropertiesHeaders; + }; }; /** @@ -4569,11 +5092,11 @@ export type BlobDeleteResponse = BlobDeleteHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobDeleteHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobDeleteHeaders; + }; }; /** @@ -4584,11 +5107,11 @@ export type BlobUndeleteResponse = BlobUndeleteHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobUndeleteHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobUndeleteHeaders; + }; }; /** @@ -4599,11 +5122,11 @@ export type BlobSetHTTPHeadersResponse = BlobSetHTTPHeadersHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobSetHTTPHeadersHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobSetHTTPHeadersHeaders; + }; }; /** @@ -4614,11 +5137,11 @@ export type BlobSetMetadataResponse = BlobSetMetadataHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobSetMetadataHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobSetMetadataHeaders; + }; }; /** @@ -4629,11 +5152,11 @@ export type BlobAcquireLeaseResponse = BlobAcquireLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobAcquireLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobAcquireLeaseHeaders; + }; }; /** @@ -4644,11 +5167,11 @@ export type BlobReleaseLeaseResponse = BlobReleaseLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobReleaseLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobReleaseLeaseHeaders; + }; }; /** @@ -4659,11 +5182,11 @@ export type BlobRenewLeaseResponse = BlobRenewLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobRenewLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobRenewLeaseHeaders; + }; }; /** @@ -4674,11 +5197,11 @@ export type BlobChangeLeaseResponse = BlobChangeLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobChangeLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobChangeLeaseHeaders; + }; }; /** @@ -4689,11 +5212,11 @@ export type BlobBreakLeaseResponse = BlobBreakLeaseHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobBreakLeaseHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobBreakLeaseHeaders; + }; }; /** @@ -4704,11 +5227,11 @@ export type BlobCreateSnapshotResponse = BlobCreateSnapshotHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobCreateSnapshotHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobCreateSnapshotHeaders; + }; }; /** @@ -4719,11 +5242,26 @@ export type BlobStartCopyFromURLResponse = BlobStartCopyFromURLHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobStartCopyFromURLHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobStartCopyFromURLHeaders; + }; +}; + +/** + * Contains response data for the copyFromURL operation. + */ +export type BlobCopyFromURLResponse = BlobCopyFromURLHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobCopyFromURLHeaders; + }; }; /** @@ -4734,11 +5272,11 @@ export type BlobAbortCopyFromURLResponse = BlobAbortCopyFromURLHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobAbortCopyFromURLHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobAbortCopyFromURLHeaders; + }; }; /** @@ -4749,11 +5287,11 @@ export type BlobSetTierResponse = BlobSetTierHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobSetTierHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobSetTierHeaders; + }; }; /** @@ -4764,11 +5302,11 @@ export type BlobGetAccountInfoResponse = BlobGetAccountInfoHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlobGetAccountInfoHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlobGetAccountInfoHeaders; + }; }; /** @@ -4779,11 +5317,11 @@ export type PageBlobCreateResponse = PageBlobCreateHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: PageBlobCreateHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PageBlobCreateHeaders; + }; }; /** @@ -4794,11 +5332,11 @@ export type PageBlobUploadPagesResponse = PageBlobUploadPagesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: PageBlobUploadPagesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PageBlobUploadPagesHeaders; + }; }; /** @@ -4809,21 +5347,37 @@ export type PageBlobClearPagesResponse = PageBlobClearPagesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: PageBlobClearPagesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PageBlobClearPagesHeaders; + }; }; /** - * Contains response data for the getPageRanges operation. + * Contains response data for the uploadPagesFromURL operation. */ -export type PageBlobGetPageRangesResponse = PageList & PageBlobGetPageRangesHeaders & { +export type PageBlobUploadPagesFromURLResponse = PageBlobUploadPagesFromURLHeaders & { /** * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PageBlobUploadPagesFromURLHeaders; + }; +}; + +/** + * Contains response data for the getPageRanges operation. + */ +export type PageBlobGetPageRangesResponse = PageList & + PageBlobGetPageRangesHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4839,16 +5393,17 @@ export type PageBlobGetPageRangesResponse = PageList & PageBlobGetPageRangesHead */ parsedBody: PageList; }; -}; + }; /** * Contains response data for the getPageRangesDiff operation. */ -export type PageBlobGetPageRangesDiffResponse = PageList & PageBlobGetPageRangesDiffHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type PageBlobGetPageRangesDiffResponse = PageList & + PageBlobGetPageRangesDiffHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -4864,7 +5419,7 @@ export type PageBlobGetPageRangesDiffResponse = PageList & PageBlobGetPageRanges */ parsedBody: PageList; }; -}; + }; /** * Contains response data for the resize operation. @@ -4874,11 +5429,11 @@ export type PageBlobResizeResponse = PageBlobResizeHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: PageBlobResizeHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PageBlobResizeHeaders; + }; }; /** @@ -4889,11 +5444,11 @@ export type PageBlobUpdateSequenceNumberResponse = PageBlobUpdateSequenceNumberH * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: PageBlobUpdateSequenceNumberHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PageBlobUpdateSequenceNumberHeaders; + }; }; /** @@ -4904,11 +5459,11 @@ export type PageBlobCopyIncrementalResponse = PageBlobCopyIncrementalHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: PageBlobCopyIncrementalHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: PageBlobCopyIncrementalHeaders; + }; }; /** @@ -4919,11 +5474,11 @@ export type AppendBlobCreateResponse = AppendBlobCreateHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: AppendBlobCreateHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: AppendBlobCreateHeaders; + }; }; /** @@ -4934,11 +5489,26 @@ export type AppendBlobAppendBlockResponse = AppendBlobAppendBlockHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: AppendBlobAppendBlockHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: AppendBlobAppendBlockHeaders; + }; +}; + +/** + * Contains response data for the appendBlockFromUrl operation. + */ +export type AppendBlobAppendBlockFromUrlResponse = AppendBlobAppendBlockFromUrlHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: AppendBlobAppendBlockFromUrlHeaders; + }; }; /** @@ -4949,11 +5519,11 @@ export type BlockBlobUploadResponse = BlockBlobUploadHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlockBlobUploadHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlockBlobUploadHeaders; + }; }; /** @@ -4964,11 +5534,11 @@ export type BlockBlobStageBlockResponse = BlockBlobStageBlockHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlockBlobStageBlockHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlockBlobStageBlockHeaders; + }; }; /** @@ -4979,11 +5549,11 @@ export type BlockBlobStageBlockFromURLResponse = BlockBlobStageBlockFromURLHeade * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlockBlobStageBlockFromURLHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlockBlobStageBlockFromURLHeaders; + }; }; /** @@ -4994,21 +5564,22 @@ export type BlockBlobCommitBlockListResponse = BlockBlobCommitBlockListHeaders & * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: BlockBlobCommitBlockListHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: BlockBlobCommitBlockListHeaders; + }; }; /** * Contains response data for the getBlockList operation. */ -export type BlockBlobGetBlockListResponse = BlockList & BlockBlobGetBlockListHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type BlockBlobGetBlockListResponse = BlockList & + BlockBlobGetBlockListHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -5024,4 +5595,4 @@ export type BlockBlobGetBlockListResponse = BlockList & BlockBlobGetBlockListHea */ parsedBody: BlockList; }; -}; + }; diff --git a/sdk/storage/storage-blob/src/generated/lib/models/mappers.ts b/sdk/storage/storage-blob/src/generated/src/models/mappers.ts similarity index 91% rename from sdk/storage/storage-blob/src/generated/lib/models/mappers.ts rename to sdk/storage/storage-blob/src/generated/src/models/mappers.ts index 7b151469717a..214b27110128 100644 --- a/sdk/storage/storage-blob/src/generated/lib/models/mappers.ts +++ b/sdk/storage/storage-blob/src/generated/src/models/mappers.ts @@ -8,6 +8,97 @@ import * as coreHttp from "@azure/core-http"; +export const KeyInfo: coreHttp.CompositeMapper = { + serializedName: "KeyInfo", + type: { + name: "Composite", + className: "KeyInfo", + modelProperties: { + start: { + xmlName: "Start", + required: true, + serializedName: "Start", + type: { + name: "String" + } + }, + expiry: { + xmlName: "Expiry", + required: true, + serializedName: "Expiry", + type: { + name: "String" + } + } + } + } +}; + +export const UserDelegationKey: coreHttp.CompositeMapper = { + serializedName: "UserDelegationKey", + type: { + name: "Composite", + className: "UserDelegationKey", + modelProperties: { + signedOid: { + xmlName: "SignedOid", + required: true, + serializedName: "SignedOid", + type: { + name: "String" + } + }, + signedTid: { + xmlName: "SignedTid", + required: true, + serializedName: "SignedTid", + type: { + name: "String" + } + }, + signedStart: { + xmlName: "SignedStart", + required: true, + serializedName: "SignedStart", + type: { + name: "String" + } + }, + signedExpiry: { + xmlName: "SignedExpiry", + required: true, + serializedName: "SignedExpiry", + type: { + name: "String" + } + }, + signedService: { + xmlName: "SignedService", + required: true, + serializedName: "SignedService", + type: { + name: "String" + } + }, + signedVersion: { + xmlName: "SignedVersion", + required: true, + serializedName: "SignedVersion", + type: { + name: "String" + } + }, + value: { + xmlName: "Value", + required: true, + serializedName: "Value", + type: { + name: "String" + } + } + } + } +}; export const StorageError: coreHttp.CompositeMapper = { serializedName: "StorageError", @@ -15,6 +106,13 @@ export const StorageError: coreHttp.CompositeMapper = { name: "Composite", className: "StorageError", modelProperties: { + code: { + xmlName: "Code", + serializedName: "Code", + type: { + name: "String" + } + }, message: { xmlName: "Message", serializedName: "Message", @@ -151,11 +249,7 @@ export const BlobProperties: coreHttp.CompositeMapper = { serializedName: "BlobType", type: { name: "Enum", - allowedValues: [ - "BlockBlob", - "PageBlob", - "AppendBlob" - ] + allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"] } }, leaseStatus: { @@ -163,10 +257,7 @@ export const BlobProperties: coreHttp.CompositeMapper = { serializedName: "LeaseStatus", type: { name: "Enum", - allowedValues: [ - "locked", - "unlocked" - ] + allowedValues: ["locked", "unlocked"] } }, leaseState: { @@ -174,13 +265,7 @@ export const BlobProperties: coreHttp.CompositeMapper = { serializedName: "LeaseState", type: { name: "Enum", - allowedValues: [ - "available", - "leased", - "expired", - "breaking", - "broken" - ] + allowedValues: ["available", "leased", "expired", "breaking", "broken"] } }, leaseDuration: { @@ -188,10 +273,7 @@ export const BlobProperties: coreHttp.CompositeMapper = { serializedName: "LeaseDuration", type: { name: "Enum", - allowedValues: [ - "infinite", - "fixed" - ] + allowedValues: ["infinite", "fixed"] } }, copyId: { @@ -206,12 +288,7 @@ export const BlobProperties: coreHttp.CompositeMapper = { serializedName: "CopyStatus", type: { name: "Enum", - allowedValues: [ - "pending", - "success", - "aborted", - "failed" - ] + allowedValues: ["pending", "success", "aborted", "failed"] } }, copySource: { @@ -418,7 +495,6 @@ export const ListBlobsFlatSegmentResponse: coreHttp.CompositeMapper = { }, prefix: { xmlName: "Prefix", - required: true, serializedName: "Prefix", type: { name: "String" @@ -426,7 +502,6 @@ export const ListBlobsFlatSegmentResponse: coreHttp.CompositeMapper = { }, marker: { xmlName: "Marker", - required: true, serializedName: "Marker", type: { name: "String" @@ -434,7 +509,6 @@ export const ListBlobsFlatSegmentResponse: coreHttp.CompositeMapper = { }, maxResults: { xmlName: "MaxResults", - required: true, serializedName: "MaxResults", type: { name: "Number" @@ -442,7 +516,6 @@ export const ListBlobsFlatSegmentResponse: coreHttp.CompositeMapper = { }, delimiter: { xmlName: "Delimiter", - required: true, serializedName: "Delimiter", type: { name: "String" @@ -459,7 +532,6 @@ export const ListBlobsFlatSegmentResponse: coreHttp.CompositeMapper = { }, nextMarker: { xmlName: "NextMarker", - required: true, serializedName: "NextMarker", type: { name: "String" @@ -554,7 +626,6 @@ export const ListBlobsHierarchySegmentResponse: coreHttp.CompositeMapper = { }, prefix: { xmlName: "Prefix", - required: true, serializedName: "Prefix", type: { name: "String" @@ -562,7 +633,6 @@ export const ListBlobsHierarchySegmentResponse: coreHttp.CompositeMapper = { }, marker: { xmlName: "Marker", - required: true, serializedName: "Marker", type: { name: "String" @@ -570,7 +640,6 @@ export const ListBlobsHierarchySegmentResponse: coreHttp.CompositeMapper = { }, maxResults: { xmlName: "MaxResults", - required: true, serializedName: "MaxResults", type: { name: "Number" @@ -578,7 +647,6 @@ export const ListBlobsHierarchySegmentResponse: coreHttp.CompositeMapper = { }, delimiter: { xmlName: "Delimiter", - required: true, serializedName: "Delimiter", type: { name: "String" @@ -595,7 +663,6 @@ export const ListBlobsHierarchySegmentResponse: coreHttp.CompositeMapper = { }, nextMarker: { xmlName: "NextMarker", - required: true, serializedName: "NextMarker", type: { name: "String" @@ -748,10 +815,7 @@ export const ContainerProperties: coreHttp.CompositeMapper = { serializedName: "LeaseStatus", type: { name: "Enum", - allowedValues: [ - "locked", - "unlocked" - ] + allowedValues: ["locked", "unlocked"] } }, leaseState: { @@ -759,13 +823,7 @@ export const ContainerProperties: coreHttp.CompositeMapper = { serializedName: "LeaseState", type: { name: "Enum", - allowedValues: [ - "available", - "leased", - "expired", - "breaking", - "broken" - ] + allowedValues: ["available", "leased", "expired", "breaking", "broken"] } }, leaseDuration: { @@ -773,10 +831,7 @@ export const ContainerProperties: coreHttp.CompositeMapper = { serializedName: "LeaseDuration", type: { name: "Enum", - allowedValues: [ - "infinite", - "fixed" - ] + allowedValues: ["infinite", "fixed"] } }, publicAccess: { @@ -862,7 +917,6 @@ export const ListContainersSegmentResponse: coreHttp.CompositeMapper = { }, prefix: { xmlName: "Prefix", - required: true, serializedName: "Prefix", type: { name: "String" @@ -877,7 +931,6 @@ export const ListContainersSegmentResponse: coreHttp.CompositeMapper = { }, maxResults: { xmlName: "MaxResults", - required: true, serializedName: "MaxResults", type: { name: "Number" @@ -901,7 +954,6 @@ export const ListContainersSegmentResponse: coreHttp.CompositeMapper = { }, nextMarker: { xmlName: "NextMarker", - required: true, serializedName: "NextMarker", type: { name: "String" @@ -1646,6 +1698,40 @@ export const ServiceListContainersSegmentHeaders: coreHttp.CompositeMapper = { } }; +export const ServiceGetUserDelegationKeyHeaders: coreHttp.CompositeMapper = { + serializedName: "service-getuserdelegationkey-headers", + type: { + name: "Composite", + className: "ServiceGetUserDelegationKeyHeaders", + modelProperties: { + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; + export const ServiceGetAccountInfoHeaders: coreHttp.CompositeMapper = { serializedName: "service-getaccountinfo-headers", type: { @@ -1687,11 +1773,7 @@ export const ServiceGetAccountInfoHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-account-kind", type: { name: "Enum", - allowedValues: [ - "Storage", - "BlobStorage", - "StorageV2" - ] + allowedValues: ["Storage", "BlobStorage", "StorageV2"] } }, errorCode: { @@ -1784,33 +1866,21 @@ export const ContainerGetPropertiesHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-lease-duration", type: { name: "Enum", - allowedValues: [ - "infinite", - "fixed" - ] + allowedValues: ["infinite", "fixed"] } }, leaseState: { serializedName: "x-ms-lease-state", type: { name: "Enum", - allowedValues: [ - "available", - "leased", - "expired", - "breaking", - "broken" - ] + allowedValues: ["available", "leased", "expired", "breaking", "broken"] } }, leaseStatus: { serializedName: "x-ms-lease-status", type: { name: "Enum", - allowedValues: [ - "locked", - "unlocked" - ] + allowedValues: ["locked", "unlocked"] } }, requestId: { @@ -2412,11 +2482,7 @@ export const ContainerGetAccountInfoHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-account-kind", type: { name: "Enum", - allowedValues: [ - "Storage", - "BlobStorage", - "StorageV2" - ] + allowedValues: ["Storage", "BlobStorage", "StorageV2"] } }, errorCode: { @@ -2517,11 +2583,7 @@ export const BlobDownloadHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-blob-type", type: { name: "Enum", - allowedValues: [ - "BlockBlob", - "PageBlob", - "AppendBlob" - ] + allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"] } }, copyCompletionTime: { @@ -2558,45 +2620,28 @@ export const BlobDownloadHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-copy-status", type: { name: "Enum", - allowedValues: [ - "pending", - "success", - "aborted", - "failed" - ] + allowedValues: ["pending", "success", "aborted", "failed"] } }, leaseDuration: { serializedName: "x-ms-lease-duration", type: { name: "Enum", - allowedValues: [ - "infinite", - "fixed" - ] + allowedValues: ["infinite", "fixed"] } }, leaseState: { serializedName: "x-ms-lease-state", type: { name: "Enum", - allowedValues: [ - "available", - "leased", - "expired", - "breaking", - "broken" - ] + allowedValues: ["available", "leased", "expired", "breaking", "broken"] } }, leaseStatus: { serializedName: "x-ms-lease-status", type: { name: "Enum", - allowedValues: [ - "locked", - "unlocked" - ] + allowedValues: ["locked", "unlocked"] } }, requestId: { @@ -2685,11 +2730,7 @@ export const BlobGetPropertiesHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-blob-type", type: { name: "Enum", - allowedValues: [ - "BlockBlob", - "PageBlob", - "AppendBlob" - ] + allowedValues: ["BlockBlob", "PageBlob", "AppendBlob"] } }, copyCompletionTime: { @@ -2726,12 +2767,7 @@ export const BlobGetPropertiesHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-copy-status", type: { name: "Enum", - allowedValues: [ - "pending", - "success", - "aborted", - "failed" - ] + allowedValues: ["pending", "success", "aborted", "failed"] } }, isIncrementalCopy: { @@ -2750,33 +2786,21 @@ export const BlobGetPropertiesHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-lease-duration", type: { name: "Enum", - allowedValues: [ - "infinite", - "fixed" - ] + allowedValues: ["infinite", "fixed"] } }, leaseState: { serializedName: "x-ms-lease-state", type: { name: "Enum", - allowedValues: [ - "available", - "leased", - "expired", - "breaking", - "broken" - ] + allowedValues: ["available", "leased", "expired", "breaking", "broken"] } }, leaseStatus: { serializedName: "x-ms-lease-status", type: { name: "Enum", - allowedValues: [ - "locked", - "unlocked" - ] + allowedValues: ["locked", "unlocked"] } }, contentLength: { @@ -3601,12 +3625,66 @@ export const BlobStartCopyFromURLHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-copy-status", type: { name: "Enum", - allowedValues: [ - "pending", - "success", - "aborted", - "failed" - ] + allowedValues: ["pending", "success", "aborted", "failed"] + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; + +export const BlobCopyFromURLHeaders: coreHttp.CompositeMapper = { + serializedName: "blob-copyfromurl-headers", + type: { + name: "Composite", + className: "BlobCopyFromURLHeaders", + modelProperties: { + eTag: { + serializedName: "etag", + type: { + name: "String" + } + }, + lastModified: { + serializedName: "last-modified", + type: { + name: "DateTimeRfc1123" + } + }, + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + copyId: { + serializedName: "x-ms-copy-id", + type: { + name: "String" + } + }, + copyStatus: { + serializedName: "x-ms-copy-status", + type: { + name: "Enum", + allowedValues: ["success"] } }, errorCode: { @@ -3722,11 +3800,7 @@ export const BlobGetAccountInfoHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-account-kind", type: { name: "Enum", - allowedValues: [ - "Storage", - "BlobStorage", - "StorageV2" - ] + allowedValues: ["Storage", "BlobStorage", "StorageV2"] } }, errorCode: { @@ -4069,6 +4143,70 @@ export const PageBlobClearPagesHeaders: coreHttp.CompositeMapper = { } }; +export const PageBlobUploadPagesFromURLHeaders: coreHttp.CompositeMapper = { + serializedName: "pageblob-uploadpagesfromurl-headers", + type: { + name: "Composite", + className: "PageBlobUploadPagesFromURLHeaders", + modelProperties: { + eTag: { + serializedName: "etag", + type: { + name: "String" + } + }, + lastModified: { + serializedName: "last-modified", + type: { + name: "DateTimeRfc1123" + } + }, + contentMD5: { + serializedName: "content-md5", + type: { + name: "ByteArray" + } + }, + blobSequenceNumber: { + serializedName: "x-ms-blob-sequence-number", + type: { + name: "Number" + } + }, + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + isServerEncrypted: { + serializedName: "x-ms-request-server-encrypted", + type: { + name: "Boolean" + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; + export const PageBlobGetPageRangesHeaders: coreHttp.CompositeMapper = { serializedName: "pageblob-getpageranges-headers", type: { @@ -4323,12 +4461,7 @@ export const PageBlobCopyIncrementalHeaders: coreHttp.CompositeMapper = { serializedName: "x-ms-copy-status", type: { name: "Enum", - allowedValues: [ - "pending", - "success", - "aborted", - "failed" - ] + allowedValues: ["pending", "success", "aborted", "failed"] } }, errorCode: { @@ -4346,6 +4479,76 @@ export const AppendBlobAppendBlockHeaders: coreHttp.CompositeMapper = { type: { name: "Composite", className: "AppendBlobAppendBlockHeaders", + modelProperties: { + eTag: { + serializedName: "etag", + type: { + name: "String" + } + }, + lastModified: { + serializedName: "last-modified", + type: { + name: "DateTimeRfc1123" + } + }, + contentMD5: { + serializedName: "content-md5", + type: { + name: "ByteArray" + } + }, + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + blobAppendOffset: { + serializedName: "x-ms-blob-append-offset", + type: { + name: "String" + } + }, + blobCommittedBlockCount: { + serializedName: "x-ms-blob-committed-block-count", + type: { + name: "Number" + } + }, + isServerEncrypted: { + serializedName: "x-ms-request-server-encrypted", + type: { + name: "Boolean" + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; + +export const AppendBlobAppendBlockFromUrlHeaders: coreHttp.CompositeMapper = { + serializedName: "appendblob-appendblockfromurl-headers", + type: { + name: "Composite", + className: "AppendBlobAppendBlockFromUrlHeaders", modelProperties: { eTag: { serializedName: "etag", diff --git a/sdk/storage/storage-blob/src/generated/lib/models/pageBlobMappers.ts b/sdk/storage/storage-blob/src/generated/src/models/pageBlobMappers.ts similarity index 94% rename from sdk/storage/storage-blob/src/generated/lib/models/pageBlobMappers.ts rename to sdk/storage/storage-blob/src/generated/src/models/pageBlobMappers.ts index 1366453967eb..aa0b50d42657 100644 --- a/sdk/storage/storage-blob/src/generated/lib/models/pageBlobMappers.ts +++ b/sdk/storage/storage-blob/src/generated/src/models/pageBlobMappers.ts @@ -15,6 +15,7 @@ export { PageBlobGetPageRangesHeaders, PageBlobResizeHeaders, PageBlobUpdateSequenceNumberHeaders, + PageBlobUploadPagesFromURLHeaders, PageBlobUploadPagesHeaders, PageList, PageRange, diff --git a/sdk/storage/storage-blob/src/generated/lib/models/parameters.ts b/sdk/storage/storage-blob/src/generated/src/models/parameters.ts similarity index 78% rename from sdk/storage/storage-blob/src/generated/lib/models/parameters.ts rename to sdk/storage/storage-blob/src/generated/src/models/parameters.ts index 92b69285a745..148d3c004d79 100644 --- a/sdk/storage/storage-blob/src/generated/lib/models/parameters.ts +++ b/sdk/storage/storage-blob/src/generated/src/models/parameters.ts @@ -11,10 +11,7 @@ import * as coreHttp from "@azure/core-http"; export const access: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "access" - ], + parameterPath: ["options", "access"], mapper: { serializedName: "x-ms-blob-public-access", type: { @@ -28,7 +25,7 @@ export const action0: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-lease-action", - defaultValue: 'acquire', + defaultValue: "acquire", type: { name: "String" } @@ -40,7 +37,7 @@ export const action1: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-lease-action", - defaultValue: 'release', + defaultValue: "release", type: { name: "String" } @@ -52,7 +49,7 @@ export const action2: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-lease-action", - defaultValue: 'renew', + defaultValue: "renew", type: { name: "String" } @@ -64,7 +61,7 @@ export const action3: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-lease-action", - defaultValue: 'break', + defaultValue: "break", type: { name: "String" } @@ -76,18 +73,14 @@ export const action4: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-lease-action", - defaultValue: 'change', + defaultValue: "change", type: { name: "String" } } }; export const appendPosition: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "appendPositionAccessConditions", - "appendPosition" - ], + parameterPath: ["options", "appendPositionAccessConditions", "appendPosition"], mapper: { serializedName: "x-ms-blob-condition-appendpos", type: { @@ -96,11 +89,7 @@ export const appendPosition: coreHttp.OperationParameter = { } }; export const blobCacheControl: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "blobHTTPHeaders", - "blobCacheControl" - ], + parameterPath: ["options", "blobHTTPHeaders", "blobCacheControl"], mapper: { serializedName: "x-ms-blob-cache-control", type: { @@ -109,11 +98,7 @@ export const blobCacheControl: coreHttp.OperationParameter = { } }; export const blobContentDisposition: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "blobHTTPHeaders", - "blobContentDisposition" - ], + parameterPath: ["options", "blobHTTPHeaders", "blobContentDisposition"], mapper: { serializedName: "x-ms-blob-content-disposition", type: { @@ -122,11 +107,7 @@ export const blobContentDisposition: coreHttp.OperationParameter = { } }; export const blobContentEncoding: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "blobHTTPHeaders", - "blobContentEncoding" - ], + parameterPath: ["options", "blobHTTPHeaders", "blobContentEncoding"], mapper: { serializedName: "x-ms-blob-content-encoding", type: { @@ -135,11 +116,7 @@ export const blobContentEncoding: coreHttp.OperationParameter = { } }; export const blobContentLanguage: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "blobHTTPHeaders", - "blobContentLanguage" - ], + parameterPath: ["options", "blobHTTPHeaders", "blobContentLanguage"], mapper: { serializedName: "x-ms-blob-content-language", type: { @@ -158,11 +135,7 @@ export const blobContentLength: coreHttp.OperationParameter = { } }; export const blobContentMD5: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "blobHTTPHeaders", - "blobContentMD5" - ], + parameterPath: ["options", "blobHTTPHeaders", "blobContentMD5"], mapper: { serializedName: "x-ms-blob-content-md5", type: { @@ -171,11 +144,7 @@ export const blobContentMD5: coreHttp.OperationParameter = { } }; export const blobContentType: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "blobHTTPHeaders", - "blobContentType" - ], + parameterPath: ["options", "blobHTTPHeaders", "blobContentType"], mapper: { serializedName: "x-ms-blob-content-type", type: { @@ -184,10 +153,7 @@ export const blobContentType: coreHttp.OperationParameter = { } }; export const blobSequenceNumber: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "blobSequenceNumber" - ], + parameterPath: ["options", "blobSequenceNumber"], mapper: { serializedName: "x-ms-blob-sequence-number", defaultValue: 0, @@ -202,7 +168,7 @@ export const blobType0: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-blob-type", - defaultValue: 'PageBlob', + defaultValue: "PageBlob", type: { name: "String" } @@ -214,7 +180,7 @@ export const blobType1: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-blob-type", - defaultValue: 'AppendBlob', + defaultValue: "AppendBlob", type: { name: "String" } @@ -226,7 +192,7 @@ export const blobType2: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-blob-type", - defaultValue: 'BlockBlob', + defaultValue: "BlockBlob", type: { name: "String" } @@ -243,10 +209,7 @@ export const blockId: coreHttp.OperationQueryParameter = { } }; export const breakPeriod: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "breakPeriod" - ], + parameterPath: ["options", "breakPeriod"], mapper: { serializedName: "x-ms-lease-break-period", type: { @@ -260,7 +223,7 @@ export const comp0: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'properties', + defaultValue: "properties", type: { name: "String" } @@ -272,7 +235,7 @@ export const comp1: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'stats', + defaultValue: "stats", type: { name: "String" } @@ -284,7 +247,7 @@ export const comp10: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'page', + defaultValue: "tier", type: { name: "String" } @@ -296,7 +259,7 @@ export const comp11: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'pagelist', + defaultValue: "page", type: { name: "String" } @@ -308,7 +271,7 @@ export const comp12: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'incrementalcopy', + defaultValue: "pagelist", type: { name: "String" } @@ -320,7 +283,7 @@ export const comp13: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'appendblock', + defaultValue: "incrementalcopy", type: { name: "String" } @@ -332,7 +295,7 @@ export const comp14: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'block', + defaultValue: "appendblock", type: { name: "String" } @@ -344,7 +307,19 @@ export const comp15: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'blocklist', + defaultValue: "block", + type: { + name: "String" + } + } +}; +export const comp16: coreHttp.OperationQueryParameter = { + parameterPath: "comp", + mapper: { + required: true, + isConstant: true, + serializedName: "comp", + defaultValue: "blocklist", type: { name: "String" } @@ -356,7 +331,7 @@ export const comp2: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'list', + defaultValue: "list", type: { name: "String" } @@ -368,7 +343,7 @@ export const comp3: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'metadata', + defaultValue: "userdelegationkey", type: { name: "String" } @@ -380,7 +355,7 @@ export const comp4: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'acl', + defaultValue: "metadata", type: { name: "String" } @@ -392,7 +367,7 @@ export const comp5: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'lease', + defaultValue: "acl", type: { name: "String" } @@ -404,7 +379,7 @@ export const comp6: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'undelete', + defaultValue: "lease", type: { name: "String" } @@ -416,7 +391,7 @@ export const comp7: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'snapshot', + defaultValue: "undelete", type: { name: "String" } @@ -428,7 +403,7 @@ export const comp8: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'copy', + defaultValue: "snapshot", type: { name: "String" } @@ -440,7 +415,7 @@ export const comp9: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'tier', + defaultValue: "copy", type: { name: "String" } @@ -462,7 +437,7 @@ export const copyActionAbortConstant: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-copy-action", - defaultValue: 'abort', + defaultValue: "abort", type: { name: "String" } @@ -489,18 +464,12 @@ export const copySource: coreHttp.OperationParameter = { } }; export const deleteSnapshots: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "deleteSnapshots" - ], + parameterPath: ["options", "deleteSnapshots"], mapper: { serializedName: "x-ms-delete-snapshots", type: { name: "Enum", - allowedValues: [ - "include", - "only" - ] + allowedValues: ["include", "only"] } } }; @@ -515,10 +484,7 @@ export const delimiter: coreHttp.OperationQueryParameter = { } }; export const duration: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "duration" - ], + parameterPath: ["options", "duration"], mapper: { serializedName: "x-ms-lease-duration", type: { @@ -527,11 +493,7 @@ export const duration: coreHttp.OperationParameter = { } }; export const ifMatch: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "modifiedAccessConditions", - "ifMatch" - ], + parameterPath: ["options", "modifiedAccessConditions", "ifMatch"], mapper: { serializedName: "If-Match", type: { @@ -540,11 +502,7 @@ export const ifMatch: coreHttp.OperationParameter = { } }; export const ifModifiedSince: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "modifiedAccessConditions", - "ifModifiedSince" - ], + parameterPath: ["options", "modifiedAccessConditions", "ifModifiedSince"], mapper: { serializedName: "If-Modified-Since", type: { @@ -553,11 +511,7 @@ export const ifModifiedSince: coreHttp.OperationParameter = { } }; export const ifNoneMatch: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "modifiedAccessConditions", - "ifNoneMatch" - ], + parameterPath: ["options", "modifiedAccessConditions", "ifNoneMatch"], mapper: { serializedName: "If-None-Match", type: { @@ -566,11 +520,7 @@ export const ifNoneMatch: coreHttp.OperationParameter = { } }; export const ifSequenceNumberEqualTo: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sequenceNumberAccessConditions", - "ifSequenceNumberEqualTo" - ], + parameterPath: ["options", "sequenceNumberAccessConditions", "ifSequenceNumberEqualTo"], mapper: { serializedName: "x-ms-if-sequence-number-eq", type: { @@ -579,11 +529,7 @@ export const ifSequenceNumberEqualTo: coreHttp.OperationParameter = { } }; export const ifSequenceNumberLessThan: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sequenceNumberAccessConditions", - "ifSequenceNumberLessThan" - ], + parameterPath: ["options", "sequenceNumberAccessConditions", "ifSequenceNumberLessThan"], mapper: { serializedName: "x-ms-if-sequence-number-lt", type: { @@ -592,11 +538,7 @@ export const ifSequenceNumberLessThan: coreHttp.OperationParameter = { } }; export const ifSequenceNumberLessThanOrEqualTo: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sequenceNumberAccessConditions", - "ifSequenceNumberLessThanOrEqualTo" - ], + parameterPath: ["options", "sequenceNumberAccessConditions", "ifSequenceNumberLessThanOrEqualTo"], mapper: { serializedName: "x-ms-if-sequence-number-le", type: { @@ -605,11 +547,7 @@ export const ifSequenceNumberLessThanOrEqualTo: coreHttp.OperationParameter = { } }; export const ifUnmodifiedSince: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "modifiedAccessConditions", - "ifUnmodifiedSince" - ], + parameterPath: ["options", "modifiedAccessConditions", "ifUnmodifiedSince"], mapper: { serializedName: "If-Unmodified-Since", type: { @@ -618,25 +556,17 @@ export const ifUnmodifiedSince: coreHttp.OperationParameter = { } }; export const include0: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "include" - ], + parameterPath: ["options", "include"], mapper: { serializedName: "include", type: { name: "Enum", - allowedValues: [ - "metadata" - ] + allowedValues: ["metadata"] } } }; export const include1: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "include" - ], + parameterPath: ["options", "include"], mapper: { serializedName: "include", type: { @@ -644,13 +574,7 @@ export const include1: coreHttp.OperationQueryParameter = { element: { type: { name: "Enum", - allowedValues: [ - "snapshots", - "metadata", - "uncommittedblobs", - "copy", - "deleted" - ] + allowedValues: ["copy", "deleted", "metadata", "snapshots", "uncommittedblobs"] } } } @@ -658,11 +582,7 @@ export const include1: coreHttp.OperationQueryParameter = { collectionFormat: coreHttp.QueryCollectionFormat.Csv }; export const leaseId0: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "leaseAccessConditions", - "leaseId" - ], + parameterPath: ["options", "leaseAccessConditions", "leaseId"], mapper: { serializedName: "x-ms-lease-id", type: { @@ -685,22 +605,15 @@ export const listType: coreHttp.OperationQueryParameter = { mapper: { required: true, serializedName: "blocklisttype", - defaultValue: 'committed', + defaultValue: "committed", type: { name: "Enum", - allowedValues: [ - "committed", - "uncommitted", - "all" - ] + allowedValues: ["committed", "uncommitted", "all"] } } }; export const marker: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "marker" - ], + parameterPath: ["options", "marker"], mapper: { serializedName: "marker", type: { @@ -709,10 +622,7 @@ export const marker: coreHttp.OperationQueryParameter = { } }; export const maxresults: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "maxresults" - ], + parameterPath: ["options", "maxresults"], mapper: { serializedName: "maxresults", constraints: { @@ -724,11 +634,7 @@ export const maxresults: coreHttp.OperationQueryParameter = { } }; export const maxSize: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "appendPositionAccessConditions", - "maxSize" - ], + parameterPath: ["options", "appendPositionAccessConditions", "maxSize"], mapper: { serializedName: "x-ms-blob-condition-maxsize", type: { @@ -737,10 +643,7 @@ export const maxSize: coreHttp.OperationParameter = { } }; export const metadata: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "metadata" - ], + parameterPath: ["options", "metadata"], mapper: { serializedName: "x-ms-meta", type: { @@ -771,7 +674,7 @@ export const pageWrite0: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-page-write", - defaultValue: 'update', + defaultValue: "update", type: { name: "String" } @@ -783,17 +686,14 @@ export const pageWrite1: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-page-write", - defaultValue: 'clear', + defaultValue: "clear", type: { name: "String" } } }; export const prefix: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "prefix" - ], + parameterPath: ["options", "prefix"], mapper: { serializedName: "prefix", type: { @@ -802,10 +702,7 @@ export const prefix: coreHttp.OperationQueryParameter = { } }; export const prevsnapshot: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "prevsnapshot" - ], + parameterPath: ["options", "prevsnapshot"], mapper: { serializedName: "prevsnapshot", type: { @@ -814,10 +711,7 @@ export const prevsnapshot: coreHttp.OperationQueryParameter = { } }; export const proposedLeaseId0: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "proposedLeaseId" - ], + parameterPath: ["options", "proposedLeaseId"], mapper: { serializedName: "x-ms-proposed-lease-id", type: { @@ -835,12 +729,19 @@ export const proposedLeaseId1: coreHttp.OperationParameter = { } } }; -export const range: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "range" - ], +export const range0: coreHttp.OperationParameter = { + parameterPath: ["options", "range"], + mapper: { + serializedName: "x-ms-range", + type: { + name: "String" + } + } +}; +export const range1: coreHttp.OperationParameter = { + parameterPath: "range", mapper: { + required: true, serializedName: "x-ms-range", type: { name: "String" @@ -848,10 +749,7 @@ export const range: coreHttp.OperationParameter = { } }; export const rangeGetContentMD5: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "rangeGetContentMD5" - ], + parameterPath: ["options", "rangeGetContentMD5"], mapper: { serializedName: "x-ms-range-get-content-md5", type: { @@ -860,10 +758,7 @@ export const rangeGetContentMD5: coreHttp.OperationParameter = { } }; export const requestId: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "requestId" - ], + parameterPath: ["options", "requestId"], mapper: { serializedName: "x-ms-client-request-id", type: { @@ -877,7 +772,7 @@ export const restype0: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "restype", - defaultValue: 'service', + defaultValue: "service", type: { name: "String" } @@ -889,7 +784,7 @@ export const restype1: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "restype", - defaultValue: 'account', + defaultValue: "account", type: { name: "String" } @@ -901,7 +796,7 @@ export const restype2: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "restype", - defaultValue: 'container', + defaultValue: "container", type: { name: "String" } @@ -914,19 +809,12 @@ export const sequenceNumberAction: coreHttp.OperationParameter = { serializedName: "x-ms-sequence-number-action", type: { name: "Enum", - allowedValues: [ - "max", - "update", - "increment" - ] + allowedValues: ["max", "update", "increment"] } } }; export const snapshot: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "snapshot" - ], + parameterPath: ["options", "snapshot"], mapper: { serializedName: "snapshot", type: { @@ -935,10 +823,7 @@ export const snapshot: coreHttp.OperationQueryParameter = { } }; export const sourceContentMD5: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sourceContentMD5" - ], + parameterPath: ["options", "sourceContentMD5"], mapper: { serializedName: "x-ms-source-content-md5", type: { @@ -947,11 +832,7 @@ export const sourceContentMD5: coreHttp.OperationParameter = { } }; export const sourceIfMatch: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sourceModifiedAccessConditions", - "sourceIfMatch" - ], + parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfMatch"], mapper: { serializedName: "x-ms-source-if-match", type: { @@ -960,11 +841,7 @@ export const sourceIfMatch: coreHttp.OperationParameter = { } }; export const sourceIfModifiedSince: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sourceModifiedAccessConditions", - "sourceIfModifiedSince" - ], + parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfModifiedSince"], mapper: { serializedName: "x-ms-source-if-modified-since", type: { @@ -973,11 +850,7 @@ export const sourceIfModifiedSince: coreHttp.OperationParameter = { } }; export const sourceIfNoneMatch: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sourceModifiedAccessConditions", - "sourceIfNoneMatch" - ], + parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfNoneMatch"], mapper: { serializedName: "x-ms-source-if-none-match", type: { @@ -986,11 +859,7 @@ export const sourceIfNoneMatch: coreHttp.OperationParameter = { } }; export const sourceIfUnmodifiedSince: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sourceModifiedAccessConditions", - "sourceIfUnmodifiedSince" - ], + parameterPath: ["options", "sourceModifiedAccessConditions", "sourceIfUnmodifiedSince"], mapper: { serializedName: "x-ms-source-if-unmodified-since", type: { @@ -998,11 +867,18 @@ export const sourceIfUnmodifiedSince: coreHttp.OperationParameter = { } } }; -export const sourceRange: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "sourceRange" - ], +export const sourceRange0: coreHttp.OperationParameter = { + parameterPath: "sourceRange", + mapper: { + required: true, + serializedName: "x-ms-source-range", + type: { + name: "String" + } + } +}; +export const sourceRange1: coreHttp.OperationParameter = { + parameterPath: ["options", "sourceRange"], mapper: { serializedName: "x-ms-source-range", type: { @@ -1031,10 +907,7 @@ export const tier: coreHttp.OperationParameter = { } }; export const timeout: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "timeout" - ], + parameterPath: ["options", "timeout"], mapper: { serializedName: "timeout", constraints: { @@ -1046,10 +919,7 @@ export const timeout: coreHttp.OperationQueryParameter = { } }; export const transactionalContentMD5: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "transactionalContentMD5" - ], + parameterPath: ["options", "transactionalContentMD5"], mapper: { serializedName: "Content-MD5", type: { @@ -1062,7 +932,7 @@ export const url: coreHttp.OperationURLParameter = { mapper: { required: true, serializedName: "url", - defaultValue: '', + defaultValue: "", type: { name: "String" } @@ -1075,7 +945,19 @@ export const version: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-version", - defaultValue: '2018-03-28', + defaultValue: "2018-11-09", + type: { + name: "String" + } + } +}; +export const xMsRequiresSync: coreHttp.OperationParameter = { + parameterPath: "xMsRequiresSync", + mapper: { + required: true, + isConstant: true, + serializedName: "x-ms-requires-sync", + defaultValue: "true", type: { name: "String" } diff --git a/sdk/storage/storage-blob/src/generated/lib/models/serviceMappers.ts b/sdk/storage/storage-blob/src/generated/src/models/serviceMappers.ts similarity index 88% rename from sdk/storage/storage-blob/src/generated/lib/models/serviceMappers.ts rename to sdk/storage/storage-blob/src/generated/src/models/serviceMappers.ts index 5a09f6689a33..3f9ef3e78dd7 100644 --- a/sdk/storage/storage-blob/src/generated/lib/models/serviceMappers.ts +++ b/sdk/storage/storage-blob/src/generated/src/models/serviceMappers.ts @@ -11,6 +11,7 @@ export { ContainerProperties, CorsRule, GeoReplication, + KeyInfo, ListContainersSegmentResponse, Logging, Metrics, @@ -18,10 +19,12 @@ export { ServiceGetAccountInfoHeaders, ServiceGetPropertiesHeaders, ServiceGetStatisticsHeaders, + ServiceGetUserDelegationKeyHeaders, ServiceListContainersSegmentHeaders, ServiceSetPropertiesHeaders, StaticWebsite, StorageError, StorageServiceProperties, - StorageServiceStats + StorageServiceStats, + UserDelegationKey } from "../models/mappers"; diff --git a/sdk/storage/storage-blob/src/generated/src/operations/appendBlob.ts b/sdk/storage/storage-blob/src/generated/src/operations/appendBlob.ts new file mode 100644 index 000000000000..e23a12e6ad8f --- /dev/null +++ b/sdk/storage/storage-blob/src/generated/src/operations/appendBlob.ts @@ -0,0 +1,289 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as coreHttp from "@azure/core-http"; +import * as Models from "../models"; +import * as Mappers from "../models/appendBlobMappers"; +import * as Parameters from "../models/parameters"; +import { StorageClientContext } from "../storageClientContext"; + +/** Class representing a AppendBlob. */ +export class AppendBlob { + private readonly client: StorageClientContext; + + /** + * Create a AppendBlob. + * @param {StorageClientContext} client Reference to the service client. + */ + constructor(client: StorageClientContext) { + this.client = client; + } + + /** + * The Create Append Blob operation creates a new append blob. + * @param contentLength The length of the request. + * @param [options] The optional parameters + * @returns Promise + */ + create( + contentLength: number, + options?: Models.AppendBlobCreateOptionalParams + ): Promise; + /** + * @param contentLength The length of the request. + * @param callback The callback + */ + create(contentLength: number, callback: coreHttp.ServiceCallback): void; + /** + * @param contentLength The length of the request. + * @param options The optional parameters + * @param callback The callback + */ + create( + contentLength: number, + options: Models.AppendBlobCreateOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + create( + contentLength: number, + options?: Models.AppendBlobCreateOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + contentLength, + options + }, + createOperationSpec, + callback + ) as Promise; + } + + /** + * The Append Block operation commits a new block of data to the end of an existing append blob. + * The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to + * AppendBlob. Append Block is supported only on version 2015-02-21 version or later. + * @param body Initial data + * @param contentLength The length of the request. + * @param [options] The optional parameters + * @returns Promise + */ + appendBlock( + body: coreHttp.HttpRequestBody, + contentLength: number, + options?: Models.AppendBlobAppendBlockOptionalParams + ): Promise; + /** + * @param body Initial data + * @param contentLength The length of the request. + * @param callback The callback + */ + appendBlock( + body: coreHttp.HttpRequestBody, + contentLength: number, + callback: coreHttp.ServiceCallback + ): void; + /** + * @param body Initial data + * @param contentLength The length of the request. + * @param options The optional parameters + * @param callback The callback + */ + appendBlock( + body: coreHttp.HttpRequestBody, + contentLength: number, + options: Models.AppendBlobAppendBlockOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + appendBlock( + body: coreHttp.HttpRequestBody, + contentLength: number, + options?: Models.AppendBlobAppendBlockOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + body, + contentLength, + options + }, + appendBlockOperationSpec, + callback + ) as Promise; + } + + /** + * The Append Block operation commits a new block of data to the end of an existing append blob + * where the contents are read from a source url. The Append Block operation is permitted only if + * the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on + * version 2015-02-21 version or later. + * @param sourceUrl Specify a URL to the copy source. + * @param contentLength The length of the request. + * @param [options] The optional parameters + * @returns Promise + */ + appendBlockFromUrl( + sourceUrl: string, + contentLength: number, + options?: Models.AppendBlobAppendBlockFromUrlOptionalParams + ): Promise; + /** + * @param sourceUrl Specify a URL to the copy source. + * @param contentLength The length of the request. + * @param callback The callback + */ + appendBlockFromUrl( + sourceUrl: string, + contentLength: number, + callback: coreHttp.ServiceCallback + ): void; + /** + * @param sourceUrl Specify a URL to the copy source. + * @param contentLength The length of the request. + * @param options The optional parameters + * @param callback The callback + */ + appendBlockFromUrl( + sourceUrl: string, + contentLength: number, + options: Models.AppendBlobAppendBlockFromUrlOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + appendBlockFromUrl( + sourceUrl: string, + contentLength: number, + options?: Models.AppendBlobAppendBlockFromUrlOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + sourceUrl, + contentLength, + options + }, + appendBlockFromUrlOperationSpec, + callback + ) as Promise; + } +} + +// Operation Specifications +const serializer = new coreHttp.Serializer(Mappers, true); +const createOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{containerName}/{blob}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout], + headerParameters: [ + Parameters.contentLength, + Parameters.metadata, + Parameters.version, + Parameters.requestId, + Parameters.blobType1, + Parameters.blobContentType, + Parameters.blobContentEncoding, + Parameters.blobContentLanguage, + Parameters.blobContentMD5, + Parameters.blobCacheControl, + Parameters.blobContentDisposition, + Parameters.leaseId0, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + responses: { + 201: { + headersMapper: Mappers.AppendBlobCreateHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const appendBlockOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{containerName}/{blob}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp14], + headerParameters: [ + Parameters.contentLength, + Parameters.transactionalContentMD5, + Parameters.version, + Parameters.requestId, + Parameters.leaseId0, + Parameters.maxSize, + Parameters.appendPosition, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch + ], + requestBody: { + parameterPath: "body", + mapper: { + required: true, + serializedName: "body", + type: { + name: "Stream" + } + } + }, + contentType: "application/octet-stream", + responses: { + 201: { + headersMapper: Mappers.AppendBlobAppendBlockHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const appendBlockFromUrlOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{containerName}/{blob}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp14], + headerParameters: [ + Parameters.sourceUrl, + Parameters.sourceRange1, + Parameters.sourceContentMD5, + Parameters.contentLength, + Parameters.version, + Parameters.requestId, + Parameters.leaseId0, + Parameters.maxSize, + Parameters.appendPosition, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch + ], + responses: { + 201: { + headersMapper: Mappers.AppendBlobAppendBlockFromUrlHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; diff --git a/sdk/storage/storage-blob/src/generated/lib/operations/blob.ts b/sdk/storage/storage-blob/src/generated/src/operations/blob.ts similarity index 91% rename from sdk/storage/storage-blob/src/generated/lib/operations/blob.ts rename to sdk/storage/storage-blob/src/generated/src/operations/blob.ts index 9ef3d45a2b01..8c41859278da 100644 --- a/sdk/storage/storage-blob/src/generated/lib/operations/blob.ts +++ b/sdk/storage/storage-blob/src/generated/src/operations/blob.ts @@ -392,6 +392,44 @@ export class Blob { callback) as Promise; } + /** + * The Copy From URL operation copies a blob or an internet resource to a new blob. It will not + * return a response until the copy is complete. + * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up + * to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it + * would appear in a request URI. The source blob must either be public or must be authenticated + * via a shared access signature. + * @param [options] The optional parameters + * @returns Promise + */ + copyFromURL(copySource: string, options?: Models.BlobCopyFromURLOptionalParams): Promise; + /** + * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up + * to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it + * would appear in a request URI. The source blob must either be public or must be authenticated + * via a shared access signature. + * @param callback The callback + */ + copyFromURL(copySource: string, callback: coreHttp.ServiceCallback): void; + /** + * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up + * to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it + * would appear in a request URI. The source blob must either be public or must be authenticated + * via a shared access signature. + * @param options The optional parameters + * @param callback The callback + */ + copyFromURL(copySource: string, options: Models.BlobCopyFromURLOptionalParams, callback: coreHttp.ServiceCallback): void; + copyFromURL(copySource: string, options?: Models.BlobCopyFromURLOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + copySource, + options + }, + copyFromURLOperationSpec, + callback) as Promise; + } + /** * The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a * destination blob with zero length and full metadata. @@ -497,7 +535,7 @@ const downloadOperationSpec: coreHttp.OperationSpec = { Parameters.timeout ], headerParameters: [ - Parameters.range, + Parameters.range0, Parameters.rangeGetContentMD5, Parameters.version, Parameters.requestId, @@ -605,7 +643,7 @@ const undeleteOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp6 + Parameters.comp7 ], headerParameters: [ Parameters.version, @@ -668,7 +706,7 @@ const setMetadataOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp3 + Parameters.comp4 ], headerParameters: [ Parameters.metadata, @@ -700,7 +738,7 @@ const acquireLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5 + Parameters.comp6 ], headerParameters: [ Parameters.duration, @@ -733,7 +771,7 @@ const releaseLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5 + Parameters.comp6 ], headerParameters: [ Parameters.leaseId1, @@ -765,7 +803,7 @@ const renewLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5 + Parameters.comp6 ], headerParameters: [ Parameters.leaseId1, @@ -797,7 +835,7 @@ const changeLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5 + Parameters.comp6 ], headerParameters: [ Parameters.leaseId1, @@ -830,7 +868,7 @@ const breakLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5 + Parameters.comp6 ], headerParameters: [ Parameters.breakPeriod, @@ -862,7 +900,7 @@ const createSnapshotOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp7 + Parameters.comp8 ], headerParameters: [ Parameters.metadata, @@ -922,6 +960,43 @@ const startCopyFromURLOperationSpec: coreHttp.OperationSpec = { serializer }; +const copyFromURLOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{containerName}/{blob}", + urlParameters: [ + Parameters.url + ], + queryParameters: [ + Parameters.timeout + ], + headerParameters: [ + Parameters.metadata, + Parameters.copySource, + Parameters.version, + Parameters.requestId, + Parameters.xMsRequiresSync, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.leaseId0 + ], + responses: { + 202: { + headersMapper: Mappers.BlobCopyFromURLHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + const abortCopyFromURLOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{containerName}/{blob}", @@ -931,7 +1006,7 @@ const abortCopyFromURLOperationSpec: coreHttp.OperationSpec = { queryParameters: [ Parameters.copyId, Parameters.timeout, - Parameters.comp8 + Parameters.comp9 ], headerParameters: [ Parameters.version, @@ -959,7 +1034,7 @@ const setTierOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp9 + Parameters.comp10 ], headerParameters: [ Parameters.tier, @@ -984,7 +1059,7 @@ const setTierOperationSpec: coreHttp.OperationSpec = { const getAccountInfoOperationSpec: coreHttp.OperationSpec = { httpMethod: "GET", - path: "{containerName}/{blobName}", + path: "{containerName}/{blob}", urlParameters: [ Parameters.url ], diff --git a/sdk/storage/storage-blob/src/generated/lib/operations/blockBlob.ts b/sdk/storage/storage-blob/src/generated/src/operations/blockBlob.ts similarity index 98% rename from sdk/storage/storage-blob/src/generated/lib/operations/blockBlob.ts rename to sdk/storage/storage-blob/src/generated/src/operations/blockBlob.ts index f050665ed2fb..517a2e27f6c3 100644 --- a/sdk/storage/storage-blob/src/generated/lib/operations/blockBlob.ts +++ b/sdk/storage/storage-blob/src/generated/src/operations/blockBlob.ts @@ -278,7 +278,7 @@ const stageBlockOperationSpec: coreHttp.OperationSpec = { queryParameters: [ Parameters.blockId, Parameters.timeout, - Parameters.comp14 + Parameters.comp15 ], headerParameters: [ Parameters.contentLength, @@ -319,16 +319,20 @@ const stageBlockFromURLOperationSpec: coreHttp.OperationSpec = { queryParameters: [ Parameters.blockId, Parameters.timeout, - Parameters.comp14 + Parameters.comp15 ], headerParameters: [ Parameters.contentLength, Parameters.sourceUrl, - Parameters.sourceRange, + Parameters.sourceRange1, Parameters.sourceContentMD5, Parameters.version, Parameters.requestId, - Parameters.leaseId0 + Parameters.leaseId0, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch ], responses: { 201: { @@ -350,7 +354,7 @@ const commitBlockListOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp15 + Parameters.comp16 ], headerParameters: [ Parameters.metadata, @@ -398,7 +402,7 @@ const getBlockListOperationSpec: coreHttp.OperationSpec = { Parameters.snapshot, Parameters.listType, Parameters.timeout, - Parameters.comp15 + Parameters.comp16 ], headerParameters: [ Parameters.version, diff --git a/sdk/storage/storage-blob/src/generated/lib/operations/container.ts b/sdk/storage/storage-blob/src/generated/src/operations/container.ts similarity index 99% rename from sdk/storage/storage-blob/src/generated/lib/operations/container.ts rename to sdk/storage/storage-blob/src/generated/src/operations/container.ts index 175d34f7b679..5ac27d4e2f6a 100644 --- a/sdk/storage/storage-blob/src/generated/lib/operations/container.ts +++ b/sdk/storage/storage-blob/src/generated/src/operations/container.ts @@ -559,7 +559,7 @@ const setMetadataOperationSpec: coreHttp.OperationSpec = { queryParameters: [ Parameters.timeout, Parameters.restype2, - Parameters.comp3 + Parameters.comp4 ], headerParameters: [ Parameters.metadata, @@ -589,7 +589,7 @@ const getAccessPolicyOperationSpec: coreHttp.OperationSpec = { queryParameters: [ Parameters.timeout, Parameters.restype2, - Parameters.comp4 + Parameters.comp5 ], headerParameters: [ Parameters.version, @@ -630,7 +630,7 @@ const setAccessPolicyOperationSpec: coreHttp.OperationSpec = { queryParameters: [ Parameters.timeout, Parameters.restype2, - Parameters.comp4 + Parameters.comp5 ], headerParameters: [ Parameters.access, @@ -681,7 +681,7 @@ const acquireLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5, + Parameters.comp6, Parameters.restype2 ], headerParameters: [ @@ -713,7 +713,7 @@ const releaseLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5, + Parameters.comp6, Parameters.restype2 ], headerParameters: [ @@ -744,7 +744,7 @@ const renewLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5, + Parameters.comp6, Parameters.restype2 ], headerParameters: [ @@ -775,7 +775,7 @@ const breakLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5, + Parameters.comp6, Parameters.restype2 ], headerParameters: [ @@ -806,7 +806,7 @@ const changeLeaseOperationSpec: coreHttp.OperationSpec = { ], queryParameters: [ Parameters.timeout, - Parameters.comp5, + Parameters.comp6, Parameters.restype2 ], headerParameters: [ diff --git a/sdk/storage/storage-blob/src/generated/lib/operations/index.ts b/sdk/storage/storage-blob/src/generated/src/operations/index.ts similarity index 100% rename from sdk/storage/storage-blob/src/generated/lib/operations/index.ts rename to sdk/storage/storage-blob/src/generated/src/operations/index.ts diff --git a/sdk/storage/storage-blob/src/generated/lib/operations/pageBlob.ts b/sdk/storage/storage-blob/src/generated/src/operations/pageBlob.ts similarity index 58% rename from sdk/storage/storage-blob/src/generated/lib/operations/pageBlob.ts rename to sdk/storage/storage-blob/src/generated/src/operations/pageBlob.ts index fbd259ff7dc1..7235b49f3ec7 100644 --- a/sdk/storage/storage-blob/src/generated/lib/operations/pageBlob.ts +++ b/sdk/storage/storage-blob/src/generated/src/operations/pageBlob.ts @@ -34,14 +34,22 @@ export class PageBlob { * @param [options] The optional parameters * @returns Promise */ - create(contentLength: number, blobContentLength: number, options?: Models.PageBlobCreateOptionalParams): Promise; + create( + contentLength: number, + blobContentLength: number, + options?: Models.PageBlobCreateOptionalParams + ): Promise; /** * @param contentLength The length of the request. * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. * The page blob size must be aligned to a 512-byte boundary. * @param callback The callback */ - create(contentLength: number, blobContentLength: number, callback: coreHttp.ServiceCallback): void; + create( + contentLength: number, + blobContentLength: number, + callback: coreHttp.ServiceCallback + ): void; /** * @param contentLength The length of the request. * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. @@ -49,8 +57,18 @@ export class PageBlob { * @param options The optional parameters * @param callback The callback */ - create(contentLength: number, blobContentLength: number, options: Models.PageBlobCreateOptionalParams, callback: coreHttp.ServiceCallback): void; - create(contentLength: number, blobContentLength: number, options?: Models.PageBlobCreateOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + create( + contentLength: number, + blobContentLength: number, + options: Models.PageBlobCreateOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + create( + contentLength: number, + blobContentLength: number, + options?: Models.PageBlobCreateOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { contentLength, @@ -58,7 +76,8 @@ export class PageBlob { options }, createOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -68,21 +87,39 @@ export class PageBlob { * @param [options] The optional parameters * @returns Promise */ - uploadPages(body: coreHttp.HttpRequestBody, contentLength: number, options?: Models.PageBlobUploadPagesOptionalParams): Promise; + uploadPages( + body: coreHttp.HttpRequestBody, + contentLength: number, + options?: Models.PageBlobUploadPagesOptionalParams + ): Promise; /** * @param body Initial data * @param contentLength The length of the request. * @param callback The callback */ - uploadPages(body: coreHttp.HttpRequestBody, contentLength: number, callback: coreHttp.ServiceCallback): void; + uploadPages( + body: coreHttp.HttpRequestBody, + contentLength: number, + callback: coreHttp.ServiceCallback + ): void; /** * @param body Initial data * @param contentLength The length of the request. * @param options The optional parameters * @param callback The callback */ - uploadPages(body: coreHttp.HttpRequestBody, contentLength: number, options: Models.PageBlobUploadPagesOptionalParams, callback: coreHttp.ServiceCallback): void; - uploadPages(body: coreHttp.HttpRequestBody, contentLength: number, options?: Models.PageBlobUploadPagesOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + uploadPages( + body: coreHttp.HttpRequestBody, + contentLength: number, + options: Models.PageBlobUploadPagesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + uploadPages( + body: coreHttp.HttpRequestBody, + contentLength: number, + options?: Models.PageBlobUploadPagesOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { body, @@ -90,7 +127,8 @@ export class PageBlob { options }, uploadPagesOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -99,7 +137,10 @@ export class PageBlob { * @param [options] The optional parameters * @returns Promise */ - clearPages(contentLength: number, options?: Models.PageBlobClearPagesOptionalParams): Promise; + clearPages( + contentLength: number, + options?: Models.PageBlobClearPagesOptionalParams + ): Promise; /** * @param contentLength The length of the request. * @param callback The callback @@ -110,15 +151,71 @@ export class PageBlob { * @param options The optional parameters * @param callback The callback */ - clearPages(contentLength: number, options: Models.PageBlobClearPagesOptionalParams, callback: coreHttp.ServiceCallback): void; - clearPages(contentLength: number, options?: Models.PageBlobClearPagesOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + clearPages( + contentLength: number, + options: Models.PageBlobClearPagesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + clearPages( + contentLength: number, + options?: Models.PageBlobClearPagesOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { contentLength, options }, clearPagesOperationSpec, - callback) as Promise; + callback + ) as Promise; + } + + /** + * The Upload Pages operation writes a range of pages to a page blob where the contents are read + * from a URL + * @param sourceUrl Specify a URL to the copy source. + * @param sourceRange Bytes of source data in the specified range. The length of this range should + * match the ContentLength header and x-ms-range/Range destination range header. + * @param contentLength The length of the request. + * @param range The range of bytes to which the source range would be written. The range should be + * 512 aligned and range-end is required. + * @param [options] The optional parameters + * @returns Promise + */ + uploadPagesFromURL(sourceUrl: string, sourceRange: string, contentLength: number, range: string, options?: Models.PageBlobUploadPagesFromURLOptionalParams): Promise; + /** + * @param sourceUrl Specify a URL to the copy source. + * @param sourceRange Bytes of source data in the specified range. The length of this range should + * match the ContentLength header and x-ms-range/Range destination range header. + * @param contentLength The length of the request. + * @param range The range of bytes to which the source range would be written. The range should be + * 512 aligned and range-end is required. + * @param callback The callback + */ + uploadPagesFromURL(sourceUrl: string, sourceRange: string, contentLength: number, range: string, callback: coreHttp.ServiceCallback): void; + /** + * @param sourceUrl Specify a URL to the copy source. + * @param sourceRange Bytes of source data in the specified range. The length of this range should + * match the ContentLength header and x-ms-range/Range destination range header. + * @param contentLength The length of the request. + * @param range The range of bytes to which the source range would be written. The range should be + * 512 aligned and range-end is required. + * @param options The optional parameters + * @param callback The callback + */ + uploadPagesFromURL(sourceUrl: string, sourceRange: string, contentLength: number, range: string, options: Models.PageBlobUploadPagesFromURLOptionalParams, callback: coreHttp.ServiceCallback): void; + uploadPagesFromURL(sourceUrl: string, sourceRange: string, contentLength: number, range: string, options?: Models.PageBlobUploadPagesFromURLOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + sourceUrl, + sourceRange, + contentLength, + range, + options + }, + uploadPagesFromURLOperationSpec, + callback) as Promise; } /** @@ -127,7 +224,9 @@ export class PageBlob { * @param [options] The optional parameters * @returns Promise */ - getPageRanges(options?: Models.PageBlobGetPageRangesOptionalParams): Promise; + getPageRanges( + options?: Models.PageBlobGetPageRangesOptionalParams + ): Promise; /** * @param callback The callback */ @@ -136,23 +235,34 @@ export class PageBlob { * @param options The optional parameters * @param callback The callback */ - getPageRanges(options: Models.PageBlobGetPageRangesOptionalParams, callback: coreHttp.ServiceCallback): void; - getPageRanges(options?: Models.PageBlobGetPageRangesOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + getPageRanges( + options: Models.PageBlobGetPageRangesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + getPageRanges( + options?: + | Models.PageBlobGetPageRangesOptionalParams + | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, getPageRangesOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** - * [Update] The Get Page Ranges Diff operation returns the list of valid page ranges for a page - * blob that were changed between target blob and previous snapshot. + * The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that + * were changed between target blob and previous snapshot. * @param [options] The optional parameters * @returns Promise */ - getPageRangesDiff(options?: Models.PageBlobGetPageRangesDiffOptionalParams): Promise; + getPageRangesDiff( + options?: Models.PageBlobGetPageRangesDiffOptionalParams + ): Promise; /** * @param callback The callback */ @@ -161,14 +271,23 @@ export class PageBlob { * @param options The optional parameters * @param callback The callback */ - getPageRangesDiff(options: Models.PageBlobGetPageRangesDiffOptionalParams, callback: coreHttp.ServiceCallback): void; - getPageRangesDiff(options?: Models.PageBlobGetPageRangesDiffOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + getPageRangesDiff( + options: Models.PageBlobGetPageRangesDiffOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + getPageRangesDiff( + options?: + | Models.PageBlobGetPageRangesDiffOptionalParams + | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, getPageRangesDiffOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -178,7 +297,10 @@ export class PageBlob { * @param [options] The optional parameters * @returns Promise */ - resize(blobContentLength: number, options?: Models.PageBlobResizeOptionalParams): Promise; + resize( + blobContentLength: number, + options?: Models.PageBlobResizeOptionalParams + ): Promise; /** * @param blobContentLength This header specifies the maximum size for the page blob, up to 1 TB. * The page blob size must be aligned to a 512-byte boundary. @@ -191,15 +313,24 @@ export class PageBlob { * @param options The optional parameters * @param callback The callback */ - resize(blobContentLength: number, options: Models.PageBlobResizeOptionalParams, callback: coreHttp.ServiceCallback): void; - resize(blobContentLength: number, options?: Models.PageBlobResizeOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + resize( + blobContentLength: number, + options: Models.PageBlobResizeOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + resize( + blobContentLength: number, + options?: Models.PageBlobResizeOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { blobContentLength, options }, resizeOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -210,14 +341,20 @@ export class PageBlob { * @param [options] The optional parameters * @returns Promise */ - updateSequenceNumber(sequenceNumberAction: Models.SequenceNumberActionType, options?: Models.PageBlobUpdateSequenceNumberOptionalParams): Promise; + updateSequenceNumber( + sequenceNumberAction: Models.SequenceNumberActionType, + options?: Models.PageBlobUpdateSequenceNumberOptionalParams + ): Promise; /** * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the * request. This property applies to page blobs only. This property indicates how the service * should modify the blob's sequence number. Possible values include: 'max', 'update', 'increment' * @param callback The callback */ - updateSequenceNumber(sequenceNumberAction: Models.SequenceNumberActionType, callback: coreHttp.ServiceCallback): void; + updateSequenceNumber( + sequenceNumberAction: Models.SequenceNumberActionType, + callback: coreHttp.ServiceCallback + ): void; /** * @param sequenceNumberAction Required if the x-ms-blob-sequence-number header is set for the * request. This property applies to page blobs only. This property indicates how the service @@ -225,15 +362,24 @@ export class PageBlob { * @param options The optional parameters * @param callback The callback */ - updateSequenceNumber(sequenceNumberAction: Models.SequenceNumberActionType, options: Models.PageBlobUpdateSequenceNumberOptionalParams, callback: coreHttp.ServiceCallback): void; - updateSequenceNumber(sequenceNumberAction: Models.SequenceNumberActionType, options?: Models.PageBlobUpdateSequenceNumberOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + updateSequenceNumber( + sequenceNumberAction: Models.SequenceNumberActionType, + options: Models.PageBlobUpdateSequenceNumberOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + updateSequenceNumber( + sequenceNumberAction: Models.SequenceNumberActionType, + options?: Models.PageBlobUpdateSequenceNumberOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { sequenceNumberAction, options }, updateSequenceNumberOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -249,7 +395,10 @@ export class PageBlob { * @param [options] The optional parameters * @returns Promise */ - copyIncremental(copySource: string, options?: Models.PageBlobCopyIncrementalOptionalParams): Promise; + copyIncremental( + copySource: string, + options?: Models.PageBlobCopyIncrementalOptionalParams + ): Promise; /** * @param copySource Specifies the name of the source page blob snapshot. This value is a URL of up * to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it @@ -266,15 +415,24 @@ export class PageBlob { * @param options The optional parameters * @param callback The callback */ - copyIncremental(copySource: string, options: Models.PageBlobCopyIncrementalOptionalParams, callback: coreHttp.ServiceCallback): void; - copyIncremental(copySource: string, options?: Models.PageBlobCopyIncrementalOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + copyIncremental( + copySource: string, + options: Models.PageBlobCopyIncrementalOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + copyIncremental( + copySource: string, + options?: Models.PageBlobCopyIncrementalOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { copySource, options }, copyIncrementalOperationSpec, - callback) as Promise; + callback + ) as Promise; } } @@ -283,12 +441,8 @@ const serializer = new coreHttp.Serializer(Mappers, true); const createOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout], headerParameters: [ Parameters.contentLength, Parameters.metadata, @@ -324,17 +478,12 @@ const createOperationSpec: coreHttp.OperationSpec = { const uploadPagesOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp10 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp11], headerParameters: [ Parameters.contentLength, Parameters.transactionalContentMD5, - Parameters.range, + Parameters.range0, Parameters.version, Parameters.requestId, Parameters.pageWrite0, @@ -373,16 +522,11 @@ const uploadPagesOperationSpec: coreHttp.OperationSpec = { const clearPagesOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp10 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp11], headerParameters: [ Parameters.contentLength, - Parameters.range, + Parameters.range0, Parameters.version, Parameters.requestId, Parameters.pageWrite1, @@ -407,19 +551,52 @@ const clearPagesOperationSpec: coreHttp.OperationSpec = { serializer }; +const uploadPagesFromURLOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{containerName}/{blob}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp11], + headerParameters: [ + Parameters.sourceUrl, + Parameters.sourceRange0, + Parameters.sourceContentMD5, + Parameters.contentLength, + Parameters.range1, + Parameters.version, + Parameters.requestId, + Parameters.pageWrite0, + Parameters.leaseId0, + Parameters.ifSequenceNumberLessThanOrEqualTo, + Parameters.ifSequenceNumberLessThan, + Parameters.ifSequenceNumberEqualTo, + Parameters.ifModifiedSince, + Parameters.ifUnmodifiedSince, + Parameters.ifMatch, + Parameters.ifNoneMatch, + Parameters.sourceIfModifiedSince, + Parameters.sourceIfUnmodifiedSince, + Parameters.sourceIfMatch, + Parameters.sourceIfNoneMatch + ], + responses: { + 201: { + headersMapper: Mappers.PageBlobUploadPagesFromURLHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + const getPageRangesOperationSpec: coreHttp.OperationSpec = { httpMethod: "GET", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.snapshot, - Parameters.timeout, - Parameters.comp11 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.snapshot, Parameters.timeout, Parameters.comp12], headerParameters: [ - Parameters.range, + Parameters.range0, Parameters.version, Parameters.requestId, Parameters.leaseId0, @@ -444,17 +621,15 @@ const getPageRangesOperationSpec: coreHttp.OperationSpec = { const getPageRangesDiffOperationSpec: coreHttp.OperationSpec = { httpMethod: "GET", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], + urlParameters: [Parameters.url], queryParameters: [ Parameters.snapshot, Parameters.timeout, Parameters.prevsnapshot, - Parameters.comp11 + Parameters.comp12 ], headerParameters: [ - Parameters.range, + Parameters.range0, Parameters.version, Parameters.requestId, Parameters.leaseId0, @@ -479,13 +654,8 @@ const getPageRangesDiffOperationSpec: coreHttp.OperationSpec = { const resizeOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp0 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp0], headerParameters: [ Parameters.blobContentLength, Parameters.version, @@ -511,13 +681,8 @@ const resizeOperationSpec: coreHttp.OperationSpec = { const updateSequenceNumberOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp0 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp0], headerParameters: [ Parameters.sequenceNumberAction, Parameters.blobSequenceNumber, @@ -544,13 +709,8 @@ const updateSequenceNumberOperationSpec: coreHttp.OperationSpec = { const copyIncrementalOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{containerName}/{blob}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp12 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp13], headerParameters: [ Parameters.copySource, Parameters.version, diff --git a/sdk/storage/storage-blob/src/generated/src/operations/service.ts b/sdk/storage/storage-blob/src/generated/src/operations/service.ts new file mode 100644 index 000000000000..c5b93b15f41b --- /dev/null +++ b/sdk/storage/storage-blob/src/generated/src/operations/service.ts @@ -0,0 +1,390 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/core-http"; +import * as Models from "../models"; +import * as Mappers from "../models/serviceMappers"; +import * as Parameters from "../models/parameters"; +import { StorageClientContext } from "../storageClientContext"; + +/** Class representing a Service. */ +export class Service { + private readonly client: StorageClientContext; + + /** + * Create a Service. + * @param {StorageClientContext} client Reference to the service client. + */ + constructor(client: StorageClientContext) { + this.client = client; + } + + /** + * Sets properties for a storage account's Blob service endpoint, including properties for Storage + * Analytics and CORS (Cross-Origin Resource Sharing) rules + * @param storageServiceProperties The StorageService properties. + * @param [options] The optional parameters + * @returns Promise + */ + setProperties( + storageServiceProperties: Models.StorageServiceProperties, + options?: Models.ServiceSetPropertiesOptionalParams + ): Promise; + /** + * @param storageServiceProperties The StorageService properties. + * @param callback The callback + */ + setProperties( + storageServiceProperties: Models.StorageServiceProperties, + callback: msRest.ServiceCallback + ): void; + /** + * @param storageServiceProperties The StorageService properties. + * @param options The optional parameters + * @param callback The callback + */ + setProperties( + storageServiceProperties: Models.StorageServiceProperties, + options: Models.ServiceSetPropertiesOptionalParams, + callback: msRest.ServiceCallback + ): void; + setProperties( + storageServiceProperties: Models.StorageServiceProperties, + options?: Models.ServiceSetPropertiesOptionalParams | msRest.ServiceCallback, + callback?: msRest.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + storageServiceProperties, + options + }, + setPropertiesOperationSpec, + callback + ) as Promise; + } + + /** + * gets the properties of a storage account's Blob service, including properties for Storage + * Analytics and CORS (Cross-Origin Resource Sharing) rules. + * @param [options] The optional parameters + * @returns Promise + */ + getProperties( + options?: Models.ServiceGetPropertiesOptionalParams + ): Promise; + /** + * @param callback The callback + */ + getProperties(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + getProperties( + options: Models.ServiceGetPropertiesOptionalParams, + callback: msRest.ServiceCallback + ): void; + getProperties( + options?: + | Models.ServiceGetPropertiesOptionalParams + | msRest.ServiceCallback, + callback?: msRest.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + getPropertiesOperationSpec, + callback + ) as Promise; + } + + /** + * Retrieves statistics related to replication for the Blob service. It is only available on the + * secondary location endpoint when read-access geo-redundant replication is enabled for the + * storage account. + * @param [options] The optional parameters + * @returns Promise + */ + getStatistics( + options?: Models.ServiceGetStatisticsOptionalParams + ): Promise; + /** + * @param callback The callback + */ + getStatistics(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + getStatistics( + options: Models.ServiceGetStatisticsOptionalParams, + callback: msRest.ServiceCallback + ): void; + getStatistics( + options?: + | Models.ServiceGetStatisticsOptionalParams + | msRest.ServiceCallback, + callback?: msRest.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + getStatisticsOperationSpec, + callback + ) as Promise; + } + + /** + * The List Containers Segment operation returns a list of the containers under the specified + * account + * @param [options] The optional parameters + * @returns Promise + */ + listContainersSegment( + options?: Models.ServiceListContainersSegmentOptionalParams + ): Promise; + /** + * @param callback The callback + */ + listContainersSegment( + callback: msRest.ServiceCallback + ): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listContainersSegment( + options: Models.ServiceListContainersSegmentOptionalParams, + callback: msRest.ServiceCallback + ): void; + listContainersSegment( + options?: + | Models.ServiceListContainersSegmentOptionalParams + | msRest.ServiceCallback, + callback?: msRest.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + listContainersSegmentOperationSpec, + callback + ) as Promise; + } + + /** + * Retrieves a user delgation key for the Blob service. This is only a valid operation when using + * bearer token authentication. + * @param keyInfo + * @param [options] The optional parameters + * @returns Promise + */ + getUserDelegationKey( + keyInfo: Models.KeyInfo, + options?: Models.ServiceGetUserDelegationKeyOptionalParams + ): Promise; + /** + * @param keyInfo + * @param callback The callback + */ + getUserDelegationKey( + keyInfo: Models.KeyInfo, + callback: msRest.ServiceCallback + ): void; + /** + * @param keyInfo + * @param options The optional parameters + * @param callback The callback + */ + getUserDelegationKey( + keyInfo: Models.KeyInfo, + options: Models.ServiceGetUserDelegationKeyOptionalParams, + callback: msRest.ServiceCallback + ): void; + getUserDelegationKey( + keyInfo: Models.KeyInfo, + options?: + | Models.ServiceGetUserDelegationKeyOptionalParams + | msRest.ServiceCallback, + callback?: msRest.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + keyInfo, + options + }, + getUserDelegationKeyOperationSpec, + callback + ) as Promise; + } + + /** + * Returns the sku name and account kind + * @param [options] The optional parameters + * @returns Promise + */ + getAccountInfo( + options?: msRest.RequestOptionsBase + ): Promise; + /** + * @param callback The callback + */ + getAccountInfo(callback: msRest.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + getAccountInfo(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + getAccountInfo( + options?: msRest.RequestOptionsBase | msRest.ServiceCallback, + callback?: msRest.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + getAccountInfoOperationSpec, + callback + ) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers, true); +const setPropertiesOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.restype0, Parameters.comp0], + headerParameters: [Parameters.version, Parameters.requestId], + requestBody: { + parameterPath: "storageServiceProperties", + mapper: { + ...Mappers.StorageServiceProperties, + required: true + } + }, + contentType: "application/xml; charset=utf-8", + responses: { + 202: { + headersMapper: Mappers.ServiceSetPropertiesHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const getPropertiesOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.restype0, Parameters.comp0], + headerParameters: [Parameters.version, Parameters.requestId], + responses: { + 200: { + bodyMapper: Mappers.StorageServiceProperties, + headersMapper: Mappers.ServiceGetPropertiesHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const getStatisticsOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.restype0, Parameters.comp1], + headerParameters: [Parameters.version, Parameters.requestId], + responses: { + 200: { + bodyMapper: Mappers.StorageServiceStats, + headersMapper: Mappers.ServiceGetStatisticsHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const listContainersSegmentOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + urlParameters: [Parameters.url], + queryParameters: [ + Parameters.prefix, + Parameters.marker, + Parameters.maxresults, + Parameters.include0, + Parameters.timeout, + Parameters.comp2 + ], + headerParameters: [Parameters.version, Parameters.requestId], + responses: { + 200: { + bodyMapper: Mappers.ListContainersSegmentResponse, + headersMapper: Mappers.ServiceListContainersSegmentHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const getUserDelegationKeyOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.restype0, Parameters.comp3], + headerParameters: [Parameters.version, Parameters.requestId], + requestBody: { + parameterPath: "keyInfo", + mapper: { + ...Mappers.KeyInfo, + required: true + } + }, + contentType: "application/xml; charset=utf-8", + responses: { + 200: { + bodyMapper: Mappers.UserDelegationKey, + headersMapper: Mappers.ServiceGetUserDelegationKeyHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const getAccountInfoOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + urlParameters: [Parameters.url], + queryParameters: [Parameters.restype1, Parameters.comp0], + headerParameters: [Parameters.version], + responses: { + 200: { + headersMapper: Mappers.ServiceGetAccountInfoHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; diff --git a/sdk/storage/storage-blob/src/generated/lib/storageClient.ts b/sdk/storage/storage-blob/src/generated/src/storageClient.ts similarity index 100% rename from sdk/storage/storage-blob/src/generated/lib/storageClient.ts rename to sdk/storage/storage-blob/src/generated/src/storageClient.ts diff --git a/sdk/storage/storage-blob/src/generated/lib/storageClientContext.ts b/sdk/storage/storage-blob/src/generated/src/storageClientContext.ts similarity index 97% rename from sdk/storage/storage-blob/src/generated/lib/storageClientContext.ts rename to sdk/storage/storage-blob/src/generated/src/storageClientContext.ts index 20899b210d79..dfb12fb294e1 100644 --- a/sdk/storage/storage-blob/src/generated/lib/storageClientContext.ts +++ b/sdk/storage/storage-blob/src/generated/src/storageClientContext.ts @@ -39,7 +39,7 @@ export class StorageClientContext extends coreHttp.ServiceClient { super(undefined, options); - this.version = '2018-03-28'; + this.version = '2018-11-09'; this.baseUri = "{url}"; this.requestContentType = "application/json; charset=utf-8"; this.url = url; diff --git a/sdk/storage/storage-blob/src/index.browser.ts b/sdk/storage/storage-blob/src/index.browser.ts index 96c5ad17f5b0..09062b6c6faa 100644 --- a/sdk/storage/storage-blob/src/index.browser.ts +++ b/sdk/storage/storage-blob/src/index.browser.ts @@ -3,7 +3,7 @@ import { RestError } from "@azure/core-http"; -import * as Models from "../src/generated/lib/models"; +import * as Models from "./generated/src/models"; export * from "./BlobServiceClient"; export * from "./ContainerClient"; diff --git a/sdk/storage/storage-blob/src/index.ts b/sdk/storage/storage-blob/src/index.ts index 4f4b1ed5a3c0..ce2744df8740 100644 --- a/sdk/storage/storage-blob/src/index.ts +++ b/sdk/storage/storage-blob/src/index.ts @@ -3,7 +3,7 @@ import { RestError } from "@azure/core-http"; -import * as Models from "../src/generated/lib/models"; +import * as Models from "./generated/src/models"; export * from "./BlobServiceClient"; export * from "./ContainerClient"; diff --git a/sdk/storage/storage-blob/src/models.ts b/sdk/storage/storage-blob/src/models.ts index 530433e87fb2..1354a661a52a 100644 --- a/sdk/storage/storage-blob/src/models.ts +++ b/sdk/storage/storage-blob/src/models.ts @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import * as Models from "./generated/lib/models"; +import * as Models from "./generated/src/models"; export interface Metadata { [propertyName: string]: string; diff --git a/sdk/storage/storage-blob/src/policies/KeepAlivePolicy.ts b/sdk/storage/storage-blob/src/policies/KeepAlivePolicy.ts new file mode 100644 index 000000000000..dbae734f58d4 --- /dev/null +++ b/sdk/storage/storage-blob/src/policies/KeepAlivePolicy.ts @@ -0,0 +1,45 @@ +import { + BaseRequestPolicy, + HttpOperationResponse, + RequestPolicy, + RequestPolicyOptions, + WebResource +} from "@azure/core-http"; + +import { KeepAliveOptions } from "../KeepAlivePolicyFactory"; + +/** + * KeepAlivePolicy is a policy used to control keep alive settings for every request. + * + * @class KeepAlivePolicy + * @extends {BaseRequestPolicy} + */ +export class KeepAlivePolicy extends BaseRequestPolicy { + /** + * Creates an instance of KeepAlivePolicy. + * + * @param {RequestPolicy} nextPolicy + * @param {RequestPolicyOptions} options + * @param {IKeepAliveOptions} [keepAliveOptions] + * @memberof KeepAlivePolicy + */ + constructor( + nextPolicy: RequestPolicy, + options: RequestPolicyOptions, + private readonly keepAliveOptions: KeepAliveOptions + ) { + super(nextPolicy, options); + } + + /** + * Sends out request. + * + * @param {WebResource} request + * @returns {Promise} + * @memberof KeepAlivePolicy + */ + public async sendRequest(request: WebResource): Promise { + request.keepAlive = this.keepAliveOptions.enable; + return this._nextPolicy.sendRequest(request); + } +} diff --git a/sdk/storage/storage-blob/src/policies/RetryPolicy.ts b/sdk/storage/storage-blob/src/policies/RetryPolicy.ts index 0d8a87f8a4ad..d6f5e56165fd 100644 --- a/sdk/storage/storage-blob/src/policies/RetryPolicy.ts +++ b/sdk/storage/storage-blob/src/policies/RetryPolicy.ts @@ -2,8 +2,8 @@ // Licensed under the MIT License. import { + AbortSignalLike, BaseRequestPolicy, - delay, HttpOperationResponse, HttpPipelineLogLevel, RequestPolicy, @@ -15,7 +15,7 @@ import { import { RetryOptions } from "../RetryPolicyFactory"; import { URLConstants } from "../utils/constants"; -import { setURLHost, setURLParameter } from "../utils/utils.common"; +import { delay, setURLHost, setURLParameter } from "../utils/utils.common"; /** * A factory method used to generated a RetryPolicy factory. @@ -59,6 +59,8 @@ const DEFAULT_RETRY_OPTIONS: RetryOptions = { tryTimeoutInMs: undefined // Use server side default timeout strategy }; +const RETRY_ABORT_ERROR = new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR); + /** * Retry policy with exponential retry and linear retry implemented. * @@ -200,7 +202,7 @@ export class RetryPolicy extends BaseRequestPolicy { } } - await this.delay(isPrimaryRetry, attempt); + await this.delay(isPrimaryRetry, attempt, request.abortSignal); return await this.attemptSendRequest(request, secondaryHas404, ++attempt); } @@ -247,7 +249,7 @@ export class RetryPolicy extends BaseRequestPolicy { if ( err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || - (err.code && err.code.toUpperCase().includes(retriableError)) + (err.code && err.code.toString().toUpperCase().includes(retriableError)) ) { this.logf( HttpPipelineLogLevel.INFO, @@ -301,10 +303,11 @@ export class RetryPolicy extends BaseRequestPolicy { * @private * @param {boolean} isPrimaryRetry * @param {number} attempt + * @param {AbortSignalLike} [abortSignal] * @returns * @memberof RetryPolicy */ - private async delay(isPrimaryRetry: boolean, attempt: number) { + private async delay(isPrimaryRetry: boolean, attempt: number, abortSignal?: AbortSignalLike) { let delayTimeInMs: number = 0; if (isPrimaryRetry) { @@ -324,6 +327,6 @@ export class RetryPolicy extends BaseRequestPolicy { } this.logf(HttpPipelineLogLevel.INFO, `RetryPolicy: Delay for ${delayTimeInMs}ms`); - return delay(delayTimeInMs); + return delay(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR); } } diff --git a/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts b/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts index 6fc5d1b77cd9..e04648a815b8 100644 --- a/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts +++ b/sdk/storage/storage-blob/src/utils/RetriableReadableStream.ts @@ -48,6 +48,8 @@ export interface RetriableReadableStreamOptions { doInjectErrorOnce?: boolean; } +const ABORT_ERROR = new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR); + /** * ONLY AVAILABLE IN NODE.JS RUNTIME. * @@ -67,6 +69,10 @@ export class RetriableReadableStream extends Readable { private maxRetryRequests: number; private progress?: (progress: TransferProgressEvent) => void; private options: RetriableReadableStreamOptions; + private abortHandler = () => { + this.source.pause(); + this.emit("error", ABORT_ERROR); + }; /** * Creates an instance of RetriableReadableStream. @@ -98,10 +104,7 @@ export class RetriableReadableStream extends Readable { this.progress = options.progress; this.options = options; - this.aborter.addEventListener("abort", () => { - this.source.pause(); - this.emit("error", new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR)); - }); + this.aborter.addEventListener("abort", this.abortHandler); this.setSourceDataHandler(); this.setSourceEndHandler(); @@ -145,6 +148,7 @@ export class RetriableReadableStream extends Readable { // }, dest end : ${this.end}` // ); if (this.offset - 1 === this.end) { + this.aborter.removeEventListener("abort", this.abortHandler); this.push(null); } else if (this.offset <= this.end) { // console.log( diff --git a/sdk/storage/storage-blob/src/utils/constants.ts b/sdk/storage/storage-blob/src/utils/constants.ts index 85801a601694..18bf0d5c5b3b 100644 --- a/sdk/storage/storage-blob/src/utils/constants.ts +++ b/sdk/storage/storage-blob/src/utils/constants.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. export const SDK_VERSION: string = "12.0.0-preview.2"; -export const SERVICE_VERSION: string = "2018-03-28"; +export const SERVICE_VERSION: string = "2018-11-09"; export const BLOCK_BLOB_MAX_UPLOAD_BLOB_BYTES: number = 256 * 1024 * 1024; // 256MB export const BLOCK_BLOB_MAX_STAGE_BLOCK_BYTES: number = 100 * 1024 * 1024; // 100MB diff --git a/sdk/storage/storage-blob/src/utils/utils.common.ts b/sdk/storage/storage-blob/src/utils/utils.common.ts index 31b62d1ebbc9..111b25d932c1 100644 --- a/sdk/storage/storage-blob/src/utils/utils.common.ts +++ b/sdk/storage/storage-blob/src/utils/utils.common.ts @@ -2,6 +2,7 @@ // Licensed under the MIT License. import * as fs from "fs"; +import { AbortSignalLike } from "@azure/abort-controller"; import { HttpHeaders, isNode, URLBuilder } from "@azure/core-http"; import { HeaderConstants, URLConstants } from "./constants"; @@ -338,6 +339,39 @@ export function generateBlockID(blockIDPrefix: string, blockIndex: number): stri return base64encode(res); } +/** + * Delay specified time interval. + * + * @export + * @param {number} timeInMs + * @param {AbortSignalLike} [aborter] + * @param {Error} [abortError] + */ +export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error) { + return new Promise((resolve, reject) => { + let timeout: any; + + const abortHandler = () => { + if (timeout !== undefined) { + clearTimeout(timeout); + } + reject(abortError); + }; + + const resolveHandler = () => { + if (aborter !== undefined) { + aborter.removeEventListener("abort", abortHandler); + } + resolve(); + }; + + timeout = setTimeout(resolveHandler, timeInMs); + if (aborter !== undefined) { + aborter.addEventListener("abort", abortHandler); + } + }); +} + /** * String.prototype.padStart() * diff --git a/sdk/storage/storage-blob/swagger/README.md b/sdk/storage/storage-blob/swagger/README.md index 81e908cf4855..a1299b09a503 100644 --- a/sdk/storage/storage-blob/swagger/README.md +++ b/sdk/storage/storage-blob/swagger/README.md @@ -10,7 +10,7 @@ enable-xml: true generate-metadata: false license-header: MICROSOFT_MIT_NO_VERSION output-folder: ../src/generated -input-file: ./blob-storage-2018-03-28.json +input-file: ./blob-storage-2018-11-09.json model-date-time-as-string: true optional-response-headers: true ``` diff --git a/sdk/storage/storage-blob/test/blobclient.spec.ts b/sdk/storage/storage-blob/test/blobclient.spec.ts index bf0866f09a84..589579c883cf 100644 --- a/sdk/storage/storage-blob/test/blobclient.spec.ts +++ b/sdk/storage/storage-blob/test/blobclient.spec.ts @@ -1,7 +1,8 @@ import * as assert from "assert"; +import * as dotenv from "dotenv"; +import { AbortController } from "@azure/abort-controller"; import { isNode } from "@azure/core-http"; -import * as dotenv from "dotenv"; import { bodyToString, getBSU, getSASConnectionStringFromEnvironment } from "./utils"; import { record, delay } from "./utils/recorder"; import { BlobClient, BlockBlobClient, ContainerClient } from "../src"; @@ -39,6 +40,13 @@ describe("BlobClient", () => { assert.deepStrictEqual(await bodyToString(result, content.length), content); }); + it("download should not have aborted error after download finishes", async () => { + const aborter = new AbortController(); + const result = await blobClient.download(0, undefined, { abortSignal: aborter.signal }); + assert.deepStrictEqual(await bodyToString(result, content.length), content); + aborter.abort(); + }); + it("download all parameters set", async () => { const result = await blobClient.download(0, 1, { rangeGetContentMD5: true diff --git a/sdk/storage/storage-blob/test/blobserviceclient.spec.ts b/sdk/storage/storage-blob/test/blobserviceclient.spec.ts index 63864f161139..2730deff20ef 100644 --- a/sdk/storage/storage-blob/test/blobserviceclient.spec.ts +++ b/sdk/storage/storage-blob/test/blobserviceclient.spec.ts @@ -2,7 +2,12 @@ import * as assert from "assert"; import * as dotenv from "dotenv"; import { BlobServiceClient } from "../src/BlobServiceClient"; -import { getAlternateBSU, getBSU, getSASConnectionStringFromEnvironment } from "./utils"; +import { + getAlternateBSU, + getBSU, + getSASConnectionStringFromEnvironment, + getTokenBSU +} from "./utils"; import { record, delay } from "./utils/recorder"; dotenv.config({ path: "../.env" }); @@ -403,4 +408,32 @@ describe("BlobServiceClient", () => { assert.ok(typeof result.requestId); assert.ok(result.requestId!.length > 0); }); + + it("getUserDelegationKey should work", async () => { + // Try to get serviceURL object with TokenCredential + // when ACCOUNT_TOKEN environment variable is set + let serviceURLWithToken; + try { + serviceURLWithToken = getTokenBSU(); + } catch {} + + // Requires bearer token for this case which cannot be generated in the runtime + // Make sure this case passed in sanity test + if (serviceURLWithToken === undefined) { + return; + } + + const now = new Date(); + now.setHours(now.getHours() + 1); + const tmr = new Date(); + tmr.setDate(tmr.getDate() + 1); + const response = await serviceURLWithToken.getUserDelegationKey(now, tmr); + assert.notDeepStrictEqual(response.value, undefined); + assert.notDeepStrictEqual(response.signedVersion, undefined); + assert.notDeepStrictEqual(response.signedTid, undefined); + assert.notDeepStrictEqual(response.signedStart, undefined); + assert.notDeepStrictEqual(response.signedService, undefined); + assert.notDeepStrictEqual(response.signedOid, undefined); + assert.notDeepStrictEqual(response.signedExpiry, undefined); + }); }); diff --git a/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts b/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts index 3abf3a7accf4..3869bfd03e1d 100644 --- a/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts @@ -1,6 +1,15 @@ +import * as assert from "assert"; + import * as dotenv from "dotenv"; -import { AppendBlobClient, newPipeline, SharedKeyCredential, ContainerClient } from "../../src"; -import { getBSU, getConnectionStringFromEnvironment } from "../utils"; +import { + AppendBlobClient, + newPipeline, + SharedKeyCredential, + ContainerClient, + generateBlobSASQueryParameters, + BlobSASPermissions +} from "../../src"; +import { getBSU, getConnectionStringFromEnvironment, bodyToString } from "../utils"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; import { record } from "../utils/recorder"; @@ -81,4 +90,37 @@ describe("AppendBlobClient Node.js only", () => { await newClient.create(); await newClient.download(); }); + + it("appendBlockFromURL", async () => { + await appendBlobClient.create(); + + const content = "Hello World!"; + const blockBlobName = recorder.getUniqueName("blockblob"); + const blockBlobClient = containerClient.getBlockBlobClient(blockBlobName); + await blockBlobClient.upload(content, content.length); + + // Get a SAS for blobURL + const expiryTime = recorder.newDate(); + expiryTime.setDate(expiryTime.getDate() + 1); + + const factories = (blockBlobClient as any).pipeline.factories; + const credential = factories[factories.length - 1] as SharedKeyCredential; + + const sas = generateBlobSASQueryParameters( + { + expiryTime, + containerName, + blobName: blockBlobName, + permissions: BlobSASPermissions.parse("r").toString() + }, + credential + ); + + await appendBlobClient.appendBlock(content, content.length); + await appendBlobClient.appendBlockFromURL(`${blockBlobClient.url}?${sas}`, 0, content.length); + + const downloadResponse = await appendBlobClient.download(0); + assert.equal(await bodyToString(downloadResponse, content.length * 2), content + content); + assert.equal(downloadResponse.contentLength!, content.length * 2); + }); }); diff --git a/sdk/storage/storage-blob/test/node/blobclient.spec.ts b/sdk/storage/storage-blob/test/node/blobclient.spec.ts index fb7b0e430964..a172f389f93c 100644 --- a/sdk/storage/storage-blob/test/node/blobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/blobclient.spec.ts @@ -7,7 +7,9 @@ import { newPipeline, SharedKeyCredential, ContainerClient, - BlockBlobClient + BlockBlobClient, + generateBlobSASQueryParameters, + BlobSASPermissions } from "../../src"; import { bodyToString, getBSU, getConnectionStringFromEnvironment } from "../utils"; import { TokenCredential } from "@azure/core-http"; @@ -221,6 +223,35 @@ describe("BlobClient Node.js only", () => { assert.deepStrictEqual(properties2.copySource, blobClient.url); }); + it("syncCopyFromURL", async () => { + const newBlobClient = containerClient.getBlobClient(recorder.getUniqueName("copiedblob")); + + // Different from startCopyFromURL, syncCopyFromURL requires sourceURL includes a valid SAS + const expiryTime = recorder.newDate(); + expiryTime.setDate(expiryTime.getDate() + 1); + + const factories = (containerClient as any).pipeline.factories; + const credential = factories[factories.length - 1] as SharedKeyCredential; + + const sas = generateBlobSASQueryParameters( + { + expiryTime, + permissions: BlobSASPermissions.parse("racwd").toString(), + containerName, + blobName + }, + credential + ); + + const copyURL = blobClient.url + "?" + sas; + const result = await newBlobClient.syncCopyFromURL(copyURL); + + const properties1 = await blobClient.getProperties(); + const properties2 = await newBlobClient.getProperties(); + assert.deepStrictEqual(properties1.contentMD5, properties2.contentMD5); + assert.deepStrictEqual(properties2.copyId, result.copyId); + }); + it("abortCopyFromClient should failed for a completed copy operation", async () => { const newBlobClient = containerClient.getBlobClient(recorder.getUniqueName("copiedblob")); const result = await newBlobClient.startCopyFromURL(blobClient.url); diff --git a/sdk/storage/storage-blob/test/node/containerclient.spec.ts b/sdk/storage/storage-blob/test/node/containerclient.spec.ts index 394fe773eaa4..a0205eca430a 100644 --- a/sdk/storage/storage-blob/test/node/containerclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/containerclient.spec.ts @@ -1,7 +1,7 @@ import * as assert from "assert"; import { getBSU, getConnectionStringFromEnvironment } from "../utils"; -import { PublicAccessType } from "../../src/generated/lib/models/index"; +import { PublicAccessType } from "../../src/generated/src/models/index"; import { ContainerClient, newPipeline, SharedKeyCredential } from "../../src"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; diff --git a/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts b/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts index ddf072a02ec4..a65a3e22e59e 100644 --- a/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts @@ -254,6 +254,39 @@ describe("Highlevel", () => { assert.ok(localFileContent.equals(buf)); }); + it("downloadBlobToBuffer should success when downloading a range inside blob", async () => { + await blockBlobClient.upload("aaaabbbb", 8); + + const buf = Buffer.alloc(4); + await blockBlobClient.downloadToBuffer(buf, 4, 4, { + blockSize: 4, + maxRetryRequestsPerBlock: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "bbbb"); + + await blockBlobClient.downloadToBuffer(buf, 3, 4, { + blockSize: 4, + maxRetryRequestsPerBlock: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "abbb"); + + await blockBlobClient.downloadToBuffer(buf, 2, 4, { + blockSize: 4, + maxRetryRequestsPerBlock: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "aabb"); + + await blockBlobClient.downloadToBuffer(buf, 1, 4, { + blockSize: 4, + maxRetryRequestsPerBlock: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "aaab"); + }); + it("downloadToBuffer should abort", async () => { const rs = fs.createReadStream(tempFileLarge); await blockBlobClient.uploadStream(rs, 4 * 1024 * 1024, 20); diff --git a/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts b/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts index f114b0a6de98..4fda2f9de69e 100644 --- a/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts @@ -6,7 +6,9 @@ import { PageBlobClient, SharedKeyCredential, ContainerClient, - BlobClient + BlobClient, + generateBlobSASQueryParameters, + BlobSASPermissions } from "../../src"; import { TokenCredential } from "@azure/core-http"; import { assertClientUsesTokenCredential } from "../utils/assert"; @@ -111,6 +113,43 @@ describe("PageBlobClient Node.js only", () => { assert.equal(pageBlobProperties.metadata!.sourcemeta, "val"); }); + it("uploadPagesFromURL", async () => { + await pageBlobClient.create(1024); + + const result = await blobClient.download(0); + assert.equal(await bodyToString(result, 1024), "\u0000".repeat(1024)); + + const content = "a".repeat(512) + "b".repeat(512); + const blockBlobName = recorder.getUniqueName("blockblob"); + const blockBlobClient = containerClient.getBlockBlobClient(blockBlobName); + await blockBlobClient.upload(content, content.length); + + // By default, credential is always the last element of pipeline factories + const factories = (blobClient as any).pipeline.factories; + const sharedKeyCredential = factories[factories.length - 1]; + // Get a SAS for blobURL + const expiryTime = recorder.newDate(); + expiryTime.setDate(expiryTime.getDate() + 1); + const sas = generateBlobSASQueryParameters( + { + expiryTime, + containerName, + blobName: blockBlobName, + permissions: BlobSASPermissions.parse("r").toString() + }, + sharedKeyCredential as SharedKeyCredential + ); + + await pageBlobClient.uploadPagesFromURL(`${blockBlobClient.url}?${sas}`, 0, 0, 512); + await pageBlobClient.uploadPagesFromURL(`${blockBlobClient.url}?${sas}`, 512, 512, 512); + + const page1 = await pageBlobClient.download(0, 512); + const page2 = await pageBlobClient.download(512, 512); + + assert.equal(await bodyToString(page1, 512), "a".repeat(512)); + assert.equal(await bodyToString(page2, 512), "b".repeat(512)); + }); + it("can be created with a url and a credential", async () => { const factories = (pageBlobClient as any).pipeline.factories; const credential = factories[factories.length - 1] as SharedKeyCredential; diff --git a/sdk/storage/storage-blob/test/node/sas.spec.ts b/sdk/storage/storage-blob/test/node/sas.spec.ts index 0c4d77468e83..622b18c0dd6a 100644 --- a/sdk/storage/storage-blob/test/node/sas.spec.ts +++ b/sdk/storage/storage-blob/test/node/sas.spec.ts @@ -212,7 +212,7 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { await containerClient.delete(); }); - it("generateBlobSASQueryParameters should work for blob", async () => { + it("generateBlobSASQueryParameters should work for blob with previous API version", async () => { const now = recorder.newDate("now"); now.setMinutes(now.getMinutes() - 5); // Skip clock skew with server @@ -266,6 +266,117 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { await containerClient.delete(); }); + it("generateBlobSASQueryParameters should work for blob", async () => { + const now = recorder.newDate("now"); + now.setMinutes(now.getMinutes() - 5); // Skip clock skew with server + + const tmr = recorder.newDate("tmr"); + tmr.setDate(tmr.getDate() + 1); + + // By default, credential is always the last element of pipeline factories + const factories = (blobServiceClient as any).pipeline.factories; + const sharedKeyCredential = factories[factories.length - 1]; + + const containerName = recorder.getUniqueName("container"); + const containerClient = blobServiceClient.getContainerClient(containerName); + await containerClient.create(); + + const blobName = recorder.getUniqueName("blob"); + const blobClient = containerClient.getPageBlobClient(blobName); + await blobClient.create(1024, { + blobHTTPHeaders: { + blobContentType: "content-type-original" + } + }); + + const blobSAS = generateBlobSASQueryParameters( + { + blobName, + cacheControl: "cache-control-override", + containerName, + contentDisposition: "content-disposition-override", + contentEncoding: "content-encoding-override", + contentLanguage: "content-language-override", + contentType: "content-type-override", + expiryTime: tmr, + ipRange: { start: "0.0.0.0", end: "255.255.255.255" }, + permissions: BlobSASPermissions.parse("racwd").toString(), + protocol: SASProtocol.HTTPSandHTTP, + startTime: now + }, + sharedKeyCredential as SharedKeyCredential + ); + + const sasURL = `${blobClient.url}?${blobSAS}`; + const blobClientwithSAS = new PageBlobClient(sasURL, newPipeline(new AnonymousCredential())); + + const properties = await blobClientwithSAS.getProperties(); + assert.equal(properties.cacheControl, "cache-control-override"); + assert.equal(properties.contentDisposition, "content-disposition-override"); + assert.equal(properties.contentEncoding, "content-encoding-override"); + assert.equal(properties.contentLanguage, "content-language-override"); + assert.equal(properties.contentType, "content-type-override"); + + await containerClient.delete(); + }); + + it("generateBlobSASQueryParameters should work for blob snapshot", async () => { + const now = recorder.newDate("now"); + now.setMinutes(now.getMinutes() - 5); // Skip clock skew with server + + const tmr = recorder.newDate("tmr"); + tmr.setDate(tmr.getDate() + 1); + + // By default, credential is always the last element of pipeline factories + const factories = (blobServiceClient as any).pipeline.factories; + const sharedKeyCredential = factories[factories.length - 1]; + + const containerName = recorder.getUniqueName("container"); + const containerClient = blobServiceClient.getContainerClient(containerName); + await containerClient.create(); + + const blobName = recorder.getUniqueName("blob"); + const blobClient = containerClient.getPageBlobClient(blobName); + await blobClient.create(1024, { + blobHTTPHeaders: { + blobContentType: "content-type-original" + } + }); + + const response = await blobClient.createSnapshot(); + + const blobSAS = generateBlobSASQueryParameters( + { + blobName, + cacheControl: "cache-control-override", + containerName, + contentDisposition: "content-disposition-override", + contentEncoding: "content-encoding-override", + contentLanguage: "content-language-override", + contentType: "content-type-override", + expiryTime: tmr, + ipRange: { start: "0.0.0.0", end: "255.255.255.255" }, + permissions: BlobSASPermissions.parse("racwd").toString(), + protocol: SASProtocol.HTTPSandHTTP, + startTime: now, + snapshotTime: response.snapshot + }, + sharedKeyCredential as SharedKeyCredential + ); + + const sasURL = `${blobClient.withSnapshot(response.snapshot!).url}&${blobSAS}`; + const blobClientwithSAS = new PageBlobClient(sasURL, newPipeline(new AnonymousCredential())); + + const properties = await blobClientwithSAS.getProperties(); + assert.equal(properties.cacheControl, "cache-control-override"); + assert.equal(properties.contentDisposition, "content-disposition-override"); + assert.equal(properties.contentEncoding, "content-encoding-override"); + assert.equal(properties.contentLanguage, "content-language-override"); + assert.equal(properties.contentType, "content-type-override"); + + await containerClient.delete(); + }); + it("generateBlobSASQueryParameters should work for blob with special namings", async () => { const now = recorder.newDate("now"); now.setMinutes(now.getMinutes() - 5); // Skip clock skew with server diff --git a/sdk/storage/storage-blob/test/retrypolicy.spec.ts b/sdk/storage/storage-blob/test/retrypolicy.spec.ts index 6d1684ae01d9..7182890e21e8 100644 --- a/sdk/storage/storage-blob/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-blob/test/retrypolicy.spec.ts @@ -1,12 +1,14 @@ import { URLBuilder } from "@azure/core-http"; import * as assert from "assert"; +import * as dotenv from "dotenv"; +import { AbortController } from "@azure/abort-controller"; import { ContainerClient, RestError } from "../src"; import { newPipeline, Pipeline } from "../src/Pipeline"; import { getBSU } from "./utils"; import { InjectorPolicyFactory } from "./utils/InjectorPolicyFactory"; import { record } from "./utils/recorder"; -import * as dotenv from "dotenv"; + dotenv.config({ path: "../.env" }); describe("RetryPolicy", () => { @@ -52,6 +54,39 @@ describe("RetryPolicy", () => { assert.deepEqual(result.metadata, metadata); }); + it("Retry Policy should abort when abort event trigger during retry interval", async () => { + let injectCounter = 0; + const injector = new InjectorPolicyFactory(() => { + if (injectCounter < 2) { + injectCounter++; + return new RestError("Server Internal Error", "ServerInternalError", 500); + } + }); + + const factories = (containerClient as any).pipeline.factories.slice(); // clone factories array + factories.push(injector); + const pipeline = new Pipeline(factories); + const injectContainerClient = new ContainerClient(containerClient.url, pipeline); + + const metadata = { + key0: "val0", + keya: "vala", + keyb: "valb" + }; + + let hasError = false; + try { + // Default exponential retry delay is 4000ms. Wait for 2000ms to abort which makes sure the aborter + // happens between 2 requests + await injectContainerClient.setMetadata(metadata, { + abortSignal: AbortController.timeout(2 * 1000) + }); + } catch (err) { + hasError = true; + } + assert.ok(hasError); + }); + it("Retry Policy should failed when requests always fail with 500", async () => { const injector = new InjectorPolicyFactory(() => { return new RestError("Server Internal Error", "ServerInternalError", 500); diff --git a/sdk/storage/storage-blob/test/utils/index.browser.ts b/sdk/storage/storage-blob/test/utils/index.browser.ts index 229640b653f8..2a2a921404d1 100644 --- a/sdk/storage/storage-blob/test/utils/index.browser.ts +++ b/sdk/storage/storage-blob/test/utils/index.browser.ts @@ -1,3 +1,4 @@ +import { SimpleTokenCredential } from "@azure/core-http"; import { AnonymousCredential } from "../../src/credentials/AnonymousCredential"; import { BlobServiceClient } from "../../src/BlobServiceClient"; import { newPipeline } from "../../src/Pipeline"; @@ -35,6 +36,31 @@ export function getGenericBSU( return new BlobServiceClient(blobPrimaryURL, pipeline); } +export function getTokenBSU(): BlobServiceClient { + const accountNameEnvVar = `ACCOUNT_NAME`; + const accountTokenEnvVar = `ACCOUNT_TOKEN`; + + let accountName: string | undefined; + let accountToken: string | undefined; + + accountName = process.env[accountNameEnvVar]; + accountToken = process.env[accountTokenEnvVar]; + + if (!accountName || !accountToken || accountName === "" || accountToken === "") { + throw new Error( + `${accountNameEnvVar} and/or ${accountTokenEnvVar} environment variables not specified.` + ); + } + + const credentials = new SimpleTokenCredential(accountToken); + const pipeline = newPipeline(credentials, { + // Enable logger when debugging + // logger: new ConsoleHttpPipelineLogger(HttpPipelineLogLevel.INFO) + }); + const blobPrimaryURL = `https://${accountName}.blob.core.windows.net/`; + return new BlobServiceClient(blobPrimaryURL, pipeline); +} + export function getBSU(): BlobServiceClient { return getGenericBSU(""); } diff --git a/sdk/storage/storage-blob/test/utils/index.ts b/sdk/storage/storage-blob/test/utils/index.ts index 85debe200075..94848fb683a5 100644 --- a/sdk/storage/storage-blob/test/utils/index.ts +++ b/sdk/storage/storage-blob/test/utils/index.ts @@ -1,11 +1,12 @@ import * as crypto from "crypto"; +import * as dotenv from "dotenv"; import * as fs from "fs"; import * as path from "path"; +import { SimpleTokenCredential } from "@azure/core-http"; import { SharedKeyCredential } from "../../src/credentials/SharedKeyCredential"; import { BlobServiceClient } from "../../src/BlobServiceClient"; import { getUniqueName } from "./testutils.common"; -import * as dotenv from "dotenv"; import { newPipeline } from "../../src/Pipeline"; import { generateAccountSASQueryParameters, @@ -15,6 +16,7 @@ import { AccountSASServices } from "../../src"; import { extractConnectionStringParts } from "../../src/utils/utils.common"; + dotenv.config({ path: "../.env" }); export * from "./testutils.common"; @@ -47,6 +49,31 @@ export function getGenericBSU( return new BlobServiceClient(blobPrimaryURL, pipeline); } +export function getTokenBSU(): BlobServiceClient { + const accountNameEnvVar = `ACCOUNT_NAME`; + const accountTokenEnvVar = `ACCOUNT_TOKEN`; + + let accountName: string | undefined; + let accountToken: string | undefined; + + accountName = process.env[accountNameEnvVar]; + accountToken = process.env[accountTokenEnvVar]; + + if (!accountName || !accountToken || accountName === "" || accountToken === "") { + throw new Error( + `${accountNameEnvVar} and/or ${accountTokenEnvVar} environment variables not specified.` + ); + } + + const credentials = new SimpleTokenCredential(accountToken); + const pipeline = newPipeline(credentials, { + // Enable logger when debugging + // logger: new ConsoleHttpPipelineLogger(HttpPipelineLogLevel.INFO) + }); + const blobPrimaryURL = `https://${accountName}.blob.core.windows.net/`; + return new BlobServiceClient(blobPrimaryURL, pipeline); +} + export function getBSU(): BlobServiceClient { return getGenericBSU(""); } diff --git a/sdk/storage/storage-datalake/package.json b/sdk/storage/storage-datalake/package.json index 4c0c0c805a70..ceb109a154fe 100644 --- a/sdk/storage/storage-datalake/package.json +++ b/sdk/storage/storage-datalake/package.json @@ -43,7 +43,7 @@ "integration-test:node": "echo skipped", "integration-test": "echo skipped", "lint:fix": "eslint -c ../../.eslintrc.json src --ext .ts --fix", - "lint": "eslint -c ../../.eslintrc.json src --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o storage-datalake-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src --ext .ts -f html -o storage-datalake-lintReport.html || exit 0", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "echo skipped", @@ -62,11 +62,10 @@ "uglify": "^0.1.5" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", - "eslint": "^5.16.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^6.1.0", "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", diff --git a/sdk/storage/storage-file/ChangeLog.md b/sdk/storage/storage-file/ChangeLog.md index 1f46b57d0738..f9ab72ff1a6e 100644 --- a/sdk/storage/storage-file/ChangeLog.md +++ b/sdk/storage/storage-file/ChangeLog.md @@ -45,6 +45,22 @@ For release notes and more information please visit https://aka.ms/azure-sdk-preview1-js +### 2019.06 Version 10.2.0 + +- Fixed a bug of `downloadBlobToBuffer()` and `downloadAzureFileToBuffer()` when provided offset is not 0. +- Fixed a bug that `Aborter` cannot work during retry interval. +- Fixed a bug that `Aborter` throws timeout error even though it succeeds of `FileURL.download()`. +- Fixed a bug that "err.code.toUpperCase is not a function" when retries in browser. +- `Aborter` doesn't require `dom` as tsconfig lib requirement anymore for `Event` type. +- Export `RetryPolicyType`. +- Updated HTTP client from axios to node-fetch in Node.js runtime. +- A new option `keepAliveOptions` added to parameter of `StorageURL.newPipeline()` which controls keep-alive configurations. Keep-alive is enabled by default. +- Updated Azure Storage Service API version to [2018-11-09](https://docs.microsoft.com/en-us/rest/api/storageservices/version-2018-11-09). +- The `ShareURL.getStatistics()` now returns the approximate size in bytes with `shareUsageBytes`. +- Added `DirectoryURL.listHandlesSegment()` and `FileURL.listHandlesSegment()` to returns a list of open handles on a directory or a file. +- Added `DirectoryURL.forceCloseHandlesSegment()`, `FileURL.forceCloseHandlesSegment()`, `DirectoryURL.forceCloseHandle()` and `FileURL.forceCloseHandle()` to close handles. +- Updated Azure Storage Service API version to [2018-11-09](https://docs.microsoft.com/en-us/rest/api/storageservices/version-2018-11-09). + ### 2019.01 Version 10.1.0 - [Breaking] Updated convenience layer methods enum type parameters into typescript union types, this will help reducing bundle footprint. diff --git a/sdk/storage/storage-file/package.json b/sdk/storage/storage-file/package.json index a35b57047145..b427b88f45e1 100644 --- a/sdk/storage/storage-file/package.json +++ b/sdk/storage/storage-file/package.json @@ -20,7 +20,7 @@ }, "scripts": { "audit": "node ../../../common/scripts/rush-audit.js && rimraf node_modules package-lock.json && npm i --package-lock-only 2>&1 && npm audit", - "build:autorest": "autorest ./swagger/README.md --typescript --use=@microsoft.azure/autorest.typescript@2.2.1", + "build:autorest": "autorest ./swagger/README.md --typescript --use=@microsoft.azure/autorest.typescript@4.1.1", "build:browserzip": "gulp zip", "build:es6": "tsc -p tsconfig.json", "build:nodebrowser": "rollup -c 2>&1", @@ -36,7 +36,7 @@ "integration-test:node": "nyc mocha --require source-map-support/register --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=- --full-trace -t 120000 --retries 2 dist-test/index.node.js", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint -c ../../.eslintrc.json src test samples --ext .ts --fix", - "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o storage-file-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f html -o storage-file-lintReport.html || exit 0", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run integration-test:browser", @@ -78,8 +78,8 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js#readme", "sideEffects": false, "dependencies": { - "@azure/abort-controller": "1.0.0-preview.1", - "@azure/core-http": "1.0.0-preview.2", + "@azure/abort-controller": "1.0.0-preview.2", + "@azure/core-http": "1.0.0-preview.3", "@azure/core-paging": "1.0.0-preview.1", "events": "^3.0.0", "tslib": "^1.9.3" @@ -87,30 +87,29 @@ "devDependencies": { "@microsoft/api-extractor": "^7.1.5", "@types/dotenv": "^6.1.0", - "@types/fs-extra": "~7.0.0", + "@types/fs-extra": "^8.0.0", "@types/mocha": "^5.2.5", "@types/nise": "^1.4.0", "@types/nock": "^10.0.1", "@types/node": "^8.0.0", "@types/query-string": "6.2.0", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", "cross-env": "^5.2.0", - "dotenv": "^7.0.0", + "dotenv": "^8.0.0", "es6-promise": "^4.2.5", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", - "fs-extra": "~8.0.1", + "fs-extra": "^8.1.0", "gulp": "^4.0.0", - "gulp-zip": "^4.2.0", + "gulp-zip": "^5.0.0", "inherits": "^2.0.3", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", @@ -142,8 +141,8 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^2.0.0", "source-map-support": "^0.5.9", - "ts-node": "^7.0.1", + "ts-node": "^8.3.0", "typescript": "^3.2.2", - "util": "^0.11.1" + "util": "^0.12.1" } } diff --git a/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json b/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json index d151b4ffeb8b..ea4c4e82b884 100644 --- a/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json +++ b/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520232709465", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453857605600", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:42 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:42 GMT", + "date": "Fri, 16 Aug 2019 22:28:58 GMT", + "last-modified": "Fri, 16 Aug 2019 22:28:58 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C494FDBCB9\"", - "x-ms-request-id": "37126b9a-c01a-0038-3ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229921DFEC4D\"", + "x-ms-request-id": "becd3f2f-d01a-00eb-1b81-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520232709465", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453857605600", "query": { "restype": "share" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126b9e-c01a-0038-40ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f32-d01a-00eb-1d81-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:42 GMT", + "date": "Fri, 16 Aug 2019 22:28:58 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520232709465" + "share": "share156599453857605600" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json b/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json index 2e238c0eb510..71ac06aeeff0 100644 --- a/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json +++ b/sdk/storage/storage-file/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520304506733", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453923605763", "query": { "restype": "share" }, @@ -10,17 +10,17 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:42 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:43 GMT", + "date": "Fri, 16 Aug 2019 22:28:58 GMT", + "last-modified": "Fri, 16 Aug 2019 22:28:59 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49531803B\"", - "x-ms-request-id": "37126ba1-c01a-0038-42ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992215AC06\"", + "x-ms-request-id": "becd3f34-d01a-00eb-1f81-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520304506733" + "share": "share156599453923605763" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_all_parameters_configured.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_all_parameters_configured.json index 48407772a64a..b916049bea24 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_all_parameters_configured.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_all_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520603800440", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454174401802", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:45 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:46 GMT", + "date": "Fri, 16 Aug 2019 22:29:01 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C496F972FA\"", - "x-ms-request-id": "37126bd4-c01a-0038-64ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992393B7A4\"", + "x-ms-request-id": "becd3f5a-d01a-00eb-3f82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520603800440/dir156150520619104037", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454174401802/dir156599454190306785", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:46 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:46 GMT", + "date": "Fri, 16 Aug 2019 22:29:01 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C497111F81\"", - "x-ms-request-id": "37126bd7-c01a-0038-66ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229923AC69CC\"", + "x-ms-request-id": "becd3f5d-d01a-00eb-4182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520603800440156150520635102181", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454174401802156599454206106930", "query": { "restype": "share" }, @@ -49,18 +49,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:46 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:46 GMT", + "date": "Fri, 16 Aug 2019 22:29:01 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49729170A\"", - "x-ms-request-id": "37126bd9-c01a-0038-68ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229923C41F2E\"", + "x-ms-request-id": "becd3f5f-d01a-00eb-4382-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520603800440156150520635102181", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454174401802156599454206106930", "query": { "restype": "share" }, @@ -68,22 +68,22 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:46 GMT", + "date": "Fri, 16 Aug 2019 22:29:01 GMT", "x-ms-meta-key": "value", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:26:46 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49729170A\"", - "x-ms-request-id": "37126bdc-c01a-0038-6aad-2b3bc8000000", + "etag": "\"0x8D7229923C41F2E\"", + "x-ms-request-id": "becd3f62-d01a-00eb-4582-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520603800440/dir156150520619104037", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454174401802/dir156599454190306785", "query": { "restype": "directory" }, @@ -91,16 +91,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bde-c01a-0038-6cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f68-d01a-00eb-4982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:46 GMT", + "date": "Fri, 16 Aug 2019 22:29:02 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520603800440", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454174401802", "query": { "restype": "share" }, @@ -108,17 +108,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126be1-c01a-0038-6ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f6a-d01a-00eb-4b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:46 GMT", + "date": "Fri, 16 Aug 2019 22:29:02 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520603800440", - "dir": "dir156150520619104037", - "share156150520603800440": "share156150520603800440156150520635102181" + "share": "share156599454174401802", + "dir": "dir156599454190306785", + "share156599454174401802": "share156599454174401802156599454206106930" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_default_parameters.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_default_parameters.json index 96560bf824de..e7062d5b5d51 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_default_parameters.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_create_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520538501007", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454111301815", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:45 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:45 GMT", + "date": "Fri, 16 Aug 2019 22:29:00 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49695BD31\"", - "x-ms-request-id": "37126bca-c01a-0038-5cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229923335DC8\"", + "x-ms-request-id": "becd3f50-d01a-00eb-3782-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520538501007/dir156150520553908595", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454111301815/dir156599454126903160", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:45 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:45 GMT", + "date": "Fri, 16 Aug 2019 22:29:00 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C496AEF076\"", - "x-ms-request-id": "37126bce-c01a-0038-5ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299234BC1F9\"", + "x-ms-request-id": "becd3f53-d01a-00eb-3982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520538501007/dir156150520553908595", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454111301815/dir156599454126903160", "query": { "restype": "directory" }, @@ -49,16 +49,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bd0-c01a-0038-60ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f55-d01a-00eb-3b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:45 GMT", + "date": "Fri, 16 Aug 2019 22:29:01 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520538501007", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454111301815", "query": { "restype": "share" }, @@ -66,16 +66,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bd2-c01a-0038-62ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f58-d01a-00eb-3d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:45 GMT", + "date": "Fri, 16 Aug 2019 22:29:01 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520538501007", - "dir": "dir156150520553908595" + "share": "share156599454111301815", + "dir": "dir156599454126903160" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createfile_and_deletefile.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createfile_and_deletefile.json index 477f13544518..382362455042 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createfile_and_deletefile.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createfile_and_deletefile.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:05 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A2D57CDC\"", - "x-ms-request-id": "37126d10-c01a-0038-7dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992FFB5535\"", + "x-ms-request-id": "becd4081-d01a-00eb-4782-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:05 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A2EDCB51\"", - "x-ms-request-id": "37126d13-c01a-0038-7fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299301315F6\"", + "x-ms-request-id": "becd4084-d01a-00eb-4982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706/directory156150522625705903", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307/directory156599456286408139", "query": { "restype": "directory" }, @@ -49,89 +49,89 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:06 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A30660DF\"", - "x-ms-request-id": "37126d15-c01a-0038-01ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993029AF4A\"", + "x-ms-request-id": "becd4086-d01a-00eb-4b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706/directory156150522625705903/file156150522642203725", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307/directory156599456286408139/file156599456301304136", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:06 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A31FE0F3\"", - "x-ms-request-id": "37126d17-c01a-0038-03ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229930406FB4\"", + "x-ms-request-id": "becd4088-d01a-00eb-4d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706/directory156150522625705903/file156150522642203725", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307/directory156599456286408139/file156599456301304136", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:22 GMT", "x-ms-meta-key": "value", - "last-modified": "Tue, 25 Jun 2019 23:27:06 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A31FE0F3\"", + "etag": "\"0x8D7229930406FB4\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126d19-c01a-0038-05ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd408b-d01a-00eb-4f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "256" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706/directory156150522625705903/file156150522642203725", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307/directory156599456286408139/file156599456301304136", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d1b-c01a-0038-07ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd408d-d01a-00eb-5182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:22 GMT", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706/directory156150522625705903/file156150522642203725", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307/directory156599456286408139/file156599456301304136", "query": {}, "requestBody": null, "status": 404, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "ResourceNotFound", "transfer-encoding": "chunked", - "x-ms-request-id": "37126d1d-c01a-0038-09ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd408f-d01a-00eb-5382-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706/directory156150522625705903", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307/directory156599456286408139", "query": { "restype": "directory" }, @@ -139,16 +139,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d1f-c01a-0038-0bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4091-d01a-00eb-5582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:06 GMT", + "date": "Fri, 16 Aug 2019 22:29:23 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665/dir156150522609207706", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667/dir156599456271405307", "query": { "restype": "directory" }, @@ -156,16 +156,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d21-c01a-0038-0dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4093-d01a-00eb-5782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:07 GMT", + "date": "Fri, 16 Aug 2019 22:29:23 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522593503665", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456255701667", "query": { "restype": "share" }, @@ -173,18 +173,18 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d23-c01a-0038-0fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4095-d01a-00eb-5982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:07 GMT", + "date": "Fri, 16 Aug 2019 22:29:23 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150522593503665", - "dir": "dir156150522609207706", - "directory": "directory156150522625705903", - "file": "file156150522642203725" + "share": "share156599456255701667", + "dir": "dir156599456271405307", + "directory": "directory156599456286408139", + "file": "file156599456301304136" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createsubdirectory_and_deletesubdirectory.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createsubdirectory_and_deletesubdirectory.json index 7e4aaa2d2997..1fe410b3eb0f 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createsubdirectory_and_deletesubdirectory.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_createsubdirectory_and_deletesubdirectory.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:04 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:04 GMT", + "date": "Fri, 16 Aug 2019 22:29:20 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A21209AA\"", - "x-ms-request-id": "37126cfd-c01a-0038-6cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992F3D39E0\"", + "x-ms-request-id": "becd406c-d01a-00eb-3582-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373/dir156150522481002064", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798/dir156599456146406309", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:04 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:04 GMT", + "date": "Fri, 16 Aug 2019 22:29:21 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A22A098E\"", - "x-ms-request-id": "37126d00-c01a-0038-6ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992F54AD01\"", + "x-ms-request-id": "becd406f-d01a-00eb-3782-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373/dir156150522481002064/directory156150522499405686", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798/dir156599456146406309/directory156599456164109158", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:04 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:05 GMT", + "date": "Fri, 16 Aug 2019 22:29:21 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A245ACEE\"", - "x-ms-request-id": "37126d02-c01a-0038-70ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992F6FB3EA\"", + "x-ms-request-id": "becd4071-d01a-00eb-3982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373/dir156150522481002064/directory156150522499405686", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798/dir156599456146406309/directory156599456164109158", "query": { "restype": "directory" }, @@ -69,20 +69,20 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:05 GMT", + "date": "Fri, 16 Aug 2019 22:29:21 GMT", "x-ms-meta-key": "value", - "last-modified": "Tue, 25 Jun 2019 23:27:05 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A245ACEE\"", + "etag": "\"0x8D722992F6FB3EA\"", "x-ms-server-encrypted": "true", - "x-ms-request-id": "37126d04-c01a-0038-72ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4073-d01a-00eb-3b82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373/dir156150522481002064/directory156150522499405686", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798/dir156599456146406309/directory156599456164109158", "query": { "restype": "directory" }, @@ -90,35 +90,35 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d07-c01a-0038-75ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4075-d01a-00eb-3d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:05 GMT", + "date": "Fri, 16 Aug 2019 22:29:21 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373/dir156150522481002064/directory156150522499405686", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798/dir156599456146406309/directory156599456164109158", "query": { "restype": "directory" }, "requestBody": null, "status": 404, - "response": "ResourceNotFoundThe specified resource does not exist.\nRequestId:37126d09-c01a-0038-77ad-2b3bc8000000\nTime:2019-06-25T23:27:05.5666974Z", + "response": "ResourceNotFoundThe specified resource does not exist.\nRequestId:becd4077-d01a-00eb-3f82-54846d000000\nTime:2019-08-16T22:29:22.1952449Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:05 GMT", + "date": "Fri, 16 Aug 2019 22:29:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "ResourceNotFound", "content-type": "application/xml", - "x-ms-request-id": "37126d09-c01a-0038-77ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4077-d01a-00eb-3f82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "223" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373/dir156150522481002064", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798/dir156599456146406309", "query": { "restype": "directory" }, @@ -126,16 +126,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d0c-c01a-0038-79ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4079-d01a-00eb-4182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:05 GMT", + "date": "Fri, 16 Aug 2019 22:29:21 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522465508373", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456131205798", "query": { "restype": "share" }, @@ -143,17 +143,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d0e-c01a-0038-7bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd407e-d01a-00eb-4482-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:05 GMT", + "date": "Fri, 16 Aug 2019 22:29:22 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150522465508373", - "dir": "dir156150522481002064", - "directory": "directory156150522499405686" + "share": "share156599456131205798", + "dir": "dir156599456146406309", + "directory": "directory156599456164109158" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_delete.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_delete.json index acf1d7649424..29972e02237c 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_delete.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_delete.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520695805099", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454267808873", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:46 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:47 GMT", + "date": "Fri, 16 Aug 2019 22:29:02 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49785EDC2\"", - "x-ms-request-id": "37126be3-c01a-0038-70ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229924220798\"", + "x-ms-request-id": "becd3f6c-d01a-00eb-4d82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520695805099/dir156150520711206798", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454267808873/dir156599454283100681", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:46 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:47 GMT", + "date": "Fri, 16 Aug 2019 22:29:02 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4979DC1B4\"", - "x-ms-request-id": "37126be6-c01a-0038-72ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992439A7D8\"", + "x-ms-request-id": "becd3f6f-d01a-00eb-4f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520695805099/dir156150520711206798", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454267808873/dir156599454283100681", "query": { "restype": "directory" }, @@ -49,16 +49,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126be8-c01a-0038-74ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f71-d01a-00eb-5182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:47 GMT", + "date": "Fri, 16 Aug 2019 22:29:02 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520695805099", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454267808873", "query": { "restype": "share" }, @@ -66,16 +66,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bea-c01a-0038-76ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f74-d01a-00eb-5382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:47 GMT", + "date": "Fri, 16 Aug 2019 22:29:02 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520695805099", - "dir": "dir156150520711206798" + "share": "share156599454267808873", + "dir": "dir156599454283100681" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_forceclosehandle_should_work.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_forceclosehandle_should_work.json new file mode 100644 index 000000000000..4e3668e6ff8a --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_forceclosehandle_should_work.json @@ -0,0 +1,99 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456590704123", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:25 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:26 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7229931F9F267\"", + "x-ms-request-id": "becd40b1-d01a-00eb-7082-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456590704123/dir156599456605605691", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:25 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:26 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7229932116454\"", + "x-ms-request-id": "becd40b4-d01a-00eb-7282-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "GET", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456590704123/dir156599456605605691", + "query": { + "comp": "listhandles" + }, + "requestBody": null, + "status": 200, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:25 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "transfer-encoding": "chunked", + "content-type": "application/xml", + "x-ms-request-id": "becd40b6-d01a-00eb-7482-54846d000000", + "x-ms-version": "2018-11-09" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456590704123/dir156599456605605691", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd40b8-d01a-00eb-7682-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:26 GMT", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456590704123", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd40ba-d01a-00eb-7882-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:26 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599456590704123", + "dir": "dir156599456605605691" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_forceclosehandlessegment_should_work.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_forceclosehandlessegment_should_work.json new file mode 100644 index 000000000000..04bb668aedc7 --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_forceclosehandlessegment_should_work.json @@ -0,0 +1,99 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456487901243", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:24 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:24 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D72299315D962D\"", + "x-ms-request-id": "becd40a2-d01a-00eb-6582-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456487901243/dir156599456503203303", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:24 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:25 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993175568E\"", + "x-ms-request-id": "becd40a5-d01a-00eb-6782-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456487901243/dir156599456503203303", + "query": { + "comp": "forceclosehandles" + }, + "requestBody": null, + "status": 200, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:25 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-request-id": "becd40a7-d01a-00eb-6982-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-number-of-handles-closed": "0", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456487901243/dir156599456503203303", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd40ac-d01a-00eb-6c82-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:25 GMT", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456487901243", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd40af-d01a-00eb-6e82-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:25 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599456487901243", + "dir": "dir156599456503203303" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_getproperties.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_getproperties.json index cd640fad4101..81c18eb06be1 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_getproperties.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_getproperties.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520446900916", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454035302796", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:44 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:44 GMT", + "date": "Fri, 16 Aug 2019 22:29:00 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:00 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C496099093\"", - "x-ms-request-id": "37126bbe-c01a-0038-51ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229922BF02FD\"", + "x-ms-request-id": "becd3f44-d01a-00eb-2d82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520446900916/dir156150520461903729", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454035302796/dir156599454050408706", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:44 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:44 GMT", + "date": "Fri, 16 Aug 2019 22:29:00 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:00 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4962890FB\"", - "x-ms-request-id": "37126bc1-c01a-0038-53ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229922D62EB2\"", + "x-ms-request-id": "becd3f47-d01a-00eb-2f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520446900916/dir156150520461903729", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454035302796/dir156599454050408706", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:44 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:44 GMT", + "date": "Fri, 16 Aug 2019 22:29:00 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:00 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4962890FB\"", + "etag": "\"0x8D7229922D62EB2\"", "x-ms-server-encrypted": "true", - "x-ms-request-id": "37126bc3-c01a-0038-55ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f4a-d01a-00eb-3182-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520446900916/dir156150520461903729", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454035302796/dir156599454050408706", "query": { "restype": "directory" }, @@ -69,16 +69,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bc5-c01a-0038-57ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f4c-d01a-00eb-3382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:44 GMT", + "date": "Fri, 16 Aug 2019 22:29:00 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520446900916", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454035302796", "query": { "restype": "share" }, @@ -86,16 +86,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bc7-c01a-0038-59ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f4e-d01a-00eb-3582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:45 GMT", + "date": "Fri, 16 Aug 2019 22:29:00 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520446900916", - "dir": "dir156150520461903729" + "share": "share156599454035302796", + "dir": "dir156599454050408706" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_under_root_directory.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_under_root_directory.json index 90e66b293066..61e54bc39f65 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_under_root_directory.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_under_root_directory.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:47 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:47 GMT", + "date": "Fri, 16 Aug 2019 22:29:03 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:03 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C497E49992\"", - "x-ms-request-id": "37126bed-c01a-0038-78ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992481EC2A\"", + "x-ms-request-id": "becd3f78-d01a-00eb-5782-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/dir156150520773302056", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/dir156599454353501657", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:47 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:47 GMT", + "date": "Fri, 16 Aug 2019 22:29:03 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:03 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C497FFC9A1\"", - "x-ms-request-id": "37126bf2-c01a-0038-7bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229924A54DF9\"", + "x-ms-request-id": "becd3f7b-d01a-00eb-5982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137dir0156150520791508035", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812dir0156599454369703258", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:47 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:03 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:03 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49817E9D7\"", - "x-ms-request-id": "37126bf5-c01a-0038-7dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229924BDE364\"", + "x-ms-request-id": "becd3f7d-d01a-00eb-5b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137dir1156150520807703343", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812dir1156599454385602663", "query": { "restype": "directory" }, @@ -69,19 +69,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:47 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:03 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:03 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49830CD85\"", - "x-ms-request-id": "37126bf8-c01a-0038-7fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229924D5DC73\"", + "x-ms-request-id": "becd3f7f-d01a-00eb-5d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137dir2156150520824005590", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812dir2156599454401203967", "query": { "restype": "directory" }, @@ -89,138 +89,138 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:48 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:03 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:04 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4984A4D94\"", - "x-ms-request-id": "37126bfa-c01a-0038-01ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229924ED8754\"", + "x-ms-request-id": "becd3f81-d01a-00eb-5f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137file0156150520840207068", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812file0156599454416807122", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:48 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:03 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:04 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C498626DCF\"", - "x-ms-request-id": "37126bfc-c01a-0038-03ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992505594C\"", + "x-ms-request-id": "becd3f83-d01a-00eb-6182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137file1156150520856502848", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812file1156599454436606843", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:48 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:04 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:04 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4987B2A62\"", - "x-ms-request-id": "37126bfe-c01a-0038-05ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992523E335\"", + "x-ms-request-id": "becd3f85-d01a-00eb-6382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137file2156150520873001518", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812file2156599454453008088", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:48 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:04 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:04 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49894352D\"", - "x-ms-request-id": "37126c00-c01a-0038-07ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299253CC6CD\"", + "x-ms-request-id": "becd3f87-d01a-00eb-6582-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/", "query": { "comp": "list", - "prefix": "pre1561505207915156150520791508137", + "prefix": "pre1565994543697156599454369706812", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre1561505207915156150520791508137pre1561505207915156150520791508137dir0156150520791508035pre1561505207915156150520791508137dir1156150520807703343pre1561505207915156150520791508137dir2156150520824005590pre1561505207915156150520791508137file01561505208402070681024pre1561505207915156150520791508137file11561505208565028481024pre1561505207915156150520791508137file21561505208730015181024", + "response": "pre1565994543697156599454369706812pre1565994543697156599454369706812dir0156599454369703258pre1565994543697156599454369706812dir1156599454385602663pre1565994543697156599454369706812dir2156599454401203967pre1565994543697156599454369706812file01565994544168071221024pre1565994543697156599454369706812file11565994544366068431024pre1565994543697156599454369706812file21565994544530080881024", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:04 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126c02-c01a-0038-09ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd3f89-d01a-00eb-6782-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137file0156150520840207068", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812file0156599454416807122", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c04-c01a-0038-0bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f8b-d01a-00eb-6982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:48 GMT", + "date": "Fri, 16 Aug 2019 22:29:04 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137file1156150520856502848", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812file1156599454436606843", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c06-c01a-0038-0dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f8d-d01a-00eb-6b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:49 GMT", + "date": "Fri, 16 Aug 2019 22:29:04 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137file2156150520873001518", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812file2156599454453008088", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c08-c01a-0038-0fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f8f-d01a-00eb-6d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:49 GMT", + "date": "Fri, 16 Aug 2019 22:29:04 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137dir0156150520791508035", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812dir0156599454369703258", "query": { "restype": "directory" }, @@ -228,16 +228,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c0a-c01a-0038-11ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f91-d01a-00eb-6f82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:49 GMT", + "date": "Fri, 16 Aug 2019 22:29:04 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137dir1156150520807703343", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812dir1156599454385602663", "query": { "restype": "directory" }, @@ -245,16 +245,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c0c-c01a-0038-13ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f93-d01a-00eb-7182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:49 GMT", + "date": "Fri, 16 Aug 2019 22:29:05 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/pre1561505207915156150520791508137dir2156150520824005590", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/pre1565994543697156599454369706812dir2156599454401203967", "query": { "restype": "directory" }, @@ -262,16 +262,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c0e-c01a-0038-15ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f95-d01a-00eb-7382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:49 GMT", + "date": "Fri, 16 Aug 2019 22:29:05 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984/dir156150520773302056", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873/dir156599454353501657", "query": { "restype": "directory" }, @@ -279,16 +279,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c10-c01a-0038-17ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f98-d01a-00eb-7582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:49 GMT", + "date": "Fri, 16 Aug 2019 22:29:05 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520758208984", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454330309873", "query": { "restype": "share" }, @@ -296,24 +296,24 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c12-c01a-0038-19ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f9a-d01a-00eb-7782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:50 GMT", + "date": "Fri, 16 Aug 2019 22:29:05 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520758208984", - "dir": "dir156150520773302056", - "undefined": "2019-06-25T23:26:47.915Z", - "pre1561505207915": "pre1561505207915156150520791508137", - "pre1561505207915156150520791508137dir0": "pre1561505207915156150520791508137dir0156150520791508035", - "pre1561505207915156150520791508137dir1": "pre1561505207915156150520791508137dir1156150520807703343", - "pre1561505207915156150520791508137dir2": "pre1561505207915156150520791508137dir2156150520824005590", - "pre1561505207915156150520791508137file0": "pre1561505207915156150520791508137file0156150520840207068", - "pre1561505207915156150520791508137file1": "pre1561505207915156150520791508137file1156150520856502848", - "pre1561505207915156150520791508137file2": "pre1561505207915156150520791508137file2156150520873001518" + "share": "share156599454330309873", + "dir": "dir156599454353501657", + "undefined": "2019-08-16T22:29:03.697Z", + "pre1565994543697": "pre1565994543697156599454369706812", + "pre1565994543697156599454369706812dir0": "pre1565994543697156599454369706812dir0156599454369703258", + "pre1565994543697156599454369706812dir1": "pre1565994543697156599454369706812dir1156599454385602663", + "pre1565994543697156599454369706812dir2": "pre1565994543697156599454369706812dir2156599454401203967", + "pre1565994543697156599454369706812file0": "pre1565994543697156599454369706812file0156599454416807122", + "pre1565994543697156599454369706812file1": "pre1565994543697156599454369706812file1156599454436606843", + "pre1565994543697156599454369706812file2": "pre1565994543697156599454369706812file2156599454453008088" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.json index eebb688f37d4..7f6412c18650 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:50 GMT", + "date": "Fri, 16 Aug 2019 22:29:05 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:06 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4998526FE\"", - "x-ms-request-id": "37126c14-c01a-0038-1bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299262512AF\"", + "x-ms-request-id": "becd3f9c-d01a-00eb-7982-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/dir156150521046809241", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/dir156599454620601354", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:50 GMT", + "date": "Fri, 16 Aug 2019 22:29:05 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:06 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4999E0D66\"", - "x-ms-request-id": "37126c18-c01a-0038-1dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299263C3B9C\"", + "x-ms-request-id": "becd3f9f-d01a-00eb-7b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538dir0156150521063701133", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850dir0156599454636100293", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:50 GMT", + "date": "Fri, 16 Aug 2019 22:29:06 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:06 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C499B78D76\"", - "x-ms-request-id": "37126c1a-c01a-0038-1fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229926539850\"", + "x-ms-request-id": "becd3fa1-d01a-00eb-7d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538dir1156150521080403476", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850dir1156599454651303074", "query": { "restype": "directory" }, @@ -69,19 +69,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:50 GMT", + "date": "Fri, 16 Aug 2019 22:29:06 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:06 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C499D0E674\"", - "x-ms-request-id": "37126c1c-c01a-0038-21ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299266B1C16\"", + "x-ms-request-id": "becd3fa5-d01a-00eb-0182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538dir2156150521096104440", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850dir2156599454666606733", "query": { "restype": "directory" }, @@ -89,161 +89,161 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:06 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:06 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C499E8B892\"", - "x-ms-request-id": "37126c1e-c01a-0038-23ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992682EE12\"", + "x-ms-request-id": "becd3fa7-d01a-00eb-0382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538file0156150521111606468", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850file0156599454682109882", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:06 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:06 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49A00D8D2\"", - "x-ms-request-id": "37126c20-c01a-0038-25ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299269B3553\"", + "x-ms-request-id": "becd3fa9-d01a-00eb-0582-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538file1156150521127904944", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850file1156599454700709229", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:51 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:06 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:07 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49A1A58E7\"", - "x-ms-request-id": "37126c22-c01a-0038-27ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229926B774E0\"", + "x-ms-request-id": "becd3fab-d01a-00eb-0782-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538file2156150521144303102", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850file2156599454716606252", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:51 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:06 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:07 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49A3203E2\"", - "x-ms-request-id": "37126c25-c01a-0038-29ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229926CED193\"", + "x-ms-request-id": "becd3fad-d01a-00eb-0982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/", "query": { "comp": "list", "maxresults": "3", - "prefix": "pre1561505210637156150521063701538", + "prefix": "pre1565994546361156599454636109850", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre15615052106371561505210637015383pre1561505210637156150521063701538dir0156150521063701133pre1561505210637156150521063701538dir1156150521080403476pre1561505210637156150521063701538dir21561505210961044401!76!cHJlMTU2MTUwNTIxMDYzNzE1NjE1MDUyMTA2MzcwMTUzOGZpbGUwMTU2MTUwNTIxMTExNjA2NDY4", + "response": "pre15659945463611565994546361098503pre1565994546361156599454636109850dir0156599454636100293pre1565994546361156599454636109850dir1156599454651303074pre1565994546361156599454636109850dir21565994546666067331!76!cHJlMTU2NTk5NDU0NjM2MTE1NjU5OTQ1NDYzNjEwOTg1MGZpbGUwMTU2NTk5NDU0NjgyMTA5ODgy", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:07 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126c27-c01a-0038-2bad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd3fb1-d01a-00eb-0b82-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/", "query": { "comp": "list", - "marker": "1!76!cHJlMTU2MTUwNTIxMDYzNzE1NjE1MDUyMTA2MzcwMTUzOGZpbGUwMTU2MTUwNTIxMTExNjA2NDY4", + "marker": "1!76!cHJlMTU2NTk5NDU0NjM2MTE1NjU5OTQ1NDYzNjEwOTg1MGZpbGUwMTU2NTk5NDU0NjgyMTA5ODgy", "maxresults": "6", - "prefix": "pre1561505210637156150521063701538", + "prefix": "pre1565994546361156599454636109850", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre15615052106371561505210637015381!76!cHJlMTU2MTUwNTIxMDYzNzE1NjE1MDUyMTA2MzcwMTUzOGZpbGUwMTU2MTUwNTIxMTExNjA2NDY46pre1561505210637156150521063701538file01561505211116064681024pre1561505210637156150521063701538file11561505211279049441024pre1561505210637156150521063701538file21561505211443031021024", + "response": "pre15659945463611565994546361098501!76!cHJlMTU2NTk5NDU0NjM2MTE1NjU5OTQ1NDYzNjEwOTg1MGZpbGUwMTU2NTk5NDU0NjgyMTA5ODgy6pre1565994546361156599454636109850file01565994546821098821024pre1565994546361156599454636109850file11565994547007092291024pre1565994546361156599454636109850file21565994547166062521024", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:08 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126c29-c01a-0038-2dad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd3fb4-d01a-00eb-0d82-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538file0156150521111606468", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850file0156599454682109882", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c2b-c01a-0038-2fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fb6-d01a-00eb-0f82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:08 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538file1156150521127904944", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850file1156599454700709229", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c2d-c01a-0038-31ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fb8-d01a-00eb-1182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:51 GMT", + "date": "Fri, 16 Aug 2019 22:29:08 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538file2156150521144303102", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850file2156599454716606252", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c2f-c01a-0038-33ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fba-d01a-00eb-1382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:52 GMT", + "date": "Fri, 16 Aug 2019 22:29:08 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538dir0156150521063701133", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850dir0156599454636100293", "query": { "restype": "directory" }, @@ -251,16 +251,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c31-c01a-0038-35ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fbc-d01a-00eb-1582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:52 GMT", + "date": "Fri, 16 Aug 2019 22:29:08 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538dir1156150521080403476", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850dir1156599454651303074", "query": { "restype": "directory" }, @@ -268,16 +268,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c33-c01a-0038-37ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fbe-d01a-00eb-1782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:52 GMT", + "date": "Fri, 16 Aug 2019 22:29:09 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/pre1561505210637156150521063701538dir2156150521096104440", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/pre1565994546361156599454636109850dir2156599454666606733", "query": { "restype": "directory" }, @@ -285,16 +285,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c38-c01a-0038-3bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fc0-d01a-00eb-1982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:52 GMT", + "date": "Fri, 16 Aug 2019 22:29:09 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970/dir156150521046809241", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826/dir156599454620601354", "query": { "restype": "directory" }, @@ -302,16 +302,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c3a-c01a-0038-3dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fc2-d01a-00eb-1b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:52 GMT", + "date": "Fri, 16 Aug 2019 22:29:09 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521031109970", + "url": "https://fakestorageaccount.file.core.windows.net/share156599454605606826", "query": { "restype": "share" }, @@ -319,24 +319,24 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c3d-c01a-0038-3fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fc4-d01a-00eb-1d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:52 GMT", + "date": "Fri, 16 Aug 2019 22:29:09 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150521031109970", - "dir": "dir156150521046809241", - "undefined": "2019-06-25T23:26:50.637Z", - "pre1561505210637": "pre1561505210637156150521063701538", - "pre1561505210637156150521063701538dir0": "pre1561505210637156150521063701538dir0156150521063701133", - "pre1561505210637156150521063701538dir1": "pre1561505210637156150521063701538dir1156150521080403476", - "pre1561505210637156150521063701538dir2": "pre1561505210637156150521063701538dir2156150521096104440", - "pre1561505210637156150521063701538file0": "pre1561505210637156150521063701538file0156150521111606468", - "pre1561505210637156150521063701538file1": "pre1561505210637156150521063701538file1156150521127904944", - "pre1561505210637156150521063701538file2": "pre1561505210637156150521063701538file2156150521144303102" + "share": "share156599454605606826", + "dir": "dir156599454620601354", + "undefined": "2019-08-16T22:29:06.361Z", + "pre1565994546361": "pre1565994546361156599454636109850", + "pre1565994546361156599454636109850dir0": "pre1565994546361156599454636109850dir0156599454636100293", + "pre1565994546361156599454636109850dir1": "pre1565994546361156599454636109850dir1156599454651303074", + "pre1565994546361156599454636109850dir2": "pre1565994546361156599454636109850dir2156599454666606733", + "pre1565994546361156599454636109850file0": "pre1565994546361156599454636109850file0156599454682109882", + "pre1565994546361156599454636109850file1": "pre1565994546361156599454636109850file1156599454700709229", + "pre1565994546361156599454636109850file2": "pre1565994546361156599454636109850file2156599454716606252" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listhandles_should_work.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listhandles_should_work.json new file mode 100644 index 000000000000..098ebfbec04b --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_listhandles_should_work.json @@ -0,0 +1,99 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456406703186", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:23 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:24 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7229930E1C024\"", + "x-ms-request-id": "becd4097-d01a-00eb-5b82-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456406703186/dir156599456422102256", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:23 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:24 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7229930F980BB\"", + "x-ms-request-id": "becd409a-d01a-00eb-5d82-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "GET", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456406703186/dir156599456422102256", + "query": { + "comp": "listhandles" + }, + "requestBody": null, + "status": 200, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:24 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "transfer-encoding": "chunked", + "content-type": "application/xml", + "x-ms-request-id": "becd409c-d01a-00eb-5f82-54846d000000", + "x-ms-version": "2018-11-09" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456406703186/dir156599456422102256", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd409e-d01a-00eb-6182-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:24 GMT", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456406703186", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd40a0-d01a-00eb-6382-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:24 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599456406703186", + "dir": "dir156599456422102256" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_setmetadata.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_setmetadata.json index ba99d42e206e..6f18a8c5c50f 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_setmetadata.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_setmetadata.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520321603694", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453940600128", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:43 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:43 GMT", + "date": "Fri, 16 Aug 2019 22:28:59 GMT", + "last-modified": "Fri, 16 Aug 2019 22:28:59 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4954B2759\"", - "x-ms-request-id": "37126ba4-c01a-0038-44ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299222FA152\"", + "x-ms-request-id": "becd3f37-d01a-00eb-2181-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520321603694/dir156150520337109684", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453940600128/dir156599453956604835", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:43 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:43 GMT", + "date": "Fri, 16 Aug 2019 22:28:59 GMT", + "last-modified": "Fri, 16 Aug 2019 22:28:59 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49572181D\"", - "x-ms-request-id": "37126ba7-c01a-0038-46ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992248C969\"", + "x-ms-request-id": "becd3f3a-d01a-00eb-2381-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520321603694/dir156150520337109684", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453940600128/dir156599453956604835", "query": { "comp": "metadata", "restype": "directory" @@ -50,19 +50,19 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:43 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:43 GMT", + "date": "Fri, 16 Aug 2019 22:28:59 GMT", + "last-modified": "Fri, 16 Aug 2019 22:28:59 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C495ABF74C\"", - "x-ms-request-id": "37126baa-c01a-0038-49ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229922622251\"", + "x-ms-request-id": "becd3f3c-d01a-00eb-2581-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520321603694/dir156150520337109684", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453940600128/dir156599453956604835", "query": { "restype": "directory" }, @@ -71,21 +71,21 @@ "response": "", "responseHeaders": { "x-ms-meta-keya": "vala", - "date": "Tue, 25 Jun 2019 23:26:43 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:43 GMT", + "date": "Fri, 16 Aug 2019 22:28:59 GMT", + "last-modified": "Fri, 16 Aug 2019 22:28:59 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C495ABF74C\"", + "etag": "\"0x8D7229922622251\"", "x-ms-server-encrypted": "true", "x-ms-meta-keyb": "valb", - "x-ms-request-id": "37126bb8-c01a-0038-4bad-2b3bc8000000", + "x-ms-request-id": "becd3f3e-d01a-00eb-2782-54846d000000", "x-ms-meta-key0": "val0", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520321603694/dir156150520337109684", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453940600128/dir156599453956604835", "query": { "restype": "directory" }, @@ -93,16 +93,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bba-c01a-0038-4dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f40-d01a-00eb-2982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:44 GMT", + "date": "Fri, 16 Aug 2019 22:28:59 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150520321603694", + "url": "https://fakestorageaccount.file.core.windows.net/share156599453940600128", "query": { "restype": "share" }, @@ -110,16 +110,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126bbc-c01a-0038-4fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3f42-d01a-00eb-2b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:44 GMT", + "date": "Fri, 16 Aug 2019 22:28:59 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150520321603694", - "dir": "dir156150520337109684" + "share": "share156599453940600128", + "dir": "dir156599453956604835" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.json index b1b2f0d9cf2f..6aab0764ddcf 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:53 GMT", + "date": "Fri, 16 Aug 2019 22:29:09 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49B3BFF77\"", - "x-ms-request-id": "37126c3f-c01a-0038-41ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299288765F4\"", + "x-ms-request-id": "becd3fc6-d01a-00eb-1f82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/dir156150521333805101", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/dir156599455020701574", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:53 GMT", + "date": "Fri, 16 Aug 2019 22:29:09 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49B53AE03\"", - "x-ms-request-id": "37126c42-c01a-0038-43ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299289F4FF9\"", + "x-ms-request-id": "becd3fc9-d01a-00eb-2182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389dir0156150521350607005", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312dir0156599455036206255", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:53 GMT", + "date": "Fri, 16 Aug 2019 22:29:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49B6CDFDF\"", - "x-ms-request-id": "37126c45-c01a-0038-45ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229928B5E93E\"", + "x-ms-request-id": "becd3fcb-d01a-00eb-2382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389dir1156150521367706557", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312dir1156599455051209490", "query": { "restype": "directory" }, @@ -69,19 +69,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:53 GMT", + "date": "Fri, 16 Aug 2019 22:29:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49B86D531\"", - "x-ms-request-id": "37126c54-c01a-0038-54ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229928CD45F1\"", + "x-ms-request-id": "becd3fcf-d01a-00eb-2782-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389dir2156150521383500749", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312dir2156599455066409701", "query": { "restype": "directory" }, @@ -89,138 +89,138 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:53 GMT", + "date": "Fri, 16 Aug 2019 22:29:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49B9F1C8C\"", - "x-ms-request-id": "37126c56-c01a-0038-56ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229928E42D5B\"", + "x-ms-request-id": "becd3fd2-d01a-00eb-2982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389file0156150521399109338", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312file0156599455081500662", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49BB6EEA3\"", - "x-ms-request-id": "37126c58-c01a-0038-58ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229928FB62F8\"", + "x-ms-request-id": "becd3fd4-d01a-00eb-2b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389file1156150521415607245", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312file1156599455097002918", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:54 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:11 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49BCFD25A\"", - "x-ms-request-id": "37126c5a-c01a-0038-5aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299291334F0\"", + "x-ms-request-id": "becd3fd6-d01a-00eb-2d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389file2156150521431009192", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312file2156599455112307762", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:54 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:11 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49BE77D59\"", - "x-ms-request-id": "37126c5c-c01a-0038-5cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992929F547\"", + "x-ms-request-id": "becd3fd8-d01a-00eb-2f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/", "query": { "comp": "list", - "prefix": "pre1561505213506156150521350601389", + "prefix": "pre1565994550361156599455036200312", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre1561505213506156150521350601389pre1561505213506156150521350601389dir0156150521350607005pre1561505213506156150521350601389dir1156150521367706557pre1561505213506156150521350601389dir2156150521383500749pre1561505213506156150521350601389file01561505213991093381024pre1561505213506156150521350601389file11561505214156072451024pre1561505213506156150521350601389file21561505214310091921024", + "response": "pre1565994550361156599455036200312pre1565994550361156599455036200312dir0156599455036206255pre1565994550361156599455036200312dir1156599455051209490pre1565994550361156599455036200312dir2156599455066409701pre1565994550361156599455036200312file01565994550815006621024pre1565994550361156599455036200312file11565994550970029181024pre1565994550361156599455036200312file21565994551123077621024", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126c5e-c01a-0038-5ead-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd3fda-d01a-00eb-3182-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389file0156150521399109338", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312file0156599455081500662", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c60-c01a-0038-60ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fdc-d01a-00eb-3382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389file1156150521415607245", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312file1156599455097002918", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c62-c01a-0038-62ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fde-d01a-00eb-3582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389file2156150521431009192", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312file2156599455112307762", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c64-c01a-0038-64ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fe0-d01a-00eb-3782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389dir0156150521350607005", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312dir0156599455036206255", "query": { "restype": "directory" }, @@ -228,16 +228,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c66-c01a-0038-66ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fe2-d01a-00eb-3982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:54 GMT", + "date": "Fri, 16 Aug 2019 22:29:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389dir1156150521367706557", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312dir1156599455051209490", "query": { "restype": "directory" }, @@ -245,16 +245,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c68-c01a-0038-68ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fe4-d01a-00eb-3b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:55 GMT", + "date": "Fri, 16 Aug 2019 22:29:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/pre1561505213506156150521350601389dir2156150521383500749", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/pre1565994550361156599455036200312dir2156599455066409701", "query": { "restype": "directory" }, @@ -262,16 +262,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c6a-c01a-0038-6aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fe6-d01a-00eb-3d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:55 GMT", + "date": "Fri, 16 Aug 2019 22:29:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227/dir156150521333805101", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019/dir156599455020701574", "query": { "restype": "directory" }, @@ -279,16 +279,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c6d-c01a-0038-6cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fec-d01a-00eb-4182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:55 GMT", + "date": "Fri, 16 Aug 2019 22:29:11 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521318504227", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455005206019", "query": { "restype": "share" }, @@ -296,24 +296,24 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c6f-c01a-0038-6ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd3fee-d01a-00eb-4382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:55 GMT", + "date": "Fri, 16 Aug 2019 22:29:12 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150521318504227", - "dir": "dir156150521333805101", - "undefined": "2019-06-25T23:26:53.506Z", - "pre1561505213506": "pre1561505213506156150521350601389", - "pre1561505213506156150521350601389dir0": "pre1561505213506156150521350601389dir0156150521350607005", - "pre1561505213506156150521350601389dir1": "pre1561505213506156150521350601389dir1156150521367706557", - "pre1561505213506156150521350601389dir2": "pre1561505213506156150521350601389dir2156150521383500749", - "pre1561505213506156150521350601389file0": "pre1561505213506156150521350601389file0156150521399109338", - "pre1561505213506156150521350601389file1": "pre1561505213506156150521350601389file1156150521415607245", - "pre1561505213506156150521350601389file2": "pre1561505213506156150521350601389file2156150521431009192" + "share": "share156599455005206019", + "dir": "dir156599455020701574", + "undefined": "2019-08-16T22:29:10.361Z", + "pre1565994550361": "pre1565994550361156599455036200312", + "pre1565994550361156599455036200312dir0": "pre1565994550361156599455036200312dir0156599455036206255", + "pre1565994550361156599455036200312dir1": "pre1565994550361156599455036200312dir1156599455051209490", + "pre1565994550361156599455036200312dir2": "pre1565994550361156599455036200312dir2156599455066409701", + "pre1565994550361156599455036200312file0": "pre1565994550361156599455036200312file0156599455081500662", + "pre1565994550361156599455036200312file1": "pre1565994550361156599455036200312file1156599455097002918", + "pre1565994550361156599455036200312file2": "pre1565994550361156599455036200312file2156599455112307762" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.json index 76d4364d90ce..e326653db80e 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:01 GMT", + "date": "Fri, 16 Aug 2019 22:29:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A03727C7\"", - "x-ms-request-id": "37126cc3-c01a-0038-3bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992D8C5572\"", + "x-ms-request-id": "becd4041-d01a-00eb-0f82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/dir156150522169706148", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/dir156599455862800844", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:01 GMT", + "date": "Fri, 16 Aug 2019 22:29:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A04F4E0E\"", - "x-ms-request-id": "37126cc7-c01a-0038-3ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992DABB5E6\"", + "x-ms-request-id": "becd4044-d01a-00eb-1182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251dir0156150522188104492", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330dir0156599455883609165", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:01 GMT", + "date": "Fri, 16 Aug 2019 22:29:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A06AA337\"", - "x-ms-request-id": "37126cc9-c01a-0038-40ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992DC38816\"", + "x-ms-request-id": "becd4047-d01a-00eb-1382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251dir1156150522203605984", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330dir1156599455899004805", "query": { "restype": "directory" }, @@ -69,19 +69,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A082754E\"", - "x-ms-request-id": "37126cd3-c01a-0038-48ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992DDBF718\"", + "x-ms-request-id": "becd404a-d01a-00eb-1582-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251dir2156150522219108762", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330dir2156599455915406637", "query": { "restype": "directory" }, @@ -89,161 +89,161 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A09A2051\"", - "x-ms-request-id": "37126cda-c01a-0038-4fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992DF3A2A1\"", + "x-ms-request-id": "becd404c-d01a-00eb-1782-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251file0156150522234708849", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330file0156599455930602289", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A0B2197E\"", - "x-ms-request-id": "37126cdc-c01a-0038-51ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992E0AFFFB\"", + "x-ms-request-id": "becd404e-d01a-00eb-1982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251file1156150522251001230", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330file1156599455946001266", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:19 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A0CB2449\"", - "x-ms-request-id": "37126cde-c01a-0038-53ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992E22AB89\"", + "x-ms-request-id": "becd4050-d01a-00eb-1b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251file2156150522266702378", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330file2156599455961307170", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:19 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A0E2F662\"", - "x-ms-request-id": "37126ce2-c01a-0038-55ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992E3A570E\"", + "x-ms-request-id": "becd4052-d01a-00eb-1d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/", "query": { "comp": "list", "maxresults": "3", - "prefix": "pre1561505221881156150522188102251", + "prefix": "pre1565994558836156599455883607330", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre15615052218811561505221881022513pre1561505221881156150522188102251dir0156150522188104492pre1561505221881156150522188102251dir1156150522203605984pre1561505221881156150522188102251dir21561505222191087621!76!cHJlMTU2MTUwNTIyMTg4MTE1NjE1MDUyMjE4ODEwMjI1MWZpbGUwMTU2MTUwNTIyMjM0NzA4ODQ5", + "response": "pre15659945588361565994558836073303pre1565994558836156599455883607330dir0156599455883609165pre1565994558836156599455883607330dir1156599455899004805pre1565994558836156599455883607330dir21565994559154066371!76!cHJlMTU2NTk5NDU1ODgzNjE1NjU5OTQ1NTg4MzYwNzMzMGZpbGUwMTU2NTk5NDU1OTMwNjAyMjg5", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126ce8-c01a-0038-58ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4054-d01a-00eb-1f82-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/", "query": { "comp": "list", - "marker": "1!76!cHJlMTU2MTUwNTIyMTg4MTE1NjE1MDUyMjE4ODEwMjI1MWZpbGUwMTU2MTUwNTIyMjM0NzA4ODQ5", + "marker": "1!76!cHJlMTU2NTk5NDU1ODgzNjE1NjU5OTQ1NTg4MzYwNzMzMGZpbGUwMTU2NTk5NDU1OTMwNjAyMjg5", "maxresults": "6", - "prefix": "pre1561505221881156150522188102251", + "prefix": "pre1565994558836156599455883607330", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre15615052218811561505221881022511!76!cHJlMTU2MTUwNTIyMTg4MTE1NjE1MDUyMjE4ODEwMjI1MWZpbGUwMTU2MTUwNTIyMjM0NzA4ODQ56pre1561505221881156150522188102251file01561505222347088491024pre1561505221881156150522188102251file11561505222510012301024pre1561505221881156150522188102251file21561505222667023781024", + "response": "pre15659945588361565994558836073301!76!cHJlMTU2NTk5NDU1ODgzNjE1NjU5OTQ1NTg4MzYwNzMzMGZpbGUwMTU2NTk5NDU1OTMwNjAyMjg56pre1565994558836156599455883607330file01565994559306022891024pre1565994558836156599455883607330file11565994559460012661024pre1565994558836156599455883607330file21565994559613071701024", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126ceb-c01a-0038-5aad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4056-d01a-00eb-2182-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251file0156150522234708849", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330file0156599455930602289", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126ced-c01a-0038-5cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4059-d01a-00eb-2382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:02 GMT", + "date": "Fri, 16 Aug 2019 22:29:19 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251file1156150522251001230", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330file1156599455946001266", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cef-c01a-0038-5ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd405b-d01a-00eb-2582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:03 GMT", + "date": "Fri, 16 Aug 2019 22:29:19 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251file2156150522266702378", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330file2156599455961307170", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cf1-c01a-0038-60ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd405d-d01a-00eb-2782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:03 GMT", + "date": "Fri, 16 Aug 2019 22:29:20 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251dir0156150522188104492", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330dir0156599455883609165", "query": { "restype": "directory" }, @@ -251,16 +251,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cf3-c01a-0038-62ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd405f-d01a-00eb-2982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:03 GMT", + "date": "Fri, 16 Aug 2019 22:29:20 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251dir1156150522203605984", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330dir1156599455899004805", "query": { "restype": "directory" }, @@ -268,16 +268,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cf5-c01a-0038-64ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4062-d01a-00eb-2b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:03 GMT", + "date": "Fri, 16 Aug 2019 22:29:20 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/pre1561505221881156150522188102251dir2156150522219108762", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/pre1565994558836156599455883607330dir2156599455915406637", "query": { "restype": "directory" }, @@ -285,16 +285,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cf7-c01a-0038-66ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4064-d01a-00eb-2d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:04 GMT", + "date": "Fri, 16 Aug 2019 22:29:20 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288/dir156150522169706148", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044/dir156599455862800844", "query": { "restype": "directory" }, @@ -302,16 +302,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cf9-c01a-0038-68ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4066-d01a-00eb-2f82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:04 GMT", + "date": "Fri, 16 Aug 2019 22:29:20 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522154107288", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455847504044", "query": { "restype": "share" }, @@ -319,24 +319,24 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cfb-c01a-0038-6aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4068-d01a-00eb-3182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:04 GMT", + "date": "Fri, 16 Aug 2019 22:29:20 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150522154107288", - "dir": "dir156150522169706148", - "undefined": "2019-06-25T23:27:01.881Z", - "pre1561505221881": "pre1561505221881156150522188102251", - "pre1561505221881156150522188102251dir0": "pre1561505221881156150522188102251dir0156150522188104492", - "pre1561505221881156150522188102251dir1": "pre1561505221881156150522188102251dir1156150522203605984", - "pre1561505221881156150522188102251dir2": "pre1561505221881156150522188102251dir2156150522219108762", - "pre1561505221881156150522188102251file0": "pre1561505221881156150522188102251file0156150522234708849", - "pre1561505221881156150522188102251file1": "pre1561505221881156150522188102251file1156150522251001230", - "pre1561505221881156150522188102251file2": "pre1561505221881156150522188102251file2156150522266702378" + "share": "share156599455847504044", + "dir": "dir156599455862800844", + "undefined": "2019-08-16T22:29:18.836Z", + "pre1565994558836": "pre1565994558836156599455883607330", + "pre1565994558836156599455883607330dir0": "pre1565994558836156599455883607330dir0156599455883609165", + "pre1565994558836156599455883607330dir1": "pre1565994558836156599455883607330dir1156599455899004805", + "pre1565994558836156599455883607330dir2": "pre1565994558836156599455883607330dir2156599455915406637", + "pre1565994558836156599455883607330file0": "pre1565994558836156599455883607330file0156599455930602289", + "pre1565994558836156599455883607330file1": "pre1565994558836156599455883607330file1156599455946001266", + "pre1565994558836156599455883607330file2": "pre1565994558836156599455883607330file2156599455961307170" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.json index 544189625b5d..7d007a07a90f 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:58 GMT", + "date": "Fri, 16 Aug 2019 22:29:14 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49E6C9CC4\"", - "x-ms-request-id": "37126c9a-c01a-0038-14ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992BA67494\"", + "x-ms-request-id": "becd4014-d01a-00eb-6782-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/dir156150521869200517", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/dir156599455544505235", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:58 GMT", + "date": "Fri, 16 Aug 2019 22:29:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49E8473BA\"", - "x-ms-request-id": "37126c9d-c01a-0038-16ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992BC6E88F\"", + "x-ms-request-id": "becd4017-d01a-00eb-6982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055dir0156150521885906090", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996dir0156599455568106299", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:58 GMT", + "date": "Fri, 16 Aug 2019 22:29:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49E9DA5A0\"", - "x-ms-request-id": "37126c9f-c01a-0038-18ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992BE1EF6D\"", + "x-ms-request-id": "becd401a-d01a-00eb-6b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055dir1156150521902106107", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996dir1156599455583505518", "query": { "restype": "directory" }, @@ -69,19 +69,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:59 GMT", + "date": "Fri, 16 Aug 2019 22:29:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49EB68954\"", - "x-ms-request-id": "37126ca1-c01a-0038-1aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992BF99A52\"", + "x-ms-request-id": "becd401c-d01a-00eb-6d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055dir2156150521919005198", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996dir2156599455599008311", "query": { "restype": "directory" }, @@ -89,183 +89,183 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:59 GMT", + "date": "Fri, 16 Aug 2019 22:29:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49ED0A5C4\"", - "x-ms-request-id": "37126ca4-c01a-0038-1dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992C119361\"", + "x-ms-request-id": "becd401e-d01a-00eb-6f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055file0156150521935201381", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996file0156599455614608517", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:59 GMT", + "date": "Fri, 16 Aug 2019 22:29:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49EE9626A\"", - "x-ms-request-id": "37126ca6-c01a-0038-1fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992C28F011\"", + "x-ms-request-id": "becd4020-d01a-00eb-7182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055file1156150521951902424", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996file1156599455639302496", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:59 GMT", + "date": "Fri, 16 Aug 2019 22:29:16 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49F03CD09\"", - "x-ms-request-id": "37126ca8-c01a-0038-21ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992C4E8018\"", + "x-ms-request-id": "becd4022-d01a-00eb-7382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055file2156150521969708416", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996file2156599455654301767", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:59 GMT", + "date": "Fri, 16 Aug 2019 22:29:16 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49F1D9B47\"", - "x-ms-request-id": "37126caa-c01a-0038-23ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992C64F23D\"", + "x-ms-request-id": "becd4024-d01a-00eb-7582-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/", "query": { "comp": "list", "maxresults": "2", - "prefix": "pre1561505218859156150521885908055", + "prefix": "pre1565994555681156599455568109996", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre15615052188591561505218859080552pre1561505218859156150521885908055dir0156150521885906090pre1561505218859156150521885908055dir11561505219021061071!76!cHJlMTU2MTUwNTIxODg1OTE1NjE1MDUyMTg4NTkwODA1NWRpcjIxNTYxNTA1MjE5MTkwMDUxOTg-", + "response": "pre15659945556811565994555681099962pre1565994555681156599455568109996dir0156599455568106299pre1565994555681156599455568109996dir11565994555835055181!76!cHJlMTU2NTk5NDU1NTY4MTE1NjU5OTQ1NTU2ODEwOTk5NmRpcjIxNTY1OTk0NTU1OTkwMDgzMTE-", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:59 GMT", + "date": "Fri, 16 Aug 2019 22:29:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126cac-c01a-0038-25ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4026-d01a-00eb-7782-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/", "query": { "comp": "list", - "marker": "1!76!cHJlMTU2MTUwNTIxODg1OTE1NjE1MDUyMTg4NTkwODA1NWRpcjIxNTYxNTA1MjE5MTkwMDUxOTg-", + "marker": "1!76!cHJlMTU2NTk5NDU1NTY4MTE1NjU5OTQ1NTU2ODEwOTk5NmRpcjIxNTY1OTk0NTU1OTkwMDgzMTE-", "maxresults": "2", - "prefix": "pre1561505218859156150521885908055", + "prefix": "pre1565994555681156599455568109996", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre15615052188591561505218859080551!76!cHJlMTU2MTUwNTIxODg1OTE1NjE1MDUyMTg4NTkwODA1NWRpcjIxNTYxNTA1MjE5MTkwMDUxOTg-2pre1561505218859156150521885908055dir2156150521919005198pre1561505218859156150521885908055file015615052193520138110241!76!cHJlMTU2MTUwNTIxODg1OTE1NjE1MDUyMTg4NTkwODA1NWZpbGUxMTU2MTUwNTIxOTUxOTAyNDI0", + "response": "pre15659945556811565994555681099961!76!cHJlMTU2NTk5NDU1NTY4MTE1NjU5OTQ1NTU2ODEwOTk5NmRpcjIxNTY1OTk0NTU1OTkwMDgzMTE-2pre1565994555681156599455568109996dir2156599455599008311pre1565994555681156599455568109996file015659945561460851710241!76!cHJlMTU2NTk5NDU1NTY4MTE1NjU5OTQ1NTU2ODEwOTk5NmZpbGUxMTU2NTk5NDU1NjM5MzAyNDk2", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:59 GMT", + "date": "Fri, 16 Aug 2019 22:29:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126cae-c01a-0038-27ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4028-d01a-00eb-7982-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/", "query": { "comp": "list", - "marker": "1!76!cHJlMTU2MTUwNTIxODg1OTE1NjE1MDUyMTg4NTkwODA1NWZpbGUxMTU2MTUwNTIxOTUxOTAyNDI0", + "marker": "1!76!cHJlMTU2NTk5NDU1NTY4MTE1NjU5OTQ1NTU2ODEwOTk5NmZpbGUxMTU2NTk5NDU1NjM5MzAyNDk2", "maxresults": "2", - "prefix": "pre1561505218859156150521885908055", + "prefix": "pre1565994555681156599455568109996", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre15615052188591561505218859080551!76!cHJlMTU2MTUwNTIxODg1OTE1NjE1MDUyMTg4NTkwODA1NWZpbGUxMTU2MTUwNTIxOTUxOTAyNDI02pre1561505218859156150521885908055file11561505219519024241024pre1561505218859156150521885908055file21561505219697084161024", + "response": "pre15659945556811565994555681099961!76!cHJlMTU2NTk5NDU1NTY4MTE1NjU5OTQ1NTU2ODEwOTk5NmZpbGUxMTU2NTk5NDU1NjM5MzAyNDk22pre1565994555681156599455568109996file11565994556393024961024pre1565994555681156599455568109996file21565994556543017671024", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:00 GMT", + "date": "Fri, 16 Aug 2019 22:29:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126cb0-c01a-0038-29ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd402a-d01a-00eb-7b82-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055file0156150521935201381", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996file0156599455614608517", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cb2-c01a-0038-2bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd402e-d01a-00eb-7f82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:00 GMT", + "date": "Fri, 16 Aug 2019 22:29:16 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055file1156150521951902424", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996file1156599455639302496", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cb4-c01a-0038-2dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4031-d01a-00eb-0182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:00 GMT", + "date": "Fri, 16 Aug 2019 22:29:16 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055file2156150521969708416", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996file2156599455654301767", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cb7-c01a-0038-2fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4034-d01a-00eb-0382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:00 GMT", + "date": "Fri, 16 Aug 2019 22:29:17 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055dir0156150521885906090", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996dir0156599455568106299", "query": { "restype": "directory" }, @@ -273,16 +273,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cb9-c01a-0038-31ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4036-d01a-00eb-0582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:00 GMT", + "date": "Fri, 16 Aug 2019 22:29:17 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055dir1156150521902106107", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996dir1156599455583505518", "query": { "restype": "directory" }, @@ -290,16 +290,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cbb-c01a-0038-33ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4038-d01a-00eb-0782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:00 GMT", + "date": "Fri, 16 Aug 2019 22:29:17 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/pre1561505218859156150521885908055dir2156150521919005198", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/pre1565994555681156599455568109996dir2156599455599008311", "query": { "restype": "directory" }, @@ -307,16 +307,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cbd-c01a-0038-35ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd403a-d01a-00eb-0982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:00 GMT", + "date": "Fri, 16 Aug 2019 22:29:17 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288/dir156150521869200517", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870/dir156599455544505235", "query": { "restype": "directory" }, @@ -324,16 +324,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cbf-c01a-0038-37ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd403d-d01a-00eb-0b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:01 GMT", + "date": "Fri, 16 Aug 2019 22:29:17 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521853408288", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455529206870", "query": { "restype": "share" }, @@ -341,24 +341,24 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126cc1-c01a-0038-39ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd403f-d01a-00eb-0d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:01 GMT", + "date": "Fri, 16 Aug 2019 22:29:17 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150521853408288", - "dir": "dir156150521869200517", - "undefined": "2019-06-25T23:26:58.859Z", - "pre1561505218859": "pre1561505218859156150521885908055", - "pre1561505218859156150521885908055dir0": "pre1561505218859156150521885908055dir0156150521885906090", - "pre1561505218859156150521885908055dir1": "pre1561505218859156150521885908055dir1156150521902106107", - "pre1561505218859156150521885908055dir2": "pre1561505218859156150521885908055dir2156150521919005198", - "pre1561505218859156150521885908055file0": "pre1561505218859156150521885908055file0156150521935201381", - "pre1561505218859156150521885908055file1": "pre1561505218859156150521885908055file1156150521951902424", - "pre1561505218859156150521885908055file2": "pre1561505218859156150521885908055file2156150521969708416" + "share": "share156599455529206870", + "dir": "dir156599455544505235", + "undefined": "2019-08-16T22:29:15.681Z", + "pre1565994555681": "pre1565994555681156599455568109996", + "pre1565994555681156599455568109996dir0": "pre1565994555681156599455568109996dir0156599455568106299", + "pre1565994555681156599455568109996dir1": "pre1565994555681156599455568109996dir1156599455583505518", + "pre1565994555681156599455568109996dir2": "pre1565994555681156599455568109996dir2156599455599008311", + "pre1565994555681156599455568109996file0": "pre1565994555681156599455568109996file0156599455614608517", + "pre1565994555681156599455568109996file1": "pre1565994555681156599455568109996file1156599455639302496", + "pre1565994555681156599455568109996file2": "pre1565994555681156599455568109996file2156599455654301767" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.json b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.json index 81c7b5431641..d2b290d13d0f 100644 --- a/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.json +++ b/sdk/storage/storage-file/recordings/browsers/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:55 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:55 GMT", + "date": "Fri, 16 Aug 2019 22:29:12 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:12 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49CD42706\"", - "x-ms-request-id": "37126c71-c01a-0038-70ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992A11CFA1\"", + "x-ms-request-id": "becd3ff0-d01a-00eb-4582-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/dir156150521601304239", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/dir156599455279107878", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:55 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:56 GMT", + "date": "Fri, 16 Aug 2019 22:29:12 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:12 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49CEC4B94\"", - "x-ms-request-id": "37126c74-c01a-0038-72ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992A296A16\"", + "x-ms-request-id": "becd3ff3-d01a-00eb-4782-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728dir0156150521618402794", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394dir0156599455294907712", "query": { "restype": "directory" }, @@ -49,19 +49,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:56 GMT", + "date": "Fri, 16 Aug 2019 22:29:12 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49D057D7A\"", - "x-ms-request-id": "37126c77-c01a-0038-75ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992A4114F3\"", + "x-ms-request-id": "becd3ff5-d01a-00eb-4982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728dir1156150521636506798", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394dir1156599455310002732", "query": { "restype": "directory" }, @@ -69,19 +69,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:56 GMT", + "date": "Fri, 16 Aug 2019 22:29:12 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49D20F9BB\"", - "x-ms-request-id": "37126c79-c01a-0038-77ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992A57D54F\"", + "x-ms-request-id": "becd3ff7-d01a-00eb-4b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728dir2156150521652503368", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394dir2156599455325009676", "query": { "restype": "directory" }, @@ -89,138 +89,138 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:56 GMT", + "date": "Fri, 16 Aug 2019 22:29:12 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49D39DD77\"", - "x-ms-request-id": "37126c7b-c01a-0038-79ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992A6F0AEC\"", + "x-ms-request-id": "becd3ffa-d01a-00eb-4d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728file0156150521668306601", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394file0156599455341208415", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:56 GMT", + "date": "Fri, 16 Aug 2019 22:29:13 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49D518872\"", - "x-ms-request-id": "37126c7d-c01a-0038-7bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992A87C769\"", + "x-ms-request-id": "becd3ffc-d01a-00eb-4f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728file1156150521683603811", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394file1156599455356605674", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:56 GMT", + "date": "Fri, 16 Aug 2019 22:29:13 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49D6BA4E3\"", - "x-ms-request-id": "37126c7f-c01a-0038-7dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992A9F724E\"", + "x-ms-request-id": "becd3ffe-d01a-00eb-5182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728file2156150521701404491", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394file2156599455372102633", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:13 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C49D846188\"", - "x-ms-request-id": "37126c81-c01a-0038-7fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722992AB74446\"", + "x-ms-request-id": "becd4000-d01a-00eb-5382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/", "query": { "comp": "list", - "prefix": "pre1561505216184156150521618407728", + "prefix": "pre1565994552949156599455294900394", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "pre1561505216184156150521618407728pre1561505216184156150521618407728dir0156150521618402794pre1561505216184156150521618407728dir1156150521636506798pre1561505216184156150521618407728dir2156150521652503368pre1561505216184156150521618407728file01561505216683066011024pre1561505216184156150521618407728file11561505216836038111024pre1561505216184156150521618407728file21561505217014044911024", + "response": "pre1565994552949156599455294900394pre1565994552949156599455294900394dir0156599455294907712pre1565994552949156599455294900394dir1156599455310002732pre1565994552949156599455294900394dir2156599455325009676pre1565994552949156599455294900394file01565994553412084151024pre1565994552949156599455294900394file11565994553566056741024pre1565994552949156599455294900394file21565994553721026331024", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126c83-c01a-0038-01ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4002-d01a-00eb-5582-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728file0156150521668306601", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394file0156599455341208415", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c85-c01a-0038-03ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4004-d01a-00eb-5782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:13 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728file1156150521683603811", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394file1156599455356605674", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c87-c01a-0038-05ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4006-d01a-00eb-5982-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:13 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728file2156150521701404491", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394file2156599455372102633", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c89-c01a-0038-07ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4008-d01a-00eb-5b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:14 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728dir0156150521618402794", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394dir0156599455294907712", "query": { "restype": "directory" }, @@ -228,16 +228,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c8f-c01a-0038-0aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd400a-d01a-00eb-5d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:14 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728dir1156150521636506798", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394dir1156599455310002732", "query": { "restype": "directory" }, @@ -245,16 +245,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c91-c01a-0038-0cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd400c-d01a-00eb-5f82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:14 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/pre1561505216184156150521618407728dir2156150521652503368", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/pre1565994552949156599455294900394dir2156599455325009676", "query": { "restype": "directory" }, @@ -262,16 +262,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c94-c01a-0038-0ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd400e-d01a-00eb-6182-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:57 GMT", + "date": "Fri, 16 Aug 2019 22:29:14 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575/dir156150521601304239", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945/dir156599455279107878", "query": { "restype": "directory" }, @@ -279,16 +279,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c96-c01a-0038-10ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4010-d01a-00eb-6382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:58 GMT", + "date": "Fri, 16 Aug 2019 22:29:14 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150521586100575", + "url": "https://fakestorageaccount.file.core.windows.net/share156599455264000945", "query": { "restype": "share" }, @@ -296,24 +296,24 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126c98-c01a-0038-12ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4012-d01a-00eb-6582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:26:58 GMT", + "date": "Fri, 16 Aug 2019 22:29:14 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150521586100575", - "dir": "dir156150521601304239", - "undefined": "2019-06-25T23:26:56.184Z", - "pre1561505216184": "pre1561505216184156150521618407728", - "pre1561505216184156150521618407728dir0": "pre1561505216184156150521618407728dir0156150521618402794", - "pre1561505216184156150521618407728dir1": "pre1561505216184156150521618407728dir1156150521636506798", - "pre1561505216184156150521618407728dir2": "pre1561505216184156150521618407728dir2156150521652503368", - "pre1561505216184156150521618407728file0": "pre1561505216184156150521618407728file0156150521668306601", - "pre1561505216184156150521618407728file1": "pre1561505216184156150521618407728file1156150521683603811", - "pre1561505216184156150521618407728file2": "pre1561505216184156150521618407728file2156150521701404491" + "share": "share156599455264000945", + "dir": "dir156599455279107878", + "undefined": "2019-08-16T22:29:12.949Z", + "pre1565994552949": "pre1565994552949156599455294900394", + "pre1565994552949156599455294900394dir0": "pre1565994552949156599455294900394dir0156599455294907712", + "pre1565994552949156599455294900394dir1": "pre1565994552949156599455294900394dir1156599455310002732", + "pre1565994552949156599455294900394dir2": "pre1565994552949156599455294900394dir2156599455325009676", + "pre1565994552949156599455294900394file0": "pre1565994552949156599455294900394file0156599455341208415", + "pre1565994552949156599455294900394file1": "pre1565994552949156599455294900394file1156599455356605674", + "pre1565994552949156599455294900394file2": "pre1565994552949156599455294900394file2156599455372102633" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.json index 7a54d2dc056f..da1822e663d6 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523418205244", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457353601011", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:14 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:14 GMT", + "date": "Fri, 16 Aug 2019 22:29:33 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:33 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A7C00061\"", - "x-ms-request-id": "37126d87-c01a-0038-67ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299368640C0\"", + "x-ms-request-id": "becd411e-d01a-00eb-4f82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523418205244/dir156150523433803535", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457353601011/dir156599457368801901", "query": { "restype": "directory" }, @@ -29,76 +29,76 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:14 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:14 GMT", + "date": "Fri, 16 Aug 2019 22:29:33 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:33 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A7D802E6\"", - "x-ms-request-id": "37126d8b-c01a-0038-6aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299369DD79D\"", + "x-ms-request-id": "becd4121-d01a-00eb-5182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523418205244/dir156150523433803535/file156150523449807318", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457353601011/dir156599457368801901/file156599457384300858", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:14 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:14 GMT", + "date": "Fri, 16 Aug 2019 22:29:33 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:33 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A7EFFC18\"", - "x-ms-request-id": "37126d8d-c01a-0038-6cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229936B4BF1A\"", + "x-ms-request-id": "becd4123-d01a-00eb-5382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523418205244/dir156150523433803535/copiedfile156150523465908822", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457353601011/dir156599457368801901/copiedfile156599457399103862", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:17 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:17 GMT", + "date": "Fri, 16 Aug 2019 22:29:34 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:34 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A9A12F1C\"", - "x-ms-request-id": "37126d8f-c01a-0038-6ead-2b3bc8000000", - "x-ms-version": "2018-03-28", - "x-ms-copy-id": "cb949354-1a37-496a-a740-2cd1420884fa", + "etag": "\"0x8D722993715DC36\"", + "x-ms-request-id": "becd4125-d01a-00eb-5582-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-copy-id": "1bf24551-8d25-40e0-801f-6c4ff8ff6b81", "x-ms-copy-status": "success", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523418205244/dir156150523433803535/copiedfile156150523465908822", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457353601011/dir156599457368801901/copiedfile156599457399103862", "query": { "comp": "copy", - "copyid": "cb949354-1a37-496a-a740-2cd1420884fa" + "copyid": "1bf24551-8d25-40e0-801f-6c4ff8ff6b81" }, "requestBody": null, "status": 409, - "response": "NoPendingCopyOperationThere is currently no pending copy operation.\nRequestId:37126d99-c01a-0038-72ad-2b3bc8000000\nTime:2019-06-25T23:27:20.1019100Z", + "response": "NoPendingCopyOperationThere is currently no pending copy operation.\nRequestId:becd4128-d01a-00eb-5882-54846d000000\nTime:2019-08-16T22:29:35.8128709Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:19 GMT", + "date": "Fri, 16 Aug 2019 22:29:35 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "NoPendingCopyOperation", "content-type": "application/xml", - "x-ms-request-id": "37126d99-c01a-0038-72ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4128-d01a-00eb-5882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "236" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523418205244", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457353601011", "query": { "restype": "share" }, @@ -106,18 +106,18 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d9c-c01a-0038-75ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd412b-d01a-00eb-5a82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:19 GMT", + "date": "Fri, 16 Aug 2019 22:29:35 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150523418205244", - "dir": "dir156150523433803535", - "file": "file156150523449807318", - "copiedfile": "copiedfile156150523465908822" + "share": "share156599457353601011", + "dir": "dir156599457368801901", + "file": "file156599457384300858", + "copiedfile": "copiedfile156599457399103862" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_clearrange.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_clearrange.json index 6638ba10e18f..ef8c6904bce7 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_clearrange.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_clearrange.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:23 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:23 GMT", + "date": "Fri, 16 Aug 2019 22:29:38 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:39 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AD556192\"", - "x-ms-request-id": "37126dd2-c01a-0038-21ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229939F3A4D6\"", + "x-ms-request-id": "becd415f-d01a-00eb-0682-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100/dir156150524373402739", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312/dir156599457943402641", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:23 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:23 GMT", + "date": "Fri, 16 Aug 2019 22:29:39 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:39 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AD718629\"", - "x-ms-request-id": "37126de2-c01a-0038-30ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993A0A4F70\"", + "x-ms-request-id": "becd4162-d01a-00eb-0882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100/dir156150524373402739/file156150524389005557", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312/dir156599457943402641/file156599457958500401", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:23 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:23 GMT", + "date": "Fri, 16 Aug 2019 22:29:39 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:39 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AD89CD81\"", - "x-ms-request-id": "37126de4-c01a-0038-32ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993A2136F6\"", + "x-ms-request-id": "becd4164-d01a-00eb-0a82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100/dir156150524373402739/file156150524389005557", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312/dir156599457943402641/file156599457958500401", "query": { "comp": "range" }, @@ -67,20 +67,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:23 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:24 GMT", + "date": "Fri, 16 Aug 2019 22:29:39 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:39 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "ixqZU8RhEpaoJ6v4xHgE1w==", - "etag": "\"0x8D6F9C4ADA9904D\"", - "x-ms-request-id": "37126de6-c01a-0038-34ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993A38458F\"", + "x-ms-request-id": "becd4166-d01a-00eb-0c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100/dir156150524373402739/file156150524389005557", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312/dir156599457943402641/file156599457958500401", "query": { "comp": "range" }, @@ -88,20 +88,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:24 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:24 GMT", + "date": "Fri, 16 Aug 2019 22:29:39 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:39 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "9aeSTmIehMkoCpon4by39g==", - "etag": "\"0x8D6F9C4ADBB94F5\"", - "x-ms-request-id": "37126de7-c01a-0038-35ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993A44A3D9\"", + "x-ms-request-id": "becd4167-d01a-00eb-0d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100/dir156150524373402739/file156150524389005557", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312/dir156599457943402641/file156599457958500401", "query": { "comp": "range" }, @@ -109,31 +109,31 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:24 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:24 GMT", + "date": "Fri, 16 Aug 2019 22:29:39 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:39 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4ADCB7659\"", - "x-ms-request-id": "37126de8-c01a-0038-36ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993A503EAC\"", + "x-ms-request-id": "becd4168-d01a-00eb-0e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100/dir156150524373402739/file156150524389005557", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312/dir156599457943402641/file156599457958500401", "query": {}, "requestBody": null, "status": 200, "response": "H\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:24 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:24 GMT", + "date": "Fri, 16 Aug 2019 22:29:39 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:39 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4ADCB7659\"", + "etag": "\"0x8D722993A503EAC\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126dea-c01a-0038-38ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd416a-d01a-00eb-1082-54846d000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-type": "File", "content-length": "10" @@ -141,7 +141,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524355102100", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457928402312", "query": { "restype": "share" }, @@ -149,17 +149,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126dec-c01a-0038-3aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd416c-d01a-00eb-1282-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:24 GMT", + "date": "Fri, 16 Aug 2019 22:29:39 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524355102100", - "dir": "dir156150524373402739", - "file": "file156150524389005557" + "share": "share156599457928402312", + "dir": "dir156599457943402641", + "file": "file156599457958500401" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_all_parameters_set.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_all_parameters_set.json index 6aba844b39ff..19fbe74edf1b 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_all_parameters_set.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522838204445", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456752105390", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:08 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:08 GMT", + "date": "Fri, 16 Aug 2019 22:29:27 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:27 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A44B492C\"", - "x-ms-request-id": "37126d33-c01a-0038-1cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229932F1297E\"", + "x-ms-request-id": "becd40c8-d01a-00eb-0482-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522838204445/dir156150522854201821", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456752105390/dir156599456769704531", "query": { "restype": "directory" }, @@ -29,56 +29,56 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:08 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:08 GMT", + "date": "Fri, 16 Aug 2019 22:29:27 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:27 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A4640D71\"", - "x-ms-request-id": "37126d36-c01a-0038-1ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299330BCFD2\"", + "x-ms-request-id": "becd40cb-d01a-00eb-0682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522838204445/dir156150522854201821/file156150522870709689", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456752105390/dir156599456769704531/file156599456785207887", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:08 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:08 GMT", + "date": "Fri, 16 Aug 2019 22:29:27 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:27 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A47CF127\"", - "x-ms-request-id": "37126d38-c01a-0038-20ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299332353B0\"", + "x-ms-request-id": "becd40cd-d01a-00eb-0882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522838204445/dir156150522854201821/file156150522870709689", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456752105390/dir156599456769704531/file156599456785207887", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:08 GMT", + "date": "Fri, 16 Aug 2019 22:29:27 GMT", "content-encoding": "fileContentEncoding", "x-ms-server-encrypted": "true", "content-disposition": "fileContentDisposition", "x-ms-type": "File", "content-length": "512", "accept-ranges": "bytes", - "last-modified": "Tue, 25 Jun 2019 23:27:08 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:27 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A47CF127\"", + "etag": "\"0x8D72299332353B0\"", "content-language": "fileContentLanguage", - "x-ms-request-id": "37126d3a-c01a-0038-22ad-2b3bc8000000", + "x-ms-request-id": "becd40cf-d01a-00eb-0a82-54846d000000", "cache-control": "fileCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-key1": "vala", "content-type": "fileContentType", "x-ms-meta-key2": "valb" @@ -86,25 +86,25 @@ }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522838204445/dir156150522854201821/file156150522870709689", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456752105390/dir156599456769704531/file156599456785207887", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:08 GMT", + "date": "Fri, 16 Aug 2019 22:29:27 GMT", "content-encoding": "fileContentEncoding", "x-ms-server-encrypted": "true", "content-disposition": "fileContentDisposition", "x-ms-type": "File", "content-length": "512", - "last-modified": "Tue, 25 Jun 2019 23:27:08 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:27 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A47CF127\"", + "etag": "\"0x8D72299332353B0\"", "content-language": "fileContentLanguage", - "x-ms-request-id": "37126d3c-c01a-0038-24ad-2b3bc8000000", + "x-ms-request-id": "becd40d2-d01a-00eb-0c82-54846d000000", "cache-control": "fileCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-key1": "vala", "content-type": "fileContentType", "x-ms-meta-key2": "valb" @@ -112,7 +112,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522838204445", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456752105390", "query": { "restype": "share" }, @@ -120,17 +120,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d3e-c01a-0038-26ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40d4-d01a-00eb-0e82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:09 GMT", + "date": "Fri, 16 Aug 2019 22:29:27 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150522838204445", - "dir": "dir156150522854201821", - "file": "file156150522870709689" + "share": "share156599456752105390", + "dir": "dir156599456769704531", + "file": "file156599456785207887" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_default_parameters.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_default_parameters.json index 75374b0cf1ef..212de2069b7e 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_default_parameters.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_create_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522754607634", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456670503347", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:07 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:07 GMT", + "date": "Fri, 16 Aug 2019 22:29:26 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:26 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A3CB0593\"", - "x-ms-request-id": "37126d25-c01a-0038-11ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993273F392\"", + "x-ms-request-id": "becd40bc-d01a-00eb-7a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522754607634/dir156150522769803779", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456670503347/dir156599456689304113", "query": { "restype": "directory" }, @@ -29,50 +29,50 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:07 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:07 GMT", + "date": "Fri, 16 Aug 2019 22:29:26 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:26 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A3E30656\"", - "x-ms-request-id": "37126d29-c01a-0038-13ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299329180B6\"", + "x-ms-request-id": "becd40bf-d01a-00eb-7c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522754607634/dir156150522769803779/file156150522787209449", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456670503347/dir156599456689304113/file156599456704803066", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:07 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:07 GMT", + "date": "Fri, 16 Aug 2019 22:29:26 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:27 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A3FCAD6F\"", - "x-ms-request-id": "37126d2c-c01a-0038-16ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229932A7F2EE\"", + "x-ms-request-id": "becd40c1-d01a-00eb-7e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522754607634/dir156150522769803779/file156150522787209449", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456670503347/dir156599456689304113/file156599456704803066", "query": {}, "requestBody": null, "status": 200, "response": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:07 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:07 GMT", + "date": "Fri, 16 Aug 2019 22:29:26 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:27 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A3FCAD6F\"", + "etag": "\"0x8D7229932A7F2EE\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126d2f-c01a-0038-18ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40c3-d01a-00eb-8082-54846d000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-type": "File", "content-length": "11" @@ -80,7 +80,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522754607634", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456670503347", "query": { "restype": "share" }, @@ -88,17 +88,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d31-c01a-0038-1aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40c6-d01a-00eb-0282-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:08 GMT", + "date": "Fri, 16 Aug 2019 22:29:27 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150522754607634", - "dir": "dir156150522769803779", - "file": "file156150522787209449" + "share": "share156599456670503347", + "dir": "dir156599456689304113", + "file": "file156599456704803066" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_delete.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_delete.json index f055b9b4f721..cb2e7fc7f213 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_delete.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_delete.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523339106676", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457273409179", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:13 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:13 GMT", + "date": "Fri, 16 Aug 2019 22:29:32 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:32 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A7471116\"", - "x-ms-request-id": "37126d7c-c01a-0038-5dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299360C18AF\"", + "x-ms-request-id": "becd4112-d01a-00eb-4582-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523339106676/dir156150523354203057", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457273409179/dir156599457288805306", "query": { "restype": "directory" }, @@ -29,52 +29,52 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:13 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:13 GMT", + "date": "Fri, 16 Aug 2019 22:29:32 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:32 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A75DDAAE\"", - "x-ms-request-id": "37126d7f-c01a-0038-5fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993623D6DE\"", + "x-ms-request-id": "becd4115-d01a-00eb-4782-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523339106676/dir156150523354203057/file156150523372405295", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457273409179/dir156599457288805306/file156599457304205568", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:13 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:13 GMT", + "date": "Fri, 16 Aug 2019 22:29:32 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:33 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A77956EA\"", - "x-ms-request-id": "37126d81-c01a-0038-61ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299363B81C9\"", + "x-ms-request-id": "becd4117-d01a-00eb-4982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523339106676/dir156150523354203057/file156150523372405295", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457273409179/dir156599457288805306/file156599457304205568", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d83-c01a-0038-63ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd411a-d01a-00eb-4b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:13 GMT", + "date": "Fri, 16 Aug 2019 22:29:32 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523339106676", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457273409179", "query": { "restype": "share" }, @@ -82,17 +82,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d85-c01a-0038-65ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd411c-d01a-00eb-4d82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:13 GMT", + "date": "Fri, 16 Aug 2019 22:29:33 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150523339106676", - "dir": "dir156150523354203057", - "file": "file156150523372405295" + "share": "share156599457273409179", + "dir": "dir156599457288805306", + "file": "file156599457304205568" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_all_parameters_set.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_all_parameters_set.json index 2c0713e520c7..075c74de78af 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_all_parameters_set.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524692800977", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458341707493", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:26 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:27 GMT", + "date": "Fri, 16 Aug 2019 22:29:43 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:43 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AF58BA4F\"", - "x-ms-request-id": "37126e0b-c01a-0038-56ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993C69F8C6\"", + "x-ms-request-id": "becd419d-d01a-00eb-3c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524692800977/dir156150524708005677", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458341707493/dir156599458356907242", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:26 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:27 GMT", + "date": "Fri, 16 Aug 2019 22:29:43 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:43 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AF70E778\"", - "x-ms-request-id": "37126e0e-c01a-0038-58ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993C818CF9\"", + "x-ms-request-id": "becd41a0-d01a-00eb-3e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524692800977/dir156150524708005677/file156150524724809914", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458341707493/dir156599458356907242/file156599458374502665", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:27 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:27 GMT", + "date": "Fri, 16 Aug 2019 22:29:43 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:43 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AF897CF4\"", - "x-ms-request-id": "37126e10-c01a-0038-5aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993C9C6CD2\"", + "x-ms-request-id": "becd41a2-d01a-00eb-4082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524692800977/dir156150524708005677/file156150524724809914", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458341707493/dir156599458356907242/file156599458374502665", "query": { "comp": "range" }, @@ -67,34 +67,34 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:27 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:27 GMT", + "date": "Fri, 16 Aug 2019 22:29:43 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9C4AFA3241E\"", - "x-ms-request-id": "37126e12-c01a-0038-5cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993CB43ED3\"", + "x-ms-request-id": "becd41a4-d01a-00eb-4282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524692800977/dir156150524708005677/file156150524724809914", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458341707493/dir156599458356907242/file156599458374502665", "query": {}, "requestBody": null, "status": 206, "response": "H", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:27 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:27 GMT", + "date": "Fri, 16 Aug 2019 22:29:43 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AFA3241E\"", + "etag": "\"0x8D722993CB43ED3\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", "content-range": "bytes 0-0/11", - "x-ms-request-id": "37126e14-c01a-0038-5ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd41a6-d01a-00eb-4482-54846d000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-type": "File", "content-length": "1" @@ -102,7 +102,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524692800977", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458341707493", "query": { "restype": "share" }, @@ -110,17 +110,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e17-c01a-0038-60ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd41a8-d01a-00eb-4682-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:27 GMT", + "date": "Fri, 16 Aug 2019 22:29:43 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524692800977", - "dir": "dir156150524708005677", - "file": "file156150524724809914" + "share": "share156599458341707493", + "dir": "dir156599458356907242", + "file": "file156599458374502665" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_partial_content.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_partial_content.json index 8330ad0e6d10..abc7d9f62f81 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_partial_content.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_partial_content.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524795701990", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458436307064", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:27 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:28 GMT", + "date": "Fri, 16 Aug 2019 22:29:43 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AFF5B2D3\"", - "x-ms-request-id": "37126e19-c01a-0038-62ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993CFA1DF5\"", + "x-ms-request-id": "becd41aa-d01a-00eb-4882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524795701990/dir156150524811103114", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458436307064/dir156599458451402600", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:27 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:28 GMT", + "date": "Fri, 16 Aug 2019 22:29:44 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B00D6AE4\"", - "x-ms-request-id": "37126e1d-c01a-0038-64ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993D11D8DA\"", + "x-ms-request-id": "becd41ad-d01a-00eb-4a82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524795701990/dir156150524811103114/file156150524826700385", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458436307064/dir156599458451402600/file156599458469201500", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:28 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:28 GMT", + "date": "Fri, 16 Aug 2019 22:29:44 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B024EEC7\"", - "x-ms-request-id": "37126e20-c01a-0038-67ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993D2D06DA\"", + "x-ms-request-id": "becd41af-d01a-00eb-4c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524795701990/dir156150524811103114/file156150524826700385", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458436307064/dir156599458451402600/file156599458469201500", "query": { "comp": "range" }, @@ -67,34 +67,34 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:28 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:28 GMT", + "date": "Fri, 16 Aug 2019 22:29:44 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "aOEJ8PQMpyoV4FzCJ4b45g==", - "etag": "\"0x8D6F9C4B03D5D3A\"", - "x-ms-request-id": "37126e22-c01a-0038-69ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993D457538\"", + "x-ms-request-id": "becd41b1-d01a-00eb-4e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524795701990/dir156150524811103114/file156150524826700385", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458436307064/dir156599458451402600/file156599458469201500", "query": {}, "requestBody": null, "status": 206, "response": "He", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:28 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:28 GMT", + "date": "Fri, 16 Aug 2019 22:29:44 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:44 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B03D5D3A\"", + "etag": "\"0x8D722993D457538\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", "content-range": "bytes 0-1/10", - "x-ms-request-id": "37126e24-c01a-0038-6bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd41b3-d01a-00eb-5082-54846d000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-type": "File", "content-length": "2" @@ -102,7 +102,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524795701990", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458436307064", "query": { "restype": "share" }, @@ -110,17 +110,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e27-c01a-0038-6ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd41b5-d01a-00eb-5282-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:28 GMT", + "date": "Fri, 16 Aug 2019 22:29:45 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524795701990", - "dir": "dir156150524811103114", - "file": "file156150524826700385" + "share": "share156599458436307064", + "dir": "dir156599458451402600", + "file": "file156599458469201500" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_should_not_have_aborted_error_after_download_finishes.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_should_not_have_aborted_error_after_download_finishes.json new file mode 100644 index 000000000000..61fbb479ef72 --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_should_not_have_aborted_error_after_download_finishes.json @@ -0,0 +1,125 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458243407120", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:42 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:42 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993BD40636\"", + "x-ms-request-id": "becd418f-d01a-00eb-3082-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458243407120/dir156599458258804628", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:42 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:42 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993BEBC1AC\"", + "x-ms-request-id": "becd4192-d01a-00eb-3282-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458243407120/dir156599458258804628/file156599458274208603", + "query": {}, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:42 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:42 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993C0393AE\"", + "x-ms-request-id": "becd4194-d01a-00eb-3482-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458243407120/dir156599458258804628/file156599458274208603", + "query": { + "comp": "range" + }, + "requestBody": "Hello World", + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:42 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:43 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", + "etag": "\"0x8D722993C1CC582\"", + "x-ms-request-id": "becd4196-d01a-00eb-3682-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "GET", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458243407120/dir156599458258804628/file156599458274208603", + "query": {}, + "requestBody": null, + "status": 200, + "response": "Hello World", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:42 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:43 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993C1CC582\"", + "x-ms-server-encrypted": "true", + "content-type": "application/octet-stream", + "x-ms-request-id": "becd4198-d01a-00eb-3882-54846d000000", + "x-ms-version": "2018-11-09", + "accept-ranges": "bytes", + "x-ms-type": "File", + "content-length": "11" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458243407120", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd419b-d01a-00eb-3a82-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:42 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599458243407120", + "dir": "dir156599458258804628", + "file": "file156599458274208603" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_with_with_default_parameters.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_with_with_default_parameters.json index 73efac9330cd..158a71c95e26 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_with_with_default_parameters.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_download_with_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524594609066", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458150503458", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:25 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:26 GMT", + "date": "Fri, 16 Aug 2019 22:29:41 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:41 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AEC2C7EF\"", - "x-ms-request-id": "37126dfe-c01a-0038-4aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993B4652A2\"", + "x-ms-request-id": "becd417e-d01a-00eb-2282-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524594609066/dir156150524610206198", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458150503458/dir156599458165509418", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:25 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:26 GMT", + "date": "Fri, 16 Aug 2019 22:29:41 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:41 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AEDB1BF8\"", - "x-ms-request-id": "37126e01-c01a-0038-4cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993B5D4AE4\"", + "x-ms-request-id": "becd4181-d01a-00eb-2482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524594609066/dir156150524610206198/file156150524626403239", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458150503458/dir156599458165509418/file156599458180803325", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:26 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:26 GMT", + "date": "Fri, 16 Aug 2019 22:29:41 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:41 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AEF4EA3F\"", - "x-ms-request-id": "37126e03-c01a-0038-4ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993B751CE6\"", + "x-ms-request-id": "becd4183-d01a-00eb-2682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524594609066/dir156150524610206198/file156150524626403239", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458150503458/dir156599458165509418/file156599458180803325", "query": { "comp": "range" }, @@ -67,33 +67,33 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:26 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:26 GMT", + "date": "Fri, 16 Aug 2019 22:29:41 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:42 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "sQqNsWTgdUEFt6mb5y4/5Q==", - "etag": "\"0x8D6F9C4AF0E1C25\"", - "x-ms-request-id": "37126e05-c01a-0038-50ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993B8D1604\"", + "x-ms-request-id": "becd4187-d01a-00eb-2a82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524594609066/dir156150524610206198/file156150524626403239", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458150503458/dir156599458165509418/file156599458180803325", "query": {}, "requestBody": null, "status": 200, "response": "Hello World", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:26 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:26 GMT", + "date": "Fri, 16 Aug 2019 22:29:41 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:42 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AF0E1C25\"", + "etag": "\"0x8D722993B8D1604\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126e07-c01a-0038-52ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4189-d01a-00eb-2c82-54846d000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-type": "File", "content-length": "11" @@ -101,7 +101,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524594609066", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458150503458", "query": { "restype": "share" }, @@ -109,17 +109,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e09-c01a-0038-54ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd418c-d01a-00eb-2e82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:26 GMT", + "date": "Fri, 16 Aug 2019 22:29:41 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524594609066", - "dir": "dir156150524610206198", - "file": "file156150524626403239" + "share": "share156599458150503458", + "dir": "dir156599458165509418", + "file": "file156599458180803325" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_forceclosehandle_should_work.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_forceclosehandle_should_work.json new file mode 100644 index 000000000000..576be70b8237 --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_forceclosehandle_should_work.json @@ -0,0 +1,101 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458722600767", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:46 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:47 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993EAF48E2\"", + "x-ms-request-id": "becd41cf-d01a-00eb-6882-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458722600767/dir156599458737608918", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:46 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:47 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993EC63FAB\"", + "x-ms-request-id": "becd41d3-d01a-00eb-6a82-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458722600767/dir156599458737608918/file156599458752902257", + "query": {}, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:47 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:47 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993EDD7556\"", + "x-ms-request-id": "becd41d5-d01a-00eb-6c82-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "GET", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458722600767/dir156599458737608918/file156599458752902257", + "query": { + "comp": "listhandles" + }, + "requestBody": null, + "status": 200, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:47 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "transfer-encoding": "chunked", + "content-type": "application/xml", + "x-ms-request-id": "becd41d7-d01a-00eb-6e82-54846d000000", + "x-ms-version": "2018-11-09" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458722600767", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd41d9-d01a-00eb-7082-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:47 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599458722600767", + "dir": "dir156599458737608918", + "file": "file156599458752902257" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_forceclosehandlessegment_should_work.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_forceclosehandlessegment_should_work.json new file mode 100644 index 000000000000..ad3ce23e1424 --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_forceclosehandlessegment_should_work.json @@ -0,0 +1,101 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458644307872", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:46 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:46 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993E37B94E\"", + "x-ms-request-id": "becd41c3-d01a-00eb-5e82-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458644307872/dir156599458659401974", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:46 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:46 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993E4EFE60\"", + "x-ms-request-id": "becd41c6-d01a-00eb-6082-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458644307872/dir156599458659401974/file156599458676602127", + "query": {}, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:46 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:46 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993E68CC8D\"", + "x-ms-request-id": "becd41c8-d01a-00eb-6282-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458644307872/dir156599458659401974/file156599458676602127", + "query": { + "comp": "forceclosehandles" + }, + "requestBody": null, + "status": 200, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:46 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "x-ms-request-id": "becd41ca-d01a-00eb-6482-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-number-of-handles-closed": "0", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458644307872", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd41cc-d01a-00eb-6682-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:46 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599458644307872", + "dir": "dir156599458659401974", + "file": "file156599458676602127" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_getrangelist.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_getrangelist.json index 4ba4f7a8ba44..32cfb41f1e17 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_getrangelist.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_getrangelist.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:24 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:24 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:40 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AE129218\"", - "x-ms-request-id": "37126dee-c01a-0038-3cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993A986704\"", + "x-ms-request-id": "becd416e-d01a-00eb-1482-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677/dir156150524494406520", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820/dir156599458054809984", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:24 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:25 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:40 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AE2A7083\"", - "x-ms-request-id": "37126df1-c01a-0038-3ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993AB4DED9\"", + "x-ms-request-id": "becd4171-d01a-00eb-1682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677/dir156150524494406520/file156150524510300787", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820/dir156599458054809984/file156599458070602213", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:24 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:25 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:40 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AE42B7DA\"", - "x-ms-request-id": "37126df3-c01a-0038-40ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993ACCFF09\"", + "x-ms-request-id": "becd4174-d01a-00eb-1882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677/dir156150524494406520/file156150524510300787", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820/dir156599458054809984/file156599458070602213", "query": { "comp": "range" }, @@ -67,20 +67,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:25 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:25 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:40 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "ixqZU8RhEpaoJ6v4xHgE1w==", - "etag": "\"0x8D6F9C4AE5F93F4\"", - "x-ms-request-id": "37126df5-c01a-0038-42ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993AE657F1\"", + "x-ms-request-id": "becd4176-d01a-00eb-1a82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677/dir156150524494406520/file156150524510300787", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820/dir156599458054809984/file156599458070602213", "query": { "comp": "range" }, @@ -88,20 +88,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:25 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:25 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:41 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "9aeSTmIehMkoCpon4by39g==", - "etag": "\"0x8D6F9C4AE6E1583\"", - "x-ms-request-id": "37126df6-c01a-0038-43ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993AF379AA\"", + "x-ms-request-id": "becd4177-d01a-00eb-1b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677/dir156150524494406520/file156150524510300787", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820/dir156599458054809984/file156599458070602213", "query": { "comp": "range" }, @@ -109,18 +109,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:25 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:25 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:41 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AE7AC202\"", - "x-ms-request-id": "37126df7-c01a-0038-44ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993AFFD7EC\"", + "x-ms-request-id": "becd4178-d01a-00eb-1c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677/dir156150524494406520/file156150524510300787", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820/dir156599458054809984/file156599458070602213", "query": { "comp": "rangelist" }, @@ -129,19 +129,19 @@ "response": "09", "responseHeaders": { "x-ms-content-length": "10", - "date": "Tue, 25 Jun 2019 23:27:25 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:25 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:41 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AE7AC202\"", + "etag": "\"0x8D722993AFFD7EC\"", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126dfa-c01a-0038-46ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd417a-d01a-00eb-1e82-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524479100677", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458036507820", "query": { "restype": "share" }, @@ -149,17 +149,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126dfc-c01a-0038-48ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd417c-d01a-00eb-2082-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:25 GMT", + "date": "Fri, 16 Aug 2019 22:29:40 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524479100677", - "dir": "dir156150524494406520", - "file": "file156150524510300787" + "share": "share156599458036507820", + "dir": "dir156599458054809984", + "file": "file156599458070602213" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_listhandles_should_work.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_listhandles_should_work.json new file mode 100644 index 000000000000..67404beeeddb --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_listhandles_should_work.json @@ -0,0 +1,101 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458568702352", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:45 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:45 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993DC44939\"", + "x-ms-request-id": "becd41b7-d01a-00eb-5482-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458568702352/dir156599458583604548", + "query": { + "restype": "directory" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:45 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:45 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993DDB1938\"", + "x-ms-request-id": "becd41bb-d01a-00eb-5682-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458568702352/dir156599458583604548/file156599458598501561", + "query": {}, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:45 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:46 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D722993DF1D99A\"", + "x-ms-request-id": "becd41bd-d01a-00eb-5882-54846d000000", + "x-ms-version": "2018-11-09", + "x-ms-request-server-encrypted": "true", + "content-length": "0" + } + }, + { + "method": "GET", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458568702352/dir156599458583604548/file156599458598501561", + "query": { + "comp": "listhandles" + }, + "requestBody": null, + "status": 200, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:29:45 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "transfer-encoding": "chunked", + "content-type": "application/xml", + "x-ms-request-id": "becd41bf-d01a-00eb-5a82-54846d000000", + "x-ms-version": "2018-11-09" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458568702352", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd41c1-d01a-00eb-5c82-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:29:45 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599458568702352", + "dir": "dir156599458583604548", + "file": "file156599458598501561" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_resize.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_resize.json index b802349e9bc0..c52502186a34 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_resize.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_resize.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524031301866", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457602006438", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:20 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:20 GMT", + "date": "Fri, 16 Aug 2019 22:29:35 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:36 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AB671B45\"", - "x-ms-request-id": "37126d9e-c01a-0038-77ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229938020208\"", + "x-ms-request-id": "becd412d-d01a-00eb-5c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524031301866/dir156150524047505767", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457602006438/dir156599457617705565", "query": { "restype": "directory" }, @@ -29,57 +29,57 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:20 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:20 GMT", + "date": "Fri, 16 Aug 2019 22:29:35 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:36 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AB805863\"", - "x-ms-request-id": "37126da1-c01a-0038-79ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993819E662\"", + "x-ms-request-id": "becd4130-d01a-00eb-5e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524031301866/dir156150524047505767/file156150524063500575", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457602006438/dir156599457617705565/file156599457633401094", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:20 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:20 GMT", + "date": "Fri, 16 Aug 2019 22:29:35 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:36 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AB989FBA\"", - "x-ms-request-id": "37126da4-c01a-0038-7bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993832068A\"", + "x-ms-request-id": "becd4132-d01a-00eb-6082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524031301866/dir156150524047505767/file156150524063500575", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457602006438/dir156599457617705565/file156599457633401094", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:20 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:20 GMT", + "date": "Fri, 16 Aug 2019 22:29:36 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:36 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AB989FBA\"", + "etag": "\"0x8D722993832068A\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126da6-c01a-0038-7dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4134-d01a-00eb-6282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "11" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524031301866/dir156150524047505767/file156150524063500575", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457602006438/dir156599457617705565/file156599457633401094", "query": { "comp": "properties" }, @@ -87,39 +87,39 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:20 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:21 GMT", + "date": "Fri, 16 Aug 2019 22:29:36 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:36 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4ABC7F5BC\"", - "x-ms-request-id": "37126da8-c01a-0038-7fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993864B85E\"", + "x-ms-request-id": "becd4136-d01a-00eb-6482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524031301866/dir156150524047505767/file156150524063500575", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457602006438/dir156599457617705565/file156599457633401094", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:20 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:21 GMT", + "date": "Fri, 16 Aug 2019 22:29:36 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:36 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4ABC7F5BC\"", + "etag": "\"0x8D722993864B85E\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126daa-c01a-0038-01ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4138-d01a-00eb-6682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "1" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524031301866", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457602006438", "query": { "restype": "share" }, @@ -127,17 +127,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126dac-c01a-0038-03ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd413a-d01a-00eb-6882-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:21 GMT", + "date": "Fri, 16 Aug 2019 22:29:36 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524031301866", - "dir": "dir156150524047505767", - "file": "file156150524063500575" + "share": "share156599457602006438", + "dir": "dir156599457617705565", + "file": "file156599457633401094" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_all_parameters_set.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_all_parameters_set.json index 39d16ff2044a..d5f0b777cf4a 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_all_parameters_set.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_all_parameters_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523246300974", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457159403123", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:12 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:12 GMT", + "date": "Fri, 16 Aug 2019 22:29:31 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:31 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A6B95D96\"", - "x-ms-request-id": "37126d6c-c01a-0038-50ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299355D90B9\"", + "x-ms-request-id": "becd4104-d01a-00eb-3982-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523246300974/dir156150523261701619", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457159403123/dir156599457196902296", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:12 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:12 GMT", + "date": "Fri, 16 Aug 2019 22:29:31 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:32 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A6D13886\"", - "x-ms-request-id": "37126d6f-c01a-0038-52ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229935978361\"", + "x-ms-request-id": "becd4107-d01a-00eb-3b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523246300974/dir156150523261701619/file156150523277303036", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457159403123/dir156599457196902296/file156599457212300716", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:12 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:12 GMT", + "date": "Fri, 16 Aug 2019 22:29:31 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:32 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A6E89554\"", - "x-ms-request-id": "37126d72-c01a-0038-54ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229935AEE015\"", + "x-ms-request-id": "becd4109-d01a-00eb-3d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523246300974/dir156150523261701619/file156150523277303036", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457159403123/dir156599457196902296/file156599457212300716", "query": { "comp": "properties" }, @@ -67,44 +67,44 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:12 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:13 GMT", + "date": "Fri, 16 Aug 2019 22:29:31 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:32 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A700B599\"", - "x-ms-request-id": "37126d75-c01a-0038-57ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229935C6B21C\"", + "x-ms-request-id": "becd410b-d01a-00eb-3f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523246300974/dir156150523261701619/file156150523277303036", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457159403123/dir156599457196902296/file156599457212300716", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:12 GMT", + "date": "Fri, 16 Aug 2019 22:29:32 GMT", "content-encoding": "fileContentEncoding", "content-md5": "AQIDBA==", "x-ms-server-encrypted": "true", "content-disposition": "fileContentDisposition", "x-ms-type": "File", "content-length": "11", - "last-modified": "Tue, 25 Jun 2019 23:27:13 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:32 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A700B599\"", + "etag": "\"0x8D7229935C6B21C\"", "content-language": "fileContentLanguage", - "x-ms-request-id": "37126d78-c01a-0038-59ad-2b3bc8000000", + "x-ms-request-id": "becd410e-d01a-00eb-4182-54846d000000", "cache-control": "fileCacheControl", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "content-type": "fileContentType" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523246300974", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457159403123", "query": { "restype": "share" }, @@ -112,17 +112,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d7a-c01a-0038-5bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4110-d01a-00eb-4382-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:13 GMT", + "date": "Fri, 16 Aug 2019 22:29:32 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150523246300974", - "dir": "dir156150523261701619", - "file": "file156150523277303036" + "share": "share156599457159403123", + "dir": "dir156599457196902296", + "file": "file156599457212300716" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_default_parameters.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_default_parameters.json index 7c9832529aa5..248ab9de5265 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_default_parameters.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_sethttpheaders_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523149709664", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457065304014", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:11 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:11 GMT", + "date": "Fri, 16 Aug 2019 22:29:30 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:30 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A62651EB\"", - "x-ms-request-id": "37126d5f-c01a-0038-44ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229934CF1997\"", + "x-ms-request-id": "becd40f5-d01a-00eb-2d82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523149709664/dir156150523165204275", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457065304014/dir156599457081206610", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:11 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:11 GMT", + "date": "Fri, 16 Aug 2019 22:29:30 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:30 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A63DDE98\"", - "x-ms-request-id": "37126d62-c01a-0038-46ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229934E77491\"", + "x-ms-request-id": "becd40f9-d01a-00eb-2f82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523149709664/dir156150523165204275/file156150523181509023", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457065304014/dir156599457081206610/file156599457096907441", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:11 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:11 GMT", + "date": "Fri, 16 Aug 2019 22:29:30 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:31 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A6569B2F\"", - "x-ms-request-id": "37126d64-c01a-0038-48ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229934FF1F86\"", + "x-ms-request-id": "becd40fb-d01a-00eb-3182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523149709664/dir156150523165204275/file156150523181509023", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457065304014/dir156599457081206610/file156599457096907441", "query": { "comp": "properties" }, @@ -67,38 +67,38 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:11 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:12 GMT", + "date": "Fri, 16 Aug 2019 22:29:30 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:31 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A6721765\"", - "x-ms-request-id": "37126d66-c01a-0038-4aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229935198A16\"", + "x-ms-request-id": "becd40fd-d01a-00eb-3382-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523149709664/dir156150523165204275/file156150523181509023", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457065304014/dir156599457081206610/file156599457096907441", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:11 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:12 GMT", + "date": "Fri, 16 Aug 2019 22:29:30 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:31 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A6721765\"", + "etag": "\"0x8D7229935198A16\"", "x-ms-server-encrypted": "true", - "x-ms-request-id": "37126d68-c01a-0038-4cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40ff-d01a-00eb-3582-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "11" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523149709664", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457065304014", "query": { "restype": "share" }, @@ -106,17 +106,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d6a-c01a-0038-4ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4101-d01a-00eb-3782-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:12 GMT", + "date": "Fri, 16 Aug 2019 22:29:31 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150523149709664", - "dir": "dir156150523165204275", - "file": "file156150523181509023" + "share": "share156599457065304014", + "dir": "dir156599457081206610", + "file": "file156599457096907441" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_cleaning_up_metadata.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_cleaning_up_metadata.json index ff93480a03da..35cba2753b14 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_cleaning_up_metadata.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_cleaning_up_metadata.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:10 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:10 GMT", + "date": "Fri, 16 Aug 2019 22:29:29 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:29 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A56E5275\"", - "x-ms-request-id": "37126d4d-c01a-0038-34ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993417DD59\"", + "x-ms-request-id": "becd40e3-d01a-00eb-1c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744/dir156150523044509992", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874/dir156599456960906646", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:10 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:10 GMT", + "date": "Fri, 16 Aug 2019 22:29:29 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:29 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A585DEC9\"", - "x-ms-request-id": "37126d50-c01a-0038-36ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299342F9C72\"", + "x-ms-request-id": "becd40e6-d01a-00eb-1e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744/dir156150523044509992/file156150523060207171", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874/dir156599456960906646/file156599456976309673", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:10 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:10 GMT", + "date": "Fri, 16 Aug 2019 22:29:29 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:29 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A59D1483\"", - "x-ms-request-id": "37126d53-c01a-0038-38ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993446D218\"", + "x-ms-request-id": "becd40e8-d01a-00eb-2082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744/dir156150523044509992/file156150523060207171", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874/dir156599456960906646/file156599456976309673", "query": { "comp": "metadata" }, @@ -67,33 +67,33 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:10 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:10 GMT", + "date": "Fri, 16 Aug 2019 22:29:29 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:30 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A5B55BDE\"", - "x-ms-request-id": "37126d56-c01a-0038-3bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299345E2ED5\"", + "x-ms-request-id": "becd40ea-d01a-00eb-2282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744/dir156150523044509992/file156150523060207171", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874/dir156599456960906646/file156599456976309673", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:10 GMT", + "date": "Fri, 16 Aug 2019 22:29:29 GMT", "x-ms-meta-a": "a", - "last-modified": "Tue, 25 Jun 2019 23:27:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:30 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A5B55BDE\"", + "etag": "\"0x8D72299345E2ED5\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126d58-c01a-0038-3dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40ec-d01a-00eb-2482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "x-ms-meta-b": "b", "content-length": "11" @@ -101,7 +101,7 @@ }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744/dir156150523044509992/file156150523060207171", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874/dir156599456960906646/file156599456976309673", "query": { "comp": "metadata" }, @@ -109,39 +109,39 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:10 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:11 GMT", + "date": "Fri, 16 Aug 2019 22:29:29 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:30 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A5DEBD5B\"", - "x-ms-request-id": "37126d59-c01a-0038-3ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229934876914\"", + "x-ms-request-id": "becd40ed-d01a-00eb-2582-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744/dir156150523044509992/file156150523060207171", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874/dir156599456960906646/file156599456976309673", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:11 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:11 GMT", + "date": "Fri, 16 Aug 2019 22:29:29 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:30 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A5DEBD5B\"", + "etag": "\"0x8D7229934876914\"", "x-ms-server-encrypted": "false", "content-type": "application/octet-stream", - "x-ms-request-id": "37126d5b-c01a-0038-40ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40f1-d01a-00eb-2982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "11" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150523029407744", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456945601874", "query": { "restype": "share" }, @@ -149,17 +149,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d5d-c01a-0038-42ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40f3-d01a-00eb-2b82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:11 GMT", + "date": "Fri, 16 Aug 2019 22:29:30 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150523029407744", - "dir": "dir156150523044509992", - "file": "file156150523060207171" + "share": "share156599456945601874", + "dir": "dir156599456960906646", + "file": "file156599456976309673" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_new_metadata_set.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_new_metadata_set.json index 7fdfc144566f..49bfb0ec010f 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_new_metadata_set.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_setmetadata_with_new_metadata_set.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522934709224", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456846403662", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:09 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:09 GMT", + "date": "Fri, 16 Aug 2019 22:29:28 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:28 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A4DE0699\"", - "x-ms-request-id": "37126d40-c01a-0038-28ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229933806401\"", + "x-ms-request-id": "becd40d6-d01a-00eb-1082-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522934709224/dir156150522950103403", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456846403662/dir156599456868505654", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:09 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:09 GMT", + "date": "Fri, 16 Aug 2019 22:29:28 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:28 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A4F5B98B\"", - "x-ms-request-id": "37126d43-c01a-0038-2aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229933A28575\"", + "x-ms-request-id": "becd40d9-d01a-00eb-1282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522934709224/dir156150522950103403/file156150522967004636", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456846403662/dir156599456868505654/file156599456883707563", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:09 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:09 GMT", + "date": "Fri, 16 Aug 2019 22:29:28 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:28 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A50EEB76\"", - "x-ms-request-id": "37126d45-c01a-0038-2cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229933B945D6\"", + "x-ms-request-id": "becd40db-d01a-00eb-1482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522934709224/dir156150522950103403/file156150522967004636", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456846403662/dir156599456868505654/file156599456883707563", "query": { "comp": "metadata" }, @@ -67,33 +67,33 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:09 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:09 GMT", + "date": "Fri, 16 Aug 2019 22:29:28 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:29 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A52759E4\"", - "x-ms-request-id": "37126d47-c01a-0038-2ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229933D1660A\"", + "x-ms-request-id": "becd40dd-d01a-00eb-1682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522934709224/dir156150522950103403/file156150522967004636", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456846403662/dir156599456868505654/file156599456883707563", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:09 GMT", + "date": "Fri, 16 Aug 2019 22:29:28 GMT", "x-ms-meta-a": "a", - "last-modified": "Tue, 25 Jun 2019 23:27:09 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:29 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4A52759E4\"", + "etag": "\"0x8D7229933D1660A\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126d49-c01a-0038-30ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40df-d01a-00eb-1882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "x-ms-meta-b": "b", "content-length": "11" @@ -101,7 +101,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150522934709224", + "url": "https://fakestorageaccount.file.core.windows.net/share156599456846403662", "query": { "restype": "share" }, @@ -109,17 +109,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126d4b-c01a-0038-32ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd40e1-d01a-00eb-1a82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:09 GMT", + "date": "Fri, 16 Aug 2019 22:29:28 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150522934709224", - "dir": "dir156150522950103403", - "file": "file156150522967004636" + "share": "share156599456846403662", + "dir": "dir156599456868505654", + "file": "file156599456883707563" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange.json index e9f9091a2e9d..770bddd42a80 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524140701474", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457713108956", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:21 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:21 GMT", + "date": "Fri, 16 Aug 2019 22:29:36 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:37 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AC0E009E\"", - "x-ms-request-id": "37126daf-c01a-0038-05ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229938AB31D7\"", + "x-ms-request-id": "becd413c-d01a-00eb-6a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524140701474/dir156150524155800575", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457713108956/dir156599457728509177", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:21 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:21 GMT", + "date": "Fri, 16 Aug 2019 22:29:36 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:37 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AC2568FB\"", - "x-ms-request-id": "37126db2-c01a-0038-07ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229938C315E1\"", + "x-ms-request-id": "becd413f-d01a-00eb-6c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524140701474/dir156150524155800575/file156150524171205519", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457713108956/dir156599457728509177/file156599457744303862", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:21 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:21 GMT", + "date": "Fri, 16 Aug 2019 22:29:37 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:37 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AC3C9EB6\"", - "x-ms-request-id": "37126db4-c01a-0038-09ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229938DB5D23\"", + "x-ms-request-id": "becd4142-d01a-00eb-6e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524140701474/dir156150524155800575/file156150524171205519", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457713108956/dir156599457728509177/file156599457744303862", "query": { "comp": "range" }, @@ -67,20 +67,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:21 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:21 GMT", + "date": "Fri, 16 Aug 2019 22:29:37 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:37 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "ixqZU8RhEpaoJ6v4xHgE1w==", - "etag": "\"0x8D6F9C4AC55D092\"", - "x-ms-request-id": "37126db6-c01a-0038-0bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229938F3CB82\"", + "x-ms-request-id": "becd4144-d01a-00eb-7082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524140701474/dir156150524155800575/file156150524171205519", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457713108956/dir156599457728509177/file156599457744303862", "query": { "comp": "range" }, @@ -88,34 +88,34 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:21 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:22 GMT", + "date": "Fri, 16 Aug 2019 22:29:37 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:37 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "9aeSTmIehMkoCpon4by39g==", - "etag": "\"0x8D6F9C4AC63B5C0\"", - "x-ms-request-id": "37126db7-c01a-0038-0cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229939009F0D\"", + "x-ms-request-id": "becd4145-d01a-00eb-7182-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524140701474/dir156150524155800575/file156150524171205519", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457713108956/dir156599457728509177/file156599457744303862", "query": {}, "requestBody": null, "status": 206, "response": "HelloWor", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:21 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:22 GMT", + "date": "Fri, 16 Aug 2019 22:29:37 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:37 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AC63B5C0\"", + "etag": "\"0x8D7229939009F0D\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", "content-range": "bytes 0-7/10", - "x-ms-request-id": "37126db9-c01a-0038-0ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4147-d01a-00eb-7382-54846d000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-type": "File", "content-length": "8" @@ -123,7 +123,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524140701474", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457713108956", "query": { "restype": "share" }, @@ -131,17 +131,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126dbb-c01a-0038-10ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4149-d01a-00eb-7582-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:22 GMT", + "date": "Fri, 16 Aug 2019 22:29:37 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524140701474", - "dir": "dir156150524155800575", - "file": "file156150524171205519" + "share": "share156599457713108956", + "dir": "dir156599457728509177", + "file": "file156599457744303862" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange_with_conent_md5.json b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange_with_conent_md5.json index 0eecbc7ef072..66ee667cbf1e 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange_with_conent_md5.json +++ b/sdk/storage/storage-file/recordings/browsers/fileclient/recording_uploadrange_with_conent_md5.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524244705381", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457815704811", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:22 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:22 GMT", + "date": "Fri, 16 Aug 2019 22:29:37 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:38 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4ACACF54E\"", - "x-ms-request-id": "37126dbd-c01a-0038-12ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229939473FE9\"", + "x-ms-request-id": "becd414b-d01a-00eb-7782-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524244705381/dir156150524260002346", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457815704811/dir156599457830801259", "query": { "restype": "directory" }, @@ -29,37 +29,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:22 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:22 GMT", + "date": "Fri, 16 Aug 2019 22:29:37 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:38 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4ACC4ABF5\"", - "x-ms-request-id": "37126dc0-c01a-0038-14ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229939684D09\"", + "x-ms-request-id": "becd414f-d01a-00eb-7982-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524244705381/dir156150524260002346/file156150524276804011", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457815704811/dir156599457830801259/file156599457852602594", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:22 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:22 GMT", + "date": "Fri, 16 Aug 2019 22:29:38 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:38 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4ACDE7A30\"", - "x-ms-request-id": "37126dc5-c01a-0038-16ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229939806D35\"", + "x-ms-request-id": "becd4152-d01a-00eb-7b82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524244705381/dir156150524260002346/file156150524276804011", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457815704811/dir156599457830801259/file156599457852602594", "query": { "comp": "range" }, @@ -67,20 +67,20 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:22 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:23 GMT", + "date": "Fri, 16 Aug 2019 22:29:38 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:38 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "ixqZU8RhEpaoJ6v4xHgE1w==", - "etag": "\"0x8D6F9C4ACF736D1\"", - "x-ms-request-id": "37126dc7-c01a-0038-18ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299399C5EA4\"", + "x-ms-request-id": "becd4154-d01a-00eb-7d82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524244705381/dir156150524260002346/file156150524276804011", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457815704811/dir156599457830801259/file156599457852602594", "query": { "comp": "range" }, @@ -88,34 +88,34 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:22 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:23 GMT", + "date": "Fri, 16 Aug 2019 22:29:38 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:38 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "content-md5": "9aeSTmIehMkoCpon4by39g==", - "etag": "\"0x8D6F9C4AD0AC260\"", - "x-ms-request-id": "37126dc9-c01a-0038-19ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229939AA91FF\"", + "x-ms-request-id": "becd4156-d01a-00eb-7e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524244705381/dir156150524260002346/file156150524276804011", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457815704811/dir156599457830801259/file156599457852602594", "query": {}, "requestBody": null, "status": 206, "response": "HelloWor", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:23 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:23 GMT", + "date": "Fri, 16 Aug 2019 22:29:38 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:38 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4AD0AC260\"", + "etag": "\"0x8D7229939AA91FF\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", "content-range": "bytes 0-7/10", - "x-ms-request-id": "37126dcd-c01a-0038-1dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4159-d01a-00eb-8082-54846d000000", + "x-ms-version": "2018-11-09", "accept-ranges": "bytes", "x-ms-type": "File", "content-length": "8" @@ -123,7 +123,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524244705381", + "url": "https://fakestorageaccount.file.core.windows.net/share156599457815704811", "query": { "restype": "share" }, @@ -131,17 +131,17 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126dcf-c01a-0038-1fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd415b-d01a-00eb-0282-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:23 GMT", + "date": "Fri, 16 Aug 2019 22:29:38 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524244705381", - "dir": "dir156150524260002346", - "file": "file156150524276804011" + "share": "share156599457815704811", + "dir": "dir156599457830801259", + "file": "file156599457852602594" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.json index 75eec8aa8778..6e60b57f3b7d 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.json @@ -11,12 +11,12 @@ "status": 200, "response": "1.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,OPTIONS,POST,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Thu, 01 Aug 2019 07:43:20 GMT", + "date": "Fri, 16 Aug 2019 22:30:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "07ac8895-301a-002d-223c-48f951000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd426c-d01a-00eb-5282-54846d000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.json index b5a0f34124a2..2a5189103826 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.json @@ -11,12 +11,12 @@ "status": 200, "response": "1.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,OPTIONS,POST,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Thu, 01 Aug 2019 07:43:20 GMT", + "date": "Fri, 16 Aug 2019 22:30:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "07ac8897-301a-002d-243c-48f951000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd426e-d01a-00eb-5482-54846d000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_createshare_and_deleteshare.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_createshare_and_deleteshare.json index 6f83ca144227..e26d3e2dec68 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_createshare_and_deleteshare.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_createshare_and_deleteshare.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526231307134", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460104309695", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:42 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:42 GMT", + "date": "Fri, 16 Aug 2019 22:30:00 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B8841C58\"", - "x-ms-request-id": "37126eaa-c01a-0038-52ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229946EB6767\"", + "x-ms-request-id": "becd4262-d01a-00eb-4a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526231307134", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460104309695", "query": { "restype": "share" }, @@ -29,22 +29,22 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:42 GMT", + "date": "Fri, 16 Aug 2019 22:30:00 GMT", "x-ms-meta-key": "value", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:42 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B8841C58\"", - "x-ms-request-id": "37126ead-c01a-0038-54ad-2b3bc8000000", + "etag": "\"0x8D7229946EB6767\"", + "x-ms-request-id": "becd4265-d01a-00eb-4c82-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526231307134", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460104309695", "query": { "restype": "share" }, @@ -52,34 +52,34 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126eaf-c01a-0038-56ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4267-d01a-00eb-4e82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:42 GMT", + "date": "Fri, 16 Aug 2019 22:30:00 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526231307134", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460104309695", "query": { "restype": "share" }, "requestBody": null, "status": 404, - "response": "ShareNotFoundThe specified share does not exist.\nRequestId:37126eb3-c01a-0038-58ad-2b3bc8000000\nTime:2019-06-25T23:27:42.8849217Z", + "response": "ShareNotFoundThe specified share does not exist.\nRequestId:becd4269-d01a-00eb-5082-54846d000000\nTime:2019-08-16T22:30:01.5920959Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:42 GMT", + "date": "Fri, 16 Aug 2019 22:30:01 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "ShareNotFound", "content-type": "application/xml", - "x-ms-request-id": "37126eb3-c01a-0038-58ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4269-d01a-00eb-5082-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "217" } } ], "uniqueTestInfo": { - "share": "share156150526231307134" + "share": "share156599460104309695" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_getproperties.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_getproperties.json index 9d4ddbd049b9..46fa92b0d246 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_getproperties.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_getproperties.json @@ -11,12 +11,12 @@ "status": 200, "response": "1.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,OPTIONS,POST,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:35 GMT", + "date": "Fri, 16 Aug 2019 22:29:54 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e95-c01a-0038-47ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd424b-d01a-00eb-4082-54846d000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_all_parameters_configured.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_all_parameters_configured.json index 7e4427c6c7cf..039ab48fca83 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_all_parameters_configured.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_all_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524996907968x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458930600365x1", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:29 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:48 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:49 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B1289D81\"", - "x-ms-request-id": "37126e2b-c01a-0038-72ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722993FEE1D29\"", + "x-ms-request-id": "becd41e0-d01a-00eb-7682-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524996907968x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458930600365x2", "query": { "restype": "share" }, @@ -29,12 +29,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:29 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:49 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:49 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B13FAC0F\"", - "x-ms-request-id": "37126e2e-c01a-0038-74ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299400504B0\"", + "x-ms-request-id": "becd41ef-d01a-00eb-7882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -45,18 +45,18 @@ "comp": "list", "include": "metadata,snapshots", "maxresults": "1", - "prefix": "share156150524996907968" + "prefix": "share156599458930600365" }, "requestBody": null, "status": 200, - "response": "share1561505249969079681share156150524996907968x1Tue, 25 Jun 2019 23:27:30 GMT\"0x8D6F9C4B1289D81\"5120val/fakestorageaccount/share156150524996907968x2/01D52BAD8EC8F6B2/9999-12-31T23:59:59.9999999Z", + "response": "share1565994589306003651share156599458930600365x1Fri, 16 Aug 2019 22:29:49 GMT\"0x8D722993FEE1D29\"5120val/fakestorageaccount/share156599458930600365x2/01D554821D8E4719/9999-12-31T23:59:59.9999999Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:49 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e31-c01a-0038-76ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd41f2-d01a-00eb-7a82-54846d000000", + "x-ms-version": "2018-11-09" } }, { @@ -65,25 +65,25 @@ "query": { "comp": "list", "include": "metadata,snapshots", - "marker": "/fakestorageaccount/share156150524996907968x2/01D52BAD8EC8F6B2/9999-12-31T23:59:59.9999999Z", + "marker": "/fakestorageaccount/share156599458930600365x2/01D554821D8E4719/9999-12-31T23:59:59.9999999Z", "maxresults": "1", - "prefix": "share156150524996907968" + "prefix": "share156599458930600365" }, "requestBody": null, "status": 200, - "response": "share156150524996907968/fakestorageaccount/share156150524996907968x2/01D52BAD8EC8F6B2/9999-12-31T23:59:59.9999999Z1share156150524996907968x2Tue, 25 Jun 2019 23:27:30 GMT\"0x8D6F9C4B13FAC0F\"5120val", + "response": "share156599458930600365/fakestorageaccount/share156599458930600365x2/01D554821D8E4719/9999-12-31T23:59:59.9999999Z1share156599458930600365x2Fri, 16 Aug 2019 22:29:49 GMT\"0x8D72299400504B0\"5120val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:49 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e33-c01a-0038-78ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd41f4-d01a-00eb-7c82-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524996907968x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458930600365x1", "query": { "restype": "share" }, @@ -91,16 +91,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e36-c01a-0038-7aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd41f6-d01a-00eb-7e82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:49 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150524996907968x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599458930600365x2", "query": { "restype": "share" }, @@ -108,15 +108,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e38-c01a-0038-7cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd41f9-d01a-00eb-8082-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:49 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150524996907968" + "share": "share156599458930600365" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_default_parameters.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_default_parameters.json index 3b0154517f2d..1e0fd5e76442 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_default_parameters.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_listshares_with_default_parameters.json @@ -8,14 +8,14 @@ }, "requestBody": null, "status": 200, - "response": "newshare1560984825945Wed, 19 Jun 2019 22:53:46 GMT\"0x8D6F508FC8742DD\"5120newshare1560984850577Wed, 19 Jun 2019 22:54:11 GMT\"0x8D6F5090B34A1EB\"5120newshare1560984882604Wed, 19 Jun 2019 22:54:42 GMT\"0x8D6F5091E339D8C\"5120newshare1560985024272Wed, 19 Jun 2019 22:57:04 GMT\"0x8D6F50972BE3FCF\"5120newshare1560985083512Wed, 19 Jun 2019 22:58:03 GMT\"0x8D6F5099600D69D\"5120newshare1560985920531Wed, 19 Jun 2019 23:12:00 GMT\"0x8D6F50B88DA1F34\"5120share155437904169205513Thu, 04 Apr 2019 11:57:21 GMT\"0x8D6B8F4B2199E20\"5120share155437904713606627155437904748902305Thu, 04 Apr 2019 11:57:27 GMT\"0x8D6B8F4B58CCFDF\"5120share155437910337302527155437910354902667Thu, 04 Apr 2019 11:58:23 GMT\"0x8D6B8F4D6F74A7A\"5120share155437926571002685Thu, 04 Apr 2019 12:01:06 GMT\"0x8D6B8F537F0202C\"5120share155437937929506082Thu, 04 Apr 2019 12:02:59 GMT\"0x8D6B8F57B571BD7\"5120share155437938267107302155437938302300325Thu, 04 Apr 2019 12:03:03 GMT\"0x8D6B8F57D904B8D\"5120share155437943600205257155437943618000602Thu, 04 Apr 2019 12:03:56 GMT\"0x8D6B8F59D3F4E15\"5120share155442101291609110Thu, 04 Apr 2019 23:36:53 GMT\"0x8D6B9566AEEB456\"5120share155442101433204202155442101441304945Thu, 04 Apr 2019 23:36:54 GMT\"0x8D6B9566BAA4F82\"5120share155442103535004210155442103538902012Thu, 04 Apr 2019 23:37:15 GMT\"0x8D6B956782FAC3C\"5120share155442106262706581Thu, 04 Apr 2019 23:37:43 GMT\"0x8D6B95688E986F6\"5120share155442106833005342155442106849709891Thu, 04 Apr 2019 23:37:48 GMT\"0x8D6B9568BEE3C35\"5120share155442114135001795155442114169107170Thu, 04 Apr 2019 23:39:02 GMT\"0x8D6B956B7D19FDF\"5120share155442131425802394Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571E63D415\"5120share155442131479404554155442131482500092Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571EBA7ECE\"5120share155442132948207011155442132949606157Thu, 04 Apr 2019 23:42:09 GMT\"0x8D6B9572778FD3C\"5120share155442141590704833Thu, 04 Apr 2019 23:43:35 GMT\"0x8D6B9575AFB4FEB\"5120share155442142252500330155442142267403210Thu, 04 Apr 2019 23:43:44 GMT\"0x8D6B9575FD51B4D\"5120share155442146582902380155442146585008091Thu, 04 Apr 2019 23:44:26 GMT\"0x8D6B95778EE5ED3\"5120share155442149759503608Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C207165\"5120share155442149837602699Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C30A3C1\"5120share155442150064406618155442150082408752Thu, 04 Apr 2019 23:45:00 GMT\"0x8D6B9578D9B62F7\"5120share155442153362302080155442153371707518Thu, 04 Apr 2019 23:45:33 GMT\"0x8D6B957A13737FA\"5120share155443582059502859Fri, 05 Apr 2019 03:43:42 GMT\"0x8D6B978E603869D\"5120share155443582580507876155443582595606141Fri, 05 Apr 2019 03:43:46 GMT\"0x8D6B978E8A02797\"5120share155443587740305874155443587762607080Fri, 05 Apr 2019 03:44:37 GMT\"0x8D6B97906DE32FA\"5120share155443625931505797Fri, 05 Apr 2019 03:50:59 GMT\"0x8D6B979EA5A9413\"5120share155443626549008520155443626563302943Fri, 05 Apr 2019 03:51:05 GMT\"0x8D6B979EE1D492F\"5120share155443630167301526155443630221406552Fri, 05 Apr 2019 03:51:42 GMT\"0x8D6B97A03FBB01F\"5120share155443666699605171Fri, 05 Apr 2019 03:57:47 GMT\"0x8D6B97ADD56D64F\"5120share155443666955806318155443667044900386Fri, 05 Apr 2019 03:57:50 GMT\"0x8D6B97ADF6728E9\"5120share155443669150109852155443669151701289Fri, 05 Apr 2019 03:58:11 GMT\"0x8D6B97AEBF6A0A3\"5120share155443703010208112Fri, 05 Apr 2019 04:03:50 GMT\"0x8D6B97BB5C542C6\"5120share155443703394402052155443703408604381Fri, 05 Apr 2019 04:03:54 GMT\"0x8D6B97BB82502C3\"5120share155443706847604651155443706849201965Fri, 05 Apr 2019 04:04:28 GMT\"0x8D6B97BCCA7BB08\"5120share155443733735903558Fri, 05 Apr 2019 04:08:57 GMT\"0x8D6B97C6CFBA440\"5120share155443734066903960155443734103208534Fri, 05 Apr 2019 04:09:01 GMT\"0x8D6B97C6F2C6060\"5120share155443740343700662155443740361700328Fri, 05 Apr 2019 04:10:03 GMT\"0x8D6B97C947B99FC\"5120share155443773159006548Fri, 05 Apr 2019 04:15:31 GMT\"0x8D6B97D57F62125\"5120share155443773488909261155443773524802868Fri, 05 Apr 2019 04:15:35 GMT\"0x8D6B97D5A23A41F\"5120share155443778879901744155443778897809352Fri, 05 Apr 2019 04:16:29 GMT\"0x8D6B97D7A2A0A7B\"5120share155443808157506500Fri, 05 Apr 2019 04:21:21 GMT\"0x8D6B97E28928135\"5120share155443808899901355155443808934705375Fri, 05 Apr 2019 04:21:29 GMT\"0x8D6B97E2D346BD5\"5120share155443814397801049155443814428602573Fri, 05 Apr 2019 04:22:24 GMT\"0x8D6B97E4DF255CB\"5120share155449698256603251Fri, 05 Apr 2019 20:43:03 GMT\"0x8D6BA074CC4EFEB\"5120share155449699028704210155449699044401955Fri, 05 Apr 2019 20:43:10 GMT\"0x8D6BA0750F24CA3\"5120share155449706408706736155449706446200602Fri, 05 Apr 2019 20:44:24 GMT\"0x8D6BA077D1205FE\"5120share155449737116002082Fri, 05 Apr 2019 20:49:31 GMT\"0x8D6BA0833EF6AE3\"5120share155449737474209671155449737490001856Fri, 05 Apr 2019 20:49:35 GMT\"0x8D6BA0836271F09\"5120share155449745536204495155449745544000815Fri, 05 Apr 2019 20:50:55 GMT\"0x8D6BA08661AA78B\"5120share155449770584504837Fri, 05 Apr 2019 20:55:06 GMT\"0x8D6BA08FB786B15\"5120share155449770977003350155449771009507442Fri, 05 Apr 2019 20:55:10 GMT\"0x8D6BA08FDEEEF5F\"5120share155449778145802330155449778162009258Fri, 05 Apr 2019 20:56:21 GMT\"0x8D6BA0928910090\"5120share155449823062408698Fri, 05 Apr 2019 21:03:50 GMT\"0x8D6BA0A3420A3D8\"5120share155449823258504287155449823263301889Fri, 05 Apr 2019 21:03:52 GMT\"0x8D6BA0A35530D46\"5120share155449826174701410155449826176307807Fri, 05 Apr 2019 21:04:21 GMT\"0x8D6BA0A46AFDCC3\"5120share155449862981903222Fri, 05 Apr 2019 21:10:29 GMT\"0x8D6BA0B220FFB58\"5120share155449863105504658155449863111709132Fri, 05 Apr 2019 21:10:31 GMT\"0x8D6BA0B22D5EEA2\"5120share155449865700806346155449865702400197Fri, 05 Apr 2019 21:10:57 GMT\"0x8D6BA0B32485EAF\"5120share155449904692503022Fri, 05 Apr 2019 21:17:26 GMT\"0x8D6BA0C1AB0768E\"5120share155449905263404318155449905491400712Fri, 05 Apr 2019 21:17:34 GMT\"0x8D6BA0C1F74B26E\"5120share155449907669405335155449907672507508Fri, 05 Apr 2019 21:17:56 GMT\"0x8D6BA0C2C743E12\"5120share155449934243103133Fri, 05 Apr 2019 21:22:22 GMT\"0x8D6BA0CCAE43E0F\"5120share155449934701504808155449934737409902Fri, 05 Apr 2019 21:22:27 GMT\"0x8D6BA0CCDD5AAB7\"5120share155449939774006034155449939791600712Fri, 05 Apr 2019 21:23:18 GMT\"0x8D6BA0CEBF47C4B\"5120share155449972319203361Fri, 05 Apr 2019 21:28:43 GMT\"0x8D6BA0DADD62181\"5120share155449972776901031155449972812206390Fri, 05 Apr 2019 21:28:48 GMT\"0x8D6BA0DB0C68B0E\"5120share155449977789002842155449977806401651Fri, 05 Apr 2019 21:29:38 GMT\"0x8D6BA0DCE8A94B2\"5120share155449988456208354Fri, 05 Apr 2019 21:31:24 GMT\"0x8D6BA0E0E0F8C4F\"5120share155449988625608688155449988642503448Fri, 05 Apr 2019 21:31:26 GMT\"0x8D6BA0E0F159E96\"5120share155449991844601273Fri, 05 Apr 2019 21:31:58 GMT\"0x8D6BA0E2236F89F\"5120share155449991947403701155449991955701901Fri, 05 Apr 2019 21:31:59 GMT\"0x8D6BA0E22D51817\"5120share155449992104401371155449992136502093Fri, 05 Apr 2019 21:32:01 GMT\"0x8D6BA0E23F4DF66\"5120share155449998080301988155449998096605835Fri, 05 Apr 2019 21:33:01 GMT\"0x8D6BA0E477BAC64\"5120share155450013577106187Fri, 05 Apr 2019 21:35:35 GMT\"0x8D6BA0EA3C13C6A\"5120share155450013975601796155450014013008238Fri, 05 Apr 2019 21:35:40 GMT\"0x8D6BA0EA65AC2B0\"5120share155450018809207165155450018826600270Fri, 05 Apr 2019 21:36:28 GMT\"0x8D6BA0EC30B1548\"5120share155450023420002019Fri, 05 Apr 2019 21:37:14 GMT\"0x8D6BA0EDE57C125\"5120share155450023554205992155450023557009386Fri, 05 Apr 2019 21:37:15 GMT\"0x8D6BA0EDF288B66\"5120share155450024411803045Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4426ACD\"5120share155450024474309872155450024478308841Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4A7516D\"5120share155450026152800097155450026154404952Fri, 05 Apr 2019 21:37:41 GMT\"0x8D6BA0EEEA43674\"5120share155450026844501446155450026846506463Fri, 05 Apr 2019 21:37:48 GMT\"0x8D6BA0EF2C4D0B4\"5120share155450027013702613Fri, 05 Apr 2019 21:37:50 GMT\"0x8D6BA0EF3D660E5\"5120share155450098713403512Fri, 05 Apr 2019 21:49:47 GMT\"0x8D6BA109F1FAEA3\"5120share155450098795005725155450098819302382Fri, 05 Apr 2019 21:49:48 GMT\"0x8D6BA109FC138FA\"5120share155450100624106896155450100625400488Fri, 05 Apr 2019 21:50:06 GMT\"0x8D6BA10AA84F02B\"5120share155450104772209911Fri, 05 Apr 2019 21:50:47 GMT\"0x8D6BA10C3526810\"5120share155450105123004228155450105156707366Fri, 05 Apr 2019 21:50:51 GMT\"0x8D6BA10C59D285F\"5120share155450111920803672155450111937209538Fri, 05 Apr 2019 21:51:59 GMT\"0x8D6BA10EE071888\"5120share155450126920005396Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA11474297C1\"5120share155450126969701975155450126972908925Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA1147934239\"5120share155450128467906744155450128469304502Fri, 05 Apr 2019 21:54:44 GMT\"0x8D6BA11507E4772\"5120share155450132669601793Fri, 05 Apr 2019 21:55:26 GMT\"0x8D6BA11698EF3CD\"5120share155450132813801025155450132829305884Fri, 05 Apr 2019 21:55:28 GMT\"0x8D6BA116A81B4B3\"5120share155450135791403668155450135799105427Fri, 05 Apr 2019 21:55:58 GMT\"0x8D6BA117C34CAD7\"5120share155450140200109814Fri, 05 Apr 2019 21:56:42 GMT\"0x8D6BA119683B6C7\"5120share155450140979600425155450141000009152Fri, 05 Apr 2019 21:56:50 GMT\"0x8D6BA119B353702\"5120share155450144708505456155450144717604490Fri, 05 Apr 2019 21:57:27 GMT\"0x8D6BA11B15D8FA1\"5120share155450155445805771Fri, 05 Apr 2019 21:59:14 GMT\"0x8D6BA11F14FA8C1\"5120share155450155746908588155450155762100757Fri, 05 Apr 2019 21:59:17 GMT\"0x8D6BA11F332B6AE\"5120share155450159236608444155450159244109845Fri, 05 Apr 2019 21:59:52 GMT\"0x8D6BA1207F35686\"5120share155450180090503097Fri, 05 Apr 2019 22:03:20 GMT\"0x8D6BA12842B549F\"5120share155450180155809344155450180158500047Fri, 05 Apr 2019 22:03:21 GMT\"0x8D6BA1284932271\"5120share155450181491907566155450181493202339Fri, 05 Apr 2019 22:03:34 GMT\"0x8D6BA128C8781AB\"5120share155450186007105856Fri, 05 Apr 2019 22:04:20 GMT\"0x8D6BA12A77939C1\"5120share155450186139508623155450186155309962Fri, 05 Apr 2019 22:04:21 GMT\"0x8D6BA12A85AA383\"5120share155450189649605877155450189657701803Fri, 05 Apr 2019 22:04:56 GMT\"0x8D6BA12BD3AFF63\"5120share155450194282600135Fri, 05 Apr 2019 22:05:42 GMT\"0x8D6BA12D8C2E1B6\"5120share155450195089000955155450195091608811Fri, 05 Apr 2019 22:05:50 GMT\"0x8D6BA12DD953B1C\"5120share155450196679601624155450196680606667Fri, 05 Apr 2019 22:06:06 GMT\"0x8D6BA12E70E0F9F\"5120share155450199206704489Fri, 05 Apr 2019 22:06:32 GMT\"0x8D6BA12F630E2CD\"5120share155450199500007291155450201143605621Fri, 05 Apr 2019 22:06:51 GMT\"0x8D6BA1301BC47AF\"5120share155450206036607407155450206052800826Fri, 05 Apr 2019 22:07:40 GMT\"0x8D6BA131EFE8131\"5120share155450219976309042Fri, 05 Apr 2019 22:09:59 GMT\"0x8D6BA1371F17A2C\"5120share155450220201305360155450220217304372Fri, 05 Apr 2019 22:10:02 GMT\"0x8D6BA13736168E3\"5120share155450220597709116Fri, 05 Apr 2019 22:10:05 GMT\"0x8D6BA13759CF9CA\"5120share155450220632007478155450220635204656Fri, 05 Apr 2019 22:10:06 GMT\"0x8D6BA1375D62EE2\"5120share155450222111000558155450222112507755Fri, 05 Apr 2019 22:10:21 GMT\"0x8D6BA137EA4808F\"5120share155450223061502730155450223068509469Fri, 05 Apr 2019 22:10:30 GMT\"0x8D6BA13845FAD24\"5120share155450232306601840Fri, 05 Apr 2019 22:12:03 GMT\"0x8D6BA13BB66BE04\"5120share155450232646008568155450232648907776Fri, 05 Apr 2019 22:12:06 GMT\"0x8D6BA13BD711C53\"5120share155450234251903854155450234253907944Fri, 05 Apr 2019 22:12:22 GMT\"0x8D6BA13C70245E0\"5120share155450235982000963Fri, 05 Apr 2019 22:12:39 GMT\"0x8D6BA13D1508F64\"5120share155450236052009517155450236056501193Fri, 05 Apr 2019 22:12:40 GMT\"0x8D6BA13D1C73D27\"5120share155450237944605145155450237947204493Fri, 05 Apr 2019 22:12:59 GMT\"0x8D6BA13DD070EC8\"5120share155450243317208497Fri, 05 Apr 2019 22:13:53 GMT\"0x8D6BA13FD502B84\"5120share155450243543800739155450243563307575Fri, 05 Apr 2019 22:13:55 GMT\"0x8D6BA13FE87318F\"5120share155450247858409868155450247868503121Fri, 05 Apr 2019 22:14:38 GMT\"0x8D6BA14182FE497\"5120share155450252568703791Fri, 05 Apr 2019 22:15:25 GMT\"0x8D6BA14342D96B5\"5120share155450252608008026155450252615504107Fri, 05 Apr 2019 22:15:26 GMT\"0x8D6BA143475549D\"5120share155450255144300111155450255146607728Fri, 05 Apr 2019 22:15:51 GMT\"0x8D6BA14438C0714\"5120share155450256410002156Fri, 05 Apr 2019 22:16:04 GMT\"0x8D6BA144B93A845\"5120share155450256664806570155450256683505659Fri, 05 Apr 2019 22:16:06 GMT\"0x8D6BA144CBA4AA3\"5120share155450260538802684155450260548106160Fri, 05 Apr 2019 22:16:45 GMT\"0x8D6BA1463C321E8\"5120share155450262421807558Fri, 05 Apr 2019 22:17:04 GMT\"0x8D6BA146EF12A18\"5120share155450262609800727155450262624802323Fri, 05 Apr 2019 22:17:06 GMT\"0x8D6BA14702740EF\"5120share155450265459101575155450265466908285Fri, 05 Apr 2019 22:17:34 GMT\"0x8D6BA14811678F6\"5120share155450291724204101Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151D92961C\"5120share155450291786801152155450291791509886Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151DF9B21D\"5120share155450294264200641155450294267300716Fri, 05 Apr 2019 22:22:22 GMT\"0x8D6BA152CBFB921\"5120share155450297591105990Fri, 05 Apr 2019 22:22:55 GMT\"0x8D6BA154089226D\"5120share155450297691404792155450298009709737Fri, 05 Apr 2019 22:23:00 GMT\"0x8D6BA1543093B42\"5120share155450299822209088155450299823801256Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154DD8BE67\"5120share155450299850301516Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154E0093C0\"5120share155450323607005122Fri, 05 Apr 2019 22:27:16 GMT\"0x8D6BA15DBB935B6\"5120share155450324394200105155450324411702106Fri, 05 Apr 2019 22:27:24 GMT\"0x8D6BA15E06C88BA\"5120share155450327468600876155450327477006102Fri, 05 Apr 2019 22:27:54 GMT\"0x8D6BA15F2B17D62\"5120share155450327962109277Fri, 05 Apr 2019 22:27:59 GMT\"0x8D6BA15F591850B\"5120share155450328004306783155450328010501022Fri, 05 Apr 2019 22:28:00 GMT\"0x8D6BA15F5DA9895\"5120share155450328527004557Fri, 05 Apr 2019 22:28:05 GMT\"0x8D6BA15F900F654\"5120share155450328798308238155450328830607965Fri, 05 Apr 2019 22:28:08 GMT\"0x8D6BA15FACF51C1\"5120share155450330666305766155450330667907543Fri, 05 Apr 2019 22:28:26 GMT\"0x8D6BA1605B1104A\"5120share155450330701904810Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1605E62237\"5120share155450330736308091155450330741007484Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1606202508\"5120share155450333528301673155450333529906356Fri, 05 Apr 2019 22:28:55 GMT\"0x8D6BA1616BFD401\"5120share155450333946600308155450333962608415Fri, 05 Apr 2019 22:28:59 GMT\"0x8D6BA161966152A\"5120share155450334885500645Fri, 05 Apr 2019 22:29:09 GMT\"0x8D6BA161EE70228\"5120share155450338395504678Fri, 05 Apr 2019 22:29:43 GMT\"0x8D6BA1633BE44FF\"5120share155450338426107979155450338428803666Fri, 05 Apr 2019 22:29:44 GMT\"0x8D6BA1633F11BE0\"5120share155450340161103627155450340162402163Fri, 05 Apr 2019 22:30:01 GMT\"0x8D6BA163E464D75\"5120share155450340409906407Fri, 05 Apr 2019 22:30:04 GMT\"0x8D6BA163FCE736E\"5120share155450340500808852155450340509400929Fri, 05 Apr 2019 22:30:05 GMT\"0x8D6BA16405A6FD7\"5120share155450342745506448155450342749401765Fri, 05 Apr 2019 22:30:27 GMT\"0x8D6BA164DB462BB\"5120share155450343328809346Fri, 05 Apr 2019 22:30:33 GMT\"0x8D6BA16512F2A33\"5120share155450343458400365155450343479806929Fri, 05 Apr 2019 22:30:34 GMT\"0x8D6BA165213D613\"5120share155450347314804212155450347322803647Fri, 05 Apr 2019 22:31:13 GMT\"0x8D6BA1668FC3C29\"5120share155450347423202007Fri, 05 Apr 2019 22:31:14 GMT\"0x8D6BA1669960501\"5120share155450348727102424Fri, 05 Apr 2019 22:31:27 GMT\"0x8D6BA16715BDB44\"5120share155450348869606134155450348885300828Fri, 05 Apr 2019 22:31:28 GMT\"0x8D6BA16724D7E5B\"5120share155450352004300543155450352016602032Fri, 05 Apr 2019 22:32:00 GMT\"0x8D6BA1684F78DB2\"5120share155450359307104606Fri, 05 Apr 2019 22:33:13 GMT\"0x8D6BA16B083EDD4\"5120share155450359418905974155450359428200487Fri, 05 Apr 2019 22:33:14 GMT\"0x8D6BA16B11FBCAD\"5120share155450361494402784155450361498805984Fri, 05 Apr 2019 22:33:35 GMT\"0x8D6BA16BD772803\"5120share155450366632503090Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC0E65F3\"5120share155450366664904930155450366667902768Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC44713D\"5120share155450368886501484155450368888102090Fri, 05 Apr 2019 22:34:48 GMT\"0x8D6BA16E9809F79\"5120share155450371988700286Fri, 05 Apr 2019 22:35:19 GMT\"0x8D6BA16FBFCD6F0\"5120share155450372038902619155450372043606143Fri, 05 Apr 2019 22:35:20 GMT\"0x8D6BA16FC4F6C23\"5120share155450373756402371Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA17068A2D67\"5120share155450373784606946155450373786208940Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA1706B2AFB9\"5120share155450373882702323155450373897204908Fri, 05 Apr 2019 22:35:39 GMT\"0x8D6BA170761DA0F\"5120share155450377319401477155450377328608675Fri, 05 Apr 2019 22:36:13 GMT\"0x8D6BA171BD5442B\"5120share155450380543301117Fri, 05 Apr 2019 22:36:45 GMT\"0x8D6BA172EF6D32A\"5120share155450381203303146155450381206607839Fri, 05 Apr 2019 22:36:52 GMT\"0x8D6BA1732EB1201\"5120share155450382820207817Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173C8B8687\"5120share155450382859306908155450382865503795Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173CCF5E34\"5120share155450383751906388155450383753309735Fri, 05 Apr 2019 22:37:17 GMT\"0x8D6BA1742195560\"5120share155450388094604484155450388096207678Fri, 05 Apr 2019 22:38:00 GMT\"0x8D6BA175BFEA36E\"5120share155450388146309288Fri, 05 Apr 2019 22:38:01 GMT\"0x8D6BA175C49C9D4\"5120share155450388966903186Fri, 05 Apr 2019 22:38:09 GMT\"0x8D6BA1761356323\"5120share155450389307503518155450389323404538Fri, 05 Apr 2019 22:38:13 GMT\"0x8D6BA1763551622\"5120share155450392730003095155450392737709902Fri, 05 Apr 2019 22:38:47 GMT\"0x8D6BA1777AF23EE\"5120share155450393102803449Fri, 05 Apr 2019 22:38:51 GMT\"0x8D6BA1779DAA4DC\"5120share155450393283705485155450393298705884Fri, 05 Apr 2019 22:38:53 GMT\"0x8D6BA177B059A34\"5120share155450396658903715155450396666002048Fri, 05 Apr 2019 22:39:26 GMT\"0x8D6BA178F178169\"5120share155450396756806154Fri, 05 Apr 2019 22:39:27 GMT\"0x8D6BA178FA26048\"5120share155450406886408649Fri, 05 Apr 2019 22:41:09 GMT\"0x8D6BA17CC1A3DFC\"5120share155450407117103774155450407137004037Fri, 05 Apr 2019 22:41:11 GMT\"0x8D6BA17CD80D016\"5120share155450410470804055155450410479801441Fri, 05 Apr 2019 22:41:44 GMT\"0x8D6BA17E16D32C5\"5120share155450415494202178Fri, 05 Apr 2019 22:42:37 GMT\"0x8D6BA1800D298E1\"5120share155450415924909263155450415946504098Fri, 05 Apr 2019 22:42:39 GMT\"0x8D6BA1802030A7D\"5120share155450419250702459155450419259701169Fri, 05 Apr 2019 22:43:12 GMT\"0x8D6BA1815C23F76\"5120share155450421697207185Fri, 05 Apr 2019 22:43:37 GMT\"0x8D6BA18245F95C8\"5120share155450421871302863155450421892300644Fri, 05 Apr 2019 22:43:38 GMT\"0x8D6BA182573A9E1\"5120share155450424704408868155450424714109223Fri, 05 Apr 2019 22:44:07 GMT\"0x8D6BA1836457FFD\"5120share155450429079705396Fri, 05 Apr 2019 22:44:50 GMT\"0x8D6BA185057FA7C\"5120share155450429375002929155450429411309966Fri, 05 Apr 2019 22:44:54 GMT\"0x8D6BA18525118BC\"5120share155450430952405481Fri, 05 Apr 2019 22:45:09 GMT\"0x8D6BA185B6CDFF0\"5120share155450430999405267155450431003903942Fri, 05 Apr 2019 22:45:10 GMT\"0x8D6BA185BBBE17C\"5120share155450433115607232155450433117208588Fri, 05 Apr 2019 22:45:31 GMT\"0x8D6BA1868546B89\"5120share155450434416304067155450434445204870Fri, 05 Apr 2019 22:45:44 GMT\"0x8D6BA187051F471\"5120share155450435498004763Fri, 05 Apr 2019 22:45:55 GMT\"0x8D6BA18769867C6\"5120share155450436645400783Fri, 05 Apr 2019 22:46:06 GMT\"0x8D6BA187D646C1B\"5120share155450436865205758155450436887108207Fri, 05 Apr 2019 22:46:08 GMT\"0x8D6BA187ED4DADD\"5120share155450438771003527Fri, 05 Apr 2019 22:46:27 GMT\"0x8D6BA188A1B6C6D\"5120share155450439065608204155450439101805644Fri, 05 Apr 2019 22:46:31 GMT\"0x8D6BA188C131493\"5120share155450441324900411155450441332202608Fri, 05 Apr 2019 22:46:53 GMT\"0x8D6BA189952D510\"5120share155450441426905196Fri, 05 Apr 2019 22:46:54 GMT\"0x8D6BA1899E44097\"5120share155450444831103515155450444849000200Fri, 05 Apr 2019 22:47:28 GMT\"0x8D6BA18AE539A63\"5120share155450445061400014Fri, 05 Apr 2019 22:47:30 GMT\"0x8D6BA18AF9800AC\"5120share155450448315806594Fri, 05 Apr 2019 22:48:03 GMT\"0x8D6BA18C2FF521B\"5120share155450448580004490155450448612109539Fri, 05 Apr 2019 22:48:06 GMT\"0x8D6BA18C4C36EFE\"5120share155450454454601940155450454471501740Fri, 05 Apr 2019 22:49:04 GMT\"0x8D6BA18E7B0CEFE\"5120share155450468370707802Fri, 05 Apr 2019 22:51:23 GMT\"0x8D6BA193A7DF5E2\"5120share155450468513108403155450468528409235Fri, 05 Apr 2019 22:51:25 GMT\"0x8D6BA193B6DD150\"5120share155450468968600032Fri, 05 Apr 2019 22:51:29 GMT\"0x8D6BA193E054481\"5120share155450468996404174155450468999406109Fri, 05 Apr 2019 22:51:30 GMT\"0x8D6BA193E345228\"5120share155450470368902411155450470370306610Fri, 05 Apr 2019 22:51:43 GMT\"0x8D6BA1946600ECD\"5120share155450471161309782Fri, 05 Apr 2019 22:51:51 GMT\"0x8D6BA194B1B90BF\"5120share155450471206601320155450471210308269Fri, 05 Apr 2019 22:51:52 GMT\"0x8D6BA194B67DCD5\"5120share155450471319907271155450471328002279Fri, 05 Apr 2019 22:51:53 GMT\"0x8D6BA194C1DCB30\"5120share155450472979505876155450472987303613Fri, 05 Apr 2019 22:52:09 GMT\"0x8D6BA1955FDC5A1\"5120share155450483407003850Fri, 05 Apr 2019 22:53:54 GMT\"0x8D6BA1994190850\"5120share155450483493604854155450483498301728Fri, 05 Apr 2019 22:53:55 GMT\"0x8D6BA1994A2584F\"5120share155450485496309420155450485497908228Fri, 05 Apr 2019 22:54:15 GMT\"0x8D6BA19A08CEFA6\"5120share155450531813009681Fri, 05 Apr 2019 23:01:58 GMT\"0x8D6BA1AB4AE63BA\"5120share155450532142509509155450532177704006Fri, 05 Apr 2019 23:02:01 GMT\"0x8D6BA1AB6DB1550\"5120share155450535239502974Fri, 05 Apr 2019 23:02:32 GMT\"0x8D6BA1AC9188CCD\"5120share155450535522306736155450535561706197Fri, 05 Apr 2019 23:02:35 GMT\"0x8D6BA1ACB055EAD\"5120share155450537130000843155450537147405079Fri, 05 Apr 2019 23:02:51 GMT\"0x8D6BA1AD479360B\"5120share155450540354000832155450540371804145Fri, 05 Apr 2019 23:03:23 GMT\"0x8D6BA1AE7B08608\"5120share155450541861309114Fri, 05 Apr 2019 23:03:38 GMT\"0x8D6BA1AF085E6F9\"5120share155450542032409907155450542048305915Fri, 05 Apr 2019 23:03:40 GMT\"0x8D6BA1AF1A3EC5E\"5120share155450544958400261155450544966109321Fri, 05 Apr 2019 23:04:09 GMT\"0x8D6BA1B03081BB5\"5120share155450546241607518Fri, 05 Apr 2019 23:04:22 GMT\"0x8D6BA1B0A9DC15F\"5120share155450546294707340155450546301008309Fri, 05 Apr 2019 23:04:23 GMT\"0x8D6BA1B0AF88600\"5120share155450548125804491155450548129002795Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B15DC8687\"5120share155450548156602986Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B16091161\"5120share155450550691105209Fri, 05 Apr 2019 23:05:06 GMT\"0x8D6BA1B2522F1B9\"5120share155450550746601325155450550749806532Fri, 05 Apr 2019 23:05:07 GMT\"0x8D6BA1B257C602A\"5120share155450552187904423155450552189501701Fri, 05 Apr 2019 23:05:21 GMT\"0x8D6BA1B2E1117B3\"5120share155450553054005585Fri, 05 Apr 2019 23:05:30 GMT\"0x8D6BA1B33387AAC\"5120share155450553096308284155450553101001243Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B337F7F2A\"5120share155450553153104170Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B33CF13E1\"5120share155450553201701300155450553206403152Fri, 05 Apr 2019 23:05:32 GMT\"0x8D6BA1B3420278C\"5120share155450554660908559155450554662508047Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CCF605F\"5120share155450554689206246Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CF731D6\"5120share155450555546908179155450555548509764Fri, 05 Apr 2019 23:05:55 GMT\"0x8D6BA1B4215A249\"5120share155450573320000528Fri, 05 Apr 2019 23:08:53 GMT\"0x8D6BA1BAC1B3E84\"5120share155450573517904163155450573540702174Fri, 05 Apr 2019 23:08:55 GMT\"0x8D6BA1BAD5837E3\"5120share155450574422501861Fri, 05 Apr 2019 23:09:04 GMT\"0x8D6BA1BB29B08A8\"5120share155450574551807106155450574579200577Fri, 05 Apr 2019 23:09:05 GMT\"0x8D6BA1BB38A33C5\"5120share155450576411808959155450576420803271Fri, 05 Apr 2019 23:09:24 GMT\"0x8D6BA1BBE830AEE\"5120share155450577244800226155450577267406672Fri, 05 Apr 2019 23:09:32 GMT\"0x8D6BA1BC38F8F1B\"5120share155450584788106323Fri, 05 Apr 2019 23:10:47 GMT\"0x8D6BA1BF06A7821\"5120share155450584927904712Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF13485AC\"5120share155450584968506275155450584973203495Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF17789D4\"5120share155450585107609261155450585142406722Fri, 05 Apr 2019 23:10:51 GMT\"0x8D6BA1BF2872067\"5120share155450586868608098155450586870102350Fri, 05 Apr 2019 23:11:08 GMT\"0x8D6BA1BFCC76F83\"5120share155450590008503577155450590025804885Fri, 05 Apr 2019 23:11:40 GMT\"0x8D6BA1C0FA2514F\"5120share155450590233408942Fri, 05 Apr 2019 23:11:42 GMT\"0x8D6BA1C10E023E9\"5120share155450592143404526Fri, 05 Apr 2019 23:12:01 GMT\"0x8D6BA1C1C474325\"5120share155450592653301961155450592689000603Fri, 05 Apr 2019 23:12:07 GMT\"0x8D6BA1C1F874AB1\"5120share155450596593906098Fri, 05 Apr 2019 23:12:45 GMT\"0x8D6BA1C36BDB316\"5120share155450596641000428155450596645600479Fri, 05 Apr 2019 23:12:46 GMT\"0x8D6BA1C370ADF0D\"5120share155450597916002270155450597933309927Fri, 05 Apr 2019 23:12:59 GMT\"0x8D6BA1C3EC8E461\"5120share155450598201705354155450598203300977Fri, 05 Apr 2019 23:13:02 GMT\"0x8D6BA1C405400BD\"5120share155450600493602122Fri, 05 Apr 2019 23:13:24 GMT\"0x8D6BA1C4DFBE540\"5120share155450601150408012155450601153509563Fri, 05 Apr 2019 23:13:31 GMT\"0x8D6BA1C51EAF389\"5120share155450603035801007155450603037404965Fri, 05 Apr 2019 23:13:50 GMT\"0x8D6BA1C5D249F6C\"5120share155450628196900979Fri, 05 Apr 2019 23:18:01 GMT\"0x8D6BA1CF31A8CEA\"5120share155450628263306726155450628268108838Fri, 05 Apr 2019 23:18:02 GMT\"0x8D6BA1CF387048D\"5120share155450629398602941Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA43621D\"5120share155450629440802130155450629444007820Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA892E2A\"5120share155450630270100063155450630271709505Fri, 05 Apr 2019 23:18:22 GMT\"0x8D6BA1CFF77D299\"5120share155450631207409960155450631209004406Fri, 05 Apr 2019 23:18:32 GMT\"0x8D6BA1D050C8A95\"5120share155450635009203001Fri, 05 Apr 2019 23:19:10 GMT\"0x8D6BA1D1BC98041\"5120share155450635300105814155450635335603109Fri, 05 Apr 2019 23:19:13 GMT\"0x8D6BA1D1DBC2427\"5120share155450635529806396Fri, 05 Apr 2019 23:19:15 GMT\"0x8D6BA1D1EE0C561\"5120share155450635823706105155450635860207094Fri, 05 Apr 2019 23:19:18 GMT\"0x8D6BA1D20D836D4\"5120share155450641996700561155450642014406446Fri, 05 Apr 2019 23:20:20 GMT\"0x8D6BA1D4588F30C\"5120share155450642246903885155450642264601424Fri, 05 Apr 2019 23:20:22 GMT\"0x8D6BA1D4705936B\"5120share155450655482504274Fri, 05 Apr 2019 23:22:34 GMT\"0x8D6BA1D95CF4049\"5120share155450655795506933155450655830708272Fri, 05 Apr 2019 23:22:38 GMT\"0x8D6BA1D97E19F08\"5120share155450661068301279155450661086207756Fri, 05 Apr 2019 23:23:31 GMT\"0x8D6BA1DB734F309\"5120share155450661302603264Fri, 05 Apr 2019 23:23:33 GMT\"0x8D6BA1DB87FB692\"5120share155450662614309712Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC040008B\"5120share155450662666300981155450662672509338Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC0988E75\"5120share155450664547508754155450664549004289Fri, 05 Apr 2019 23:24:05 GMT\"0x8D6BA1DCBC89EBD\"5120share155450678247303548Fri, 05 Apr 2019 23:26:22 GMT\"0x8D6BA1E1D7F6C7D\"5120share155450678466909596Fri, 05 Apr 2019 23:26:24 GMT\"0x8D6BA1E1ECF8D3D\"5120share155450678548802589155450678584406061Fri, 05 Apr 2019 23:26:25 GMT\"0x8D6BA1E1F8191F6\"5120share155450678828205994155450678864001364Fri, 05 Apr 2019 23:26:28 GMT\"0x8D6BA1E212D1FA1\"5120share155450683128203550155450683149106810Fri, 05 Apr 2019 23:27:11 GMT\"0x8D6BA1E3AB676EA\"5120share155450684533605050155450684551003357Fri, 05 Apr 2019 23:27:25 GMT\"0x8D6BA1E43129342\"5120share155450684763007449Fri, 05 Apr 2019 23:27:27 GMT\"0x8D6BA1E4455B8AC\"5120share155450699116508933Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E99D096C8\"5120share155450699158708384155450699161806955Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E9A1778EF\"5120share155450700830807334155450700833903908Fri, 05 Apr 2019 23:30:08 GMT\"0x8D6BA1EA40DEC90\"5120share155450701100108648Fri, 05 Apr 2019 23:30:11 GMT\"0x8D6BA1EA5B61863\"5120share155450701385501557155450701420104340Fri, 05 Apr 2019 23:30:14 GMT\"0x8D6BA1EA79D9AE9\"5120share155450706323900994155450706341604230Fri, 05 Apr 2019 23:31:03 GMT\"0x8D6BA1EC4F33223\"5120share155450706962505626Fri, 05 Apr 2019 23:31:09 GMT\"0x8D6BA1EC8A805D2\"5120share155450714083700706Fri, 05 Apr 2019 23:32:20 GMT\"0x8D6BA1EF318A859\"5120share155450714464606306155450714499503777Fri, 05 Apr 2019 23:32:25 GMT\"0x8D6BA1EF592DF56\"5120share155450719315807925155450719333400088Fri, 05 Apr 2019 23:33:13 GMT\"0x8D6BA1F1263018A\"5120share155450720071105598Fri, 05 Apr 2019 23:33:20 GMT\"0x8D6BA1F16B4C180\"5120share155450720108704556155450720111104202Fri, 05 Apr 2019 23:33:21 GMT\"0x8D6BA1F16F1C9A7\"5120share155450721500304986155450721501401015Fri, 05 Apr 2019 23:33:35 GMT\"0x8D6BA1F1F3B0AC4\"5120share155450723565205687Fri, 05 Apr 2019 23:33:55 GMT\"0x8D6BA1F2B915C1A\"5120share155450723699404950155450723715203892Fri, 05 Apr 2019 23:33:57 GMT\"0x8D6BA1F2C75D972\"5120share155450725970402513Fri, 05 Apr 2019 23:34:19 GMT\"0x8D6BA1F39F24B22\"5120share155450726283508715155450726290803053Fri, 05 Apr 2019 23:34:22 GMT\"0x8D6BA1F3BCFD9DC\"5120share155450726513503694155450726563200936Fri, 05 Apr 2019 23:34:25 GMT\"0x8D6BA1F3D7AC203\"5120share155450727207609930Fri, 05 Apr 2019 23:34:32 GMT\"0x8D6BA1F41534271\"5120share155450727922609714155450727958205410Fri, 05 Apr 2019 23:34:39 GMT\"0x8D6BA1F45CC16E6\"5120share155450733725309323155450733743205575Fri, 05 Apr 2019 23:35:37 GMT\"0x8D6BA1F6846EA8D\"5120share155450734617001592155450734634609388Fri, 05 Apr 2019 23:35:46 GMT\"0x8D6BA1F6D9695C7\"5120share155450734842906139Fri, 05 Apr 2019 23:35:48 GMT\"0x8D6BA1F6ED3E9EB\"5120share155450742258608562Fri, 05 Apr 2019 23:37:02 GMT\"0x8D6BA1F9B09A541\"5120share155450742569208984155450742607303636Fri, 05 Apr 2019 23:37:06 GMT\"0x8D6BA1F9D1D3464\"5120share155450744472700868Fri, 05 Apr 2019 23:37:24 GMT\"0x8D6BA1FA82F5670\"5120share155450744593006925155450744607706074Fri, 05 Apr 2019 23:37:26 GMT\"0x8D6BA1FA8FC7868\"5120share155450747510800614155450747527906197Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA713357\"5120share155450747548302917Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA7F4359\"5120share155450747575808787155450747579202058Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBAAE83B9\"5120share155450747736603095Fri, 05 Apr 2019 23:37:57 GMT\"0x8D6BA1FBBAF6736\"5120share155450748251605008155450748258604151Fri, 05 Apr 2019 23:38:02 GMT\"0x8D6BA1FBEBF5C9B\"5120share155450749504400705155450749505903928Fri, 05 Apr 2019 23:38:15 GMT\"0x8D6BA1FC62A2BA2\"5120share155450760451008357Fri, 05 Apr 2019 23:40:04 GMT\"0x8D6BA2007A48FAD\"5120share155450760659201465155450760677709688Fri, 05 Apr 2019 23:40:06 GMT\"0x8D6BA2008C3F78F\"5120share155450763616301901155450763625402397Fri, 05 Apr 2019 23:40:36 GMT\"0x8D6BA201A5587BA\"5120share155450767398804735Fri, 05 Apr 2019 23:41:14 GMT\"0x8D6BA2030E0F998\"5120share155450767687501371155450767723001004Fri, 05 Apr 2019 23:41:17 GMT\"0x8D6BA2032CF2C21\"5120share155450768181709200Fri, 05 Apr 2019 23:41:21 GMT\"0x8D6BA203578C02D\"5120share155450768212709613155450768216705364Fri, 05 Apr 2019 23:41:22 GMT\"0x8D6BA2035AE5139\"5120share155450769705407367155450769707502753Fri, 05 Apr 2019 23:41:37 GMT\"0x8D6BA203E92115E\"5120share155450772138102188155450772155202852Fri, 05 Apr 2019 23:42:01 GMT\"0x8D6BA204D39B2D4\"5120share155450801204005122Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FA4F43AE\"5120share155450801255709661155450801263508848Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FAA8983A\"5120share155450802691409764Fri, 05 Apr 2019 23:47:07 GMT\"0x8D6BA21033DB1FF\"5120share155450802978608176155450803012905948Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA2105282DF6\"5120share155450803003906718155450803005501595Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA21050CE429\"5120share155450809390401175155450809407503147Fri, 05 Apr 2019 23:48:14 GMT\"0x8D6BA212B44E111\"5120share155450809631304992Fri, 05 Apr 2019 23:48:16 GMT\"0x8D6BA212C9A8C70\"5120share155450835062406317Fri, 05 Apr 2019 23:52:30 GMT\"0x8D6BA21C41F92FF\"5120share155450835114801235155450835119504382Fri, 05 Apr 2019 23:52:31 GMT\"0x8D6BA21C4752A4A\"5120share155450837123609062155450837126705425Fri, 05 Apr 2019 23:52:51 GMT\"0x8D6BA21D07164A3\"5120share155450840245807900Fri, 05 Apr 2019 23:53:22 GMT\"0x8D6BA21E317E558\"5120share155450840337301064155450840345909388Fri, 05 Apr 2019 23:53:23 GMT\"0x8D6BA21E39CD3E2\"5120share155450840768303182Fri, 05 Apr 2019 23:53:27 GMT\"0x8D6BA21E62882AB\"5120share155450841052005025155450841059707716Fri, 05 Apr 2019 23:53:30 GMT\"0x8D6BA21E7DD6900\"5120share155450841851004197Fri, 05 Apr 2019 23:53:38 GMT\"0x8D6BA21ECC11C45\"5120share155450842103808621155450842121207447Fri, 05 Apr 2019 23:53:41 GMT\"0x8D6BA21EE368AE8\"5120share155450842920007413155450842923904127Fri, 05 Apr 2019 23:53:49 GMT\"0x8D6BA21F2FA9CC4\"5120share155450843104607551155450843108509471Fri, 05 Apr 2019 23:53:51 GMT\"0x8D6BA21F413AFEC\"5120share155450844155207718Fri, 05 Apr 2019 23:54:01 GMT\"0x8D6BA21FA5815A9\"5120share155450844282908330155450844331103212Fri, 05 Apr 2019 23:54:03 GMT\"0x8D6BA21FB639CB6\"5120share155450844875104105155450844883200097Fri, 05 Apr 2019 23:54:08 GMT\"0x8D6BA21FEACF9CB\"5120share155450845060900434Fri, 05 Apr 2019 23:54:10 GMT\"0x8D6BA21FFBCFD3F\"5120share155450845196808630155450845212609494Fri, 05 Apr 2019 23:54:12 GMT\"0x8D6BA2200A3BDAF\"5120share155450846016604225Fri, 05 Apr 2019 23:54:20 GMT\"0x8D6BA22057F80F4\"5120share155450846187100703155450846204104941Fri, 05 Apr 2019 23:54:22 GMT\"0x8D6BA22068C649F\"5120share155450846856009396Fri, 05 Apr 2019 23:54:28 GMT\"0x8D6BA220A7BBF54\"5120share155450846936604658155450846944104091Fri, 05 Apr 2019 23:54:29 GMT\"0x8D6BA220AF68482\"5120share155450847116604019155450847149003909Fri, 05 Apr 2019 23:54:31 GMT\"0x8D6BA220C39EFB8\"5120share155450847641908239155450847649506792Fri, 05 Apr 2019 23:54:36 GMT\"0x8D6BA220F2B0EA4\"5120share155450849046701837155450849055008593Fri, 05 Apr 2019 23:54:50 GMT\"0x8D6BA22178AC280\"5120share155450850415909079Fri, 05 Apr 2019 23:55:04 GMT\"0x8D6BA221FB3AAB9\"5120share155450851125605816155450851158907529Fri, 05 Apr 2019 23:55:11 GMT\"0x8D6BA22242151E0\"5120share155450851537705193155450851553601973Fri, 05 Apr 2019 23:55:15 GMT\"0x8D6BA22267C4CE5\"5120share155450856236209066155450856252401476Fri, 05 Apr 2019 23:56:02 GMT\"0x8D6BA22427D2E00\"5120share155450862834406147Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269A65E65\"5120share155450862883803086155450862886608104Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269F5A23B\"5120share155450864251402420155450864252701754Fri, 05 Apr 2019 23:57:22 GMT\"0x8D6BA22721A880A\"5120share155450864903202606Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA2275FA1279\"5120share155450864954709486155450864958906033Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA22764EE2F0\"5120share155450866038209758Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CBDD706\"5120share155450866063104429155450866065900649Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CE83100\"5120share155450866548101600Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA227FC7B940\"5120share155450866584902851155450866589506222Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA2280078687\"5120share155450866820907466155450866822802518Fri, 05 Apr 2019 23:57:48 GMT\"0x8D6BA22816B2857\"5120share155450867294701404155450867296303231Fri, 05 Apr 2019 23:57:52 GMT\"0x8D6BA22843DBAEB\"5120share155450868069300530155450868071108529Fri, 05 Apr 2019 23:58:00 GMT\"0x8D6BA2288DC0D3B\"5120share155450868782705751Fri, 05 Apr 2019 23:58:07 GMT\"0x8D6BA228D180092\"5120share155450868808904026155450868812002523Fri, 05 Apr 2019 23:58:08 GMT\"0x8D6BA228D44C727\"5120share155450871227906499155450871229407636Fri, 05 Apr 2019 23:58:32 GMT\"0x8D6BA229BAD64DF\"5120share155450871361608008Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229C791D3B\"5120share155450871385801053155450871389501438Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229CA39DFC\"5120share155450873724609408Fri, 05 Apr 2019 23:58:57 GMT\"0x8D6BA22AA95EBE5\"5120share155450873839703983155450873841108209Fri, 05 Apr 2019 23:58:58 GMT\"0x8D6BA22AB408136\"5120share155450874069500459155450874084406201Fri, 05 Apr 2019 23:59:00 GMT\"0x8D6BA22ACBA5BA0\"5120share155450876383501957Fri, 05 Apr 2019 23:59:23 GMT\"0x8D6BA22BA6B0364\"5120share155450876420103676155450876424202873Fri, 05 Apr 2019 23:59:24 GMT\"0x8D6BA22BAA94C79\"5120share155450876624500743155450876631905818Fri, 05 Apr 2019 23:59:26 GMT\"0x8D6BA22BBEA05FA\"5120share155450877756001573155450877757609108Fri, 05 Apr 2019 23:59:37 GMT\"0x8D6BA22C29CC4C5\"5120share155450882020705387Sat, 06 Apr 2019 00:00:20 GMT\"0x8D6BA22DC1C7B9C\"5120share155450882137802100Sat, 06 Apr 2019 00:00:21 GMT\"0x8D6BA22DCD2061E\"5120share155450882195307893155450882213805256Sat, 06 Apr 2019 00:00:22 GMT\"0x8D6BA22DD2D9ECA\"5120share155450882311802623155450882330007566Sat, 06 Apr 2019 00:00:23 GMT\"0x8D6BA22DDDEDD23\"5120share155450882821300470Sat, 06 Apr 2019 00:00:28 GMT\"0x8D6BA22E0DF07E4\"5120share155450883001207093155450883019705028Sat, 06 Apr 2019 00:00:30 GMT\"0x8D6BA22E1FA959D\"5120share155450883989300008Sat, 06 Apr 2019 00:00:40 GMT\"0x8D6BA22E7D7D05F\"5120share155450884162700155155450884180600899Sat, 06 Apr 2019 00:00:41 GMT\"0x8D6BA22E8E8FF71\"5120share155450884268207091Sat, 06 Apr 2019 00:00:42 GMT\"0x8D6BA22E96E6A00\"5120share155450884356404649Sat, 06 Apr 2019 00:00:43 GMT\"0x8D6BA22E9F4B2C9\"5120share155450884498208133155450884512500427Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE362BF\"5120share155450884499902681155450884517006830Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE9C669\"5120share155450885006502697Sat, 06 Apr 2019 00:00:50 GMT\"0x8D6BA22EDD441D0\"5120share155450885123403166155450885138009119Sat, 06 Apr 2019 00:00:51 GMT\"0x8D6BA22EE9C855E\"5120share155450886053709029155450886062900785Sat, 06 Apr 2019 00:01:00 GMT\"0x8D6BA22F41E59AA\"5120share155450886352605826155450886361609698Sat, 06 Apr 2019 00:01:03 GMT\"0x8D6BA22F5E5BDEF\"5120share155450886885106257155450886894004615Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9152485\"5120share155450886979200994155450886987409280Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9A35201\"5120share155450887070605058155450887079709480Sat, 06 Apr 2019 00:01:10 GMT\"0x8D6BA22FA2DEE8F\"5120share155450887606108840155450887613402442Sat, 06 Apr 2019 00:01:16 GMT\"0x8D6BA22FD5FAA74\"5120share155450888143406931155450888150903424Sat, 06 Apr 2019 00:01:21 GMT\"0x8D6BA2300968F6A\"5120share155450895779305071Sat, 06 Apr 2019 00:02:37 GMT\"0x8D6BA232E0E05CE\"5120share155450895868406976155450895876908256Sat, 06 Apr 2019 00:02:38 GMT\"0x8D6BA232E9B57E4\"5120share155450898000001813Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233B47BB36\"5120share155450898063507347155450898067608520Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233BAA5F73\"5120share155450898125502623155450898141009080Sat, 06 Apr 2019 00:03:01 GMT\"0x8D6BA233C1EEFA4\"5120share155450900601408874155450900609504434Sat, 06 Apr 2019 00:03:26 GMT\"0x8D6BA234AD4C326\"5120share155450900703406798Sat, 06 Apr 2019 00:03:27 GMT\"0x8D6BA234B65E99F\"5120share155450900831008513155450900847507161Sat, 06 Apr 2019 00:03:28 GMT\"0x8D6BA234C410CF0\"5120share155450901777606467Sat, 06 Apr 2019 00:03:37 GMT\"0x8D6BA2351D7DB67\"5120share155450902063908068155450902099303010Sat, 06 Apr 2019 00:03:41 GMT\"0x8D6BA2353C27F44\"5120share155450905240000338155450905247805038Sat, 06 Apr 2019 00:04:12 GMT\"0x8D6BA23667B7ACC\"5120share155450905342403029Sat, 06 Apr 2019 00:04:13 GMT\"0x8D6BA23670BD557\"5120share155450905771401894Sat, 06 Apr 2019 00:04:17 GMT\"0x8D6BA2369922D87\"5120share155450905806600718155450905814001944Sat, 06 Apr 2019 00:04:18 GMT\"0x8D6BA2369D3DADF\"5120share155450907199909959155450907217402075Sat, 06 Apr 2019 00:04:32 GMT\"0x8D6BA2372444079\"5120share155450907299303524155450907301007717Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372AFED38\"5120share155450907320209730Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372CDC3C2\"5120share155450907429301310Sat, 06 Apr 2019 00:04:34 GMT\"0x8D6BA237386F930\"5120share155450918499009383Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B56FB9BC\"5120share155450918538502508155450918541508822Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B5B05ACA\"5120share155450918955508214Sat, 06 Apr 2019 00:06:29 GMT\"0x8D6BA23B828D8E1\"5120share155450919005601653155450919008702158Sat, 06 Apr 2019 00:06:30 GMT\"0x8D6BA23B87B8E05\"5120share155450919954305187155450919955905775Sat, 06 Apr 2019 00:06:39 GMT\"0x8D6BA23BE1F0A40\"5120share155450920152404636Sat, 06 Apr 2019 00:06:41 GMT\"0x8D6BA23BF4B17E9\"5120share155450920199201367155450920203905870Sat, 06 Apr 2019 00:06:42 GMT\"0x8D6BA23BF9A7486\"5120share155450920623205720155450920624702973Sat, 06 Apr 2019 00:06:46 GMT\"0x8D6BA23C21AC1E2\"5120share155450924082004282Sat, 06 Apr 2019 00:07:20 GMT\"0x8D6BA23D6BC0D50\"5120share155450924241004753155450924255406031Sat, 06 Apr 2019 00:07:22 GMT\"0x8D6BA23D7C6027C\"5120share155450924628704211155450924631809175Sat, 06 Apr 2019 00:07:26 GMT\"0x8D6BA23D9FEA927\"5120share155450925060607872Sat, 06 Apr 2019 00:07:30 GMT\"0x8D6BA23DC8D0299\"5120share155450927396309525155450927403505482Sat, 06 Apr 2019 00:07:54 GMT\"0x8D6BA23EA89D004\"5120share155450930131800809Sat, 06 Apr 2019 00:08:21 GMT\"0x8D6BA23FAC97B82\"5120share155450930223305549Sat, 06 Apr 2019 00:08:22 GMT\"0x8D6BA23FB6A1C88\"5120share155450930399707774155450930404407997Sat, 06 Apr 2019 00:08:24 GMT\"0x8D6BA23FC696BBF\"5120share155450930644903497155450930664407626Sat, 06 Apr 2019 00:08:26 GMT\"0x8D6BA23FDF86C39\"5120share155450932165308081155450932166908411Sat, 06 Apr 2019 00:08:41 GMT\"0x8D6BA2406EA8B70\"5120share155450932590204669Sat, 06 Apr 2019 00:08:45 GMT\"0x8D6BA24096F0B87\"5120share155450934809308249155450934819701838Sat, 06 Apr 2019 00:09:08 GMT\"0x8D6BA2416BC420A\"5120share155450936482907697Sat, 06 Apr 2019 00:09:24 GMT\"0x8D6BA2420A30B03\"5120share155450936723600352155450936728205502Sat, 06 Apr 2019 00:09:27 GMT\"0x8D6BA242219106F\"5120share155450938968201470155450938969801065Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F762161\"5120share155450938994808156Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F9C244A\"5120share155450940497500812Sat, 06 Apr 2019 00:10:05 GMT\"0x8D6BA2438A0813C\"5120share155450940788404093155450940823202737Sat, 06 Apr 2019 00:10:08 GMT\"0x8D6BA243A92205E\"5120share155450946766609807155450946784508785Sat, 06 Apr 2019 00:11:07 GMT\"0x8D6BA245E19BEB2\"5120share155450948165108070Sat, 06 Apr 2019 00:11:21 GMT\"0x8D6BA246649B23E\"5120share155450948277804103Sat, 06 Apr 2019 00:11:22 GMT\"0x8D6BA2466F099EF\"5120share155450948289903394155450948305505870Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA2467204A8D\"5120share155450948326908679155450948331603975Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA24674309DA\"5120share155450949731107750155450949732809022Sat, 06 Apr 2019 00:11:37 GMT\"0x8D6BA246F9D65C7\"5120share155450950843203078155450950850801708Sat, 06 Apr 2019 00:11:48 GMT\"0x8D6BA24764BB930\"5120share155450953189902571Sat, 06 Apr 2019 00:12:11 GMT\"0x8D6BA2484354864\"5120share155450953258300666155450953264607609Sat, 06 Apr 2019 00:12:12 GMT\"0x8D6BA2484A7702E\"5120share155450955735903361155450955739009034Sat, 06 Apr 2019 00:12:37 GMT\"0x8D6BA24936708EF\"5120share155450960711502044Sat, 06 Apr 2019 00:13:27 GMT\"0x8D6BA24B10EA364\"5120share155450960791406846155450960797603649Sat, 06 Apr 2019 00:13:28 GMT\"0x8D6BA24B1928131\"5120share155450962624205044155450962625707564Sat, 06 Apr 2019 00:13:46 GMT\"0x8D6BA24BC772178\"5120share155450967842007452Sat, 06 Apr 2019 00:14:38 GMT\"0x8D6BA24DB8C77C7\"5120share155450967919905734155450967927702876Sat, 06 Apr 2019 00:14:39 GMT\"0x8D6BA24DC0EF540\"5120share155450970297003568155450970300202266Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA32E63F\"5120share155450970326709180Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA5D2ABB\"5120share155450977967008646Sat, 06 Apr 2019 00:16:19 GMT\"0x8D6BA2517F39453\"5120share155450978396408978155450978431501712Sat, 06 Apr 2019 00:16:24 GMT\"0x8D6BA251AB90FA7\"5120share155450980055002844Sat, 06 Apr 2019 00:16:40 GMT\"0x8D6BA25248D32DD\"5120share155450980160103293155450980168109906Sat, 06 Apr 2019 00:16:41 GMT\"0x8D6BA252504B519\"5120share155450980240304921Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA252575098D\"5120share155450980285700319155450980290408762Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA2525C03A80\"5120share155450982099301254155450982103507530Sat, 06 Apr 2019 00:17:01 GMT\"0x8D6BA25308DFC9F\"5120share155450982239706333155450982242802612Sat, 06 Apr 2019 00:17:02 GMT\"0x8D6BA253161E133\"5120share155450982326409248Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA2531E1702E\"5120share155450982377200032155450982381908623Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA253235B775\"5120share155450983221207344155450983239108932Sat, 06 Apr 2019 00:17:12 GMT\"0x8D6BA25375FFDF8\"5120share155450984103402224155450984105001780Sat, 06 Apr 2019 00:17:21 GMT\"0x8D6BA253C7B623A\"5120share155450984926706623Sat, 06 Apr 2019 00:17:29 GMT\"0x8D6BA254167CF27\"5120share155450985060401468155450985076906420Sat, 06 Apr 2019 00:17:30 GMT\"0x8D6BA25424D06B7\"5120share155450987283404018Sat, 06 Apr 2019 00:17:52 GMT\"0x8D6BA254F6D3BD3\"5120share155450987324207460155450987328900070Sat, 06 Apr 2019 00:17:53 GMT\"0x8D6BA254FB23BEA\"5120share155450988425404386155450988434009985Sat, 06 Apr 2019 00:18:04 GMT\"0x8D6BA25564F576F\"5120share155450990977005805155450990980103826Sat, 06 Apr 2019 00:18:29 GMT\"0x8D6BA2565767B1F\"5120share155450991059304960Sat, 06 Apr 2019 00:18:30 GMT\"0x8D6BA2565EF5040\"5120share155450992091205316Sat, 06 Apr 2019 00:18:40 GMT\"0x8D6BA256C15A12E\"5120share155450992133707934155450992138405768Sat, 06 Apr 2019 00:18:41 GMT\"0x8D6BA256C5D5BE6\"5120share155450993652908385155450993654507033Sat, 06 Apr 2019 00:18:56 GMT\"0x8D6BA257568A573\"5120share155451001151002509Sat, 06 Apr 2019 00:20:11 GMT\"0x8D6BA25A216A444\"5120share155451001331709024155451001342603666Sat, 06 Apr 2019 00:20:13 GMT\"0x8D6BA25A33B3030\"5120share155451003402004419Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AF7D5D23\"5120share155451003447503066155451003449001699Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFCA6E52\"5120share155451003461203815155451003464101209Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFDC0A77\"5120share155451004913305591155451004914706703Sat, 06 Apr 2019 00:20:49 GMT\"0x8D6BA25B8815310\"5120share155451006286305875Sat, 06 Apr 2019 00:21:03 GMT\"0x8D6BA25C0C2AC3D\"5120share155451006587801793155451006655805276Sat, 06 Apr 2019 00:21:06 GMT\"0x8D6BA25C2F65D6A\"5120share155451007935501496Sat, 06 Apr 2019 00:21:19 GMT\"0x8D6BA25CA83F82F\"5120share155451008094100931155451008097909868Sat, 06 Apr 2019 00:21:20 GMT\"0x8D6BA25CB7B405F\"5120share155451009799605496155451009801500934Sat, 06 Apr 2019 00:21:38 GMT\"0x8D6BA25D5A2FE93\"5120share155451010434701890Sat, 06 Apr 2019 00:21:44 GMT\"0x8D6BA25D96B2BB1\"5120share155451010497507200155451010502204375Sat, 06 Apr 2019 00:21:45 GMT\"0x8D6BA25D9D0C00D\"5120share155451012085406616155451012088502597Sat, 06 Apr 2019 00:22:00 GMT\"0x8D6BA25E3447924\"5120share155451012285704842155451012303302464Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E49FB50A\"5120share155451012387505140Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E51229CB\"5120share155451012515600375Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5E37446\"5120share155451012525500379Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5F3B302\"5120share155451013078900595155451013114407433Sat, 06 Apr 2019 00:22:11 GMT\"0x8D6BA25E975BF7D\"5120share155451015216004737Sat, 06 Apr 2019 00:22:32 GMT\"0x8D6BA25F606E077\"5120share155451016043402131155451016065606655Sat, 06 Apr 2019 00:22:40 GMT\"0x8D6BA25FB00E780\"5120share155451019103604148Sat, 06 Apr 2019 00:23:11 GMT\"0x8D6BA260D2905C6\"5120share155451019400305212155451019445908505Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F336BC3\"5120share155451019474708654155451019483801215Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F604E98\"5120share155451024414405592155451024432401508Sat, 06 Apr 2019 00:24:04 GMT\"0x8D6BA262CEE5C5A\"5120share155451024648109782Sat, 06 Apr 2019 00:24:06 GMT\"0x8D6BA262E364BFA\"5120share155451026312808867Sat, 06 Apr 2019 00:24:23 GMT\"0x8D6BA263819560F\"5120share155451026594805847155451026630100644Sat, 06 Apr 2019 00:24:26 GMT\"0x8D6BA263A03DD68\"5120share155451027535308543Sat, 06 Apr 2019 00:24:35 GMT\"0x8D6BA263F5E1C93\"5120share155451027671107727155451027693505092Sat, 06 Apr 2019 00:24:36 GMT\"0x8D6BA26404F9858\"5120share155451030987309732155451030994904457Sat, 06 Apr 2019 00:25:10 GMT\"0x8D6BA2653FCB879\"5120share155451031458704130155451031476206543Sat, 06 Apr 2019 00:25:14 GMT\"0x8D6BA2656E64927\"5120share155451033026507785155451033046408034Sat, 06 Apr 2019 00:25:30 GMT\"0x8D6BA266042FECB\"5120share155451033290203875Sat, 06 Apr 2019 00:25:33 GMT\"0x8D6BA2661B6D672\"5120share155451039774203928Sat, 06 Apr 2019 00:26:37 GMT\"0x8D6BA26885D80E0\"5120share155451040675108359155451040711307532Sat, 06 Apr 2019 00:26:47 GMT\"0x8D6BA268DF41351\"5120share155451044021806016Sat, 06 Apr 2019 00:27:20 GMT\"0x8D6BA26A19C5201\"5120share155451044457806734155451044462505131Sat, 06 Apr 2019 00:27:24 GMT\"0x8D6BA26A43D1239\"5120share155451046010701737155451046028403533Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADA4C4A5\"5120share155451046052208614155451046053805603Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADB9B622\"5120share155451053178206847Sat, 06 Apr 2019 00:28:51 GMT\"0x8D6BA26D842A55A\"5120share155451053666705392155451053702506968Sat, 06 Apr 2019 00:28:57 GMT\"0x8D6BA26DB62BDD5\"5120share155451058205803975155451058223403053Sat, 06 Apr 2019 00:29:42 GMT\"0x8D6BA26F654675F\"5120share155451060995602506Sat, 06 Apr 2019 00:30:09 GMT\"0x8D6BA2706C9A66E\"5120share155451061041100503155451061045903286Sat, 06 Apr 2019 00:30:10 GMT\"0x8D6BA270716A7C2\"5120share155451061899608264Sat, 06 Apr 2019 00:30:19 GMT\"0x8D6BA270C3E72F4\"5120share155451062180801032155451062216207210Sat, 06 Apr 2019 00:30:22 GMT\"0x8D6BA270E371CFB\"5120share155451062599208929155451062602402703Sat, 06 Apr 2019 00:30:26 GMT\"0x8D6BA27105DB358\"5120share155451065149503106Sat, 06 Apr 2019 00:30:51 GMT\"0x8D6BA271F9DF425\"5120share155451065440007212155451065475805277Sat, 06 Apr 2019 00:30:54 GMT\"0x8D6BA27218EBAA7\"5120share155451067046206752155451067063709328Sat, 06 Apr 2019 00:31:10 GMT\"0x8D6BA272B05F0AB\"5120share155451067351206150Sat, 06 Apr 2019 00:31:13 GMT\"0x8D6BA272CBC787A\"5120share155451069512502349Sat, 06 Apr 2019 00:31:35 GMT\"0x8D6BA27399F8CE9\"5120share155451069801607826155451069838102692Sat, 06 Apr 2019 00:31:38 GMT\"0x8D6BA273B8F91C6\"5120share155451071238103796155451071255407273Sat, 06 Apr 2019 00:31:52 GMT\"0x8D6BA274400B20F\"5120share155451074926809802155451074945008417Sat, 06 Apr 2019 00:32:29 GMT\"0x8D6BA275A00C68D\"5120share155451081018006165Sat, 06 Apr 2019 00:33:30 GMT\"0x8D6BA277E323318\"5120share155451081825002323155451081865306002Sat, 06 Apr 2019 00:33:38 GMT\"0x8D6BA27833EA922\"5120share155451087278806395155451087296101648Sat, 06 Apr 2019 00:34:33 GMT\"0x8D6BA27A39DA7AE\"5120share155451091917101975Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF194E41\"5120share155451091975006455155451091979708946Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF7783A5\"5120share155451093201009705Sat, 06 Apr 2019 00:35:32 GMT\"0x8D6BA27C6D1EEBA\"5120share155451093563503307155451093598603844Sat, 06 Apr 2019 00:35:36 GMT\"0x8D6BA27C93050B6\"5120share155451094024104628155451094025709756Sat, 06 Apr 2019 00:35:40 GMT\"0x8D6BA27CBA9E989\"5120share155451094222108360Sat, 06 Apr 2019 00:35:42 GMT\"0x8D6BA27CCE6E2AE\"5120share155451095174303054Sat, 06 Apr 2019 00:35:51 GMT\"0x8D6BA27D293DAE5\"5120share155451096975508163155451097010409134Sat, 06 Apr 2019 00:36:10 GMT\"0x8D6BA27DD8557B2\"5120share155451100262501336155451100279500059Sat, 06 Apr 2019 00:36:42 GMT\"0x8D6BA27F1023A5B\"5120share155451101045503556Sat, 06 Apr 2019 00:36:50 GMT\"0x8D6BA27F5925154\"5120share155451101779403542Sat, 06 Apr 2019 00:36:57 GMT\"0x8D6BA27F9F0E2AC\"5120share155451102398103108155451102432601506Sat, 06 Apr 2019 00:37:04 GMT\"0x8D6BA27FDD5B5CD\"5120share155451103057604216155451103077302829Sat, 06 Apr 2019 00:37:10 GMT\"0x8D6BA2801AE1B69\"5120share155451107565307966155451107582903915Sat, 06 Apr 2019 00:37:55 GMT\"0x8D6BA281C81B459\"5120share155451107800700624Sat, 06 Apr 2019 00:37:58 GMT\"0x8D6BA281DD4A225\"5120share155451126138807949Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B1534BE\"5120share155451126184309606155451126189002896Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B6050DF\"5120share155451128370804279155451128372404816Sat, 06 Apr 2019 00:41:23 GMT\"0x8D6BA289862C628\"5120share155451152420208713Sat, 06 Apr 2019 00:45:24 GMT\"0x8D6BA2927C9F8B5\"5120share155451152742606446155451152779007713Sat, 06 Apr 2019 00:45:27 GMT\"0x8D6BA2929ED230E\"5120share155451157395300009155451157412506533Sat, 06 Apr 2019 00:46:14 GMT\"0x8D6BA29458B232D\"5120share155451187530500180Sat, 06 Apr 2019 00:51:15 GMT\"0x8D6BA29F90FCDB8\"5120share155451187884703798155451187920608231Sat, 06 Apr 2019 00:51:19 GMT\"0x8D6BA29FB62AF79\"5120share155451192903001020155451192920801667Sat, 06 Apr 2019 00:52:09 GMT\"0x8D6BA2A19307FA2\"5120share155451219945604870Sat, 06 Apr 2019 00:56:39 GMT\"0x8D6BA2ABA44B832\"5120share155451220515403772155451220563409688Sat, 06 Apr 2019 00:56:45 GMT\"0x8D6BA2ABDF348B2\"5120share155451225732003773155451225782103672Sat, 06 Apr 2019 00:57:37 GMT\"0x8D6BA2ADD0DFEA0\"5120share155452505698609307Sat, 06 Apr 2019 04:30:57 GMT\"0x8D6BA48A9F5DE57\"5120share155452506110609930155452506145800907Sat, 06 Apr 2019 04:31:01 GMT\"0x8D6BA48ACA0E8F8\"5120share155452513264602392155452513309504994Sat, 06 Apr 2019 04:32:13 GMT\"0x8D6BA48D79F82A6\"5120share155452543747102987Sat, 06 Apr 2019 04:37:17 GMT\"0x8D6BA498CBEAA1B\"5120share155452544135102672155452544170203677Sat, 06 Apr 2019 04:37:21 GMT\"0x8D6BA498F43FB3B\"5120share155452550801609564155452550819303558Sat, 06 Apr 2019 04:38:28 GMT\"0x8D6BA49B6E5E139\"5120share155454851835207560Sat, 06 Apr 2019 11:01:58 GMT\"0x8D6BA7F4A19677D\"5120share155454851991506574155454852000406631Sat, 06 Apr 2019 11:02:00 GMT\"0x8D6BA7F4AF0A38D\"5120share155454854416906947155454854421503134Sat, 06 Apr 2019 11:02:24 GMT\"0x8D6BA7F595F9CD8\"5120share155454856025203639Sat, 06 Apr 2019 11:02:40 GMT\"0x8D6BA7F62F33568\"5120share155454856374007043155454856420309335Sat, 06 Apr 2019 11:02:44 GMT\"0x8D6BA7F6571B186\"5120share155454863664803017155454863675304589Sat, 06 Apr 2019 11:03:58 GMT\"0x8D6BA7F91B54D0B\"5120share155454912150008169Sat, 06 Apr 2019 11:12:01 GMT\"0x8D6BA80B1733B1B\"5120share155454912228807007155454912232402707Sat, 06 Apr 2019 11:12:02 GMT\"0x8D6BA80B1F0CB36\"5120share155454913968401147155454913969709976Sat, 06 Apr 2019 11:12:19 GMT\"0x8D6BA80BC4BC1C8\"5120share155454926160403595Sat, 06 Apr 2019 11:14:21 GMT\"0x8D6BA81050A4FBB\"5120share155454926433302536155454926451103683Sat, 06 Apr 2019 11:14:24 GMT\"0x8D6BA8106B9DBA1\"5120share155454931280409044155454931334904873Sat, 06 Apr 2019 11:15:13 GMT\"0x8D6BA8123FE09BD\"5120share155454933450607945Sat, 06 Apr 2019 11:15:34 GMT\"0x8D6BA813098712B\"5120share155454933671902848155454933688908536Sat, 06 Apr 2019 11:15:36 GMT\"0x8D6BA8131D928E7\"5120share155454936568509955155454936576802176Sat, 06 Apr 2019 11:16:05 GMT\"0x8D6BA81430FF71B\"5120share155454960213904133Sat, 06 Apr 2019 11:20:03 GMT\"0x8D6BA81D0FF2B38\"5120share155454960927909543155454960991001612Sat, 06 Apr 2019 11:20:09 GMT\"0x8D6BA81D49808FE\"5120share155454966009002609155454966016603370Sat, 06 Apr 2019 11:21:00 GMT\"0x8D6BA81F28BD0E3\"5120share155455002704708537Sat, 06 Apr 2019 11:27:07 GMT\"0x8D6BA82CD34741E\"5120share155455002903800007155455003017403219Sat, 06 Apr 2019 11:27:10 GMT\"0x8D6BA82CF125048\"5120share155455006267108464155455006268701770Sat, 06 Apr 2019 11:27:42 GMT\"0x8D6BA82E273923F\"5120share155455037679603457Sat, 06 Apr 2019 11:32:56 GMT\"0x8D6BA839DAF3E6C\"5120share155455037983204788155455037987900489Sat, 06 Apr 2019 11:33:00 GMT\"0x8D6BA839F95A777\"5120share155455040595703142155455040597208498Sat, 06 Apr 2019 11:33:26 GMT\"0x8D6BA83AF12FF0F\"5120share155455072732002603Sat, 06 Apr 2019 11:38:47 GMT\"0x8D6BA846E9C4E9D\"5120share155455073081809895155455073086206096Sat, 06 Apr 2019 11:38:50 GMT\"0x8D6BA8470B704B1\"5120share155455075763207537155455075766305509Sat, 06 Apr 2019 11:39:17 GMT\"0x8D6BA8480B04FE4\"5120share155455102062606131Sat, 06 Apr 2019 11:43:40 GMT\"0x8D6BA851D7C3230\"5120share155455102361801934155455102394805763Sat, 06 Apr 2019 11:43:44 GMT\"0x8D6BA851F770C29\"5120share155455107457700114155455107474000652Sat, 06 Apr 2019 11:44:34 GMT\"0x8D6BA853DBD1411\"5120share155455133006908547Sat, 06 Apr 2019 11:48:50 GMT\"0x8D6BA85D5EB98F7\"5120share155455133279009813155455133361801233Sat, 06 Apr 2019 11:48:53 GMT\"0x8D6BA85D80A2CF8\"5120share155455139513901690155455139530102243Sat, 06 Apr 2019 11:49:55 GMT\"0x8D6BA85FCCC3693\"5120share155455164872603077Sat, 06 Apr 2019 11:54:08 GMT\"0x8D6BA8693DC07CC\"5120share155455165151009405155455165183509790Sat, 06 Apr 2019 11:54:11 GMT\"0x8D6BA8695B65D2B\"5120share155455170470509656155455170486300406Sat, 06 Apr 2019 11:55:04 GMT\"0x8D6BA86B550F686\"5120share155456291103108645Sat, 06 Apr 2019 15:01:51 GMT\"0x8D6BAA0CCB4D2E2\"5120share155456291365506380155456291374109855Sat, 06 Apr 2019 15:01:53 GMT\"0x8D6BAA0CE464446\"5120share155456293709907330155456293714005519Sat, 06 Apr 2019 15:02:17 GMT\"0x8D6BAA0DC390444\"5120share155456294559204683Sat, 06 Apr 2019 15:02:25 GMT\"0x8D6BAA0E14877DB\"5120share155456296486809631155456297245203735Sat, 06 Apr 2019 15:02:52 GMT\"0x8D6BAA0F17779CF\"5120share155456305871209606155456305879302124Sat, 06 Apr 2019 15:04:20 GMT\"0x8D6BAA125F07843\"5120share155456314143103789Sat, 06 Apr 2019 15:05:41 GMT\"0x8D6BAA155FBBE27\"5120share155456314336103571155456314749309901Sat, 06 Apr 2019 15:05:47 GMT\"0x8D6BAA159999031\"5120share155456316334404827155456316335906378Sat, 06 Apr 2019 15:06:03 GMT\"0x8D6BAA1630E3598\"5120share155456326179402090Sat, 06 Apr 2019 15:07:42 GMT\"0x8D6BAA19DFB7C6A\"5120share155456326397304242155456326415604577Sat, 06 Apr 2019 15:07:44 GMT\"0x8D6BAA19F25D734\"5120share155456329369701279155456329378504366Sat, 06 Apr 2019 15:08:13 GMT\"0x8D6BAA1B0D0D651\"5120share155456330364409045Sat, 06 Apr 2019 15:08:23 GMT\"0x8D6BAA1B6B2CD98\"5120share155456330666705978155456330683803375Sat, 06 Apr 2019 15:08:26 GMT\"0x8D6BAA1B89A16F1\"5120share155456335030501527155456335038302819Sat, 06 Apr 2019 15:09:10 GMT\"0x8D6BAA1D28E562B\"5120share155456356368008804Sat, 06 Apr 2019 15:12:43 GMT\"0x8D6BAA251C17F8D\"5120share155456356557907464155456356574100518Sat, 06 Apr 2019 15:12:45 GMT\"0x8D6BAA252EBFAC4\"5120share155456361116402960155456361124207850Sat, 06 Apr 2019 15:13:31 GMT\"0x8D6BAA26E0A1CA8\"5120share155456390636203241Sat, 06 Apr 2019 15:18:26 GMT\"0x8D6BAA31DEBCDB0\"5120share155456390705601565155456390711901935Sat, 06 Apr 2019 15:18:27 GMT\"0x8D6BAA31E5E4748\"5120share155456393417709590155456393420808701Sat, 06 Apr 2019 15:18:54 GMT\"0x8D6BAA32E84237D\"5120share155456424217209961Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E61500A8\"5120share155456424278208936155456424284407266Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E67AB1A3\"5120share155456427211205549155456427214304496Sat, 06 Apr 2019 15:24:32 GMT\"0x8D6BAA3F7F20D47\"5120share155456458404204500Sat, 06 Apr 2019 15:29:44 GMT\"0x8D6BAA4B24CBF76\"5120share155456458547707918155456458552404411Sat, 06 Apr 2019 15:29:45 GMT\"0x8D6BAA4B2BB862F\"5120share155456460765406585155456460766908685Sat, 06 Apr 2019 15:30:07 GMT\"0x8D6BAA4BFFF1981\"5120share155456482465103461Sat, 06 Apr 2019 15:33:44 GMT\"0x8D6BAA541550649\"5120share155456482775006921155456482810700538Sat, 06 Apr 2019 15:33:48 GMT\"0x8D6BAA543636C8E\"5120share155456487704408556155456487721609007Sat, 06 Apr 2019 15:34:37 GMT\"0x8D6BAA560A9C832\"5120share155456514392700848Sat, 06 Apr 2019 15:39:04 GMT\"0x8D6BAA5FFA2DBB2\"5120share155456514730004864155456514765000848Sat, 06 Apr 2019 15:39:07 GMT\"0x8D6BAA601DAC90B\"5120share155456520851004581155456520868606444Sat, 06 Apr 2019 15:40:08 GMT\"0x8D6BAA6263B64FB\"5120share155456546078104638Sat, 06 Apr 2019 15:44:20 GMT\"0x8D6BAA6BC7EC485\"5120share155456546379202191155456546415004803Sat, 06 Apr 2019 15:44:24 GMT\"0x8D6BAA6BE80FE20\"5120share155456552100308222155456552118109485Sat, 06 Apr 2019 15:45:21 GMT\"0x8D6BAA6E07EA3E7\"5120share155457982586404577Sat, 06 Apr 2019 19:43:46 GMT\"0x8D6BAC82F06C604\"5120share155457982895209863Sat, 06 Apr 2019 19:43:49 GMT\"0x8D6BAC830B0EE27\"5120share155457983004307662155457983013006641Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC8313A9F6D\"5120share155457983034605061155457983042907122Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC831687914\"5120share155457984096304815Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC837B800A3\"5120share155457984173004573155457984181103859Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC8382FCF4E\"5120share155457985251106506155457985255200019Sat, 06 Apr 2019 19:44:12 GMT\"0x8D6BAC83E977E11\"5120share155457985352004043Sat, 06 Apr 2019 19:44:13 GMT\"0x8D6BAC83F308A2E\"5120share155457985759203693155457985763202694Sat, 06 Apr 2019 19:44:17 GMT\"0x8D6BAC8419E8708\"5120share155457985858407808155457985874206967Sat, 06 Apr 2019 19:44:18 GMT\"0x8D6BAC8424DC6E7\"5120share155457986070109185Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC84378C35C\"5120share155457986084203249155457986088206247Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC8438DCAFB\"5120share155457986667402248155457986683304389Sat, 06 Apr 2019 19:44:26 GMT\"0x8D6BAC8471F8EC3\"5120share155457988211302188Sat, 06 Apr 2019 19:44:42 GMT\"0x8D6BAC8503B5D5B\"5120share155457988657106116155457988672406764Sat, 06 Apr 2019 19:44:46 GMT\"0x8D6BAC852FAA3CB\"5120share155457991716301226155457991723809979Sat, 06 Apr 2019 19:45:17 GMT\"0x8D6BAC8652A9515\"5120share155457992830806739155457992838808802Sat, 06 Apr 2019 19:45:28 GMT\"0x8D6BAC86BD00E83\"5120share155457993006407987155457993013800523Sat, 06 Apr 2019 19:45:30 GMT\"0x8D6BAC86CDBF17B\"5120share155458006152502178Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB245AB2\"5120share155458006186305147155458006188804437Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB5BDA66\"5120share155458006815304344Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF182EA3\"5120share155458006841500789155458006844408143Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF44D44C\"5120share155458007310109701Sat, 06 Apr 2019 19:47:53 GMT\"0x8D6BAC8C20A6A25\"5120share155458007402802136155458007406500109Sat, 06 Apr 2019 19:47:54 GMT\"0x8D6BAC8C29DD3C2\"5120share155458007691004618155458007692300930Sat, 06 Apr 2019 19:47:56 GMT\"0x8D6BAC8C4519872\"5120share155458008613907463155458008615102861Sat, 06 Apr 2019 19:48:06 GMT\"0x8D6BAC8C9D2A25A\"5120share155458008826101632155458008827508306Sat, 06 Apr 2019 19:48:08 GMT\"0x8D6BAC8CB1643CF\"5120share155458014101009988Sat, 06 Apr 2019 19:49:01 GMT\"0x8D6BAC8EA8C6116\"5120share155458014235102252155458014250500129Sat, 06 Apr 2019 19:49:02 GMT\"0x8D6BAC8EB7022BC\"5120share155458015065204785Sat, 06 Apr 2019 19:49:10 GMT\"0x8D6BAC8F04B6245\"5120share155458015190606244155458015235108989Sat, 06 Apr 2019 19:49:12 GMT\"0x8D6BAC8F14EC812\"5120share155458015912000641Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F54FD2BF\"5120share155458015954701668155458015960006118Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F5991DFB\"5120share155458017311406556Sat, 06 Apr 2019 19:49:33 GMT\"0x8D6BAC8FDD44158\"5120share155458017502707203155458017520806739Sat, 06 Apr 2019 19:49:35 GMT\"0x8D6BAC8FEECDAA4\"5120share155458018062700692155458018064406305Sat, 06 Apr 2019 19:49:40 GMT\"0x8D6BAC90223AD3D\"5120share155458018255202912155458018262607543Sat, 06 Apr 2019 19:49:42 GMT\"0x8D6BAC9035A963E\"5120share155458018446401092Sat, 06 Apr 2019 19:49:44 GMT\"0x8D6BAC9048A9A28\"5120share155458018639607522155458018647205168Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905A4A03A\"5120share155458018651709847155458018670403556Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905C6C316\"5120share155458018905808134Sat, 06 Apr 2019 19:49:49 GMT\"0x8D6BAC90745C0AB\"5120share155458019083402862155458019101607549Sat, 06 Apr 2019 19:49:51 GMT\"0x8D6BAC9085921C4\"5120share155458020474801587155458020483701287Sat, 06 Apr 2019 19:50:04 GMT\"0x8D6BAC910954F65\"5120share155458021677705412155458021686508820Sat, 06 Apr 2019 19:50:16 GMT\"0x8D6BAC917C0BA92\"5120share155458022255403756155458022264606904Sat, 06 Apr 2019 19:50:22 GMT\"0x8D6BAC91B330179\"5120share155458035799600985Sat, 06 Apr 2019 19:52:38 GMT\"0x8D6BAC96BE13B37\"5120share155458035959302421155458035975506801Sat, 06 Apr 2019 19:52:39 GMT\"0x8D6BAC96CED2845\"5120share155458038999101821155458039006205821Sat, 06 Apr 2019 19:53:10 GMT\"0x8D6BAC97EFDC8C7\"5120share155458039197306757Sat, 06 Apr 2019 19:53:11 GMT\"0x8D6BAC98019052A\"5120share155458039235409027155458039240007658Sat, 06 Apr 2019 19:53:12 GMT\"0x8D6BAC98059AA63\"5120share155458041594507958Sat, 06 Apr 2019 19:53:35 GMT\"0x8D6BAC98E61B10E\"5120share155458041624503349155458041700409251Sat, 06 Apr 2019 19:53:37 GMT\"0x8D6BAC98F0326CA\"5120share155458042414602394155458042416208280Sat, 06 Apr 2019 19:53:44 GMT\"0x8D6BAC993487273\"5120share155458044008906271155458044010601423Sat, 06 Apr 2019 19:54:00 GMT\"0x8D6BAC99CC83FC7\"5120share155458071334509447Sat, 06 Apr 2019 19:58:33 GMT\"0x8D6BACA3FA8FF44\"5120share155458071605707178155458071610409296Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA414C424C\"5120share155458071612107980Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA4152C3C2\"5120share155458071677203776155458071680408599Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA41BB0E81\"5120share155458072009502050Sat, 06 Apr 2019 19:58:40 GMT\"0x8D6BACA43B031EA\"5120share155458072094509702155458072099206957Sat, 06 Apr 2019 19:58:41 GMT\"0x8D6BACA44380FE8\"5120share155458073543006878155458073544508077Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CD4E02B\"5120share155458073563000516155458073564602564Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CF58E47\"5120share155458074693207901155458074696307244Sat, 06 Apr 2019 19:59:06 GMT\"0x8D6BACA53B06581\"5120share155458102730709783Sat, 06 Apr 2019 20:03:47 GMT\"0x8D6BACAFACB81F1\"5120share155458102868202572155458102871409986Sat, 06 Apr 2019 20:03:48 GMT\"0x8D6BACAFBA2E15D\"5120share155458104633001221Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB06231A4E\"5120share155458104667302506155458104672106680Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB065D6388\"5120share155458104813808363155458104815404525Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB0738F2A1\"5120share155458104870802288Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB078DCFAB\"5120share155458104914903079155458104919602010Sat, 06 Apr 2019 20:04:09 GMT\"0x8D6BACB07D61BEF\"5120share155458106288101112155458106289700342Sat, 06 Apr 2019 20:04:22 GMT\"0x8D6BACB100374B8\"5120share155458106650506749155458106652108155Sat, 06 Apr 2019 20:04:26 GMT\"0x8D6BACB122B752A\"5120share155458133184000378Sat, 06 Apr 2019 20:08:51 GMT\"0x8D6BACBB05075D8\"5120share155458133237405814155458133243702319Sat, 06 Apr 2019 20:08:52 GMT\"0x8D6BACBB0AD6CF8\"5120share155458135318509099155458135320106042Sat, 06 Apr 2019 20:09:13 GMT\"0x8D6BACBBD0CD3EE\"5120share155458137219602215Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC85F8649\"5120share155458137264904053155458137284004781Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC8C02510\"5120share155458139529801458155458139532905081Sat, 06 Apr 2019 20:09:55 GMT\"0x8D6BACBD628A6F5\"5120share155458143191307130Sat, 06 Apr 2019 20:10:31 GMT\"0x8D6BACBEBF72FED\"5120share155458143725704549155458143733108923Sat, 06 Apr 2019 20:10:37 GMT\"0x8D6BACBEF3235D6\"5120share155458145614707996155458145617801962Sat, 06 Apr 2019 20:10:56 GMT\"0x8D6BACBFA6C641E\"5120share155458157026004284Sat, 06 Apr 2019 20:12:50 GMT\"0x8D6BACC3E7D2E73\"5120share155458157513606057155458157549200058Sat, 06 Apr 2019 20:12:55 GMT\"0x8D6BACC419AACAA\"5120share155458161551504918Sat, 06 Apr 2019 20:13:35 GMT\"0x8D6BACC5975976A\"5120share155458161852508767155458161888204990Sat, 06 Apr 2019 20:13:39 GMT\"0x8D6BACC5B77718A\"5120share155458163270608429155458163288707708Sat, 06 Apr 2019 20:13:53 GMT\"0x8D6BACC63D077C5\"5120share155458166740801992155458166758400322Sat, 06 Apr 2019 20:14:27 GMT\"0x8D6BACC787E2CBC\"5120share155458167410204473Sat, 06 Apr 2019 20:14:34 GMT\"0x8D6BACC7C6268AB\"5120share155458167745609182155458167783502969Sat, 06 Apr 2019 20:14:37 GMT\"0x8D6BACC7E9B98C5\"5120share155458172754102886155458172771207718Sat, 06 Apr 2019 20:15:27 GMT\"0x8D6BACC9C55C2B9\"5120share155458172981008762Sat, 06 Apr 2019 20:15:29 GMT\"0x8D6BACC9D95FF89\"5120share155458194149704710Sat, 06 Apr 2019 20:19:01 GMT\"0x8D6BACD1BC47F5F\"5120share155458194536607732155458194571702324Sat, 06 Apr 2019 20:19:05 GMT\"0x8D6BACD1E4806C2\"5120share155458197308200274Sat, 06 Apr 2019 20:19:33 GMT\"0x8D6BACD2E9741B8\"5120share155458197591001668155458197626104855Sat, 06 Apr 2019 20:19:36 GMT\"0x8D6BACD307C412D\"5120share155458199527007624155458199545704317Sat, 06 Apr 2019 20:19:55 GMT\"0x8D6BACD3BED41C6\"5120share155458202598109235155458202659403874Sat, 06 Apr 2019 20:20:26 GMT\"0x8D6BACD4E7C35E1\"5120share155458206169602649Sat, 06 Apr 2019 20:21:01 GMT\"0x8D6BACD636BD2BB\"5120share155458206454303760155458206491202053Sat, 06 Apr 2019 20:21:05 GMT\"0x8D6BACD6555FC37\"5120share155458211197207585155458211214304698Sat, 06 Apr 2019 20:21:52 GMT\"0x8D6BACD817C81F1\"5120share155458230574404260Sat, 06 Apr 2019 20:25:05 GMT\"0x8D6BACDF4DE1EAA\"5120share155458230851000916155458230885607635Sat, 06 Apr 2019 20:25:08 GMT\"0x8D6BACDF6B8F6B6\"5120share155458232013504419Sat, 06 Apr 2019 20:25:20 GMT\"0x8D6BACDFD730512\"5120share155458232597200069155458232631800473Sat, 06 Apr 2019 20:25:26 GMT\"0x8D6BACE015C4984\"5120share155458235978104772155458235995602616Sat, 06 Apr 2019 20:26:00 GMT\"0x8D6BACE152F2C77\"5120share155458238152204275155458238169302315Sat, 06 Apr 2019 20:26:21 GMT\"0x8D6BACE22234B1D\"5120share155458246813501241Sat, 06 Apr 2019 20:27:48 GMT\"0x8D6BACE55AA8392\"5120share155458247096107198155458247130607430Sat, 06 Apr 2019 20:27:51 GMT\"0x8D6BACE578E5D67\"5120share155458252434803407155458252452009632Sat, 06 Apr 2019 20:28:44 GMT\"0x8D6BACE77450DDD\"5120share155463491867809931Sun, 07 Apr 2019 11:01:59 GMT\"0x8D6BB4874C1FA32\"5120share155463492805505485155463492814004375Sun, 07 Apr 2019 11:02:08 GMT\"0x8D6BB487A32EA36\"5120share155463495415400624Sun, 07 Apr 2019 11:02:34 GMT\"0x8D6BB4889FB36E2\"5120share155463495863003716155463495867103980Sun, 07 Apr 2019 11:02:38 GMT\"0x8D6BB488C65A2A9\"5120share155463496549001120155463496566809518Sun, 07 Apr 2019 11:02:45 GMT\"0x8D6BB489096CC90\"5120share155463510566206731155463512465407451Sun, 07 Apr 2019 11:05:26 GMT\"0x8D6BB48F0B165EF\"5120share155463540364902833Sun, 07 Apr 2019 11:10:03 GMT\"0x8D6BB49959E6F6C\"5120share155463540439609115155463540442904248Sun, 07 Apr 2019 11:10:04 GMT\"0x8D6BB4996153B3E\"5120share155463542848406129155463542849807262Sun, 07 Apr 2019 11:10:28 GMT\"0x8D6BB49A46DA670\"5120share155463565576604805Sun, 07 Apr 2019 11:14:15 GMT\"0x8D6BB4A2BE4C75B\"5120share155463565789508788155463565794000776Sun, 07 Apr 2019 11:14:18 GMT\"0x8D6BB4A2D664C95\"5120share155463571312806839Sun, 07 Apr 2019 11:15:13 GMT\"0x8D6BB4A4E324D5F\"5120share155463571500609630155463571519400757Sun, 07 Apr 2019 11:15:15 GMT\"0x8D6BB4A4F562BB4\"5120share155463572717801277155463572720009526Sun, 07 Apr 2019 11:15:31 GMT\"0x8D6BB4A593E4806\"5120share155463574903407014155463574912207563Sun, 07 Apr 2019 11:15:49 GMT\"0x8D6BB4A638F50FD\"5120share155463593650002394Sun, 07 Apr 2019 11:18:56 GMT\"0x8D6BB4AD35DE04B\"5120share155463593894103435155463594176804206Sun, 07 Apr 2019 11:19:07 GMT\"0x8D6BB4ADA0C57A9\"5120share155463599400903836155463599403308912Sun, 07 Apr 2019 11:19:54 GMT\"0x8D6BB4AF583B2DB\"5120share155463628106804246Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA09C1EE3\"5120share155463628181805431155463628188001817Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA1175DD3\"5120share155463632163502826155463632187607182Sun, 07 Apr 2019 11:25:22 GMT\"0x8D6BB4BB9036F9B\"5120share155463662044706147Sun, 07 Apr 2019 11:30:20 GMT\"0x8D6BB4C6B2196F0\"5120share155463662176402509155463662181106263Sun, 07 Apr 2019 11:30:21 GMT\"0x8D6BB4C6BB51156\"5120share155463666487909340155463666491409324Sun, 07 Apr 2019 11:31:05 GMT\"0x8D6BB4C8583DD48\"5120share155463698405401209Sun, 07 Apr 2019 11:36:24 GMT\"0x8D6BB4D439ECDDA\"5120share155463698541606800155463698546901035Sun, 07 Apr 2019 11:36:25 GMT\"0x8D6BB4D44771EE6\"5120share155463702978505155155463702979104132Sun, 07 Apr 2019 11:37:09 GMT\"0x8D6BB4D5EE448FE\"5120share155463723950700465Sun, 07 Apr 2019 11:40:39 GMT\"0x8D6BB4DDBF3ADCB\"5120share155463724312503743155463724347607443Sun, 07 Apr 2019 11:40:43 GMT\"0x8D6BB4DDE528D42\"5120share155463729758500306155463729776203740Sun, 07 Apr 2019 11:41:37 GMT\"0x8D6BB4DFEAC4DF1\"5120share155463755748302900Sun, 07 Apr 2019 11:45:57 GMT\"0x8D6BB4E9978E2D2\"5120share155463756042003553155463756079202168Sun, 07 Apr 2019 11:46:00 GMT\"0x8D6BB4E9B7177A8\"5120share155463761358100594155463761375307174Sun, 07 Apr 2019 11:46:53 GMT\"0x8D6BB4EBB02650C\"5120share155463787959207794Sun, 07 Apr 2019 11:51:19 GMT\"0x8D6BB4F59763A07\"5120share155463788290501414155463788325100200Sun, 07 Apr 2019 11:51:23 GMT\"0x8D6BB4F5BA54F45\"5120share155463793259303870155463793276700570Sun, 07 Apr 2019 11:52:12 GMT\"0x8D6BB4F79276239\"5120share155471159410101775Mon, 08 Apr 2019 08:19:54 GMT\"0x8D6BBFAFADBE5E4\"5120share155471159557103774155471159565300748Mon, 08 Apr 2019 08:19:55 GMT\"0x8D6BBFAFB99CD19\"5120share155471159719406945Mon, 08 Apr 2019 08:19:57 GMT\"0x8D6BBFAFCB663A2\"5120share155471159844901546155471159853504786Mon, 08 Apr 2019 08:19:58 GMT\"0x8D6BBFAFD5170F5\"5120share155471161541409992Mon, 08 Apr 2019 08:20:16 GMT\"0x8D6BBFB081F5FB5\"5120share155471161759002308155471161771900228Mon, 08 Apr 2019 08:20:17 GMT\"0x8D6BBFB08C05564\"5120share155471161851605440155471161855706599Mon, 08 Apr 2019 08:20:18 GMT\"0x8D6BBFB0940AA1F\"5120share155471162639902600Mon, 08 Apr 2019 08:20:26 GMT\"0x8D6BBFB0DF3D044\"5120share155471163431809410155471163513501817Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15375AD4\"5120share155471163659409852155471163663305916Mon, 08 Apr 2019 08:20:36 GMT\"0x8D6BBFB140672E7\"5120share155471163879403305155471163883506224Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15570427\"5120share155471164795407473Mon, 08 Apr 2019 08:20:48 GMT\"0x8D6BBFB1ACB17DC\"5120share155471165623109994Mon, 08 Apr 2019 08:20:56 GMT\"0x8D6BBFB1FC3F719\"5120share155471166012804668155471166031308328Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB24406110\"5120share155471166089903157155471166123608644Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB241F036D\"5120share155471172995905724155471173080508446Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C37952A\"5120share155471173051409365155471173059005298Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C0C5968\"5120share155471174333302070155471174341105069Mon, 08 Apr 2019 08:22:23 GMT\"0x8D6BBFB53D3A9B7\"5120share155471182434808256Mon, 08 Apr 2019 08:23:44 GMT\"0x8D6BBFB83E86CA9\"5120share155471182515205917155471182519308076Mon, 08 Apr 2019 08:23:45 GMT\"0x8D6BBFB8469258F\"5120share155471183792306366Mon, 08 Apr 2019 08:23:57 GMT\"0x8D6BBFB8BFDA647\"5120share155471183836601440155471183839808059Mon, 08 Apr 2019 08:23:58 GMT\"0x8D6BBFB8C45ED59\"5120share155471184549402743Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB9081965D\"5120share155471184577508341155471184580705566Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB90B0FDD6\"5120share155471184862508408155471184864008538Mon, 08 Apr 2019 08:24:08 GMT\"0x8D6BBFB926308AD\"5120share155471185496004282155471185497309494Mon, 08 Apr 2019 08:24:14 GMT\"0x8D6BBFB96272195\"5120share155471186424807606155471186426203954Mon, 08 Apr 2019 08:24:24 GMT\"0x8D6BBFB9BB131A5\"5120share155471193314004724Mon, 08 Apr 2019 08:25:33 GMT\"0x8D6BBFBC4C751E1\"5120share155471193593408635155471193764704577Mon, 08 Apr 2019 08:25:37 GMT\"0x8D6BBFBC776A651\"5120share155471194397407124Mon, 08 Apr 2019 08:25:44 GMT\"0x8D6BBFBCB3C2379\"5120share155471194555807811155471194571401786Mon, 08 Apr 2019 08:25:47 GMT\"0x8D6BBFBCD737F4F\"5120share155471194946302657Mon, 08 Apr 2019 08:25:49 GMT\"0x8D6BBFBCEC19047\"5120share155471195223406412155471195241808309Mon, 08 Apr 2019 08:25:52 GMT\"0x8D6BBFBD043CA23\"5120share155471195442005853Mon, 08 Apr 2019 08:25:54 GMT\"0x8D6BBFBD1932F7D\"5120share155471195678502043155471195696904048Mon, 08 Apr 2019 08:25:57 GMT\"0x8D6BBFBD2F92138\"5120share155471195874606540Mon, 08 Apr 2019 08:25:58 GMT\"0x8D6BBFBD402CCA4\"5120share155471196273505067155471196279008024Mon, 08 Apr 2019 08:26:02 GMT\"0x8D6BBFBD66C3E32\"5120share155471196687506253Mon, 08 Apr 2019 08:26:07 GMT\"0x8D6BBFBD8F28488\"5120share155471196866402199155471196884600096Mon, 08 Apr 2019 08:26:08 GMT\"0x8D6BBFBDA0C5FC2\"5120share155471197493802599155471197525806627Mon, 08 Apr 2019 08:26:15 GMT\"0x8D6BBFBDDE17260\"5120share155471198776902969155471198787408405Mon, 08 Apr 2019 08:26:27 GMT\"0x8D6BBFBE56583EC\"5120share155471198949002768155471198957504390Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE66A3DE2\"5120share155471198959605149155471198986208091Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE6954C17\"5120share155471199019804683155471199021904269Mon, 08 Apr 2019 08:26:30 GMT\"0x8D6BBFBE6C605AD\"5120share155471199895909131155471199904807398Mon, 08 Apr 2019 08:26:39 GMT\"0x8D6BBFBEC0C669D\"5120share155471216392807544Mon, 08 Apr 2019 08:29:23 GMT\"0x8D6BBFC4E4F47FC\"5120share155471216452709732155471216456902840Mon, 08 Apr 2019 08:29:26 GMT\"0x8D6BBFC4FC7CD1D\"5120share155471217136404726Mon, 08 Apr 2019 08:29:31 GMT\"0x8D6BBFC52BDE426\"5120share155471217222402240155471217226106507Mon, 08 Apr 2019 08:29:32 GMT\"0x8D6BBFC53470269\"5120share155471218247602987Mon, 08 Apr 2019 08:29:42 GMT\"0x8D6BBFC595CC199\"5120share155471218361402387155471218365005312Mon, 08 Apr 2019 08:29:43 GMT\"0x8D6BBFC5A0FE3DD\"5120share155471219940306579155471219942604065Mon, 08 Apr 2019 08:29:59 GMT\"0x8D6BBFC63780FBF\"5120share155471220016802925155471220030607499Mon, 08 Apr 2019 08:30:00 GMT\"0x8D6BBFC63FED675\"5120share155471220290902917155471220293500348Mon, 08 Apr 2019 08:30:02 GMT\"0x8D6BBFC658E59F6\"5120share155471249309900739Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD129316CF\"5120share155471249367802014155471249372503616Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD12E38F1C\"5120share155471249672508697Mon, 08 Apr 2019 08:34:56 GMT\"0x8D6BBFD14AEB26A\"5120share155471249717808132155471249721001861Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD14F86882\"5120share155471249764407211Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD153BD7C4\"5120share155471249811307309155471249830109173Mon, 08 Apr 2019 08:34:58 GMT\"0x8D6BBFD15A17797\"5120share155471251563202676155471251564809213Mon, 08 Apr 2019 08:35:15 GMT\"0x8D6BBFD1FF476DC\"5120share155471251726303555155471251727801842Mon, 08 Apr 2019 08:35:17 GMT\"0x8D6BBFD20EF45C5\"5120share155471252286607127155471252289804824Mon, 08 Apr 2019 08:35:22 GMT\"0x8D6BBFD24468D24\"5120share155471280107407056Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA150A06\"5120share155471280122303103Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA2AA85A\"5120share155471280157501884155471280162209736Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA689843\"5120share155471280170901900155471280269609138Mon, 08 Apr 2019 08:40:02 GMT\"0x8D6BBFDCB0B4F94\"5120share155471281860403066Mon, 08 Apr 2019 08:40:18 GMT\"0x8D6BBFDD485DCD0\"5120share155471282020204926155471282024907974Mon, 08 Apr 2019 08:40:20 GMT\"0x8D6BBFDD581C2E6\"5120share155471282773802277155471282776901903Mon, 08 Apr 2019 08:40:27 GMT\"0x8D6BBFDD9FC956E\"5120share155471283070409441155471283071900050Mon, 08 Apr 2019 08:40:30 GMT\"0x8D6BBFDDBC0CC62\"5120share155471284115800709155471284117302223Mon, 08 Apr 2019 08:40:41 GMT\"0x8D6BBFDE1FC0E2A\"5120share155471313076205798Mon, 08 Apr 2019 08:45:30 GMT\"0x8D6BBFE8E985DA6\"5120share155471313135605696155471313140307661Mon, 08 Apr 2019 08:45:31 GMT\"0x8D6BBFE8EFA806E\"5120share155471314247306296Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE9592429E\"5120share155471314285105895155471314289809059Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE95D17ABD\"5120share155471314655408113Mon, 08 Apr 2019 08:45:46 GMT\"0x8D6BBFE98026629\"5120share155471315036608620155471315039706752Mon, 08 Apr 2019 08:45:53 GMT\"0x8D6BBFE9BFF3E8D\"5120share155471315738800255155471315740403394Mon, 08 Apr 2019 08:45:57 GMT\"0x8D6BBFE9E7A78D8\"5120share155471316127700943155471316129308576Mon, 08 Apr 2019 08:46:01 GMT\"0x8D6BBFEA0CA3EB9\"5120share155471317319209006155471317320803568Mon, 08 Apr 2019 08:46:13 GMT\"0x8D6BBFEA7E52732\"5120share155471338564903682Mon, 08 Apr 2019 08:49:45 GMT\"0x8D6BBFF26965E97\"5120share155471338612201724Mon, 08 Apr 2019 08:49:46 GMT\"0x8D6BBFF26DDC80B\"5120share155471338707501668Mon, 08 Apr 2019 08:49:47 GMT\"0x8D6BBFF276FE91A\"5120share155471338875509216155471338911108778Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28A5CC73\"5120share155471338907003423155471338943607988Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28D7C43E\"5120share155471339077005177155471339112707523Mon, 08 Apr 2019 08:49:51 GMT\"0x8D6BBFF29D97BDE\"5120share155471344114607322155471344132404540Mon, 08 Apr 2019 08:50:41 GMT\"0x8D6BBFF47C434F1\"5120share155471344305708178155471344323803707Mon, 08 Apr 2019 08:50:43 GMT\"0x8D6BBFF48E9B6AB\"5120share155471345132108943155471345150106029Mon, 08 Apr 2019 08:50:51 GMT\"0x8D6BBFF4DE3889E\"5120share155471361870008084Mon, 08 Apr 2019 08:53:39 GMT\"0x8D6BBFFB1EEC742\"5120share155471371725508964Mon, 08 Apr 2019 08:55:17 GMT\"0x8D6BBFFEC3CDD7B\"5120share155471371944301810Mon, 08 Apr 2019 08:55:19 GMT\"0x8D6BBFFED8C775F\"5120share155471371991209376Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEDD38528\"5120share155471372018104292155471372052805770Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEE2FFA2F\"5120share155471372233805696155471372271708417Mon, 08 Apr 2019 08:55:22 GMT\"0x8D6BBFFEF7F6246\"5120share155471372290109620155471372324904545Mon, 08 Apr 2019 08:55:23 GMT\"0x8D6BBFFEFDE088A\"5120share155471377091005451155471377108904189Mon, 08 Apr 2019 08:56:11 GMT\"0x8D6BC000C53B864\"5120share155471377364408697155471377382002962Mon, 08 Apr 2019 08:56:13 GMT\"0x8D6BC000DF49A62\"5120share155471377523007053155471377540900660Mon, 08 Apr 2019 08:56:15 GMT\"0x8D6BC000EE6C927\"5120share155471402950606676Mon, 08 Apr 2019 09:00:29 GMT\"0x8D6BC00A65AACF7\"5120share155471403233404398155471403270309055Mon, 08 Apr 2019 09:00:32 GMT\"0x8D6BC00A8426D4A\"5120share155471403964001185Mon, 08 Apr 2019 09:00:39 GMT\"0x8D6BC00AC6541C8\"5120share155471404293509573155471404328606393Mon, 08 Apr 2019 09:00:43 GMT\"0x8D6BC00AE906AAF\"5120share155471407955303616155471407972706941Mon, 08 Apr 2019 09:01:19 GMT\"0x8D6BC00C4491574\"5120share155471409885107441155471409902406315Mon, 08 Apr 2019 09:01:39 GMT\"0x8D6BC00CFC9D367\"5120share155471420123407076Mon, 08 Apr 2019 09:03:22 GMT\"0x8D6BC010D28BDE1\"5120share155471420502801318155471420537802414Mon, 08 Apr 2019 09:03:25 GMT\"0x8D6BC010F2CB097\"5120share155471426607204412155471426625208107Mon, 08 Apr 2019 09:04:26 GMT\"0x8D6BC013375377C\"5120share155472160987405653Mon, 08 Apr 2019 11:06:50 GMT\"0x8D6BC124C9978EA\"5120share155472161097000757155472161105208077Mon, 08 Apr 2019 11:06:51 GMT\"0x8D6BC124D3DBF8D\"5120share155472163173801961155472163177609525Mon, 08 Apr 2019 11:07:11 GMT\"0x8D6BC125997DF0C\"5120share155472168232901716Mon, 08 Apr 2019 11:08:02 GMT\"0x8D6BC1277BFA9C8\"5120share155472168374104176155472168446607643Mon, 08 Apr 2019 11:08:04 GMT\"0x8D6BC1279214100\"5120share155472176197105947155472176205007656Mon, 08 Apr 2019 11:09:22 GMT\"0x8D6BC12A74454C3\"5120share155472204199900828Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E191AC7\"5120share155472204277609584155472204280601112Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E94A044\"5120share155472206496708024155472206498204033Mon, 08 Apr 2019 11:14:25 GMT\"0x8D6BC135BCCCA84\"5120share155472216705901492Mon, 08 Apr 2019 11:16:07 GMT\"0x8D6BC1398D048C8\"5120share155472216898001523155472216916205107Mon, 08 Apr 2019 11:16:09 GMT\"0x8D6BC1399EAA37A\"5120share155472219103107027Mon, 08 Apr 2019 11:16:31 GMT\"0x8D6BC13A6F4AE8C\"5120share155472219425905471155472219440702152Mon, 08 Apr 2019 11:16:34 GMT\"0x8D6BC13A921A1C9\"5120share155472220033004812155472220042206911Mon, 08 Apr 2019 11:16:40 GMT\"0x8D6BC13AC8D206A\"5120share155472224824707837155472224832008824Mon, 08 Apr 2019 11:17:28 GMT\"0x8D6BC13C919E65E\"5120share155472246204805623Mon, 08 Apr 2019 11:21:02 GMT\"0x8D6BC14487717FD\"5120share155472246241309337155472246263507674Mon, 08 Apr 2019 11:21:03 GMT\"0x8D6BC14496CB4D5\"5120share155472249524904748155472249526905903Mon, 08 Apr 2019 11:21:35 GMT\"0x8D6BC145C441D54\"5120share155472278844408698Mon, 08 Apr 2019 11:26:28 GMT\"0x8D6BC150B092C7A\"5120share155472278907008129155472278920004266Mon, 08 Apr 2019 11:26:29 GMT\"0x8D6BC150B7C124C\"5120share155472284254600007155472284256208525Mon, 08 Apr 2019 11:27:22 GMT\"0x8D6BC152B4A911F\"5120share155472312229503604Mon, 08 Apr 2019 11:32:02 GMT\"0x8D6BC15D200E575\"5120share155472312412809123155472312417501747Mon, 08 Apr 2019 11:32:04 GMT\"0x8D6BC15D31D7FAE\"5120share155472315446303765155472315449505989Mon, 08 Apr 2019 11:32:34 GMT\"0x8D6BC15E5302244\"5120share155472345996309413Mon, 08 Apr 2019 11:37:39 GMT\"0x8D6BC169B4675F7\"5120share155472346051206066155472346057508799Mon, 08 Apr 2019 11:37:40 GMT\"0x8D6BC169BA35295\"5120share155472348747305567155472348748800979Mon, 08 Apr 2019 11:38:07 GMT\"0x8D6BC16ABADD753\"5120share155472371337200587Mon, 08 Apr 2019 11:41:53 GMT\"0x8D6BC1732641149\"5120share155472371674603033155472371719309773Mon, 08 Apr 2019 11:41:57 GMT\"0x8D6BC1734C4AD1D\"5120share155472377588104348155472377613206149Mon, 08 Apr 2019 11:42:56 GMT\"0x8D6BC1757CB4FB5\"5120share155472411306702730Mon, 08 Apr 2019 11:48:33 GMT\"0x8D6BC1820A06135\"5120share155472411721604937155472411760505391Mon, 08 Apr 2019 11:48:37 GMT\"0x8D6BC1823541FBE\"5120share155472417274301118155472417291606860Mon, 08 Apr 2019 11:49:33 GMT\"0x8D6BC18444D2432\"5120share155472448089705120Mon, 08 Apr 2019 11:54:41 GMT\"0x8D6BC18FBDED986\"5120share155472448370807083155472448406101169Mon, 08 Apr 2019 11:54:44 GMT\"0x8D6BC18FDC115E2\"5120share155472453427508600155472453444907889Mon, 08 Apr 2019 11:55:34 GMT\"0x8D6BC191BCCB9BF\"5120share155472855094705964Mon, 08 Apr 2019 13:02:31 GMT\"0x8D6BC2275D7C473\"5120share155472855239009959155472855247404733Mon, 08 Apr 2019 13:02:32 GMT\"0x8D6BC2276A627CE\"5120share155472856032008076Mon, 08 Apr 2019 13:02:41 GMT\"0x8D6BC227BD9467D\"5120share155472856217809292155472856226408487Mon, 08 Apr 2019 13:02:42 GMT\"0x8D6BC227C7D2423\"5120share155472856366803949Mon, 08 Apr 2019 13:02:43 GMT\"0x8D6BC227D692AC9\"5120share155472856528205546155472856545204869Mon, 08 Apr 2019 13:02:45 GMT\"0x8D6BC227E67D1EF\"5120share155472857573303054155472857578001261Mon, 08 Apr 2019 13:02:55 GMT\"0x8D6BC22848AC2B9\"5120share155472858718602344155472858722904206Mon, 08 Apr 2019 13:03:07 GMT\"0x8D6BC228B5EA846\"5120share155472859275800578Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EB057C8\"5120share155472859281003726155472859289304102Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EC2C83E\"5120share155472859438304193155472859454102545Mon, 08 Apr 2019 13:03:14 GMT\"0x8D6BC228FBFC6F4\"5120share155472859997408060Mon, 08 Apr 2019 13:03:20 GMT\"0x8D6BC2293079122\"5120share155472860456904599155472860489607509Mon, 08 Apr 2019 13:03:25 GMT\"0x8D6BC2295F5DA07\"5120share155472861037200948Mon, 08 Apr 2019 13:03:30 GMT\"0x8D6BC229939EC8D\"5120share155472861305108945155472861338108485Mon, 08 Apr 2019 13:03:36 GMT\"0x8D6BC229CA157C0\"5120share155472865853408678155472865861303126Mon, 08 Apr 2019 13:04:18 GMT\"0x8D6BC22B5EF8CF3\"5120share155472868380603467155472868396900550Mon, 08 Apr 2019 13:04:44 GMT\"0x8D6BC22C517F4B3\"5120share155472868557503999155472868576501705Mon, 08 Apr 2019 13:04:45 GMT\"0x8D6BC22C62A39FA\"5120share155472879121104691Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC2304F03B40\"5120share155472879189403290155472879193803545Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC23055F2961\"5120share155472879243008995Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305AC7850\"5120share155472879280808188155472879284409230Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305EC7325\"5120share155472880698205090155472880699806109Mon, 08 Apr 2019 13:06:47 GMT\"0x8D6BC230E58A3F5\"5120share155472880814103146155472880815505990Mon, 08 Apr 2019 13:06:48 GMT\"0x8D6BC230F0B9BFB\"5120share155472881234807755Mon, 08 Apr 2019 13:06:52 GMT\"0x8D6BC2311884B12\"5120share155472881340207390155472881350205618Mon, 08 Apr 2019 13:06:53 GMT\"0x8D6BC2312387E17\"5120share155472883072301392155472883073803010Mon, 08 Apr 2019 13:07:10 GMT\"0x8D6BC231C7E23F5\"5120share155472885337806659Mon, 08 Apr 2019 13:07:33 GMT\"0x8D6BC232A11D740\"5120share155472885613805171155472885646702766Mon, 08 Apr 2019 13:07:36 GMT\"0x8D6BC232BEA3B02\"5120share155472889661305776Mon, 08 Apr 2019 13:08:16 GMT\"0x8D6BC2343CAEEAB\"5120share155472889788009681155472889803300893Mon, 08 Apr 2019 13:08:18 GMT\"0x8D6BC2344A41FDF\"5120share155472891001406580Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BDA3B1D\"5120share155472891007702393155472891023709481Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BF5BF5B\"5120share155472891025302439Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234C02A1DD\"5120share155472891190208427155472891208509099Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D02D031\"5120share155472891198206893155472891216501231Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D0EF9AB\"5120share155472891445805441Mon, 08 Apr 2019 13:08:34 GMT\"0x8D6BC234E6E1621\"5120share155472891568202078155472891586502301Mon, 08 Apr 2019 13:08:35 GMT\"0x8D6BC234F44AFC9\"5120share155472893112604559155472893120100232Mon, 08 Apr 2019 13:08:51 GMT\"0x8D6BC23586881C1\"5120share155472893354909897Mon, 08 Apr 2019 13:08:53 GMT\"0x8D6BC2359E9B5A9\"5120share155472893564809628155472893583008434Mon, 08 Apr 2019 13:08:55 GMT\"0x8D6BC235B2AEAA9\"5120share155472893953307706155472893962206298Mon, 08 Apr 2019 13:08:59 GMT\"0x8D6BC235D6C870E\"5120share155472894318507838155472894330704679Mon, 08 Apr 2019 13:09:03 GMT\"0x8D6BC235F9E8958\"5120share155472894681003497155472894688800449Mon, 08 Apr 2019 13:09:06 GMT\"0x8D6BC2361C272A0\"5120share155472897035005236155472897043802002Mon, 08 Apr 2019 13:09:30 GMT\"0x8D6BC236FCB801E\"5120share155472912188008460Mon, 08 Apr 2019 13:12:01 GMT\"0x8D6BC23CA09833E\"5120share155472912242309883155472912246805247Mon, 08 Apr 2019 13:12:02 GMT\"0x8D6BC23CA64647F\"5120share155472912938903083Mon, 08 Apr 2019 13:12:09 GMT\"0x8D6BC23CE8AD1E7\"5120share155472913061307138155472913077708600Mon, 08 Apr 2019 13:12:10 GMT\"0x8D6BC23CF5DF0BD\"5120share155472913125601489Mon, 08 Apr 2019 13:12:11 GMT\"0x8D6BC23CFA730AD\"5120share155472913283609927155472913298509950Mon, 08 Apr 2019 13:12:13 GMT\"0x8D6BC23D0AE8C17\"5120share155472915487105003155472915489100854Mon, 08 Apr 2019 13:12:34 GMT\"0x8D6BC23DDB68675\"5120share155472916544804385155472916552306014Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4134A09\"5120share155472916548503832155472916556105425Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4197E02\"5120share155472946012606736Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2493A69CE5\"5120share155472946068908993155472946073508657Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2494053C3E\"5120share155472949633202046155472949636407118Mon, 08 Apr 2019 13:18:16 GMT\"0x8D6BC24A93FE744\"5120share155472953229106299Mon, 08 Apr 2019 13:18:52 GMT\"0x8D6BC24BEB4AF41\"5120share155472953357501863155472953373103768Mon, 08 Apr 2019 13:18:53 GMT\"0x8D6BC24BF90D02A\"5120share155472956713506493155472956721301657Mon, 08 Apr 2019 13:19:27 GMT\"0x8D6BC24D386476F\"5120share155472966502508606Mon, 08 Apr 2019 13:21:05 GMT\"0x8D6BC250DCA4603\"5120share155472966597907744155472966604202953Mon, 08 Apr 2019 13:21:06 GMT\"0x8D6BC250E645809\"5120share155472968498508655155472968500103917Mon, 08 Apr 2019 13:21:25 GMT\"0x8D6BC2519AFE985\"5120share155472988433902736Mon, 08 Apr 2019 13:24:44 GMT\"0x8D6BC25909324BE\"5120share155472988724409985155472988760204301Mon, 08 Apr 2019 13:24:47 GMT\"0x8D6BC2592849B4B\"5120share155472993030607011Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25ABE51EAD\"5120share155472993075507215155472993080206083Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25AC3328A7\"5120share155472993914402363155472993931800672Mon, 08 Apr 2019 13:25:39 GMT\"0x8D6BC25B1574FAE\"5120share155472994748901085155472994750403825Mon, 08 Apr 2019 13:25:47 GMT\"0x8D6BC25B6263F7C\"5120share155473001947302004Mon, 08 Apr 2019 13:26:59 GMT\"0x8D6BC25E10CE3BC\"5120share155473002051606362155473002054908313Mon, 08 Apr 2019 13:27:00 GMT\"0x8D6BC25E1B35EC4\"5120share155473004648705855155473004649703999Mon, 08 Apr 2019 13:27:26 GMT\"0x8D6BC25F12ABCA1\"5120share155473016072107034Mon, 08 Apr 2019 13:29:20 GMT\"0x8D6BC26354F9473\"5120share155473016364503276155473016400103009Mon, 08 Apr 2019 13:29:24 GMT\"0x8D6BC263743A815\"5120share155473021339603603Mon, 08 Apr 2019 13:30:13 GMT\"0x8D6BC2654B5158C\"5120share155473021424106750155473021441604785Mon, 08 Apr 2019 13:30:14 GMT\"0x8D6BC2655503B1E\"5120share155473021650606398155473021685603088Mon, 08 Apr 2019 13:30:17 GMT\"0x8D6BC2656CD882A\"5120share155473026269308380155473026286901426Mon, 08 Apr 2019 13:31:03 GMT\"0x8D6BC267231CA94\"5120share155473035103103790Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6AA97EE\"5120share155473035153304048155473035158009118Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6FEFB2F\"5120share155473037272506388155473037274004114Mon, 08 Apr 2019 13:32:52 GMT\"0x8D6BC26B39B5FAF\"5120share155473049819605040Mon, 08 Apr 2019 13:34:58 GMT\"0x8D6BC26FE7673E3\"5120share155473050103008382155473050142509037Mon, 08 Apr 2019 13:35:01 GMT\"0x8D6BC2700635DFF\"5120share155473054025008839Mon, 08 Apr 2019 13:35:40 GMT\"0x8D6BC27178337FC\"5120share155473054308605886155473054343906261Mon, 08 Apr 2019 13:35:43 GMT\"0x8D6BC27196A1851\"5120share155473054870903343155473054888203021Mon, 08 Apr 2019 13:35:49 GMT\"0x8D6BC271CAB8110\"5120share155473059007607327Mon, 08 Apr 2019 13:36:30 GMT\"0x8D6BC27353A326A\"5120share155473059366105315155473059402501772Mon, 08 Apr 2019 13:36:34 GMT\"0x8D6BC273791DA87\"5120share155473060266605803155473060284208896Mon, 08 Apr 2019 13:36:42 GMT\"0x8D6BC273CD2198E\"5120share155473064357606911155473064435408339Mon, 08 Apr 2019 13:37:24 GMT\"0x8D6BC27559218D8\"5120share155473082374108141Mon, 08 Apr 2019 13:40:23 GMT\"0x8D6BC27C07F8583\"5120share155473082651508300155473082686007339Mon, 08 Apr 2019 13:40:27 GMT\"0x8D6BC27C25B3DFF\"5120share155473087260606566155473087278203141Mon, 08 Apr 2019 13:41:12 GMT\"0x8D6BC27DDBAB773\"5120share155473091696409658Mon, 08 Apr 2019 13:41:57 GMT\"0x8D6BC27F8105DF2\"5120share155473092104706246155473092139602510Mon, 08 Apr 2019 13:42:01 GMT\"0x8D6BC27FAB44C17\"5120share155473103328506254155473103346108302Mon, 08 Apr 2019 13:43:53 GMT\"0x8D6BC283D8145CD\"5120share155473133348900275Mon, 08 Apr 2019 13:48:53 GMT\"0x8D6BC28F0562800\"5120share155473133641905218155473133676805608Mon, 08 Apr 2019 13:48:56 GMT\"0x8D6BC28F24A93FA\"5120share155473138457402066155473138474908082Mon, 08 Apr 2019 13:49:45 GMT\"0x8D6BC290EF52FE8\"5120share155473419080304153Mon, 08 Apr 2019 14:36:30 GMT\"0x8D6BC2F97732CFC\"5120share155473419365800817155473419382602756Mon, 08 Apr 2019 14:36:33 GMT\"0x8D6BC2F992DFF3C\"5120share155473421466607871Mon, 08 Apr 2019 14:36:54 GMT\"0x8D6BC2FA5BA6AEB\"5120share155473421635506352155473421652306205Mon, 08 Apr 2019 14:36:56 GMT\"0x8D6BC2FA6B4853A\"5120share155473422402809012155473422411202007Mon, 08 Apr 2019 14:37:04 GMT\"0x8D6BC2FAB3B4F2B\"5120share155473423347103300Mon, 08 Apr 2019 14:37:14 GMT\"0x8D6BC2FB1A4AC26\"5120share155473423963007764155473423996109344Mon, 08 Apr 2019 14:37:20 GMT\"0x8D6BC2FB4B923A2\"5120share155473424644901018155473424653402397Mon, 08 Apr 2019 14:37:26 GMT\"0x8D6BC2FB897E295\"5120share155473425057902422Mon, 08 Apr 2019 14:37:30 GMT\"0x8D6BC2FBB0CFAC3\"5120share155473425521309931155473425553507393Mon, 08 Apr 2019 14:37:35 GMT\"0x8D6BC2FBE0153D1\"5120share155473428819308505155473428835809325Mon, 08 Apr 2019 14:38:08 GMT\"0x8D6BC2FD191EC8D\"5120share155473430398307530155473430415601116Mon, 08 Apr 2019 14:38:24 GMT\"0x8D6BC2FDAFCD3CA\"5120share155473444829502736Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC3030D3FEF9\"5120share155473444885204661155473444888103257Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC30312D73D3\"5120share155473446739109486155473446744407340Mon, 08 Apr 2019 14:41:07 GMT\"0x8D6BC303C3F7578\"5120share155473447118803434Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303E792FBD\"5120share155473447149009693155473447154508068Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303EAFF271\"5120share155473448801104504155473448802709932Mon, 08 Apr 2019 14:41:28 GMT\"0x8D6BC304883AF71\"5120share155473450198203199Mon, 08 Apr 2019 14:41:42 GMT\"0x8D6BC3050E61990\"5120share155473450471305879155473450503806574Mon, 08 Apr 2019 14:41:45 GMT\"0x8D6BC3052B8A414\"5120share155473450704204579Mon, 08 Apr 2019 14:41:47 GMT\"0x8D6BC3053DEF142\"5120share155473450855306043155473450872307814Mon, 08 Apr 2019 14:41:48 GMT\"0x8D6BC3054DF5FA3\"5120share155473452656102693Mon, 08 Apr 2019 14:42:06 GMT\"0x8D6BC305F832E74\"5120share155473452751203866155473452759608707Mon, 08 Apr 2019 14:42:07 GMT\"0x8D6BC306019B7BE\"5120share155473453016401763Mon, 08 Apr 2019 14:42:10 GMT\"0x8D6BC3061A718A5\"5120share155473453144608682155473453159403269Mon, 08 Apr 2019 14:42:11 GMT\"0x8D6BC306280AC92\"5120share155473453662701273155473453671007534Mon, 08 Apr 2019 14:42:16 GMT\"0x8D6BC30658DA53B\"5120share155473454493806127Mon, 08 Apr 2019 14:42:25 GMT\"0x8D6BC306A80FFCA\"5120share155473454766406718155473454798605644Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306C526A63\"5120share155473454885408589155473454889408297Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306CCBAC1B\"5120share155473455531307272155473455547503726Mon, 08 Apr 2019 14:42:35 GMT\"0x8D6BC3070C880EF\"5120share155473456298508198155473456305604832Mon, 08 Apr 2019 14:42:43 GMT\"0x8D6BC30754176D8\"5120share155473457035304465Mon, 08 Apr 2019 14:42:50 GMT\"0x8D6BC3079AD1280\"5120share155473457207902291155473457226309592Mon, 08 Apr 2019 14:42:52 GMT\"0x8D6BC307ABD6939\"5120share155473457381405301Mon, 08 Apr 2019 14:42:53 GMT\"0x8D6BC307BA554F0\"5120share155473457424906501155473457433400772Mon, 08 Apr 2019 14:42:54 GMT\"0x8D6BC307BF5A02B\"5120share155473459079300332155473459095407127Mon, 08 Apr 2019 14:43:11 GMT\"0x8D6BC3085EEA6C0\"5120share155473459710804634155473459712507679Mon, 08 Apr 2019 14:43:17 GMT\"0x8D6BC3089893A07\"5120share155473460239208483155473460248307905Mon, 08 Apr 2019 14:43:22 GMT\"0x8D6BC308CC03D5B\"5120share155473460627301747Mon, 08 Apr 2019 14:43:26 GMT\"0x8D6BC308F166326\"5120share155473461191303184155473461215007685Mon, 08 Apr 2019 14:43:32 GMT\"0x8D6BC309283A21C\"5120share155473465896305363155473465905601441Mon, 08 Apr 2019 14:44:19 GMT\"0x8D6BC30AE7954B9\"5120share155473475957902774Mon, 08 Apr 2019 14:45:59 GMT\"0x8D6BC30EA6481FA\"5120share155473476083109353155473476097609742Mon, 08 Apr 2019 14:46:01 GMT\"0x8D6BC30EB39884A\"5120share155473476726807566Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EEF33FDC\"5120share155473476746100635Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EF23300D\"5120share155473477012302696155473477045003815Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F0EB24C0\"5120share155473477072405685Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F11D1338\"5120share155473477140802459155473477144704421Mon, 08 Apr 2019 14:46:11 GMT\"0x8D6BC30F170F086\"5120share155473477249206448155473477266401927Mon, 08 Apr 2019 14:46:12 GMT\"0x8D6BC30F2329512\"5120share155473478823203814155473478825205786Mon, 08 Apr 2019 14:46:28 GMT\"0x8D6BC30FB75293E\"5120share155473479136803374Mon, 08 Apr 2019 14:46:31 GMT\"0x8D6BC30FD57C6D6\"5120share155473479266204971155473479281803186Mon, 08 Apr 2019 14:46:32 GMT\"0x8D6BC30FE3534B2\"5120share155473480100304003155473480112603676Mon, 08 Apr 2019 14:46:41 GMT\"0x8D6BC310329D9D4\"5120share155473480306601561155473480314406594Mon, 08 Apr 2019 14:46:43 GMT\"0x8D6BC31045BEA29\"5120share155473480640000894Mon, 08 Apr 2019 14:46:46 GMT\"0x8D6BC3106588942\"5120share155473480909907513155473480941802582Mon, 08 Apr 2019 14:46:49 GMT\"0x8D6BC3108258412\"5120share155473482284601258155473482302000606Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC3110403003\"5120share155473482346807389155473482354003411Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC311084DD46\"5120share155473486075707188155473486108207129Mon, 08 Apr 2019 14:47:41 GMT\"0x8D6BC3126EFFE93\"5120share155473491634009737Mon, 08 Apr 2019 14:48:36 GMT\"0x8D6BC3148074DE4\"5120share155473491776103356Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC3149271C83\"5120share155473491829107624155473491848606435Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC31491B7485\"5120share155473492039605902155473492058008609Mon, 08 Apr 2019 14:48:40 GMT\"0x8D6BC314A5A3B77\"5120share155473494644803778155473494654101281Mon, 08 Apr 2019 14:49:06 GMT\"0x8D6BC3159D3BB81\"5120share155473494988505571155473494997503463Mon, 08 Apr 2019 14:49:10 GMT\"0x8D6BC315BDF5889\"5120share155473504589508380Mon, 08 Apr 2019 14:50:45 GMT\"0x8D6BC31950DBB93\"5120share155473504755106401155473504772905196Mon, 08 Apr 2019 14:50:47 GMT\"0x8D6BC319625F582\"5120share155473507333906486155473507341004547Mon, 08 Apr 2019 14:51:13 GMT\"0x8D6BC31A5735C1B\"5120share155473508082805354Mon, 08 Apr 2019 14:51:20 GMT\"0x8D6BC31A9EAA61F\"5120share155473508343703505155473508378405955Mon, 08 Apr 2019 14:51:23 GMT\"0x8D6BC31ABAE240D\"5120share155473511673807490Mon, 08 Apr 2019 14:51:56 GMT\"0x8D6BC31BF405B40\"5120share155473511726907503155473511731603497Mon, 08 Apr 2019 14:51:57 GMT\"0x8D6BC31BF9744D7\"5120share155473512676901896Mon, 08 Apr 2019 14:52:06 GMT\"0x8D6BC31C545BA7B\"5120share155473512807902236155473512825108944Mon, 08 Apr 2019 14:52:08 GMT\"0x8D6BC31C6275C62\"5120share155473513050407263155473513067905072Mon, 08 Apr 2019 14:52:10 GMT\"0x8D6BC31C7A1FF9F\"5120share155473513462203992155473513463806811Mon, 08 Apr 2019 14:52:14 GMT\"0x8D6BC31C9EB6C87\"5120share155473515791202563155473515797500387Mon, 08 Apr 2019 14:52:38 GMT\"0x8D6BC31D7E08B0F\"5120share155473540087503802Mon, 08 Apr 2019 14:56:40 GMT\"0x8D6BC32689704D3\"5120share155473540135308638155473540140007991Mon, 08 Apr 2019 14:56:41 GMT\"0x8D6BC3268E7DC90\"5120share155473541865302883Mon, 08 Apr 2019 14:56:58 GMT\"0x8D6BC32734A2927\"5120share155473542133905271155473542168206950Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC32751882E8\"5120share155473542163709330155473542168408080Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC3274FF8FE4\"5120share155473545874807881Mon, 08 Apr 2019 14:57:38 GMT\"0x8D6BC328B1BFAF9\"5120share155473545934304563155473545945208605Mon, 08 Apr 2019 14:57:39 GMT\"0x8D6BC328B8BF073\"5120share155473546811406701155473546830200544Mon, 08 Apr 2019 14:57:48 GMT\"0x8D6BC3290E73592\"5120share155473546996700257Mon, 08 Apr 2019 14:57:49 GMT\"0x8D6BC3291C9FD28\"5120share155473547032804613155473547035904086Mon, 08 Apr 2019 14:57:50 GMT\"0x8D6BC329207D3FE\"5120share155473547643107314155473547644703911Mon, 08 Apr 2019 14:57:56 GMT\"0x8D6BC3295A9340F\"5120share155473550717605678155473550719206836Mon, 08 Apr 2019 14:58:27 GMT\"0x8D6BC32A7FBCAFA\"5120share155473570285307598Mon, 08 Apr 2019 15:01:42 GMT\"0x8D6BC331CA187F6\"5120share155473570414402008155473570428906711Mon, 08 Apr 2019 15:01:44 GMT\"0x8D6BC331D7C0D0A\"5120share155473573312304189155473573318500333Mon, 08 Apr 2019 15:02:13 GMT\"0x8D6BC332EB6100B\"5120share155473576580407113Mon, 08 Apr 2019 15:02:45 GMT\"0x8D6BC33421F5A27\"5120share155473576613205186155473576618304618Mon, 08 Apr 2019 15:02:46 GMT\"0x8D6BC334258F41B\"5120share155473578765705355155473578767306787Mon, 08 Apr 2019 15:03:07 GMT\"0x8D6BC334F2922D1\"5120share155473578934909083Mon, 08 Apr 2019 15:03:09 GMT\"0x8D6BC33503B037A\"5120share155473579710504080155473579792000573Mon, 08 Apr 2019 15:03:18 GMT\"0x8D6BC3355570EAD\"5120share155473581512706676Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335F851F43\"5120share155473581554903183155473581559605594Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335FCD21A0\"5120share155473583169403864155473583171007928Mon, 08 Apr 2019 15:03:51 GMT\"0x8D6BC336968FE48\"5120share155473584151407616155473584166900204Mon, 08 Apr 2019 15:04:01 GMT\"0x8D6BC336F6BEF3F\"5120share155473599014106282Mon, 08 Apr 2019 15:06:30 GMT\"0x8D6BC33C7EA549A\"5120share155473599315900980155473599355000904Mon, 08 Apr 2019 15:06:33 GMT\"0x8D6BC33C9F29249\"5120share155473604520700164155473604539400204Mon, 08 Apr 2019 15:07:25 GMT\"0x8D6BC33E8F9FDB7\"5120share155473606941100702Mon, 08 Apr 2019 15:07:49 GMT\"0x8D6BC33F7280CEB\"5120share155473607238805976155473607274809222Mon, 08 Apr 2019 15:07:52 GMT\"0x8D6BC33F9249098\"5120share155473611057600702Mon, 08 Apr 2019 15:08:30 GMT\"0x8D6BC340FA2E13C\"5120share155473611092106791155473611096707735Mon, 08 Apr 2019 15:08:31 GMT\"0x8D6BC340FDDE96B\"5120share155473612535100765155473612556701005Mon, 08 Apr 2019 15:08:45 GMT\"0x8D6BC3418A091D9\"5120share155473612778602729155473612781702150Mon, 08 Apr 2019 15:08:47 GMT\"0x8D6BC3419E8023E\"5120share155473635249902796Mon, 08 Apr 2019 15:12:32 GMT\"0x8D6BC349FE5CFD9\"5120share155473635542207038155473635579507042Mon, 08 Apr 2019 15:12:35 GMT\"0x8D6BC34A1DBD6B1\"5120share155473637099800926Mon, 08 Apr 2019 15:12:51 GMT\"0x8D6BC34AAE96E2A\"5120share155473637336209277155473637364305088Mon, 08 Apr 2019 15:12:53 GMT\"0x8D6BC34AC7D5496\"5120share155473640657006048155473640674303374Mon, 08 Apr 2019 15:13:26 GMT\"0x8D6BC34C038E5B6\"5120share155473640789802199Mon, 08 Apr 2019 15:13:28 GMT\"0x8D6BC34C0E9E276\"5120share155473641079805966155473641115205580Mon, 08 Apr 2019 15:13:31 GMT\"0x8D6BC34C2DA977F\"5120share155473642254503233155473642270104923Mon, 08 Apr 2019 15:13:42 GMT\"0x8D6BC34C9BA4706\"5120share155473647554301408Mon, 08 Apr 2019 15:14:35 GMT\"0x8D6BC34E93D7C8F\"5120share155473647857300940155473647893707155Mon, 08 Apr 2019 15:14:39 GMT\"0x8D6BC34EB4276BE\"5120share155473652457008250155473652474903372Mon, 08 Apr 2019 15:15:24 GMT\"0x8D6BC350690B81C\"5120share155473652560500457155473652577809590Mon, 08 Apr 2019 15:15:25 GMT\"0x8D6BC35072D5459\"5120share155473670806203485Mon, 08 Apr 2019 15:18:28 GMT\"0x8D6BC3573D380A0\"5120share155473671095607303155473671130406741Mon, 08 Apr 2019 15:18:31 GMT\"0x8D6BC3575C2A2FC\"5120share155473674273801051Mon, 08 Apr 2019 15:19:02 GMT\"0x8D6BC35887F7270\"5120share155473674601006727155473674636602284Mon, 08 Apr 2019 15:19:06 GMT\"0x8D6BC358AA8C28E\"5120share155473676553905931155473676583602877Mon, 08 Apr 2019 15:19:25 GMT\"0x8D6BC359642887A\"5120share155473679548202593155473679565909714Mon, 08 Apr 2019 15:19:55 GMT\"0x8D6BC35A80AE264\"5120share155473686802409334Mon, 08 Apr 2019 15:21:08 GMT\"0x8D6BC35D32BE4F1\"5120share155473687084103771155473687119904765Mon, 08 Apr 2019 15:21:11 GMT\"0x8D6BC35D51023E2\"5120share155473689718209043Mon, 08 Apr 2019 15:21:37 GMT\"0x8D6BC35E48C5A6E\"5120share155473690003202575155473690038306662Mon, 08 Apr 2019 15:21:40 GMT\"0x8D6BC35E6753C30\"5120share155473692570603487155473692589603604Mon, 08 Apr 2019 15:22:06 GMT\"0x8D6BC35F5A9C8C6\"5120share155473694547006047155473694564405606Mon, 08 Apr 2019 15:22:25 GMT\"0x8D6BC36016FD1FA\"5120share155473710422903975Mon, 08 Apr 2019 15:25:04 GMT\"0x8D6BC365FF3A44B\"5120share155473710726803348155473710762206301Mon, 08 Apr 2019 15:25:07 GMT\"0x8D6BC3661FA21A2\"5120share155473712980409197Mon, 08 Apr 2019 15:25:29 GMT\"0x8D6BC366F335D07\"5120share155473713295307278155473713334900217Mon, 08 Apr 2019 15:25:33 GMT\"0x8D6BC367150A1CF\"5120share155473715357508120155473715375103679Mon, 08 Apr 2019 15:25:53 GMT\"0x8D6BC367D773379\"5120share155473717923909016155473717941808839Mon, 08 Apr 2019 15:26:19 GMT\"0x8D6BC368CC5F34E\"5120share155473747769904699Mon, 08 Apr 2019 15:31:17 GMT\"0x8D6BC373E93904E\"5120share155473748071405205155473748108105811Mon, 08 Apr 2019 15:31:21 GMT\"0x8D6BC374095A2E4\"5120share155473753005202135155473753023108048Mon, 08 Apr 2019 15:32:10 GMT\"0x8D6BC375DE09D13\"5120share155473948835202134Mon, 08 Apr 2019 16:04:48 GMT\"0x8D6BC3BECF939E7\"5120share155473948933109534155473948941307935Mon, 08 Apr 2019 16:04:49 GMT\"0x8D6BC3BED92E329\"5120share155473949761606382Mon, 08 Apr 2019 16:04:57 GMT\"0x8D6BC3BF2732BBE\"5120share155473949799001145155473949801708441Mon, 08 Apr 2019 16:04:58 GMT\"0x8D6BC3BF2B07273\"5120share155473951017007937155473951025903980Mon, 08 Apr 2019 16:05:10 GMT\"0x8D6BC3BF9FFE66B\"5120share155473951340407009155473951341609626Mon, 08 Apr 2019 16:05:13 GMT\"0x8D6BC3BFBDE60C8\"5120share155473953991108413Mon, 08 Apr 2019 16:05:40 GMT\"0x8D6BC3C0BDC1FB6\"5120share155473954320004620155473954353308452Mon, 08 Apr 2019 16:05:43 GMT\"0x8D6BC3C0DE76705\"5120share155473954799505772Mon, 08 Apr 2019 16:05:49 GMT\"0x8D6BC3C1150A660\"5120share155473955429103705155473955617200174Mon, 08 Apr 2019 16:05:56 GMT\"0x8D6BC3C15706272\"5120share155473959536203873155473959553202967Mon, 08 Apr 2019 16:06:35 GMT\"0x8D6BC3C2CE5AEE3\"5120share155473960405107051155473960421504781Mon, 08 Apr 2019 16:06:44 GMT\"0x8D6BC3C3211DE08\"5120share155473971175505074Mon, 08 Apr 2019 16:08:31 GMT\"0x8D6BC3C7231FB97\"5120share155473971336305849155473971356703112Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C73351960\"5120share155473971348402768Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7320D102\"5120share155473971380809201155473971384101973Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7357062C\"5120share155473972746708476155473972748002650Mon, 08 Apr 2019 16:08:47 GMT\"0x8D6BC3C7B78115A\"5120share155473974796501931155473974804802831Mon, 08 Apr 2019 16:09:08 GMT\"0x8D6BC3C87C1A66B\"5120share155473982991308873Mon, 08 Apr 2019 16:10:30 GMT\"0x8D6BC3CB89EEB4F\"5120share155473983165307311155473983183507080Mon, 08 Apr 2019 16:10:31 GMT\"0x8D6BC3CB9B09319\"5120share155473987452302874Mon, 08 Apr 2019 16:11:14 GMT\"0x8D6BC3CD336A0D3\"5120share155473987630005857155473987648508819Mon, 08 Apr 2019 16:11:16 GMT\"0x8D6BC3CD44B29DE\"5120share155473988002501138155473988011500836Mon, 08 Apr 2019 16:11:20 GMT\"0x8D6BC3CD6770663\"5120share155473990554307953155473990563408863Mon, 08 Apr 2019 16:11:45 GMT\"0x8D6BC3CE5AAB38B\"5120share155473992325308801Mon, 08 Apr 2019 16:12:03 GMT\"0x8D6BC3CF02FD95D\"5120share155473992552700191155473992579406764Mon, 08 Apr 2019 16:12:05 GMT\"0x8D6BC3CF1B3CFCD\"5120share155473995701903272155473995709800218Mon, 08 Apr 2019 16:12:37 GMT\"0x8D6BC3D045BF61B\"5120share155473996033701859Mon, 08 Apr 2019 16:12:40 GMT\"0x8D6BC3D065500D9\"5120share155473996306703342155473996338809095Mon, 08 Apr 2019 16:12:43 GMT\"0x8D6BC3D08273FBB\"5120share155474001203201466155474001219306818Mon, 08 Apr 2019 16:13:32 GMT\"0x8D6BC3D253ECF12\"5120share155474022752502668Mon, 08 Apr 2019 16:17:07 GMT\"0x8D6BC3DA58B4EC3\"5120share155474022883807337155474022899102360Mon, 08 Apr 2019 16:17:09 GMT\"0x8D6BC3DA66B413A\"5120share155474026368506311155474026376001016Mon, 08 Apr 2019 16:17:43 GMT\"0x8D6BC3DBB2470FF\"5120share155474027191009670Mon, 08 Apr 2019 16:17:51 GMT\"0x8D6BC3DC00037D1\"5120share155474027317107051155474027345603228Mon, 08 Apr 2019 16:17:53 GMT\"0x8D6BC3DC0EC5C98\"5120share155474030699904722155474030707806924Mon, 08 Apr 2019 16:18:27 GMT\"0x8D6BC3DD4F722C0\"5120share155474058573208591Mon, 08 Apr 2019 16:23:05 GMT\"0x8D6BC3E7B07EC34\"5120share155474058631100433155474058635707803Mon, 08 Apr 2019 16:23:06 GMT\"0x8D6BC3E7B67E06E\"5120share155474060436006648155474060439106751Mon, 08 Apr 2019 16:23:24 GMT\"0x8D6BC3E86265EA1\"5120share155474064796409027Mon, 08 Apr 2019 16:24:07 GMT\"0x8D6BC3EA0201A02\"5120share155474064840309943155474064844902242Mon, 08 Apr 2019 16:24:08 GMT\"0x8D6BC3EA06B5B8D\"5120share155474067289302482155474067292503013Mon, 08 Apr 2019 16:24:32 GMT\"0x8D6BC3EAF00AFEE\"5120share155474086901801882Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F23E282B1\"5120share155474086954109748155474086958803624Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F24374811\"5120share155474088621300424155474088622906592Mon, 08 Apr 2019 16:28:06 GMT\"0x8D6BC3F2E2332FA\"5120share155474093395702129Mon, 08 Apr 2019 16:28:54 GMT\"0x8D6BC3F4A9D178A\"5120share155474093519404097155474093535009888Mon, 08 Apr 2019 16:28:55 GMT\"0x8D6BC3F4B7159A6\"5120share155474096256205947155474096264104492Mon, 08 Apr 2019 16:29:22 GMT\"0x8D6BC3F5BB55B22\"5120share155474120234905361Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEA8F38F7\"5120share155474120277303521155474120282004590Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEAD6B1F4\"5120share155474122235007706155474122238101841Mon, 08 Apr 2019 16:33:42 GMT\"0x8D6BC3FF67E28D8\"5120share155474130460202574Mon, 08 Apr 2019 16:35:04 GMT\"0x8D6BC4027827D1E\"5120share155474130505607014155474130510207894Mon, 08 Apr 2019 16:35:05 GMT\"0x8D6BC4027CE6AB0\"5120share155474132647203580155474132648706944Mon, 08 Apr 2019 16:35:26 GMT\"0x8D6BC40348D5AE5\"5120share155474145926306657Mon, 08 Apr 2019 16:37:39 GMT\"0x8D6BC4083C48D46\"5120share155474146223405247155474146260700472Mon, 08 Apr 2019 16:37:42 GMT\"0x8D6BC4085C2BC8D\"5120share155474150898003062155474150915407050Mon, 08 Apr 2019 16:38:29 GMT\"0x8D6BC40A17F8E16\"5120share155474154328005331Mon, 08 Apr 2019 16:39:03 GMT\"0x8D6BC40B5D7588F\"5120share155474154615909592155474154651809449Mon, 08 Apr 2019 16:39:06 GMT\"0x8D6BC40B7C61D1A\"5120share155474160184400659155474160202305300Mon, 08 Apr 2019 16:40:02 GMT\"0x8D6BC40D8D9D9ED\"5120share155474185416600555Mon, 08 Apr 2019 16:44:14 GMT\"0x8D6BC416F233C68\"5120share155474185723002510155474185758501557Mon, 08 Apr 2019 16:44:17 GMT\"0x8D6BC41712CFFA6\"5120share155474190327502820155474190345208840Mon, 08 Apr 2019 16:45:03 GMT\"0x8D6BC418C848342\"5120share155474190490704897Mon, 08 Apr 2019 16:45:05 GMT\"0x8D6BC418D621561\"5120share155474190776907277155474190812601855Mon, 08 Apr 2019 16:45:08 GMT\"0x8D6BC418F4CE08B\"5120share155474196241703778155474196259800062Mon, 08 Apr 2019 16:46:02 GMT\"0x8D6BC41AFC3DCE9\"5120share155474220129806013Mon, 08 Apr 2019 16:50:01 GMT\"0x8D6BC423E133CD2\"5120share155474220456406280155474220494907802Mon, 08 Apr 2019 16:50:05 GMT\"0x8D6BC42403CC9EA\"5120share155474225992109422155474226010703254Mon, 08 Apr 2019 16:51:00 GMT\"0x8D6BC42611C57BE\"5120share155474226931208866Mon, 08 Apr 2019 16:51:09 GMT\"0x8D6BC4266952B13\"5120share155474227223302689155474227258508558Mon, 08 Apr 2019 16:51:12 GMT\"0x8D6BC4268893BA8\"5120share155474232327306240155474232345203219Mon, 08 Apr 2019 16:52:03 GMT\"0x8D6BC4286D91D07\"5120share155474395428107727Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652D4C42C\"5120share155474395452802100155474395455608057Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652FEBFA5\"5120share155474397065201372155474397066502723Mon, 08 Apr 2019 17:19:30 GMT\"0x8D6BC465C9898E6\"5120share155474400115800733Mon, 08 Apr 2019 17:20:01 GMT\"0x8D6BC466ECED480\"5120share155474400363001910155474400379000022Mon, 08 Apr 2019 17:20:03 GMT\"0x8D6BC4670608DBE\"5120share155474403669903880155474403677708604Mon, 08 Apr 2019 17:20:36 GMT\"0x8D6BC4684093633\"5120share155474419672100811Mon, 08 Apr 2019 17:23:16 GMT\"0x8D6BC46E3613195\"5120share155474419764009306155474419772402506Mon, 08 Apr 2019 17:23:17 GMT\"0x8D6BC46E3F21E5B\"5120share155474422388106104155474422392207070Mon, 08 Apr 2019 17:23:43 GMT\"0x8D6BC46F38FA2DB\"5120share155474423646003586Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB075CAA\"5120share155474423673307035155474423676300424Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB346115\"5120share155474424402506390Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FF8AB361\"5120share155474424449101262155474424456708485Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FFDCA1DF\"5120share155474425601609100155474425602909189Mon, 08 Apr 2019 17:24:16 GMT\"0x8D6BC4706B02D7E\"5120share155474427118802638155474427121009813Mon, 08 Apr 2019 17:24:31 GMT\"0x8D6BC470FBE0D2D\"5120share155474428001309991Mon, 08 Apr 2019 17:24:40 GMT\"0x8D6BC4715045886\"5120share155474428159504724155474428175001137Mon, 08 Apr 2019 17:24:41 GMT\"0x8D6BC47160D398B\"5120share155474431811601666155474431819004651Mon, 08 Apr 2019 17:25:18 GMT\"0x8D6BC472BC57B36\"5120share155474441621600039Mon, 08 Apr 2019 17:26:56 GMT\"0x8D6BC47664CFDB3\"5120share155474441808000887155474441826501887Mon, 08 Apr 2019 17:26:58 GMT\"0x8D6BC47676B5E28\"5120share155474444280401127Mon, 08 Apr 2019 17:27:22 GMT\"0x8D6BC4776037219\"5120share155474444312107191155474444315009298Mon, 08 Apr 2019 17:27:23 GMT\"0x8D6BC477638688C\"5120share155474444907607144155474444916600860Mon, 08 Apr 2019 17:27:29 GMT\"0x8D6BC4779D51767\"5120share155474446097609507155474446099204230Mon, 08 Apr 2019 17:27:41 GMT\"0x8D6BC4780DAFC9D\"5120share155474446503807882Mon, 08 Apr 2019 17:27:45 GMT\"0x8D6BC478357DE0F\"5120share155474446772807781155474446805003083Mon, 08 Apr 2019 17:27:48 GMT\"0x8D6BC47852352EF\"5120share155474453274207529155474453290606263Mon, 08 Apr 2019 17:28:53 GMT\"0x8D6BC47ABCD89D2\"5120share155474456707309057Mon, 08 Apr 2019 17:29:27 GMT\"0x8D6BC47C01E9B8E\"5120share155474456856906969155474456873102857Mon, 08 Apr 2019 17:29:28 GMT\"0x8D6BC47C11BABE1\"5120share155474459866304821155474459879204899Mon, 08 Apr 2019 17:29:58 GMT\"0x8D6BC47D30694D4\"5120share155474460938005724Mon, 08 Apr 2019 17:30:09 GMT\"0x8D6BC47D9696D4A\"5120share155474461109303504155474461129505111Mon, 08 Apr 2019 17:30:11 GMT\"0x8D6BC47DA77FFFD\"5120share155474464325008544155474464333905921Mon, 08 Apr 2019 17:30:43 GMT\"0x8D6BC47ED91A19C\"5120share155474476466104389Mon, 08 Apr 2019 17:32:44 GMT\"0x8D6BC4835E350D0\"5120share155474476781604399155474476797007813Mon, 08 Apr 2019 17:32:48 GMT\"0x8D6BC4837DC08B7\"5120share155474480038605885155474480046100073Mon, 08 Apr 2019 17:33:20 GMT\"0x8D6BC484B3A3D4F\"5120share155474492660408902Mon, 08 Apr 2019 17:35:26 GMT\"0x8D6BC48966A5D95\"5120share155474492789003702155474492806209895Mon, 08 Apr 2019 17:35:28 GMT\"0x8D6BC4897485BA7\"5120share155474495477607990155474495485501755Mon, 08 Apr 2019 17:35:54 GMT\"0x8D6BC48A7424CAA\"5120share155474510686309923Mon, 08 Apr 2019 17:38:26 GMT\"0x8D6BC4901D74A82\"5120share155474510733205807155474510739507235Mon, 08 Apr 2019 17:38:27 GMT\"0x8D6BC4902289FBC\"5120share155474512958602801155474512961701409Mon, 08 Apr 2019 17:38:49 GMT\"0x8D6BC490F660BF7\"5120share155474528378801613Mon, 08 Apr 2019 17:41:23 GMT\"0x8D6BC496B4DCE46\"5120share155474528428104775155474528432801850Mon, 08 Apr 2019 17:41:24 GMT\"0x8D6BC496B9F1952\"5120share155474530034400913155474530037609036Mon, 08 Apr 2019 17:41:40 GMT\"0x8D6BC4975307733\"5120share155474532759507612Mon, 08 Apr 2019 17:42:07 GMT\"0x8D6BC498570D5C7\"5120share155474532839002825155474532846907369Mon, 08 Apr 2019 17:42:08 GMT\"0x8D6BC4985EBDD8C\"5120share155474535921501065155474535929800232Mon, 08 Apr 2019 17:42:39 GMT\"0x8D6BC49984C13E3\"5120share155474537100109299Mon, 08 Apr 2019 17:42:51 GMT\"0x8D6BC499F4C10CA\"5120share155474537235108861155474537250407032Mon, 08 Apr 2019 17:42:52 GMT\"0x8D6BC49A0305CFF\"5120share155474541020101924155474541028002160Mon, 08 Apr 2019 17:43:30 GMT\"0x8D6BC49B6B4AF7E\"5120share155474544328204718Mon, 08 Apr 2019 17:44:03 GMT\"0x8D6BC49CA608EEF\"5120share155474544450809675155474544464306068Mon, 08 Apr 2019 17:44:04 GMT\"0x8D6BC49CB30EE65\"5120share155474547397901682155474547404107590Mon, 08 Apr 2019 17:44:34 GMT\"0x8D6BC49DCB70CEE\"5120share155474556387801910Mon, 08 Apr 2019 17:46:04 GMT\"0x8D6BC4A125905BF\"5120share155474556547705866155474556565103636Mon, 08 Apr 2019 17:46:05 GMT\"0x8D6BC4A135404E9\"5120share155474560156806705155474560165207088Mon, 08 Apr 2019 17:46:41 GMT\"0x8D6BC4A28C98302\"5120share155474560980908891Mon, 08 Apr 2019 17:46:49 GMT\"0x8D6BC4A2DA3B8E2\"5120share155474561182205540155474561197600824Mon, 08 Apr 2019 17:46:52 GMT\"0x8D6BC4A2EEE39CE\"5120share155474564080602364155474564088209498Mon, 08 Apr 2019 17:47:20 GMT\"0x8D6BC4A40288917\"5120share155474566731408854Mon, 08 Apr 2019 17:47:47 GMT\"0x8D6BC4A4FEA5939\"5120share155474566853502348155474566872402545Mon, 08 Apr 2019 17:47:48 GMT\"0x8D6BC4A50BFC502\"5120share155474569590807294155474569598604999Mon, 08 Apr 2019 17:48:16 GMT\"0x8D6BC4A60FFBEB6\"5120share155474604565500976Mon, 08 Apr 2019 17:54:05 GMT\"0x8D6BC4B3166FA66\"5120share155474604628207297155474604631306384Mon, 08 Apr 2019 17:54:06 GMT\"0x8D6BC4B31CABCDE\"5120share155474606600908658155474606602509076Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3D89E538\"5120share155474606603205608Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3DA28FD4\"5120share155474606780105190155474606799103841Mon, 08 Apr 2019 17:54:28 GMT\"0x8D6BC4B3EBA25ED\"5120share155474610134800398155474610144002605Mon, 08 Apr 2019 17:55:01 GMT\"0x8D6BC4B52AA1A8E\"5120share155474619445207539Mon, 08 Apr 2019 17:56:34 GMT\"0x8D6BC4B8A26DB79\"5120share155474619701203581155474619733105936Mon, 08 Apr 2019 17:56:37 GMT\"0x8D6BC4B8BDEA41E\"5120share155474624396206673155474624412309828Mon, 08 Apr 2019 17:57:24 GMT\"0x8D6BC4BA7C2EA49\"5120share155474635564303302Mon, 08 Apr 2019 17:59:15 GMT\"0x8D6BC4BEA3C58B3\"5120share155474635860300315155474635896907344Mon, 08 Apr 2019 17:59:19 GMT\"0x8D6BC4BEC382947\"5120share155474640507900921155474640526006359Mon, 08 Apr 2019 18:00:05 GMT\"0x8D6BC4C07C7F4A3\"5120share155474645415109948Mon, 08 Apr 2019 18:00:54 GMT\"0x8D6BC4C24EC0921\"5120share155474645495200953155474645503501899Mon, 08 Apr 2019 18:00:55 GMT\"0x8D6BC4C25682D46\"5120share155474647318704154155474647322607411Mon, 08 Apr 2019 18:01:13 GMT\"0x8D6BC4C304039B7\"5120share155474654875803895Mon, 08 Apr 2019 18:02:28 GMT\"0x8D6BC4C5D4572AB\"5120share155474654921902498155474654926509052Mon, 08 Apr 2019 18:02:29 GMT\"0x8D6BC4C5D91BE8E\"5120share155474656399405825155474656401705254Mon, 08 Apr 2019 18:02:44 GMT\"0x8D6BC4C665CCFF1\"5120share155474663529602310Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C90D93648\"5120share155474663583606041155474663588408448Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C9132CC5D\"5120share155474665477303348155474665479205559Mon, 08 Apr 2019 18:04:14 GMT\"0x8D6BC4C9C77182B\"5120share155474669690608062Mon, 08 Apr 2019 18:04:57 GMT\"0x8D6BC4CB5AC4D07\"5120share155474669879809471155474669896601486Mon, 08 Apr 2019 18:04:59 GMT\"0x8D6BC4CB6D26C35\"5120share155474672916802677Mon, 08 Apr 2019 18:05:29 GMT\"0x8D6BC4CC8E553A9\"5120share155474673083607637155474673100708355Mon, 08 Apr 2019 18:05:31 GMT\"0x8D6BC4CC9EC2AC2\"5120share155474673381104012155474673389309631Mon, 08 Apr 2019 18:05:33 GMT\"0x8D6BC4CCBA3AC18\"5120share155474676371808387155474676380208185Mon, 08 Apr 2019 18:06:03 GMT\"0x8D6BC4CDD786B55\"5120share155474679470603196Mon, 08 Apr 2019 18:06:34 GMT\"0x8D6BC4CEFEF94B0\"5120share155474679772603000155474679809202072Mon, 08 Apr 2019 18:06:38 GMT\"0x8D6BC4CF1F46892\"5120share155474680013008562Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3197928\"5120share155474680057503718155474680062404689Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3641213\"5120share155474681409208639Mon, 08 Apr 2019 18:06:54 GMT\"0x8D6BC4CFB756E96\"5120share155474681491505363155474681500105289Mon, 08 Apr 2019 18:06:55 GMT\"0x8D6BC4CFBF71FC4\"5120share155474681788207900155474681791008047Mon, 08 Apr 2019 18:06:57 GMT\"0x8D6BC4CFDB1BD22\"5120share155474683477100690155474683481200041Mon, 08 Apr 2019 18:07:14 GMT\"0x8D6BC4D07C681B1\"5120share155474684393709385155474684411407379Mon, 08 Apr 2019 18:07:24 GMT\"0x8D6BC4D0D63FA6E\"5120share155474686284305068Mon, 08 Apr 2019 18:07:42 GMT\"0x8D6BC4D188C7C32\"5120share155474686561509852155474686593903986Mon, 08 Apr 2019 18:07:46 GMT\"0x8D6BC4D1A6403C0\"5120share155474690869707233155474690886001558Mon, 08 Apr 2019 18:08:29 GMT\"0x8D6BC4D33F9C1DF\"5120share155474696608300776Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56048CF2\"5120share155474696666108703155474696672401866Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56667A7D\"5120share155474696667806001Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D565D032B\"5120share155474696710902421155474696715108905Mon, 08 Apr 2019 18:09:27 GMT\"0x8D6BC4D56A57B13\"5120share155474698267801977155474698269406976Mon, 08 Apr 2019 18:09:42 GMT\"0x8D6BC4D5FE9CFEB\"5120share155474698299707221155474698301501809Mon, 08 Apr 2019 18:09:43 GMT\"0x8D6BC4D6019DBEC\"5120share155474704723809460Mon, 08 Apr 2019 18:10:47 GMT\"0x8D6BC4D86616E64\"5120share155474704881708545155474704884801268Mon, 08 Apr 2019 18:10:48 GMT\"0x8D6BC4D875756B5\"5120share155474707588406604155474707589701120Mon, 08 Apr 2019 18:11:15 GMT\"0x8D6BC4D9776A8E6\"5120share155474710586101865Mon, 08 Apr 2019 18:11:46 GMT\"0x8D6BC4DA96742CF\"5120share155474710874902656155474710916109774Mon, 08 Apr 2019 18:11:49 GMT\"0x8D6BC4DAB5EA4FD\"5120share155474714764003348Mon, 08 Apr 2019 18:12:27 GMT\"0x8D6BC4DC2406D42\"5120share155474714885103041155474714908804672Mon, 08 Apr 2019 18:12:29 GMT\"0x8D6BC4DC31DB2D0\"5120share155474715492307420155474715509608519Mon, 08 Apr 2019 18:12:35 GMT\"0x8D6BC4DC6BE914E\"5120share155474717400802142155474717408307060Mon, 08 Apr 2019 18:12:54 GMT\"0x8D6BC4DD203F71A\"5120share155474719947106777Mon, 08 Apr 2019 18:13:19 GMT\"0x8D6BC4DE1259CEC\"5120share155474720071400394155474720086808994Mon, 08 Apr 2019 18:13:20 GMT\"0x8D6BC4DE1FB2C1C\"5120share155474722844105131155474722851407454Mon, 08 Apr 2019 18:13:48 GMT\"0x8D6BC4DF275C194\"5120share155474724530509593Mon, 08 Apr 2019 18:14:05 GMT\"0x8D6BC4DFC812038\"5120share155474724621607823155474724633006743Mon, 08 Apr 2019 18:14:06 GMT\"0x8D6BC4DFD13BB0C\"5120share155474726666905801155474726671207462Mon, 08 Apr 2019 18:14:26 GMT\"0x8D6BC4E093975C6\"5120share155474727008806902Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B35A990\"5120share155474727036204896155474727039307966Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B643FD7\"5120share155474728638006622155474728639406421Mon, 08 Apr 2019 18:14:46 GMT\"0x8D6BC4E14EDE4DD\"5120share155474729223702314Mon, 08 Apr 2019 18:14:52 GMT\"0x8D6BC4E1883AF97\"5120share155474729398209223155474729415606986Mon, 08 Apr 2019 18:14:54 GMT\"0x8D6BC4E1996C534\"5120share155474732221000573155474732230701553Mon, 08 Apr 2019 18:15:22 GMT\"0x8D6BC4E2A5ED5C9\"5120share155474751582509818Mon, 08 Apr 2019 18:18:35 GMT\"0x8D6BC4E9DC20155\"5120share155474751847902848155474751880304541Mon, 08 Apr 2019 18:18:38 GMT\"0x8D6BC4E9F8866A6\"5120share155474756081401285155474756097802660Mon, 08 Apr 2019 18:19:21 GMT\"0x8D6BC4EB8AB9F43\"5120share155474764980601427Mon, 08 Apr 2019 18:20:49 GMT\"0x8D6BC4EED934290\"5120share155474765102608011155474765118001858Mon, 08 Apr 2019 18:20:51 GMT\"0x8D6BC4EEE645AD6\"5120share155474767844107090155474767851403828Mon, 08 Apr 2019 18:21:18 GMT\"0x8D6BC4EFEAFA117\"5120share155474777133007169Mon, 08 Apr 2019 18:22:51 GMT\"0x8D6BC4F360D39E0\"5120share155474777420508076155474777458205278Mon, 08 Apr 2019 18:22:54 GMT\"0x8D6BC4F37FD9082\"5120share155474782123305443155474782141203648Mon, 08 Apr 2019 18:23:41 GMT\"0x8D6BC4F53E76F8F\"5120share155474792521906873Mon, 08 Apr 2019 18:25:25 GMT\"0x8D6BC4F91C00B2D\"5120share155474792672406349155474792689607120Mon, 08 Apr 2019 18:25:26 GMT\"0x8D6BC4F92BF41A5\"5120share155474795499605887155474795507404540Mon, 08 Apr 2019 18:25:55 GMT\"0x8D6BC4FA38B9AA0\"5120share155474822362107235Mon, 08 Apr 2019 18:30:23 GMT\"0x8D6BC5043ABE5D7\"5120share155474822547905552155474822566503828Mon, 08 Apr 2019 18:30:25 GMT\"0x8D6BC5044CCFF4D\"5120share155474825450002272Mon, 08 Apr 2019 18:30:54 GMT\"0x8D6BC505606CF1A\"5120share155474825533607080155474825542104437Mon, 08 Apr 2019 18:30:55 GMT\"0x8D6BC505686D3D6\"5120share155474826343607595155474826352605234Mon, 08 Apr 2019 18:31:03 GMT\"0x8D6BC505B5DE52C\"5120share155474827685603862155474827689907496Mon, 08 Apr 2019 18:31:16 GMT\"0x8D6BC5063545C5E\"5120share155474842455807202Mon, 08 Apr 2019 18:33:44 GMT\"0x8D6BC50BB5C6059\"5120share155474842593805305155474842618709355Mon, 08 Apr 2019 18:33:46 GMT\"0x8D6BC50BC548613\"5120share155474845712203961155474845720102349Mon, 08 Apr 2019 18:34:17 GMT\"0x8D6BC50CED0751B\"5120share155474851989103047Mon, 08 Apr 2019 18:35:20 GMT\"0x8D6BC50F439CEBD\"5120share155474852265103180155474852297608630Mon, 08 Apr 2019 18:35:23 GMT\"0x8D6BC50F60FE06F\"5120share155474856529703557155474856545809970Mon, 08 Apr 2019 18:36:05 GMT\"0x8D6BC510F628BE7\"5120share155474862305404605Mon, 08 Apr 2019 18:37:03 GMT\"0x8D6BC5131BE75BB\"5120share155474862481702492155474862500803609Mon, 08 Apr 2019 18:37:05 GMT\"0x8D6BC5132D530CA\"5120share155474865512509351155474865521506832Mon, 08 Apr 2019 18:37:35 GMT\"0x8D6BC5144D5E753\"5120share155474870412106342Mon, 08 Apr 2019 18:38:24 GMT\"0x8D6BC5162083EB9\"5120share155474870684104116155474870719906918Mon, 08 Apr 2019 18:38:27 GMT\"0x8D6BC5163DEAE18\"5120share155474875502604717Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC518068CB51\"5120share155474875557809078155474875573600049Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC5180CD01EA\"5120share155474875683104451155474875706500491Mon, 08 Apr 2019 18:39:17 GMT\"0x8D6BC51818B1C32\"5120share155474876604802975Mon, 08 Apr 2019 18:39:26 GMT\"0x8D6BC5186FB8011\"5120share155474876778709469155474876797603028Mon, 08 Apr 2019 18:39:28 GMT\"0x8D6BC51880D150D\"5120share155474877226205113Mon, 08 Apr 2019 18:39:32 GMT\"0x8D6BC518AA58C3A\"5120share155474877988808105155474878023800882Mon, 08 Apr 2019 18:39:40 GMT\"0x8D6BC518F67A761\"5120share155474878504902158155474878514102127Mon, 08 Apr 2019 18:39:45 GMT\"0x8D6BC51924743E0\"5120share155474879904507665155474879913808712Mon, 08 Apr 2019 18:39:59 GMT\"0x8D6BC519A9FFA28\"5120share155474883971704235155474883989002060Mon, 08 Apr 2019 18:40:40 GMT\"0x8D6BC51B2F5410B\"5120share155474895443200422Mon, 08 Apr 2019 18:42:34 GMT\"0x8D6BC51F7300E6A\"5120share155474895566809136155474895588301714Mon, 08 Apr 2019 18:42:35 GMT\"0x8D6BC51F80D6C4C\"5120share155474896838202554Mon, 08 Apr 2019 18:42:48 GMT\"0x8D6BC51FF835B22\"5120share155474896915009736155474896928809624Mon, 08 Apr 2019 18:42:49 GMT\"0x8D6BC520005E534\"5120share155474898685302363155474898693207903Mon, 08 Apr 2019 18:43:06 GMT\"0x8D6BC520A8EDD71\"5120share155474899671807820155474899675701753Mon, 08 Apr 2019 18:43:16 GMT\"0x8D6BC521064BB0E\"5120share155474900170804980Mon, 08 Apr 2019 18:43:21 GMT\"0x8D6BC5213688AEE\"5120share155474900446104881155474900478303498Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC52153F290F\"5120share155474900478202392Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC521534B0CD\"5120share155474900621503198155474900638807694Mon, 08 Apr 2019 18:43:26 GMT\"0x8D6BC521621F4B4\"5120share155474903093006954155474903096909495Mon, 08 Apr 2019 18:43:50 GMT\"0x8D6BC5224C88087\"5120share155474905171200031155474905187104138Mon, 08 Apr 2019 18:44:12 GMT\"0x8D6BC52314F5A13\"5120share155474913858202107Mon, 08 Apr 2019 18:45:38 GMT\"0x8D6BC5264FECE1C\"5120share155474914273604018155474914312306205Mon, 08 Apr 2019 18:45:43 GMT\"0x8D6BC5267B555AF\"5120share155474914489100606Mon, 08 Apr 2019 18:45:45 GMT\"0x8D6BC5268C1F87E\"5120share155474914750802214155474914783504293Mon, 08 Apr 2019 18:45:47 GMT\"0x8D6BC526A82A433\"5120share155474919136809108155474919154203324Mon, 08 Apr 2019 18:46:31 GMT\"0x8D6BC52848F8344\"5120share155474919327503331155474919343404304Mon, 08 Apr 2019 18:46:33 GMT\"0x8D6BC5285B0D968\"5120share155474927082201518Mon, 08 Apr 2019 18:47:50 GMT\"0x8D6BC52B3BE1A62\"5120share155474927121603014155474927124704852Mon, 08 Apr 2019 18:47:51 GMT\"0x8D6BC52B3FE94D0\"5120share155474929649300500155474929650801830Mon, 08 Apr 2019 18:48:16 GMT\"0x8D6BC52C30DA197\"5120share155475022991701076Mon, 08 Apr 2019 19:03:49 GMT\"0x8D6BC54EF66AE7B\"5120share155475023045507997155475023060306179Mon, 08 Apr 2019 19:03:50 GMT\"0x8D6BC54EFCF3C54\"5120share155475024473800763155475024475203535Mon, 08 Apr 2019 19:04:04 GMT\"0x8D6BC54F83E4AA6\"5120share155475027927205466Mon, 08 Apr 2019 19:04:39 GMT\"0x8D6BC550CEAF817\"5120share155475028090305599155475028109407948Mon, 08 Apr 2019 19:04:41 GMT\"0x8D6BC550DEFBA30\"5120share155475030796503201155475030805008793Mon, 08 Apr 2019 19:05:08 GMT\"0x8D6BC551E00631C\"5120share155475041406903684Mon, 08 Apr 2019 19:06:54 GMT\"0x8D6BC555D34B450\"5120share155475041790102406155475041806802740Mon, 08 Apr 2019 19:06:58 GMT\"0x8D6BC555F9662A7\"5120share155475042680803797Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC5564E7657C\"5120share155475042776807591155475042785606789Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC556566798D\"5120share155475044710607711155475044714607622Mon, 08 Apr 2019 19:07:27 GMT\"0x8D6BC5570E5E30C\"5120share155475044970802609155475044979502269Mon, 08 Apr 2019 19:07:29 GMT\"0x8D6BC55727FE091\"5120share155475046331802443Mon, 08 Apr 2019 19:07:43 GMT\"0x8D6BC557A99FD7F\"5120share155475046684305327155475046716402258Mon, 08 Apr 2019 19:07:47 GMT\"0x8D6BC557CE43085\"5120share155475051216806431155475051232806509Mon, 08 Apr 2019 19:08:32 GMT\"0x8D6BC5597CF5D98\"5120share155475052082206243Mon, 08 Apr 2019 19:08:40 GMT\"0x8D6BC559CCBD36E\"5120share155475052121006971155475052126009148Mon, 08 Apr 2019 19:08:41 GMT\"0x8D6BC559D0FA15E\"5120share155475053797404148155475053799109901Mon, 08 Apr 2019 19:08:58 GMT\"0x8D6BC55A707AA78\"5120share155475064935803078Mon, 08 Apr 2019 19:10:49 GMT\"0x8D6BC55E974E3CA\"5120share155475065067109845155475065082904481Mon, 08 Apr 2019 19:10:51 GMT\"0x8D6BC55EA83DF98\"5120share155475067910702988155475067918501299Mon, 08 Apr 2019 19:11:19 GMT\"0x8D6BC55FB3A3AE2\"5120share155475081055106395Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC56497CE6DB\"5120share155475081080107024155475081083204956Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC5649A8202F\"5120share155475081569107427Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C9015C3\"5120share155475081569802024Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C8F31AE\"5120share155475081617607337155475081622403546Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CDFB128\"5120share155475081618505278155475081626106049Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CE50201\"5120share155475082599504520155475082600900773Mon, 08 Apr 2019 19:13:46 GMT\"0x8D6BC5652B3E1EF\"5120share155475083332106209155475083333306719Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC565711BB33\"5120share155475083390106843155475083391701671Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC56576DD44F\"5120share155475083645708180Mon, 08 Apr 2019 19:13:56 GMT\"0x8D6BC5658EE78DA\"5120share155475083689607668155475083700804756Mon, 08 Apr 2019 19:13:57 GMT\"0x8D6BC5659439F5E\"5120share155475085287202953155475085288703129Mon, 08 Apr 2019 19:14:12 GMT\"0x8D6BC5662BB07BF\"5120share155475087749608350Mon, 08 Apr 2019 19:14:37 GMT\"0x8D6BC56716BAEB9\"5120share155475087884808160155475087899302295Mon, 08 Apr 2019 19:14:39 GMT\"0x8D6BC56724FB73E\"5120share155475091031104271155475091038301022Mon, 08 Apr 2019 19:15:10 GMT\"0x8D6BC568505E596\"5120share155475096394205285Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A4F4A602\"5120share155475096470307204155475096478702363Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A56DE803\"5120share155475098339807861155475098343901197Mon, 08 Apr 2019 19:16:23 GMT\"0x8D6BC56B08C0771\"5120share155475101810205521Mon, 08 Apr 2019 19:16:58 GMT\"0x8D6BC56C54664DF\"5120share155475102072309609155475102105008976Mon, 08 Apr 2019 19:17:01 GMT\"0x8D6BC56C707C7F1\"5120share155475104896402625Mon, 08 Apr 2019 19:17:29 GMT\"0x8D6BC56D7A1CC67\"5120share155475105033406728155475105050302656Mon, 08 Apr 2019 19:17:30 GMT\"0x8D6BC56D88BFADB\"5120share155475106334602588155475106350800134Mon, 08 Apr 2019 19:17:43 GMT\"0x8D6BC56E0562F3A\"5120share155475107891507083Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56E9858D34\"5120share155475107976101708155475107983704150Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56EA082039\"5120share155475108198903031155475108234608862Mon, 08 Apr 2019 19:18:02 GMT\"0x8D6BC56EB914CA9\"5120share155475113337406588155475113355001458Mon, 08 Apr 2019 19:18:53 GMT\"0x8D6BC570A17FF54\"5120share155475132543106986Mon, 08 Apr 2019 19:22:05 GMT\"0x8D6BC577C7B6BF7\"5120share155475132721406393155475132740306801Mon, 08 Apr 2019 19:22:07 GMT\"0x8D6BC577D94ECD7\"5120share155475135811801394155475135820700395Mon, 08 Apr 2019 19:22:38 GMT\"0x8D6BC578FF0D032\"5120share155475144214904808Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C1F69171\"5120share155475144238308286155475144241802464Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C21F2B49\"5120share155475145575504179155475145577002338Mon, 08 Apr 2019 19:24:15 GMT\"0x8D6BC57CA1458DE\"5120share155475158692104863Mon, 08 Apr 2019 19:26:26 GMT\"0x8D6BC5818465E4B\"5120share155475158825308616155475158840903597Mon, 08 Apr 2019 19:26:28 GMT\"0x8D6BC5819294CE9\"5120share155475161465508511155475161473400769Mon, 08 Apr 2019 19:26:54 GMT\"0x8D6BC5828D99E92\"5120share155475165136906994Mon, 08 Apr 2019 19:27:31 GMT\"0x8D6BC583EB028AA\"5120share155475165285408363155475165294303910Mon, 08 Apr 2019 19:27:33 GMT\"0x8D6BC583F9ED9D5\"5120share155475167393207326155475167397601633Mon, 08 Apr 2019 19:27:54 GMT\"0x8D6BC584C286C71\"5120share155475175592100687Mon, 08 Apr 2019 19:29:15 GMT\"0x8D6BC587CF96950\"5120share155475175636203447155475175640405227Mon, 08 Apr 2019 19:29:16 GMT\"0x8D6BC587D42FD4F\"5120share155475176719708693Mon, 08 Apr 2019 19:29:27 GMT\"0x8D6BC5883C4F6C6\"5120share155475176988007936155475177020206087Mon, 08 Apr 2019 19:29:30 GMT\"0x8D6BC58858F57AB\"5120share155475177157408884155475177159107897Mon, 08 Apr 2019 19:29:31 GMT\"0x8D6BC58864FCD93\"5120share155475178911403525Mon, 08 Apr 2019 19:29:49 GMT\"0x8D6BC5890DFD41D\"5120share155475179097306468155475179114007955Mon, 08 Apr 2019 19:29:51 GMT\"0x8D6BC5891FEE1D4\"5120share155475181212203235155475181227802967Mon, 08 Apr 2019 19:30:12 GMT\"0x8D6BC589EA3450E\"5120share155475181868403345155475181884608003Mon, 08 Apr 2019 19:30:18 GMT\"0x8D6BC58A282B48C\"5120share155475184138600177Mon, 08 Apr 2019 19:30:41 GMT\"0x8D6BC58AFF32AE1\"5120share155475184266206951155475184281907009Mon, 08 Apr 2019 19:30:42 GMT\"0x8D6BC58B0CDFAAB\"5120share155475186824404656155475186831303601Mon, 08 Apr 2019 19:31:08 GMT\"0x8D6BC58C0003811\"5120share155475189858508025Mon, 08 Apr 2019 19:31:38 GMT\"0x8D6BC58D21CC15D\"5120share155475190034402522155475190052901131Mon, 08 Apr 2019 19:31:40 GMT\"0x8D6BC58D33259C3\"5120share155475193157504293155475193166407423Mon, 08 Apr 2019 19:32:11 GMT\"0x8D6BC58E5C0D84B\"5120share155475193557900473Mon, 08 Apr 2019 19:32:15 GMT\"0x8D6BC58E8124881\"5120share155475193600802252155475193605500784Mon, 08 Apr 2019 19:32:16 GMT\"0x8D6BC58E85C58C2\"5120share155475195335000537155475195365007547Mon, 08 Apr 2019 19:32:33 GMT\"0x8D6BC58F2D89C12\"5120share155475198066706131Mon, 08 Apr 2019 19:33:00 GMT\"0x8D6BC59030705B8\"5120share155475198240705556155475198259005644Mon, 08 Apr 2019 19:33:02 GMT\"0x8D6BC590419D5AA\"5120share155475201169004998155475201178007996Mon, 08 Apr 2019 19:33:31 GMT\"0x8D6BC59157FA1C2\"5120share155475202704707777Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591E9818F7\"5120share155475202754808460155475202759505045Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591EEAE023\"5120share155475204632303570155475204635506063Mon, 08 Apr 2019 19:34:06 GMT\"0x8D6BC592A15D46F\"5120share155475205353305046Mon, 08 Apr 2019 19:34:13 GMT\"0x8D6BC592E644230\"5120share155475205475905531155475205490801744Mon, 08 Apr 2019 19:34:14 GMT\"0x8D6BC592F35CD8D\"5120share155475208511309322155475208519000035Mon, 08 Apr 2019 19:34:45 GMT\"0x8D6BC594142FC2C\"5120share155475213197909445Mon, 08 Apr 2019 19:35:32 GMT\"0x8D6BC595D68D14F\"5120share155475213367802891155475213384803713Mon, 08 Apr 2019 19:35:33 GMT\"0x8D6BC595E447A15\"5120share155475213707206020Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59602A0370\"5120share155475213744706822155475213752509985Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59606FB8B2\"5120share155475214794702930Mon, 08 Apr 2019 19:35:47 GMT\"0x8D6BC5966A3EC22\"5120share155475214823505337155475214829508671Mon, 08 Apr 2019 19:35:48 GMT\"0x8D6BC5966D92988\"5120share155475215298705094155475215300205553Mon, 08 Apr 2019 19:35:53 GMT\"0x8D6BC5969A95A5A\"5120share155475216173403949155475216180802232Mon, 08 Apr 2019 19:36:01 GMT\"0x8D6BC596EEEDADE\"5120share155475217121403125155475217122800002Mon, 08 Apr 2019 19:36:11 GMT\"0x8D6BC597484D027\"5120share155475217263204833Mon, 08 Apr 2019 19:36:12 GMT\"0x8D6BC597561BC6F\"5120share155475217387007369155475217401507088Mon, 08 Apr 2019 19:36:14 GMT\"0x8D6BC59763481F4\"5120share155475220552708755155475220560608322Mon, 08 Apr 2019 19:36:45 GMT\"0x8D6BC5989084A76\"5120share155475220774803407Mon, 08 Apr 2019 19:36:47 GMT\"0x8D6BC598A5B8D28\"5120share155475221071605263155475221106301392Mon, 08 Apr 2019 19:36:51 GMT\"0x8D6BC598C54F1AF\"5120share155475225507606471155475225524909246Mon, 08 Apr 2019 19:37:35 GMT\"0x8D6BC59A6AAE3BB\"5120share155475230698007235Mon, 08 Apr 2019 19:38:27 GMT\"0x8D6BC59C588E150\"5120share155475230871003676155475230890106141Mon, 08 Apr 2019 19:38:28 GMT\"0x8D6BC59C699F151\"5120share155475233776008655155475233785005541Mon, 08 Apr 2019 19:38:57 GMT\"0x8D6BC59D7DAC197\"5120share155475235014304485Mon, 08 Apr 2019 19:39:10 GMT\"0x8D6BC59DF430BEF\"5120share155475235212806665155475235231203279Mon, 08 Apr 2019 19:39:12 GMT\"0x8D6BC59E0797740\"5120share155475238276207561155475238285300495Mon, 08 Apr 2019 19:39:42 GMT\"0x8D6BC59F2ADC82F\"5120share155475238729909241Mon, 08 Apr 2019 19:39:47 GMT\"0x8D6BC59F55FF731\"5120share155475239006203805155475239039302086Mon, 08 Apr 2019 19:39:50 GMT\"0x8D6BC59F738D496\"5120share155475243544901771155475243561206398Mon, 08 Apr 2019 19:40:35 GMT\"0x8D6BC5A122D2328\"5120share155475245648505760Mon, 08 Apr 2019 19:40:56 GMT\"0x8D6BC5A1E9DD271\"5120share155475245916604643155475245966500634Mon, 08 Apr 2019 19:40:59 GMT\"0x8D6BC5A20829ADA\"5120share155475250195404339Mon, 08 Apr 2019 19:41:42 GMT\"0x8D6BC5A39ACF55C\"5120share155475250300606728155475250316308808Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A705901\"5120share155475250327007723155475250342102216Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A8CC037\"5120share155475252973307394155475252980700184Mon, 08 Apr 2019 19:42:09 GMT\"0x8D6BC5A4A465B88\"5120share155475253579801114Mon, 08 Apr 2019 19:42:15 GMT\"0x8D6BC5A4DD3360A\"5120share155475253615908936155475253620602585Mon, 08 Apr 2019 19:42:16 GMT\"0x8D6BC5A4E0F8242\"5120share155475255423200173155475255424804170Mon, 08 Apr 2019 19:42:34 GMT\"0x8D6BC5A58D20D20\"5120share155475256918201765Mon, 08 Apr 2019 19:42:49 GMT\"0x8D6BC5A61D20C03\"5120share155475257313200562155475257330407326Mon, 08 Apr 2019 19:42:53 GMT\"0x8D6BC5A643484DF\"5120share155475261648802468155475261657200328Mon, 08 Apr 2019 19:43:36 GMT\"0x8D6BC5A7DFE66EB\"5120share155475284537903436Mon, 08 Apr 2019 19:47:25 GMT\"0x8D6BC5B0671E77C\"5120share155475284722006303155475284740403036Mon, 08 Apr 2019 19:47:27 GMT\"0x8D6BC5B0792CDEB\"5120share155475287947008358155475287956001391Mon, 08 Apr 2019 19:47:59 GMT\"0x8D6BC5B1ABD463D\"5120share155475290653907313Mon, 08 Apr 2019 19:48:27 GMT\"0x8D6BC5B2B35A0B0\"5120share155475290863102164155475290878704952Mon, 08 Apr 2019 19:48:28 GMT\"0x8D6BC5B2C2B8A11\"5120share155475293499502985155475293507401792Mon, 08 Apr 2019 19:48:55 GMT\"0x8D6BC5B3BD5D6EB\"5120share155475295976004766Mon, 08 Apr 2019 19:49:19 GMT\"0x8D6BC5B4A860251\"5120share155475296021608512155475296026303878Mon, 08 Apr 2019 19:49:20 GMT\"0x8D6BC5B4AD3697B\"5120share155475296820309510Mon, 08 Apr 2019 19:49:28 GMT\"0x8D6BC5B4F93EA28\"5120share155475296939401595155475296953503138Mon, 08 Apr 2019 19:49:29 GMT\"0x8D6BC5B505FC795\"5120share155475297470107004Mon, 08 Apr 2019 19:49:34 GMT\"0x8D6BC5B5373961F\"5120share155475297592101018155475297607704854Mon, 08 Apr 2019 19:49:36 GMT\"0x8D6BC5B5445CD04\"5120share155475297876605841155475297878208632Mon, 08 Apr 2019 19:49:38 GMT\"0x8D6BC5B55DBFE86\"5120share155475299397906992155475299405708891Mon, 08 Apr 2019 19:49:54 GMT\"0x8D6BC5B5EFC6E6E\"5120share155475299913707337Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B61FEA3A6\"5120share155475299946601316155475299949700439Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B6235EEB4\"5120share155475300396100954155475300404004479Mon, 08 Apr 2019 19:50:04 GMT\"0x8D6BC5B64F0C1CC\"5120share155475301402209522155475301403805856Mon, 08 Apr 2019 19:50:14 GMT\"0x8D6BC5B6ADF6C51\"5120share155475316409304389Mon, 08 Apr 2019 19:52:44 GMT\"0x8D6BC5BC45FB105\"5120share155475316701500838155475316738004973Mon, 08 Apr 2019 19:52:47 GMT\"0x8D6BC5BC655866D\"5120share155475317539403995Mon, 08 Apr 2019 19:52:55 GMT\"0x8D6BC5BCB1EA12B\"5120share155475317800909177155475317833200173Mon, 08 Apr 2019 19:52:58 GMT\"0x8D6BC5BCCDF148B\"5120share155475319784700002Mon, 08 Apr 2019 19:53:18 GMT\"0x8D6BC5BD890AFBA\"5120share155475320035305710155475320054604653Mon, 08 Apr 2019 19:53:20 GMT\"0x8D6BC5BDA120C7D\"5120share155475321453709711155475321471603175Mon, 08 Apr 2019 19:53:34 GMT\"0x8D6BC5BE28AC8EF\"5120share155475322026008825155475322041805575Mon, 08 Apr 2019 19:53:40 GMT\"0x8D6BC5BE5F49E4E\"5120share155475323941203708155475323950603607Mon, 08 Apr 2019 19:53:59 GMT\"0x8D6BC5BF14A51A0\"5120share155475325634904509Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB4EC9A6\"5120share155475325670909242155475325677202784Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB8F5645\"5120share155475326611306943Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C011FE6E9\"5120share155475326661501159155475326664604503Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C01716DB6\"5120share155475327189403526155475327191304764Mon, 08 Apr 2019 19:54:31 GMT\"0x8D6BC5C04937E60\"5120share155475327494604322Mon, 08 Apr 2019 19:54:34 GMT\"0x8D6BC5C0663AE38\"5120share155475327530806721155475327535508149Mon, 08 Apr 2019 19:54:35 GMT\"0x8D6BC5C06A1DC9B\"5120share155475328255505049155475328257006085Mon, 08 Apr 2019 19:54:42 GMT\"0x8D6BC5C0AEF7766\"5120share155475328863109159Mon, 08 Apr 2019 19:54:48 GMT\"0x8D6BC5C0E8D4F9D\"5120share155475328904001164155475328914908575Mon, 08 Apr 2019 19:54:49 GMT\"0x8D6BC5C0EDA736C\"5120share155475329036209298155475329037705496Mon, 08 Apr 2019 19:54:50 GMT\"0x8D6BC5C0F96FA2F\"5120share155475331642907508155475331644500640Mon, 08 Apr 2019 19:55:16 GMT\"0x8D6BC5C1F1F4508\"5120share155475345988903733Mon, 08 Apr 2019 19:57:39 GMT\"0x8D6BC5C74A83E08\"5120share155475346120203269155475346137401701Mon, 08 Apr 2019 19:57:41 GMT\"0x8D6BC5C75A1910E\"5120share155475348842001284155475348849801789Mon, 08 Apr 2019 19:58:08 GMT\"0x8D6BC5C85B7559C\"5120share155475350558503873Mon, 08 Apr 2019 19:58:25 GMT\"0x8D6BC5C8FEF8036\"5120share155475350851006247155475350887009432Mon, 08 Apr 2019 19:58:29 GMT\"0x8D6BC5C91E416E1\"5120share155475351180102812Mon, 08 Apr 2019 19:58:31 GMT\"0x8D6BC5C93A41FBD\"5120share155475351470507341155475351506502543Mon, 08 Apr 2019 19:58:35 GMT\"0x8D6BC5C959AFCFD\"5120share155475352932808685Mon, 08 Apr 2019 19:58:49 GMT\"0x8D6BC5C9E145DFA\"5120share155475353242702891155475353278206163Mon, 08 Apr 2019 19:58:52 GMT\"0x8D6BC5CA0242D42\"5120share155475353346905524Mon, 08 Apr 2019 19:58:53 GMT\"0x8D6BC5CA08349F0\"5120share155475353468900913155475353483008374Mon, 08 Apr 2019 19:58:54 GMT\"0x8D6BC5CA1533041\"5120share155475355857203059155475355874901945Mon, 08 Apr 2019 19:59:18 GMT\"0x8D6BC5CAF9F1851\"5120share155475356174100226155475356192106373Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB1835DA5\"5120share155475356209400777155475356216307366Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB19D9B99\"5120share155475358049205317155475358066509885Mon, 08 Apr 2019 19:59:40 GMT\"0x8D6BC5CBCACA7C2\"5120share155475366230302044Mon, 08 Apr 2019 20:01:02 GMT\"0x8D6BC5CED591D8A\"5120share155475366364804933Mon, 08 Apr 2019 20:01:03 GMT\"0x8D6BC5CEE27F678\"5120share155475366490103025155475366523205132Mon, 08 Apr 2019 20:01:05 GMT\"0x8D6BC5CEF191387\"5120share155475366655601285155475366688603242Mon, 08 Apr 2019 20:01:07 GMT\"0x8D6BC5CF0154CEF\"5120share155475370842304942155475370858108299Mon, 08 Apr 2019 20:01:48 GMT\"0x8D6BC5D08EF6C61\"5120share155475371008508000155475371025709092Mon, 08 Apr 2019 20:01:50 GMT\"0x8D6BC5D09EE9A90\"5120share155475383362102478Mon, 08 Apr 2019 20:03:53 GMT\"0x8D6BC5D536638B9\"5120share155475383401206068155475383407402017Mon, 08 Apr 2019 20:03:54 GMT\"0x8D6BC5D53A849FD\"5120share155475384949101413155475384950602486Mon, 08 Apr 2019 20:04:09 GMT\"0x8D6BC5D5CDC57E0\"5120share155475388168501173Mon, 08 Apr 2019 20:04:41 GMT\"0x8D6BC5D7007708F\"5120share155475388206306306155475388212605083Mon, 08 Apr 2019 20:04:42 GMT\"0x8D6BC5D704B932A\"5120share155475389763505601155475389765100894Mon, 08 Apr 2019 20:04:57 GMT\"0x8D6BC5D798CE485\"5120share155475394309608718Mon, 08 Apr 2019 20:05:43 GMT\"0x8D6BC5D94B5C048\"5120share155475394595108491155475394631101470Mon, 08 Apr 2019 20:05:46 GMT\"0x8D6BC5D969F99F7\"5120share155475396399505138Mon, 08 Apr 2019 20:06:04 GMT\"0x8D6BC5DA12A25B4\"5120share155475396692905515155475396728907571Mon, 08 Apr 2019 20:06:07 GMT\"0x8D6BC5DA320C5CE\"5120share155475398380104275Mon, 08 Apr 2019 20:06:23 GMT\"0x8D6BC5DACF9BC9C\"5120share155475398671802297155475398707107942Mon, 08 Apr 2019 20:06:27 GMT\"0x8D6BC5DAEEC42B4\"5120share155475399277409298155475399295700576Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB26E2AAC\"5120share155475399378204371Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB2DB163E\"5120share155475399491706243155475399496401759Mon, 08 Apr 2019 20:06:35 GMT\"0x8D6BC5DB3906F40\"5120share155475401103303929155475401106408627Mon, 08 Apr 2019 20:06:51 GMT\"0x8D6BC5DBD28D693\"5120share155475401467406311155475401485002516Mon, 08 Apr 2019 20:06:54 GMT\"0x8D6BC5DBF7A1537\"5120share155475403593209731155475403610809563Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC24D966\"5120share155475403681604817Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC856477\"5120share155475403804608586155475403819608497Mon, 08 Apr 2019 20:07:18 GMT\"0x8D6BC5DCD596CBF\"5120share155475406417706107155475406425506743Mon, 08 Apr 2019 20:07:44 GMT\"0x8D6BC5DDCE0E7F3\"5120share155475409067409281Mon, 08 Apr 2019 20:08:10 GMT\"0x8D6BC5DECA1EDC3\"5120share155475409203700405155475409217902614Mon, 08 Apr 2019 20:08:12 GMT\"0x8D6BC5DED85E721\"5120share155475411773004926155475411779200834Mon, 08 Apr 2019 20:08:37 GMT\"0x8D6BC5DFCCBABB5\"5120share155475427414200264Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E59F4C683\"5120share155475427489601007155475427495901119Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E5A70C1F9\"5120share155475429027905961155475429029507552Mon, 08 Apr 2019 20:11:30 GMT\"0x8D6BC5E6395892F\"5120share155475435022204571Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E874CA5F0\"5120share155475435063303249155475435069506502Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E87947DCC\"5120share155475436927404231155475436930502552Mon, 08 Apr 2019 20:12:49 GMT\"0x8D6BC5E92ADD1DA\"5120share155475439671008450Mon, 08 Apr 2019 20:13:16 GMT\"0x8D6BC5EA316E7EB\"5120share155475439953407644155475439988507010Mon, 08 Apr 2019 20:13:20 GMT\"0x8D6BC5EA4F9D7E0\"5120share155475444598308995155475444616001311Mon, 08 Apr 2019 20:14:06 GMT\"0x8D6BC5EC08F21C4\"5120share155475446176702336Mon, 08 Apr 2019 20:14:21 GMT\"0x8D6BC5EC9DCAA60\"5120share155475446353703583Mon, 08 Apr 2019 20:14:23 GMT\"0x8D6BC5ECAD67D62\"5120share155475446417801472155475446422504881Mon, 08 Apr 2019 20:14:24 GMT\"0x8D6BC5ECB4098FA\"5120share155475446457701072155475446492200309Mon, 08 Apr 2019 20:14:25 GMT\"0x8D6BC5ECBBDD5EB\"5120share155475446793804231Mon, 08 Apr 2019 20:14:28 GMT\"0x8D6BC5ECD898BFE\"5120share155475447083302210155475447120206734Mon, 08 Apr 2019 20:14:31 GMT\"0x8D6BC5ECF7C80C3\"5120share155475447390505685Mon, 08 Apr 2019 20:14:34 GMT\"0x8D6BC5ED118A561\"5120share155475447650205596155475447683107189Mon, 08 Apr 2019 20:14:36 GMT\"0x8D6BC5ED2D6B049\"5120share155475448038305903155475448041405576Mon, 08 Apr 2019 20:14:40 GMT\"0x8D6BC5ED4E6924A\"5120share155475450906908487155475450924302789Mon, 08 Apr 2019 20:15:09 GMT\"0x8D6BC5EE6288199\"5120share155475451925508933155475451943306507Mon, 08 Apr 2019 20:15:19 GMT\"0x8D6BC5EEC3A48AC\"5120share155475452102206244155475452117803090Mon, 08 Apr 2019 20:15:21 GMT\"0x8D6BC5EED45148F\"5120share155475458349904294Mon, 08 Apr 2019 20:16:23 GMT\"0x8D6BC5F126BFD9D\"5120share155475458633807389155475458669001847Mon, 08 Apr 2019 20:16:26 GMT\"0x8D6BC5F1451C2E6\"5120share155475463230409183155475463249501576Mon, 08 Apr 2019 20:17:12 GMT\"0x8D6BC5F2F9EB0AB\"5120share155475465763009191Mon, 08 Apr 2019 20:17:37 GMT\"0x8D6BC5F3E888648\"5120share155475465803604070155475465806806197Mon, 08 Apr 2019 20:17:38 GMT\"0x8D6BC5F3ECB7D61\"5120share155475467401603495155475467403109929Mon, 08 Apr 2019 20:17:54 GMT\"0x8D6BC5F484F4C93\"5120share155475470031000609Mon, 08 Apr 2019 20:18:20 GMT\"0x8D6BC5F5808BA98\"5120share155475470316101418155475470351307709Mon, 08 Apr 2019 20:18:23 GMT\"0x8D6BC5F59F0FF39\"5120share155475475094605443155475475112102208Mon, 08 Apr 2019 20:19:11 GMT\"0x8D6BC5F76528B41\"5120share155475475941800301Mon, 08 Apr 2019 20:19:19 GMT\"0x8D6BC5F7B45E4E8\"5120share155475476223909847155475476259506792Mon, 08 Apr 2019 20:19:22 GMT\"0x8D6BC5F7D2A69E0\"5120share155475477308706566Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F835A1E32\"5120share155475477343104020155475477346201298Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F839403BF\"5120share155475478842801827155475478845901923Mon, 08 Apr 2019 20:19:48 GMT\"0x8D6BC5F8C835D24\"5120share155475480525700178Mon, 08 Apr 2019 20:20:05 GMT\"0x8D6BC5F96990DF2\"5120share155475480688709905155475480706700743Mon, 08 Apr 2019 20:20:07 GMT\"0x8D6BC5F97ACA80F\"5120share155475480855303004155475480891408138Mon, 08 Apr 2019 20:20:09 GMT\"0x8D6BC5F98C6A7B8\"5120share155475485447703891Mon, 08 Apr 2019 20:20:54 GMT\"0x8D6BC5FB3EC13D7\"5120share155475485733007299155475485750201983Mon, 08 Apr 2019 20:20:57 GMT\"0x8D6BC5FB5BBFA8C\"5120share155475485742005482155475485881007383Mon, 08 Apr 2019 20:20:58 GMT\"0x8D6BC5FB681758A\"5120share155475490613807301155475490631909875Mon, 08 Apr 2019 20:21:46 GMT\"0x8D6BC5FD2D493F0\"5120share155475491107004753Mon, 08 Apr 2019 20:21:51 GMT\"0x8D6BC5FD5AAA68E\"5120share155475491390609459155475491425402551Mon, 08 Apr 2019 20:21:54 GMT\"0x8D6BC5FD7906574\"5120share155475494829505353Mon, 08 Apr 2019 20:22:28 GMT\"0x8D6BC5FEBDAB205\"5120share155475495142602901155475495180000859Mon, 08 Apr 2019 20:22:31 GMT\"0x8D6BC5FEDF2097C\"5120share155475496856303648155475496873906374Mon, 08 Apr 2019 20:22:48 GMT\"0x8D6BC5FF809FBAD\"5120share155475502329509281Mon, 08 Apr 2019 20:23:43 GMT\"0x8D6BC60188F5C28\"5120share155475502686502140155475502722501031Mon, 08 Apr 2019 20:23:47 GMT\"0x8D6BC601AE7E933\"5120share155475503648203085155475503665708653Mon, 08 Apr 2019 20:23:57 GMT\"0x8D6BC6020A88DA4\"5120share155475507644605686155475507662104771Mon, 08 Apr 2019 20:24:36 GMT\"0x8D6BC603856E563\"5120share155475508896100844Mon, 08 Apr 2019 20:24:49 GMT\"0x8D6BC603FB84260\"5120share155475509358209217155475509401301874Mon, 08 Apr 2019 20:24:54 GMT\"0x8D6BC6042BB49CF\"5120share155475510662301217Mon, 08 Apr 2019 20:25:06 GMT\"0x8D6BC604A3D84CA\"5120share155475511009707995155475511051903727Mon, 08 Apr 2019 20:25:10 GMT\"0x8D6BC604C8FF2EE\"5120share155475514818002641155475514839702872Mon, 08 Apr 2019 20:25:48 GMT\"0x8D6BC606325B5A5\"5120share155475516302805972155475516324601842Mon, 08 Apr 2019 20:26:03 GMT\"0x8D6BC606BFD9DFF\"5120share155475518456808035Mon, 08 Apr 2019 20:26:24 GMT\"0x8D6BC6078B50416\"5120share155475518802906635155475518844705589Mon, 08 Apr 2019 20:26:28 GMT\"0x8D6BC607B0588B4\"5120share155475520133703444Mon, 08 Apr 2019 20:26:41 GMT\"0x8D6BC6082ADE91A\"5120share155475520414501691155475520449405158Mon, 08 Apr 2019 20:26:44 GMT\"0x8D6BC6084900BC9\"5120share155475524512000654155475524532709861Mon, 08 Apr 2019 20:27:25 GMT\"0x8D6BC609CEC662B\"5120share155475525216501306155475525233808863Mon, 08 Apr 2019 20:27:32 GMT\"0x8D6BC60A1135FEA\"5120share155475527372805529Mon, 08 Apr 2019 20:27:53 GMT\"0x8D6BC60ADD497F0\"5120share155475527768705135155475527803906164Mon, 08 Apr 2019 20:27:58 GMT\"0x8D6BC60B0668E79\"5120share155475537776009466155475537793501077Mon, 08 Apr 2019 20:29:38 GMT\"0x8D6BC60EBF138A0\"5120share155475538742205629Mon, 08 Apr 2019 20:29:47 GMT\"0x8D6BC60F19A097B\"5120share155475539026708478155475539062007850Mon, 08 Apr 2019 20:29:50 GMT\"0x8D6BC60F380F4B0\"5120share155475540318203360Mon, 08 Apr 2019 20:30:03 GMT\"0x8D6BC60FAFB33F1\"5120share155475540605901231155475540642605751Mon, 08 Apr 2019 20:30:06 GMT\"0x8D6BC60FCEA6E84\"5120share155475540935609132Mon, 08 Apr 2019 20:30:09 GMT\"0x8D6BC60FEAAF1B2\"5120share155475541165701615Mon, 08 Apr 2019 20:30:11 GMT\"0x8D6BC61000A3447\"5120share155475541229609722155475541264808030Mon, 08 Apr 2019 20:30:12 GMT\"0x8D6BC6100A0EB7D\"5120share155475541445806778155475541480407617Mon, 08 Apr 2019 20:30:14 GMT\"0x8D6BC6101EAA0A5\"5120share155475545304702291155475545323602346Mon, 08 Apr 2019 20:30:53 GMT\"0x8D6BC6118D0CFEE\"5120share155475547204003265155475547222409343Mon, 08 Apr 2019 20:31:12 GMT\"0x8D6BC6124248E6D\"5120share155475550139503230Mon, 08 Apr 2019 20:31:41 GMT\"0x8D6BC61358A8091\"5120share155475550433101922155475550468409391Mon, 08 Apr 2019 20:31:44 GMT\"0x8D6BC61377F2EA8\"5120share155475551150500012155475551168404026Mon, 08 Apr 2019 20:31:51 GMT\"0x8D6BC613BA9A20E\"5120share155475555173507633155475555190705054Mon, 08 Apr 2019 20:32:32 GMT\"0x8D6BC6153A5066E\"5120share155475562140308052155475562157505328Mon, 08 Apr 2019 20:33:41 GMT\"0x8D6BC617D2807D9\"5120share155475595155305925Mon, 08 Apr 2019 20:39:11 GMT\"0x8D6BC6241D790AF\"5120share155475595442704890155475595478105510Mon, 08 Apr 2019 20:39:14 GMT\"0x8D6BC6243C413DB\"5120share155475599014108328Mon, 08 Apr 2019 20:39:50 GMT\"0x8D6BC6258D71A83\"5120share155475599293303057155475599328109216Mon, 08 Apr 2019 20:39:53 GMT\"0x8D6BC625AB638B0\"5120share155475600155209426155475600172406148Mon, 08 Apr 2019 20:40:01 GMT\"0x8D6BC625FBFBBDC\"5120share155475603777709591155475603795107803Mon, 08 Apr 2019 20:40:38 GMT\"0x8D6BC62754F3FCA\"5120share155475606085105940Mon, 08 Apr 2019 20:41:00 GMT\"0x8D6BC6282FD809D\"5120share155475606369901916155475606405808018Mon, 08 Apr 2019 20:41:04 GMT\"0x8D6BC6284E6446A\"5120share155475611064800671155475611082309772Mon, 08 Apr 2019 20:41:50 GMT\"0x8D6BC62A0C63CDA\"5120share155475734977303059Mon, 08 Apr 2019 21:02:29 GMT\"0x8D6BC658346E681\"5120share155475735146501880155475735163208336Mon, 08 Apr 2019 21:02:31 GMT\"0x8D6BC65844D98C1\"5120share155475736263304813Mon, 08 Apr 2019 21:02:42 GMT\"0x8D6BC658AEE618F\"5120share155475736356107285155475736367500363Mon, 08 Apr 2019 21:02:43 GMT\"0x8D6BC658B76B901\"5120share155475737807009819155475737815207269Mon, 08 Apr 2019 21:02:58 GMT\"0x8D6BC65941C41E8\"5120share155475738194004164155475738198006296Mon, 08 Apr 2019 21:03:02 GMT\"0x8D6BC65965FBEA6\"5120share155475738961001284Mon, 08 Apr 2019 21:03:09 GMT\"0x8D6BC659AF2EC40\"5120share155475739148002318155475739164502260Mon, 08 Apr 2019 21:03:11 GMT\"0x8D6BC659C28D7F4\"5120share155475740405903976Mon, 08 Apr 2019 21:03:24 GMT\"0x8D6BC65A3998949\"5120share155475740686303089155475740718404146Mon, 08 Apr 2019 21:03:27 GMT\"0x8D6BC65A575FA2E\"5120share155475742006802357155475742014108948Mon, 08 Apr 2019 21:03:40 GMT\"0x8D6BC65AD253223\"5120share155475744922504325155475744938400415Mon, 08 Apr 2019 21:04:09 GMT\"0x8D6BC65BE9D9B9B\"5120share155475758392808763Mon, 08 Apr 2019 21:06:23 GMT\"0x8D6BC660EBDADB1\"5120share155475758496902188155475758505300339Mon, 08 Apr 2019 21:06:25 GMT\"0x8D6BC660F6D1FE1\"5120share155475758824600049Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC66114F3747\"5120share155475758856706019155475758859504581Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC6611840340\"5120share155475759971409268155475759983105439Mon, 08 Apr 2019 21:06:39 GMT\"0x8D6BC6618387002\"5120share155475760299604525155475760301209424Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A1C73AD\"5120share155475760350309302Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A70A858\"5120share155475760563302047155475760578902124Mon, 08 Apr 2019 21:06:45 GMT\"0x8D6BC661BCD2289\"5120share155475763254801465155475763262302940Mon, 08 Apr 2019 21:07:12 GMT\"0x8D6BC662BCAF1CE\"5120share155475767636102884Mon, 08 Apr 2019 21:07:56 GMT\"0x8D6BC6645E705FF\"5120share155475767891206281155475767922900229Mon, 08 Apr 2019 21:07:59 GMT\"0x8D6BC66479D03D9\"5120share155475772689703202155475772705609708Mon, 08 Apr 2019 21:08:47 GMT\"0x8D6BC66641EE5E0\"5120share155475776495606014Mon, 08 Apr 2019 21:09:25 GMT\"0x8D6BC667ABDD0A0\"5120share155475776677207052155475776709704200Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667BF13218\"5120share155475776709205233Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667C03C80F\"5120share155475776887404869155475776905403906Mon, 08 Apr 2019 21:09:29 GMT\"0x8D6BC667D1B6282\"5120share155475779606308901155475779615309916Mon, 08 Apr 2019 21:09:56 GMT\"0x8D6BC668D423AEA\"5120share155475779701304538155475779710407082Mon, 08 Apr 2019 21:09:57 GMT\"0x8D6BC668DD31352\"5120share155475791746104367Mon, 08 Apr 2019 21:11:57 GMT\"0x8D6BC66D59D0D93\"5120share155475792025605706155475792060301532Mon, 08 Apr 2019 21:12:00 GMT\"0x8D6BC66D77CF3D7\"5120share155475794486001708Mon, 08 Apr 2019 21:12:24 GMT\"0x8D6BC66E5E653D2\"5120share155475794611908909155475794627300186Mon, 08 Apr 2019 21:12:26 GMT\"0x8D6BC66E6BE37DF\"5120share155475796274909993155475796290807279Mon, 08 Apr 2019 21:12:43 GMT\"0x8D6BC66F0B39849\"5120share155475797592301938155475797599809651Mon, 08 Apr 2019 21:12:56 GMT\"0x8D6BC66F87694C9\"5120share155475826695006340Mon, 08 Apr 2019 21:17:46 GMT\"0x8D6BC67A5DD6DE4\"5120share155475826745207634155475826751406389Mon, 08 Apr 2019 21:17:47 GMT\"0x8D6BC67A632C490\"5120share155475828346608712155475828348203315Mon, 08 Apr 2019 21:18:03 GMT\"0x8D6BC67AFB7F63D\"5120share155475830359005133Mon, 08 Apr 2019 21:18:23 GMT\"0x8D6BC67BBB396A8\"5120share155475830426407161155475830431009918Mon, 08 Apr 2019 21:18:24 GMT\"0x8D6BC67BC1F40C0\"5120share155475831901901358155475831903400803Mon, 08 Apr 2019 21:18:39 GMT\"0x8D6BC67C4E67C93\"5120share155475857087801674Mon, 08 Apr 2019 21:22:50 GMT\"0x8D6BC685B03A4C2\"5120share155475857508204962155475857512904633Mon, 08 Apr 2019 21:22:55 GMT\"0x8D6BC685D8A4EE5\"5120share155475859715608328155475859718707845Mon, 08 Apr 2019 21:23:17 GMT\"0x8D6BC686AB018A0\"5120share155475862743005093Mon, 08 Apr 2019 21:23:47 GMT\"0x8D6BC687CBE4A2C\"5120share155475863073504871155475863089109018Mon, 08 Apr 2019 21:23:50 GMT\"0x8D6BC687ED0B4FA\"5120share155475866128905048155475866136704161Mon, 08 Apr 2019 21:24:21 GMT\"0x8D6BC6890F95653\"5120share155475866224208442Mon, 08 Apr 2019 21:24:22 GMT\"0x8D6BC68917EC28A\"5120share155475892444006125Mon, 08 Apr 2019 21:28:44 GMT\"0x8D6BC692DBEBA4E\"5120share155475892501907639155475892506500510Mon, 08 Apr 2019 21:28:45 GMT\"0x8D6BC692E1EED0A\"5120share155475894509709349155475894511200899Mon, 08 Apr 2019 21:29:05 GMT\"0x8D6BC693A11C854\"5120share155475901098902468Mon, 08 Apr 2019 21:30:11 GMT\"0x8D6BC696156D3C6\"5120share155475901336906263155475901340008777Mon, 08 Apr 2019 21:30:13 GMT\"0x8D6BC6962C7EDA7\"5120share155475903030807257155475903032309131Mon, 08 Apr 2019 21:30:30 GMT\"0x8D6BC696CDCEF37\"5120share155475917334807763Mon, 08 Apr 2019 21:32:53 GMT\"0x8D6BC69C22F94D0\"5120share155475917631504782155475917666903878Mon, 08 Apr 2019 21:32:56 GMT\"0x8D6BC69C429719B\"5120share155475922224509444155475922241807908Mon, 08 Apr 2019 21:33:42 GMT\"0x8D6BC69DF6E444A\"5120share155475925602205483Mon, 08 Apr 2019 21:34:16 GMT\"0x8D6BC69F375195C\"5120share155475926493206859155475926529100433Mon, 08 Apr 2019 21:34:25 GMT\"0x8D6BC69F92DED3F\"5120share155475931150207051155475931168006048Mon, 08 Apr 2019 21:35:11 GMT\"0x8D6BC6A14A09252\"5120share155475977936309871Mon, 08 Apr 2019 21:42:59 GMT\"0x8D6BC6B2B5BC0D0\"5120share155475978025201878155475978034602234Mon, 08 Apr 2019 21:43:00 GMT\"0x8D6BC6B2BE9A5D2\"5120share155475979938003003155475979942008091Mon, 08 Apr 2019 21:43:19 GMT\"0x8D6BC6B37480077\"5120share155475989025605514Mon, 08 Apr 2019 21:44:50 GMT\"0x8D6BC6B6D7332B1\"5120share155475989171106337155475989187403284Mon, 08 Apr 2019 21:44:51 GMT\"0x8D6BC6B6E6949D0\"5120share155475989380904279Mon, 08 Apr 2019 21:44:53 GMT\"0x8D6BC6B6F96205A\"5120share155475989459601580155475989469503324Mon, 08 Apr 2019 21:44:54 GMT\"0x8D6BC6B7012C9AE\"5120share155475990723502169Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77880AB0\"5120share155475990745006088155475990751106761Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77B1CA53\"5120share155475991324407391155475991328309141Mon, 08 Apr 2019 21:45:13 GMT\"0x8D6BC6B7B26E28D\"5120share155475991799108400155475991806701120Mon, 08 Apr 2019 21:45:18 GMT\"0x8D6BC6B7E059CFB\"5120share155475992088305591155475992089400834Mon, 08 Apr 2019 21:45:20 GMT\"0x8D6BC6B7FAC1DF3\"5120share155475995154906475Mon, 08 Apr 2019 21:45:51 GMT\"0x8D6BC6B92073E46\"5120share155475995424405105155475995457206560Mon, 08 Apr 2019 21:45:54 GMT\"0x8D6BC6B93D4CF64\"5120share155476000575809494155476000592307413Mon, 08 Apr 2019 21:46:46 GMT\"0x8D6BC6BB26FC664\"5120share155476000809002219Mon, 08 Apr 2019 21:46:48 GMT\"0x8D6BC6BB3BAA531\"5120share155476003381902159Mon, 08 Apr 2019 21:47:13 GMT\"0x8D6BC6BC3033DC1\"5120share155476003538801520155476003554406911Mon, 08 Apr 2019 21:47:15 GMT\"0x8D6BC6BC40AEB35\"5120share155476006367901271155476006375105324Mon, 08 Apr 2019 21:47:43 GMT\"0x8D6BC6BD4DA4CF3\"5120share155476006464706612Mon, 08 Apr 2019 21:47:44 GMT\"0x8D6BC6BD562C52B\"5120share155476020596003587Mon, 08 Apr 2019 21:50:05 GMT\"0x8D6BC6C2995BB9F\"5120share155476020640509691155476020643607403Mon, 08 Apr 2019 21:50:06 GMT\"0x8D6BC6C29DE43BA\"5120share155476022213002952155476022214307559Mon, 08 Apr 2019 21:50:22 GMT\"0x8D6BC6C333B110F\"5120share155476025129303157Mon, 08 Apr 2019 21:50:51 GMT\"0x8D6BC6C44A3EB6D\"5120share155476025257708167155476025273004331Mon, 08 Apr 2019 21:50:52 GMT\"0x8D6BC6C457F6F89\"5120share155476026709207569Mon, 08 Apr 2019 21:51:07 GMT\"0x8D6BC6C4E0EDB9C\"5120share155476026842807935155476026858005332Mon, 08 Apr 2019 21:51:08 GMT\"0x8D6BC6C4EF0F085\"5120share155476028011706632155476028019200644Mon, 08 Apr 2019 21:51:20 GMT\"0x8D6BC6C55DD40E8\"5120share155476028733301755Mon, 08 Apr 2019 21:51:27 GMT\"0x8D6BC6C5A2B1164\"5120share155476028990007932155476029022300298Mon, 08 Apr 2019 21:51:30 GMT\"0x8D6BC6C5BE4364F\"5120share155476029409203644155476029417004479Mon, 08 Apr 2019 21:51:34 GMT\"0x8D6BC6C5E323F08\"5120share155476033140808210155476033156802521Mon, 08 Apr 2019 21:52:11 GMT\"0x8D6BC6C74881F50\"5120share155476034088907107Mon, 08 Apr 2019 21:52:20 GMT\"0x8D6BC6C7A02E996\"5120share155476034117100915155476034120003425Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A32BF58\"5120share155476034139001386Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A524E51\"5120share155476034165201091155476034168404201Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A7F5C77\"5120share155476035937201981155476035938600086Mon, 08 Apr 2019 21:52:39 GMT\"0x8D6BC6C850C4063\"5120share155476036421402002155476036422702027Mon, 08 Apr 2019 21:52:44 GMT\"0x8D6BC6C87EC265B\"5120share155476048267109256Mon, 08 Apr 2019 21:54:42 GMT\"0x8D6BC6CCE99472D\"5120share155476048527507829155476048559500422Mon, 08 Apr 2019 21:54:45 GMT\"0x8D6BC6CD0571965\"5120share155476048713809104Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD136D3F0\"5120share155476048740007315Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD171D0C6\"5120share155476048839103036155476048854303354Mon, 08 Apr 2019 21:54:48 GMT\"0x8D6BC6CD20D2221\"5120share155476048911309646155476048929702628Mon, 08 Apr 2019 21:54:49 GMT\"0x8D6BC6CD27FCECC\"5120share155476051277403297Mon, 08 Apr 2019 21:55:12 GMT\"0x8D6BC6CE0906704\"5120share155476051454002744155476051472201385Mon, 08 Apr 2019 21:55:14 GMT\"0x8D6BC6CE1A6B524\"5120share155476051662706835155476051671905991Mon, 08 Apr 2019 21:55:16 GMT\"0x8D6BC6CE2D7A3CA\"5120share155476051701609760155476051709206998Mon, 08 Apr 2019 21:55:17 GMT\"0x8D6BC6CE310B624\"5120share155476052779709407155476052795604667Mon, 08 Apr 2019 21:55:28 GMT\"0x8D6BC6CE9963684\"5120share155476054363301934155476054372205907Mon, 08 Apr 2019 21:55:43 GMT\"0x8D6BC6CF2EF3F18\"5120share155476054757102427Mon, 08 Apr 2019 21:55:48 GMT\"0x8D6BC6CF5881A20\"5120share155476054966904265155476054985500146Mon, 08 Apr 2019 21:55:49 GMT\"0x8D6BC6CF69A57B2\"5120share155476058378901492155476058388001989Mon, 08 Apr 2019 21:56:23 GMT\"0x8D6BC6D0AE1689F\"5120share155476063180009911Mon, 08 Apr 2019 21:57:11 GMT\"0x8D6BC6D277B622E\"5120share155476063439108000155476063471007018Mon, 08 Apr 2019 21:57:14 GMT\"0x8D6BC6D2937A4ED\"5120share155476067663009343155476067679203410Mon, 08 Apr 2019 21:57:56 GMT\"0x8D6BC6D424D09B8\"5120share155476081678509800Mon, 08 Apr 2019 22:00:16 GMT\"0x8D6BC6D95AD4D03\"5120share155476081824207433155476081838207562Mon, 08 Apr 2019 22:00:18 GMT\"0x8D6BC6D96A86EE7\"5120share155476083644003555155476083645604348Mon, 08 Apr 2019 22:00:36 GMT\"0x8D6BC6DA167B245\"5120share155476088823106626Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC042AE74\"5120share155476088871505002155476088876204939Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC093FF80\"5120share155476090573808731155476090575302750Mon, 08 Apr 2019 22:01:45 GMT\"0x8D6BC6DCAB58E0F\"5120share155476090608205029Mon, 08 Apr 2019 22:01:46 GMT\"0x8D6BC6DCAEA4D12\"5120share155476104985707487Mon, 08 Apr 2019 22:04:09 GMT\"0x8D6BC6E20AA4FBE\"5120share155476105287802955155476105322102107Mon, 08 Apr 2019 22:04:13 GMT\"0x8D6BC6E22A9F4B3\"5120share155476109777803762155476109795103407Mon, 08 Apr 2019 22:04:58 GMT\"0x8D6BC6E3D53CC69\"5120share155476116954300139Mon, 08 Apr 2019 22:06:09 GMT\"0x8D6BC6E67F1DB21\"5120share155476117009004633155476117021501167Mon, 08 Apr 2019 22:06:10 GMT\"0x8D6BC6E68551F94\"5120share155476118869803387155476118871409122Mon, 08 Apr 2019 22:06:28 GMT\"0x8D6BC6E735CD088\"5120share155476118922903105Mon, 08 Apr 2019 22:06:29 GMT\"0x8D6BC6E73AB5632\"5120share155476120533605556Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D484823\"5120share155476120585307909155476120590002418Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D9DE244\"5120share155476122658302898155476122661407484Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E89F48854\"5120share155476122685003701Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E8A18FF0E\"5120share155476145760800341Mon, 08 Apr 2019 22:10:57 GMT\"0x8D6BC6F13A3C9CB\"5120share155476145803208912155476145807803209Mon, 08 Apr 2019 22:10:58 GMT\"0x8D6BC6F13EB7CEC\"5120share155476148487709874155476148490906559Mon, 08 Apr 2019 22:11:24 GMT\"0x8D6BC6F23E92BC9\"5120share155476150918404287Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32619FF1\"5120share155476150970200428155476150978009839Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32BA401F\"5120share155476153188200423155476153189701570Mon, 08 Apr 2019 22:12:11 GMT\"0x8D6BC6F3FEAA305\"5120share155476153428008605Mon, 08 Apr 2019 22:12:14 GMT\"0x8D6BC6F41575DF5\"5120share155476153904907363155476153915900604Mon, 08 Apr 2019 22:12:19 GMT\"0x8D6BC6F443F53F5\"5120share155476155793708877155476155795200051Mon, 08 Apr 2019 22:12:37 GMT\"0x8D6BC6F4F73AFB9\"5120share155476176301401148Mon, 08 Apr 2019 22:16:03 GMT\"0x8D6BC6FC9C05EB2\"5120share155476176664806384155476176701407346Mon, 08 Apr 2019 22:16:07 GMT\"0x8D6BC6FCC22FF4A\"5120share155476178788303535Mon, 08 Apr 2019 22:16:28 GMT\"0x8D6BC6FD88E9FB5\"5120share155476179080407360155476179117205282Mon, 08 Apr 2019 22:16:31 GMT\"0x8D6BC6FDA83FC62\"5120share155476180179506672Mon, 08 Apr 2019 22:16:41 GMT\"0x8D6BC6FE0C9A087\"5120share155476180220305217155476180225001346Mon, 08 Apr 2019 22:16:42 GMT\"0x8D6BC6FE10E33F9\"5120share155476181531205041155476181549305114Mon, 08 Apr 2019 22:16:55 GMT\"0x8D6BC6FE9072FB1\"5120share155476181728704394155476181730207146Mon, 08 Apr 2019 22:16:57 GMT\"0x8D6BC6FEA07A689\"5120share155476183783003117155476183801406829Mon, 08 Apr 2019 22:17:18 GMT\"0x8D6BC6FF66FC70E\"5120share155476231957209906Mon, 08 Apr 2019 22:25:19 GMT\"0x8D6BC71157A027C\"5120share155476232290905918Mon, 08 Apr 2019 22:25:23 GMT\"0x8D6BC7117762E7A\"5120share155476232357801883155476232395803880Mon, 08 Apr 2019 22:25:24 GMT\"0x8D6BC7118168C9C\"5120share155476232681309939155476232720800252Mon, 08 Apr 2019 22:25:27 GMT\"0x8D6BC711A0853B4\"5120share155476234459508335Mon, 08 Apr 2019 22:25:44 GMT\"0x8D6BC7124629DF4\"5120share155476234817303197155476234856203585Mon, 08 Apr 2019 22:25:48 GMT\"0x8D6BC7126BFE461\"5120share155476237480606920155476237498603572Mon, 08 Apr 2019 22:26:15 GMT\"0x8D6BC713680FDE6\"5120share155476237658903468155476237676503841Mon, 08 Apr 2019 22:26:16 GMT\"0x8D6BC71378F70E6\"5120share155476241034103932155476241051700267Mon, 08 Apr 2019 22:26:50 GMT\"0x8D6BC714BAD96A2\"5120share155476265660405974Mon, 08 Apr 2019 22:30:56 GMT\"0x8D6BC71DE5CE7CE\"5120share155476265960100490155476266001400047Mon, 08 Apr 2019 22:31:00 GMT\"0x8D6BC71E065AD79\"5120share155476269189900873Mon, 08 Apr 2019 22:31:32 GMT\"0x8D6BC71F3676FEC\"5120share155476269493900402155476269529509546Mon, 08 Apr 2019 22:31:35 GMT\"0x8D6BC71F56D2517\"5120share155476270675209985155476270693002780Mon, 08 Apr 2019 22:31:47 GMT\"0x8D6BC71FC5C8895\"5120share155476273714203829Mon, 08 Apr 2019 22:32:17 GMT\"0x8D6BC720E5D5600\"5120share155476273998201037155476274034707959Mon, 08 Apr 2019 22:32:20 GMT\"0x8D6BC7210466419\"5120share155476274839705508155476274856902425Mon, 08 Apr 2019 22:32:28 GMT\"0x8D6BC72152D7B73\"5120share155476278819401875155476278836408722Mon, 08 Apr 2019 22:33:08 GMT\"0x8D6BC722CE4B9A9\"5120share155476279250304492Mon, 08 Apr 2019 22:33:12 GMT\"0x8D6BC722F5C173B\"5120share155476310454401084Mon, 08 Apr 2019 22:38:24 GMT\"0x8D6BC72E95AF3E9\"5120share155476310739905326155476310787807773Mon, 08 Apr 2019 22:38:28 GMT\"0x8D6BC72EB57CD23\"5120share155476315509400354155476315527009713Mon, 08 Apr 2019 22:39:15 GMT\"0x8D6BC7307973941\"5120share155476431696300605Mon, 08 Apr 2019 22:58:37 GMT\"0x8D6BC75BBFA0376\"5120share155476431803903555155476431812608836Mon, 08 Apr 2019 22:58:38 GMT\"0x8D6BC75BCA40F40\"5120share155476434449006187155476434453202288Mon, 08 Apr 2019 22:59:04 GMT\"0x8D6BC75CC615763\"5120share155476439619101391Mon, 08 Apr 2019 22:59:56 GMT\"0x8D6BC75EB339992\"5120share155476439708209578155476439716101466Mon, 08 Apr 2019 22:59:57 GMT\"0x8D6BC75EBBF56A2\"5120share155476440391303860Mon, 08 Apr 2019 23:00:03 GMT\"0x8D6BC75EFC59254\"5120share155476441919809882Mon, 08 Apr 2019 23:00:19 GMT\"0x8D6BC75F8E84132\"5120share155476442078600281155476442100203874Mon, 08 Apr 2019 23:00:21 GMT\"0x8D6BC75F9FB98CD\"5120share155476445648205993Mon, 08 Apr 2019 23:00:56 GMT\"0x8D6BC760F317FE7\"5120share155476445803400883155476445823708321Mon, 08 Apr 2019 23:00:58 GMT\"0x8D6BC76102C0ED4\"5120share155476448512502130155476448520901124Mon, 08 Apr 2019 23:01:25 GMT\"0x8D6BC76203FC0A1\"5120share155476449148305636155476449156002875Mon, 08 Apr 2019 23:01:31 GMT\"0x8D6BC76240A4F5B\"5120share155476451224507051Mon, 08 Apr 2019 23:01:52 GMT\"0x8D6BC763071C475\"5120share155476451387005113155476451409200862Mon, 08 Apr 2019 23:01:54 GMT\"0x8D6BC7631766C6A\"5120share155476454247600113155476454255808131Mon, 08 Apr 2019 23:02:22 GMT\"0x8D6BC76426E1E01\"5120share155476454745500618Mon, 08 Apr 2019 23:02:27 GMT\"0x8D6BC764565FA5E\"5120share155476455021607446155476455057102446Mon, 08 Apr 2019 23:02:30 GMT\"0x8D6BC7647417689\"5120share155476458716904340Mon, 08 Apr 2019 23:03:07 GMT\"0x8D6BC765D11F2F7\"5120share155476459201807048155476459234206562Mon, 08 Apr 2019 23:03:12 GMT\"0x8D6BC766026741C\"5120share155476460868908204155476460885205375Mon, 08 Apr 2019 23:03:28 GMT\"0x8D6BC7669FDEE7E\"5120share155476464610301226155476464626505345Mon, 08 Apr 2019 23:04:06 GMT\"0x8D6BC76804A1D2B\"5120share155476509552004112Mon, 08 Apr 2019 23:11:35 GMT\"0x8D6BC778C11DA05\"5120share155476509649000318155476509657002600Mon, 08 Apr 2019 23:11:36 GMT\"0x8D6BC778CA0CB2B\"5120share155476511542304387155476511546309152Mon, 08 Apr 2019 23:11:55 GMT\"0x8D6BC7797E39BEB\"5120share155476517413101344Mon, 08 Apr 2019 23:12:54 GMT\"0x8D6BC77BAEEAA8D\"5120share155476517496105311155476517504207003Mon, 08 Apr 2019 23:12:55 GMT\"0x8D6BC77BB67D830\"5120share155476519430301159155476519441608194Mon, 08 Apr 2019 23:13:14 GMT\"0x8D6BC77C6F3A3F7\"5120share155476521415002140Mon, 08 Apr 2019 23:13:34 GMT\"0x8D6BC77D2BCBED8\"5120share155476521551909754155476521567608139Mon, 08 Apr 2019 23:13:35 GMT\"0x8D6BC77D3A540D1\"5120share155476522814705024Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB0AE947\"5120share155476522860004891155476522870301250Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB5F942D\"5120share155476524157100256155476524158202664Mon, 08 Apr 2019 23:14:01 GMT\"0x8D6BC77E30CE333\"5120share155476524350705464155476524358205357Mon, 08 Apr 2019 23:14:03 GMT\"0x8D6BC77E4460746\"5120share155476526115609987Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EEBA1057\"5120share155476526161606511155476526168506405Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EF0AB4DE\"5120share155476528567704891155476528569706277Mon, 08 Apr 2019 23:14:47 GMT\"0x8D6BC77FEAC6C77\"5120share155476541308600173Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC784947CC5E\"5120share155476541336401605155476541343509475Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC78497D6CB2\"5120share155476541862407549Mon, 08 Apr 2019 23:16:58 GMT\"0x8D6BC784CA7ADBF\"5120share155476542140001121155476542174500634Mon, 08 Apr 2019 23:17:01 GMT\"0x8D6BC784E84DC17\"5120share155476542538504885Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC78509D81DB\"5120share155476542565004895155476542568006667Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC7850CA2738\"5120share155476543241701826155476543243201196Mon, 08 Apr 2019 23:17:12 GMT\"0x8D6BC7854D01156\"5120share155476544273008434155476544274305609Mon, 08 Apr 2019 23:17:22 GMT\"0x8D6BC785AF5E27A\"5120share155476544945600830Mon, 08 Apr 2019 23:17:29 GMT\"0x8D6BC785EFC69FE\"5120share155476545069609500155476545084404529Mon, 08 Apr 2019 23:17:30 GMT\"0x8D6BC785FD05CC7\"5120share155476546513001319155476546528907473Mon, 08 Apr 2019 23:17:45 GMT\"0x8D6BC78687868BA\"5120share155476547764302784Mon, 08 Apr 2019 23:17:57 GMT\"0x8D6BC786FD65928\"5120share155476547797509162155476547804708222Mon, 08 Apr 2019 23:17:58 GMT\"0x8D6BC787006AD8B\"5120share155476548004608178Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC787149A8DB\"5120share155476548025600059155476548057608757Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC7871955A28\"5120share155476548161101583155476548178500635Mon, 08 Apr 2019 23:18:01 GMT\"0x8D6BC7872415487\"5120share155476551017200699155476551025501651Mon, 08 Apr 2019 23:18:30 GMT\"0x8D6BC788339C452\"5120share155476553000100349155476553016007964Mon, 08 Apr 2019 23:18:50 GMT\"0x8D6BC788F23E794\"5120share155476553515703995Mon, 08 Apr 2019 23:18:55 GMT\"0x8D6BC78921E3A6B\"5120share155476555499605553Mon, 08 Apr 2019 23:19:15 GMT\"0x8D6BC789DE8981A\"5120share155476555791006568155476555799506397Mon, 08 Apr 2019 23:19:18 GMT\"0x8D6BC789FAA847D\"5120share155476556319001694Mon, 08 Apr 2019 23:19:23 GMT\"0x8D6BC78A2D231F0\"5120share155476556594909048155476556627906331Mon, 08 Apr 2019 23:19:26 GMT\"0x8D6BC78A4AA425C\"5120share155476557993103090155476557997202286Mon, 08 Apr 2019 23:19:40 GMT\"0x8D6BC78ACC4513F\"5120share155476561235504876Mon, 08 Apr 2019 23:20:12 GMT\"0x8D6BC78C0167F8D\"5120share155476561420206269155476561435307087Mon, 08 Apr 2019 23:20:14 GMT\"0x8D6BC78C1459AB0\"5120share155476563307809610155476563323908472Mon, 08 Apr 2019 23:20:33 GMT\"0x8D6BC78CC9356F8\"5120share155476563525700309Mon, 08 Apr 2019 23:20:35 GMT\"0x8D6BC78CDC75B1D\"5120share155476565186800149155476565194201836Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D7ACF537\"5120share155476565288908553Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D83D9739\"5120share155476566702204764Mon, 08 Apr 2019 23:21:07 GMT\"0x8D6BC78E0AB5059\"5120share155476566888408884155476566903301978Mon, 08 Apr 2019 23:21:09 GMT\"0x8D6BC78E1DDFA2F\"5120share155476569754601439Mon, 08 Apr 2019 23:21:37 GMT\"0x8D6BC78F2DE4CD2\"5120share155476569837207565155476569846005813Mon, 08 Apr 2019 23:21:38 GMT\"0x8D6BC78F36203BE\"5120share155476571075507322155476571082803282Mon, 08 Apr 2019 23:21:50 GMT\"0x8D6BC78FAC64BC5\"5120share155476573561205412155476573565403349Mon, 08 Apr 2019 23:22:15 GMT\"0x8D6BC79098D6F9D\"5120share155476582496201150Mon, 08 Apr 2019 23:23:44 GMT\"0x8D6BC793EC6F190\"5120share155476582523001983155476582525909945Mon, 08 Apr 2019 23:23:45 GMT\"0x8D6BC793EF41688\"5120share155476582743106751Mon, 08 Apr 2019 23:23:48 GMT\"0x8D6BC79409CAE41\"5120share155476582980100852155476582998703282Mon, 08 Apr 2019 23:23:50 GMT\"0x8D6BC7941CAE726\"5120share155476583944109368155476583945505070Mon, 08 Apr 2019 23:23:59 GMT\"0x8D6BC79476A6827\"5120share155476586034200225Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC7953DD5231\"5120share155476586061108739155476586063802574Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC795409FE33\"5120share155476586220706650155476586229602787Mon, 08 Apr 2019 23:24:22 GMT\"0x8D6BC79550CEB70\"5120share155476587455908529155476587457305551Mon, 08 Apr 2019 23:24:34 GMT\"0x8D6BC795C58879C\"5120share155476590826505721Mon, 08 Apr 2019 23:25:08 GMT\"0x8D6BC7970761A7D\"5120share155476590973604504155476590989309631Mon, 08 Apr 2019 23:25:09 GMT\"0x8D6BC79716D4AFA\"5120share155476591033707299Mon, 08 Apr 2019 23:25:10 GMT\"0x8D6BC7971B27D00\"5120share155476591170101125155476591185309922Mon, 08 Apr 2019 23:25:11 GMT\"0x8D6BC797299505C\"5120share155476593861309453155476593868502630Mon, 08 Apr 2019 23:25:38 GMT\"0x8D6BC798296DD7A\"5120share155476594539707363155476594547109339Mon, 08 Apr 2019 23:25:45 GMT\"0x8D6BC7986A2BCA7\"5120share155476597286003203Mon, 08 Apr 2019 23:26:13 GMT\"0x8D6BC799708A3BD\"5120share155476597464003206155476597484603390Mon, 08 Apr 2019 23:26:14 GMT\"0x8D6BC79982362D7\"5120share155476598426402793Mon, 08 Apr 2019 23:26:24 GMT\"0x8D6BC799DD3927D\"5120share155476598818205759155476598845002383Mon, 08 Apr 2019 23:26:28 GMT\"0x8D6BC79A03EE25F\"5120share155476600772007187155476600781306046Mon, 08 Apr 2019 23:26:47 GMT\"0x8D6BC79ABC9C020\"5120share155476603512906240155476603522107811Mon, 08 Apr 2019 23:27:15 GMT\"0x8D6BC79BC2077CD\"5120share155476612857004763Mon, 08 Apr 2019 23:28:48 GMT\"0x8D6BC79F3D10E56\"5120share155476613124503640155476613162501568Mon, 08 Apr 2019 23:28:51 GMT\"0x8D6BC79F5BF108E\"5120share155476613867709497Mon, 08 Apr 2019 23:28:58 GMT\"0x8D6BC79F9D73AD3\"5120share155476614130107770155476614162206344Mon, 08 Apr 2019 23:29:01 GMT\"0x8D6BC79FB98B873\"5120share155476615325105499Mon, 08 Apr 2019 23:29:13 GMT\"0x8D6BC7A0285F585\"5120share155476615587201364155476615619704021Mon, 08 Apr 2019 23:29:16 GMT\"0x8D6BC7A04482DC2\"5120share155476617256702013Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0DF70F50\"5120share155476617286708690155476617290000740Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0E2A3672\"5120share155476617631503794155476617647401574Mon, 08 Apr 2019 23:29:36 GMT\"0x8D6BC7A105D6D5F\"5120share155476618593504384155476618610007906Mon, 08 Apr 2019 23:29:46 GMT\"0x8D6BC7A161CED7E\"5120share155476619533401752155476619534705354Mon, 08 Apr 2019 23:29:55 GMT\"0x8D6BC7A1B8B2A6E\"5120share155476619683806353Mon, 08 Apr 2019 23:29:56 GMT\"0x8D6BC7A1C6D46CC\"5120share155476619725105811155476619728102750Mon, 08 Apr 2019 23:29:57 GMT\"0x8D6BC7A1CB038C9\"5120share155476621071307980155476621087208340Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A24DEA06B\"5120share155476621179405773155476621180801024Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A25599C50\"5120share155476632270408100Mon, 08 Apr 2019 23:32:02 GMT\"0x8D6BC7A6773D7C7\"5120share155476632303800675155476632307907455Mon, 08 Apr 2019 23:32:03 GMT\"0x8D6BC7A67AC9E05\"5120share155476632430706264Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A6864C391\"5120share155476632463506544155476632466702328Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A689BC5FA\"5120share155476633626802696Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6F8AE711\"5120share155476633665402270155476633669409143Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6FCB6F75\"5120share155476633819602071155476633821109901Mon, 08 Apr 2019 23:32:18 GMT\"0x8D6BC7A70AEB4F1\"5120share155476634347500960155476634349303762Mon, 08 Apr 2019 23:32:23 GMT\"0x8D6BC7A73D7BC04\"5120share155476635498803205155476635500704670Mon, 08 Apr 2019 23:32:35 GMT\"0x8D6BC7A7AB5DD31\"5120share155476636740102128Mon, 08 Apr 2019 23:32:47 GMT\"0x8D6BC7A8217ACEF\"5120share155476636799001553155476636802902322Mon, 08 Apr 2019 23:32:48 GMT\"0x8D6BC7A827742AF\"5120share155476640407007925155476640408806067Mon, 08 Apr 2019 23:33:24 GMT\"0x8D6BC7A97F5475C\"5120share155476642228906194Mon, 08 Apr 2019 23:33:42 GMT\"0x8D6BC7AA2E851DD\"5120share155476642406903205155476642428706870Mon, 08 Apr 2019 23:33:44 GMT\"0x8D6BC7AA405A02A\"5120share155476643556600842Mon, 08 Apr 2019 23:33:55 GMT\"0x8D6BC7AAAD375CF\"5120share155476643735007209155476643755301972Mon, 08 Apr 2019 23:33:57 GMT\"0x8D6BC7AABEFBA98\"5120share155476646013804921155476646023001703Mon, 08 Apr 2019 23:34:20 GMT\"0x8D6BC7AB9720C36\"5120share155476646603504862155476646612508671Mon, 08 Apr 2019 23:34:26 GMT\"0x8D6BC7ABCF7B99B\"5120share155476651939008948Mon, 08 Apr 2019 23:35:19 GMT\"0x8D6BC7ADCB724D3\"5120share155476652060209660155476652075001950Mon, 08 Apr 2019 23:35:20 GMT\"0x8D6BC7ADD868F16\"5120share155476652313402499Mon, 08 Apr 2019 23:35:23 GMT\"0x8D6BC7ADEF47E76\"5120share155476652445009512155476652460906173Mon, 08 Apr 2019 23:35:24 GMT\"0x8D6BC7ADFD4BF9F\"5120share155476653877105120Mon, 08 Apr 2019 23:35:38 GMT\"0x8D6BC7AE85715BC\"5120share155476654052606040155476654075704405Mon, 08 Apr 2019 23:35:40 GMT\"0x8D6BC7AE9734F6D\"5120share155476654689703476155476654698507157Mon, 08 Apr 2019 23:35:47 GMT\"0x8D6BC7AED294572\"5120share155476655472405591155476655481808374Mon, 08 Apr 2019 23:35:54 GMT\"0x8D6BC7AF1D649CF\"5120share155476656612708539Mon, 08 Apr 2019 23:36:06 GMT\"0x8D6BC7AF8A51350\"5120share155476657143404230155476657152808653Mon, 08 Apr 2019 23:36:11 GMT\"0x8D6BC7AFBCA17D2\"5120share155476657399703964155476657419709569Mon, 08 Apr 2019 23:36:14 GMT\"0x8D6BC7AFD60C4A1\"5120share155476661766108474155476661775202619Mon, 08 Apr 2019 23:36:57 GMT\"0x8D6BC7B17564BAD\"5120share155476673272406010Mon, 08 Apr 2019 23:38:52 GMT\"0x8D6BC7B5BF0E3A1\"5120share155476673504406253155476673542105732Mon, 08 Apr 2019 23:38:55 GMT\"0x8D6BC7B5D7931DB\"5120share155476675253901113Mon, 08 Apr 2019 23:39:12 GMT\"0x8D6BC7B67A8B452\"5120share155476675296209288155476675300907031Mon, 08 Apr 2019 23:39:13 GMT\"0x8D6BC7B67F08B7B\"5120share155476676945407999155476676947003222Mon, 08 Apr 2019 23:39:29 GMT\"0x8D6BC7B71C055F1\"5120share155476677410400733155476677419608768Mon, 08 Apr 2019 23:39:34 GMT\"0x8D6BC7B7495E848\"5120share155476678595409185Mon, 08 Apr 2019 23:39:46 GMT\"0x8D6BC7B7BA54AF6\"5120share155476678702907493Mon, 08 Apr 2019 23:39:47 GMT\"0x8D6BC7B7C3787CB\"5120share155476678942303133155476678947007472Mon, 08 Apr 2019 23:39:49 GMT\"0x8D6BC7B7DACAD5C\"5120share155476679257406842155476679289807813Mon, 08 Apr 2019 23:39:53 GMT\"0x8D6BC7B7FC83C47\"5120share155476681265205823155476681268306939Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8B81FC62\"5120share155476681295008223Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8BAA029D\"5120share155476683674701439Mon, 08 Apr 2019 23:40:36 GMT\"0x8D6BC7B99EB0399\"5120share155476683691105172Mon, 08 Apr 2019 23:40:37 GMT\"0x8D6BC7B9A04190A\"5120share155476683938408044155476683970607122Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BAF0AC6\"5120share155476683954506999155476683986401108Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BC6BC86\"5120share155476684955901192155476684971705447Mon, 08 Apr 2019 23:40:49 GMT\"0x8D6BC7BA1A68C4A\"5120share155476689429503310155476689446302908Mon, 08 Apr 2019 23:41:34 GMT\"0x8D6BC7BBC523411\"5120share155476689486309119155476689502109811Mon, 08 Apr 2019 23:41:35 GMT\"0x8D6BC7BBCA78283\"5120share155476689848406446Mon, 08 Apr 2019 23:41:38 GMT\"0x8D6BC7BBEA6DEF5\"5120share155476690144000750155476690147105650Mon, 08 Apr 2019 23:41:41 GMT\"0x8D6BC7BC06D6BFE\"5120share155476692550408281155476692552006307Mon, 08 Apr 2019 23:42:05 GMT\"0x8D6BC7BCEC2E737\"5120share155476701310301365Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C02F81A4A\"5120share155476701354009909155476701358700586Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C0341217E\"5120share155476703054701901155476703056303132Mon, 08 Apr 2019 23:43:50 GMT\"0x8D6BC7C0D5E5EF4\"5120share155476705263308527Mon, 08 Apr 2019 23:44:12 GMT\"0x8D6BC7C1A874F4E\"5120share155476705313403501155476705324309452Mon, 08 Apr 2019 23:44:13 GMT\"0x8D6BC7C1AE43384\"5120share155476707854907462155476707856501775Mon, 08 Apr 2019 23:44:38 GMT\"0x8D6BC7C29FBFD59\"5120share155476708292203055Mon, 08 Apr 2019 23:44:42 GMT\"0x8D6BC7C2C965437\"5120share155476718097200661Mon, 08 Apr 2019 23:46:21 GMT\"0x8D6BC7C67140ED4\"5120share155476718511307033155476718528507060Mon, 08 Apr 2019 23:46:25 GMT\"0x8D6BC7C69A5A008\"5120share155476720906609619Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C77C48EEA\"5120share155476720947601374155476720952302768Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C780AB178\"5120share155476721652702563155476721660503614Mon, 08 Apr 2019 23:46:56 GMT\"0x8D6BC7C7C4FF562\"5120share155476722456803338155476722458406433Mon, 08 Apr 2019 23:47:04 GMT\"0x8D6BC7C8105A53E\"5120share155476731188105124Mon, 08 Apr 2019 23:48:31 GMT\"0x8D6BC7CB50D9313\"5120share155476731224201118155476731228901281Mon, 08 Apr 2019 23:48:32 GMT\"0x8D6BC7CB54D3B10\"5120share155476733008504443155476733011603577Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CBFEB1452\"5120share155476733031901975Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CC00B25BF\"5120share155476737686900592Mon, 08 Apr 2019 23:49:36 GMT\"0x8D6BC7CDBCC5422\"5120share155476737934703176155476737939509803Mon, 08 Apr 2019 23:49:39 GMT\"0x8D6BC7CDD4CCB9A\"5120share155476740063206317Mon, 08 Apr 2019 23:50:00 GMT\"0x8D6BC7CE9F6D928\"5120share155476740105301968155476740110108620Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA3DC4B9\"5120share155476740160309274155476740163408658Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA8EBD5D\"5120share155476740389005761Mon, 08 Apr 2019 23:50:03 GMT\"0x8D6BC7CEBE693B3\"5120share155476741944107110155476741947208866Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF5306B3B\"5120share155476741973801348Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF55AA35D\"5120share155476751993603097Mon, 08 Apr 2019 23:51:59 GMT\"0x8D6BC7D310FD6F9\"5120share155476752034209234155476752038903373Mon, 08 Apr 2019 23:52:00 GMT\"0x8D6BC7D3154EB7F\"5120share155476753773308525155476753774900804Mon, 08 Apr 2019 23:52:17 GMT\"0x8D6BC7D3BAF1D7C\"5120share155476755968506518Mon, 08 Apr 2019 23:52:39 GMT\"0x8D6BC7D48C2D945\"5120share155476756025704914155476756030408293Mon, 08 Apr 2019 23:52:40 GMT\"0x8D6BC7D4920F1BB\"5120share155476757927403262155476757930605206Mon, 08 Apr 2019 23:52:59 GMT\"0x8D6BC7D5477C4FD\"5120share155476758886800802Mon, 08 Apr 2019 23:53:08 GMT\"0x8D6BC7D5A295568\"5120share155476759612809724Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5E7A3CE8\"5120share155476759675809547155476759678907586Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5EDFE197\"5120share155476761379605068155476761381206318Mon, 08 Apr 2019 23:53:33 GMT\"0x8D6BC7D6904C3BC\"5120share155476769451707014Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D991E2C56\"5120share155476769492305905155476769495502323Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D9962B197\"5120share155476771291006498155476771292504957Mon, 08 Apr 2019 23:55:12 GMT\"0x8D6BC7DA4180F06\"5120share155476773060003911Mon, 08 Apr 2019 23:55:30 GMT\"0x8D6BC7DAEA17CC4\"5120share155476773118005704155476773135203965Mon, 08 Apr 2019 23:55:31 GMT\"0x8D6BC7DAF1378A6\"5120share155476775106100021155476775109309106Mon, 08 Apr 2019 23:55:51 GMT\"0x8D6BC7DBAD731E5\"5120share155476781685606946Mon, 08 Apr 2019 23:56:56 GMT\"0x8D6BC7DE20E7957\"5120share155476781732000128155476781738302450Mon, 08 Apr 2019 23:56:57 GMT\"0x8D6BC7DE2600C71\"5120share155476783345303757155476783346907719Mon, 08 Apr 2019 23:57:13 GMT\"0x8D6BC7DEBF7156B\"5120share155476791347300669Mon, 08 Apr 2019 23:58:33 GMT\"0x8D6BC7E1BA54903\"5120share155476791386402913155476791406106541Mon, 08 Apr 2019 23:58:34 GMT\"0x8D6BC7E1BFCC039\"5120share155476793045906102155476793049006057Mon, 08 Apr 2019 23:58:50 GMT\"0x8D6BC7E25C76D52\"5120share155476802704709159Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F561B0D\"5120share155476802747007068155476802751704585Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F9E2732\"5120share155476804346803478155476804349905857Tue, 09 Apr 2019 00:00:43 GMT\"0x8D6BC7E692437A6\"5120share155476804670501417Tue, 09 Apr 2019 00:00:46 GMT\"0x8D6BC7E6B0C980A\"5120share155476804729208533155476804732304485Tue, 09 Apr 2019 00:00:47 GMT\"0x8D6BC7E6B6BE551\"5120share155476806792107870155476806795006572Tue, 09 Apr 2019 00:01:07 GMT\"0x8D6BC7E77B59043\"5120share155476809524706138Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E87FA6EFD\"5120share155476809559505969Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E883E0CC1\"5120share155476809573102733155476809608507721Tue, 09 Apr 2019 00:01:36 GMT\"0x8D6BC7E8878E2E0\"5120share155476809796808728Tue, 09 Apr 2019 00:01:37 GMT\"0x8D6BC7E8998569D\"5120share155476810291301609155476810326803401Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CD0D20B\"5120share155476810304900799155476810314308687Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CAE4EE9\"5120share155476811609008652155476811612104405Tue, 09 Apr 2019 00:01:56 GMT\"0x8D6BC7E94697D23\"5120share155476811931604393155476811933200724Tue, 09 Apr 2019 00:01:59 GMT\"0x8D6BC7E9653421D\"5120share155476812170804393Tue, 09 Apr 2019 00:02:01 GMT\"0x8D6BC7E97C041CC\"5120share155476814743406883Tue, 09 Apr 2019 00:02:27 GMT\"0x8D6BC7EA7272A92\"5120share155476815440005091155476815476601339Tue, 09 Apr 2019 00:02:34 GMT\"0x8D6BC7EAB862619\"5120share155476815597205023155476815615103123Tue, 09 Apr 2019 00:02:36 GMT\"0x8D6BC7EAC554CE6\"5120share155476820193208970Tue, 09 Apr 2019 00:03:22 GMT\"0x8D6BC7EC7A0122F\"5120share155476820878406771155476820896404753Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBD4210C\"5120share155476820883700691155476820924100125Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBFA99BF\"5120share155476821108601306Tue, 09 Apr 2019 00:03:31 GMT\"0x8D6BC7ECD176585\"5120share155476825711807119155476825729204921Tue, 09 Apr 2019 00:04:17 GMT\"0x8D6BC7EE89EA8B2\"5120share155476825945705044Tue, 09 Apr 2019 00:04:19 GMT\"0x8D6BC7EE9E8E0CB\"5120share155476834740803120Tue, 09 Apr 2019 00:05:47 GMT\"0x8D6BC7F1E4777AF\"5120share155476834984008859155476834988702992Tue, 09 Apr 2019 00:05:49 GMT\"0x8D6BC7F1FC39553\"5120share155476836605404360155476836607004655Tue, 09 Apr 2019 00:06:06 GMT\"0x8D6BC7F29689397\"5120share155476838809206589Tue, 09 Apr 2019 00:06:28 GMT\"0x8D6BC7F3699A514\"5120share155476839198303786155476839234803107Tue, 09 Apr 2019 00:06:32 GMT\"0x8D6BC7F39223C76\"5120share155476843986900491Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F557ECA14\"5120share155476844021800627155476844024600583Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F55B9A5DF\"5120share155476845378709296155476845396806652Tue, 09 Apr 2019 00:07:34 GMT\"0x8D6BC7F5DDC13C9\"5120share155476845593902321155476845597001638Tue, 09 Apr 2019 00:07:36 GMT\"0x8D6BC7F5F180369\"5120share155476849626305945Tue, 09 Apr 2019 00:08:16 GMT\"0x8D6BC7F77117C82\"5120share155476849880105820Tue, 09 Apr 2019 00:08:18 GMT\"0x8D6BC7F7885AA01\"5120share155476849915307469155476850553606138Tue, 09 Apr 2019 00:08:25 GMT\"0x8D6BC7F7C976A4D\"5120share155476850592804706155476850599107187Tue, 09 Apr 2019 00:08:26 GMT\"0x8D6BC7F7CCF6C1B\"5120share155476852757806473155476852759309641Tue, 09 Apr 2019 00:08:47 GMT\"0x8D6BC7F89B00F3A\"5120share155476852980102365Tue, 09 Apr 2019 00:08:49 GMT\"0x8D6BC7F8B005BF0\"5120share155476856656600292155476856674507959Tue, 09 Apr 2019 00:09:26 GMT\"0x8D6BC7FA112F732\"5120share155476856885709152Tue, 09 Apr 2019 00:09:28 GMT\"0x8D6BC7FA2557BB5\"5120share155476863244904949Tue, 09 Apr 2019 00:10:32 GMT\"0x8D6BC7FC83EFA77\"5120share155476863535008494155476863570305271Tue, 09 Apr 2019 00:10:35 GMT\"0x8D6BC7FCA2FC926\"5120share155476865943308691Tue, 09 Apr 2019 00:10:59 GMT\"0x8D6BC7FD853FF98\"5120share155476866240807893155476866276704727Tue, 09 Apr 2019 00:11:02 GMT\"0x8D6BC7FDA5082D2\"5120share155476868218009780155476868235304727Tue, 09 Apr 2019 00:11:22 GMT\"0x8D6BC7FE5FCE9DC\"5120share155476868800600510Tue, 09 Apr 2019 00:11:28 GMT\"0x8D6BC7FE95CAD94\"5120share155476869091401136155476869126508601Tue, 09 Apr 2019 00:11:31 GMT\"0x8D6BC7FEB4D0822\"5120share155476871168505595155476871185701462Tue, 09 Apr 2019 00:11:51 GMT\"0x8D6BC7FF7927E16\"5120share155476874475805006155476874493808659Tue, 09 Apr 2019 00:12:25 GMT\"0x8D6BC800B4A745E\"5120share155476874690105242Tue, 09 Apr 2019 00:12:27 GMT\"0x8D6BC800C75C565\"5120share155476875206001092155476875241409773Tue, 09 Apr 2019 00:12:32 GMT\"0x8D6BC800FBFA200\"5120share155476880248305317Tue, 09 Apr 2019 00:13:22 GMT\"0x8D6BC802D993DFF\"5120share155476880545306177155476880583203834Tue, 09 Apr 2019 00:13:25 GMT\"0x8D6BC802F965397\"5120share155476888864505928155476888881909462Tue, 09 Apr 2019 00:14:48 GMT\"0x8D6BC80610D3090\"5120share155476899293006933155476899311001721Tue, 09 Apr 2019 00:16:33 GMT\"0x8D6BC809F369DB0\"5120share155476908548709722Tue, 09 Apr 2019 00:18:05 GMT\"0x8D6BC80D645612F\"5120share155476908868904195155476908904003064Tue, 09 Apr 2019 00:18:09 GMT\"0x8D6BC80D863A958\"5120share155476909980609434Tue, 09 Apr 2019 00:18:19 GMT\"0x8D6BC80DECE268E\"5120share155476910281904976155476910319003432Tue, 09 Apr 2019 00:18:23 GMT\"0x8D6BC80E0D4235F\"5120share155476913684100960Tue, 09 Apr 2019 00:18:56 GMT\"0x8D6BC80F4E4E108\"5120share155476913787408958Tue, 09 Apr 2019 00:18:58 GMT\"0x8D6BC80F5820C56\"5120share155476913976300123155476914012502697Tue, 09 Apr 2019 00:19:00 GMT\"0x8D6BC80F6D9D174\"5120share155476914067107913155476914401701060Tue, 09 Apr 2019 00:19:04 GMT\"0x8D6BC80F92C192D\"5120share155476914792003023155476914809807978Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FB98086D\"5120share155476914816001450Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FBA21BE5\"5120share155476915097103659155476915132003837Tue, 09 Apr 2019 00:19:11 GMT\"0x8D6BC80FD83B8C9\"5120share155476917672903935Tue, 09 Apr 2019 00:19:36 GMT\"0x8D6BC810CA71295\"5120share155476917952009763155476917987301193Tue, 09 Apr 2019 00:19:40 GMT\"0x8D6BC810E86FF1C\"5120share155476919071804890155476919089106036Tue, 09 Apr 2019 00:19:51 GMT\"0x8D6BC8115191B5D\"5120share155476919296302859Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC811655430E\"5120share155476919319101764155476919336803669Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC81169511B5\"5120share155476919545308814Tue, 09 Apr 2019 00:19:55 GMT\"0x8D6BC8117D2A35B\"5120share155476919567900532155476919585804561Tue, 09 Apr 2019 00:19:56 GMT\"0x8D6BC811811F934\"5120share155476920649006874155476920666505869Tue, 09 Apr 2019 00:20:06 GMT\"0x8D6BC811E81595E\"5120share155476922893709128155476922911208955Tue, 09 Apr 2019 00:20:29 GMT\"0x8D6BC812BE07699\"5120share155476923318404372Tue, 09 Apr 2019 00:20:33 GMT\"0x8D6BC812E4D5E21\"5120share155476925059001794Tue, 09 Apr 2019 00:20:50 GMT\"0x8D6BC8138ADF463\"5120share155476925356004440155476925393103687Tue, 09 Apr 2019 00:20:54 GMT\"0x8D6BC813AABBC7A\"5120share155476929764201056Tue, 09 Apr 2019 00:21:37 GMT\"0x8D6BC8154B9AB1E\"5120share155476929921903613155476929939207757Tue, 09 Apr 2019 00:21:41 GMT\"0x8D6BC8156F5F171\"5120share155476930455706190155476930492200920Tue, 09 Apr 2019 00:21:45 GMT\"0x8D6BC81591155FA\"5120share155476939253408398155476939270804066Tue, 09 Apr 2019 00:23:12 GMT\"0x8D6BC818D634979\"5120share155476946740007208Tue, 09 Apr 2019 00:24:27 GMT\"0x8D6BC81B9E9110E\"5120share155476947019106284155476947055502266Tue, 09 Apr 2019 00:24:30 GMT\"0x8D6BC81BBCA3C83\"5120share155476950493004815Tue, 09 Apr 2019 00:25:05 GMT\"0x8D6BC81D0474349\"5120share155476950777909601155476950813509107Tue, 09 Apr 2019 00:25:08 GMT\"0x8D6BC81D2310748\"5120share155476951815408266155476953409009620Tue, 09 Apr 2019 00:25:34 GMT\"0x8D6BC81E1A8547E\"5120share155476954514209563Tue, 09 Apr 2019 00:25:45 GMT\"0x8D6BC81E842D7B4\"5120share155476954794902021155476954830307106Tue, 09 Apr 2019 00:25:48 GMT\"0x8D6BC81EA248BAB\"5120share155476955580001453155476955597302370Tue, 09 Apr 2019 00:25:56 GMT\"0x8D6BC81EEB44D5D\"5120share155476958659300969Tue, 09 Apr 2019 00:26:26 GMT\"0x8D6BC8200F1D32F\"5120share155476958941003585155476958975801940Tue, 09 Apr 2019 00:26:29 GMT\"0x8D6BC8202D4FE31\"5120share155476964114307488155476964131504685Tue, 09 Apr 2019 00:27:21 GMT\"0x8D6BC822194155D\"5120share155476968411306454155476968428403769Tue, 09 Apr 2019 00:28:04 GMT\"0x8D6BC823B2BFB08\"5120share155476971626808737Tue, 09 Apr 2019 00:28:36 GMT\"0x8D6BC824E3EA287\"5120share155476972105905786155476972140705576Tue, 09 Apr 2019 00:28:41 GMT\"0x8D6BC82514F8A17\"5120share155476976555505046155476976573004607Tue, 09 Apr 2019 00:29:25 GMT\"0x8D6BC826BBAEF5D\"5120share155476977380801891Tue, 09 Apr 2019 00:29:33 GMT\"0x8D6BC82708B5AA2\"5120share155476995717807831Tue, 09 Apr 2019 00:32:37 GMT\"0x8D6BC82DDD891C2\"5120share155476995999104481155476996033909155Tue, 09 Apr 2019 00:32:40 GMT\"0x8D6BC82DFBAE58B\"5120share155477000943707763155477000964807043Tue, 09 Apr 2019 00:33:29 GMT\"0x8D6BC82FD1F5667\"5120share155480772852505654Tue, 09 Apr 2019 11:02:08 GMT\"0x8D6BCDACF62C049\"5120share155480773110506552155480773127501332Tue, 09 Apr 2019 11:02:11 GMT\"0x8D6BCDAD0E9ACB2\"5120share155480776409606766155480776417904835Tue, 09 Apr 2019 11:02:44 GMT\"0x8D6BCDAE4867510\"5120share155480776694805660Tue, 09 Apr 2019 11:02:49 GMT\"0x8D6BCDAE7B2553B\"5120share155480777833501686155480777940002178Tue, 09 Apr 2019 11:02:59 GMT\"0x8D6BCDAEDA584FA\"5120share155480794441908831155480794614402045Tue, 09 Apr 2019 11:05:46 GMT\"0x8D6BCDB511E3A7E\"5120share155480838272308971Tue, 09 Apr 2019 11:13:02 GMT\"0x8D6BCDC55308631\"5120share155480838569107929155480838575305746Tue, 09 Apr 2019 11:13:05 GMT\"0x8D6BCDC56FF7011\"5120share155480840927004361155480840928909324Tue, 09 Apr 2019 11:13:29 GMT\"0x8D6BCDC6506EC70\"5120share155480861063907178Tue, 09 Apr 2019 11:16:50 GMT\"0x8D6BCDCDD0822AE\"5120share155480862463105296Tue, 09 Apr 2019 11:17:04 GMT\"0x8D6BCDCE57D7B96\"5120share155480862643008694155480862661203489Tue, 09 Apr 2019 11:17:06 GMT\"0x8D6BCDCE6936C52\"5120share155480862803409284155480862810302824Tue, 09 Apr 2019 11:17:08 GMT\"0x8D6BCDCE770CC18\"5120share155480865812101922155480865821104214Tue, 09 Apr 2019 11:17:38 GMT\"0x8D6BCDCF96916EB\"5120share155480868606501887155480868609406416Tue, 09 Apr 2019 11:18:06 GMT\"0x8D6BCDD0A00E67C\"5120share155480889003904019Tue, 09 Apr 2019 11:21:32 GMT\"0x8D6BCDD84F6F82E\"5120share155480889568307939155480889583203255Tue, 09 Apr 2019 11:21:35 GMT\"0x8D6BCDD870F6BA3\"5120share155480897029709318155480897037300585Tue, 09 Apr 2019 11:22:50 GMT\"0x8D6BCDDB37953D4\"5120share155480906424102615Tue, 09 Apr 2019 11:24:24 GMT\"0x8D6BCDDEB6B81B1\"5120share155480930375303643Tue, 09 Apr 2019 11:28:23 GMT\"0x8D6BCDE7A28B8DB\"5120share155480930894709325155480930937004652Tue, 09 Apr 2019 11:28:29 GMT\"0x8D6BCDE7D818C36\"5120share155480933774208533155480933783509305Tue, 09 Apr 2019 11:28:57 GMT\"0x8D6BCDE8E7BF8F9\"5120share155480969517400844Tue, 09 Apr 2019 11:34:55 GMT\"0x8D6BCDF63A050C3\"5120share155480969888707795155480969893306849Tue, 09 Apr 2019 11:34:58 GMT\"0x8D6BCDF65B54921\"5120share155480974335804699155480974338902814Tue, 09 Apr 2019 11:35:43 GMT\"0x8D6BCDF8036DDF6\"5120share155481008340704248Tue, 09 Apr 2019 11:41:23 GMT\"0x8D6BCE04ADDD8A2\"5120share155481008549406718155481008554100937Tue, 09 Apr 2019 11:41:27 GMT\"0x8D6BCE04D31B524\"5120share155481012778602365155481012781701628Tue, 09 Apr 2019 11:42:07 GMT\"0x8D6BCE06555DFCE\"5120share155481034990901641Tue, 09 Apr 2019 11:45:50 GMT\"0x8D6BCE0E9CADC7F\"5120share155481035603904965155481035641604476Tue, 09 Apr 2019 11:45:56 GMT\"0x8D6BCE0EDAB9351\"5120share155481041106406083155481041124001246Tue, 09 Apr 2019 11:46:51 GMT\"0x8D6BCE10E67C485\"5120share155481070004408686Tue, 09 Apr 2019 11:51:40 GMT\"0x8D6BCE1BA7CCA86\"5120share155481070331300500155481070366508716Tue, 09 Apr 2019 11:51:43 GMT\"0x8D6BCE1BCA4D32F\"5120share155481077062801299155481077080301740Tue, 09 Apr 2019 11:52:50 GMT\"0x8D6BCE1E4A8AC5E\"5120share155481104696407257Tue, 09 Apr 2019 11:57:27 GMT\"0x8D6BCE28944219B\"5120share155481105069503376155481105104709050Tue, 09 Apr 2019 11:57:31 GMT\"0x8D6BCE28BB2F5EB\"5120share155481110393104766155481110410301124Tue, 09 Apr 2019 11:58:24 GMT\"0x8D6BCE2AB5E84AC\"5120share155489412862807371Wed, 10 Apr 2019 11:02:08 GMT\"0x8D6BDA3F9C8FD9B\"5120share155489413277909619155489413286706477Wed, 10 Apr 2019 11:02:12 GMT\"0x8D6BDA3FC41DB4E\"5120share155489415671304108155489415677606190Wed, 10 Apr 2019 11:02:36 GMT\"0x8D6BDA40A819FF1\"5120share155489416756705091Wed, 10 Apr 2019 11:02:47 GMT\"0x8D6BDA410EF2DA1\"5120share155489416916801489155489416921506591Wed, 10 Apr 2019 11:02:49 GMT\"0x8D6BDA412270A05\"5120share155489422601500459155489422611702482Wed, 10 Apr 2019 11:03:46 GMT\"0x8D6BDA433D48934\"5120share155489422827708423Wed, 10 Apr 2019 11:03:48 GMT\"0x8D6BDA4351DC470\"5120share155489454656606719Wed, 10 Apr 2019 11:09:06 GMT\"0x8D6BDA4F2FC5650\"5120share155489455422603360155489455439702529Wed, 10 Apr 2019 11:09:14 GMT\"0x8D6BDA4F782E06A\"5120share155489458258002289155489458262309243Wed, 10 Apr 2019 11:09:42 GMT\"0x8D6BDA50855B498\"5120share155489482947807877Wed, 10 Apr 2019 11:13:53 GMT\"0x8D6BDA59DEC0FEB\"5120share155489483786706760155489483837601083Wed, 10 Apr 2019 11:14:00 GMT\"0x8D6BDA5A1B99935\"5120share155489488327604413155489488334906059Wed, 10 Apr 2019 11:14:43 GMT\"0x8D6BDA5BB9978AF\"5120share155489492123309454Wed, 10 Apr 2019 11:15:21 GMT\"0x8D6BDA5D248D84A\"5120share155489492507607432155489492526001236Wed, 10 Apr 2019 11:15:25 GMT\"0x8D6BDA5D4933469\"5120share155489496225207071155489496234109679Wed, 10 Apr 2019 11:16:02 GMT\"0x8D6BDA5EAAD1456\"5120share155489509528801814Wed, 10 Apr 2019 11:18:15 GMT\"0x8D6BDA63A229516\"5120share155489509735407356155489510215103908Wed, 10 Apr 2019 11:18:22 GMT\"0x8D6BDA63E2E9C02\"5120share155489515091603004155489515099201262Wed, 10 Apr 2019 11:19:11 GMT\"0x8D6BDA65B20F8F3\"5120share155489547884803269Wed, 10 Apr 2019 11:24:38 GMT\"0x8D6BDA71E86E5E0\"5120share155489548454903275155489548483004021Wed, 10 Apr 2019 11:24:44 GMT\"0x8D6BDA722179E7F\"5120share155489552181808130155489552185003544Wed, 10 Apr 2019 11:25:22 GMT\"0x8D6BDA73872431F\"5120share155489582839504190Wed, 10 Apr 2019 11:30:28 GMT\"0x8D6BDA7EEDEBFDD\"5120share155489582984702446155489583159500319Wed, 10 Apr 2019 11:30:31 GMT\"0x8D6BDA7F0C46DE4\"5120share155489586173909876155489586175402656Wed, 10 Apr 2019 11:31:02 GMT\"0x8D6BDA802F14681\"5120share155489619289500492Wed, 10 Apr 2019 11:36:32 GMT\"0x8D6BDA8C8219F23\"5120share155489619393006230155489619397709077Wed, 10 Apr 2019 11:36:34 GMT\"0x8D6BDA8C8C592C3\"5120share155489622564303022155489622565908804Wed, 10 Apr 2019 11:37:05 GMT\"0x8D6BDA8DBD04781\"5120share155489646131309214Wed, 10 Apr 2019 11:41:01 GMT\"0x8D6BDA9682F9333\"5120share155489646684205145155489646750301265Wed, 10 Apr 2019 11:41:07 GMT\"0x8D6BDA96BE064BB\"5120share155489652175004438155489652192700531Wed, 10 Apr 2019 11:42:02 GMT\"0x8D6BDA98C503695\"5120share155489681486003455Wed, 10 Apr 2019 11:46:54 GMT\"0x8D6BDAA3AE74A21\"5120share155489681884608063155489681919608330Wed, 10 Apr 2019 11:46:59 GMT\"0x8D6BDAA3D7CB218\"5120share155489687019401343155489687037106917Wed, 10 Apr 2019 11:47:50 GMT\"0x8D6BDAA5BFCC6A5\"5120share155489714481609238Wed, 10 Apr 2019 11:52:24 GMT\"0x8D6BDAAFF95A52E\"5120share155489714807504789155489714842701455Wed, 10 Apr 2019 11:52:28 GMT\"0x8D6BDAB01BBB9AA\"5120share155489720343801332155489720361300530Wed, 10 Apr 2019 11:53:23 GMT\"0x8D6BDAB22A213DA\"5120share155498052189005973Thu, 11 Apr 2019 11:02:03 GMT\"0x8D6BE6D20C5A27A\"5120share155498052486307452155498052494601328Thu, 11 Apr 2019 11:02:04 GMT\"0x8D6BE6D21F3FD4A\"5120share155498054458201295155498054462607374Thu, 11 Apr 2019 11:02:24 GMT\"0x8D6BE6D2DAF2F37\"5120share155498057256409560Thu, 11 Apr 2019 11:02:52 GMT\"0x8D6BE6D3E5B0100\"5120share155498057900203212155498058058503101Thu, 11 Apr 2019 11:03:00 GMT\"0x8D6BE6D4322EAB8\"5120share155498066045708716155498066054002568Thu, 11 Apr 2019 11:04:20 GMT\"0x8D6BE6D72CA6F35\"5120share155498100392305925Thu, 11 Apr 2019 11:10:03 GMT\"0x8D6BE6E3F6D7332\"5120share155498100486605985155498100492408541Thu, 11 Apr 2019 11:10:04 GMT\"0x8D6BE6E400669DB\"5120share155498102575801912155498102577004454Thu, 11 Apr 2019 11:10:25 GMT\"0x8D6BE6E4C72FBE0\"5120share155498118716109200Thu, 11 Apr 2019 11:13:07 GMT\"0x8D6BE6EACAE6539\"5120share155498119088009096155498119109803405Thu, 11 Apr 2019 11:13:11 GMT\"0x8D6BE6EAF0745E6\"5120share155498123278401216Thu, 11 Apr 2019 11:13:53 GMT\"0x8D6BE6EC7F7A018\"5120share155498123486100245155498123504606077Thu, 11 Apr 2019 11:13:55 GMT\"0x8D6BE6EC937DC9E\"5120share155498125173204844155498125181103614Thu, 11 Apr 2019 11:14:11 GMT\"0x8D6BE6ED337568F\"5120share155498127070203605155498127090200772Thu, 11 Apr 2019 11:14:30 GMT\"0x8D6BE6EDE96DD2C\"5120share155498149053803558Thu, 11 Apr 2019 11:18:13 GMT\"0x8D6BE6F632FC122\"5120share155498149486704484155498149491504102Thu, 11 Apr 2019 11:18:15 GMT\"0x8D6BE6F644A9B3B\"5120share155498155460200751155498155462406088Thu, 11 Apr 2019 11:19:14 GMT\"0x8D6BE6F87ADF271\"5120share155498183671704701Thu, 11 Apr 2019 11:23:55 GMT\"0x8D6BE702ECFDF92\"5120share155498183865606144155498183870405710Thu, 11 Apr 2019 11:23:57 GMT\"0x8D6BE702FFE177F\"5120share155498188735506358155498188738804227Thu, 11 Apr 2019 11:24:47 GMT\"0x8D6BE704DFE05C3\"5120share155498217286508991Thu, 11 Apr 2019 11:29:32 GMT\"0x8D6BE70F82F0421\"5120share155498217391907065155498217398104387Thu, 11 Apr 2019 11:29:34 GMT\"0x8D6BE70F8D9643C\"5120share155498221400709049155498221402206456Thu, 11 Apr 2019 11:30:14 GMT\"0x8D6BE7110E9F384\"5120share155498253737503811Thu, 11 Apr 2019 11:35:37 GMT\"0x8D6BE71D1727116\"5120share155498253857505289155498253935506389Thu, 11 Apr 2019 11:35:39 GMT\"0x8D6BE71D29F6801\"5120share155498256201107590155498256205807686Thu, 11 Apr 2019 11:36:02 GMT\"0x8D6BE71E0282811\"5120share155498278528305699Thu, 11 Apr 2019 11:39:45 GMT\"0x8D6BE7265497F4F\"5120share155498278829705785155498278865706979Thu, 11 Apr 2019 11:39:48 GMT\"0x8D6BE72674C1598\"5120share155498284418801730155498284436204192Thu, 11 Apr 2019 11:40:44 GMT\"0x8D6BE72887F563D\"5120share155498314636609246Thu, 11 Apr 2019 11:45:46 GMT\"0x8D6BE733C80D62F\"5120share155498314958405145155498314993401182Thu, 11 Apr 2019 11:45:50 GMT\"0x8D6BE733EB4DDC6\"5120share155498320380202916155498320397803097Thu, 11 Apr 2019 11:46:44 GMT\"0x8D6BE735ED74285\"5120share155498348631909500Thu, 11 Apr 2019 11:51:26 GMT\"0x8D6BE740722A624\"5120share155498349006200479155498349041201049Thu, 11 Apr 2019 11:51:30 GMT\"0x8D6BE7409936A5D\"5120share155498355074904797155498355091806030Thu, 11 Apr 2019 11:52:31 GMT\"0x8D6BE742DA3712E\"5120share155506715001008005Fri, 12 Apr 2019 11:05:50 GMT\"0x8D6BF36D280C86E\"5120share155506715554809020Fri, 12 Apr 2019 11:05:58 GMT\"0x8D6BF36D7A9DABD\"5120share155506716051807380155506716056903734Fri, 12 Apr 2019 11:06:00 GMT\"0x8D6BF36D8CB60FE\"5120share155506716156004041155506716164300511Fri, 12 Apr 2019 11:06:01 GMT\"0x8D6BF36D972DBD5\"5120share155506718476800145155506718480807242Fri, 12 Apr 2019 11:06:24 GMT\"0x8D6BF36E7419A66\"5120share155506724070107848155506724072501640Fri, 12 Apr 2019 11:07:20 GMT\"0x8D6BF3708928851\"5120share155506760045707115Fri, 12 Apr 2019 11:13:20 GMT\"0x8D6BF37DEFC3BC5\"5120share155506760361709232155506760364602112Fri, 12 Apr 2019 11:13:23 GMT\"0x8D6BF37E0E27E8F\"5120share155506762550205666155506762551700839Fri, 12 Apr 2019 11:13:45 GMT\"0x8D6BF37EDEBB5ED\"5120share155506775710503556Fri, 12 Apr 2019 11:15:57 GMT\"0x8D6BF383C5BE969\"5120share155506775914206834155506775939104602Fri, 12 Apr 2019 11:15:59 GMT\"0x8D6BF383DD9C789\"5120share155506780025406685155506780027400077Fri, 12 Apr 2019 11:16:43 GMT\"0x8D6BF3857EB4AAC\"5120share155506782349400072Fri, 12 Apr 2019 11:17:03 GMT\"0x8D6BF3864075C02\"5120share155506782529308699155506782548108688Fri, 12 Apr 2019 11:17:05 GMT\"0x8D6BF3865239620\"5120share155506785583100253155506785592602106Fri, 12 Apr 2019 11:17:35 GMT\"0x8D6BF387748C0B8\"5120share155506798629003189Fri, 12 Apr 2019 11:19:46 GMT\"0x8D6BF38C50D041D\"5120share155506798697509537155506798958607431Fri, 12 Apr 2019 11:19:49 GMT\"0x8D6BF38C715AB43\"5120share155506802218702711155506802412507312Fri, 12 Apr 2019 11:20:24 GMT\"0x8D6BF38DB82D2CD\"5120share155506830326102475Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF3981E69A84\"5120share155506830378004443155506830384200380Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF39823D8FC2\"5120share155506833333309950155506833336407734Fri, 12 Apr 2019 11:25:33 GMT\"0x8D6BF3993D61B9D\"5120share155506863762208674Fri, 12 Apr 2019 11:30:37 GMT\"0x8D6BF3A4930319C\"5120share155506863833206169155506863837809068Fri, 12 Apr 2019 11:30:38 GMT\"0x8D6BF3A49A59306\"5120share155506866511003689155506866514106110Fri, 12 Apr 2019 11:31:05 GMT\"0x8D6BF3A5997F3BE\"5120share155506897142509196Fri, 12 Apr 2019 11:36:11 GMT\"0x8D6BF3B102C6967\"5120share155506897230405925155506897235101961Fri, 12 Apr 2019 11:36:12 GMT\"0x8D6BF3B10B83AAD\"5120share155506900156507816155506900158101898Fri, 12 Apr 2019 11:36:41 GMT\"0x8D6BF3B2225FF10\"5120share155506922733502087Fri, 12 Apr 2019 11:40:27 GMT\"0x8D6BF3BA8C23585\"5120share155506923038104120155506923074402676Fri, 12 Apr 2019 11:40:30 GMT\"0x8D6BF3BAACA866A\"5120share155506928568601336155506928586704986Fri, 12 Apr 2019 11:41:25 GMT\"0x8D6BF3BCBA3278F\"5120share155506957242005394Fri, 12 Apr 2019 11:46:12 GMT\"0x8D6BF3C767049A5\"5120share155506957743506847155506957779804584Fri, 12 Apr 2019 11:46:17 GMT\"0x8D6BF3C79A3E022\"5120share155506963326709082155506963344002439Fri, 12 Apr 2019 11:47:13 GMT\"0x8D6BF3C9ACD0D96\"5120share155506990427401355Fri, 12 Apr 2019 11:51:44 GMT\"0x8D6BF3D3C3FB7D7\"5120share155506990726700768155506990858704284Fri, 12 Apr 2019 11:51:48 GMT\"0x8D6BF3D3ED1EDD2\"5120share155506996647800617155506996664704791Fri, 12 Apr 2019 11:52:46 GMT\"0x8D6BF3D616C706B\"5120share155512644720907744Sat, 13 Apr 2019 03:34:07 GMT\"0x8D6BFC0E2A1A83B\"5120share155512645443804909155512645573404643Sat, 13 Apr 2019 03:34:16 GMT\"0x8D6BFC0E7C4CE99\"5120share155512656455209259155512656522205112Sat, 13 Apr 2019 03:36:05 GMT\"0x8D6BFC128E570AB\"5120share155512679757904247Sat, 13 Apr 2019 03:39:57 GMT\"0x8D6BFC1B3655FDB\"5120share155515332953602339Sat, 13 Apr 2019 11:02:09 GMT\"0x8D6BFFF797F7F67\"5120share155515333132005839155515333134603307Sat, 13 Apr 2019 11:02:11 GMT\"0x8D6BFFF7A9394FF\"5120share155515334716009504155515334717208600Sat, 13 Apr 2019 11:02:27 GMT\"0x8D6BFFF84025D13\"5120share155515337211202917Sat, 13 Apr 2019 11:02:52 GMT\"0x8D6BFFF93019996\"5120share155515337799207116155515337815203201Sat, 13 Apr 2019 11:02:58 GMT\"0x8D6BFFF9682A8F3\"5120share155515343857608004155515343865600233Sat, 13 Apr 2019 11:03:58 GMT\"0x8D6BFFFBAAECD7F\"5120share155515373957208433Sat, 13 Apr 2019 11:08:59 GMT\"0x8D6C0006DE70B38\"5120share155515375889701481155515375893402001Sat, 13 Apr 2019 11:09:18 GMT\"0x8D6C00079709685\"5120share155515379789204290155515379790606876Sat, 13 Apr 2019 11:09:57 GMT\"0x8D6C00090AA0CB1\"5120share155515394778104787Sat, 13 Apr 2019 11:12:27 GMT\"0x8D6C000EA00F332\"5120share155515394918607154155515394934805953Sat, 13 Apr 2019 11:12:29 GMT\"0x8D6C000EB2187B3\"5120share155515397662402015155515397664207701Sat, 13 Apr 2019 11:12:56 GMT\"0x8D6C000FB3464BC\"5120share155515407173608133Sat, 13 Apr 2019 11:14:31 GMT\"0x8D6C0013400A2AC\"5120share155515407347804860155515407365704793Sat, 13 Apr 2019 11:14:33 GMT\"0x8D6C00135109915\"5120share155515410200606372155515410209601041Sat, 13 Apr 2019 11:15:02 GMT\"0x8D6C001460400F2\"5120share155515419507804760Sat, 13 Apr 2019 11:16:35 GMT\"0x8D6C0017D8E82B7\"5120share155515419609804201155515419614704354Sat, 13 Apr 2019 11:16:36 GMT\"0x8D6C0017E0B210D\"5120share155515423073708967155515423286302712Sat, 13 Apr 2019 11:17:12 GMT\"0x8D6C00193ED63DD\"5120share155515451710102731Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023D5909E7\"5120share155515451771906465155515451778307619Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023DC196A4\"5120share155515455158703949155515455160200624Sat, 13 Apr 2019 11:22:31 GMT\"0x8D6C00251EA8AEC\"5120share155515484116005106Sat, 13 Apr 2019 11:27:21 GMT\"0x8D6C002FE7F89F9\"5120share155515484246808118155515484251102561Sat, 13 Apr 2019 11:27:22 GMT\"0x8D6C002FF4D9836\"5120share155515486366505500155515486369609506Sat, 13 Apr 2019 11:27:43 GMT\"0x8D6C0030BEE82E6\"5120share155515518956908415Sat, 13 Apr 2019 11:33:09 GMT\"0x8D6C003CE2CBFF5\"5120share155515519023504740155515519028205997Sat, 13 Apr 2019 11:33:10 GMT\"0x8D6C003CE995C00\"5120share155515521208103058155515521209704227Sat, 13 Apr 2019 11:33:32 GMT\"0x8D6C003DB994D13\"5120share155515544412001539Sat, 13 Apr 2019 11:37:24 GMT\"0x8D6C00465F85EFF\"5120share155515544701403547155515544736709856Sat, 13 Apr 2019 11:37:27 GMT\"0x8D6C00467E74ACD\"5120share155515549960109573155515549977503756Sat, 13 Apr 2019 11:38:19 GMT\"0x8D6C0048723AF04\"5120share155515575696104941Sat, 13 Apr 2019 11:42:37 GMT\"0x8D6C005207046CB\"5120share155515576002205864155515576037106690Sat, 13 Apr 2019 11:42:40 GMT\"0x8D6C00522778CA6\"5120share155515581335804060155515581353108782Sat, 13 Apr 2019 11:43:33 GMT\"0x8D6C0054226BC2D\"5120share155515609277909871Sat, 13 Apr 2019 11:48:12 GMT\"0x8D6C005E899CD33\"5120share155515609680009591155515609726705954Sat, 13 Apr 2019 11:48:17 GMT\"0x8D6C005EB46D13E\"5120share155515614666004322155515614683202492Sat, 13 Apr 2019 11:49:06 GMT\"0x8D6C00608D0D7EA\"5120share155523972563402918Sun, 14 Apr 2019 11:02:05 GMT\"0x8D6C0C8A1A57EE1\"5120share155523972846006428155523972854309146Sun, 14 Apr 2019 11:02:08 GMT\"0x8D6C0C8A354D131\"5120share155523975181800309155523975186002763Sun, 14 Apr 2019 11:02:31 GMT\"0x8D6C0C8B13AAB29\"5120share155523975476009841Sun, 14 Apr 2019 11:02:34 GMT\"0x8D6C0C8B2FACE38\"5120share155523975786403226155523975946205362Sun, 14 Apr 2019 11:02:39 GMT\"0x8D6C0C8B5C89023\"5120share155523982133602164155523982216202749Sun, 14 Apr 2019 11:03:42 GMT\"0x8D6C0C8DB30CFE3\"5120share155524013107906841Sun, 14 Apr 2019 11:08:51 GMT\"0x8D6C0C99340BE58\"5120share155524013345703248155524013348709767Sun, 14 Apr 2019 11:08:53 GMT\"0x8D6C0C994B03BFC\"5120share155524015095705974155524015097103470Sun, 14 Apr 2019 11:09:10 GMT\"0x8D6C0C99F1C0B9E\"5120share155524021269704125Sun, 14 Apr 2019 11:10:13 GMT\"0x8D6C0C9C4622350\"5120share155524021719509152155524021734908307Sun, 14 Apr 2019 11:10:17 GMT\"0x8D6C0C9C6AD286E\"5120share155524024923607696155524024925705826Sun, 14 Apr 2019 11:10:49 GMT\"0x8D6C0C9D9E7B704\"5120share155524026327306963Sun, 14 Apr 2019 11:11:03 GMT\"0x8D6C0C9E2405917\"5120share155524026548904913155524026567204179Sun, 14 Apr 2019 11:11:05 GMT\"0x8D6C0C9E37E967B\"5120share155524030632607257155524030641508963Sun, 14 Apr 2019 11:11:46 GMT\"0x8D6C0C9FBC7E024\"5120share155524044965804361Sun, 14 Apr 2019 11:14:09 GMT\"0x8D6C0CA51246B8E\"5120share155524045120102941155524045134606678Sun, 14 Apr 2019 11:14:11 GMT\"0x8D6C0CA5225F523\"5120share155524047915003736155524047977906720Sun, 14 Apr 2019 11:14:39 GMT\"0x8D6C0CA63182CCB\"5120share155524078617101300Sun, 14 Apr 2019 11:19:46 GMT\"0x8D6C0CB19B96C89\"5120share155524078937808496155524079027604566Sun, 14 Apr 2019 11:19:51 GMT\"0x8D6C0CB1CB6CC02\"5120share155524083480905582155524083484002684Sun, 14 Apr 2019 11:20:34 GMT\"0x8D6C0CB36BA42E2\"5120share155524114771102323Sun, 14 Apr 2019 11:25:47 GMT\"0x8D6C0CBF136A11B\"5120share155524115650204611155524115676003349Sun, 14 Apr 2019 11:25:56 GMT\"0x8D6C0CBF69A9C67\"5120share155524118633505833155524118636606794Sun, 14 Apr 2019 11:26:26 GMT\"0x8D6C0CC08422CA2\"5120share155524152984609186Sun, 14 Apr 2019 11:32:09 GMT\"0x8D6C0CCD4FD31E8\"5120share155524153899407575155524153904106704Sun, 14 Apr 2019 11:32:19 GMT\"0x8D6C0CCDA7676BB\"5120share155524156472600266155524156474206614Sun, 14 Apr 2019 11:32:44 GMT\"0x8D6C0CCE9C9F816\"5120share155524179352704148Sun, 14 Apr 2019 11:36:33 GMT\"0x8D6C0CD7239EB5A\"5120share155524179753806035155524179820702547Sun, 14 Apr 2019 11:36:38 GMT\"0x8D6C0CD7503C6AF\"5120share155524184816604357155524185379908254Sun, 14 Apr 2019 11:37:33 GMT\"0x8D6C0CD9626119F\"5120share155524215012701349Sun, 14 Apr 2019 11:42:30 GMT\"0x8D6C0CE46C6E1CD\"5120share155524215367607082155524215405106431Sun, 14 Apr 2019 11:42:34 GMT\"0x8D6C0CE491D1AD7\"5120share155524220627609881155524220645007845Sun, 14 Apr 2019 11:43:26 GMT\"0x8D6C0CE6857F2F2\"5120share155524250457408298Sun, 14 Apr 2019 11:48:24 GMT\"0x8D6C0CF1A0B4445\"5120share155524250759003260155524250794109789Sun, 14 Apr 2019 11:48:28 GMT\"0x8D6C0CF1C0D1857\"5120share155524256514106448155524256531804718Sun, 14 Apr 2019 11:49:25 GMT\"0x8D6C0CF3E3FA6CF\"5120share155532613122901412Mon, 15 Apr 2019 11:02:11 GMT\"0x8D6C191CF62EDAB\"5120share155532613225806589155532613234400258Mon, 15 Apr 2019 11:02:12 GMT\"0x8D6C191D0022A3A\"5120share155532615554502997155532615558408768Mon, 15 Apr 2019 11:02:35 GMT\"0x8D6C191DDDC8A54\"5120share155532623242907675Mon, 15 Apr 2019 11:03:52 GMT\"0x8D6C1920BE8AECE\"5120share155532623985301138155532624014404643Mon, 15 Apr 2019 11:04:00 GMT\"0x8D6C19210603437\"5120share155532630302204772155532630304602475Mon, 15 Apr 2019 11:05:03 GMT\"0x8D6C19235C07054\"5120share155532649710009530Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A96854B0\"5120share155532649744806724155532649747405217Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A9A16765\"5120share155532651230505127155532651232109373Mon, 15 Apr 2019 11:08:32 GMT\"0x8D6C192B27AEBD9\"5120share155532665274909034Mon, 15 Apr 2019 11:10:52 GMT\"0x8D6C193063828B5\"5120share155532665779301144155532665795305505Mon, 15 Apr 2019 11:10:58 GMT\"0x8D6C1930953F71B\"5120share155532668636605451Mon, 15 Apr 2019 11:11:26 GMT\"0x8D6C1931A84E0CB\"5120share155532668851001958155532668869708221Mon, 15 Apr 2019 11:11:28 GMT\"0x8D6C1931BA311FF\"5120share155532671950203165155532671991908048Mon, 15 Apr 2019 11:11:59 GMT\"0x8D6C1932E4225E0\"5120share155532672415401526155532672424500176Mon, 15 Apr 2019 11:12:04 GMT\"0x8D6C19330D46F6E\"5120share155532694866104349Mon, 15 Apr 2019 11:15:48 GMT\"0x8D6C193B697FC01\"5120share155532695096608028155532695134004095Mon, 15 Apr 2019 11:15:51 GMT\"0x8D6C193B8453E7E\"5120share155532699549303169155532699571103064Mon, 15 Apr 2019 11:16:35 GMT\"0x8D6C193D2A2FBE2\"5120share155532730686902441Mon, 15 Apr 2019 11:21:46 GMT\"0x8D6C1948C14A8A2\"5120share155532730821207416155532730887801551Mon, 15 Apr 2019 11:21:48 GMT\"0x8D6C1948D44F25C\"5120share155532733547106330155532733548702182Mon, 15 Apr 2019 11:22:15 GMT\"0x8D6C1949D227707\"5120share155532762909302194Mon, 15 Apr 2019 11:27:09 GMT\"0x8D6C1954C23E6E5\"5120share155532762993901249155532762998607585Mon, 15 Apr 2019 11:27:10 GMT\"0x8D6C1954CACBB19\"5120share155532766217804204155532766220901342Mon, 15 Apr 2019 11:27:42 GMT\"0x8D6C1955FE09561\"5120share155532798608100078Mon, 15 Apr 2019 11:33:06 GMT\"0x8D6C196211E0513\"5120share155532798786104582155532798790801989Mon, 15 Apr 2019 11:33:08 GMT\"0x8D6C19622172228\"5120share155532801332005290155532801333506642Mon, 15 Apr 2019 11:33:33 GMT\"0x8D6C196312AE129\"5120share155532825264602754Mon, 15 Apr 2019 11:37:32 GMT\"0x8D6C196BFDE354E\"5120share155532825615400146155532825651301297Mon, 15 Apr 2019 11:37:36 GMT\"0x8D6C196C22BF7C8\"5120share155532830944004051155532830962109665Mon, 15 Apr 2019 11:38:29 GMT\"0x8D6C196E1D4B3D6\"5120share155532860283705934Mon, 15 Apr 2019 11:43:23 GMT\"0x8D6C19790B85279\"5120share155532860591402599155532860626203748Mon, 15 Apr 2019 11:43:26 GMT\"0x8D6C19792C39B8A\"5120share155532865928107481155532865946409770Mon, 15 Apr 2019 11:44:19 GMT\"0x8D6C197B25D3B4C\"5120share155532894816307878Mon, 15 Apr 2019 11:49:08 GMT\"0x8D6C1985E709657\"5120share155532895115005912155532895150108737Mon, 15 Apr 2019 11:49:11 GMT\"0x8D6C198606E1B49\"5120share155532900519604536155532900537002394Mon, 15 Apr 2019 11:50:05 GMT\"0x8D6C1988089C37B\"5120share155541254266906758Tue, 16 Apr 2019 11:02:24 GMT\"0x8D6C25B01E63294\"5120share155541254704901514155541254722205184Tue, 16 Apr 2019 11:02:27 GMT\"0x8D6C25B034F0342\"5120share155541257726609606155541257735100960Tue, 16 Apr 2019 11:02:57 GMT\"0x8D6C25B154451E5\"5120share155541258394001344Tue, 16 Apr 2019 11:03:06 GMT\"0x8D6C25B1A99310F\"5120share155541259331901356155541259718300665Tue, 16 Apr 2019 11:03:17 GMT\"0x8D6C25B21238E58\"5120share155541275463405342155541275509408341Tue, 16 Apr 2019 11:05:56 GMT\"0x8D6C25B7FDAE42C\"5120share155541332218001340Tue, 16 Apr 2019 11:15:22 GMT\"0x8D6C25CD1313106\"5120share155541333391202994155541333394201763Tue, 16 Apr 2019 11:15:33 GMT\"0x8D6C25CD833D6F8\"5120share155541336698403997155541336700200957Tue, 16 Apr 2019 11:16:07 GMT\"0x8D6C25CEBE8BE26\"5120share155541340019809612Tue, 16 Apr 2019 11:16:42 GMT\"0x8D6C25D00C4E301\"5120share155541340431404906155541340450501927Tue, 16 Apr 2019 11:16:45 GMT\"0x8D6C25D029765BC\"5120share155541351620901519155541351633009731Tue, 16 Apr 2019 11:18:36 GMT\"0x8D6C25D44F2CB83\"5120share155541365388401666Tue, 16 Apr 2019 11:20:54 GMT\"0x8D6C25D97184EBA\"5120share155541365734901246155541365753206510Tue, 16 Apr 2019 11:20:57 GMT\"0x8D6C25D99195E68\"5120share155541368795303261155541368804508446Tue, 16 Apr 2019 11:21:28 GMT\"0x8D6C25DAB4935EB\"5120share155541380951505125Tue, 16 Apr 2019 11:23:30 GMT\"0x8D6C25DF41B7633\"5120share155541381521101270155541381537608334Tue, 16 Apr 2019 11:23:35 GMT\"0x8D6C25DF78136DD\"5120share155541389134901136155541389142503336Tue, 16 Apr 2019 11:24:52 GMT\"0x8D6C25E24E9DEEC\"5120share155541423557305011Tue, 16 Apr 2019 11:30:35 GMT\"0x8D6C25EF1A0EFED\"5120share155541424210207450155541424307606173Tue, 16 Apr 2019 11:30:43 GMT\"0x8D6C25EF61A1F1E\"5120share155541428387009705155541428390104095Tue, 16 Apr 2019 11:31:24 GMT\"0x8D6C25F0EA4F648\"5120share155541460901500620Tue, 16 Apr 2019 11:36:49 GMT\"0x8D6C25FD0587C69\"5120share155541460989209750155541460997003508Tue, 16 Apr 2019 11:36:50 GMT\"0x8D6C25FD0ECE125\"5120share155541463453808516155541463456909627Tue, 16 Apr 2019 11:37:14 GMT\"0x8D6C25FDF70CD23\"5120share155541495149601147Tue, 16 Apr 2019 11:42:31 GMT\"0x8D6C2609C597458\"5120share155541495234103609155541495238807035Tue, 16 Apr 2019 11:42:32 GMT\"0x8D6C2609CDFEC22\"5120share155541498022705756155541498024304069Tue, 16 Apr 2019 11:43:00 GMT\"0x8D6C260AD7AF75C\"5120share155541521993507818Tue, 16 Apr 2019 11:47:00 GMT\"0x8D6C2613C6CE4FD\"5120share155541522302504398155541522343008691Tue, 16 Apr 2019 11:47:03 GMT\"0x8D6C2613E8133C2\"5120share155541528560504973155541528889003453Tue, 16 Apr 2019 11:48:09 GMT\"0x8D6C26165851668\"5120share155541557757802202Tue, 16 Apr 2019 11:52:57 GMT\"0x8D6C26211976A21\"5120share155541558548808426155541558584407224Tue, 16 Apr 2019 11:53:05 GMT\"0x8D6C2621684B2B8\"5120share155541563573506420155541563590907833Tue, 16 Apr 2019 11:53:56 GMT\"0x8D6C262348D397D\"5120share155541593216004589Tue, 16 Apr 2019 11:58:52 GMT\"0x8D6C262E4F09A4B\"5120share155541593570005076155541593605107442Tue, 16 Apr 2019 11:58:56 GMT\"0x8D6C262E742269D\"5120share155541599013809500155541599031301890Tue, 16 Apr 2019 11:59:50 GMT\"0x8D6C26307993211\"5120share155549893423105655Wed, 17 Apr 2019 11:02:16 GMT\"0x8D6C324271BAA36\"5120share155549893951306087155549893970607676Wed, 17 Apr 2019 11:02:19 GMT\"0x8D6C324293F0208\"5120share155549897171300831Wed, 17 Apr 2019 11:02:52 GMT\"0x8D6C3243CF9A634\"5120share155549897401609400155549897410205483Wed, 17 Apr 2019 11:02:54 GMT\"0x8D6C3243DBFA4FC\"5120share155549897546703999155549897569707719Wed, 17 Apr 2019 11:02:55 GMT\"0x8D6C3243EB9C89B\"5120share155549906322000959155549906330109486Wed, 17 Apr 2019 11:04:23 GMT\"0x8D6C32472F134A6\"5120share155549965941700512Wed, 17 Apr 2019 11:14:19 GMT\"0x8D6C325D63A5B3F\"5120share155549966157400319155549966175200315Wed, 17 Apr 2019 11:14:21 GMT\"0x8D6C325D79DA5B7\"5120share155549971518608598155549971561404891Wed, 17 Apr 2019 11:15:15 GMT\"0x8D6C325F7B8AFA3\"5120share155549978405302833Wed, 17 Apr 2019 11:16:24 GMT\"0x8D6C326207DB3DC\"5120share155549978511702131155549978517806033Wed, 17 Apr 2019 11:16:25 GMT\"0x8D6C32621294535\"5120share155549980131605649155549980133103239Wed, 17 Apr 2019 11:16:41 GMT\"0x8D6C3262ACA3D2C\"5120share155550002738005277Wed, 17 Apr 2019 11:20:27 GMT\"0x8D6C326B1A24665\"5120share155550002983909494155550003002100264Wed, 17 Apr 2019 11:20:30 GMT\"0x8D6C326B31EBAA7\"5120share155550006142202418155550006151604324Wed, 17 Apr 2019 11:21:01 GMT\"0x8D6C326C5E429E5\"5120share155550009606909758Wed, 17 Apr 2019 11:21:36 GMT\"0x8D6C326DA7D5D08\"5120share155550009760705130155550011425007819Wed, 17 Apr 2019 11:21:54 GMT\"0x8D6C326E553CE47\"5120share155550015985409525155550015992505947Wed, 17 Apr 2019 11:22:39 GMT\"0x8D6C327008D05C8\"5120share155550051259905095Wed, 17 Apr 2019 11:28:32 GMT\"0x8D6C327D2EAB6BB\"5120share155550051502006429155550051529202610Wed, 17 Apr 2019 11:28:35 GMT\"0x8D6C327D459D250\"5120share155550055250105787155550055253306514Wed, 17 Apr 2019 11:29:12 GMT\"0x8D6C327EAA8ACA5\"5120share155550088263301102Wed, 17 Apr 2019 11:34:42 GMT\"0x8D6C328AF698573\"5120share155550088987503055155550088992208325Wed, 17 Apr 2019 11:34:50 GMT\"0x8D6C328B3C5CE25\"5120share155550092694403401155550092964703585Wed, 17 Apr 2019 11:35:29 GMT\"0x8D6C328CB52F6FE\"5120share155550128719404242Wed, 17 Apr 2019 11:41:27 GMT\"0x8D6C329A06FBC14\"5120share155550128869409229155550128926507283Wed, 17 Apr 2019 11:41:29 GMT\"0x8D6C329A1ABFF33\"5120share155550132367805226155550132369307996Wed, 17 Apr 2019 11:42:03 GMT\"0x8D6C329B631B774\"5120share155550156726204845Wed, 17 Apr 2019 11:46:07 GMT\"0x8D6C32A4770EF93\"5120share155550157040602071155550157076409850Wed, 17 Apr 2019 11:46:10 GMT\"0x8D6C32A4985D59F\"5120share155550163293808211155550163312201213Wed, 17 Apr 2019 11:47:13 GMT\"0x8D6C32A6EB141F0\"5120share155550197119504850Wed, 17 Apr 2019 11:52:51 GMT\"0x8D6C32B3833750F\"5120share155550197461700480155550197501504695Wed, 17 Apr 2019 11:52:55 GMT\"0x8D6C32B3A7AC857\"5120share155550203363000262155550203381302772Wed, 17 Apr 2019 11:53:53 GMT\"0x8D6C32B5D8624BF\"5120share155550242341102516Wed, 17 Apr 2019 12:00:23 GMT\"0x8D6C32C45BDF478\"5120share155550242674407416155550242710704735Wed, 17 Apr 2019 12:00:27 GMT\"0x8D6C32C47F1FD5B\"5120share155550248691308149155550248709006105Wed, 17 Apr 2019 12:01:27 GMT\"0x8D6C32C6BB1D387\"5120share155552560545404292Wed, 17 Apr 2019 18:26:45 GMT\"0x8D6C3623F6E51E9\"5120share155552560809403357155552560834301039Wed, 17 Apr 2019 18:26:48 GMT\"0x8D6C36241013AA2\"5120share155552564907209438155552564919503843Wed, 17 Apr 2019 18:27:29 GMT\"0x8D6C362595AC1D4\"5120share155552565476607413Wed, 17 Apr 2019 18:27:35 GMT\"0x8D6C3625D267F23\"5120share155552566303103495155552566351701314Wed, 17 Apr 2019 18:27:43 GMT\"0x8D6C36261F69DD9\"5120share155552578011908260155552578062307634Wed, 17 Apr 2019 18:29:40 GMT\"0x8D6C362A7C38020\"5120share155552614480001295Wed, 17 Apr 2019 18:35:47 GMT\"0x8D6C363823B7554\"5120share155552615120901855155552615136405806Wed, 17 Apr 2019 18:35:51 GMT\"0x8D6C36384A975B8\"5120share155552615366401269Wed, 17 Apr 2019 18:35:53 GMT\"0x8D6C36385FEA70C\"5120share155552615404704286155552615408701313Wed, 17 Apr 2019 18:35:54 GMT\"0x8D6C363863FE0E9\"5120share155552617174909395155552617176307704Wed, 17 Apr 2019 18:36:11 GMT\"0x8D6C36390C91C6B\"5120share155552622852006858155552622859402876Wed, 17 Apr 2019 18:37:08 GMT\"0x8D6C363B2B0CA30\"5120share155552628740508216Wed, 17 Apr 2019 18:38:07 GMT\"0x8D6C363D5F22384\"5120share155552629053208133155552629074209107Wed, 17 Apr 2019 18:38:10 GMT\"0x8D6C363D7BAB6CF\"5120share155552633147703067155552633156701774Wed, 17 Apr 2019 18:38:51 GMT\"0x8D6C363F00FF2E5\"5120share155552648726709764Wed, 17 Apr 2019 18:41:27 GMT\"0x8D6C3644D075E26\"5120share155552649436202173155552649474208215Wed, 17 Apr 2019 18:41:35 GMT\"0x8D6C364517CAEBD\"5120share155552656168000918155552656187209904Wed, 17 Apr 2019 18:42:42 GMT\"0x8D6C36479618E75\"5120share155552693163608945Wed, 17 Apr 2019 18:48:52 GMT\"0x8D6C36556520750\"5120share155552693446204528155552693463308719Wed, 17 Apr 2019 18:48:54 GMT\"0x8D6C3655786650B\"5120share155552697993108967155552698000907445Wed, 17 Apr 2019 18:49:40 GMT\"0x8D6C36572A9F003\"5120share155552729425804271Wed, 17 Apr 2019 18:54:54 GMT\"0x8D6C3662DE20556\"5120share155552729598803339155552729614405737Wed, 17 Apr 2019 18:54:56 GMT\"0x8D6C3662F0A9030\"5120share155552733112600872155552733118908362Wed, 17 Apr 2019 18:55:31 GMT\"0x8D6C36643E5922E\"5120share155552772564603671Wed, 17 Apr 2019 19:02:05 GMT\"0x8D6C3672EF935F7\"5120share155552772624901917155552772628004531Wed, 17 Apr 2019 19:02:06 GMT\"0x8D6C3672F5BF35A\"5120share155552775724706421155552775727802514Wed, 17 Apr 2019 19:02:37 GMT\"0x8D6C36741D4B9B6\"5120share155552802670503142Wed, 17 Apr 2019 19:07:06 GMT\"0x8D6C367E2807ADC\"5120share155552803282203340155552803318603518Wed, 17 Apr 2019 19:07:13 GMT\"0x8D6C367E65B28E5\"5120share155552809032904944155552809090908066Wed, 17 Apr 2019 19:08:11 GMT\"0x8D6C36808C39DB8\"5120share155552838825607453Wed, 17 Apr 2019 19:13:08 GMT\"0x8D6C368B9FE54F7\"5120share155552839148508358155552839193408320Wed, 17 Apr 2019 19:13:12 GMT\"0x8D6C368BC2F9AEA\"5120share155552844815104394155552844833406262Wed, 17 Apr 2019 19:14:08 GMT\"0x8D6C368DDCD31FD\"5120share155552878402607069Wed, 17 Apr 2019 19:19:44 GMT\"0x8D6C369A5E49D58\"5120share155552878826702128155552878862507316Wed, 17 Apr 2019 19:19:48 GMT\"0x8D6C369A8A22518\"5120share155552884129007821155552884146501049Wed, 17 Apr 2019 19:20:41 GMT\"0x8D6C369C81F98C8\"5120share155558533127600563Thu, 18 Apr 2019 11:02:11 GMT\"0x8D6C3ED4EB5FE06\"5120share155558533326108913155558533341701278Thu, 18 Apr 2019 11:02:13 GMT\"0x8D6C3ED4FE7D39E\"5120share155558536029301808155558536036603046Thu, 18 Apr 2019 11:02:40 GMT\"0x8D6C3ED5FF94117\"5120share155558537329802053Thu, 18 Apr 2019 11:02:53 GMT\"0x8D6C3ED67E43F37\"5120share155558537790904707155558537838909948Thu, 18 Apr 2019 11:02:59 GMT\"0x8D6C3ED6B35010E\"5120share155558553437606602155558553452403381Thu, 18 Apr 2019 11:05:35 GMT\"0x8D6C3EDC8567F8E\"5120share155558600311408161Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF0CB075\"5120share155558600376909016155558600379609735Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF74C41A\"5120share155558601862101564155558601863401502Thu, 18 Apr 2019 11:13:38 GMT\"0x8D6C3EEE84CEB0A\"5120share155558617728402366Thu, 18 Apr 2019 11:16:17 GMT\"0x8D6C3EF46E0E671\"5120share155558617963201324155558617967308167Thu, 18 Apr 2019 11:16:19 GMT\"0x8D6C3EF484A4F65\"5120share155558622185704428Thu, 18 Apr 2019 11:17:02 GMT\"0x8D6C3EF61870C3D\"5120share155558622374608647155558622393206409Thu, 18 Apr 2019 11:17:03 GMT\"0x8D6C3EF62B0BF15\"5120share155558626297903235155558626308203729Thu, 18 Apr 2019 11:17:43 GMT\"0x8D6C3EF7A065E48\"5120share155558627287602013155558627333600766Thu, 18 Apr 2019 11:17:54 GMT\"0x8D6C3EF80C86890\"5120share155558650337201708Thu, 18 Apr 2019 11:21:43 GMT\"0x8D6C3F009423CB2\"5120share155558651265101014155558651330107985Thu, 18 Apr 2019 11:21:53 GMT\"0x8D6C3F00F2DD147\"5120share155558657593309443155558657601100869Thu, 18 Apr 2019 11:22:56 GMT\"0x8D6C3F0348FD711\"5120share155558692134205333Thu, 18 Apr 2019 11:28:41 GMT\"0x8D6C3F1025B7B05\"5120share155558692763501858155558692941807357Thu, 18 Apr 2019 11:28:49 GMT\"0x8D6C3F1072BC065\"5120share155558696820601017155558696822107945Thu, 18 Apr 2019 11:29:28 GMT\"0x8D6C3F11E4E16A8\"5120share155558731013204298Thu, 18 Apr 2019 11:35:10 GMT\"0x8D6C3F1EA195BC8\"5120share155558731124900977155558731129604089Thu, 18 Apr 2019 11:35:11 GMT\"0x8D6C3F1EAC9CFC1\"5120share155558735412207891155558735415409398Thu, 18 Apr 2019 11:35:54 GMT\"0x8D6C3F204555DC8\"5120share155558766508405728Thu, 18 Apr 2019 11:41:05 GMT\"0x8D6C3F2BDA95065\"5120share155558766914207910155558767009601245Thu, 18 Apr 2019 11:41:10 GMT\"0x8D6C3F2C0A65C74\"5120share155558770515003967155558770518109064Thu, 18 Apr 2019 11:41:45 GMT\"0x8D6C3F2D58FB3EA\"5120share155558793089708251Thu, 18 Apr 2019 11:45:31 GMT\"0x8D6C3F35C2C9F38\"5120share155558793444503290155558793481008090Thu, 18 Apr 2019 11:45:34 GMT\"0x8D6C3F35E81F9AC\"5120share155558799946700102155558799964409447Thu, 18 Apr 2019 11:46:39 GMT\"0x8D6C3F38527F5EE\"5120share155558831554006522Thu, 18 Apr 2019 11:51:55 GMT\"0x8D6C3F441761EFC\"5120share155558831880805187155558831916801086Thu, 18 Apr 2019 11:51:59 GMT\"0x8D6C3F4439C8AC2\"5120share155558837917309951155558837934900091Thu, 18 Apr 2019 11:52:59 GMT\"0x8D6C3F4677C5E1C\"5120share155558870281601956Thu, 18 Apr 2019 11:58:22 GMT\"0x8D6C3F528477EB6\"5120share155558870609201875155558870644608087Thu, 18 Apr 2019 11:58:26 GMT\"0x8D6C3F52A718909\"5120share155558875844500911155558875952009938Thu, 18 Apr 2019 11:59:19 GMT\"0x8D6C3F54A13F0B6\"5120share155567192576105879Fri, 19 Apr 2019 11:05:25 GMT\"0x8D6C4B6ECF03F32\"5120share155567192759500710155567192762400666Fri, 19 Apr 2019 11:05:27 GMT\"0x8D6C4B6EE0C32F4\"5120share155567194474605632155567194476809595Fri, 19 Apr 2019 11:05:44 GMT\"0x8D6C4B6F844366E\"5120share155567208446902690Fri, 19 Apr 2019 11:08:04 GMT\"0x8D6C4B74B91AD3E\"5120share155567209577205738155567209649502753Fri, 19 Apr 2019 11:08:16 GMT\"0x8D6C4B752BC478C\"5120share155567223020006989155567223027903712Fri, 19 Apr 2019 11:10:30 GMT\"0x8D6C4B7A27B037E\"5120share155567267214700785Fri, 19 Apr 2019 11:17:52 GMT\"0x8D6C4B8A9D19C03\"5120share155567267430107959155567267433708579Fri, 19 Apr 2019 11:17:54 GMT\"0x8D6C4B8AB1F421E\"5120share155567269138909553155567269140307566Fri, 19 Apr 2019 11:18:11 GMT\"0x8D6C4B8B54B0ED2\"5120share155567311897109020Fri, 19 Apr 2019 11:25:21 GMT\"0x8D6C4B9B58B66CA\"5120share155567312405708614155567312410100368Fri, 19 Apr 2019 11:25:24 GMT\"0x8D6C4B9B734CF1F\"5120share155567319408508398155567319411202788Fri, 19 Apr 2019 11:26:34 GMT\"0x8D6C4B9E0EFEFA2\"5120share155567325083704762Fri, 19 Apr 2019 11:27:31 GMT\"0x8D6C4BA02E60255\"5120share155567325320707587155567325338705102Fri, 19 Apr 2019 11:27:33 GMT\"0x8D6C4BA044A5A30\"5120share155567328437209547155567328446100050Fri, 19 Apr 2019 11:28:04 GMT\"0x8D6C4BA16CFBDB9\"5120share155567352544707619Fri, 19 Apr 2019 11:32:05 GMT\"0x8D6C4BAA674C7F0\"5120share155567352744206930155567352797607965Fri, 19 Apr 2019 11:32:08 GMT\"0x8D6C4BAA7F7D44D\"5120share155567358442406268155567358449406827Fri, 19 Apr 2019 11:33:04 GMT\"0x8D6C4BAC9A6DF39\"5120share155567398217802006Fri, 19 Apr 2019 11:39:42 GMT\"0x8D6C4BBB6AA75A8\"5120share155567398279006805155567398336005585Fri, 19 Apr 2019 11:39:43 GMT\"0x8D6C4BBB75F5426\"5120share155567403918702123155567403920200268Fri, 19 Apr 2019 11:40:39 GMT\"0x8D6C4BBD8C14626\"5120share155567436933209556Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9D6CD427\"5120share155567436990601250155567436996805574Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9DCD2726\"5120share155567440869506659155567440872700843Fri, 19 Apr 2019 11:46:48 GMT\"0x8D6C4BCB4E71856\"5120share155567477936602481Fri, 19 Apr 2019 11:52:59 GMT\"0x8D6C4BD91D41C09\"5120share155567478479206922155567478714104050Fri, 19 Apr 2019 11:53:07 GMT\"0x8D6C4BD968E8C03\"5120share155567481531606023155567481533203351Fri, 19 Apr 2019 11:53:35 GMT\"0x8D6C4BDA7451072\"5120share155567506263900872Fri, 19 Apr 2019 11:57:42 GMT\"0x8D6C4BE3ABC6304\"5120share155567506733803203155567506770005241Fri, 19 Apr 2019 11:57:47 GMT\"0x8D6C4BE3DC05814\"5120share155567519626500535155567519644501571Fri, 19 Apr 2019 11:59:56 GMT\"0x8D6C4BE8A7EB645\"5120share155567584657607063Fri, 19 Apr 2019 12:10:46 GMT\"0x8D6C4C00E00A781\"5120share155567585010305443155567585045601848Fri, 19 Apr 2019 12:10:50 GMT\"0x8D6C4C010509D14\"5120share155567590683409611155567590701101754Fri, 19 Apr 2019 12:11:47 GMT\"0x8D6C4C032053E4B\"5120share155567688970409248Fri, 19 Apr 2019 12:28:09 GMT\"0x8D6C4C27BC18845\"5120share155567689280005270155567689317004914Fri, 19 Apr 2019 12:28:13 GMT\"0x8D6C4C27DD2C5F7\"5120share155567696352901093155567696370407818Fri, 19 Apr 2019 12:29:23 GMT\"0x8D6C4C2A7DC5137\"5120share155575813209600793Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA3EA15F5\"5120share155575813264103256155575813266909560Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA4415492\"5120share155575814769709529155575814770902003Sat, 20 Apr 2019 11:02:27 GMT\"0x8D6C57FAD385350\"5120share155575815857904679Sat, 20 Apr 2019 11:02:38 GMT\"0x8D6C57FB3BCDF46\"5120share155575817852406107155575817915105783Sat, 20 Apr 2019 11:03:03 GMT\"0x8D6C57FC27AAC57\"5120share155575831923009371155575831931206134Sat, 20 Apr 2019 11:05:19 GMT\"0x8D6C580138A3A10\"5120share155575871359605018Sat, 20 Apr 2019 11:11:53 GMT\"0x8D6C580FE86A046\"5120share155575871428702299155575871431604033Sat, 20 Apr 2019 11:11:54 GMT\"0x8D6C580FEF3F7FC\"5120share155575873394302965155575873395709603Sat, 20 Apr 2019 11:12:13 GMT\"0x8D6C5810AA9800A\"5120share155575904781202748Sat, 20 Apr 2019 11:17:27 GMT\"0x8D6C581C5BB254F\"5120share155575905097005719155575905332806542Sat, 20 Apr 2019 11:17:33 GMT\"0x8D6C581C905325C\"5120share155575910684707057155575912204309650Sat, 20 Apr 2019 11:18:42 GMT\"0x8D6C581F1FB2C81\"5120share155575929713003223Sat, 20 Apr 2019 11:21:37 GMT\"0x8D6C5825A82DE07\"5120share155575930016402563155575930034609381Sat, 20 Apr 2019 11:21:40 GMT\"0x8D6C5825C478AF6\"5120share155575933047808006155575933058505517Sat, 20 Apr 2019 11:22:10 GMT\"0x8D6C5826E4D4AC9\"5120share155575961124103208Sat, 20 Apr 2019 11:26:51 GMT\"0x8D6C58315971DC5\"5120share155575961493403601155575961508806582Sat, 20 Apr 2019 11:26:55 GMT\"0x8D6C58317E6D1EC\"5120share155575966068000148155575966075709229Sat, 20 Apr 2019 11:27:40 GMT\"0x8D6C583331B0E83\"5120share155576000656408070Sat, 20 Apr 2019 11:33:26 GMT\"0x8D6C5840134EA85\"5120share155576001064302171155576001069108351Sat, 20 Apr 2019 11:33:30 GMT\"0x8D6C58403AA5B27\"5120share155576004937104562155576004940203313Sat, 20 Apr 2019 11:34:09 GMT\"0x8D6C5841ABAC530\"5120share155576033542302706Sat, 20 Apr 2019 11:38:55 GMT\"0x8D6C584C5354597\"5120share155576033677709710155576033682404294Sat, 20 Apr 2019 11:38:56 GMT\"0x8D6C584C60DB453\"5120share155576037504501320155576037507605550Sat, 20 Apr 2019 11:39:35 GMT\"0x8D6C584DCE2AFE2\"5120share155576068931400284Sat, 20 Apr 2019 11:44:49 GMT\"0x8D6C585982564A9\"5120share155576069062801352155576069065903568Sat, 20 Apr 2019 11:44:51 GMT\"0x8D6C585994219A7\"5120share155576075382903825155576075386008717Sat, 20 Apr 2019 11:45:53 GMT\"0x8D6C585BE9D2593\"5120share155576098915806721Sat, 20 Apr 2019 11:49:49 GMT\"0x8D6C5864AF0A797\"5120share155576099300703611155576099338008677Sat, 20 Apr 2019 11:49:53 GMT\"0x8D6C5864D76F52D\"5120share155576105534303557155576105551705906Sat, 20 Apr 2019 11:50:55 GMT\"0x8D6C586727DB775\"5120share155576136666205450Sat, 20 Apr 2019 11:56:06 GMT\"0x8D6C5872BF160EF\"5120share155576137051407415155576137301709295Sat, 20 Apr 2019 11:56:13 GMT\"0x8D6C5872FBBC94D\"5120share155576143359509198155576143377401809Sat, 20 Apr 2019 11:57:13 GMT\"0x8D6C58753F17AFE\"5120share155576172918400030Sat, 20 Apr 2019 12:02:09 GMT\"0x8D6C5880406BE99\"5120share155576173298002686155576173333000239Sat, 20 Apr 2019 12:02:13 GMT\"0x8D6C588067FC714\"5120share155576178810706053155576178828603693Sat, 20 Apr 2019 12:03:08 GMT\"0x8D6C58827406073\"5120share155584483815008730Sun, 21 Apr 2019 11:07:18 GMT\"0x8D6C64984C018B8\"5120share155584483913106938155584483917002424Sun, 21 Apr 2019 11:07:19 GMT\"0x8D6C649855BB84F\"5120share155584487226303315155584487227607551Sun, 21 Apr 2019 11:07:52 GMT\"0x8D6C64999173F81\"5120share155584489837205915Sun, 21 Apr 2019 11:08:19 GMT\"0x8D6C649A94749C7\"5120share155584492483905097155584492529203389Sun, 21 Apr 2019 11:08:46 GMT\"0x8D6C649B94E828D\"5120share155584508629703911155584508639100082Sun, 21 Apr 2019 11:11:30 GMT\"0x8D6C64A1B29FBA9\"5120share155584535534508096Sun, 21 Apr 2019 11:15:55 GMT\"0x8D6C64AB90607D2\"5120share155584535712303421155584535715808285Sun, 21 Apr 2019 11:15:57 GMT\"0x8D6C64ABA1AD765\"5120share155584537564003660155584537565301698Sun, 21 Apr 2019 11:16:15 GMT\"0x8D6C64AC520BC40\"5120share155584552829803240Sun, 21 Apr 2019 11:18:48 GMT\"0x8D6C64B201CB521\"5120share155584552946009061155584554426607097Sun, 21 Apr 2019 11:19:06 GMT\"0x8D6C64B2B0D789C\"5120share155584553254601653Sun, 21 Apr 2019 11:18:53 GMT\"0x8D6C64B22F5D3B0\"5120share155584553557203477155584553577408184Sun, 21 Apr 2019 11:18:55 GMT\"0x8D6C64B2498A2CE\"5120share155584556555008565155584556563806071Sun, 21 Apr 2019 11:19:25 GMT\"0x8D6C64B366554AE\"5120share155584560929207735155584560949607694Sun, 21 Apr 2019 11:20:09 GMT\"0x8D6C64B50866103\"5120share155584582875408540Sun, 21 Apr 2019 11:23:48 GMT\"0x8D6C64BD333A510\"5120share155584583143306682155584584392603919Sun, 21 Apr 2019 11:24:03 GMT\"0x8D6C64BDC3E8F63\"5120share155584589004107281155584589129507420Sun, 21 Apr 2019 11:24:51 GMT\"0x8D6C64BF87B2D1D\"5120share155584619907809616Sun, 21 Apr 2019 11:29:59 GMT\"0x8D6C64CAFF29B0C\"5120share155584620077203477155584620081900983Sun, 21 Apr 2019 11:30:00 GMT\"0x8D6C64CB0FB2BB9\"5120share155584623589400987155584623591001043Sun, 21 Apr 2019 11:30:35 GMT\"0x8D6C64CC5E519E6\"5120share155584655048200003Sun, 21 Apr 2019 11:35:53 GMT\"0x8D6C64D8343C259\"5120share155584655633605681155584655639907723Sun, 21 Apr 2019 11:35:56 GMT\"0x8D6C64D84E9D13D\"5120share155584659190504598155584659192105319Sun, 21 Apr 2019 11:36:31 GMT\"0x8D6C64D9A18FF60\"5120share155584692147804243Sun, 21 Apr 2019 11:42:01 GMT\"0x8D6C64E5E8615DE\"5120share155584692283204299155584692376504004Sun, 21 Apr 2019 11:42:03 GMT\"0x8D6C64E5FE23BA9\"5120share155584695869900110155584695871401997Sun, 21 Apr 2019 11:42:38 GMT\"0x8D6C64E74BA5B84\"5120share155584718460302343Sun, 21 Apr 2019 11:46:24 GMT\"0x8D6C64EFB6D686F\"5120share155584718782904821155584718821201794Sun, 21 Apr 2019 11:46:28 GMT\"0x8D6C64EFD94206B\"5120share155584725834704516155584725852403365Sun, 21 Apr 2019 11:47:38 GMT\"0x8D6C64F277DF7FC\"5120share155584757053309896Sun, 21 Apr 2019 11:52:50 GMT\"0x8D6C64FE176D8CF\"5120share155584757505503064155584757541600155Sun, 21 Apr 2019 11:52:55 GMT\"0x8D6C64FE4600590\"5120share155584763371702792155584763389403930Sun, 21 Apr 2019 11:53:54 GMT\"0x8D6C6500739DD6C\"5120share155584792739507966Sun, 21 Apr 2019 11:58:47 GMT\"0x8D6C650B62BD0F2\"5120share155584793112701333155584793148805328Sun, 21 Apr 2019 11:58:51 GMT\"0x8D6C650B89C9524\"5120share155584800506102766155584800524503368Sun, 21 Apr 2019 12:00:05 GMT\"0x8D6C650E491C775\"5120share155593096078609193Mon, 22 Apr 2019 11:02:40 GMT\"0x8D6C71209D6C3BA\"5120share155593096298307999155593096301000561Mon, 22 Apr 2019 11:02:43 GMT\"0x8D6C7120B29E7BB\"5120share155593098099104006155593098100306183Mon, 22 Apr 2019 11:03:01 GMT\"0x8D6C71215E3536B\"5120share155593098197300518Mon, 22 Apr 2019 11:03:02 GMT\"0x8D6C712169857BE\"5120share155593098884206175155593098950004812Mon, 22 Apr 2019 11:03:10 GMT\"0x8D6C7121B6CDB45\"5120share155593107350404511155593108535905887Mon, 22 Apr 2019 11:04:46 GMT\"0x8D6C71254C6DD40\"5120share155593187228406566Mon, 22 Apr 2019 11:17:52 GMT\"0x8D6C71429239B1A\"5120share155593187548705538155593187551807000Mon, 22 Apr 2019 11:17:55 GMT\"0x8D6C7142B1136FA\"5120share155593189155809001155593189157302927Mon, 22 Apr 2019 11:18:11 GMT\"0x8D6C71434A30A5F\"5120share155593202492008030Mon, 22 Apr 2019 11:20:24 GMT\"0x8D6C714841EDC26\"5120share155593202751103090155593202784104281Mon, 22 Apr 2019 11:20:27 GMT\"0x8D6C71485DE1B0F\"5120share155593207543600336155593207545703779Mon, 22 Apr 2019 11:21:15 GMT\"0x8D6C714A262740F\"5120share155593213752903864Mon, 22 Apr 2019 11:22:17 GMT\"0x8D6C714C77B439D\"5120share155593214175802480155593214194204117Mon, 22 Apr 2019 11:22:22 GMT\"0x8D6C714C9E5568C\"5120share155593217374306324155593217383308863Mon, 22 Apr 2019 11:22:53 GMT\"0x8D6C714DCE6FB7D\"5120share155593233053705628Mon, 22 Apr 2019 11:25:30 GMT\"0x8D6C7153A7C32B3\"5120share155593233509907850155593233525106736Mon, 22 Apr 2019 11:25:35 GMT\"0x8D6C7153D3A2D50\"5120share155593239746800061155593239754102567Mon, 22 Apr 2019 11:26:37 GMT\"0x8D6C7156253852F\"5120share155593275709608855Mon, 22 Apr 2019 11:32:37 GMT\"0x8D6C71638886EDC\"5120share155593275807707570155593275832501960Mon, 22 Apr 2019 11:32:39 GMT\"0x8D6C71639ADE4C8\"5120share155593280226001839155593280227604616Mon, 22 Apr 2019 11:33:22 GMT\"0x8D6C71653770F3F\"5120share155593312109201415Mon, 22 Apr 2019 11:38:41 GMT\"0x8D6C71711A05C0C\"5120share155593312234201386155593312237305833Mon, 22 Apr 2019 11:38:42 GMT\"0x8D6C7171243F50B\"5120share155593315645808354155593315648906679Mon, 22 Apr 2019 11:39:16 GMT\"0x8D6C71726973AD4\"5120share155593348908406819Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ECD4BBBC\"5120share155593348980708356155593348983905096Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ED49C492\"5120share155593351527207735155593351528809934Mon, 22 Apr 2019 11:45:15 GMT\"0x8D6C717FC746FC6\"5120share155593373839009889Mon, 22 Apr 2019 11:48:58 GMT\"0x8D6C7188186D480\"5120share155593374213504623155593374249506463Mon, 22 Apr 2019 11:49:02 GMT\"0x8D6C71883F98B78\"5120share155593379929509326155593379947408779Mon, 22 Apr 2019 11:49:59 GMT\"0x8D6C718A5EF42C6\"5120share155593408284009033Mon, 22 Apr 2019 11:54:42 GMT\"0x8D6C7194ECC93B8\"5120share155593408602509047155593408638809789Mon, 22 Apr 2019 11:54:46 GMT\"0x8D6C71950EB127C\"5120share155593413980507194155593414004706529Mon, 22 Apr 2019 11:55:40 GMT\"0x8D6C71970E5C28A\"5120share155593443340907715Mon, 22 Apr 2019 12:00:33 GMT\"0x8D6C71A1FC13E8B\"5120share155593443670003038155593443705707580Mon, 22 Apr 2019 12:00:37 GMT\"0x8D6C71A21EEA00E\"5120share155593450016401961155593450034004099Mon, 22 Apr 2019 12:01:40 GMT\"0x8D6C71A47A53FCD\"5120share155599352898709431Tue, 23 Apr 2019 04:25:29 GMT\"0x8D6C7A3B77ECE95\"5120share155599353457303882Tue, 23 Apr 2019 04:25:38 GMT\"0x8D6C7A3BD362BCE\"5120share155599357366009924Tue, 23 Apr 2019 04:26:14 GMT\"0x8D6C7A3D2727D00\"5120share155599357721408169155599357752002160Tue, 23 Apr 2019 04:26:17 GMT\"0x8D6C7A3D4608808\"5120share155599358411903550Tue, 23 Apr 2019 04:26:24 GMT\"0x8D6C7A3D84ECE0A\"5120share155601731922303609Tue, 23 Apr 2019 11:01:59 GMT\"0x8D6C7DB1B9B74FB\"5120share155601732131001910155601732139106746Tue, 23 Apr 2019 11:02:01 GMT\"0x8D6C7DB1CC9BFC1\"5120share155601735054109201155601735057901414Tue, 23 Apr 2019 11:02:30 GMT\"0x8D6C7DB2E2F2F3A\"5120share155601736064400159Tue, 23 Apr 2019 11:02:40 GMT\"0x8D6C7DB3434ABFD\"5120share155601736424105355155601736465802495Tue, 23 Apr 2019 11:02:44 GMT\"0x8D6C7DB369991DE\"5120share155601744325107728155601744394209405Tue, 23 Apr 2019 11:04:04 GMT\"0x8D6C7DB65FC1A07\"5120share155601797649807068Tue, 23 Apr 2019 11:12:56 GMT\"0x8D6C7DCA3413305\"5120share155601797996201913155601798001404152Tue, 23 Apr 2019 11:13:00 GMT\"0x8D6C7DCA558E9FD\"5120share155601800320103700155601800321509380Tue, 23 Apr 2019 11:13:23 GMT\"0x8D6C7DCB32D5623\"5120share155601828484808138Tue, 23 Apr 2019 11:18:04 GMT\"0x8D6C7DD5B19C912\"5120share155601830009206641155601830015809234Tue, 23 Apr 2019 11:18:20 GMT\"0x8D6C7DD642B7506\"5120share155601834565900993155601834931903550Tue, 23 Apr 2019 11:19:09 GMT\"0x8D6C7DD819C3AD4\"5120share155601852383804224Tue, 23 Apr 2019 11:22:04 GMT\"0x8D6C7DDE9B3E6DA\"5120share155601852622609962155601852640709853Tue, 23 Apr 2019 11:22:06 GMT\"0x8D6C7DDEB0C7811\"5120share155601855610505401155601855619203211Tue, 23 Apr 2019 11:22:36 GMT\"0x8D6C7DDFCCD22F6\"5120share155601888818908038Tue, 23 Apr 2019 11:28:08 GMT\"0x8D6C7DEC2BD7575\"5120share155601889047405602155601889063207953Tue, 23 Apr 2019 11:28:10 GMT\"0x8D6C7DEC427062C\"5120share155601893832208908155601893844503340Tue, 23 Apr 2019 11:28:58 GMT\"0x8D6C7DEE0A87BA4\"5120share155601928936605407Tue, 23 Apr 2019 11:34:50 GMT\"0x8D6C7DFB2302469\"5120share155601929224401788155601929230605391Tue, 23 Apr 2019 11:34:52 GMT\"0x8D6C7DFB3AF6083\"5120share155601933534601457155601933537709705Tue, 23 Apr 2019 11:35:35 GMT\"0x8D6C7DFCD3678E6\"5120share155601964760005256Tue, 23 Apr 2019 11:40:47 GMT\"0x8D6C7E0874F4DEB\"5120share155601964910409011155601964915104348Tue, 23 Apr 2019 11:40:49 GMT\"0x8D6C7E0883CE94E\"5120share155601967123504480155601967126608975Tue, 23 Apr 2019 11:41:11 GMT\"0x8D6C7E095689CAA\"5120share155601999601804030Tue, 23 Apr 2019 11:46:36 GMT\"0x8D6C7E156FB9962\"5120share155601999694701777155601999697800251Tue, 23 Apr 2019 11:46:37 GMT\"0x8D6C7E1578EF47C\"5120share155602003749501427155602003751005370Tue, 23 Apr 2019 11:47:17 GMT\"0x8D6C7E16FB7BDC9\"5120share155602026583107985Tue, 23 Apr 2019 11:51:06 GMT\"0x8D6C7E1F810D790\"5120share155602026979301983155602027015406851Tue, 23 Apr 2019 11:51:10 GMT\"0x8D6C7E1FA73F564\"5120share155602032674702563155602032692105302Tue, 23 Apr 2019 11:52:07 GMT\"0x8D6C7E21C49318C\"5120share155602060207403254Tue, 23 Apr 2019 11:56:42 GMT\"0x8D6C7E2C04BE483\"5120share155602060511200179155602060546204061Tue, 23 Apr 2019 11:56:45 GMT\"0x8D6C7E2C2510A92\"5120share155602066032001106155602066050002052Tue, 23 Apr 2019 11:57:40 GMT\"0x8D6C7E2E31DC1E8\"5120share155602095578105524Tue, 23 Apr 2019 12:02:35 GMT\"0x8D6C7E3931EFFB4\"5120share155602095889002587155602095924407097Tue, 23 Apr 2019 12:02:39 GMT\"0x8D6C7E3952F966C\"5120share155602101006809941155602101024502287Tue, 23 Apr 2019 12:03:30 GMT\"0x8D6C7E3B399D7B3\"5120share155610372895102469Wed, 24 Apr 2019 11:02:09 GMT\"0x8D6C8A44BCFB0DA\"5120share155610373141006923155610373157605228Wed, 24 Apr 2019 11:02:11 GMT\"0x8D6C8A44D4985F7\"5120share155610376132904883155610376146100818Wed, 24 Apr 2019 11:02:41 GMT\"0x8D6C8A45F19FA18\"5120share155610377385900915Wed, 24 Apr 2019 11:02:54 GMT\"0x8D6C8A466A7CC33\"5120share155610377782705835155610378034305705Wed, 24 Apr 2019 11:03:00 GMT\"0x8D6C8A46A67BD59\"5120share155610388905308117155610388957707151Wed, 24 Apr 2019 11:04:50 GMT\"0x8D6C8A4ABC619F7\"5120share155610456973902277Wed, 24 Apr 2019 11:16:09 GMT\"0x8D6C8A640D89AA5\"5120share155610457043809446155610457046601023Wed, 24 Apr 2019 11:16:10 GMT\"0x8D6C8A64147924C\"5120share155610458625908819155610458627309878Wed, 24 Apr 2019 11:16:26 GMT\"0x8D6C8A64AB3985E\"5120share155610462696100101Wed, 24 Apr 2019 11:17:07 GMT\"0x8D6C8A662FC6D3F\"5120share155610462999806911155610463015401595Wed, 24 Apr 2019 11:17:10 GMT\"0x8D6C8A664E29738\"5120share155610468071108459155610468115706117Wed, 24 Apr 2019 11:18:01 GMT\"0x8D6C8A68364A313\"5120share155610499531404329Wed, 24 Apr 2019 11:23:15 GMT\"0x8D6C8A73EAA18BB\"5120share155610499885203420155610499903406227Wed, 24 Apr 2019 11:23:19 GMT\"0x8D6C8A740BF6EDE\"5120share155610503301507245155610503310502140Wed, 24 Apr 2019 11:23:53 GMT\"0x8D6C8A7550DF88E\"5120share155610517124802137Wed, 24 Apr 2019 11:26:11 GMT\"0x8D6C8A7A77428B8\"5120share155610517614001829155610517647303310Wed, 24 Apr 2019 11:26:16 GMT\"0x8D6C8A7AA918E67\"5120share155610523911605564155610523927805669Wed, 24 Apr 2019 11:27:19 GMT\"0x8D6C8A7D000A492\"5120share155610570355307500Wed, 24 Apr 2019 11:35:03 GMT\"0x8D6C8A8E4A92FB7\"5120share155610570429201962155610570433905439Wed, 24 Apr 2019 11:35:04 GMT\"0x8D6C8A8E5200830\"5120share155610572587302298155610572588801633Wed, 24 Apr 2019 11:35:25 GMT\"0x8D6C8A8F1F7F005\"5120share155610606038909851Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B95AA90B\"5120share155610606079502400155610606095109923Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B9AF5E68\"5120share155610608625503151155610608826000711Wed, 24 Apr 2019 11:41:28 GMT\"0x8D6C8A9C9F7404E\"5120share155610640694708896Wed, 24 Apr 2019 11:46:46 GMT\"0x8D6C8AA87EAE40C\"5120share155610640743200430155610640746309870Wed, 24 Apr 2019 11:46:47 GMT\"0x8D6C8AA88399124\"5120share155610643185205970155610643188305732Wed, 24 Apr 2019 11:47:11 GMT\"0x8D6C8AA96C7293A\"5120share155610665402600230Wed, 24 Apr 2019 11:50:54 GMT\"0x8D6C8AB1B4115E5\"5120share155610665693707025155610665730204127Wed, 24 Apr 2019 11:50:57 GMT\"0x8D6C8AB1D34D1EF\"5120share155610671076000970155610671093301855Wed, 24 Apr 2019 11:51:51 GMT\"0x8D6C8AB3D2C0DC2\"5120share155610697735704561Wed, 24 Apr 2019 11:56:17 GMT\"0x8D6C8ABDBFFAE7E\"5120share155610698173903526155610698219604859Wed, 24 Apr 2019 11:56:22 GMT\"0x8D6C8ABDF05278A\"5120share155610705059501406155610705081607565Wed, 24 Apr 2019 11:57:31 GMT\"0x8D6C8AC07CA5BB5\"5120share155623732891804592Fri, 26 Apr 2019 00:08:49 GMT\"0x8D6C9DB5B862C5D\"5120share155623733027107547155623733037204155Fri, 26 Apr 2019 00:08:50 GMT\"0x8D6C9DB5C5B5406\"5120share155623735144201549155623735148500368Fri, 26 Apr 2019 00:09:11 GMT\"0x8D6C9DB68F1020B\"5120share155623737838109944Fri, 26 Apr 2019 00:09:38 GMT\"0x8D6C9DB7936BAF7\"5120share155623738288508731155623738455404746Fri, 26 Apr 2019 00:09:44 GMT\"0x8D6C9DB7CA57C80\"5120share155623744517805440155623744597007766Fri, 26 Apr 2019 00:10:46 GMT\"0x8D6C9DBA14DB1B3\"5120share155623755450705158Fri, 26 Apr 2019 00:12:34 GMT\"0x8D6C9DBE1F1FFF8\"5120share155623755587909563155623755590803223Fri, 26 Apr 2019 00:12:35 GMT\"0x8D6C9DBE2C79C01\"5120share155623757295200043155623757297408285Fri, 26 Apr 2019 00:12:52 GMT\"0x8D6C9DBECF3FFFF\"5120share155623764038304012Fri, 26 Apr 2019 00:14:00 GMT\"0x8D6C9DC15291A2E\"5120share155623764463006380155623764498701545Fri, 26 Apr 2019 00:14:05 GMT\"0x8D6C9DC17E67B86\"5120share155623767900208026Fri, 26 Apr 2019 00:14:39 GMT\"0x8D6C9DC2C6DC062\"5120share155623768121705378155623768144401475Fri, 26 Apr 2019 00:14:41 GMT\"0x8D6C9DC2DA138D7\"5120share155623770790608406155623770798308113Fri, 26 Apr 2019 00:15:08 GMT\"0x8D6C9DC3DE529E3\"5120share155623771326307149155623771335209876Fri, 26 Apr 2019 00:15:13 GMT\"0x8D6C9DC40A5ECF5\"5120share155623792442708756Fri, 26 Apr 2019 00:18:45 GMT\"0x8D6C9DCBF06374F\"5120share155623793181801460155623793198609694Fri, 26 Apr 2019 00:18:52 GMT\"0x8D6C9DCC2F836BF\"5120share155623798478509855155623798814506187Fri, 26 Apr 2019 00:19:48 GMT\"0x8D6C9DCE4717D91\"5120share155623832375704220Fri, 26 Apr 2019 00:25:24 GMT\"0x8D6C9DDACAB7093\"5120share155623832601806869155623832606500404Fri, 26 Apr 2019 00:25:26 GMT\"0x8D6C9DDADEF34D4\"5120share155623837314701043155623837317801578Fri, 26 Apr 2019 00:26:13 GMT\"0x8D6C9DDC9E942F0\"5120share155623869536605908Fri, 26 Apr 2019 00:31:35 GMT\"0x8D6C9DE89F690C1\"5120share155623869692506630155623869703507429Fri, 26 Apr 2019 00:31:38 GMT\"0x8D6C9DE8BABE860\"5120share155623873038809966155623873039609717Fri, 26 Apr 2019 00:32:10 GMT\"0x8D6C9DE9ED7D76B\"5120share155623905177506822Fri, 26 Apr 2019 00:37:32 GMT\"0x8D6C9DF5EDF8E0E\"5120share155623905428205423155623905432903078Fri, 26 Apr 2019 00:37:34 GMT\"0x8D6C9DF5FE97AD0\"5120share155623907919403170155623907921004777Fri, 26 Apr 2019 00:37:59 GMT\"0x8D6C9DF6EBEF0ED\"5120share155623930187103764Fri, 26 Apr 2019 00:41:42 GMT\"0x8D6C9DFF388E129\"5120share155623930513305176155623930549908292Fri, 26 Apr 2019 00:41:45 GMT\"0x8D6C9DFF5B1FE97\"5120share155623936041106457155623936058402454Fri, 26 Apr 2019 00:42:40 GMT\"0x8D6C9E01686D42E\"5120share155623965181508872Fri, 26 Apr 2019 00:47:31 GMT\"0x8D6C9E0C41C0913\"5120share155623965814908055155623965849804647Fri, 26 Apr 2019 00:47:38 GMT\"0x8D6C9E0C8179EAE\"5120share155623971877107111155623971894601634Fri, 26 Apr 2019 00:48:39 GMT\"0x8D6C9E0EC1F66C0\"5120share155623999367701297Fri, 26 Apr 2019 00:53:13 GMT\"0x8D6C9E18FE27E33\"5120share155623999669908933155623999707001906Fri, 26 Apr 2019 00:53:17 GMT\"0x8D6C9E191E779F4\"5120share155624004674705383155624004692205374Fri, 26 Apr 2019 00:54:07 GMT\"0x8D6C9E1AF9E5DDC\"5120share155627655546209352Fri, 26 Apr 2019 11:02:35 GMT\"0x8D6CA36B06A47B2\"5120share155627655662206597155627655670705250Fri, 26 Apr 2019 11:02:36 GMT\"0x8D6CA36B114913C\"5120share155627658542903811155627658546904920Fri, 26 Apr 2019 11:03:05 GMT\"0x8D6CA36C2391779\"5120share155627659597101297Fri, 26 Apr 2019 11:03:16 GMT\"0x8D6CA36C882B597\"5120share155627660756501821155627660772707059Fri, 26 Apr 2019 11:03:27 GMT\"0x8D6CA36CF829BD7\"5120share155627670486708425155627670494603621Fri, 26 Apr 2019 11:05:05 GMT\"0x8D6CA370975980E\"5120share155627694374906331Fri, 26 Apr 2019 11:09:03 GMT\"0x8D6CA3797C4398A\"5120share155627694423009151155627694426207429Fri, 26 Apr 2019 11:09:04 GMT\"0x8D6CA3798128F99\"5120share155627695938700440155627695940105765Fri, 26 Apr 2019 11:09:19 GMT\"0x8D6CA37A118F618\"5120share155627701727507398Fri, 26 Apr 2019 11:10:17 GMT\"0x8D6CA37C39D4D86\"5120share155627702477907204155627702804807647Fri, 26 Apr 2019 11:10:28 GMT\"0x8D6CA37CA09AA23\"5120share155627706697307525Fri, 26 Apr 2019 11:11:07 GMT\"0x8D6CA37E1554966\"5120share155627706891503515155627706910004461Fri, 26 Apr 2019 11:11:09 GMT\"0x8D6CA37E27FB75E\"5120share155627709688305697155627709695909311Fri, 26 Apr 2019 11:11:37 GMT\"0x8D6CA37F31CAB75\"5120share155627709845403603155627709854409593Fri, 26 Apr 2019 11:11:38 GMT\"0x8D6CA37F40BF3D2\"5120share155627730105807426Fri, 26 Apr 2019 11:15:01 GMT\"0x8D6CA386CDB63C8\"5120share155627730309507258155627730356805784Fri, 26 Apr 2019 11:15:03 GMT\"0x8D6CA386E424D8B\"5120share155627734275903465155627734284806618Fri, 26 Apr 2019 11:15:42 GMT\"0x8D6CA3885AC0F9C\"5120share155627766425003035Fri, 26 Apr 2019 11:21:04 GMT\"0x8D6CA39453834A2\"5120share155627766494105062155627766500403555Fri, 26 Apr 2019 11:21:05 GMT\"0x8D6CA3945AB0111\"5120share155627770481402091155627770482907277Fri, 26 Apr 2019 11:21:44 GMT\"0x8D6CA395D6953A6\"5120share155627804685303536Fri, 26 Apr 2019 11:27:26 GMT\"0x8D6CA3A29472252\"5120share155627804758302119155627804764505614Fri, 26 Apr 2019 11:27:27 GMT\"0x8D6CA3A29BF734D\"5120share155627807828907816155627807830400346Fri, 26 Apr 2019 11:27:58 GMT\"0x8D6CA3A3C076B67\"5120share155627840936602595Fri, 26 Apr 2019 11:33:29 GMT\"0x8D6CA3B01571EF8\"5120share155627841049404780155627841054104290Fri, 26 Apr 2019 11:33:30 GMT\"0x8D6CA3B020AFB2D\"5120share155627843893800591155627843896903734Fri, 26 Apr 2019 11:33:58 GMT\"0x8D6CA3B12FC3750\"5120share155627866038509839Fri, 26 Apr 2019 11:37:40 GMT\"0x8D6CA3B97093C05\"5120share155627866361804142155627866397604669Fri, 26 Apr 2019 11:37:44 GMT\"0x8D6CA3B99307069\"5120share155627871539803949155627871557200833Fri, 26 Apr 2019 11:38:35 GMT\"0x8D6CA3BB7ED9B1B\"5120share155627897921406881Fri, 26 Apr 2019 11:42:59 GMT\"0x8D6CA3C550FFD26\"5120share155627898303104907155627898338702902Fri, 26 Apr 2019 11:43:03 GMT\"0x8D6CA3C578C73FF\"5120share155627903179604081155627903196604939Fri, 26 Apr 2019 11:43:52 GMT\"0x8D6CA3C748107A4\"5120share155627930048909745Fri, 26 Apr 2019 11:48:20 GMT\"0x8D6CA3D148FB137\"5120share155627930331508322155627930366602874Fri, 26 Apr 2019 11:48:23 GMT\"0x8D6CA3D16742F20\"5120share155627935619404978155627935636908313Fri, 26 Apr 2019 11:49:16 GMT\"0x8D6CA3D35E11682\"5120share155636293594402398Sat, 27 Apr 2019 11:02:16 GMT\"0x8D6CAFFCF4CB732\"5120share155636294209207737155636294218409788Sat, 27 Apr 2019 11:02:22 GMT\"0x8D6CAFFD2D59768\"5120share155636296650104845155636296654305259Sat, 27 Apr 2019 11:02:46 GMT\"0x8D6CAFFE15A8482\"5120share155636297924406992Sat, 27 Apr 2019 11:02:59 GMT\"0x8D6CAFFE8F23428\"5120share155636298688802927155636298754402979Sat, 27 Apr 2019 11:03:07 GMT\"0x8D6CAFFEDE481F8\"5120share155636310874309965155636310912301666Sat, 27 Apr 2019 11:05:09 GMT\"0x8D6CB00368CD9D5\"5120share155636326147602000Sat, 27 Apr 2019 11:07:41 GMT\"0x8D6CB009122AE26\"5120share155636326266702413155636326270508552Sat, 27 Apr 2019 11:07:42 GMT\"0x8D6CB0091DE490E\"5120share155636327915904071155636327917502788Sat, 27 Apr 2019 11:07:59 GMT\"0x8D6CB009BAF4751\"5120share155636338442205521Sat, 27 Apr 2019 11:09:44 GMT\"0x8D6CB00DAA2539F\"5120share155636338760401291155636338801401685Sat, 27 Apr 2019 11:09:48 GMT\"0x8D6CB00DC90FC6E\"5120share155636339103301366Sat, 27 Apr 2019 11:09:51 GMT\"0x8D6CB00DE64F2D7\"5120share155636340189203340155636340204505572Sat, 27 Apr 2019 11:10:02 GMT\"0x8D6CB00E529D7E4\"5120share155636341638503442155636341647401339Sat, 27 Apr 2019 11:10:16 GMT\"0x8D6CB00ED87C86E\"5120share155636348710505241155636348740800132Sat, 27 Apr 2019 11:11:27 GMT\"0x8D6CB0117D75DD7\"5120share155636370747500177Sat, 27 Apr 2019 11:15:07 GMT\"0x8D6CB019AF99906\"5120share155636371788904389155636371833704937Sat, 27 Apr 2019 11:15:18 GMT\"0x8D6CB01A1795C75\"5120share155636375971900820155636375974102788Sat, 27 Apr 2019 11:15:59 GMT\"0x8D6CB01BA214C10\"5120share155636404658507340Sat, 27 Apr 2019 11:20:46 GMT\"0x8D6CB02651C2C4D\"5120share155636404754602274155636404759307889Sat, 27 Apr 2019 11:20:47 GMT\"0x8D6CB0265B75164\"5120share155636409293907234155636409297202379Sat, 27 Apr 2019 11:21:33 GMT\"0x8D6CB0280E10E7F\"5120share155636438375103933Sat, 27 Apr 2019 11:26:24 GMT\"0x8D6CB032E483A34\"5120share155636438637507161155636438643804713Sat, 27 Apr 2019 11:26:26 GMT\"0x8D6CB032FAD2908\"5120share155636441656900776155636441658409038Sat, 27 Apr 2019 11:26:56 GMT\"0x8D6CB0341A57816\"5120share155636472346501628Sat, 27 Apr 2019 11:32:03 GMT\"0x8D6CB03F88E3C4E\"5120share155636472425706537155636472447104080Sat, 27 Apr 2019 11:32:04 GMT\"0x8D6CB03F927C11D\"5120share155636475254502016155636475256005895Sat, 27 Apr 2019 11:32:32 GMT\"0x8D6CB0409E56AB9\"5120share155636497418300656Sat, 27 Apr 2019 11:36:14 GMT\"0x8D6CB048E114492\"5120share155636497943200113155636497978301385Sat, 27 Apr 2019 11:36:21 GMT\"0x8D6CB0492365296\"5120share155636503124305582155636503142000787Sat, 27 Apr 2019 11:37:11 GMT\"0x8D6CB04B02F21E0\"5120share155636531384701457Sat, 27 Apr 2019 11:41:53 GMT\"0x8D6CB0558855034\"5120share155636531744608387155636531778207039Sat, 27 Apr 2019 11:41:57 GMT\"0x8D6CB055ADE2BE2\"5120share155636537787408049155636537803908356Sat, 27 Apr 2019 11:42:58 GMT\"0x8D6CB057EC9031B\"5120share155636563637206666Sat, 27 Apr 2019 11:47:16 GMT\"0x8D6CB0618C15632\"5120share155636563945001802155636563979208633Sat, 27 Apr 2019 11:47:19 GMT\"0x8D6CB061ACB80AE\"5120share155636569017104410155636569054205200Sat, 27 Apr 2019 11:48:10 GMT\"0x8D6CB06390B4503\"5120share155644932510206948Sun, 28 Apr 2019 11:02:05 GMT\"0x8D6CBC8F33F4F50\"5120share155644932748704938155644932757008051Sun, 28 Apr 2019 11:02:07 GMT\"0x8D6CBC8F488D88D\"5120share155644935294603187155644935298508210Sun, 28 Apr 2019 11:02:33 GMT\"0x8D6CBC903AF01F5\"5120share155644937631305965Sun, 28 Apr 2019 11:02:56 GMT\"0x8D6CBC911A89607\"5120share155644938305805342155644938336808846Sun, 28 Apr 2019 11:03:03 GMT\"0x8D6CBC915D0B517\"5120share155644946809502187155644946853904496Sun, 28 Apr 2019 11:04:28 GMT\"0x8D6CBC948948A14\"5120share155644965647507163Sun, 28 Apr 2019 11:07:36 GMT\"0x8D6CBC9B892BC76\"5120share155644965767401410155644965771100036Sun, 28 Apr 2019 11:07:37 GMT\"0x8D6CBC9B94F3564\"5120share155644967154503320155644967155906675Sun, 28 Apr 2019 11:07:51 GMT\"0x8D6CBC9C19086AD\"5120share155644973212306904Sun, 28 Apr 2019 11:08:52 GMT\"0x8D6CBC9E5A93F5C\"5120share155644973882903017155644973920408561Sun, 28 Apr 2019 11:09:00 GMT\"0x8D6CBC9EAABEAEE\"5120share155644976525108519Sun, 28 Apr 2019 11:09:26 GMT\"0x8D6CBC9FA307340\"5120share155644976922907290155644976940302741Sun, 28 Apr 2019 11:09:29 GMT\"0x8D6CBC9FBE7085A\"5120share155644979827502553155644979837106210Sun, 28 Apr 2019 11:09:58 GMT\"0x8D6CBCA0D2B87E0\"5120share155644980349600078155644980351709665Sun, 28 Apr 2019 11:10:03 GMT\"0x8D6CBCA104756D4\"5120share155644999479203413Sun, 28 Apr 2019 11:13:15 GMT\"0x8D6CBCA828B03A9\"5120share155644999911401572155644999927007263Sun, 28 Apr 2019 11:13:19 GMT\"0x8D6CBCA84EC87C0\"5120share155645007015108648155645007022406098Sun, 28 Apr 2019 11:14:30 GMT\"0x8D6CBCAAF35F083\"5120share155645038821502058Sun, 28 Apr 2019 11:19:48 GMT\"0x8D6CBCB6CBB520C\"5120share155645039457909794155645039491507393Sun, 28 Apr 2019 11:19:54 GMT\"0x8D6CBCB70BAA07B\"5120share155645044044006110155645044045503760Sun, 28 Apr 2019 11:20:40 GMT\"0x8D6CBCB8BE03321\"5120share155645073350300763Sun, 28 Apr 2019 11:25:33 GMT\"0x8D6CBCC3A89465E\"5120share155645073665802364155645073670507236Sun, 28 Apr 2019 11:25:36 GMT\"0x8D6CBCC3C897A23\"5120share155645077349800986155645077373300831Sun, 28 Apr 2019 11:26:14 GMT\"0x8D6CBCC52AB7AA9\"5120share155645108771203834Sun, 28 Apr 2019 11:31:27 GMT\"0x8D6CBCD0DA80040\"5120share155645108842007256155645108846705458Sun, 28 Apr 2019 11:31:30 GMT\"0x8D6CBCD0F84E607\"5120share155645112599605004155645112601107894Sun, 28 Apr 2019 11:32:06 GMT\"0x8D6CBCD247D05DA\"5120share155645134678507922Sun, 28 Apr 2019 11:35:46 GMT\"0x8D6CBCDA8286EE2\"5120share155645135233807971155645135268200427Sun, 28 Apr 2019 11:35:52 GMT\"0x8D6CBCDABAB030C\"5120share155645140915409987155645140933104898Sun, 28 Apr 2019 11:36:49 GMT\"0x8D6CBCDCD6E541E\"5120share155645167679104190Sun, 28 Apr 2019 11:41:16 GMT\"0x8D6CBCE6CD9127F\"5120share155645168014803993155645168050106913Sun, 28 Apr 2019 11:41:20 GMT\"0x8D6CBCE6F0F1955\"5120share155645174549400184155645174566908155Sun, 28 Apr 2019 11:42:25 GMT\"0x8D6CBCE95E5E14E\"5120share155645201297401853Sun, 28 Apr 2019 11:46:53 GMT\"0x8D6CBCF353A36B6\"5120share155645201855801952155645201890306019Sun, 28 Apr 2019 11:46:59 GMT\"0x8D6CBCF38C1EC3D\"5120share155645207253909424155645207271407048Sun, 28 Apr 2019 11:47:52 GMT\"0x8D6CBCF58D7EB4A\"5120share155653571241303167Mon, 29 Apr 2019 11:01:52 GMT\"0x8D6CC921605B941\"5120share155653571553502874155653571570705735Mon, 29 Apr 2019 11:01:55 GMT\"0x8D6CC9217E55B90\"5120share155653575241605337155653575249808322Mon, 29 Apr 2019 11:02:32 GMT\"0x8D6CC922DD35559\"5120share155653577934505481Mon, 29 Apr 2019 11:02:59 GMT\"0x8D6CC923DEABFFA\"5120share155653578834309441155653578850403282Mon, 29 Apr 2019 11:03:10 GMT\"0x8D6CC924424B8C3\"5120share155653590972103271155653591043700129Mon, 29 Apr 2019 11:05:10 GMT\"0x8D6CC928C0E5277\"5120share155653601676308435Mon, 29 Apr 2019 11:06:56 GMT\"0x8D6CC92CB50C4B1\"5120share155653602334209812155653602337104476Mon, 29 Apr 2019 11:07:03 GMT\"0x8D6CC92CF41462C\"5120share155653604017309897155653604018606464Mon, 29 Apr 2019 11:07:20 GMT\"0x8D6CC92D946F89F\"5120share155653618592007839Mon, 29 Apr 2019 11:09:45 GMT\"0x8D6CC9330238214\"5120share155653619244001987155653619249201263Mon, 29 Apr 2019 11:09:52 GMT\"0x8D6CC93340ED683\"5120share155653621618908520Mon, 29 Apr 2019 11:10:16 GMT\"0x8D6CC93425E266B\"5120share155653622019402299155653622037605069Mon, 29 Apr 2019 11:10:20 GMT\"0x8D6CC9344B3281A\"5120share155653624157605476155653624159605059Mon, 29 Apr 2019 11:10:41 GMT\"0x8D6CC93515DF82D\"5120share155653624964608827155653624973108032Mon, 29 Apr 2019 11:10:49 GMT\"0x8D6CC935631C474\"5120share155653644599604856Mon, 29 Apr 2019 11:14:06 GMT\"0x8D6CC93CB301827\"5120share155653644757300517155653644791500188Mon, 29 Apr 2019 11:14:08 GMT\"0x8D6CC93CC5D3074\"5120share155653651368305124155653651389303803Mon, 29 Apr 2019 11:15:14 GMT\"0x8D6CC93F3F84157\"5120share155653687079804910Mon, 29 Apr 2019 11:21:10 GMT\"0x8D6CC94C85EA8A0\"5120share155653687448704090155653687453303137Mon, 29 Apr 2019 11:21:14 GMT\"0x8D6CC94CA98A23B\"5120share155653693368406248155653693371508138Mon, 29 Apr 2019 11:22:13 GMT\"0x8D6CC94EDDEEAB8\"5120share155653721781601183Mon, 29 Apr 2019 11:26:57 GMT\"0x8D6CC95973262CD\"5120share155653721868605873155653721871704867Mon, 29 Apr 2019 11:26:58 GMT\"0x8D6CC9597BD86B3\"5120share155653725116303221155653725119400771Mon, 29 Apr 2019 11:27:31 GMT\"0x8D6CC95AB1726F4\"5120share155653756837900142Mon, 29 Apr 2019 11:32:48 GMT\"0x8D6CC96682633DD\"5120share155653756922307466155653756927008693Mon, 29 Apr 2019 11:32:54 GMT\"0x8D6CC966C065569\"5120share155653760887103690155653760948407436Mon, 29 Apr 2019 11:33:29 GMT\"0x8D6CC9680A6DADA\"5120share155653784322202515Mon, 29 Apr 2019 11:37:23 GMT\"0x8D6CC970C0B3287\"5120share155653784638108302155653784673304272Mon, 29 Apr 2019 11:37:26 GMT\"0x8D6CC970E22A6D4\"5120share155653790378102510155653790395501719Mon, 29 Apr 2019 11:38:24 GMT\"0x8D6CC97303F6982\"5120share155653796678404923Mon, 29 Apr 2019 11:39:26 GMT\"0x8D6CC9755B12EA8\"5120share155655223577604668Mon, 29 Apr 2019 15:37:15 GMT\"0x8D6CCB88EA9F634\"5120share155655223976807043155655224012408138Mon, 29 Apr 2019 15:37:20 GMT\"0x8D6CCB891420921\"5120share155655231503303385155655231520308001Mon, 29 Apr 2019 15:38:35 GMT\"0x8D6CCB8BE00A1CF\"5120share155655260533801192Mon, 29 Apr 2019 15:43:25 GMT\"0x8D6CCB96AF563A3\"5120share155655261383606228155655261419000264Mon, 29 Apr 2019 15:43:34 GMT\"0x8D6CCB9703B468D\"5120share155655268067203640155655268083707211Mon, 29 Apr 2019 15:44:41 GMT\"0x8D6CCB99818556D\"5120share155659382718902556Tue, 30 Apr 2019 03:10:27 GMT\"0x8D6CD196533E1AF\"5120share155659383304609639Tue, 30 Apr 2019 03:10:35 GMT\"0x8D6CD196A00F093\"5120share155659388399506155Tue, 30 Apr 2019 03:11:27 GMT\"0x8D6CD1988E5EB19\"5120share155662576226807025Tue, 30 Apr 2019 12:02:42 GMT\"0x8D6CD63BFD75BAB\"5120share155662578862004497155662578987503857Tue, 30 Apr 2019 12:03:09 GMT\"0x8D6CD63D04B064F\"5120share155662595995907858155662596004306578Tue, 30 Apr 2019 12:06:01 GMT\"0x8D6CD64364895F9\"5120share155662625450703255Tue, 30 Apr 2019 12:10:54 GMT\"0x8D6CD64E539C9F6\"5120share155662626147407940155662626175004337Tue, 30 Apr 2019 12:11:01 GMT\"0x8D6CD64E98CBD1A\"5120share155662637743605609155662637751001358Tue, 30 Apr 2019 12:12:57 GMT\"0x8D6CD652E8B6208\"5120share155662664173006358Tue, 30 Apr 2019 12:17:37 GMT\"0x8D6CD65D570BAE4\"5120share155662666338005352155662666389602684Tue, 30 Apr 2019 12:17:44 GMT\"0x8D6CD65D94AD41C\"5120share155662673728706029155662673745005608Tue, 30 Apr 2019 12:18:57 GMT\"0x8D6CD6605302FBE\"5120share155662707247701032Tue, 30 Apr 2019 12:24:32 GMT\"0x8D6CD66CCC187EA\"5120share155662707361008960155662707365704124Tue, 30 Apr 2019 12:24:33 GMT\"0x8D6CD66CD765BFF\"5120share155662716148504682155662716150008465Tue, 30 Apr 2019 12:26:02 GMT\"0x8D6CD67028527F9\"5120share155662746913406574Tue, 30 Apr 2019 12:31:11 GMT\"0x8D6CD67BADEDA4F\"5120share155662747408409967155662747413109639Tue, 30 Apr 2019 12:31:14 GMT\"0x8D6CD67BC2793BC\"5120share155662753834000600155662753837109223Tue, 30 Apr 2019 12:32:18 GMT\"0x8D6CD67E2719161\"5120share155662782303806877Tue, 30 Apr 2019 12:37:03 GMT\"0x8D6CD688C26F771\"5120share155662782452500893155662782457200278Tue, 30 Apr 2019 12:37:04 GMT\"0x8D6CD688D08A81D\"5120share155662788739300296155662789097705707Tue, 30 Apr 2019 12:38:11 GMT\"0x8D6CD68B49E2A48\"5120share155662816931104925Tue, 30 Apr 2019 12:42:49 GMT\"0x8D6CD695A962540\"5120share155662817225203479155662817259701968Tue, 30 Apr 2019 12:42:52 GMT\"0x8D6CD695C8BE154\"5120share155662823632807785155662823650306985Tue, 30 Apr 2019 12:43:56 GMT\"0x8D6CD6982AA192A\"5120share155662852342303617Tue, 30 Apr 2019 12:48:43 GMT\"0x8D6CD6A2DA687BC\"5120share155662852632405178155662852666909684Tue, 30 Apr 2019 12:48:47 GMT\"0x8D6CD6A2FBA14B9\"5120share155662860501305569155662860518207641Tue, 30 Apr 2019 12:50:05 GMT\"0x8D6CD6A5E636EF3\"5120share155662894578001193Tue, 30 Apr 2019 12:55:45 GMT\"0x8D6CD6B29672058\"5120share155662895018903930155662895095603460Tue, 30 Apr 2019 12:55:51 GMT\"0x8D6CD6B2C7C5D7B\"5120share155662900943409472155662900960307176Tue, 30 Apr 2019 12:56:50 GMT\"0x8D6CD6B4FE5F4B3\"5120share155664499555006401Tue, 30 Apr 2019 17:23:15 GMT\"0x8D6CD9087D53DCE\"5120share155664500031506296155664500092002935Tue, 30 Apr 2019 17:23:21 GMT\"0x8D6CD908B0B0AB0\"5120share155664508065306771155664508094803912Tue, 30 Apr 2019 17:24:41 GMT\"0x8D6CD90BAD270FA\"5120share155664729753300465Tue, 30 Apr 2019 18:01:37 GMT\"0x8D6CD95E3DF1B96\"5120share155664729867207955155664729876102123Tue, 30 Apr 2019 18:01:38 GMT\"0x8D6CD95E48EE467\"5120share155664731878008733155664731884404353Tue, 30 Apr 2019 18:01:58 GMT\"0x8D6CD95F087C514\"5120share155664734750706036Tue, 30 Apr 2019 18:02:27 GMT\"0x8D6CD9601AFBA38\"5120share155664735518802651155664735553702970Tue, 30 Apr 2019 18:02:35 GMT\"0x8D6CD960677C084\"5120share155664741133907881155664741150805603Tue, 30 Apr 2019 18:03:31 GMT\"0x8D6CD9627D4A3AC\"5120share155664751804804784Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD96674224E9\"5120share155664751843009437155664751845909347Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD9667809BA2\"5120share155664753608406512155664753609800054Tue, 30 Apr 2019 18:05:36 GMT\"0x8D6CD9672048402\"5120share155664764384909412Tue, 30 Apr 2019 18:07:23 GMT\"0x8D6CD96B2454BD0\"5120share155664764698903499155664764714205317Tue, 30 Apr 2019 18:07:27 GMT\"0x8D6CD96B43BC703\"5120share155664765964800730Tue, 30 Apr 2019 18:07:39 GMT\"0x8D6CD96BBBFDCC8\"5120share155664766156408443155664766175003678Tue, 30 Apr 2019 18:07:41 GMT\"0x8D6CD96BCEDE474\"5120share155664769075803387155664769083909474Tue, 30 Apr 2019 18:08:10 GMT\"0x8D6CD96CE471D93\"5120share155664769177107055155664769186807969Tue, 30 Apr 2019 18:08:11 GMT\"0x8D6CD96CEE0C32A\"5120share155664793047508046Tue, 30 Apr 2019 18:12:10 GMT\"0x8D6CD975D4445D7\"5120share155664793370707151155664793406201058Tue, 30 Apr 2019 18:12:14 GMT\"0x8D6CD975F4C0554\"5120share155664799626609967155664799642702708Tue, 30 Apr 2019 18:13:16 GMT\"0x8D6CD9784779BE8\"5120share155664838986009857Tue, 30 Apr 2019 18:19:49 GMT\"0x8D6CD986EE87FD0\"5120share155664839086109048155664839098605053Tue, 30 Apr 2019 18:19:51 GMT\"0x8D6CD986F92A6B3\"5120share155664842125701349155664842128800633Tue, 30 Apr 2019 18:20:21 GMT\"0x8D6CD9881A2AE3F\"5120share155664868924306988Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD99215836D8\"5120share155664868974301919155664868979002138Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD9921ABFC41\"5120share155664871026409718155664871028006183Tue, 30 Apr 2019 18:25:10 GMT\"0x8D6CD992DE35FBF\"5120share155664898661000493Tue, 30 Apr 2019 18:29:46 GMT\"0x8D6CD99D296CAAF\"5120share155664898736908027155664898743200061Tue, 30 Apr 2019 18:29:47 GMT\"0x8D6CD99D3145F33\"5120share155664901169000941155664901170603802Tue, 30 Apr 2019 18:30:11 GMT\"0x8D6CD99E18D8D3A\"5120share155664925468906460Tue, 30 Apr 2019 18:34:14 GMT\"0x8D6CD9A727390DC\"5120share155664925774602647155664925810605219Tue, 30 Apr 2019 18:34:18 GMT\"0x8D6CD9A747D51E0\"5120share155664930886300488155664930904704833Tue, 30 Apr 2019 18:35:09 GMT\"0x8D6CD9A92DA3BDA\"5120share155664963621608083Tue, 30 Apr 2019 18:40:36 GMT\"0x8D6CD9B55D88CCD\"5120share155664963911207885155664963950503259Tue, 30 Apr 2019 18:40:39 GMT\"0x8D6CD9B57CF9546\"5120share155664969424905803155664969442504330Tue, 30 Apr 2019 18:41:34 GMT\"0x8D6CD9B788A90C3\"5120share155664997888009788Tue, 30 Apr 2019 18:46:19 GMT\"0x8D6CD9C221B0DD3\"5120share155664998171908903155664998207603735Tue, 30 Apr 2019 18:46:22 GMT\"0x8D6CD9C2401C1B8\"5120share155665003183508772155665003201904018Tue, 30 Apr 2019 18:47:12 GMT\"0x8D6CD9C41C62EB3\"5120share155671217179407304Wed, 01 May 2019 12:02:52 GMT\"0x8D6CE2CF043E9FA\"5120share155671219172008472155671219276209289Wed, 01 May 2019 12:03:12 GMT\"0x8D6CE2CFC6D505C\"5120share155671230723401763155671230731502440Wed, 01 May 2019 12:05:25 GMT\"0x8D6CE2D4BA1AB19\"5120share155671263721209422Wed, 01 May 2019 12:10:37 GMT\"0x8D6CE2E056F7E3B\"5120share155671264204707108155671264210803004Wed, 01 May 2019 12:10:44 GMT\"0x8D6CE2E0984E095\"5120share155671270574801389155671270577303687Wed, 01 May 2019 12:11:46 GMT\"0x8D6CE2E2E5FFEA7\"5120share155671293848409824Wed, 01 May 2019 12:15:38 GMT\"0x8D6CE2EB8E7FA6A\"5120share155671294574507278155671294591804702Wed, 01 May 2019 12:15:45 GMT\"0x8D6CE2EBD562533\"5120share155671299611306212155671299620008258Wed, 01 May 2019 12:16:36 GMT\"0x8D6CE2EDB507203\"5120share155671332385803714Wed, 01 May 2019 12:22:03 GMT\"0x8D6CE2F9E969558\"5120share155671332469602305155671332475802993Wed, 01 May 2019 12:22:04 GMT\"0x8D6CE2F9F1EB9A5\"5120share155671338502005314155671338504303235Wed, 01 May 2019 12:23:05 GMT\"0x8D6CE2FC30DC95C\"5120share155671367854104869Wed, 01 May 2019 12:27:58 GMT\"0x8D6CE3071FE1598\"5120share155671368223303911155671368228005487Wed, 01 May 2019 12:28:02 GMT\"0x8D6CE307437A4C7\"5120share155671372645003038155671372648200546Wed, 01 May 2019 12:28:46 GMT\"0x8D6CE308E900339\"5120share155671404138101116Wed, 01 May 2019 12:34:01 GMT\"0x8D6CE314A41DD35\"5120share155671404388202871155671404392901060Wed, 01 May 2019 12:34:04 GMT\"0x8D6CE314BD70619\"5120share155671408392004967155671408393609922Wed, 01 May 2019 12:34:43 GMT\"0x8D6CE31639EBF99\"5120share155671434293808392Wed, 01 May 2019 12:39:03 GMT\"0x8D6CE31FE12032E\"5120share155671434836109290155671434872703442Wed, 01 May 2019 12:39:08 GMT\"0x8D6CE3201860597\"5120share155671442401704240155671442418902164Wed, 01 May 2019 12:40:24 GMT\"0x8D6CE322E80240E\"5120share155671476356403284Wed, 01 May 2019 12:46:03 GMT\"0x8D6CE32F8C8A3B2\"5120share155671476641602095155671476677406690Wed, 01 May 2019 12:46:06 GMT\"0x8D6CE32FAB3AA06\"5120share155671483047608209155671483064500413Wed, 01 May 2019 12:47:10 GMT\"0x8D6CE3320C4FF5D\"5120share155671512949600352Wed, 01 May 2019 12:52:09 GMT\"0x8D6CE33D2E5C47A\"5120share155671513373803608155671513408501729Wed, 01 May 2019 12:52:14 GMT\"0x8D6CE33D5A1A8D5\"5120share155671521609705567155671521626506310Wed, 01 May 2019 12:53:36 GMT\"0x8D6CE34069D5F27\"5120share155679851816408368Thu, 02 May 2019 12:01:58 GMT\"0x8D6CEF5FA732A7E\"5120share155679852596202541155679852613202884Thu, 02 May 2019 12:02:06 GMT\"0x8D6CEF5FF1D8624\"5120share155679856288905424Thu, 02 May 2019 12:02:42 GMT\"0x8D6CEF615076CF4\"5120share155679856731700115155679856740204877Thu, 02 May 2019 12:02:47 GMT\"0x8D6CEF617B700B9\"5120share155679857660207760155679857980906085Thu, 02 May 2019 12:02:59 GMT\"0x8D6CEF61F1D286E\"5120share155679874854605896Thu, 02 May 2019 12:05:48 GMT\"0x8D6CEF683A96E62\"5120share155679875030503823155679875033905411Thu, 02 May 2019 12:05:50 GMT\"0x8D6CEF684BA9C31\"5120share155679875254404441155679875263609138Thu, 02 May 2019 12:05:52 GMT\"0x8D6CEF68627C0FE\"5120share155679878089708047155679878091104872Thu, 02 May 2019 12:06:20 GMT\"0x8D6CEF696F37671\"5120share155679888243000820Thu, 02 May 2019 12:08:02 GMT\"0x8D6CEF6D39120A5\"5120share155679888489108376155679888509305780Thu, 02 May 2019 12:08:05 GMT\"0x8D6CEF6D5116F1C\"5120share155679891500506869155679891509202475Thu, 02 May 2019 12:08:35 GMT\"0x8D6CEF6E6F24819\"5120share155679901664001965Thu, 02 May 2019 12:10:16 GMT\"0x8D6CEF7237BEB8F\"5120share155679901953206038155679902425602748Thu, 02 May 2019 12:10:24 GMT\"0x8D6CEF728061FF4\"5120share155679910591802857155679910636900773Thu, 02 May 2019 12:11:46 GMT\"0x8D6CEF758F85617\"5120share155679935112105642Thu, 02 May 2019 12:15:51 GMT\"0x8D6CEF7EAD9AD30\"5120share155679935445705900155679935476905533Thu, 02 May 2019 12:15:54 GMT\"0x8D6CEF7ED06EB5C\"5120share155679940493802391155679940501507356Thu, 02 May 2019 12:16:45 GMT\"0x8D6CEF80B0518C8\"5120share155679976286209168Thu, 02 May 2019 12:22:42 GMT\"0x8D6CEF8E03E8D0B\"5120share155679976761202757155679976767408999Thu, 02 May 2019 12:22:47 GMT\"0x8D6CEF8E31CD0FB\"5120share155679983878804165155679983889806932Thu, 02 May 2019 12:23:59 GMT\"0x8D6CEF90DE7DBE3\"5120share155680012729001345Thu, 02 May 2019 12:28:47 GMT\"0x8D6CEF9B9744EEA\"5120share155680013089802177155680013343604362Thu, 02 May 2019 12:28:53 GMT\"0x8D6CEF9BD1E87AD\"5120share155680018545607819155680018548802519Thu, 02 May 2019 12:29:45 GMT\"0x8D6CEF9DC25C797\"5120share155680048628307191Thu, 02 May 2019 12:34:46 GMT\"0x8D6CEFA8F6FA5B5\"5120share155680048735201308155680048752503263Thu, 02 May 2019 12:34:47 GMT\"0x8D6CEFA902BEFD4\"5120share155680054059502575155680054078208504Thu, 02 May 2019 12:35:40 GMT\"0x8D6CEFAAFE99E08\"5120share155680079259409152Thu, 02 May 2019 12:39:52 GMT\"0x8D6CEFB46144212\"5120share155680079603008692155680079638802080Thu, 02 May 2019 12:39:56 GMT\"0x8D6CEFB48576A5A\"5120share155680086324003170155680086341609400Thu, 02 May 2019 12:41:09 GMT\"0x8D6CEFB73F4191B\"5120share155680116366608240Thu, 02 May 2019 12:46:03 GMT\"0x8D6CEFC2342610F\"5120share155680116692407772155680116726106116Thu, 02 May 2019 12:46:07 GMT\"0x8D6CEFC256671DA\"5120share155680123263107271155680123280607055Thu, 02 May 2019 12:47:18 GMT\"0x8D6CEFC4FB84B61\"5120share155680152893405622Thu, 02 May 2019 12:52:09 GMT\"0x8D6CEFCFCF8ACC9\"5120share155680153196607938155680153229901822Thu, 02 May 2019 12:52:12 GMT\"0x8D6CEFCFEFAC75D\"5120share155680158878107344155680158894804284Thu, 02 May 2019 12:53:09 GMT\"0x8D6CEFD20BEBDCF\"5120share155788306352807730Wed, 15 May 2019 01:16:54 GMT\"0x8D6D8D304A61904\"5120share155788308062108596155788308209308631Wed, 15 May 2019 01:17:12 GMT\"0x8D6D8D30F58BE3B\"5120share155788323499401022155788323520406093Wed, 15 May 2019 01:19:45 GMT\"0x8D6D8D36A9B0AAD\"5120share155788333682509501Wed, 15 May 2019 01:21:28 GMT\"0x8D6D8D3A7AA96CE\"5120share155788334149705660155788334173503747Wed, 15 May 2019 01:21:32 GMT\"0x8D6D8D3AA0A1813\"5120share155788339703307533155788339713500051Wed, 15 May 2019 01:22:27 GMT\"0x8D6D8D3CB0FBFB8\"5120share155789851622202118Wed, 15 May 2019 05:34:26 GMT\"0x8D6D8F6FED7E33B\"5120share155789852650301614155789852729008793Wed, 15 May 2019 05:34:36 GMT\"0x8D6D8F704DEAC59\"5120share155789877173604070155789877195804743Wed, 15 May 2019 05:38:42 GMT\"0x8D6D8F7975258B5\"5120share155789882274109457Wed, 15 May 2019 05:39:32 GMT\"0x8D6D8F7B501C0A1\"5120share155789920646404319Wed, 15 May 2019 05:45:59 GMT\"0x8D6D8F89B713B5D\"5120share155789922333106193155789922594104272Wed, 15 May 2019 05:46:15 GMT\"0x8D6D8F8A55DC48A\"5120share155789948872909427155789948893408867Wed, 15 May 2019 05:50:38 GMT\"0x8D6D8F9421EA77F\"5120share155796534745905625Thu, 16 May 2019 00:08:16 GMT\"0x8D6D99298888C0B\"5120share155796535227408872155796535309403957Thu, 16 May 2019 00:08:22 GMT\"0x8D6D9929BC764A5\"5120share155796549374907408155796549948205145Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F307D6FA\"5120share155796549944801755Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F30D0787\"5120share155796550181401739155796550203008148Thu, 16 May 2019 00:10:50 GMT\"0x8D6D992F47EA761\"5120share155796558852701870155796558863206075Thu, 16 May 2019 00:12:17 GMT\"0x8D6D993281B7B69\"5120share155936613426202671Sat, 01 Jun 2019 05:15:34 GMT\"0x8D6E6502D1AE146\"5120share155936613752107952Sat, 01 Jun 2019 05:15:37 GMT\"0x8D6E6502EE0D225\"5120share155936617309807358Sat, 01 Jun 2019 05:16:13 GMT\"0x8D6E6504414E154\"5120share155936618248102291155936618773106962Sat, 01 Jun 2019 05:16:28 GMT\"0x8D6E6504CF96712\"5120share155936622317002439155936622805600133Sat, 01 Jun 2019 05:17:08 GMT\"0x8D6E65064DD022F\"5120share156044249615306731Thu, 13 Jun 2019 09:14:41 GMT\"0x8D6EFDF9176E0E5\"5120share156044250900802249156044253597605999Thu, 13 Jun 2019 09:15:22 GMT\"0x8D6EFDFA9A9531B\"5120share156044266032103683156044267037809103Thu, 13 Jun 2019 09:17:35 GMT\"0x8D6EFDFF9363F4C\"5120share156044276915301025Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE033D4F921\"5120share156044276965805452Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE0343C5600\"5120share156044277102604377Thu, 13 Jun 2019 09:19:16 GMT\"0x8D6EFE035871718\"5120share156044298388703236Thu, 13 Jun 2019 09:22:48 GMT\"0x8D6EFE0B3DB9142\"5120share156044298446703223Thu, 13 Jun 2019 09:22:51 GMT\"0x8D6EFE0B52FECF1\"5120share156044298734500432Thu, 13 Jun 2019 09:22:53 GMT\"0x8D6EFE0B6A74968\"5120share156044329310003703Thu, 13 Jun 2019 09:27:57 GMT\"0x8D6EFE16C0FE7C8\"5120share156044329582502409156044329609304478Thu, 13 Jun 2019 09:28:00 GMT\"0x8D6EFE16DD7D891\"5120share156044333581504082156044333594304550Thu, 13 Jun 2019 09:28:40 GMT\"0x8D6EFE18597B0BF\"5120share156047994662102881Thu, 13 Jun 2019 19:38:52 GMT\"0x8D6F036C3BB8F7A\"5120share156047995819502850156047995909100189Thu, 13 Jun 2019 19:39:04 GMT\"0x8D6F036CAE76E07\"5120share156047996126702672Thu, 13 Jun 2019 19:39:06 GMT\"0x8D6F036CC7545BB\"5120share156050177866005230Fri, 14 Jun 2019 08:42:59 GMT\"0x8D6F0A44DE68AA5\"5120share156050179006706031156050179077805344Fri, 14 Jun 2019 08:43:16 GMT\"0x8D6F0A458405A55\"5120share156050191303808333156050191327404367Fri, 14 Jun 2019 08:45:13 GMT\"0x8D6F0A49E21DA4E\"5120share156050211559604917Fri, 14 Jun 2019 08:48:35 GMT\"0x8D6F0A516A83543\"5120share156050211822900505156050211858909038Fri, 14 Jun 2019 08:48:39 GMT\"0x8D6F0A51878DD30\"5120share156050215766705740156050215780300373Fri, 14 Jun 2019 08:49:18 GMT\"0x8D6F0A52FCE0BA5\"5120share156081550348009414Mon, 17 Jun 2019 23:51:43 GMT\"0x8D6F37EC0388A3B\"5120share156081550608509127156081550638505882Mon, 17 Jun 2019 23:51:46 GMT\"0x8D6F37EC1F298C1\"5120share156081551027804881Mon, 17 Jun 2019 23:51:50 GMT\"0x8D6F37EC4450BAA\"5120share156081556306007728Mon, 17 Jun 2019 23:52:43 GMT\"0x8D6F37EE3D2AAA3\"5120share156081556994202082156081557055908986Mon, 17 Jun 2019 23:52:50 GMT\"0x8D6F37EE84AF3FE\"5120share156090518844708126Wed, 19 Jun 2019 00:46:28 GMT\"0x8D6F44F90A73876\"5120share156090519369309751156090519401906943Wed, 19 Jun 2019 00:46:34 GMT\"0x8D6F44F93F136E5\"5120share156090520433402869Wed, 19 Jun 2019 00:46:44 GMT\"0x8D6F44F9A304B8F\"5120share156090520600501278156090520631804345Wed, 19 Jun 2019 00:46:46 GMT\"0x8D6F44F9B45D8A0\"5120share156090521027006703156090521090304895Wed, 19 Jun 2019 00:46:51 GMT\"0x8D6F44F9E1A4964\"5120share156090523484208035156090523547500820Wed, 19 Jun 2019 00:47:15 GMT\"0x8D6F44FACBF2574\"5120share156090528884503768x1Wed, 19 Jun 2019 00:48:08 GMT\"0x8D6F44FCC769E92\"5120share156090528884503768x2Wed, 19 Jun 2019 00:48:09 GMT\"0x8D6F44FCC8DD448\"5120share156090529119103354156090529134104591Wed, 19 Jun 2019 00:48:11 GMT\"0x8D6F44FCDF3714A\"5120share156090529870502984156090529885103119Wed, 19 Jun 2019 00:48:18 GMT\"0x8D6F44FD26D1E09\"5120share156090538248003758x1Wed, 19 Jun 2019 00:49:42 GMT\"0x8D6F450045EF089\"5120share156090538248003758x2Wed, 19 Jun 2019 00:49:43 GMT\"0x8D6F4500495B8E3\"5120share156090539724300720156090539754505732Wed, 19 Jun 2019 00:49:57 GMT\"0x8D6F4500D580E83\"5120share156090541332209451156090541362901101Wed, 19 Jun 2019 00:50:13 GMT\"0x8D6F45016EFF17A\"5120share156090550949505668Wed, 19 Jun 2019 00:51:49 GMT\"0x8D6F450500368A9\"5120share156090551212302217156090551242708665Wed, 19 Jun 2019 00:51:52 GMT\"0x8D6F45051BA1314\"5120share156090553013901551Wed, 19 Jun 2019 00:52:10 GMT\"0x8D6F4505C618D79\"5120share156090553593709437156090553653902128Wed, 19 Jun 2019 00:52:16 GMT\"0x8D6F4506031358A\"5120share156090558100103645156090558115508952Wed, 19 Jun 2019 00:53:01 GMT\"0x8D6F4507AB22B77\"5120share156090564524803767156090564556104448Wed, 19 Jun 2019 00:54:05 GMT\"0x8D6F450A12D0E82\"5120share156099883086407809156099883149506226Thu, 20 Jun 2019 02:47:11 GMT\"0x8D6F5299855BC7B\"5120share156099893196906529156099893228004620Thu, 20 Jun 2019 02:48:52 GMT\"0x8D6F529D44FD103\"5120share156114311216300057Fri, 21 Jun 2019 18:51:52 GMT\"0x8D6F679864F385C\"5120share156114311890203576156114312002500579Fri, 21 Jun 2019 18:52:00 GMT\"0x8D6F6798AFE085E\"5120share156114333879907132156114334191903810Fri, 21 Jun 2019 18:55:42 GMT\"0x8D6F67A0F3FCF92\"5120share156114371848307278Fri, 21 Jun 2019 19:01:58 GMT\"0x8D6F67AEFA2AFE2\"5120share156114372136304633156114372167008416Fri, 21 Jun 2019 19:02:01 GMT\"0x8D6F67AF180FD23\"5120share156114379998900636156114380014204580Fri, 21 Jun 2019 19:03:20 GMT\"0x8D6F67B204707DA\"5120share156114474439505812Fri, 21 Jun 2019 19:19:04 GMT\"0x8D6F67D53314453\"5120share156114475387905810156114475448908574Fri, 21 Jun 2019 19:19:14 GMT\"0x8D6F67D5933C9C3\"5120share156114486321303028Fri, 21 Jun 2019 19:21:05 GMT\"0x8D6F67D9B61B33C\"5120share156115946574701846Fri, 21 Jun 2019 23:24:26 GMT\"0x8D6F69F99CE4B71\"5120share156115947141807982156115947224806986Fri, 21 Jun 2019 23:24:33 GMT\"0x8D6F69F9E1B1F7F\"5120share156115960121602365156115960188507490Fri, 21 Jun 2019 23:26:42 GMT\"0x8D6F69FEAF28A6C\"5120share156141635490400684Mon, 24 Jun 2019 22:45:55 GMT\"0x8D6F8F5B7AD250A\"5120share156141636264601764156141636329409650Mon, 24 Jun 2019 22:46:03 GMT\"0x8D6F8F5BCACA818\"5120share156141658460702995156141658490004575Mon, 24 Jun 2019 22:49:45 GMT\"0x8D6F8F641081F82\"5120share156141756433309618Mon, 24 Jun 2019 23:06:04 GMT\"0x8D6F8F8887D6188\"5120share156141756733002751156141756763204721Mon, 24 Jun 2019 23:06:07 GMT\"0x8D6F8F88A6C6C2A\"5120share156141764119603193156141764134701828Mon, 24 Jun 2019 23:07:21 GMT\"0x8D6F8F8B65C39CE\"5120share156141919236706702Mon, 24 Jun 2019 23:33:12 GMT\"0x8D6F8FC52EED154\"5120share156141919803003350156141919865801147Mon, 24 Jun 2019 23:33:19 GMT\"0x8D6F8FC56F4BD05\"5120share156141931966501774Mon, 24 Jun 2019 23:35:29 GMT\"0x8D6F8FCA4BD683F\"5120share156149970911905568Tue, 25 Jun 2019 21:55:09 GMT\"0x8D6F9B7CAAB4B3B\"5120share156149972253205524156149972575804451Tue, 25 Jun 2019 21:55:26 GMT\"0x8D6F9B7D492BDAF\"5120share156149997853501630156149997896706693Tue, 25 Jun 2019 21:59:39 GMT\"0x8D6F9B86B7E9EF8\"5120share156150112617009272Tue, 25 Jun 2019 22:18:46 GMT\"0x8D6F9BB17479CEF\"5120share156150115930800713156150115992806338Tue, 25 Jun 2019 22:19:23 GMT\"0x8D6F9BB2D3E52CB\"5120share156150134120204800156150134149206717Tue, 25 Jun 2019 22:22:21 GMT\"0x8D6F9BB979CFC8C\"5120share156150280108408199Tue, 25 Jun 2019 22:46:44 GMT\"0x8D6F9BEFF7465E5\"5120share156150281047001733156150281108602477Tue, 25 Jun 2019 22:46:52 GMT\"0x8D6F9BF0439157D\"5120share156150296438905506156150296523603401Tue, 25 Jun 2019 22:49:25 GMT\"0x8D6F9BF5F712922\"5120share156150354167103800156150354327804409Tue, 25 Jun 2019 22:59:03 GMT\"0x8D6F9C0B7FD48A0\"5120share156150384087807265156150384183008054Tue, 25 Jun 2019 23:04:02 GMT\"0x8D6F9C169F185B4\"5120share156150415783302542Tue, 25 Jun 2019 23:09:18 GMT\"0x8D6F9C2264959E1\"5120share156150416320803571156150416383902503Tue, 25 Jun 2019 23:09:24 GMT\"0x8D6F9C229DED148\"5120share156150416632503534Tue, 25 Jun 2019 23:09:26 GMT\"0x8D6F9C22B5A1E25\"5120share156150422332508880Tue, 25 Jun 2019 23:10:23 GMT\"0x8D6F9C24D8C96B5\"5120share156150423181005284156150423381304793Tue, 25 Jun 2019 23:10:34 GMT\"0x8D6F9C253961894\"5120share156150438077300288156150438106805729Tue, 25 Jun 2019 23:13:01 GMT\"0x8D6F9C2AB5763ED\"5120share156150520304506733Tue, 25 Jun 2019 23:26:43 GMT\"0x8D6F9C49531803B\"5120share156150520603800440156150520635102181Tue, 25 Jun 2019 23:26:46 GMT\"0x8D6F9C49729170A\"5120", + "response": "1share-with-dash156503801544506568Mon, 05 Aug 2019 20:46:55 GMT\"0x8D719E60D7B9494\"51201share-with-dash156503990297204513Mon, 05 Aug 2019 21:18:23 GMT\"0x8D719EA7287B131\"5120harshan-newshareWed, 03 Jul 2019 08:00:19 GMT\"0x8D6FF8C7E400CF5\"5120harshan-newshare1Wed, 03 Jul 2019 08:00:27 GMT\"0x8D6FF8C82F78FD8\"5120harshan-newshare308Wed, 03 Jul 2019 22:59:42 GMT\"0x8D7000A22C19BC2\"5120harshan-newshare369Wed, 03 Jul 2019 22:58:16 GMT\"0x8D70009EF8E3A12\"5120harshan-newshare378Wed, 03 Jul 2019 22:59:24 GMT\"0x8D7000A179B6D3A\"5120harshan-newshare3808Tue, 06 Aug 2019 18:25:00 GMT\"0x8D71A9B64CB36A5\"5120harshan-newshare3808-fxTue, 06 Aug 2019 18:44:50 GMT\"0x8D71A9E2A19A548\"5120harshan-newshare5Wed, 03 Jul 2019 08:00:39 GMT\"0x8D6FF8C89D7AD2D\"5120newshare1560984825945Wed, 19 Jun 2019 22:53:46 GMT\"0x8D6F508FC8742DD\"5120newshare1560984850577Wed, 19 Jun 2019 22:54:11 GMT\"0x8D6F5090B34A1EB\"5120newshare1560984882604Wed, 19 Jun 2019 22:54:42 GMT\"0x8D6F5091E339D8C\"5120newshare1560985024272Wed, 19 Jun 2019 22:57:04 GMT\"0x8D6F50972BE3FCF\"5120newshare1560985083512Wed, 19 Jun 2019 22:58:03 GMT\"0x8D6F5099600D69D\"5120newshare1560985920531Wed, 19 Jun 2019 23:12:00 GMT\"0x8D6F50B88DA1F34\"5120newshare1561756969110Fri, 28 Jun 2019 21:22:49 GMT\"0x8D6FC0EC59EBC52\"5120newshare1562193890506Wed, 03 Jul 2019 22:44:50 GMT\"0x8D700080F2422E6\"5120share155437904169205513Thu, 04 Apr 2019 11:57:21 GMT\"0x8D6B8F4B2199E20\"5120share155437904713606627155437904748902305Thu, 04 Apr 2019 11:57:27 GMT\"0x8D6B8F4B58CCFDF\"5120share155437910337302527155437910354902667Thu, 04 Apr 2019 11:58:23 GMT\"0x8D6B8F4D6F74A7A\"5120share155437926571002685Thu, 04 Apr 2019 12:01:06 GMT\"0x8D6B8F537F0202C\"5120share155437937929506082Thu, 04 Apr 2019 12:02:59 GMT\"0x8D6B8F57B571BD7\"5120share155437938267107302155437938302300325Thu, 04 Apr 2019 12:03:03 GMT\"0x8D6B8F57D904B8D\"5120share155437943600205257155437943618000602Thu, 04 Apr 2019 12:03:56 GMT\"0x8D6B8F59D3F4E15\"5120share155442101291609110Thu, 04 Apr 2019 23:36:53 GMT\"0x8D6B9566AEEB456\"5120share155442101433204202155442101441304945Thu, 04 Apr 2019 23:36:54 GMT\"0x8D6B9566BAA4F82\"5120share155442103535004210155442103538902012Thu, 04 Apr 2019 23:37:15 GMT\"0x8D6B956782FAC3C\"5120share155442106262706581Thu, 04 Apr 2019 23:37:43 GMT\"0x8D6B95688E986F6\"5120share155442106833005342155442106849709891Thu, 04 Apr 2019 23:37:48 GMT\"0x8D6B9568BEE3C35\"5120share155442114135001795155442114169107170Thu, 04 Apr 2019 23:39:02 GMT\"0x8D6B956B7D19FDF\"5120share155442131425802394Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571E63D415\"5120share155442131479404554155442131482500092Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571EBA7ECE\"5120share155442132948207011155442132949606157Thu, 04 Apr 2019 23:42:09 GMT\"0x8D6B9572778FD3C\"5120share155442141590704833Thu, 04 Apr 2019 23:43:35 GMT\"0x8D6B9575AFB4FEB\"5120share155442142252500330155442142267403210Thu, 04 Apr 2019 23:43:44 GMT\"0x8D6B9575FD51B4D\"5120share155442146582902380155442146585008091Thu, 04 Apr 2019 23:44:26 GMT\"0x8D6B95778EE5ED3\"5120share155442149759503608Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C207165\"5120share155442149837602699Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C30A3C1\"5120share155442150064406618155442150082408752Thu, 04 Apr 2019 23:45:00 GMT\"0x8D6B9578D9B62F7\"5120share155442153362302080155442153371707518Thu, 04 Apr 2019 23:45:33 GMT\"0x8D6B957A13737FA\"5120share155443582059502859Fri, 05 Apr 2019 03:43:42 GMT\"0x8D6B978E603869D\"5120share155443582580507876155443582595606141Fri, 05 Apr 2019 03:43:46 GMT\"0x8D6B978E8A02797\"5120share155443587740305874155443587762607080Fri, 05 Apr 2019 03:44:37 GMT\"0x8D6B97906DE32FA\"5120share155443625931505797Fri, 05 Apr 2019 03:50:59 GMT\"0x8D6B979EA5A9413\"5120share155443626549008520155443626563302943Fri, 05 Apr 2019 03:51:05 GMT\"0x8D6B979EE1D492F\"5120share155443630167301526155443630221406552Fri, 05 Apr 2019 03:51:42 GMT\"0x8D6B97A03FBB01F\"5120share155443666699605171Fri, 05 Apr 2019 03:57:47 GMT\"0x8D6B97ADD56D64F\"5120share155443666955806318155443667044900386Fri, 05 Apr 2019 03:57:50 GMT\"0x8D6B97ADF6728E9\"5120share155443669150109852155443669151701289Fri, 05 Apr 2019 03:58:11 GMT\"0x8D6B97AEBF6A0A3\"5120share155443703010208112Fri, 05 Apr 2019 04:03:50 GMT\"0x8D6B97BB5C542C6\"5120share155443703394402052155443703408604381Fri, 05 Apr 2019 04:03:54 GMT\"0x8D6B97BB82502C3\"5120share155443706847604651155443706849201965Fri, 05 Apr 2019 04:04:28 GMT\"0x8D6B97BCCA7BB08\"5120share155443733735903558Fri, 05 Apr 2019 04:08:57 GMT\"0x8D6B97C6CFBA440\"5120share155443734066903960155443734103208534Fri, 05 Apr 2019 04:09:01 GMT\"0x8D6B97C6F2C6060\"5120share155443740343700662155443740361700328Fri, 05 Apr 2019 04:10:03 GMT\"0x8D6B97C947B99FC\"5120share155443773159006548Fri, 05 Apr 2019 04:15:31 GMT\"0x8D6B97D57F62125\"5120share155443773488909261155443773524802868Fri, 05 Apr 2019 04:15:35 GMT\"0x8D6B97D5A23A41F\"5120share155443778879901744155443778897809352Fri, 05 Apr 2019 04:16:29 GMT\"0x8D6B97D7A2A0A7B\"5120share155443808157506500Fri, 05 Apr 2019 04:21:21 GMT\"0x8D6B97E28928135\"5120share155443808899901355155443808934705375Fri, 05 Apr 2019 04:21:29 GMT\"0x8D6B97E2D346BD5\"5120share155443814397801049155443814428602573Fri, 05 Apr 2019 04:22:24 GMT\"0x8D6B97E4DF255CB\"5120share155449698256603251Fri, 05 Apr 2019 20:43:03 GMT\"0x8D6BA074CC4EFEB\"5120share155449699028704210155449699044401955Fri, 05 Apr 2019 20:43:10 GMT\"0x8D6BA0750F24CA3\"5120share155449706408706736155449706446200602Fri, 05 Apr 2019 20:44:24 GMT\"0x8D6BA077D1205FE\"5120share155449737116002082Fri, 05 Apr 2019 20:49:31 GMT\"0x8D6BA0833EF6AE3\"5120share155449737474209671155449737490001856Fri, 05 Apr 2019 20:49:35 GMT\"0x8D6BA0836271F09\"5120share155449745536204495155449745544000815Fri, 05 Apr 2019 20:50:55 GMT\"0x8D6BA08661AA78B\"5120share155449770584504837Fri, 05 Apr 2019 20:55:06 GMT\"0x8D6BA08FB786B15\"5120share155449770977003350155449771009507442Fri, 05 Apr 2019 20:55:10 GMT\"0x8D6BA08FDEEEF5F\"5120share155449778145802330155449778162009258Fri, 05 Apr 2019 20:56:21 GMT\"0x8D6BA0928910090\"5120share155449823062408698Fri, 05 Apr 2019 21:03:50 GMT\"0x8D6BA0A3420A3D8\"5120share155449823258504287155449823263301889Fri, 05 Apr 2019 21:03:52 GMT\"0x8D6BA0A35530D46\"5120share155449826174701410155449826176307807Fri, 05 Apr 2019 21:04:21 GMT\"0x8D6BA0A46AFDCC3\"5120share155449862981903222Fri, 05 Apr 2019 21:10:29 GMT\"0x8D6BA0B220FFB58\"5120share155449863105504658155449863111709132Fri, 05 Apr 2019 21:10:31 GMT\"0x8D6BA0B22D5EEA2\"5120share155449865700806346155449865702400197Fri, 05 Apr 2019 21:10:57 GMT\"0x8D6BA0B32485EAF\"5120share155449904692503022Fri, 05 Apr 2019 21:17:26 GMT\"0x8D6BA0C1AB0768E\"5120share155449905263404318155449905491400712Fri, 05 Apr 2019 21:17:34 GMT\"0x8D6BA0C1F74B26E\"5120share155449907669405335155449907672507508Fri, 05 Apr 2019 21:17:56 GMT\"0x8D6BA0C2C743E12\"5120share155449934243103133Fri, 05 Apr 2019 21:22:22 GMT\"0x8D6BA0CCAE43E0F\"5120share155449934701504808155449934737409902Fri, 05 Apr 2019 21:22:27 GMT\"0x8D6BA0CCDD5AAB7\"5120share155449939774006034155449939791600712Fri, 05 Apr 2019 21:23:18 GMT\"0x8D6BA0CEBF47C4B\"5120share155449972319203361Fri, 05 Apr 2019 21:28:43 GMT\"0x8D6BA0DADD62181\"5120share155449972776901031155449972812206390Fri, 05 Apr 2019 21:28:48 GMT\"0x8D6BA0DB0C68B0E\"5120share155449977789002842155449977806401651Fri, 05 Apr 2019 21:29:38 GMT\"0x8D6BA0DCE8A94B2\"5120share155449988456208354Fri, 05 Apr 2019 21:31:24 GMT\"0x8D6BA0E0E0F8C4F\"5120share155449988625608688155449988642503448Fri, 05 Apr 2019 21:31:26 GMT\"0x8D6BA0E0F159E96\"5120share155449991844601273Fri, 05 Apr 2019 21:31:58 GMT\"0x8D6BA0E2236F89F\"5120share155449991947403701155449991955701901Fri, 05 Apr 2019 21:31:59 GMT\"0x8D6BA0E22D51817\"5120share155449992104401371155449992136502093Fri, 05 Apr 2019 21:32:01 GMT\"0x8D6BA0E23F4DF66\"5120share155449998080301988155449998096605835Fri, 05 Apr 2019 21:33:01 GMT\"0x8D6BA0E477BAC64\"5120share155450013577106187Fri, 05 Apr 2019 21:35:35 GMT\"0x8D6BA0EA3C13C6A\"5120share155450013975601796155450014013008238Fri, 05 Apr 2019 21:35:40 GMT\"0x8D6BA0EA65AC2B0\"5120share155450018809207165155450018826600270Fri, 05 Apr 2019 21:36:28 GMT\"0x8D6BA0EC30B1548\"5120share155450023420002019Fri, 05 Apr 2019 21:37:14 GMT\"0x8D6BA0EDE57C125\"5120share155450023554205992155450023557009386Fri, 05 Apr 2019 21:37:15 GMT\"0x8D6BA0EDF288B66\"5120share155450024411803045Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4426ACD\"5120share155450024474309872155450024478308841Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4A7516D\"5120share155450026152800097155450026154404952Fri, 05 Apr 2019 21:37:41 GMT\"0x8D6BA0EEEA43674\"5120share155450026844501446155450026846506463Fri, 05 Apr 2019 21:37:48 GMT\"0x8D6BA0EF2C4D0B4\"5120share155450027013702613Fri, 05 Apr 2019 21:37:50 GMT\"0x8D6BA0EF3D660E5\"5120share155450098713403512Fri, 05 Apr 2019 21:49:47 GMT\"0x8D6BA109F1FAEA3\"5120share155450098795005725155450098819302382Fri, 05 Apr 2019 21:49:48 GMT\"0x8D6BA109FC138FA\"5120share155450100624106896155450100625400488Fri, 05 Apr 2019 21:50:06 GMT\"0x8D6BA10AA84F02B\"5120share155450104772209911Fri, 05 Apr 2019 21:50:47 GMT\"0x8D6BA10C3526810\"5120share155450105123004228155450105156707366Fri, 05 Apr 2019 21:50:51 GMT\"0x8D6BA10C59D285F\"5120share155450111920803672155450111937209538Fri, 05 Apr 2019 21:51:59 GMT\"0x8D6BA10EE071888\"5120share155450126920005396Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA11474297C1\"5120share155450126969701975155450126972908925Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA1147934239\"5120share155450128467906744155450128469304502Fri, 05 Apr 2019 21:54:44 GMT\"0x8D6BA11507E4772\"5120share155450132669601793Fri, 05 Apr 2019 21:55:26 GMT\"0x8D6BA11698EF3CD\"5120share155450132813801025155450132829305884Fri, 05 Apr 2019 21:55:28 GMT\"0x8D6BA116A81B4B3\"5120share155450135791403668155450135799105427Fri, 05 Apr 2019 21:55:58 GMT\"0x8D6BA117C34CAD7\"5120share155450140200109814Fri, 05 Apr 2019 21:56:42 GMT\"0x8D6BA119683B6C7\"5120share155450140979600425155450141000009152Fri, 05 Apr 2019 21:56:50 GMT\"0x8D6BA119B353702\"5120share155450144708505456155450144717604490Fri, 05 Apr 2019 21:57:27 GMT\"0x8D6BA11B15D8FA1\"5120share155450155445805771Fri, 05 Apr 2019 21:59:14 GMT\"0x8D6BA11F14FA8C1\"5120share155450155746908588155450155762100757Fri, 05 Apr 2019 21:59:17 GMT\"0x8D6BA11F332B6AE\"5120share155450159236608444155450159244109845Fri, 05 Apr 2019 21:59:52 GMT\"0x8D6BA1207F35686\"5120share155450180090503097Fri, 05 Apr 2019 22:03:20 GMT\"0x8D6BA12842B549F\"5120share155450180155809344155450180158500047Fri, 05 Apr 2019 22:03:21 GMT\"0x8D6BA1284932271\"5120share155450181491907566155450181493202339Fri, 05 Apr 2019 22:03:34 GMT\"0x8D6BA128C8781AB\"5120share155450186007105856Fri, 05 Apr 2019 22:04:20 GMT\"0x8D6BA12A77939C1\"5120share155450186139508623155450186155309962Fri, 05 Apr 2019 22:04:21 GMT\"0x8D6BA12A85AA383\"5120share155450189649605877155450189657701803Fri, 05 Apr 2019 22:04:56 GMT\"0x8D6BA12BD3AFF63\"5120share155450194282600135Fri, 05 Apr 2019 22:05:42 GMT\"0x8D6BA12D8C2E1B6\"5120share155450195089000955155450195091608811Fri, 05 Apr 2019 22:05:50 GMT\"0x8D6BA12DD953B1C\"5120share155450196679601624155450196680606667Fri, 05 Apr 2019 22:06:06 GMT\"0x8D6BA12E70E0F9F\"5120share155450199206704489Fri, 05 Apr 2019 22:06:32 GMT\"0x8D6BA12F630E2CD\"5120share155450199500007291155450201143605621Fri, 05 Apr 2019 22:06:51 GMT\"0x8D6BA1301BC47AF\"5120share155450206036607407155450206052800826Fri, 05 Apr 2019 22:07:40 GMT\"0x8D6BA131EFE8131\"5120share155450219976309042Fri, 05 Apr 2019 22:09:59 GMT\"0x8D6BA1371F17A2C\"5120share155450220201305360155450220217304372Fri, 05 Apr 2019 22:10:02 GMT\"0x8D6BA13736168E3\"5120share155450220597709116Fri, 05 Apr 2019 22:10:05 GMT\"0x8D6BA13759CF9CA\"5120share155450220632007478155450220635204656Fri, 05 Apr 2019 22:10:06 GMT\"0x8D6BA1375D62EE2\"5120share155450222111000558155450222112507755Fri, 05 Apr 2019 22:10:21 GMT\"0x8D6BA137EA4808F\"5120share155450223061502730155450223068509469Fri, 05 Apr 2019 22:10:30 GMT\"0x8D6BA13845FAD24\"5120share155450232306601840Fri, 05 Apr 2019 22:12:03 GMT\"0x8D6BA13BB66BE04\"5120share155450232646008568155450232648907776Fri, 05 Apr 2019 22:12:06 GMT\"0x8D6BA13BD711C53\"5120share155450234251903854155450234253907944Fri, 05 Apr 2019 22:12:22 GMT\"0x8D6BA13C70245E0\"5120share155450235982000963Fri, 05 Apr 2019 22:12:39 GMT\"0x8D6BA13D1508F64\"5120share155450236052009517155450236056501193Fri, 05 Apr 2019 22:12:40 GMT\"0x8D6BA13D1C73D27\"5120share155450237944605145155450237947204493Fri, 05 Apr 2019 22:12:59 GMT\"0x8D6BA13DD070EC8\"5120share155450243317208497Fri, 05 Apr 2019 22:13:53 GMT\"0x8D6BA13FD502B84\"5120share155450243543800739155450243563307575Fri, 05 Apr 2019 22:13:55 GMT\"0x8D6BA13FE87318F\"5120share155450247858409868155450247868503121Fri, 05 Apr 2019 22:14:38 GMT\"0x8D6BA14182FE497\"5120share155450252568703791Fri, 05 Apr 2019 22:15:25 GMT\"0x8D6BA14342D96B5\"5120share155450252608008026155450252615504107Fri, 05 Apr 2019 22:15:26 GMT\"0x8D6BA143475549D\"5120share155450255144300111155450255146607728Fri, 05 Apr 2019 22:15:51 GMT\"0x8D6BA14438C0714\"5120share155450256410002156Fri, 05 Apr 2019 22:16:04 GMT\"0x8D6BA144B93A845\"5120share155450256664806570155450256683505659Fri, 05 Apr 2019 22:16:06 GMT\"0x8D6BA144CBA4AA3\"5120share155450260538802684155450260548106160Fri, 05 Apr 2019 22:16:45 GMT\"0x8D6BA1463C321E8\"5120share155450262421807558Fri, 05 Apr 2019 22:17:04 GMT\"0x8D6BA146EF12A18\"5120share155450262609800727155450262624802323Fri, 05 Apr 2019 22:17:06 GMT\"0x8D6BA14702740EF\"5120share155450265459101575155450265466908285Fri, 05 Apr 2019 22:17:34 GMT\"0x8D6BA14811678F6\"5120share155450291724204101Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151D92961C\"5120share155450291786801152155450291791509886Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151DF9B21D\"5120share155450294264200641155450294267300716Fri, 05 Apr 2019 22:22:22 GMT\"0x8D6BA152CBFB921\"5120share155450297591105990Fri, 05 Apr 2019 22:22:55 GMT\"0x8D6BA154089226D\"5120share155450297691404792155450298009709737Fri, 05 Apr 2019 22:23:00 GMT\"0x8D6BA1543093B42\"5120share155450299822209088155450299823801256Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154DD8BE67\"5120share155450299850301516Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154E0093C0\"5120share155450323607005122Fri, 05 Apr 2019 22:27:16 GMT\"0x8D6BA15DBB935B6\"5120share155450324394200105155450324411702106Fri, 05 Apr 2019 22:27:24 GMT\"0x8D6BA15E06C88BA\"5120share155450327468600876155450327477006102Fri, 05 Apr 2019 22:27:54 GMT\"0x8D6BA15F2B17D62\"5120share155450327962109277Fri, 05 Apr 2019 22:27:59 GMT\"0x8D6BA15F591850B\"5120share155450328004306783155450328010501022Fri, 05 Apr 2019 22:28:00 GMT\"0x8D6BA15F5DA9895\"5120share155450328527004557Fri, 05 Apr 2019 22:28:05 GMT\"0x8D6BA15F900F654\"5120share155450328798308238155450328830607965Fri, 05 Apr 2019 22:28:08 GMT\"0x8D6BA15FACF51C1\"5120share155450330666305766155450330667907543Fri, 05 Apr 2019 22:28:26 GMT\"0x8D6BA1605B1104A\"5120share155450330701904810Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1605E62237\"5120share155450330736308091155450330741007484Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1606202508\"5120share155450333528301673155450333529906356Fri, 05 Apr 2019 22:28:55 GMT\"0x8D6BA1616BFD401\"5120share155450333946600308155450333962608415Fri, 05 Apr 2019 22:28:59 GMT\"0x8D6BA161966152A\"5120share155450334885500645Fri, 05 Apr 2019 22:29:09 GMT\"0x8D6BA161EE70228\"5120share155450338395504678Fri, 05 Apr 2019 22:29:43 GMT\"0x8D6BA1633BE44FF\"5120share155450338426107979155450338428803666Fri, 05 Apr 2019 22:29:44 GMT\"0x8D6BA1633F11BE0\"5120share155450340161103627155450340162402163Fri, 05 Apr 2019 22:30:01 GMT\"0x8D6BA163E464D75\"5120share155450340409906407Fri, 05 Apr 2019 22:30:04 GMT\"0x8D6BA163FCE736E\"5120share155450340500808852155450340509400929Fri, 05 Apr 2019 22:30:05 GMT\"0x8D6BA16405A6FD7\"5120share155450342745506448155450342749401765Fri, 05 Apr 2019 22:30:27 GMT\"0x8D6BA164DB462BB\"5120share155450343328809346Fri, 05 Apr 2019 22:30:33 GMT\"0x8D6BA16512F2A33\"5120share155450343458400365155450343479806929Fri, 05 Apr 2019 22:30:34 GMT\"0x8D6BA165213D613\"5120share155450347314804212155450347322803647Fri, 05 Apr 2019 22:31:13 GMT\"0x8D6BA1668FC3C29\"5120share155450347423202007Fri, 05 Apr 2019 22:31:14 GMT\"0x8D6BA1669960501\"5120share155450348727102424Fri, 05 Apr 2019 22:31:27 GMT\"0x8D6BA16715BDB44\"5120share155450348869606134155450348885300828Fri, 05 Apr 2019 22:31:28 GMT\"0x8D6BA16724D7E5B\"5120share155450352004300543155450352016602032Fri, 05 Apr 2019 22:32:00 GMT\"0x8D6BA1684F78DB2\"5120share155450359307104606Fri, 05 Apr 2019 22:33:13 GMT\"0x8D6BA16B083EDD4\"5120share155450359418905974155450359428200487Fri, 05 Apr 2019 22:33:14 GMT\"0x8D6BA16B11FBCAD\"5120share155450361494402784155450361498805984Fri, 05 Apr 2019 22:33:35 GMT\"0x8D6BA16BD772803\"5120share155450366632503090Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC0E65F3\"5120share155450366664904930155450366667902768Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC44713D\"5120share155450368886501484155450368888102090Fri, 05 Apr 2019 22:34:48 GMT\"0x8D6BA16E9809F79\"5120share155450371988700286Fri, 05 Apr 2019 22:35:19 GMT\"0x8D6BA16FBFCD6F0\"5120share155450372038902619155450372043606143Fri, 05 Apr 2019 22:35:20 GMT\"0x8D6BA16FC4F6C23\"5120share155450373756402371Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA17068A2D67\"5120share155450373784606946155450373786208940Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA1706B2AFB9\"5120share155450373882702323155450373897204908Fri, 05 Apr 2019 22:35:39 GMT\"0x8D6BA170761DA0F\"5120share155450377319401477155450377328608675Fri, 05 Apr 2019 22:36:13 GMT\"0x8D6BA171BD5442B\"5120share155450380543301117Fri, 05 Apr 2019 22:36:45 GMT\"0x8D6BA172EF6D32A\"5120share155450381203303146155450381206607839Fri, 05 Apr 2019 22:36:52 GMT\"0x8D6BA1732EB1201\"5120share155450382820207817Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173C8B8687\"5120share155450382859306908155450382865503795Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173CCF5E34\"5120share155450383751906388155450383753309735Fri, 05 Apr 2019 22:37:17 GMT\"0x8D6BA1742195560\"5120share155450388094604484155450388096207678Fri, 05 Apr 2019 22:38:00 GMT\"0x8D6BA175BFEA36E\"5120share155450388146309288Fri, 05 Apr 2019 22:38:01 GMT\"0x8D6BA175C49C9D4\"5120share155450388966903186Fri, 05 Apr 2019 22:38:09 GMT\"0x8D6BA1761356323\"5120share155450389307503518155450389323404538Fri, 05 Apr 2019 22:38:13 GMT\"0x8D6BA1763551622\"5120share155450392730003095155450392737709902Fri, 05 Apr 2019 22:38:47 GMT\"0x8D6BA1777AF23EE\"5120share155450393102803449Fri, 05 Apr 2019 22:38:51 GMT\"0x8D6BA1779DAA4DC\"5120share155450393283705485155450393298705884Fri, 05 Apr 2019 22:38:53 GMT\"0x8D6BA177B059A34\"5120share155450396658903715155450396666002048Fri, 05 Apr 2019 22:39:26 GMT\"0x8D6BA178F178169\"5120share155450396756806154Fri, 05 Apr 2019 22:39:27 GMT\"0x8D6BA178FA26048\"5120share155450406886408649Fri, 05 Apr 2019 22:41:09 GMT\"0x8D6BA17CC1A3DFC\"5120share155450407117103774155450407137004037Fri, 05 Apr 2019 22:41:11 GMT\"0x8D6BA17CD80D016\"5120share155450410470804055155450410479801441Fri, 05 Apr 2019 22:41:44 GMT\"0x8D6BA17E16D32C5\"5120share155450415494202178Fri, 05 Apr 2019 22:42:37 GMT\"0x8D6BA1800D298E1\"5120share155450415924909263155450415946504098Fri, 05 Apr 2019 22:42:39 GMT\"0x8D6BA1802030A7D\"5120share155450419250702459155450419259701169Fri, 05 Apr 2019 22:43:12 GMT\"0x8D6BA1815C23F76\"5120share155450421697207185Fri, 05 Apr 2019 22:43:37 GMT\"0x8D6BA18245F95C8\"5120share155450421871302863155450421892300644Fri, 05 Apr 2019 22:43:38 GMT\"0x8D6BA182573A9E1\"5120share155450424704408868155450424714109223Fri, 05 Apr 2019 22:44:07 GMT\"0x8D6BA1836457FFD\"5120share155450429079705396Fri, 05 Apr 2019 22:44:50 GMT\"0x8D6BA185057FA7C\"5120share155450429375002929155450429411309966Fri, 05 Apr 2019 22:44:54 GMT\"0x8D6BA18525118BC\"5120share155450430952405481Fri, 05 Apr 2019 22:45:09 GMT\"0x8D6BA185B6CDFF0\"5120share155450430999405267155450431003903942Fri, 05 Apr 2019 22:45:10 GMT\"0x8D6BA185BBBE17C\"5120share155450433115607232155450433117208588Fri, 05 Apr 2019 22:45:31 GMT\"0x8D6BA1868546B89\"5120share155450434416304067155450434445204870Fri, 05 Apr 2019 22:45:44 GMT\"0x8D6BA187051F471\"5120share155450435498004763Fri, 05 Apr 2019 22:45:55 GMT\"0x8D6BA18769867C6\"5120share155450436645400783Fri, 05 Apr 2019 22:46:06 GMT\"0x8D6BA187D646C1B\"5120share155450436865205758155450436887108207Fri, 05 Apr 2019 22:46:08 GMT\"0x8D6BA187ED4DADD\"5120share155450438771003527Fri, 05 Apr 2019 22:46:27 GMT\"0x8D6BA188A1B6C6D\"5120share155450439065608204155450439101805644Fri, 05 Apr 2019 22:46:31 GMT\"0x8D6BA188C131493\"5120share155450441324900411155450441332202608Fri, 05 Apr 2019 22:46:53 GMT\"0x8D6BA189952D510\"5120share155450441426905196Fri, 05 Apr 2019 22:46:54 GMT\"0x8D6BA1899E44097\"5120share155450444831103515155450444849000200Fri, 05 Apr 2019 22:47:28 GMT\"0x8D6BA18AE539A63\"5120share155450445061400014Fri, 05 Apr 2019 22:47:30 GMT\"0x8D6BA18AF9800AC\"5120share155450448315806594Fri, 05 Apr 2019 22:48:03 GMT\"0x8D6BA18C2FF521B\"5120share155450448580004490155450448612109539Fri, 05 Apr 2019 22:48:06 GMT\"0x8D6BA18C4C36EFE\"5120share155450454454601940155450454471501740Fri, 05 Apr 2019 22:49:04 GMT\"0x8D6BA18E7B0CEFE\"5120share155450468370707802Fri, 05 Apr 2019 22:51:23 GMT\"0x8D6BA193A7DF5E2\"5120share155450468513108403155450468528409235Fri, 05 Apr 2019 22:51:25 GMT\"0x8D6BA193B6DD150\"5120share155450468968600032Fri, 05 Apr 2019 22:51:29 GMT\"0x8D6BA193E054481\"5120share155450468996404174155450468999406109Fri, 05 Apr 2019 22:51:30 GMT\"0x8D6BA193E345228\"5120share155450470368902411155450470370306610Fri, 05 Apr 2019 22:51:43 GMT\"0x8D6BA1946600ECD\"5120share155450471161309782Fri, 05 Apr 2019 22:51:51 GMT\"0x8D6BA194B1B90BF\"5120share155450471206601320155450471210308269Fri, 05 Apr 2019 22:51:52 GMT\"0x8D6BA194B67DCD5\"5120share155450471319907271155450471328002279Fri, 05 Apr 2019 22:51:53 GMT\"0x8D6BA194C1DCB30\"5120share155450472979505876155450472987303613Fri, 05 Apr 2019 22:52:09 GMT\"0x8D6BA1955FDC5A1\"5120share155450483407003850Fri, 05 Apr 2019 22:53:54 GMT\"0x8D6BA1994190850\"5120share155450483493604854155450483498301728Fri, 05 Apr 2019 22:53:55 GMT\"0x8D6BA1994A2584F\"5120share155450485496309420155450485497908228Fri, 05 Apr 2019 22:54:15 GMT\"0x8D6BA19A08CEFA6\"5120share155450531813009681Fri, 05 Apr 2019 23:01:58 GMT\"0x8D6BA1AB4AE63BA\"5120share155450532142509509155450532177704006Fri, 05 Apr 2019 23:02:01 GMT\"0x8D6BA1AB6DB1550\"5120share155450535239502974Fri, 05 Apr 2019 23:02:32 GMT\"0x8D6BA1AC9188CCD\"5120share155450535522306736155450535561706197Fri, 05 Apr 2019 23:02:35 GMT\"0x8D6BA1ACB055EAD\"5120share155450537130000843155450537147405079Fri, 05 Apr 2019 23:02:51 GMT\"0x8D6BA1AD479360B\"5120share155450540354000832155450540371804145Fri, 05 Apr 2019 23:03:23 GMT\"0x8D6BA1AE7B08608\"5120share155450541861309114Fri, 05 Apr 2019 23:03:38 GMT\"0x8D6BA1AF085E6F9\"5120share155450542032409907155450542048305915Fri, 05 Apr 2019 23:03:40 GMT\"0x8D6BA1AF1A3EC5E\"5120share155450544958400261155450544966109321Fri, 05 Apr 2019 23:04:09 GMT\"0x8D6BA1B03081BB5\"5120share155450546241607518Fri, 05 Apr 2019 23:04:22 GMT\"0x8D6BA1B0A9DC15F\"5120share155450546294707340155450546301008309Fri, 05 Apr 2019 23:04:23 GMT\"0x8D6BA1B0AF88600\"5120share155450548125804491155450548129002795Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B15DC8687\"5120share155450548156602986Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B16091161\"5120share155450550691105209Fri, 05 Apr 2019 23:05:06 GMT\"0x8D6BA1B2522F1B9\"5120share155450550746601325155450550749806532Fri, 05 Apr 2019 23:05:07 GMT\"0x8D6BA1B257C602A\"5120share155450552187904423155450552189501701Fri, 05 Apr 2019 23:05:21 GMT\"0x8D6BA1B2E1117B3\"5120share155450553054005585Fri, 05 Apr 2019 23:05:30 GMT\"0x8D6BA1B33387AAC\"5120share155450553096308284155450553101001243Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B337F7F2A\"5120share155450553153104170Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B33CF13E1\"5120share155450553201701300155450553206403152Fri, 05 Apr 2019 23:05:32 GMT\"0x8D6BA1B3420278C\"5120share155450554660908559155450554662508047Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CCF605F\"5120share155450554689206246Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CF731D6\"5120share155450555546908179155450555548509764Fri, 05 Apr 2019 23:05:55 GMT\"0x8D6BA1B4215A249\"5120share155450573320000528Fri, 05 Apr 2019 23:08:53 GMT\"0x8D6BA1BAC1B3E84\"5120share155450573517904163155450573540702174Fri, 05 Apr 2019 23:08:55 GMT\"0x8D6BA1BAD5837E3\"5120share155450574422501861Fri, 05 Apr 2019 23:09:04 GMT\"0x8D6BA1BB29B08A8\"5120share155450574551807106155450574579200577Fri, 05 Apr 2019 23:09:05 GMT\"0x8D6BA1BB38A33C5\"5120share155450576411808959155450576420803271Fri, 05 Apr 2019 23:09:24 GMT\"0x8D6BA1BBE830AEE\"5120share155450577244800226155450577267406672Fri, 05 Apr 2019 23:09:32 GMT\"0x8D6BA1BC38F8F1B\"5120share155450584788106323Fri, 05 Apr 2019 23:10:47 GMT\"0x8D6BA1BF06A7821\"5120share155450584927904712Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF13485AC\"5120share155450584968506275155450584973203495Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF17789D4\"5120share155450585107609261155450585142406722Fri, 05 Apr 2019 23:10:51 GMT\"0x8D6BA1BF2872067\"5120share155450586868608098155450586870102350Fri, 05 Apr 2019 23:11:08 GMT\"0x8D6BA1BFCC76F83\"5120share155450590008503577155450590025804885Fri, 05 Apr 2019 23:11:40 GMT\"0x8D6BA1C0FA2514F\"5120share155450590233408942Fri, 05 Apr 2019 23:11:42 GMT\"0x8D6BA1C10E023E9\"5120share155450592143404526Fri, 05 Apr 2019 23:12:01 GMT\"0x8D6BA1C1C474325\"5120share155450592653301961155450592689000603Fri, 05 Apr 2019 23:12:07 GMT\"0x8D6BA1C1F874AB1\"5120share155450596593906098Fri, 05 Apr 2019 23:12:45 GMT\"0x8D6BA1C36BDB316\"5120share155450596641000428155450596645600479Fri, 05 Apr 2019 23:12:46 GMT\"0x8D6BA1C370ADF0D\"5120share155450597916002270155450597933309927Fri, 05 Apr 2019 23:12:59 GMT\"0x8D6BA1C3EC8E461\"5120share155450598201705354155450598203300977Fri, 05 Apr 2019 23:13:02 GMT\"0x8D6BA1C405400BD\"5120share155450600493602122Fri, 05 Apr 2019 23:13:24 GMT\"0x8D6BA1C4DFBE540\"5120share155450601150408012155450601153509563Fri, 05 Apr 2019 23:13:31 GMT\"0x8D6BA1C51EAF389\"5120share155450603035801007155450603037404965Fri, 05 Apr 2019 23:13:50 GMT\"0x8D6BA1C5D249F6C\"5120share155450628196900979Fri, 05 Apr 2019 23:18:01 GMT\"0x8D6BA1CF31A8CEA\"5120share155450628263306726155450628268108838Fri, 05 Apr 2019 23:18:02 GMT\"0x8D6BA1CF387048D\"5120share155450629398602941Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA43621D\"5120share155450629440802130155450629444007820Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA892E2A\"5120share155450630270100063155450630271709505Fri, 05 Apr 2019 23:18:22 GMT\"0x8D6BA1CFF77D299\"5120share155450631207409960155450631209004406Fri, 05 Apr 2019 23:18:32 GMT\"0x8D6BA1D050C8A95\"5120share155450635009203001Fri, 05 Apr 2019 23:19:10 GMT\"0x8D6BA1D1BC98041\"5120share155450635300105814155450635335603109Fri, 05 Apr 2019 23:19:13 GMT\"0x8D6BA1D1DBC2427\"5120share155450635529806396Fri, 05 Apr 2019 23:19:15 GMT\"0x8D6BA1D1EE0C561\"5120share155450635823706105155450635860207094Fri, 05 Apr 2019 23:19:18 GMT\"0x8D6BA1D20D836D4\"5120share155450641996700561155450642014406446Fri, 05 Apr 2019 23:20:20 GMT\"0x8D6BA1D4588F30C\"5120share155450642246903885155450642264601424Fri, 05 Apr 2019 23:20:22 GMT\"0x8D6BA1D4705936B\"5120share155450655482504274Fri, 05 Apr 2019 23:22:34 GMT\"0x8D6BA1D95CF4049\"5120share155450655795506933155450655830708272Fri, 05 Apr 2019 23:22:38 GMT\"0x8D6BA1D97E19F08\"5120share155450661068301279155450661086207756Fri, 05 Apr 2019 23:23:31 GMT\"0x8D6BA1DB734F309\"5120share155450661302603264Fri, 05 Apr 2019 23:23:33 GMT\"0x8D6BA1DB87FB692\"5120share155450662614309712Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC040008B\"5120share155450662666300981155450662672509338Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC0988E75\"5120share155450664547508754155450664549004289Fri, 05 Apr 2019 23:24:05 GMT\"0x8D6BA1DCBC89EBD\"5120share155450678247303548Fri, 05 Apr 2019 23:26:22 GMT\"0x8D6BA1E1D7F6C7D\"5120share155450678466909596Fri, 05 Apr 2019 23:26:24 GMT\"0x8D6BA1E1ECF8D3D\"5120share155450678548802589155450678584406061Fri, 05 Apr 2019 23:26:25 GMT\"0x8D6BA1E1F8191F6\"5120share155450678828205994155450678864001364Fri, 05 Apr 2019 23:26:28 GMT\"0x8D6BA1E212D1FA1\"5120share155450683128203550155450683149106810Fri, 05 Apr 2019 23:27:11 GMT\"0x8D6BA1E3AB676EA\"5120share155450684533605050155450684551003357Fri, 05 Apr 2019 23:27:25 GMT\"0x8D6BA1E43129342\"5120share155450684763007449Fri, 05 Apr 2019 23:27:27 GMT\"0x8D6BA1E4455B8AC\"5120share155450699116508933Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E99D096C8\"5120share155450699158708384155450699161806955Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E9A1778EF\"5120share155450700830807334155450700833903908Fri, 05 Apr 2019 23:30:08 GMT\"0x8D6BA1EA40DEC90\"5120share155450701100108648Fri, 05 Apr 2019 23:30:11 GMT\"0x8D6BA1EA5B61863\"5120share155450701385501557155450701420104340Fri, 05 Apr 2019 23:30:14 GMT\"0x8D6BA1EA79D9AE9\"5120share155450706323900994155450706341604230Fri, 05 Apr 2019 23:31:03 GMT\"0x8D6BA1EC4F33223\"5120share155450706962505626Fri, 05 Apr 2019 23:31:09 GMT\"0x8D6BA1EC8A805D2\"5120share155450714083700706Fri, 05 Apr 2019 23:32:20 GMT\"0x8D6BA1EF318A859\"5120share155450714464606306155450714499503777Fri, 05 Apr 2019 23:32:25 GMT\"0x8D6BA1EF592DF56\"5120share155450719315807925155450719333400088Fri, 05 Apr 2019 23:33:13 GMT\"0x8D6BA1F1263018A\"5120share155450720071105598Fri, 05 Apr 2019 23:33:20 GMT\"0x8D6BA1F16B4C180\"5120share155450720108704556155450720111104202Fri, 05 Apr 2019 23:33:21 GMT\"0x8D6BA1F16F1C9A7\"5120share155450721500304986155450721501401015Fri, 05 Apr 2019 23:33:35 GMT\"0x8D6BA1F1F3B0AC4\"5120share155450723565205687Fri, 05 Apr 2019 23:33:55 GMT\"0x8D6BA1F2B915C1A\"5120share155450723699404950155450723715203892Fri, 05 Apr 2019 23:33:57 GMT\"0x8D6BA1F2C75D972\"5120share155450725970402513Fri, 05 Apr 2019 23:34:19 GMT\"0x8D6BA1F39F24B22\"5120share155450726283508715155450726290803053Fri, 05 Apr 2019 23:34:22 GMT\"0x8D6BA1F3BCFD9DC\"5120share155450726513503694155450726563200936Fri, 05 Apr 2019 23:34:25 GMT\"0x8D6BA1F3D7AC203\"5120share155450727207609930Fri, 05 Apr 2019 23:34:32 GMT\"0x8D6BA1F41534271\"5120share155450727922609714155450727958205410Fri, 05 Apr 2019 23:34:39 GMT\"0x8D6BA1F45CC16E6\"5120share155450733725309323155450733743205575Fri, 05 Apr 2019 23:35:37 GMT\"0x8D6BA1F6846EA8D\"5120share155450734617001592155450734634609388Fri, 05 Apr 2019 23:35:46 GMT\"0x8D6BA1F6D9695C7\"5120share155450734842906139Fri, 05 Apr 2019 23:35:48 GMT\"0x8D6BA1F6ED3E9EB\"5120share155450742258608562Fri, 05 Apr 2019 23:37:02 GMT\"0x8D6BA1F9B09A541\"5120share155450742569208984155450742607303636Fri, 05 Apr 2019 23:37:06 GMT\"0x8D6BA1F9D1D3464\"5120share155450744472700868Fri, 05 Apr 2019 23:37:24 GMT\"0x8D6BA1FA82F5670\"5120share155450744593006925155450744607706074Fri, 05 Apr 2019 23:37:26 GMT\"0x8D6BA1FA8FC7868\"5120share155450747510800614155450747527906197Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA713357\"5120share155450747548302917Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA7F4359\"5120share155450747575808787155450747579202058Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBAAE83B9\"5120share155450747736603095Fri, 05 Apr 2019 23:37:57 GMT\"0x8D6BA1FBBAF6736\"5120share155450748251605008155450748258604151Fri, 05 Apr 2019 23:38:02 GMT\"0x8D6BA1FBEBF5C9B\"5120share155450749504400705155450749505903928Fri, 05 Apr 2019 23:38:15 GMT\"0x8D6BA1FC62A2BA2\"5120share155450760451008357Fri, 05 Apr 2019 23:40:04 GMT\"0x8D6BA2007A48FAD\"5120share155450760659201465155450760677709688Fri, 05 Apr 2019 23:40:06 GMT\"0x8D6BA2008C3F78F\"5120share155450763616301901155450763625402397Fri, 05 Apr 2019 23:40:36 GMT\"0x8D6BA201A5587BA\"5120share155450767398804735Fri, 05 Apr 2019 23:41:14 GMT\"0x8D6BA2030E0F998\"5120share155450767687501371155450767723001004Fri, 05 Apr 2019 23:41:17 GMT\"0x8D6BA2032CF2C21\"5120share155450768181709200Fri, 05 Apr 2019 23:41:21 GMT\"0x8D6BA203578C02D\"5120share155450768212709613155450768216705364Fri, 05 Apr 2019 23:41:22 GMT\"0x8D6BA2035AE5139\"5120share155450769705407367155450769707502753Fri, 05 Apr 2019 23:41:37 GMT\"0x8D6BA203E92115E\"5120share155450772138102188155450772155202852Fri, 05 Apr 2019 23:42:01 GMT\"0x8D6BA204D39B2D4\"5120share155450801204005122Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FA4F43AE\"5120share155450801255709661155450801263508848Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FAA8983A\"5120share155450802691409764Fri, 05 Apr 2019 23:47:07 GMT\"0x8D6BA21033DB1FF\"5120share155450802978608176155450803012905948Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA2105282DF6\"5120share155450803003906718155450803005501595Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA21050CE429\"5120share155450809390401175155450809407503147Fri, 05 Apr 2019 23:48:14 GMT\"0x8D6BA212B44E111\"5120share155450809631304992Fri, 05 Apr 2019 23:48:16 GMT\"0x8D6BA212C9A8C70\"5120share155450835062406317Fri, 05 Apr 2019 23:52:30 GMT\"0x8D6BA21C41F92FF\"5120share155450835114801235155450835119504382Fri, 05 Apr 2019 23:52:31 GMT\"0x8D6BA21C4752A4A\"5120share155450837123609062155450837126705425Fri, 05 Apr 2019 23:52:51 GMT\"0x8D6BA21D07164A3\"5120share155450840245807900Fri, 05 Apr 2019 23:53:22 GMT\"0x8D6BA21E317E558\"5120share155450840337301064155450840345909388Fri, 05 Apr 2019 23:53:23 GMT\"0x8D6BA21E39CD3E2\"5120share155450840768303182Fri, 05 Apr 2019 23:53:27 GMT\"0x8D6BA21E62882AB\"5120share155450841052005025155450841059707716Fri, 05 Apr 2019 23:53:30 GMT\"0x8D6BA21E7DD6900\"5120share155450841851004197Fri, 05 Apr 2019 23:53:38 GMT\"0x8D6BA21ECC11C45\"5120share155450842103808621155450842121207447Fri, 05 Apr 2019 23:53:41 GMT\"0x8D6BA21EE368AE8\"5120share155450842920007413155450842923904127Fri, 05 Apr 2019 23:53:49 GMT\"0x8D6BA21F2FA9CC4\"5120share155450843104607551155450843108509471Fri, 05 Apr 2019 23:53:51 GMT\"0x8D6BA21F413AFEC\"5120share155450844155207718Fri, 05 Apr 2019 23:54:01 GMT\"0x8D6BA21FA5815A9\"5120share155450844282908330155450844331103212Fri, 05 Apr 2019 23:54:03 GMT\"0x8D6BA21FB639CB6\"5120share155450844875104105155450844883200097Fri, 05 Apr 2019 23:54:08 GMT\"0x8D6BA21FEACF9CB\"5120share155450845060900434Fri, 05 Apr 2019 23:54:10 GMT\"0x8D6BA21FFBCFD3F\"5120share155450845196808630155450845212609494Fri, 05 Apr 2019 23:54:12 GMT\"0x8D6BA2200A3BDAF\"5120share155450846016604225Fri, 05 Apr 2019 23:54:20 GMT\"0x8D6BA22057F80F4\"5120share155450846187100703155450846204104941Fri, 05 Apr 2019 23:54:22 GMT\"0x8D6BA22068C649F\"5120share155450846856009396Fri, 05 Apr 2019 23:54:28 GMT\"0x8D6BA220A7BBF54\"5120share155450846936604658155450846944104091Fri, 05 Apr 2019 23:54:29 GMT\"0x8D6BA220AF68482\"5120share155450847116604019155450847149003909Fri, 05 Apr 2019 23:54:31 GMT\"0x8D6BA220C39EFB8\"5120share155450847641908239155450847649506792Fri, 05 Apr 2019 23:54:36 GMT\"0x8D6BA220F2B0EA4\"5120share155450849046701837155450849055008593Fri, 05 Apr 2019 23:54:50 GMT\"0x8D6BA22178AC280\"5120share155450850415909079Fri, 05 Apr 2019 23:55:04 GMT\"0x8D6BA221FB3AAB9\"5120share155450851125605816155450851158907529Fri, 05 Apr 2019 23:55:11 GMT\"0x8D6BA22242151E0\"5120share155450851537705193155450851553601973Fri, 05 Apr 2019 23:55:15 GMT\"0x8D6BA22267C4CE5\"5120share155450856236209066155450856252401476Fri, 05 Apr 2019 23:56:02 GMT\"0x8D6BA22427D2E00\"5120share155450862834406147Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269A65E65\"5120share155450862883803086155450862886608104Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269F5A23B\"5120share155450864251402420155450864252701754Fri, 05 Apr 2019 23:57:22 GMT\"0x8D6BA22721A880A\"5120share155450864903202606Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA2275FA1279\"5120share155450864954709486155450864958906033Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA22764EE2F0\"5120share155450866038209758Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CBDD706\"5120share155450866063104429155450866065900649Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CE83100\"5120share155450866548101600Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA227FC7B940\"5120share155450866584902851155450866589506222Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA2280078687\"5120share155450866820907466155450866822802518Fri, 05 Apr 2019 23:57:48 GMT\"0x8D6BA22816B2857\"5120share155450867294701404155450867296303231Fri, 05 Apr 2019 23:57:52 GMT\"0x8D6BA22843DBAEB\"5120share155450868069300530155450868071108529Fri, 05 Apr 2019 23:58:00 GMT\"0x8D6BA2288DC0D3B\"5120share155450868782705751Fri, 05 Apr 2019 23:58:07 GMT\"0x8D6BA228D180092\"5120share155450868808904026155450868812002523Fri, 05 Apr 2019 23:58:08 GMT\"0x8D6BA228D44C727\"5120share155450871227906499155450871229407636Fri, 05 Apr 2019 23:58:32 GMT\"0x8D6BA229BAD64DF\"5120share155450871361608008Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229C791D3B\"5120share155450871385801053155450871389501438Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229CA39DFC\"5120share155450873724609408Fri, 05 Apr 2019 23:58:57 GMT\"0x8D6BA22AA95EBE5\"5120share155450873839703983155450873841108209Fri, 05 Apr 2019 23:58:58 GMT\"0x8D6BA22AB408136\"5120share155450874069500459155450874084406201Fri, 05 Apr 2019 23:59:00 GMT\"0x8D6BA22ACBA5BA0\"5120share155450876383501957Fri, 05 Apr 2019 23:59:23 GMT\"0x8D6BA22BA6B0364\"5120share155450876420103676155450876424202873Fri, 05 Apr 2019 23:59:24 GMT\"0x8D6BA22BAA94C79\"5120share155450876624500743155450876631905818Fri, 05 Apr 2019 23:59:26 GMT\"0x8D6BA22BBEA05FA\"5120share155450877756001573155450877757609108Fri, 05 Apr 2019 23:59:37 GMT\"0x8D6BA22C29CC4C5\"5120share155450882020705387Sat, 06 Apr 2019 00:00:20 GMT\"0x8D6BA22DC1C7B9C\"5120share155450882137802100Sat, 06 Apr 2019 00:00:21 GMT\"0x8D6BA22DCD2061E\"5120share155450882195307893155450882213805256Sat, 06 Apr 2019 00:00:22 GMT\"0x8D6BA22DD2D9ECA\"5120share155450882311802623155450882330007566Sat, 06 Apr 2019 00:00:23 GMT\"0x8D6BA22DDDEDD23\"5120share155450882821300470Sat, 06 Apr 2019 00:00:28 GMT\"0x8D6BA22E0DF07E4\"5120share155450883001207093155450883019705028Sat, 06 Apr 2019 00:00:30 GMT\"0x8D6BA22E1FA959D\"5120share155450883989300008Sat, 06 Apr 2019 00:00:40 GMT\"0x8D6BA22E7D7D05F\"5120share155450884162700155155450884180600899Sat, 06 Apr 2019 00:00:41 GMT\"0x8D6BA22E8E8FF71\"5120share155450884268207091Sat, 06 Apr 2019 00:00:42 GMT\"0x8D6BA22E96E6A00\"5120share155450884356404649Sat, 06 Apr 2019 00:00:43 GMT\"0x8D6BA22E9F4B2C9\"5120share155450884498208133155450884512500427Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE362BF\"5120share155450884499902681155450884517006830Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE9C669\"5120share155450885006502697Sat, 06 Apr 2019 00:00:50 GMT\"0x8D6BA22EDD441D0\"5120share155450885123403166155450885138009119Sat, 06 Apr 2019 00:00:51 GMT\"0x8D6BA22EE9C855E\"5120share155450886053709029155450886062900785Sat, 06 Apr 2019 00:01:00 GMT\"0x8D6BA22F41E59AA\"5120share155450886352605826155450886361609698Sat, 06 Apr 2019 00:01:03 GMT\"0x8D6BA22F5E5BDEF\"5120share155450886885106257155450886894004615Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9152485\"5120share155450886979200994155450886987409280Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9A35201\"5120share155450887070605058155450887079709480Sat, 06 Apr 2019 00:01:10 GMT\"0x8D6BA22FA2DEE8F\"5120share155450887606108840155450887613402442Sat, 06 Apr 2019 00:01:16 GMT\"0x8D6BA22FD5FAA74\"5120share155450888143406931155450888150903424Sat, 06 Apr 2019 00:01:21 GMT\"0x8D6BA2300968F6A\"5120share155450895779305071Sat, 06 Apr 2019 00:02:37 GMT\"0x8D6BA232E0E05CE\"5120share155450895868406976155450895876908256Sat, 06 Apr 2019 00:02:38 GMT\"0x8D6BA232E9B57E4\"5120share155450898000001813Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233B47BB36\"5120share155450898063507347155450898067608520Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233BAA5F73\"5120share155450898125502623155450898141009080Sat, 06 Apr 2019 00:03:01 GMT\"0x8D6BA233C1EEFA4\"5120share155450900601408874155450900609504434Sat, 06 Apr 2019 00:03:26 GMT\"0x8D6BA234AD4C326\"5120share155450900703406798Sat, 06 Apr 2019 00:03:27 GMT\"0x8D6BA234B65E99F\"5120share155450900831008513155450900847507161Sat, 06 Apr 2019 00:03:28 GMT\"0x8D6BA234C410CF0\"5120share155450901777606467Sat, 06 Apr 2019 00:03:37 GMT\"0x8D6BA2351D7DB67\"5120share155450902063908068155450902099303010Sat, 06 Apr 2019 00:03:41 GMT\"0x8D6BA2353C27F44\"5120share155450905240000338155450905247805038Sat, 06 Apr 2019 00:04:12 GMT\"0x8D6BA23667B7ACC\"5120share155450905342403029Sat, 06 Apr 2019 00:04:13 GMT\"0x8D6BA23670BD557\"5120share155450905771401894Sat, 06 Apr 2019 00:04:17 GMT\"0x8D6BA2369922D87\"5120share155450905806600718155450905814001944Sat, 06 Apr 2019 00:04:18 GMT\"0x8D6BA2369D3DADF\"5120share155450907199909959155450907217402075Sat, 06 Apr 2019 00:04:32 GMT\"0x8D6BA2372444079\"5120share155450907299303524155450907301007717Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372AFED38\"5120share155450907320209730Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372CDC3C2\"5120share155450907429301310Sat, 06 Apr 2019 00:04:34 GMT\"0x8D6BA237386F930\"5120share155450918499009383Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B56FB9BC\"5120share155450918538502508155450918541508822Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B5B05ACA\"5120share155450918955508214Sat, 06 Apr 2019 00:06:29 GMT\"0x8D6BA23B828D8E1\"5120share155450919005601653155450919008702158Sat, 06 Apr 2019 00:06:30 GMT\"0x8D6BA23B87B8E05\"5120share155450919954305187155450919955905775Sat, 06 Apr 2019 00:06:39 GMT\"0x8D6BA23BE1F0A40\"5120share155450920152404636Sat, 06 Apr 2019 00:06:41 GMT\"0x8D6BA23BF4B17E9\"5120share155450920199201367155450920203905870Sat, 06 Apr 2019 00:06:42 GMT\"0x8D6BA23BF9A7486\"5120share155450920623205720155450920624702973Sat, 06 Apr 2019 00:06:46 GMT\"0x8D6BA23C21AC1E2\"5120share155450924082004282Sat, 06 Apr 2019 00:07:20 GMT\"0x8D6BA23D6BC0D50\"5120share155450924241004753155450924255406031Sat, 06 Apr 2019 00:07:22 GMT\"0x8D6BA23D7C6027C\"5120share155450924628704211155450924631809175Sat, 06 Apr 2019 00:07:26 GMT\"0x8D6BA23D9FEA927\"5120share155450925060607872Sat, 06 Apr 2019 00:07:30 GMT\"0x8D6BA23DC8D0299\"5120share155450927396309525155450927403505482Sat, 06 Apr 2019 00:07:54 GMT\"0x8D6BA23EA89D004\"5120share155450930131800809Sat, 06 Apr 2019 00:08:21 GMT\"0x8D6BA23FAC97B82\"5120share155450930223305549Sat, 06 Apr 2019 00:08:22 GMT\"0x8D6BA23FB6A1C88\"5120share155450930399707774155450930404407997Sat, 06 Apr 2019 00:08:24 GMT\"0x8D6BA23FC696BBF\"5120share155450930644903497155450930664407626Sat, 06 Apr 2019 00:08:26 GMT\"0x8D6BA23FDF86C39\"5120share155450932165308081155450932166908411Sat, 06 Apr 2019 00:08:41 GMT\"0x8D6BA2406EA8B70\"5120share155450932590204669Sat, 06 Apr 2019 00:08:45 GMT\"0x8D6BA24096F0B87\"5120share155450934809308249155450934819701838Sat, 06 Apr 2019 00:09:08 GMT\"0x8D6BA2416BC420A\"5120share155450936482907697Sat, 06 Apr 2019 00:09:24 GMT\"0x8D6BA2420A30B03\"5120share155450936723600352155450936728205502Sat, 06 Apr 2019 00:09:27 GMT\"0x8D6BA242219106F\"5120share155450938968201470155450938969801065Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F762161\"5120share155450938994808156Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F9C244A\"5120share155450940497500812Sat, 06 Apr 2019 00:10:05 GMT\"0x8D6BA2438A0813C\"5120share155450940788404093155450940823202737Sat, 06 Apr 2019 00:10:08 GMT\"0x8D6BA243A92205E\"5120share155450946766609807155450946784508785Sat, 06 Apr 2019 00:11:07 GMT\"0x8D6BA245E19BEB2\"5120share155450948165108070Sat, 06 Apr 2019 00:11:21 GMT\"0x8D6BA246649B23E\"5120share155450948277804103Sat, 06 Apr 2019 00:11:22 GMT\"0x8D6BA2466F099EF\"5120share155450948289903394155450948305505870Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA2467204A8D\"5120share155450948326908679155450948331603975Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA24674309DA\"5120share155450949731107750155450949732809022Sat, 06 Apr 2019 00:11:37 GMT\"0x8D6BA246F9D65C7\"5120share155450950843203078155450950850801708Sat, 06 Apr 2019 00:11:48 GMT\"0x8D6BA24764BB930\"5120share155450953189902571Sat, 06 Apr 2019 00:12:11 GMT\"0x8D6BA2484354864\"5120share155450953258300666155450953264607609Sat, 06 Apr 2019 00:12:12 GMT\"0x8D6BA2484A7702E\"5120share155450955735903361155450955739009034Sat, 06 Apr 2019 00:12:37 GMT\"0x8D6BA24936708EF\"5120share155450960711502044Sat, 06 Apr 2019 00:13:27 GMT\"0x8D6BA24B10EA364\"5120share155450960791406846155450960797603649Sat, 06 Apr 2019 00:13:28 GMT\"0x8D6BA24B1928131\"5120share155450962624205044155450962625707564Sat, 06 Apr 2019 00:13:46 GMT\"0x8D6BA24BC772178\"5120share155450967842007452Sat, 06 Apr 2019 00:14:38 GMT\"0x8D6BA24DB8C77C7\"5120share155450967919905734155450967927702876Sat, 06 Apr 2019 00:14:39 GMT\"0x8D6BA24DC0EF540\"5120share155450970297003568155450970300202266Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA32E63F\"5120share155450970326709180Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA5D2ABB\"5120share155450977967008646Sat, 06 Apr 2019 00:16:19 GMT\"0x8D6BA2517F39453\"5120share155450978396408978155450978431501712Sat, 06 Apr 2019 00:16:24 GMT\"0x8D6BA251AB90FA7\"5120share155450980055002844Sat, 06 Apr 2019 00:16:40 GMT\"0x8D6BA25248D32DD\"5120share155450980160103293155450980168109906Sat, 06 Apr 2019 00:16:41 GMT\"0x8D6BA252504B519\"5120share155450980240304921Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA252575098D\"5120share155450980285700319155450980290408762Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA2525C03A80\"5120share155450982099301254155450982103507530Sat, 06 Apr 2019 00:17:01 GMT\"0x8D6BA25308DFC9F\"5120share155450982239706333155450982242802612Sat, 06 Apr 2019 00:17:02 GMT\"0x8D6BA253161E133\"5120share155450982326409248Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA2531E1702E\"5120share155450982377200032155450982381908623Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA253235B775\"5120share155450983221207344155450983239108932Sat, 06 Apr 2019 00:17:12 GMT\"0x8D6BA25375FFDF8\"5120share155450984103402224155450984105001780Sat, 06 Apr 2019 00:17:21 GMT\"0x8D6BA253C7B623A\"5120share155450984926706623Sat, 06 Apr 2019 00:17:29 GMT\"0x8D6BA254167CF27\"5120share155450985060401468155450985076906420Sat, 06 Apr 2019 00:17:30 GMT\"0x8D6BA25424D06B7\"5120share155450987283404018Sat, 06 Apr 2019 00:17:52 GMT\"0x8D6BA254F6D3BD3\"5120share155450987324207460155450987328900070Sat, 06 Apr 2019 00:17:53 GMT\"0x8D6BA254FB23BEA\"5120share155450988425404386155450988434009985Sat, 06 Apr 2019 00:18:04 GMT\"0x8D6BA25564F576F\"5120share155450990977005805155450990980103826Sat, 06 Apr 2019 00:18:29 GMT\"0x8D6BA2565767B1F\"5120share155450991059304960Sat, 06 Apr 2019 00:18:30 GMT\"0x8D6BA2565EF5040\"5120share155450992091205316Sat, 06 Apr 2019 00:18:40 GMT\"0x8D6BA256C15A12E\"5120share155450992133707934155450992138405768Sat, 06 Apr 2019 00:18:41 GMT\"0x8D6BA256C5D5BE6\"5120share155450993652908385155450993654507033Sat, 06 Apr 2019 00:18:56 GMT\"0x8D6BA257568A573\"5120share155451001151002509Sat, 06 Apr 2019 00:20:11 GMT\"0x8D6BA25A216A444\"5120share155451001331709024155451001342603666Sat, 06 Apr 2019 00:20:13 GMT\"0x8D6BA25A33B3030\"5120share155451003402004419Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AF7D5D23\"5120share155451003447503066155451003449001699Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFCA6E52\"5120share155451003461203815155451003464101209Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFDC0A77\"5120share155451004913305591155451004914706703Sat, 06 Apr 2019 00:20:49 GMT\"0x8D6BA25B8815310\"5120share155451006286305875Sat, 06 Apr 2019 00:21:03 GMT\"0x8D6BA25C0C2AC3D\"5120share155451006587801793155451006655805276Sat, 06 Apr 2019 00:21:06 GMT\"0x8D6BA25C2F65D6A\"5120share155451007935501496Sat, 06 Apr 2019 00:21:19 GMT\"0x8D6BA25CA83F82F\"5120share155451008094100931155451008097909868Sat, 06 Apr 2019 00:21:20 GMT\"0x8D6BA25CB7B405F\"5120share155451009799605496155451009801500934Sat, 06 Apr 2019 00:21:38 GMT\"0x8D6BA25D5A2FE93\"5120share155451010434701890Sat, 06 Apr 2019 00:21:44 GMT\"0x8D6BA25D96B2BB1\"5120share155451010497507200155451010502204375Sat, 06 Apr 2019 00:21:45 GMT\"0x8D6BA25D9D0C00D\"5120share155451012085406616155451012088502597Sat, 06 Apr 2019 00:22:00 GMT\"0x8D6BA25E3447924\"5120share155451012285704842155451012303302464Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E49FB50A\"5120share155451012387505140Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E51229CB\"5120share155451012515600375Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5E37446\"5120share155451012525500379Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5F3B302\"5120share155451013078900595155451013114407433Sat, 06 Apr 2019 00:22:11 GMT\"0x8D6BA25E975BF7D\"5120share155451015216004737Sat, 06 Apr 2019 00:22:32 GMT\"0x8D6BA25F606E077\"5120share155451016043402131155451016065606655Sat, 06 Apr 2019 00:22:40 GMT\"0x8D6BA25FB00E780\"5120share155451019103604148Sat, 06 Apr 2019 00:23:11 GMT\"0x8D6BA260D2905C6\"5120share155451019400305212155451019445908505Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F336BC3\"5120share155451019474708654155451019483801215Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F604E98\"5120share155451024414405592155451024432401508Sat, 06 Apr 2019 00:24:04 GMT\"0x8D6BA262CEE5C5A\"5120share155451024648109782Sat, 06 Apr 2019 00:24:06 GMT\"0x8D6BA262E364BFA\"5120share155451026312808867Sat, 06 Apr 2019 00:24:23 GMT\"0x8D6BA263819560F\"5120share155451026594805847155451026630100644Sat, 06 Apr 2019 00:24:26 GMT\"0x8D6BA263A03DD68\"5120share155451027535308543Sat, 06 Apr 2019 00:24:35 GMT\"0x8D6BA263F5E1C93\"5120share155451027671107727155451027693505092Sat, 06 Apr 2019 00:24:36 GMT\"0x8D6BA26404F9858\"5120share155451030987309732155451030994904457Sat, 06 Apr 2019 00:25:10 GMT\"0x8D6BA2653FCB879\"5120share155451031458704130155451031476206543Sat, 06 Apr 2019 00:25:14 GMT\"0x8D6BA2656E64927\"5120share155451033026507785155451033046408034Sat, 06 Apr 2019 00:25:30 GMT\"0x8D6BA266042FECB\"5120share155451033290203875Sat, 06 Apr 2019 00:25:33 GMT\"0x8D6BA2661B6D672\"5120share155451039774203928Sat, 06 Apr 2019 00:26:37 GMT\"0x8D6BA26885D80E0\"5120share155451040675108359155451040711307532Sat, 06 Apr 2019 00:26:47 GMT\"0x8D6BA268DF41351\"5120share155451044021806016Sat, 06 Apr 2019 00:27:20 GMT\"0x8D6BA26A19C5201\"5120share155451044457806734155451044462505131Sat, 06 Apr 2019 00:27:24 GMT\"0x8D6BA26A43D1239\"5120share155451046010701737155451046028403533Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADA4C4A5\"5120share155451046052208614155451046053805603Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADB9B622\"5120share155451053178206847Sat, 06 Apr 2019 00:28:51 GMT\"0x8D6BA26D842A55A\"5120share155451053666705392155451053702506968Sat, 06 Apr 2019 00:28:57 GMT\"0x8D6BA26DB62BDD5\"5120share155451058205803975155451058223403053Sat, 06 Apr 2019 00:29:42 GMT\"0x8D6BA26F654675F\"5120share155451060995602506Sat, 06 Apr 2019 00:30:09 GMT\"0x8D6BA2706C9A66E\"5120share155451061041100503155451061045903286Sat, 06 Apr 2019 00:30:10 GMT\"0x8D6BA270716A7C2\"5120share155451061899608264Sat, 06 Apr 2019 00:30:19 GMT\"0x8D6BA270C3E72F4\"5120share155451062180801032155451062216207210Sat, 06 Apr 2019 00:30:22 GMT\"0x8D6BA270E371CFB\"5120share155451062599208929155451062602402703Sat, 06 Apr 2019 00:30:26 GMT\"0x8D6BA27105DB358\"5120share155451065149503106Sat, 06 Apr 2019 00:30:51 GMT\"0x8D6BA271F9DF425\"5120share155451065440007212155451065475805277Sat, 06 Apr 2019 00:30:54 GMT\"0x8D6BA27218EBAA7\"5120share155451067046206752155451067063709328Sat, 06 Apr 2019 00:31:10 GMT\"0x8D6BA272B05F0AB\"5120share155451067351206150Sat, 06 Apr 2019 00:31:13 GMT\"0x8D6BA272CBC787A\"5120share155451069512502349Sat, 06 Apr 2019 00:31:35 GMT\"0x8D6BA27399F8CE9\"5120share155451069801607826155451069838102692Sat, 06 Apr 2019 00:31:38 GMT\"0x8D6BA273B8F91C6\"5120share155451071238103796155451071255407273Sat, 06 Apr 2019 00:31:52 GMT\"0x8D6BA274400B20F\"5120share155451074926809802155451074945008417Sat, 06 Apr 2019 00:32:29 GMT\"0x8D6BA275A00C68D\"5120share155451081018006165Sat, 06 Apr 2019 00:33:30 GMT\"0x8D6BA277E323318\"5120share155451081825002323155451081865306002Sat, 06 Apr 2019 00:33:38 GMT\"0x8D6BA27833EA922\"5120share155451087278806395155451087296101648Sat, 06 Apr 2019 00:34:33 GMT\"0x8D6BA27A39DA7AE\"5120share155451091917101975Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF194E41\"5120share155451091975006455155451091979708946Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF7783A5\"5120share155451093201009705Sat, 06 Apr 2019 00:35:32 GMT\"0x8D6BA27C6D1EEBA\"5120share155451093563503307155451093598603844Sat, 06 Apr 2019 00:35:36 GMT\"0x8D6BA27C93050B6\"5120share155451094024104628155451094025709756Sat, 06 Apr 2019 00:35:40 GMT\"0x8D6BA27CBA9E989\"5120share155451094222108360Sat, 06 Apr 2019 00:35:42 GMT\"0x8D6BA27CCE6E2AE\"5120share155451095174303054Sat, 06 Apr 2019 00:35:51 GMT\"0x8D6BA27D293DAE5\"5120share155451096975508163155451097010409134Sat, 06 Apr 2019 00:36:10 GMT\"0x8D6BA27DD8557B2\"5120share155451100262501336155451100279500059Sat, 06 Apr 2019 00:36:42 GMT\"0x8D6BA27F1023A5B\"5120share155451101045503556Sat, 06 Apr 2019 00:36:50 GMT\"0x8D6BA27F5925154\"5120share155451101779403542Sat, 06 Apr 2019 00:36:57 GMT\"0x8D6BA27F9F0E2AC\"5120share155451102398103108155451102432601506Sat, 06 Apr 2019 00:37:04 GMT\"0x8D6BA27FDD5B5CD\"5120share155451103057604216155451103077302829Sat, 06 Apr 2019 00:37:10 GMT\"0x8D6BA2801AE1B69\"5120share155451107565307966155451107582903915Sat, 06 Apr 2019 00:37:55 GMT\"0x8D6BA281C81B459\"5120share155451107800700624Sat, 06 Apr 2019 00:37:58 GMT\"0x8D6BA281DD4A225\"5120share155451126138807949Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B1534BE\"5120share155451126184309606155451126189002896Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B6050DF\"5120share155451128370804279155451128372404816Sat, 06 Apr 2019 00:41:23 GMT\"0x8D6BA289862C628\"5120share155451152420208713Sat, 06 Apr 2019 00:45:24 GMT\"0x8D6BA2927C9F8B5\"5120share155451152742606446155451152779007713Sat, 06 Apr 2019 00:45:27 GMT\"0x8D6BA2929ED230E\"5120share155451157395300009155451157412506533Sat, 06 Apr 2019 00:46:14 GMT\"0x8D6BA29458B232D\"5120share155451187530500180Sat, 06 Apr 2019 00:51:15 GMT\"0x8D6BA29F90FCDB8\"5120share155451187884703798155451187920608231Sat, 06 Apr 2019 00:51:19 GMT\"0x8D6BA29FB62AF79\"5120share155451192903001020155451192920801667Sat, 06 Apr 2019 00:52:09 GMT\"0x8D6BA2A19307FA2\"5120share155451219945604870Sat, 06 Apr 2019 00:56:39 GMT\"0x8D6BA2ABA44B832\"5120share155451220515403772155451220563409688Sat, 06 Apr 2019 00:56:45 GMT\"0x8D6BA2ABDF348B2\"5120share155451225732003773155451225782103672Sat, 06 Apr 2019 00:57:37 GMT\"0x8D6BA2ADD0DFEA0\"5120share155452505698609307Sat, 06 Apr 2019 04:30:57 GMT\"0x8D6BA48A9F5DE57\"5120share155452506110609930155452506145800907Sat, 06 Apr 2019 04:31:01 GMT\"0x8D6BA48ACA0E8F8\"5120share155452513264602392155452513309504994Sat, 06 Apr 2019 04:32:13 GMT\"0x8D6BA48D79F82A6\"5120share155452543747102987Sat, 06 Apr 2019 04:37:17 GMT\"0x8D6BA498CBEAA1B\"5120share155452544135102672155452544170203677Sat, 06 Apr 2019 04:37:21 GMT\"0x8D6BA498F43FB3B\"5120share155452550801609564155452550819303558Sat, 06 Apr 2019 04:38:28 GMT\"0x8D6BA49B6E5E139\"5120share155454851835207560Sat, 06 Apr 2019 11:01:58 GMT\"0x8D6BA7F4A19677D\"5120share155454851991506574155454852000406631Sat, 06 Apr 2019 11:02:00 GMT\"0x8D6BA7F4AF0A38D\"5120share155454854416906947155454854421503134Sat, 06 Apr 2019 11:02:24 GMT\"0x8D6BA7F595F9CD8\"5120share155454856025203639Sat, 06 Apr 2019 11:02:40 GMT\"0x8D6BA7F62F33568\"5120share155454856374007043155454856420309335Sat, 06 Apr 2019 11:02:44 GMT\"0x8D6BA7F6571B186\"5120share155454863664803017155454863675304589Sat, 06 Apr 2019 11:03:58 GMT\"0x8D6BA7F91B54D0B\"5120share155454912150008169Sat, 06 Apr 2019 11:12:01 GMT\"0x8D6BA80B1733B1B\"5120share155454912228807007155454912232402707Sat, 06 Apr 2019 11:12:02 GMT\"0x8D6BA80B1F0CB36\"5120share155454913968401147155454913969709976Sat, 06 Apr 2019 11:12:19 GMT\"0x8D6BA80BC4BC1C8\"5120share155454926160403595Sat, 06 Apr 2019 11:14:21 GMT\"0x8D6BA81050A4FBB\"5120share155454926433302536155454926451103683Sat, 06 Apr 2019 11:14:24 GMT\"0x8D6BA8106B9DBA1\"5120share155454931280409044155454931334904873Sat, 06 Apr 2019 11:15:13 GMT\"0x8D6BA8123FE09BD\"5120share155454933450607945Sat, 06 Apr 2019 11:15:34 GMT\"0x8D6BA813098712B\"5120share155454933671902848155454933688908536Sat, 06 Apr 2019 11:15:36 GMT\"0x8D6BA8131D928E7\"5120share155454936568509955155454936576802176Sat, 06 Apr 2019 11:16:05 GMT\"0x8D6BA81430FF71B\"5120share155454960213904133Sat, 06 Apr 2019 11:20:03 GMT\"0x8D6BA81D0FF2B38\"5120share155454960927909543155454960991001612Sat, 06 Apr 2019 11:20:09 GMT\"0x8D6BA81D49808FE\"5120share155454966009002609155454966016603370Sat, 06 Apr 2019 11:21:00 GMT\"0x8D6BA81F28BD0E3\"5120share155455002704708537Sat, 06 Apr 2019 11:27:07 GMT\"0x8D6BA82CD34741E\"5120share155455002903800007155455003017403219Sat, 06 Apr 2019 11:27:10 GMT\"0x8D6BA82CF125048\"5120share155455006267108464155455006268701770Sat, 06 Apr 2019 11:27:42 GMT\"0x8D6BA82E273923F\"5120share155455037679603457Sat, 06 Apr 2019 11:32:56 GMT\"0x8D6BA839DAF3E6C\"5120share155455037983204788155455037987900489Sat, 06 Apr 2019 11:33:00 GMT\"0x8D6BA839F95A777\"5120share155455040595703142155455040597208498Sat, 06 Apr 2019 11:33:26 GMT\"0x8D6BA83AF12FF0F\"5120share155455072732002603Sat, 06 Apr 2019 11:38:47 GMT\"0x8D6BA846E9C4E9D\"5120share155455073081809895155455073086206096Sat, 06 Apr 2019 11:38:50 GMT\"0x8D6BA8470B704B1\"5120share155455075763207537155455075766305509Sat, 06 Apr 2019 11:39:17 GMT\"0x8D6BA8480B04FE4\"5120share155455102062606131Sat, 06 Apr 2019 11:43:40 GMT\"0x8D6BA851D7C3230\"5120share155455102361801934155455102394805763Sat, 06 Apr 2019 11:43:44 GMT\"0x8D6BA851F770C29\"5120share155455107457700114155455107474000652Sat, 06 Apr 2019 11:44:34 GMT\"0x8D6BA853DBD1411\"5120share155455133006908547Sat, 06 Apr 2019 11:48:50 GMT\"0x8D6BA85D5EB98F7\"5120share155455133279009813155455133361801233Sat, 06 Apr 2019 11:48:53 GMT\"0x8D6BA85D80A2CF8\"5120share155455139513901690155455139530102243Sat, 06 Apr 2019 11:49:55 GMT\"0x8D6BA85FCCC3693\"5120share155455164872603077Sat, 06 Apr 2019 11:54:08 GMT\"0x8D6BA8693DC07CC\"5120share155455165151009405155455165183509790Sat, 06 Apr 2019 11:54:11 GMT\"0x8D6BA8695B65D2B\"5120share155455170470509656155455170486300406Sat, 06 Apr 2019 11:55:04 GMT\"0x8D6BA86B550F686\"5120share155456291103108645Sat, 06 Apr 2019 15:01:51 GMT\"0x8D6BAA0CCB4D2E2\"5120share155456291365506380155456291374109855Sat, 06 Apr 2019 15:01:53 GMT\"0x8D6BAA0CE464446\"5120share155456293709907330155456293714005519Sat, 06 Apr 2019 15:02:17 GMT\"0x8D6BAA0DC390444\"5120share155456294559204683Sat, 06 Apr 2019 15:02:25 GMT\"0x8D6BAA0E14877DB\"5120share155456296486809631155456297245203735Sat, 06 Apr 2019 15:02:52 GMT\"0x8D6BAA0F17779CF\"5120share155456305871209606155456305879302124Sat, 06 Apr 2019 15:04:20 GMT\"0x8D6BAA125F07843\"5120share155456314143103789Sat, 06 Apr 2019 15:05:41 GMT\"0x8D6BAA155FBBE27\"5120share155456314336103571155456314749309901Sat, 06 Apr 2019 15:05:47 GMT\"0x8D6BAA159999031\"5120share155456316334404827155456316335906378Sat, 06 Apr 2019 15:06:03 GMT\"0x8D6BAA1630E3598\"5120share155456326179402090Sat, 06 Apr 2019 15:07:42 GMT\"0x8D6BAA19DFB7C6A\"5120share155456326397304242155456326415604577Sat, 06 Apr 2019 15:07:44 GMT\"0x8D6BAA19F25D734\"5120share155456329369701279155456329378504366Sat, 06 Apr 2019 15:08:13 GMT\"0x8D6BAA1B0D0D651\"5120share155456330364409045Sat, 06 Apr 2019 15:08:23 GMT\"0x8D6BAA1B6B2CD98\"5120share155456330666705978155456330683803375Sat, 06 Apr 2019 15:08:26 GMT\"0x8D6BAA1B89A16F1\"5120share155456335030501527155456335038302819Sat, 06 Apr 2019 15:09:10 GMT\"0x8D6BAA1D28E562B\"5120share155456356368008804Sat, 06 Apr 2019 15:12:43 GMT\"0x8D6BAA251C17F8D\"5120share155456356557907464155456356574100518Sat, 06 Apr 2019 15:12:45 GMT\"0x8D6BAA252EBFAC4\"5120share155456361116402960155456361124207850Sat, 06 Apr 2019 15:13:31 GMT\"0x8D6BAA26E0A1CA8\"5120share155456390636203241Sat, 06 Apr 2019 15:18:26 GMT\"0x8D6BAA31DEBCDB0\"5120share155456390705601565155456390711901935Sat, 06 Apr 2019 15:18:27 GMT\"0x8D6BAA31E5E4748\"5120share155456393417709590155456393420808701Sat, 06 Apr 2019 15:18:54 GMT\"0x8D6BAA32E84237D\"5120share155456424217209961Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E61500A8\"5120share155456424278208936155456424284407266Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E67AB1A3\"5120share155456427211205549155456427214304496Sat, 06 Apr 2019 15:24:32 GMT\"0x8D6BAA3F7F20D47\"5120share155456458404204500Sat, 06 Apr 2019 15:29:44 GMT\"0x8D6BAA4B24CBF76\"5120share155456458547707918155456458552404411Sat, 06 Apr 2019 15:29:45 GMT\"0x8D6BAA4B2BB862F\"5120share155456460765406585155456460766908685Sat, 06 Apr 2019 15:30:07 GMT\"0x8D6BAA4BFFF1981\"5120share155456482465103461Sat, 06 Apr 2019 15:33:44 GMT\"0x8D6BAA541550649\"5120share155456482775006921155456482810700538Sat, 06 Apr 2019 15:33:48 GMT\"0x8D6BAA543636C8E\"5120share155456487704408556155456487721609007Sat, 06 Apr 2019 15:34:37 GMT\"0x8D6BAA560A9C832\"5120share155456514392700848Sat, 06 Apr 2019 15:39:04 GMT\"0x8D6BAA5FFA2DBB2\"5120share155456514730004864155456514765000848Sat, 06 Apr 2019 15:39:07 GMT\"0x8D6BAA601DAC90B\"5120share155456520851004581155456520868606444Sat, 06 Apr 2019 15:40:08 GMT\"0x8D6BAA6263B64FB\"5120share155456546078104638Sat, 06 Apr 2019 15:44:20 GMT\"0x8D6BAA6BC7EC485\"5120share155456546379202191155456546415004803Sat, 06 Apr 2019 15:44:24 GMT\"0x8D6BAA6BE80FE20\"5120share155456552100308222155456552118109485Sat, 06 Apr 2019 15:45:21 GMT\"0x8D6BAA6E07EA3E7\"5120share155457982586404577Sat, 06 Apr 2019 19:43:46 GMT\"0x8D6BAC82F06C604\"5120share155457982895209863Sat, 06 Apr 2019 19:43:49 GMT\"0x8D6BAC830B0EE27\"5120share155457983004307662155457983013006641Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC8313A9F6D\"5120share155457983034605061155457983042907122Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC831687914\"5120share155457984096304815Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC837B800A3\"5120share155457984173004573155457984181103859Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC8382FCF4E\"5120share155457985251106506155457985255200019Sat, 06 Apr 2019 19:44:12 GMT\"0x8D6BAC83E977E11\"5120share155457985352004043Sat, 06 Apr 2019 19:44:13 GMT\"0x8D6BAC83F308A2E\"5120share155457985759203693155457985763202694Sat, 06 Apr 2019 19:44:17 GMT\"0x8D6BAC8419E8708\"5120share155457985858407808155457985874206967Sat, 06 Apr 2019 19:44:18 GMT\"0x8D6BAC8424DC6E7\"5120share155457986070109185Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC84378C35C\"5120share155457986084203249155457986088206247Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC8438DCAFB\"5120share155457986667402248155457986683304389Sat, 06 Apr 2019 19:44:26 GMT\"0x8D6BAC8471F8EC3\"5120share155457988211302188Sat, 06 Apr 2019 19:44:42 GMT\"0x8D6BAC8503B5D5B\"5120share155457988657106116155457988672406764Sat, 06 Apr 2019 19:44:46 GMT\"0x8D6BAC852FAA3CB\"5120share155457991716301226155457991723809979Sat, 06 Apr 2019 19:45:17 GMT\"0x8D6BAC8652A9515\"5120share155457992830806739155457992838808802Sat, 06 Apr 2019 19:45:28 GMT\"0x8D6BAC86BD00E83\"5120share155457993006407987155457993013800523Sat, 06 Apr 2019 19:45:30 GMT\"0x8D6BAC86CDBF17B\"5120share155458006152502178Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB245AB2\"5120share155458006186305147155458006188804437Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB5BDA66\"5120share155458006815304344Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF182EA3\"5120share155458006841500789155458006844408143Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF44D44C\"5120share155458007310109701Sat, 06 Apr 2019 19:47:53 GMT\"0x8D6BAC8C20A6A25\"5120share155458007402802136155458007406500109Sat, 06 Apr 2019 19:47:54 GMT\"0x8D6BAC8C29DD3C2\"5120share155458007691004618155458007692300930Sat, 06 Apr 2019 19:47:56 GMT\"0x8D6BAC8C4519872\"5120share155458008613907463155458008615102861Sat, 06 Apr 2019 19:48:06 GMT\"0x8D6BAC8C9D2A25A\"5120share155458008826101632155458008827508306Sat, 06 Apr 2019 19:48:08 GMT\"0x8D6BAC8CB1643CF\"5120share155458014101009988Sat, 06 Apr 2019 19:49:01 GMT\"0x8D6BAC8EA8C6116\"5120share155458014235102252155458014250500129Sat, 06 Apr 2019 19:49:02 GMT\"0x8D6BAC8EB7022BC\"5120share155458015065204785Sat, 06 Apr 2019 19:49:10 GMT\"0x8D6BAC8F04B6245\"5120share155458015190606244155458015235108989Sat, 06 Apr 2019 19:49:12 GMT\"0x8D6BAC8F14EC812\"5120share155458015912000641Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F54FD2BF\"5120share155458015954701668155458015960006118Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F5991DFB\"5120share155458017311406556Sat, 06 Apr 2019 19:49:33 GMT\"0x8D6BAC8FDD44158\"5120share155458017502707203155458017520806739Sat, 06 Apr 2019 19:49:35 GMT\"0x8D6BAC8FEECDAA4\"5120share155458018062700692155458018064406305Sat, 06 Apr 2019 19:49:40 GMT\"0x8D6BAC90223AD3D\"5120share155458018255202912155458018262607543Sat, 06 Apr 2019 19:49:42 GMT\"0x8D6BAC9035A963E\"5120share155458018446401092Sat, 06 Apr 2019 19:49:44 GMT\"0x8D6BAC9048A9A28\"5120share155458018639607522155458018647205168Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905A4A03A\"5120share155458018651709847155458018670403556Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905C6C316\"5120share155458018905808134Sat, 06 Apr 2019 19:49:49 GMT\"0x8D6BAC90745C0AB\"5120share155458019083402862155458019101607549Sat, 06 Apr 2019 19:49:51 GMT\"0x8D6BAC9085921C4\"5120share155458020474801587155458020483701287Sat, 06 Apr 2019 19:50:04 GMT\"0x8D6BAC910954F65\"5120share155458021677705412155458021686508820Sat, 06 Apr 2019 19:50:16 GMT\"0x8D6BAC917C0BA92\"5120share155458022255403756155458022264606904Sat, 06 Apr 2019 19:50:22 GMT\"0x8D6BAC91B330179\"5120share155458035799600985Sat, 06 Apr 2019 19:52:38 GMT\"0x8D6BAC96BE13B37\"5120share155458035959302421155458035975506801Sat, 06 Apr 2019 19:52:39 GMT\"0x8D6BAC96CED2845\"5120share155458038999101821155458039006205821Sat, 06 Apr 2019 19:53:10 GMT\"0x8D6BAC97EFDC8C7\"5120share155458039197306757Sat, 06 Apr 2019 19:53:11 GMT\"0x8D6BAC98019052A\"5120share155458039235409027155458039240007658Sat, 06 Apr 2019 19:53:12 GMT\"0x8D6BAC98059AA63\"5120share155458041594507958Sat, 06 Apr 2019 19:53:35 GMT\"0x8D6BAC98E61B10E\"5120share155458041624503349155458041700409251Sat, 06 Apr 2019 19:53:37 GMT\"0x8D6BAC98F0326CA\"5120share155458042414602394155458042416208280Sat, 06 Apr 2019 19:53:44 GMT\"0x8D6BAC993487273\"5120share155458044008906271155458044010601423Sat, 06 Apr 2019 19:54:00 GMT\"0x8D6BAC99CC83FC7\"5120share155458071334509447Sat, 06 Apr 2019 19:58:33 GMT\"0x8D6BACA3FA8FF44\"5120share155458071605707178155458071610409296Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA414C424C\"5120share155458071612107980Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA4152C3C2\"5120share155458071677203776155458071680408599Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA41BB0E81\"5120share155458072009502050Sat, 06 Apr 2019 19:58:40 GMT\"0x8D6BACA43B031EA\"5120share155458072094509702155458072099206957Sat, 06 Apr 2019 19:58:41 GMT\"0x8D6BACA44380FE8\"5120share155458073543006878155458073544508077Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CD4E02B\"5120share155458073563000516155458073564602564Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CF58E47\"5120share155458074693207901155458074696307244Sat, 06 Apr 2019 19:59:06 GMT\"0x8D6BACA53B06581\"5120share155458102730709783Sat, 06 Apr 2019 20:03:47 GMT\"0x8D6BACAFACB81F1\"5120share155458102868202572155458102871409986Sat, 06 Apr 2019 20:03:48 GMT\"0x8D6BACAFBA2E15D\"5120share155458104633001221Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB06231A4E\"5120share155458104667302506155458104672106680Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB065D6388\"5120share155458104813808363155458104815404525Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB0738F2A1\"5120share155458104870802288Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB078DCFAB\"5120share155458104914903079155458104919602010Sat, 06 Apr 2019 20:04:09 GMT\"0x8D6BACB07D61BEF\"5120share155458106288101112155458106289700342Sat, 06 Apr 2019 20:04:22 GMT\"0x8D6BACB100374B8\"5120share155458106650506749155458106652108155Sat, 06 Apr 2019 20:04:26 GMT\"0x8D6BACB122B752A\"5120share155458133184000378Sat, 06 Apr 2019 20:08:51 GMT\"0x8D6BACBB05075D8\"5120share155458133237405814155458133243702319Sat, 06 Apr 2019 20:08:52 GMT\"0x8D6BACBB0AD6CF8\"5120share155458135318509099155458135320106042Sat, 06 Apr 2019 20:09:13 GMT\"0x8D6BACBBD0CD3EE\"5120share155458137219602215Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC85F8649\"5120share155458137264904053155458137284004781Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC8C02510\"5120share155458139529801458155458139532905081Sat, 06 Apr 2019 20:09:55 GMT\"0x8D6BACBD628A6F5\"5120share155458143191307130Sat, 06 Apr 2019 20:10:31 GMT\"0x8D6BACBEBF72FED\"5120share155458143725704549155458143733108923Sat, 06 Apr 2019 20:10:37 GMT\"0x8D6BACBEF3235D6\"5120share155458145614707996155458145617801962Sat, 06 Apr 2019 20:10:56 GMT\"0x8D6BACBFA6C641E\"5120share155458157026004284Sat, 06 Apr 2019 20:12:50 GMT\"0x8D6BACC3E7D2E73\"5120share155458157513606057155458157549200058Sat, 06 Apr 2019 20:12:55 GMT\"0x8D6BACC419AACAA\"5120share155458161551504918Sat, 06 Apr 2019 20:13:35 GMT\"0x8D6BACC5975976A\"5120share155458161852508767155458161888204990Sat, 06 Apr 2019 20:13:39 GMT\"0x8D6BACC5B77718A\"5120share155458163270608429155458163288707708Sat, 06 Apr 2019 20:13:53 GMT\"0x8D6BACC63D077C5\"5120share155458166740801992155458166758400322Sat, 06 Apr 2019 20:14:27 GMT\"0x8D6BACC787E2CBC\"5120share155458167410204473Sat, 06 Apr 2019 20:14:34 GMT\"0x8D6BACC7C6268AB\"5120share155458167745609182155458167783502969Sat, 06 Apr 2019 20:14:37 GMT\"0x8D6BACC7E9B98C5\"5120share155458172754102886155458172771207718Sat, 06 Apr 2019 20:15:27 GMT\"0x8D6BACC9C55C2B9\"5120share155458172981008762Sat, 06 Apr 2019 20:15:29 GMT\"0x8D6BACC9D95FF89\"5120share155458194149704710Sat, 06 Apr 2019 20:19:01 GMT\"0x8D6BACD1BC47F5F\"5120share155458194536607732155458194571702324Sat, 06 Apr 2019 20:19:05 GMT\"0x8D6BACD1E4806C2\"5120share155458197308200274Sat, 06 Apr 2019 20:19:33 GMT\"0x8D6BACD2E9741B8\"5120share155458197591001668155458197626104855Sat, 06 Apr 2019 20:19:36 GMT\"0x8D6BACD307C412D\"5120share155458199527007624155458199545704317Sat, 06 Apr 2019 20:19:55 GMT\"0x8D6BACD3BED41C6\"5120share155458202598109235155458202659403874Sat, 06 Apr 2019 20:20:26 GMT\"0x8D6BACD4E7C35E1\"5120share155458206169602649Sat, 06 Apr 2019 20:21:01 GMT\"0x8D6BACD636BD2BB\"5120share155458206454303760155458206491202053Sat, 06 Apr 2019 20:21:05 GMT\"0x8D6BACD6555FC37\"5120share155458211197207585155458211214304698Sat, 06 Apr 2019 20:21:52 GMT\"0x8D6BACD817C81F1\"5120share155458230574404260Sat, 06 Apr 2019 20:25:05 GMT\"0x8D6BACDF4DE1EAA\"5120share155458230851000916155458230885607635Sat, 06 Apr 2019 20:25:08 GMT\"0x8D6BACDF6B8F6B6\"5120share155458232013504419Sat, 06 Apr 2019 20:25:20 GMT\"0x8D6BACDFD730512\"5120share155458232597200069155458232631800473Sat, 06 Apr 2019 20:25:26 GMT\"0x8D6BACE015C4984\"5120share155458235978104772155458235995602616Sat, 06 Apr 2019 20:26:00 GMT\"0x8D6BACE152F2C77\"5120share155458238152204275155458238169302315Sat, 06 Apr 2019 20:26:21 GMT\"0x8D6BACE22234B1D\"5120share155458246813501241Sat, 06 Apr 2019 20:27:48 GMT\"0x8D6BACE55AA8392\"5120share155458247096107198155458247130607430Sat, 06 Apr 2019 20:27:51 GMT\"0x8D6BACE578E5D67\"5120share155458252434803407155458252452009632Sat, 06 Apr 2019 20:28:44 GMT\"0x8D6BACE77450DDD\"5120share155463491867809931Sun, 07 Apr 2019 11:01:59 GMT\"0x8D6BB4874C1FA32\"5120share155463492805505485155463492814004375Sun, 07 Apr 2019 11:02:08 GMT\"0x8D6BB487A32EA36\"5120share155463495415400624Sun, 07 Apr 2019 11:02:34 GMT\"0x8D6BB4889FB36E2\"5120share155463495863003716155463495867103980Sun, 07 Apr 2019 11:02:38 GMT\"0x8D6BB488C65A2A9\"5120share155463496549001120155463496566809518Sun, 07 Apr 2019 11:02:45 GMT\"0x8D6BB489096CC90\"5120share155463510566206731155463512465407451Sun, 07 Apr 2019 11:05:26 GMT\"0x8D6BB48F0B165EF\"5120share155463540364902833Sun, 07 Apr 2019 11:10:03 GMT\"0x8D6BB49959E6F6C\"5120share155463540439609115155463540442904248Sun, 07 Apr 2019 11:10:04 GMT\"0x8D6BB4996153B3E\"5120share155463542848406129155463542849807262Sun, 07 Apr 2019 11:10:28 GMT\"0x8D6BB49A46DA670\"5120share155463565576604805Sun, 07 Apr 2019 11:14:15 GMT\"0x8D6BB4A2BE4C75B\"5120share155463565789508788155463565794000776Sun, 07 Apr 2019 11:14:18 GMT\"0x8D6BB4A2D664C95\"5120share155463571312806839Sun, 07 Apr 2019 11:15:13 GMT\"0x8D6BB4A4E324D5F\"5120share155463571500609630155463571519400757Sun, 07 Apr 2019 11:15:15 GMT\"0x8D6BB4A4F562BB4\"5120share155463572717801277155463572720009526Sun, 07 Apr 2019 11:15:31 GMT\"0x8D6BB4A593E4806\"5120share155463574903407014155463574912207563Sun, 07 Apr 2019 11:15:49 GMT\"0x8D6BB4A638F50FD\"5120share155463593650002394Sun, 07 Apr 2019 11:18:56 GMT\"0x8D6BB4AD35DE04B\"5120share155463593894103435155463594176804206Sun, 07 Apr 2019 11:19:07 GMT\"0x8D6BB4ADA0C57A9\"5120share155463599400903836155463599403308912Sun, 07 Apr 2019 11:19:54 GMT\"0x8D6BB4AF583B2DB\"5120share155463628106804246Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA09C1EE3\"5120share155463628181805431155463628188001817Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA1175DD3\"5120share155463632163502826155463632187607182Sun, 07 Apr 2019 11:25:22 GMT\"0x8D6BB4BB9036F9B\"5120share155463662044706147Sun, 07 Apr 2019 11:30:20 GMT\"0x8D6BB4C6B2196F0\"5120share155463662176402509155463662181106263Sun, 07 Apr 2019 11:30:21 GMT\"0x8D6BB4C6BB51156\"5120share155463666487909340155463666491409324Sun, 07 Apr 2019 11:31:05 GMT\"0x8D6BB4C8583DD48\"5120share155463698405401209Sun, 07 Apr 2019 11:36:24 GMT\"0x8D6BB4D439ECDDA\"5120share155463698541606800155463698546901035Sun, 07 Apr 2019 11:36:25 GMT\"0x8D6BB4D44771EE6\"5120share155463702978505155155463702979104132Sun, 07 Apr 2019 11:37:09 GMT\"0x8D6BB4D5EE448FE\"5120share155463723950700465Sun, 07 Apr 2019 11:40:39 GMT\"0x8D6BB4DDBF3ADCB\"5120share155463724312503743155463724347607443Sun, 07 Apr 2019 11:40:43 GMT\"0x8D6BB4DDE528D42\"5120share155463729758500306155463729776203740Sun, 07 Apr 2019 11:41:37 GMT\"0x8D6BB4DFEAC4DF1\"5120share155463755748302900Sun, 07 Apr 2019 11:45:57 GMT\"0x8D6BB4E9978E2D2\"5120share155463756042003553155463756079202168Sun, 07 Apr 2019 11:46:00 GMT\"0x8D6BB4E9B7177A8\"5120share155463761358100594155463761375307174Sun, 07 Apr 2019 11:46:53 GMT\"0x8D6BB4EBB02650C\"5120share155463787959207794Sun, 07 Apr 2019 11:51:19 GMT\"0x8D6BB4F59763A07\"5120share155463788290501414155463788325100200Sun, 07 Apr 2019 11:51:23 GMT\"0x8D6BB4F5BA54F45\"5120share155463793259303870155463793276700570Sun, 07 Apr 2019 11:52:12 GMT\"0x8D6BB4F79276239\"5120share155471159410101775Mon, 08 Apr 2019 08:19:54 GMT\"0x8D6BBFAFADBE5E4\"5120share155471159557103774155471159565300748Mon, 08 Apr 2019 08:19:55 GMT\"0x8D6BBFAFB99CD19\"5120share155471159719406945Mon, 08 Apr 2019 08:19:57 GMT\"0x8D6BBFAFCB663A2\"5120share155471159844901546155471159853504786Mon, 08 Apr 2019 08:19:58 GMT\"0x8D6BBFAFD5170F5\"5120share155471161541409992Mon, 08 Apr 2019 08:20:16 GMT\"0x8D6BBFB081F5FB5\"5120share155471161759002308155471161771900228Mon, 08 Apr 2019 08:20:17 GMT\"0x8D6BBFB08C05564\"5120share155471161851605440155471161855706599Mon, 08 Apr 2019 08:20:18 GMT\"0x8D6BBFB0940AA1F\"5120share155471162639902600Mon, 08 Apr 2019 08:20:26 GMT\"0x8D6BBFB0DF3D044\"5120share155471163431809410155471163513501817Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15375AD4\"5120share155471163659409852155471163663305916Mon, 08 Apr 2019 08:20:36 GMT\"0x8D6BBFB140672E7\"5120share155471163879403305155471163883506224Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15570427\"5120share155471164795407473Mon, 08 Apr 2019 08:20:48 GMT\"0x8D6BBFB1ACB17DC\"5120share155471165623109994Mon, 08 Apr 2019 08:20:56 GMT\"0x8D6BBFB1FC3F719\"5120share155471166012804668155471166031308328Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB24406110\"5120share155471166089903157155471166123608644Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB241F036D\"5120share155471172995905724155471173080508446Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C37952A\"5120share155471173051409365155471173059005298Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C0C5968\"5120share155471174333302070155471174341105069Mon, 08 Apr 2019 08:22:23 GMT\"0x8D6BBFB53D3A9B7\"5120share155471182434808256Mon, 08 Apr 2019 08:23:44 GMT\"0x8D6BBFB83E86CA9\"5120share155471182515205917155471182519308076Mon, 08 Apr 2019 08:23:45 GMT\"0x8D6BBFB8469258F\"5120share155471183792306366Mon, 08 Apr 2019 08:23:57 GMT\"0x8D6BBFB8BFDA647\"5120share155471183836601440155471183839808059Mon, 08 Apr 2019 08:23:58 GMT\"0x8D6BBFB8C45ED59\"5120share155471184549402743Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB9081965D\"5120share155471184577508341155471184580705566Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB90B0FDD6\"5120share155471184862508408155471184864008538Mon, 08 Apr 2019 08:24:08 GMT\"0x8D6BBFB926308AD\"5120share155471185496004282155471185497309494Mon, 08 Apr 2019 08:24:14 GMT\"0x8D6BBFB96272195\"5120share155471186424807606155471186426203954Mon, 08 Apr 2019 08:24:24 GMT\"0x8D6BBFB9BB131A5\"5120share155471193314004724Mon, 08 Apr 2019 08:25:33 GMT\"0x8D6BBFBC4C751E1\"5120share155471193593408635155471193764704577Mon, 08 Apr 2019 08:25:37 GMT\"0x8D6BBFBC776A651\"5120share155471194397407124Mon, 08 Apr 2019 08:25:44 GMT\"0x8D6BBFBCB3C2379\"5120share155471194555807811155471194571401786Mon, 08 Apr 2019 08:25:47 GMT\"0x8D6BBFBCD737F4F\"5120share155471194946302657Mon, 08 Apr 2019 08:25:49 GMT\"0x8D6BBFBCEC19047\"5120share155471195223406412155471195241808309Mon, 08 Apr 2019 08:25:52 GMT\"0x8D6BBFBD043CA23\"5120share155471195442005853Mon, 08 Apr 2019 08:25:54 GMT\"0x8D6BBFBD1932F7D\"5120share155471195678502043155471195696904048Mon, 08 Apr 2019 08:25:57 GMT\"0x8D6BBFBD2F92138\"5120share155471195874606540Mon, 08 Apr 2019 08:25:58 GMT\"0x8D6BBFBD402CCA4\"5120share155471196273505067155471196279008024Mon, 08 Apr 2019 08:26:02 GMT\"0x8D6BBFBD66C3E32\"5120share155471196687506253Mon, 08 Apr 2019 08:26:07 GMT\"0x8D6BBFBD8F28488\"5120share155471196866402199155471196884600096Mon, 08 Apr 2019 08:26:08 GMT\"0x8D6BBFBDA0C5FC2\"5120share155471197493802599155471197525806627Mon, 08 Apr 2019 08:26:15 GMT\"0x8D6BBFBDDE17260\"5120share155471198776902969155471198787408405Mon, 08 Apr 2019 08:26:27 GMT\"0x8D6BBFBE56583EC\"5120share155471198949002768155471198957504390Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE66A3DE2\"5120share155471198959605149155471198986208091Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE6954C17\"5120share155471199019804683155471199021904269Mon, 08 Apr 2019 08:26:30 GMT\"0x8D6BBFBE6C605AD\"5120share155471199895909131155471199904807398Mon, 08 Apr 2019 08:26:39 GMT\"0x8D6BBFBEC0C669D\"5120share155471216392807544Mon, 08 Apr 2019 08:29:23 GMT\"0x8D6BBFC4E4F47FC\"5120share155471216452709732155471216456902840Mon, 08 Apr 2019 08:29:26 GMT\"0x8D6BBFC4FC7CD1D\"5120share155471217136404726Mon, 08 Apr 2019 08:29:31 GMT\"0x8D6BBFC52BDE426\"5120share155471217222402240155471217226106507Mon, 08 Apr 2019 08:29:32 GMT\"0x8D6BBFC53470269\"5120share155471218247602987Mon, 08 Apr 2019 08:29:42 GMT\"0x8D6BBFC595CC199\"5120share155471218361402387155471218365005312Mon, 08 Apr 2019 08:29:43 GMT\"0x8D6BBFC5A0FE3DD\"5120share155471219940306579155471219942604065Mon, 08 Apr 2019 08:29:59 GMT\"0x8D6BBFC63780FBF\"5120share155471220016802925155471220030607499Mon, 08 Apr 2019 08:30:00 GMT\"0x8D6BBFC63FED675\"5120share155471220290902917155471220293500348Mon, 08 Apr 2019 08:30:02 GMT\"0x8D6BBFC658E59F6\"5120share155471249309900739Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD129316CF\"5120share155471249367802014155471249372503616Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD12E38F1C\"5120share155471249672508697Mon, 08 Apr 2019 08:34:56 GMT\"0x8D6BBFD14AEB26A\"5120share155471249717808132155471249721001861Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD14F86882\"5120share155471249764407211Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD153BD7C4\"5120share155471249811307309155471249830109173Mon, 08 Apr 2019 08:34:58 GMT\"0x8D6BBFD15A17797\"5120share155471251563202676155471251564809213Mon, 08 Apr 2019 08:35:15 GMT\"0x8D6BBFD1FF476DC\"5120share155471251726303555155471251727801842Mon, 08 Apr 2019 08:35:17 GMT\"0x8D6BBFD20EF45C5\"5120share155471252286607127155471252289804824Mon, 08 Apr 2019 08:35:22 GMT\"0x8D6BBFD24468D24\"5120share155471280107407056Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA150A06\"5120share155471280122303103Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA2AA85A\"5120share155471280157501884155471280162209736Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA689843\"5120share155471280170901900155471280269609138Mon, 08 Apr 2019 08:40:02 GMT\"0x8D6BBFDCB0B4F94\"5120share155471281860403066Mon, 08 Apr 2019 08:40:18 GMT\"0x8D6BBFDD485DCD0\"5120share155471282020204926155471282024907974Mon, 08 Apr 2019 08:40:20 GMT\"0x8D6BBFDD581C2E6\"5120share155471282773802277155471282776901903Mon, 08 Apr 2019 08:40:27 GMT\"0x8D6BBFDD9FC956E\"5120share155471283070409441155471283071900050Mon, 08 Apr 2019 08:40:30 GMT\"0x8D6BBFDDBC0CC62\"5120share155471284115800709155471284117302223Mon, 08 Apr 2019 08:40:41 GMT\"0x8D6BBFDE1FC0E2A\"5120share155471313076205798Mon, 08 Apr 2019 08:45:30 GMT\"0x8D6BBFE8E985DA6\"5120share155471313135605696155471313140307661Mon, 08 Apr 2019 08:45:31 GMT\"0x8D6BBFE8EFA806E\"5120share155471314247306296Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE9592429E\"5120share155471314285105895155471314289809059Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE95D17ABD\"5120share155471314655408113Mon, 08 Apr 2019 08:45:46 GMT\"0x8D6BBFE98026629\"5120share155471315036608620155471315039706752Mon, 08 Apr 2019 08:45:53 GMT\"0x8D6BBFE9BFF3E8D\"5120share155471315738800255155471315740403394Mon, 08 Apr 2019 08:45:57 GMT\"0x8D6BBFE9E7A78D8\"5120share155471316127700943155471316129308576Mon, 08 Apr 2019 08:46:01 GMT\"0x8D6BBFEA0CA3EB9\"5120share155471317319209006155471317320803568Mon, 08 Apr 2019 08:46:13 GMT\"0x8D6BBFEA7E52732\"5120share155471338564903682Mon, 08 Apr 2019 08:49:45 GMT\"0x8D6BBFF26965E97\"5120share155471338612201724Mon, 08 Apr 2019 08:49:46 GMT\"0x8D6BBFF26DDC80B\"5120share155471338707501668Mon, 08 Apr 2019 08:49:47 GMT\"0x8D6BBFF276FE91A\"5120share155471338875509216155471338911108778Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28A5CC73\"5120share155471338907003423155471338943607988Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28D7C43E\"5120share155471339077005177155471339112707523Mon, 08 Apr 2019 08:49:51 GMT\"0x8D6BBFF29D97BDE\"5120share155471344114607322155471344132404540Mon, 08 Apr 2019 08:50:41 GMT\"0x8D6BBFF47C434F1\"5120share155471344305708178155471344323803707Mon, 08 Apr 2019 08:50:43 GMT\"0x8D6BBFF48E9B6AB\"5120share155471345132108943155471345150106029Mon, 08 Apr 2019 08:50:51 GMT\"0x8D6BBFF4DE3889E\"5120share155471361870008084Mon, 08 Apr 2019 08:53:39 GMT\"0x8D6BBFFB1EEC742\"5120share155471371725508964Mon, 08 Apr 2019 08:55:17 GMT\"0x8D6BBFFEC3CDD7B\"5120share155471371944301810Mon, 08 Apr 2019 08:55:19 GMT\"0x8D6BBFFED8C775F\"5120share155471371991209376Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEDD38528\"5120share155471372018104292155471372052805770Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEE2FFA2F\"5120share155471372233805696155471372271708417Mon, 08 Apr 2019 08:55:22 GMT\"0x8D6BBFFEF7F6246\"5120share155471372290109620155471372324904545Mon, 08 Apr 2019 08:55:23 GMT\"0x8D6BBFFEFDE088A\"5120share155471377091005451155471377108904189Mon, 08 Apr 2019 08:56:11 GMT\"0x8D6BC000C53B864\"5120share155471377364408697155471377382002962Mon, 08 Apr 2019 08:56:13 GMT\"0x8D6BC000DF49A62\"5120share155471377523007053155471377540900660Mon, 08 Apr 2019 08:56:15 GMT\"0x8D6BC000EE6C927\"5120share155471402950606676Mon, 08 Apr 2019 09:00:29 GMT\"0x8D6BC00A65AACF7\"5120share155471403233404398155471403270309055Mon, 08 Apr 2019 09:00:32 GMT\"0x8D6BC00A8426D4A\"5120share155471403964001185Mon, 08 Apr 2019 09:00:39 GMT\"0x8D6BC00AC6541C8\"5120share155471404293509573155471404328606393Mon, 08 Apr 2019 09:00:43 GMT\"0x8D6BC00AE906AAF\"5120share155471407955303616155471407972706941Mon, 08 Apr 2019 09:01:19 GMT\"0x8D6BC00C4491574\"5120share155471409885107441155471409902406315Mon, 08 Apr 2019 09:01:39 GMT\"0x8D6BC00CFC9D367\"5120share155471420123407076Mon, 08 Apr 2019 09:03:22 GMT\"0x8D6BC010D28BDE1\"5120share155471420502801318155471420537802414Mon, 08 Apr 2019 09:03:25 GMT\"0x8D6BC010F2CB097\"5120share155471426607204412155471426625208107Mon, 08 Apr 2019 09:04:26 GMT\"0x8D6BC013375377C\"5120share155472160987405653Mon, 08 Apr 2019 11:06:50 GMT\"0x8D6BC124C9978EA\"5120share155472161097000757155472161105208077Mon, 08 Apr 2019 11:06:51 GMT\"0x8D6BC124D3DBF8D\"5120share155472163173801961155472163177609525Mon, 08 Apr 2019 11:07:11 GMT\"0x8D6BC125997DF0C\"5120share155472168232901716Mon, 08 Apr 2019 11:08:02 GMT\"0x8D6BC1277BFA9C8\"5120share155472168374104176155472168446607643Mon, 08 Apr 2019 11:08:04 GMT\"0x8D6BC1279214100\"5120share155472176197105947155472176205007656Mon, 08 Apr 2019 11:09:22 GMT\"0x8D6BC12A74454C3\"5120share155472204199900828Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E191AC7\"5120share155472204277609584155472204280601112Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E94A044\"5120share155472206496708024155472206498204033Mon, 08 Apr 2019 11:14:25 GMT\"0x8D6BC135BCCCA84\"5120share155472216705901492Mon, 08 Apr 2019 11:16:07 GMT\"0x8D6BC1398D048C8\"5120share155472216898001523155472216916205107Mon, 08 Apr 2019 11:16:09 GMT\"0x8D6BC1399EAA37A\"5120share155472219103107027Mon, 08 Apr 2019 11:16:31 GMT\"0x8D6BC13A6F4AE8C\"5120share155472219425905471155472219440702152Mon, 08 Apr 2019 11:16:34 GMT\"0x8D6BC13A921A1C9\"5120share155472220033004812155472220042206911Mon, 08 Apr 2019 11:16:40 GMT\"0x8D6BC13AC8D206A\"5120share155472224824707837155472224832008824Mon, 08 Apr 2019 11:17:28 GMT\"0x8D6BC13C919E65E\"5120share155472246204805623Mon, 08 Apr 2019 11:21:02 GMT\"0x8D6BC14487717FD\"5120share155472246241309337155472246263507674Mon, 08 Apr 2019 11:21:03 GMT\"0x8D6BC14496CB4D5\"5120share155472249524904748155472249526905903Mon, 08 Apr 2019 11:21:35 GMT\"0x8D6BC145C441D54\"5120share155472278844408698Mon, 08 Apr 2019 11:26:28 GMT\"0x8D6BC150B092C7A\"5120share155472278907008129155472278920004266Mon, 08 Apr 2019 11:26:29 GMT\"0x8D6BC150B7C124C\"5120share155472284254600007155472284256208525Mon, 08 Apr 2019 11:27:22 GMT\"0x8D6BC152B4A911F\"5120share155472312229503604Mon, 08 Apr 2019 11:32:02 GMT\"0x8D6BC15D200E575\"5120share155472312412809123155472312417501747Mon, 08 Apr 2019 11:32:04 GMT\"0x8D6BC15D31D7FAE\"5120share155472315446303765155472315449505989Mon, 08 Apr 2019 11:32:34 GMT\"0x8D6BC15E5302244\"5120share155472345996309413Mon, 08 Apr 2019 11:37:39 GMT\"0x8D6BC169B4675F7\"5120share155472346051206066155472346057508799Mon, 08 Apr 2019 11:37:40 GMT\"0x8D6BC169BA35295\"5120share155472348747305567155472348748800979Mon, 08 Apr 2019 11:38:07 GMT\"0x8D6BC16ABADD753\"5120share155472371337200587Mon, 08 Apr 2019 11:41:53 GMT\"0x8D6BC1732641149\"5120share155472371674603033155472371719309773Mon, 08 Apr 2019 11:41:57 GMT\"0x8D6BC1734C4AD1D\"5120share155472377588104348155472377613206149Mon, 08 Apr 2019 11:42:56 GMT\"0x8D6BC1757CB4FB5\"5120share155472411306702730Mon, 08 Apr 2019 11:48:33 GMT\"0x8D6BC1820A06135\"5120share155472411721604937155472411760505391Mon, 08 Apr 2019 11:48:37 GMT\"0x8D6BC1823541FBE\"5120share155472417274301118155472417291606860Mon, 08 Apr 2019 11:49:33 GMT\"0x8D6BC18444D2432\"5120share155472448089705120Mon, 08 Apr 2019 11:54:41 GMT\"0x8D6BC18FBDED986\"5120share155472448370807083155472448406101169Mon, 08 Apr 2019 11:54:44 GMT\"0x8D6BC18FDC115E2\"5120share155472453427508600155472453444907889Mon, 08 Apr 2019 11:55:34 GMT\"0x8D6BC191BCCB9BF\"5120share155472855094705964Mon, 08 Apr 2019 13:02:31 GMT\"0x8D6BC2275D7C473\"5120share155472855239009959155472855247404733Mon, 08 Apr 2019 13:02:32 GMT\"0x8D6BC2276A627CE\"5120share155472856032008076Mon, 08 Apr 2019 13:02:41 GMT\"0x8D6BC227BD9467D\"5120share155472856217809292155472856226408487Mon, 08 Apr 2019 13:02:42 GMT\"0x8D6BC227C7D2423\"5120share155472856366803949Mon, 08 Apr 2019 13:02:43 GMT\"0x8D6BC227D692AC9\"5120share155472856528205546155472856545204869Mon, 08 Apr 2019 13:02:45 GMT\"0x8D6BC227E67D1EF\"5120share155472857573303054155472857578001261Mon, 08 Apr 2019 13:02:55 GMT\"0x8D6BC22848AC2B9\"5120share155472858718602344155472858722904206Mon, 08 Apr 2019 13:03:07 GMT\"0x8D6BC228B5EA846\"5120share155472859275800578Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EB057C8\"5120share155472859281003726155472859289304102Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EC2C83E\"5120share155472859438304193155472859454102545Mon, 08 Apr 2019 13:03:14 GMT\"0x8D6BC228FBFC6F4\"5120share155472859997408060Mon, 08 Apr 2019 13:03:20 GMT\"0x8D6BC2293079122\"5120share155472860456904599155472860489607509Mon, 08 Apr 2019 13:03:25 GMT\"0x8D6BC2295F5DA07\"5120share155472861037200948Mon, 08 Apr 2019 13:03:30 GMT\"0x8D6BC229939EC8D\"5120share155472861305108945155472861338108485Mon, 08 Apr 2019 13:03:36 GMT\"0x8D6BC229CA157C0\"5120share155472865853408678155472865861303126Mon, 08 Apr 2019 13:04:18 GMT\"0x8D6BC22B5EF8CF3\"5120share155472868380603467155472868396900550Mon, 08 Apr 2019 13:04:44 GMT\"0x8D6BC22C517F4B3\"5120share155472868557503999155472868576501705Mon, 08 Apr 2019 13:04:45 GMT\"0x8D6BC22C62A39FA\"5120share155472879121104691Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC2304F03B40\"5120share155472879189403290155472879193803545Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC23055F2961\"5120share155472879243008995Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305AC7850\"5120share155472879280808188155472879284409230Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305EC7325\"5120share155472880698205090155472880699806109Mon, 08 Apr 2019 13:06:47 GMT\"0x8D6BC230E58A3F5\"5120share155472880814103146155472880815505990Mon, 08 Apr 2019 13:06:48 GMT\"0x8D6BC230F0B9BFB\"5120share155472881234807755Mon, 08 Apr 2019 13:06:52 GMT\"0x8D6BC2311884B12\"5120share155472881340207390155472881350205618Mon, 08 Apr 2019 13:06:53 GMT\"0x8D6BC2312387E17\"5120share155472883072301392155472883073803010Mon, 08 Apr 2019 13:07:10 GMT\"0x8D6BC231C7E23F5\"5120share155472885337806659Mon, 08 Apr 2019 13:07:33 GMT\"0x8D6BC232A11D740\"5120share155472885613805171155472885646702766Mon, 08 Apr 2019 13:07:36 GMT\"0x8D6BC232BEA3B02\"5120share155472889661305776Mon, 08 Apr 2019 13:08:16 GMT\"0x8D6BC2343CAEEAB\"5120share155472889788009681155472889803300893Mon, 08 Apr 2019 13:08:18 GMT\"0x8D6BC2344A41FDF\"5120share155472891001406580Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BDA3B1D\"5120share155472891007702393155472891023709481Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BF5BF5B\"5120share155472891025302439Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234C02A1DD\"5120share155472891190208427155472891208509099Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D02D031\"5120share155472891198206893155472891216501231Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D0EF9AB\"5120share155472891445805441Mon, 08 Apr 2019 13:08:34 GMT\"0x8D6BC234E6E1621\"5120share155472891568202078155472891586502301Mon, 08 Apr 2019 13:08:35 GMT\"0x8D6BC234F44AFC9\"5120share155472893112604559155472893120100232Mon, 08 Apr 2019 13:08:51 GMT\"0x8D6BC23586881C1\"5120share155472893354909897Mon, 08 Apr 2019 13:08:53 GMT\"0x8D6BC2359E9B5A9\"5120share155472893564809628155472893583008434Mon, 08 Apr 2019 13:08:55 GMT\"0x8D6BC235B2AEAA9\"5120share155472893953307706155472893962206298Mon, 08 Apr 2019 13:08:59 GMT\"0x8D6BC235D6C870E\"5120share155472894318507838155472894330704679Mon, 08 Apr 2019 13:09:03 GMT\"0x8D6BC235F9E8958\"5120share155472894681003497155472894688800449Mon, 08 Apr 2019 13:09:06 GMT\"0x8D6BC2361C272A0\"5120share155472897035005236155472897043802002Mon, 08 Apr 2019 13:09:30 GMT\"0x8D6BC236FCB801E\"5120share155472912188008460Mon, 08 Apr 2019 13:12:01 GMT\"0x8D6BC23CA09833E\"5120share155472912242309883155472912246805247Mon, 08 Apr 2019 13:12:02 GMT\"0x8D6BC23CA64647F\"5120share155472912938903083Mon, 08 Apr 2019 13:12:09 GMT\"0x8D6BC23CE8AD1E7\"5120share155472913061307138155472913077708600Mon, 08 Apr 2019 13:12:10 GMT\"0x8D6BC23CF5DF0BD\"5120share155472913125601489Mon, 08 Apr 2019 13:12:11 GMT\"0x8D6BC23CFA730AD\"5120share155472913283609927155472913298509950Mon, 08 Apr 2019 13:12:13 GMT\"0x8D6BC23D0AE8C17\"5120share155472915487105003155472915489100854Mon, 08 Apr 2019 13:12:34 GMT\"0x8D6BC23DDB68675\"5120share155472916544804385155472916552306014Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4134A09\"5120share155472916548503832155472916556105425Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4197E02\"5120share155472946012606736Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2493A69CE5\"5120share155472946068908993155472946073508657Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2494053C3E\"5120share155472949633202046155472949636407118Mon, 08 Apr 2019 13:18:16 GMT\"0x8D6BC24A93FE744\"5120share155472953229106299Mon, 08 Apr 2019 13:18:52 GMT\"0x8D6BC24BEB4AF41\"5120share155472953357501863155472953373103768Mon, 08 Apr 2019 13:18:53 GMT\"0x8D6BC24BF90D02A\"5120share155472956713506493155472956721301657Mon, 08 Apr 2019 13:19:27 GMT\"0x8D6BC24D386476F\"5120share155472966502508606Mon, 08 Apr 2019 13:21:05 GMT\"0x8D6BC250DCA4603\"5120share155472966597907744155472966604202953Mon, 08 Apr 2019 13:21:06 GMT\"0x8D6BC250E645809\"5120share155472968498508655155472968500103917Mon, 08 Apr 2019 13:21:25 GMT\"0x8D6BC2519AFE985\"5120share155472988433902736Mon, 08 Apr 2019 13:24:44 GMT\"0x8D6BC25909324BE\"5120share155472988724409985155472988760204301Mon, 08 Apr 2019 13:24:47 GMT\"0x8D6BC2592849B4B\"5120share155472993030607011Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25ABE51EAD\"5120share155472993075507215155472993080206083Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25AC3328A7\"5120share155472993914402363155472993931800672Mon, 08 Apr 2019 13:25:39 GMT\"0x8D6BC25B1574FAE\"5120share155472994748901085155472994750403825Mon, 08 Apr 2019 13:25:47 GMT\"0x8D6BC25B6263F7C\"5120share155473001947302004Mon, 08 Apr 2019 13:26:59 GMT\"0x8D6BC25E10CE3BC\"5120share155473002051606362155473002054908313Mon, 08 Apr 2019 13:27:00 GMT\"0x8D6BC25E1B35EC4\"5120share155473004648705855155473004649703999Mon, 08 Apr 2019 13:27:26 GMT\"0x8D6BC25F12ABCA1\"5120share155473016072107034Mon, 08 Apr 2019 13:29:20 GMT\"0x8D6BC26354F9473\"5120share155473016364503276155473016400103009Mon, 08 Apr 2019 13:29:24 GMT\"0x8D6BC263743A815\"5120share155473021339603603Mon, 08 Apr 2019 13:30:13 GMT\"0x8D6BC2654B5158C\"5120share155473021424106750155473021441604785Mon, 08 Apr 2019 13:30:14 GMT\"0x8D6BC2655503B1E\"5120share155473021650606398155473021685603088Mon, 08 Apr 2019 13:30:17 GMT\"0x8D6BC2656CD882A\"5120share155473026269308380155473026286901426Mon, 08 Apr 2019 13:31:03 GMT\"0x8D6BC267231CA94\"5120share155473035103103790Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6AA97EE\"5120share155473035153304048155473035158009118Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6FEFB2F\"5120share155473037272506388155473037274004114Mon, 08 Apr 2019 13:32:52 GMT\"0x8D6BC26B39B5FAF\"5120share155473049819605040Mon, 08 Apr 2019 13:34:58 GMT\"0x8D6BC26FE7673E3\"5120share155473050103008382155473050142509037Mon, 08 Apr 2019 13:35:01 GMT\"0x8D6BC2700635DFF\"5120share155473054025008839Mon, 08 Apr 2019 13:35:40 GMT\"0x8D6BC27178337FC\"5120share155473054308605886155473054343906261Mon, 08 Apr 2019 13:35:43 GMT\"0x8D6BC27196A1851\"5120share155473054870903343155473054888203021Mon, 08 Apr 2019 13:35:49 GMT\"0x8D6BC271CAB8110\"5120share155473059007607327Mon, 08 Apr 2019 13:36:30 GMT\"0x8D6BC27353A326A\"5120share155473059366105315155473059402501772Mon, 08 Apr 2019 13:36:34 GMT\"0x8D6BC273791DA87\"5120share155473060266605803155473060284208896Mon, 08 Apr 2019 13:36:42 GMT\"0x8D6BC273CD2198E\"5120share155473064357606911155473064435408339Mon, 08 Apr 2019 13:37:24 GMT\"0x8D6BC27559218D8\"5120share155473082374108141Mon, 08 Apr 2019 13:40:23 GMT\"0x8D6BC27C07F8583\"5120share155473082651508300155473082686007339Mon, 08 Apr 2019 13:40:27 GMT\"0x8D6BC27C25B3DFF\"5120share155473087260606566155473087278203141Mon, 08 Apr 2019 13:41:12 GMT\"0x8D6BC27DDBAB773\"5120share155473091696409658Mon, 08 Apr 2019 13:41:57 GMT\"0x8D6BC27F8105DF2\"5120share155473092104706246155473092139602510Mon, 08 Apr 2019 13:42:01 GMT\"0x8D6BC27FAB44C17\"5120share155473103328506254155473103346108302Mon, 08 Apr 2019 13:43:53 GMT\"0x8D6BC283D8145CD\"5120share155473133348900275Mon, 08 Apr 2019 13:48:53 GMT\"0x8D6BC28F0562800\"5120share155473133641905218155473133676805608Mon, 08 Apr 2019 13:48:56 GMT\"0x8D6BC28F24A93FA\"5120share155473138457402066155473138474908082Mon, 08 Apr 2019 13:49:45 GMT\"0x8D6BC290EF52FE8\"5120share155473419080304153Mon, 08 Apr 2019 14:36:30 GMT\"0x8D6BC2F97732CFC\"5120share155473419365800817155473419382602756Mon, 08 Apr 2019 14:36:33 GMT\"0x8D6BC2F992DFF3C\"5120share155473421466607871Mon, 08 Apr 2019 14:36:54 GMT\"0x8D6BC2FA5BA6AEB\"5120share155473421635506352155473421652306205Mon, 08 Apr 2019 14:36:56 GMT\"0x8D6BC2FA6B4853A\"5120share155473422402809012155473422411202007Mon, 08 Apr 2019 14:37:04 GMT\"0x8D6BC2FAB3B4F2B\"5120share155473423347103300Mon, 08 Apr 2019 14:37:14 GMT\"0x8D6BC2FB1A4AC26\"5120share155473423963007764155473423996109344Mon, 08 Apr 2019 14:37:20 GMT\"0x8D6BC2FB4B923A2\"5120share155473424644901018155473424653402397Mon, 08 Apr 2019 14:37:26 GMT\"0x8D6BC2FB897E295\"5120share155473425057902422Mon, 08 Apr 2019 14:37:30 GMT\"0x8D6BC2FBB0CFAC3\"5120share155473425521309931155473425553507393Mon, 08 Apr 2019 14:37:35 GMT\"0x8D6BC2FBE0153D1\"5120share155473428819308505155473428835809325Mon, 08 Apr 2019 14:38:08 GMT\"0x8D6BC2FD191EC8D\"5120share155473430398307530155473430415601116Mon, 08 Apr 2019 14:38:24 GMT\"0x8D6BC2FDAFCD3CA\"5120share155473444829502736Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC3030D3FEF9\"5120share155473444885204661155473444888103257Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC30312D73D3\"5120share155473446739109486155473446744407340Mon, 08 Apr 2019 14:41:07 GMT\"0x8D6BC303C3F7578\"5120share155473447118803434Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303E792FBD\"5120share155473447149009693155473447154508068Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303EAFF271\"5120share155473448801104504155473448802709932Mon, 08 Apr 2019 14:41:28 GMT\"0x8D6BC304883AF71\"5120share155473450198203199Mon, 08 Apr 2019 14:41:42 GMT\"0x8D6BC3050E61990\"5120share155473450471305879155473450503806574Mon, 08 Apr 2019 14:41:45 GMT\"0x8D6BC3052B8A414\"5120share155473450704204579Mon, 08 Apr 2019 14:41:47 GMT\"0x8D6BC3053DEF142\"5120share155473450855306043155473450872307814Mon, 08 Apr 2019 14:41:48 GMT\"0x8D6BC3054DF5FA3\"5120share155473452656102693Mon, 08 Apr 2019 14:42:06 GMT\"0x8D6BC305F832E74\"5120share155473452751203866155473452759608707Mon, 08 Apr 2019 14:42:07 GMT\"0x8D6BC306019B7BE\"5120share155473453016401763Mon, 08 Apr 2019 14:42:10 GMT\"0x8D6BC3061A718A5\"5120share155473453144608682155473453159403269Mon, 08 Apr 2019 14:42:11 GMT\"0x8D6BC306280AC92\"5120share155473453662701273155473453671007534Mon, 08 Apr 2019 14:42:16 GMT\"0x8D6BC30658DA53B\"5120share155473454493806127Mon, 08 Apr 2019 14:42:25 GMT\"0x8D6BC306A80FFCA\"5120share155473454766406718155473454798605644Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306C526A63\"5120share155473454885408589155473454889408297Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306CCBAC1B\"5120share155473455531307272155473455547503726Mon, 08 Apr 2019 14:42:35 GMT\"0x8D6BC3070C880EF\"5120share155473456298508198155473456305604832Mon, 08 Apr 2019 14:42:43 GMT\"0x8D6BC30754176D8\"5120share155473457035304465Mon, 08 Apr 2019 14:42:50 GMT\"0x8D6BC3079AD1280\"5120share155473457207902291155473457226309592Mon, 08 Apr 2019 14:42:52 GMT\"0x8D6BC307ABD6939\"5120share155473457381405301Mon, 08 Apr 2019 14:42:53 GMT\"0x8D6BC307BA554F0\"5120share155473457424906501155473457433400772Mon, 08 Apr 2019 14:42:54 GMT\"0x8D6BC307BF5A02B\"5120share155473459079300332155473459095407127Mon, 08 Apr 2019 14:43:11 GMT\"0x8D6BC3085EEA6C0\"5120share155473459710804634155473459712507679Mon, 08 Apr 2019 14:43:17 GMT\"0x8D6BC3089893A07\"5120share155473460239208483155473460248307905Mon, 08 Apr 2019 14:43:22 GMT\"0x8D6BC308CC03D5B\"5120share155473460627301747Mon, 08 Apr 2019 14:43:26 GMT\"0x8D6BC308F166326\"5120share155473461191303184155473461215007685Mon, 08 Apr 2019 14:43:32 GMT\"0x8D6BC309283A21C\"5120share155473465896305363155473465905601441Mon, 08 Apr 2019 14:44:19 GMT\"0x8D6BC30AE7954B9\"5120share155473475957902774Mon, 08 Apr 2019 14:45:59 GMT\"0x8D6BC30EA6481FA\"5120share155473476083109353155473476097609742Mon, 08 Apr 2019 14:46:01 GMT\"0x8D6BC30EB39884A\"5120share155473476726807566Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EEF33FDC\"5120share155473476746100635Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EF23300D\"5120share155473477012302696155473477045003815Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F0EB24C0\"5120share155473477072405685Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F11D1338\"5120share155473477140802459155473477144704421Mon, 08 Apr 2019 14:46:11 GMT\"0x8D6BC30F170F086\"5120share155473477249206448155473477266401927Mon, 08 Apr 2019 14:46:12 GMT\"0x8D6BC30F2329512\"5120share155473478823203814155473478825205786Mon, 08 Apr 2019 14:46:28 GMT\"0x8D6BC30FB75293E\"5120share155473479136803374Mon, 08 Apr 2019 14:46:31 GMT\"0x8D6BC30FD57C6D6\"5120share155473479266204971155473479281803186Mon, 08 Apr 2019 14:46:32 GMT\"0x8D6BC30FE3534B2\"5120share155473480100304003155473480112603676Mon, 08 Apr 2019 14:46:41 GMT\"0x8D6BC310329D9D4\"5120share155473480306601561155473480314406594Mon, 08 Apr 2019 14:46:43 GMT\"0x8D6BC31045BEA29\"5120share155473480640000894Mon, 08 Apr 2019 14:46:46 GMT\"0x8D6BC3106588942\"5120share155473480909907513155473480941802582Mon, 08 Apr 2019 14:46:49 GMT\"0x8D6BC3108258412\"5120share155473482284601258155473482302000606Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC3110403003\"5120share155473482346807389155473482354003411Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC311084DD46\"5120share155473486075707188155473486108207129Mon, 08 Apr 2019 14:47:41 GMT\"0x8D6BC3126EFFE93\"5120share155473491634009737Mon, 08 Apr 2019 14:48:36 GMT\"0x8D6BC3148074DE4\"5120share155473491776103356Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC3149271C83\"5120share155473491829107624155473491848606435Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC31491B7485\"5120share155473492039605902155473492058008609Mon, 08 Apr 2019 14:48:40 GMT\"0x8D6BC314A5A3B77\"5120share155473494644803778155473494654101281Mon, 08 Apr 2019 14:49:06 GMT\"0x8D6BC3159D3BB81\"5120share155473494988505571155473494997503463Mon, 08 Apr 2019 14:49:10 GMT\"0x8D6BC315BDF5889\"5120share155473504589508380Mon, 08 Apr 2019 14:50:45 GMT\"0x8D6BC31950DBB93\"5120share155473504755106401155473504772905196Mon, 08 Apr 2019 14:50:47 GMT\"0x8D6BC319625F582\"5120share155473507333906486155473507341004547Mon, 08 Apr 2019 14:51:13 GMT\"0x8D6BC31A5735C1B\"5120share155473508082805354Mon, 08 Apr 2019 14:51:20 GMT\"0x8D6BC31A9EAA61F\"5120share155473508343703505155473508378405955Mon, 08 Apr 2019 14:51:23 GMT\"0x8D6BC31ABAE240D\"5120share155473511673807490Mon, 08 Apr 2019 14:51:56 GMT\"0x8D6BC31BF405B40\"5120share155473511726907503155473511731603497Mon, 08 Apr 2019 14:51:57 GMT\"0x8D6BC31BF9744D7\"5120share155473512676901896Mon, 08 Apr 2019 14:52:06 GMT\"0x8D6BC31C545BA7B\"5120share155473512807902236155473512825108944Mon, 08 Apr 2019 14:52:08 GMT\"0x8D6BC31C6275C62\"5120share155473513050407263155473513067905072Mon, 08 Apr 2019 14:52:10 GMT\"0x8D6BC31C7A1FF9F\"5120share155473513462203992155473513463806811Mon, 08 Apr 2019 14:52:14 GMT\"0x8D6BC31C9EB6C87\"5120share155473515791202563155473515797500387Mon, 08 Apr 2019 14:52:38 GMT\"0x8D6BC31D7E08B0F\"5120share155473540087503802Mon, 08 Apr 2019 14:56:40 GMT\"0x8D6BC32689704D3\"5120share155473540135308638155473540140007991Mon, 08 Apr 2019 14:56:41 GMT\"0x8D6BC3268E7DC90\"5120share155473541865302883Mon, 08 Apr 2019 14:56:58 GMT\"0x8D6BC32734A2927\"5120share155473542133905271155473542168206950Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC32751882E8\"5120share155473542163709330155473542168408080Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC3274FF8FE4\"5120share155473545874807881Mon, 08 Apr 2019 14:57:38 GMT\"0x8D6BC328B1BFAF9\"5120share155473545934304563155473545945208605Mon, 08 Apr 2019 14:57:39 GMT\"0x8D6BC328B8BF073\"5120share155473546811406701155473546830200544Mon, 08 Apr 2019 14:57:48 GMT\"0x8D6BC3290E73592\"5120share155473546996700257Mon, 08 Apr 2019 14:57:49 GMT\"0x8D6BC3291C9FD28\"5120share155473547032804613155473547035904086Mon, 08 Apr 2019 14:57:50 GMT\"0x8D6BC329207D3FE\"5120share155473547643107314155473547644703911Mon, 08 Apr 2019 14:57:56 GMT\"0x8D6BC3295A9340F\"5120share155473550717605678155473550719206836Mon, 08 Apr 2019 14:58:27 GMT\"0x8D6BC32A7FBCAFA\"5120share155473570285307598Mon, 08 Apr 2019 15:01:42 GMT\"0x8D6BC331CA187F6\"5120share155473570414402008155473570428906711Mon, 08 Apr 2019 15:01:44 GMT\"0x8D6BC331D7C0D0A\"5120share155473573312304189155473573318500333Mon, 08 Apr 2019 15:02:13 GMT\"0x8D6BC332EB6100B\"5120share155473576580407113Mon, 08 Apr 2019 15:02:45 GMT\"0x8D6BC33421F5A27\"5120share155473576613205186155473576618304618Mon, 08 Apr 2019 15:02:46 GMT\"0x8D6BC334258F41B\"5120share155473578765705355155473578767306787Mon, 08 Apr 2019 15:03:07 GMT\"0x8D6BC334F2922D1\"5120share155473578934909083Mon, 08 Apr 2019 15:03:09 GMT\"0x8D6BC33503B037A\"5120share155473579710504080155473579792000573Mon, 08 Apr 2019 15:03:18 GMT\"0x8D6BC3355570EAD\"5120share155473581512706676Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335F851F43\"5120share155473581554903183155473581559605594Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335FCD21A0\"5120share155473583169403864155473583171007928Mon, 08 Apr 2019 15:03:51 GMT\"0x8D6BC336968FE48\"5120share155473584151407616155473584166900204Mon, 08 Apr 2019 15:04:01 GMT\"0x8D6BC336F6BEF3F\"5120share155473599014106282Mon, 08 Apr 2019 15:06:30 GMT\"0x8D6BC33C7EA549A\"5120share155473599315900980155473599355000904Mon, 08 Apr 2019 15:06:33 GMT\"0x8D6BC33C9F29249\"5120share155473604520700164155473604539400204Mon, 08 Apr 2019 15:07:25 GMT\"0x8D6BC33E8F9FDB7\"5120share155473606941100702Mon, 08 Apr 2019 15:07:49 GMT\"0x8D6BC33F7280CEB\"5120share155473607238805976155473607274809222Mon, 08 Apr 2019 15:07:52 GMT\"0x8D6BC33F9249098\"5120share155473611057600702Mon, 08 Apr 2019 15:08:30 GMT\"0x8D6BC340FA2E13C\"5120share155473611092106791155473611096707735Mon, 08 Apr 2019 15:08:31 GMT\"0x8D6BC340FDDE96B\"5120share155473612535100765155473612556701005Mon, 08 Apr 2019 15:08:45 GMT\"0x8D6BC3418A091D9\"5120share155473612778602729155473612781702150Mon, 08 Apr 2019 15:08:47 GMT\"0x8D6BC3419E8023E\"5120share155473635249902796Mon, 08 Apr 2019 15:12:32 GMT\"0x8D6BC349FE5CFD9\"5120share155473635542207038155473635579507042Mon, 08 Apr 2019 15:12:35 GMT\"0x8D6BC34A1DBD6B1\"5120share155473637099800926Mon, 08 Apr 2019 15:12:51 GMT\"0x8D6BC34AAE96E2A\"5120share155473637336209277155473637364305088Mon, 08 Apr 2019 15:12:53 GMT\"0x8D6BC34AC7D5496\"5120share155473640657006048155473640674303374Mon, 08 Apr 2019 15:13:26 GMT\"0x8D6BC34C038E5B6\"5120share155473640789802199Mon, 08 Apr 2019 15:13:28 GMT\"0x8D6BC34C0E9E276\"5120share155473641079805966155473641115205580Mon, 08 Apr 2019 15:13:31 GMT\"0x8D6BC34C2DA977F\"5120share155473642254503233155473642270104923Mon, 08 Apr 2019 15:13:42 GMT\"0x8D6BC34C9BA4706\"5120share155473647554301408Mon, 08 Apr 2019 15:14:35 GMT\"0x8D6BC34E93D7C8F\"5120share155473647857300940155473647893707155Mon, 08 Apr 2019 15:14:39 GMT\"0x8D6BC34EB4276BE\"5120share155473652457008250155473652474903372Mon, 08 Apr 2019 15:15:24 GMT\"0x8D6BC350690B81C\"5120share155473652560500457155473652577809590Mon, 08 Apr 2019 15:15:25 GMT\"0x8D6BC35072D5459\"5120share155473670806203485Mon, 08 Apr 2019 15:18:28 GMT\"0x8D6BC3573D380A0\"5120share155473671095607303155473671130406741Mon, 08 Apr 2019 15:18:31 GMT\"0x8D6BC3575C2A2FC\"5120share155473674273801051Mon, 08 Apr 2019 15:19:02 GMT\"0x8D6BC35887F7270\"5120share155473674601006727155473674636602284Mon, 08 Apr 2019 15:19:06 GMT\"0x8D6BC358AA8C28E\"5120share155473676553905931155473676583602877Mon, 08 Apr 2019 15:19:25 GMT\"0x8D6BC359642887A\"5120share155473679548202593155473679565909714Mon, 08 Apr 2019 15:19:55 GMT\"0x8D6BC35A80AE264\"5120share155473686802409334Mon, 08 Apr 2019 15:21:08 GMT\"0x8D6BC35D32BE4F1\"5120share155473687084103771155473687119904765Mon, 08 Apr 2019 15:21:11 GMT\"0x8D6BC35D51023E2\"5120share155473689718209043Mon, 08 Apr 2019 15:21:37 GMT\"0x8D6BC35E48C5A6E\"5120share155473690003202575155473690038306662Mon, 08 Apr 2019 15:21:40 GMT\"0x8D6BC35E6753C30\"5120share155473692570603487155473692589603604Mon, 08 Apr 2019 15:22:06 GMT\"0x8D6BC35F5A9C8C6\"5120share155473694547006047155473694564405606Mon, 08 Apr 2019 15:22:25 GMT\"0x8D6BC36016FD1FA\"5120share155473710422903975Mon, 08 Apr 2019 15:25:04 GMT\"0x8D6BC365FF3A44B\"5120share155473710726803348155473710762206301Mon, 08 Apr 2019 15:25:07 GMT\"0x8D6BC3661FA21A2\"5120share155473712980409197Mon, 08 Apr 2019 15:25:29 GMT\"0x8D6BC366F335D07\"5120share155473713295307278155473713334900217Mon, 08 Apr 2019 15:25:33 GMT\"0x8D6BC367150A1CF\"5120share155473715357508120155473715375103679Mon, 08 Apr 2019 15:25:53 GMT\"0x8D6BC367D773379\"5120share155473717923909016155473717941808839Mon, 08 Apr 2019 15:26:19 GMT\"0x8D6BC368CC5F34E\"5120share155473747769904699Mon, 08 Apr 2019 15:31:17 GMT\"0x8D6BC373E93904E\"5120share155473748071405205155473748108105811Mon, 08 Apr 2019 15:31:21 GMT\"0x8D6BC374095A2E4\"5120share155473753005202135155473753023108048Mon, 08 Apr 2019 15:32:10 GMT\"0x8D6BC375DE09D13\"5120share155473948835202134Mon, 08 Apr 2019 16:04:48 GMT\"0x8D6BC3BECF939E7\"5120share155473948933109534155473948941307935Mon, 08 Apr 2019 16:04:49 GMT\"0x8D6BC3BED92E329\"5120share155473949761606382Mon, 08 Apr 2019 16:04:57 GMT\"0x8D6BC3BF2732BBE\"5120share155473949799001145155473949801708441Mon, 08 Apr 2019 16:04:58 GMT\"0x8D6BC3BF2B07273\"5120share155473951017007937155473951025903980Mon, 08 Apr 2019 16:05:10 GMT\"0x8D6BC3BF9FFE66B\"5120share155473951340407009155473951341609626Mon, 08 Apr 2019 16:05:13 GMT\"0x8D6BC3BFBDE60C8\"5120share155473953991108413Mon, 08 Apr 2019 16:05:40 GMT\"0x8D6BC3C0BDC1FB6\"5120share155473954320004620155473954353308452Mon, 08 Apr 2019 16:05:43 GMT\"0x8D6BC3C0DE76705\"5120share155473954799505772Mon, 08 Apr 2019 16:05:49 GMT\"0x8D6BC3C1150A660\"5120share155473955429103705155473955617200174Mon, 08 Apr 2019 16:05:56 GMT\"0x8D6BC3C15706272\"5120share155473959536203873155473959553202967Mon, 08 Apr 2019 16:06:35 GMT\"0x8D6BC3C2CE5AEE3\"5120share155473960405107051155473960421504781Mon, 08 Apr 2019 16:06:44 GMT\"0x8D6BC3C3211DE08\"5120share155473971175505074Mon, 08 Apr 2019 16:08:31 GMT\"0x8D6BC3C7231FB97\"5120share155473971336305849155473971356703112Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C73351960\"5120share155473971348402768Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7320D102\"5120share155473971380809201155473971384101973Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7357062C\"5120share155473972746708476155473972748002650Mon, 08 Apr 2019 16:08:47 GMT\"0x8D6BC3C7B78115A\"5120share155473974796501931155473974804802831Mon, 08 Apr 2019 16:09:08 GMT\"0x8D6BC3C87C1A66B\"5120share155473982991308873Mon, 08 Apr 2019 16:10:30 GMT\"0x8D6BC3CB89EEB4F\"5120share155473983165307311155473983183507080Mon, 08 Apr 2019 16:10:31 GMT\"0x8D6BC3CB9B09319\"5120share155473987452302874Mon, 08 Apr 2019 16:11:14 GMT\"0x8D6BC3CD336A0D3\"5120share155473987630005857155473987648508819Mon, 08 Apr 2019 16:11:16 GMT\"0x8D6BC3CD44B29DE\"5120share155473988002501138155473988011500836Mon, 08 Apr 2019 16:11:20 GMT\"0x8D6BC3CD6770663\"5120share155473990554307953155473990563408863Mon, 08 Apr 2019 16:11:45 GMT\"0x8D6BC3CE5AAB38B\"5120share155473992325308801Mon, 08 Apr 2019 16:12:03 GMT\"0x8D6BC3CF02FD95D\"5120share155473992552700191155473992579406764Mon, 08 Apr 2019 16:12:05 GMT\"0x8D6BC3CF1B3CFCD\"5120share155473995701903272155473995709800218Mon, 08 Apr 2019 16:12:37 GMT\"0x8D6BC3D045BF61B\"5120share155473996033701859Mon, 08 Apr 2019 16:12:40 GMT\"0x8D6BC3D065500D9\"5120share155473996306703342155473996338809095Mon, 08 Apr 2019 16:12:43 GMT\"0x8D6BC3D08273FBB\"5120share155474001203201466155474001219306818Mon, 08 Apr 2019 16:13:32 GMT\"0x8D6BC3D253ECF12\"5120share155474022752502668Mon, 08 Apr 2019 16:17:07 GMT\"0x8D6BC3DA58B4EC3\"5120share155474022883807337155474022899102360Mon, 08 Apr 2019 16:17:09 GMT\"0x8D6BC3DA66B413A\"5120share155474026368506311155474026376001016Mon, 08 Apr 2019 16:17:43 GMT\"0x8D6BC3DBB2470FF\"5120share155474027191009670Mon, 08 Apr 2019 16:17:51 GMT\"0x8D6BC3DC00037D1\"5120share155474027317107051155474027345603228Mon, 08 Apr 2019 16:17:53 GMT\"0x8D6BC3DC0EC5C98\"5120share155474030699904722155474030707806924Mon, 08 Apr 2019 16:18:27 GMT\"0x8D6BC3DD4F722C0\"5120share155474058573208591Mon, 08 Apr 2019 16:23:05 GMT\"0x8D6BC3E7B07EC34\"5120share155474058631100433155474058635707803Mon, 08 Apr 2019 16:23:06 GMT\"0x8D6BC3E7B67E06E\"5120share155474060436006648155474060439106751Mon, 08 Apr 2019 16:23:24 GMT\"0x8D6BC3E86265EA1\"5120share155474064796409027Mon, 08 Apr 2019 16:24:07 GMT\"0x8D6BC3EA0201A02\"5120share155474064840309943155474064844902242Mon, 08 Apr 2019 16:24:08 GMT\"0x8D6BC3EA06B5B8D\"5120share155474067289302482155474067292503013Mon, 08 Apr 2019 16:24:32 GMT\"0x8D6BC3EAF00AFEE\"5120share155474086901801882Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F23E282B1\"5120share155474086954109748155474086958803624Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F24374811\"5120share155474088621300424155474088622906592Mon, 08 Apr 2019 16:28:06 GMT\"0x8D6BC3F2E2332FA\"5120share155474093395702129Mon, 08 Apr 2019 16:28:54 GMT\"0x8D6BC3F4A9D178A\"5120share155474093519404097155474093535009888Mon, 08 Apr 2019 16:28:55 GMT\"0x8D6BC3F4B7159A6\"5120share155474096256205947155474096264104492Mon, 08 Apr 2019 16:29:22 GMT\"0x8D6BC3F5BB55B22\"5120share155474120234905361Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEA8F38F7\"5120share155474120277303521155474120282004590Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEAD6B1F4\"5120share155474122235007706155474122238101841Mon, 08 Apr 2019 16:33:42 GMT\"0x8D6BC3FF67E28D8\"5120share155474130460202574Mon, 08 Apr 2019 16:35:04 GMT\"0x8D6BC4027827D1E\"5120share155474130505607014155474130510207894Mon, 08 Apr 2019 16:35:05 GMT\"0x8D6BC4027CE6AB0\"5120share155474132647203580155474132648706944Mon, 08 Apr 2019 16:35:26 GMT\"0x8D6BC40348D5AE5\"5120share155474145926306657Mon, 08 Apr 2019 16:37:39 GMT\"0x8D6BC4083C48D46\"5120share155474146223405247155474146260700472Mon, 08 Apr 2019 16:37:42 GMT\"0x8D6BC4085C2BC8D\"5120share155474150898003062155474150915407050Mon, 08 Apr 2019 16:38:29 GMT\"0x8D6BC40A17F8E16\"5120share155474154328005331Mon, 08 Apr 2019 16:39:03 GMT\"0x8D6BC40B5D7588F\"5120share155474154615909592155474154651809449Mon, 08 Apr 2019 16:39:06 GMT\"0x8D6BC40B7C61D1A\"5120share155474160184400659155474160202305300Mon, 08 Apr 2019 16:40:02 GMT\"0x8D6BC40D8D9D9ED\"5120share155474185416600555Mon, 08 Apr 2019 16:44:14 GMT\"0x8D6BC416F233C68\"5120share155474185723002510155474185758501557Mon, 08 Apr 2019 16:44:17 GMT\"0x8D6BC41712CFFA6\"5120share155474190327502820155474190345208840Mon, 08 Apr 2019 16:45:03 GMT\"0x8D6BC418C848342\"5120share155474190490704897Mon, 08 Apr 2019 16:45:05 GMT\"0x8D6BC418D621561\"5120share155474190776907277155474190812601855Mon, 08 Apr 2019 16:45:08 GMT\"0x8D6BC418F4CE08B\"5120share155474196241703778155474196259800062Mon, 08 Apr 2019 16:46:02 GMT\"0x8D6BC41AFC3DCE9\"5120share155474220129806013Mon, 08 Apr 2019 16:50:01 GMT\"0x8D6BC423E133CD2\"5120share155474220456406280155474220494907802Mon, 08 Apr 2019 16:50:05 GMT\"0x8D6BC42403CC9EA\"5120share155474225992109422155474226010703254Mon, 08 Apr 2019 16:51:00 GMT\"0x8D6BC42611C57BE\"5120share155474226931208866Mon, 08 Apr 2019 16:51:09 GMT\"0x8D6BC4266952B13\"5120share155474227223302689155474227258508558Mon, 08 Apr 2019 16:51:12 GMT\"0x8D6BC4268893BA8\"5120share155474232327306240155474232345203219Mon, 08 Apr 2019 16:52:03 GMT\"0x8D6BC4286D91D07\"5120share155474395428107727Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652D4C42C\"5120share155474395452802100155474395455608057Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652FEBFA5\"5120share155474397065201372155474397066502723Mon, 08 Apr 2019 17:19:30 GMT\"0x8D6BC465C9898E6\"5120share155474400115800733Mon, 08 Apr 2019 17:20:01 GMT\"0x8D6BC466ECED480\"5120share155474400363001910155474400379000022Mon, 08 Apr 2019 17:20:03 GMT\"0x8D6BC4670608DBE\"5120share155474403669903880155474403677708604Mon, 08 Apr 2019 17:20:36 GMT\"0x8D6BC4684093633\"5120share155474419672100811Mon, 08 Apr 2019 17:23:16 GMT\"0x8D6BC46E3613195\"5120share155474419764009306155474419772402506Mon, 08 Apr 2019 17:23:17 GMT\"0x8D6BC46E3F21E5B\"5120share155474422388106104155474422392207070Mon, 08 Apr 2019 17:23:43 GMT\"0x8D6BC46F38FA2DB\"5120share155474423646003586Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB075CAA\"5120share155474423673307035155474423676300424Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB346115\"5120share155474424402506390Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FF8AB361\"5120share155474424449101262155474424456708485Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FFDCA1DF\"5120share155474425601609100155474425602909189Mon, 08 Apr 2019 17:24:16 GMT\"0x8D6BC4706B02D7E\"5120share155474427118802638155474427121009813Mon, 08 Apr 2019 17:24:31 GMT\"0x8D6BC470FBE0D2D\"5120share155474428001309991Mon, 08 Apr 2019 17:24:40 GMT\"0x8D6BC4715045886\"5120share155474428159504724155474428175001137Mon, 08 Apr 2019 17:24:41 GMT\"0x8D6BC47160D398B\"5120share155474431811601666155474431819004651Mon, 08 Apr 2019 17:25:18 GMT\"0x8D6BC472BC57B36\"5120share155474441621600039Mon, 08 Apr 2019 17:26:56 GMT\"0x8D6BC47664CFDB3\"5120share155474441808000887155474441826501887Mon, 08 Apr 2019 17:26:58 GMT\"0x8D6BC47676B5E28\"5120share155474444280401127Mon, 08 Apr 2019 17:27:22 GMT\"0x8D6BC4776037219\"5120share155474444312107191155474444315009298Mon, 08 Apr 2019 17:27:23 GMT\"0x8D6BC477638688C\"5120share155474444907607144155474444916600860Mon, 08 Apr 2019 17:27:29 GMT\"0x8D6BC4779D51767\"5120share155474446097609507155474446099204230Mon, 08 Apr 2019 17:27:41 GMT\"0x8D6BC4780DAFC9D\"5120share155474446503807882Mon, 08 Apr 2019 17:27:45 GMT\"0x8D6BC478357DE0F\"5120share155474446772807781155474446805003083Mon, 08 Apr 2019 17:27:48 GMT\"0x8D6BC47852352EF\"5120share155474453274207529155474453290606263Mon, 08 Apr 2019 17:28:53 GMT\"0x8D6BC47ABCD89D2\"5120share155474456707309057Mon, 08 Apr 2019 17:29:27 GMT\"0x8D6BC47C01E9B8E\"5120share155474456856906969155474456873102857Mon, 08 Apr 2019 17:29:28 GMT\"0x8D6BC47C11BABE1\"5120share155474459866304821155474459879204899Mon, 08 Apr 2019 17:29:58 GMT\"0x8D6BC47D30694D4\"5120share155474460938005724Mon, 08 Apr 2019 17:30:09 GMT\"0x8D6BC47D9696D4A\"5120share155474461109303504155474461129505111Mon, 08 Apr 2019 17:30:11 GMT\"0x8D6BC47DA77FFFD\"5120share155474464325008544155474464333905921Mon, 08 Apr 2019 17:30:43 GMT\"0x8D6BC47ED91A19C\"5120share155474476466104389Mon, 08 Apr 2019 17:32:44 GMT\"0x8D6BC4835E350D0\"5120share155474476781604399155474476797007813Mon, 08 Apr 2019 17:32:48 GMT\"0x8D6BC4837DC08B7\"5120share155474480038605885155474480046100073Mon, 08 Apr 2019 17:33:20 GMT\"0x8D6BC484B3A3D4F\"5120share155474492660408902Mon, 08 Apr 2019 17:35:26 GMT\"0x8D6BC48966A5D95\"5120share155474492789003702155474492806209895Mon, 08 Apr 2019 17:35:28 GMT\"0x8D6BC4897485BA7\"5120share155474495477607990155474495485501755Mon, 08 Apr 2019 17:35:54 GMT\"0x8D6BC48A7424CAA\"5120share155474510686309923Mon, 08 Apr 2019 17:38:26 GMT\"0x8D6BC4901D74A82\"5120share155474510733205807155474510739507235Mon, 08 Apr 2019 17:38:27 GMT\"0x8D6BC4902289FBC\"5120share155474512958602801155474512961701409Mon, 08 Apr 2019 17:38:49 GMT\"0x8D6BC490F660BF7\"5120share155474528378801613Mon, 08 Apr 2019 17:41:23 GMT\"0x8D6BC496B4DCE46\"5120share155474528428104775155474528432801850Mon, 08 Apr 2019 17:41:24 GMT\"0x8D6BC496B9F1952\"5120share155474530034400913155474530037609036Mon, 08 Apr 2019 17:41:40 GMT\"0x8D6BC4975307733\"5120share155474532759507612Mon, 08 Apr 2019 17:42:07 GMT\"0x8D6BC498570D5C7\"5120share155474532839002825155474532846907369Mon, 08 Apr 2019 17:42:08 GMT\"0x8D6BC4985EBDD8C\"5120share155474535921501065155474535929800232Mon, 08 Apr 2019 17:42:39 GMT\"0x8D6BC49984C13E3\"5120share155474537100109299Mon, 08 Apr 2019 17:42:51 GMT\"0x8D6BC499F4C10CA\"5120share155474537235108861155474537250407032Mon, 08 Apr 2019 17:42:52 GMT\"0x8D6BC49A0305CFF\"5120share155474541020101924155474541028002160Mon, 08 Apr 2019 17:43:30 GMT\"0x8D6BC49B6B4AF7E\"5120share155474544328204718Mon, 08 Apr 2019 17:44:03 GMT\"0x8D6BC49CA608EEF\"5120share155474544450809675155474544464306068Mon, 08 Apr 2019 17:44:04 GMT\"0x8D6BC49CB30EE65\"5120share155474547397901682155474547404107590Mon, 08 Apr 2019 17:44:34 GMT\"0x8D6BC49DCB70CEE\"5120share155474556387801910Mon, 08 Apr 2019 17:46:04 GMT\"0x8D6BC4A125905BF\"5120share155474556547705866155474556565103636Mon, 08 Apr 2019 17:46:05 GMT\"0x8D6BC4A135404E9\"5120share155474560156806705155474560165207088Mon, 08 Apr 2019 17:46:41 GMT\"0x8D6BC4A28C98302\"5120share155474560980908891Mon, 08 Apr 2019 17:46:49 GMT\"0x8D6BC4A2DA3B8E2\"5120share155474561182205540155474561197600824Mon, 08 Apr 2019 17:46:52 GMT\"0x8D6BC4A2EEE39CE\"5120share155474564080602364155474564088209498Mon, 08 Apr 2019 17:47:20 GMT\"0x8D6BC4A40288917\"5120share155474566731408854Mon, 08 Apr 2019 17:47:47 GMT\"0x8D6BC4A4FEA5939\"5120share155474566853502348155474566872402545Mon, 08 Apr 2019 17:47:48 GMT\"0x8D6BC4A50BFC502\"5120share155474569590807294155474569598604999Mon, 08 Apr 2019 17:48:16 GMT\"0x8D6BC4A60FFBEB6\"5120share155474604565500976Mon, 08 Apr 2019 17:54:05 GMT\"0x8D6BC4B3166FA66\"5120share155474604628207297155474604631306384Mon, 08 Apr 2019 17:54:06 GMT\"0x8D6BC4B31CABCDE\"5120share155474606600908658155474606602509076Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3D89E538\"5120share155474606603205608Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3DA28FD4\"5120share155474606780105190155474606799103841Mon, 08 Apr 2019 17:54:28 GMT\"0x8D6BC4B3EBA25ED\"5120share155474610134800398155474610144002605Mon, 08 Apr 2019 17:55:01 GMT\"0x8D6BC4B52AA1A8E\"5120share155474619445207539Mon, 08 Apr 2019 17:56:34 GMT\"0x8D6BC4B8A26DB79\"5120share155474619701203581155474619733105936Mon, 08 Apr 2019 17:56:37 GMT\"0x8D6BC4B8BDEA41E\"5120share155474624396206673155474624412309828Mon, 08 Apr 2019 17:57:24 GMT\"0x8D6BC4BA7C2EA49\"5120share155474635564303302Mon, 08 Apr 2019 17:59:15 GMT\"0x8D6BC4BEA3C58B3\"5120share155474635860300315155474635896907344Mon, 08 Apr 2019 17:59:19 GMT\"0x8D6BC4BEC382947\"5120share155474640507900921155474640526006359Mon, 08 Apr 2019 18:00:05 GMT\"0x8D6BC4C07C7F4A3\"5120share155474645415109948Mon, 08 Apr 2019 18:00:54 GMT\"0x8D6BC4C24EC0921\"5120share155474645495200953155474645503501899Mon, 08 Apr 2019 18:00:55 GMT\"0x8D6BC4C25682D46\"5120share155474647318704154155474647322607411Mon, 08 Apr 2019 18:01:13 GMT\"0x8D6BC4C304039B7\"5120share155474654875803895Mon, 08 Apr 2019 18:02:28 GMT\"0x8D6BC4C5D4572AB\"5120share155474654921902498155474654926509052Mon, 08 Apr 2019 18:02:29 GMT\"0x8D6BC4C5D91BE8E\"5120share155474656399405825155474656401705254Mon, 08 Apr 2019 18:02:44 GMT\"0x8D6BC4C665CCFF1\"5120share155474663529602310Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C90D93648\"5120share155474663583606041155474663588408448Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C9132CC5D\"5120share155474665477303348155474665479205559Mon, 08 Apr 2019 18:04:14 GMT\"0x8D6BC4C9C77182B\"5120share155474669690608062Mon, 08 Apr 2019 18:04:57 GMT\"0x8D6BC4CB5AC4D07\"5120share155474669879809471155474669896601486Mon, 08 Apr 2019 18:04:59 GMT\"0x8D6BC4CB6D26C35\"5120share155474672916802677Mon, 08 Apr 2019 18:05:29 GMT\"0x8D6BC4CC8E553A9\"5120share155474673083607637155474673100708355Mon, 08 Apr 2019 18:05:31 GMT\"0x8D6BC4CC9EC2AC2\"5120share155474673381104012155474673389309631Mon, 08 Apr 2019 18:05:33 GMT\"0x8D6BC4CCBA3AC18\"5120share155474676371808387155474676380208185Mon, 08 Apr 2019 18:06:03 GMT\"0x8D6BC4CDD786B55\"5120share155474679470603196Mon, 08 Apr 2019 18:06:34 GMT\"0x8D6BC4CEFEF94B0\"5120share155474679772603000155474679809202072Mon, 08 Apr 2019 18:06:38 GMT\"0x8D6BC4CF1F46892\"5120share155474680013008562Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3197928\"5120share155474680057503718155474680062404689Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3641213\"5120share155474681409208639Mon, 08 Apr 2019 18:06:54 GMT\"0x8D6BC4CFB756E96\"5120share155474681491505363155474681500105289Mon, 08 Apr 2019 18:06:55 GMT\"0x8D6BC4CFBF71FC4\"5120share155474681788207900155474681791008047Mon, 08 Apr 2019 18:06:57 GMT\"0x8D6BC4CFDB1BD22\"5120share155474683477100690155474683481200041Mon, 08 Apr 2019 18:07:14 GMT\"0x8D6BC4D07C681B1\"5120share155474684393709385155474684411407379Mon, 08 Apr 2019 18:07:24 GMT\"0x8D6BC4D0D63FA6E\"5120share155474686284305068Mon, 08 Apr 2019 18:07:42 GMT\"0x8D6BC4D188C7C32\"5120share155474686561509852155474686593903986Mon, 08 Apr 2019 18:07:46 GMT\"0x8D6BC4D1A6403C0\"5120share155474690869707233155474690886001558Mon, 08 Apr 2019 18:08:29 GMT\"0x8D6BC4D33F9C1DF\"5120share155474696608300776Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56048CF2\"5120share155474696666108703155474696672401866Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56667A7D\"5120share155474696667806001Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D565D032B\"5120share155474696710902421155474696715108905Mon, 08 Apr 2019 18:09:27 GMT\"0x8D6BC4D56A57B13\"5120share155474698267801977155474698269406976Mon, 08 Apr 2019 18:09:42 GMT\"0x8D6BC4D5FE9CFEB\"5120share155474698299707221155474698301501809Mon, 08 Apr 2019 18:09:43 GMT\"0x8D6BC4D6019DBEC\"5120share155474704723809460Mon, 08 Apr 2019 18:10:47 GMT\"0x8D6BC4D86616E64\"5120share155474704881708545155474704884801268Mon, 08 Apr 2019 18:10:48 GMT\"0x8D6BC4D875756B5\"5120share155474707588406604155474707589701120Mon, 08 Apr 2019 18:11:15 GMT\"0x8D6BC4D9776A8E6\"5120share155474710586101865Mon, 08 Apr 2019 18:11:46 GMT\"0x8D6BC4DA96742CF\"5120share155474710874902656155474710916109774Mon, 08 Apr 2019 18:11:49 GMT\"0x8D6BC4DAB5EA4FD\"5120share155474714764003348Mon, 08 Apr 2019 18:12:27 GMT\"0x8D6BC4DC2406D42\"5120share155474714885103041155474714908804672Mon, 08 Apr 2019 18:12:29 GMT\"0x8D6BC4DC31DB2D0\"5120share155474715492307420155474715509608519Mon, 08 Apr 2019 18:12:35 GMT\"0x8D6BC4DC6BE914E\"5120share155474717400802142155474717408307060Mon, 08 Apr 2019 18:12:54 GMT\"0x8D6BC4DD203F71A\"5120share155474719947106777Mon, 08 Apr 2019 18:13:19 GMT\"0x8D6BC4DE1259CEC\"5120share155474720071400394155474720086808994Mon, 08 Apr 2019 18:13:20 GMT\"0x8D6BC4DE1FB2C1C\"5120share155474722844105131155474722851407454Mon, 08 Apr 2019 18:13:48 GMT\"0x8D6BC4DF275C194\"5120share155474724530509593Mon, 08 Apr 2019 18:14:05 GMT\"0x8D6BC4DFC812038\"5120share155474724621607823155474724633006743Mon, 08 Apr 2019 18:14:06 GMT\"0x8D6BC4DFD13BB0C\"5120share155474726666905801155474726671207462Mon, 08 Apr 2019 18:14:26 GMT\"0x8D6BC4E093975C6\"5120share155474727008806902Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B35A990\"5120share155474727036204896155474727039307966Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B643FD7\"5120share155474728638006622155474728639406421Mon, 08 Apr 2019 18:14:46 GMT\"0x8D6BC4E14EDE4DD\"5120share155474729223702314Mon, 08 Apr 2019 18:14:52 GMT\"0x8D6BC4E1883AF97\"5120share155474729398209223155474729415606986Mon, 08 Apr 2019 18:14:54 GMT\"0x8D6BC4E1996C534\"5120share155474732221000573155474732230701553Mon, 08 Apr 2019 18:15:22 GMT\"0x8D6BC4E2A5ED5C9\"5120share155474751582509818Mon, 08 Apr 2019 18:18:35 GMT\"0x8D6BC4E9DC20155\"5120share155474751847902848155474751880304541Mon, 08 Apr 2019 18:18:38 GMT\"0x8D6BC4E9F8866A6\"5120share155474756081401285155474756097802660Mon, 08 Apr 2019 18:19:21 GMT\"0x8D6BC4EB8AB9F43\"5120share155474764980601427Mon, 08 Apr 2019 18:20:49 GMT\"0x8D6BC4EED934290\"5120share155474765102608011155474765118001858Mon, 08 Apr 2019 18:20:51 GMT\"0x8D6BC4EEE645AD6\"5120share155474767844107090155474767851403828Mon, 08 Apr 2019 18:21:18 GMT\"0x8D6BC4EFEAFA117\"5120share155474777133007169Mon, 08 Apr 2019 18:22:51 GMT\"0x8D6BC4F360D39E0\"5120share155474777420508076155474777458205278Mon, 08 Apr 2019 18:22:54 GMT\"0x8D6BC4F37FD9082\"5120share155474782123305443155474782141203648Mon, 08 Apr 2019 18:23:41 GMT\"0x8D6BC4F53E76F8F\"5120share155474792521906873Mon, 08 Apr 2019 18:25:25 GMT\"0x8D6BC4F91C00B2D\"5120share155474792672406349155474792689607120Mon, 08 Apr 2019 18:25:26 GMT\"0x8D6BC4F92BF41A5\"5120share155474795499605887155474795507404540Mon, 08 Apr 2019 18:25:55 GMT\"0x8D6BC4FA38B9AA0\"5120share155474822362107235Mon, 08 Apr 2019 18:30:23 GMT\"0x8D6BC5043ABE5D7\"5120share155474822547905552155474822566503828Mon, 08 Apr 2019 18:30:25 GMT\"0x8D6BC5044CCFF4D\"5120share155474825450002272Mon, 08 Apr 2019 18:30:54 GMT\"0x8D6BC505606CF1A\"5120share155474825533607080155474825542104437Mon, 08 Apr 2019 18:30:55 GMT\"0x8D6BC505686D3D6\"5120share155474826343607595155474826352605234Mon, 08 Apr 2019 18:31:03 GMT\"0x8D6BC505B5DE52C\"5120share155474827685603862155474827689907496Mon, 08 Apr 2019 18:31:16 GMT\"0x8D6BC5063545C5E\"5120share155474842455807202Mon, 08 Apr 2019 18:33:44 GMT\"0x8D6BC50BB5C6059\"5120share155474842593805305155474842618709355Mon, 08 Apr 2019 18:33:46 GMT\"0x8D6BC50BC548613\"5120share155474845712203961155474845720102349Mon, 08 Apr 2019 18:34:17 GMT\"0x8D6BC50CED0751B\"5120share155474851989103047Mon, 08 Apr 2019 18:35:20 GMT\"0x8D6BC50F439CEBD\"5120share155474852265103180155474852297608630Mon, 08 Apr 2019 18:35:23 GMT\"0x8D6BC50F60FE06F\"5120share155474856529703557155474856545809970Mon, 08 Apr 2019 18:36:05 GMT\"0x8D6BC510F628BE7\"5120share155474862305404605Mon, 08 Apr 2019 18:37:03 GMT\"0x8D6BC5131BE75BB\"5120share155474862481702492155474862500803609Mon, 08 Apr 2019 18:37:05 GMT\"0x8D6BC5132D530CA\"5120share155474865512509351155474865521506832Mon, 08 Apr 2019 18:37:35 GMT\"0x8D6BC5144D5E753\"5120share155474870412106342Mon, 08 Apr 2019 18:38:24 GMT\"0x8D6BC5162083EB9\"5120share155474870684104116155474870719906918Mon, 08 Apr 2019 18:38:27 GMT\"0x8D6BC5163DEAE18\"5120share155474875502604717Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC518068CB51\"5120share155474875557809078155474875573600049Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC5180CD01EA\"5120share155474875683104451155474875706500491Mon, 08 Apr 2019 18:39:17 GMT\"0x8D6BC51818B1C32\"5120share155474876604802975Mon, 08 Apr 2019 18:39:26 GMT\"0x8D6BC5186FB8011\"5120share155474876778709469155474876797603028Mon, 08 Apr 2019 18:39:28 GMT\"0x8D6BC51880D150D\"5120share155474877226205113Mon, 08 Apr 2019 18:39:32 GMT\"0x8D6BC518AA58C3A\"5120share155474877988808105155474878023800882Mon, 08 Apr 2019 18:39:40 GMT\"0x8D6BC518F67A761\"5120share155474878504902158155474878514102127Mon, 08 Apr 2019 18:39:45 GMT\"0x8D6BC51924743E0\"5120share155474879904507665155474879913808712Mon, 08 Apr 2019 18:39:59 GMT\"0x8D6BC519A9FFA28\"5120share155474883971704235155474883989002060Mon, 08 Apr 2019 18:40:40 GMT\"0x8D6BC51B2F5410B\"5120share155474895443200422Mon, 08 Apr 2019 18:42:34 GMT\"0x8D6BC51F7300E6A\"5120share155474895566809136155474895588301714Mon, 08 Apr 2019 18:42:35 GMT\"0x8D6BC51F80D6C4C\"5120share155474896838202554Mon, 08 Apr 2019 18:42:48 GMT\"0x8D6BC51FF835B22\"5120share155474896915009736155474896928809624Mon, 08 Apr 2019 18:42:49 GMT\"0x8D6BC520005E534\"5120share155474898685302363155474898693207903Mon, 08 Apr 2019 18:43:06 GMT\"0x8D6BC520A8EDD71\"5120share155474899671807820155474899675701753Mon, 08 Apr 2019 18:43:16 GMT\"0x8D6BC521064BB0E\"5120share155474900170804980Mon, 08 Apr 2019 18:43:21 GMT\"0x8D6BC5213688AEE\"5120share155474900446104881155474900478303498Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC52153F290F\"5120share155474900478202392Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC521534B0CD\"5120share155474900621503198155474900638807694Mon, 08 Apr 2019 18:43:26 GMT\"0x8D6BC521621F4B4\"5120share155474903093006954155474903096909495Mon, 08 Apr 2019 18:43:50 GMT\"0x8D6BC5224C88087\"5120share155474905171200031155474905187104138Mon, 08 Apr 2019 18:44:12 GMT\"0x8D6BC52314F5A13\"5120share155474913858202107Mon, 08 Apr 2019 18:45:38 GMT\"0x8D6BC5264FECE1C\"5120share155474914273604018155474914312306205Mon, 08 Apr 2019 18:45:43 GMT\"0x8D6BC5267B555AF\"5120share155474914489100606Mon, 08 Apr 2019 18:45:45 GMT\"0x8D6BC5268C1F87E\"5120share155474914750802214155474914783504293Mon, 08 Apr 2019 18:45:47 GMT\"0x8D6BC526A82A433\"5120share155474919136809108155474919154203324Mon, 08 Apr 2019 18:46:31 GMT\"0x8D6BC52848F8344\"5120share155474919327503331155474919343404304Mon, 08 Apr 2019 18:46:33 GMT\"0x8D6BC5285B0D968\"5120share155474927082201518Mon, 08 Apr 2019 18:47:50 GMT\"0x8D6BC52B3BE1A62\"5120share155474927121603014155474927124704852Mon, 08 Apr 2019 18:47:51 GMT\"0x8D6BC52B3FE94D0\"5120share155474929649300500155474929650801830Mon, 08 Apr 2019 18:48:16 GMT\"0x8D6BC52C30DA197\"5120share155475022991701076Mon, 08 Apr 2019 19:03:49 GMT\"0x8D6BC54EF66AE7B\"5120share155475023045507997155475023060306179Mon, 08 Apr 2019 19:03:50 GMT\"0x8D6BC54EFCF3C54\"5120share155475024473800763155475024475203535Mon, 08 Apr 2019 19:04:04 GMT\"0x8D6BC54F83E4AA6\"5120share155475027927205466Mon, 08 Apr 2019 19:04:39 GMT\"0x8D6BC550CEAF817\"5120share155475028090305599155475028109407948Mon, 08 Apr 2019 19:04:41 GMT\"0x8D6BC550DEFBA30\"5120share155475030796503201155475030805008793Mon, 08 Apr 2019 19:05:08 GMT\"0x8D6BC551E00631C\"5120share155475041406903684Mon, 08 Apr 2019 19:06:54 GMT\"0x8D6BC555D34B450\"5120share155475041790102406155475041806802740Mon, 08 Apr 2019 19:06:58 GMT\"0x8D6BC555F9662A7\"5120share155475042680803797Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC5564E7657C\"5120share155475042776807591155475042785606789Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC556566798D\"5120share155475044710607711155475044714607622Mon, 08 Apr 2019 19:07:27 GMT\"0x8D6BC5570E5E30C\"5120share155475044970802609155475044979502269Mon, 08 Apr 2019 19:07:29 GMT\"0x8D6BC55727FE091\"5120share155475046331802443Mon, 08 Apr 2019 19:07:43 GMT\"0x8D6BC557A99FD7F\"5120share155475046684305327155475046716402258Mon, 08 Apr 2019 19:07:47 GMT\"0x8D6BC557CE43085\"5120share155475051216806431155475051232806509Mon, 08 Apr 2019 19:08:32 GMT\"0x8D6BC5597CF5D98\"5120share155475052082206243Mon, 08 Apr 2019 19:08:40 GMT\"0x8D6BC559CCBD36E\"5120share155475052121006971155475052126009148Mon, 08 Apr 2019 19:08:41 GMT\"0x8D6BC559D0FA15E\"5120share155475053797404148155475053799109901Mon, 08 Apr 2019 19:08:58 GMT\"0x8D6BC55A707AA78\"5120share155475064935803078Mon, 08 Apr 2019 19:10:49 GMT\"0x8D6BC55E974E3CA\"5120share155475065067109845155475065082904481Mon, 08 Apr 2019 19:10:51 GMT\"0x8D6BC55EA83DF98\"5120share155475067910702988155475067918501299Mon, 08 Apr 2019 19:11:19 GMT\"0x8D6BC55FB3A3AE2\"5120share155475081055106395Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC56497CE6DB\"5120share155475081080107024155475081083204956Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC5649A8202F\"5120share155475081569107427Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C9015C3\"5120share155475081569802024Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C8F31AE\"5120share155475081617607337155475081622403546Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CDFB128\"5120share155475081618505278155475081626106049Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CE50201\"5120share155475082599504520155475082600900773Mon, 08 Apr 2019 19:13:46 GMT\"0x8D6BC5652B3E1EF\"5120share155475083332106209155475083333306719Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC565711BB33\"5120share155475083390106843155475083391701671Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC56576DD44F\"5120share155475083645708180Mon, 08 Apr 2019 19:13:56 GMT\"0x8D6BC5658EE78DA\"5120share155475083689607668155475083700804756Mon, 08 Apr 2019 19:13:57 GMT\"0x8D6BC5659439F5E\"5120share155475085287202953155475085288703129Mon, 08 Apr 2019 19:14:12 GMT\"0x8D6BC5662BB07BF\"5120share155475087749608350Mon, 08 Apr 2019 19:14:37 GMT\"0x8D6BC56716BAEB9\"5120share155475087884808160155475087899302295Mon, 08 Apr 2019 19:14:39 GMT\"0x8D6BC56724FB73E\"5120share155475091031104271155475091038301022Mon, 08 Apr 2019 19:15:10 GMT\"0x8D6BC568505E596\"5120share155475096394205285Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A4F4A602\"5120share155475096470307204155475096478702363Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A56DE803\"5120share155475098339807861155475098343901197Mon, 08 Apr 2019 19:16:23 GMT\"0x8D6BC56B08C0771\"5120share155475101810205521Mon, 08 Apr 2019 19:16:58 GMT\"0x8D6BC56C54664DF\"5120share155475102072309609155475102105008976Mon, 08 Apr 2019 19:17:01 GMT\"0x8D6BC56C707C7F1\"5120share155475104896402625Mon, 08 Apr 2019 19:17:29 GMT\"0x8D6BC56D7A1CC67\"5120share155475105033406728155475105050302656Mon, 08 Apr 2019 19:17:30 GMT\"0x8D6BC56D88BFADB\"5120share155475106334602588155475106350800134Mon, 08 Apr 2019 19:17:43 GMT\"0x8D6BC56E0562F3A\"5120share155475107891507083Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56E9858D34\"5120share155475107976101708155475107983704150Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56EA082039\"5120share155475108198903031155475108234608862Mon, 08 Apr 2019 19:18:02 GMT\"0x8D6BC56EB914CA9\"5120share155475113337406588155475113355001458Mon, 08 Apr 2019 19:18:53 GMT\"0x8D6BC570A17FF54\"5120share155475132543106986Mon, 08 Apr 2019 19:22:05 GMT\"0x8D6BC577C7B6BF7\"5120share155475132721406393155475132740306801Mon, 08 Apr 2019 19:22:07 GMT\"0x8D6BC577D94ECD7\"5120share155475135811801394155475135820700395Mon, 08 Apr 2019 19:22:38 GMT\"0x8D6BC578FF0D032\"5120share155475144214904808Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C1F69171\"5120share155475144238308286155475144241802464Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C21F2B49\"5120share155475145575504179155475145577002338Mon, 08 Apr 2019 19:24:15 GMT\"0x8D6BC57CA1458DE\"5120share155475158692104863Mon, 08 Apr 2019 19:26:26 GMT\"0x8D6BC5818465E4B\"5120share155475158825308616155475158840903597Mon, 08 Apr 2019 19:26:28 GMT\"0x8D6BC5819294CE9\"5120share155475161465508511155475161473400769Mon, 08 Apr 2019 19:26:54 GMT\"0x8D6BC5828D99E92\"5120share155475165136906994Mon, 08 Apr 2019 19:27:31 GMT\"0x8D6BC583EB028AA\"5120share155475165285408363155475165294303910Mon, 08 Apr 2019 19:27:33 GMT\"0x8D6BC583F9ED9D5\"5120share155475167393207326155475167397601633Mon, 08 Apr 2019 19:27:54 GMT\"0x8D6BC584C286C71\"5120share155475175592100687Mon, 08 Apr 2019 19:29:15 GMT\"0x8D6BC587CF96950\"5120share155475175636203447155475175640405227Mon, 08 Apr 2019 19:29:16 GMT\"0x8D6BC587D42FD4F\"5120share155475176719708693Mon, 08 Apr 2019 19:29:27 GMT\"0x8D6BC5883C4F6C6\"5120share155475176988007936155475177020206087Mon, 08 Apr 2019 19:29:30 GMT\"0x8D6BC58858F57AB\"5120share155475177157408884155475177159107897Mon, 08 Apr 2019 19:29:31 GMT\"0x8D6BC58864FCD93\"5120share155475178911403525Mon, 08 Apr 2019 19:29:49 GMT\"0x8D6BC5890DFD41D\"5120share155475179097306468155475179114007955Mon, 08 Apr 2019 19:29:51 GMT\"0x8D6BC5891FEE1D4\"5120share155475181212203235155475181227802967Mon, 08 Apr 2019 19:30:12 GMT\"0x8D6BC589EA3450E\"5120share155475181868403345155475181884608003Mon, 08 Apr 2019 19:30:18 GMT\"0x8D6BC58A282B48C\"5120share155475184138600177Mon, 08 Apr 2019 19:30:41 GMT\"0x8D6BC58AFF32AE1\"5120share155475184266206951155475184281907009Mon, 08 Apr 2019 19:30:42 GMT\"0x8D6BC58B0CDFAAB\"5120share155475186824404656155475186831303601Mon, 08 Apr 2019 19:31:08 GMT\"0x8D6BC58C0003811\"5120share155475189858508025Mon, 08 Apr 2019 19:31:38 GMT\"0x8D6BC58D21CC15D\"5120share155475190034402522155475190052901131Mon, 08 Apr 2019 19:31:40 GMT\"0x8D6BC58D33259C3\"5120share155475193157504293155475193166407423Mon, 08 Apr 2019 19:32:11 GMT\"0x8D6BC58E5C0D84B\"5120share155475193557900473Mon, 08 Apr 2019 19:32:15 GMT\"0x8D6BC58E8124881\"5120share155475193600802252155475193605500784Mon, 08 Apr 2019 19:32:16 GMT\"0x8D6BC58E85C58C2\"5120share155475195335000537155475195365007547Mon, 08 Apr 2019 19:32:33 GMT\"0x8D6BC58F2D89C12\"5120share155475198066706131Mon, 08 Apr 2019 19:33:00 GMT\"0x8D6BC59030705B8\"5120share155475198240705556155475198259005644Mon, 08 Apr 2019 19:33:02 GMT\"0x8D6BC590419D5AA\"5120share155475201169004998155475201178007996Mon, 08 Apr 2019 19:33:31 GMT\"0x8D6BC59157FA1C2\"5120share155475202704707777Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591E9818F7\"5120share155475202754808460155475202759505045Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591EEAE023\"5120share155475204632303570155475204635506063Mon, 08 Apr 2019 19:34:06 GMT\"0x8D6BC592A15D46F\"5120share155475205353305046Mon, 08 Apr 2019 19:34:13 GMT\"0x8D6BC592E644230\"5120share155475205475905531155475205490801744Mon, 08 Apr 2019 19:34:14 GMT\"0x8D6BC592F35CD8D\"5120share155475208511309322155475208519000035Mon, 08 Apr 2019 19:34:45 GMT\"0x8D6BC594142FC2C\"5120share155475213197909445Mon, 08 Apr 2019 19:35:32 GMT\"0x8D6BC595D68D14F\"5120share155475213367802891155475213384803713Mon, 08 Apr 2019 19:35:33 GMT\"0x8D6BC595E447A15\"5120share155475213707206020Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59602A0370\"5120share155475213744706822155475213752509985Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59606FB8B2\"5120share155475214794702930Mon, 08 Apr 2019 19:35:47 GMT\"0x8D6BC5966A3EC22\"5120share155475214823505337155475214829508671Mon, 08 Apr 2019 19:35:48 GMT\"0x8D6BC5966D92988\"5120share155475215298705094155475215300205553Mon, 08 Apr 2019 19:35:53 GMT\"0x8D6BC5969A95A5A\"5120share155475216173403949155475216180802232Mon, 08 Apr 2019 19:36:01 GMT\"0x8D6BC596EEEDADE\"5120share155475217121403125155475217122800002Mon, 08 Apr 2019 19:36:11 GMT\"0x8D6BC597484D027\"5120share155475217263204833Mon, 08 Apr 2019 19:36:12 GMT\"0x8D6BC597561BC6F\"5120share155475217387007369155475217401507088Mon, 08 Apr 2019 19:36:14 GMT\"0x8D6BC59763481F4\"5120share155475220552708755155475220560608322Mon, 08 Apr 2019 19:36:45 GMT\"0x8D6BC5989084A76\"5120share155475220774803407Mon, 08 Apr 2019 19:36:47 GMT\"0x8D6BC598A5B8D28\"5120share155475221071605263155475221106301392Mon, 08 Apr 2019 19:36:51 GMT\"0x8D6BC598C54F1AF\"5120share155475225507606471155475225524909246Mon, 08 Apr 2019 19:37:35 GMT\"0x8D6BC59A6AAE3BB\"5120share155475230698007235Mon, 08 Apr 2019 19:38:27 GMT\"0x8D6BC59C588E150\"5120share155475230871003676155475230890106141Mon, 08 Apr 2019 19:38:28 GMT\"0x8D6BC59C699F151\"5120share155475233776008655155475233785005541Mon, 08 Apr 2019 19:38:57 GMT\"0x8D6BC59D7DAC197\"5120share155475235014304485Mon, 08 Apr 2019 19:39:10 GMT\"0x8D6BC59DF430BEF\"5120share155475235212806665155475235231203279Mon, 08 Apr 2019 19:39:12 GMT\"0x8D6BC59E0797740\"5120share155475238276207561155475238285300495Mon, 08 Apr 2019 19:39:42 GMT\"0x8D6BC59F2ADC82F\"5120share155475238729909241Mon, 08 Apr 2019 19:39:47 GMT\"0x8D6BC59F55FF731\"5120share155475239006203805155475239039302086Mon, 08 Apr 2019 19:39:50 GMT\"0x8D6BC59F738D496\"5120share155475243544901771155475243561206398Mon, 08 Apr 2019 19:40:35 GMT\"0x8D6BC5A122D2328\"5120share155475245648505760Mon, 08 Apr 2019 19:40:56 GMT\"0x8D6BC5A1E9DD271\"5120share155475245916604643155475245966500634Mon, 08 Apr 2019 19:40:59 GMT\"0x8D6BC5A20829ADA\"5120share155475250195404339Mon, 08 Apr 2019 19:41:42 GMT\"0x8D6BC5A39ACF55C\"5120share155475250300606728155475250316308808Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A705901\"5120share155475250327007723155475250342102216Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A8CC037\"5120share155475252973307394155475252980700184Mon, 08 Apr 2019 19:42:09 GMT\"0x8D6BC5A4A465B88\"5120share155475253579801114Mon, 08 Apr 2019 19:42:15 GMT\"0x8D6BC5A4DD3360A\"5120share155475253615908936155475253620602585Mon, 08 Apr 2019 19:42:16 GMT\"0x8D6BC5A4E0F8242\"5120share155475255423200173155475255424804170Mon, 08 Apr 2019 19:42:34 GMT\"0x8D6BC5A58D20D20\"5120share155475256918201765Mon, 08 Apr 2019 19:42:49 GMT\"0x8D6BC5A61D20C03\"5120share155475257313200562155475257330407326Mon, 08 Apr 2019 19:42:53 GMT\"0x8D6BC5A643484DF\"5120share155475261648802468155475261657200328Mon, 08 Apr 2019 19:43:36 GMT\"0x8D6BC5A7DFE66EB\"5120share155475284537903436Mon, 08 Apr 2019 19:47:25 GMT\"0x8D6BC5B0671E77C\"5120share155475284722006303155475284740403036Mon, 08 Apr 2019 19:47:27 GMT\"0x8D6BC5B0792CDEB\"5120share155475287947008358155475287956001391Mon, 08 Apr 2019 19:47:59 GMT\"0x8D6BC5B1ABD463D\"5120share155475290653907313Mon, 08 Apr 2019 19:48:27 GMT\"0x8D6BC5B2B35A0B0\"5120share155475290863102164155475290878704952Mon, 08 Apr 2019 19:48:28 GMT\"0x8D6BC5B2C2B8A11\"5120share155475293499502985155475293507401792Mon, 08 Apr 2019 19:48:55 GMT\"0x8D6BC5B3BD5D6EB\"5120share155475295976004766Mon, 08 Apr 2019 19:49:19 GMT\"0x8D6BC5B4A860251\"5120share155475296021608512155475296026303878Mon, 08 Apr 2019 19:49:20 GMT\"0x8D6BC5B4AD3697B\"5120share155475296820309510Mon, 08 Apr 2019 19:49:28 GMT\"0x8D6BC5B4F93EA28\"5120share155475296939401595155475296953503138Mon, 08 Apr 2019 19:49:29 GMT\"0x8D6BC5B505FC795\"5120share155475297470107004Mon, 08 Apr 2019 19:49:34 GMT\"0x8D6BC5B5373961F\"5120share155475297592101018155475297607704854Mon, 08 Apr 2019 19:49:36 GMT\"0x8D6BC5B5445CD04\"5120share155475297876605841155475297878208632Mon, 08 Apr 2019 19:49:38 GMT\"0x8D6BC5B55DBFE86\"5120share155475299397906992155475299405708891Mon, 08 Apr 2019 19:49:54 GMT\"0x8D6BC5B5EFC6E6E\"5120share155475299913707337Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B61FEA3A6\"5120share155475299946601316155475299949700439Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B6235EEB4\"5120share155475300396100954155475300404004479Mon, 08 Apr 2019 19:50:04 GMT\"0x8D6BC5B64F0C1CC\"5120share155475301402209522155475301403805856Mon, 08 Apr 2019 19:50:14 GMT\"0x8D6BC5B6ADF6C51\"5120share155475316409304389Mon, 08 Apr 2019 19:52:44 GMT\"0x8D6BC5BC45FB105\"5120share155475316701500838155475316738004973Mon, 08 Apr 2019 19:52:47 GMT\"0x8D6BC5BC655866D\"5120share155475317539403995Mon, 08 Apr 2019 19:52:55 GMT\"0x8D6BC5BCB1EA12B\"5120share155475317800909177155475317833200173Mon, 08 Apr 2019 19:52:58 GMT\"0x8D6BC5BCCDF148B\"5120share155475319784700002Mon, 08 Apr 2019 19:53:18 GMT\"0x8D6BC5BD890AFBA\"5120share155475320035305710155475320054604653Mon, 08 Apr 2019 19:53:20 GMT\"0x8D6BC5BDA120C7D\"5120share155475321453709711155475321471603175Mon, 08 Apr 2019 19:53:34 GMT\"0x8D6BC5BE28AC8EF\"5120share155475322026008825155475322041805575Mon, 08 Apr 2019 19:53:40 GMT\"0x8D6BC5BE5F49E4E\"5120share155475323941203708155475323950603607Mon, 08 Apr 2019 19:53:59 GMT\"0x8D6BC5BF14A51A0\"5120share155475325634904509Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB4EC9A6\"5120share155475325670909242155475325677202784Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB8F5645\"5120share155475326611306943Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C011FE6E9\"5120share155475326661501159155475326664604503Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C01716DB6\"5120share155475327189403526155475327191304764Mon, 08 Apr 2019 19:54:31 GMT\"0x8D6BC5C04937E60\"5120share155475327494604322Mon, 08 Apr 2019 19:54:34 GMT\"0x8D6BC5C0663AE38\"5120share155475327530806721155475327535508149Mon, 08 Apr 2019 19:54:35 GMT\"0x8D6BC5C06A1DC9B\"5120share155475328255505049155475328257006085Mon, 08 Apr 2019 19:54:42 GMT\"0x8D6BC5C0AEF7766\"5120share155475328863109159Mon, 08 Apr 2019 19:54:48 GMT\"0x8D6BC5C0E8D4F9D\"5120share155475328904001164155475328914908575Mon, 08 Apr 2019 19:54:49 GMT\"0x8D6BC5C0EDA736C\"5120share155475329036209298155475329037705496Mon, 08 Apr 2019 19:54:50 GMT\"0x8D6BC5C0F96FA2F\"5120share155475331642907508155475331644500640Mon, 08 Apr 2019 19:55:16 GMT\"0x8D6BC5C1F1F4508\"5120share155475345988903733Mon, 08 Apr 2019 19:57:39 GMT\"0x8D6BC5C74A83E08\"5120share155475346120203269155475346137401701Mon, 08 Apr 2019 19:57:41 GMT\"0x8D6BC5C75A1910E\"5120share155475348842001284155475348849801789Mon, 08 Apr 2019 19:58:08 GMT\"0x8D6BC5C85B7559C\"5120share155475350558503873Mon, 08 Apr 2019 19:58:25 GMT\"0x8D6BC5C8FEF8036\"5120share155475350851006247155475350887009432Mon, 08 Apr 2019 19:58:29 GMT\"0x8D6BC5C91E416E1\"5120share155475351180102812Mon, 08 Apr 2019 19:58:31 GMT\"0x8D6BC5C93A41FBD\"5120share155475351470507341155475351506502543Mon, 08 Apr 2019 19:58:35 GMT\"0x8D6BC5C959AFCFD\"5120share155475352932808685Mon, 08 Apr 2019 19:58:49 GMT\"0x8D6BC5C9E145DFA\"5120share155475353242702891155475353278206163Mon, 08 Apr 2019 19:58:52 GMT\"0x8D6BC5CA0242D42\"5120share155475353346905524Mon, 08 Apr 2019 19:58:53 GMT\"0x8D6BC5CA08349F0\"5120share155475353468900913155475353483008374Mon, 08 Apr 2019 19:58:54 GMT\"0x8D6BC5CA1533041\"5120share155475355857203059155475355874901945Mon, 08 Apr 2019 19:59:18 GMT\"0x8D6BC5CAF9F1851\"5120share155475356174100226155475356192106373Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB1835DA5\"5120share155475356209400777155475356216307366Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB19D9B99\"5120share155475358049205317155475358066509885Mon, 08 Apr 2019 19:59:40 GMT\"0x8D6BC5CBCACA7C2\"5120share155475366230302044Mon, 08 Apr 2019 20:01:02 GMT\"0x8D6BC5CED591D8A\"5120share155475366364804933Mon, 08 Apr 2019 20:01:03 GMT\"0x8D6BC5CEE27F678\"5120share155475366490103025155475366523205132Mon, 08 Apr 2019 20:01:05 GMT\"0x8D6BC5CEF191387\"5120share155475366655601285155475366688603242Mon, 08 Apr 2019 20:01:07 GMT\"0x8D6BC5CF0154CEF\"5120share155475370842304942155475370858108299Mon, 08 Apr 2019 20:01:48 GMT\"0x8D6BC5D08EF6C61\"5120share155475371008508000155475371025709092Mon, 08 Apr 2019 20:01:50 GMT\"0x8D6BC5D09EE9A90\"5120share155475383362102478Mon, 08 Apr 2019 20:03:53 GMT\"0x8D6BC5D536638B9\"5120share155475383401206068155475383407402017Mon, 08 Apr 2019 20:03:54 GMT\"0x8D6BC5D53A849FD\"5120share155475384949101413155475384950602486Mon, 08 Apr 2019 20:04:09 GMT\"0x8D6BC5D5CDC57E0\"5120share155475388168501173Mon, 08 Apr 2019 20:04:41 GMT\"0x8D6BC5D7007708F\"5120share155475388206306306155475388212605083Mon, 08 Apr 2019 20:04:42 GMT\"0x8D6BC5D704B932A\"5120share155475389763505601155475389765100894Mon, 08 Apr 2019 20:04:57 GMT\"0x8D6BC5D798CE485\"5120share155475394309608718Mon, 08 Apr 2019 20:05:43 GMT\"0x8D6BC5D94B5C048\"5120share155475394595108491155475394631101470Mon, 08 Apr 2019 20:05:46 GMT\"0x8D6BC5D969F99F7\"5120share155475396399505138Mon, 08 Apr 2019 20:06:04 GMT\"0x8D6BC5DA12A25B4\"5120share155475396692905515155475396728907571Mon, 08 Apr 2019 20:06:07 GMT\"0x8D6BC5DA320C5CE\"5120share155475398380104275Mon, 08 Apr 2019 20:06:23 GMT\"0x8D6BC5DACF9BC9C\"5120share155475398671802297155475398707107942Mon, 08 Apr 2019 20:06:27 GMT\"0x8D6BC5DAEEC42B4\"5120share155475399277409298155475399295700576Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB26E2AAC\"5120share155475399378204371Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB2DB163E\"5120share155475399491706243155475399496401759Mon, 08 Apr 2019 20:06:35 GMT\"0x8D6BC5DB3906F40\"5120share155475401103303929155475401106408627Mon, 08 Apr 2019 20:06:51 GMT\"0x8D6BC5DBD28D693\"5120share155475401467406311155475401485002516Mon, 08 Apr 2019 20:06:54 GMT\"0x8D6BC5DBF7A1537\"5120share155475403593209731155475403610809563Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC24D966\"5120share155475403681604817Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC856477\"5120share155475403804608586155475403819608497Mon, 08 Apr 2019 20:07:18 GMT\"0x8D6BC5DCD596CBF\"5120share155475406417706107155475406425506743Mon, 08 Apr 2019 20:07:44 GMT\"0x8D6BC5DDCE0E7F3\"5120share155475409067409281Mon, 08 Apr 2019 20:08:10 GMT\"0x8D6BC5DECA1EDC3\"5120share155475409203700405155475409217902614Mon, 08 Apr 2019 20:08:12 GMT\"0x8D6BC5DED85E721\"5120share155475411773004926155475411779200834Mon, 08 Apr 2019 20:08:37 GMT\"0x8D6BC5DFCCBABB5\"5120share155475427414200264Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E59F4C683\"5120share155475427489601007155475427495901119Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E5A70C1F9\"5120share155475429027905961155475429029507552Mon, 08 Apr 2019 20:11:30 GMT\"0x8D6BC5E6395892F\"5120share155475435022204571Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E874CA5F0\"5120share155475435063303249155475435069506502Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E87947DCC\"5120share155475436927404231155475436930502552Mon, 08 Apr 2019 20:12:49 GMT\"0x8D6BC5E92ADD1DA\"5120share155475439671008450Mon, 08 Apr 2019 20:13:16 GMT\"0x8D6BC5EA316E7EB\"5120share155475439953407644155475439988507010Mon, 08 Apr 2019 20:13:20 GMT\"0x8D6BC5EA4F9D7E0\"5120share155475444598308995155475444616001311Mon, 08 Apr 2019 20:14:06 GMT\"0x8D6BC5EC08F21C4\"5120share155475446176702336Mon, 08 Apr 2019 20:14:21 GMT\"0x8D6BC5EC9DCAA60\"5120share155475446353703583Mon, 08 Apr 2019 20:14:23 GMT\"0x8D6BC5ECAD67D62\"5120share155475446417801472155475446422504881Mon, 08 Apr 2019 20:14:24 GMT\"0x8D6BC5ECB4098FA\"5120share155475446457701072155475446492200309Mon, 08 Apr 2019 20:14:25 GMT\"0x8D6BC5ECBBDD5EB\"5120share155475446793804231Mon, 08 Apr 2019 20:14:28 GMT\"0x8D6BC5ECD898BFE\"5120share155475447083302210155475447120206734Mon, 08 Apr 2019 20:14:31 GMT\"0x8D6BC5ECF7C80C3\"5120share155475447390505685Mon, 08 Apr 2019 20:14:34 GMT\"0x8D6BC5ED118A561\"5120share155475447650205596155475447683107189Mon, 08 Apr 2019 20:14:36 GMT\"0x8D6BC5ED2D6B049\"5120share155475448038305903155475448041405576Mon, 08 Apr 2019 20:14:40 GMT\"0x8D6BC5ED4E6924A\"5120share155475450906908487155475450924302789Mon, 08 Apr 2019 20:15:09 GMT\"0x8D6BC5EE6288199\"5120share155475451925508933155475451943306507Mon, 08 Apr 2019 20:15:19 GMT\"0x8D6BC5EEC3A48AC\"5120share155475452102206244155475452117803090Mon, 08 Apr 2019 20:15:21 GMT\"0x8D6BC5EED45148F\"5120share155475458349904294Mon, 08 Apr 2019 20:16:23 GMT\"0x8D6BC5F126BFD9D\"5120share155475458633807389155475458669001847Mon, 08 Apr 2019 20:16:26 GMT\"0x8D6BC5F1451C2E6\"5120share155475463230409183155475463249501576Mon, 08 Apr 2019 20:17:12 GMT\"0x8D6BC5F2F9EB0AB\"5120share155475465763009191Mon, 08 Apr 2019 20:17:37 GMT\"0x8D6BC5F3E888648\"5120share155475465803604070155475465806806197Mon, 08 Apr 2019 20:17:38 GMT\"0x8D6BC5F3ECB7D61\"5120share155475467401603495155475467403109929Mon, 08 Apr 2019 20:17:54 GMT\"0x8D6BC5F484F4C93\"5120share155475470031000609Mon, 08 Apr 2019 20:18:20 GMT\"0x8D6BC5F5808BA98\"5120share155475470316101418155475470351307709Mon, 08 Apr 2019 20:18:23 GMT\"0x8D6BC5F59F0FF39\"5120share155475475094605443155475475112102208Mon, 08 Apr 2019 20:19:11 GMT\"0x8D6BC5F76528B41\"5120share155475475941800301Mon, 08 Apr 2019 20:19:19 GMT\"0x8D6BC5F7B45E4E8\"5120share155475476223909847155475476259506792Mon, 08 Apr 2019 20:19:22 GMT\"0x8D6BC5F7D2A69E0\"5120share155475477308706566Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F835A1E32\"5120share155475477343104020155475477346201298Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F839403BF\"5120share155475478842801827155475478845901923Mon, 08 Apr 2019 20:19:48 GMT\"0x8D6BC5F8C835D24\"5120share155475480525700178Mon, 08 Apr 2019 20:20:05 GMT\"0x8D6BC5F96990DF2\"5120share155475480688709905155475480706700743Mon, 08 Apr 2019 20:20:07 GMT\"0x8D6BC5F97ACA80F\"5120share155475480855303004155475480891408138Mon, 08 Apr 2019 20:20:09 GMT\"0x8D6BC5F98C6A7B8\"5120share155475485447703891Mon, 08 Apr 2019 20:20:54 GMT\"0x8D6BC5FB3EC13D7\"5120share155475485733007299155475485750201983Mon, 08 Apr 2019 20:20:57 GMT\"0x8D6BC5FB5BBFA8C\"5120share155475485742005482155475485881007383Mon, 08 Apr 2019 20:20:58 GMT\"0x8D6BC5FB681758A\"5120share155475490613807301155475490631909875Mon, 08 Apr 2019 20:21:46 GMT\"0x8D6BC5FD2D493F0\"5120share155475491107004753Mon, 08 Apr 2019 20:21:51 GMT\"0x8D6BC5FD5AAA68E\"5120share155475491390609459155475491425402551Mon, 08 Apr 2019 20:21:54 GMT\"0x8D6BC5FD7906574\"5120share155475494829505353Mon, 08 Apr 2019 20:22:28 GMT\"0x8D6BC5FEBDAB205\"5120share155475495142602901155475495180000859Mon, 08 Apr 2019 20:22:31 GMT\"0x8D6BC5FEDF2097C\"5120share155475496856303648155475496873906374Mon, 08 Apr 2019 20:22:48 GMT\"0x8D6BC5FF809FBAD\"5120share155475502329509281Mon, 08 Apr 2019 20:23:43 GMT\"0x8D6BC60188F5C28\"5120share155475502686502140155475502722501031Mon, 08 Apr 2019 20:23:47 GMT\"0x8D6BC601AE7E933\"5120share155475503648203085155475503665708653Mon, 08 Apr 2019 20:23:57 GMT\"0x8D6BC6020A88DA4\"5120share155475507644605686155475507662104771Mon, 08 Apr 2019 20:24:36 GMT\"0x8D6BC603856E563\"5120share155475508896100844Mon, 08 Apr 2019 20:24:49 GMT\"0x8D6BC603FB84260\"5120share155475509358209217155475509401301874Mon, 08 Apr 2019 20:24:54 GMT\"0x8D6BC6042BB49CF\"5120share155475510662301217Mon, 08 Apr 2019 20:25:06 GMT\"0x8D6BC604A3D84CA\"5120share155475511009707995155475511051903727Mon, 08 Apr 2019 20:25:10 GMT\"0x8D6BC604C8FF2EE\"5120share155475514818002641155475514839702872Mon, 08 Apr 2019 20:25:48 GMT\"0x8D6BC606325B5A5\"5120share155475516302805972155475516324601842Mon, 08 Apr 2019 20:26:03 GMT\"0x8D6BC606BFD9DFF\"5120share155475518456808035Mon, 08 Apr 2019 20:26:24 GMT\"0x8D6BC6078B50416\"5120share155475518802906635155475518844705589Mon, 08 Apr 2019 20:26:28 GMT\"0x8D6BC607B0588B4\"5120share155475520133703444Mon, 08 Apr 2019 20:26:41 GMT\"0x8D6BC6082ADE91A\"5120share155475520414501691155475520449405158Mon, 08 Apr 2019 20:26:44 GMT\"0x8D6BC6084900BC9\"5120share155475524512000654155475524532709861Mon, 08 Apr 2019 20:27:25 GMT\"0x8D6BC609CEC662B\"5120share155475525216501306155475525233808863Mon, 08 Apr 2019 20:27:32 GMT\"0x8D6BC60A1135FEA\"5120share155475527372805529Mon, 08 Apr 2019 20:27:53 GMT\"0x8D6BC60ADD497F0\"5120share155475527768705135155475527803906164Mon, 08 Apr 2019 20:27:58 GMT\"0x8D6BC60B0668E79\"5120share155475537776009466155475537793501077Mon, 08 Apr 2019 20:29:38 GMT\"0x8D6BC60EBF138A0\"5120share155475538742205629Mon, 08 Apr 2019 20:29:47 GMT\"0x8D6BC60F19A097B\"5120share155475539026708478155475539062007850Mon, 08 Apr 2019 20:29:50 GMT\"0x8D6BC60F380F4B0\"5120share155475540318203360Mon, 08 Apr 2019 20:30:03 GMT\"0x8D6BC60FAFB33F1\"5120share155475540605901231155475540642605751Mon, 08 Apr 2019 20:30:06 GMT\"0x8D6BC60FCEA6E84\"5120share155475540935609132Mon, 08 Apr 2019 20:30:09 GMT\"0x8D6BC60FEAAF1B2\"5120share155475541165701615Mon, 08 Apr 2019 20:30:11 GMT\"0x8D6BC61000A3447\"5120share155475541229609722155475541264808030Mon, 08 Apr 2019 20:30:12 GMT\"0x8D6BC6100A0EB7D\"5120share155475541445806778155475541480407617Mon, 08 Apr 2019 20:30:14 GMT\"0x8D6BC6101EAA0A5\"5120share155475545304702291155475545323602346Mon, 08 Apr 2019 20:30:53 GMT\"0x8D6BC6118D0CFEE\"5120share155475547204003265155475547222409343Mon, 08 Apr 2019 20:31:12 GMT\"0x8D6BC6124248E6D\"5120share155475550139503230Mon, 08 Apr 2019 20:31:41 GMT\"0x8D6BC61358A8091\"5120share155475550433101922155475550468409391Mon, 08 Apr 2019 20:31:44 GMT\"0x8D6BC61377F2EA8\"5120share155475551150500012155475551168404026Mon, 08 Apr 2019 20:31:51 GMT\"0x8D6BC613BA9A20E\"5120share155475555173507633155475555190705054Mon, 08 Apr 2019 20:32:32 GMT\"0x8D6BC6153A5066E\"5120share155475562140308052155475562157505328Mon, 08 Apr 2019 20:33:41 GMT\"0x8D6BC617D2807D9\"5120share155475595155305925Mon, 08 Apr 2019 20:39:11 GMT\"0x8D6BC6241D790AF\"5120share155475595442704890155475595478105510Mon, 08 Apr 2019 20:39:14 GMT\"0x8D6BC6243C413DB\"5120share155475599014108328Mon, 08 Apr 2019 20:39:50 GMT\"0x8D6BC6258D71A83\"5120share155475599293303057155475599328109216Mon, 08 Apr 2019 20:39:53 GMT\"0x8D6BC625AB638B0\"5120share155475600155209426155475600172406148Mon, 08 Apr 2019 20:40:01 GMT\"0x8D6BC625FBFBBDC\"5120share155475603777709591155475603795107803Mon, 08 Apr 2019 20:40:38 GMT\"0x8D6BC62754F3FCA\"5120share155475606085105940Mon, 08 Apr 2019 20:41:00 GMT\"0x8D6BC6282FD809D\"5120share155475606369901916155475606405808018Mon, 08 Apr 2019 20:41:04 GMT\"0x8D6BC6284E6446A\"5120share155475611064800671155475611082309772Mon, 08 Apr 2019 20:41:50 GMT\"0x8D6BC62A0C63CDA\"5120share155475734977303059Mon, 08 Apr 2019 21:02:29 GMT\"0x8D6BC658346E681\"5120share155475735146501880155475735163208336Mon, 08 Apr 2019 21:02:31 GMT\"0x8D6BC65844D98C1\"5120share155475736263304813Mon, 08 Apr 2019 21:02:42 GMT\"0x8D6BC658AEE618F\"5120share155475736356107285155475736367500363Mon, 08 Apr 2019 21:02:43 GMT\"0x8D6BC658B76B901\"5120share155475737807009819155475737815207269Mon, 08 Apr 2019 21:02:58 GMT\"0x8D6BC65941C41E8\"5120share155475738194004164155475738198006296Mon, 08 Apr 2019 21:03:02 GMT\"0x8D6BC65965FBEA6\"5120share155475738961001284Mon, 08 Apr 2019 21:03:09 GMT\"0x8D6BC659AF2EC40\"5120share155475739148002318155475739164502260Mon, 08 Apr 2019 21:03:11 GMT\"0x8D6BC659C28D7F4\"5120share155475740405903976Mon, 08 Apr 2019 21:03:24 GMT\"0x8D6BC65A3998949\"5120share155475740686303089155475740718404146Mon, 08 Apr 2019 21:03:27 GMT\"0x8D6BC65A575FA2E\"5120share155475742006802357155475742014108948Mon, 08 Apr 2019 21:03:40 GMT\"0x8D6BC65AD253223\"5120share155475744922504325155475744938400415Mon, 08 Apr 2019 21:04:09 GMT\"0x8D6BC65BE9D9B9B\"5120share155475758392808763Mon, 08 Apr 2019 21:06:23 GMT\"0x8D6BC660EBDADB1\"5120share155475758496902188155475758505300339Mon, 08 Apr 2019 21:06:25 GMT\"0x8D6BC660F6D1FE1\"5120share155475758824600049Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC66114F3747\"5120share155475758856706019155475758859504581Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC6611840340\"5120share155475759971409268155475759983105439Mon, 08 Apr 2019 21:06:39 GMT\"0x8D6BC6618387002\"5120share155475760299604525155475760301209424Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A1C73AD\"5120share155475760350309302Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A70A858\"5120share155475760563302047155475760578902124Mon, 08 Apr 2019 21:06:45 GMT\"0x8D6BC661BCD2289\"5120share155475763254801465155475763262302940Mon, 08 Apr 2019 21:07:12 GMT\"0x8D6BC662BCAF1CE\"5120share155475767636102884Mon, 08 Apr 2019 21:07:56 GMT\"0x8D6BC6645E705FF\"5120share155475767891206281155475767922900229Mon, 08 Apr 2019 21:07:59 GMT\"0x8D6BC66479D03D9\"5120share155475772689703202155475772705609708Mon, 08 Apr 2019 21:08:47 GMT\"0x8D6BC66641EE5E0\"5120share155475776495606014Mon, 08 Apr 2019 21:09:25 GMT\"0x8D6BC667ABDD0A0\"5120share155475776677207052155475776709704200Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667BF13218\"5120share155475776709205233Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667C03C80F\"5120share155475776887404869155475776905403906Mon, 08 Apr 2019 21:09:29 GMT\"0x8D6BC667D1B6282\"5120share155475779606308901155475779615309916Mon, 08 Apr 2019 21:09:56 GMT\"0x8D6BC668D423AEA\"5120share155475779701304538155475779710407082Mon, 08 Apr 2019 21:09:57 GMT\"0x8D6BC668DD31352\"5120share155475791746104367Mon, 08 Apr 2019 21:11:57 GMT\"0x8D6BC66D59D0D93\"5120share155475792025605706155475792060301532Mon, 08 Apr 2019 21:12:00 GMT\"0x8D6BC66D77CF3D7\"5120share155475794486001708Mon, 08 Apr 2019 21:12:24 GMT\"0x8D6BC66E5E653D2\"5120share155475794611908909155475794627300186Mon, 08 Apr 2019 21:12:26 GMT\"0x8D6BC66E6BE37DF\"5120share155475796274909993155475796290807279Mon, 08 Apr 2019 21:12:43 GMT\"0x8D6BC66F0B39849\"5120share155475797592301938155475797599809651Mon, 08 Apr 2019 21:12:56 GMT\"0x8D6BC66F87694C9\"5120share155475826695006340Mon, 08 Apr 2019 21:17:46 GMT\"0x8D6BC67A5DD6DE4\"5120share155475826745207634155475826751406389Mon, 08 Apr 2019 21:17:47 GMT\"0x8D6BC67A632C490\"5120share155475828346608712155475828348203315Mon, 08 Apr 2019 21:18:03 GMT\"0x8D6BC67AFB7F63D\"5120share155475830359005133Mon, 08 Apr 2019 21:18:23 GMT\"0x8D6BC67BBB396A8\"5120share155475830426407161155475830431009918Mon, 08 Apr 2019 21:18:24 GMT\"0x8D6BC67BC1F40C0\"5120share155475831901901358155475831903400803Mon, 08 Apr 2019 21:18:39 GMT\"0x8D6BC67C4E67C93\"5120share155475857087801674Mon, 08 Apr 2019 21:22:50 GMT\"0x8D6BC685B03A4C2\"5120share155475857508204962155475857512904633Mon, 08 Apr 2019 21:22:55 GMT\"0x8D6BC685D8A4EE5\"5120share155475859715608328155475859718707845Mon, 08 Apr 2019 21:23:17 GMT\"0x8D6BC686AB018A0\"5120share155475862743005093Mon, 08 Apr 2019 21:23:47 GMT\"0x8D6BC687CBE4A2C\"5120share155475863073504871155475863089109018Mon, 08 Apr 2019 21:23:50 GMT\"0x8D6BC687ED0B4FA\"5120share155475866128905048155475866136704161Mon, 08 Apr 2019 21:24:21 GMT\"0x8D6BC6890F95653\"5120share155475866224208442Mon, 08 Apr 2019 21:24:22 GMT\"0x8D6BC68917EC28A\"5120share155475892444006125Mon, 08 Apr 2019 21:28:44 GMT\"0x8D6BC692DBEBA4E\"5120share155475892501907639155475892506500510Mon, 08 Apr 2019 21:28:45 GMT\"0x8D6BC692E1EED0A\"5120share155475894509709349155475894511200899Mon, 08 Apr 2019 21:29:05 GMT\"0x8D6BC693A11C854\"5120share155475901098902468Mon, 08 Apr 2019 21:30:11 GMT\"0x8D6BC696156D3C6\"5120share155475901336906263155475901340008777Mon, 08 Apr 2019 21:30:13 GMT\"0x8D6BC6962C7EDA7\"5120share155475903030807257155475903032309131Mon, 08 Apr 2019 21:30:30 GMT\"0x8D6BC696CDCEF37\"5120share155475917334807763Mon, 08 Apr 2019 21:32:53 GMT\"0x8D6BC69C22F94D0\"5120share155475917631504782155475917666903878Mon, 08 Apr 2019 21:32:56 GMT\"0x8D6BC69C429719B\"5120share155475922224509444155475922241807908Mon, 08 Apr 2019 21:33:42 GMT\"0x8D6BC69DF6E444A\"5120share155475925602205483Mon, 08 Apr 2019 21:34:16 GMT\"0x8D6BC69F375195C\"5120share155475926493206859155475926529100433Mon, 08 Apr 2019 21:34:25 GMT\"0x8D6BC69F92DED3F\"5120share155475931150207051155475931168006048Mon, 08 Apr 2019 21:35:11 GMT\"0x8D6BC6A14A09252\"5120share155475977936309871Mon, 08 Apr 2019 21:42:59 GMT\"0x8D6BC6B2B5BC0D0\"5120share155475978025201878155475978034602234Mon, 08 Apr 2019 21:43:00 GMT\"0x8D6BC6B2BE9A5D2\"5120share155475979938003003155475979942008091Mon, 08 Apr 2019 21:43:19 GMT\"0x8D6BC6B37480077\"5120share155475989025605514Mon, 08 Apr 2019 21:44:50 GMT\"0x8D6BC6B6D7332B1\"5120share155475989171106337155475989187403284Mon, 08 Apr 2019 21:44:51 GMT\"0x8D6BC6B6E6949D0\"5120share155475989380904279Mon, 08 Apr 2019 21:44:53 GMT\"0x8D6BC6B6F96205A\"5120share155475989459601580155475989469503324Mon, 08 Apr 2019 21:44:54 GMT\"0x8D6BC6B7012C9AE\"5120share155475990723502169Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77880AB0\"5120share155475990745006088155475990751106761Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77B1CA53\"5120share155475991324407391155475991328309141Mon, 08 Apr 2019 21:45:13 GMT\"0x8D6BC6B7B26E28D\"5120share155475991799108400155475991806701120Mon, 08 Apr 2019 21:45:18 GMT\"0x8D6BC6B7E059CFB\"5120share155475992088305591155475992089400834Mon, 08 Apr 2019 21:45:20 GMT\"0x8D6BC6B7FAC1DF3\"5120share155475995154906475Mon, 08 Apr 2019 21:45:51 GMT\"0x8D6BC6B92073E46\"5120share155475995424405105155475995457206560Mon, 08 Apr 2019 21:45:54 GMT\"0x8D6BC6B93D4CF64\"5120share155476000575809494155476000592307413Mon, 08 Apr 2019 21:46:46 GMT\"0x8D6BC6BB26FC664\"5120share155476000809002219Mon, 08 Apr 2019 21:46:48 GMT\"0x8D6BC6BB3BAA531\"5120share155476003381902159Mon, 08 Apr 2019 21:47:13 GMT\"0x8D6BC6BC3033DC1\"5120share155476003538801520155476003554406911Mon, 08 Apr 2019 21:47:15 GMT\"0x8D6BC6BC40AEB35\"5120share155476006367901271155476006375105324Mon, 08 Apr 2019 21:47:43 GMT\"0x8D6BC6BD4DA4CF3\"5120share155476006464706612Mon, 08 Apr 2019 21:47:44 GMT\"0x8D6BC6BD562C52B\"5120share155476020596003587Mon, 08 Apr 2019 21:50:05 GMT\"0x8D6BC6C2995BB9F\"5120share155476020640509691155476020643607403Mon, 08 Apr 2019 21:50:06 GMT\"0x8D6BC6C29DE43BA\"5120share155476022213002952155476022214307559Mon, 08 Apr 2019 21:50:22 GMT\"0x8D6BC6C333B110F\"5120share155476025129303157Mon, 08 Apr 2019 21:50:51 GMT\"0x8D6BC6C44A3EB6D\"5120share155476025257708167155476025273004331Mon, 08 Apr 2019 21:50:52 GMT\"0x8D6BC6C457F6F89\"5120share155476026709207569Mon, 08 Apr 2019 21:51:07 GMT\"0x8D6BC6C4E0EDB9C\"5120share155476026842807935155476026858005332Mon, 08 Apr 2019 21:51:08 GMT\"0x8D6BC6C4EF0F085\"5120share155476028011706632155476028019200644Mon, 08 Apr 2019 21:51:20 GMT\"0x8D6BC6C55DD40E8\"5120share155476028733301755Mon, 08 Apr 2019 21:51:27 GMT\"0x8D6BC6C5A2B1164\"5120share155476028990007932155476029022300298Mon, 08 Apr 2019 21:51:30 GMT\"0x8D6BC6C5BE4364F\"5120share155476029409203644155476029417004479Mon, 08 Apr 2019 21:51:34 GMT\"0x8D6BC6C5E323F08\"5120share155476033140808210155476033156802521Mon, 08 Apr 2019 21:52:11 GMT\"0x8D6BC6C74881F50\"5120share155476034088907107Mon, 08 Apr 2019 21:52:20 GMT\"0x8D6BC6C7A02E996\"5120share155476034117100915155476034120003425Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A32BF58\"5120share155476034139001386Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A524E51\"5120share155476034165201091155476034168404201Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A7F5C77\"5120share155476035937201981155476035938600086Mon, 08 Apr 2019 21:52:39 GMT\"0x8D6BC6C850C4063\"5120share155476036421402002155476036422702027Mon, 08 Apr 2019 21:52:44 GMT\"0x8D6BC6C87EC265B\"5120share155476048267109256Mon, 08 Apr 2019 21:54:42 GMT\"0x8D6BC6CCE99472D\"5120share155476048527507829155476048559500422Mon, 08 Apr 2019 21:54:45 GMT\"0x8D6BC6CD0571965\"5120share155476048713809104Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD136D3F0\"5120share155476048740007315Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD171D0C6\"5120share155476048839103036155476048854303354Mon, 08 Apr 2019 21:54:48 GMT\"0x8D6BC6CD20D2221\"5120share155476048911309646155476048929702628Mon, 08 Apr 2019 21:54:49 GMT\"0x8D6BC6CD27FCECC\"5120share155476051277403297Mon, 08 Apr 2019 21:55:12 GMT\"0x8D6BC6CE0906704\"5120share155476051454002744155476051472201385Mon, 08 Apr 2019 21:55:14 GMT\"0x8D6BC6CE1A6B524\"5120share155476051662706835155476051671905991Mon, 08 Apr 2019 21:55:16 GMT\"0x8D6BC6CE2D7A3CA\"5120share155476051701609760155476051709206998Mon, 08 Apr 2019 21:55:17 GMT\"0x8D6BC6CE310B624\"5120share155476052779709407155476052795604667Mon, 08 Apr 2019 21:55:28 GMT\"0x8D6BC6CE9963684\"5120share155476054363301934155476054372205907Mon, 08 Apr 2019 21:55:43 GMT\"0x8D6BC6CF2EF3F18\"5120share155476054757102427Mon, 08 Apr 2019 21:55:48 GMT\"0x8D6BC6CF5881A20\"5120share155476054966904265155476054985500146Mon, 08 Apr 2019 21:55:49 GMT\"0x8D6BC6CF69A57B2\"5120share155476058378901492155476058388001989Mon, 08 Apr 2019 21:56:23 GMT\"0x8D6BC6D0AE1689F\"5120share155476063180009911Mon, 08 Apr 2019 21:57:11 GMT\"0x8D6BC6D277B622E\"5120share155476063439108000155476063471007018Mon, 08 Apr 2019 21:57:14 GMT\"0x8D6BC6D2937A4ED\"5120share155476067663009343155476067679203410Mon, 08 Apr 2019 21:57:56 GMT\"0x8D6BC6D424D09B8\"5120share155476081678509800Mon, 08 Apr 2019 22:00:16 GMT\"0x8D6BC6D95AD4D03\"5120share155476081824207433155476081838207562Mon, 08 Apr 2019 22:00:18 GMT\"0x8D6BC6D96A86EE7\"5120share155476083644003555155476083645604348Mon, 08 Apr 2019 22:00:36 GMT\"0x8D6BC6DA167B245\"5120share155476088823106626Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC042AE74\"5120share155476088871505002155476088876204939Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC093FF80\"5120share155476090573808731155476090575302750Mon, 08 Apr 2019 22:01:45 GMT\"0x8D6BC6DCAB58E0F\"5120share155476090608205029Mon, 08 Apr 2019 22:01:46 GMT\"0x8D6BC6DCAEA4D12\"5120share155476104985707487Mon, 08 Apr 2019 22:04:09 GMT\"0x8D6BC6E20AA4FBE\"5120share155476105287802955155476105322102107Mon, 08 Apr 2019 22:04:13 GMT\"0x8D6BC6E22A9F4B3\"5120share155476109777803762155476109795103407Mon, 08 Apr 2019 22:04:58 GMT\"0x8D6BC6E3D53CC69\"5120share155476116954300139Mon, 08 Apr 2019 22:06:09 GMT\"0x8D6BC6E67F1DB21\"5120share155476117009004633155476117021501167Mon, 08 Apr 2019 22:06:10 GMT\"0x8D6BC6E68551F94\"5120share155476118869803387155476118871409122Mon, 08 Apr 2019 22:06:28 GMT\"0x8D6BC6E735CD088\"5120share155476118922903105Mon, 08 Apr 2019 22:06:29 GMT\"0x8D6BC6E73AB5632\"5120share155476120533605556Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D484823\"5120share155476120585307909155476120590002418Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D9DE244\"5120share155476122658302898155476122661407484Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E89F48854\"5120share155476122685003701Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E8A18FF0E\"5120share155476145760800341Mon, 08 Apr 2019 22:10:57 GMT\"0x8D6BC6F13A3C9CB\"5120share155476145803208912155476145807803209Mon, 08 Apr 2019 22:10:58 GMT\"0x8D6BC6F13EB7CEC\"5120share155476148487709874155476148490906559Mon, 08 Apr 2019 22:11:24 GMT\"0x8D6BC6F23E92BC9\"5120share155476150918404287Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32619FF1\"5120share155476150970200428155476150978009839Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32BA401F\"5120share155476153188200423155476153189701570Mon, 08 Apr 2019 22:12:11 GMT\"0x8D6BC6F3FEAA305\"5120share155476153428008605Mon, 08 Apr 2019 22:12:14 GMT\"0x8D6BC6F41575DF5\"5120share155476153904907363155476153915900604Mon, 08 Apr 2019 22:12:19 GMT\"0x8D6BC6F443F53F5\"5120share155476155793708877155476155795200051Mon, 08 Apr 2019 22:12:37 GMT\"0x8D6BC6F4F73AFB9\"5120share155476176301401148Mon, 08 Apr 2019 22:16:03 GMT\"0x8D6BC6FC9C05EB2\"5120share155476176664806384155476176701407346Mon, 08 Apr 2019 22:16:07 GMT\"0x8D6BC6FCC22FF4A\"5120share155476178788303535Mon, 08 Apr 2019 22:16:28 GMT\"0x8D6BC6FD88E9FB5\"5120share155476179080407360155476179117205282Mon, 08 Apr 2019 22:16:31 GMT\"0x8D6BC6FDA83FC62\"5120share155476180179506672Mon, 08 Apr 2019 22:16:41 GMT\"0x8D6BC6FE0C9A087\"5120share155476180220305217155476180225001346Mon, 08 Apr 2019 22:16:42 GMT\"0x8D6BC6FE10E33F9\"5120share155476181531205041155476181549305114Mon, 08 Apr 2019 22:16:55 GMT\"0x8D6BC6FE9072FB1\"5120share155476181728704394155476181730207146Mon, 08 Apr 2019 22:16:57 GMT\"0x8D6BC6FEA07A689\"5120share155476183783003117155476183801406829Mon, 08 Apr 2019 22:17:18 GMT\"0x8D6BC6FF66FC70E\"5120share155476231957209906Mon, 08 Apr 2019 22:25:19 GMT\"0x8D6BC71157A027C\"5120share155476232290905918Mon, 08 Apr 2019 22:25:23 GMT\"0x8D6BC7117762E7A\"5120share155476232357801883155476232395803880Mon, 08 Apr 2019 22:25:24 GMT\"0x8D6BC7118168C9C\"5120share155476232681309939155476232720800252Mon, 08 Apr 2019 22:25:27 GMT\"0x8D6BC711A0853B4\"5120share155476234459508335Mon, 08 Apr 2019 22:25:44 GMT\"0x8D6BC7124629DF4\"5120share155476234817303197155476234856203585Mon, 08 Apr 2019 22:25:48 GMT\"0x8D6BC7126BFE461\"5120share155476237480606920155476237498603572Mon, 08 Apr 2019 22:26:15 GMT\"0x8D6BC713680FDE6\"5120share155476237658903468155476237676503841Mon, 08 Apr 2019 22:26:16 GMT\"0x8D6BC71378F70E6\"5120share155476241034103932155476241051700267Mon, 08 Apr 2019 22:26:50 GMT\"0x8D6BC714BAD96A2\"5120share155476265660405974Mon, 08 Apr 2019 22:30:56 GMT\"0x8D6BC71DE5CE7CE\"5120share155476265960100490155476266001400047Mon, 08 Apr 2019 22:31:00 GMT\"0x8D6BC71E065AD79\"5120share155476269189900873Mon, 08 Apr 2019 22:31:32 GMT\"0x8D6BC71F3676FEC\"5120share155476269493900402155476269529509546Mon, 08 Apr 2019 22:31:35 GMT\"0x8D6BC71F56D2517\"5120share155476270675209985155476270693002780Mon, 08 Apr 2019 22:31:47 GMT\"0x8D6BC71FC5C8895\"5120share155476273714203829Mon, 08 Apr 2019 22:32:17 GMT\"0x8D6BC720E5D5600\"5120share155476273998201037155476274034707959Mon, 08 Apr 2019 22:32:20 GMT\"0x8D6BC7210466419\"5120share155476274839705508155476274856902425Mon, 08 Apr 2019 22:32:28 GMT\"0x8D6BC72152D7B73\"5120share155476278819401875155476278836408722Mon, 08 Apr 2019 22:33:08 GMT\"0x8D6BC722CE4B9A9\"5120share155476279250304492Mon, 08 Apr 2019 22:33:12 GMT\"0x8D6BC722F5C173B\"5120share155476310454401084Mon, 08 Apr 2019 22:38:24 GMT\"0x8D6BC72E95AF3E9\"5120share155476310739905326155476310787807773Mon, 08 Apr 2019 22:38:28 GMT\"0x8D6BC72EB57CD23\"5120share155476315509400354155476315527009713Mon, 08 Apr 2019 22:39:15 GMT\"0x8D6BC7307973941\"5120share155476431696300605Mon, 08 Apr 2019 22:58:37 GMT\"0x8D6BC75BBFA0376\"5120share155476431803903555155476431812608836Mon, 08 Apr 2019 22:58:38 GMT\"0x8D6BC75BCA40F40\"5120share155476434449006187155476434453202288Mon, 08 Apr 2019 22:59:04 GMT\"0x8D6BC75CC615763\"5120share155476439619101391Mon, 08 Apr 2019 22:59:56 GMT\"0x8D6BC75EB339992\"5120share155476439708209578155476439716101466Mon, 08 Apr 2019 22:59:57 GMT\"0x8D6BC75EBBF56A2\"5120share155476440391303860Mon, 08 Apr 2019 23:00:03 GMT\"0x8D6BC75EFC59254\"5120share155476441919809882Mon, 08 Apr 2019 23:00:19 GMT\"0x8D6BC75F8E84132\"5120share155476442078600281155476442100203874Mon, 08 Apr 2019 23:00:21 GMT\"0x8D6BC75F9FB98CD\"5120share155476445648205993Mon, 08 Apr 2019 23:00:56 GMT\"0x8D6BC760F317FE7\"5120share155476445803400883155476445823708321Mon, 08 Apr 2019 23:00:58 GMT\"0x8D6BC76102C0ED4\"5120share155476448512502130155476448520901124Mon, 08 Apr 2019 23:01:25 GMT\"0x8D6BC76203FC0A1\"5120share155476449148305636155476449156002875Mon, 08 Apr 2019 23:01:31 GMT\"0x8D6BC76240A4F5B\"5120share155476451224507051Mon, 08 Apr 2019 23:01:52 GMT\"0x8D6BC763071C475\"5120share155476451387005113155476451409200862Mon, 08 Apr 2019 23:01:54 GMT\"0x8D6BC7631766C6A\"5120share155476454247600113155476454255808131Mon, 08 Apr 2019 23:02:22 GMT\"0x8D6BC76426E1E01\"5120share155476454745500618Mon, 08 Apr 2019 23:02:27 GMT\"0x8D6BC764565FA5E\"5120share155476455021607446155476455057102446Mon, 08 Apr 2019 23:02:30 GMT\"0x8D6BC7647417689\"5120share155476458716904340Mon, 08 Apr 2019 23:03:07 GMT\"0x8D6BC765D11F2F7\"5120share155476459201807048155476459234206562Mon, 08 Apr 2019 23:03:12 GMT\"0x8D6BC766026741C\"5120share155476460868908204155476460885205375Mon, 08 Apr 2019 23:03:28 GMT\"0x8D6BC7669FDEE7E\"5120share155476464610301226155476464626505345Mon, 08 Apr 2019 23:04:06 GMT\"0x8D6BC76804A1D2B\"5120share155476509552004112Mon, 08 Apr 2019 23:11:35 GMT\"0x8D6BC778C11DA05\"5120share155476509649000318155476509657002600Mon, 08 Apr 2019 23:11:36 GMT\"0x8D6BC778CA0CB2B\"5120share155476511542304387155476511546309152Mon, 08 Apr 2019 23:11:55 GMT\"0x8D6BC7797E39BEB\"5120share155476517413101344Mon, 08 Apr 2019 23:12:54 GMT\"0x8D6BC77BAEEAA8D\"5120share155476517496105311155476517504207003Mon, 08 Apr 2019 23:12:55 GMT\"0x8D6BC77BB67D830\"5120share155476519430301159155476519441608194Mon, 08 Apr 2019 23:13:14 GMT\"0x8D6BC77C6F3A3F7\"5120share155476521415002140Mon, 08 Apr 2019 23:13:34 GMT\"0x8D6BC77D2BCBED8\"5120share155476521551909754155476521567608139Mon, 08 Apr 2019 23:13:35 GMT\"0x8D6BC77D3A540D1\"5120share155476522814705024Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB0AE947\"5120share155476522860004891155476522870301250Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB5F942D\"5120share155476524157100256155476524158202664Mon, 08 Apr 2019 23:14:01 GMT\"0x8D6BC77E30CE333\"5120share155476524350705464155476524358205357Mon, 08 Apr 2019 23:14:03 GMT\"0x8D6BC77E4460746\"5120share155476526115609987Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EEBA1057\"5120share155476526161606511155476526168506405Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EF0AB4DE\"5120share155476528567704891155476528569706277Mon, 08 Apr 2019 23:14:47 GMT\"0x8D6BC77FEAC6C77\"5120share155476541308600173Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC784947CC5E\"5120share155476541336401605155476541343509475Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC78497D6CB2\"5120share155476541862407549Mon, 08 Apr 2019 23:16:58 GMT\"0x8D6BC784CA7ADBF\"5120share155476542140001121155476542174500634Mon, 08 Apr 2019 23:17:01 GMT\"0x8D6BC784E84DC17\"5120share155476542538504885Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC78509D81DB\"5120share155476542565004895155476542568006667Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC7850CA2738\"5120share155476543241701826155476543243201196Mon, 08 Apr 2019 23:17:12 GMT\"0x8D6BC7854D01156\"5120share155476544273008434155476544274305609Mon, 08 Apr 2019 23:17:22 GMT\"0x8D6BC785AF5E27A\"5120share155476544945600830Mon, 08 Apr 2019 23:17:29 GMT\"0x8D6BC785EFC69FE\"5120share155476545069609500155476545084404529Mon, 08 Apr 2019 23:17:30 GMT\"0x8D6BC785FD05CC7\"5120share155476546513001319155476546528907473Mon, 08 Apr 2019 23:17:45 GMT\"0x8D6BC78687868BA\"5120share155476547764302784Mon, 08 Apr 2019 23:17:57 GMT\"0x8D6BC786FD65928\"5120share155476547797509162155476547804708222Mon, 08 Apr 2019 23:17:58 GMT\"0x8D6BC787006AD8B\"5120share155476548004608178Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC787149A8DB\"5120share155476548025600059155476548057608757Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC7871955A28\"5120share155476548161101583155476548178500635Mon, 08 Apr 2019 23:18:01 GMT\"0x8D6BC7872415487\"5120share155476551017200699155476551025501651Mon, 08 Apr 2019 23:18:30 GMT\"0x8D6BC788339C452\"5120share155476553000100349155476553016007964Mon, 08 Apr 2019 23:18:50 GMT\"0x8D6BC788F23E794\"5120share155476553515703995Mon, 08 Apr 2019 23:18:55 GMT\"0x8D6BC78921E3A6B\"5120share155476555499605553Mon, 08 Apr 2019 23:19:15 GMT\"0x8D6BC789DE8981A\"5120share155476555791006568155476555799506397Mon, 08 Apr 2019 23:19:18 GMT\"0x8D6BC789FAA847D\"5120share155476556319001694Mon, 08 Apr 2019 23:19:23 GMT\"0x8D6BC78A2D231F0\"5120share155476556594909048155476556627906331Mon, 08 Apr 2019 23:19:26 GMT\"0x8D6BC78A4AA425C\"5120share155476557993103090155476557997202286Mon, 08 Apr 2019 23:19:40 GMT\"0x8D6BC78ACC4513F\"5120share155476561235504876Mon, 08 Apr 2019 23:20:12 GMT\"0x8D6BC78C0167F8D\"5120share155476561420206269155476561435307087Mon, 08 Apr 2019 23:20:14 GMT\"0x8D6BC78C1459AB0\"5120share155476563307809610155476563323908472Mon, 08 Apr 2019 23:20:33 GMT\"0x8D6BC78CC9356F8\"5120share155476563525700309Mon, 08 Apr 2019 23:20:35 GMT\"0x8D6BC78CDC75B1D\"5120share155476565186800149155476565194201836Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D7ACF537\"5120share155476565288908553Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D83D9739\"5120share155476566702204764Mon, 08 Apr 2019 23:21:07 GMT\"0x8D6BC78E0AB5059\"5120share155476566888408884155476566903301978Mon, 08 Apr 2019 23:21:09 GMT\"0x8D6BC78E1DDFA2F\"5120share155476569754601439Mon, 08 Apr 2019 23:21:37 GMT\"0x8D6BC78F2DE4CD2\"5120share155476569837207565155476569846005813Mon, 08 Apr 2019 23:21:38 GMT\"0x8D6BC78F36203BE\"5120share155476571075507322155476571082803282Mon, 08 Apr 2019 23:21:50 GMT\"0x8D6BC78FAC64BC5\"5120share155476573561205412155476573565403349Mon, 08 Apr 2019 23:22:15 GMT\"0x8D6BC79098D6F9D\"5120share155476582496201150Mon, 08 Apr 2019 23:23:44 GMT\"0x8D6BC793EC6F190\"5120share155476582523001983155476582525909945Mon, 08 Apr 2019 23:23:45 GMT\"0x8D6BC793EF41688\"5120share155476582743106751Mon, 08 Apr 2019 23:23:48 GMT\"0x8D6BC79409CAE41\"5120share155476582980100852155476582998703282Mon, 08 Apr 2019 23:23:50 GMT\"0x8D6BC7941CAE726\"5120share155476583944109368155476583945505070Mon, 08 Apr 2019 23:23:59 GMT\"0x8D6BC79476A6827\"5120share155476586034200225Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC7953DD5231\"5120share155476586061108739155476586063802574Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC795409FE33\"5120share155476586220706650155476586229602787Mon, 08 Apr 2019 23:24:22 GMT\"0x8D6BC79550CEB70\"5120share155476587455908529155476587457305551Mon, 08 Apr 2019 23:24:34 GMT\"0x8D6BC795C58879C\"5120share155476590826505721Mon, 08 Apr 2019 23:25:08 GMT\"0x8D6BC7970761A7D\"5120share155476590973604504155476590989309631Mon, 08 Apr 2019 23:25:09 GMT\"0x8D6BC79716D4AFA\"5120share155476591033707299Mon, 08 Apr 2019 23:25:10 GMT\"0x8D6BC7971B27D00\"5120share155476591170101125155476591185309922Mon, 08 Apr 2019 23:25:11 GMT\"0x8D6BC797299505C\"5120share155476593861309453155476593868502630Mon, 08 Apr 2019 23:25:38 GMT\"0x8D6BC798296DD7A\"5120share155476594539707363155476594547109339Mon, 08 Apr 2019 23:25:45 GMT\"0x8D6BC7986A2BCA7\"5120share155476597286003203Mon, 08 Apr 2019 23:26:13 GMT\"0x8D6BC799708A3BD\"5120share155476597464003206155476597484603390Mon, 08 Apr 2019 23:26:14 GMT\"0x8D6BC79982362D7\"5120share155476598426402793Mon, 08 Apr 2019 23:26:24 GMT\"0x8D6BC799DD3927D\"5120share155476598818205759155476598845002383Mon, 08 Apr 2019 23:26:28 GMT\"0x8D6BC79A03EE25F\"5120share155476600772007187155476600781306046Mon, 08 Apr 2019 23:26:47 GMT\"0x8D6BC79ABC9C020\"5120share155476603512906240155476603522107811Mon, 08 Apr 2019 23:27:15 GMT\"0x8D6BC79BC2077CD\"5120share155476612857004763Mon, 08 Apr 2019 23:28:48 GMT\"0x8D6BC79F3D10E56\"5120share155476613124503640155476613162501568Mon, 08 Apr 2019 23:28:51 GMT\"0x8D6BC79F5BF108E\"5120share155476613867709497Mon, 08 Apr 2019 23:28:58 GMT\"0x8D6BC79F9D73AD3\"5120share155476614130107770155476614162206344Mon, 08 Apr 2019 23:29:01 GMT\"0x8D6BC79FB98B873\"5120share155476615325105499Mon, 08 Apr 2019 23:29:13 GMT\"0x8D6BC7A0285F585\"5120share155476615587201364155476615619704021Mon, 08 Apr 2019 23:29:16 GMT\"0x8D6BC7A04482DC2\"5120share155476617256702013Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0DF70F50\"5120share155476617286708690155476617290000740Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0E2A3672\"5120share155476617631503794155476617647401574Mon, 08 Apr 2019 23:29:36 GMT\"0x8D6BC7A105D6D5F\"5120share155476618593504384155476618610007906Mon, 08 Apr 2019 23:29:46 GMT\"0x8D6BC7A161CED7E\"5120share155476619533401752155476619534705354Mon, 08 Apr 2019 23:29:55 GMT\"0x8D6BC7A1B8B2A6E\"5120share155476619683806353Mon, 08 Apr 2019 23:29:56 GMT\"0x8D6BC7A1C6D46CC\"5120share155476619725105811155476619728102750Mon, 08 Apr 2019 23:29:57 GMT\"0x8D6BC7A1CB038C9\"5120share155476621071307980155476621087208340Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A24DEA06B\"5120share155476621179405773155476621180801024Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A25599C50\"5120share155476632270408100Mon, 08 Apr 2019 23:32:02 GMT\"0x8D6BC7A6773D7C7\"5120share155476632303800675155476632307907455Mon, 08 Apr 2019 23:32:03 GMT\"0x8D6BC7A67AC9E05\"5120share155476632430706264Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A6864C391\"5120share155476632463506544155476632466702328Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A689BC5FA\"5120share155476633626802696Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6F8AE711\"5120share155476633665402270155476633669409143Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6FCB6F75\"5120share155476633819602071155476633821109901Mon, 08 Apr 2019 23:32:18 GMT\"0x8D6BC7A70AEB4F1\"5120share155476634347500960155476634349303762Mon, 08 Apr 2019 23:32:23 GMT\"0x8D6BC7A73D7BC04\"5120share155476635498803205155476635500704670Mon, 08 Apr 2019 23:32:35 GMT\"0x8D6BC7A7AB5DD31\"5120share155476636740102128Mon, 08 Apr 2019 23:32:47 GMT\"0x8D6BC7A8217ACEF\"5120share155476636799001553155476636802902322Mon, 08 Apr 2019 23:32:48 GMT\"0x8D6BC7A827742AF\"5120share155476640407007925155476640408806067Mon, 08 Apr 2019 23:33:24 GMT\"0x8D6BC7A97F5475C\"5120share155476642228906194Mon, 08 Apr 2019 23:33:42 GMT\"0x8D6BC7AA2E851DD\"5120share155476642406903205155476642428706870Mon, 08 Apr 2019 23:33:44 GMT\"0x8D6BC7AA405A02A\"5120share155476643556600842Mon, 08 Apr 2019 23:33:55 GMT\"0x8D6BC7AAAD375CF\"5120share155476643735007209155476643755301972Mon, 08 Apr 2019 23:33:57 GMT\"0x8D6BC7AABEFBA98\"5120share155476646013804921155476646023001703Mon, 08 Apr 2019 23:34:20 GMT\"0x8D6BC7AB9720C36\"5120share155476646603504862155476646612508671Mon, 08 Apr 2019 23:34:26 GMT\"0x8D6BC7ABCF7B99B\"5120share155476651939008948Mon, 08 Apr 2019 23:35:19 GMT\"0x8D6BC7ADCB724D3\"5120share155476652060209660155476652075001950Mon, 08 Apr 2019 23:35:20 GMT\"0x8D6BC7ADD868F16\"5120share155476652313402499Mon, 08 Apr 2019 23:35:23 GMT\"0x8D6BC7ADEF47E76\"5120share155476652445009512155476652460906173Mon, 08 Apr 2019 23:35:24 GMT\"0x8D6BC7ADFD4BF9F\"5120share155476653877105120Mon, 08 Apr 2019 23:35:38 GMT\"0x8D6BC7AE85715BC\"5120share155476654052606040155476654075704405Mon, 08 Apr 2019 23:35:40 GMT\"0x8D6BC7AE9734F6D\"5120share155476654689703476155476654698507157Mon, 08 Apr 2019 23:35:47 GMT\"0x8D6BC7AED294572\"5120share155476655472405591155476655481808374Mon, 08 Apr 2019 23:35:54 GMT\"0x8D6BC7AF1D649CF\"5120share155476656612708539Mon, 08 Apr 2019 23:36:06 GMT\"0x8D6BC7AF8A51350\"5120share155476657143404230155476657152808653Mon, 08 Apr 2019 23:36:11 GMT\"0x8D6BC7AFBCA17D2\"5120share155476657399703964155476657419709569Mon, 08 Apr 2019 23:36:14 GMT\"0x8D6BC7AFD60C4A1\"5120share155476661766108474155476661775202619Mon, 08 Apr 2019 23:36:57 GMT\"0x8D6BC7B17564BAD\"5120share155476673272406010Mon, 08 Apr 2019 23:38:52 GMT\"0x8D6BC7B5BF0E3A1\"5120share155476673504406253155476673542105732Mon, 08 Apr 2019 23:38:55 GMT\"0x8D6BC7B5D7931DB\"5120share155476675253901113Mon, 08 Apr 2019 23:39:12 GMT\"0x8D6BC7B67A8B452\"5120share155476675296209288155476675300907031Mon, 08 Apr 2019 23:39:13 GMT\"0x8D6BC7B67F08B7B\"5120share155476676945407999155476676947003222Mon, 08 Apr 2019 23:39:29 GMT\"0x8D6BC7B71C055F1\"5120share155476677410400733155476677419608768Mon, 08 Apr 2019 23:39:34 GMT\"0x8D6BC7B7495E848\"5120share155476678595409185Mon, 08 Apr 2019 23:39:46 GMT\"0x8D6BC7B7BA54AF6\"5120share155476678702907493Mon, 08 Apr 2019 23:39:47 GMT\"0x8D6BC7B7C3787CB\"5120share155476678942303133155476678947007472Mon, 08 Apr 2019 23:39:49 GMT\"0x8D6BC7B7DACAD5C\"5120share155476679257406842155476679289807813Mon, 08 Apr 2019 23:39:53 GMT\"0x8D6BC7B7FC83C47\"5120share155476681265205823155476681268306939Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8B81FC62\"5120share155476681295008223Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8BAA029D\"5120share155476683674701439Mon, 08 Apr 2019 23:40:36 GMT\"0x8D6BC7B99EB0399\"5120share155476683691105172Mon, 08 Apr 2019 23:40:37 GMT\"0x8D6BC7B9A04190A\"5120share155476683938408044155476683970607122Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BAF0AC6\"5120share155476683954506999155476683986401108Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BC6BC86\"5120share155476684955901192155476684971705447Mon, 08 Apr 2019 23:40:49 GMT\"0x8D6BC7BA1A68C4A\"5120share155476689429503310155476689446302908Mon, 08 Apr 2019 23:41:34 GMT\"0x8D6BC7BBC523411\"5120share155476689486309119155476689502109811Mon, 08 Apr 2019 23:41:35 GMT\"0x8D6BC7BBCA78283\"5120share155476689848406446Mon, 08 Apr 2019 23:41:38 GMT\"0x8D6BC7BBEA6DEF5\"5120share155476690144000750155476690147105650Mon, 08 Apr 2019 23:41:41 GMT\"0x8D6BC7BC06D6BFE\"5120share155476692550408281155476692552006307Mon, 08 Apr 2019 23:42:05 GMT\"0x8D6BC7BCEC2E737\"5120share155476701310301365Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C02F81A4A\"5120share155476701354009909155476701358700586Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C0341217E\"5120share155476703054701901155476703056303132Mon, 08 Apr 2019 23:43:50 GMT\"0x8D6BC7C0D5E5EF4\"5120share155476705263308527Mon, 08 Apr 2019 23:44:12 GMT\"0x8D6BC7C1A874F4E\"5120share155476705313403501155476705324309452Mon, 08 Apr 2019 23:44:13 GMT\"0x8D6BC7C1AE43384\"5120share155476707854907462155476707856501775Mon, 08 Apr 2019 23:44:38 GMT\"0x8D6BC7C29FBFD59\"5120share155476708292203055Mon, 08 Apr 2019 23:44:42 GMT\"0x8D6BC7C2C965437\"5120share155476718097200661Mon, 08 Apr 2019 23:46:21 GMT\"0x8D6BC7C67140ED4\"5120share155476718511307033155476718528507060Mon, 08 Apr 2019 23:46:25 GMT\"0x8D6BC7C69A5A008\"5120share155476720906609619Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C77C48EEA\"5120share155476720947601374155476720952302768Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C780AB178\"5120share155476721652702563155476721660503614Mon, 08 Apr 2019 23:46:56 GMT\"0x8D6BC7C7C4FF562\"5120share155476722456803338155476722458406433Mon, 08 Apr 2019 23:47:04 GMT\"0x8D6BC7C8105A53E\"5120share155476731188105124Mon, 08 Apr 2019 23:48:31 GMT\"0x8D6BC7CB50D9313\"5120share155476731224201118155476731228901281Mon, 08 Apr 2019 23:48:32 GMT\"0x8D6BC7CB54D3B10\"5120share155476733008504443155476733011603577Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CBFEB1452\"5120share155476733031901975Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CC00B25BF\"5120share155476737686900592Mon, 08 Apr 2019 23:49:36 GMT\"0x8D6BC7CDBCC5422\"5120share155476737934703176155476737939509803Mon, 08 Apr 2019 23:49:39 GMT\"0x8D6BC7CDD4CCB9A\"5120share155476740063206317Mon, 08 Apr 2019 23:50:00 GMT\"0x8D6BC7CE9F6D928\"5120share155476740105301968155476740110108620Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA3DC4B9\"5120share155476740160309274155476740163408658Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA8EBD5D\"5120share155476740389005761Mon, 08 Apr 2019 23:50:03 GMT\"0x8D6BC7CEBE693B3\"5120share155476741944107110155476741947208866Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF5306B3B\"5120share155476741973801348Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF55AA35D\"5120share155476751993603097Mon, 08 Apr 2019 23:51:59 GMT\"0x8D6BC7D310FD6F9\"5120share155476752034209234155476752038903373Mon, 08 Apr 2019 23:52:00 GMT\"0x8D6BC7D3154EB7F\"5120share155476753773308525155476753774900804Mon, 08 Apr 2019 23:52:17 GMT\"0x8D6BC7D3BAF1D7C\"5120share155476755968506518Mon, 08 Apr 2019 23:52:39 GMT\"0x8D6BC7D48C2D945\"5120share155476756025704914155476756030408293Mon, 08 Apr 2019 23:52:40 GMT\"0x8D6BC7D4920F1BB\"5120share155476757927403262155476757930605206Mon, 08 Apr 2019 23:52:59 GMT\"0x8D6BC7D5477C4FD\"5120share155476758886800802Mon, 08 Apr 2019 23:53:08 GMT\"0x8D6BC7D5A295568\"5120share155476759612809724Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5E7A3CE8\"5120share155476759675809547155476759678907586Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5EDFE197\"5120share155476761379605068155476761381206318Mon, 08 Apr 2019 23:53:33 GMT\"0x8D6BC7D6904C3BC\"5120share155476769451707014Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D991E2C56\"5120share155476769492305905155476769495502323Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D9962B197\"5120share155476771291006498155476771292504957Mon, 08 Apr 2019 23:55:12 GMT\"0x8D6BC7DA4180F06\"5120share155476773060003911Mon, 08 Apr 2019 23:55:30 GMT\"0x8D6BC7DAEA17CC4\"5120share155476773118005704155476773135203965Mon, 08 Apr 2019 23:55:31 GMT\"0x8D6BC7DAF1378A6\"5120share155476775106100021155476775109309106Mon, 08 Apr 2019 23:55:51 GMT\"0x8D6BC7DBAD731E5\"5120share155476781685606946Mon, 08 Apr 2019 23:56:56 GMT\"0x8D6BC7DE20E7957\"5120share155476781732000128155476781738302450Mon, 08 Apr 2019 23:56:57 GMT\"0x8D6BC7DE2600C71\"5120share155476783345303757155476783346907719Mon, 08 Apr 2019 23:57:13 GMT\"0x8D6BC7DEBF7156B\"5120share155476791347300669Mon, 08 Apr 2019 23:58:33 GMT\"0x8D6BC7E1BA54903\"5120share155476791386402913155476791406106541Mon, 08 Apr 2019 23:58:34 GMT\"0x8D6BC7E1BFCC039\"5120share155476793045906102155476793049006057Mon, 08 Apr 2019 23:58:50 GMT\"0x8D6BC7E25C76D52\"5120share155476802704709159Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F561B0D\"5120share155476802747007068155476802751704585Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F9E2732\"5120share155476804346803478155476804349905857Tue, 09 Apr 2019 00:00:43 GMT\"0x8D6BC7E692437A6\"5120share155476804670501417Tue, 09 Apr 2019 00:00:46 GMT\"0x8D6BC7E6B0C980A\"5120share155476804729208533155476804732304485Tue, 09 Apr 2019 00:00:47 GMT\"0x8D6BC7E6B6BE551\"5120share155476806792107870155476806795006572Tue, 09 Apr 2019 00:01:07 GMT\"0x8D6BC7E77B59043\"5120share155476809524706138Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E87FA6EFD\"5120share155476809559505969Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E883E0CC1\"5120share155476809573102733155476809608507721Tue, 09 Apr 2019 00:01:36 GMT\"0x8D6BC7E8878E2E0\"5120share155476809796808728Tue, 09 Apr 2019 00:01:37 GMT\"0x8D6BC7E8998569D\"5120share155476810291301609155476810326803401Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CD0D20B\"5120share155476810304900799155476810314308687Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CAE4EE9\"5120share155476811609008652155476811612104405Tue, 09 Apr 2019 00:01:56 GMT\"0x8D6BC7E94697D23\"5120share155476811931604393155476811933200724Tue, 09 Apr 2019 00:01:59 GMT\"0x8D6BC7E9653421D\"5120share155476812170804393Tue, 09 Apr 2019 00:02:01 GMT\"0x8D6BC7E97C041CC\"5120share155476814743406883Tue, 09 Apr 2019 00:02:27 GMT\"0x8D6BC7EA7272A92\"5120share155476815440005091155476815476601339Tue, 09 Apr 2019 00:02:34 GMT\"0x8D6BC7EAB862619\"5120share155476815597205023155476815615103123Tue, 09 Apr 2019 00:02:36 GMT\"0x8D6BC7EAC554CE6\"5120share155476820193208970Tue, 09 Apr 2019 00:03:22 GMT\"0x8D6BC7EC7A0122F\"5120share155476820878406771155476820896404753Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBD4210C\"5120share155476820883700691155476820924100125Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBFA99BF\"5120share155476821108601306Tue, 09 Apr 2019 00:03:31 GMT\"0x8D6BC7ECD176585\"5120share155476825711807119155476825729204921Tue, 09 Apr 2019 00:04:17 GMT\"0x8D6BC7EE89EA8B2\"5120share155476825945705044Tue, 09 Apr 2019 00:04:19 GMT\"0x8D6BC7EE9E8E0CB\"5120share155476834740803120Tue, 09 Apr 2019 00:05:47 GMT\"0x8D6BC7F1E4777AF\"5120share155476834984008859155476834988702992Tue, 09 Apr 2019 00:05:49 GMT\"0x8D6BC7F1FC39553\"5120share155476836605404360155476836607004655Tue, 09 Apr 2019 00:06:06 GMT\"0x8D6BC7F29689397\"5120share155476838809206589Tue, 09 Apr 2019 00:06:28 GMT\"0x8D6BC7F3699A514\"5120share155476839198303786155476839234803107Tue, 09 Apr 2019 00:06:32 GMT\"0x8D6BC7F39223C76\"5120share155476843986900491Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F557ECA14\"5120share155476844021800627155476844024600583Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F55B9A5DF\"5120share155476845378709296155476845396806652Tue, 09 Apr 2019 00:07:34 GMT\"0x8D6BC7F5DDC13C9\"5120share155476845593902321155476845597001638Tue, 09 Apr 2019 00:07:36 GMT\"0x8D6BC7F5F180369\"5120share155476849626305945Tue, 09 Apr 2019 00:08:16 GMT\"0x8D6BC7F77117C82\"5120share155476849880105820Tue, 09 Apr 2019 00:08:18 GMT\"0x8D6BC7F7885AA01\"5120share155476849915307469155476850553606138Tue, 09 Apr 2019 00:08:25 GMT\"0x8D6BC7F7C976A4D\"5120share155476850592804706155476850599107187Tue, 09 Apr 2019 00:08:26 GMT\"0x8D6BC7F7CCF6C1B\"5120share155476852757806473155476852759309641Tue, 09 Apr 2019 00:08:47 GMT\"0x8D6BC7F89B00F3A\"5120share155476852980102365Tue, 09 Apr 2019 00:08:49 GMT\"0x8D6BC7F8B005BF0\"5120share155476856656600292155476856674507959Tue, 09 Apr 2019 00:09:26 GMT\"0x8D6BC7FA112F732\"5120share155476856885709152Tue, 09 Apr 2019 00:09:28 GMT\"0x8D6BC7FA2557BB5\"5120share155476863244904949Tue, 09 Apr 2019 00:10:32 GMT\"0x8D6BC7FC83EFA77\"5120share155476863535008494155476863570305271Tue, 09 Apr 2019 00:10:35 GMT\"0x8D6BC7FCA2FC926\"5120share155476865943308691Tue, 09 Apr 2019 00:10:59 GMT\"0x8D6BC7FD853FF98\"5120share155476866240807893155476866276704727Tue, 09 Apr 2019 00:11:02 GMT\"0x8D6BC7FDA5082D2\"5120share155476868218009780155476868235304727Tue, 09 Apr 2019 00:11:22 GMT\"0x8D6BC7FE5FCE9DC\"5120share155476868800600510Tue, 09 Apr 2019 00:11:28 GMT\"0x8D6BC7FE95CAD94\"5120share155476869091401136155476869126508601Tue, 09 Apr 2019 00:11:31 GMT\"0x8D6BC7FEB4D0822\"5120share155476871168505595155476871185701462Tue, 09 Apr 2019 00:11:51 GMT\"0x8D6BC7FF7927E16\"5120share155476874475805006155476874493808659Tue, 09 Apr 2019 00:12:25 GMT\"0x8D6BC800B4A745E\"5120share155476874690105242Tue, 09 Apr 2019 00:12:27 GMT\"0x8D6BC800C75C565\"5120share155476875206001092155476875241409773Tue, 09 Apr 2019 00:12:32 GMT\"0x8D6BC800FBFA200\"5120share155476880248305317Tue, 09 Apr 2019 00:13:22 GMT\"0x8D6BC802D993DFF\"5120share155476880545306177155476880583203834Tue, 09 Apr 2019 00:13:25 GMT\"0x8D6BC802F965397\"5120share155476888864505928155476888881909462Tue, 09 Apr 2019 00:14:48 GMT\"0x8D6BC80610D3090\"5120share155476899293006933155476899311001721Tue, 09 Apr 2019 00:16:33 GMT\"0x8D6BC809F369DB0\"5120share155476908548709722Tue, 09 Apr 2019 00:18:05 GMT\"0x8D6BC80D645612F\"5120share155476908868904195155476908904003064Tue, 09 Apr 2019 00:18:09 GMT\"0x8D6BC80D863A958\"5120share155476909980609434Tue, 09 Apr 2019 00:18:19 GMT\"0x8D6BC80DECE268E\"5120share155476910281904976155476910319003432Tue, 09 Apr 2019 00:18:23 GMT\"0x8D6BC80E0D4235F\"5120share155476913684100960Tue, 09 Apr 2019 00:18:56 GMT\"0x8D6BC80F4E4E108\"5120share155476913787408958Tue, 09 Apr 2019 00:18:58 GMT\"0x8D6BC80F5820C56\"5120share155476913976300123155476914012502697Tue, 09 Apr 2019 00:19:00 GMT\"0x8D6BC80F6D9D174\"5120share155476914067107913155476914401701060Tue, 09 Apr 2019 00:19:04 GMT\"0x8D6BC80F92C192D\"5120share155476914792003023155476914809807978Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FB98086D\"5120share155476914816001450Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FBA21BE5\"5120share155476915097103659155476915132003837Tue, 09 Apr 2019 00:19:11 GMT\"0x8D6BC80FD83B8C9\"5120share155476917672903935Tue, 09 Apr 2019 00:19:36 GMT\"0x8D6BC810CA71295\"5120share155476917952009763155476917987301193Tue, 09 Apr 2019 00:19:40 GMT\"0x8D6BC810E86FF1C\"5120share155476919071804890155476919089106036Tue, 09 Apr 2019 00:19:51 GMT\"0x8D6BC8115191B5D\"5120share155476919296302859Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC811655430E\"5120share155476919319101764155476919336803669Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC81169511B5\"5120share155476919545308814Tue, 09 Apr 2019 00:19:55 GMT\"0x8D6BC8117D2A35B\"5120share155476919567900532155476919585804561Tue, 09 Apr 2019 00:19:56 GMT\"0x8D6BC811811F934\"5120share155476920649006874155476920666505869Tue, 09 Apr 2019 00:20:06 GMT\"0x8D6BC811E81595E\"5120share155476922893709128155476922911208955Tue, 09 Apr 2019 00:20:29 GMT\"0x8D6BC812BE07699\"5120share155476923318404372Tue, 09 Apr 2019 00:20:33 GMT\"0x8D6BC812E4D5E21\"5120share155476925059001794Tue, 09 Apr 2019 00:20:50 GMT\"0x8D6BC8138ADF463\"5120share155476925356004440155476925393103687Tue, 09 Apr 2019 00:20:54 GMT\"0x8D6BC813AABBC7A\"5120share155476929764201056Tue, 09 Apr 2019 00:21:37 GMT\"0x8D6BC8154B9AB1E\"5120share155476929921903613155476929939207757Tue, 09 Apr 2019 00:21:41 GMT\"0x8D6BC8156F5F171\"5120share155476930455706190155476930492200920Tue, 09 Apr 2019 00:21:45 GMT\"0x8D6BC81591155FA\"5120share155476939253408398155476939270804066Tue, 09 Apr 2019 00:23:12 GMT\"0x8D6BC818D634979\"5120share155476946740007208Tue, 09 Apr 2019 00:24:27 GMT\"0x8D6BC81B9E9110E\"5120share155476947019106284155476947055502266Tue, 09 Apr 2019 00:24:30 GMT\"0x8D6BC81BBCA3C83\"5120share155476950493004815Tue, 09 Apr 2019 00:25:05 GMT\"0x8D6BC81D0474349\"5120share155476950777909601155476950813509107Tue, 09 Apr 2019 00:25:08 GMT\"0x8D6BC81D2310748\"5120share155476951815408266155476953409009620Tue, 09 Apr 2019 00:25:34 GMT\"0x8D6BC81E1A8547E\"5120share155476954514209563Tue, 09 Apr 2019 00:25:45 GMT\"0x8D6BC81E842D7B4\"5120share155476954794902021155476954830307106Tue, 09 Apr 2019 00:25:48 GMT\"0x8D6BC81EA248BAB\"5120share155476955580001453155476955597302370Tue, 09 Apr 2019 00:25:56 GMT\"0x8D6BC81EEB44D5D\"5120share155476958659300969Tue, 09 Apr 2019 00:26:26 GMT\"0x8D6BC8200F1D32F\"5120share155476958941003585155476958975801940Tue, 09 Apr 2019 00:26:29 GMT\"0x8D6BC8202D4FE31\"5120share155476964114307488155476964131504685Tue, 09 Apr 2019 00:27:21 GMT\"0x8D6BC822194155D\"5120share155476968411306454155476968428403769Tue, 09 Apr 2019 00:28:04 GMT\"0x8D6BC823B2BFB08\"5120share155476971626808737Tue, 09 Apr 2019 00:28:36 GMT\"0x8D6BC824E3EA287\"5120share155476972105905786155476972140705576Tue, 09 Apr 2019 00:28:41 GMT\"0x8D6BC82514F8A17\"5120share155476976555505046155476976573004607Tue, 09 Apr 2019 00:29:25 GMT\"0x8D6BC826BBAEF5D\"5120share155476977380801891Tue, 09 Apr 2019 00:29:33 GMT\"0x8D6BC82708B5AA2\"5120share155476995717807831Tue, 09 Apr 2019 00:32:37 GMT\"0x8D6BC82DDD891C2\"5120share155476995999104481155476996033909155Tue, 09 Apr 2019 00:32:40 GMT\"0x8D6BC82DFBAE58B\"5120share155477000943707763155477000964807043Tue, 09 Apr 2019 00:33:29 GMT\"0x8D6BC82FD1F5667\"5120share155480772852505654Tue, 09 Apr 2019 11:02:08 GMT\"0x8D6BCDACF62C049\"5120share155480773110506552155480773127501332Tue, 09 Apr 2019 11:02:11 GMT\"0x8D6BCDAD0E9ACB2\"5120share155480776409606766155480776417904835Tue, 09 Apr 2019 11:02:44 GMT\"0x8D6BCDAE4867510\"5120share155480776694805660Tue, 09 Apr 2019 11:02:49 GMT\"0x8D6BCDAE7B2553B\"5120share155480777833501686155480777940002178Tue, 09 Apr 2019 11:02:59 GMT\"0x8D6BCDAEDA584FA\"5120share155480794441908831155480794614402045Tue, 09 Apr 2019 11:05:46 GMT\"0x8D6BCDB511E3A7E\"5120share155480838272308971Tue, 09 Apr 2019 11:13:02 GMT\"0x8D6BCDC55308631\"5120share155480838569107929155480838575305746Tue, 09 Apr 2019 11:13:05 GMT\"0x8D6BCDC56FF7011\"5120share155480840927004361155480840928909324Tue, 09 Apr 2019 11:13:29 GMT\"0x8D6BCDC6506EC70\"5120share155480861063907178Tue, 09 Apr 2019 11:16:50 GMT\"0x8D6BCDCDD0822AE\"5120share155480862463105296Tue, 09 Apr 2019 11:17:04 GMT\"0x8D6BCDCE57D7B96\"5120share155480862643008694155480862661203489Tue, 09 Apr 2019 11:17:06 GMT\"0x8D6BCDCE6936C52\"5120share155480862803409284155480862810302824Tue, 09 Apr 2019 11:17:08 GMT\"0x8D6BCDCE770CC18\"5120share155480865812101922155480865821104214Tue, 09 Apr 2019 11:17:38 GMT\"0x8D6BCDCF96916EB\"5120share155480868606501887155480868609406416Tue, 09 Apr 2019 11:18:06 GMT\"0x8D6BCDD0A00E67C\"5120share155480889003904019Tue, 09 Apr 2019 11:21:32 GMT\"0x8D6BCDD84F6F82E\"5120share155480889568307939155480889583203255Tue, 09 Apr 2019 11:21:35 GMT\"0x8D6BCDD870F6BA3\"5120share155480897029709318155480897037300585Tue, 09 Apr 2019 11:22:50 GMT\"0x8D6BCDDB37953D4\"5120share155480906424102615Tue, 09 Apr 2019 11:24:24 GMT\"0x8D6BCDDEB6B81B1\"5120share155480930375303643Tue, 09 Apr 2019 11:28:23 GMT\"0x8D6BCDE7A28B8DB\"5120share155480930894709325155480930937004652Tue, 09 Apr 2019 11:28:29 GMT\"0x8D6BCDE7D818C36\"5120share155480933774208533155480933783509305Tue, 09 Apr 2019 11:28:57 GMT\"0x8D6BCDE8E7BF8F9\"5120share155480969517400844Tue, 09 Apr 2019 11:34:55 GMT\"0x8D6BCDF63A050C3\"5120share155480969888707795155480969893306849Tue, 09 Apr 2019 11:34:58 GMT\"0x8D6BCDF65B54921\"5120share155480974335804699155480974338902814Tue, 09 Apr 2019 11:35:43 GMT\"0x8D6BCDF8036DDF6\"5120share155481008340704248Tue, 09 Apr 2019 11:41:23 GMT\"0x8D6BCE04ADDD8A2\"5120share155481008549406718155481008554100937Tue, 09 Apr 2019 11:41:27 GMT\"0x8D6BCE04D31B524\"5120share155481012778602365155481012781701628Tue, 09 Apr 2019 11:42:07 GMT\"0x8D6BCE06555DFCE\"5120share155481034990901641Tue, 09 Apr 2019 11:45:50 GMT\"0x8D6BCE0E9CADC7F\"5120share155481035603904965155481035641604476Tue, 09 Apr 2019 11:45:56 GMT\"0x8D6BCE0EDAB9351\"5120share155481041106406083155481041124001246Tue, 09 Apr 2019 11:46:51 GMT\"0x8D6BCE10E67C485\"5120share155481070004408686Tue, 09 Apr 2019 11:51:40 GMT\"0x8D6BCE1BA7CCA86\"5120share155481070331300500155481070366508716Tue, 09 Apr 2019 11:51:43 GMT\"0x8D6BCE1BCA4D32F\"5120share155481077062801299155481077080301740Tue, 09 Apr 2019 11:52:50 GMT\"0x8D6BCE1E4A8AC5E\"5120share155481104696407257Tue, 09 Apr 2019 11:57:27 GMT\"0x8D6BCE28944219B\"5120share155481105069503376155481105104709050Tue, 09 Apr 2019 11:57:31 GMT\"0x8D6BCE28BB2F5EB\"5120share155481110393104766155481110410301124Tue, 09 Apr 2019 11:58:24 GMT\"0x8D6BCE2AB5E84AC\"5120share155489412862807371Wed, 10 Apr 2019 11:02:08 GMT\"0x8D6BDA3F9C8FD9B\"5120share155489413277909619155489413286706477Wed, 10 Apr 2019 11:02:12 GMT\"0x8D6BDA3FC41DB4E\"5120share155489415671304108155489415677606190Wed, 10 Apr 2019 11:02:36 GMT\"0x8D6BDA40A819FF1\"5120share155489416756705091Wed, 10 Apr 2019 11:02:47 GMT\"0x8D6BDA410EF2DA1\"5120share155489416916801489155489416921506591Wed, 10 Apr 2019 11:02:49 GMT\"0x8D6BDA412270A05\"5120share155489422601500459155489422611702482Wed, 10 Apr 2019 11:03:46 GMT\"0x8D6BDA433D48934\"5120share155489422827708423Wed, 10 Apr 2019 11:03:48 GMT\"0x8D6BDA4351DC470\"5120share155489454656606719Wed, 10 Apr 2019 11:09:06 GMT\"0x8D6BDA4F2FC5650\"5120share155489455422603360155489455439702529Wed, 10 Apr 2019 11:09:14 GMT\"0x8D6BDA4F782E06A\"5120share155489458258002289155489458262309243Wed, 10 Apr 2019 11:09:42 GMT\"0x8D6BDA50855B498\"5120share155489482947807877Wed, 10 Apr 2019 11:13:53 GMT\"0x8D6BDA59DEC0FEB\"5120share155489483786706760155489483837601083Wed, 10 Apr 2019 11:14:00 GMT\"0x8D6BDA5A1B99935\"5120share155489488327604413155489488334906059Wed, 10 Apr 2019 11:14:43 GMT\"0x8D6BDA5BB9978AF\"5120share155489492123309454Wed, 10 Apr 2019 11:15:21 GMT\"0x8D6BDA5D248D84A\"5120share155489492507607432155489492526001236Wed, 10 Apr 2019 11:15:25 GMT\"0x8D6BDA5D4933469\"5120share155489496225207071155489496234109679Wed, 10 Apr 2019 11:16:02 GMT\"0x8D6BDA5EAAD1456\"5120share155489509528801814Wed, 10 Apr 2019 11:18:15 GMT\"0x8D6BDA63A229516\"5120share155489509735407356155489510215103908Wed, 10 Apr 2019 11:18:22 GMT\"0x8D6BDA63E2E9C02\"5120share155489515091603004155489515099201262Wed, 10 Apr 2019 11:19:11 GMT\"0x8D6BDA65B20F8F3\"5120share155489547884803269Wed, 10 Apr 2019 11:24:38 GMT\"0x8D6BDA71E86E5E0\"5120share155489548454903275155489548483004021Wed, 10 Apr 2019 11:24:44 GMT\"0x8D6BDA722179E7F\"5120share155489552181808130155489552185003544Wed, 10 Apr 2019 11:25:22 GMT\"0x8D6BDA73872431F\"5120share155489582839504190Wed, 10 Apr 2019 11:30:28 GMT\"0x8D6BDA7EEDEBFDD\"5120share155489582984702446155489583159500319Wed, 10 Apr 2019 11:30:31 GMT\"0x8D6BDA7F0C46DE4\"5120share155489586173909876155489586175402656Wed, 10 Apr 2019 11:31:02 GMT\"0x8D6BDA802F14681\"5120share155489619289500492Wed, 10 Apr 2019 11:36:32 GMT\"0x8D6BDA8C8219F23\"5120share155489619393006230155489619397709077Wed, 10 Apr 2019 11:36:34 GMT\"0x8D6BDA8C8C592C3\"5120share155489622564303022155489622565908804Wed, 10 Apr 2019 11:37:05 GMT\"0x8D6BDA8DBD04781\"5120share155489646131309214Wed, 10 Apr 2019 11:41:01 GMT\"0x8D6BDA9682F9333\"5120share155489646684205145155489646750301265Wed, 10 Apr 2019 11:41:07 GMT\"0x8D6BDA96BE064BB\"5120share155489652175004438155489652192700531Wed, 10 Apr 2019 11:42:02 GMT\"0x8D6BDA98C503695\"5120share155489681486003455Wed, 10 Apr 2019 11:46:54 GMT\"0x8D6BDAA3AE74A21\"5120share155489681884608063155489681919608330Wed, 10 Apr 2019 11:46:59 GMT\"0x8D6BDAA3D7CB218\"5120share155489687019401343155489687037106917Wed, 10 Apr 2019 11:47:50 GMT\"0x8D6BDAA5BFCC6A5\"5120share155489714481609238Wed, 10 Apr 2019 11:52:24 GMT\"0x8D6BDAAFF95A52E\"5120share155489714807504789155489714842701455Wed, 10 Apr 2019 11:52:28 GMT\"0x8D6BDAB01BBB9AA\"5120share155489720343801332155489720361300530Wed, 10 Apr 2019 11:53:23 GMT\"0x8D6BDAB22A213DA\"5120share155498052189005973Thu, 11 Apr 2019 11:02:03 GMT\"0x8D6BE6D20C5A27A\"5120share155498052486307452155498052494601328Thu, 11 Apr 2019 11:02:04 GMT\"0x8D6BE6D21F3FD4A\"5120share155498054458201295155498054462607374Thu, 11 Apr 2019 11:02:24 GMT\"0x8D6BE6D2DAF2F37\"5120share155498057256409560Thu, 11 Apr 2019 11:02:52 GMT\"0x8D6BE6D3E5B0100\"5120share155498057900203212155498058058503101Thu, 11 Apr 2019 11:03:00 GMT\"0x8D6BE6D4322EAB8\"5120share155498066045708716155498066054002568Thu, 11 Apr 2019 11:04:20 GMT\"0x8D6BE6D72CA6F35\"5120share155498100392305925Thu, 11 Apr 2019 11:10:03 GMT\"0x8D6BE6E3F6D7332\"5120share155498100486605985155498100492408541Thu, 11 Apr 2019 11:10:04 GMT\"0x8D6BE6E400669DB\"5120share155498102575801912155498102577004454Thu, 11 Apr 2019 11:10:25 GMT\"0x8D6BE6E4C72FBE0\"5120share155498118716109200Thu, 11 Apr 2019 11:13:07 GMT\"0x8D6BE6EACAE6539\"5120share155498119088009096155498119109803405Thu, 11 Apr 2019 11:13:11 GMT\"0x8D6BE6EAF0745E6\"5120share155498123278401216Thu, 11 Apr 2019 11:13:53 GMT\"0x8D6BE6EC7F7A018\"5120share155498123486100245155498123504606077Thu, 11 Apr 2019 11:13:55 GMT\"0x8D6BE6EC937DC9E\"5120share155498125173204844155498125181103614Thu, 11 Apr 2019 11:14:11 GMT\"0x8D6BE6ED337568F\"5120share155498127070203605155498127090200772Thu, 11 Apr 2019 11:14:30 GMT\"0x8D6BE6EDE96DD2C\"5120share155498149053803558Thu, 11 Apr 2019 11:18:13 GMT\"0x8D6BE6F632FC122\"5120share155498149486704484155498149491504102Thu, 11 Apr 2019 11:18:15 GMT\"0x8D6BE6F644A9B3B\"5120share155498155460200751155498155462406088Thu, 11 Apr 2019 11:19:14 GMT\"0x8D6BE6F87ADF271\"5120share155498183671704701Thu, 11 Apr 2019 11:23:55 GMT\"0x8D6BE702ECFDF92\"5120share155498183865606144155498183870405710Thu, 11 Apr 2019 11:23:57 GMT\"0x8D6BE702FFE177F\"5120share155498188735506358155498188738804227Thu, 11 Apr 2019 11:24:47 GMT\"0x8D6BE704DFE05C3\"5120share155498217286508991Thu, 11 Apr 2019 11:29:32 GMT\"0x8D6BE70F82F0421\"5120share155498217391907065155498217398104387Thu, 11 Apr 2019 11:29:34 GMT\"0x8D6BE70F8D9643C\"5120share155498221400709049155498221402206456Thu, 11 Apr 2019 11:30:14 GMT\"0x8D6BE7110E9F384\"5120share155498253737503811Thu, 11 Apr 2019 11:35:37 GMT\"0x8D6BE71D1727116\"5120share155498253857505289155498253935506389Thu, 11 Apr 2019 11:35:39 GMT\"0x8D6BE71D29F6801\"5120share155498256201107590155498256205807686Thu, 11 Apr 2019 11:36:02 GMT\"0x8D6BE71E0282811\"5120share155498278528305699Thu, 11 Apr 2019 11:39:45 GMT\"0x8D6BE7265497F4F\"5120share155498278829705785155498278865706979Thu, 11 Apr 2019 11:39:48 GMT\"0x8D6BE72674C1598\"5120share155498284418801730155498284436204192Thu, 11 Apr 2019 11:40:44 GMT\"0x8D6BE72887F563D\"5120share155498314636609246Thu, 11 Apr 2019 11:45:46 GMT\"0x8D6BE733C80D62F\"5120share155498314958405145155498314993401182Thu, 11 Apr 2019 11:45:50 GMT\"0x8D6BE733EB4DDC6\"5120share155498320380202916155498320397803097Thu, 11 Apr 2019 11:46:44 GMT\"0x8D6BE735ED74285\"5120share155498348631909500Thu, 11 Apr 2019 11:51:26 GMT\"0x8D6BE740722A624\"5120share155498349006200479155498349041201049Thu, 11 Apr 2019 11:51:30 GMT\"0x8D6BE7409936A5D\"5120share155498355074904797155498355091806030Thu, 11 Apr 2019 11:52:31 GMT\"0x8D6BE742DA3712E\"5120share155506715001008005Fri, 12 Apr 2019 11:05:50 GMT\"0x8D6BF36D280C86E\"5120share155506715554809020Fri, 12 Apr 2019 11:05:58 GMT\"0x8D6BF36D7A9DABD\"5120share155506716051807380155506716056903734Fri, 12 Apr 2019 11:06:00 GMT\"0x8D6BF36D8CB60FE\"5120share155506716156004041155506716164300511Fri, 12 Apr 2019 11:06:01 GMT\"0x8D6BF36D972DBD5\"5120share155506718476800145155506718480807242Fri, 12 Apr 2019 11:06:24 GMT\"0x8D6BF36E7419A66\"5120share155506724070107848155506724072501640Fri, 12 Apr 2019 11:07:20 GMT\"0x8D6BF3708928851\"5120share155506760045707115Fri, 12 Apr 2019 11:13:20 GMT\"0x8D6BF37DEFC3BC5\"5120share155506760361709232155506760364602112Fri, 12 Apr 2019 11:13:23 GMT\"0x8D6BF37E0E27E8F\"5120share155506762550205666155506762551700839Fri, 12 Apr 2019 11:13:45 GMT\"0x8D6BF37EDEBB5ED\"5120share155506775710503556Fri, 12 Apr 2019 11:15:57 GMT\"0x8D6BF383C5BE969\"5120share155506775914206834155506775939104602Fri, 12 Apr 2019 11:15:59 GMT\"0x8D6BF383DD9C789\"5120share155506780025406685155506780027400077Fri, 12 Apr 2019 11:16:43 GMT\"0x8D6BF3857EB4AAC\"5120share155506782349400072Fri, 12 Apr 2019 11:17:03 GMT\"0x8D6BF3864075C02\"5120share155506782529308699155506782548108688Fri, 12 Apr 2019 11:17:05 GMT\"0x8D6BF3865239620\"5120share155506785583100253155506785592602106Fri, 12 Apr 2019 11:17:35 GMT\"0x8D6BF387748C0B8\"5120share155506798629003189Fri, 12 Apr 2019 11:19:46 GMT\"0x8D6BF38C50D041D\"5120share155506798697509537155506798958607431Fri, 12 Apr 2019 11:19:49 GMT\"0x8D6BF38C715AB43\"5120share155506802218702711155506802412507312Fri, 12 Apr 2019 11:20:24 GMT\"0x8D6BF38DB82D2CD\"5120share155506830326102475Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF3981E69A84\"5120share155506830378004443155506830384200380Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF39823D8FC2\"5120share155506833333309950155506833336407734Fri, 12 Apr 2019 11:25:33 GMT\"0x8D6BF3993D61B9D\"5120share155506863762208674Fri, 12 Apr 2019 11:30:37 GMT\"0x8D6BF3A4930319C\"5120share155506863833206169155506863837809068Fri, 12 Apr 2019 11:30:38 GMT\"0x8D6BF3A49A59306\"5120share155506866511003689155506866514106110Fri, 12 Apr 2019 11:31:05 GMT\"0x8D6BF3A5997F3BE\"5120share155506897142509196Fri, 12 Apr 2019 11:36:11 GMT\"0x8D6BF3B102C6967\"5120share155506897230405925155506897235101961Fri, 12 Apr 2019 11:36:12 GMT\"0x8D6BF3B10B83AAD\"5120share155506900156507816155506900158101898Fri, 12 Apr 2019 11:36:41 GMT\"0x8D6BF3B2225FF10\"5120share155506922733502087Fri, 12 Apr 2019 11:40:27 GMT\"0x8D6BF3BA8C23585\"5120share155506923038104120155506923074402676Fri, 12 Apr 2019 11:40:30 GMT\"0x8D6BF3BAACA866A\"5120share155506928568601336155506928586704986Fri, 12 Apr 2019 11:41:25 GMT\"0x8D6BF3BCBA3278F\"5120share155506957242005394Fri, 12 Apr 2019 11:46:12 GMT\"0x8D6BF3C767049A5\"5120share155506957743506847155506957779804584Fri, 12 Apr 2019 11:46:17 GMT\"0x8D6BF3C79A3E022\"5120share155506963326709082155506963344002439Fri, 12 Apr 2019 11:47:13 GMT\"0x8D6BF3C9ACD0D96\"5120share155506990427401355Fri, 12 Apr 2019 11:51:44 GMT\"0x8D6BF3D3C3FB7D7\"5120share155506990726700768155506990858704284Fri, 12 Apr 2019 11:51:48 GMT\"0x8D6BF3D3ED1EDD2\"5120share155506996647800617155506996664704791Fri, 12 Apr 2019 11:52:46 GMT\"0x8D6BF3D616C706B\"5120share155512644720907744Sat, 13 Apr 2019 03:34:07 GMT\"0x8D6BFC0E2A1A83B\"5120share155512645443804909155512645573404643Sat, 13 Apr 2019 03:34:16 GMT\"0x8D6BFC0E7C4CE99\"5120share155512656455209259155512656522205112Sat, 13 Apr 2019 03:36:05 GMT\"0x8D6BFC128E570AB\"5120share155512679757904247Sat, 13 Apr 2019 03:39:57 GMT\"0x8D6BFC1B3655FDB\"5120share155515332953602339Sat, 13 Apr 2019 11:02:09 GMT\"0x8D6BFFF797F7F67\"5120share155515333132005839155515333134603307Sat, 13 Apr 2019 11:02:11 GMT\"0x8D6BFFF7A9394FF\"5120share155515334716009504155515334717208600Sat, 13 Apr 2019 11:02:27 GMT\"0x8D6BFFF84025D13\"5120share155515337211202917Sat, 13 Apr 2019 11:02:52 GMT\"0x8D6BFFF93019996\"5120share155515337799207116155515337815203201Sat, 13 Apr 2019 11:02:58 GMT\"0x8D6BFFF9682A8F3\"5120share155515343857608004155515343865600233Sat, 13 Apr 2019 11:03:58 GMT\"0x8D6BFFFBAAECD7F\"5120share155515373957208433Sat, 13 Apr 2019 11:08:59 GMT\"0x8D6C0006DE70B38\"5120share155515375889701481155515375893402001Sat, 13 Apr 2019 11:09:18 GMT\"0x8D6C00079709685\"5120share155515379789204290155515379790606876Sat, 13 Apr 2019 11:09:57 GMT\"0x8D6C00090AA0CB1\"5120share155515394778104787Sat, 13 Apr 2019 11:12:27 GMT\"0x8D6C000EA00F332\"5120share155515394918607154155515394934805953Sat, 13 Apr 2019 11:12:29 GMT\"0x8D6C000EB2187B3\"5120share155515397662402015155515397664207701Sat, 13 Apr 2019 11:12:56 GMT\"0x8D6C000FB3464BC\"5120share155515407173608133Sat, 13 Apr 2019 11:14:31 GMT\"0x8D6C0013400A2AC\"5120share155515407347804860155515407365704793Sat, 13 Apr 2019 11:14:33 GMT\"0x8D6C00135109915\"5120share155515410200606372155515410209601041Sat, 13 Apr 2019 11:15:02 GMT\"0x8D6C001460400F2\"5120share155515419507804760Sat, 13 Apr 2019 11:16:35 GMT\"0x8D6C0017D8E82B7\"5120share155515419609804201155515419614704354Sat, 13 Apr 2019 11:16:36 GMT\"0x8D6C0017E0B210D\"5120share155515423073708967155515423286302712Sat, 13 Apr 2019 11:17:12 GMT\"0x8D6C00193ED63DD\"5120share155515451710102731Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023D5909E7\"5120share155515451771906465155515451778307619Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023DC196A4\"5120share155515455158703949155515455160200624Sat, 13 Apr 2019 11:22:31 GMT\"0x8D6C00251EA8AEC\"5120share155515484116005106Sat, 13 Apr 2019 11:27:21 GMT\"0x8D6C002FE7F89F9\"5120share155515484246808118155515484251102561Sat, 13 Apr 2019 11:27:22 GMT\"0x8D6C002FF4D9836\"5120share155515486366505500155515486369609506Sat, 13 Apr 2019 11:27:43 GMT\"0x8D6C0030BEE82E6\"5120share155515518956908415Sat, 13 Apr 2019 11:33:09 GMT\"0x8D6C003CE2CBFF5\"5120share155515519023504740155515519028205997Sat, 13 Apr 2019 11:33:10 GMT\"0x8D6C003CE995C00\"5120share155515521208103058155515521209704227Sat, 13 Apr 2019 11:33:32 GMT\"0x8D6C003DB994D13\"5120share155515544412001539Sat, 13 Apr 2019 11:37:24 GMT\"0x8D6C00465F85EFF\"5120share155515544701403547155515544736709856Sat, 13 Apr 2019 11:37:27 GMT\"0x8D6C00467E74ACD\"5120share155515549960109573155515549977503756Sat, 13 Apr 2019 11:38:19 GMT\"0x8D6C0048723AF04\"5120share155515575696104941Sat, 13 Apr 2019 11:42:37 GMT\"0x8D6C005207046CB\"5120share155515576002205864155515576037106690Sat, 13 Apr 2019 11:42:40 GMT\"0x8D6C00522778CA6\"5120share155515581335804060155515581353108782Sat, 13 Apr 2019 11:43:33 GMT\"0x8D6C0054226BC2D\"5120share155515609277909871Sat, 13 Apr 2019 11:48:12 GMT\"0x8D6C005E899CD33\"5120share155515609680009591155515609726705954Sat, 13 Apr 2019 11:48:17 GMT\"0x8D6C005EB46D13E\"5120share155515614666004322155515614683202492Sat, 13 Apr 2019 11:49:06 GMT\"0x8D6C00608D0D7EA\"5120share155523972563402918Sun, 14 Apr 2019 11:02:05 GMT\"0x8D6C0C8A1A57EE1\"5120share155523972846006428155523972854309146Sun, 14 Apr 2019 11:02:08 GMT\"0x8D6C0C8A354D131\"5120share155523975181800309155523975186002763Sun, 14 Apr 2019 11:02:31 GMT\"0x8D6C0C8B13AAB29\"5120share155523975476009841Sun, 14 Apr 2019 11:02:34 GMT\"0x8D6C0C8B2FACE38\"5120share155523975786403226155523975946205362Sun, 14 Apr 2019 11:02:39 GMT\"0x8D6C0C8B5C89023\"5120share155523982133602164155523982216202749Sun, 14 Apr 2019 11:03:42 GMT\"0x8D6C0C8DB30CFE3\"5120share155524013107906841Sun, 14 Apr 2019 11:08:51 GMT\"0x8D6C0C99340BE58\"5120share155524013345703248155524013348709767Sun, 14 Apr 2019 11:08:53 GMT\"0x8D6C0C994B03BFC\"5120share155524015095705974155524015097103470Sun, 14 Apr 2019 11:09:10 GMT\"0x8D6C0C99F1C0B9E\"5120share155524021269704125Sun, 14 Apr 2019 11:10:13 GMT\"0x8D6C0C9C4622350\"5120share155524021719509152155524021734908307Sun, 14 Apr 2019 11:10:17 GMT\"0x8D6C0C9C6AD286E\"5120share155524024923607696155524024925705826Sun, 14 Apr 2019 11:10:49 GMT\"0x8D6C0C9D9E7B704\"5120share155524026327306963Sun, 14 Apr 2019 11:11:03 GMT\"0x8D6C0C9E2405917\"5120share155524026548904913155524026567204179Sun, 14 Apr 2019 11:11:05 GMT\"0x8D6C0C9E37E967B\"5120share155524030632607257155524030641508963Sun, 14 Apr 2019 11:11:46 GMT\"0x8D6C0C9FBC7E024\"5120share155524044965804361Sun, 14 Apr 2019 11:14:09 GMT\"0x8D6C0CA51246B8E\"5120share155524045120102941155524045134606678Sun, 14 Apr 2019 11:14:11 GMT\"0x8D6C0CA5225F523\"5120share155524047915003736155524047977906720Sun, 14 Apr 2019 11:14:39 GMT\"0x8D6C0CA63182CCB\"5120share155524078617101300Sun, 14 Apr 2019 11:19:46 GMT\"0x8D6C0CB19B96C89\"5120share155524078937808496155524079027604566Sun, 14 Apr 2019 11:19:51 GMT\"0x8D6C0CB1CB6CC02\"5120share155524083480905582155524083484002684Sun, 14 Apr 2019 11:20:34 GMT\"0x8D6C0CB36BA42E2\"5120share155524114771102323Sun, 14 Apr 2019 11:25:47 GMT\"0x8D6C0CBF136A11B\"5120share155524115650204611155524115676003349Sun, 14 Apr 2019 11:25:56 GMT\"0x8D6C0CBF69A9C67\"5120share155524118633505833155524118636606794Sun, 14 Apr 2019 11:26:26 GMT\"0x8D6C0CC08422CA2\"5120share155524152984609186Sun, 14 Apr 2019 11:32:09 GMT\"0x8D6C0CCD4FD31E8\"5120share155524153899407575155524153904106704Sun, 14 Apr 2019 11:32:19 GMT\"0x8D6C0CCDA7676BB\"5120share155524156472600266155524156474206614Sun, 14 Apr 2019 11:32:44 GMT\"0x8D6C0CCE9C9F816\"5120share155524179352704148Sun, 14 Apr 2019 11:36:33 GMT\"0x8D6C0CD7239EB5A\"5120share155524179753806035155524179820702547Sun, 14 Apr 2019 11:36:38 GMT\"0x8D6C0CD7503C6AF\"5120share155524184816604357155524185379908254Sun, 14 Apr 2019 11:37:33 GMT\"0x8D6C0CD9626119F\"5120share155524215012701349Sun, 14 Apr 2019 11:42:30 GMT\"0x8D6C0CE46C6E1CD\"5120share155524215367607082155524215405106431Sun, 14 Apr 2019 11:42:34 GMT\"0x8D6C0CE491D1AD7\"5120share155524220627609881155524220645007845Sun, 14 Apr 2019 11:43:26 GMT\"0x8D6C0CE6857F2F2\"5120share155524250457408298Sun, 14 Apr 2019 11:48:24 GMT\"0x8D6C0CF1A0B4445\"5120share155524250759003260155524250794109789Sun, 14 Apr 2019 11:48:28 GMT\"0x8D6C0CF1C0D1857\"5120share155524256514106448155524256531804718Sun, 14 Apr 2019 11:49:25 GMT\"0x8D6C0CF3E3FA6CF\"5120share155532613122901412Mon, 15 Apr 2019 11:02:11 GMT\"0x8D6C191CF62EDAB\"5120share155532613225806589155532613234400258Mon, 15 Apr 2019 11:02:12 GMT\"0x8D6C191D0022A3A\"5120share155532615554502997155532615558408768Mon, 15 Apr 2019 11:02:35 GMT\"0x8D6C191DDDC8A54\"5120share155532623242907675Mon, 15 Apr 2019 11:03:52 GMT\"0x8D6C1920BE8AECE\"5120share155532623985301138155532624014404643Mon, 15 Apr 2019 11:04:00 GMT\"0x8D6C19210603437\"5120share155532630302204772155532630304602475Mon, 15 Apr 2019 11:05:03 GMT\"0x8D6C19235C07054\"5120share155532649710009530Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A96854B0\"5120share155532649744806724155532649747405217Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A9A16765\"5120share155532651230505127155532651232109373Mon, 15 Apr 2019 11:08:32 GMT\"0x8D6C192B27AEBD9\"5120share155532665274909034Mon, 15 Apr 2019 11:10:52 GMT\"0x8D6C193063828B5\"5120share155532665779301144155532665795305505Mon, 15 Apr 2019 11:10:58 GMT\"0x8D6C1930953F71B\"5120share155532668636605451Mon, 15 Apr 2019 11:11:26 GMT\"0x8D6C1931A84E0CB\"5120share155532668851001958155532668869708221Mon, 15 Apr 2019 11:11:28 GMT\"0x8D6C1931BA311FF\"5120share155532671950203165155532671991908048Mon, 15 Apr 2019 11:11:59 GMT\"0x8D6C1932E4225E0\"5120share155532672415401526155532672424500176Mon, 15 Apr 2019 11:12:04 GMT\"0x8D6C19330D46F6E\"5120share155532694866104349Mon, 15 Apr 2019 11:15:48 GMT\"0x8D6C193B697FC01\"5120share155532695096608028155532695134004095Mon, 15 Apr 2019 11:15:51 GMT\"0x8D6C193B8453E7E\"5120share155532699549303169155532699571103064Mon, 15 Apr 2019 11:16:35 GMT\"0x8D6C193D2A2FBE2\"5120share155532730686902441Mon, 15 Apr 2019 11:21:46 GMT\"0x8D6C1948C14A8A2\"5120share155532730821207416155532730887801551Mon, 15 Apr 2019 11:21:48 GMT\"0x8D6C1948D44F25C\"5120share155532733547106330155532733548702182Mon, 15 Apr 2019 11:22:15 GMT\"0x8D6C1949D227707\"5120share155532762909302194Mon, 15 Apr 2019 11:27:09 GMT\"0x8D6C1954C23E6E5\"5120share155532762993901249155532762998607585Mon, 15 Apr 2019 11:27:10 GMT\"0x8D6C1954CACBB19\"5120share155532766217804204155532766220901342Mon, 15 Apr 2019 11:27:42 GMT\"0x8D6C1955FE09561\"5120share155532798608100078Mon, 15 Apr 2019 11:33:06 GMT\"0x8D6C196211E0513\"5120share155532798786104582155532798790801989Mon, 15 Apr 2019 11:33:08 GMT\"0x8D6C19622172228\"5120share155532801332005290155532801333506642Mon, 15 Apr 2019 11:33:33 GMT\"0x8D6C196312AE129\"5120share155532825264602754Mon, 15 Apr 2019 11:37:32 GMT\"0x8D6C196BFDE354E\"5120share155532825615400146155532825651301297Mon, 15 Apr 2019 11:37:36 GMT\"0x8D6C196C22BF7C8\"5120share155532830944004051155532830962109665Mon, 15 Apr 2019 11:38:29 GMT\"0x8D6C196E1D4B3D6\"5120share155532860283705934Mon, 15 Apr 2019 11:43:23 GMT\"0x8D6C19790B85279\"5120share155532860591402599155532860626203748Mon, 15 Apr 2019 11:43:26 GMT\"0x8D6C19792C39B8A\"5120share155532865928107481155532865946409770Mon, 15 Apr 2019 11:44:19 GMT\"0x8D6C197B25D3B4C\"5120share155532894816307878Mon, 15 Apr 2019 11:49:08 GMT\"0x8D6C1985E709657\"5120share155532895115005912155532895150108737Mon, 15 Apr 2019 11:49:11 GMT\"0x8D6C198606E1B49\"5120share155532900519604536155532900537002394Mon, 15 Apr 2019 11:50:05 GMT\"0x8D6C1988089C37B\"5120share155541254266906758Tue, 16 Apr 2019 11:02:24 GMT\"0x8D6C25B01E63294\"5120share155541254704901514155541254722205184Tue, 16 Apr 2019 11:02:27 GMT\"0x8D6C25B034F0342\"5120share155541257726609606155541257735100960Tue, 16 Apr 2019 11:02:57 GMT\"0x8D6C25B154451E5\"5120share155541258394001344Tue, 16 Apr 2019 11:03:06 GMT\"0x8D6C25B1A99310F\"5120share155541259331901356155541259718300665Tue, 16 Apr 2019 11:03:17 GMT\"0x8D6C25B21238E58\"5120share155541275463405342155541275509408341Tue, 16 Apr 2019 11:05:56 GMT\"0x8D6C25B7FDAE42C\"5120share155541332218001340Tue, 16 Apr 2019 11:15:22 GMT\"0x8D6C25CD1313106\"5120share155541333391202994155541333394201763Tue, 16 Apr 2019 11:15:33 GMT\"0x8D6C25CD833D6F8\"5120share155541336698403997155541336700200957Tue, 16 Apr 2019 11:16:07 GMT\"0x8D6C25CEBE8BE26\"5120share155541340019809612Tue, 16 Apr 2019 11:16:42 GMT\"0x8D6C25D00C4E301\"5120share155541340431404906155541340450501927Tue, 16 Apr 2019 11:16:45 GMT\"0x8D6C25D029765BC\"5120share155541351620901519155541351633009731Tue, 16 Apr 2019 11:18:36 GMT\"0x8D6C25D44F2CB83\"5120share155541365388401666Tue, 16 Apr 2019 11:20:54 GMT\"0x8D6C25D97184EBA\"5120share155541365734901246155541365753206510Tue, 16 Apr 2019 11:20:57 GMT\"0x8D6C25D99195E68\"5120share155541368795303261155541368804508446Tue, 16 Apr 2019 11:21:28 GMT\"0x8D6C25DAB4935EB\"5120share155541380951505125Tue, 16 Apr 2019 11:23:30 GMT\"0x8D6C25DF41B7633\"5120share155541381521101270155541381537608334Tue, 16 Apr 2019 11:23:35 GMT\"0x8D6C25DF78136DD\"5120share155541389134901136155541389142503336Tue, 16 Apr 2019 11:24:52 GMT\"0x8D6C25E24E9DEEC\"5120share155541423557305011Tue, 16 Apr 2019 11:30:35 GMT\"0x8D6C25EF1A0EFED\"5120share155541424210207450155541424307606173Tue, 16 Apr 2019 11:30:43 GMT\"0x8D6C25EF61A1F1E\"5120share155541428387009705155541428390104095Tue, 16 Apr 2019 11:31:24 GMT\"0x8D6C25F0EA4F648\"5120share155541460901500620Tue, 16 Apr 2019 11:36:49 GMT\"0x8D6C25FD0587C69\"5120share155541460989209750155541460997003508Tue, 16 Apr 2019 11:36:50 GMT\"0x8D6C25FD0ECE125\"5120share155541463453808516155541463456909627Tue, 16 Apr 2019 11:37:14 GMT\"0x8D6C25FDF70CD23\"5120share155541495149601147Tue, 16 Apr 2019 11:42:31 GMT\"0x8D6C2609C597458\"5120share155541495234103609155541495238807035Tue, 16 Apr 2019 11:42:32 GMT\"0x8D6C2609CDFEC22\"5120share155541498022705756155541498024304069Tue, 16 Apr 2019 11:43:00 GMT\"0x8D6C260AD7AF75C\"5120share155541521993507818Tue, 16 Apr 2019 11:47:00 GMT\"0x8D6C2613C6CE4FD\"5120share155541522302504398155541522343008691Tue, 16 Apr 2019 11:47:03 GMT\"0x8D6C2613E8133C2\"5120share155541528560504973155541528889003453Tue, 16 Apr 2019 11:48:09 GMT\"0x8D6C26165851668\"5120share155541557757802202Tue, 16 Apr 2019 11:52:57 GMT\"0x8D6C26211976A21\"5120share155541558548808426155541558584407224Tue, 16 Apr 2019 11:53:05 GMT\"0x8D6C2621684B2B8\"5120share155541563573506420155541563590907833Tue, 16 Apr 2019 11:53:56 GMT\"0x8D6C262348D397D\"5120share155541593216004589Tue, 16 Apr 2019 11:58:52 GMT\"0x8D6C262E4F09A4B\"5120share155541593570005076155541593605107442Tue, 16 Apr 2019 11:58:56 GMT\"0x8D6C262E742269D\"5120share155541599013809500155541599031301890Tue, 16 Apr 2019 11:59:50 GMT\"0x8D6C26307993211\"5120share155549893423105655Wed, 17 Apr 2019 11:02:16 GMT\"0x8D6C324271BAA36\"5120share155549893951306087155549893970607676Wed, 17 Apr 2019 11:02:19 GMT\"0x8D6C324293F0208\"5120share155549897171300831Wed, 17 Apr 2019 11:02:52 GMT\"0x8D6C3243CF9A634\"5120share155549897401609400155549897410205483Wed, 17 Apr 2019 11:02:54 GMT\"0x8D6C3243DBFA4FC\"5120share155549897546703999155549897569707719Wed, 17 Apr 2019 11:02:55 GMT\"0x8D6C3243EB9C89B\"5120share155549906322000959155549906330109486Wed, 17 Apr 2019 11:04:23 GMT\"0x8D6C32472F134A6\"5120share155549965941700512Wed, 17 Apr 2019 11:14:19 GMT\"0x8D6C325D63A5B3F\"5120share155549966157400319155549966175200315Wed, 17 Apr 2019 11:14:21 GMT\"0x8D6C325D79DA5B7\"5120share155549971518608598155549971561404891Wed, 17 Apr 2019 11:15:15 GMT\"0x8D6C325F7B8AFA3\"5120share155549978405302833Wed, 17 Apr 2019 11:16:24 GMT\"0x8D6C326207DB3DC\"5120share155549978511702131155549978517806033Wed, 17 Apr 2019 11:16:25 GMT\"0x8D6C32621294535\"5120share155549980131605649155549980133103239Wed, 17 Apr 2019 11:16:41 GMT\"0x8D6C3262ACA3D2C\"5120share155550002738005277Wed, 17 Apr 2019 11:20:27 GMT\"0x8D6C326B1A24665\"5120share155550002983909494155550003002100264Wed, 17 Apr 2019 11:20:30 GMT\"0x8D6C326B31EBAA7\"5120share155550006142202418155550006151604324Wed, 17 Apr 2019 11:21:01 GMT\"0x8D6C326C5E429E5\"5120share155550009606909758Wed, 17 Apr 2019 11:21:36 GMT\"0x8D6C326DA7D5D08\"5120share155550009760705130155550011425007819Wed, 17 Apr 2019 11:21:54 GMT\"0x8D6C326E553CE47\"5120share155550015985409525155550015992505947Wed, 17 Apr 2019 11:22:39 GMT\"0x8D6C327008D05C8\"5120share155550051259905095Wed, 17 Apr 2019 11:28:32 GMT\"0x8D6C327D2EAB6BB\"5120share155550051502006429155550051529202610Wed, 17 Apr 2019 11:28:35 GMT\"0x8D6C327D459D250\"5120share155550055250105787155550055253306514Wed, 17 Apr 2019 11:29:12 GMT\"0x8D6C327EAA8ACA5\"5120share155550088263301102Wed, 17 Apr 2019 11:34:42 GMT\"0x8D6C328AF698573\"5120share155550088987503055155550088992208325Wed, 17 Apr 2019 11:34:50 GMT\"0x8D6C328B3C5CE25\"5120share155550092694403401155550092964703585Wed, 17 Apr 2019 11:35:29 GMT\"0x8D6C328CB52F6FE\"5120share155550128719404242Wed, 17 Apr 2019 11:41:27 GMT\"0x8D6C329A06FBC14\"5120share155550128869409229155550128926507283Wed, 17 Apr 2019 11:41:29 GMT\"0x8D6C329A1ABFF33\"5120share155550132367805226155550132369307996Wed, 17 Apr 2019 11:42:03 GMT\"0x8D6C329B631B774\"5120share155550156726204845Wed, 17 Apr 2019 11:46:07 GMT\"0x8D6C32A4770EF93\"5120share155550157040602071155550157076409850Wed, 17 Apr 2019 11:46:10 GMT\"0x8D6C32A4985D59F\"5120share155550163293808211155550163312201213Wed, 17 Apr 2019 11:47:13 GMT\"0x8D6C32A6EB141F0\"5120share155550197119504850Wed, 17 Apr 2019 11:52:51 GMT\"0x8D6C32B3833750F\"5120share155550197461700480155550197501504695Wed, 17 Apr 2019 11:52:55 GMT\"0x8D6C32B3A7AC857\"5120share155550203363000262155550203381302772Wed, 17 Apr 2019 11:53:53 GMT\"0x8D6C32B5D8624BF\"5120share155550242341102516Wed, 17 Apr 2019 12:00:23 GMT\"0x8D6C32C45BDF478\"5120share155550242674407416155550242710704735Wed, 17 Apr 2019 12:00:27 GMT\"0x8D6C32C47F1FD5B\"5120share155550248691308149155550248709006105Wed, 17 Apr 2019 12:01:27 GMT\"0x8D6C32C6BB1D387\"5120share155552560545404292Wed, 17 Apr 2019 18:26:45 GMT\"0x8D6C3623F6E51E9\"5120share155552560809403357155552560834301039Wed, 17 Apr 2019 18:26:48 GMT\"0x8D6C36241013AA2\"5120share155552564907209438155552564919503843Wed, 17 Apr 2019 18:27:29 GMT\"0x8D6C362595AC1D4\"5120share155552565476607413Wed, 17 Apr 2019 18:27:35 GMT\"0x8D6C3625D267F23\"5120share155552566303103495155552566351701314Wed, 17 Apr 2019 18:27:43 GMT\"0x8D6C36261F69DD9\"5120share155552578011908260155552578062307634Wed, 17 Apr 2019 18:29:40 GMT\"0x8D6C362A7C38020\"5120share155552614480001295Wed, 17 Apr 2019 18:35:47 GMT\"0x8D6C363823B7554\"5120share155552615120901855155552615136405806Wed, 17 Apr 2019 18:35:51 GMT\"0x8D6C36384A975B8\"5120share155552615366401269Wed, 17 Apr 2019 18:35:53 GMT\"0x8D6C36385FEA70C\"5120share155552615404704286155552615408701313Wed, 17 Apr 2019 18:35:54 GMT\"0x8D6C363863FE0E9\"5120share155552617174909395155552617176307704Wed, 17 Apr 2019 18:36:11 GMT\"0x8D6C36390C91C6B\"5120share155552622852006858155552622859402876Wed, 17 Apr 2019 18:37:08 GMT\"0x8D6C363B2B0CA30\"5120share155552628740508216Wed, 17 Apr 2019 18:38:07 GMT\"0x8D6C363D5F22384\"5120share155552629053208133155552629074209107Wed, 17 Apr 2019 18:38:10 GMT\"0x8D6C363D7BAB6CF\"5120share155552633147703067155552633156701774Wed, 17 Apr 2019 18:38:51 GMT\"0x8D6C363F00FF2E5\"5120share155552648726709764Wed, 17 Apr 2019 18:41:27 GMT\"0x8D6C3644D075E26\"5120share155552649436202173155552649474208215Wed, 17 Apr 2019 18:41:35 GMT\"0x8D6C364517CAEBD\"5120share155552656168000918155552656187209904Wed, 17 Apr 2019 18:42:42 GMT\"0x8D6C36479618E75\"5120share155552693163608945Wed, 17 Apr 2019 18:48:52 GMT\"0x8D6C36556520750\"5120share155552693446204528155552693463308719Wed, 17 Apr 2019 18:48:54 GMT\"0x8D6C3655786650B\"5120share155552697993108967155552698000907445Wed, 17 Apr 2019 18:49:40 GMT\"0x8D6C36572A9F003\"5120share155552729425804271Wed, 17 Apr 2019 18:54:54 GMT\"0x8D6C3662DE20556\"5120share155552729598803339155552729614405737Wed, 17 Apr 2019 18:54:56 GMT\"0x8D6C3662F0A9030\"5120share155552733112600872155552733118908362Wed, 17 Apr 2019 18:55:31 GMT\"0x8D6C36643E5922E\"5120share155552772564603671Wed, 17 Apr 2019 19:02:05 GMT\"0x8D6C3672EF935F7\"5120share155552772624901917155552772628004531Wed, 17 Apr 2019 19:02:06 GMT\"0x8D6C3672F5BF35A\"5120share155552775724706421155552775727802514Wed, 17 Apr 2019 19:02:37 GMT\"0x8D6C36741D4B9B6\"5120share155552802670503142Wed, 17 Apr 2019 19:07:06 GMT\"0x8D6C367E2807ADC\"5120share155552803282203340155552803318603518Wed, 17 Apr 2019 19:07:13 GMT\"0x8D6C367E65B28E5\"5120share155552809032904944155552809090908066Wed, 17 Apr 2019 19:08:11 GMT\"0x8D6C36808C39DB8\"5120share155552838825607453Wed, 17 Apr 2019 19:13:08 GMT\"0x8D6C368B9FE54F7\"5120share155552839148508358155552839193408320Wed, 17 Apr 2019 19:13:12 GMT\"0x8D6C368BC2F9AEA\"5120share155552844815104394155552844833406262Wed, 17 Apr 2019 19:14:08 GMT\"0x8D6C368DDCD31FD\"5120share155552878402607069Wed, 17 Apr 2019 19:19:44 GMT\"0x8D6C369A5E49D58\"5120share155552878826702128155552878862507316Wed, 17 Apr 2019 19:19:48 GMT\"0x8D6C369A8A22518\"5120share155552884129007821155552884146501049Wed, 17 Apr 2019 19:20:41 GMT\"0x8D6C369C81F98C8\"5120share155558533127600563Thu, 18 Apr 2019 11:02:11 GMT\"0x8D6C3ED4EB5FE06\"5120share155558533326108913155558533341701278Thu, 18 Apr 2019 11:02:13 GMT\"0x8D6C3ED4FE7D39E\"5120share155558536029301808155558536036603046Thu, 18 Apr 2019 11:02:40 GMT\"0x8D6C3ED5FF94117\"5120share155558537329802053Thu, 18 Apr 2019 11:02:53 GMT\"0x8D6C3ED67E43F37\"5120share155558537790904707155558537838909948Thu, 18 Apr 2019 11:02:59 GMT\"0x8D6C3ED6B35010E\"5120share155558553437606602155558553452403381Thu, 18 Apr 2019 11:05:35 GMT\"0x8D6C3EDC8567F8E\"5120share155558600311408161Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF0CB075\"5120share155558600376909016155558600379609735Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF74C41A\"5120share155558601862101564155558601863401502Thu, 18 Apr 2019 11:13:38 GMT\"0x8D6C3EEE84CEB0A\"5120share155558617728402366Thu, 18 Apr 2019 11:16:17 GMT\"0x8D6C3EF46E0E671\"5120share155558617963201324155558617967308167Thu, 18 Apr 2019 11:16:19 GMT\"0x8D6C3EF484A4F65\"5120share155558622185704428Thu, 18 Apr 2019 11:17:02 GMT\"0x8D6C3EF61870C3D\"5120share155558622374608647155558622393206409Thu, 18 Apr 2019 11:17:03 GMT\"0x8D6C3EF62B0BF15\"5120share155558626297903235155558626308203729Thu, 18 Apr 2019 11:17:43 GMT\"0x8D6C3EF7A065E48\"5120share155558627287602013155558627333600766Thu, 18 Apr 2019 11:17:54 GMT\"0x8D6C3EF80C86890\"5120share155558650337201708Thu, 18 Apr 2019 11:21:43 GMT\"0x8D6C3F009423CB2\"5120share155558651265101014155558651330107985Thu, 18 Apr 2019 11:21:53 GMT\"0x8D6C3F00F2DD147\"5120share155558657593309443155558657601100869Thu, 18 Apr 2019 11:22:56 GMT\"0x8D6C3F0348FD711\"5120share155558692134205333Thu, 18 Apr 2019 11:28:41 GMT\"0x8D6C3F1025B7B05\"5120share155558692763501858155558692941807357Thu, 18 Apr 2019 11:28:49 GMT\"0x8D6C3F1072BC065\"5120share155558696820601017155558696822107945Thu, 18 Apr 2019 11:29:28 GMT\"0x8D6C3F11E4E16A8\"5120share155558731013204298Thu, 18 Apr 2019 11:35:10 GMT\"0x8D6C3F1EA195BC8\"5120share155558731124900977155558731129604089Thu, 18 Apr 2019 11:35:11 GMT\"0x8D6C3F1EAC9CFC1\"5120share155558735412207891155558735415409398Thu, 18 Apr 2019 11:35:54 GMT\"0x8D6C3F204555DC8\"5120share155558766508405728Thu, 18 Apr 2019 11:41:05 GMT\"0x8D6C3F2BDA95065\"5120share155558766914207910155558767009601245Thu, 18 Apr 2019 11:41:10 GMT\"0x8D6C3F2C0A65C74\"5120share155558770515003967155558770518109064Thu, 18 Apr 2019 11:41:45 GMT\"0x8D6C3F2D58FB3EA\"5120share155558793089708251Thu, 18 Apr 2019 11:45:31 GMT\"0x8D6C3F35C2C9F38\"5120share155558793444503290155558793481008090Thu, 18 Apr 2019 11:45:34 GMT\"0x8D6C3F35E81F9AC\"5120share155558799946700102155558799964409447Thu, 18 Apr 2019 11:46:39 GMT\"0x8D6C3F38527F5EE\"5120share155558831554006522Thu, 18 Apr 2019 11:51:55 GMT\"0x8D6C3F441761EFC\"5120share155558831880805187155558831916801086Thu, 18 Apr 2019 11:51:59 GMT\"0x8D6C3F4439C8AC2\"5120share155558837917309951155558837934900091Thu, 18 Apr 2019 11:52:59 GMT\"0x8D6C3F4677C5E1C\"5120share155558870281601956Thu, 18 Apr 2019 11:58:22 GMT\"0x8D6C3F528477EB6\"5120share155558870609201875155558870644608087Thu, 18 Apr 2019 11:58:26 GMT\"0x8D6C3F52A718909\"5120share155558875844500911155558875952009938Thu, 18 Apr 2019 11:59:19 GMT\"0x8D6C3F54A13F0B6\"5120share155567192576105879Fri, 19 Apr 2019 11:05:25 GMT\"0x8D6C4B6ECF03F32\"5120share155567192759500710155567192762400666Fri, 19 Apr 2019 11:05:27 GMT\"0x8D6C4B6EE0C32F4\"5120share155567194474605632155567194476809595Fri, 19 Apr 2019 11:05:44 GMT\"0x8D6C4B6F844366E\"5120share155567208446902690Fri, 19 Apr 2019 11:08:04 GMT\"0x8D6C4B74B91AD3E\"5120share155567209577205738155567209649502753Fri, 19 Apr 2019 11:08:16 GMT\"0x8D6C4B752BC478C\"5120share155567223020006989155567223027903712Fri, 19 Apr 2019 11:10:30 GMT\"0x8D6C4B7A27B037E\"5120share155567267214700785Fri, 19 Apr 2019 11:17:52 GMT\"0x8D6C4B8A9D19C03\"5120share155567267430107959155567267433708579Fri, 19 Apr 2019 11:17:54 GMT\"0x8D6C4B8AB1F421E\"5120share155567269138909553155567269140307566Fri, 19 Apr 2019 11:18:11 GMT\"0x8D6C4B8B54B0ED2\"5120share155567311897109020Fri, 19 Apr 2019 11:25:21 GMT\"0x8D6C4B9B58B66CA\"5120share155567312405708614155567312410100368Fri, 19 Apr 2019 11:25:24 GMT\"0x8D6C4B9B734CF1F\"5120share155567319408508398155567319411202788Fri, 19 Apr 2019 11:26:34 GMT\"0x8D6C4B9E0EFEFA2\"5120share155567325083704762Fri, 19 Apr 2019 11:27:31 GMT\"0x8D6C4BA02E60255\"5120share155567325320707587155567325338705102Fri, 19 Apr 2019 11:27:33 GMT\"0x8D6C4BA044A5A30\"5120share155567328437209547155567328446100050Fri, 19 Apr 2019 11:28:04 GMT\"0x8D6C4BA16CFBDB9\"5120share155567352544707619Fri, 19 Apr 2019 11:32:05 GMT\"0x8D6C4BAA674C7F0\"5120share155567352744206930155567352797607965Fri, 19 Apr 2019 11:32:08 GMT\"0x8D6C4BAA7F7D44D\"5120share155567358442406268155567358449406827Fri, 19 Apr 2019 11:33:04 GMT\"0x8D6C4BAC9A6DF39\"5120share155567398217802006Fri, 19 Apr 2019 11:39:42 GMT\"0x8D6C4BBB6AA75A8\"5120share155567398279006805155567398336005585Fri, 19 Apr 2019 11:39:43 GMT\"0x8D6C4BBB75F5426\"5120share155567403918702123155567403920200268Fri, 19 Apr 2019 11:40:39 GMT\"0x8D6C4BBD8C14626\"5120share155567436933209556Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9D6CD427\"5120share155567436990601250155567436996805574Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9DCD2726\"5120share155567440869506659155567440872700843Fri, 19 Apr 2019 11:46:48 GMT\"0x8D6C4BCB4E71856\"5120share155567477936602481Fri, 19 Apr 2019 11:52:59 GMT\"0x8D6C4BD91D41C09\"5120share155567478479206922155567478714104050Fri, 19 Apr 2019 11:53:07 GMT\"0x8D6C4BD968E8C03\"5120share155567481531606023155567481533203351Fri, 19 Apr 2019 11:53:35 GMT\"0x8D6C4BDA7451072\"5120share155567506263900872Fri, 19 Apr 2019 11:57:42 GMT\"0x8D6C4BE3ABC6304\"5120share155567506733803203155567506770005241Fri, 19 Apr 2019 11:57:47 GMT\"0x8D6C4BE3DC05814\"5120share155567519626500535155567519644501571Fri, 19 Apr 2019 11:59:56 GMT\"0x8D6C4BE8A7EB645\"5120share155567584657607063Fri, 19 Apr 2019 12:10:46 GMT\"0x8D6C4C00E00A781\"5120share155567585010305443155567585045601848Fri, 19 Apr 2019 12:10:50 GMT\"0x8D6C4C010509D14\"5120share155567590683409611155567590701101754Fri, 19 Apr 2019 12:11:47 GMT\"0x8D6C4C032053E4B\"5120share155567688970409248Fri, 19 Apr 2019 12:28:09 GMT\"0x8D6C4C27BC18845\"5120share155567689280005270155567689317004914Fri, 19 Apr 2019 12:28:13 GMT\"0x8D6C4C27DD2C5F7\"5120share155567696352901093155567696370407818Fri, 19 Apr 2019 12:29:23 GMT\"0x8D6C4C2A7DC5137\"5120share155575813209600793Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA3EA15F5\"5120share155575813264103256155575813266909560Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA4415492\"5120share155575814769709529155575814770902003Sat, 20 Apr 2019 11:02:27 GMT\"0x8D6C57FAD385350\"5120share155575815857904679Sat, 20 Apr 2019 11:02:38 GMT\"0x8D6C57FB3BCDF46\"5120share155575817852406107155575817915105783Sat, 20 Apr 2019 11:03:03 GMT\"0x8D6C57FC27AAC57\"5120share155575831923009371155575831931206134Sat, 20 Apr 2019 11:05:19 GMT\"0x8D6C580138A3A10\"5120share155575871359605018Sat, 20 Apr 2019 11:11:53 GMT\"0x8D6C580FE86A046\"5120share155575871428702299155575871431604033Sat, 20 Apr 2019 11:11:54 GMT\"0x8D6C580FEF3F7FC\"5120share155575873394302965155575873395709603Sat, 20 Apr 2019 11:12:13 GMT\"0x8D6C5810AA9800A\"5120share155575904781202748Sat, 20 Apr 2019 11:17:27 GMT\"0x8D6C581C5BB254F\"5120share155575905097005719155575905332806542Sat, 20 Apr 2019 11:17:33 GMT\"0x8D6C581C905325C\"5120share155575910684707057155575912204309650Sat, 20 Apr 2019 11:18:42 GMT\"0x8D6C581F1FB2C81\"5120share155575929713003223Sat, 20 Apr 2019 11:21:37 GMT\"0x8D6C5825A82DE07\"5120share155575930016402563155575930034609381Sat, 20 Apr 2019 11:21:40 GMT\"0x8D6C5825C478AF6\"5120share155575933047808006155575933058505517Sat, 20 Apr 2019 11:22:10 GMT\"0x8D6C5826E4D4AC9\"5120share155575961124103208Sat, 20 Apr 2019 11:26:51 GMT\"0x8D6C58315971DC5\"5120share155575961493403601155575961508806582Sat, 20 Apr 2019 11:26:55 GMT\"0x8D6C58317E6D1EC\"5120share155575966068000148155575966075709229Sat, 20 Apr 2019 11:27:40 GMT\"0x8D6C583331B0E83\"5120share155576000656408070Sat, 20 Apr 2019 11:33:26 GMT\"0x8D6C5840134EA85\"5120share155576001064302171155576001069108351Sat, 20 Apr 2019 11:33:30 GMT\"0x8D6C58403AA5B27\"5120share155576004937104562155576004940203313Sat, 20 Apr 2019 11:34:09 GMT\"0x8D6C5841ABAC530\"5120share155576033542302706Sat, 20 Apr 2019 11:38:55 GMT\"0x8D6C584C5354597\"5120share155576033677709710155576033682404294Sat, 20 Apr 2019 11:38:56 GMT\"0x8D6C584C60DB453\"5120share155576037504501320155576037507605550Sat, 20 Apr 2019 11:39:35 GMT\"0x8D6C584DCE2AFE2\"5120share155576068931400284Sat, 20 Apr 2019 11:44:49 GMT\"0x8D6C585982564A9\"5120share155576069062801352155576069065903568Sat, 20 Apr 2019 11:44:51 GMT\"0x8D6C585994219A7\"5120share155576075382903825155576075386008717Sat, 20 Apr 2019 11:45:53 GMT\"0x8D6C585BE9D2593\"5120share155576098915806721Sat, 20 Apr 2019 11:49:49 GMT\"0x8D6C5864AF0A797\"5120share155576099300703611155576099338008677Sat, 20 Apr 2019 11:49:53 GMT\"0x8D6C5864D76F52D\"5120share155576105534303557155576105551705906Sat, 20 Apr 2019 11:50:55 GMT\"0x8D6C586727DB775\"5120share155576136666205450Sat, 20 Apr 2019 11:56:06 GMT\"0x8D6C5872BF160EF\"5120share155576137051407415155576137301709295Sat, 20 Apr 2019 11:56:13 GMT\"0x8D6C5872FBBC94D\"5120share155576143359509198155576143377401809Sat, 20 Apr 2019 11:57:13 GMT\"0x8D6C58753F17AFE\"5120share155576172918400030Sat, 20 Apr 2019 12:02:09 GMT\"0x8D6C5880406BE99\"5120share155576173298002686155576173333000239Sat, 20 Apr 2019 12:02:13 GMT\"0x8D6C588067FC714\"5120share155576178810706053155576178828603693Sat, 20 Apr 2019 12:03:08 GMT\"0x8D6C58827406073\"5120share155584483815008730Sun, 21 Apr 2019 11:07:18 GMT\"0x8D6C64984C018B8\"5120share155584483913106938155584483917002424Sun, 21 Apr 2019 11:07:19 GMT\"0x8D6C649855BB84F\"5120share155584487226303315155584487227607551Sun, 21 Apr 2019 11:07:52 GMT\"0x8D6C64999173F81\"5120share155584489837205915Sun, 21 Apr 2019 11:08:19 GMT\"0x8D6C649A94749C7\"5120share155584492483905097155584492529203389Sun, 21 Apr 2019 11:08:46 GMT\"0x8D6C649B94E828D\"5120share155584508629703911155584508639100082Sun, 21 Apr 2019 11:11:30 GMT\"0x8D6C64A1B29FBA9\"5120share155584535534508096Sun, 21 Apr 2019 11:15:55 GMT\"0x8D6C64AB90607D2\"5120share155584535712303421155584535715808285Sun, 21 Apr 2019 11:15:57 GMT\"0x8D6C64ABA1AD765\"5120share155584537564003660155584537565301698Sun, 21 Apr 2019 11:16:15 GMT\"0x8D6C64AC520BC40\"5120share155584552829803240Sun, 21 Apr 2019 11:18:48 GMT\"0x8D6C64B201CB521\"5120share155584552946009061155584554426607097Sun, 21 Apr 2019 11:19:06 GMT\"0x8D6C64B2B0D789C\"5120share155584553254601653Sun, 21 Apr 2019 11:18:53 GMT\"0x8D6C64B22F5D3B0\"5120share155584553557203477155584553577408184Sun, 21 Apr 2019 11:18:55 GMT\"0x8D6C64B2498A2CE\"5120share155584556555008565155584556563806071Sun, 21 Apr 2019 11:19:25 GMT\"0x8D6C64B366554AE\"5120share155584560929207735155584560949607694Sun, 21 Apr 2019 11:20:09 GMT\"0x8D6C64B50866103\"5120share155584582875408540Sun, 21 Apr 2019 11:23:48 GMT\"0x8D6C64BD333A510\"5120share155584583143306682155584584392603919Sun, 21 Apr 2019 11:24:03 GMT\"0x8D6C64BDC3E8F63\"5120share155584589004107281155584589129507420Sun, 21 Apr 2019 11:24:51 GMT\"0x8D6C64BF87B2D1D\"5120share155584619907809616Sun, 21 Apr 2019 11:29:59 GMT\"0x8D6C64CAFF29B0C\"5120share155584620077203477155584620081900983Sun, 21 Apr 2019 11:30:00 GMT\"0x8D6C64CB0FB2BB9\"5120share155584623589400987155584623591001043Sun, 21 Apr 2019 11:30:35 GMT\"0x8D6C64CC5E519E6\"5120share155584655048200003Sun, 21 Apr 2019 11:35:53 GMT\"0x8D6C64D8343C259\"5120share155584655633605681155584655639907723Sun, 21 Apr 2019 11:35:56 GMT\"0x8D6C64D84E9D13D\"5120share155584659190504598155584659192105319Sun, 21 Apr 2019 11:36:31 GMT\"0x8D6C64D9A18FF60\"5120share155584692147804243Sun, 21 Apr 2019 11:42:01 GMT\"0x8D6C64E5E8615DE\"5120share155584692283204299155584692376504004Sun, 21 Apr 2019 11:42:03 GMT\"0x8D6C64E5FE23BA9\"5120share155584695869900110155584695871401997Sun, 21 Apr 2019 11:42:38 GMT\"0x8D6C64E74BA5B84\"5120share155584718460302343Sun, 21 Apr 2019 11:46:24 GMT\"0x8D6C64EFB6D686F\"5120share155584718782904821155584718821201794Sun, 21 Apr 2019 11:46:28 GMT\"0x8D6C64EFD94206B\"5120share155584725834704516155584725852403365Sun, 21 Apr 2019 11:47:38 GMT\"0x8D6C64F277DF7FC\"5120share155584757053309896Sun, 21 Apr 2019 11:52:50 GMT\"0x8D6C64FE176D8CF\"5120share155584757505503064155584757541600155Sun, 21 Apr 2019 11:52:55 GMT\"0x8D6C64FE4600590\"5120share155584763371702792155584763389403930Sun, 21 Apr 2019 11:53:54 GMT\"0x8D6C6500739DD6C\"5120share155584792739507966Sun, 21 Apr 2019 11:58:47 GMT\"0x8D6C650B62BD0F2\"5120share155584793112701333155584793148805328Sun, 21 Apr 2019 11:58:51 GMT\"0x8D6C650B89C9524\"5120share155584800506102766155584800524503368Sun, 21 Apr 2019 12:00:05 GMT\"0x8D6C650E491C775\"5120share155593096078609193Mon, 22 Apr 2019 11:02:40 GMT\"0x8D6C71209D6C3BA\"5120share155593096298307999155593096301000561Mon, 22 Apr 2019 11:02:43 GMT\"0x8D6C7120B29E7BB\"5120share155593098099104006155593098100306183Mon, 22 Apr 2019 11:03:01 GMT\"0x8D6C71215E3536B\"5120share155593098197300518Mon, 22 Apr 2019 11:03:02 GMT\"0x8D6C712169857BE\"5120share155593098884206175155593098950004812Mon, 22 Apr 2019 11:03:10 GMT\"0x8D6C7121B6CDB45\"5120share155593107350404511155593108535905887Mon, 22 Apr 2019 11:04:46 GMT\"0x8D6C71254C6DD40\"5120share155593187228406566Mon, 22 Apr 2019 11:17:52 GMT\"0x8D6C71429239B1A\"5120share155593187548705538155593187551807000Mon, 22 Apr 2019 11:17:55 GMT\"0x8D6C7142B1136FA\"5120share155593189155809001155593189157302927Mon, 22 Apr 2019 11:18:11 GMT\"0x8D6C71434A30A5F\"5120share155593202492008030Mon, 22 Apr 2019 11:20:24 GMT\"0x8D6C714841EDC26\"5120share155593202751103090155593202784104281Mon, 22 Apr 2019 11:20:27 GMT\"0x8D6C71485DE1B0F\"5120share155593207543600336155593207545703779Mon, 22 Apr 2019 11:21:15 GMT\"0x8D6C714A262740F\"5120share155593213752903864Mon, 22 Apr 2019 11:22:17 GMT\"0x8D6C714C77B439D\"5120share155593214175802480155593214194204117Mon, 22 Apr 2019 11:22:22 GMT\"0x8D6C714C9E5568C\"5120share155593217374306324155593217383308863Mon, 22 Apr 2019 11:22:53 GMT\"0x8D6C714DCE6FB7D\"5120share155593233053705628Mon, 22 Apr 2019 11:25:30 GMT\"0x8D6C7153A7C32B3\"5120share155593233509907850155593233525106736Mon, 22 Apr 2019 11:25:35 GMT\"0x8D6C7153D3A2D50\"5120share155593239746800061155593239754102567Mon, 22 Apr 2019 11:26:37 GMT\"0x8D6C7156253852F\"5120share155593275709608855Mon, 22 Apr 2019 11:32:37 GMT\"0x8D6C71638886EDC\"5120share155593275807707570155593275832501960Mon, 22 Apr 2019 11:32:39 GMT\"0x8D6C71639ADE4C8\"5120share155593280226001839155593280227604616Mon, 22 Apr 2019 11:33:22 GMT\"0x8D6C71653770F3F\"5120share155593312109201415Mon, 22 Apr 2019 11:38:41 GMT\"0x8D6C71711A05C0C\"5120share155593312234201386155593312237305833Mon, 22 Apr 2019 11:38:42 GMT\"0x8D6C7171243F50B\"5120share155593315645808354155593315648906679Mon, 22 Apr 2019 11:39:16 GMT\"0x8D6C71726973AD4\"5120share155593348908406819Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ECD4BBBC\"5120share155593348980708356155593348983905096Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ED49C492\"5120share155593351527207735155593351528809934Mon, 22 Apr 2019 11:45:15 GMT\"0x8D6C717FC746FC6\"5120share155593373839009889Mon, 22 Apr 2019 11:48:58 GMT\"0x8D6C7188186D480\"5120share155593374213504623155593374249506463Mon, 22 Apr 2019 11:49:02 GMT\"0x8D6C71883F98B78\"5120share155593379929509326155593379947408779Mon, 22 Apr 2019 11:49:59 GMT\"0x8D6C718A5EF42C6\"5120share155593408284009033Mon, 22 Apr 2019 11:54:42 GMT\"0x8D6C7194ECC93B8\"5120share155593408602509047155593408638809789Mon, 22 Apr 2019 11:54:46 GMT\"0x8D6C71950EB127C\"5120share155593413980507194155593414004706529Mon, 22 Apr 2019 11:55:40 GMT\"0x8D6C71970E5C28A\"5120share155593443340907715Mon, 22 Apr 2019 12:00:33 GMT\"0x8D6C71A1FC13E8B\"5120share155593443670003038155593443705707580Mon, 22 Apr 2019 12:00:37 GMT\"0x8D6C71A21EEA00E\"5120share155593450016401961155593450034004099Mon, 22 Apr 2019 12:01:40 GMT\"0x8D6C71A47A53FCD\"5120share155599352898709431Tue, 23 Apr 2019 04:25:29 GMT\"0x8D6C7A3B77ECE95\"5120share155599353457303882Tue, 23 Apr 2019 04:25:38 GMT\"0x8D6C7A3BD362BCE\"5120share155599357366009924Tue, 23 Apr 2019 04:26:14 GMT\"0x8D6C7A3D2727D00\"5120share155599357721408169155599357752002160Tue, 23 Apr 2019 04:26:17 GMT\"0x8D6C7A3D4608808\"5120share155599358411903550Tue, 23 Apr 2019 04:26:24 GMT\"0x8D6C7A3D84ECE0A\"5120share155601731922303609Tue, 23 Apr 2019 11:01:59 GMT\"0x8D6C7DB1B9B74FB\"5120share155601732131001910155601732139106746Tue, 23 Apr 2019 11:02:01 GMT\"0x8D6C7DB1CC9BFC1\"5120share155601735054109201155601735057901414Tue, 23 Apr 2019 11:02:30 GMT\"0x8D6C7DB2E2F2F3A\"5120share155601736064400159Tue, 23 Apr 2019 11:02:40 GMT\"0x8D6C7DB3434ABFD\"5120share155601736424105355155601736465802495Tue, 23 Apr 2019 11:02:44 GMT\"0x8D6C7DB369991DE\"5120share155601744325107728155601744394209405Tue, 23 Apr 2019 11:04:04 GMT\"0x8D6C7DB65FC1A07\"5120share155601797649807068Tue, 23 Apr 2019 11:12:56 GMT\"0x8D6C7DCA3413305\"5120share155601797996201913155601798001404152Tue, 23 Apr 2019 11:13:00 GMT\"0x8D6C7DCA558E9FD\"5120share155601800320103700155601800321509380Tue, 23 Apr 2019 11:13:23 GMT\"0x8D6C7DCB32D5623\"5120share155601828484808138Tue, 23 Apr 2019 11:18:04 GMT\"0x8D6C7DD5B19C912\"5120share155601830009206641155601830015809234Tue, 23 Apr 2019 11:18:20 GMT\"0x8D6C7DD642B7506\"5120share155601834565900993155601834931903550Tue, 23 Apr 2019 11:19:09 GMT\"0x8D6C7DD819C3AD4\"5120share155601852383804224Tue, 23 Apr 2019 11:22:04 GMT\"0x8D6C7DDE9B3E6DA\"5120share155601852622609962155601852640709853Tue, 23 Apr 2019 11:22:06 GMT\"0x8D6C7DDEB0C7811\"5120share155601855610505401155601855619203211Tue, 23 Apr 2019 11:22:36 GMT\"0x8D6C7DDFCCD22F6\"5120share155601888818908038Tue, 23 Apr 2019 11:28:08 GMT\"0x8D6C7DEC2BD7575\"5120share155601889047405602155601889063207953Tue, 23 Apr 2019 11:28:10 GMT\"0x8D6C7DEC427062C\"5120share155601893832208908155601893844503340Tue, 23 Apr 2019 11:28:58 GMT\"0x8D6C7DEE0A87BA4\"5120share155601928936605407Tue, 23 Apr 2019 11:34:50 GMT\"0x8D6C7DFB2302469\"5120share155601929224401788155601929230605391Tue, 23 Apr 2019 11:34:52 GMT\"0x8D6C7DFB3AF6083\"5120share155601933534601457155601933537709705Tue, 23 Apr 2019 11:35:35 GMT\"0x8D6C7DFCD3678E6\"5120share155601964760005256Tue, 23 Apr 2019 11:40:47 GMT\"0x8D6C7E0874F4DEB\"5120share155601964910409011155601964915104348Tue, 23 Apr 2019 11:40:49 GMT\"0x8D6C7E0883CE94E\"5120share155601967123504480155601967126608975Tue, 23 Apr 2019 11:41:11 GMT\"0x8D6C7E095689CAA\"5120share155601999601804030Tue, 23 Apr 2019 11:46:36 GMT\"0x8D6C7E156FB9962\"5120share155601999694701777155601999697800251Tue, 23 Apr 2019 11:46:37 GMT\"0x8D6C7E1578EF47C\"5120share155602003749501427155602003751005370Tue, 23 Apr 2019 11:47:17 GMT\"0x8D6C7E16FB7BDC9\"5120share155602026583107985Tue, 23 Apr 2019 11:51:06 GMT\"0x8D6C7E1F810D790\"5120share155602026979301983155602027015406851Tue, 23 Apr 2019 11:51:10 GMT\"0x8D6C7E1FA73F564\"5120share155602032674702563155602032692105302Tue, 23 Apr 2019 11:52:07 GMT\"0x8D6C7E21C49318C\"5120share155602060207403254Tue, 23 Apr 2019 11:56:42 GMT\"0x8D6C7E2C04BE483\"5120share155602060511200179155602060546204061Tue, 23 Apr 2019 11:56:45 GMT\"0x8D6C7E2C2510A92\"5120share155602066032001106155602066050002052Tue, 23 Apr 2019 11:57:40 GMT\"0x8D6C7E2E31DC1E8\"5120share155602095578105524Tue, 23 Apr 2019 12:02:35 GMT\"0x8D6C7E3931EFFB4\"5120share155602095889002587155602095924407097Tue, 23 Apr 2019 12:02:39 GMT\"0x8D6C7E3952F966C\"5120share155602101006809941155602101024502287Tue, 23 Apr 2019 12:03:30 GMT\"0x8D6C7E3B399D7B3\"5120share155610372895102469Wed, 24 Apr 2019 11:02:09 GMT\"0x8D6C8A44BCFB0DA\"5120share155610373141006923155610373157605228Wed, 24 Apr 2019 11:02:11 GMT\"0x8D6C8A44D4985F7\"5120share155610376132904883155610376146100818Wed, 24 Apr 2019 11:02:41 GMT\"0x8D6C8A45F19FA18\"5120share155610377385900915Wed, 24 Apr 2019 11:02:54 GMT\"0x8D6C8A466A7CC33\"5120share155610377782705835155610378034305705Wed, 24 Apr 2019 11:03:00 GMT\"0x8D6C8A46A67BD59\"5120share155610388905308117155610388957707151Wed, 24 Apr 2019 11:04:50 GMT\"0x8D6C8A4ABC619F7\"5120share155610456973902277Wed, 24 Apr 2019 11:16:09 GMT\"0x8D6C8A640D89AA5\"5120share155610457043809446155610457046601023Wed, 24 Apr 2019 11:16:10 GMT\"0x8D6C8A64147924C\"5120share155610458625908819155610458627309878Wed, 24 Apr 2019 11:16:26 GMT\"0x8D6C8A64AB3985E\"5120share155610462696100101Wed, 24 Apr 2019 11:17:07 GMT\"0x8D6C8A662FC6D3F\"5120share155610462999806911155610463015401595Wed, 24 Apr 2019 11:17:10 GMT\"0x8D6C8A664E29738\"5120share155610468071108459155610468115706117Wed, 24 Apr 2019 11:18:01 GMT\"0x8D6C8A68364A313\"5120share155610499531404329Wed, 24 Apr 2019 11:23:15 GMT\"0x8D6C8A73EAA18BB\"5120share155610499885203420155610499903406227Wed, 24 Apr 2019 11:23:19 GMT\"0x8D6C8A740BF6EDE\"5120share155610503301507245155610503310502140Wed, 24 Apr 2019 11:23:53 GMT\"0x8D6C8A7550DF88E\"5120share155610517124802137Wed, 24 Apr 2019 11:26:11 GMT\"0x8D6C8A7A77428B8\"5120share155610517614001829155610517647303310Wed, 24 Apr 2019 11:26:16 GMT\"0x8D6C8A7AA918E67\"5120share155610523911605564155610523927805669Wed, 24 Apr 2019 11:27:19 GMT\"0x8D6C8A7D000A492\"5120share155610570355307500Wed, 24 Apr 2019 11:35:03 GMT\"0x8D6C8A8E4A92FB7\"5120share155610570429201962155610570433905439Wed, 24 Apr 2019 11:35:04 GMT\"0x8D6C8A8E5200830\"5120share155610572587302298155610572588801633Wed, 24 Apr 2019 11:35:25 GMT\"0x8D6C8A8F1F7F005\"5120share155610606038909851Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B95AA90B\"5120share155610606079502400155610606095109923Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B9AF5E68\"5120share155610608625503151155610608826000711Wed, 24 Apr 2019 11:41:28 GMT\"0x8D6C8A9C9F7404E\"5120share155610640694708896Wed, 24 Apr 2019 11:46:46 GMT\"0x8D6C8AA87EAE40C\"5120share155610640743200430155610640746309870Wed, 24 Apr 2019 11:46:47 GMT\"0x8D6C8AA88399124\"5120share155610643185205970155610643188305732Wed, 24 Apr 2019 11:47:11 GMT\"0x8D6C8AA96C7293A\"5120share155610665402600230Wed, 24 Apr 2019 11:50:54 GMT\"0x8D6C8AB1B4115E5\"5120share155610665693707025155610665730204127Wed, 24 Apr 2019 11:50:57 GMT\"0x8D6C8AB1D34D1EF\"5120share155610671076000970155610671093301855Wed, 24 Apr 2019 11:51:51 GMT\"0x8D6C8AB3D2C0DC2\"5120share155610697735704561Wed, 24 Apr 2019 11:56:17 GMT\"0x8D6C8ABDBFFAE7E\"5120share155610698173903526155610698219604859Wed, 24 Apr 2019 11:56:22 GMT\"0x8D6C8ABDF05278A\"5120share155610705059501406155610705081607565Wed, 24 Apr 2019 11:57:31 GMT\"0x8D6C8AC07CA5BB5\"5120share155623732891804592Fri, 26 Apr 2019 00:08:49 GMT\"0x8D6C9DB5B862C5D\"5120share155623733027107547155623733037204155Fri, 26 Apr 2019 00:08:50 GMT\"0x8D6C9DB5C5B5406\"5120share155623735144201549155623735148500368Fri, 26 Apr 2019 00:09:11 GMT\"0x8D6C9DB68F1020B\"5120share155623737838109944Fri, 26 Apr 2019 00:09:38 GMT\"0x8D6C9DB7936BAF7\"5120share155623738288508731155623738455404746Fri, 26 Apr 2019 00:09:44 GMT\"0x8D6C9DB7CA57C80\"5120share155623744517805440155623744597007766Fri, 26 Apr 2019 00:10:46 GMT\"0x8D6C9DBA14DB1B3\"5120share155623755450705158Fri, 26 Apr 2019 00:12:34 GMT\"0x8D6C9DBE1F1FFF8\"5120share155623755587909563155623755590803223Fri, 26 Apr 2019 00:12:35 GMT\"0x8D6C9DBE2C79C01\"5120share155623757295200043155623757297408285Fri, 26 Apr 2019 00:12:52 GMT\"0x8D6C9DBECF3FFFF\"5120share155623764038304012Fri, 26 Apr 2019 00:14:00 GMT\"0x8D6C9DC15291A2E\"5120share155623764463006380155623764498701545Fri, 26 Apr 2019 00:14:05 GMT\"0x8D6C9DC17E67B86\"5120share155623767900208026Fri, 26 Apr 2019 00:14:39 GMT\"0x8D6C9DC2C6DC062\"5120share155623768121705378155623768144401475Fri, 26 Apr 2019 00:14:41 GMT\"0x8D6C9DC2DA138D7\"5120share155623770790608406155623770798308113Fri, 26 Apr 2019 00:15:08 GMT\"0x8D6C9DC3DE529E3\"5120share155623771326307149155623771335209876Fri, 26 Apr 2019 00:15:13 GMT\"0x8D6C9DC40A5ECF5\"5120share155623792442708756Fri, 26 Apr 2019 00:18:45 GMT\"0x8D6C9DCBF06374F\"5120share155623793181801460155623793198609694Fri, 26 Apr 2019 00:18:52 GMT\"0x8D6C9DCC2F836BF\"5120share155623798478509855155623798814506187Fri, 26 Apr 2019 00:19:48 GMT\"0x8D6C9DCE4717D91\"5120share155623832375704220Fri, 26 Apr 2019 00:25:24 GMT\"0x8D6C9DDACAB7093\"5120share155623832601806869155623832606500404Fri, 26 Apr 2019 00:25:26 GMT\"0x8D6C9DDADEF34D4\"5120share155623837314701043155623837317801578Fri, 26 Apr 2019 00:26:13 GMT\"0x8D6C9DDC9E942F0\"5120share155623869536605908Fri, 26 Apr 2019 00:31:35 GMT\"0x8D6C9DE89F690C1\"5120share155623869692506630155623869703507429Fri, 26 Apr 2019 00:31:38 GMT\"0x8D6C9DE8BABE860\"5120share155623873038809966155623873039609717Fri, 26 Apr 2019 00:32:10 GMT\"0x8D6C9DE9ED7D76B\"5120share155623905177506822Fri, 26 Apr 2019 00:37:32 GMT\"0x8D6C9DF5EDF8E0E\"5120share155623905428205423155623905432903078Fri, 26 Apr 2019 00:37:34 GMT\"0x8D6C9DF5FE97AD0\"5120share155623907919403170155623907921004777Fri, 26 Apr 2019 00:37:59 GMT\"0x8D6C9DF6EBEF0ED\"5120share155623930187103764Fri, 26 Apr 2019 00:41:42 GMT\"0x8D6C9DFF388E129\"5120share155623930513305176155623930549908292Fri, 26 Apr 2019 00:41:45 GMT\"0x8D6C9DFF5B1FE97\"5120share155623936041106457155623936058402454Fri, 26 Apr 2019 00:42:40 GMT\"0x8D6C9E01686D42E\"5120share155623965181508872Fri, 26 Apr 2019 00:47:31 GMT\"0x8D6C9E0C41C0913\"5120share155623965814908055155623965849804647Fri, 26 Apr 2019 00:47:38 GMT\"0x8D6C9E0C8179EAE\"5120share155623971877107111155623971894601634Fri, 26 Apr 2019 00:48:39 GMT\"0x8D6C9E0EC1F66C0\"5120share155623999367701297Fri, 26 Apr 2019 00:53:13 GMT\"0x8D6C9E18FE27E33\"5120share155623999669908933155623999707001906Fri, 26 Apr 2019 00:53:17 GMT\"0x8D6C9E191E779F4\"5120share155624004674705383155624004692205374Fri, 26 Apr 2019 00:54:07 GMT\"0x8D6C9E1AF9E5DDC\"5120share155627655546209352Fri, 26 Apr 2019 11:02:35 GMT\"0x8D6CA36B06A47B2\"5120share155627655662206597155627655670705250Fri, 26 Apr 2019 11:02:36 GMT\"0x8D6CA36B114913C\"5120share155627658542903811155627658546904920Fri, 26 Apr 2019 11:03:05 GMT\"0x8D6CA36C2391779\"5120share155627659597101297Fri, 26 Apr 2019 11:03:16 GMT\"0x8D6CA36C882B597\"5120share155627660756501821155627660772707059Fri, 26 Apr 2019 11:03:27 GMT\"0x8D6CA36CF829BD7\"5120share155627670486708425155627670494603621Fri, 26 Apr 2019 11:05:05 GMT\"0x8D6CA370975980E\"5120share155627694374906331Fri, 26 Apr 2019 11:09:03 GMT\"0x8D6CA3797C4398A\"5120share155627694423009151155627694426207429Fri, 26 Apr 2019 11:09:04 GMT\"0x8D6CA3798128F99\"5120share155627695938700440155627695940105765Fri, 26 Apr 2019 11:09:19 GMT\"0x8D6CA37A118F618\"5120share155627701727507398Fri, 26 Apr 2019 11:10:17 GMT\"0x8D6CA37C39D4D86\"5120share155627702477907204155627702804807647Fri, 26 Apr 2019 11:10:28 GMT\"0x8D6CA37CA09AA23\"5120share155627706697307525Fri, 26 Apr 2019 11:11:07 GMT\"0x8D6CA37E1554966\"5120share155627706891503515155627706910004461Fri, 26 Apr 2019 11:11:09 GMT\"0x8D6CA37E27FB75E\"5120share155627709688305697155627709695909311Fri, 26 Apr 2019 11:11:37 GMT\"0x8D6CA37F31CAB75\"5120share155627709845403603155627709854409593Fri, 26 Apr 2019 11:11:38 GMT\"0x8D6CA37F40BF3D2\"5120share155627730105807426Fri, 26 Apr 2019 11:15:01 GMT\"0x8D6CA386CDB63C8\"5120share155627730309507258155627730356805784Fri, 26 Apr 2019 11:15:03 GMT\"0x8D6CA386E424D8B\"5120share155627734275903465155627734284806618Fri, 26 Apr 2019 11:15:42 GMT\"0x8D6CA3885AC0F9C\"5120share155627766425003035Fri, 26 Apr 2019 11:21:04 GMT\"0x8D6CA39453834A2\"5120share155627766494105062155627766500403555Fri, 26 Apr 2019 11:21:05 GMT\"0x8D6CA3945AB0111\"5120share155627770481402091155627770482907277Fri, 26 Apr 2019 11:21:44 GMT\"0x8D6CA395D6953A6\"5120share155627804685303536Fri, 26 Apr 2019 11:27:26 GMT\"0x8D6CA3A29472252\"5120share155627804758302119155627804764505614Fri, 26 Apr 2019 11:27:27 GMT\"0x8D6CA3A29BF734D\"5120share155627807828907816155627807830400346Fri, 26 Apr 2019 11:27:58 GMT\"0x8D6CA3A3C076B67\"5120share155627840936602595Fri, 26 Apr 2019 11:33:29 GMT\"0x8D6CA3B01571EF8\"5120share155627841049404780155627841054104290Fri, 26 Apr 2019 11:33:30 GMT\"0x8D6CA3B020AFB2D\"5120share155627843893800591155627843896903734Fri, 26 Apr 2019 11:33:58 GMT\"0x8D6CA3B12FC3750\"5120share155627866038509839Fri, 26 Apr 2019 11:37:40 GMT\"0x8D6CA3B97093C05\"5120share155627866361804142155627866397604669Fri, 26 Apr 2019 11:37:44 GMT\"0x8D6CA3B99307069\"5120share155627871539803949155627871557200833Fri, 26 Apr 2019 11:38:35 GMT\"0x8D6CA3BB7ED9B1B\"5120share155627897921406881Fri, 26 Apr 2019 11:42:59 GMT\"0x8D6CA3C550FFD26\"5120share155627898303104907155627898338702902Fri, 26 Apr 2019 11:43:03 GMT\"0x8D6CA3C578C73FF\"5120share155627903179604081155627903196604939Fri, 26 Apr 2019 11:43:52 GMT\"0x8D6CA3C748107A4\"5120share155627930048909745Fri, 26 Apr 2019 11:48:20 GMT\"0x8D6CA3D148FB137\"5120share155627930331508322155627930366602874Fri, 26 Apr 2019 11:48:23 GMT\"0x8D6CA3D16742F20\"5120share155627935619404978155627935636908313Fri, 26 Apr 2019 11:49:16 GMT\"0x8D6CA3D35E11682\"5120share155636293594402398Sat, 27 Apr 2019 11:02:16 GMT\"0x8D6CAFFCF4CB732\"5120share155636294209207737155636294218409788Sat, 27 Apr 2019 11:02:22 GMT\"0x8D6CAFFD2D59768\"5120share155636296650104845155636296654305259Sat, 27 Apr 2019 11:02:46 GMT\"0x8D6CAFFE15A8482\"5120share155636297924406992Sat, 27 Apr 2019 11:02:59 GMT\"0x8D6CAFFE8F23428\"5120share155636298688802927155636298754402979Sat, 27 Apr 2019 11:03:07 GMT\"0x8D6CAFFEDE481F8\"5120share155636310874309965155636310912301666Sat, 27 Apr 2019 11:05:09 GMT\"0x8D6CB00368CD9D5\"5120share155636326147602000Sat, 27 Apr 2019 11:07:41 GMT\"0x8D6CB009122AE26\"5120share155636326266702413155636326270508552Sat, 27 Apr 2019 11:07:42 GMT\"0x8D6CB0091DE490E\"5120share155636327915904071155636327917502788Sat, 27 Apr 2019 11:07:59 GMT\"0x8D6CB009BAF4751\"5120share155636338442205521Sat, 27 Apr 2019 11:09:44 GMT\"0x8D6CB00DAA2539F\"5120share155636338760401291155636338801401685Sat, 27 Apr 2019 11:09:48 GMT\"0x8D6CB00DC90FC6E\"5120share155636339103301366Sat, 27 Apr 2019 11:09:51 GMT\"0x8D6CB00DE64F2D7\"5120share155636340189203340155636340204505572Sat, 27 Apr 2019 11:10:02 GMT\"0x8D6CB00E529D7E4\"5120share155636341638503442155636341647401339Sat, 27 Apr 2019 11:10:16 GMT\"0x8D6CB00ED87C86E\"5120share155636348710505241155636348740800132Sat, 27 Apr 2019 11:11:27 GMT\"0x8D6CB0117D75DD7\"5120share155636370747500177Sat, 27 Apr 2019 11:15:07 GMT\"0x8D6CB019AF99906\"5120share155636371788904389155636371833704937Sat, 27 Apr 2019 11:15:18 GMT\"0x8D6CB01A1795C75\"5120share155636375971900820155636375974102788Sat, 27 Apr 2019 11:15:59 GMT\"0x8D6CB01BA214C10\"5120share155636404658507340Sat, 27 Apr 2019 11:20:46 GMT\"0x8D6CB02651C2C4D\"5120share155636404754602274155636404759307889Sat, 27 Apr 2019 11:20:47 GMT\"0x8D6CB0265B75164\"5120share155636409293907234155636409297202379Sat, 27 Apr 2019 11:21:33 GMT\"0x8D6CB0280E10E7F\"5120share155636438375103933Sat, 27 Apr 2019 11:26:24 GMT\"0x8D6CB032E483A34\"5120share155636438637507161155636438643804713Sat, 27 Apr 2019 11:26:26 GMT\"0x8D6CB032FAD2908\"5120share155636441656900776155636441658409038Sat, 27 Apr 2019 11:26:56 GMT\"0x8D6CB0341A57816\"5120share155636472346501628Sat, 27 Apr 2019 11:32:03 GMT\"0x8D6CB03F88E3C4E\"5120share155636472425706537155636472447104080Sat, 27 Apr 2019 11:32:04 GMT\"0x8D6CB03F927C11D\"5120share155636475254502016155636475256005895Sat, 27 Apr 2019 11:32:32 GMT\"0x8D6CB0409E56AB9\"5120share155636497418300656Sat, 27 Apr 2019 11:36:14 GMT\"0x8D6CB048E114492\"5120share155636497943200113155636497978301385Sat, 27 Apr 2019 11:36:21 GMT\"0x8D6CB0492365296\"5120share155636503124305582155636503142000787Sat, 27 Apr 2019 11:37:11 GMT\"0x8D6CB04B02F21E0\"5120share155636531384701457Sat, 27 Apr 2019 11:41:53 GMT\"0x8D6CB0558855034\"5120share155636531744608387155636531778207039Sat, 27 Apr 2019 11:41:57 GMT\"0x8D6CB055ADE2BE2\"5120share155636537787408049155636537803908356Sat, 27 Apr 2019 11:42:58 GMT\"0x8D6CB057EC9031B\"5120share155636563637206666Sat, 27 Apr 2019 11:47:16 GMT\"0x8D6CB0618C15632\"5120share155636563945001802155636563979208633Sat, 27 Apr 2019 11:47:19 GMT\"0x8D6CB061ACB80AE\"5120share155636569017104410155636569054205200Sat, 27 Apr 2019 11:48:10 GMT\"0x8D6CB06390B4503\"5120share155644932510206948Sun, 28 Apr 2019 11:02:05 GMT\"0x8D6CBC8F33F4F50\"5120share155644932748704938155644932757008051Sun, 28 Apr 2019 11:02:07 GMT\"0x8D6CBC8F488D88D\"5120share155644935294603187155644935298508210Sun, 28 Apr 2019 11:02:33 GMT\"0x8D6CBC903AF01F5\"5120share155644937631305965Sun, 28 Apr 2019 11:02:56 GMT\"0x8D6CBC911A89607\"5120share155644938305805342155644938336808846Sun, 28 Apr 2019 11:03:03 GMT\"0x8D6CBC915D0B517\"5120share155644946809502187155644946853904496Sun, 28 Apr 2019 11:04:28 GMT\"0x8D6CBC948948A14\"5120share155644965647507163Sun, 28 Apr 2019 11:07:36 GMT\"0x8D6CBC9B892BC76\"5120share155644965767401410155644965771100036Sun, 28 Apr 2019 11:07:37 GMT\"0x8D6CBC9B94F3564\"5120share155644967154503320155644967155906675Sun, 28 Apr 2019 11:07:51 GMT\"0x8D6CBC9C19086AD\"5120share155644973212306904Sun, 28 Apr 2019 11:08:52 GMT\"0x8D6CBC9E5A93F5C\"5120share155644973882903017155644973920408561Sun, 28 Apr 2019 11:09:00 GMT\"0x8D6CBC9EAABEAEE\"5120share155644976525108519Sun, 28 Apr 2019 11:09:26 GMT\"0x8D6CBC9FA307340\"5120share155644976922907290155644976940302741Sun, 28 Apr 2019 11:09:29 GMT\"0x8D6CBC9FBE7085A\"5120share155644979827502553155644979837106210Sun, 28 Apr 2019 11:09:58 GMT\"0x8D6CBCA0D2B87E0\"5120share155644980349600078155644980351709665Sun, 28 Apr 2019 11:10:03 GMT\"0x8D6CBCA104756D4\"5120share155644999479203413Sun, 28 Apr 2019 11:13:15 GMT\"0x8D6CBCA828B03A9\"5120share155644999911401572155644999927007263Sun, 28 Apr 2019 11:13:19 GMT\"0x8D6CBCA84EC87C0\"5120share155645007015108648155645007022406098Sun, 28 Apr 2019 11:14:30 GMT\"0x8D6CBCAAF35F083\"5120share155645038821502058Sun, 28 Apr 2019 11:19:48 GMT\"0x8D6CBCB6CBB520C\"5120share155645039457909794155645039491507393Sun, 28 Apr 2019 11:19:54 GMT\"0x8D6CBCB70BAA07B\"5120share155645044044006110155645044045503760Sun, 28 Apr 2019 11:20:40 GMT\"0x8D6CBCB8BE03321\"5120share155645073350300763Sun, 28 Apr 2019 11:25:33 GMT\"0x8D6CBCC3A89465E\"5120share155645073665802364155645073670507236Sun, 28 Apr 2019 11:25:36 GMT\"0x8D6CBCC3C897A23\"5120share155645077349800986155645077373300831Sun, 28 Apr 2019 11:26:14 GMT\"0x8D6CBCC52AB7AA9\"5120share155645108771203834Sun, 28 Apr 2019 11:31:27 GMT\"0x8D6CBCD0DA80040\"5120share155645108842007256155645108846705458Sun, 28 Apr 2019 11:31:30 GMT\"0x8D6CBCD0F84E607\"5120share155645112599605004155645112601107894Sun, 28 Apr 2019 11:32:06 GMT\"0x8D6CBCD247D05DA\"5120share155645134678507922Sun, 28 Apr 2019 11:35:46 GMT\"0x8D6CBCDA8286EE2\"5120share155645135233807971155645135268200427Sun, 28 Apr 2019 11:35:52 GMT\"0x8D6CBCDABAB030C\"5120share155645140915409987155645140933104898Sun, 28 Apr 2019 11:36:49 GMT\"0x8D6CBCDCD6E541E\"5120share155645167679104190Sun, 28 Apr 2019 11:41:16 GMT\"0x8D6CBCE6CD9127F\"5120share155645168014803993155645168050106913Sun, 28 Apr 2019 11:41:20 GMT\"0x8D6CBCE6F0F1955\"5120share155645174549400184155645174566908155Sun, 28 Apr 2019 11:42:25 GMT\"0x8D6CBCE95E5E14E\"5120share155645201297401853Sun, 28 Apr 2019 11:46:53 GMT\"0x8D6CBCF353A36B6\"5120share155645201855801952155645201890306019Sun, 28 Apr 2019 11:46:59 GMT\"0x8D6CBCF38C1EC3D\"5120share155645207253909424155645207271407048Sun, 28 Apr 2019 11:47:52 GMT\"0x8D6CBCF58D7EB4A\"5120share155653571241303167Mon, 29 Apr 2019 11:01:52 GMT\"0x8D6CC921605B941\"5120share155653571553502874155653571570705735Mon, 29 Apr 2019 11:01:55 GMT\"0x8D6CC9217E55B90\"5120share155653575241605337155653575249808322Mon, 29 Apr 2019 11:02:32 GMT\"0x8D6CC922DD35559\"5120share155653577934505481Mon, 29 Apr 2019 11:02:59 GMT\"0x8D6CC923DEABFFA\"5120share155653578834309441155653578850403282Mon, 29 Apr 2019 11:03:10 GMT\"0x8D6CC924424B8C3\"5120share155653590972103271155653591043700129Mon, 29 Apr 2019 11:05:10 GMT\"0x8D6CC928C0E5277\"5120share155653601676308435Mon, 29 Apr 2019 11:06:56 GMT\"0x8D6CC92CB50C4B1\"5120share155653602334209812155653602337104476Mon, 29 Apr 2019 11:07:03 GMT\"0x8D6CC92CF41462C\"5120share155653604017309897155653604018606464Mon, 29 Apr 2019 11:07:20 GMT\"0x8D6CC92D946F89F\"5120share155653618592007839Mon, 29 Apr 2019 11:09:45 GMT\"0x8D6CC9330238214\"5120share155653619244001987155653619249201263Mon, 29 Apr 2019 11:09:52 GMT\"0x8D6CC93340ED683\"5120share155653621618908520Mon, 29 Apr 2019 11:10:16 GMT\"0x8D6CC93425E266B\"5120share155653622019402299155653622037605069Mon, 29 Apr 2019 11:10:20 GMT\"0x8D6CC9344B3281A\"5120share155653624157605476155653624159605059Mon, 29 Apr 2019 11:10:41 GMT\"0x8D6CC93515DF82D\"5120share155653624964608827155653624973108032Mon, 29 Apr 2019 11:10:49 GMT\"0x8D6CC935631C474\"5120share155653644599604856Mon, 29 Apr 2019 11:14:06 GMT\"0x8D6CC93CB301827\"5120share155653644757300517155653644791500188Mon, 29 Apr 2019 11:14:08 GMT\"0x8D6CC93CC5D3074\"5120share155653651368305124155653651389303803Mon, 29 Apr 2019 11:15:14 GMT\"0x8D6CC93F3F84157\"5120share155653687079804910Mon, 29 Apr 2019 11:21:10 GMT\"0x8D6CC94C85EA8A0\"5120share155653687448704090155653687453303137Mon, 29 Apr 2019 11:21:14 GMT\"0x8D6CC94CA98A23B\"5120share155653693368406248155653693371508138Mon, 29 Apr 2019 11:22:13 GMT\"0x8D6CC94EDDEEAB8\"5120share155653721781601183Mon, 29 Apr 2019 11:26:57 GMT\"0x8D6CC95973262CD\"5120share155653721868605873155653721871704867Mon, 29 Apr 2019 11:26:58 GMT\"0x8D6CC9597BD86B3\"5120share155653725116303221155653725119400771Mon, 29 Apr 2019 11:27:31 GMT\"0x8D6CC95AB1726F4\"5120share155653756837900142Mon, 29 Apr 2019 11:32:48 GMT\"0x8D6CC96682633DD\"5120share155653756922307466155653756927008693Mon, 29 Apr 2019 11:32:54 GMT\"0x8D6CC966C065569\"5120share155653760887103690155653760948407436Mon, 29 Apr 2019 11:33:29 GMT\"0x8D6CC9680A6DADA\"5120share155653784322202515Mon, 29 Apr 2019 11:37:23 GMT\"0x8D6CC970C0B3287\"5120share155653784638108302155653784673304272Mon, 29 Apr 2019 11:37:26 GMT\"0x8D6CC970E22A6D4\"5120share155653790378102510155653790395501719Mon, 29 Apr 2019 11:38:24 GMT\"0x8D6CC97303F6982\"5120share155653796678404923Mon, 29 Apr 2019 11:39:26 GMT\"0x8D6CC9755B12EA8\"5120share155655223577604668Mon, 29 Apr 2019 15:37:15 GMT\"0x8D6CCB88EA9F634\"5120share155655223976807043155655224012408138Mon, 29 Apr 2019 15:37:20 GMT\"0x8D6CCB891420921\"5120share155655231503303385155655231520308001Mon, 29 Apr 2019 15:38:35 GMT\"0x8D6CCB8BE00A1CF\"5120share155655260533801192Mon, 29 Apr 2019 15:43:25 GMT\"0x8D6CCB96AF563A3\"5120share155655261383606228155655261419000264Mon, 29 Apr 2019 15:43:34 GMT\"0x8D6CCB9703B468D\"5120share155655268067203640155655268083707211Mon, 29 Apr 2019 15:44:41 GMT\"0x8D6CCB99818556D\"5120share155659382718902556Tue, 30 Apr 2019 03:10:27 GMT\"0x8D6CD196533E1AF\"5120share155659383304609639Tue, 30 Apr 2019 03:10:35 GMT\"0x8D6CD196A00F093\"5120share155659388399506155Tue, 30 Apr 2019 03:11:27 GMT\"0x8D6CD1988E5EB19\"5120share155662576226807025Tue, 30 Apr 2019 12:02:42 GMT\"0x8D6CD63BFD75BAB\"5120share155662578862004497155662578987503857Tue, 30 Apr 2019 12:03:09 GMT\"0x8D6CD63D04B064F\"5120share155662595995907858155662596004306578Tue, 30 Apr 2019 12:06:01 GMT\"0x8D6CD64364895F9\"5120share155662625450703255Tue, 30 Apr 2019 12:10:54 GMT\"0x8D6CD64E539C9F6\"5120share155662626147407940155662626175004337Tue, 30 Apr 2019 12:11:01 GMT\"0x8D6CD64E98CBD1A\"5120share155662637743605609155662637751001358Tue, 30 Apr 2019 12:12:57 GMT\"0x8D6CD652E8B6208\"5120share155662664173006358Tue, 30 Apr 2019 12:17:37 GMT\"0x8D6CD65D570BAE4\"5120share155662666338005352155662666389602684Tue, 30 Apr 2019 12:17:44 GMT\"0x8D6CD65D94AD41C\"5120share155662673728706029155662673745005608Tue, 30 Apr 2019 12:18:57 GMT\"0x8D6CD6605302FBE\"5120share155662707247701032Tue, 30 Apr 2019 12:24:32 GMT\"0x8D6CD66CCC187EA\"5120share155662707361008960155662707365704124Tue, 30 Apr 2019 12:24:33 GMT\"0x8D6CD66CD765BFF\"5120share155662716148504682155662716150008465Tue, 30 Apr 2019 12:26:02 GMT\"0x8D6CD67028527F9\"5120share155662746913406574Tue, 30 Apr 2019 12:31:11 GMT\"0x8D6CD67BADEDA4F\"5120share155662747408409967155662747413109639Tue, 30 Apr 2019 12:31:14 GMT\"0x8D6CD67BC2793BC\"5120share155662753834000600155662753837109223Tue, 30 Apr 2019 12:32:18 GMT\"0x8D6CD67E2719161\"5120share155662782303806877Tue, 30 Apr 2019 12:37:03 GMT\"0x8D6CD688C26F771\"5120share155662782452500893155662782457200278Tue, 30 Apr 2019 12:37:04 GMT\"0x8D6CD688D08A81D\"5120share155662788739300296155662789097705707Tue, 30 Apr 2019 12:38:11 GMT\"0x8D6CD68B49E2A48\"5120share155662816931104925Tue, 30 Apr 2019 12:42:49 GMT\"0x8D6CD695A962540\"5120share155662817225203479155662817259701968Tue, 30 Apr 2019 12:42:52 GMT\"0x8D6CD695C8BE154\"5120share155662823632807785155662823650306985Tue, 30 Apr 2019 12:43:56 GMT\"0x8D6CD6982AA192A\"5120share155662852342303617Tue, 30 Apr 2019 12:48:43 GMT\"0x8D6CD6A2DA687BC\"5120share155662852632405178155662852666909684Tue, 30 Apr 2019 12:48:47 GMT\"0x8D6CD6A2FBA14B9\"5120share155662860501305569155662860518207641Tue, 30 Apr 2019 12:50:05 GMT\"0x8D6CD6A5E636EF3\"5120share155662894578001193Tue, 30 Apr 2019 12:55:45 GMT\"0x8D6CD6B29672058\"5120share155662895018903930155662895095603460Tue, 30 Apr 2019 12:55:51 GMT\"0x8D6CD6B2C7C5D7B\"5120share155662900943409472155662900960307176Tue, 30 Apr 2019 12:56:50 GMT\"0x8D6CD6B4FE5F4B3\"5120share155664499555006401Tue, 30 Apr 2019 17:23:15 GMT\"0x8D6CD9087D53DCE\"5120share155664500031506296155664500092002935Tue, 30 Apr 2019 17:23:21 GMT\"0x8D6CD908B0B0AB0\"5120share155664508065306771155664508094803912Tue, 30 Apr 2019 17:24:41 GMT\"0x8D6CD90BAD270FA\"5120share155664729753300465Tue, 30 Apr 2019 18:01:37 GMT\"0x8D6CD95E3DF1B96\"5120share155664729867207955155664729876102123Tue, 30 Apr 2019 18:01:38 GMT\"0x8D6CD95E48EE467\"5120share155664731878008733155664731884404353Tue, 30 Apr 2019 18:01:58 GMT\"0x8D6CD95F087C514\"5120share155664734750706036Tue, 30 Apr 2019 18:02:27 GMT\"0x8D6CD9601AFBA38\"5120share155664735518802651155664735553702970Tue, 30 Apr 2019 18:02:35 GMT\"0x8D6CD960677C084\"5120share155664741133907881155664741150805603Tue, 30 Apr 2019 18:03:31 GMT\"0x8D6CD9627D4A3AC\"5120share155664751804804784Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD96674224E9\"5120share155664751843009437155664751845909347Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD9667809BA2\"5120share155664753608406512155664753609800054Tue, 30 Apr 2019 18:05:36 GMT\"0x8D6CD9672048402\"5120share155664764384909412Tue, 30 Apr 2019 18:07:23 GMT\"0x8D6CD96B2454BD0\"5120share155664764698903499155664764714205317Tue, 30 Apr 2019 18:07:27 GMT\"0x8D6CD96B43BC703\"5120share155664765964800730Tue, 30 Apr 2019 18:07:39 GMT\"0x8D6CD96BBBFDCC8\"5120share155664766156408443155664766175003678Tue, 30 Apr 2019 18:07:41 GMT\"0x8D6CD96BCEDE474\"5120share155664769075803387155664769083909474Tue, 30 Apr 2019 18:08:10 GMT\"0x8D6CD96CE471D93\"5120share155664769177107055155664769186807969Tue, 30 Apr 2019 18:08:11 GMT\"0x8D6CD96CEE0C32A\"5120share155664793047508046Tue, 30 Apr 2019 18:12:10 GMT\"0x8D6CD975D4445D7\"5120share155664793370707151155664793406201058Tue, 30 Apr 2019 18:12:14 GMT\"0x8D6CD975F4C0554\"5120share155664799626609967155664799642702708Tue, 30 Apr 2019 18:13:16 GMT\"0x8D6CD9784779BE8\"5120share155664838986009857Tue, 30 Apr 2019 18:19:49 GMT\"0x8D6CD986EE87FD0\"5120share155664839086109048155664839098605053Tue, 30 Apr 2019 18:19:51 GMT\"0x8D6CD986F92A6B3\"5120share155664842125701349155664842128800633Tue, 30 Apr 2019 18:20:21 GMT\"0x8D6CD9881A2AE3F\"5120share155664868924306988Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD99215836D8\"5120share155664868974301919155664868979002138Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD9921ABFC41\"5120share155664871026409718155664871028006183Tue, 30 Apr 2019 18:25:10 GMT\"0x8D6CD992DE35FBF\"5120share155664898661000493Tue, 30 Apr 2019 18:29:46 GMT\"0x8D6CD99D296CAAF\"5120share155664898736908027155664898743200061Tue, 30 Apr 2019 18:29:47 GMT\"0x8D6CD99D3145F33\"5120share155664901169000941155664901170603802Tue, 30 Apr 2019 18:30:11 GMT\"0x8D6CD99E18D8D3A\"5120share155664925468906460Tue, 30 Apr 2019 18:34:14 GMT\"0x8D6CD9A727390DC\"5120share155664925774602647155664925810605219Tue, 30 Apr 2019 18:34:18 GMT\"0x8D6CD9A747D51E0\"5120share155664930886300488155664930904704833Tue, 30 Apr 2019 18:35:09 GMT\"0x8D6CD9A92DA3BDA\"5120share155664963621608083Tue, 30 Apr 2019 18:40:36 GMT\"0x8D6CD9B55D88CCD\"5120share155664963911207885155664963950503259Tue, 30 Apr 2019 18:40:39 GMT\"0x8D6CD9B57CF9546\"5120share155664969424905803155664969442504330Tue, 30 Apr 2019 18:41:34 GMT\"0x8D6CD9B788A90C3\"5120share155664997888009788Tue, 30 Apr 2019 18:46:19 GMT\"0x8D6CD9C221B0DD3\"5120share155664998171908903155664998207603735Tue, 30 Apr 2019 18:46:22 GMT\"0x8D6CD9C2401C1B8\"5120share155665003183508772155665003201904018Tue, 30 Apr 2019 18:47:12 GMT\"0x8D6CD9C41C62EB3\"5120share155671217179407304Wed, 01 May 2019 12:02:52 GMT\"0x8D6CE2CF043E9FA\"5120share155671219172008472155671219276209289Wed, 01 May 2019 12:03:12 GMT\"0x8D6CE2CFC6D505C\"5120share155671230723401763155671230731502440Wed, 01 May 2019 12:05:25 GMT\"0x8D6CE2D4BA1AB19\"5120share155671263721209422Wed, 01 May 2019 12:10:37 GMT\"0x8D6CE2E056F7E3B\"5120share155671264204707108155671264210803004Wed, 01 May 2019 12:10:44 GMT\"0x8D6CE2E0984E095\"5120share155671270574801389155671270577303687Wed, 01 May 2019 12:11:46 GMT\"0x8D6CE2E2E5FFEA7\"5120share155671293848409824Wed, 01 May 2019 12:15:38 GMT\"0x8D6CE2EB8E7FA6A\"5120share155671294574507278155671294591804702Wed, 01 May 2019 12:15:45 GMT\"0x8D6CE2EBD562533\"5120share155671299611306212155671299620008258Wed, 01 May 2019 12:16:36 GMT\"0x8D6CE2EDB507203\"5120share155671332385803714Wed, 01 May 2019 12:22:03 GMT\"0x8D6CE2F9E969558\"5120share155671332469602305155671332475802993Wed, 01 May 2019 12:22:04 GMT\"0x8D6CE2F9F1EB9A5\"5120share155671338502005314155671338504303235Wed, 01 May 2019 12:23:05 GMT\"0x8D6CE2FC30DC95C\"5120share155671367854104869Wed, 01 May 2019 12:27:58 GMT\"0x8D6CE3071FE1598\"5120share155671368223303911155671368228005487Wed, 01 May 2019 12:28:02 GMT\"0x8D6CE307437A4C7\"5120share155671372645003038155671372648200546Wed, 01 May 2019 12:28:46 GMT\"0x8D6CE308E900339\"5120share155671404138101116Wed, 01 May 2019 12:34:01 GMT\"0x8D6CE314A41DD35\"5120share155671404388202871155671404392901060Wed, 01 May 2019 12:34:04 GMT\"0x8D6CE314BD70619\"5120share155671408392004967155671408393609922Wed, 01 May 2019 12:34:43 GMT\"0x8D6CE31639EBF99\"5120share155671434293808392Wed, 01 May 2019 12:39:03 GMT\"0x8D6CE31FE12032E\"5120share155671434836109290155671434872703442Wed, 01 May 2019 12:39:08 GMT\"0x8D6CE3201860597\"5120share155671442401704240155671442418902164Wed, 01 May 2019 12:40:24 GMT\"0x8D6CE322E80240E\"5120share155671476356403284Wed, 01 May 2019 12:46:03 GMT\"0x8D6CE32F8C8A3B2\"5120share155671476641602095155671476677406690Wed, 01 May 2019 12:46:06 GMT\"0x8D6CE32FAB3AA06\"5120share155671483047608209155671483064500413Wed, 01 May 2019 12:47:10 GMT\"0x8D6CE3320C4FF5D\"5120share155671512949600352Wed, 01 May 2019 12:52:09 GMT\"0x8D6CE33D2E5C47A\"5120share155671513373803608155671513408501729Wed, 01 May 2019 12:52:14 GMT\"0x8D6CE33D5A1A8D5\"5120share155671521609705567155671521626506310Wed, 01 May 2019 12:53:36 GMT\"0x8D6CE34069D5F27\"5120share155679851816408368Thu, 02 May 2019 12:01:58 GMT\"0x8D6CEF5FA732A7E\"5120share155679852596202541155679852613202884Thu, 02 May 2019 12:02:06 GMT\"0x8D6CEF5FF1D8624\"5120share155679856288905424Thu, 02 May 2019 12:02:42 GMT\"0x8D6CEF615076CF4\"5120share155679856731700115155679856740204877Thu, 02 May 2019 12:02:47 GMT\"0x8D6CEF617B700B9\"5120share155679857660207760155679857980906085Thu, 02 May 2019 12:02:59 GMT\"0x8D6CEF61F1D286E\"5120share155679874854605896Thu, 02 May 2019 12:05:48 GMT\"0x8D6CEF683A96E62\"5120share155679875030503823155679875033905411Thu, 02 May 2019 12:05:50 GMT\"0x8D6CEF684BA9C31\"5120share155679875254404441155679875263609138Thu, 02 May 2019 12:05:52 GMT\"0x8D6CEF68627C0FE\"5120share155679878089708047155679878091104872Thu, 02 May 2019 12:06:20 GMT\"0x8D6CEF696F37671\"5120share155679888243000820Thu, 02 May 2019 12:08:02 GMT\"0x8D6CEF6D39120A5\"5120share155679888489108376155679888509305780Thu, 02 May 2019 12:08:05 GMT\"0x8D6CEF6D5116F1C\"5120share155679891500506869155679891509202475Thu, 02 May 2019 12:08:35 GMT\"0x8D6CEF6E6F24819\"5120share155679901664001965Thu, 02 May 2019 12:10:16 GMT\"0x8D6CEF7237BEB8F\"5120share155679901953206038155679902425602748Thu, 02 May 2019 12:10:24 GMT\"0x8D6CEF728061FF4\"5120share155679910591802857155679910636900773Thu, 02 May 2019 12:11:46 GMT\"0x8D6CEF758F85617\"5120share155679935112105642Thu, 02 May 2019 12:15:51 GMT\"0x8D6CEF7EAD9AD30\"5120share155679935445705900155679935476905533Thu, 02 May 2019 12:15:54 GMT\"0x8D6CEF7ED06EB5C\"5120share155679940493802391155679940501507356Thu, 02 May 2019 12:16:45 GMT\"0x8D6CEF80B0518C8\"5120share155679976286209168Thu, 02 May 2019 12:22:42 GMT\"0x8D6CEF8E03E8D0B\"5120share155679976761202757155679976767408999Thu, 02 May 2019 12:22:47 GMT\"0x8D6CEF8E31CD0FB\"5120share155679983878804165155679983889806932Thu, 02 May 2019 12:23:59 GMT\"0x8D6CEF90DE7DBE3\"5120share155680012729001345Thu, 02 May 2019 12:28:47 GMT\"0x8D6CEF9B9744EEA\"5120share155680013089802177155680013343604362Thu, 02 May 2019 12:28:53 GMT\"0x8D6CEF9BD1E87AD\"5120share155680018545607819155680018548802519Thu, 02 May 2019 12:29:45 GMT\"0x8D6CEF9DC25C797\"5120share155680048628307191Thu, 02 May 2019 12:34:46 GMT\"0x8D6CEFA8F6FA5B5\"5120share155680048735201308155680048752503263Thu, 02 May 2019 12:34:47 GMT\"0x8D6CEFA902BEFD4\"5120share155680054059502575155680054078208504Thu, 02 May 2019 12:35:40 GMT\"0x8D6CEFAAFE99E08\"5120share155680079259409152Thu, 02 May 2019 12:39:52 GMT\"0x8D6CEFB46144212\"5120share155680079603008692155680079638802080Thu, 02 May 2019 12:39:56 GMT\"0x8D6CEFB48576A5A\"5120share155680086324003170155680086341609400Thu, 02 May 2019 12:41:09 GMT\"0x8D6CEFB73F4191B\"5120share155680116366608240Thu, 02 May 2019 12:46:03 GMT\"0x8D6CEFC2342610F\"5120share155680116692407772155680116726106116Thu, 02 May 2019 12:46:07 GMT\"0x8D6CEFC256671DA\"5120share155680123263107271155680123280607055Thu, 02 May 2019 12:47:18 GMT\"0x8D6CEFC4FB84B61\"5120share155680152893405622Thu, 02 May 2019 12:52:09 GMT\"0x8D6CEFCFCF8ACC9\"5120share155680153196607938155680153229901822Thu, 02 May 2019 12:52:12 GMT\"0x8D6CEFCFEFAC75D\"5120share155680158878107344155680158894804284Thu, 02 May 2019 12:53:09 GMT\"0x8D6CEFD20BEBDCF\"5120share155788306352807730Wed, 15 May 2019 01:16:54 GMT\"0x8D6D8D304A61904\"5120share155788308062108596155788308209308631Wed, 15 May 2019 01:17:12 GMT\"0x8D6D8D30F58BE3B\"5120share155788323499401022155788323520406093Wed, 15 May 2019 01:19:45 GMT\"0x8D6D8D36A9B0AAD\"5120share155788333682509501Wed, 15 May 2019 01:21:28 GMT\"0x8D6D8D3A7AA96CE\"5120share155788334149705660155788334173503747Wed, 15 May 2019 01:21:32 GMT\"0x8D6D8D3AA0A1813\"5120share155788339703307533155788339713500051Wed, 15 May 2019 01:22:27 GMT\"0x8D6D8D3CB0FBFB8\"5120share155789851622202118Wed, 15 May 2019 05:34:26 GMT\"0x8D6D8F6FED7E33B\"5120share155789852650301614155789852729008793Wed, 15 May 2019 05:34:36 GMT\"0x8D6D8F704DEAC59\"5120share155789877173604070155789877195804743Wed, 15 May 2019 05:38:42 GMT\"0x8D6D8F7975258B5\"5120share155789882274109457Wed, 15 May 2019 05:39:32 GMT\"0x8D6D8F7B501C0A1\"5120share155789920646404319Wed, 15 May 2019 05:45:59 GMT\"0x8D6D8F89B713B5D\"5120share155789922333106193155789922594104272Wed, 15 May 2019 05:46:15 GMT\"0x8D6D8F8A55DC48A\"5120share155789948872909427155789948893408867Wed, 15 May 2019 05:50:38 GMT\"0x8D6D8F9421EA77F\"5120share155796534745905625Thu, 16 May 2019 00:08:16 GMT\"0x8D6D99298888C0B\"5120share155796535227408872155796535309403957Thu, 16 May 2019 00:08:22 GMT\"0x8D6D9929BC764A5\"5120share155796549374907408155796549948205145Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F307D6FA\"5120share155796549944801755Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F30D0787\"5120share155796550181401739155796550203008148Thu, 16 May 2019 00:10:50 GMT\"0x8D6D992F47EA761\"5120share155796558852701870155796558863206075Thu, 16 May 2019 00:12:17 GMT\"0x8D6D993281B7B69\"5120share155936613426202671Sat, 01 Jun 2019 05:15:34 GMT\"0x8D6E6502D1AE146\"5120share155936613752107952Sat, 01 Jun 2019 05:15:37 GMT\"0x8D6E6502EE0D225\"5120share155936617309807358Sat, 01 Jun 2019 05:16:13 GMT\"0x8D6E6504414E154\"5120share155936618248102291155936618773106962Sat, 01 Jun 2019 05:16:28 GMT\"0x8D6E6504CF96712\"5120share155936622317002439155936622805600133Sat, 01 Jun 2019 05:17:08 GMT\"0x8D6E65064DD022F\"5120share156044249615306731Thu, 13 Jun 2019 09:14:41 GMT\"0x8D6EFDF9176E0E5\"5120share156044250900802249156044253597605999Thu, 13 Jun 2019 09:15:22 GMT\"0x8D6EFDFA9A9531B\"5120share156044266032103683156044267037809103Thu, 13 Jun 2019 09:17:35 GMT\"0x8D6EFDFF9363F4C\"5120share156044276915301025Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE033D4F921\"5120share156044276965805452Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE0343C5600\"5120share156044277102604377Thu, 13 Jun 2019 09:19:16 GMT\"0x8D6EFE035871718\"5120share156044298388703236Thu, 13 Jun 2019 09:22:48 GMT\"0x8D6EFE0B3DB9142\"5120share156044298446703223Thu, 13 Jun 2019 09:22:51 GMT\"0x8D6EFE0B52FECF1\"5120share156044298734500432Thu, 13 Jun 2019 09:22:53 GMT\"0x8D6EFE0B6A74968\"5120share156044329310003703Thu, 13 Jun 2019 09:27:57 GMT\"0x8D6EFE16C0FE7C8\"5120share156044329582502409156044329609304478Thu, 13 Jun 2019 09:28:00 GMT\"0x8D6EFE16DD7D891\"5120share156044333581504082156044333594304550Thu, 13 Jun 2019 09:28:40 GMT\"0x8D6EFE18597B0BF\"5120share156047994662102881Thu, 13 Jun 2019 19:38:52 GMT\"0x8D6F036C3BB8F7A\"5120share156047995819502850156047995909100189Thu, 13 Jun 2019 19:39:04 GMT\"0x8D6F036CAE76E07\"5120share156047996126702672Thu, 13 Jun 2019 19:39:06 GMT\"0x8D6F036CC7545BB\"5120share156050177866005230Fri, 14 Jun 2019 08:42:59 GMT\"0x8D6F0A44DE68AA5\"5120share156050179006706031156050179077805344Fri, 14 Jun 2019 08:43:16 GMT\"0x8D6F0A458405A55\"5120share156050191303808333156050191327404367Fri, 14 Jun 2019 08:45:13 GMT\"0x8D6F0A49E21DA4E\"5120share156050211559604917Fri, 14 Jun 2019 08:48:35 GMT\"0x8D6F0A516A83543\"5120share156050211822900505156050211858909038Fri, 14 Jun 2019 08:48:39 GMT\"0x8D6F0A51878DD30\"5120share156050215766705740156050215780300373Fri, 14 Jun 2019 08:49:18 GMT\"0x8D6F0A52FCE0BA5\"5120share156081550348009414Mon, 17 Jun 2019 23:51:43 GMT\"0x8D6F37EC0388A3B\"5120share156081550608509127156081550638505882Mon, 17 Jun 2019 23:51:46 GMT\"0x8D6F37EC1F298C1\"5120share156081551027804881Mon, 17 Jun 2019 23:51:50 GMT\"0x8D6F37EC4450BAA\"5120share156081556306007728Mon, 17 Jun 2019 23:52:43 GMT\"0x8D6F37EE3D2AAA3\"5120share156081556994202082156081557055908986Mon, 17 Jun 2019 23:52:50 GMT\"0x8D6F37EE84AF3FE\"5120share156090518844708126Wed, 19 Jun 2019 00:46:28 GMT\"0x8D6F44F90A73876\"5120share156090519369309751156090519401906943Wed, 19 Jun 2019 00:46:34 GMT\"0x8D6F44F93F136E5\"5120share156090520433402869Wed, 19 Jun 2019 00:46:44 GMT\"0x8D6F44F9A304B8F\"5120share156090520600501278156090520631804345Wed, 19 Jun 2019 00:46:46 GMT\"0x8D6F44F9B45D8A0\"5120share156090521027006703156090521090304895Wed, 19 Jun 2019 00:46:51 GMT\"0x8D6F44F9E1A4964\"5120share156090523484208035156090523547500820Wed, 19 Jun 2019 00:47:15 GMT\"0x8D6F44FACBF2574\"5120share156090528884503768x1Wed, 19 Jun 2019 00:48:08 GMT\"0x8D6F44FCC769E92\"5120share156090528884503768x2Wed, 19 Jun 2019 00:48:09 GMT\"0x8D6F44FCC8DD448\"5120share156090529119103354156090529134104591Wed, 19 Jun 2019 00:48:11 GMT\"0x8D6F44FCDF3714A\"5120share156090529870502984156090529885103119Wed, 19 Jun 2019 00:48:18 GMT\"0x8D6F44FD26D1E09\"5120share156090538248003758x1Wed, 19 Jun 2019 00:49:42 GMT\"0x8D6F450045EF089\"5120share156090538248003758x2Wed, 19 Jun 2019 00:49:43 GMT\"0x8D6F4500495B8E3\"5120share156090539724300720156090539754505732Wed, 19 Jun 2019 00:49:57 GMT\"0x8D6F4500D580E83\"5120share156090541332209451156090541362901101Wed, 19 Jun 2019 00:50:13 GMT\"0x8D6F45016EFF17A\"5120share156090550949505668Wed, 19 Jun 2019 00:51:49 GMT\"0x8D6F450500368A9\"5120share156090551212302217156090551242708665Wed, 19 Jun 2019 00:51:52 GMT\"0x8D6F45051BA1314\"5120share156090553013901551Wed, 19 Jun 2019 00:52:10 GMT\"0x8D6F4505C618D79\"5120share156090553593709437156090553653902128Wed, 19 Jun 2019 00:52:16 GMT\"0x8D6F4506031358A\"5120share156090558100103645156090558115508952Wed, 19 Jun 2019 00:53:01 GMT\"0x8D6F4507AB22B77\"5120share156090564524803767156090564556104448Wed, 19 Jun 2019 00:54:05 GMT\"0x8D6F450A12D0E82\"5120share156099883086407809156099883149506226Thu, 20 Jun 2019 02:47:11 GMT\"0x8D6F5299855BC7B\"5120share156099893196906529156099893228004620Thu, 20 Jun 2019 02:48:52 GMT\"0x8D6F529D44FD103\"5120share156114311216300057Fri, 21 Jun 2019 18:51:52 GMT\"0x8D6F679864F385C\"5120share156114311890203576156114312002500579Fri, 21 Jun 2019 18:52:00 GMT\"0x8D6F6798AFE085E\"5120share156114333879907132156114334191903810Fri, 21 Jun 2019 18:55:42 GMT\"0x8D6F67A0F3FCF92\"5120share156114371848307278Fri, 21 Jun 2019 19:01:58 GMT\"0x8D6F67AEFA2AFE2\"5120share156114372136304633156114372167008416Fri, 21 Jun 2019 19:02:01 GMT\"0x8D6F67AF180FD23\"5120share156114379998900636156114380014204580Fri, 21 Jun 2019 19:03:20 GMT\"0x8D6F67B204707DA\"5120share156114474439505812Fri, 21 Jun 2019 19:19:04 GMT\"0x8D6F67D53314453\"5120share156114475387905810156114475448908574Fri, 21 Jun 2019 19:19:14 GMT\"0x8D6F67D5933C9C3\"5120share156114486321303028Fri, 21 Jun 2019 19:21:05 GMT\"0x8D6F67D9B61B33C\"5120share156115946574701846Fri, 21 Jun 2019 23:24:26 GMT\"0x8D6F69F99CE4B71\"5120share156115947141807982156115947224806986Fri, 21 Jun 2019 23:24:33 GMT\"0x8D6F69F9E1B1F7F\"5120share156115960121602365156115960188507490Fri, 21 Jun 2019 23:26:42 GMT\"0x8D6F69FEAF28A6C\"5120share156141635490400684Mon, 24 Jun 2019 22:45:55 GMT\"0x8D6F8F5B7AD250A\"5120share156141636264601764156141636329409650Mon, 24 Jun 2019 22:46:03 GMT\"0x8D6F8F5BCACA818\"5120share156141658460702995156141658490004575Mon, 24 Jun 2019 22:49:45 GMT\"0x8D6F8F641081F82\"5120share156141756433309618Mon, 24 Jun 2019 23:06:04 GMT\"0x8D6F8F8887D6188\"5120share156141756733002751156141756763204721Mon, 24 Jun 2019 23:06:07 GMT\"0x8D6F8F88A6C6C2A\"5120share156141764119603193156141764134701828Mon, 24 Jun 2019 23:07:21 GMT\"0x8D6F8F8B65C39CE\"5120share156141919236706702Mon, 24 Jun 2019 23:33:12 GMT\"0x8D6F8FC52EED154\"5120share156141919803003350156141919865801147Mon, 24 Jun 2019 23:33:19 GMT\"0x8D6F8FC56F4BD05\"5120share156141931966501774Mon, 24 Jun 2019 23:35:29 GMT\"0x8D6F8FCA4BD683F\"5120share156149970911905568Tue, 25 Jun 2019 21:55:09 GMT\"0x8D6F9B7CAAB4B3B\"5120share156149972253205524156149972575804451Tue, 25 Jun 2019 21:55:26 GMT\"0x8D6F9B7D492BDAF\"5120share156149997853501630156149997896706693Tue, 25 Jun 2019 21:59:39 GMT\"0x8D6F9B86B7E9EF8\"5120share156150112617009272Tue, 25 Jun 2019 22:18:46 GMT\"0x8D6F9BB17479CEF\"5120share156150115930800713156150115992806338Tue, 25 Jun 2019 22:19:23 GMT\"0x8D6F9BB2D3E52CB\"5120share156150134120204800156150134149206717Tue, 25 Jun 2019 22:22:21 GMT\"0x8D6F9BB979CFC8C\"5120share156150280108408199Tue, 25 Jun 2019 22:46:44 GMT\"0x8D6F9BEFF7465E5\"5120share156150281047001733156150281108602477Tue, 25 Jun 2019 22:46:52 GMT\"0x8D6F9BF0439157D\"5120share156150296438905506156150296523603401Tue, 25 Jun 2019 22:49:25 GMT\"0x8D6F9BF5F712922\"5120share156150354167103800156150354327804409Tue, 25 Jun 2019 22:59:03 GMT\"0x8D6F9C0B7FD48A0\"5120share156150384087807265156150384183008054Tue, 25 Jun 2019 23:04:02 GMT\"0x8D6F9C169F185B4\"5120share156150415783302542Tue, 25 Jun 2019 23:09:18 GMT\"0x8D6F9C2264959E1\"5120share156150416320803571156150416383902503Tue, 25 Jun 2019 23:09:24 GMT\"0x8D6F9C229DED148\"5120share156150416632503534Tue, 25 Jun 2019 23:09:26 GMT\"0x8D6F9C22B5A1E25\"5120share156150422332508880Tue, 25 Jun 2019 23:10:23 GMT\"0x8D6F9C24D8C96B5\"5120share156150423181005284156150423381304793Tue, 25 Jun 2019 23:10:34 GMT\"0x8D6F9C253961894\"5120share156150438077300288156150438106805729Tue, 25 Jun 2019 23:13:01 GMT\"0x8D6F9C2AB5763ED\"5120share156150520304506733Tue, 25 Jun 2019 23:26:43 GMT\"0x8D6F9C49531803B\"5120share156150520603800440156150520635102181Tue, 25 Jun 2019 23:26:46 GMT\"0x8D6F9C49729170A\"5120share156150526941308420156150526956606178Tue, 25 Jun 2019 23:27:49 GMT\"0x8D6F9C4BCD6B148\"5120share156150541781105471Tue, 25 Jun 2019 23:30:19 GMT\"0x8D6F9C5160C2833\"5120share156150542478109368156150542584804338Tue, 25 Jun 2019 23:30:37 GMT\"0x8D6F9C52095C85F\"5120share156150558874106308156150558905705627Tue, 25 Jun 2019 23:33:09 GMT\"0x8D6F9C57B5D00F3\"5120share156157755122201050Wed, 26 Jun 2019 19:32:31 GMT\"0x8D6FA6D08281E56\"5120share156157755835801351156157755918206381Wed, 26 Jun 2019 19:32:39 GMT\"0x8D6FA6D0CE6B185\"5120share156157776706008729156157776740003937Wed, 26 Jun 2019 19:36:14 GMT\"0x8D6FA6D8D07CBC0\"5120share156157812713009290Wed, 26 Jun 2019 19:42:07 GMT\"0x8D6FA6E5F5F6986\"5120share156157812988709797156157813019607970Wed, 26 Jun 2019 19:42:10 GMT\"0x8D6FA6E612A2BD2\"5120share156157821222404773156157821237603967Wed, 26 Jun 2019 19:43:32 GMT\"0x8D6FA6E92266E42\"5120share156167171825304089Thu, 27 Jun 2019 21:41:58 GMT\"0x8D6FB48481B1DF6\"5120share156167172740008077156167172801302454Thu, 27 Jun 2019 21:42:08 GMT\"0x8D6FB484DE5E19C\"5120share156167191200305174156167191230909547Thu, 27 Jun 2019 21:45:12 GMT\"0x8D6FB48BBC154DE\"5120share156167460291803910Thu, 27 Jun 2019 22:30:03 GMT\"0x8D6FB4EFF7A1EAB\"5120share156167460920009706156167461055105084Thu, 27 Jun 2019 22:30:10 GMT\"0x8D6FB4F0406A952\"5120share156167483668108415156167483697101782Thu, 27 Jun 2019 22:33:57 GMT\"0x8D6FB4F8AF84BB3\"5120share156167490290503731Thu, 27 Jun 2019 22:35:03 GMT\"0x8D6FB4FB24F4DB6\"5120share156167517153904038Thu, 27 Jun 2019 22:39:31 GMT\"0x8D6FB5052662917\"5120share156167517755505158156167517815603075Thu, 27 Jun 2019 22:39:38 GMT\"0x8D6FB505657EC7B\"5120share156167529252904292Thu, 27 Jun 2019 22:41:32 GMT\"0x8D6FB509A8275B8\"5120share156167529751905905156167529813604333Thu, 27 Jun 2019 22:41:38 GMT\"0x8D6FB509DDF4A1C\"5120share156167535503401963156167535664305424Thu, 27 Jun 2019 22:42:36 GMT\"0x8D6FB50C0B9F400\"5120share156167548673805809156167548704303995Thu, 27 Jun 2019 22:44:47 GMT\"0x8D6FB510E74D338\"5120share156167575224402351Thu, 27 Jun 2019 22:49:13 GMT\"0x8D6FB51AD55C8EC\"5120share156167575668805627156167575698309768Thu, 27 Jun 2019 22:49:17 GMT\"0x8D6FB51AF41D019\"5120share156167585826101254156167585840800011Thu, 27 Jun 2019 22:50:58 GMT\"0x8D6FB51EBB6085E\"5120share156167585874706565Thu, 27 Jun 2019 22:50:58 GMT\"0x8D6FB51EBF43F39\"5120share156167586149509643156167586180205309Thu, 27 Jun 2019 22:51:01 GMT\"0x8D6FB51EDBC8264\"5120share156167594459405776156167594474804048Thu, 27 Jun 2019 22:52:24 GMT\"0x8D6FB521F2CBE75\"5120share156176588854206400Fri, 28 Jun 2019 23:51:28 GMT\"0x8D6FC2389F2FD5F\"5120share156176589692808078156176589875202991Fri, 28 Jun 2019 23:51:39 GMT\"0x8D6FC2390091D0C\"5120share156176612791506715156176612845900962Fri, 28 Jun 2019 23:55:28 GMT\"0x8D6FC2418F32307\"5120share156176661221508658Sat, 29 Jun 2019 00:03:32 GMT\"0x8D6FC25393BF65C\"5120share156176661487103961156176661517807686Sat, 29 Jun 2019 00:03:35 GMT\"0x8D6FC253AF764BB\"5120share156176668751909920156176668767309446Sat, 29 Jun 2019 00:04:47 GMT\"0x8D6FC25662D145D\"5120share156177023776708978Sat, 29 Jun 2019 01:03:58 GMT\"0x8D6FC2DAA4A1A42\"5120share156177024605000436156177024667302449Sat, 29 Jun 2019 01:04:06 GMT\"0x8D6FC2DAF998949\"5120share156177042209209997156177042240202417Sat, 29 Jun 2019 01:07:03 GMT\"0x8D6FC2E18AEB71F\"5120share156177068029709510Sat, 29 Jun 2019 01:11:20 GMT\"0x8D6FC2EB2452A8E\"5120share156177108587708981Sat, 29 Jun 2019 01:18:06 GMT\"0x8D6FC2FA3CD6CFD\"5120share156177109100203434156177109234108792Sat, 29 Jun 2019 01:18:12 GMT\"0x8D6FC2FA7A7F20B\"5120share156177126386102063156177126416701790Sat, 29 Jun 2019 01:21:04 GMT\"0x8D6FC300E141B68\"5120share156177157004405781Sat, 29 Jun 2019 01:26:10 GMT\"0x8D6FC30C4564E17\"5120share156177157326602320156177157357705545Sat, 29 Jun 2019 01:26:13 GMT\"0x8D6FC30C6667968\"5120share156177167269006770156177167284101453Sat, 29 Jun 2019 01:27:52 GMT\"0x8D6FC3101913AD8\"5120share156177469626603145Sat, 29 Jun 2019 02:18:16 GMT\"0x8D6FC380BC83BDF\"5120share156177470315208729156177470382406252Sat, 29 Jun 2019 02:18:24 GMT\"0x8D6FC381047E20A\"5120share156177472919901773Sat, 29 Jun 2019 02:18:49 GMT\"0x8D6FC381F584D02\"5120share156177473180705592156177473220704006Sat, 29 Jun 2019 02:18:52 GMT\"0x8D6FC38211C3AAC\"5120share156177482350209179156177482366504341Sat, 29 Jun 2019 02:20:23 GMT\"0x8D6FC3857A1619F\"5120share156177490141105742156177490170506946Sat, 29 Jun 2019 02:21:41 GMT\"0x8D6FC3886390919\"5120share156177951451406115Sat, 29 Jun 2019 03:38:34 GMT\"0x8D6FC43439D378B\"5120share156177951760805777156177951791004817Sat, 29 Jun 2019 03:38:38 GMT\"0x8D6FC43459AE940\"5120share156177961130904126156177961145900274Sat, 29 Jun 2019 03:40:11 GMT\"0x8D6FC437D5CE11B\"5120share156177962099703328Sat, 29 Jun 2019 03:40:21 GMT\"0x8D6FC438323D4D6\"5120share156177962626905243156177962687601520Sat, 29 Jun 2019 03:40:27 GMT\"0x8D6FC4386A59F02\"5120share156177980235602599156177980271008212Sat, 29 Jun 2019 03:43:22 GMT\"0x8D6FC43EF7580DF\"5120share156178043308106756Sat, 29 Jun 2019 03:53:53 GMT\"0x8D6FC45672EBCB7\"5120share156178044109601036156178044405202385Sat, 29 Jun 2019 03:54:04 GMT\"0x8D6FC456DB97AC1\"5120share156178059543401946156178059574602059Sat, 29 Jun 2019 03:56:36 GMT\"0x8D6FC45C8249C7D\"5120share156178091162507491Sat, 29 Jun 2019 04:01:51 GMT\"0x8D6FC46845B0D9D\"5120share156178091451304496156178091485309844Sat, 29 Jun 2019 04:01:54 GMT\"0x8D6FC46863F3036\"5120share156178099001300190156178099016701486Sat, 29 Jun 2019 04:03:10 GMT\"0x8D6FC46B323714E\"5120share156178142948204908Sat, 29 Jun 2019 04:10:29 GMT\"0x8D6FC47B9168334\"5120share156178143550309403156178143614409599Sat, 29 Jun 2019 04:10:36 GMT\"0x8D6FC47BD0E529E\"5120share156178160047603098156178160079104912Sat, 29 Jun 2019 04:13:21 GMT\"0x8D6FC481F31D660\"5120share156178190941705261Sat, 29 Jun 2019 04:18:29 GMT\"0x8D6FC48D715A7E2\"5120share156178191220406874156178191253009117Sat, 29 Jun 2019 04:18:32 GMT\"0x8D6FC48D8E84DDF\"5120share156178199943507208156178199959100376Sat, 29 Jun 2019 04:19:59 GMT\"0x8D6FC490CCCD1C7\"5120share156178233670809699Sat, 29 Jun 2019 04:25:36 GMT\"0x8D6FC49D5D3D2D0\"5120share156178234404900051156178234466308412Sat, 29 Jun 2019 04:25:44 GMT\"0x8D6FC49DA92C37A\"5120share156178249561208336156178249592108353Sat, 29 Jun 2019 04:28:16 GMT\"0x8D6FC4A34BAC565\"5120share156178282083104414Sat, 29 Jun 2019 04:33:40 GMT\"0x8D6FC4AF65347A2\"5120share156178282342607712156178282374108656Sat, 29 Jun 2019 04:33:43 GMT\"0x8D6FC4AF806C3F2\"5120share156178290648809286156178290664105286Sat, 29 Jun 2019 04:35:06 GMT\"0x8D6FC4B2970520B\"5120share156209045418202620Tue, 02 Jul 2019 18:00:54 GMT\"0x8D6FF173A17ABAD\"5120share156209045801807638156209045832101928Tue, 02 Jul 2019 18:00:58 GMT\"0x8D6FF173C84D6F5\"5120share156209054180307181156209054195007711Tue, 02 Jul 2019 18:02:22 GMT\"0x8D6FF176E5E22FB\"5120share156209140050808358Tue, 02 Jul 2019 18:16:40 GMT\"0x8D6FF196E1C5418\"5120share156209140773706831156209140806700148Tue, 02 Jul 2019 18:16:48 GMT\"0x8D6FF19729D5426\"5120share156209149173604503Tue, 02 Jul 2019 18:18:11 GMT\"0x8D6FF19A47CE5C9\"5120share156209150062107911Tue, 02 Jul 2019 18:18:20 GMT\"0x8D6FF19A9C95F33\"5120share156209150161906860Tue, 02 Jul 2019 18:18:21 GMT\"0x8D6FF19AA60FF8F\"5120share156209150362904138Tue, 02 Jul 2019 18:18:23 GMT\"0x8D6FF19AB943870\"5120share156209151062007814156209151093907660Tue, 02 Jul 2019 18:18:31 GMT\"0x8D6FF19AFF04559\"5120share156209163860907298156209163869100249Tue, 02 Jul 2019 18:20:38 GMT\"0x8D6FF19FC158AC7\"5120share156209262959905903Tue, 02 Jul 2019 18:37:09 GMT\"0x8D6FF1C4ABB598E\"5120share156209263284701221156209263318101643Tue, 02 Jul 2019 18:37:13 GMT\"0x8D6FF1C4CDAA468\"5120share156209271989109678156209272004309150Tue, 02 Jul 2019 18:38:40 GMT\"0x8D6FF1C809ED6B1\"5120share156209413129503258Tue, 02 Jul 2019 19:02:11 GMT\"0x8D6FF1FC9CE25F4\"5120share156209413410100352156209413444300660Tue, 02 Jul 2019 19:02:14 GMT\"0x8D6FF1FCBAB2C1D\"5120share156209421373100442156209421388600024Tue, 02 Jul 2019 19:03:33 GMT\"0x8D6FF1FFB048779\"5120share156211344223601381Wed, 03 Jul 2019 00:24:03 GMT\"0x8D6FF4CC09B517D\"5120share156211345052800751156211345085407338Wed, 03 Jul 2019 00:24:10 GMT\"0x8D6FF4CC52456C4\"5120share156211355859507687156211355874906732Wed, 03 Jul 2019 00:25:58 GMT\"0x8D6FF4D05733B63\"5120share156211364297402499Wed, 03 Jul 2019 00:27:23 GMT\"0x8D6FF4D37B571C4\"5120share156211364663002865156211364697106726Wed, 03 Jul 2019 00:27:27 GMT\"0x8D6FF4D3A08FDA1\"5120share156211371733002692Wed, 03 Jul 2019 00:28:37 GMT\"0x8D6FF4D63F8E76C\"5120share156212461746306413Wed, 03 Jul 2019 03:30:20 GMT\"0x8D6FF66C6B8100D\"5120share156213687152200429Wed, 03 Jul 2019 06:54:31 GMT\"0x8D6FF834D09DC5F\"5120share156213687716309858156213687911502031Wed, 03 Jul 2019 06:54:40 GMT\"0x8D6FF8352682B7A\"5120share156213710134509748156213710163505227Wed, 03 Jul 2019 06:58:21 GMT\"0x8D6FF83D6304B29\"5120share156213751141404247Wed, 03 Jul 2019 07:05:11 GMT\"0x8D6FF84CA613365\"5120share156213751711501416156213751742502505Wed, 03 Jul 2019 07:05:17 GMT\"0x8D6FF84CDEE809B\"5120share156213761217404186156213761232805502Wed, 03 Jul 2019 07:06:52 GMT\"0x8D6FF85067F3A1B\"5120share156218810291401426Wed, 03 Jul 2019 21:08:22 GMT\"0x8D6FFFA9532D208\"5120share156218810468207949156218810487006588Wed, 03 Jul 2019 21:08:24 GMT\"0x8D6FFFA965831B1\"5120share156218812908705961Wed, 03 Jul 2019 21:08:49 GMT\"0x8D6FFFAA4D292BB\"5120share156218813041600866156218813055409998Wed, 03 Jul 2019 21:08:50 GMT\"0x8D6FFFAA5AE268A\"5120share156218814722609250Wed, 03 Jul 2019 21:09:07 GMT\"0x8D6FFFAAFDC8959\"5120share156218815025601809Wed, 03 Jul 2019 21:09:10 GMT\"0x8D6FFFAB1B662C6\"5120share156218815516802793156218815547409064Wed, 03 Jul 2019 21:09:15 GMT\"0x8D6FFFAB490A7D1\"5120share156218815900805852156218815937704660Wed, 03 Jul 2019 21:09:19 GMT\"0x8D6FFFAB6E59FD2\"5120share156218817232201852156218817241505518Wed, 03 Jul 2019 21:09:32 GMT\"0x8D6FFFABE9A4D1A\"5120share156218817290904315156218817297806780Wed, 03 Jul 2019 21:09:33 GMT\"0x8D6FFFABEF76899\"5120share156218820962001887Wed, 03 Jul 2019 21:10:09 GMT\"0x8D6FFFAD4D532E7\"5120share156218821483707713156218821509303999Wed, 03 Jul 2019 21:10:15 GMT\"0x8D6FFFAD856E686\"5120share156218823882803659Wed, 03 Jul 2019 21:10:38 GMT\"0x8D6FFFAE633664D\"5120share156218823914106773156218823916905995Wed, 03 Jul 2019 21:10:39 GMT\"0x8D6FFFAE6670284\"5120share156218825240502808Wed, 03 Jul 2019 21:10:52 GMT\"0x8D6FFFAEE5DF2A7\"5120share156218825669506210156218825741204460Wed, 03 Jul 2019 21:10:57 GMT\"0x8D6FFFAF1570382\"5120share156218826132309948156218826133709479Wed, 03 Jul 2019 21:11:01 GMT\"0x8D6FFFAF39DC3D8\"5120share156218829213102166Wed, 03 Jul 2019 21:11:32 GMT\"0x8D6FFFB060A08EE\"5120share156218829518907971156218829555101799Wed, 03 Jul 2019 21:11:35 GMT\"0x8D6FFFB08137C33\"5120share156218831500000627Wed, 03 Jul 2019 21:11:56 GMT\"0x8D6FFFB1466BE78\"5120share156218831717903607Wed, 03 Jul 2019 21:11:57 GMT\"0x8D6FFFB1519472A\"5120share156218831961007345156218831986006674Wed, 03 Jul 2019 21:11:59 GMT\"0x8D6FFFB168E3CE1\"5120share156218831995406220156218832013004958Wed, 03 Jul 2019 21:12:00 GMT\"0x8D6FFFB16BBD432\"5120share156218832322505768156218832360504806Wed, 03 Jul 2019 21:12:03 GMT\"0x8D6FFFB18D15BD5\"5120share156218832585509445156218832597406290Wed, 03 Jul 2019 21:12:06 GMT\"0x8D6FFFB1A82458C\"5120share156218832948805012Wed, 03 Jul 2019 21:12:09 GMT\"0x8D6FFFB1C44B0D5\"5120share156218833091207561156218833113306069Wed, 03 Jul 2019 21:12:11 GMT\"0x8D6FFFB1D3C360D\"5120share156218833386004348Wed, 03 Jul 2019 21:12:13 GMT\"0x8D6FFFB1EE6F4FD\"5120share156218833674506705156218833699206689Wed, 03 Jul 2019 21:12:17 GMT\"0x8D6FFFB20C16DFA\"5120share156218834528400186Wed, 03 Jul 2019 21:12:25 GMT\"0x8D6FFFB25BE9F0D\"5120share156218834612207343Wed, 03 Jul 2019 21:12:26 GMT\"0x8D6FFFB263BBCE2\"5120share156218834617001877156218834628006676Wed, 03 Jul 2019 21:12:26 GMT\"0x8D6FFFB264B52D3\"5120share156218835028206540156218835073104336Wed, 03 Jul 2019 21:12:30 GMT\"0x8D6FFFB28FD79E9\"5120share156218835139908756156218835177900834Wed, 03 Jul 2019 21:12:31 GMT\"0x8D6FFFB299B2B6B\"5120share156218835272703433Wed, 03 Jul 2019 21:12:32 GMT\"0x8D6FFFB2A2A6487\"5120share156218835572304653156218835607804212Wed, 03 Jul 2019 21:12:36 GMT\"0x8D6FFFB2C231A86\"5120share156218836398703778Wed, 03 Jul 2019 21:12:44 GMT\"0x8D6FFFB30E48952\"5120share156218836991705023156218837029301532Wed, 03 Jul 2019 21:12:50 GMT\"0x8D6FFFB34A60D81\"5120share156218837181303014156218837188008392Wed, 03 Jul 2019 21:12:51 GMT\"0x8D6FFFB3585B4F9\"5120share156218837714701290Wed, 03 Jul 2019 21:12:57 GMT\"0x8D6FFFB38B00F58\"5120share156218838012709231156218838047802729Wed, 03 Jul 2019 21:13:00 GMT\"0x8D6FFFB3AAD01D6\"5120share156218839475408224156218839489503159Wed, 03 Jul 2019 21:13:15 GMT\"0x8D6FFFB4347B10F\"5120share156218839740101454156218839757505743Wed, 03 Jul 2019 21:13:17 GMT\"0x8D6FFFB45000204\"5120share156218841214004326156218841228207684Wed, 03 Jul 2019 21:13:32 GMT\"0x8D6FFFB4DA194AF\"5120share156218841648107657156218841668401663Wed, 03 Jul 2019 21:13:36 GMT\"0x8D6FFFB504C394E\"5120share156218842260304645156218842278100435Wed, 03 Jul 2019 21:13:43 GMT\"0x8D6FFFB5409FC14\"5120share156218843258804455Wed, 03 Jul 2019 21:13:52 GMT\"0x8D6FFFB59BB62BC\"5120share156218843643503489156218843662309630Wed, 03 Jul 2019 21:13:56 GMT\"0x8D6FFFB5C1E7889\"5120share156218844878908228Wed, 03 Jul 2019 21:14:08 GMT\"0x8D6FFFB6359C822\"5120share156218844954006738156218844974407220Wed, 03 Jul 2019 21:14:09 GMT\"0x8D6FFFB64032FDE\"5120share156218844983208549156218844989500803Wed, 03 Jul 2019 21:14:09 GMT\"0x8D6FFFB640086A1\"5120share156218845655108128156218845677103763Wed, 03 Jul 2019 21:14:16 GMT\"0x8D6FFFB682FC4C9\"5120share156218846219004443156218846237805474Wed, 03 Jul 2019 21:14:22 GMT\"0x8D6FFFB6B89539C\"5120share156218848880205915Wed, 03 Jul 2019 21:14:48 GMT\"0x8D6FFFB7B4753B8\"5120share156218849152809196156218849155802229Wed, 03 Jul 2019 21:14:51 GMT\"0x8D6FFFB7CD59146\"5120share156218849195805511156218849235208433Wed, 03 Jul 2019 21:14:52 GMT\"0x8D6FFFB7D652EF2\"5120share156218850123302360156218850132304233Wed, 03 Jul 2019 21:15:01 GMT\"0x8D6FFFB82AEA7C7\"5120share156218850481906018156218850499900800Wed, 03 Jul 2019 21:15:05 GMT\"0x8D6FFFB84E44DC7\"5120share156218853813008418156218853830609828Wed, 03 Jul 2019 21:15:38 GMT\"0x8D6FFFB98C73617\"5120share156218859838802801156218859858309191Wed, 03 Jul 2019 21:16:38 GMT\"0x8D6FFFBBCB6FBE6\"5120share156218868254009744Wed, 03 Jul 2019 21:18:02 GMT\"0x8D6FFFBEEC542A6\"5120share156218868563906402156218868604709782Wed, 03 Jul 2019 21:18:06 GMT\"0x8D6FFFBF0E10AA5\"5120share156218878496804020156218878515609001Wed, 03 Jul 2019 21:19:45 GMT\"0x8D6FFFC2BEF90FA\"5120share156218880289800080Wed, 03 Jul 2019 21:20:03 GMT\"0x8D6FFFC36F62EC7\"5120share156218880591300297156218880619406805Wed, 03 Jul 2019 21:20:06 GMT\"0x8D6FFFC38717939\"5120share156218886001402354Wed, 03 Jul 2019 21:21:00 GMT\"0x8D6FFFC5876D7CC\"5120share156218886098409655156218886114109710Wed, 03 Jul 2019 21:21:01 GMT\"0x8D6FFFC592507E7\"5120share156218887727908032Wed, 03 Jul 2019 21:21:17 GMT\"0x8D6FFFC62D1A190\"5120share156218888019300356156218888057705578Wed, 03 Jul 2019 21:21:20 GMT\"0x8D6FFFC64C8E1BC\"5120share156218888051108068156218888066002214Wed, 03 Jul 2019 21:21:20 GMT\"0x8D6FFFC64D255F1\"5120share156218890389206427156218890395502850Wed, 03 Jul 2019 21:21:44 GMT\"0x8D6FFFC72AB7A2F\"5120share156218896990405494156218897008409212Wed, 03 Jul 2019 21:22:50 GMT\"0x8D6FFFC9A22E9C8\"5120share156218898886706826Wed, 03 Jul 2019 21:23:11 GMT\"0x8D6FFFCA70965DC\"5120share156224220514003209Thu, 04 Jul 2019 12:10:05 GMT\"0x8D700788CA930DA\"5120share156224221168003209156224221187202741Thu, 04 Jul 2019 12:10:11 GMT\"0x8D7007890A808BA\"5120share156224223072602141Thu, 04 Jul 2019 12:10:30 GMT\"0x8D700789BE91D51\"5120share156224223403605632156224223417508519Thu, 04 Jul 2019 12:10:34 GMT\"0x8D700789DF35623\"5120share156224224734905597156224224744009530Thu, 04 Jul 2019 12:10:47 GMT\"0x8D70078A5DB9BAB\"5120share156224226591307148156224226598304177Thu, 04 Jul 2019 12:11:06 GMT\"0x8D70078B0E80D37\"5120share156224235782704154Thu, 04 Jul 2019 12:12:37 GMT\"0x8D70078E7A15EDC\"5120share156224235834008863156224235840103952Thu, 04 Jul 2019 12:12:38 GMT\"0x8D70078E7F868A2\"5120share156224238470400606156224238471805028Thu, 04 Jul 2019 12:13:04 GMT\"0x8D70078F7A7DA3D\"5120share156224247330208559Thu, 04 Jul 2019 12:14:33 GMT\"0x8D700792CAE94DE\"5120share156224249135903122156224249173204851Thu, 04 Jul 2019 12:14:52 GMT\"0x8D7007937B4CEC6\"5120share156224255226708186Thu, 04 Jul 2019 12:15:53 GMT\"0x8D700795BF5C771\"5120share156224256383902281Thu, 04 Jul 2019 12:16:04 GMT\"0x8D700796289E86C\"5120share156224257178705012156224257221704098Thu, 04 Jul 2019 12:16:12 GMT\"0x8D70079677E5FE9\"5120share156224257606104557Thu, 04 Jul 2019 12:16:16 GMT\"0x8D7007969CA5F19\"5120share156224258041207453156224258065100730Thu, 04 Jul 2019 12:16:20 GMT\"0x8D700796C803AB5\"5120share156224258996006659156224259070909486Thu, 04 Jul 2019 12:16:30 GMT\"0x8D70079727CFC4F\"5120share156224260539401271Thu, 04 Jul 2019 12:16:45 GMT\"0x8D700797B474402\"5120share156224260920908795156224260966301711Thu, 04 Jul 2019 12:16:49 GMT\"0x8D700797DD2187C\"5120share156224264676100256156224264699304421Thu, 04 Jul 2019 12:17:27 GMT\"0x8D7007994099985\"5120share156224268859000186Thu, 04 Jul 2019 12:18:08 GMT\"0x8D70079ACDC46B9\"5120share156224270442304790156224271205103200Thu, 04 Jul 2019 12:18:32 GMT\"0x8D70079BAE1397C\"5120share156224271948708081156224271966204422Thu, 04 Jul 2019 12:18:39 GMT\"0x8D70079BF6056C5\"5120share156224272974807413156224272988205303Thu, 04 Jul 2019 12:18:49 GMT\"0x8D70079C57394E5\"5120share156224274677505541156224275949809089Thu, 04 Jul 2019 12:19:19 GMT\"0x8D70079D71A6F45\"5120share156224283062005561156224285810205191Thu, 04 Jul 2019 12:20:58 GMT\"0x8D7007A11E160A6\"5120share156224283258006241Thu, 04 Jul 2019 12:20:32 GMT\"0x8D7007A02B1D684\"5120share156224284013904358156224284127107016Thu, 04 Jul 2019 12:20:41 GMT\"0x8D7007A07E0F19F\"5120share156224284346904220156224284365206788Thu, 04 Jul 2019 12:20:43 GMT\"0x8D7007A096706C2\"5120share156224291713606722156224291733909552Thu, 04 Jul 2019 12:21:57 GMT\"0x8D7007A3536480B\"5120share156224300556207548Thu, 04 Jul 2019 12:23:25 GMT\"0x8D7007A69D54B6C\"5120share156224300873302977156224300906107453Thu, 04 Jul 2019 12:23:29 GMT\"0x8D7007A6BDA28FA\"5120share156224306936202467156224306951908123Thu, 04 Jul 2019 12:24:29 GMT\"0x8D7007A8FE5B92D\"5120share156224319870301619Thu, 04 Jul 2019 12:26:38 GMT\"0x8D7007ADCED3731\"5120share156224320354301960156224320393504495Thu, 04 Jul 2019 12:26:44 GMT\"0x8D7007AE00BF3F5\"5120share156224326458804394156224326479203755Thu, 04 Jul 2019 12:27:44 GMT\"0x8D7007B0450B069\"5120share156232841613508319Fri, 05 Jul 2019 12:06:56 GMT\"0x8D70141466C2B64\"5120share156232841861208282156232841879807673Fri, 05 Jul 2019 12:06:58 GMT\"0x8D7014147FE10C6\"5120share156232844168506704Fri, 05 Jul 2019 12:07:21 GMT\"0x8D7014155A4AD97\"5120share156232844386907637156232844401307651Fri, 05 Jul 2019 12:07:24 GMT\"0x8D701415703F68A\"5120share156232845753707554156232845762800912Fri, 05 Jul 2019 12:07:38 GMT\"0x8D701415F646150\"5120share156232847764404417156232847770606191Fri, 05 Jul 2019 12:07:57 GMT\"0x8D701416B192B69\"5120share156232850414608580Fri, 05 Jul 2019 12:08:24 GMT\"0x8D701417AE586D6\"5120share156232850675609065Fri, 05 Jul 2019 12:08:27 GMT\"0x8D701417CAD06D7\"5120share156232851804601744Fri, 05 Jul 2019 12:08:38 GMT\"0x8D701418320B741\"5120share156232851810906256Fri, 05 Jul 2019 12:08:38 GMT\"0x8D701418329B98D\"5120share156232851844806823156232851848405216Fri, 05 Jul 2019 12:08:38 GMT\"0x8D70141836354F3\"5120share156232852424601536156232852458902443Fri, 05 Jul 2019 12:08:44 GMT\"0x8D701418714C45A\"5120share156232853154900982Fri, 05 Jul 2019 12:08:51 GMT\"0x8D701418B41BA0E\"5120share156232853229105920156232853403607477Fri, 05 Jul 2019 12:08:54 GMT\"0x8D701418D2AAF5E\"5120share156232853464309443156232853465701570Fri, 05 Jul 2019 12:08:54 GMT\"0x8D701418D072F58\"5120share156232854044800518156232854082104810Fri, 05 Jul 2019 12:09:01 GMT\"0x8D7014190D10C8C\"5120share156232856511904283Fri, 05 Jul 2019 12:09:25 GMT\"0x8D701419F4A85DC\"5120share156232857881806424156232857928009105Fri, 05 Jul 2019 12:09:39 GMT\"0x8D70141A7B73541\"5120share156232857892808238Fri, 05 Jul 2019 12:09:40 GMT\"0x8D70141A80B4DD8\"5120share156232858344102166156232858639902242Fri, 05 Jul 2019 12:09:47 GMT\"0x8D70141ACA89FB6\"5120share156232859029501162Fri, 05 Jul 2019 12:09:50 GMT\"0x8D70141AE446A35\"5120share156232859892701334156232859953306110Fri, 05 Jul 2019 12:09:59 GMT\"0x8D70141B3C6940C\"5120share156232863064505686156232863078706867Fri, 05 Jul 2019 12:10:30 GMT\"0x8D70141C6636CC6\"5120share156232864865505253156232864883208593Fri, 05 Jul 2019 12:10:48 GMT\"0x8D70141D1293D2A\"5120share156232865619904092156232865631708641Fri, 05 Jul 2019 12:10:56 GMT\"0x8D70141D5D3EDE2\"5120share156232866820908467156232866832807932Fri, 05 Jul 2019 12:11:08 GMT\"0x8D70141DCC375AE\"5120share156232870555103531156232870572709019Fri, 05 Jul 2019 12:11:45 GMT\"0x8D70141F3116C76\"5120share156232877541102280156232877559904486Fri, 05 Jul 2019 12:12:55 GMT\"0x8D701421CB17A4A\"5120share156232879380203184Fri, 05 Jul 2019 12:13:13 GMT\"0x8D70142278F5E93\"5120share156232879576504146Fri, 05 Jul 2019 12:13:15 GMT\"0x8D7014228A8F8C5\"5120share156232879619509129156232879647601822Fri, 05 Jul 2019 12:13:16 GMT\"0x8D7014229257797\"5120share156232879629701739156232879632809084Fri, 05 Jul 2019 12:13:16 GMT\"0x8D7014229000525\"5120share156232882553006958156232882554604883Fri, 05 Jul 2019 12:13:45 GMT\"0x8D701423A6861AC\"5120share156232884964601059Fri, 05 Jul 2019 12:14:09 GMT\"0x8D7014248D5E082\"5120share156232885045607572156232885050306087Fri, 05 Jul 2019 12:14:10 GMT\"0x8D70142494919B0\"5120share156232886722907465156232886733805736Fri, 05 Jul 2019 12:14:27 GMT\"0x8D70142535F0DCF\"5120share156232888680606023156232888682107821Fri, 05 Jul 2019 12:14:46 GMT\"0x8D701425EEF1DA7\"5120share156241462907307660Sat, 06 Jul 2019 12:03:49 GMT\"0x8D7020A015725F3\"5120share156241463143207723156241463162309308Sat, 06 Jul 2019 12:03:51 GMT\"0x8D7020A02D86627\"5120share156241464716007409Sat, 06 Jul 2019 12:04:07 GMT\"0x8D7020A0C24AE28\"5120share156241465549807570156241465588401078Sat, 06 Jul 2019 12:04:16 GMT\"0x8D7020A1191F4BD\"5120share156241465573602212Sat, 06 Jul 2019 12:04:17 GMT\"0x8D7020A11EFA595\"5120share156241466446407898156241466484306382Sat, 06 Jul 2019 12:04:25 GMT\"0x8D7020A16DE1800\"5120share156241466677505994Sat, 06 Jul 2019 12:04:36 GMT\"0x8D7020A1D67EDD1\"5120share156241467245803112Sat, 06 Jul 2019 12:04:32 GMT\"0x8D7020A1B324653\"5120share156241467480109923156241467495504586Sat, 06 Jul 2019 12:04:35 GMT\"0x8D7020A1CAB203A\"5120share156241468714300719156241468794107214Sat, 06 Jul 2019 12:04:48 GMT\"0x8D7020A247690F2\"5120share156241469141502244156241469150603069Sat, 06 Jul 2019 12:04:51 GMT\"0x8D7020A268A0834\"5120share156241470391902233Sat, 06 Jul 2019 12:05:05 GMT\"0x8D7020A2EECF18F\"5120share156241470668007254Sat, 06 Jul 2019 12:05:07 GMT\"0x8D7020A3025D50B\"5120share156241470920202907156241470927200006Sat, 06 Jul 2019 12:05:09 GMT\"0x8D7020A311F4B11\"5120share156241471423104607156241471451708135Sat, 06 Jul 2019 12:05:15 GMT\"0x8D7020A34F7E298\"5120share156241471865309980156241471938400766Sat, 06 Jul 2019 12:05:19 GMT\"0x8D7020A37301FBC\"5120share156241473553307854Sat, 06 Jul 2019 12:05:35 GMT\"0x8D7020A40D154D0\"5120share156241474399800621156241475203003406Sat, 06 Jul 2019 12:05:52 GMT\"0x8D7020A4AA62845\"5120share156241476635507633Sat, 06 Jul 2019 12:06:06 GMT\"0x8D7020A532BABAF\"5120share156241476806208009156241476820708153Sat, 06 Jul 2019 12:06:08 GMT\"0x8D7020A5441C3D2\"5120share156241476957902450156241477324300930Sat, 06 Jul 2019 12:06:13 GMT\"0x8D7020A574E56CE\"5120share156241477678600629Sat, 06 Jul 2019 12:06:16 GMT\"0x8D7020A596589BC\"5120share156241477992209683156241478018703876Sat, 06 Jul 2019 12:06:23 GMT\"0x8D7020A5D94E01F\"5120share156241478428406864Sat, 06 Jul 2019 12:06:24 GMT\"0x8D7020A5DE1B58B\"5120share156241478864206174156241478892305093Sat, 06 Jul 2019 12:06:29 GMT\"0x8D7020A60A40148\"5120share156241479444801776156241479450906381Sat, 06 Jul 2019 12:06:34 GMT\"0x8D7020A63EEC43C\"5120share156241480058905841156241480076800282Sat, 06 Jul 2019 12:06:40 GMT\"0x8D7020A67B6AF10\"5120share156241481893904973156241481906902159Sat, 06 Jul 2019 12:06:59 GMT\"0x8D7020A729BB31E\"5120share156241482020100867156241482032506205Sat, 06 Jul 2019 12:07:00 GMT\"0x8D7020A73586872\"5120share156241482662101250156241482674208134Sat, 06 Jul 2019 12:07:06 GMT\"0x8D7020A772C53E0\"5120share156241483326708529156241483442001894Sat, 06 Jul 2019 12:07:14 GMT\"0x8D7020A7BC54DB3\"5120share156241483936806622156241483947702143Sat, 06 Jul 2019 12:07:19 GMT\"0x8D7020A7EC76FB3\"5120share156241485300207887Sat, 06 Jul 2019 12:07:33 GMT\"0x8D7020A86D24BF8\"5120share156241485513001519156241485538005300Sat, 06 Jul 2019 12:07:35 GMT\"0x8D7020A8840C749\"5120share156241485930305951156241485941207924Sat, 06 Jul 2019 12:07:39 GMT\"0x8D7020A8AA7B377\"5120share156241491919600593156241491933604336Sat, 06 Jul 2019 12:08:39 GMT\"0x8D7020AAE601D7B\"5120share156250100905700759Sun, 07 Jul 2019 12:03:29 GMT\"0x8D702D31FD2BAC7\"5120share156250101131204371156250101149606821Sun, 07 Jul 2019 12:03:31 GMT\"0x8D702D32141F754\"5120share156250102609105498Sun, 07 Jul 2019 12:03:46 GMT\"0x8D702D32A5183CE\"5120share156250103822709207Sun, 07 Jul 2019 12:03:58 GMT\"0x8D702D3313F1B15\"5120share156250103849800271156250104500405514Sun, 07 Jul 2019 12:04:05 GMT\"0x8D702D33549247B\"5120share156250104413408197156250104467807375Sun, 07 Jul 2019 12:04:04 GMT\"0x8D702D335174307\"5120share156250104450205064Sun, 07 Jul 2019 12:04:04 GMT\"0x8D702D334FDAAF5\"5120share156250104784808726156250104794006612Sun, 07 Jul 2019 12:04:07 GMT\"0x8D702D336FAFA4C\"5120share156250106252307155156250107144202359Sun, 07 Jul 2019 12:04:31 GMT\"0x8D702D3451982E6\"5120share156250106360804485Sun, 07 Jul 2019 12:04:23 GMT\"0x8D702D34052DB43\"5120share156250106526600919156250106538609624Sun, 07 Jul 2019 12:04:25 GMT\"0x8D702D3415EAF31\"5120share156250107494008392Sun, 07 Jul 2019 12:04:35 GMT\"0x8D702D34727B468\"5120share156250107776200036Sun, 07 Jul 2019 12:04:37 GMT\"0x8D702D348CBEB95\"5120share156250108247608928156250108274206566Sun, 07 Jul 2019 12:04:43 GMT\"0x8D702D34BFED761\"5120share156250108674401926156250108699800231Sun, 07 Jul 2019 12:04:47 GMT\"0x8D702D34E59D36B\"5120share156250109234709676Sun, 07 Jul 2019 12:04:52 GMT\"0x8D702D3517DB31B\"5120share156250109324109070156250109330605800Sun, 07 Jul 2019 12:04:53 GMT\"0x8D702D352039087\"5120share156250110105509410156250110176402446Sun, 07 Jul 2019 12:05:01 GMT\"0x8D702D357167157\"5120share156250114604802333Sun, 07 Jul 2019 12:05:46 GMT\"0x8D702D3717B4BA2\"5120share156250114966802007Sun, 07 Jul 2019 12:05:49 GMT\"0x8D702D373A48677\"5120share156250115074604410156250115102804974Sun, 07 Jul 2019 12:05:51 GMT\"0x8D702D374F14CFC\"5120share156250115102209658156250115117105313Sun, 07 Jul 2019 12:05:51 GMT\"0x8D702D3748460C9\"5120share156250116339103851156250116361904081Sun, 07 Jul 2019 12:06:03 GMT\"0x8D702D37BFCC26C\"5120share156250117362100690156250117380109971Sun, 07 Jul 2019 12:06:13 GMT\"0x8D702D3820E55C6\"5120share156250117815406735156250117891508882Sun, 07 Jul 2019 12:06:19 GMT\"0x8D702D38527156B\"5120share156250118098202263156250118105907325Sun, 07 Jul 2019 12:06:21 GMT\"0x8D702D386552F65\"5120share156250119293202513156250119397206915Sun, 07 Jul 2019 12:06:34 GMT\"0x8D702D38E0BBA94\"5120share156250119293507178156250119334305374Sun, 07 Jul 2019 12:06:33 GMT\"0x8D702D38DAC3A41\"5120share156250119976800444156250119988505678Sun, 07 Jul 2019 12:06:40 GMT\"0x8D702D39194A072\"5120share156250120491103313156250120505409294Sun, 07 Jul 2019 12:06:45 GMT\"0x8D702D394A85137\"5120share156250127098807616Sun, 07 Jul 2019 12:07:51 GMT\"0x8D702D3BBF90D9F\"5120share156250127466608937156250127492806261Sun, 07 Jul 2019 12:07:55 GMT\"0x8D702D3BE55578B\"5120share156250128948301874Sun, 07 Jul 2019 12:08:09 GMT\"0x8D702D3C6FE6D27\"5120share156250129584606945156250129800307120Sun, 07 Jul 2019 12:08:18 GMT\"0x8D702D3CC0E6E75\"5120share156250134899209853156250134911704679Sun, 07 Jul 2019 12:09:09 GMT\"0x8D702D3EA87D137\"5120share156250135806603788156250135820804089Sun, 07 Jul 2019 12:09:18 GMT\"0x8D702D3EFF4C8B6\"5120share156258740987602978Mon, 08 Jul 2019 12:03:29 GMT\"0x8D7039C4AB74459\"5120share156258741555502574156258741583103690Mon, 08 Jul 2019 12:03:35 GMT\"0x8D7039C4E3F08D1\"5120share156258744853302097156258744874900898Mon, 08 Jul 2019 12:04:08 GMT\"0x8D7039C61DE5A61\"5120share156258745221706038Mon, 08 Jul 2019 12:04:12 GMT\"0x8D7039C63FE507F\"5120share156258745295400235Mon, 08 Jul 2019 12:04:13 GMT\"0x8D7039C64800581\"5120share156258745652307905Mon, 08 Jul 2019 12:04:16 GMT\"0x8D7039C66B48BFC\"5120share156258746104403992156258746235003162Mon, 08 Jul 2019 12:04:22 GMT\"0x8D7039C6A2876E9\"5120share156258746492406462156258746528209168Mon, 08 Jul 2019 12:04:25 GMT\"0x8D7039C6BDA2C73\"5120share156258746709606078Mon, 08 Jul 2019 12:04:27 GMT\"0x8D7039C6CD1CA80\"5120share156258746736408165156258746773500387Mon, 08 Jul 2019 12:04:27 GMT\"0x8D7039C6D5003BD\"5120share156258746999407556156258747011903067Mon, 08 Jul 2019 12:04:30 GMT\"0x8D7039C6E9BB9B8\"5120share156258749072506230Mon, 08 Jul 2019 12:04:51 GMT\"0x8D7039C7B38EDC5\"5120share156258749528708946Mon, 08 Jul 2019 12:04:55 GMT\"0x8D7039C7DAE4D20\"5120share156258749774903714Mon, 08 Jul 2019 12:04:58 GMT\"0x8D7039C7F7DDD00\"5120share156258750074106668156258750111903572Mon, 08 Jul 2019 12:05:01 GMT\"0x8D7039C8131FB1E\"5120share156258750138106945156258750659005350Mon, 08 Jul 2019 12:05:06 GMT\"0x8D7039C846B272F\"5120share156258750417901966156258750456501518Mon, 08 Jul 2019 12:05:18 GMT\"0x8D7039C8B46B6D4\"5120share156258750950908228156258750957106940Mon, 08 Jul 2019 12:05:09 GMT\"0x8D7039C861ED6F0\"5120share156258756280903372Mon, 08 Jul 2019 12:06:02 GMT\"0x8D7039CA5D91387\"5120share156258756411507953156258756420200289Mon, 08 Jul 2019 12:06:04 GMT\"0x8D7039CA6ACB69C\"5120share156258758476004106156258758530900916Mon, 08 Jul 2019 12:06:25 GMT\"0x8D7039CB3528E37\"5120share156258758737301687156258759405708643Mon, 08 Jul 2019 12:06:34 GMT\"0x8D7039CB8A40706\"5120share156258758912803964156258758914305320Mon, 08 Jul 2019 12:06:29 GMT\"0x8D7039CB58AF1AD\"5120share156258759656101853156258759676406743Mon, 08 Jul 2019 12:06:39 GMT\"0x8D7039CBB85C74E\"5120share156258760081704035156258760104802645Mon, 08 Jul 2019 12:06:41 GMT\"0x8D7039CBCC5E0AA\"5120share156258760855008802Mon, 08 Jul 2019 12:06:49 GMT\"0x8D7039CC173220F\"5120share156258761027304149156258761032007505Mon, 08 Jul 2019 12:06:50 GMT\"0x8D7039CC2286DD7\"5120share156258761317700150156258761449504089Mon, 08 Jul 2019 12:06:54 GMT\"0x8D7039CC4BAAB9F\"5120share156258761485209592156258761543105879Mon, 08 Jul 2019 12:06:55 GMT\"0x8D7039CC5793E90\"5120share156258766018105200156258766019707308Mon, 08 Jul 2019 12:07:40 GMT\"0x8D7039CDFE2765B\"5120share156258779698509369Mon, 08 Jul 2019 12:09:57 GMT\"0x8D7039D318DF19A\"5120share156258780105706428156258780145003324Mon, 08 Jul 2019 12:10:01 GMT\"0x8D7039D342A72F5\"5120share156258780898803221Mon, 08 Jul 2019 12:10:09 GMT\"0x8D7039D38AA222D\"5120share156258781453406420156258781492607402Mon, 08 Jul 2019 12:10:15 GMT\"0x8D7039D3C462D37\"5120share156258787061901201156258787080701165Mon, 08 Jul 2019 12:11:10 GMT\"0x8D7039D5D832C7D\"5120share156258788190408297156258788210101955Mon, 08 Jul 2019 12:11:22 GMT\"0x8D7039D643DE3B1\"5120share156264825395605887Tue, 09 Jul 2019 04:57:34 GMT\"0x8D70429F49F0F26\"5120share156264825601509637156264825620206242Tue, 09 Jul 2019 04:57:36 GMT\"0x8D70429F5F0FA8C\"5120share156264827030709689Tue, 09 Jul 2019 04:57:50 GMT\"0x8D70429FE652D02\"5120share156264827615609337156264827650900123Tue, 09 Jul 2019 04:57:56 GMT\"0x8D7042A0217ABCF\"5120share156264829474303904Tue, 09 Jul 2019 04:58:14 GMT\"0x8D7042A0CF840BE\"5120share156264829868206276Tue, 09 Jul 2019 04:58:18 GMT\"0x8D7042A0F4DECE3\"5120share156264830294101292156264830329907328Tue, 09 Jul 2019 04:58:23 GMT\"0x8D7042A1211680D\"5120share156264830669702353156264830700800542Tue, 09 Jul 2019 04:58:27 GMT\"0x8D7042A14478099\"5120share156264831039009965Tue, 09 Jul 2019 04:58:30 GMT\"0x8D7042A163E8DE6\"5120share156264831160104143156264831173100032Tue, 09 Jul 2019 04:58:31 GMT\"0x8D7042A17087F23\"5120share156264831254601214156264831263608619Tue, 09 Jul 2019 04:58:32 GMT\"0x8D7042A17939792\"5120share156264832860103936Tue, 09 Jul 2019 04:58:48 GMT\"0x8D7042A211E1D48\"5120share156264833218803431156264833302005048Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27B8BFE0\"5120share156264833942109584Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27941007\"5120share156264834216007262156264834242800932Tue, 09 Jul 2019 04:59:02 GMT\"0x8D7042A295C8410\"5120share156264835293103419156264835299708634Tue, 09 Jul 2019 04:59:13 GMT\"0x8D7042A2FA0EABB\"5120share156264839687207627Tue, 09 Jul 2019 04:59:56 GMT\"0x8D7042A49D33E71\"5120share156264839933907378156264839954606075Tue, 09 Jul 2019 04:59:59 GMT\"0x8D7042A4B63D2AA\"5120share156264843680708943156264843702104397Tue, 09 Jul 2019 05:00:37 GMT\"0x8D7042A61C2A310\"5120share156264845230102818156264845240405412Tue, 09 Jul 2019 05:00:52 GMT\"0x8D7042A6AE665B4\"5120share156264845339405267156264845357208004Tue, 09 Jul 2019 05:00:53 GMT\"0x8D7042A6BA26B29\"5120share156264845432602840156264845444807706Tue, 09 Jul 2019 05:00:54 GMT\"0x8D7042A6C253153\"5120share156264847886301688156264847968405382Tue, 09 Jul 2019 05:01:19 GMT\"0x8D7042A7B3077A7\"5120share156264848339806724156264848351300403Tue, 09 Jul 2019 05:01:23 GMT\"0x8D7042A7D7706DE\"5120share156264870344303834Tue, 09 Jul 2019 05:05:03 GMT\"0x8D7042B00911645\"5120share156264870634702467156264870669504827Tue, 09 Jul 2019 05:05:06 GMT\"0x8D7042B02815284\"5120share156264880414102699156264880432308948Tue, 09 Jul 2019 05:06:44 GMT\"0x8D7042B3CB1E23B\"5120share156264886794000718Tue, 09 Jul 2019 05:07:48 GMT\"0x8D7042B62997F6B\"5120share156264887048101342156264887079300099Tue, 09 Jul 2019 05:07:50 GMT\"0x8D7042B644C4F44\"5120share156264893656607140156264893669107996Tue, 09 Jul 2019 05:08:56 GMT\"0x8D7042B8B94A653\"5120share156264895731108711Tue, 09 Jul 2019 05:09:17 GMT\"0x8D7042B97D18B17\"5120share156264895805304396156264895808507570Tue, 09 Jul 2019 05:09:18 GMT\"0x8D7042B9847C935\"5120share156264901143100039156264901146206574Tue, 09 Jul 2019 05:10:11 GMT\"0x8D7042BB818914C\"5120share156265158976005909Tue, 09 Jul 2019 05:53:09 GMT\"0x8D70431B8F6A179\"5120share156265159410309196156265159448605628Tue, 09 Jul 2019 05:53:14 GMT\"0x8D70431BBC89463\"5120share156265173847000361156265174664207252Tue, 09 Jul 2019 05:55:46 GMT\"0x8D704321678A633\"5120share156267382937802805Tue, 09 Jul 2019 12:03:49 GMT\"0x8D7046580BF270F\"5120share156267383106607518156267383125703217Tue, 09 Jul 2019 12:03:51 GMT\"0x8D7046581D92E96\"5120share156267385420103328Tue, 09 Jul 2019 12:04:14 GMT\"0x8D704658F9D0561\"5120share156267386263002254156267386272003008Tue, 09 Jul 2019 12:04:22 GMT\"0x8D704659499F5DC\"5120share156267386638805348156267386700004645Tue, 09 Jul 2019 12:04:27 GMT\"0x8D7046597347EC9\"5120share156267386842006357Tue, 09 Jul 2019 12:04:28 GMT\"0x8D7046598122B4B\"5120share156267387622209939Tue, 09 Jul 2019 12:04:36 GMT\"0x8D704659CC178E4\"5120share156267388151109279156267388258706390Tue, 09 Jul 2019 12:04:49 GMT\"0x8D70465A487AF0B\"5120share156267388788009954Tue, 09 Jul 2019 12:04:47 GMT\"0x8D70465A3976346\"5120share156267388904803373156267388912802041Tue, 09 Jul 2019 12:04:49 GMT\"0x8D70465A4557E6C\"5120share156267389618201873156267389674405076Tue, 09 Jul 2019 12:04:56 GMT\"0x8D70465A8F24B76\"5120share156267390160807839Tue, 09 Jul 2019 12:05:01 GMT\"0x8D70465ABF10479\"5120share156267390767105471156267390780804887Tue, 09 Jul 2019 12:05:07 GMT\"0x8D70465AF7C012B\"5120share156267391027602427156267391030900795Tue, 09 Jul 2019 12:05:10 GMT\"0x8D70465B0F5D470\"5120share156267392495703472Tue, 09 Jul 2019 12:05:26 GMT\"0x8D70465BA6C6E8B\"5120share156267393578505816156267393640503491Tue, 09 Jul 2019 12:05:57 GMT\"0x8D70465CD09B7D7\"5120share156267394092302007Tue, 09 Jul 2019 12:05:40 GMT\"0x8D70465C33999B0\"5120share156267394988608119156267395219808454Tue, 09 Jul 2019 12:05:52 GMT\"0x8D70465C9F09311\"5120share156267397869900938Tue, 09 Jul 2019 12:06:18 GMT\"0x8D70465D9B9B7C3\"5120share156267397932400414156267397936504402Tue, 09 Jul 2019 12:06:19 GMT\"0x8D70465DA1EA679\"5120share156267399095807060Tue, 09 Jul 2019 12:06:31 GMT\"0x8D70465E1153B1E\"5120share156267399380203874156267399405209221Tue, 09 Jul 2019 12:06:34 GMT\"0x8D70465E2F19B6B\"5120share156267400206508827156267400224402131Tue, 09 Jul 2019 12:06:42 GMT\"0x8D70465E7CFA065\"5120share156267400292404441156267400293809559Tue, 09 Jul 2019 12:06:42 GMT\"0x8D70465E82B783A\"5120share156267402099901752156267402117500045Tue, 09 Jul 2019 12:07:01 GMT\"0x8D70465F3525FC9\"5120share156267402163508973Tue, 09 Jul 2019 12:07:01 GMT\"0x8D70465F35FCCDD\"5120share156267402334704573156267402429308287Tue, 09 Jul 2019 12:07:04 GMT\"0x8D70465F4E96B80\"5120share156267402973601025156267404161107892Tue, 09 Jul 2019 12:07:21 GMT\"0x8D70465FF45D3DC\"5120share156267404318301876156267404324504524Tue, 09 Jul 2019 12:07:23 GMT\"0x8D704660036E9E7\"5120share156267405388702579156267405395801395Tue, 09 Jul 2019 12:07:34 GMT\"0x8D704660698D51E\"5120share156267408134902571156267408149000302Tue, 09 Jul 2019 12:08:01 GMT\"0x8D704661709F5A9\"5120share156267411142406435156267411197706768Tue, 09 Jul 2019 12:08:33 GMT\"0x8D704662A3DC0BA\"5120share156267414202202918156267414220106985Tue, 09 Jul 2019 12:09:02 GMT\"0x8D704663B3F1F50\"5120share156267423779203874Tue, 09 Jul 2019 12:10:37 GMT\"0x8D704667439D991\"5120share156267424005608615156267424053801889Tue, 09 Jul 2019 12:10:40 GMT\"0x8D7046675DB062A\"5120share156267430833406636156267430847403205Tue, 09 Jul 2019 12:11:48 GMT\"0x8D704669E5A80CE\"5120share156269481666907108Tue, 09 Jul 2019 17:53:36 GMT\"0x8D704965E24C3F6\"5120share156269481774401596Tue, 09 Jul 2019 17:53:37 GMT\"0x8D704965ECC7BD7\"5120share156269481871608819156269481890008616Tue, 09 Jul 2019 17:53:38 GMT\"0x8D704965F756D29\"5120share156269481951002984156269481966409713Tue, 09 Jul 2019 17:53:39 GMT\"0x8D704965FED94BD\"5120share156269486344509309156269486351807885Tue, 09 Jul 2019 17:54:23 GMT\"0x8D704967A10ECF9\"5120share156269487459200150156269487468500799Tue, 09 Jul 2019 17:54:34 GMT\"0x8D7049680B41C71\"5120share156269488218400048Tue, 09 Jul 2019 17:54:42 GMT\"0x8D7049685540F31\"5120share156269488554504172156269488584604383Tue, 09 Jul 2019 17:54:45 GMT\"0x8D70496876D744B\"5120share156269499994903691Tue, 09 Jul 2019 17:56:40 GMT\"0x8D70496CB6D3890\"5120share156269500174105375156269500194408040Tue, 09 Jul 2019 17:56:42 GMT\"0x8D70496CC9684E7\"5120share156269500211602290Tue, 09 Jul 2019 17:56:42 GMT\"0x8D70496CCB49BC0\"5120share156269500921907889156269500953107665Tue, 09 Jul 2019 17:56:49 GMT\"0x8D70496D11E4388\"5120share156269503458108079156269503471608767Tue, 09 Jul 2019 17:57:14 GMT\"0x8D70496E02386A6\"5120share156269504393805899Tue, 09 Jul 2019 17:57:24 GMT\"0x8D70496E5A7C018\"5120share156269504913309821156269505036706085Tue, 09 Jul 2019 17:57:30 GMT\"0x8D70496E97A77CF\"5120share156269505856108339156269505866104026Tue, 09 Jul 2019 17:57:38 GMT\"0x8D70496EE643DE7\"5120share156269506490101211Tue, 09 Jul 2019 17:57:44 GMT\"0x8D70496F21FD37B\"5120share156269506743709158156269507428003869Tue, 09 Jul 2019 17:57:54 GMT\"0x8D70496F7BA82A4\"5120share156269512310706325156269512321701219Tue, 09 Jul 2019 17:58:43 GMT\"0x8D7049714E2AA9B\"5120share156269513740908579Tue, 09 Jul 2019 17:58:57 GMT\"0x8D704971D5ACEB8\"5120share156269514106605087156269514142005085Tue, 09 Jul 2019 17:59:01 GMT\"0x8D704971FBE3CC6\"5120share156269517588705870156269517600500120Tue, 09 Jul 2019 17:59:36 GMT\"0x8D7049734592D4E\"5120share156269518824809389Tue, 09 Jul 2019 17:59:48 GMT\"0x8D704973BA6EA7C\"5120share156269519000603461156269519018004450Tue, 09 Jul 2019 17:59:50 GMT\"0x8D704973CCEF4D7\"5120share156269519155500673156269519198205854Tue, 09 Jul 2019 17:59:52 GMT\"0x8D704973DE0CD8A\"5120share156269519891300643Tue, 09 Jul 2019 17:59:58 GMT\"0x8D7049741FC1B24\"5120share156269519916100036Tue, 09 Jul 2019 17:59:59 GMT\"0x8D70497421ADA7A\"5120share156269519952105514156269519956804456Tue, 09 Jul 2019 17:59:59 GMT\"0x8D704974259355F\"5120share156269520032305950156269520043202300Tue, 09 Jul 2019 18:00:00 GMT\"0x8D7049742E5A6F9\"5120share156269520939206183Tue, 09 Jul 2019 18:00:09 GMT\"0x8D704974833FA50\"5120share156269520991200049156269520997506679Tue, 09 Jul 2019 18:00:09 GMT\"0x8D70497488C5B30\"5120share156269524252704604156269524255803226Tue, 09 Jul 2019 18:00:42 GMT\"0x8D704975BF7A559\"5120share156269524506108742156269524523701147Tue, 09 Jul 2019 18:00:45 GMT\"0x8D704975D9FC0AC\"5120share156269524595202445156269524596802315Tue, 09 Jul 2019 18:00:45 GMT\"0x8D704975E01E8D8\"5120share156269525920901242156269525925602502Tue, 09 Jul 2019 18:00:59 GMT\"0x8D7049765F15F09\"5120share156269528622009741156269528639406414Tue, 09 Jul 2019 18:01:26 GMT\"0x8D704977627359E\"5120share156276024471306601Wed, 10 Jul 2019 12:04:04 GMT\"0x8D7052EB45EFA1D\"5120share156276024676203006156276024695503930Wed, 10 Jul 2019 12:04:07 GMT\"0x8D7052EB5B10BFF\"5120share156276026448203000Wed, 10 Jul 2019 12:04:24 GMT\"0x8D7052EC01D6898\"5120share156276027457101672156276027510905851Wed, 10 Jul 2019 12:04:35 GMT\"0x8D7052EC674C697\"5120share156276028198907169Wed, 10 Jul 2019 12:04:42 GMT\"0x8D7052ECA8EEAD9\"5120share156276028682705005156276028691704279Wed, 10 Jul 2019 12:04:47 GMT\"0x8D7052ECD82BD21\"5120share156276029853807529Wed, 10 Jul 2019 12:04:58 GMT\"0x8D7052ED4645783\"5120share156276030047405035156276030061606603Wed, 10 Jul 2019 12:05:00 GMT\"0x8D7052ED59C9D55\"5120share156276030266702424156276030302804291Wed, 10 Jul 2019 12:05:03 GMT\"0x8D7052ED731DBE7\"5120share156276032906902074Wed, 10 Jul 2019 12:05:29 GMT\"0x8D7052EE69D13A4\"5120share156276033157309190156276033164908171Wed, 10 Jul 2019 12:05:31 GMT\"0x8D7052EE81CB902\"5120share156276033562509518156276033659404731Wed, 10 Jul 2019 12:05:36 GMT\"0x8D7052EEB20A5AB\"5120share156276033830001281Wed, 10 Jul 2019 12:05:38 GMT\"0x8D7052EEC1F1ABF\"5120share156276033958001304Wed, 10 Jul 2019 12:05:40 GMT\"0x8D7052EED83AF49\"5120share156276034664503206156276034689006793Wed, 10 Jul 2019 12:05:46 GMT\"0x8D7052EF139B5D3\"5120share156276034755902460156276034804700817Wed, 10 Jul 2019 12:05:48 GMT\"0x8D7052EF1DCBB97\"5120share156276040175400112Wed, 10 Jul 2019 12:06:41 GMT\"0x8D7052F11DFE4E5\"5120share156276040285306763156276040291506572Wed, 10 Jul 2019 12:06:42 GMT\"0x8D7052F12901AC6\"5120share156276040980803006156276041046800087Wed, 10 Jul 2019 12:06:50 GMT\"0x8D7052F1721071A\"5120share156276041563101377Wed, 10 Jul 2019 12:06:55 GMT\"0x8D7052F1A4EAD7E\"5120share156276042078002479156276042114104929Wed, 10 Jul 2019 12:07:01 GMT\"0x8D7052F1D7FA012\"5120share156276042938905567156276042940302274Wed, 10 Jul 2019 12:07:09 GMT\"0x8D7052F225A1B85\"5120share156276043918008101156276043920405500Wed, 10 Jul 2019 12:07:19 GMT\"0x8D7052F2832D8DA\"5120share156276045008105985156276045025600694Wed, 10 Jul 2019 12:07:30 GMT\"0x8D7052F2EDA6A88\"5120share156276045469704064156276045487606342Wed, 10 Jul 2019 12:07:34 GMT\"0x8D7052F3198463C\"5120share156276049212101017156276049226201075Wed, 10 Jul 2019 12:08:12 GMT\"0x8D7052F47E18EDB\"5120share156276051346001215156276051364805772Wed, 10 Jul 2019 12:08:33 GMT\"0x8D7052F54A636AC\"5120share156276065213100863Wed, 10 Jul 2019 12:10:52 GMT\"0x8D7052FA736C715\"5120share156276065530508298156276065588503507Wed, 10 Jul 2019 12:10:56 GMT\"0x8D7052FA9734E68\"5120share156276071223604483Wed, 10 Jul 2019 12:11:52 GMT\"0x8D7052FCB060187\"5120share156276071627204278156276071666207325Wed, 10 Jul 2019 12:11:56 GMT\"0x8D7052FCDAB0B5C\"5120share156276071914102683156276071933208829Wed, 10 Jul 2019 12:11:59 GMT\"0x8D7052FCF467034\"5120share156276075652402103Wed, 10 Jul 2019 12:12:36 GMT\"0x8D7052FE56D3DA1\"5120share156276076031005147156276076068505489Wed, 10 Jul 2019 12:12:40 GMT\"0x8D7052FE7E8FCAE\"5120share156276080139603434156276080158309239Wed, 10 Jul 2019 12:13:21 GMT\"0x8D70530004AA38F\"5120share156276082153609552156276082172301656Wed, 10 Jul 2019 12:13:41 GMT\"0x8D705300C4B330B\"5120share156284668037507136Thu, 11 Jul 2019 12:04:40 GMT\"0x8D705F7F3FB4FC4\"5120share156284668216509162156284668234804956Thu, 11 Jul 2019 12:04:42 GMT\"0x8D705F7F5249B99\"5120share156284672179906252156284672189107332Thu, 11 Jul 2019 12:05:21 GMT\"0x8D705F80CB6436E\"5120share156284675284000725Thu, 11 Jul 2019 12:05:52 GMT\"0x8D705F81F2C3F8C\"5120share156284675422306423156284675438802255Thu, 11 Jul 2019 12:05:54 GMT\"0x8D705F820145900\"5120share156284678934007924156284678946803004Thu, 11 Jul 2019 12:06:29 GMT\"0x8D705F834FC9E61\"5120share156284679465007438Thu, 11 Jul 2019 12:06:34 GMT\"0x8D705F83828B3DF\"5120share156284682389805312Thu, 11 Jul 2019 12:07:10 GMT\"0x8D705F84D7B3601\"5120share156284682731604212156284683279200733Thu, 11 Jul 2019 12:07:13 GMT\"0x8D705F84F50B06E\"5120share156284684240607060156284684702200879Thu, 11 Jul 2019 12:07:30 GMT\"0x8D705F85920698D\"5120share156284686433608395Thu, 11 Jul 2019 12:07:44 GMT\"0x8D705F861A6AD6F\"5120share156284686551403323Thu, 11 Jul 2019 12:08:01 GMT\"0x8D705F86BACFDBF\"5120share156284687552800153Thu, 11 Jul 2019 12:07:55 GMT\"0x8D705F868567D42\"5120share156284688199404141Thu, 11 Jul 2019 12:08:02 GMT\"0x8D705F86C2D9B7D\"5120share156284688337001091156284688441708930Thu, 11 Jul 2019 12:08:04 GMT\"0x8D705F86D9CFB93\"5120share156284688427600609156284688447804794Thu, 11 Jul 2019 12:08:04 GMT\"0x8D705F86DA22FB1\"5120share156284689835506392156284689872309676Thu, 11 Jul 2019 12:08:18 GMT\"0x8D705F8762FFC67\"5120share156284690869200169156284691292707857Thu, 11 Jul 2019 12:08:33 GMT\"0x8D705F87EA02C63\"5120share156284692020403086156284692030509401Thu, 11 Jul 2019 12:08:40 GMT\"0x8D705F882FD0D9E\"5120share156284692532003791Thu, 11 Jul 2019 12:08:45 GMT\"0x8D705F886043A2C\"5120share156284692949900506156284693089704122Thu, 11 Jul 2019 12:08:51 GMT\"0x8D705F88957B8B3\"5120share156284697895600901156284698259801414Thu, 11 Jul 2019 12:09:42 GMT\"0x8D705F8A824CD01\"5120share156284700841103489156284700853001140Thu, 11 Jul 2019 12:10:08 GMT\"0x8D705F8B798D7CF\"5120share156284703798801923156284703814009602Thu, 11 Jul 2019 12:10:40 GMT\"0x8D705F8CA95C9AC\"5120share156284704313102565156284706870706322Thu, 11 Jul 2019 12:11:08 GMT\"0x8D705F8DB7C332C\"5120share156284706382607415156284706395409560Thu, 11 Jul 2019 12:11:04 GMT\"0x8D705F8D8A47857\"5120share156284710964404824156284710982005587Thu, 11 Jul 2019 12:11:50 GMT\"0x8D705F8F453F436\"5120share156284720527906023Thu, 11 Jul 2019 12:13:25 GMT\"0x8D705F92CE4FF8C\"5120share156284720572807369Thu, 11 Jul 2019 12:13:25 GMT\"0x8D705F92D2B8D67\"5120share156284720837703088156284720878207224Thu, 11 Jul 2019 12:13:28 GMT\"0x8D705F92EFB7D4C\"5120share156284720984402444156284721023505601Thu, 11 Jul 2019 12:13:30 GMT\"0x8D705F92FDC21B9\"5120share156284721535906185Thu, 11 Jul 2019 12:13:35 GMT\"0x8D705F932D33B2B\"5120share156284722348709213156284722353409244Thu, 11 Jul 2019 12:13:43 GMT\"0x8D705F937B2C073\"5120share156284726302300149156284726303905255Thu, 11 Jul 2019 12:14:23 GMT\"0x8D705F94F4182BA\"5120share156284727929601072156284727948307392Thu, 11 Jul 2019 12:14:39 GMT\"0x8D705F9592218DF\"5120share156284728969603863156284728988909815Thu, 11 Jul 2019 12:14:50 GMT\"0x8D705F95F539391\"5120share156293304651707693Fri, 12 Jul 2019 12:04:06 GMT\"0x8D706C10A35DEEB\"5120share156293304924808084156293304943405751Fri, 12 Jul 2019 12:04:09 GMT\"0x8D706C10BEF3853\"5120share156293307733706256Fri, 12 Jul 2019 12:04:42 GMT\"0x8D706C11F78A885\"5120share156293308571507928156293308581107949Fri, 12 Jul 2019 12:04:45 GMT\"0x8D706C1219DF2A7\"5120share156293310602509428156293311962402875Fri, 12 Jul 2019 12:05:19 GMT\"0x8D706C135D265D6\"5120share156293313503300122Fri, 12 Jul 2019 12:05:37 GMT\"0x8D706C140568E63\"5120share156293314765607855Fri, 12 Jul 2019 12:05:47 GMT\"0x8D706C14680F9E9\"5120share156293315856305134156293315878700923Fri, 12 Jul 2019 12:05:59 GMT\"0x8D706C14D3B6977\"5120share156293316541103618156293317273105986Fri, 12 Jul 2019 12:06:12 GMT\"0x8D706C15582348E\"5120share156293316608500161Fri, 12 Jul 2019 12:06:06 GMT\"0x8D706C15180F2BA\"5120share156293317040703835156293317067903250Fri, 12 Jul 2019 12:06:11 GMT\"0x8D706C154A482A8\"5120share156293319478808237Fri, 12 Jul 2019 12:06:34 GMT\"0x8D706C162A1842D\"5120share156293319842208167156293319898101543Fri, 12 Jul 2019 12:06:39 GMT\"0x8D706C1651FCFF8\"5120share156293320457407481Fri, 12 Jul 2019 12:06:44 GMT\"0x8D706C168619F9C\"5120share156293320493701363156293320497005447Fri, 12 Jul 2019 12:06:44 GMT\"0x8D706C1689E3E74\"5120share156293322212601587156293322214107971Fri, 12 Jul 2019 12:07:02 GMT\"0x8D706C172D9BF11\"5120share156293328380100793156293328398109292Fri, 12 Jul 2019 12:08:04 GMT\"0x8D706C197EF5F32\"5120share156293328585706842156293328599106026Fri, 12 Jul 2019 12:08:06 GMT\"0x8D706C198F86598\"5120share156293329931408702156293329990901500Fri, 12 Jul 2019 12:08:20 GMT\"0x8D706C1A1455C1B\"5120share156293330030404009Fri, 12 Jul 2019 12:08:20 GMT\"0x8D706C1A18DB747\"5120share156293330845502484156293330917203405Fri, 12 Jul 2019 12:08:29 GMT\"0x8D706C1A6CC1811\"5120share156293333199309318156293333213601452Fri, 12 Jul 2019 12:08:52 GMT\"0x8D706C1B4766C3F\"5120share156293336653503281156293336672106581Fri, 12 Jul 2019 12:09:26 GMT\"0x8D706C1C91A4B59\"5120share156293341763006205156293341781707141Fri, 12 Jul 2019 12:10:19 GMT\"0x8D706C1E86EEF19\"5120share156293343589500617Fri, 12 Jul 2019 12:10:35 GMT\"0x8D706C1F242DAA7\"5120share156293349368603322156293349371700170Fri, 12 Jul 2019 12:11:33 GMT\"0x8D706C214B9A09E\"5120share156293350490608175Fri, 12 Jul 2019 12:11:44 GMT\"0x8D706C21B66A834\"5120share156293357236706856Fri, 12 Jul 2019 12:12:52 GMT\"0x8D706C243B18AE6\"5120share156293358033802677156293358073504696Fri, 12 Jul 2019 12:13:00 GMT\"0x8D706C248AE2765\"5120share156293358770801078Fri, 12 Jul 2019 12:13:07 GMT\"0x8D706C24CD5CA0E\"5120share156293359352309132156293359392105456Fri, 12 Jul 2019 12:13:14 GMT\"0x8D706C2508C4620\"5120share156293366218106398156293366236906254Fri, 12 Jul 2019 12:14:22 GMT\"0x8D706C2795CD678\"5120share156293366305206503156293366324008335Fri, 12 Jul 2019 12:14:23 GMT\"0x8D706C279DCCD63\"5120share156293592221306134Fri, 12 Jul 2019 12:52:02 GMT\"0x8D706C7BC3E526C\"5120share156293592363900198156293592372403627Fri, 12 Jul 2019 12:52:03 GMT\"0x8D706C7BD230F47\"5120share156293596613004759156293596616409593Fri, 12 Jul 2019 12:52:46 GMT\"0x8D706C7D66E7522\"5120share156443497557209843156443497679504009Mon, 29 Jul 2019 21:16:17 GMT\"0x8D71469FED7E9EB\"5120share156443518517202946156443518547404946Mon, 29 Jul 2019 21:19:45 GMT\"0x8D7146A7AE77E02\"5120share156443528885102286Mon, 29 Jul 2019 21:21:29 GMT\"0x8D7146AB8875644\"5120share156443559581809213156443559650800907Mon, 29 Jul 2019 21:26:36 GMT\"0x8D7146B6FE70FCF\"5120share156443560752902157Mon, 29 Jul 2019 21:26:50 GMT\"0x8D7146B78363F72\"5120share156443580562103343Mon, 29 Jul 2019 21:30:06 GMT\"0x8D7146BECA4F083\"5120share156443645783001872Mon, 29 Jul 2019 21:40:59 GMT\"0x8D7146D71D8121C\"5120share156455491506002122Wed, 31 Jul 2019 06:35:15 GMT\"0x8D715813F4DAFF7\"5120share156455491542105553Wed, 31 Jul 2019 06:35:15 GMT\"0x8D715813FAA3EFE\"5120share156455492605607882Wed, 31 Jul 2019 06:35:26 GMT\"0x8D7158145CBBC33\"5120share156455492627700016Wed, 31 Jul 2019 06:35:28 GMT\"0x8D715814746BF70\"5120share156503777207109642Mon, 05 Aug 2019 20:42:52 GMT\"0x8D719E57C728E09\"5120share156503777229203610Mon, 05 Aug 2019 20:42:52 GMT\"0x8D719E57C8E693E\"5120share156503777296709436Mon, 05 Aug 2019 20:42:53 GMT\"0x8D719E57CF37F0A\"5120share156503777313707758Mon, 05 Aug 2019 20:42:53 GMT\"0x8D719E57D15A1EF\"5120share156503777579109926156503777610008641Mon, 05 Aug 2019 20:42:56 GMT\"0x8D719E57ED02997\"5120share156503777711407911156503777749205150Mon, 05 Aug 2019 20:42:57 GMT\"0x8D719E57FA6FB6F\"5120share156503784160207578156503784175006804Mon, 05 Aug 2019 20:44:01 GMT\"0x8D719E5A5F18D5B\"5120share156503784199201525156503784214407588Mon, 05 Aug 2019 20:44:02 GMT\"0x8D719E5A62DFED0\"5120share156503793096605065Mon, 05 Aug 2019 20:45:31 GMT\"0x8D719E5DB203786\"5120share156503793125208426Mon, 05 Aug 2019 20:45:31 GMT\"0x8D719E5DB4D4324\"5120share156503793384000505156503793436103503Mon, 05 Aug 2019 20:45:34 GMT\"0x8D719E5DD6D6D3B\"5120share156503793384908148Mon, 05 Aug 2019 20:45:33 GMT\"0x8D719E5DCD7D4D4\"5120share156503793404201821Mon, 05 Aug 2019 20:45:34 GMT\"0x8D719E5DCF7758F\"5120share156503793702908569156503793737309049Mon, 05 Aug 2019 20:45:37 GMT\"0x8D719E5DEF22F35\"5120share156503800690001818156503800708004406Mon, 05 Aug 2019 20:46:47 GMT\"0x8D719E6087E37C6\"5120share156503800826304913156503800843705580Mon, 05 Aug 2019 20:46:48 GMT\"0x8D719E6094E92CA\"5120share156503905340304281Mon, 05 Aug 2019 21:04:13 GMT\"0x8D719E87826040F\"5120share156503905356706765Mon, 05 Aug 2019 21:04:13 GMT\"0x8D719E8783FAB2C\"5120share156503905631403785156503905663109066Mon, 05 Aug 2019 21:04:16 GMT\"0x8D719E87A13113E\"5120share156503912366506337156503912381704354Mon, 05 Aug 2019 21:05:23 GMT\"0x8D719E8A21E540C\"5120share156503981084709284Mon, 05 Aug 2019 21:16:50 GMT\"0x8D719EA3BA2A2A6\"5120share156503981108301511Mon, 05 Aug 2019 21:16:51 GMT\"0x8D719EA3BD8AACD\"5120share156503981407700450156503981439700715Mon, 05 Aug 2019 21:16:54 GMT\"0x8D719EA3DBC683A\"5120share156503982610509793Mon, 05 Aug 2019 21:17:06 GMT\"0x8D719EA44B6A42E\"5120share156503982628905100Mon, 05 Aug 2019 21:17:06 GMT\"0x8D719EA44D356B9\"5120share156503982901606978156503982936700992Mon, 05 Aug 2019 21:17:09 GMT\"0x8D719EA46A8BF40\"5120share156503988725003487156503988741604804Mon, 05 Aug 2019 21:18:07 GMT\"0x8D719EA6941EDF0\"5120share156503989517109237156503989532708533Mon, 05 Aug 2019 21:18:15 GMT\"0x8D719EA6DF8C7C2\"5120share156599411621105125Fri, 16 Aug 2019 22:21:56 GMT\"0x8D722982607FD87\"5120share156599411655707990Fri, 16 Aug 2019 22:21:58 GMT\"0x8D7229827143F68\"5120share156599412768507077156599412880408374Fri, 16 Aug 2019 22:22:09 GMT\"0x8D722982D8A11A1\"5120share156599439521709198156599440225504948Fri, 16 Aug 2019 22:26:42 GMT\"0x8D72298D087A067\"5120share156599453923605763Fri, 16 Aug 2019 22:28:59 GMT\"0x8D722992215AC06\"5120share156599454174401802156599454206106930Fri, 16 Aug 2019 22:29:02 GMT\"0x8D7229923C41F2E\"5120", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:29 GMT", + "date": "Fri, 16 Aug 2019 22:29:48 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e29-c01a-0038-70ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd41db-d01a-00eb-7282-54846d000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_setproperties.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_setproperties.json index ed7874e79c09..ff7bbdd987ce 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_setproperties.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_setproperties.json @@ -11,12 +11,12 @@ "status": 200, "response": "1.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,OPTIONS,POST,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:35 GMT", + "date": "Fri, 16 Aug 2019 22:29:54 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e98-c01a-0038-49ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd424d-d01a-00eb-4282-54846d000000", + "x-ms-version": "2018-11-09" } }, { @@ -30,10 +30,10 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e9a-c01a-0038-4bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd424f-d01a-00eb-4482-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:36 GMT", + "date": "Fri, 16 Aug 2019 22:29:55 GMT", "content-length": "0" } }, @@ -48,12 +48,12 @@ "status": 200, "response": "1.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,OPTIONS,POST,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:41 GMT", + "date": "Fri, 16 Aug 2019 22:30:00 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126ea8-c01a-0038-50ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4260-d01a-00eb-4882-54846d000000", + "x-ms-version": "2018-11-09" } } ], diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.json index 473240470d17..20ed9e9876fb 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525086606967x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459022904494x1", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:30 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:49 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:50 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B1B19532\"", - "x-ms-request-id": "37126e3a-c01a-0038-7ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229940795F55\"", + "x-ms-request-id": "becd41fb-d01a-00eb-0282-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525086606967x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459022904494x2", "query": { "restype": "share" }, @@ -29,12 +29,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:30 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:31 GMT", + "date": "Fri, 16 Aug 2019 22:29:49 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:50 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B1C98E57\"", - "x-ms-request-id": "37126e3d-c01a-0038-80ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299408FD18E\"", + "x-ms-request-id": "becd41fe-d01a-00eb-0482-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -44,23 +44,23 @@ "query": { "comp": "list", "include": "metadata,snapshots", - "prefix": "share156150525086606967" + "prefix": "share156599459022904494" }, "requestBody": null, "status": 200, - "response": "share156150525086606967share156150525086606967x1Tue, 25 Jun 2019 23:27:30 GMT\"0x8D6F9C4B1B19532\"5120valshare156150525086606967x2Tue, 25 Jun 2019 23:27:31 GMT\"0x8D6F9C4B1C98E57\"5120val", + "response": "share156599459022904494share156599459022904494x1Fri, 16 Aug 2019 22:29:50 GMT\"0x8D7229940795F55\"5120valshare156599459022904494x2Fri, 16 Aug 2019 22:29:50 GMT\"0x8D72299408FD18E\"5120val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:30 GMT", + "date": "Fri, 16 Aug 2019 22:29:50 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e40-c01a-0038-02ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4201-d01a-00eb-0682-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525086606967x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459022904494x1", "query": { "restype": "share" }, @@ -68,16 +68,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e42-c01a-0038-04ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4203-d01a-00eb-0882-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:31 GMT", + "date": "Fri, 16 Aug 2019 22:29:50 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525086606967x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459022904494x2", "query": { "restype": "share" }, @@ -85,15 +85,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e44-c01a-0038-06ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4206-d01a-00eb-0a82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:31 GMT", + "date": "Fri, 16 Aug 2019 22:29:50 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150525086606967" + "share": "share156599459022904494" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.json index af525662f768..be1f8a69ee01 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x0", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x0", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:33 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:52 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:53 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B383EA07\"", - "x-ms-request-id": "37126e7d-c01a-0038-33ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299425441B7\"", + "x-ms-request-id": "becd4231-d01a-00eb-2c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x1", "query": { "restype": "share" }, @@ -29,18 +29,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:33 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:53 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:53 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B39B6DEC\"", - "x-ms-request-id": "37126e80-c01a-0038-35ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299426B9E7B\"", + "x-ms-request-id": "becd4235-d01a-00eb-2e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x2", "query": { "restype": "share" }, @@ -48,18 +48,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:34 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:53 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:53 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B3B2F1C3\"", - "x-ms-request-id": "37126e83-c01a-0038-37ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994282D430\"", + "x-ms-request-id": "becd4239-d01a-00eb-3082-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x3", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x3", "query": { "restype": "share" }, @@ -67,12 +67,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:34 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:53 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:53 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B3CAEAE0\"", - "x-ms-request-id": "37126e86-c01a-0038-39ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229942996D81\"", + "x-ms-request-id": "becd423c-d01a-00eb-3282-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -83,18 +83,18 @@ "comp": "list", "include": "metadata,snapshots", "maxresults": "2", - "prefix": "share156150525392402462" + "prefix": "share156599459334307569" }, "requestBody": null, "status": 200, - "response": "share1561505253924024622share156150525392402462x0Tue, 25 Jun 2019 23:27:34 GMT\"0x8D6F9C4B383EA07\"5120valshare156150525392402462x1Tue, 25 Jun 2019 23:27:34 GMT\"0x8D6F9C4B39B6DEC\"5120val/fakestorageaccount/share156150525392402462x2/01D52BAD913C3D86/9999-12-31T23:59:59.9999999Z", + "response": "share1565994593343075692share156599459334307569x0Fri, 16 Aug 2019 22:29:53 GMT\"0x8D72299425441B7\"5120valshare156599459334307569x1Fri, 16 Aug 2019 22:29:53 GMT\"0x8D72299426B9E7B\"5120val/fakestorageaccount/share156599459334307569x2/01D55482200C1733/9999-12-31T23:59:59.9999999Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:53 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e89-c01a-0038-3bad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd423f-d01a-00eb-3482-54846d000000", + "x-ms-version": "2018-11-09" } }, { @@ -103,25 +103,25 @@ "query": { "comp": "list", "include": "metadata,snapshots", - "marker": "/fakestorageaccount/share156150525392402462x2/01D52BAD913C3D86/9999-12-31T23:59:59.9999999Z", + "marker": "/fakestorageaccount/share156599459334307569x2/01D55482200C1733/9999-12-31T23:59:59.9999999Z", "maxresults": "2", - "prefix": "share156150525392402462" + "prefix": "share156599459334307569" }, "requestBody": null, "status": 200, - "response": "share156150525392402462/fakestorageaccount/share156150525392402462x2/01D52BAD913C3D86/9999-12-31T23:59:59.9999999Z2share156150525392402462x2Tue, 25 Jun 2019 23:27:34 GMT\"0x8D6F9C4B3B2F1C3\"5120valshare156150525392402462x3Tue, 25 Jun 2019 23:27:34 GMT\"0x8D6F9C4B3CAEAE0\"5120val", + "response": "share156599459334307569/fakestorageaccount/share156599459334307569x2/01D55482200C1733/9999-12-31T23:59:59.9999999Z2share156599459334307569x2Fri, 16 Aug 2019 22:29:53 GMT\"0x8D722994282D430\"5120valshare156599459334307569x3Fri, 16 Aug 2019 22:29:53 GMT\"0x8D7229942996D81\"5120val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:53 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e8b-c01a-0038-3dad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4241-d01a-00eb-3682-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x0", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x0", "query": { "restype": "share" }, @@ -129,16 +129,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e8d-c01a-0038-3fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4243-d01a-00eb-3882-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:53 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x1", "query": { "restype": "share" }, @@ -146,16 +146,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e8f-c01a-0038-41ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4245-d01a-00eb-3a82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:54 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x2", "query": { "restype": "share" }, @@ -163,16 +163,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e91-c01a-0038-43ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4247-d01a-00eb-3c82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:34 GMT", + "date": "Fri, 16 Aug 2019 22:29:54 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525392402462x3", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459334307569x3", "query": { "restype": "share" }, @@ -180,15 +180,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e93-c01a-0038-45ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4249-d01a-00eb-3e82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:35 GMT", + "date": "Fri, 16 Aug 2019 22:29:54 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150525392402462" + "share": "share156599459334307569" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.json index a6d82fb13119..92c033214b37 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x0", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x0", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:32 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:32 GMT", + "date": "Fri, 16 Aug 2019 22:29:51 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:51 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B29A9888\"", - "x-ms-request-id": "37126e60-c01a-0038-1ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299416BDA8B\"", + "x-ms-request-id": "becd4217-d01a-00eb-1882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x1", "query": { "restype": "share" }, @@ -29,18 +29,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:32 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:32 GMT", + "date": "Fri, 16 Aug 2019 22:29:51 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:52 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B2B1CE31\"", - "x-ms-request-id": "37126e63-c01a-0038-20ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229941835E6F\"", + "x-ms-request-id": "becd421a-d01a-00eb-1a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x2", "query": { "restype": "share" }, @@ -48,18 +48,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:32 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:32 GMT", + "date": "Fri, 16 Aug 2019 22:29:51 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:52 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B2C903E3\"", - "x-ms-request-id": "37126e67-c01a-0038-22ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299419ABB44\"", + "x-ms-request-id": "becd421d-d01a-00eb-1c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x3", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x3", "query": { "restype": "share" }, @@ -67,12 +67,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:32 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:32 GMT", + "date": "Fri, 16 Aug 2019 22:29:51 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:52 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B2E03996\"", - "x-ms-request-id": "37126e6c-c01a-0038-24ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229941B1A2C3\"", + "x-ms-request-id": "becd4220-d01a-00eb-1e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -83,18 +83,18 @@ "comp": "list", "include": "metadata,snapshots", "maxresults": "2", - "prefix": "share156150525239506910" + "prefix": "share156599459181508167" }, "requestBody": null, "status": 200, - "response": "share1561505252395069102share156150525239506910x0Tue, 25 Jun 2019 23:27:32 GMT\"0x8D6F9C4B29A9888\"5120valshare156150525239506910x1Tue, 25 Jun 2019 23:27:32 GMT\"0x8D6F9C4B2B1CE31\"5120val/fakestorageaccount/share156150525239506910x2/01D52BAD90524F23/9999-12-31T23:59:59.9999999Z", + "response": "share1565994591815081672share156599459181508167x0Fri, 16 Aug 2019 22:29:51 GMT\"0x8D72299416BDA8B\"5120valshare156599459181508167x1Fri, 16 Aug 2019 22:29:52 GMT\"0x8D7229941835E6F\"5120val/fakestorageaccount/share156599459181508167x2/01D554821F23FDF9/9999-12-31T23:59:59.9999999Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:32 GMT", + "date": "Fri, 16 Aug 2019 22:29:52 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e6f-c01a-0038-26ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4224-d01a-00eb-2082-54846d000000", + "x-ms-version": "2018-11-09" } }, { @@ -103,25 +103,25 @@ "query": { "comp": "list", "include": "metadata,snapshots", - "marker": "/fakestorageaccount/share156150525239506910x2/01D52BAD90524F23/9999-12-31T23:59:59.9999999Z", + "marker": "/fakestorageaccount/share156599459181508167x2/01D554821F23FDF9/9999-12-31T23:59:59.9999999Z", "maxresults": "2", - "prefix": "share156150525239506910" + "prefix": "share156599459181508167" }, "requestBody": null, "status": 200, - "response": "share156150525239506910/fakestorageaccount/share156150525239506910x2/01D52BAD90524F23/9999-12-31T23:59:59.9999999Z2share156150525239506910x2Tue, 25 Jun 2019 23:27:32 GMT\"0x8D6F9C4B2C903E3\"5120valshare156150525239506910x3Tue, 25 Jun 2019 23:27:32 GMT\"0x8D6F9C4B2E03996\"5120val", + "response": "share156599459181508167/fakestorageaccount/share156599459181508167x2/01D554821F23FDF9/9999-12-31T23:59:59.9999999Z2share156599459181508167x2Fri, 16 Aug 2019 22:29:52 GMT\"0x8D72299419ABB44\"5120valshare156599459181508167x3Fri, 16 Aug 2019 22:29:52 GMT\"0x8D7229941B1A2C3\"5120val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:32 GMT", + "date": "Fri, 16 Aug 2019 22:29:52 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e72-c01a-0038-28ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4226-d01a-00eb-2282-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x0", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x0", "query": { "restype": "share" }, @@ -129,16 +129,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e75-c01a-0038-2bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4228-d01a-00eb-2482-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:33 GMT", + "date": "Fri, 16 Aug 2019 22:29:52 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x1", "query": { "restype": "share" }, @@ -146,16 +146,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e77-c01a-0038-2dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd422a-d01a-00eb-2682-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:33 GMT", + "date": "Fri, 16 Aug 2019 22:29:52 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x2", "query": { "restype": "share" }, @@ -163,16 +163,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e79-c01a-0038-2fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd422c-d01a-00eb-2882-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:33 GMT", + "date": "Fri, 16 Aug 2019 22:29:52 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525239506910x3", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459181508167x3", "query": { "restype": "share" }, @@ -180,15 +180,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e7b-c01a-0038-31ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd422e-d01a-00eb-2a82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:33 GMT", + "date": "Fri, 16 Aug 2019 22:29:52 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150525239506910" + "share": "share156599459181508167" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.json b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.json index f8a56c3010a8..53621e9ee568 100644 --- a/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.json +++ b/sdk/storage/storage-file/recordings/browsers/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525163302043x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459106102766x1", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:31 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:31 GMT", + "date": "Fri, 16 Aug 2019 22:29:50 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:51 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B2268C1E\"", - "x-ms-request-id": "37126e46-c01a-0038-08ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229940F92DB6\"", + "x-ms-request-id": "becd4208-d01a-00eb-0c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525163302043x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459106102766x2", "query": { "restype": "share" }, @@ -29,12 +29,12 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:31 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:31 GMT", + "date": "Fri, 16 Aug 2019 22:29:50 GMT", + "last-modified": "Fri, 16 Aug 2019 22:29:51 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B23DC1D0\"", - "x-ms-request-id": "37126e49-c01a-0038-0aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299410FEE2C\"", + "x-ms-request-id": "becd420b-d01a-00eb-0e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, @@ -44,23 +44,23 @@ "query": { "comp": "list", "include": "metadata,snapshots", - "prefix": "share156150525163302043" + "prefix": "share156599459106102766" }, "requestBody": null, "status": 200, - "response": "share156150525163302043share156150525163302043x1Tue, 25 Jun 2019 23:27:31 GMT\"0x8D6F9C4B2268C1E\"5120valshare156150525163302043x2Tue, 25 Jun 2019 23:27:31 GMT\"0x8D6F9C4B23DC1D0\"5120val", + "response": "share156599459106102766share156599459106102766x1Fri, 16 Aug 2019 22:29:51 GMT\"0x8D7229940F92DB6\"5120valshare156599459106102766x2Fri, 16 Aug 2019 22:29:51 GMT\"0x8D72299410FEE2C\"5120val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:31 GMT", + "date": "Fri, 16 Aug 2019 22:29:50 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126e4c-c01a-0038-0cad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd420e-d01a-00eb-1082-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525163302043x1", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459106102766x1", "query": { "restype": "share" }, @@ -68,16 +68,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e4e-c01a-0038-0ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4210-d01a-00eb-1282-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:31 GMT", + "date": "Fri, 16 Aug 2019 22:29:51 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150525163302043x2", + "url": "https://fakestorageaccount.file.core.windows.net/share156599459106102766x2", "query": { "restype": "share" }, @@ -85,15 +85,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126e5e-c01a-0038-1cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4215-d01a-00eb-1682-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:32 GMT", + "date": "Fri, 16 Aug 2019 22:29:51 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150525163302043" + "share": "share156599459106102766" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json b/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json new file mode 100644 index 000000000000..029729d6bdd4 --- /dev/null +++ b/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json @@ -0,0 +1,43 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460268109977", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "date": "Fri, 16 Aug 2019 22:30:02 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:02 GMT", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "etag": "\"0x8D7229947E4E89D\"", + "x-ms-request-id": "becd427a-d01a-00eb-5e82-54846d000000", + "x-ms-version": "2018-11-09", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460268109977", + "query": { + "restype": "share" + }, + "requestBody": null, + "status": 202, + "response": "", + "responseHeaders": { + "x-ms-request-id": "becd427e-d01a-00eb-6082-54846d000000", + "x-ms-version": "2018-11-09", + "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:30:04 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "share": "share156599460268109977" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.json b/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.json index afb0b06141ca..77f483c19ca9 100644 --- a/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.json +++ b/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526364608496", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460498201632", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:43 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:43 GMT", + "date": "Fri, 16 Aug 2019 22:30:04 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:05 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B94F8038\"", - "x-ms-request-id": "37126ec0-c01a-0038-63ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994944B860\"", + "x-ms-request-id": "becd4280-d01a-00eb-6282-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526364608496", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460498201632", "query": { "restype": "share" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126ed3-c01a-0038-66ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4288-d01a-00eb-6682-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:47 GMT", + "date": "Fri, 16 Aug 2019 22:30:08 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150526364608496" + "share": "share156599460498201632" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json b/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json index 1b645e2a3ab4..e588654f9834 100644 --- a/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json +++ b/sdk/storage/storage-file/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526294404683", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460195803174", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:42 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:43 GMT", + "date": "Fri, 16 Aug 2019 22:30:01 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B8E4761D\"", - "x-ms-request-id": "37126eb5-c01a-0038-5aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229947780963\"", + "x-ms-request-id": "becd4270-d01a-00eb-5682-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526294404683", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460195803174", "query": { "comp": "metadata", "restype": "share" @@ -30,18 +30,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:42 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:43 GMT", + "date": "Fri, 16 Aug 2019 22:30:01 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B909DFC5\"", - "x-ms-request-id": "37126eb9-c01a-0038-5cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299479D413A\"", + "x-ms-request-id": "becd4273-d01a-00eb-5882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526294404683", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460195803174", "query": { "restype": "share" }, @@ -50,15 +50,15 @@ "response": "", "responseHeaders": { "x-ms-meta-keya": "vala", - "date": "Tue, 25 Jun 2019 23:27:43 GMT", + "date": "Fri, 16 Aug 2019 22:30:01 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:43 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:02 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4B909DFC5\"", - "x-ms-request-id": "37126ebc-c01a-0038-5fad-2b3bc8000000", + "etag": "\"0x8D72299479D413A\"", + "x-ms-request-id": "becd4275-d01a-00eb-5a82-54846d000000", "x-ms-share-quota": "5120", "x-ms-meta-key0": "val0", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-keyb": "valb", "x-ms-has-immutability-policy": "false", "content-length": "0" @@ -66,7 +66,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526294404683", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460195803174", "query": { "restype": "share" }, @@ -74,15 +74,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126ebe-c01a-0038-61ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4278-d01a-00eb-5c82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:43 GMT", + "date": "Fri, 16 Aug 2019 22:30:02 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150526294404683" + "share": "share156599460195803174" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.json index d32afa136d2d..a194dca75c8d 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540170901205", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461614900316", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 07:43:21 GMT", - "last-modified": "Thu, 01 Aug 2019 07:43:21 GMT", + "date": "Fri, 16 Aug 2019 22:30:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D71653ED766FC3\"", - "x-ms-request-id": "07ac8899-301a-002d-263c-48f951000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994FED1C56\"", + "x-ms-request-id": "becd42f9-d01a-00eb-4282-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540170901205", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461614900316", "query": { "restype": "share" }, @@ -29,21 +29,21 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 07:43:21 GMT", + "date": "Fri, 16 Aug 2019 22:30:15 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Thu, 01 Aug 2019 07:43:21 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D71653ED766FC3\"", - "x-ms-request-id": "07ac88a2-301a-002d-2e3c-48f951000000", + "etag": "\"0x8D722994FED1C56\"", + "x-ms-request-id": "becd42fc-d01a-00eb-4482-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540170901205", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461614900316", "query": { "restype": "share" }, @@ -51,15 +51,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "07ac88a8-301a-002d-343c-48f951000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42fe-d01a-00eb-4682-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 07:43:21 GMT", + "date": "Fri, 16 Aug 2019 22:30:16 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156464540170901205" + "share": "share156599461614900316" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.json index e7703c9e02e5..3360825c63d3 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540218600058", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461661103330", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 07:43:21 GMT", - "last-modified": "Thu, 01 Aug 2019 07:43:22 GMT", + "date": "Fri, 16 Aug 2019 22:30:16 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D71653EDBE0CFA\"", - "x-ms-request-id": "07ac88aa-301a-002d-363c-48f951000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299503332B3\"", + "x-ms-request-id": "becd4300-d01a-00eb-4882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540218600058", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461661103330", "query": { "restype": "share" }, @@ -29,21 +29,21 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 07:43:21 GMT", + "date": "Fri, 16 Aug 2019 22:30:16 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Thu, 01 Aug 2019 07:43:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:16 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D71653EDBE0CFA\"", - "x-ms-request-id": "07ac88ad-301a-002d-383c-48f951000000", + "etag": "\"0x8D72299503332B3\"", + "x-ms-request-id": "becd4303-d01a-00eb-4a82-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540218600058", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461661103330", "query": { "restype": "share" }, @@ -51,15 +51,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "07ac88af-301a-002d-3a3c-48f951000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4305-d01a-00eb-4c82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 07:43:21 GMT", + "date": "Fri, 16 Aug 2019 22:30:16 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156464540218600058" + "share": "share156599461661103330" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_get_a_directory_client_for_root_directory.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_get_a_directory_client_for_root_directory.json index 8db8a2ea35a4..5b1b002091c7 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_get_a_directory_client_for_root_directory.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_can_get_a_directory_client_for_root_directory.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527465901792", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461568705509", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:54 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:54 GMT", + "date": "Fri, 16 Aug 2019 22:30:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BFE085B9\"", - "x-ms-request-id": "37126f49-c01a-0038-48ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994FA5F45C\"", + "x-ms-request-id": "becd42f1-d01a-00eb-3c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527465901792/", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461568705509/", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:54 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:54 GMT", + "date": "Fri, 16 Aug 2019 22:30:15 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BFF84566\"", + "etag": "\"0x8D722994FBD7FAC\"", "x-ms-server-encrypted": "false", - "x-ms-request-id": "37126f4c-c01a-0038-4aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42f5-d01a-00eb-3e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527465901792", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461568705509", "query": { "restype": "share" }, @@ -49,15 +49,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f4e-c01a-0038-4cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42f7-d01a-00eb-4082-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:54 GMT", + "date": "Fri, 16 Aug 2019 22:30:15 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150527465901792" + "share": "share156599461568705509" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_snapshot.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_snapshot.json index ddd490026f8c..1730e432beff 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_snapshot.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_snapshot.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527141000819", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461275700636", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:51 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:51 GMT", + "date": "Fri, 16 Aug 2019 22:30:12 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:12 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BDF23F67\"", - "x-ms-request-id": "37126f10-c01a-0038-16ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994DE72A91\"", + "x-ms-request-id": "becd42c2-d01a-00eb-1482-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527141000819", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461275700636", "query": { "comp": "snapshot", "restype": "share" @@ -30,35 +30,35 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:51 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:51 GMT", + "date": "Fri, 16 Aug 2019 22:30:12 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BDA33580\"", - "x-ms-request-id": "37126f13-c01a-0038-18ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994DFD4880\"", + "x-ms-request-id": "becd42c5-d01a-00eb-1682-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0", - "x-ms-snapshot": "2019-06-25T23:27:51.0000000Z" + "x-ms-snapshot": "2019-08-16T22:30:13.0000000Z" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527141000819", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461275700636", "query": { "restype": "share", - "sharesnapshot": "2019-06-25T23:27:51.0000000Z" + "sharesnapshot": "2019-08-16T22:30:13.0000000Z" }, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:51 GMT", + "date": "Fri, 16 Aug 2019 22:30:12 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:51 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BDA33580\"", - "x-ms-request-id": "37126f15-c01a-0038-1aad-2b3bc8000000", + "etag": "\"0x8D722994DFD4880\"", + "x-ms-request-id": "becd42c8-d01a-00eb-1882-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-key1": "value1", "x-ms-has-immutability-policy": "false", "content-length": "0", @@ -67,7 +67,7 @@ }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527141000819", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461275700636", "query": { "restype": "share" }, @@ -75,39 +75,39 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:52 GMT", + "date": "Fri, 16 Aug 2019 22:30:12 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:51 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:12 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BDF23F67\"", - "x-ms-request-id": "37126f18-c01a-0038-1cad-2b3bc8000000", + "etag": "\"0x8D722994DE72A91\"", + "x-ms-request-id": "becd42cb-d01a-00eb-1a82-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527141000819", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461275700636", "query": { "restype": "share", - "sharesnapshot": "2019-06-25T23:27:51.0000000Z" + "sharesnapshot": "2019-08-16T22:30:13.0000000Z" }, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f1a-c01a-0038-1ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42cd-d01a-00eb-1c82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:52 GMT", + "date": "Fri, 16 Aug 2019 22:30:13 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527141000819", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461275700636", "query": { "restype": "share" }, @@ -115,15 +115,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f1c-c01a-0038-20ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42cf-d01a-00eb-1e82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:52 GMT", + "date": "Fri, 16 Aug 2019 22:30:13 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150527141000819" + "share": "share156599461275700636" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_all_parameters_configured.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_all_parameters_configured.json index 66d667d1085a..41a575067323 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_all_parameters_configured.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_all_parameters_configured.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526941308420", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461073208213", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:49 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:49 GMT", + "date": "Fri, 16 Aug 2019 22:30:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BCBFA2B1\"", - "x-ms-request-id": "37126eee-c01a-0038-7bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994CB1F523\"", + "x-ms-request-id": "becd42a1-d01a-00eb-7a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526941308420156150526956606178", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461073208213156599461088506733", "query": { "restype": "share" }, @@ -29,18 +29,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:49 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:49 GMT", + "date": "Fri, 16 Aug 2019 22:30:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BCD6B148\"", - "x-ms-request-id": "37126ef1-c01a-0038-7dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994CC951F0\"", + "x-ms-request-id": "becd42a4-d01a-00eb-7c82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526941308420156150526956606178", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461073208213156599461088506733", "query": { "restype": "share" }, @@ -48,22 +48,22 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:49 GMT", + "date": "Fri, 16 Aug 2019 22:30:10 GMT", "x-ms-meta-key": "value", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:49 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BCD6B148\"", - "x-ms-request-id": "37126ef4-c01a-0038-7fad-2b3bc8000000", + "etag": "\"0x8D722994CC951F0\"", + "x-ms-request-id": "becd42a7-d01a-00eb-7e82-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526941308420", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461073208213", "query": { "restype": "share" }, @@ -71,16 +71,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126ef6-c01a-0038-01ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42a9-d01a-00eb-8082-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:49 GMT", + "date": "Fri, 16 Aug 2019 22:30:10 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150526941308420", - "share156150526941308420": "share156150526941308420156150526956606178" + "share": "share156599461073208213", + "share156599461073208213": "share156599461073208213156599461088506733" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_default_parameters.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_default_parameters.json index 580ed1c9e807..3e96bd058da8 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_default_parameters.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_create_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526909208373", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461038700356", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:48 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:49 GMT", + "date": "Fri, 16 Aug 2019 22:30:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BC8F1417\"", - "x-ms-request-id": "37126ee9-c01a-0038-77ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994C7D6E26\"", + "x-ms-request-id": "becd429b-d01a-00eb-7682-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526909208373", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461038700356", "query": { "restype": "share" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126eec-c01a-0038-79ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd429e-d01a-00eb-7882-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:49 GMT", + "date": "Fri, 16 Aug 2019 22:30:10 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150526909208373" + "share": "share156599461038700356" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createdirectory_and_deletedirectory.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createdirectory_and_deletedirectory.json index c96392944fcc..a7e577be6463 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createdirectory_and_deletedirectory.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createdirectory_and_deletedirectory.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527278205018", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461385709540", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:52 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:52 GMT", + "date": "Fri, 16 Aug 2019 22:30:13 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:13 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BEC19BA3\"", - "x-ms-request-id": "37126f1f-c01a-0038-22ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994E8EAC89\"", + "x-ms-request-id": "becd42d1-d01a-00eb-2082-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527278205018/directory156150527293504811", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461385709540/directory156599461400808142", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:52 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:13 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:14 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BED981CE\"", - "x-ms-request-id": "37126f22-c01a-0038-24ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994EA5EA01\"", + "x-ms-request-id": "becd42d4-d01a-00eb-2282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527278205018/directory156150527293504811", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461385709540/directory156599461400808142", "query": { "restype": "directory" }, @@ -49,20 +49,20 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:52 GMT", + "date": "Fri, 16 Aug 2019 22:30:13 GMT", "x-ms-meta-key": "value", - "last-modified": "Tue, 25 Jun 2019 23:27:53 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:14 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BED981CE\"", + "etag": "\"0x8D722994EA5EA01\"", "x-ms-server-encrypted": "true", - "x-ms-request-id": "37126f25-c01a-0038-26ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42da-d01a-00eb-2682-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527278205018/directory156150527293504811", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461385709540/directory156599461400808142", "query": { "restype": "directory" }, @@ -70,35 +70,35 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f27-c01a-0038-28ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42dc-d01a-00eb-2882-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:13 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527278205018/directory156150527293504811", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461385709540/directory156599461400808142", "query": { "restype": "directory" }, "requestBody": null, "status": 404, - "response": "ResourceNotFoundThe specified resource does not exist.\nRequestId:37126f2a-c01a-0038-2bad-2b3bc8000000\nTime:2019-06-25T23:27:53.4973803Z", + "response": "ResourceNotFoundThe specified resource does not exist.\nRequestId:becd42de-d01a-00eb-2a82-54846d000000\nTime:2019-08-16T22:30:14.5552597Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:14 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "ResourceNotFound", "content-type": "application/xml", - "x-ms-request-id": "37126f2a-c01a-0038-2bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42de-d01a-00eb-2a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "223" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527278205018", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461385709540", "query": { "restype": "share" }, @@ -106,16 +106,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f2c-c01a-0038-2dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42e0-d01a-00eb-2c82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:14 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150527278205018", - "directory": "directory156150527293504811" + "share": "share156599461385709540", + "directory": "directory156599461400808142" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createfile_and_deletefile_under_root_directory.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createfile_and_deletefile_under_root_directory.json index cbf6c52970b2..fb7b9e1afd82 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createfile_and_deletefile_under_root_directory.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_createfile_and_deletefile_under_root_directory.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527371304190", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461475900451", "query": { "restype": "share" }, @@ -10,88 +10,88 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:14 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:14 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BF50FD20\"", - "x-ms-request-id": "37126f2f-c01a-0038-2fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994F1840C8\"", + "x-ms-request-id": "becd42e2-d01a-00eb-2e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527371304190/file156150527387505846", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461475900451/file156599461490900902", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:53 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:14 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BF6931C6\"", - "x-ms-request-id": "37126f3f-c01a-0038-3ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994F2FCC1D\"", + "x-ms-request-id": "becd42e5-d01a-00eb-3082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527371304190/file156150527387505846", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461475900451/file156599461490900902", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:14 GMT", "x-ms-meta-key": "value", - "last-modified": "Tue, 25 Jun 2019 23:27:53 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:15 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BF6931C6\"", + "etag": "\"0x8D722994F2FCC1D\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f41-c01a-0038-40ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42e7-d01a-00eb-3282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "256" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527371304190/file156150527387505846", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461475900451/file156599461490900902", "query": {}, "requestBody": null, "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f43-c01a-0038-42ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42e9-d01a-00eb-3482-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:53 GMT", + "date": "Fri, 16 Aug 2019 22:30:14 GMT", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527371304190/file156150527387505846", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461475900451/file156599461490900902", "query": {}, "requestBody": null, "status": 404, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:54 GMT", + "date": "Fri, 16 Aug 2019 22:30:14 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "ResourceNotFound", "transfer-encoding": "chunked", - "x-ms-request-id": "37126f45-c01a-0038-44ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd42ed-d01a-00eb-3882-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527371304190", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461475900451", "query": { "restype": "share" }, @@ -99,16 +99,16 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f47-c01a-0038-46ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42ef-d01a-00eb-3a82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:54 GMT", + "date": "Fri, 16 Aug 2019 22:30:15 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150527371304190", - "file": "file156150527387505846" + "share": "share156599461475900451", + "file": "file156599461490900902" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_delete.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_delete.json index e6ab7f1eda43..ce092cf45ed5 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_delete.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_delete.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527002406610", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461135709148", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:49 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:50 GMT", + "date": "Fri, 16 Aug 2019 22:30:10 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:11 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BD1CA084\"", - "x-ms-request-id": "37126ef8-c01a-0038-03ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994D118B87\"", + "x-ms-request-id": "becd42ab-d01a-00eb-0282-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527002406610", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461135709148", "query": { "restype": "share" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126efb-c01a-0038-05ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42ae-d01a-00eb-0482-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:49 GMT", + "date": "Fri, 16 Aug 2019 22:30:11 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150527002406610" + "share": "share156599461135709148" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getproperties.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getproperties.json index 312f961a8a54..9abc0c0ff62b 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getproperties.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getproperties.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526862601711", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460992801081", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:48 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:48 GMT", + "date": "Fri, 16 Aug 2019 22:30:09 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BC479E10\"", - "x-ms-request-id": "37126ee1-c01a-0038-71ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994C37CD07\"", + "x-ms-request-id": "becd4294-d01a-00eb-7082-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526862601711", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460992801081", "query": { "restype": "share" }, @@ -29,21 +29,21 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:48 GMT", + "date": "Fri, 16 Aug 2019 22:30:09 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:48 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:10 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BC479E10\"", - "x-ms-request-id": "37126ee4-c01a-0038-73ad-2b3bc8000000", + "etag": "\"0x8D722994C37CD07\"", + "x-ms-request-id": "becd4297-d01a-00eb-7282-54846d000000", "x-ms-share-quota": "5120", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526862601711", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460992801081", "query": { "restype": "share" }, @@ -51,15 +51,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126ee7-c01a-0038-75ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4299-d01a-00eb-7482-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:48 GMT", + "date": "Fri, 16 Aug 2019 22:30:09 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150526862601711" + "share": "share156599460992801081" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getstatistics.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getstatistics.json index b8a5b18e4c68..64973abdfffe 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getstatistics.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_getstatistics.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527094909824", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461230106635", "query": { "restype": "share" }, @@ -10,37 +10,37 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:51 GMT", + "date": "Fri, 16 Aug 2019 22:30:11 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:12 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BDA9B7A8\"", - "x-ms-request-id": "37126f08-c01a-0038-10ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994DA1897D\"", + "x-ms-request-id": "becd42b9-d01a-00eb-0e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527094909824", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461230106635", "query": { "comp": "stats", "restype": "share" }, "requestBody": null, "status": 200, - "response": "0", + "response": "0", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:50 GMT", + "date": "Fri, 16 Aug 2019 22:30:12 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f0b-c01a-0038-12ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd42be-d01a-00eb-1082-54846d000000", + "x-ms-version": "2018-11-09" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527094909824", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461230106635", "query": { "restype": "share" }, @@ -48,15 +48,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f0d-c01a-0038-14ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42c0-d01a-00eb-1282-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:51 GMT", + "date": "Fri, 16 Aug 2019 22:30:12 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150527094909824" + "share": "share156599461230106635" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setmetadata.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setmetadata.json index 6261ca8b4432..4a5cff6bc7ab 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setmetadata.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setmetadata.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526798604611", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460930703837", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:47 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:48 GMT", + "date": "Fri, 16 Aug 2019 22:30:08 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:09 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BBE5E49B\"", - "x-ms-request-id": "37126ed6-c01a-0038-68ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994BD8ABC3\"", + "x-ms-request-id": "becd428a-d01a-00eb-6882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526798604611", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460930703837", "query": { "comp": "metadata", "restype": "share" @@ -30,18 +30,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:47 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:48 GMT", + "date": "Fri, 16 Aug 2019 22:30:09 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:09 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BC027482\"", - "x-ms-request-id": "37126eda-c01a-0038-6aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994BF026AD\"", + "x-ms-request-id": "becd428e-d01a-00eb-6a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526798604611", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460930703837", "query": { "restype": "share" }, @@ -50,15 +50,15 @@ "response": "", "responseHeaders": { "x-ms-meta-keya": "vala", - "date": "Tue, 25 Jun 2019 23:27:48 GMT", + "date": "Fri, 16 Aug 2019 22:30:09 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:48 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:09 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BC027482\"", - "x-ms-request-id": "37126edc-c01a-0038-6cad-2b3bc8000000", + "etag": "\"0x8D722994BF026AD\"", + "x-ms-request-id": "becd4290-d01a-00eb-6c82-54846d000000", "x-ms-share-quota": "5120", "x-ms-meta-key0": "val0", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-meta-keyb": "valb", "x-ms-has-immutability-policy": "false", "content-length": "0" @@ -66,7 +66,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150526798604611", + "url": "https://fakestorageaccount.file.core.windows.net/share156599460930703837", "query": { "restype": "share" }, @@ -74,15 +74,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126edf-c01a-0038-6fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4292-d01a-00eb-6e82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:48 GMT", + "date": "Fri, 16 Aug 2019 22:30:09 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150526798604611" + "share": "share156599460930703837" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setquota.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setquota.json index 3ccecc5bf4a8..fc883418336f 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setquota.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_setquota.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527032808034", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461167504338", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:50 GMT", + "date": "Fri, 16 Aug 2019 22:30:11 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:11 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BD4B32F7\"", - "x-ms-request-id": "37126efe-c01a-0038-08ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994D424150\"", + "x-ms-request-id": "becd42b0-d01a-00eb-0682-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527032808034", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461167504338", "query": { "comp": "properties", "restype": "share" @@ -30,18 +30,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:50 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:50 GMT", + "date": "Fri, 16 Aug 2019 22:30:11 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:11 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BD648EF3\"", - "x-ms-request-id": "37126f01-c01a-0038-0aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722994D5B1C4A\"", + "x-ms-request-id": "becd42b3-d01a-00eb-0882-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527032808034", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461167504338", "query": { "restype": "share" }, @@ -49,21 +49,21 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:50 GMT", + "date": "Fri, 16 Aug 2019 22:30:11 GMT", "x-ms-has-legal-hold": "false", - "last-modified": "Tue, 25 Jun 2019 23:27:50 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:11 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4BD648EF3\"", - "x-ms-request-id": "37126f04-c01a-0038-0cad-2b3bc8000000", + "etag": "\"0x8D722994D5B1C4A\"", + "x-ms-request-id": "becd42b5-d01a-00eb-0a82-54846d000000", "x-ms-share-quota": "20", - "x-ms-version": "2018-03-28", + "x-ms-version": "2018-11-09", "x-ms-has-immutability-policy": "false", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156150527032808034", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461167504338", "query": { "restype": "share" }, @@ -71,15 +71,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126f06-c01a-0038-0ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd42b7-d01a-00eb-0c82-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:27:50 GMT", + "date": "Fri, 16 Aug 2019 22:30:11 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156150527032808034" + "share": "share156599461167504338" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.json b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.json index 888742b3e602..fd1aef206cee 100644 --- a/sdk/storage/storage-file/recordings/browsers/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.json +++ b/sdk/storage/storage-file/recordings/browsers/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540265203227", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461706703520", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Thu, 01 Aug 2019 07:43:21 GMT", - "last-modified": "Thu, 01 Aug 2019 07:43:22 GMT", + "date": "Fri, 16 Aug 2019 22:30:16 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:17 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D71653EE050DDD\"", - "x-ms-request-id": "07ac88b1-301a-002d-3c3c-48f951000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722995078FADE\"", + "x-ms-request-id": "becd4307-d01a-00eb-4e82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/share156464540265203227", + "url": "https://fakestorageaccount.file.core.windows.net/share156599461706703520", "query": { "restype": "share" }, @@ -29,15 +29,15 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "07ac88b4-301a-002d-3e3c-48f951000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd430a-d01a-00eb-5082-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Thu, 01 Aug 2019 07:43:22 GMT", + "date": "Fri, 16 Aug 2019 22:30:16 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "share": "share156464540265203227" + "share": "share156599461706703520" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_after_all_hook.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_after_all_hook.json index 234406c37fcd..8d0a8a2face1 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_after_all_hook.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_after_all_hook.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "DELETE", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903", "query": { "restype": "share" }, @@ -10,10 +10,10 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "37126fe1-c01a-0038-50ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd438d-d01a-00eb-4882-54846d000000", + "x-ms-version": "2018-11-09", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 23:28:04 GMT", + "date": "Fri, 16 Aug 2019 22:30:25 GMT", "content-length": "0" } } diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_before_all_hook.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_before_all_hook.json index 56460a9874ed..67ea48153514 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_before_all_hook.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_before_all_hook.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903", "query": { "restype": "share" }, @@ -10,18 +10,18 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:54 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:55 GMT", + "date": "Fri, 16 Aug 2019 22:30:16 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:17 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C028E662\"", - "x-ms-request-id": "37126f50-c01a-0038-4ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229950A877EC\"", + "x-ms-request-id": "becd430d-d01a-00eb-5282-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "restype": "directory" }, @@ -29,19 +29,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:55 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:55 GMT", + "date": "Fri, 16 Aug 2019 22:30:17 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:17 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C04169A7\"", - "x-ms-request-id": "37126f53-c01a-0038-50ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229950C2C250\"", + "x-ms-request-id": "becd4311-d01a-00eb-5482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } } ], "uniqueTestInfo": { - "1share-with-dash": "1share-with-dash156150527513402942", - "dir": "dir156150527513408426" + "1share-with-dash": "1share-with-dash156599461737804903", + "dir": "dir156599461737903476" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.json index dd6a5f117362..f51bd048a165 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another156150527608503513", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another156599461835005469", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:55 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:56 GMT", + "date": "Fri, 16 Aug 2019 22:30:17 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C0BA31FB\"", - "x-ms-request-id": "37126f5f-c01a-0038-5bad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299513C74E1\"", + "x-ms-request-id": "becd431c-d01a-00eb-5e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another156150527608503513", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another156599461835005469", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:56 GMT", + "date": "Fri, 16 Aug 2019 22:30:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C0BA31FB\"", + "etag": "\"0x8D72299513C74E1\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f61-c01a-0038-5dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd431e-d01a-00eb-6082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "Upper file empty another156150527608503513", + "prefix": "Upper file empty another156599461835005469", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "Upper file empty another156150527608503513Upper file empty another15615052760850351310", + "response": "Upper file empty another156599461835005469Upper file empty another15659946183500546910", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:56 GMT", + "date": "Fri, 16 Aug 2019 22:30:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f63-c01a-0038-5fad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4320-d01a-00eb-6282-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "Upper file empty another": "Upper file empty another156150527608503513" + "Upper file empty another": "Upper file empty another156599461835005469" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.json index 355763775952..bfc90d44124d 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another156150527656807639", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another156599461884207689", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:56 GMT", + "date": "Fri, 16 Aug 2019 22:30:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C1037D32\"", - "x-ms-request-id": "37126f65-c01a-0038-61ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229951876DF5\"", + "x-ms-request-id": "becd4323-d01a-00eb-6482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another156150527656807639", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another156599461884207689", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:56 GMT", + "date": "Fri, 16 Aug 2019 22:30:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C1037D32\"", + "etag": "\"0x8D7229951876DF5\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f67-c01a-0038-63ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4325-d01a-00eb-6682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "Upper file empty another156150527656807639", + "prefix": "Upper file empty another156599461884207689", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "Upper file empty another156150527656807639Upper file empty another15615052765680763910", + "response": "Upper file empty another156599461884207689Upper file empty another15659946188420768910", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:56 GMT", + "date": "Fri, 16 Aug 2019 22:30:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f69-c01a-0038-65ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4327-d01a-00eb-6882-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "Upper file empty another": "Upper file empty another156150527656807639" + "Upper file empty another": "Upper file empty another156599461884207689" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.json index 24a2280ff0f9..f94eae3ed612 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.json @@ -2,44 +2,44 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/file%20empty156150527545909780", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/file%20empty156599461773400992", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:55 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:55 GMT", + "date": "Fri, 16 Aug 2019 22:30:17 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:17 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C05A2643\"", - "x-ms-request-id": "37126f55-c01a-0038-52ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229950DEDAD6\"", + "x-ms-request-id": "becd4313-d01a-00eb-5682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "file empty156150527545909780", + "prefix": "file empty156599461773400992", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "file empty156150527545909780file empty15615052754590978010", + "response": "file empty156599461773400992file empty15659946177340099210", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:55 GMT", + "date": "Fri, 16 Aug 2019 22:30:17 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f58-c01a-0038-54ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4315-d01a-00eb-5882-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "file empty": "file empty156150527545909780" + "file empty": "file empty156599461773400992" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.json index e066328081cf..0940bb06539f 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.json @@ -2,44 +2,44 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/file%20empty156150527576101154", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/file%20empty156599461804302814", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:55 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:55 GMT", + "date": "Fri, 16 Aug 2019 22:30:17 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:18 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C087F556\"", - "x-ms-request-id": "37126f5b-c01a-0038-57ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299510D4622\"", + "x-ms-request-id": "becd4317-d01a-00eb-5a82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "file empty156150527576101154", + "prefix": "file empty156599461804302814", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "file empty156150527576101154file empty15615052757610115410", + "response": "file empty156599461804302814file empty15659946180430281410", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:55 GMT", + "date": "Fri, 16 Aug 2019 22:30:17 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f5d-c01a-0038-59ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4319-d01a-00eb-5c82-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "file empty": "file empty156150527576101154" + "file empty": "file empty156599461804302814" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters.json index d91979f35efa..4e98ec354dbc 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527890105871", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462114209154", "query": { "restype": "directory" }, @@ -10,19 +10,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:20 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C26793BE\"", - "x-ms-request-id": "37126f88-c01a-0038-80ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229952E6C7D7\"", + "x-ms-request-id": "becd4343-d01a-00eb-0282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527890105871", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462114209154", "query": { "restype": "directory" }, @@ -30,38 +30,38 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:20 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C26793BE\"", + "etag": "\"0x8D7229952E6C7D7\"", "x-ms-server-encrypted": "true", - "x-ms-request-id": "37126f8a-c01a-0038-02ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4345-d01a-00eb-0482-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/", "query": { "comp": "list", - "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527890105871", + "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462114209154", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527890105871汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527890105871", + "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462114209154汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462114209154", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f8e-c01a-0038-06ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4347-d01a-00eb-0682-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527890105871" + "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462114209154" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.json index b3a08d32324d..3a4507fa9e23 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527935709952", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462160902475", "query": { "restype": "directory" }, @@ -10,19 +10,19 @@ "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:59 GMT", + "date": "Fri, 16 Aug 2019 22:30:21 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C2ACBFAA\"", - "x-ms-request-id": "37126f90-c01a-0038-08ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299532E3DDD\"", + "x-ms-request-id": "becd4349-d01a-00eb-0882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527935709952", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462160902475", "query": { "restype": "directory" }, @@ -30,38 +30,38 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:59 GMT", + "date": "Fri, 16 Aug 2019 22:30:21 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C2ACBFAA\"", + "etag": "\"0x8D72299532E3DDD\"", "x-ms-server-encrypted": "true", - "x-ms-request-id": "37126f92-c01a-0038-0aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd434b-d01a-00eb-0a82-54846d000000", + "x-ms-version": "2018-11-09", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/", "query": { "comp": "list", - "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527935709952", + "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462160902475", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527935709952汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527935709952", + "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462160902475汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462160902475", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:59 GMT", + "date": "Fri, 16 Aug 2019 22:30:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f94-c01a-0038-0cad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd434e-d01a-00eb-0c82-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527935709952" + "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462160902475" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic.json index b95cae13ee4a..0c26727ed2ec 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150528211300645", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599462394208971", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:02 GMT", + "date": "Fri, 16 Aug 2019 22:30:23 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C4514618\"", - "x-ms-request-id": "37126faf-c01a-0038-26ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722995491DE40\"", + "x-ms-request-id": "becd436a-d01a-00eb-2682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150528211300645", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599462394208971", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:02 GMT", + "date": "Fri, 16 Aug 2019 22:30:23 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C4514618\"", + "etag": "\"0x8D722995491DE40\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126fbf-c01a-0038-33ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd436c-d01a-00eb-2882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "عربيعربى156150528211300645", + "prefix": "عربيعربى156599462394208971", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "عربيعربى156150528211300645عربيعربى15615052821130064510", + "response": "عربيعربى156599462394208971عربيعربى15659946239420897110", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:02 GMT", + "date": "Fri, 16 Aug 2019 22:30:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fc1-c01a-0038-35ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd436e-d01a-00eb-2a82-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "عربيعربى": "عربيعربى156150528211300645" + "عربيعربى": "عربيعربى156599462394208971" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.json index 3302852657b9..b75cac035109 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150528260202356", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599462439701708", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:02 GMT", + "date": "Fri, 16 Aug 2019 22:30:23 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C49BF144\"", - "x-ms-request-id": "37126fc3-c01a-0038-37ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229954D73105\"", + "x-ms-request-id": "becd4372-d01a-00eb-2e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150528260202356", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599462439701708", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:02 GMT", + "date": "Fri, 16 Aug 2019 22:30:24 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C49BF144\"", + "etag": "\"0x8D7229954D73105\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126fc7-c01a-0038-39ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4374-d01a-00eb-3082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "عربيعربى156150528260202356", + "prefix": "عربيعربى156599462439701708", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "عربيعربى156150528260202356عربيعربى15615052826020235610", + "response": "عربيعربى156599462439701708عربيعربى15659946243970170810", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:02 GMT", + "date": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fcb-c01a-0038-3bad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4376-d01a-00eb-3282-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "عربيعربى": "عربيعربى156150528260202356" + "عربيعربى": "عربيعربى156599462439701708" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.json index 363c647951f2..ad4559a6fd6c 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150528165506876", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156599462347403872", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:01 GMT", + "date": "Fri, 16 Aug 2019 22:30:23 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C40B2FAC\"", - "x-ms-request-id": "37126fa9-c01a-0038-20ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299544A6823\"", + "x-ms-request-id": "becd4364-d01a-00eb-2082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150528165506876", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156599462347403872", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:01 GMT", + "date": "Fri, 16 Aug 2019 22:30:23 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C40B2FAC\"", + "etag": "\"0x8D72299544A6823\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126fab-c01a-0038-22ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4366-d01a-00eb-2282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150528165506876", + "prefix": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156599462347403872", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150528165506876%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%8915615052816550687610", + "response": "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156599462347403872%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%8915659946234740387210", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:01 GMT", + "date": "Fri, 16 Aug 2019 22:30:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fad-c01a-0038-24ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4368-d01a-00eb-2482-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "عربي/عربى": "عربي/عربى156150528165506876" + "عربي/عربى": "عربي/عربى156599462347403872" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters.json index 934dcd8d6b9f..738ef6eef616 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527796304350", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462022605871", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:57 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:19 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:20 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C1D7E3CA\"", - "x-ms-request-id": "37126f78-c01a-0038-73ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299525A4D3A\"", + "x-ms-request-id": "becd4336-d01a-00eb-7682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527796304350", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462022605871", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:57 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:19 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:20 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C1D7E3CA\"", + "etag": "\"0x8D72299525A4D3A\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f7b-c01a-0038-75ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4338-d01a-00eb-7882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527796304350", + "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462022605871", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527796304350汉字. special ~!@#$%^&()_+`1234567890-={}[];','15615052779630435010", + "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462022605871汉字. special ~!@#$%^&()_+`1234567890-={}[];','15659946202260587110", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:20 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f7d-c01a-0038-77ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd433a-d01a-00eb-7a82-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527796304350" + "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462022605871" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.json index cddf4fcbd3c0..dc5492bc4a92 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527843708799", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462068106421", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:20 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:20 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C220E0EF\"", - "x-ms-request-id": "37126f7f-c01a-0038-79ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229952A03C57\"", + "x-ms-request-id": "becd433c-d01a-00eb-7c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150527843708799", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599462068106421", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:58 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:20 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:20 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C220E0EF\"", + "etag": "\"0x8D7229952A03C57\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f84-c01a-0038-7cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd433f-d01a-00eb-7e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527843708799", + "prefix": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462068106421", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527843708799汉字. special ~!@#$%^&()_+`1234567890-={}[];','15615052784370879910", + "response": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462068106421汉字. special ~!@#$%^&()_+`1234567890-={}[];','15659946206810642110", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:58 GMT", + "date": "Fri, 16 Aug 2019 22:30:20 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f86-c01a-0038-7ead-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4341-d01a-00eb-8082-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150527843708799" + "汉字. special ~!@#$%^&()_+`1234567890-={}[];','": "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599462068106421" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese.json index 3e3662a278c5..5b9bf0887cee 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150528353606326", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599462532008288", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:03 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:03 GMT", + "date": "Fri, 16 Aug 2019 22:30:24 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:25 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C52AB6AD\"", - "x-ms-request-id": "37126fd5-c01a-0038-44ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229955649627\"", + "x-ms-request-id": "becd4380-d01a-00eb-3c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150528353606326", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599462532008288", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:03 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:03 GMT", + "date": "Fri, 16 Aug 2019 22:30:25 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:25 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C52AB6AD\"", + "etag": "\"0x8D7229955649627\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126fd7-c01a-0038-46ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4382-d01a-00eb-3e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "にっぽんごにほんご156150528353606326", + "prefix": "にっぽんごにほんご156599462532008288", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "にっぽんごにほんご156150528353606326にっぽんごにほんご15615052835360632610", + "response": "にっぽんごにほんご156599462532008288にっぽんごにほんご15659946253200828810", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:03 GMT", + "date": "Fri, 16 Aug 2019 22:30:25 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fd9-c01a-0038-48ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4384-d01a-00eb-4082-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "にっぽんごにほんご": "にっぽんごにほんご156150528353606326" + "にっぽんごにほんご": "にっぽんごにほんご156599462532008288" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.json index dcc0035c13f7..a4eba4aa0030 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150528400404900", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599462578705885", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:03 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:04 GMT", + "date": "Fri, 16 Aug 2019 22:30:25 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:25 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C57205D8\"", - "x-ms-request-id": "37126fdb-c01a-0038-4aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229955AB21A8\"", + "x-ms-request-id": "becd4387-d01a-00eb-4282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150528400404900", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599462578705885", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:03 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:04 GMT", + "date": "Fri, 16 Aug 2019 22:30:25 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:25 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C57205D8\"", + "etag": "\"0x8D7229955AB21A8\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126fdd-c01a-0038-4cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4389-d01a-00eb-4482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "にっぽんごにほんご156150528400404900", + "prefix": "にっぽんごにほんご156599462578705885", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "にっぽんごにほんご156150528400404900にっぽんごにほんご15615052840040490010", + "response": "にっぽんごにほんご156599462578705885にっぽんごにほんご15659946257870588510", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:04 GMT", + "date": "Fri, 16 Aug 2019 22:30:25 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fdf-c01a-0038-4ead-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd438b-d01a-00eb-4682-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "にっぽんごにほんご": "にっぽんごにほんご156150528400404900" + "にっぽんごにほんご": "にっぽんごにほんご156599462578705885" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.json index 3ac91ecea56d..81e8185796ef 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150528308402900", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156599462485804665", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:02 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:03 GMT", + "date": "Fri, 16 Aug 2019 22:30:24 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C4E5D8F4\"", - "x-ms-request-id": "37126fcd-c01a-0038-3dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D72299551D6E53\"", + "x-ms-request-id": "becd4378-d01a-00eb-3482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150528308402900", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156599462485804665", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:03 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:03 GMT", + "date": "Fri, 16 Aug 2019 22:30:24 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C4E5D8F4\"", + "etag": "\"0x8D72299551D6E53\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126fd0-c01a-0038-3fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd437c-d01a-00eb-3882-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150528308402900", + "prefix": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599462485804665", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150528308402900%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%9415615052830840290010", + "response": "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599462485804665%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%9415659946248580466510", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:03 GMT", + "date": "Fri, 16 Aug 2019 22:30:24 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fd2-c01a-0038-41ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd437e-d01a-00eb-3a82-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "にっぽんごにほんご": "にっぽんごにほんご156150528308402900" + "にっぽんごにほんご": "にっぽんごにほんご156599462485804665" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian.json index 63abc05f07f8..f6a5293a15ff 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150528027709933", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599462252006297", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:00 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:00 GMT", + "date": "Fri, 16 Aug 2019 22:30:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C339D719\"", - "x-ms-request-id": "37126f9c-c01a-0038-14ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229953B90A7D\"", + "x-ms-request-id": "becd4357-d01a-00eb-1482-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150528027709933", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599462252006297", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:00 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:00 GMT", + "date": "Fri, 16 Aug 2019 22:30:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C339D719\"", + "etag": "\"0x8D7229953B90A7D\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f9e-c01a-0038-16ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4359-d01a-00eb-1682-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "ру́сский язы́к156150528027709933", + "prefix": "ру́сский язы́к156599462252006297", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "ру́сский язы́к156150528027709933ру́сский язы́к15615052802770993310", + "response": "ру́сский язы́к156599462252006297ру́сский язы́к15659946225200629710", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:00 GMT", + "date": "Fri, 16 Aug 2019 22:30:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fa0-c01a-0038-18ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd435b-d01a-00eb-1882-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "ру́сский язы́к": "ру́сский язы́к156150528027709933" + "ру́сский язы́к": "ру́сский язы́к156599462252006297" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.json index 01bf08ffb35b..2477328485dd 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150528115400087", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599462298203032", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:00 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:01 GMT", + "date": "Fri, 16 Aug 2019 22:30:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C3BFC12A\"", - "x-ms-request-id": "37126fa3-c01a-0038-1aad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722995400A7A1\"", + "x-ms-request-id": "becd435d-d01a-00eb-1a82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150528115400087", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599462298203032", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:01 GMT", - "last-modified": "Tue, 25 Jun 2019 23:28:01 GMT", + "date": "Fri, 16 Aug 2019 22:30:22 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:23 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C3BFC12A\"", + "etag": "\"0x8D722995400A7A1\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126fa5-c01a-0038-1cad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd435f-d01a-00eb-1c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "ру́сский язы́к156150528115400087", + "prefix": "ру́сский язы́к156599462298203032", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "ру́сский язы́к156150528115400087ру́сский язы́к15615052811540008710", + "response": "ру́сский язы́к156599462298203032ру́сский язы́к15659946229820303210", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:28:01 GMT", + "date": "Fri, 16 Aug 2019 22:30:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126fa7-c01a-0038-1ead-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4362-d01a-00eb-1e82-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "ру́сский язы́к": "ру́сский язы́к156150528115400087" + "ру́сский язы́к": "ру́сский язы́к156599462298203032" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.json index 84e4009d4218..c21963467843 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150527982000988", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156599462206202891", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:59 GMT", + "date": "Fri, 16 Aug 2019 22:30:21 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C2F435E8\"", - "x-ms-request-id": "37126f96-c01a-0038-0ead-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229953734274\"", + "x-ms-request-id": "becd4350-d01a-00eb-0e82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150527982000988", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156599462206202891", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:59 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:59 GMT", + "date": "Fri, 16 Aug 2019 22:30:21 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:22 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C2F435E8\"", + "etag": "\"0x8D7229953734274\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f98-c01a-0038-10ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4352-d01a-00eb-1082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150527982000988", + "prefix": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599462206202891", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150527982000988%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA15615052798200098810", + "response": "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599462206202891%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA15659946220620289110", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:59 GMT", + "date": "Fri, 16 Aug 2019 22:30:21 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f9a-c01a-0038-12ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4354-d01a-00eb-1282-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "ру́сский язы́к": "ру́сский язы́к156150527982000988" + "ру́сский язы́к": "ру́сский язы́к156599462206202891" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.json index 27e2674ce6d4..c58dce405f58 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150527704305994", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599461930105316", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:57 GMT", + "date": "Fri, 16 Aug 2019 22:30:18 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C14C2C27\"", - "x-ms-request-id": "37126f6b-c01a-0038-67ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D7229951CD844E\"", + "x-ms-request-id": "becd4329-d01a-00eb-6a82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150527704305994", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599461930105316", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:56 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:57 GMT", + "date": "Fri, 16 Aug 2019 22:30:19 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C14C2C27\"", + "etag": "\"0x8D7229951CD844E\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f6d-c01a-0038-69ad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd432b-d01a-00eb-6c82-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "Upper file empty another 汉字156150527704305994", + "prefix": "Upper file empty another 汉字156599461930105316", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "Upper file empty another 汉字156150527704305994Upper file empty another 汉字15615052770430599410", + "response": "Upper file empty another 汉字156599461930105316Upper file empty another 汉字15659946193010531610", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:57 GMT", + "date": "Fri, 16 Aug 2019 22:30:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f6f-c01a-0038-6bad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd432d-d01a-00eb-6e82-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "Upper file empty another 汉字": "Upper file empty another 汉字156150527704305994" + "Upper file empty another 汉字": "Upper file empty another 汉字156599461930105316" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.json b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.json index 777d3321d91c..c04f83f8772e 100644 --- a/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.json +++ b/sdk/storage/storage-file/recordings/browsers/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.json @@ -2,64 +2,64 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150527750601558", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599461976706984", "query": {}, "requestBody": null, "status": 201, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:57 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:57 GMT", + "date": "Fri, 16 Aug 2019 22:30:19 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C19269B0\"", - "x-ms-request-id": "37126f71-c01a-0038-6dad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "etag": "\"0x8D722995214D357\"", + "x-ms-request-id": "becd432f-d01a-00eb-7082-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-request-server-encrypted": "true", "content-length": "0" } }, { "method": "HEAD", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150527750601558", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599461976706984", "query": {}, "requestBody": null, "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:57 GMT", - "last-modified": "Tue, 25 Jun 2019 23:27:57 GMT", + "date": "Fri, 16 Aug 2019 22:30:19 GMT", + "last-modified": "Fri, 16 Aug 2019 22:30:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", - "etag": "\"0x8D6F9C4C19269B0\"", + "etag": "\"0x8D722995214D357\"", "x-ms-server-encrypted": "true", "content-type": "application/octet-stream", - "x-ms-request-id": "37126f73-c01a-0038-6fad-2b3bc8000000", - "x-ms-version": "2018-03-28", + "x-ms-request-id": "becd4331-d01a-00eb-7282-54846d000000", + "x-ms-version": "2018-11-09", "x-ms-type": "File", "content-length": "10" } }, { "method": "GET", - "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156150527513402942/dir156150527513408426", + "url": "https://fakestorageaccount.file.core.windows.net/1share-with-dash156599461737804903/dir156599461737903476", "query": { "comp": "list", - "prefix": "Upper file empty another 汉字156150527750601558", + "prefix": "Upper file empty another 汉字156599461976706984", "restype": "directory" }, "requestBody": null, "status": 200, - "response": "Upper file empty another 汉字156150527750601558Upper file empty another 汉字15615052775060155810", + "response": "Upper file empty another 汉字156599461976706984Upper file empty another 汉字15659946197670698410", "responseHeaders": { - "date": "Tue, 25 Jun 2019 23:27:57 GMT", + "date": "Fri, 16 Aug 2019 22:30:19 GMT", "server": "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "37126f76-c01a-0038-71ad-2b3bc8000000", - "x-ms-version": "2018-03-28" + "x-ms-request-id": "becd4333-d01a-00eb-7482-54846d000000", + "x-ms-version": "2018-11-09" } } ], "uniqueTestInfo": { - "Upper file empty another 汉字": "Upper file empty another 汉字156150527750601558" + "Upper file empty another 汉字": "Upper file empty another 汉字156599461976706984" } } \ No newline at end of file diff --git a/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js b/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js index 2b77493465be..d80f2e714c11 100644 --- a/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js +++ b/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js @@ -1,3 +1,3 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150541975104399"} +module.exports.testInfo = {"share":"share156599411652908651"} diff --git a/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js b/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js index 94773292332a..356a59b0f469 100644 --- a/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js +++ b/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js @@ -1,3 +1,24 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150541977407031"} +module.exports.testInfo = {"share":"share156599411655707990"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599411655707990') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:21:58 GMT', + 'ETag', + '"0x8D7229827143F68"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '983fe020-501a-00d8-0681-54dd40000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:21:58 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js b/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js index dfeb6786d01f..e37225d09337 100644 --- a/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js +++ b/sdk/storage/storage-file/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js @@ -1,3 +1,3 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150541777209561"} +module.exports.testInfo = {"share":"share156599411619505976"} diff --git a/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js b/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js index 2c3b53b2b3b8..346988211063 100644 --- a/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js +++ b/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150541697901970"} +module.exports.testInfo = {"share":"share156599411528508829"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150541697901970') + .put('/share156599411528508829') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:17 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'ETag', - '"0x8D6F9C514E3D35B"', + '"0x8D72298259A8D04"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5f14630d-401a-0083-0bad-2bda3c000000', + '1acb296b-f01a-0030-6b81-5420bb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:16 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150541697901970') + .delete('/share156599411528508829') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '263ab540-f01a-0056-66ad-2b92e1000000', + '7ab03246-801a-001d-7581-54a37b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:17 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js b/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js index 8edbb4eb8a44..d62f12120c7a 100644 --- a/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js +++ b/sdk/storage/storage-file/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js @@ -1,24 +1,24 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150541781105471"} +module.exports.testInfo = {"share":"share156599411621105125"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150541781105471') + .put('/share156599411621105125') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:19 GMT', + 'Fri, 16 Aug 2019 22:21:56 GMT', 'ETag', - '"0x8D6F9C5160C2833"', + '"0x8D722982607FD87"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4559d57f-d01a-000e-7fad-2b969a000000', + '4d522d5d-401a-0000-3481-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:19 GMT', + 'Fri, 16 Aug 2019 22:21:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_all_parameters_configured.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_all_parameters_configured.js index a02f0554cc48..c75766694986 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_all_parameters_configured.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_all_parameters_configured.js @@ -1,87 +1,87 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150542478109368","dir":"dir156150542553907027","share156150542478109368":"share156150542478109368156150542584804338"} +module.exports.testInfo = {"share":"share156599412768507077","dir":"dir156599412849008264","share156599412768507077":"share156599412768507077156599412880408374"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150542478109368') + .put('/share156599412768507077') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:25 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'ETag', - '"0x8D6F9C5199353A9"', + '"0x8D722982D140359"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5b149a20-001a-0061-4ead-2b3e4e000000', + 'ea26bffa-c01a-0099-2981-54f553000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:24 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150542478109368/dir156150542553907027') + .put('/share156599412768507077/dir156599412849008264') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:25 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'ETag', - '"0x8D6F9C519E69878"', + '"0x8D722982D5A73BA"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c39058a7-c01a-0077-72ad-2bffd0000000', + 'd7cd14b5-401a-00a1-3381-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:25 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150542478109368156150542584804338') + .put('/share156599412768507077156599412880408374') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:37 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'ETag', - '"0x8D6F9C52095C85F"', + '"0x8D722982D8A11A1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9ee5b27-901a-0064-47ad-2bca31000000', + 'eb845e89-e01a-00ac-5781-545b06000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:37 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150542478109368156150542584804338') + .get('/share156599412768507077156599412880408374') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:37 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'ETag', - '"0x8D6F9C52095C85F"', + '"0x8D722982D8A11A1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6485eaf3-b01a-0073-5bad-2b0a52000000', + 'e8b25a71-c01a-00bb-7c81-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key', 'value', 'x-ms-has-immutability-policy', @@ -95,41 +95,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:30:38 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150542478109368/dir156150542553907027') + .delete('/share156599412768507077/dir156599412849008264') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '263ab563-f01a-0056-6bad-2b92e1000000', + 'efd551a1-501a-0036-7d81-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:39 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150542478109368') + .delete('/share156599412768507077') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '98fc4bfe-501a-005b-0ead-2b7ded000000', + 'a868c196-901a-00c5-1981-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:39 GMT', + 'Fri, 16 Aug 2019 22:22:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_default_parameters.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_default_parameters.js index 233ba45fb930..9b108bbf8f3d 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_create_with_default_parameters.js @@ -1,81 +1,81 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150542333509725","dir":"dir156150542381903044"} +module.exports.testInfo = {"share":"share156599412642000303","dir":"dir156599412672007489"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150542333509725') + .put('/share156599412642000303') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:23 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'ETag', - '"0x8D6F9C518ABB4E1"', + '"0x8D722982C1D0DE1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '506b8972-401a-00c7-29ad-2b0650000000', + 'd5e99ace-101a-0031-1181-542146000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:22 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150542333509725/dir156150542381903044') + .put('/share156599412642000303/dir156599412672007489') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:24 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'ETag', - '"0x8D6F9C518E5C29B"', + '"0x8D722982C4BB970"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8244474c-b01a-0078-49ad-2b1226000000', + '135a28ad-501a-00be-7e81-546f1a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:23 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150542333509725/dir156150542381903044') + .delete('/share156599412642000303/dir156599412672007489') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dd099a33-b01a-0015-5fad-2bb808000000', + '7732cd90-a01a-0089-0b81-54c3b5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:24 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150542333509725') + .delete('/share156599412642000303') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd15a3328-901a-0081-1aad-2bd8c6000000', + 'efd5519b-501a-0036-7c81-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:24 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_createfile_and_deletefile.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_createfile_and_deletefile.js index 44bbc9f01427..33a8f440cb9e 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_createfile_and_deletefile.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_createfile_and_deletefile.js @@ -1,112 +1,112 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150548847901830","dir":"dir156150548878506895","directory":"directory156150548909700593","file":"file156150548941309197"} +module.exports.testInfo = {"share":"share156599419241106436","dir":"dir156599419356406328","directory":"directory156599419387008242","file":"file156599419417902477"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150548847901830') + .put('/share156599419241106436') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:28 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'ETag', - '"0x8D6F9C53F69D024"', + '"0x8D7229853E34ED6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '93a444a8-101a-0090-1eae-2befdd000000', + '7c294690-701a-00c4-1b81-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:28 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150548847901830/dir156150548878506895') + .put('/share156599419241106436/dir156599419356406328') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:29 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'ETag', - '"0x8D6F9C53F98B20D"', + '"0x8D7229854231F87"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b29ba40a-d01a-00eb-1aae-2b846d000000', + '734d64c9-f01a-00b3-0681-548016000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:28 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150548847901830/dir156150548878506895/directory156150548909700593') + .put('/share156599419241106436/dir156599419356406328/directory156599419387008242') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:29 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'ETag', - '"0x8D6F9C53FC87D50"', + '"0x8D7229854522738"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cde7e020-801a-00d1-46ae-2bc7ce000000', + 'f302875c-d01a-0005-3d81-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:28 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150548847901830/dir156150548878506895/directory156150548909700593/file156150548941309197') + .put('/share156599419241106436/dir156599419356406328/directory156599419387008242/file156599419417902477') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:29 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'ETag', - '"0x8D6F9C53FF98151"', + '"0x8D722985481F251"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a4ddde0-c01a-0099-61ae-2bf553000000', + 'c7054262-501a-005b-3281-547ded000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:28 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150548847901830/dir156150548878506895/directory156150548909700593/file156150548941309197') + .head('/share156599419241106436/dir156599419356406328/directory156599419387008242/file156599419417902477') .reply(200, "", [ 'Content-Length', '256', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:29 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'ETag', - '"0x8D6F9C53FF98151"', + '"0x8D722985481F251"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ace9ea14-c01a-001a-7bae-2b55fe000000', + '345f3486-d01a-0027-3381-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key', 'value', 'x-ms-type', @@ -118,37 +118,37 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:29 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150548847901830/dir156150548878506895/directory156150548909700593/file156150548941309197') + .delete('/share156599419241106436/dir156599419356406328/directory156599419387008242/file156599419417902477') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10fa727c-801a-009e-1dae-2b03d6000000', + 'e9ce13f2-d01a-002c-0781-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:30 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150548847901830/dir156150548878506895/directory156150548909700593/file156150548941309197') + .head('/share156599419241106436/dir156599419356406328/directory156599419387008242/file156599419417902477') .reply(404, "", [ 'Transfer-Encoding', 'chunked', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdc8af5a-d01a-0086-40ae-2b2e43000000', + '6bd4c66e-901a-0009-2981-54601f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'ResourceNotFound', 'Access-Control-Expose-Headers', @@ -156,58 +156,58 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:39 GMT', + 'Fri, 16 Aug 2019 22:23:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150548847901830/dir156150548878506895/directory156150548909700593') + .delete('/share156599419241106436/dir156599419356406328/directory156599419387008242') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0247586e-a01a-00a0-50ae-2bb5f7000000', + '3b275400-901a-0002-1d81-54786b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:39 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150548847901830/dir156150548878506895') + .delete('/share156599419241106436/dir156599419356406328') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9cd954af-101a-00b2-02ae-2b81eb000000', + '4d522dde-401a-0000-5d81-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:39 GMT', + 'Fri, 16 Aug 2019 22:23:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150548847901830') + .delete('/share156599419241106436') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e2b9dd4-e01a-00ca-69ae-2be95c000000', + '7a811403-d01a-00c2-7581-54f22f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:40 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_createsubdirectory_and_deletesubdirectory.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_createsubdirectory_and_deletesubdirectory.js index 57ba73f464bc..3f44a4c395f5 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_createsubdirectory_and_deletesubdirectory.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_createsubdirectory_and_deletesubdirectory.js @@ -1,89 +1,89 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150548332004638","dir":"dir156150548363104389","directory":"directory156150548395002436"} +module.exports.testInfo = {"share":"share156599418978804676","dir":"dir156599419009205259","directory":"directory156599419042409791"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150548332004638') + .put('/share156599418978804676') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:23 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'ETag', - '"0x8D6F9C53C578E3D"', + '"0x8D7229851E2EC39"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9ee5b78-901a-0064-58ae-2bca31000000', + '29bde5f4-801a-0059-2d81-547f17000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:22 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150548332004638/dir156150548363104389') + .put('/share156599418978804676/dir156599419009205259') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:23 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'ETag', - '"0x8D6F9C53C8760E7"', + '"0x8D722985214C8C7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '65889b13-901a-0020-34ae-2b165d000000', + '9a0e8bb3-e01a-00e3-6681-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:23 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150548332004638/dir156150548363104389/directory156150548395002436') + .put('/share156599418978804676/dir156599419009205259/directory156599419042409791') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:26 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'ETag', - '"0x8D6F9C53E3BEFE7"', + '"0x8D7229852457E80"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3d49404c-d01a-0041-09ae-2b5282000000', + 'a0407a06-b01a-0015-0981-54b808000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:26 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150548332004638/dir156150548363104389/directory156150548395002436') + .get('/share156599418978804676/dir156599419009205259/directory156599419042409791') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:26 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'ETag', - '"0x8D6F9C53E3BEFE7"', + '"0x8D7229852457E80"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '824447c3-b01a-0078-77ae-2b1226000000', + '6ece500f-001a-0061-1681-543e4e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'x-ms-meta-key', @@ -93,41 +93,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:26 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150548332004638/dir156150548363104389/directory156150548395002436') + .delete('/share156599418978804676/dir156599419009205259/directory156599419042409791') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '263ab59b-f01a-0056-78ae-2b92e1000000', + 'becd3cf0-d01a-00eb-6981-54846d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:27 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150548332004638/dir156150548363104389/directory156150548395002436') + .get('/share156599418978804676/dir156599419009205259/directory156599419042409791') .query(true) - .reply(404, "ResourceNotFoundThe specified resource does not exist.\nRequestId:afc21a04-301a-0062-31ae-2b3d49000000\nTime:2019-06-25T23:31:27.7477981Z", [ 'Content-Length', + .reply(404, "ResourceNotFoundThe specified resource does not exist.\nRequestId:73439220-b01a-0037-0481-54d63e000000\nTime:2019-08-16T22:23:11.6430837Z", [ 'Content-Length', '223', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'afc21a04-301a-0062-31ae-2b3d49000000', + '73439220-b01a-0037-0481-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'ResourceNotFound', 'Access-Control-Expose-Headers', @@ -135,41 +135,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:27 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150548332004638/dir156150548363104389') + .delete('/share156599418978804676/dir156599419009205259') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2c67291-801a-0095-65ae-2b1ba2000000', + 'c830fa61-701a-00ed-7a81-547315000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:27 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150548332004638') + .delete('/share156599418978804676') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd569557c-c01a-007c-07ae-2be7a4000000', + '55153439-501a-00d3-0c81-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:28 GMT', + 'Fri, 16 Aug 2019 22:23:11 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_delete.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_delete.js index 54278448d40b..6e5431904d85 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_delete.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_delete.js @@ -1,81 +1,81 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150543943908240","dir":"dir156150543975108130"} +module.exports.testInfo = {"share":"share156599413032508759","dir":"dir156599413406005544"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150543943908240') + .put('/share156599413032508759') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:39 GMT', + 'Fri, 16 Aug 2019 22:22:13 GMT', 'ETag', - '"0x8D6F9C522301EA0"', + '"0x8D722983007A352"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '82444761-b01a-0078-4ead-2b1226000000', + 'e797a9b3-a01a-00ef-5181-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:39 GMT', + 'Fri, 16 Aug 2019 22:22:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150543943908240/dir156150543975108130') + .put('/share156599413032508759/dir156599413406005544') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:40 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'ETag', - '"0x8D6F9C5225F5743"', + '"0x8D7229830ACCF0F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd07571cf-a01a-006c-40ad-2bd142000000', + '83a51372-f01a-00d5-1e81-54324c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:39 GMT', + 'Fri, 16 Aug 2019 22:22:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150543943908240/dir156150543975108130') + .delete('/share156599413032508759/dir156599413406005544') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '024757fb-a01a-00a0-22ae-2bb5f7000000', + '6aac5d69-601a-00db-2b81-54de47000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:39 GMT', + 'Fri, 16 Aug 2019 22:22:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150543943908240') + .delete('/share156599413032508759') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11582fba-501a-0097-04ae-2b1958000000', + 'e9ce138f-d01a-002c-6681-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:39 GMT', + 'Fri, 16 Aug 2019 22:22:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_forceclosehandle_should_work.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_forceclosehandle_should_work.js new file mode 100644 index 000000000000..22ce27fa2f79 --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_forceclosehandle_should_work.js @@ -0,0 +1,104 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599421077802103","dir":"dir156599421108504682"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599421077802103') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:23:31 GMT', + 'ETag', + '"0x8D722985E6630F5"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '8d1d7e52-a01a-0045-4d81-54a700000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599421077802103/dir156599421108504682') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:23:31 GMT', + 'ETag', + '"0x8D722985EAAF326"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c7054280-501a-005b-3b81-547ded000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:23:30 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599421077802103/dir156599421108504682') + .query(true) + .reply(200, "", [ 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/xml', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '4d522dff-401a-0000-6481-547a91000000', + 'x-ms-version', + '2018-11-09', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:23:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599421077802103/dir156599421108504682') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'd54d82f2-201a-00d7-3481-5430b6000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:31 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599421077802103') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '0bd3ebcd-b01a-00b4-6981-547693000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:31 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_forceclosehandlessegment_should_work.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_forceclosehandlessegment_should_work.js new file mode 100644 index 000000000000..ffbd8a1c81ba --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_forceclosehandlessegment_should_work.js @@ -0,0 +1,100 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599420267207802","dir":"dir156599420492603164"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599420267207802') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:23:23 GMT', + 'ETag', + '"0x8D7229859C090AC"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c9a3e47c-e01a-00ca-1181-54e95c000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:23 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599420267207802/dir156599420492603164') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:23:25 GMT', + 'ETag', + '"0x8D722985AE8AABC"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '2ce91248-c01a-00dd-3681-54293f000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:23:24 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599420267207802/dir156599420492603164') + .query(true) + .reply(200, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '1cd4b6c6-301a-00ae-2381-5459fc000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-number-of-handles-closed', + '0', + 'Date', + 'Fri, 16 Aug 2019 22:23:25 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599420267207802/dir156599420492603164') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'ccdd7bb1-e01a-00a7-6581-544372000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:26 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599420267207802') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '846e624e-e01a-00e8-1281-54876a000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:30 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_getproperties.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_getproperties.js index 621f2a94bd21..dbb17f71fa25 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_getproperties.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_getproperties.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150542179603798","dir":"dir156150542210304095"} +module.exports.testInfo = {"share":"share156599412302000055","dir":"dir156599412511205704"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150542179603798') + .put('/share156599412302000055') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:22 GMT', + 'Fri, 16 Aug 2019 22:22:03 GMT', 'ETag', - '"0x8D6F9C517AB5D4C"', + '"0x8D722982A4546CC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16c8f5f2-e01a-00e8-56ad-2b876a000000', + '3e7d5b68-c01a-00b0-5f81-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:21 GMT', + 'Fri, 16 Aug 2019 22:22:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150542179603798/dir156150542210304095') + .put('/share156599412302000055/dir156599412511205704') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:22 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'ETag', - '"0x8D6F9C517D9A02B"', + '"0x8D722982B56A625"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd03607b1-901a-008a-70ad-2bc0b2000000', + '28bfafd8-c01a-00d6-5a81-54314b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:22 GMT', + 'Fri, 16 Aug 2019 22:22:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150542179603798/dir156150542210304095') + .get('/share156599412302000055/dir156599412511205704') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:22 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'ETag', - '"0x8D6F9C517D9A02B"', + '"0x8D722982B56A625"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3dc0fe96-501a-0079-2cad-2b13db000000', + 'd71e33ed-201a-0098-7381-54f4ae000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', @@ -68,41 +68,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:30:21 GMT', + 'Fri, 16 Aug 2019 22:22:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150542179603798/dir156150542210304095') + .delete('/share156599412302000055/dir156599412511205704') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '77bf294f-301a-00a5-76ad-2b4188000000', + '36af0beb-501a-003d-5c81-54cfb7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:22 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150542179603798') + .delete('/share156599412302000055') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9fc18f3-b01a-00bf-03ad-2b6ee7000000', + '6b724090-101a-009b-6081-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:22 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_under_root_directory.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_under_root_directory.js index 6d32460cc145..d0783d54b386 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_under_root_directory.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_under_root_directory.js @@ -1,338 +1,338 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150544069006121","dir":"dir156150544682800992","undefined":"2019-06-25T23:30:47.144Z","pre1561505447144":"pre1561505447144156150544714401721","pre1561505447144156150544714401721dir0":"pre1561505447144156150544714401721dir0156150544714408268","pre1561505447144156150544714401721dir1":"pre1561505447144156150544714401721dir1156150544758306555","pre1561505447144156150544714401721dir2":"pre1561505447144156150544714401721dir2156150544789600685","pre1561505447144156150544714401721file0":"pre1561505447144156150544714401721file0156150544821804611","pre1561505447144156150544714401721file1":"pre1561505447144156150544714401721file1156150544856301181","pre1561505447144156150544714401721file2":"pre1561505447144156150544714401721file2156150544887209822"} +module.exports.testInfo = {"share":"share156599413551803987","dir":"dir156599413662603675","undefined":"2019-08-16T22:22:16.938Z","pre1565994136938":"pre1565994136938156599413693802544","pre1565994136938156599413693802544dir0":"pre1565994136938156599413693802544dir0156599413693803594","pre1565994136938156599413693802544dir1":"pre1565994136938156599413693802544dir1156599413725200395","pre1565994136938156599413693802544dir2":"pre1565994136938156599413693802544dir2156599413757901574","pre1565994136938156599413693802544file0":"pre1565994136938156599413693802544file0156599413788408459","pre1565994136938156599413693802544file1":"pre1565994136938156599413693802544file1156599413819502613","pre1565994136938156599413693802544file2":"pre1565994136938156599413693802544file2156599413850309451"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121') + .put('/share156599413551803987') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:45 GMT', + 'Fri, 16 Aug 2019 22:22:15 GMT', 'ETag', - '"0x8D6F9C525D8B630"', + '"0x8D7229831970B9E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c4be7a65-d01a-0063-19ae-2b3cb4000000', + '4aa6a4c8-301a-004b-6f81-544b0b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:46 GMT', + 'Fri, 16 Aug 2019 22:22:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121/dir156150544682800992') + .put('/share156599413551803987/dir156599413662603675') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:47 GMT', + 'Fri, 16 Aug 2019 22:22:16 GMT', 'ETag', - '"0x8D6F9C526973592"', + '"0x8D7229832336700"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2d9fc28-501a-003d-2dae-2bcfb7000000', + '47ff8616-901a-0020-7a81-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:46 GMT', + 'Fri, 16 Aug 2019 22:22:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121/pre1561505447144156150544714401721dir0156150544714408268') + .put('/share156599413551803987/pre1565994136938156599413693802544dir0156599413693803594') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:47 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'ETag', - '"0x8D6F9C526D8B73A"', + '"0x8D722983263CE77"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '74cc9530-b01a-001e-51ae-2ba07c000000', + '7835c31e-301a-008c-6e81-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:47 GMT', + 'Fri, 16 Aug 2019 22:22:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121/pre1561505447144156150544714401721dir1156150544758306555') + .put('/share156599413551803987/pre1565994136938156599413693802544dir1156599413725200395') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:47 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'ETag', - '"0x8D6F9C5270ACCC0"', + '"0x8D72298329287F1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '93a4446e-101a-0090-13ae-2befdd000000', + '7732cda4-a01a-0089-1381-54c3b5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:47 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121/pre1561505447144156150544714401721dir2156150544789600685') + .put('/share156599413551803987/pre1565994136938156599413693802544dir2156599413757901574') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:48 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'ETag', - '"0x8D6F9C5273B3460"', + '"0x8D7229832C3D9F2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e2c4c3d6-f01a-00de-66ae-2b2a38000000', + 'e8b25aa0-c01a-00bb-1181-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:47 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121/pre1561505447144156150544714401721file0156150544821804611') + .put('/share156599413551803987/pre1565994136938156599413693802544file0156599413788408459') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:48 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'ETag', - '"0x8D6F9C5276C1145"', + '"0x8D7229832F37DF6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37127178-c01a-0038-1cae-2b3bc8000000', + '3d43d9e3-301a-00c3-3481-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:48 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121/pre1561505447144156150544714401721file1156150544856301181') + .put('/share156599413551803987/pre1565994136938156599413693802544file1156599413819502613') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:48 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'ETag', - '"0x8D6F9C5279FD4DD"', + '"0x8D722983322D3DB"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '54292af2-201a-00d7-7eae-2b30b6000000', + '514d28ca-801a-0095-4881-541ba2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:48 GMT', + 'Fri, 16 Aug 2019 22:22:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150544069006121/pre1561505447144156150544714401721file2156150544887209822') + .put('/share156599413551803987/pre1565994136938156599413693802544file2156599413850309451') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:49 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'ETag', - '"0x8D6F9C527CFA021"', + '"0x8D722983352ED38"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e9af32ff-401a-0088-4bae-2bc248000000', + 'c7de6969-701a-008b-5b81-54c14f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:48 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150544069006121/') + .get('/share156599413551803987/') .query(true) - .reply(200, "pre1561505447144156150544714401721pre1561505447144156150544714401721dir0156150544714408268pre1561505447144156150544714401721dir1156150544758306555pre1561505447144156150544714401721dir2156150544789600685pre1561505447144156150544714401721file01561505448218046111024pre1561505447144156150544714401721file11561505448563011811024pre1561505447144156150544714401721file21561505448872098221024", [ 'Transfer-Encoding', + .reply(200, "pre1565994136938156599413693802544pre1565994136938156599413693802544dir0156599413693803594pre1565994136938156599413693802544dir1156599413725200395pre1565994136938156599413693802544dir2156599413757901574pre1565994136938156599413693802544file01565994137884084591024pre1565994136938156599413693802544file11565994138195026131024pre1565994136938156599413693802544file21565994138503094511024", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9717b7e1-c01a-00d6-6aae-2b314b000000', + 'a31d9c8f-701a-0065-1581-54cbcc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:30:48 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121/pre1561505447144156150544714401721file0156150544821804611') + .delete('/share156599413551803987/pre1565994136938156599413693802544file0156599413788408459') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '14a511d6-601a-00bd-11ae-2b6c1d000000', + '80d2d20c-401a-0029-2581-540cd3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:49 GMT', + 'Fri, 16 Aug 2019 22:22:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121/pre1561505447144156150544714401721file1156150544856301181') + .delete('/share156599413551803987/pre1565994136938156599413693802544file1156599413819502613') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ef588a38-301a-0040-38ae-2b537f000000', + '4fe34e46-601a-003e-1781-54ccb0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:50 GMT', + 'Fri, 16 Aug 2019 22:22:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121/pre1561505447144156150544714401721file2156150544887209822') + .delete('/share156599413551803987/pre1565994136938156599413693802544file2156599413850309451') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b7d1e93-901a-00ce-1fae-2b1cde000000', + 'fd8aa337-301a-0087-2d81-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:50 GMT', + 'Fri, 16 Aug 2019 22:22:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121/pre1561505447144156150544714401721dir0156150544714408268') + .delete('/share156599413551803987/pre1565994136938156599413693802544dir0156599413693803594') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37ea8087-701a-0080-01ae-2bd93b000000', + '15865b3b-001a-0025-7781-54e222000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:50 GMT', + 'Fri, 16 Aug 2019 22:22:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121/pre1561505447144156150544714401721dir1156150544758306555') + .delete('/share156599413551803987/pre1565994136938156599413693802544dir1156599413725200395') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '46c3aa93-601a-0017-2fae-2bbaf2000000', + 'ef5a5e36-301a-0062-4781-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:50 GMT', + 'Fri, 16 Aug 2019 22:22:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121/pre1561505447144156150544714401721dir2156150544789600685') + .delete('/share156599413551803987/pre1565994136938156599413693802544dir2156599413757901574') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48e32ddf-201a-0098-34ae-2bf4ae000000', + 'd66f39bc-601a-0094-6381-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:50 GMT', + 'Fri, 16 Aug 2019 22:22:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121/dir156150544682800992') + .delete('/share156599413551803987/dir156599413662603675') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b2e3dd6-001a-000c-07ae-2b9460000000', + 'e600d228-001a-00cb-7481-54e8a1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:51 GMT', + 'Fri, 16 Aug 2019 22:22:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150544069006121') + .delete('/share156599413551803987') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e39f8154-a01a-0045-5aae-2ba700000000', + 'd32d5b8e-101a-00b2-7181-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:51 GMT', + 'Fri, 16 Aug 2019 22:22:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.js index 94c68abf5b4a..55f3ad1bbed6 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_listfilesanddirectories_with_all_parameters_confirgured.js @@ -1,361 +1,361 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150545208709301","dir":"dir156150545239504228","undefined":"2019-06-25T23:30:52.733Z","pre1561505452733":"pre1561505452733156150545273309776","pre1561505452733156150545273309776dir0":"pre1561505452733156150545273309776dir0156150545273302519","pre1561505452733156150545273309776dir1":"pre1561505452733156150545273309776dir1156150545305305418","pre1561505452733156150545273309776dir2":"pre1561505452733156150545273309776dir2156150545337106882","pre1561505452733156150545273309776file0":"pre1561505452733156150545273309776file0156150545368007537","pre1561505452733156150545273309776file1":"pre1561505452733156150545273309776file1156150545400109259","pre1561505452733156150545273309776file2":"pre1561505452733156150545273309776file2156150545431806214"} +module.exports.testInfo = {"share":"share156599414258107028","dir":"dir156599414382404166","undefined":"2019-08-16T22:22:24.137Z","pre1565994144137":"pre1565994144137156599414413703082","pre1565994144137156599414413703082dir0":"pre1565994144137156599414413703082dir0156599414413703959","pre1565994144137156599414413703082dir1":"pre1565994144137156599414413703082dir1156599414444303016","pre1565994144137156599414413703082dir2":"pre1565994144137156599414413703082dir2156599414475300764","pre1565994144137156599414413703082file0":"pre1565994144137156599414413703082file0156599414506209564","pre1565994144137156599414413703082file1":"pre1565994144137156599414413703082file1156599414537403467","pre1565994144137156599414413703082file2":"pre1565994144137156599414413703082file2156599414568509912"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301') + .put('/share156599414258107028') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:52 GMT', + 'Fri, 16 Aug 2019 22:22:23 GMT', 'ETag', - '"0x8D6F9C529B977FF"', + '"0x8D72298362F2D39"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a87f8a28-901a-00ec-07ae-2b72e8000000', + '9cca8842-201a-00dc-3081-5428c2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:51 GMT', + 'Fri, 16 Aug 2019 22:22:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301/dir156150545239504228') + .put('/share156599414258107028/dir156599414382404166') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:52 GMT', + 'Fri, 16 Aug 2019 22:22:24 GMT', 'ETag', - '"0x8D6F9C529E88175"', + '"0x8D72298367E31AC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ace332aa-601a-00db-44ae-2bde47000000', + '869094df-001a-00c0-1a81-54f0d5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:52 GMT', + 'Fri, 16 Aug 2019 22:22:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301/pre1561505452733156150545273309776dir0156150545273302519') + .put('/share156599414258107028/pre1565994144137156599414413703082dir0156599414413703959') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:52 GMT', + 'Fri, 16 Aug 2019 22:22:24 GMT', 'ETag', - '"0x8D6F9C52A1BF6CF"', + '"0x8D7229836AD3950"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '209e99c4-e01a-0042-73ae-2b5185000000', + '428611ae-901a-008a-2981-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:52 GMT', + 'Fri, 16 Aug 2019 22:22:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301/pre1561505452733156150545273309776dir1156150545305305418') + .put('/share156599414258107028/pre1565994144137156599414413703082dir1156599414444303016') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:53 GMT', + 'Fri, 16 Aug 2019 22:22:24 GMT', 'ETag', - '"0x8D6F9C52A4D21E3"', + '"0x8D7229836DC40FD"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fea5180e-301a-008c-60ae-2b37ca000000', + '345f3426-d01a-0027-1281-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:53 GMT', + 'Fri, 16 Aug 2019 22:22:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301/pre1561505452733156150545273309776dir2156150545337106882') + .put('/share156599414258107028/pre1565994144137156599414413703082dir2156599414475300764') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:53 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'ETag', - '"0x8D6F9C52A7D626B"', + '"0x8D72298370B6FBC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0247581e-a01a-00a0-35ae-2bb5f7000000', + '571b40fd-001a-008f-4a81-5434cd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:53 GMT', + 'Fri, 16 Aug 2019 22:22:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301/pre1561505452733156150545273309776file0156150545368007537') + .put('/share156599414258107028/pre1565994144137156599414413703082file0156599414506209564') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:53 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'ETag', - '"0x8D6F9C52AADF122"', + '"0x8D72298373AECA9"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9537785a-701a-00a9-46ae-2baf79000000', + '9cca884b-201a-00dc-3481-5428c2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:53 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301/pre1561505452733156150545273309776file1156150545400109259') + .put('/share156599414258107028/pre1565994144137156599414413703082file1156599414537403467') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'ETag', - '"0x8D6F9C52ADDE381"', + '"0x8D72298376A1B68"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b1df2ba8-701a-0047-18ae-2ba5fa000000', + 'efd551d7-501a-0036-1e81-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545208709301/pre1561505452733156150545273309776file2156150545431806214') + .put('/share156599414258107028/pre1565994144137156599414413703082file2156599414568509912') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'ETag', - '"0x8D6F9C52B0E4B1D"', + '"0x8D72298379AA9FB"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd4a95ee-a01a-00c6-5cae-2b07ad000000', + '7ca31cd2-801a-009e-5b81-5403d6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:54 GMT', + 'Fri, 16 Aug 2019 22:22:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150545208709301/') + .get('/share156599414258107028/') .query(true) - .reply(200, "pre15615054527331561505452733097763pre1561505452733156150545273309776dir0156150545273302519pre1561505452733156150545273309776dir1156150545305305418pre1561505452733156150545273309776dir21561505453371068821!76!cHJlMTU2MTUwNTQ1MjczMzE1NjE1MDU0NTI3MzMwOTc3NmZpbGUwMTU2MTUwNTQ1MzY4MDA3NTM3", [ 'Transfer-Encoding', + .reply(200, "pre15659941441371565994144137030823pre1565994144137156599414413703082dir0156599414413703959pre1565994144137156599414413703082dir1156599414444303016pre1565994144137156599414413703082dir21565994144753007641!76!cHJlMTU2NTk5NDE0NDEzNzE1NjU5OTQxNDQxMzcwMzA4MmZpbGUwMTU2NTk5NDE0NTA2MjA5NTY0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd454-e01a-0085-1cae-2b2d44000000', + '0ad3bfe6-d01a-00e0-2e81-549c19000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:30:54 GMT', + 'Fri, 16 Aug 2019 22:22:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150545208709301/') + .get('/share156599414258107028/') .query(true) - .reply(200, "pre15615054527331561505452733097761!76!cHJlMTU2MTUwNTQ1MjczMzE1NjE1MDU0NTI3MzMwOTc3NmZpbGUwMTU2MTUwNTQ1MzY4MDA3NTM36pre1561505452733156150545273309776file01561505453680075371024pre1561505452733156150545273309776file11561505454001092591024pre1561505452733156150545273309776file21561505454318062141024", [ 'Transfer-Encoding', + .reply(200, "pre15659941441371565994144137030821!76!cHJlMTU2NTk5NDE0NDEzNzE1NjU5OTQxNDQxMzcwMzA4MmZpbGUwMTU2NTk5NDE0NTA2MjA5NTY06pre1565994144137156599414413703082file01565994145062095641024pre1565994144137156599414413703082file11565994145374034671024pre1565994144137156599414413703082file21565994145685099121024", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3ed42143-801a-00bc-0fae-2b6de0000000', + '428611bf-901a-008a-3281-54c0b2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:30:54 GMT', + 'Fri, 16 Aug 2019 22:22:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301/pre1561505452733156150545273309776file0156150545368007537') + .delete('/share156599414258107028/pre1565994144137156599414413703082file0156599414506209564') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37127190-c01a-0038-2cae-2b3bc8000000', + '689b7835-801a-00bc-0e81-546de0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:55 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301/pre1561505452733156150545273309776file1156150545400109259') + .delete('/share156599414258107028/pre1565994144137156599414413703082file1156599414537403467') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c0687722-e01a-000d-5cae-2b959d000000', + '3b2753b3-901a-0002-0a81-54786b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:54 GMT', + 'Fri, 16 Aug 2019 22:22:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301/pre1561505452733156150545273309776file2156150545431806214') + .delete('/share156599414258107028/pre1565994144137156599414413703082file2156599414568509912') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25a65d2c-701a-00e6-3fae-2b6b61000000', + 'cba7e419-001a-000c-2381-549460000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:55 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301/pre1561505452733156150545273309776dir0156150545273302519') + .delete('/share156599414258107028/pre1565994144137156599414413703082dir0156599414413703959') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '523cfc00-001a-00c0-60ae-2bf0d5000000', + '516c646e-401a-00cc-5381-541e24000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:56 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301/pre1561505452733156150545273309776dir1156150545305305418') + .delete('/share156599414258107028/pre1565994144137156599414413703082dir1156599414444303016') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11582fcc-501a-0097-09ae-2b1958000000', + '968985db-401a-0022-0981-5414a7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:56 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301/pre1561505452733156150545273309776dir2156150545337106882') + .delete('/share156599414258107028/pre1565994144137156599414413703082dir2156599414475300764') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd07571f4-a01a-006c-55ae-2bd142000000', + '090b2edd-101a-0075-5d81-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:56 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301/dir156150545239504228') + .delete('/share156599414258107028/dir156599414382404166') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3104547a-d01a-004a-4aae-2b4af6000000', + 'd6199233-801a-0052-1c81-546763000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:57 GMT', + 'Fri, 16 Aug 2019 22:22:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545208709301') + .delete('/share156599414258107028') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '43963826-301a-002d-12ae-2bf951000000', + 'f591dabb-e01a-006b-2081-5427c7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:56 GMT', + 'Fri, 16 Aug 2019 22:22:33 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_listhandles_should_work.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_listhandles_should_work.js new file mode 100644 index 000000000000..bc18d7503b2b --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_listhandles_should_work.js @@ -0,0 +1,104 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599419682701717","dir":"dir156599419714708468"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599419682701717') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:23:17 GMT', + 'ETag', + '"0x8D72298561568EC"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '55153440-501a-00d3-0f81-54c534000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599419682701717/dir156599419714708468') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:23:17 GMT', + 'ETag', + '"0x8D722985651601B"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '82bd9536-401a-00e5-6481-546866000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:23:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599419682701717/dir156599419714708468') + .query(true) + .reply(200, "", [ 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/xml', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '240c2d4e-101a-00b9-1381-54999f000000', + 'x-ms-version', + '2018-11-09', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:23:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599419682701717/dir156599419714708468') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'cb577c77-001a-0048-3881-54480c000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599419682701717') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '6bd4c677-901a-0009-2c81-54601f000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:23:22 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_setmetadata.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_setmetadata.js index e4e84f4cac2e..38089343a482 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_setmetadata.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_setmetadata.js @@ -1,89 +1,89 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150541981500203","dir":"dir156150542011904619"} +module.exports.testInfo = {"share":"share156599411861508704","dir":"dir156599411930002033"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150541981500203') + .put('/share156599411861508704') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:20 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'ETag', - '"0x8D6F9C5167C787B"', + '"0x8D7229827A2139F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '061ed28f-101a-003a-52ad-2b3932000000', + 'd23179e0-d01a-0068-5c81-5424c0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:19 GMT', + 'Fri, 16 Aug 2019 22:21:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150541981500203/dir156150542011904619') + .put('/share156599411861508704/dir156599411930002033') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:20 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'ETag', - '"0x8D6F9C516AFDE36"', + '"0x8D722982819AB68"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '506b896f-401a-00c7-28ad-2b0650000000', + '847db7f9-401a-004f-6c81-54be89000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:19 GMT', + 'Fri, 16 Aug 2019 22:21:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150541981500203/dir156150542011904619') + .put('/share156599411861508704/dir156599411930002033') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:20 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'ETag', - '"0x8D6F9C516E9210A"', + '"0x8D72298287AC880"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd5695509-c01a-007c-5fad-2be7a4000000', + 'e797a9a7-a01a-00ef-4e81-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:20 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150541981500203/dir156150542011904619') + .get('/share156599411861508704/dir156599411930002033') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:20 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'ETag', - '"0x8D6F9C516E9210A"', + '"0x8D72298287AC880"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '71cc32ee-b01a-00d9-05ad-2bdcbd000000', + '1f223ec2-a01a-00a0-4e81-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'x-ms-meta-key0', @@ -97,41 +97,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:30:20 GMT', + 'Fri, 16 Aug 2019 22:22:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150541981500203/dir156150542011904619') + .delete('/share156599411861508704/dir156599411930002033') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '83fe98bd-801a-007b-3bad-2b1121000000', + '6bd4c5e5-901a-0009-7481-54601f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:21 GMT', + 'Fri, 16 Aug 2019 22:22:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150541981500203') + .delete('/share156599411861508704') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7eb3e5e-001a-00e9-71ad-2b8697000000', + '60d7fd4e-301a-0069-4d81-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:20 GMT', + 'Fri, 16 Aug 2019 22:22:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.js index 41fd9429c8e7..4adc8a750f1f 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiterator_for_listfilesanddirectories.js @@ -1,338 +1,338 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150545780208675","dir":"dir156150545812209235","undefined":"2019-06-25T23:30:58.704Z","pre1561505458704":"pre1561505458704156150545870405983","pre1561505458704156150545870405983dir0":"pre1561505458704156150545870405983dir0156150545870400236","pre1561505458704156150545870405983dir1":"pre1561505458704156150545870405983dir1156150545901902682","pre1561505458704156150545870405983dir2":"pre1561505458704156150545870405983dir2156150545969707001","pre1561505458704156150545870405983file0":"pre1561505458704156150545870405983file0156150546000802855","pre1561505458704156150545870405983file1":"pre1561505458704156150545870405983file1156150546032106638","pre1561505458704156150545870405983file2":"pre1561505458704156150545870405983file2156150546063607333"} +module.exports.testInfo = {"share":"share156599415350609828","dir":"dir156599415415107787","undefined":"2019-08-16T22:22:34.460Z","pre1565994154460":"pre1565994154460156599415446005203","pre1565994154460156599415446005203dir0":"pre1565994154460156599415446005203dir0156599415446004506","pre1565994154460156599415446005203dir1":"pre1565994154460156599415446005203dir1156599415476606749","pre1565994154460156599415446005203dir2":"pre1565994154460156599415446005203dir2156599415512302427","pre1565994154460156599415446005203file0":"pre1565994154460156599415446005203file0156599415543006690","pre1565994154460156599415446005203file1":"pre1565994154460156599415446005203file1156599415574905148","pre1565994154460156599415446005203file2":"pre1565994154460156599415446005203file2156599415605301123"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675') + .put('/share156599415350609828') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:58 GMT', + 'Fri, 16 Aug 2019 22:22:33 GMT', 'ETag', - '"0x8D6F9C52D20EC4C"', + '"0x8D722983C640FFD"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd45a8b77-a01a-004e-50ae-2bbf74000000', + '7d7fc12d-b01a-003c-5d81-54ce4a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:30:57 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675/dir156150545812209235') + .put('/share156599415350609828/dir156599415415107787') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:58 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'ETag', - '"0x8D6F9C52D755A9D"', + '"0x8D722983CA5B2C0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'be5dc710-801a-0059-22ae-2b7f17000000', + '31fba20a-501a-00b5-7781-54776e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:58 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675/pre1561505458704156150545870405983dir0156150545870400236') + .put('/share156599415350609828/pre1565994154460156599415446005203dir0156599415446004506') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:58 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'ETag', - '"0x8D6F9C52DAAF34F"', + '"0x8D722983CD46C41"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b7d1ea2-901a-00ce-23ae-2b1cde000000', + '6bd4c612-901a-0009-0381-54601f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:58 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675/pre1561505458704156150545870405983dir1156150545901902682') + .put('/share156599415350609828/pre1565994154460156599415446005203dir1156599415476606749') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:59 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'ETag', - '"0x8D6F9C52E1141CA"', + '"0x8D722983D0A04E0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2db2160e-901a-006f-5cae-2bd245000000', + 'b1fcca53-201a-00b1-2481-5482ec000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:58 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675/pre1561505458704156150545870405983dir2156150545969707001') + .put('/share156599415350609828/pre1565994154460156599415446005203dir2156599415512302427') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:30:59 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'ETag', - '"0x8D6F9C52E41A96E"', + '"0x8D722983D39A8F4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b7d1ea3-901a-00ce-24ae-2b1cde000000', + '8609954a-d01a-00af-5e81-545801000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:59 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675/pre1561505458704156150545870405983file0156150546000802855') + .put('/share156599415350609828/pre1565994154460156599415446005203file0156599415543006690') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:00 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'ETag', - '"0x8D6F9C52E72864F"', + '"0x8D722983D6A106B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cde7dfd8-801a-00d1-28ae-2bc7ce000000', + '0a6c94ea-f01a-0019-2581-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:30:59 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675/pre1561505458704156150545870405983file1156150546032106638') + .put('/share156599415350609828/pre1565994154460156599415446005203file1156599415574905148') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:00 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'ETag', - '"0x8D6F9C52EA1DC52"', + '"0x8D722983D98C9E5"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6cebbff4-101a-0075-7aae-2bfd2a000000', + '232abc5b-401a-00c7-0881-540650000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:00 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150545780208675/pre1561505458704156150545870405983file2156150546063607333') + .put('/share156599415350609828/pre1565994154460156599415446005203file2156599415605301123') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:01 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'ETag', - '"0x8D6F9C52EEA642E"', + '"0x8D722983DC7D18D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4a30767e-601a-003e-7dae-2bccb0000000', + 'a3c0a38b-701a-00a9-4881-54af79000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:00 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150545780208675/') + .get('/share156599415350609828/') .query(true) - .reply(200, "pre1561505458704156150545870405983pre1561505458704156150545870405983dir0156150545870400236pre1561505458704156150545870405983dir1156150545901902682pre1561505458704156150545870405983dir2156150545969707001pre1561505458704156150545870405983file01561505460008028551024pre1561505458704156150545870405983file11561505460321066381024pre1561505458704156150545870405983file21561505460636073331024", [ 'Transfer-Encoding', + .reply(200, "pre1565994154460156599415446005203pre1565994154460156599415446005203dir0156599415446004506pre1565994154460156599415446005203dir1156599415476606749pre1565994154460156599415446005203dir2156599415512302427pre1565994154460156599415446005203file01565994155430066901024pre1565994154460156599415446005203file11565994155749051481024pre1565994154460156599415446005203file21565994156053011231024", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a116cf0a-a01a-0023-02ae-2b155a000000', + 'e4c31e3c-a01a-004e-4681-54bf74000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:00 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675/pre1561505458704156150545870405983file0156150546000802855') + .delete('/share156599415350609828/pre1565994154460156599415446005203file0156599415543006690') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b2e3de5-001a-000c-0cae-2b9460000000', + '6740888d-201a-0093-5d81-54ecda000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:01 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675/pre1561505458704156150545870405983file1156150546032106638') + .delete('/share156599415350609828/pre1565994154460156599415446005203file1156599415574905148') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ac750fce-f01a-009a-64ae-2bf654000000', + 'a3178d7c-f01a-007f-2581-54e4a3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:01 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675/pre1561505458704156150545870405983file2156150546063607333') + .delete('/share156599415350609828/pre1565994154460156599415446005203file2156599415605301123') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f9610f5e-101a-00df-4aae-2b2bc5000000', + '40571721-701a-00a2-3781-54b70d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:01 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675/pre1561505458704156150545870405983dir0156150545870400236') + .delete('/share156599415350609828/pre1565994154460156599415446005203dir0156599415446004506') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bc882602-d01a-00a4-75ae-2b4075000000', + '4e4c9116-101a-0090-1f81-54efdd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:02 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675/pre1561505458704156150545870405983dir1156150545901902682') + .delete('/share156599415350609828/pre1565994154460156599415446005203dir1156599415476606749') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ceccc851-001a-00e2-27ae-2b9ee3000000', + 'b5a58d78-f01a-009a-0681-54f654000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:01 GMT', + 'Fri, 16 Aug 2019 22:22:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675/pre1561505458704156150545870405983dir2156150545969707001') + .delete('/share156599415350609828/pre1565994154460156599415446005203dir2156599415512302427') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '35a002c5-401a-006d-6bae-2bd0bf000000', + '2d12e579-701a-0047-2581-54a5fa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:03 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675/dir156150545812209235') + .delete('/share156599415350609828/dir156599415415107787') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c39058e0-c01a-0077-7dae-2bffd0000000', + '2ce911e7-c01a-00dd-0681-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:02 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150545780208675') + .delete('/share156599415350609828') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '14a51204-601a-00bd-23ae-2b6c1d000000', + '59a5aa39-b01a-00bf-6981-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:03 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.js index 5eaa64465990..404fb8d345b9 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listfilesanddirectories.js @@ -1,361 +1,361 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150547696607961","dir":"dir156150547730600219","undefined":"2019-06-25T23:31:17.617Z","pre1561505477617":"pre1561505477617156150547761705459","pre1561505477617156150547761705459dir0":"pre1561505477617156150547761705459dir0156150547761706436","pre1561505477617156150547761705459dir1":"pre1561505477617156150547761705459dir1156150547800604611","pre1561505477617156150547761705459dir2":"pre1561505477617156150547761705459dir2156150547834307110","pre1561505477617156150547761705459file0":"pre1561505477617156150547761705459file0156150547871802351","pre1561505477617156150547761705459file1":"pre1561505477617156150547761705459file1156150547907304581","pre1561505477617156150547761705459file2":"pre1561505477617156150547761705459file2156150547938409347"} +module.exports.testInfo = {"share":"share156599418160003671","dir":"dir156599418425202415","undefined":"2019-08-16T22:23:04.614Z","pre1565994184614":"pre1565994184614156599418461402049","pre1565994184614156599418461402049dir0":"pre1565994184614156599418461402049dir0156599418461503331","pre1565994184614156599418461402049dir1":"pre1565994184614156599418461402049dir1156599418493302117","pre1565994184614156599418461402049dir2":"pre1565994184614156599418461402049dir2156599418525309128","pre1565994184614156599418461402049file0":"pre1565994184614156599418461402049file0156599418548502785","pre1565994184614156599418461402049file1":"pre1565994184614156599418461402049file1156599418580106614","pre1565994184614156599418461402049file2":"pre1565994184614156599418461402049file2156599418611505724"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961') + .put('/share156599418160003671') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:17 GMT', + 'Fri, 16 Aug 2019 22:23:02 GMT', 'ETag', - '"0x8D6F9C538922D67"', + '"0x8D722984D9DDD4C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b2e3dfa-001a-000c-12ae-2b9460000000', + '2220b767-701a-00e6-3c81-546b61000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:17 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961/dir156150547730600219') + .put('/share156599418160003671/dir156599418425202415') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:17 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'ETag', - '"0x8D6F9C538C16BE5"', + '"0x8D722984E975E1F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25c7d996-e01a-00a7-7fae-2b4372000000', + '8475f675-d01a-004a-7f81-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:17 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961/pre1561505477617156150547761705459dir0156150547761706436') + .put('/share156599418160003671/pre1565994184614156599418461402049dir0156599418461503331') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:17 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'ETag', - '"0x8D6F9C538FC35AD"', + '"0x8D722984ECF19E9"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '18275085-c01a-0011-38ae-2b4d8a000000', + '3112967f-301a-0004-5681-548f13000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:17 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961/pre1561505477617156150547761705459dir1156150547800604611') + .put('/share156599418160003671/pre1565994184614156599418461402049dir1156599418493302117') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:18 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'ETag', - '"0x8D6F9C5392FAB1B"', + '"0x8D722984EFF5A4A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd4a960b-a01a-00c6-63ae-2b07ad000000', + '620ebc7d-301a-000f-6481-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:18 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961/pre1561505477617156150547761705459dir2156150547834307110') + .put('/share156599418160003671/pre1565994184614156599418461402049dir2156599418525309128') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:18 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'ETag', - '"0x8D6F9C539693C22"', + '"0x8D722984F23B1A4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'be5dc72d-801a-0059-2aae-2b7f17000000', + '620ebc7f-301a-000f-6581-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:18 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961/pre1561505477617156150547761705459file0156150547871802351') + .put('/share156599418160003671/pre1565994184614156599418461402049file0156599418548502785') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:18 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'ETag', - '"0x8D6F9C53999CADD"', + '"0x8D722984F53A3D7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e0fd9b27-801a-001d-1bae-2ba37b000000', + '0f3e4b6c-701a-0008-2881-5461e2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:18 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961/pre1561505477617156150547761705459file1156150547907304581') + .put('/share156599418160003671/pre1565994184614156599418461402049file1156599418580106614') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:19 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'ETag', - '"0x8D6F9C539CEA01B"', + '"0x8D722984F83E437"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '18275089-c01a-0011-39ae-2b4d8a000000', + 'ceda07f8-e01a-00c1-4681-54f128000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:18 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150547696607961/pre1561505477617156150547761705459file2156150547938409347') + .put('/share156599418160003671/pre1565994184614156599418461402049file2156599418611505724') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:19 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'ETag', - '"0x8D6F9C539FE9272"', + '"0x8D722984FB36127"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '339f37ef-201a-0032-64ae-2b2241000000', + '426ae6e3-201a-001b-7481-545403000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:19 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150547696607961/') + .get('/share156599418160003671/') .query(true) - .reply(200, "pre15615054776171561505477617054593pre1561505477617156150547761705459dir0156150547761706436pre1561505477617156150547761705459dir1156150547800604611pre1561505477617156150547761705459dir21561505478343071101!76!cHJlMTU2MTUwNTQ3NzYxNzE1NjE1MDU0Nzc2MTcwNTQ1OWZpbGUwMTU2MTUwNTQ3ODcxODAyMzUx", [ 'Transfer-Encoding', + .reply(200, "pre15659941846141565994184614020493pre1565994184614156599418461402049dir0156599418461503331pre1565994184614156599418461402049dir1156599418493302117pre1565994184614156599418461402049dir21565994185253091281!76!cHJlMTU2NTk5NDE4NDYxNDE1NjU5OTQxODQ2MTQwMjA0OWZpbGUwMTU2NTk5NDE4NTQ4NTAyNzg1", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7eb3f25-001a-00e9-66ae-2b8697000000', + '8475f67b-d01a-004a-0281-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:19 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150547696607961/') + .get('/share156599418160003671/') .query(true) - .reply(200, "pre15615054776171561505477617054591!76!cHJlMTU2MTUwNTQ3NzYxNzE1NjE1MDU0Nzc2MTcwNTQ1OWZpbGUwMTU2MTUwNTQ3ODcxODAyMzUx6pre1561505477617156150547761705459file01561505478718023511024pre1561505477617156150547761705459file11561505479073045811024pre1561505477617156150547761705459file21561505479384093471024", [ 'Transfer-Encoding', + .reply(200, "pre15659941846141565994184614020491!76!cHJlMTU2NTk5NDE4NDYxNDE1NjU5OTQxODQ2MTQwMjA0OWZpbGUwMTU2NTk5NDE4NTQ4NTAyNzg16pre1565994184614156599418461402049file01565994185485027851024pre1565994184614156599418461402049file11565994185801066141024pre1565994184614156599418461402049file21565994186115057241024", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd45a8bad-a01a-004e-62ae-2bbf74000000', + 'e797aa10-a01a-00ef-6e81-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:19 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961/pre1561505477617156150547761705459file0156150547871802351') + .delete('/share156599418160003671/pre1565994184614156599418461402049file0156599418548502785') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '80340eef-c01a-0092-22ae-2bed27000000', + 'e8b25b92-c01a-00bb-7681-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:20 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961/pre1561505477617156150547761705459file1156150547907304581') + .delete('/share156599418160003671/pre1565994184614156599418461402049file1156599418580106614') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d640a06-201a-0054-34ae-2b901b000000', + '2007d17f-d01a-0063-5681-543cb4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:20 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961/pre1561505477617156150547761705459file2156150547938409347') + .delete('/share156599418160003671/pre1565994184614156599418461402049file2156599418611505724') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd5695575-c01a-007c-06ae-2be7a4000000', + '4d522dce-401a-0000-5681-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:21 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961/pre1561505477617156150547761705459dir0156150547761706436') + .delete('/share156599418160003671/pre1565994184614156599418461402049dir0156599418461503331') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ac750ff5-f01a-009a-6bae-2bf654000000', + 'bf703143-f01a-0074-7281-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:20 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961/pre1561505477617156150547761705459dir1156150547800604611') + .delete('/share156599418160003671/pre1565994184614156599418461402049dir1156599418493302117') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7c87826-901a-00a8-08ae-2bae84000000', + 'c2128199-b01a-001e-5081-54a07c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:21 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961/pre1561505477617156150547761705459dir2156150547834307110') + .delete('/share156599418160003671/pre1565994184614156599418461402049dir2156599418525309128') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dc62431f-f01a-003b-64ae-2b38cf000000', + '2d12e5bc-701a-0047-3e81-54a5fa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:22 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961/dir156150547730600219') + .delete('/share156599418160003671/dir156599418425202415') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd15a336f-901a-0081-23ae-2bd8c6000000', + '47ff8728-901a-0020-7481-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:22 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150547696607961') + .delete('/share156599418160003671') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37ee68b4-701a-006e-53ae-2bd3b8000000', + 'ce497de8-f01a-0091-7f81-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:22 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.js index 334cda732c13..cc9e5573d3cd 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorbypage_for_listfilesanddirectories.js @@ -1,384 +1,384 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150546981901822","dir":"dir156150547012407805","undefined":"2019-06-25T23:31:10.448Z","pre1561505470448":"pre1561505470448156150547044807124","pre1561505470448156150547044807124dir0":"pre1561505470448156150547044807124dir0156150547044802711","pre1561505470448156150547044807124dir1":"pre1561505470448156150547044807124dir1156150547076507171","pre1561505470448156150547044807124dir2":"pre1561505470448156150547044807124dir2156150547108201411","pre1561505470448156150547044807124file0":"pre1561505470448156150547044807124file0156150547140905364","pre1561505470448156150547044807124file1":"pre1561505470448156150547044807124file1156150547172307177","pre1561505470448156150547044807124file2":"pre1561505470448156150547044807124file2156150547203503662"} +module.exports.testInfo = {"share":"share156599417149807910","dir":"dir156599417180201705","undefined":"2019-08-16T22:22:52.111Z","pre1565994172111":"pre1565994172111156599417211101261","pre1565994172111156599417211101261dir0":"pre1565994172111156599417211101261dir0156599417211106010","pre1565994172111156599417211101261dir1":"pre1565994172111156599417211101261dir1156599417246609805","pre1565994172111156599417211101261dir2":"pre1565994172111156599417211101261dir2156599417276708370","pre1565994172111156599417211101261file0":"pre1565994172111156599417211101261file0156599417310809942","pre1565994172111156599417211101261file1":"pre1565994172111156599417211101261file1156599417341604952","pre1565994172111156599417211101261file2":"pre1565994172111156599417211101261file2156599417377304283"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822') + .put('/share156599417149807910') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:10 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'ETag', - '"0x8D6F9C5344A6555"', + '"0x8D7229846FCBBB1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11582fee-501a-0097-10ae-2b1958000000', + '8ced423e-b01a-0096-2881-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:09 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822/dir156150547012407805') + .put('/share156599417149807910/dir156599417180201705') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:10 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'ETag', - '"0x8D6F9C53479D37B"', + '"0x8D72298472AC6B1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'afc219eb-301a-0062-29ae-2b3d49000000', + '6cd8b7db-a01a-00cd-0381-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:09 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822/pre1561505470448156150547044807124dir0156150547044802711') + .put('/share156599417149807910/pre1565994172111156599417211101261dir0156599417211106010') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:10 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'ETag', - '"0x8D6F9C534AB25A9"', + '"0x8D72298475FE9ED"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '793e5963-201a-005f-7bae-2b886f000000', + 'd761f286-b01a-005a-1f81-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:09 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822/pre1561505470448156150547044807124dir1156150547076507171') + .put('/share156599417149807910/pre1565994172111156599417211101261dir1156599417246609805') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:11 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'ETag', - '"0x8D6F9C534DC0289"', + '"0x8D72298478F3FC3"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b7c1c1a-f01a-0019-63ae-2b56f9000000', + '64f40e48-d01a-0041-4681-545282000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:10 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822/pre1561505470448156150547044807124dir2156150547108201411') + .put('/share156599417149807910/pre1565994172111156599417211101261dir2156599417276708370') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:11 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'ETag', - '"0x8D6F9C5350C42FF"', + '"0x8D7229847C30334"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '47d22a93-001a-0007-2dae-2b8c14000000', + 'a868c1f7-901a-00c5-4381-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:10 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822/pre1561505470448156150547044807124file0156150547140905364') + .put('/share156599417149807910/pre1565994172111156599417211101261file0156599417310809942') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:11 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'ETag', - '"0x8D6F9C5353D46E3"', + '"0x8D7229847F1BCAE"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd46c-e01a-0085-23ae-2b2d44000000', + '847db85d-401a-004f-0e81-54be89000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:10 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822/pre1561505470448156150547044807124file1156150547172307177') + .put('/share156599417149807910/pre1565994172111156599417211101261file1156599417341604952') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:11 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'ETag', - '"0x8D6F9C5356DFCA1"', + '"0x8D722984828B50A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3a08ee6-501a-00b5-6bae-2b776e000000', + 'c11d15d0-801a-0034-7381-54d539000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:11 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546981901822/pre1561505470448156150547044807124file2156150547203503662') + .put('/share156599417149807910/pre1565994172111156599417211101261file2156599417377304283') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:12 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'ETag', - '"0x8D6F9C535A39557"', + '"0x8D722984857204E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '89366199-c01a-00bb-5cae-2b9b65000000', + '7835c35f-301a-008c-7f81-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:12 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150546981901822/') + .get('/share156599417149807910/') .query(true) - .reply(200, "pre15615054704481561505470448071242pre1561505470448156150547044807124dir0156150547044802711pre1561505470448156150547044807124dir11561505470765071711!76!cHJlMTU2MTUwNTQ3MDQ0ODE1NjE1MDU0NzA0NDgwNzEyNGRpcjIxNTYxNTA1NDcxMDgyMDE0MTE-", [ 'Transfer-Encoding', + .reply(200, "pre15659941721111565994172111012612pre1565994172111156599417211101261dir0156599417211106010pre1565994172111156599417211101261dir11565994172466098051!76!cHJlMTU2NTk5NDE3MjExMTE1NjU5OTQxNzIxMTEwMTI2MWRpcjIxNTY1OTk0MTcyNzY3MDgzNzA-", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b9e11714-801a-0016-26ae-2bbb0f000000', + 'd7cd1500-401a-00a1-4881-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:12 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150546981901822/') + .get('/share156599417149807910/') .query(true) - .reply(200, "pre15615054704481561505470448071241!76!cHJlMTU2MTUwNTQ3MDQ0ODE1NjE1MDU0NzA0NDgwNzEyNGRpcjIxNTYxNTA1NDcxMDgyMDE0MTE-2pre1561505470448156150547044807124dir2156150547108201411pre1561505470448156150547044807124file015615054714090536410241!76!cHJlMTU2MTUwNTQ3MDQ0ODE1NjE1MDU0NzA0NDgwNzEyNGZpbGUxMTU2MTUwNTQ3MTcyMzA3MTc3", [ 'Transfer-Encoding', + .reply(200, "pre15659941721111565994172111012611!76!cHJlMTU2NTk5NDE3MjExMTE1NjU5OTQxNzIxMTEwMTI2MWRpcjIxNTY1OTk0MTcyNzY3MDgzNzA-2pre1565994172111156599417211101261dir2156599417276708370pre1565994172111156599417211101261file015659941731080994210241!76!cHJlMTU2NTk5NDE3MjExMTE1NjU5OTQxNzIxMTEwMTI2MWZpbGUxMTU2NTk5NDE3MzQxNjA0OTUy", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25c7d98a-e01a-00a7-78ae-2b4372000000', + '7e1c1da5-301a-00ea-6a81-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:13 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150546981901822/') + .get('/share156599417149807910/') .query(true) - .reply(200, "pre15615054704481561505470448071241!76!cHJlMTU2MTUwNTQ3MDQ0ODE1NjE1MDU0NzA0NDgwNzEyNGZpbGUxMTU2MTUwNTQ3MTcyMzA3MTc32pre1561505470448156150547044807124file11561505471723071771024pre1561505470448156150547044807124file21561505472035036621024", [ 'Transfer-Encoding', + .reply(200, "pre15659941721111565994172111012611!76!cHJlMTU2NTk5NDE3MjExMTE1NjU5OTQxNzIxMTEwMTI2MWZpbGUxMTU2NTk5NDE3MzQxNjA0OTUy2pre1565994172111156599417211101261file11565994173416049521024pre1565994172111156599417211101261file21565994173773042831024", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '74cc954f-b01a-001e-5aae-2ba07c000000', + '846e620f-e01a-00e8-8081-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:13 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822/pre1561505470448156150547044807124file0156150547140905364') + .delete('/share156599417149807910/pre1565994172111156599417211101261file0156599417310809942') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b29ba3e9-d01a-00eb-15ae-2b846d000000', + '5515341f-501a-00d3-0381-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:13 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822/pre1561505470448156150547044807124file1156150547172307177') + .delete('/share156599417149807910/pre1565994172111156599417211101261file1156599417341604952') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dd273852-701a-00ed-08ae-2b7315000000', + 'ea26c04c-c01a-0099-4381-54f553000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:14 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822/pre1561505470448156150547044807124file2156150547203503662') + .delete('/share156599417149807910/pre1565994172111156599417211101261file2156599417377304283') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '339f37eb-201a-0032-63ae-2b2241000000', + '78e39fb1-c01a-0011-5e81-544d8a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:14 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822/pre1561505470448156150547044807124dir0156150547044802711') + .delete('/share156599417149807910/pre1565994172111156599417211101261dir0156599417211106010') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b54c7a02-b01a-00d2-5dae-2bc4c9000000', + 'd57cfc0b-c01a-0033-3481-5423bc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:15 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822/pre1561505470448156150547044807124dir1156150547076507171') + .delete('/share156599417149807910/pre1565994172111156599417211101261dir1156599417246609805') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '81a16a5e-601a-00d0-49ae-2bc633000000', + '1d5fb396-c01a-0038-5281-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:14 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822/pre1561505470448156150547044807124dir2156150547108201411') + .delete('/share156599417149807910/pre1565994172111156599417211101261dir2156599417276708370') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b64f8cb6-101a-007e-37ae-2be55e000000', + '8583dda1-501a-0014-6081-54b9f5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:15 GMT', + 'Fri, 16 Aug 2019 22:22:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822/dir156150547012407805') + .delete('/share156599417149807910/dir156599417180201705') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48e32dfd-201a-0098-3bae-2bf4ae000000', + '20ce7dab-e01a-008e-3781-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:15 GMT', + 'Fri, 16 Aug 2019 22:22:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546981901822') + .delete('/share156599417149807910') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c4be7a9f-d01a-0063-24ae-2b3cb4000000', + 'c8ffbd21-b01a-0073-2e81-540a52000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:16 GMT', + 'Fri, 16 Aug 2019 22:23:01 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.js b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.js index 95c2012c1fd3..abcfb60aa99d 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listfilesanddirectories.js @@ -1,338 +1,338 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150546391206508","dir":"dir156150546422207735","undefined":"2019-06-25T23:31:04.546Z","pre1561505464546":"pre1561505464546156150546454703838","pre1561505464546156150546454703838dir0":"pre1561505464546156150546454703838dir0156150546454704625","pre1561505464546156150546454703838dir1":"pre1561505464546156150546454703838dir1156150546486805590","pre1561505464546156150546454703838dir2":"pre1561505464546156150546454703838dir2156150546519506072","pre1561505464546156150546454703838file0":"pre1561505464546156150546454703838file0156150546550409407","pre1561505464546156150546454703838file1":"pre1561505464546156150546454703838file1156150546584004822","pre1561505464546156150546454703838file2":"pre1561505464546156150546454703838file2156150546668602367"} +module.exports.testInfo = {"share":"share156599416365407915","dir":"dir156599416511907194","undefined":"2019-08-16T22:22:45.433Z","pre1565994165433":"pre1565994165433156599416543300863","pre1565994165433156599416543300863dir0":"pre1565994165433156599416543300863dir0156599416543303979","pre1565994165433156599416543300863dir1":"pre1565994165433156599416543300863dir1156599416573407026","pre1565994165433156599416543300863dir2":"pre1565994165433156599416543300863dir2156599416603604311","pre1565994165433156599416543300863file0":"pre1565994165433156599416543300863file0156599416649609482","pre1565994165433156599416543300863file1":"pre1565994165433156599416543300863file1156599416680202262","pre1565994165433156599416543300863file2":"pre1565994165433156599416543300863file2156599416712609559"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508') + .put('/share156599416365407915') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:04 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'ETag', - '"0x8D6F9C530C601D6"', + '"0x8D7229842EA03EB"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9289960d-a01a-00ef-79ae-2b71ef000000', + 'ce497daa-f01a-0091-6781-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:03 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508/dir156150546422207735') + .put('/share156599416365407915/dir156599416511907194') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:04 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'ETag', - '"0x8D6F9C530F5AE69"', + '"0x8D72298432F1488"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3dc0fee4-501a-0079-45ae-2b13db000000', + 'd4e416ea-401a-0083-0f81-54da3c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:03 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508/pre1561505464546156150546454703838dir0156150546454704625') + .put('/share156599416365407915/pre1565994165433156599416543300863dir0156599416543303979') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:04 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'ETag', - '"0x8D6F9C5312727AA"', + '"0x8D72298435DF515"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '35f9b46b-501a-00be-68ae-2b6f1a000000', + '3d43da26-301a-00c3-4f81-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:04 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508/pre1561505464546156150546454703838dir1156150546486805590') + .put('/share156599416365407915/pre1565994165433156599416543300863dir1156599416573407026') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:05 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'ETag', - '"0x8D6F9C531574120"', + '"0x8D72298438BEB1D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7543de21-701a-008b-4dae-2bc14f000000', + '135a28ee-501a-00be-0f81-546f1a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:04 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508/pre1561505464546156150546454703838dir2156150546519506072') + .put('/share156599416365407915/pre1565994165433156599416543300863dir2156599416603604311') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:05 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'ETag', - '"0x8D6F9C531892FAB"', + '"0x8D7229843D0C8A4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9717b7f8-c01a-00d6-71ae-2b314b000000', + '5430ed45-801a-003f-5b81-54cd4d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:04 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508/pre1561505464546156150546454703838file0156150546550409407') + .put('/share156599416365407915/pre1565994165433156599416543300863file0156599416649609482') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:05 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'ETag', - '"0x8D6F9C531B8ACBC"', + '"0x8D72298440093D8"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4a307684-601a-003e-7fae-2bccb0000000', + '59a5aa43-b01a-00bf-6a81-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:05 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508/pre1561505464546156150546454703838file1156150546584004822') + .put('/share156599416365407915/pre1565994165433156599416543300863file1156599416680202262') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:06 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'ETag', - '"0x8D6F9C5323A7750"', + '"0x8D72298442F264F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '52930b4e-201a-0010-02ae-2b4c77000000', + '7ca31ceb-801a-009e-6281-5403d6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:06 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150546391206508/pre1561505464546156150546454703838file2156150546668602367') + .put('/share156599416365407915/pre1565994165433156599416543300863file2156599416712609559') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:06 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'ETag', - '"0x8D6F9C5326D5053"', + '"0x8D722984460C68A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'adcfdc16-401a-000b-62ae-2b62e5000000', + 'a3b12c13-401a-0088-1681-54c248000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:06 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150546391206508/') + .get('/share156599416365407915/') .query(true) - .reply(200, "pre1561505464546156150546454703838pre1561505464546156150546454703838dir0156150546454704625pre1561505464546156150546454703838dir1156150546486805590pre1561505464546156150546454703838dir2156150546519506072pre1561505464546156150546454703838file01561505465504094071024pre1561505464546156150546454703838file11561505465840048221024pre1561505464546156150546454703838file21561505466686023671024", [ 'Transfer-Encoding', + .reply(200, "pre1565994165433156599416543300863pre1565994165433156599416543300863dir0156599416543303979pre1565994165433156599416543300863dir1156599416573407026pre1565994165433156599416543300863dir2156599416603604311pre1565994165433156599416543300863file01565994166496094821024pre1565994165433156599416543300863file11565994166802022621024pre1565994165433156599416543300863file21565994167126095591024", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8d62ae76-801a-0034-35ae-2bd539000000', + '1cb493ed-301a-00e1-3381-549de4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:07 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508/pre1561505464546156150546454703838file0156150546550409407') + .delete('/share156599416365407915/pre1565994165433156599416543300863file0156599416649609482') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '97befb8a-b01a-0037-7dae-2bd63e000000', + '66fd41d0-501a-0072-3d81-540baf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:06 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508/pre1561505464546156150546454703838file1156150546584004822') + .delete('/share156599416365407915/pre1565994165433156599416543300863file1156599416680202262') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ac750fda-f01a-009a-68ae-2bf654000000', + '29bfba75-701a-0003-5581-547996000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:06 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508/pre1561505464546156150546454703838file2156150546668602367') + .delete('/share156599416365407915/pre1565994165433156599416543300863file2156599416712609559') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8d0a8b37-f01a-005d-7dae-2b8a95000000', + '4d05514d-c01a-0077-4a81-54ffd0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:07 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508/pre1561505464546156150546454703838dir0156150546454704625') + .delete('/share156599416365407915/pre1565994165433156599416543300863dir0156599416543303979') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b2e3def-001a-000c-0fae-2b9460000000', + 'ee0d22f8-a01a-00ab-5a81-54ad83000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:08 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508/pre1561505464546156150546454703838dir1156150546486805590') + .delete('/share156599416365407915/pre1565994165433156599416543300863dir1156599416573407026') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7c87815-901a-00a8-05ae-2bae84000000', + '4057173f-701a-00a2-3c81-54b70d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:08 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508/pre1561505464546156150546454703838dir2156150546519506072') + .delete('/share156599416365407915/pre1565994165433156599416543300863dir2156599416603604311') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b47119f-301a-004b-48ae-2b4b0b000000', + '04d398b4-b01a-0051-4c81-546464000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:08 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508/dir156150546422207735') + .delete('/share156599416365407915/dir156599416511907194') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4559d5ca-d01a-000e-0eae-2b969a000000', + 'ccdd7b10-e01a-00a7-1e81-544372000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:08 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150546391206508') + .delete('/share156599416365407915') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3aad5038-e01a-002f-14ae-2bfbab000000', + '2007d16c-d01a-0063-4f81-543cb4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:09 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 9d98fce162c5..f180b9d5844e 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150561941902142","dir":"dir156150561971403819"} +module.exports.testInfo = {"share":"share156599445956802562","dir":"dir156599445987104004"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150561941902142') + .put('/share156599445956802562') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:39 GMT', + 'Fri, 16 Aug 2019 22:27:39 GMT', 'ETag', - '"0x8D6F9C58D73E23E"', + '"0x8D72298F2AFEA17"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '506b8b7e-401a-00c7-41ae-2b0650000000', + 'e0a986d1-a01a-0023-1981-54155a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:39 GMT', + 'Fri, 16 Aug 2019 22:27:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150561941902142/dir156150561971403819') + .put('/share156599445956802562/dir156599445987104004') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:39 GMT', + 'Fri, 16 Aug 2019 22:27:40 GMT', 'ETag', - '"0x8D6F9C58DA4DA13"', + '"0x8D72298F2E3D054"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e96d9ce3-201a-00b1-3cae-2b82ec000000', + '83a518b8-f01a-00d5-0681-54324c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:39 GMT', + 'Fri, 16 Aug 2019 22:27:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150561941902142/dir156150561971403819') + .get('/share156599445956802562/dir156599445987104004') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:39 GMT', + 'Fri, 16 Aug 2019 22:27:40 GMT', 'ETag', - '"0x8D6F9C58DA4DA13"', + '"0x8D72298F2E3D054"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e2c4c56b-f01a-00de-23ae-2b2a38000000', + '8d1d817b-a01a-0045-2781-54a700000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', @@ -68,41 +68,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:39 GMT', + 'Fri, 16 Aug 2019 22:27:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150561941902142/dir156150561971403819') + .delete('/share156599445956802562/dir156599445987104004') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f862744-701a-00c4-57ae-2b0557000000', + '571b42f3-001a-008f-6481-5434cd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:40 GMT', + 'Fri, 16 Aug 2019 22:27:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150561941902142') + .delete('/share156599445956802562') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd04d1f80-e01a-0006-7fae-2b8de9000000', + 'c7054423-501a-005b-3381-547ded000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:40 GMT', + 'Fri, 16 Aug 2019 22:27:42 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 5c178873158c..546d823231b0 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150562095403684","dir":"dir156150562125203762"} +module.exports.testInfo = {"share":"share156599446251302825","dir":"dir156599446282303733"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562095403684') + .put('/share156599446251302825') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:41 GMT', + 'Fri, 16 Aug 2019 22:27:42 GMT', 'ETag', - '"0x8D6F9C58E5E5A98"', + '"0x8D72298F4719268"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ffa02218-d01a-00c9-75ae-2bea5b000000', + '7c2966d8-701a-00c4-1a81-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:40 GMT', + 'Fri, 16 Aug 2019 22:27:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562095403684/dir156150562125203762') + .put('/share156599446251302825/dir156599446282303733') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:41 GMT', + 'Fri, 16 Aug 2019 22:27:43 GMT', 'ETag', - '"0x8D6F9C58E8C7E13"', + '"0x8D72298F4A0C435"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd6617dd0-401a-00cc-10ae-2b1e24000000', + '0bd3eec1-b01a-00b4-0a81-547693000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:41 GMT', + 'Fri, 16 Aug 2019 22:27:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150562095403684/dir156150562125203762') + .get('/share156599446251302825/dir156599446282303733') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:41 GMT', + 'Fri, 16 Aug 2019 22:27:43 GMT', 'ETag', - '"0x8D6F9C58E8C7E13"', + '"0x8D72298F4A0C435"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e0d95368-a01a-0028-13ae-2b0d2e000000', + 'ee0d255b-a01a-00ab-5d81-54ad83000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', @@ -68,41 +68,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:41 GMT', + 'Fri, 16 Aug 2019 22:27:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150562095403684/dir156150562125203762') + .delete('/share156599446251302825/dir156599446282303733') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b1df2c8d-701a-0047-45ae-2ba5fa000000', + '1cd4b866-301a-00ae-1881-5459fc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:41 GMT', + 'Fri, 16 Aug 2019 22:27:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150562095403684') + .delete('/share156599446251302825') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '893662eb-c01a-00bb-6eae-2b9b65000000', + '78e3a17c-c01a-0011-6481-544d8a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index f4efa7bc8d48..bb7f2251b5c4 100644 --- a/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-file/recordings/node/directoryclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150562244904285","dir":"dir156150562274102693"} +module.exports.testInfo = {"share":"share156599446405103676","dir":"dir156599446474108871"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562244904285') + .put('/share156599446405103676') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:44 GMT', 'ETag', - '"0x8D6F9C58F41C606"', + '"0x8D72298F58999C8"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e2c4c570-f01a-00de-26ae-2b2a38000000', + 'f46476d6-c01a-0055-0281-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562244904285/dir156150562274102693') + .put('/share156599446405103676/dir156599446474108871') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:44 GMT', 'ETag', - '"0x8D6F9C58F6F3EF6"', + '"0x8D72298F5C50657"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '187b2205-e01a-006b-1cae-2b27c7000000', + '1cd4b86a-301a-00ae-1981-5459fc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150562244904285/dir156150562274102693') + .get('/share156599446405103676/dir156599446474108871') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:44 GMT', 'ETag', - '"0x8D6F9C58F6F3EF6"', + '"0x8D72298F5C50657"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b43757b-101a-0031-66ae-2b2146000000', + 'bf7034e3-f01a-0074-7e81-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', @@ -68,41 +68,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150562244904285/dir156150562274102693') + .delete('/share156599446405103676/dir156599446474108871') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3a09485-501a-00b5-57ae-2b776e000000', + '8ced442d-b01a-0096-4181-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150562244904285') + .delete('/share156599446405103676') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3a09490-501a-00b5-60ae-2b776e000000', + '9cca8b40-201a-00dc-2481-5428c2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:42 GMT', + 'Fri, 16 Aug 2019 22:27:47 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.js index 5bfcc076f434..a2050bb0aaf4 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_abortcopyfromurl_should_failed_for_a_completed_copy_operation.js @@ -1,131 +1,131 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150551956803327","dir":"dir156150551987206671","file":"file156150552030902573","copiedfile":"copiedfile156150552063407462"} +module.exports.testInfo = {"share":"share156599425769106658","dir":"dir156599426270006935","file":"file156599426307601704","copiedfile":"copiedfile156599426338704986"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551956803327') + .put('/share156599425769106658') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:59 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'ETag', - '"0x8D6F9C551F16108"', + '"0x8D722987C7ED9D2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10fa72b1-801a-009e-28ae-2b03d6000000', + 'a57681b5-b01a-00d9-1f81-54dcbd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:58 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551956803327/dir156150551987206671') + .put('/share156599425769106658/dir156599426270006935') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:00 GMT', + 'Fri, 16 Aug 2019 22:24:23 GMT', 'ETag', - '"0x8D6F9C55231C413"', + '"0x8D722987D61D05D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd04d1eff-e01a-0006-62ae-2b8de9000000', + '983fe10c-501a-00d8-4d81-54dd40000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:59 GMT', + 'Fri, 16 Aug 2019 22:24:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551956803327/dir156150551987206671/file156150552030902573') + .put('/share156599425769106658/dir156599426270006935/file156599426307601704') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:00 GMT', + 'Fri, 16 Aug 2019 22:24:23 GMT', 'ETag', - '"0x8D6F9C552636459"', + '"0x8D722987D9210C2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '98fc4c73-501a-005b-27ae-2b7ded000000', + 'ccdd7c59-e01a-00a7-2a81-544372000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:00 GMT', + 'Fri, 16 Aug 2019 22:24:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551956803327/dir156150551987206671/copiedfile156150552063407462') + .put('/share156599425769106658/dir156599426270006935/copiedfile156599426338704986') .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:01 GMT', + 'Fri, 16 Aug 2019 22:24:23 GMT', 'ETag', - '"0x8D6F9C552E10F8D"', + '"0x8D722987DEBB273"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8d62aec0-801a-0034-42ae-2bd539000000', + '846e62b0-e01a-00e8-3281-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - 'afb73ebd-0c74-4bbd-868b-4b041921dc23', + 'c07204ca-6b27-45d3-8b28-073f522e97f4', 'x-ms-copy-status', 'success', 'Date', - 'Tue, 25 Jun 2019 23:32:01 GMT', + 'Fri, 16 Aug 2019 22:24:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551956803327/dir156150551987206671/copiedfile156150552063407462') + .put('/share156599425769106658/dir156599426270006935/copiedfile156599426338704986') .query(true) - .reply(409, "NoPendingCopyOperationThere is currently no pending copy operation.\nRequestId:6d4fcc7b-101a-009b-4bae-2bf7a9000000\nTime:2019-06-25T23:32:02.9079594Z", [ 'Content-Length', + .reply(409, "NoPendingCopyOperationThere is currently no pending copy operation.\nRequestId:d7cd158a-401a-00a1-7581-54b40a000000\nTime:2019-08-16T22:24:26.2603009Z", [ 'Content-Length', '236', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6d4fcc7b-101a-009b-4bae-2bf7a9000000', + 'd7cd158a-401a-00a1-7581-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'NoPendingCopyOperation', 'Date', - 'Tue, 25 Jun 2019 23:32:02 GMT', + 'Fri, 16 Aug 2019 22:24:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150551956803327') + .delete('/share156599425769106658') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd0757265-a01a-006c-7aae-2bd142000000', + '514d2999-801a-0095-0c81-541ba2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:02 GMT', + 'Fri, 16 Aug 2019 22:24:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_clearrange.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_clearrange.js index 92272258a430..cc549ed41982 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_clearrange.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_clearrange.js @@ -1,162 +1,162 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150553244405644","dir":"dir156150553274707786","file":"file156150553307601080"} +module.exports.testInfo = {"share":"share156599428036504682","dir":"dir156599428206900112","file":"file156599428237108734"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553244405644') + .put('/share156599428036504682') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:12 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'ETag', - '"0x8D6F9C5599E1034"', + '"0x8D72298887F6C07"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b6c2f5e0-a01a-000a-65ae-2b6318000000', + 'c7054308-501a-005b-6681-547ded000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:12 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553244405644/dir156150553274707786') + .put('/share156599428036504682/dir156599428206900112') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:13 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'ETag', - '"0x8D6F9C559CE2BA7"', + '"0x8D7229888E372DB"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ec5ab21d-301a-00e1-21ae-2b9de4000000', + '4fe3509a-601a-003e-1681-54ccb0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:12 GMT', + 'Fri, 16 Aug 2019 22:24:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553244405644/dir156150553274707786/file156150553307601080') + .put('/share156599428036504682/dir156599428206900112/file156599428237108734') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:13 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'ETag', - '"0x8D6F9C55A04D5F2"', + '"0x8D722988911DE2C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd04d1f0e-e01a-0006-66ae-2b8de9000000', + '6ea033a3-d01a-008d-3681-543637000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:12 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553244405644/dir156150553274707786/file156150553307601080', "Hello") + .put('/share156599428036504682/dir156599428206900112/file156599428237108734', "Hello") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'ixqZU8RhEpaoJ6v4xHgE1w==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:13 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'ETag', - '"0x8D6F9C55A364F33"', + '"0x8D722988940E5D4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0d3276c1-a01a-00e4-59ae-2b699b000000', + '2083bebd-f01a-003b-3281-5438cf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:13 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553244405644/dir156150553274707786/file156150553307601080', "World") + .put('/share156599428036504682/dir156599428206900112/file156599428237108734', "World") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '9aeSTmIehMkoCpon4by39g==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:13 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'ETag', - '"0x8D6F9C55A652FEC"', + '"0x8D7229889740CE9"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcd4dbf2-501a-0050-6bae-2b6599000000', + '920cb43a-801a-007b-6881-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:13 GMT', + 'Fri, 16 Aug 2019 22:24:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553244405644/dir156150553274707786/file156150553307601080') + .put('/share156599428036504682/dir156599428206900112/file156599428237108734') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:14 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'ETag', - '"0x8D6F9C55AA1CEC9"', + '"0x8D7229889A1B4C2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b2e3e49-001a-000c-20ae-2b9460000000', + '1acb2f19-f01a-0030-5581-5420bb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:14 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150553244405644/dir156150553274707786/file156150553307601080') + .get('/share156599428036504682/dir156599428206900112/file156599428237108734') .reply(200, "H\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:14 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C55AA1CEC9"', + '"0x8D7229889A1B4C2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b29ba446-d01a-00eb-25ae-2b846d000000', + '3e7d5cc3-c01a-00b0-7881-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -166,24 +166,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:14 GMT', + 'Fri, 16 Aug 2019 22:24:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150553244405644') + .delete('/share156599428036504682') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16a82dbb-801a-003f-66ae-2bcd4d000000', + '551534f5-501a-00d3-6281-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:14 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_all_parameters_set.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_all_parameters_set.js index 96167c6c7838..54112e4ea1c1 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_all_parameters_set.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_all_parameters_set.js @@ -1,75 +1,75 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150550217301158","dir":"dir156150550247709439","file":"file156150550281505896"} +module.exports.testInfo = {"share":"share156599421854004507","dir":"dir156599423156505859","file":"file156599423188105482"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550217301158') + .put('/share156599421854004507') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:42 GMT', + 'Fri, 16 Aug 2019 22:23:47 GMT', 'ETag', - '"0x8D6F9C547933F13"', + '"0x8D72298680F2CC0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '603cf996-701a-00cf-02ae-2b1d23000000', + 'd61992a9-801a-0052-3b81-546763000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:42 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550217301158/dir156150550247709439') + .put('/share156599421854004507/dir156599423156505859') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:42 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'ETag', - '"0x8D6F9C547C62954"', + '"0x8D722986ACAC6AF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b003fc0d-901a-0046-03ae-2ba407000000', + '60d7fe00-301a-0069-0281-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:41 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550217301158/dir156150550247709439/file156150550281505896') + .put('/share156599421854004507/dir156599423156505859/file156599423188105482') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'ETag', - '"0x8D6F9C547F642CA"', + '"0x8D722986AFAB8E2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1c1abf7-001a-00ad-5fae-2b5afb000000', + '47ff87fd-901a-0020-4f81-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150550217301158/dir156150550247709439/file156150550281505896') + .get('/share156599421854004507/dir156599423156505859/file156599423188105482') .reply(200, ["0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"], [ 'Cache-Control', 'fileCacheControl', 'Content-Length', @@ -81,17 +81,17 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'fileContentLanguage', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C547F642CA"', + '"0x8D722986AFAB8E2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '793e5989-201a-005f-05ae-2b886f000000', + '28bfb077-c01a-00d6-0a81-54314b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key1', 'vala', 'x-ms-meta-key2', @@ -107,13 +107,13 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150550217301158/dir156150550247709439/file156150550281505896') + .head('/share156599421854004507/dir156599423156505859/file156599423188105482') .reply(200, [], [ 'Cache-Control', 'fileCacheControl', 'Content-Length', @@ -125,15 +125,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'fileContentLanguage', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'ETag', - '"0x8D6F9C547F642CA"', + '"0x8D722986AFAB8E2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ffa0211b-d01a-00c9-02ae-2bea5b000000', + '734d6518-f01a-00b3-2581-548016000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key1', 'vala', 'x-ms-meta-key2', @@ -149,24 +149,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150550217301158') + .delete('/share156599421854004507') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7504e98-a01a-0089-49ae-2bc3b5000000', + '920cb3c9-801a-007b-3781-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_default_parameters.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_default_parameters.js index 0922f108febe..bc74cf1647e1 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_create_with_default_parameters.js @@ -1,91 +1,91 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150550061307955","dir":"dir156150550091307049","file":"file156150550125403178"} +module.exports.testInfo = {"share":"share156599421256103865","dir":"dir156599421287108325","file":"file156599421324609089"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550061307955') + .put('/share156599421256103865') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:40 GMT', + 'Fri, 16 Aug 2019 22:23:32 GMT', 'ETag', - '"0x8D6F9C546A442B5"', + '"0x8D722985F76A250"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e5ce0737-e01a-00e3-79ae-2b9f1e000000', + '37ee7deb-001a-00e9-1481-548697000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:40 GMT', + 'Fri, 16 Aug 2019 22:23:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550061307955/dir156150550091307049') + .put('/share156599421256103865/dir156599421287108325') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:41 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'ETag', - '"0x8D6F9C546D75847"', + '"0x8D722985FAEFD12"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b4711c4-301a-004b-50ae-2b4b0b000000', + '9689870a-401a-0022-0a81-5414a7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:40 GMT', + 'Fri, 16 Aug 2019 22:23:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550061307955/dir156150550091307049/file156150550125403178') + .put('/share156599421256103865/dir156599421287108325/file156599421324609089') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:41 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'ETag', - '"0x8D6F9C5470771A6"', + '"0x8D722985FE027FC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11fe212e-101a-0018-31ae-2b5704000000', + '781d310a-901a-002b-0c81-540e29000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:40 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150550061307955/dir156150550091307049/file156150550125403178') + .get('/share156599421256103865/dir156599421287108325/file156599421324609089') .reply(200, "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:41 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C5470771A6"', + '"0x8D722985FE027FC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ca1518b1-301a-00ea-7fae-2b8590000000', + 'bf7031c8-f01a-0074-2881-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -95,24 +95,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:41 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150550061307955') + .delete('/share156599421256103865') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '41de2b79-501a-00d8-1fae-2bdd40000000', + '03492998-801a-00b7-3881-547594000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:41 GMT', + 'Fri, 16 Aug 2019 22:23:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_delete.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_delete.js index 2109aeb09027..581fce680808 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_delete.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_delete.js @@ -1,102 +1,102 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150551266402539","dir":"dir156150551297201368","file":"file156150551328506037"} +module.exports.testInfo = {"share":"share156599424754509570","dir":"dir156599424843807519","file":"file156599424874506340"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551266402539') + .put('/share156599424754509570') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:52 GMT', + 'Fri, 16 Aug 2019 22:24:08 GMT', 'ETag', - '"0x8D6F9C54DD46A56"', + '"0x8D72298747B2239"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4f3a7158-b01a-005a-58ae-2b7c10000000', + '3b275462-901a-0002-4281-54786b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:52 GMT', + 'Fri, 16 Aug 2019 22:24:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551266402539/dir156150551297201368') + .put('/share156599424754509570/dir156599424843807519') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:53 GMT', + 'Fri, 16 Aug 2019 22:24:08 GMT', 'ETag', - '"0x8D6F9C54E03F9BC"', + '"0x8D7229874D84B1C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25a65d9f-701a-00e6-6fae-2b6b61000000', + 'e9ce143f-d01a-002c-2481-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:53 GMT', + 'Fri, 16 Aug 2019 22:24:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551266402539/dir156150551297201368/file156150551328506037') + .put('/share156599424754509570/dir156599424843807519/file156599424874506340') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:53 GMT', + 'Fri, 16 Aug 2019 22:24:08 GMT', 'ETag', - '"0x8D6F9C54E346164"', + '"0x8D722987507049B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '136b8329-401a-0044-2dae-2ba6fd000000', + '6b7241bf-101a-009b-7981-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:53 GMT', + 'Fri, 16 Aug 2019 22:24:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150551266402539/dir156150551297201368/file156150551328506037') + .delete('/share156599424754509570/dir156599424843807519/file156599424874506340') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7eb3f89-001a-00e9-21ae-2b8697000000', + 'efd55301-501a-0036-4081-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:52 GMT', + 'Fri, 16 Aug 2019 22:24:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150551266402539') + .delete('/share156599424754509570') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd4c6-e01a-0085-47ae-2b2d44000000', + 'becd3d53-d01a-00eb-0981-54846d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:53 GMT', + 'Fri, 16 Aug 2019 22:24:09 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_download_all_parameters_set.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_all_parameters_set.js index e470bd474c95..8eba9fca3f61 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_download_all_parameters_set.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_all_parameters_set.js @@ -1,100 +1,100 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150554038800338","dir":"dir156150554070209521","file":"file156150554100909271"} +module.exports.testInfo = {"share":"share156599429648908471","dir":"dir156599429679305377","file":"file156599429709908395"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554038800338') + .put('/share156599429648908471') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:20 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'ETag', - '"0x8D6F9C55E5C1663"', + '"0x8D72298917C4B36"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'adcfdc8b-401a-000b-79ae-2b62e5000000', + 'd66f3af2-601a-0094-6981-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:19 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554038800338/dir156150554070209521') + .put('/share156599429648908471/dir156599429679305377') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:20 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'ETag', - '"0x8D6F9C55E8B0964"', + '"0x8D7229891AA8110"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'be5dc781-801a-0059-3cae-2b7f17000000', + '620ebd36-301a-000f-1e81-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:20 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554038800338/dir156150554070209521/file156150554100909271') + .put('/share156599429648908471/dir156599429679305377/file156599429709908395') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:21 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'ETag', - '"0x8D6F9C55EB8D882"', + '"0x8D7229891D9D6E7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b7c1c77-f01a-0019-76ae-2b56f9000000', + '36af0cfc-501a-003d-3181-54cfb7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:21 GMT', + 'Fri, 16 Aug 2019 22:24:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554038800338/dir156150554070209521/file156150554100909271', "Hello World") + .put('/share156599429648908471/dir156599429679305377/file156599429709908395', "Hello World") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:21 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'ETag', - '"0x8D6F9C55EEAEE1B"', + '"0x8D72298920A8C9D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b1df2c1c-701a-0047-34ae-2ba5fa000000', + 'c1819484-201a-0054-6b81-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:21 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150554038800338/dir156150554070209521/file156150554100909271') + .get('/share156599429648908471/dir156599429679305377/file156599429709908395') .reply(206, "H", [ 'Content-Length', '1', 'Content-Type', @@ -104,17 +104,17 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-0/11', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:21 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C55EEAEE1B"', + '"0x8D72298920A8C9D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd15a33bb-901a-0081-2dae-2bd8c6000000', + 'ee0d240b-a01a-00ab-5681-54ad83000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -124,24 +124,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:21 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150554038800338') + .delete('/share156599429648908471') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3551f58f-101a-00b9-4cae-2b999f000000', + 'f46475cc-c01a-0055-2f81-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:21 GMT', + 'Fri, 16 Aug 2019 22:24:57 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_download_partial_content.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_partial_content.js index e86d4dce61e7..c9e8c7445556 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_download_partial_content.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_partial_content.js @@ -1,100 +1,100 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150554279409978","dir":"dir156150555387908741","file":"file156150555419002129"} +module.exports.testInfo = {"share":"share156599429861500332","dir":"dir156599429980206131","file":"file156599430009509730"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554279409978') + .put('/share156599429861500332') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:33 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'ETag', - '"0x8D6F9C565F12ABF"', + '"0x8D72298931E9080"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2db2168e-901a-006f-77ae-2bd245000000', + '920cb45c-801a-007b-7b81-541121000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:33 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554279409978/dir156150555387908741') + .put('/share156599429861500332/dir156599429980206131') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'ETag', - '"0x8D6F9C566656FBD"', + '"0x8D722989373D345"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a4dde47-c01a-0099-74ae-2bf553000000', + 'a3c0a5d8-701a-00a9-4b81-54af79000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:33 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554279409978/dir156150555387908741/file156150555419002129') + .put('/share156599429861500332/dir156599429980206131/file156599430009509730') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'ETag', - '"0x8D6F9C566956205"', + '"0x8D7229893A09090"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '603cfa2b-701a-00cf-4fae-2b1d23000000', + 'd57cfcd9-c01a-0033-7581-5423bc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150554279409978/dir156150555387908741/file156150555419002129', "HelloWorld") + .put('/share156599429861500332/dir156599429980206131/file156599430009509730', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'aOEJ8PQMpyoV4FzCJ4b45g==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'ETag', - '"0x8D6F9C566C68D0A"', + '"0x8D7229893D0A9DE"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '89366251-c01a-00bb-26ae-2b9b65000000', + '869095f4-001a-00c0-7381-54f0d5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:24:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150554279409978/dir156150555387908741/file156150555419002129') + .get('/share156599429861500332/dir156599429980206131/file156599430009509730') .reply(206, "He", [ 'Content-Length', '2', 'Content-Type', @@ -102,17 +102,17 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-1/10', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C566C68D0A"', + '"0x8D7229893D0A9DE"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cde7e0b7-801a-00d1-0dae-2bc7ce000000', + 'd66f3b06-601a-0094-7481-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -122,24 +122,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150554279409978') + .delete('/share156599429861500332') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4f3a71bd-b01a-005a-0fae-2b7c10000000', + 'f264e832-801a-00da-5181-54dfba000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:34 GMT', + 'Fri, 16 Aug 2019 22:25:00 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_download_should_not_have_aborted_error_after_download_finishes.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_should_not_have_aborted_error_after_download_finishes.js new file mode 100644 index 000000000000..ab37cb62a8fa --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_should_not_have_aborted_error_after_download_finishes.js @@ -0,0 +1,143 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599429341504880","dir":"dir156599429444807940","file":"file156599429475006372"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599429341504880') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:24:53 GMT', + 'ETag', + '"0x8D722988FD21909"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '2c6e7a85-901a-00e7-4e81-546a9c000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:24:53 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599429341504880/dir156599429444807940') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:24:54 GMT', + 'ETag', + '"0x8D722989043FA39"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '9cca89b4-201a-00dc-6e81-5428c2000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:24:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599429341504880/dir156599429444807940/file156599429475006372') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:24:55 GMT', + 'ETag', + '"0x8D7229890757355"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '135a29b7-501a-00be-4e81-546f1a000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:24:54 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599429341504880/dir156599429444807940/file156599429475006372', "Hello World") + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + 'sQqNsWTgdUEFt6mb5y4/5Q==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:24:55 GMT', + 'ETag', + '"0x8D7229890A3DE9D"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '88a6e844-901a-00ec-2d81-5472e8000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:24:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599429341504880/dir156599429444807940/file156599429475006372') + .reply(200, "Hello World", [ 'Content-Length', + '11', + 'Content-Type', + 'application/octet-stream', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:24:55 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7229890A3DE9D"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '30e8bc75-001a-0043-1781-545078000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-type', + 'File', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-type,x-ms-server-encrypted,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:24:55 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599429341504880') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '2ee5e977-e01a-0024-6b81-54e3df000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:24:55 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_download_with_with_default_parameters.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_with_with_default_parameters.js index a7efc55aea96..4948e44ae742 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_download_with_with_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_download_with_with_default_parameters.js @@ -1,116 +1,116 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150553850306383","dir":"dir156150553884002689","file":"file156150553915004032"} +module.exports.testInfo = {"share":"share156599428712204862","dir":"dir156599428742802746","file":"file156599428773506268"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553850306383') + .put('/share156599428712204862') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:18 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'ETag', - '"0x8D6F9C55D402012"', + '"0x8D722988BE6F496"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f4e469d0-901a-004d-0dae-2bbc73000000', + 'efd5537a-501a-0036-7e81-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:18 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553850306383/dir156150553884002689') + .put('/share156599428712204862/dir156599428742802746') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:19 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'ETag', - '"0x8D6F9C55D6E423B"', + '"0x8D722988C159640"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4f3a7192-b01a-005a-77ae-2b7c10000000', + 'a868c300-901a-00c5-3e81-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:18 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553850306383/dir156150553884002689/file156150553915004032') + .put('/share156599428712204862/dir156599428742802746/file156599428773506268') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:19 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'ETag', - '"0x8D6F9C55D9D7122"', + '"0x8D722988C44C500"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44d925c6-201a-00dc-15ae-2b28c2000000', + 'c181934b-201a-0054-4981-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:18 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553850306383/dir156150553884002689/file156150553915004032', "Hello World") + .put('/share156599428712204862/dir156599428742802746/file156599428773506268', "Hello World") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'sQqNsWTgdUEFt6mb5y4/5Q==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:19 GMT', + 'Fri, 16 Aug 2019 22:24:48 GMT', 'ETag', - '"0x8D6F9C55DCDB1A6"', + '"0x8D722988C8534E4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7504eea-a01a-0089-75ae-2bc3b5000000', + 'ad602602-301a-00a5-6781-544188000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:19 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150553850306383/dir156150553884002689/file156150553915004032') + .get('/share156599428712204862/dir156599428742802746/file156599428773506268') .reply(200, "Hello World", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:19 GMT', + 'Fri, 16 Aug 2019 22:24:48 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C55DCDB1A6"', + '"0x8D722988C8534E4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f9611001-101a-00df-14ae-2b2bc5000000', + 'ad602605-301a-00a5-6881-544188000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:19 GMT', + 'Fri, 16 Aug 2019 22:24:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150553850306383') + .delete('/share156599428712204862') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b20d3635-e01a-00c1-63ae-2bf128000000', + '3e7d5ccd-c01a-00b0-7b81-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:20 GMT', + 'Fri, 16 Aug 2019 22:24:53 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_forceclosehandle_should_work.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_forceclosehandle_should_work.js new file mode 100644 index 000000000000..2ee089109b8d --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_forceclosehandle_should_work.js @@ -0,0 +1,109 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599430540006669","dir":"dir156599431254201466","file":"file156599431285209008"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430540006669') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:08 GMT', + 'ETag', + '"0x8D7229898424232"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'bd8f9388-301a-002d-0281-54f951000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430540006669/dir156599431254201466') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:12 GMT', + 'ETag', + '"0x8D722989B0E128C"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c9a3e52b-e01a-00ca-4481-54e95c000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430540006669/dir156599431254201466/file156599431285209008') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:13 GMT', + 'ETag', + '"0x8D722989B3B1E09"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '8475f796-d01a-004a-0681-544af6000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599430540006669/dir156599431254201466/file156599431285209008') + .query(true) + .reply(200, "", [ 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/xml', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '846e62f7-e01a-00e8-4881-54876a000000', + 'x-ms-version', + '2018-11-09', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:25:12 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599430540006669') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'dc06875b-601a-00bd-5281-546c1d000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:13 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_forceclosehandlessegment_should_work.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_forceclosehandlessegment_should_work.js new file mode 100644 index 000000000000..d1620f8624d0 --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_forceclosehandlessegment_should_work.js @@ -0,0 +1,105 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599430376201513","dir":"dir156599430413104668","file":"file156599430442801500"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430376201513') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:04 GMT', + 'ETag', + '"0x8D7229895D6EA79"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'ad8f332b-901a-0064-6081-54ca31000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:03 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430376201513/dir156599430413104668') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:04 GMT', + 'ETag', + '"0x8D722989608B024"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '2ee5e986-e01a-0024-6e81-54e3df000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:03 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430376201513/dir156599430413104668/file156599430442801500') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:04 GMT', + 'ETag', + '"0x8D72298963630E7"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '2c6e7aa2-901a-00e7-5181-546a9c000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430376201513/dir156599430413104668/file156599430442801500') + .query(true) + .reply(200, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'c830fb0d-701a-00ed-3381-547315000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-number-of-handles-closed', + '0', + 'Date', + 'Fri, 16 Aug 2019 22:25:04 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599430376201513') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '166e0e62-101a-0013-7681-544f70000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:05 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_getrangelist.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_getrangelist.js index 13c19969f690..f6caed4d199a 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_getrangelist.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_getrangelist.js @@ -1,161 +1,161 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150553539501700","dir":"dir156150553570009308","file":"file156150553601109818"} +module.exports.testInfo = {"share":"share156599428433800875","dir":"dir156599428464304677","file":"file156599428495203755"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553539501700') + .put('/share156599428433800875') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:15 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'ETag', - '"0x8D6F9C55B60D501"', + '"0x8D722988A3E347C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f5c9a346-d01a-0027-2eae-2be0d8000000', + '8d1d7f38-a01a-0045-2a81-54a700000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:15 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553539501700/dir156150553570009308') + .put('/share156599428433800875/dir156599428464304677') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:15 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'ETag', - '"0x8D6F9C55B900363"', + '"0x8D722988A6CCA30"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4559d61e-d01a-000e-1dae-2b969a000000', + 'b1fccb26-201a-00b1-6881-5482ec000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:15 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553539501700/dir156150553570009308/file156150553601109818') + .put('/share156599428433800875/dir156599428464304677/file156599428495203755') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:16 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'ETag', - '"0x8D6F9C55BBEBD08"', + '"0x8D722988A9BD1D8"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3551f587-101a-00b9-49ae-2b999f000000', + '5430ee00-801a-003f-1281-54cd4d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:15 GMT', + 'Fri, 16 Aug 2019 22:24:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553539501700/dir156150553570009308/file156150553601109818', "Hello") + .put('/share156599428433800875/dir156599428464304677/file156599428495203755', "Hello") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'ixqZU8RhEpaoJ6v4xHgE1w==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:16 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'ETag', - '"0x8D6F9C55BEE1306"', + '"0x8D722988AF069AF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8d62aed5-801a-0034-49ae-2bd539000000', + '29bfbb36-701a-0003-1281-547996000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:16 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553539501700/dir156150553570009308/file156150553601109818', "World") + .put('/share156599428433800875/dir156599428464304677/file156599428495203755', "World") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '9aeSTmIehMkoCpon4by39g==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:17 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'ETag', - '"0x8D6F9C55C750EDD"', + '"0x8D722988B205BF5"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '059397a0-001a-008f-37ae-2b34cd000000', + '345f352c-d01a-0027-6981-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:17 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553539501700/dir156150553570009308/file156150553601109818') + .put('/share156599428433800875/dir156599428464304677/file156599428495203755') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:17 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'ETag', - '"0x8D6F9C55CA7E7EF"', + '"0x8D722988B595084"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dd099b63-b01a-0015-10ae-2bb808000000', + 'e8b25d31-c01a-00bb-3581-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:17 GMT', + 'Fri, 16 Aug 2019 22:24:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150553539501700/dir156150553570009308/file156150553601109818') + .get('/share156599428433800875/dir156599428464304677/file156599428495203755') .query(true) .reply(200, "09", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:17 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'ETag', - '"0x8D6F9C55CA7E7EF"', + '"0x8D722988B595084"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd0360842-901a-008a-0dae-2bc0b2000000', + '20ce7e60-e01a-008e-7181-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-content-length', '10', 'Access-Control-Expose-Headers', @@ -163,24 +163,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:17 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150553539501700') + .delete('/share156599428433800875') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8c79890-c01a-0033-11ae-2b23bc000000', + 'f853144e-601a-0071-1581-5408a8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:18 GMT', + 'Fri, 16 Aug 2019 22:24:46 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_listhandles_should_work.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_listhandles_should_work.js new file mode 100644 index 000000000000..ac5b8eda2980 --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_listhandles_should_work.js @@ -0,0 +1,109 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599430142401820","dir":"dir156599430174703470","file":"file156599430207203802"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430142401820') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:01 GMT', + 'ETag', + '"0x8D72298946C073C"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '4d889183-501a-0079-2781-5413db000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430142401820/dir156599430174703470') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:01 GMT', + 'ETag', + '"0x8D72298949D1F40"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '80d2d316-401a-0029-7881-540cd3000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:01 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599430142401820/dir156599430174703470/file156599430207203802') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:25:02 GMT', + 'ETag', + '"0x8D7229894CEE697"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '514d29d6-801a-0095-1b81-541ba2000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:25:02 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599430142401820/dir156599430174703470/file156599430207203802') + .query(true) + .reply(200, "", [ 'Transfer-Encoding', + 'chunked', + 'Content-Type', + 'application/xml', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '2220b82a-701a-00e6-7781-546b61000000', + 'x-ms-version', + '2018-11-09', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:25:03 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599430142401820') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'dcd24be3-c01a-005e-5f81-548992000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:25:03 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_resize.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_resize.js index 000b59598836..d0cb774a2bb1 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_resize.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_resize.js @@ -1,89 +1,89 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150552364100282","dir":"dir156150552394504054","file":"file156150552425901660"} +module.exports.testInfo = {"share":"share156599426663209861","dir":"dir156599426770200291","file":"file156599426803105233"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552364100282') + .put('/share156599426663209861') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:03 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'ETag', - '"0x8D6F9C5545EFF1D"', + '"0x8D72298800C9C37"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ceccc8a6-001a-00e2-38ae-2b9ee3000000', + 'd761f315-b01a-005a-4e81-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:03 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552364100282/dir156150552394504054') + .put('/share156599426663209861/dir156599426770200291') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:04 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'ETag', - '"0x8D6F9C5548DAE04"', + '"0x8D722988053F91E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa8d273b-601a-00b6-6fae-2b7469000000', + '31fba2c1-501a-00b5-3281-54776e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:03 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552364100282/dir156150552394504054/file156150552425901660') + .put('/share156599426663209861/dir156599426770200291/file156599426803105233') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:04 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'ETag', - '"0x8D6F9C554BE15A4"', + '"0x8D7229880865CC0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '543a07fe-b01a-00b4-20ae-2b7693000000', + '166e0e2b-101a-0013-6581-544f70000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:03 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150552364100282/dir156150552394504054/file156150552425901660') + .head('/share156599426663209861/dir156599426770200291/file156599426803105233') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:04 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'ETag', - '"0x8D6F9C554BE15A4"', + '"0x8D7229880865CC0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '52930b9c-201a-0010-12ae-2b4c77000000', + 'd54d834c-201a-00d7-5081-5430b6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -93,50 +93,50 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:04 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552364100282/dir156150552394504054/file156150552425901660') + .put('/share156599426663209861/dir156599426770200291/file156599426803105233') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:05 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'ETag', - '"0x8D6F9C5551F5A22"', + '"0x8D7229880E81638"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9bd08228-901a-00a3-41ae-2bb6f0000000', + '079b9027-601a-0058-7581-547eea000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:04 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150552364100282/dir156150552394504054/file156150552425901660') + .head('/share156599426663209861/dir156599426770200291/file156599426803105233') .reply(200, "", [ 'Content-Length', '1', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:05 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'ETag', - '"0x8D6F9C5551F5A22"', + '"0x8D7229880E81638"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ba7a8cb2-f01a-0030-13ae-2b20bb000000', + '1eaf987a-301a-0040-4081-54537f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -146,24 +146,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:05 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150552364100282') + .delete('/share156599426663209861') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d640a3e-201a-0054-42ae-2b901b000000', + '55be8c02-701a-0080-1e81-54d93b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:05 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_all_parameters_set.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_all_parameters_set.js index 6d2db969f790..0a1efd7991df 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_all_parameters_set.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_all_parameters_set.js @@ -1,98 +1,98 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150551038804662","dir":"dir156150551102305938","file":"file156150551133707327"} +module.exports.testInfo = {"share":"share156599424320007295","dir":"dir156599424510003785","file":"file156599424540500208"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551038804662') + .put('/share156599424320007295') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:50 GMT', + 'Fri, 16 Aug 2019 22:24:03 GMT', 'ETag', - '"0x8D6F9C54C9897C9"', + '"0x8D7229871FE4509"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '84bc379c-501a-0036-74ae-2bd7c3000000', + '5f11397a-601a-007a-5281-5410dc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:50 GMT', + 'Fri, 16 Aug 2019 22:24:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551038804662/dir156150551102305938') + .put('/share156599424320007295/dir156599424510003785') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:51 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'ETag', - '"0x8D6F9C54CD99B4B"', + '"0x8D7229872DA991F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3ed421ad-801a-00bc-38ae-2b6de0000000', + 'becd3d4b-d01a-00eb-0481-54846d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:50 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551038804662/dir156150551102305938/file156150551133707327') + .put('/share156599424320007295/dir156599424510003785/file156599424540500208') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:51 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'ETag', - '"0x8D6F9C54D0AED75"', + '"0x8D72298730A643A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b7c1c53-f01a-0019-6cae-2b56f9000000', + '2d12e628-701a-0047-7481-54a5fa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:50 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551038804662/dir156150551102305938/file156150551133707327') + .put('/share156599424320007295/dir156599424510003785/file156599424540500208') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:51 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'ETag', - '"0x8D6F9C54D3B2DFE"', + '"0x8D72298733C2B80"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ca1518c2-301a-00ea-07ae-2b8590000000', + 'bb231043-901a-00a3-1481-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:51 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150551038804662/dir156150551102305938/file156150551133707327') + .head('/share156599424320007295/dir156599424510003785/file156599424540500208') .reply(200, [], [ 'Cache-Control', 'fileCacheControl', 'Content-Length', @@ -106,15 +106,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-MD5', 'AQIDBA==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:51 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'ETag', - '"0x8D6F9C54D3B2DFE"', + '"0x8D72298733C2B80"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a87f8ace-901a-00ec-5fae-2b72e8000000', + '2126fd38-901a-006f-4e81-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Content-Disposition', 'fileContentDisposition', 'x-ms-type', @@ -126,24 +126,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:51 GMT', + 'Fri, 16 Aug 2019 22:24:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150551038804662') + .delete('/share156599424320007295') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b7c1c56-f01a-0019-6dae-2b56f9000000', + '426ae74b-201a-001b-1981-545403000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:51 GMT', + 'Fri, 16 Aug 2019 22:24:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_default_parameters.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_default_parameters.js index d3454808f9fd..5c8f77b2bd21 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_sethttpheaders_with_default_parameters.js @@ -1,110 +1,110 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150550850103474","dir":"dir156150550880807878","file":"file156150550913805794"} +module.exports.testInfo = {"share":"share156599424067900932","dir":"dir156599424156607645","file":"file156599424186309860"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550850103474') + .put('/share156599424067900932') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:48 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'ETag', - '"0x8D6F9C54B58E026"', + '"0x8D72298707EE631"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '532566d0-301a-00c3-09ae-2bf3d2000000', + '3de7f7cd-501a-001f-5081-54a181000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:48 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550850103474/dir156150550880807878') + .put('/share156599424067900932/dir156599424156607645') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:49 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'ETag', - '"0x8D6F9C54B88C259"', + '"0x8D7229870BE3615"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '893661e9-c01a-00bb-7bae-2b9b65000000', + 'd2317aa6-d01a-0068-1b81-5424c0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:48 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550850103474/dir156150550880807878/file156150550913805794') + .put('/share156599424067900932/dir156599424156607645/file156599424186309860') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:49 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'ETag', - '"0x8D6F9C54BBAB0E0"', + '"0x8D7229870EBDDEE"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd0757245-a01a-006c-6bae-2bd142000000', + 'd66f3a85-601a-0094-4081-541a5f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:48 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550850103474/dir156150550880807878/file156150550913805794') + .put('/share156599424067900932/dir156599424156607645/file156599424186309860') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:49 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'ETag', - '"0x8D6F9C54BEBDBEF"', + '"0x8D72298711BF73B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b9e1174c-801a-0016-3bae-2bbb0f000000', + '0bd3ec28-b01a-00b4-1f81-547693000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:48 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150550850103474/dir156150550880807878/file156150550913805794') + .head('/share156599424067900932/dir156599424156607645/file156599424186309860') .reply(200, "", [ 'Content-Length', '11', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:49 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'ETag', - '"0x8D6F9C54BEBDBEF"', + '"0x8D72298711BF73B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa23f441-501a-0072-7bae-2b0baf000000', + 'e8b25c7c-c01a-00bb-5b81-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -114,24 +114,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:49 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150550850103474') + .delete('/share156599424067900932') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16eca5bd-201a-0076-4eae-2bfe2d000000', + '8d1d7ebb-a01a-0045-7a81-54a700000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:49 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_cleaning_up_metadata.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_cleaning_up_metadata.js index 1fd0a55e78e4..69d242acdd7d 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_cleaning_up_metadata.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_cleaning_up_metadata.js @@ -1,112 +1,112 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150550600001548","dir":"dir156150550630802647","file":"file156150550663607062"} +module.exports.testInfo = {"share":"share156599423821407081","dir":"dir156599423854800938","file":"file156599423884102231"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550600001548') + .put('/share156599423821407081') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:46 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'ETag', - '"0x8D6F9C549DB9BB8"', + '"0x8D722986EBD5252"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1c969b78-001a-002e-63ae-2bfa56000000', + '551534a1-501a-00d3-3a81-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:45 GMT', + 'Fri, 16 Aug 2019 22:23:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550600001548/dir156150550630802647') + .put('/share156599423821407081/dir156599423854800938') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:46 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'ETag', - '"0x8D6F9C54A0B0496"', + '"0x8D722986EF112C1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '061ed341-101a-003a-27ae-2b3932000000', + 'e1fada09-201a-005f-4f81-54886f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:46 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550600001548/dir156150550630802647/file156150550663607062') + .put('/share156599423821407081/dir156599423854800938/file156599423884102231') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:46 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'ETag', - '"0x8D6F9C54A3D6866"', + '"0x8D722986F1DA90C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11fe2136-101a-0018-35ae-2b5704000000', + '2083be7a-f01a-003b-1881-5438cf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:46 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550600001548/dir156150550630802647/file156150550663607062') + .put('/share156599423821407081/dir156599423854800938/file156599423884102231') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:47 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'ETag', - '"0x8D6F9C54A6F2FD2"', + '"0x8D722986F4B29E1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'afc21a1b-301a-0062-37ae-2b3d49000000', + 'c1818e77-201a-0054-2681-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:46 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150550600001548/dir156150550630802647/file156150550663607062') + .head('/share156599423821407081/dir156599423854800938/file156599423884102231') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:47 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'ETag', - '"0x8D6F9C54A6F2FD2"', + '"0x8D722986F4B29E1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa8d26f1-601a-00b6-3cae-2b7469000000', + '4d522e2b-401a-0000-7581-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-a', 'a', 'x-ms-meta-b', @@ -120,50 +120,50 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:46 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550600001548/dir156150550630802647/file156150550663607062') + .put('/share156599423821407081/dir156599423854800938/file156599423884102231') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:47 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'ETag', - '"0x8D6F9C54ACCA315"', + '"0x8D722986FA36BC3"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcd4dbb6-501a-0050-4cae-2b6599000000', + '6e21e0d8-e01a-002f-1681-54fbab000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:47 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150550600001548/dir156150550630802647/file156150550663607062') + .head('/share156599423821407081/dir156599423854800938/file156599423884102231') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:47 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'ETag', - '"0x8D6F9C54ACCA315"', + '"0x8D722986FA36BC3"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '00668cad-501a-009c-1aae-2b012c000000', + '6740894c-201a-0093-3781-54ecda000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -173,24 +173,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:47 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150550600001548') + .delete('/share156599423821407081') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e7cb587b-e01a-00ac-06ae-2b5b06000000', + 'a868c294-901a-00c5-1181-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:47 GMT', + 'Fri, 16 Aug 2019 22:24:00 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_new_metadata_set.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_new_metadata_set.js index e03e088897f3..3172b3301e75 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_new_metadata_set.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_setmetadata_with_new_metadata_set.js @@ -1,112 +1,112 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150550408204702","dir":"dir156150550439202293","file":"file156150550470909596"} +module.exports.testInfo = {"share":"share156599423522609797","dir":"dir156599423630805383","file":"file156599423664109273"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550408204702') + .put('/share156599423522609797') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:44 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'ETag', - '"0x8D6F9C548B75F30"', + '"0x8D722986D6BC9D0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f4e4697a-901a-004d-5aae-2bbc73000000', + '846e6276-e01a-00e8-2181-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550408204702/dir156150550439202293') + .put('/share156599423522609797/dir156599423630805383') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:44 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'ETag', - '"0x8D6F9C548E625A1"', + '"0x8D722986D9E3E64"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cde7e03f-801a-00d1-57ae-2bc7ce000000', + '29bde641-801a-0059-4281-547f17000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:43 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550408204702/dir156150550439202293/file156150550470909596') + .put('/share156599423522609797/dir156599423630805383/file156599423664109273') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:44 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'ETag', - '"0x8D6F9C5491750B8"', + '"0x8D722986DD07AEF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2c1efa78-901a-00e7-53ae-2b6a9c000000', + '37ee7e29-001a-00e9-2b81-548697000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:44 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150550408204702/dir156150550439202293/file156150550470909596') + .put('/share156599423522609797/dir156599423630805383/file156599423664109273') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:45 GMT', + 'Fri, 16 Aug 2019 22:23:57 GMT', 'ETag', - '"0x8D6F9C54948A2CF"', + '"0x8D722986E001EF3"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9bd081ec-901a-00a3-1dae-2bb6f0000000', + 'd61992c6-801a-0052-4681-546763000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:44 GMT', + 'Fri, 16 Aug 2019 22:23:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150550408204702/dir156150550439202293/file156150550470909596') + .head('/share156599423522609797/dir156599423630805383/file156599423664109273') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:45 GMT', + 'Fri, 16 Aug 2019 22:23:57 GMT', 'ETag', - '"0x8D6F9C54948A2CF"', + '"0x8D722986E001EF3"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1454c709-201a-007d-5cae-2be659000000', + 'c8c6590b-601a-0017-6581-54baf2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-a', 'a', 'x-ms-meta-b', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:44 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150550408204702') + .delete('/share156599423522609797') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '399dabdf-d01a-00e0-2cae-2b9c19000000', + 'd5e3e9d4-e01a-0049-6581-5449f1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:45 GMT', + 'Fri, 16 Aug 2019 22:23:57 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_startcopyfromurl.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_startcopyfromurl.js index 964a823a9596..6c363224a517 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_startcopyfromurl.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_startcopyfromurl.js @@ -1,113 +1,113 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150551424504275","dir":"dir156150551559203997","file":"file156150551590809565","copiedfile":"copiedfile156150551623102689"} +module.exports.testInfo = {"share":"share156599424966904665","dir":"dir156599424997802863","file":"file156599425029407100","copiedfile":"copiedfile156599425060609328"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551424504275') + .put('/share156599424966904665') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:55 GMT', + 'Fri, 16 Aug 2019 22:24:09 GMT', 'ETag', - '"0x8D6F9C54F5AAEF5"', + '"0x8D7229875948D4B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e0d952da-a01a-0028-79ae-2b0d2e000000', + 'ce497e6e-f01a-0091-3b81-54ee20000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:55 GMT', + 'Fri, 16 Aug 2019 22:24:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551424504275/dir156150551559203997') + .put('/share156599424966904665/dir156599424997802863') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:55 GMT', + 'Fri, 16 Aug 2019 22:24:10 GMT', 'ETag', - '"0x8D6F9C54F9394D6"', + '"0x8D7229875C4830B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a1c1ac06-001a-00ad-65ae-2b5afb000000', + 'fd8aa3f3-301a-0087-6a81-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:55 GMT', + 'Fri, 16 Aug 2019 22:24:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551424504275/dir156150551559203997/file156150551590809565') + .put('/share156599424966904665/dir156599424997802863/file156599425029407100') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:10 GMT', 'ETag', - '"0x8D6F9C54FC3D55C"', + '"0x8D7229875F3D8E8"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '793e59a9-201a-005f-0aae-2b886f000000', + '7e1c1e2b-301a-00ea-1381-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150551424504275/dir156150551559203997/copiedfile156150551623102689') + .put('/share156599424966904665/dir156599424997802863/copiedfile156599425060609328') .reply(202, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'ETag', - '"0x8D6F9C5502D31A6"', + '"0x8D722987782D6C0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '99672007-f01a-00d5-17ae-2b324c000000', + '232abd1a-401a-00c7-5681-540650000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - 'a078ae99-eb76-4a38-9692-abe4f5965d6e', + '3c9c5777-8bd1-40f3-ae7d-073c7ea2bfaa', 'x-ms-copy-status', 'success', 'Date', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150551424504275/dir156150551559203997/file156150551590809565') + .head('/share156599424966904665/dir156599424997802863/file156599425029407100') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:10 GMT', 'ETag', - '"0x8D6F9C54FC3D55C"', + '"0x8D7229875F3D8E8"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aafa6bf0-001a-00cb-6fae-2be8a1000000', + '9a0e8c19-e01a-00e3-0781-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -117,37 +117,37 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150551424504275/dir156150551559203997/copiedfile156150551623102689') + .head('/share156599424966904665/dir156599424997802863/copiedfile156599425060609328') .reply(200, "", [ 'Content-Length', '1024', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'ETag', - '"0x8D6F9C5502D31A6"', + '"0x8D722987782D6C0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6d4fcc71-101a-009b-47ae-2bf7a9000000', + '7ab03f71-801a-001d-6681-54a37b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-copy-id', - 'a078ae99-eb76-4a38-9692-abe4f5965d6e', + '3c9c5777-8bd1-40f3-ae7d-073c7ea2bfaa', 'x-ms-copy-source', - 'https://fakestorageaccount.file.core.windows.net/share156150551424504275/dir156150551559203997/file156150551590809565', + 'https://fakestorageaccount.file.core.windows.net/share156599424966904665/dir156599424997802863/file156599425029407100', 'x-ms-copy-status', 'success', 'x-ms-copy-progress', '1024/1024', 'x-ms-copy-completion-time', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:12 GMT', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -157,24 +157,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:31:56 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150551424504275') + .delete('/share156599424966904665') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a0abafb3-301a-00ae-7eae-2b59fc000000', + 'def424ca-901a-00a8-5481-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:31:59 GMT', + 'Fri, 16 Aug 2019 22:24:16 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange.js index d42ca03296e0..2eec429b5d41 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange.js @@ -1,125 +1,125 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150552584104791","dir":"dir156150552614101119","file":"file156150552648006645"} +module.exports.testInfo = {"share":"share156599426959800344","dir":"dir156599426996008840","file":"file156599427026903039"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552584104791') + .put('/share156599426959800344') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:06 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'ETag', - '"0x8D6F9C555AE1809"', + '"0x8D722988174CE04"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'afc21a42-301a-0062-3cae-2b3d49000000', + '571b41c3-001a-008f-0b81-5434cd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:05 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552584104791/dir156150552614101119') + .put('/share156599426959800344/dir156599426996008840') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:06 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'ETag', - '"0x8D6F9C555E0F871"', + '"0x8D7229881ACC21A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd4da-e01a-0085-4eae-2b2d44000000', + '60d7fe32-301a-0069-1581-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:05 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552584104791/dir156150552614101119/file156150552648006645') + .put('/share156599426959800344/dir156599426996008840/file156599427026903039') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:06 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'ETag', - '"0x8D6F9C556118723"', + '"0x8D7229881DBF0E0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0d3276a7-a01a-00e4-4aae-2b699b000000', + '6bd4c6f2-901a-0009-5981-54601f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:06 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552584104791/dir156150552614101119/file156150552648006645', "Hello") + .put('/share156599426959800344/dir156599426996008840/file156599427026903039', "Hello") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'ixqZU8RhEpaoJ6v4xHgE1w==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:07 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'ETag', - '"0x8D6F9C55652939F"', + '"0x8D72298822849C6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8d62aec9-801a-0034-45ae-2bd539000000', + '297f3898-101a-003a-4f81-543932000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:06 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552584104791/dir156150552614101119/file156150552648006645', "World") + .put('/share156599426959800344/dir156599426996008840/file156599427026903039', "World") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '9aeSTmIehMkoCpon4by39g==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:07 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'ETag', - '"0x8D6F9C55683496D"', + '"0x8D7229882579F9C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa8d2741-601a-00b6-71ae-2b7469000000', + '4aa6a6c8-301a-004b-4281-544b0b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:06 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150552584104791/dir156150552614101119/file156150552648006645') + .get('/share156599426959800344/dir156599426996008840/file156599427026903039') .reply(206, "HelloWor", [ 'Content-Length', '8', 'Content-Type', @@ -127,17 +127,17 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-7/10', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:07 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C55683496D"', + '"0x8D7229882579F9C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1c969ba1-001a-002e-76ae-2bfa56000000', + '88a6e7fd-901a-00ec-0e81-5472e8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -147,24 +147,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:07 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150552584104791') + .delete('/share156599426959800344') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b4374f6-101a-0031-4dae-2b2146000000', + '6cd8ba0d-a01a-00cd-4f81-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:07 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_conent_md5.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_conent_md5.js index 984376b575ea..260fbf4101e8 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_conent_md5.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_conent_md5.js @@ -1,125 +1,125 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150552816404134","dir":"dir156150552848108354","file":"file156150552880001855"} +module.exports.testInfo = {"share":"share156599427202202497","dir":"dir156599427232706454","file":"file156599427263703866"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552816404134') + .put('/share156599427202202497') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:08 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'ETag', - '"0x8D6F9C55712D889"', + '"0x8D7229882E6EC6E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3a08f87-501a-00b5-47ae-2b776e000000', + '1f223ff2-a01a-00a0-5681-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:07 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552816404134/dir156150552848108354') + .put('/share156599427202202497/dir156599427232706454') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:08 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'ETag', - '"0x8D6F9C55742C4A9"', + '"0x8D722988315E17F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e0819dba-001a-0043-42ae-2b5078000000', + '1d5fb444-c01a-0038-1081-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:07 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552816404134/dir156150552848108354/file156150552880001855') + .put('/share156599427202202497/dir156599427232706454/file156599427263703866') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:09 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'ETag', - '"0x8D6F9C557728FE8"', + '"0x8D7229883453755"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44d925ac-201a-00dc-04ae-2b28c2000000', + 'f591db7b-e01a-006b-5c81-5427c7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:08 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552816404134/dir156150552848108354/file156150552880001855', "Hello") + .put('/share156599427202202497/dir156599427232706454/file156599427263703866', "Hello") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'ixqZU8RhEpaoJ6v4xHgE1w==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:09 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'ETag', - '"0x8D6F9C557A4092E"', + '"0x8D722988378AC98"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c3acfc61-001a-006a-48ae-2b263a000000', + '079b9058-601a-0058-1481-547eea000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:08 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150552816404134/dir156150552848108354/file156150552880001855', "World") + .put('/share156599427202202497/dir156599427232706454/file156599427263703866', "World") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', '9aeSTmIehMkoCpon4by39g==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:09 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'ETag', - '"0x8D6F9C557D3D46D"', + '"0x8D7229883A9895F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7cad2fa9-001a-0025-35ae-2be222000000', + '3d43db0c-301a-00c3-3481-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:08 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150552816404134/dir156150552848108354/file156150552880001855') + .get('/share156599427202202497/dir156599427232706454/file156599427263703866') .reply(206, "HelloWor", [ 'Content-Length', '8', 'Content-Type', @@ -127,17 +127,17 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-Range', 'bytes 0-7/10', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:09 GMT', + 'Fri, 16 Aug 2019 22:24:33 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C557D3D46D"', + '"0x8D7229883A9895F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '024758a1-a01a-00a0-64ae-2bb5f7000000', + 'b5a58e30-f01a-009a-3d81-54f654000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -147,24 +147,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:09 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150552816404134') + .delete('/share156599427202202497') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '52930ba7-201a-0010-13ae-2b4c77000000', + 'bb23108f-901a-00a3-4381-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:10 GMT', + 'Fri, 16 Aug 2019 22:24:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_progress_event.js b/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_progress_event.js index ec77b8a3dd67..df922d6e6532 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_progress_event.js +++ b/sdk/storage/storage-file/recordings/node/fileclient/recording_uploadrange_with_progress_event.js @@ -1,111 +1,111 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150553083401263","dir":"dir156150553113505738","file":"file156150553145103205"} +module.exports.testInfo = {"share":"share156599427842909378","dir":"dir156599427873309132","file":"file156599427903606085"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553083401263') + .put('/share156599427842909378') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:11 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'ETag', - '"0x8D6F9C558A7E5CC"', + '"0x8D7229886B876A5"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4a3076dc-601a-003e-13ae-2bccb0000000', + '20ce7e53-e01a-008e-6c81-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:10 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553083401263/dir156150553113505738') + .put('/share156599427842909378/dir156599427873309132') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:11 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'ETag', - '"0x8D6F9C558D65811"', + '"0x8D7229886E68455"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '99672035-f01a-00d5-32ae-2b324c000000', + '846e62c7-e01a-00e8-3b81-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:11 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553083401263/dir156150553113505738/file156150553145103205') + .put('/share156599427842909378/dir156599427873309132/file156599427903606085') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:11 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'ETag', - '"0x8D6F9C5590894C6"', + '"0x8D722988714EFA1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11583040-501a-0097-1fae-2b1958000000', + 'a0407aa9-b01a-0015-4081-54b808000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:10 GMT', + 'Fri, 16 Aug 2019 22:24:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150553083401263/dir156150553113505738/file156150553145103205', "HelloWorld") + .put('/share156599427842909378/dir156599427873309132/file156599427903606085', "HelloWorld") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', 'aOEJ8PQMpyoV4FzCJ4b45g==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:12 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'ETag', - '"0x8D6F9C5593B46C0"', + '"0x8D722988761216C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de0686e8-a01a-0082-50ae-2bdbc1000000', + 'a57681d3-b01a-00d9-2881-54dcbd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:32:11 GMT', + 'Fri, 16 Aug 2019 22:24:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150553083401263') + .delete('/share156599427842909378') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e0fd9b74-801a-001d-2cae-2ba37b000000', + '7c29501f-701a-00c4-4381-540557000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:11 GMT', + 'Fri, 16 Aug 2019 22:24:40 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 51bddd56b747..6d8d1a0cd8d3 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,112 +1,112 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150563070204319","dir":"dir156150563099204238","file":"file156150563129108414"} +module.exports.testInfo = {"share":"share156599447625909598","dir":"dir156599447656507137","file":"file156599447690501715"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563070204319') + .put('/share156599447625909598') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:50 GMT', + 'Fri, 16 Aug 2019 22:27:56 GMT', 'ETag', - '"0x8D6F9C5942CE2CC"', + '"0x8D72298FCA30C7E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9cd95735-101a-00b2-61ae-2b81eb000000', + 'cb578046-001a-0048-1281-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:50 GMT', + 'Fri, 16 Aug 2019 22:27:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563070204319/dir156150563099204238') + .put('/share156599447625909598/dir156599447656507137') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:51 GMT', + 'Fri, 16 Aug 2019 22:27:56 GMT', 'ETag', - '"0x8D6F9C5945A6146"', + '"0x8D72298FCD7117B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcd4dcf9-501a-0050-70ae-2b6599000000', + '8583df7f-501a-0014-6c81-54b9f5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:50 GMT', + 'Fri, 16 Aug 2019 22:27:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563070204319/dir156150563099204238/file156150563129108414') + .put('/share156599447625909598/dir156599447656507137/file156599447690501715') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:51 GMT', + 'Fri, 16 Aug 2019 22:27:57 GMT', 'ETag', - '"0x8D6F9C594887E8B"', + '"0x8D72298FD05CAFC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bae563ce-601a-001c-1bae-2ba286000000', + 'b5046490-001a-00ad-6281-545afb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:51 GMT', + 'Fri, 16 Aug 2019 22:27:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563070204319/dir156150563099204238/file156150563129108414') + .put('/share156599447625909598/dir156599447656507137/file156599447690501715') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:51 GMT', + 'Fri, 16 Aug 2019 22:27:57 GMT', 'ETag', - '"0x8D6F9C594B69BD4"', + '"0x8D72298FD34F9BF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b2e3ecd-001a-000c-38ae-2b9460000000', + 'a2a6b684-f01a-00de-6381-542a38000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:51 GMT', + 'Fri, 16 Aug 2019 22:27:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150563070204319/dir156150563099204238/file156150563129108414') + .head('/share156599447625909598/dir156599447656507137/file156599447690501715') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:51 GMT', + 'Fri, 16 Aug 2019 22:27:57 GMT', 'ETag', - '"0x8D6F9C594B69BD4"', + '"0x8D72298FD34F9BF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b471288-301a-004b-78ae-2b4b0b000000', + '6b7243d5-101a-009b-6d81-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-a', 'a', 'x-ms-meta-b', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:52 GMT', + 'Fri, 16 Aug 2019 22:27:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150563070204319') + .delete('/share156599447625909598') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'adcfdd01-401a-000b-11ae-2b62e5000000', + '0cc561fd-201a-007d-2181-54e659000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:52 GMT', + 'Fri, 16 Aug 2019 22:27:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index dcfaecd81547..59d0cc7b0259 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,112 +1,112 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150563322406981","dir":"dir156150563352200386","file":"file156150563382305668"} +module.exports.testInfo = {"share":"share156599447896106645","dir":"dir156599447926900466","file":"file156599447963008935"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563322406981') + .put('/share156599447896106645') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:53 GMT', + 'Fri, 16 Aug 2019 22:27:59 GMT', 'ETag', - '"0x8D6F9C595AE6752"', + '"0x8D72298FE3FE36A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06b81e78-801a-0070-63ae-2b0955000000', + '2ce91486-c01a-00dd-2281-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:53 GMT', + 'Fri, 16 Aug 2019 22:27:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563322406981/dir156150563352200386') + .put('/share156599447896106645/dir156599447926900466') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:53 GMT', + 'Fri, 16 Aug 2019 22:27:59 GMT', 'ETag', - '"0x8D6F9C595DCDA99"', + '"0x8D72298FE763EAE"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '50e064fc-301a-0004-66ae-2b8f13000000', + 'b3dc9d74-401a-000b-3381-5462e5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:53 GMT', + 'Fri, 16 Aug 2019 22:27:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563322406981/dir156150563352200386/file156150563382305668') + .put('/share156599447896106645/dir156599447926900466/file156599447963008935') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:27:59 GMT', 'ETag', - '"0x8D6F9C5960A346B"', + '"0x8D72298FEA609D6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f5a364e3-901a-002b-74ae-2b0e29000000', + '2ee5ea93-e01a-0024-3b81-54e3df000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:53 GMT', + 'Fri, 16 Aug 2019 22:27:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563322406981/dir156150563352200386/file156150563382305668') + .put('/share156599447896106645/dir156599447926900466/file156599447963008935') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:28:00 GMT', 'ETag', - '"0x8D6F9C59639FFA6"', + '"0x8D72298FED8E2BC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '62640717-e01a-0049-60ae-2b49f1000000', + '30e8bd9e-001a-0043-6c81-545078000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:27:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150563322406981/dir156150563352200386/file156150563382305668') + .head('/share156599447896106645/dir156599447926900466/file156599447963008935') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:28:00 GMT', 'ETag', - '"0x8D6F9C59639FFA6"', + '"0x8D72298FED8E2BC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44d926b2-201a-00dc-05ae-2b28c2000000', + 'f264ea70-801a-00da-1681-54dfba000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-a', 'a', 'x-ms-meta-b', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:27:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150563322406981') + .delete('/share156599447896106645') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '65b7b13a-d01a-0068-39ae-2b24c0000000', + 'efd555ba-501a-0036-3781-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:28:00 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index 8fc727677a61..57ee023fcc52 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,112 +1,112 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150563502502658","dir":"dir156150563533000878","file":"file156150563562907809"} +module.exports.testInfo = {"share":"share156599448088604975","dir":"dir156599448118706490","file":"file156599448204805210"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563502502658') + .put('/share156599448088604975') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:55 GMT', + 'Fri, 16 Aug 2019 22:28:01 GMT', 'ETag', - '"0x8D6F9C596C2E335"', + '"0x8D72298FF645C91"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '787befd7-301a-0087-2aae-2b2fbe000000', + '2083c000-f01a-003b-0981-5438cf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:55 GMT', + 'Fri, 16 Aug 2019 22:28:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563502502658/dir156150563533000878') + .put('/share156599448088604975/dir156599448118706490') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:55 GMT', + 'Fri, 16 Aug 2019 22:28:01 GMT', 'ETag', - '"0x8D6F9C596F07896"', + '"0x8D72298FFE727E0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcd4dd00-501a-0050-73ae-2b6599000000', + '07c3e0d1-101a-0057-1981-54931c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:28:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563502502658/dir156150563533000878/file156150563562907809') + .put('/share156599448088604975/dir156599448118706490/file156599448204805210') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:55 GMT', + 'Fri, 16 Aug 2019 22:28:02 GMT', 'ETag', - '"0x8D6F9C5971DAB50"', + '"0x8D7229900171A12"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b43758c-101a-0031-6aae-2b2146000000', + 'c8ffbfa4-b01a-0073-5581-540a52000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:54 GMT', + 'Fri, 16 Aug 2019 22:28:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150563502502658/dir156150563533000878/file156150563562907809') + .put('/share156599448088604975/dir156599448118706490/file156599448204805210') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:56 GMT', + 'Fri, 16 Aug 2019 22:28:02 GMT', 'ETag', - '"0x8D6F9C5974AB6F4"', + '"0x8D72299004BC80D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '05939821-001a-008f-48ae-2b34cd000000', + '689b7bcf-801a-00bc-0e81-546de0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:55 GMT', + 'Fri, 16 Aug 2019 22:28:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150563502502658/dir156150563533000878/file156150563562907809') + .head('/share156599448088604975/dir156599448118706490/file156599448204805210') .reply(200, "", [ 'Content-Length', '11', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:56 GMT', + 'Fri, 16 Aug 2019 22:28:02 GMT', 'ETag', - '"0x8D6F9C5974AB6F4"', + '"0x8D72299004BC80D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '71cc3495-b01a-00d9-35ae-2bdcbd000000', + '9d71c96e-801a-0016-4881-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-a', 'a', 'x-ms-meta-b', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:55 GMT', + 'Fri, 16 Aug 2019 22:28:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150563502502658') + .delete('/share156599448088604975') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dfba3293-201a-0039-2bae-2b3a35000000', + 'e797ac01-a01a-00ef-1681-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:56 GMT', + 'Fri, 16 Aug 2019 22:28:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_buffer_and_default_parameters.js b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_buffer_and_default_parameters.js index 6c4de14ae1e5..4d4a02082447 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_buffer_and_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_buffer_and_default_parameters.js @@ -1,116 +1,116 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150562388702437","dir":"dir156150562418204721","file":"file156150562449309966","randomstring":"randomstring156150562449406859"} +module.exports.testInfo = {"share":"share156599446771100373","dir":"dir156599446801204122","file":"file156599446832401161","randomstring":"randomstring156599446832507467"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562388702437') + .put('/share156599446771100373') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:44 GMT', + 'Fri, 16 Aug 2019 22:27:47 GMT', 'ETag', - '"0x8D6F9C5901DBEC5"', + '"0x8D72298F78A3C60"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '98e41cb8-d01a-002c-20ae-2bf8ac000000', + '44b16ab7-a01a-0082-0e81-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:43 GMT', + 'Fri, 16 Aug 2019 22:27:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562388702437/dir156150562418204721') + .put('/share156599446771100373/dir156599446801204122') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:44 GMT', + 'Fri, 16 Aug 2019 22:27:48 GMT', 'ETag', - '"0x8D6F9C5904D6B4C"', + '"0x8D72298F7B967A7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6d4fcd2b-101a-009b-04ae-2bf7a9000000', + 'c181a54f-201a-0054-7181-54901b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:43 GMT', + 'Fri, 16 Aug 2019 22:27:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562388702437/dir156150562418204721/file156150562449309966') + .put('/share156599446771100373/dir156599446801204122/file156599446832401161') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:44 GMT', + 'Fri, 16 Aug 2019 22:27:48 GMT', 'ETag', - '"0x8D6F9C5907B1347"', + '"0x8D72298F7E90BBF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11fe2223-101a-0018-18ae-2b5704000000', + '07c3e0c0-101a-0057-1381-54931c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:43 GMT', + 'Fri, 16 Aug 2019 22:27:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562388702437/dir156150562418204721/file156150562449309966', "randomstring156150562449406859") + .put('/share156599446771100373/dir156599446801204122/file156599446832401161', "randomstring156599446832507467") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'fGkGgCmBdnCzwa5hR2RXfw==', + 'GqL7ja+N2mPdOhNXj0sZ+w==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:45 GMT', + 'Fri, 16 Aug 2019 22:27:48 GMT', 'ETag', - '"0x8D6F9C590A93095"', + '"0x8D72298F8199A5D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f5a364bd-901a-002b-64ae-2b0e29000000', + 'd5e3eb3d-e01a-0049-4b81-5449f1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:44 GMT', + 'Fri, 16 Aug 2019 22:27:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150562388702437/dir156150562418204721/file156150562449309966') - .reply(200, "randomstring156150562449406859", [ 'Content-Length', + .get('/share156599446771100373/dir156599446801204122/file156599446832401161') + .reply(200, "randomstring156599446832507467", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:45 GMT', + 'Fri, 16 Aug 2019 22:27:48 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C590A93095"', + '"0x8D72298F8199A5D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '98fc4cf6-501a-005b-41ae-2b7ded000000', + 'a2a6b669-f01a-00de-5281-542a38000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:45 GMT', + 'Fri, 16 Aug 2019 22:27:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150562388702437') + .delete('/share156599446771100373') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '106e03e4-401a-00aa-1fae-2bac7e000000', + '4e4c92fb-101a-0090-2f81-54efdd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:45 GMT', + 'Fri, 16 Aug 2019 22:27:51 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js index 5908b6d77f2a..44a61744cb75 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_chinese_string_body_and_default_parameters.js @@ -1,116 +1,116 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150562837908723","dir":"dir156150562913809903","file":"file156150562944508264","randomstring你好":"randomstring你好156150562944604200"} +module.exports.testInfo = {"share":"share156599447433904163","dir":"dir156599447464401780","file":"file156599447495608270","randomstring你好":"randomstring你好156599447495705114"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562837908723') + .put('/share156599447433904163') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:49 GMT', + 'Fri, 16 Aug 2019 22:27:54 GMT', 'ETag', - '"0x8D6F9C5930E673C"', + '"0x8D72298FB7E2AA1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '106e03eb-401a-00aa-22ae-2bac7e000000', + '3b2755c9-901a-0002-2881-54786b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:48 GMT', + 'Fri, 16 Aug 2019 22:27:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562837908723/dir156150562913809903') + .put('/share156599447433904163/dir156599447464401780') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:49 GMT', + 'Fri, 16 Aug 2019 22:27:54 GMT', 'ETag', - '"0x8D6F9C59340F5DF"', + '"0x8D72298FBAD2914"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3551f60d-101a-00b9-63ae-2b999f000000', + 'd6199441-801a-0052-3581-546763000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:48 GMT', + 'Fri, 16 Aug 2019 22:27:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562837908723/dir156150562913809903/file156150562944508264') + .put('/share156599447433904163/dir156599447464401780/file156599447495608270') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:49 GMT', + 'Fri, 16 Aug 2019 22:27:55 GMT', 'ETag', - '"0x8D6F9C5936F3A37"', + '"0x8D72298FBDC57D4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3dc0ffd6-501a-0079-7cae-2b13db000000', + '47ff8ba9-901a-0020-4581-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:49 GMT', + 'Fri, 16 Aug 2019 22:27:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562837908723/dir156150562913809903/file156150562944508264', "randomstring你好156150562944604200") + .put('/share156599447433904163/dir156599447464401780/file156599447495608270', "randomstring你好156599447495705114") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'zY0HYUU6JHZAPGdR4ESLTA==', + 'BmHnU5cZBm6orHsjN4Gepw==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:50 GMT', + 'Fri, 16 Aug 2019 22:27:55 GMT', 'ETag', - '"0x8D6F9C5939F057F"', + '"0x8D72298FC0C9838"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e65da284-801a-00da-3cae-2bdfba000000', + 'ad60273c-301a-00a5-4d81-544188000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:49 GMT', + 'Fri, 16 Aug 2019 22:27:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150562837908723/dir156150562913809903/file156150562944508264') - .reply(200, "randomstring你好156150562944604200", [ 'Content-Length', + .get('/share156599447433904163/dir156599447464401780/file156599447495608270') + .reply(200, "randomstring你好156599447495705114", [ 'Content-Length', '36', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:50 GMT', + 'Fri, 16 Aug 2019 22:27:55 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C5939F057F"', + '"0x8D72298FC0C9838"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5ce34dc3-d01a-008d-6cae-2b3637000000', + 'ef5a6305-301a-0062-3c81-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:49 GMT', + 'Fri, 16 Aug 2019 22:27:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150562837908723') + .delete('/share156599447433904163') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fe95cc98-b01a-0096-68ae-2b18a5000000', + 'f41b9fff-101a-00df-5b81-542bc5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:50 GMT', + 'Fri, 16 Aug 2019 22:27:56 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_nodejs_stream.js b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_nodejs_stream.js index 62b1574ad204..aa271ee31eba 100644 --- a/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_nodejs_stream.js +++ b/sdk/storage/storage-file/recordings/node/fileclient_nodejs_only/recording_upload_with_nodejs_stream.js @@ -1,116 +1,116 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150562650907764","dir":"dir156150562680307091","file":"file156150562712709858","randomstring":"randomstring156150562712707485"} +module.exports.testInfo = {"share":"share156599447227304114","dir":"dir156599447280003820","file":"file156599447310703057","randomstring":"randomstring156599447310807342"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562650907764') + .put('/share156599447227304114') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:46 GMT', + 'Fri, 16 Aug 2019 22:27:52 GMT', 'ETag', - '"0x8D6F9C591ADDAAB"', + '"0x8D72298FA4AA1BD"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9cd9571a-101a-00b2-4cae-2b81eb000000', + 'd4e418d3-401a-0083-2781-54da3c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:46 GMT', + 'Fri, 16 Aug 2019 22:27:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562650907764/dir156150562680307091') + .put('/share156599447227304114/dir156599447280003820') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:47 GMT', + 'Fri, 16 Aug 2019 22:27:53 GMT', 'ETag', - '"0x8D6F9C591DAE53F"', + '"0x8D72298FA93494D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b581b173-101a-00d4-29ae-2b33b1000000', + '2083bfe9-f01a-003b-0681-5438cf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:46 GMT', + 'Fri, 16 Aug 2019 22:27:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562650907764/dir156150562680307091/file156150562712709858') + .put('/share156599447227304114/dir156599447280003820/file156599447310703057') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:47 GMT', + 'Fri, 16 Aug 2019 22:27:53 GMT', 'ETag', - '"0x8D6F9C5920C5C86"', + '"0x8D72298FAC2C63E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f5a364c4-901a-002b-67ae-2b0e29000000', + '8475f911-d01a-004a-3681-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:47 GMT', + 'Fri, 16 Aug 2019 22:27:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150562650907764/dir156150562680307091/file156150562712709858', "randomstring156150562712707485") + .put('/share156599447227304114/dir156599447280003820/file156599447310703057', "randomstring156599447310807342") .query(true) .reply(201, "", [ 'Content-Length', '0', 'Content-MD5', - 'Y0bbPnQcZIn7hGv7GWv2sw==', + 'dB6mNdKx9SLr5ku599f2Ug==', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:47 GMT', + 'Fri, 16 Aug 2019 22:27:53 GMT', 'ETag', - '"0x8D6F9C5923B6443"', + '"0x8D72298FAF2DF87"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2c1efb8e-901a-00e7-54ae-2b6a9c000000', + 'c9a3e622-e01a-00ca-0e81-54e95c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:46 GMT', + 'Fri, 16 Aug 2019 22:27:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150562650907764/dir156150562680307091/file156150562712709858') - .reply(200, "randomstring156150562712707485", [ 'Content-Length', + .get('/share156599447227304114/dir156599447280003820/file156599447310703057') + .reply(200, "randomstring156599447310807342", [ 'Content-Length', '30', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:47 GMT', + 'Fri, 16 Aug 2019 22:27:53 GMT', 'Accept-Ranges', 'bytes', 'ETag', - '"0x8D6F9C5923B6443"', + '"0x8D72298FAF2DF87"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd5695677-c01a-007c-66ae-2be7a4000000', + 'ee0d2578-a01a-00ab-6e81-54ad83000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -120,24 +120,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:47 GMT', + 'Fri, 16 Aug 2019 22:27:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150562650907764') + .delete('/share156599447227304114') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd569567a-c01a-007c-67ae-2be7a4000000', + '3d43dca4-301a-00c3-5e81-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:47 GMT', + 'Fri, 16 Aug 2019 22:27:53 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.js index 4283d074e377..eab1e1c0fed5 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '295147f7-d01a-000e-413c-48969a000000', + '4aa6a85d-301a-004b-6d81-544b0b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 07:42:49 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.js index 09d3667d8360..e1b3e0de8b27 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_can_be_created_from_a_sas_connection_string_and_an_option_bag.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cad7de52-201a-00d7-0d3c-4830b6000000', + '6b72431c-101a-009b-3181-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 07:42:49 GMT', + 'Fri, 16 Aug 2019 22:26:05 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_createshare_and_deleteshare.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_createshare_and_deleteshare.js index fca2b9511e15..2a76d742c5b2 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_createshare_and_deleteshare.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_createshare_and_deleteshare.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150557708609769"} +module.exports.testInfo = {"share":"share156599436381806723"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150557708609769') + .put('/share156599436381806723') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:57 GMT', + 'Fri, 16 Aug 2019 22:26:04 GMT', 'ETag', - '"0x8D6F9C5743A8347"', + '"0x8D72298B99EDF51"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7504f45-a01a-0089-1dae-2bc3b5000000', + 'e797ab48-a01a-00ef-6181-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:57 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150557708609769') + .get('/share156599436381806723') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:57 GMT', + 'Fri, 16 Aug 2019 22:26:04 GMT', 'ETag', - '"0x8D6F9C5743A8347"', + '"0x8D72298B99EDF51"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd53a-e01a-0085-72ae-2b2d44000000', + '0bd3ed8b-b01a-00b4-6081-547693000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key', 'value', 'x-ms-has-immutability-policy', @@ -51,41 +51,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:56 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150557708609769') + .delete('/share156599436381806723') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '50e064af-301a-0004-56ae-2b8f13000000', + 'a3b12d9f-401a-0088-3981-54c248000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:58 GMT', + 'Fri, 16 Aug 2019 22:26:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150557708609769') + .get('/share156599436381806723') .query(true) - .reply(404, "ShareNotFoundThe specified share does not exist.\nRequestId:603cfa71-701a-00cf-7aae-2b1d23000000\nTime:2019-06-25T23:32:58.4530163Z", [ 'Content-Length', + .reply(404, "ShareNotFoundThe specified share does not exist.\nRequestId:734d662d-f01a-00b3-1a81-548016000000\nTime:2019-08-16T22:26:05.2052938Z", [ 'Content-Length', '217', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '603cfa71-701a-00cf-7aae-2b1d23000000', + '734d662d-f01a-00b3-1a81-548016000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'ShareNotFound', 'Access-Control-Expose-Headers', @@ -93,7 +93,7 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:58 GMT', + 'Fri, 16 Aug 2019 22:26:04 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_getproperties.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_getproperties.js index 44250070d8d2..8072019c854d 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_getproperties.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_getproperties.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3d4940b5-d01a-0041-22ae-2b5282000000', + '846e6341-e01a-00e8-5c81-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:50 GMT', + 'Fri, 16 Aug 2019 22:25:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_all_parameters_configured.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_all_parameters_configured.js index 1036c6d372c8..8f2ca30bab08 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_all_parameters_configured.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_all_parameters_configured.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150555708603266"} +module.exports.testInfo = {"share":"share156599431613709742"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150555708603266x1') + .put('/share156599431613709742x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:37 GMT', + 'Fri, 16 Aug 2019 22:25:16 GMT', 'ETag', - '"0x8D6F9C5684E4934"', + '"0x8D722989D2FFDEB"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd15a33cc-901a-0081-32ae-2bd8c6000000', + '514d29eb-801a-0095-2081-541ba2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:36 GMT', + 'Fri, 16 Aug 2019 22:25:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150555708603266x2') + .put('/share156599431613709742x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:37 GMT', + 'Fri, 16 Aug 2019 22:25:16 GMT', 'ETag', - '"0x8D6F9C5687E5925"', + '"0x8D722989D5C342E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cc04cd90-901a-0009-80ae-2b601f000000', + 'd71e3522-201a-0098-5181-54f4ae000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:37 GMT', + 'Fri, 16 Aug 2019 22:25:16 GMT', 'Connection', 'close' ]); @@ -47,22 +47,22 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share1561505557086032661share156150555708603266x1Tue, 25 Jun 2019 23:32:37 GMT\"0x8D6F9C5684E4934\"5120val/fakestorageaccount/share156150555708603266x2/01D52BAE46079D59/9999-12-31T23:59:59.9999999Z", [ 'Transfer-Encoding', + .reply(200, "share1565994316137097421share156599431613709742x1Fri, 16 Aug 2019 22:25:16 GMT\"0x8D722989D2FFDEB\"5120val/fakestorageaccount/share156599431613709742x2/01D554817AE569BD/9999-12-31T23:59:59.9999999Z", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd04d1f2c-e01a-0006-6eae-2b8de9000000', + '31fba306-501a-00b5-4581-54776e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:37 GMT', + 'Fri, 16 Aug 2019 22:25:16 GMT', 'Connection', 'close' ]); @@ -70,56 +70,56 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share156150555708603266/fakestorageaccount/share156150555708603266x2/01D52BAE46079D59/9999-12-31T23:59:59.9999999Z1share156150555708603266x2Tue, 25 Jun 2019 23:32:37 GMT\"0x8D6F9C5687E5925\"5120val", [ 'Transfer-Encoding', + .reply(200, "share156599431613709742/fakestorageaccount/share156599431613709742x2/01D554817AE569BD/9999-12-31T23:59:59.9999999Z1share156599431613709742x2Fri, 16 Aug 2019 22:25:16 GMT\"0x8D722989D5C342E\"5120val", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16c8f760-e01a-00e8-0fae-2b876a000000', + '36af0d1b-501a-003d-3881-54cfb7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:38 GMT', + 'Fri, 16 Aug 2019 22:25:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150555708603266x1') + .delete('/share156599431613709742x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fedf7ee3-401a-0066-4eae-2bc8cb000000', + '0bd3ed2b-b01a-00b4-3081-547693000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:39 GMT', + 'Fri, 16 Aug 2019 22:25:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150555708603266x2') + .delete('/share156599431613709742x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2e3101c9-501a-00d3-21ae-2bc534000000', + '079b923b-601a-0058-4c81-547eea000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:39 GMT', + 'Fri, 16 Aug 2019 22:25:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_default_parameters.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_default_parameters.js index bb0e05292fbb..883b662e2627 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_listshares_with_default_parameters.js @@ -5,22 +5,22 @@ module.exports.testInfo = {} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "newshare1560984825945Wed, 19 Jun 2019 22:53:46 GMT\"0x8D6F508FC8742DD\"5120newshare1560984850577Wed, 19 Jun 2019 22:54:11 GMT\"0x8D6F5090B34A1EB\"5120newshare1560984882604Wed, 19 Jun 2019 22:54:42 GMT\"0x8D6F5091E339D8C\"5120newshare1560985024272Wed, 19 Jun 2019 22:57:04 GMT\"0x8D6F50972BE3FCF\"5120newshare1560985083512Wed, 19 Jun 2019 22:58:03 GMT\"0x8D6F5099600D69D\"5120newshare1560985920531Wed, 19 Jun 2019 23:12:00 GMT\"0x8D6F50B88DA1F34\"5120share155437904169205513Thu, 04 Apr 2019 11:57:21 GMT\"0x8D6B8F4B2199E20\"5120share155437904713606627155437904748902305Thu, 04 Apr 2019 11:57:27 GMT\"0x8D6B8F4B58CCFDF\"5120share155437910337302527155437910354902667Thu, 04 Apr 2019 11:58:23 GMT\"0x8D6B8F4D6F74A7A\"5120share155437926571002685Thu, 04 Apr 2019 12:01:06 GMT\"0x8D6B8F537F0202C\"5120share155437937929506082Thu, 04 Apr 2019 12:02:59 GMT\"0x8D6B8F57B571BD7\"5120share155437938267107302155437938302300325Thu, 04 Apr 2019 12:03:03 GMT\"0x8D6B8F57D904B8D\"5120share155437943600205257155437943618000602Thu, 04 Apr 2019 12:03:56 GMT\"0x8D6B8F59D3F4E15\"5120share155442101291609110Thu, 04 Apr 2019 23:36:53 GMT\"0x8D6B9566AEEB456\"5120share155442101433204202155442101441304945Thu, 04 Apr 2019 23:36:54 GMT\"0x8D6B9566BAA4F82\"5120share155442103535004210155442103538902012Thu, 04 Apr 2019 23:37:15 GMT\"0x8D6B956782FAC3C\"5120share155442106262706581Thu, 04 Apr 2019 23:37:43 GMT\"0x8D6B95688E986F6\"5120share155442106833005342155442106849709891Thu, 04 Apr 2019 23:37:48 GMT\"0x8D6B9568BEE3C35\"5120share155442114135001795155442114169107170Thu, 04 Apr 2019 23:39:02 GMT\"0x8D6B956B7D19FDF\"5120share155442131425802394Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571E63D415\"5120share155442131479404554155442131482500092Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571EBA7ECE\"5120share155442132948207011155442132949606157Thu, 04 Apr 2019 23:42:09 GMT\"0x8D6B9572778FD3C\"5120share155442141590704833Thu, 04 Apr 2019 23:43:35 GMT\"0x8D6B9575AFB4FEB\"5120share155442142252500330155442142267403210Thu, 04 Apr 2019 23:43:44 GMT\"0x8D6B9575FD51B4D\"5120share155442146582902380155442146585008091Thu, 04 Apr 2019 23:44:26 GMT\"0x8D6B95778EE5ED3\"5120share155442149759503608Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C207165\"5120share155442149837602699Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C30A3C1\"5120share155442150064406618155442150082408752Thu, 04 Apr 2019 23:45:00 GMT\"0x8D6B9578D9B62F7\"5120share155442153362302080155442153371707518Thu, 04 Apr 2019 23:45:33 GMT\"0x8D6B957A13737FA\"5120share155443582059502859Fri, 05 Apr 2019 03:43:42 GMT\"0x8D6B978E603869D\"5120share155443582580507876155443582595606141Fri, 05 Apr 2019 03:43:46 GMT\"0x8D6B978E8A02797\"5120share155443587740305874155443587762607080Fri, 05 Apr 2019 03:44:37 GMT\"0x8D6B97906DE32FA\"5120share155443625931505797Fri, 05 Apr 2019 03:50:59 GMT\"0x8D6B979EA5A9413\"5120share155443626549008520155443626563302943Fri, 05 Apr 2019 03:51:05 GMT\"0x8D6B979EE1D492F\"5120share155443630167301526155443630221406552Fri, 05 Apr 2019 03:51:42 GMT\"0x8D6B97A03FBB01F\"5120share155443666699605171Fri, 05 Apr 2019 03:57:47 GMT\"0x8D6B97ADD56D64F\"5120share155443666955806318155443667044900386Fri, 05 Apr 2019 03:57:50 GMT\"0x8D6B97ADF6728E9\"5120share155443669150109852155443669151701289Fri, 05 Apr 2019 03:58:11 GMT\"0x8D6B97AEBF6A0A3\"5120share155443703010208112Fri, 05 Apr 2019 04:03:50 GMT\"0x8D6B97BB5C542C6\"5120share155443703394402052155443703408604381Fri, 05 Apr 2019 04:03:54 GMT\"0x8D6B97BB82502C3\"5120share155443706847604651155443706849201965Fri, 05 Apr 2019 04:04:28 GMT\"0x8D6B97BCCA7BB08\"5120share155443733735903558Fri, 05 Apr 2019 04:08:57 GMT\"0x8D6B97C6CFBA440\"5120share155443734066903960155443734103208534Fri, 05 Apr 2019 04:09:01 GMT\"0x8D6B97C6F2C6060\"5120share155443740343700662155443740361700328Fri, 05 Apr 2019 04:10:03 GMT\"0x8D6B97C947B99FC\"5120share155443773159006548Fri, 05 Apr 2019 04:15:31 GMT\"0x8D6B97D57F62125\"5120share155443773488909261155443773524802868Fri, 05 Apr 2019 04:15:35 GMT\"0x8D6B97D5A23A41F\"5120share155443778879901744155443778897809352Fri, 05 Apr 2019 04:16:29 GMT\"0x8D6B97D7A2A0A7B\"5120share155443808157506500Fri, 05 Apr 2019 04:21:21 GMT\"0x8D6B97E28928135\"5120share155443808899901355155443808934705375Fri, 05 Apr 2019 04:21:29 GMT\"0x8D6B97E2D346BD5\"5120share155443814397801049155443814428602573Fri, 05 Apr 2019 04:22:24 GMT\"0x8D6B97E4DF255CB\"5120share155449698256603251Fri, 05 Apr 2019 20:43:03 GMT\"0x8D6BA074CC4EFEB\"5120share155449699028704210155449699044401955Fri, 05 Apr 2019 20:43:10 GMT\"0x8D6BA0750F24CA3\"5120share155449706408706736155449706446200602Fri, 05 Apr 2019 20:44:24 GMT\"0x8D6BA077D1205FE\"5120share155449737116002082Fri, 05 Apr 2019 20:49:31 GMT\"0x8D6BA0833EF6AE3\"5120share155449737474209671155449737490001856Fri, 05 Apr 2019 20:49:35 GMT\"0x8D6BA0836271F09\"5120share155449745536204495155449745544000815Fri, 05 Apr 2019 20:50:55 GMT\"0x8D6BA08661AA78B\"5120share155449770584504837Fri, 05 Apr 2019 20:55:06 GMT\"0x8D6BA08FB786B15\"5120share155449770977003350155449771009507442Fri, 05 Apr 2019 20:55:10 GMT\"0x8D6BA08FDEEEF5F\"5120share155449778145802330155449778162009258Fri, 05 Apr 2019 20:56:21 GMT\"0x8D6BA0928910090\"5120share155449823062408698Fri, 05 Apr 2019 21:03:50 GMT\"0x8D6BA0A3420A3D8\"5120share155449823258504287155449823263301889Fri, 05 Apr 2019 21:03:52 GMT\"0x8D6BA0A35530D46\"5120share155449826174701410155449826176307807Fri, 05 Apr 2019 21:04:21 GMT\"0x8D6BA0A46AFDCC3\"5120share155449862981903222Fri, 05 Apr 2019 21:10:29 GMT\"0x8D6BA0B220FFB58\"5120share155449863105504658155449863111709132Fri, 05 Apr 2019 21:10:31 GMT\"0x8D6BA0B22D5EEA2\"5120share155449865700806346155449865702400197Fri, 05 Apr 2019 21:10:57 GMT\"0x8D6BA0B32485EAF\"5120share155449904692503022Fri, 05 Apr 2019 21:17:26 GMT\"0x8D6BA0C1AB0768E\"5120share155449905263404318155449905491400712Fri, 05 Apr 2019 21:17:34 GMT\"0x8D6BA0C1F74B26E\"5120share155449907669405335155449907672507508Fri, 05 Apr 2019 21:17:56 GMT\"0x8D6BA0C2C743E12\"5120share155449934243103133Fri, 05 Apr 2019 21:22:22 GMT\"0x8D6BA0CCAE43E0F\"5120share155449934701504808155449934737409902Fri, 05 Apr 2019 21:22:27 GMT\"0x8D6BA0CCDD5AAB7\"5120share155449939774006034155449939791600712Fri, 05 Apr 2019 21:23:18 GMT\"0x8D6BA0CEBF47C4B\"5120share155449972319203361Fri, 05 Apr 2019 21:28:43 GMT\"0x8D6BA0DADD62181\"5120share155449972776901031155449972812206390Fri, 05 Apr 2019 21:28:48 GMT\"0x8D6BA0DB0C68B0E\"5120share155449977789002842155449977806401651Fri, 05 Apr 2019 21:29:38 GMT\"0x8D6BA0DCE8A94B2\"5120share155449988456208354Fri, 05 Apr 2019 21:31:24 GMT\"0x8D6BA0E0E0F8C4F\"5120share155449988625608688155449988642503448Fri, 05 Apr 2019 21:31:26 GMT\"0x8D6BA0E0F159E96\"5120share155449991844601273Fri, 05 Apr 2019 21:31:58 GMT\"0x8D6BA0E2236F89F\"5120share155449991947403701155449991955701901Fri, 05 Apr 2019 21:31:59 GMT\"0x8D6BA0E22D51817\"5120share155449992104401371155449992136502093Fri, 05 Apr 2019 21:32:01 GMT\"0x8D6BA0E23F4DF66\"5120share155449998080301988155449998096605835Fri, 05 Apr 2019 21:33:01 GMT\"0x8D6BA0E477BAC64\"5120share155450013577106187Fri, 05 Apr 2019 21:35:35 GMT\"0x8D6BA0EA3C13C6A\"5120share155450013975601796155450014013008238Fri, 05 Apr 2019 21:35:40 GMT\"0x8D6BA0EA65AC2B0\"5120share155450018809207165155450018826600270Fri, 05 Apr 2019 21:36:28 GMT\"0x8D6BA0EC30B1548\"5120share155450023420002019Fri, 05 Apr 2019 21:37:14 GMT\"0x8D6BA0EDE57C125\"5120share155450023554205992155450023557009386Fri, 05 Apr 2019 21:37:15 GMT\"0x8D6BA0EDF288B66\"5120share155450024411803045Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4426ACD\"5120share155450024474309872155450024478308841Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4A7516D\"5120share155450026152800097155450026154404952Fri, 05 Apr 2019 21:37:41 GMT\"0x8D6BA0EEEA43674\"5120share155450026844501446155450026846506463Fri, 05 Apr 2019 21:37:48 GMT\"0x8D6BA0EF2C4D0B4\"5120share155450027013702613Fri, 05 Apr 2019 21:37:50 GMT\"0x8D6BA0EF3D660E5\"5120share155450098713403512Fri, 05 Apr 2019 21:49:47 GMT\"0x8D6BA109F1FAEA3\"5120share155450098795005725155450098819302382Fri, 05 Apr 2019 21:49:48 GMT\"0x8D6BA109FC138FA\"5120share155450100624106896155450100625400488Fri, 05 Apr 2019 21:50:06 GMT\"0x8D6BA10AA84F02B\"5120share155450104772209911Fri, 05 Apr 2019 21:50:47 GMT\"0x8D6BA10C3526810\"5120share155450105123004228155450105156707366Fri, 05 Apr 2019 21:50:51 GMT\"0x8D6BA10C59D285F\"5120share155450111920803672155450111937209538Fri, 05 Apr 2019 21:51:59 GMT\"0x8D6BA10EE071888\"5120share155450126920005396Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA11474297C1\"5120share155450126969701975155450126972908925Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA1147934239\"5120share155450128467906744155450128469304502Fri, 05 Apr 2019 21:54:44 GMT\"0x8D6BA11507E4772\"5120share155450132669601793Fri, 05 Apr 2019 21:55:26 GMT\"0x8D6BA11698EF3CD\"5120share155450132813801025155450132829305884Fri, 05 Apr 2019 21:55:28 GMT\"0x8D6BA116A81B4B3\"5120share155450135791403668155450135799105427Fri, 05 Apr 2019 21:55:58 GMT\"0x8D6BA117C34CAD7\"5120share155450140200109814Fri, 05 Apr 2019 21:56:42 GMT\"0x8D6BA119683B6C7\"5120share155450140979600425155450141000009152Fri, 05 Apr 2019 21:56:50 GMT\"0x8D6BA119B353702\"5120share155450144708505456155450144717604490Fri, 05 Apr 2019 21:57:27 GMT\"0x8D6BA11B15D8FA1\"5120share155450155445805771Fri, 05 Apr 2019 21:59:14 GMT\"0x8D6BA11F14FA8C1\"5120share155450155746908588155450155762100757Fri, 05 Apr 2019 21:59:17 GMT\"0x8D6BA11F332B6AE\"5120share155450159236608444155450159244109845Fri, 05 Apr 2019 21:59:52 GMT\"0x8D6BA1207F35686\"5120share155450180090503097Fri, 05 Apr 2019 22:03:20 GMT\"0x8D6BA12842B549F\"5120share155450180155809344155450180158500047Fri, 05 Apr 2019 22:03:21 GMT\"0x8D6BA1284932271\"5120share155450181491907566155450181493202339Fri, 05 Apr 2019 22:03:34 GMT\"0x8D6BA128C8781AB\"5120share155450186007105856Fri, 05 Apr 2019 22:04:20 GMT\"0x8D6BA12A77939C1\"5120share155450186139508623155450186155309962Fri, 05 Apr 2019 22:04:21 GMT\"0x8D6BA12A85AA383\"5120share155450189649605877155450189657701803Fri, 05 Apr 2019 22:04:56 GMT\"0x8D6BA12BD3AFF63\"5120share155450194282600135Fri, 05 Apr 2019 22:05:42 GMT\"0x8D6BA12D8C2E1B6\"5120share155450195089000955155450195091608811Fri, 05 Apr 2019 22:05:50 GMT\"0x8D6BA12DD953B1C\"5120share155450196679601624155450196680606667Fri, 05 Apr 2019 22:06:06 GMT\"0x8D6BA12E70E0F9F\"5120share155450199206704489Fri, 05 Apr 2019 22:06:32 GMT\"0x8D6BA12F630E2CD\"5120share155450199500007291155450201143605621Fri, 05 Apr 2019 22:06:51 GMT\"0x8D6BA1301BC47AF\"5120share155450206036607407155450206052800826Fri, 05 Apr 2019 22:07:40 GMT\"0x8D6BA131EFE8131\"5120share155450219976309042Fri, 05 Apr 2019 22:09:59 GMT\"0x8D6BA1371F17A2C\"5120share155450220201305360155450220217304372Fri, 05 Apr 2019 22:10:02 GMT\"0x8D6BA13736168E3\"5120share155450220597709116Fri, 05 Apr 2019 22:10:05 GMT\"0x8D6BA13759CF9CA\"5120share155450220632007478155450220635204656Fri, 05 Apr 2019 22:10:06 GMT\"0x8D6BA1375D62EE2\"5120share155450222111000558155450222112507755Fri, 05 Apr 2019 22:10:21 GMT\"0x8D6BA137EA4808F\"5120share155450223061502730155450223068509469Fri, 05 Apr 2019 22:10:30 GMT\"0x8D6BA13845FAD24\"5120share155450232306601840Fri, 05 Apr 2019 22:12:03 GMT\"0x8D6BA13BB66BE04\"5120share155450232646008568155450232648907776Fri, 05 Apr 2019 22:12:06 GMT\"0x8D6BA13BD711C53\"5120share155450234251903854155450234253907944Fri, 05 Apr 2019 22:12:22 GMT\"0x8D6BA13C70245E0\"5120share155450235982000963Fri, 05 Apr 2019 22:12:39 GMT\"0x8D6BA13D1508F64\"5120share155450236052009517155450236056501193Fri, 05 Apr 2019 22:12:40 GMT\"0x8D6BA13D1C73D27\"5120share155450237944605145155450237947204493Fri, 05 Apr 2019 22:12:59 GMT\"0x8D6BA13DD070EC8\"5120share155450243317208497Fri, 05 Apr 2019 22:13:53 GMT\"0x8D6BA13FD502B84\"5120share155450243543800739155450243563307575Fri, 05 Apr 2019 22:13:55 GMT\"0x8D6BA13FE87318F\"5120share155450247858409868155450247868503121Fri, 05 Apr 2019 22:14:38 GMT\"0x8D6BA14182FE497\"5120share155450252568703791Fri, 05 Apr 2019 22:15:25 GMT\"0x8D6BA14342D96B5\"5120share155450252608008026155450252615504107Fri, 05 Apr 2019 22:15:26 GMT\"0x8D6BA143475549D\"5120share155450255144300111155450255146607728Fri, 05 Apr 2019 22:15:51 GMT\"0x8D6BA14438C0714\"5120share155450256410002156Fri, 05 Apr 2019 22:16:04 GMT\"0x8D6BA144B93A845\"5120share155450256664806570155450256683505659Fri, 05 Apr 2019 22:16:06 GMT\"0x8D6BA144CBA4AA3\"5120share155450260538802684155450260548106160Fri, 05 Apr 2019 22:16:45 GMT\"0x8D6BA1463C321E8\"5120share155450262421807558Fri, 05 Apr 2019 22:17:04 GMT\"0x8D6BA146EF12A18\"5120share155450262609800727155450262624802323Fri, 05 Apr 2019 22:17:06 GMT\"0x8D6BA14702740EF\"5120share155450265459101575155450265466908285Fri, 05 Apr 2019 22:17:34 GMT\"0x8D6BA14811678F6\"5120share155450291724204101Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151D92961C\"5120share155450291786801152155450291791509886Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151DF9B21D\"5120share155450294264200641155450294267300716Fri, 05 Apr 2019 22:22:22 GMT\"0x8D6BA152CBFB921\"5120share155450297591105990Fri, 05 Apr 2019 22:22:55 GMT\"0x8D6BA154089226D\"5120share155450297691404792155450298009709737Fri, 05 Apr 2019 22:23:00 GMT\"0x8D6BA1543093B42\"5120share155450299822209088155450299823801256Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154DD8BE67\"5120share155450299850301516Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154E0093C0\"5120share155450323607005122Fri, 05 Apr 2019 22:27:16 GMT\"0x8D6BA15DBB935B6\"5120share155450324394200105155450324411702106Fri, 05 Apr 2019 22:27:24 GMT\"0x8D6BA15E06C88BA\"5120share155450327468600876155450327477006102Fri, 05 Apr 2019 22:27:54 GMT\"0x8D6BA15F2B17D62\"5120share155450327962109277Fri, 05 Apr 2019 22:27:59 GMT\"0x8D6BA15F591850B\"5120share155450328004306783155450328010501022Fri, 05 Apr 2019 22:28:00 GMT\"0x8D6BA15F5DA9895\"5120share155450328527004557Fri, 05 Apr 2019 22:28:05 GMT\"0x8D6BA15F900F654\"5120share155450328798308238155450328830607965Fri, 05 Apr 2019 22:28:08 GMT\"0x8D6BA15FACF51C1\"5120share155450330666305766155450330667907543Fri, 05 Apr 2019 22:28:26 GMT\"0x8D6BA1605B1104A\"5120share155450330701904810Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1605E62237\"5120share155450330736308091155450330741007484Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1606202508\"5120share155450333528301673155450333529906356Fri, 05 Apr 2019 22:28:55 GMT\"0x8D6BA1616BFD401\"5120share155450333946600308155450333962608415Fri, 05 Apr 2019 22:28:59 GMT\"0x8D6BA161966152A\"5120share155450334885500645Fri, 05 Apr 2019 22:29:09 GMT\"0x8D6BA161EE70228\"5120share155450338395504678Fri, 05 Apr 2019 22:29:43 GMT\"0x8D6BA1633BE44FF\"5120share155450338426107979155450338428803666Fri, 05 Apr 2019 22:29:44 GMT\"0x8D6BA1633F11BE0\"5120share155450340161103627155450340162402163Fri, 05 Apr 2019 22:30:01 GMT\"0x8D6BA163E464D75\"5120share155450340409906407Fri, 05 Apr 2019 22:30:04 GMT\"0x8D6BA163FCE736E\"5120share155450340500808852155450340509400929Fri, 05 Apr 2019 22:30:05 GMT\"0x8D6BA16405A6FD7\"5120share155450342745506448155450342749401765Fri, 05 Apr 2019 22:30:27 GMT\"0x8D6BA164DB462BB\"5120share155450343328809346Fri, 05 Apr 2019 22:30:33 GMT\"0x8D6BA16512F2A33\"5120share155450343458400365155450343479806929Fri, 05 Apr 2019 22:30:34 GMT\"0x8D6BA165213D613\"5120share155450347314804212155450347322803647Fri, 05 Apr 2019 22:31:13 GMT\"0x8D6BA1668FC3C29\"5120share155450347423202007Fri, 05 Apr 2019 22:31:14 GMT\"0x8D6BA1669960501\"5120share155450348727102424Fri, 05 Apr 2019 22:31:27 GMT\"0x8D6BA16715BDB44\"5120share155450348869606134155450348885300828Fri, 05 Apr 2019 22:31:28 GMT\"0x8D6BA16724D7E5B\"5120share155450352004300543155450352016602032Fri, 05 Apr 2019 22:32:00 GMT\"0x8D6BA1684F78DB2\"5120share155450359307104606Fri, 05 Apr 2019 22:33:13 GMT\"0x8D6BA16B083EDD4\"5120share155450359418905974155450359428200487Fri, 05 Apr 2019 22:33:14 GMT\"0x8D6BA16B11FBCAD\"5120share155450361494402784155450361498805984Fri, 05 Apr 2019 22:33:35 GMT\"0x8D6BA16BD772803\"5120share155450366632503090Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC0E65F3\"5120share155450366664904930155450366667902768Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC44713D\"5120share155450368886501484155450368888102090Fri, 05 Apr 2019 22:34:48 GMT\"0x8D6BA16E9809F79\"5120share155450371988700286Fri, 05 Apr 2019 22:35:19 GMT\"0x8D6BA16FBFCD6F0\"5120share155450372038902619155450372043606143Fri, 05 Apr 2019 22:35:20 GMT\"0x8D6BA16FC4F6C23\"5120share155450373756402371Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA17068A2D67\"5120share155450373784606946155450373786208940Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA1706B2AFB9\"5120share155450373882702323155450373897204908Fri, 05 Apr 2019 22:35:39 GMT\"0x8D6BA170761DA0F\"5120share155450377319401477155450377328608675Fri, 05 Apr 2019 22:36:13 GMT\"0x8D6BA171BD5442B\"5120share155450380543301117Fri, 05 Apr 2019 22:36:45 GMT\"0x8D6BA172EF6D32A\"5120share155450381203303146155450381206607839Fri, 05 Apr 2019 22:36:52 GMT\"0x8D6BA1732EB1201\"5120share155450382820207817Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173C8B8687\"5120share155450382859306908155450382865503795Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173CCF5E34\"5120share155450383751906388155450383753309735Fri, 05 Apr 2019 22:37:17 GMT\"0x8D6BA1742195560\"5120share155450388094604484155450388096207678Fri, 05 Apr 2019 22:38:00 GMT\"0x8D6BA175BFEA36E\"5120share155450388146309288Fri, 05 Apr 2019 22:38:01 GMT\"0x8D6BA175C49C9D4\"5120share155450388966903186Fri, 05 Apr 2019 22:38:09 GMT\"0x8D6BA1761356323\"5120share155450389307503518155450389323404538Fri, 05 Apr 2019 22:38:13 GMT\"0x8D6BA1763551622\"5120share155450392730003095155450392737709902Fri, 05 Apr 2019 22:38:47 GMT\"0x8D6BA1777AF23EE\"5120share155450393102803449Fri, 05 Apr 2019 22:38:51 GMT\"0x8D6BA1779DAA4DC\"5120share155450393283705485155450393298705884Fri, 05 Apr 2019 22:38:53 GMT\"0x8D6BA177B059A34\"5120share155450396658903715155450396666002048Fri, 05 Apr 2019 22:39:26 GMT\"0x8D6BA178F178169\"5120share155450396756806154Fri, 05 Apr 2019 22:39:27 GMT\"0x8D6BA178FA26048\"5120share155450406886408649Fri, 05 Apr 2019 22:41:09 GMT\"0x8D6BA17CC1A3DFC\"5120share155450407117103774155450407137004037Fri, 05 Apr 2019 22:41:11 GMT\"0x8D6BA17CD80D016\"5120share155450410470804055155450410479801441Fri, 05 Apr 2019 22:41:44 GMT\"0x8D6BA17E16D32C5\"5120share155450415494202178Fri, 05 Apr 2019 22:42:37 GMT\"0x8D6BA1800D298E1\"5120share155450415924909263155450415946504098Fri, 05 Apr 2019 22:42:39 GMT\"0x8D6BA1802030A7D\"5120share155450419250702459155450419259701169Fri, 05 Apr 2019 22:43:12 GMT\"0x8D6BA1815C23F76\"5120share155450421697207185Fri, 05 Apr 2019 22:43:37 GMT\"0x8D6BA18245F95C8\"5120share155450421871302863155450421892300644Fri, 05 Apr 2019 22:43:38 GMT\"0x8D6BA182573A9E1\"5120share155450424704408868155450424714109223Fri, 05 Apr 2019 22:44:07 GMT\"0x8D6BA1836457FFD\"5120share155450429079705396Fri, 05 Apr 2019 22:44:50 GMT\"0x8D6BA185057FA7C\"5120share155450429375002929155450429411309966Fri, 05 Apr 2019 22:44:54 GMT\"0x8D6BA18525118BC\"5120share155450430952405481Fri, 05 Apr 2019 22:45:09 GMT\"0x8D6BA185B6CDFF0\"5120share155450430999405267155450431003903942Fri, 05 Apr 2019 22:45:10 GMT\"0x8D6BA185BBBE17C\"5120share155450433115607232155450433117208588Fri, 05 Apr 2019 22:45:31 GMT\"0x8D6BA1868546B89\"5120share155450434416304067155450434445204870Fri, 05 Apr 2019 22:45:44 GMT\"0x8D6BA187051F471\"5120share155450435498004763Fri, 05 Apr 2019 22:45:55 GMT\"0x8D6BA18769867C6\"5120share155450436645400783Fri, 05 Apr 2019 22:46:06 GMT\"0x8D6BA187D646C1B\"5120share155450436865205758155450436887108207Fri, 05 Apr 2019 22:46:08 GMT\"0x8D6BA187ED4DADD\"5120share155450438771003527Fri, 05 Apr 2019 22:46:27 GMT\"0x8D6BA188A1B6C6D\"5120share155450439065608204155450439101805644Fri, 05 Apr 2019 22:46:31 GMT\"0x8D6BA188C131493\"5120share155450441324900411155450441332202608Fri, 05 Apr 2019 22:46:53 GMT\"0x8D6BA189952D510\"5120share155450441426905196Fri, 05 Apr 2019 22:46:54 GMT\"0x8D6BA1899E44097\"5120share155450444831103515155450444849000200Fri, 05 Apr 2019 22:47:28 GMT\"0x8D6BA18AE539A63\"5120share155450445061400014Fri, 05 Apr 2019 22:47:30 GMT\"0x8D6BA18AF9800AC\"5120share155450448315806594Fri, 05 Apr 2019 22:48:03 GMT\"0x8D6BA18C2FF521B\"5120share155450448580004490155450448612109539Fri, 05 Apr 2019 22:48:06 GMT\"0x8D6BA18C4C36EFE\"5120share155450454454601940155450454471501740Fri, 05 Apr 2019 22:49:04 GMT\"0x8D6BA18E7B0CEFE\"5120share155450468370707802Fri, 05 Apr 2019 22:51:23 GMT\"0x8D6BA193A7DF5E2\"5120share155450468513108403155450468528409235Fri, 05 Apr 2019 22:51:25 GMT\"0x8D6BA193B6DD150\"5120share155450468968600032Fri, 05 Apr 2019 22:51:29 GMT\"0x8D6BA193E054481\"5120share155450468996404174155450468999406109Fri, 05 Apr 2019 22:51:30 GMT\"0x8D6BA193E345228\"5120share155450470368902411155450470370306610Fri, 05 Apr 2019 22:51:43 GMT\"0x8D6BA1946600ECD\"5120share155450471161309782Fri, 05 Apr 2019 22:51:51 GMT\"0x8D6BA194B1B90BF\"5120share155450471206601320155450471210308269Fri, 05 Apr 2019 22:51:52 GMT\"0x8D6BA194B67DCD5\"5120share155450471319907271155450471328002279Fri, 05 Apr 2019 22:51:53 GMT\"0x8D6BA194C1DCB30\"5120share155450472979505876155450472987303613Fri, 05 Apr 2019 22:52:09 GMT\"0x8D6BA1955FDC5A1\"5120share155450483407003850Fri, 05 Apr 2019 22:53:54 GMT\"0x8D6BA1994190850\"5120share155450483493604854155450483498301728Fri, 05 Apr 2019 22:53:55 GMT\"0x8D6BA1994A2584F\"5120share155450485496309420155450485497908228Fri, 05 Apr 2019 22:54:15 GMT\"0x8D6BA19A08CEFA6\"5120share155450531813009681Fri, 05 Apr 2019 23:01:58 GMT\"0x8D6BA1AB4AE63BA\"5120share155450532142509509155450532177704006Fri, 05 Apr 2019 23:02:01 GMT\"0x8D6BA1AB6DB1550\"5120share155450535239502974Fri, 05 Apr 2019 23:02:32 GMT\"0x8D6BA1AC9188CCD\"5120share155450535522306736155450535561706197Fri, 05 Apr 2019 23:02:35 GMT\"0x8D6BA1ACB055EAD\"5120share155450537130000843155450537147405079Fri, 05 Apr 2019 23:02:51 GMT\"0x8D6BA1AD479360B\"5120share155450540354000832155450540371804145Fri, 05 Apr 2019 23:03:23 GMT\"0x8D6BA1AE7B08608\"5120share155450541861309114Fri, 05 Apr 2019 23:03:38 GMT\"0x8D6BA1AF085E6F9\"5120share155450542032409907155450542048305915Fri, 05 Apr 2019 23:03:40 GMT\"0x8D6BA1AF1A3EC5E\"5120share155450544958400261155450544966109321Fri, 05 Apr 2019 23:04:09 GMT\"0x8D6BA1B03081BB5\"5120share155450546241607518Fri, 05 Apr 2019 23:04:22 GMT\"0x8D6BA1B0A9DC15F\"5120share155450546294707340155450546301008309Fri, 05 Apr 2019 23:04:23 GMT\"0x8D6BA1B0AF88600\"5120share155450548125804491155450548129002795Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B15DC8687\"5120share155450548156602986Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B16091161\"5120share155450550691105209Fri, 05 Apr 2019 23:05:06 GMT\"0x8D6BA1B2522F1B9\"5120share155450550746601325155450550749806532Fri, 05 Apr 2019 23:05:07 GMT\"0x8D6BA1B257C602A\"5120share155450552187904423155450552189501701Fri, 05 Apr 2019 23:05:21 GMT\"0x8D6BA1B2E1117B3\"5120share155450553054005585Fri, 05 Apr 2019 23:05:30 GMT\"0x8D6BA1B33387AAC\"5120share155450553096308284155450553101001243Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B337F7F2A\"5120share155450553153104170Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B33CF13E1\"5120share155450553201701300155450553206403152Fri, 05 Apr 2019 23:05:32 GMT\"0x8D6BA1B3420278C\"5120share155450554660908559155450554662508047Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CCF605F\"5120share155450554689206246Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CF731D6\"5120share155450555546908179155450555548509764Fri, 05 Apr 2019 23:05:55 GMT\"0x8D6BA1B4215A249\"5120share155450573320000528Fri, 05 Apr 2019 23:08:53 GMT\"0x8D6BA1BAC1B3E84\"5120share155450573517904163155450573540702174Fri, 05 Apr 2019 23:08:55 GMT\"0x8D6BA1BAD5837E3\"5120share155450574422501861Fri, 05 Apr 2019 23:09:04 GMT\"0x8D6BA1BB29B08A8\"5120share155450574551807106155450574579200577Fri, 05 Apr 2019 23:09:05 GMT\"0x8D6BA1BB38A33C5\"5120share155450576411808959155450576420803271Fri, 05 Apr 2019 23:09:24 GMT\"0x8D6BA1BBE830AEE\"5120share155450577244800226155450577267406672Fri, 05 Apr 2019 23:09:32 GMT\"0x8D6BA1BC38F8F1B\"5120share155450584788106323Fri, 05 Apr 2019 23:10:47 GMT\"0x8D6BA1BF06A7821\"5120share155450584927904712Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF13485AC\"5120share155450584968506275155450584973203495Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF17789D4\"5120share155450585107609261155450585142406722Fri, 05 Apr 2019 23:10:51 GMT\"0x8D6BA1BF2872067\"5120share155450586868608098155450586870102350Fri, 05 Apr 2019 23:11:08 GMT\"0x8D6BA1BFCC76F83\"5120share155450590008503577155450590025804885Fri, 05 Apr 2019 23:11:40 GMT\"0x8D6BA1C0FA2514F\"5120share155450590233408942Fri, 05 Apr 2019 23:11:42 GMT\"0x8D6BA1C10E023E9\"5120share155450592143404526Fri, 05 Apr 2019 23:12:01 GMT\"0x8D6BA1C1C474325\"5120share155450592653301961155450592689000603Fri, 05 Apr 2019 23:12:07 GMT\"0x8D6BA1C1F874AB1\"5120share155450596593906098Fri, 05 Apr 2019 23:12:45 GMT\"0x8D6BA1C36BDB316\"5120share155450596641000428155450596645600479Fri, 05 Apr 2019 23:12:46 GMT\"0x8D6BA1C370ADF0D\"5120share155450597916002270155450597933309927Fri, 05 Apr 2019 23:12:59 GMT\"0x8D6BA1C3EC8E461\"5120share155450598201705354155450598203300977Fri, 05 Apr 2019 23:13:02 GMT\"0x8D6BA1C405400BD\"5120share155450600493602122Fri, 05 Apr 2019 23:13:24 GMT\"0x8D6BA1C4DFBE540\"5120share155450601150408012155450601153509563Fri, 05 Apr 2019 23:13:31 GMT\"0x8D6BA1C51EAF389\"5120share155450603035801007155450603037404965Fri, 05 Apr 2019 23:13:50 GMT\"0x8D6BA1C5D249F6C\"5120share155450628196900979Fri, 05 Apr 2019 23:18:01 GMT\"0x8D6BA1CF31A8CEA\"5120share155450628263306726155450628268108838Fri, 05 Apr 2019 23:18:02 GMT\"0x8D6BA1CF387048D\"5120share155450629398602941Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA43621D\"5120share155450629440802130155450629444007820Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA892E2A\"5120share155450630270100063155450630271709505Fri, 05 Apr 2019 23:18:22 GMT\"0x8D6BA1CFF77D299\"5120share155450631207409960155450631209004406Fri, 05 Apr 2019 23:18:32 GMT\"0x8D6BA1D050C8A95\"5120share155450635009203001Fri, 05 Apr 2019 23:19:10 GMT\"0x8D6BA1D1BC98041\"5120share155450635300105814155450635335603109Fri, 05 Apr 2019 23:19:13 GMT\"0x8D6BA1D1DBC2427\"5120share155450635529806396Fri, 05 Apr 2019 23:19:15 GMT\"0x8D6BA1D1EE0C561\"5120share155450635823706105155450635860207094Fri, 05 Apr 2019 23:19:18 GMT\"0x8D6BA1D20D836D4\"5120share155450641996700561155450642014406446Fri, 05 Apr 2019 23:20:20 GMT\"0x8D6BA1D4588F30C\"5120share155450642246903885155450642264601424Fri, 05 Apr 2019 23:20:22 GMT\"0x8D6BA1D4705936B\"5120share155450655482504274Fri, 05 Apr 2019 23:22:34 GMT\"0x8D6BA1D95CF4049\"5120share155450655795506933155450655830708272Fri, 05 Apr 2019 23:22:38 GMT\"0x8D6BA1D97E19F08\"5120share155450661068301279155450661086207756Fri, 05 Apr 2019 23:23:31 GMT\"0x8D6BA1DB734F309\"5120share155450661302603264Fri, 05 Apr 2019 23:23:33 GMT\"0x8D6BA1DB87FB692\"5120share155450662614309712Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC040008B\"5120share155450662666300981155450662672509338Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC0988E75\"5120share155450664547508754155450664549004289Fri, 05 Apr 2019 23:24:05 GMT\"0x8D6BA1DCBC89EBD\"5120share155450678247303548Fri, 05 Apr 2019 23:26:22 GMT\"0x8D6BA1E1D7F6C7D\"5120share155450678466909596Fri, 05 Apr 2019 23:26:24 GMT\"0x8D6BA1E1ECF8D3D\"5120share155450678548802589155450678584406061Fri, 05 Apr 2019 23:26:25 GMT\"0x8D6BA1E1F8191F6\"5120share155450678828205994155450678864001364Fri, 05 Apr 2019 23:26:28 GMT\"0x8D6BA1E212D1FA1\"5120share155450683128203550155450683149106810Fri, 05 Apr 2019 23:27:11 GMT\"0x8D6BA1E3AB676EA\"5120share155450684533605050155450684551003357Fri, 05 Apr 2019 23:27:25 GMT\"0x8D6BA1E43129342\"5120share155450684763007449Fri, 05 Apr 2019 23:27:27 GMT\"0x8D6BA1E4455B8AC\"5120share155450699116508933Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E99D096C8\"5120share155450699158708384155450699161806955Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E9A1778EF\"5120share155450700830807334155450700833903908Fri, 05 Apr 2019 23:30:08 GMT\"0x8D6BA1EA40DEC90\"5120share155450701100108648Fri, 05 Apr 2019 23:30:11 GMT\"0x8D6BA1EA5B61863\"5120share155450701385501557155450701420104340Fri, 05 Apr 2019 23:30:14 GMT\"0x8D6BA1EA79D9AE9\"5120share155450706323900994155450706341604230Fri, 05 Apr 2019 23:31:03 GMT\"0x8D6BA1EC4F33223\"5120share155450706962505626Fri, 05 Apr 2019 23:31:09 GMT\"0x8D6BA1EC8A805D2\"5120share155450714083700706Fri, 05 Apr 2019 23:32:20 GMT\"0x8D6BA1EF318A859\"5120share155450714464606306155450714499503777Fri, 05 Apr 2019 23:32:25 GMT\"0x8D6BA1EF592DF56\"5120share155450719315807925155450719333400088Fri, 05 Apr 2019 23:33:13 GMT\"0x8D6BA1F1263018A\"5120share155450720071105598Fri, 05 Apr 2019 23:33:20 GMT\"0x8D6BA1F16B4C180\"5120share155450720108704556155450720111104202Fri, 05 Apr 2019 23:33:21 GMT\"0x8D6BA1F16F1C9A7\"5120share155450721500304986155450721501401015Fri, 05 Apr 2019 23:33:35 GMT\"0x8D6BA1F1F3B0AC4\"5120share155450723565205687Fri, 05 Apr 2019 23:33:55 GMT\"0x8D6BA1F2B915C1A\"5120share155450723699404950155450723715203892Fri, 05 Apr 2019 23:33:57 GMT\"0x8D6BA1F2C75D972\"5120share155450725970402513Fri, 05 Apr 2019 23:34:19 GMT\"0x8D6BA1F39F24B22\"5120share155450726283508715155450726290803053Fri, 05 Apr 2019 23:34:22 GMT\"0x8D6BA1F3BCFD9DC\"5120share155450726513503694155450726563200936Fri, 05 Apr 2019 23:34:25 GMT\"0x8D6BA1F3D7AC203\"5120share155450727207609930Fri, 05 Apr 2019 23:34:32 GMT\"0x8D6BA1F41534271\"5120share155450727922609714155450727958205410Fri, 05 Apr 2019 23:34:39 GMT\"0x8D6BA1F45CC16E6\"5120share155450733725309323155450733743205575Fri, 05 Apr 2019 23:35:37 GMT\"0x8D6BA1F6846EA8D\"5120share155450734617001592155450734634609388Fri, 05 Apr 2019 23:35:46 GMT\"0x8D6BA1F6D9695C7\"5120share155450734842906139Fri, 05 Apr 2019 23:35:48 GMT\"0x8D6BA1F6ED3E9EB\"5120share155450742258608562Fri, 05 Apr 2019 23:37:02 GMT\"0x8D6BA1F9B09A541\"5120share155450742569208984155450742607303636Fri, 05 Apr 2019 23:37:06 GMT\"0x8D6BA1F9D1D3464\"5120share155450744472700868Fri, 05 Apr 2019 23:37:24 GMT\"0x8D6BA1FA82F5670\"5120share155450744593006925155450744607706074Fri, 05 Apr 2019 23:37:26 GMT\"0x8D6BA1FA8FC7868\"5120share155450747510800614155450747527906197Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA713357\"5120share155450747548302917Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA7F4359\"5120share155450747575808787155450747579202058Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBAAE83B9\"5120share155450747736603095Fri, 05 Apr 2019 23:37:57 GMT\"0x8D6BA1FBBAF6736\"5120share155450748251605008155450748258604151Fri, 05 Apr 2019 23:38:02 GMT\"0x8D6BA1FBEBF5C9B\"5120share155450749504400705155450749505903928Fri, 05 Apr 2019 23:38:15 GMT\"0x8D6BA1FC62A2BA2\"5120share155450760451008357Fri, 05 Apr 2019 23:40:04 GMT\"0x8D6BA2007A48FAD\"5120share155450760659201465155450760677709688Fri, 05 Apr 2019 23:40:06 GMT\"0x8D6BA2008C3F78F\"5120share155450763616301901155450763625402397Fri, 05 Apr 2019 23:40:36 GMT\"0x8D6BA201A5587BA\"5120share155450767398804735Fri, 05 Apr 2019 23:41:14 GMT\"0x8D6BA2030E0F998\"5120share155450767687501371155450767723001004Fri, 05 Apr 2019 23:41:17 GMT\"0x8D6BA2032CF2C21\"5120share155450768181709200Fri, 05 Apr 2019 23:41:21 GMT\"0x8D6BA203578C02D\"5120share155450768212709613155450768216705364Fri, 05 Apr 2019 23:41:22 GMT\"0x8D6BA2035AE5139\"5120share155450769705407367155450769707502753Fri, 05 Apr 2019 23:41:37 GMT\"0x8D6BA203E92115E\"5120share155450772138102188155450772155202852Fri, 05 Apr 2019 23:42:01 GMT\"0x8D6BA204D39B2D4\"5120share155450801204005122Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FA4F43AE\"5120share155450801255709661155450801263508848Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FAA8983A\"5120share155450802691409764Fri, 05 Apr 2019 23:47:07 GMT\"0x8D6BA21033DB1FF\"5120share155450802978608176155450803012905948Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA2105282DF6\"5120share155450803003906718155450803005501595Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA21050CE429\"5120share155450809390401175155450809407503147Fri, 05 Apr 2019 23:48:14 GMT\"0x8D6BA212B44E111\"5120share155450809631304992Fri, 05 Apr 2019 23:48:16 GMT\"0x8D6BA212C9A8C70\"5120share155450835062406317Fri, 05 Apr 2019 23:52:30 GMT\"0x8D6BA21C41F92FF\"5120share155450835114801235155450835119504382Fri, 05 Apr 2019 23:52:31 GMT\"0x8D6BA21C4752A4A\"5120share155450837123609062155450837126705425Fri, 05 Apr 2019 23:52:51 GMT\"0x8D6BA21D07164A3\"5120share155450840245807900Fri, 05 Apr 2019 23:53:22 GMT\"0x8D6BA21E317E558\"5120share155450840337301064155450840345909388Fri, 05 Apr 2019 23:53:23 GMT\"0x8D6BA21E39CD3E2\"5120share155450840768303182Fri, 05 Apr 2019 23:53:27 GMT\"0x8D6BA21E62882AB\"5120share155450841052005025155450841059707716Fri, 05 Apr 2019 23:53:30 GMT\"0x8D6BA21E7DD6900\"5120share155450841851004197Fri, 05 Apr 2019 23:53:38 GMT\"0x8D6BA21ECC11C45\"5120share155450842103808621155450842121207447Fri, 05 Apr 2019 23:53:41 GMT\"0x8D6BA21EE368AE8\"5120share155450842920007413155450842923904127Fri, 05 Apr 2019 23:53:49 GMT\"0x8D6BA21F2FA9CC4\"5120share155450843104607551155450843108509471Fri, 05 Apr 2019 23:53:51 GMT\"0x8D6BA21F413AFEC\"5120share155450844155207718Fri, 05 Apr 2019 23:54:01 GMT\"0x8D6BA21FA5815A9\"5120share155450844282908330155450844331103212Fri, 05 Apr 2019 23:54:03 GMT\"0x8D6BA21FB639CB6\"5120share155450844875104105155450844883200097Fri, 05 Apr 2019 23:54:08 GMT\"0x8D6BA21FEACF9CB\"5120share155450845060900434Fri, 05 Apr 2019 23:54:10 GMT\"0x8D6BA21FFBCFD3F\"5120share155450845196808630155450845212609494Fri, 05 Apr 2019 23:54:12 GMT\"0x8D6BA2200A3BDAF\"5120share155450846016604225Fri, 05 Apr 2019 23:54:20 GMT\"0x8D6BA22057F80F4\"5120share155450846187100703155450846204104941Fri, 05 Apr 2019 23:54:22 GMT\"0x8D6BA22068C649F\"5120share155450846856009396Fri, 05 Apr 2019 23:54:28 GMT\"0x8D6BA220A7BBF54\"5120share155450846936604658155450846944104091Fri, 05 Apr 2019 23:54:29 GMT\"0x8D6BA220AF68482\"5120share155450847116604019155450847149003909Fri, 05 Apr 2019 23:54:31 GMT\"0x8D6BA220C39EFB8\"5120share155450847641908239155450847649506792Fri, 05 Apr 2019 23:54:36 GMT\"0x8D6BA220F2B0EA4\"5120share155450849046701837155450849055008593Fri, 05 Apr 2019 23:54:50 GMT\"0x8D6BA22178AC280\"5120share155450850415909079Fri, 05 Apr 2019 23:55:04 GMT\"0x8D6BA221FB3AAB9\"5120share155450851125605816155450851158907529Fri, 05 Apr 2019 23:55:11 GMT\"0x8D6BA22242151E0\"5120share155450851537705193155450851553601973Fri, 05 Apr 2019 23:55:15 GMT\"0x8D6BA22267C4CE5\"5120share155450856236209066155450856252401476Fri, 05 Apr 2019 23:56:02 GMT\"0x8D6BA22427D2E00\"5120share155450862834406147Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269A65E65\"5120share155450862883803086155450862886608104Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269F5A23B\"5120share155450864251402420155450864252701754Fri, 05 Apr 2019 23:57:22 GMT\"0x8D6BA22721A880A\"5120share155450864903202606Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA2275FA1279\"5120share155450864954709486155450864958906033Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA22764EE2F0\"5120share155450866038209758Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CBDD706\"5120share155450866063104429155450866065900649Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CE83100\"5120share155450866548101600Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA227FC7B940\"5120share155450866584902851155450866589506222Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA2280078687\"5120share155450866820907466155450866822802518Fri, 05 Apr 2019 23:57:48 GMT\"0x8D6BA22816B2857\"5120share155450867294701404155450867296303231Fri, 05 Apr 2019 23:57:52 GMT\"0x8D6BA22843DBAEB\"5120share155450868069300530155450868071108529Fri, 05 Apr 2019 23:58:00 GMT\"0x8D6BA2288DC0D3B\"5120share155450868782705751Fri, 05 Apr 2019 23:58:07 GMT\"0x8D6BA228D180092\"5120share155450868808904026155450868812002523Fri, 05 Apr 2019 23:58:08 GMT\"0x8D6BA228D44C727\"5120share155450871227906499155450871229407636Fri, 05 Apr 2019 23:58:32 GMT\"0x8D6BA229BAD64DF\"5120share155450871361608008Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229C791D3B\"5120share155450871385801053155450871389501438Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229CA39DFC\"5120share155450873724609408Fri, 05 Apr 2019 23:58:57 GMT\"0x8D6BA22AA95EBE5\"5120share155450873839703983155450873841108209Fri, 05 Apr 2019 23:58:58 GMT\"0x8D6BA22AB408136\"5120share155450874069500459155450874084406201Fri, 05 Apr 2019 23:59:00 GMT\"0x8D6BA22ACBA5BA0\"5120share155450876383501957Fri, 05 Apr 2019 23:59:23 GMT\"0x8D6BA22BA6B0364\"5120share155450876420103676155450876424202873Fri, 05 Apr 2019 23:59:24 GMT\"0x8D6BA22BAA94C79\"5120share155450876624500743155450876631905818Fri, 05 Apr 2019 23:59:26 GMT\"0x8D6BA22BBEA05FA\"5120share155450877756001573155450877757609108Fri, 05 Apr 2019 23:59:37 GMT\"0x8D6BA22C29CC4C5\"5120share155450882020705387Sat, 06 Apr 2019 00:00:20 GMT\"0x8D6BA22DC1C7B9C\"5120share155450882137802100Sat, 06 Apr 2019 00:00:21 GMT\"0x8D6BA22DCD2061E\"5120share155450882195307893155450882213805256Sat, 06 Apr 2019 00:00:22 GMT\"0x8D6BA22DD2D9ECA\"5120share155450882311802623155450882330007566Sat, 06 Apr 2019 00:00:23 GMT\"0x8D6BA22DDDEDD23\"5120share155450882821300470Sat, 06 Apr 2019 00:00:28 GMT\"0x8D6BA22E0DF07E4\"5120share155450883001207093155450883019705028Sat, 06 Apr 2019 00:00:30 GMT\"0x8D6BA22E1FA959D\"5120share155450883989300008Sat, 06 Apr 2019 00:00:40 GMT\"0x8D6BA22E7D7D05F\"5120share155450884162700155155450884180600899Sat, 06 Apr 2019 00:00:41 GMT\"0x8D6BA22E8E8FF71\"5120share155450884268207091Sat, 06 Apr 2019 00:00:42 GMT\"0x8D6BA22E96E6A00\"5120share155450884356404649Sat, 06 Apr 2019 00:00:43 GMT\"0x8D6BA22E9F4B2C9\"5120share155450884498208133155450884512500427Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE362BF\"5120share155450884499902681155450884517006830Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE9C669\"5120share155450885006502697Sat, 06 Apr 2019 00:00:50 GMT\"0x8D6BA22EDD441D0\"5120share155450885123403166155450885138009119Sat, 06 Apr 2019 00:00:51 GMT\"0x8D6BA22EE9C855E\"5120share155450886053709029155450886062900785Sat, 06 Apr 2019 00:01:00 GMT\"0x8D6BA22F41E59AA\"5120share155450886352605826155450886361609698Sat, 06 Apr 2019 00:01:03 GMT\"0x8D6BA22F5E5BDEF\"5120share155450886885106257155450886894004615Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9152485\"5120share155450886979200994155450886987409280Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9A35201\"5120share155450887070605058155450887079709480Sat, 06 Apr 2019 00:01:10 GMT\"0x8D6BA22FA2DEE8F\"5120share155450887606108840155450887613402442Sat, 06 Apr 2019 00:01:16 GMT\"0x8D6BA22FD5FAA74\"5120share155450888143406931155450888150903424Sat, 06 Apr 2019 00:01:21 GMT\"0x8D6BA2300968F6A\"5120share155450895779305071Sat, 06 Apr 2019 00:02:37 GMT\"0x8D6BA232E0E05CE\"5120share155450895868406976155450895876908256Sat, 06 Apr 2019 00:02:38 GMT\"0x8D6BA232E9B57E4\"5120share155450898000001813Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233B47BB36\"5120share155450898063507347155450898067608520Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233BAA5F73\"5120share155450898125502623155450898141009080Sat, 06 Apr 2019 00:03:01 GMT\"0x8D6BA233C1EEFA4\"5120share155450900601408874155450900609504434Sat, 06 Apr 2019 00:03:26 GMT\"0x8D6BA234AD4C326\"5120share155450900703406798Sat, 06 Apr 2019 00:03:27 GMT\"0x8D6BA234B65E99F\"5120share155450900831008513155450900847507161Sat, 06 Apr 2019 00:03:28 GMT\"0x8D6BA234C410CF0\"5120share155450901777606467Sat, 06 Apr 2019 00:03:37 GMT\"0x8D6BA2351D7DB67\"5120share155450902063908068155450902099303010Sat, 06 Apr 2019 00:03:41 GMT\"0x8D6BA2353C27F44\"5120share155450905240000338155450905247805038Sat, 06 Apr 2019 00:04:12 GMT\"0x8D6BA23667B7ACC\"5120share155450905342403029Sat, 06 Apr 2019 00:04:13 GMT\"0x8D6BA23670BD557\"5120share155450905771401894Sat, 06 Apr 2019 00:04:17 GMT\"0x8D6BA2369922D87\"5120share155450905806600718155450905814001944Sat, 06 Apr 2019 00:04:18 GMT\"0x8D6BA2369D3DADF\"5120share155450907199909959155450907217402075Sat, 06 Apr 2019 00:04:32 GMT\"0x8D6BA2372444079\"5120share155450907299303524155450907301007717Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372AFED38\"5120share155450907320209730Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372CDC3C2\"5120share155450907429301310Sat, 06 Apr 2019 00:04:34 GMT\"0x8D6BA237386F930\"5120share155450918499009383Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B56FB9BC\"5120share155450918538502508155450918541508822Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B5B05ACA\"5120share155450918955508214Sat, 06 Apr 2019 00:06:29 GMT\"0x8D6BA23B828D8E1\"5120share155450919005601653155450919008702158Sat, 06 Apr 2019 00:06:30 GMT\"0x8D6BA23B87B8E05\"5120share155450919954305187155450919955905775Sat, 06 Apr 2019 00:06:39 GMT\"0x8D6BA23BE1F0A40\"5120share155450920152404636Sat, 06 Apr 2019 00:06:41 GMT\"0x8D6BA23BF4B17E9\"5120share155450920199201367155450920203905870Sat, 06 Apr 2019 00:06:42 GMT\"0x8D6BA23BF9A7486\"5120share155450920623205720155450920624702973Sat, 06 Apr 2019 00:06:46 GMT\"0x8D6BA23C21AC1E2\"5120share155450924082004282Sat, 06 Apr 2019 00:07:20 GMT\"0x8D6BA23D6BC0D50\"5120share155450924241004753155450924255406031Sat, 06 Apr 2019 00:07:22 GMT\"0x8D6BA23D7C6027C\"5120share155450924628704211155450924631809175Sat, 06 Apr 2019 00:07:26 GMT\"0x8D6BA23D9FEA927\"5120share155450925060607872Sat, 06 Apr 2019 00:07:30 GMT\"0x8D6BA23DC8D0299\"5120share155450927396309525155450927403505482Sat, 06 Apr 2019 00:07:54 GMT\"0x8D6BA23EA89D004\"5120share155450930131800809Sat, 06 Apr 2019 00:08:21 GMT\"0x8D6BA23FAC97B82\"5120share155450930223305549Sat, 06 Apr 2019 00:08:22 GMT\"0x8D6BA23FB6A1C88\"5120share155450930399707774155450930404407997Sat, 06 Apr 2019 00:08:24 GMT\"0x8D6BA23FC696BBF\"5120share155450930644903497155450930664407626Sat, 06 Apr 2019 00:08:26 GMT\"0x8D6BA23FDF86C39\"5120share155450932165308081155450932166908411Sat, 06 Apr 2019 00:08:41 GMT\"0x8D6BA2406EA8B70\"5120share155450932590204669Sat, 06 Apr 2019 00:08:45 GMT\"0x8D6BA24096F0B87\"5120share155450934809308249155450934819701838Sat, 06 Apr 2019 00:09:08 GMT\"0x8D6BA2416BC420A\"5120share155450936482907697Sat, 06 Apr 2019 00:09:24 GMT\"0x8D6BA2420A30B03\"5120share155450936723600352155450936728205502Sat, 06 Apr 2019 00:09:27 GMT\"0x8D6BA242219106F\"5120share155450938968201470155450938969801065Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F762161\"5120share155450938994808156Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F9C244A\"5120share155450940497500812Sat, 06 Apr 2019 00:10:05 GMT\"0x8D6BA2438A0813C\"5120share155450940788404093155450940823202737Sat, 06 Apr 2019 00:10:08 GMT\"0x8D6BA243A92205E\"5120share155450946766609807155450946784508785Sat, 06 Apr 2019 00:11:07 GMT\"0x8D6BA245E19BEB2\"5120share155450948165108070Sat, 06 Apr 2019 00:11:21 GMT\"0x8D6BA246649B23E\"5120share155450948277804103Sat, 06 Apr 2019 00:11:22 GMT\"0x8D6BA2466F099EF\"5120share155450948289903394155450948305505870Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA2467204A8D\"5120share155450948326908679155450948331603975Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA24674309DA\"5120share155450949731107750155450949732809022Sat, 06 Apr 2019 00:11:37 GMT\"0x8D6BA246F9D65C7\"5120share155450950843203078155450950850801708Sat, 06 Apr 2019 00:11:48 GMT\"0x8D6BA24764BB930\"5120share155450953189902571Sat, 06 Apr 2019 00:12:11 GMT\"0x8D6BA2484354864\"5120share155450953258300666155450953264607609Sat, 06 Apr 2019 00:12:12 GMT\"0x8D6BA2484A7702E\"5120share155450955735903361155450955739009034Sat, 06 Apr 2019 00:12:37 GMT\"0x8D6BA24936708EF\"5120share155450960711502044Sat, 06 Apr 2019 00:13:27 GMT\"0x8D6BA24B10EA364\"5120share155450960791406846155450960797603649Sat, 06 Apr 2019 00:13:28 GMT\"0x8D6BA24B1928131\"5120share155450962624205044155450962625707564Sat, 06 Apr 2019 00:13:46 GMT\"0x8D6BA24BC772178\"5120share155450967842007452Sat, 06 Apr 2019 00:14:38 GMT\"0x8D6BA24DB8C77C7\"5120share155450967919905734155450967927702876Sat, 06 Apr 2019 00:14:39 GMT\"0x8D6BA24DC0EF540\"5120share155450970297003568155450970300202266Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA32E63F\"5120share155450970326709180Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA5D2ABB\"5120share155450977967008646Sat, 06 Apr 2019 00:16:19 GMT\"0x8D6BA2517F39453\"5120share155450978396408978155450978431501712Sat, 06 Apr 2019 00:16:24 GMT\"0x8D6BA251AB90FA7\"5120share155450980055002844Sat, 06 Apr 2019 00:16:40 GMT\"0x8D6BA25248D32DD\"5120share155450980160103293155450980168109906Sat, 06 Apr 2019 00:16:41 GMT\"0x8D6BA252504B519\"5120share155450980240304921Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA252575098D\"5120share155450980285700319155450980290408762Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA2525C03A80\"5120share155450982099301254155450982103507530Sat, 06 Apr 2019 00:17:01 GMT\"0x8D6BA25308DFC9F\"5120share155450982239706333155450982242802612Sat, 06 Apr 2019 00:17:02 GMT\"0x8D6BA253161E133\"5120share155450982326409248Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA2531E1702E\"5120share155450982377200032155450982381908623Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA253235B775\"5120share155450983221207344155450983239108932Sat, 06 Apr 2019 00:17:12 GMT\"0x8D6BA25375FFDF8\"5120share155450984103402224155450984105001780Sat, 06 Apr 2019 00:17:21 GMT\"0x8D6BA253C7B623A\"5120share155450984926706623Sat, 06 Apr 2019 00:17:29 GMT\"0x8D6BA254167CF27\"5120share155450985060401468155450985076906420Sat, 06 Apr 2019 00:17:30 GMT\"0x8D6BA25424D06B7\"5120share155450987283404018Sat, 06 Apr 2019 00:17:52 GMT\"0x8D6BA254F6D3BD3\"5120share155450987324207460155450987328900070Sat, 06 Apr 2019 00:17:53 GMT\"0x8D6BA254FB23BEA\"5120share155450988425404386155450988434009985Sat, 06 Apr 2019 00:18:04 GMT\"0x8D6BA25564F576F\"5120share155450990977005805155450990980103826Sat, 06 Apr 2019 00:18:29 GMT\"0x8D6BA2565767B1F\"5120share155450991059304960Sat, 06 Apr 2019 00:18:30 GMT\"0x8D6BA2565EF5040\"5120share155450992091205316Sat, 06 Apr 2019 00:18:40 GMT\"0x8D6BA256C15A12E\"5120share155450992133707934155450992138405768Sat, 06 Apr 2019 00:18:41 GMT\"0x8D6BA256C5D5BE6\"5120share155450993652908385155450993654507033Sat, 06 Apr 2019 00:18:56 GMT\"0x8D6BA257568A573\"5120share155451001151002509Sat, 06 Apr 2019 00:20:11 GMT\"0x8D6BA25A216A444\"5120share155451001331709024155451001342603666Sat, 06 Apr 2019 00:20:13 GMT\"0x8D6BA25A33B3030\"5120share155451003402004419Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AF7D5D23\"5120share155451003447503066155451003449001699Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFCA6E52\"5120share155451003461203815155451003464101209Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFDC0A77\"5120share155451004913305591155451004914706703Sat, 06 Apr 2019 00:20:49 GMT\"0x8D6BA25B8815310\"5120share155451006286305875Sat, 06 Apr 2019 00:21:03 GMT\"0x8D6BA25C0C2AC3D\"5120share155451006587801793155451006655805276Sat, 06 Apr 2019 00:21:06 GMT\"0x8D6BA25C2F65D6A\"5120share155451007935501496Sat, 06 Apr 2019 00:21:19 GMT\"0x8D6BA25CA83F82F\"5120share155451008094100931155451008097909868Sat, 06 Apr 2019 00:21:20 GMT\"0x8D6BA25CB7B405F\"5120share155451009799605496155451009801500934Sat, 06 Apr 2019 00:21:38 GMT\"0x8D6BA25D5A2FE93\"5120share155451010434701890Sat, 06 Apr 2019 00:21:44 GMT\"0x8D6BA25D96B2BB1\"5120share155451010497507200155451010502204375Sat, 06 Apr 2019 00:21:45 GMT\"0x8D6BA25D9D0C00D\"5120share155451012085406616155451012088502597Sat, 06 Apr 2019 00:22:00 GMT\"0x8D6BA25E3447924\"5120share155451012285704842155451012303302464Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E49FB50A\"5120share155451012387505140Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E51229CB\"5120share155451012515600375Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5E37446\"5120share155451012525500379Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5F3B302\"5120share155451013078900595155451013114407433Sat, 06 Apr 2019 00:22:11 GMT\"0x8D6BA25E975BF7D\"5120share155451015216004737Sat, 06 Apr 2019 00:22:32 GMT\"0x8D6BA25F606E077\"5120share155451016043402131155451016065606655Sat, 06 Apr 2019 00:22:40 GMT\"0x8D6BA25FB00E780\"5120share155451019103604148Sat, 06 Apr 2019 00:23:11 GMT\"0x8D6BA260D2905C6\"5120share155451019400305212155451019445908505Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F336BC3\"5120share155451019474708654155451019483801215Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F604E98\"5120share155451024414405592155451024432401508Sat, 06 Apr 2019 00:24:04 GMT\"0x8D6BA262CEE5C5A\"5120share155451024648109782Sat, 06 Apr 2019 00:24:06 GMT\"0x8D6BA262E364BFA\"5120share155451026312808867Sat, 06 Apr 2019 00:24:23 GMT\"0x8D6BA263819560F\"5120share155451026594805847155451026630100644Sat, 06 Apr 2019 00:24:26 GMT\"0x8D6BA263A03DD68\"5120share155451027535308543Sat, 06 Apr 2019 00:24:35 GMT\"0x8D6BA263F5E1C93\"5120share155451027671107727155451027693505092Sat, 06 Apr 2019 00:24:36 GMT\"0x8D6BA26404F9858\"5120share155451030987309732155451030994904457Sat, 06 Apr 2019 00:25:10 GMT\"0x8D6BA2653FCB879\"5120share155451031458704130155451031476206543Sat, 06 Apr 2019 00:25:14 GMT\"0x8D6BA2656E64927\"5120share155451033026507785155451033046408034Sat, 06 Apr 2019 00:25:30 GMT\"0x8D6BA266042FECB\"5120share155451033290203875Sat, 06 Apr 2019 00:25:33 GMT\"0x8D6BA2661B6D672\"5120share155451039774203928Sat, 06 Apr 2019 00:26:37 GMT\"0x8D6BA26885D80E0\"5120share155451040675108359155451040711307532Sat, 06 Apr 2019 00:26:47 GMT\"0x8D6BA268DF41351\"5120share155451044021806016Sat, 06 Apr 2019 00:27:20 GMT\"0x8D6BA26A19C5201\"5120share155451044457806734155451044462505131Sat, 06 Apr 2019 00:27:24 GMT\"0x8D6BA26A43D1239\"5120share155451046010701737155451046028403533Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADA4C4A5\"5120share155451046052208614155451046053805603Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADB9B622\"5120share155451053178206847Sat, 06 Apr 2019 00:28:51 GMT\"0x8D6BA26D842A55A\"5120share155451053666705392155451053702506968Sat, 06 Apr 2019 00:28:57 GMT\"0x8D6BA26DB62BDD5\"5120share155451058205803975155451058223403053Sat, 06 Apr 2019 00:29:42 GMT\"0x8D6BA26F654675F\"5120share155451060995602506Sat, 06 Apr 2019 00:30:09 GMT\"0x8D6BA2706C9A66E\"5120share155451061041100503155451061045903286Sat, 06 Apr 2019 00:30:10 GMT\"0x8D6BA270716A7C2\"5120share155451061899608264Sat, 06 Apr 2019 00:30:19 GMT\"0x8D6BA270C3E72F4\"5120share155451062180801032155451062216207210Sat, 06 Apr 2019 00:30:22 GMT\"0x8D6BA270E371CFB\"5120share155451062599208929155451062602402703Sat, 06 Apr 2019 00:30:26 GMT\"0x8D6BA27105DB358\"5120share155451065149503106Sat, 06 Apr 2019 00:30:51 GMT\"0x8D6BA271F9DF425\"5120share155451065440007212155451065475805277Sat, 06 Apr 2019 00:30:54 GMT\"0x8D6BA27218EBAA7\"5120share155451067046206752155451067063709328Sat, 06 Apr 2019 00:31:10 GMT\"0x8D6BA272B05F0AB\"5120share155451067351206150Sat, 06 Apr 2019 00:31:13 GMT\"0x8D6BA272CBC787A\"5120share155451069512502349Sat, 06 Apr 2019 00:31:35 GMT\"0x8D6BA27399F8CE9\"5120share155451069801607826155451069838102692Sat, 06 Apr 2019 00:31:38 GMT\"0x8D6BA273B8F91C6\"5120share155451071238103796155451071255407273Sat, 06 Apr 2019 00:31:52 GMT\"0x8D6BA274400B20F\"5120share155451074926809802155451074945008417Sat, 06 Apr 2019 00:32:29 GMT\"0x8D6BA275A00C68D\"5120share155451081018006165Sat, 06 Apr 2019 00:33:30 GMT\"0x8D6BA277E323318\"5120share155451081825002323155451081865306002Sat, 06 Apr 2019 00:33:38 GMT\"0x8D6BA27833EA922\"5120share155451087278806395155451087296101648Sat, 06 Apr 2019 00:34:33 GMT\"0x8D6BA27A39DA7AE\"5120share155451091917101975Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF194E41\"5120share155451091975006455155451091979708946Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF7783A5\"5120share155451093201009705Sat, 06 Apr 2019 00:35:32 GMT\"0x8D6BA27C6D1EEBA\"5120share155451093563503307155451093598603844Sat, 06 Apr 2019 00:35:36 GMT\"0x8D6BA27C93050B6\"5120share155451094024104628155451094025709756Sat, 06 Apr 2019 00:35:40 GMT\"0x8D6BA27CBA9E989\"5120share155451094222108360Sat, 06 Apr 2019 00:35:42 GMT\"0x8D6BA27CCE6E2AE\"5120share155451095174303054Sat, 06 Apr 2019 00:35:51 GMT\"0x8D6BA27D293DAE5\"5120share155451096975508163155451097010409134Sat, 06 Apr 2019 00:36:10 GMT\"0x8D6BA27DD8557B2\"5120share155451100262501336155451100279500059Sat, 06 Apr 2019 00:36:42 GMT\"0x8D6BA27F1023A5B\"5120share155451101045503556Sat, 06 Apr 2019 00:36:50 GMT\"0x8D6BA27F5925154\"5120share155451101779403542Sat, 06 Apr 2019 00:36:57 GMT\"0x8D6BA27F9F0E2AC\"5120share155451102398103108155451102432601506Sat, 06 Apr 2019 00:37:04 GMT\"0x8D6BA27FDD5B5CD\"5120share155451103057604216155451103077302829Sat, 06 Apr 2019 00:37:10 GMT\"0x8D6BA2801AE1B69\"5120share155451107565307966155451107582903915Sat, 06 Apr 2019 00:37:55 GMT\"0x8D6BA281C81B459\"5120share155451107800700624Sat, 06 Apr 2019 00:37:58 GMT\"0x8D6BA281DD4A225\"5120share155451126138807949Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B1534BE\"5120share155451126184309606155451126189002896Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B6050DF\"5120share155451128370804279155451128372404816Sat, 06 Apr 2019 00:41:23 GMT\"0x8D6BA289862C628\"5120share155451152420208713Sat, 06 Apr 2019 00:45:24 GMT\"0x8D6BA2927C9F8B5\"5120share155451152742606446155451152779007713Sat, 06 Apr 2019 00:45:27 GMT\"0x8D6BA2929ED230E\"5120share155451157395300009155451157412506533Sat, 06 Apr 2019 00:46:14 GMT\"0x8D6BA29458B232D\"5120share155451187530500180Sat, 06 Apr 2019 00:51:15 GMT\"0x8D6BA29F90FCDB8\"5120share155451187884703798155451187920608231Sat, 06 Apr 2019 00:51:19 GMT\"0x8D6BA29FB62AF79\"5120share155451192903001020155451192920801667Sat, 06 Apr 2019 00:52:09 GMT\"0x8D6BA2A19307FA2\"5120share155451219945604870Sat, 06 Apr 2019 00:56:39 GMT\"0x8D6BA2ABA44B832\"5120share155451220515403772155451220563409688Sat, 06 Apr 2019 00:56:45 GMT\"0x8D6BA2ABDF348B2\"5120share155451225732003773155451225782103672Sat, 06 Apr 2019 00:57:37 GMT\"0x8D6BA2ADD0DFEA0\"5120share155452505698609307Sat, 06 Apr 2019 04:30:57 GMT\"0x8D6BA48A9F5DE57\"5120share155452506110609930155452506145800907Sat, 06 Apr 2019 04:31:01 GMT\"0x8D6BA48ACA0E8F8\"5120share155452513264602392155452513309504994Sat, 06 Apr 2019 04:32:13 GMT\"0x8D6BA48D79F82A6\"5120share155452543747102987Sat, 06 Apr 2019 04:37:17 GMT\"0x8D6BA498CBEAA1B\"5120share155452544135102672155452544170203677Sat, 06 Apr 2019 04:37:21 GMT\"0x8D6BA498F43FB3B\"5120share155452550801609564155452550819303558Sat, 06 Apr 2019 04:38:28 GMT\"0x8D6BA49B6E5E139\"5120share155454851835207560Sat, 06 Apr 2019 11:01:58 GMT\"0x8D6BA7F4A19677D\"5120share155454851991506574155454852000406631Sat, 06 Apr 2019 11:02:00 GMT\"0x8D6BA7F4AF0A38D\"5120share155454854416906947155454854421503134Sat, 06 Apr 2019 11:02:24 GMT\"0x8D6BA7F595F9CD8\"5120share155454856025203639Sat, 06 Apr 2019 11:02:40 GMT\"0x8D6BA7F62F33568\"5120share155454856374007043155454856420309335Sat, 06 Apr 2019 11:02:44 GMT\"0x8D6BA7F6571B186\"5120share155454863664803017155454863675304589Sat, 06 Apr 2019 11:03:58 GMT\"0x8D6BA7F91B54D0B\"5120share155454912150008169Sat, 06 Apr 2019 11:12:01 GMT\"0x8D6BA80B1733B1B\"5120share155454912228807007155454912232402707Sat, 06 Apr 2019 11:12:02 GMT\"0x8D6BA80B1F0CB36\"5120share155454913968401147155454913969709976Sat, 06 Apr 2019 11:12:19 GMT\"0x8D6BA80BC4BC1C8\"5120share155454926160403595Sat, 06 Apr 2019 11:14:21 GMT\"0x8D6BA81050A4FBB\"5120share155454926433302536155454926451103683Sat, 06 Apr 2019 11:14:24 GMT\"0x8D6BA8106B9DBA1\"5120share155454931280409044155454931334904873Sat, 06 Apr 2019 11:15:13 GMT\"0x8D6BA8123FE09BD\"5120share155454933450607945Sat, 06 Apr 2019 11:15:34 GMT\"0x8D6BA813098712B\"5120share155454933671902848155454933688908536Sat, 06 Apr 2019 11:15:36 GMT\"0x8D6BA8131D928E7\"5120share155454936568509955155454936576802176Sat, 06 Apr 2019 11:16:05 GMT\"0x8D6BA81430FF71B\"5120share155454960213904133Sat, 06 Apr 2019 11:20:03 GMT\"0x8D6BA81D0FF2B38\"5120share155454960927909543155454960991001612Sat, 06 Apr 2019 11:20:09 GMT\"0x8D6BA81D49808FE\"5120share155454966009002609155454966016603370Sat, 06 Apr 2019 11:21:00 GMT\"0x8D6BA81F28BD0E3\"5120share155455002704708537Sat, 06 Apr 2019 11:27:07 GMT\"0x8D6BA82CD34741E\"5120share155455002903800007155455003017403219Sat, 06 Apr 2019 11:27:10 GMT\"0x8D6BA82CF125048\"5120share155455006267108464155455006268701770Sat, 06 Apr 2019 11:27:42 GMT\"0x8D6BA82E273923F\"5120share155455037679603457Sat, 06 Apr 2019 11:32:56 GMT\"0x8D6BA839DAF3E6C\"5120share155455037983204788155455037987900489Sat, 06 Apr 2019 11:33:00 GMT\"0x8D6BA839F95A777\"5120share155455040595703142155455040597208498Sat, 06 Apr 2019 11:33:26 GMT\"0x8D6BA83AF12FF0F\"5120share155455072732002603Sat, 06 Apr 2019 11:38:47 GMT\"0x8D6BA846E9C4E9D\"5120share155455073081809895155455073086206096Sat, 06 Apr 2019 11:38:50 GMT\"0x8D6BA8470B704B1\"5120share155455075763207537155455075766305509Sat, 06 Apr 2019 11:39:17 GMT\"0x8D6BA8480B04FE4\"5120share155455102062606131Sat, 06 Apr 2019 11:43:40 GMT\"0x8D6BA851D7C3230\"5120share155455102361801934155455102394805763Sat, 06 Apr 2019 11:43:44 GMT\"0x8D6BA851F770C29\"5120share155455107457700114155455107474000652Sat, 06 Apr 2019 11:44:34 GMT\"0x8D6BA853DBD1411\"5120share155455133006908547Sat, 06 Apr 2019 11:48:50 GMT\"0x8D6BA85D5EB98F7\"5120share155455133279009813155455133361801233Sat, 06 Apr 2019 11:48:53 GMT\"0x8D6BA85D80A2CF8\"5120share155455139513901690155455139530102243Sat, 06 Apr 2019 11:49:55 GMT\"0x8D6BA85FCCC3693\"5120share155455164872603077Sat, 06 Apr 2019 11:54:08 GMT\"0x8D6BA8693DC07CC\"5120share155455165151009405155455165183509790Sat, 06 Apr 2019 11:54:11 GMT\"0x8D6BA8695B65D2B\"5120share155455170470509656155455170486300406Sat, 06 Apr 2019 11:55:04 GMT\"0x8D6BA86B550F686\"5120share155456291103108645Sat, 06 Apr 2019 15:01:51 GMT\"0x8D6BAA0CCB4D2E2\"5120share155456291365506380155456291374109855Sat, 06 Apr 2019 15:01:53 GMT\"0x8D6BAA0CE464446\"5120share155456293709907330155456293714005519Sat, 06 Apr 2019 15:02:17 GMT\"0x8D6BAA0DC390444\"5120share155456294559204683Sat, 06 Apr 2019 15:02:25 GMT\"0x8D6BAA0E14877DB\"5120share155456296486809631155456297245203735Sat, 06 Apr 2019 15:02:52 GMT\"0x8D6BAA0F17779CF\"5120share155456305871209606155456305879302124Sat, 06 Apr 2019 15:04:20 GMT\"0x8D6BAA125F07843\"5120share155456314143103789Sat, 06 Apr 2019 15:05:41 GMT\"0x8D6BAA155FBBE27\"5120share155456314336103571155456314749309901Sat, 06 Apr 2019 15:05:47 GMT\"0x8D6BAA159999031\"5120share155456316334404827155456316335906378Sat, 06 Apr 2019 15:06:03 GMT\"0x8D6BAA1630E3598\"5120share155456326179402090Sat, 06 Apr 2019 15:07:42 GMT\"0x8D6BAA19DFB7C6A\"5120share155456326397304242155456326415604577Sat, 06 Apr 2019 15:07:44 GMT\"0x8D6BAA19F25D734\"5120share155456329369701279155456329378504366Sat, 06 Apr 2019 15:08:13 GMT\"0x8D6BAA1B0D0D651\"5120share155456330364409045Sat, 06 Apr 2019 15:08:23 GMT\"0x8D6BAA1B6B2CD98\"5120share155456330666705978155456330683803375Sat, 06 Apr 2019 15:08:26 GMT\"0x8D6BAA1B89A16F1\"5120share155456335030501527155456335038302819Sat, 06 Apr 2019 15:09:10 GMT\"0x8D6BAA1D28E562B\"5120share155456356368008804Sat, 06 Apr 2019 15:12:43 GMT\"0x8D6BAA251C17F8D\"5120share155456356557907464155456356574100518Sat, 06 Apr 2019 15:12:45 GMT\"0x8D6BAA252EBFAC4\"5120share155456361116402960155456361124207850Sat, 06 Apr 2019 15:13:31 GMT\"0x8D6BAA26E0A1CA8\"5120share155456390636203241Sat, 06 Apr 2019 15:18:26 GMT\"0x8D6BAA31DEBCDB0\"5120share155456390705601565155456390711901935Sat, 06 Apr 2019 15:18:27 GMT\"0x8D6BAA31E5E4748\"5120share155456393417709590155456393420808701Sat, 06 Apr 2019 15:18:54 GMT\"0x8D6BAA32E84237D\"5120share155456424217209961Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E61500A8\"5120share155456424278208936155456424284407266Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E67AB1A3\"5120share155456427211205549155456427214304496Sat, 06 Apr 2019 15:24:32 GMT\"0x8D6BAA3F7F20D47\"5120share155456458404204500Sat, 06 Apr 2019 15:29:44 GMT\"0x8D6BAA4B24CBF76\"5120share155456458547707918155456458552404411Sat, 06 Apr 2019 15:29:45 GMT\"0x8D6BAA4B2BB862F\"5120share155456460765406585155456460766908685Sat, 06 Apr 2019 15:30:07 GMT\"0x8D6BAA4BFFF1981\"5120share155456482465103461Sat, 06 Apr 2019 15:33:44 GMT\"0x8D6BAA541550649\"5120share155456482775006921155456482810700538Sat, 06 Apr 2019 15:33:48 GMT\"0x8D6BAA543636C8E\"5120share155456487704408556155456487721609007Sat, 06 Apr 2019 15:34:37 GMT\"0x8D6BAA560A9C832\"5120share155456514392700848Sat, 06 Apr 2019 15:39:04 GMT\"0x8D6BAA5FFA2DBB2\"5120share155456514730004864155456514765000848Sat, 06 Apr 2019 15:39:07 GMT\"0x8D6BAA601DAC90B\"5120share155456520851004581155456520868606444Sat, 06 Apr 2019 15:40:08 GMT\"0x8D6BAA6263B64FB\"5120share155456546078104638Sat, 06 Apr 2019 15:44:20 GMT\"0x8D6BAA6BC7EC485\"5120share155456546379202191155456546415004803Sat, 06 Apr 2019 15:44:24 GMT\"0x8D6BAA6BE80FE20\"5120share155456552100308222155456552118109485Sat, 06 Apr 2019 15:45:21 GMT\"0x8D6BAA6E07EA3E7\"5120share155457982586404577Sat, 06 Apr 2019 19:43:46 GMT\"0x8D6BAC82F06C604\"5120share155457982895209863Sat, 06 Apr 2019 19:43:49 GMT\"0x8D6BAC830B0EE27\"5120share155457983004307662155457983013006641Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC8313A9F6D\"5120share155457983034605061155457983042907122Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC831687914\"5120share155457984096304815Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC837B800A3\"5120share155457984173004573155457984181103859Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC8382FCF4E\"5120share155457985251106506155457985255200019Sat, 06 Apr 2019 19:44:12 GMT\"0x8D6BAC83E977E11\"5120share155457985352004043Sat, 06 Apr 2019 19:44:13 GMT\"0x8D6BAC83F308A2E\"5120share155457985759203693155457985763202694Sat, 06 Apr 2019 19:44:17 GMT\"0x8D6BAC8419E8708\"5120share155457985858407808155457985874206967Sat, 06 Apr 2019 19:44:18 GMT\"0x8D6BAC8424DC6E7\"5120share155457986070109185Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC84378C35C\"5120share155457986084203249155457986088206247Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC8438DCAFB\"5120share155457986667402248155457986683304389Sat, 06 Apr 2019 19:44:26 GMT\"0x8D6BAC8471F8EC3\"5120share155457988211302188Sat, 06 Apr 2019 19:44:42 GMT\"0x8D6BAC8503B5D5B\"5120share155457988657106116155457988672406764Sat, 06 Apr 2019 19:44:46 GMT\"0x8D6BAC852FAA3CB\"5120share155457991716301226155457991723809979Sat, 06 Apr 2019 19:45:17 GMT\"0x8D6BAC8652A9515\"5120share155457992830806739155457992838808802Sat, 06 Apr 2019 19:45:28 GMT\"0x8D6BAC86BD00E83\"5120share155457993006407987155457993013800523Sat, 06 Apr 2019 19:45:30 GMT\"0x8D6BAC86CDBF17B\"5120share155458006152502178Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB245AB2\"5120share155458006186305147155458006188804437Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB5BDA66\"5120share155458006815304344Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF182EA3\"5120share155458006841500789155458006844408143Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF44D44C\"5120share155458007310109701Sat, 06 Apr 2019 19:47:53 GMT\"0x8D6BAC8C20A6A25\"5120share155458007402802136155458007406500109Sat, 06 Apr 2019 19:47:54 GMT\"0x8D6BAC8C29DD3C2\"5120share155458007691004618155458007692300930Sat, 06 Apr 2019 19:47:56 GMT\"0x8D6BAC8C4519872\"5120share155458008613907463155458008615102861Sat, 06 Apr 2019 19:48:06 GMT\"0x8D6BAC8C9D2A25A\"5120share155458008826101632155458008827508306Sat, 06 Apr 2019 19:48:08 GMT\"0x8D6BAC8CB1643CF\"5120share155458014101009988Sat, 06 Apr 2019 19:49:01 GMT\"0x8D6BAC8EA8C6116\"5120share155458014235102252155458014250500129Sat, 06 Apr 2019 19:49:02 GMT\"0x8D6BAC8EB7022BC\"5120share155458015065204785Sat, 06 Apr 2019 19:49:10 GMT\"0x8D6BAC8F04B6245\"5120share155458015190606244155458015235108989Sat, 06 Apr 2019 19:49:12 GMT\"0x8D6BAC8F14EC812\"5120share155458015912000641Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F54FD2BF\"5120share155458015954701668155458015960006118Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F5991DFB\"5120share155458017311406556Sat, 06 Apr 2019 19:49:33 GMT\"0x8D6BAC8FDD44158\"5120share155458017502707203155458017520806739Sat, 06 Apr 2019 19:49:35 GMT\"0x8D6BAC8FEECDAA4\"5120share155458018062700692155458018064406305Sat, 06 Apr 2019 19:49:40 GMT\"0x8D6BAC90223AD3D\"5120share155458018255202912155458018262607543Sat, 06 Apr 2019 19:49:42 GMT\"0x8D6BAC9035A963E\"5120share155458018446401092Sat, 06 Apr 2019 19:49:44 GMT\"0x8D6BAC9048A9A28\"5120share155458018639607522155458018647205168Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905A4A03A\"5120share155458018651709847155458018670403556Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905C6C316\"5120share155458018905808134Sat, 06 Apr 2019 19:49:49 GMT\"0x8D6BAC90745C0AB\"5120share155458019083402862155458019101607549Sat, 06 Apr 2019 19:49:51 GMT\"0x8D6BAC9085921C4\"5120share155458020474801587155458020483701287Sat, 06 Apr 2019 19:50:04 GMT\"0x8D6BAC910954F65\"5120share155458021677705412155458021686508820Sat, 06 Apr 2019 19:50:16 GMT\"0x8D6BAC917C0BA92\"5120share155458022255403756155458022264606904Sat, 06 Apr 2019 19:50:22 GMT\"0x8D6BAC91B330179\"5120share155458035799600985Sat, 06 Apr 2019 19:52:38 GMT\"0x8D6BAC96BE13B37\"5120share155458035959302421155458035975506801Sat, 06 Apr 2019 19:52:39 GMT\"0x8D6BAC96CED2845\"5120share155458038999101821155458039006205821Sat, 06 Apr 2019 19:53:10 GMT\"0x8D6BAC97EFDC8C7\"5120share155458039197306757Sat, 06 Apr 2019 19:53:11 GMT\"0x8D6BAC98019052A\"5120share155458039235409027155458039240007658Sat, 06 Apr 2019 19:53:12 GMT\"0x8D6BAC98059AA63\"5120share155458041594507958Sat, 06 Apr 2019 19:53:35 GMT\"0x8D6BAC98E61B10E\"5120share155458041624503349155458041700409251Sat, 06 Apr 2019 19:53:37 GMT\"0x8D6BAC98F0326CA\"5120share155458042414602394155458042416208280Sat, 06 Apr 2019 19:53:44 GMT\"0x8D6BAC993487273\"5120share155458044008906271155458044010601423Sat, 06 Apr 2019 19:54:00 GMT\"0x8D6BAC99CC83FC7\"5120share155458071334509447Sat, 06 Apr 2019 19:58:33 GMT\"0x8D6BACA3FA8FF44\"5120share155458071605707178155458071610409296Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA414C424C\"5120share155458071612107980Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA4152C3C2\"5120share155458071677203776155458071680408599Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA41BB0E81\"5120share155458072009502050Sat, 06 Apr 2019 19:58:40 GMT\"0x8D6BACA43B031EA\"5120share155458072094509702155458072099206957Sat, 06 Apr 2019 19:58:41 GMT\"0x8D6BACA44380FE8\"5120share155458073543006878155458073544508077Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CD4E02B\"5120share155458073563000516155458073564602564Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CF58E47\"5120share155458074693207901155458074696307244Sat, 06 Apr 2019 19:59:06 GMT\"0x8D6BACA53B06581\"5120share155458102730709783Sat, 06 Apr 2019 20:03:47 GMT\"0x8D6BACAFACB81F1\"5120share155458102868202572155458102871409986Sat, 06 Apr 2019 20:03:48 GMT\"0x8D6BACAFBA2E15D\"5120share155458104633001221Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB06231A4E\"5120share155458104667302506155458104672106680Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB065D6388\"5120share155458104813808363155458104815404525Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB0738F2A1\"5120share155458104870802288Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB078DCFAB\"5120share155458104914903079155458104919602010Sat, 06 Apr 2019 20:04:09 GMT\"0x8D6BACB07D61BEF\"5120share155458106288101112155458106289700342Sat, 06 Apr 2019 20:04:22 GMT\"0x8D6BACB100374B8\"5120share155458106650506749155458106652108155Sat, 06 Apr 2019 20:04:26 GMT\"0x8D6BACB122B752A\"5120share155458133184000378Sat, 06 Apr 2019 20:08:51 GMT\"0x8D6BACBB05075D8\"5120share155458133237405814155458133243702319Sat, 06 Apr 2019 20:08:52 GMT\"0x8D6BACBB0AD6CF8\"5120share155458135318509099155458135320106042Sat, 06 Apr 2019 20:09:13 GMT\"0x8D6BACBBD0CD3EE\"5120share155458137219602215Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC85F8649\"5120share155458137264904053155458137284004781Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC8C02510\"5120share155458139529801458155458139532905081Sat, 06 Apr 2019 20:09:55 GMT\"0x8D6BACBD628A6F5\"5120share155458143191307130Sat, 06 Apr 2019 20:10:31 GMT\"0x8D6BACBEBF72FED\"5120share155458143725704549155458143733108923Sat, 06 Apr 2019 20:10:37 GMT\"0x8D6BACBEF3235D6\"5120share155458145614707996155458145617801962Sat, 06 Apr 2019 20:10:56 GMT\"0x8D6BACBFA6C641E\"5120share155458157026004284Sat, 06 Apr 2019 20:12:50 GMT\"0x8D6BACC3E7D2E73\"5120share155458157513606057155458157549200058Sat, 06 Apr 2019 20:12:55 GMT\"0x8D6BACC419AACAA\"5120share155458161551504918Sat, 06 Apr 2019 20:13:35 GMT\"0x8D6BACC5975976A\"5120share155458161852508767155458161888204990Sat, 06 Apr 2019 20:13:39 GMT\"0x8D6BACC5B77718A\"5120share155458163270608429155458163288707708Sat, 06 Apr 2019 20:13:53 GMT\"0x8D6BACC63D077C5\"5120share155458166740801992155458166758400322Sat, 06 Apr 2019 20:14:27 GMT\"0x8D6BACC787E2CBC\"5120share155458167410204473Sat, 06 Apr 2019 20:14:34 GMT\"0x8D6BACC7C6268AB\"5120share155458167745609182155458167783502969Sat, 06 Apr 2019 20:14:37 GMT\"0x8D6BACC7E9B98C5\"5120share155458172754102886155458172771207718Sat, 06 Apr 2019 20:15:27 GMT\"0x8D6BACC9C55C2B9\"5120share155458172981008762Sat, 06 Apr 2019 20:15:29 GMT\"0x8D6BACC9D95FF89\"5120share155458194149704710Sat, 06 Apr 2019 20:19:01 GMT\"0x8D6BACD1BC47F5F\"5120share155458194536607732155458194571702324Sat, 06 Apr 2019 20:19:05 GMT\"0x8D6BACD1E4806C2\"5120share155458197308200274Sat, 06 Apr 2019 20:19:33 GMT\"0x8D6BACD2E9741B8\"5120share155458197591001668155458197626104855Sat, 06 Apr 2019 20:19:36 GMT\"0x8D6BACD307C412D\"5120share155458199527007624155458199545704317Sat, 06 Apr 2019 20:19:55 GMT\"0x8D6BACD3BED41C6\"5120share155458202598109235155458202659403874Sat, 06 Apr 2019 20:20:26 GMT\"0x8D6BACD4E7C35E1\"5120share155458206169602649Sat, 06 Apr 2019 20:21:01 GMT\"0x8D6BACD636BD2BB\"5120share155458206454303760155458206491202053Sat, 06 Apr 2019 20:21:05 GMT\"0x8D6BACD6555FC37\"5120share155458211197207585155458211214304698Sat, 06 Apr 2019 20:21:52 GMT\"0x8D6BACD817C81F1\"5120share155458230574404260Sat, 06 Apr 2019 20:25:05 GMT\"0x8D6BACDF4DE1EAA\"5120share155458230851000916155458230885607635Sat, 06 Apr 2019 20:25:08 GMT\"0x8D6BACDF6B8F6B6\"5120share155458232013504419Sat, 06 Apr 2019 20:25:20 GMT\"0x8D6BACDFD730512\"5120share155458232597200069155458232631800473Sat, 06 Apr 2019 20:25:26 GMT\"0x8D6BACE015C4984\"5120share155458235978104772155458235995602616Sat, 06 Apr 2019 20:26:00 GMT\"0x8D6BACE152F2C77\"5120share155458238152204275155458238169302315Sat, 06 Apr 2019 20:26:21 GMT\"0x8D6BACE22234B1D\"5120share155458246813501241Sat, 06 Apr 2019 20:27:48 GMT\"0x8D6BACE55AA8392\"5120share155458247096107198155458247130607430Sat, 06 Apr 2019 20:27:51 GMT\"0x8D6BACE578E5D67\"5120share155458252434803407155458252452009632Sat, 06 Apr 2019 20:28:44 GMT\"0x8D6BACE77450DDD\"5120share155463491867809931Sun, 07 Apr 2019 11:01:59 GMT\"0x8D6BB4874C1FA32\"5120share155463492805505485155463492814004375Sun, 07 Apr 2019 11:02:08 GMT\"0x8D6BB487A32EA36\"5120share155463495415400624Sun, 07 Apr 2019 11:02:34 GMT\"0x8D6BB4889FB36E2\"5120share155463495863003716155463495867103980Sun, 07 Apr 2019 11:02:38 GMT\"0x8D6BB488C65A2A9\"5120share155463496549001120155463496566809518Sun, 07 Apr 2019 11:02:45 GMT\"0x8D6BB489096CC90\"5120share155463510566206731155463512465407451Sun, 07 Apr 2019 11:05:26 GMT\"0x8D6BB48F0B165EF\"5120share155463540364902833Sun, 07 Apr 2019 11:10:03 GMT\"0x8D6BB49959E6F6C\"5120share155463540439609115155463540442904248Sun, 07 Apr 2019 11:10:04 GMT\"0x8D6BB4996153B3E\"5120share155463542848406129155463542849807262Sun, 07 Apr 2019 11:10:28 GMT\"0x8D6BB49A46DA670\"5120share155463565576604805Sun, 07 Apr 2019 11:14:15 GMT\"0x8D6BB4A2BE4C75B\"5120share155463565789508788155463565794000776Sun, 07 Apr 2019 11:14:18 GMT\"0x8D6BB4A2D664C95\"5120share155463571312806839Sun, 07 Apr 2019 11:15:13 GMT\"0x8D6BB4A4E324D5F\"5120share155463571500609630155463571519400757Sun, 07 Apr 2019 11:15:15 GMT\"0x8D6BB4A4F562BB4\"5120share155463572717801277155463572720009526Sun, 07 Apr 2019 11:15:31 GMT\"0x8D6BB4A593E4806\"5120share155463574903407014155463574912207563Sun, 07 Apr 2019 11:15:49 GMT\"0x8D6BB4A638F50FD\"5120share155463593650002394Sun, 07 Apr 2019 11:18:56 GMT\"0x8D6BB4AD35DE04B\"5120share155463593894103435155463594176804206Sun, 07 Apr 2019 11:19:07 GMT\"0x8D6BB4ADA0C57A9\"5120share155463599400903836155463599403308912Sun, 07 Apr 2019 11:19:54 GMT\"0x8D6BB4AF583B2DB\"5120share155463628106804246Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA09C1EE3\"5120share155463628181805431155463628188001817Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA1175DD3\"5120share155463632163502826155463632187607182Sun, 07 Apr 2019 11:25:22 GMT\"0x8D6BB4BB9036F9B\"5120share155463662044706147Sun, 07 Apr 2019 11:30:20 GMT\"0x8D6BB4C6B2196F0\"5120share155463662176402509155463662181106263Sun, 07 Apr 2019 11:30:21 GMT\"0x8D6BB4C6BB51156\"5120share155463666487909340155463666491409324Sun, 07 Apr 2019 11:31:05 GMT\"0x8D6BB4C8583DD48\"5120share155463698405401209Sun, 07 Apr 2019 11:36:24 GMT\"0x8D6BB4D439ECDDA\"5120share155463698541606800155463698546901035Sun, 07 Apr 2019 11:36:25 GMT\"0x8D6BB4D44771EE6\"5120share155463702978505155155463702979104132Sun, 07 Apr 2019 11:37:09 GMT\"0x8D6BB4D5EE448FE\"5120share155463723950700465Sun, 07 Apr 2019 11:40:39 GMT\"0x8D6BB4DDBF3ADCB\"5120share155463724312503743155463724347607443Sun, 07 Apr 2019 11:40:43 GMT\"0x8D6BB4DDE528D42\"5120share155463729758500306155463729776203740Sun, 07 Apr 2019 11:41:37 GMT\"0x8D6BB4DFEAC4DF1\"5120share155463755748302900Sun, 07 Apr 2019 11:45:57 GMT\"0x8D6BB4E9978E2D2\"5120share155463756042003553155463756079202168Sun, 07 Apr 2019 11:46:00 GMT\"0x8D6BB4E9B7177A8\"5120share155463761358100594155463761375307174Sun, 07 Apr 2019 11:46:53 GMT\"0x8D6BB4EBB02650C\"5120share155463787959207794Sun, 07 Apr 2019 11:51:19 GMT\"0x8D6BB4F59763A07\"5120share155463788290501414155463788325100200Sun, 07 Apr 2019 11:51:23 GMT\"0x8D6BB4F5BA54F45\"5120share155463793259303870155463793276700570Sun, 07 Apr 2019 11:52:12 GMT\"0x8D6BB4F79276239\"5120share155471159410101775Mon, 08 Apr 2019 08:19:54 GMT\"0x8D6BBFAFADBE5E4\"5120share155471159557103774155471159565300748Mon, 08 Apr 2019 08:19:55 GMT\"0x8D6BBFAFB99CD19\"5120share155471159719406945Mon, 08 Apr 2019 08:19:57 GMT\"0x8D6BBFAFCB663A2\"5120share155471159844901546155471159853504786Mon, 08 Apr 2019 08:19:58 GMT\"0x8D6BBFAFD5170F5\"5120share155471161541409992Mon, 08 Apr 2019 08:20:16 GMT\"0x8D6BBFB081F5FB5\"5120share155471161759002308155471161771900228Mon, 08 Apr 2019 08:20:17 GMT\"0x8D6BBFB08C05564\"5120share155471161851605440155471161855706599Mon, 08 Apr 2019 08:20:18 GMT\"0x8D6BBFB0940AA1F\"5120share155471162639902600Mon, 08 Apr 2019 08:20:26 GMT\"0x8D6BBFB0DF3D044\"5120share155471163431809410155471163513501817Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15375AD4\"5120share155471163659409852155471163663305916Mon, 08 Apr 2019 08:20:36 GMT\"0x8D6BBFB140672E7\"5120share155471163879403305155471163883506224Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15570427\"5120share155471164795407473Mon, 08 Apr 2019 08:20:48 GMT\"0x8D6BBFB1ACB17DC\"5120share155471165623109994Mon, 08 Apr 2019 08:20:56 GMT\"0x8D6BBFB1FC3F719\"5120share155471166012804668155471166031308328Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB24406110\"5120share155471166089903157155471166123608644Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB241F036D\"5120share155471172995905724155471173080508446Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C37952A\"5120share155471173051409365155471173059005298Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C0C5968\"5120share155471174333302070155471174341105069Mon, 08 Apr 2019 08:22:23 GMT\"0x8D6BBFB53D3A9B7\"5120share155471182434808256Mon, 08 Apr 2019 08:23:44 GMT\"0x8D6BBFB83E86CA9\"5120share155471182515205917155471182519308076Mon, 08 Apr 2019 08:23:45 GMT\"0x8D6BBFB8469258F\"5120share155471183792306366Mon, 08 Apr 2019 08:23:57 GMT\"0x8D6BBFB8BFDA647\"5120share155471183836601440155471183839808059Mon, 08 Apr 2019 08:23:58 GMT\"0x8D6BBFB8C45ED59\"5120share155471184549402743Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB9081965D\"5120share155471184577508341155471184580705566Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB90B0FDD6\"5120share155471184862508408155471184864008538Mon, 08 Apr 2019 08:24:08 GMT\"0x8D6BBFB926308AD\"5120share155471185496004282155471185497309494Mon, 08 Apr 2019 08:24:14 GMT\"0x8D6BBFB96272195\"5120share155471186424807606155471186426203954Mon, 08 Apr 2019 08:24:24 GMT\"0x8D6BBFB9BB131A5\"5120share155471193314004724Mon, 08 Apr 2019 08:25:33 GMT\"0x8D6BBFBC4C751E1\"5120share155471193593408635155471193764704577Mon, 08 Apr 2019 08:25:37 GMT\"0x8D6BBFBC776A651\"5120share155471194397407124Mon, 08 Apr 2019 08:25:44 GMT\"0x8D6BBFBCB3C2379\"5120share155471194555807811155471194571401786Mon, 08 Apr 2019 08:25:47 GMT\"0x8D6BBFBCD737F4F\"5120share155471194946302657Mon, 08 Apr 2019 08:25:49 GMT\"0x8D6BBFBCEC19047\"5120share155471195223406412155471195241808309Mon, 08 Apr 2019 08:25:52 GMT\"0x8D6BBFBD043CA23\"5120share155471195442005853Mon, 08 Apr 2019 08:25:54 GMT\"0x8D6BBFBD1932F7D\"5120share155471195678502043155471195696904048Mon, 08 Apr 2019 08:25:57 GMT\"0x8D6BBFBD2F92138\"5120share155471195874606540Mon, 08 Apr 2019 08:25:58 GMT\"0x8D6BBFBD402CCA4\"5120share155471196273505067155471196279008024Mon, 08 Apr 2019 08:26:02 GMT\"0x8D6BBFBD66C3E32\"5120share155471196687506253Mon, 08 Apr 2019 08:26:07 GMT\"0x8D6BBFBD8F28488\"5120share155471196866402199155471196884600096Mon, 08 Apr 2019 08:26:08 GMT\"0x8D6BBFBDA0C5FC2\"5120share155471197493802599155471197525806627Mon, 08 Apr 2019 08:26:15 GMT\"0x8D6BBFBDDE17260\"5120share155471198776902969155471198787408405Mon, 08 Apr 2019 08:26:27 GMT\"0x8D6BBFBE56583EC\"5120share155471198949002768155471198957504390Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE66A3DE2\"5120share155471198959605149155471198986208091Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE6954C17\"5120share155471199019804683155471199021904269Mon, 08 Apr 2019 08:26:30 GMT\"0x8D6BBFBE6C605AD\"5120share155471199895909131155471199904807398Mon, 08 Apr 2019 08:26:39 GMT\"0x8D6BBFBEC0C669D\"5120share155471216392807544Mon, 08 Apr 2019 08:29:23 GMT\"0x8D6BBFC4E4F47FC\"5120share155471216452709732155471216456902840Mon, 08 Apr 2019 08:29:26 GMT\"0x8D6BBFC4FC7CD1D\"5120share155471217136404726Mon, 08 Apr 2019 08:29:31 GMT\"0x8D6BBFC52BDE426\"5120share155471217222402240155471217226106507Mon, 08 Apr 2019 08:29:32 GMT\"0x8D6BBFC53470269\"5120share155471218247602987Mon, 08 Apr 2019 08:29:42 GMT\"0x8D6BBFC595CC199\"5120share155471218361402387155471218365005312Mon, 08 Apr 2019 08:29:43 GMT\"0x8D6BBFC5A0FE3DD\"5120share155471219940306579155471219942604065Mon, 08 Apr 2019 08:29:59 GMT\"0x8D6BBFC63780FBF\"5120share155471220016802925155471220030607499Mon, 08 Apr 2019 08:30:00 GMT\"0x8D6BBFC63FED675\"5120share155471220290902917155471220293500348Mon, 08 Apr 2019 08:30:02 GMT\"0x8D6BBFC658E59F6\"5120share155471249309900739Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD129316CF\"5120share155471249367802014155471249372503616Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD12E38F1C\"5120share155471249672508697Mon, 08 Apr 2019 08:34:56 GMT\"0x8D6BBFD14AEB26A\"5120share155471249717808132155471249721001861Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD14F86882\"5120share155471249764407211Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD153BD7C4\"5120share155471249811307309155471249830109173Mon, 08 Apr 2019 08:34:58 GMT\"0x8D6BBFD15A17797\"5120share155471251563202676155471251564809213Mon, 08 Apr 2019 08:35:15 GMT\"0x8D6BBFD1FF476DC\"5120share155471251726303555155471251727801842Mon, 08 Apr 2019 08:35:17 GMT\"0x8D6BBFD20EF45C5\"5120share155471252286607127155471252289804824Mon, 08 Apr 2019 08:35:22 GMT\"0x8D6BBFD24468D24\"5120share155471280107407056Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA150A06\"5120share155471280122303103Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA2AA85A\"5120share155471280157501884155471280162209736Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA689843\"5120share155471280170901900155471280269609138Mon, 08 Apr 2019 08:40:02 GMT\"0x8D6BBFDCB0B4F94\"5120share155471281860403066Mon, 08 Apr 2019 08:40:18 GMT\"0x8D6BBFDD485DCD0\"5120share155471282020204926155471282024907974Mon, 08 Apr 2019 08:40:20 GMT\"0x8D6BBFDD581C2E6\"5120share155471282773802277155471282776901903Mon, 08 Apr 2019 08:40:27 GMT\"0x8D6BBFDD9FC956E\"5120share155471283070409441155471283071900050Mon, 08 Apr 2019 08:40:30 GMT\"0x8D6BBFDDBC0CC62\"5120share155471284115800709155471284117302223Mon, 08 Apr 2019 08:40:41 GMT\"0x8D6BBFDE1FC0E2A\"5120share155471313076205798Mon, 08 Apr 2019 08:45:30 GMT\"0x8D6BBFE8E985DA6\"5120share155471313135605696155471313140307661Mon, 08 Apr 2019 08:45:31 GMT\"0x8D6BBFE8EFA806E\"5120share155471314247306296Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE9592429E\"5120share155471314285105895155471314289809059Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE95D17ABD\"5120share155471314655408113Mon, 08 Apr 2019 08:45:46 GMT\"0x8D6BBFE98026629\"5120share155471315036608620155471315039706752Mon, 08 Apr 2019 08:45:53 GMT\"0x8D6BBFE9BFF3E8D\"5120share155471315738800255155471315740403394Mon, 08 Apr 2019 08:45:57 GMT\"0x8D6BBFE9E7A78D8\"5120share155471316127700943155471316129308576Mon, 08 Apr 2019 08:46:01 GMT\"0x8D6BBFEA0CA3EB9\"5120share155471317319209006155471317320803568Mon, 08 Apr 2019 08:46:13 GMT\"0x8D6BBFEA7E52732\"5120share155471338564903682Mon, 08 Apr 2019 08:49:45 GMT\"0x8D6BBFF26965E97\"5120share155471338612201724Mon, 08 Apr 2019 08:49:46 GMT\"0x8D6BBFF26DDC80B\"5120share155471338707501668Mon, 08 Apr 2019 08:49:47 GMT\"0x8D6BBFF276FE91A\"5120share155471338875509216155471338911108778Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28A5CC73\"5120share155471338907003423155471338943607988Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28D7C43E\"5120share155471339077005177155471339112707523Mon, 08 Apr 2019 08:49:51 GMT\"0x8D6BBFF29D97BDE\"5120share155471344114607322155471344132404540Mon, 08 Apr 2019 08:50:41 GMT\"0x8D6BBFF47C434F1\"5120share155471344305708178155471344323803707Mon, 08 Apr 2019 08:50:43 GMT\"0x8D6BBFF48E9B6AB\"5120share155471345132108943155471345150106029Mon, 08 Apr 2019 08:50:51 GMT\"0x8D6BBFF4DE3889E\"5120share155471361870008084Mon, 08 Apr 2019 08:53:39 GMT\"0x8D6BBFFB1EEC742\"5120share155471371725508964Mon, 08 Apr 2019 08:55:17 GMT\"0x8D6BBFFEC3CDD7B\"5120share155471371944301810Mon, 08 Apr 2019 08:55:19 GMT\"0x8D6BBFFED8C775F\"5120share155471371991209376Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEDD38528\"5120share155471372018104292155471372052805770Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEE2FFA2F\"5120share155471372233805696155471372271708417Mon, 08 Apr 2019 08:55:22 GMT\"0x8D6BBFFEF7F6246\"5120share155471372290109620155471372324904545Mon, 08 Apr 2019 08:55:23 GMT\"0x8D6BBFFEFDE088A\"5120share155471377091005451155471377108904189Mon, 08 Apr 2019 08:56:11 GMT\"0x8D6BC000C53B864\"5120share155471377364408697155471377382002962Mon, 08 Apr 2019 08:56:13 GMT\"0x8D6BC000DF49A62\"5120share155471377523007053155471377540900660Mon, 08 Apr 2019 08:56:15 GMT\"0x8D6BC000EE6C927\"5120share155471402950606676Mon, 08 Apr 2019 09:00:29 GMT\"0x8D6BC00A65AACF7\"5120share155471403233404398155471403270309055Mon, 08 Apr 2019 09:00:32 GMT\"0x8D6BC00A8426D4A\"5120share155471403964001185Mon, 08 Apr 2019 09:00:39 GMT\"0x8D6BC00AC6541C8\"5120share155471404293509573155471404328606393Mon, 08 Apr 2019 09:00:43 GMT\"0x8D6BC00AE906AAF\"5120share155471407955303616155471407972706941Mon, 08 Apr 2019 09:01:19 GMT\"0x8D6BC00C4491574\"5120share155471409885107441155471409902406315Mon, 08 Apr 2019 09:01:39 GMT\"0x8D6BC00CFC9D367\"5120share155471420123407076Mon, 08 Apr 2019 09:03:22 GMT\"0x8D6BC010D28BDE1\"5120share155471420502801318155471420537802414Mon, 08 Apr 2019 09:03:25 GMT\"0x8D6BC010F2CB097\"5120share155471426607204412155471426625208107Mon, 08 Apr 2019 09:04:26 GMT\"0x8D6BC013375377C\"5120share155472160987405653Mon, 08 Apr 2019 11:06:50 GMT\"0x8D6BC124C9978EA\"5120share155472161097000757155472161105208077Mon, 08 Apr 2019 11:06:51 GMT\"0x8D6BC124D3DBF8D\"5120share155472163173801961155472163177609525Mon, 08 Apr 2019 11:07:11 GMT\"0x8D6BC125997DF0C\"5120share155472168232901716Mon, 08 Apr 2019 11:08:02 GMT\"0x8D6BC1277BFA9C8\"5120share155472168374104176155472168446607643Mon, 08 Apr 2019 11:08:04 GMT\"0x8D6BC1279214100\"5120share155472176197105947155472176205007656Mon, 08 Apr 2019 11:09:22 GMT\"0x8D6BC12A74454C3\"5120share155472204199900828Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E191AC7\"5120share155472204277609584155472204280601112Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E94A044\"5120share155472206496708024155472206498204033Mon, 08 Apr 2019 11:14:25 GMT\"0x8D6BC135BCCCA84\"5120share155472216705901492Mon, 08 Apr 2019 11:16:07 GMT\"0x8D6BC1398D048C8\"5120share155472216898001523155472216916205107Mon, 08 Apr 2019 11:16:09 GMT\"0x8D6BC1399EAA37A\"5120share155472219103107027Mon, 08 Apr 2019 11:16:31 GMT\"0x8D6BC13A6F4AE8C\"5120share155472219425905471155472219440702152Mon, 08 Apr 2019 11:16:34 GMT\"0x8D6BC13A921A1C9\"5120share155472220033004812155472220042206911Mon, 08 Apr 2019 11:16:40 GMT\"0x8D6BC13AC8D206A\"5120share155472224824707837155472224832008824Mon, 08 Apr 2019 11:17:28 GMT\"0x8D6BC13C919E65E\"5120share155472246204805623Mon, 08 Apr 2019 11:21:02 GMT\"0x8D6BC14487717FD\"5120share155472246241309337155472246263507674Mon, 08 Apr 2019 11:21:03 GMT\"0x8D6BC14496CB4D5\"5120share155472249524904748155472249526905903Mon, 08 Apr 2019 11:21:35 GMT\"0x8D6BC145C441D54\"5120share155472278844408698Mon, 08 Apr 2019 11:26:28 GMT\"0x8D6BC150B092C7A\"5120share155472278907008129155472278920004266Mon, 08 Apr 2019 11:26:29 GMT\"0x8D6BC150B7C124C\"5120share155472284254600007155472284256208525Mon, 08 Apr 2019 11:27:22 GMT\"0x8D6BC152B4A911F\"5120share155472312229503604Mon, 08 Apr 2019 11:32:02 GMT\"0x8D6BC15D200E575\"5120share155472312412809123155472312417501747Mon, 08 Apr 2019 11:32:04 GMT\"0x8D6BC15D31D7FAE\"5120share155472315446303765155472315449505989Mon, 08 Apr 2019 11:32:34 GMT\"0x8D6BC15E5302244\"5120share155472345996309413Mon, 08 Apr 2019 11:37:39 GMT\"0x8D6BC169B4675F7\"5120share155472346051206066155472346057508799Mon, 08 Apr 2019 11:37:40 GMT\"0x8D6BC169BA35295\"5120share155472348747305567155472348748800979Mon, 08 Apr 2019 11:38:07 GMT\"0x8D6BC16ABADD753\"5120share155472371337200587Mon, 08 Apr 2019 11:41:53 GMT\"0x8D6BC1732641149\"5120share155472371674603033155472371719309773Mon, 08 Apr 2019 11:41:57 GMT\"0x8D6BC1734C4AD1D\"5120share155472377588104348155472377613206149Mon, 08 Apr 2019 11:42:56 GMT\"0x8D6BC1757CB4FB5\"5120share155472411306702730Mon, 08 Apr 2019 11:48:33 GMT\"0x8D6BC1820A06135\"5120share155472411721604937155472411760505391Mon, 08 Apr 2019 11:48:37 GMT\"0x8D6BC1823541FBE\"5120share155472417274301118155472417291606860Mon, 08 Apr 2019 11:49:33 GMT\"0x8D6BC18444D2432\"5120share155472448089705120Mon, 08 Apr 2019 11:54:41 GMT\"0x8D6BC18FBDED986\"5120share155472448370807083155472448406101169Mon, 08 Apr 2019 11:54:44 GMT\"0x8D6BC18FDC115E2\"5120share155472453427508600155472453444907889Mon, 08 Apr 2019 11:55:34 GMT\"0x8D6BC191BCCB9BF\"5120share155472855094705964Mon, 08 Apr 2019 13:02:31 GMT\"0x8D6BC2275D7C473\"5120share155472855239009959155472855247404733Mon, 08 Apr 2019 13:02:32 GMT\"0x8D6BC2276A627CE\"5120share155472856032008076Mon, 08 Apr 2019 13:02:41 GMT\"0x8D6BC227BD9467D\"5120share155472856217809292155472856226408487Mon, 08 Apr 2019 13:02:42 GMT\"0x8D6BC227C7D2423\"5120share155472856366803949Mon, 08 Apr 2019 13:02:43 GMT\"0x8D6BC227D692AC9\"5120share155472856528205546155472856545204869Mon, 08 Apr 2019 13:02:45 GMT\"0x8D6BC227E67D1EF\"5120share155472857573303054155472857578001261Mon, 08 Apr 2019 13:02:55 GMT\"0x8D6BC22848AC2B9\"5120share155472858718602344155472858722904206Mon, 08 Apr 2019 13:03:07 GMT\"0x8D6BC228B5EA846\"5120share155472859275800578Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EB057C8\"5120share155472859281003726155472859289304102Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EC2C83E\"5120share155472859438304193155472859454102545Mon, 08 Apr 2019 13:03:14 GMT\"0x8D6BC228FBFC6F4\"5120share155472859997408060Mon, 08 Apr 2019 13:03:20 GMT\"0x8D6BC2293079122\"5120share155472860456904599155472860489607509Mon, 08 Apr 2019 13:03:25 GMT\"0x8D6BC2295F5DA07\"5120share155472861037200948Mon, 08 Apr 2019 13:03:30 GMT\"0x8D6BC229939EC8D\"5120share155472861305108945155472861338108485Mon, 08 Apr 2019 13:03:36 GMT\"0x8D6BC229CA157C0\"5120share155472865853408678155472865861303126Mon, 08 Apr 2019 13:04:18 GMT\"0x8D6BC22B5EF8CF3\"5120share155472868380603467155472868396900550Mon, 08 Apr 2019 13:04:44 GMT\"0x8D6BC22C517F4B3\"5120share155472868557503999155472868576501705Mon, 08 Apr 2019 13:04:45 GMT\"0x8D6BC22C62A39FA\"5120share155472879121104691Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC2304F03B40\"5120share155472879189403290155472879193803545Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC23055F2961\"5120share155472879243008995Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305AC7850\"5120share155472879280808188155472879284409230Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305EC7325\"5120share155472880698205090155472880699806109Mon, 08 Apr 2019 13:06:47 GMT\"0x8D6BC230E58A3F5\"5120share155472880814103146155472880815505990Mon, 08 Apr 2019 13:06:48 GMT\"0x8D6BC230F0B9BFB\"5120share155472881234807755Mon, 08 Apr 2019 13:06:52 GMT\"0x8D6BC2311884B12\"5120share155472881340207390155472881350205618Mon, 08 Apr 2019 13:06:53 GMT\"0x8D6BC2312387E17\"5120share155472883072301392155472883073803010Mon, 08 Apr 2019 13:07:10 GMT\"0x8D6BC231C7E23F5\"5120share155472885337806659Mon, 08 Apr 2019 13:07:33 GMT\"0x8D6BC232A11D740\"5120share155472885613805171155472885646702766Mon, 08 Apr 2019 13:07:36 GMT\"0x8D6BC232BEA3B02\"5120share155472889661305776Mon, 08 Apr 2019 13:08:16 GMT\"0x8D6BC2343CAEEAB\"5120share155472889788009681155472889803300893Mon, 08 Apr 2019 13:08:18 GMT\"0x8D6BC2344A41FDF\"5120share155472891001406580Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BDA3B1D\"5120share155472891007702393155472891023709481Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BF5BF5B\"5120share155472891025302439Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234C02A1DD\"5120share155472891190208427155472891208509099Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D02D031\"5120share155472891198206893155472891216501231Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D0EF9AB\"5120share155472891445805441Mon, 08 Apr 2019 13:08:34 GMT\"0x8D6BC234E6E1621\"5120share155472891568202078155472891586502301Mon, 08 Apr 2019 13:08:35 GMT\"0x8D6BC234F44AFC9\"5120share155472893112604559155472893120100232Mon, 08 Apr 2019 13:08:51 GMT\"0x8D6BC23586881C1\"5120share155472893354909897Mon, 08 Apr 2019 13:08:53 GMT\"0x8D6BC2359E9B5A9\"5120share155472893564809628155472893583008434Mon, 08 Apr 2019 13:08:55 GMT\"0x8D6BC235B2AEAA9\"5120share155472893953307706155472893962206298Mon, 08 Apr 2019 13:08:59 GMT\"0x8D6BC235D6C870E\"5120share155472894318507838155472894330704679Mon, 08 Apr 2019 13:09:03 GMT\"0x8D6BC235F9E8958\"5120share155472894681003497155472894688800449Mon, 08 Apr 2019 13:09:06 GMT\"0x8D6BC2361C272A0\"5120share155472897035005236155472897043802002Mon, 08 Apr 2019 13:09:30 GMT\"0x8D6BC236FCB801E\"5120share155472912188008460Mon, 08 Apr 2019 13:12:01 GMT\"0x8D6BC23CA09833E\"5120share155472912242309883155472912246805247Mon, 08 Apr 2019 13:12:02 GMT\"0x8D6BC23CA64647F\"5120share155472912938903083Mon, 08 Apr 2019 13:12:09 GMT\"0x8D6BC23CE8AD1E7\"5120share155472913061307138155472913077708600Mon, 08 Apr 2019 13:12:10 GMT\"0x8D6BC23CF5DF0BD\"5120share155472913125601489Mon, 08 Apr 2019 13:12:11 GMT\"0x8D6BC23CFA730AD\"5120share155472913283609927155472913298509950Mon, 08 Apr 2019 13:12:13 GMT\"0x8D6BC23D0AE8C17\"5120share155472915487105003155472915489100854Mon, 08 Apr 2019 13:12:34 GMT\"0x8D6BC23DDB68675\"5120share155472916544804385155472916552306014Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4134A09\"5120share155472916548503832155472916556105425Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4197E02\"5120share155472946012606736Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2493A69CE5\"5120share155472946068908993155472946073508657Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2494053C3E\"5120share155472949633202046155472949636407118Mon, 08 Apr 2019 13:18:16 GMT\"0x8D6BC24A93FE744\"5120share155472953229106299Mon, 08 Apr 2019 13:18:52 GMT\"0x8D6BC24BEB4AF41\"5120share155472953357501863155472953373103768Mon, 08 Apr 2019 13:18:53 GMT\"0x8D6BC24BF90D02A\"5120share155472956713506493155472956721301657Mon, 08 Apr 2019 13:19:27 GMT\"0x8D6BC24D386476F\"5120share155472966502508606Mon, 08 Apr 2019 13:21:05 GMT\"0x8D6BC250DCA4603\"5120share155472966597907744155472966604202953Mon, 08 Apr 2019 13:21:06 GMT\"0x8D6BC250E645809\"5120share155472968498508655155472968500103917Mon, 08 Apr 2019 13:21:25 GMT\"0x8D6BC2519AFE985\"5120share155472988433902736Mon, 08 Apr 2019 13:24:44 GMT\"0x8D6BC25909324BE\"5120share155472988724409985155472988760204301Mon, 08 Apr 2019 13:24:47 GMT\"0x8D6BC2592849B4B\"5120share155472993030607011Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25ABE51EAD\"5120share155472993075507215155472993080206083Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25AC3328A7\"5120share155472993914402363155472993931800672Mon, 08 Apr 2019 13:25:39 GMT\"0x8D6BC25B1574FAE\"5120share155472994748901085155472994750403825Mon, 08 Apr 2019 13:25:47 GMT\"0x8D6BC25B6263F7C\"5120share155473001947302004Mon, 08 Apr 2019 13:26:59 GMT\"0x8D6BC25E10CE3BC\"5120share155473002051606362155473002054908313Mon, 08 Apr 2019 13:27:00 GMT\"0x8D6BC25E1B35EC4\"5120share155473004648705855155473004649703999Mon, 08 Apr 2019 13:27:26 GMT\"0x8D6BC25F12ABCA1\"5120share155473016072107034Mon, 08 Apr 2019 13:29:20 GMT\"0x8D6BC26354F9473\"5120share155473016364503276155473016400103009Mon, 08 Apr 2019 13:29:24 GMT\"0x8D6BC263743A815\"5120share155473021339603603Mon, 08 Apr 2019 13:30:13 GMT\"0x8D6BC2654B5158C\"5120share155473021424106750155473021441604785Mon, 08 Apr 2019 13:30:14 GMT\"0x8D6BC2655503B1E\"5120share155473021650606398155473021685603088Mon, 08 Apr 2019 13:30:17 GMT\"0x8D6BC2656CD882A\"5120share155473026269308380155473026286901426Mon, 08 Apr 2019 13:31:03 GMT\"0x8D6BC267231CA94\"5120share155473035103103790Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6AA97EE\"5120share155473035153304048155473035158009118Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6FEFB2F\"5120share155473037272506388155473037274004114Mon, 08 Apr 2019 13:32:52 GMT\"0x8D6BC26B39B5FAF\"5120share155473049819605040Mon, 08 Apr 2019 13:34:58 GMT\"0x8D6BC26FE7673E3\"5120share155473050103008382155473050142509037Mon, 08 Apr 2019 13:35:01 GMT\"0x8D6BC2700635DFF\"5120share155473054025008839Mon, 08 Apr 2019 13:35:40 GMT\"0x8D6BC27178337FC\"5120share155473054308605886155473054343906261Mon, 08 Apr 2019 13:35:43 GMT\"0x8D6BC27196A1851\"5120share155473054870903343155473054888203021Mon, 08 Apr 2019 13:35:49 GMT\"0x8D6BC271CAB8110\"5120share155473059007607327Mon, 08 Apr 2019 13:36:30 GMT\"0x8D6BC27353A326A\"5120share155473059366105315155473059402501772Mon, 08 Apr 2019 13:36:34 GMT\"0x8D6BC273791DA87\"5120share155473060266605803155473060284208896Mon, 08 Apr 2019 13:36:42 GMT\"0x8D6BC273CD2198E\"5120share155473064357606911155473064435408339Mon, 08 Apr 2019 13:37:24 GMT\"0x8D6BC27559218D8\"5120share155473082374108141Mon, 08 Apr 2019 13:40:23 GMT\"0x8D6BC27C07F8583\"5120share155473082651508300155473082686007339Mon, 08 Apr 2019 13:40:27 GMT\"0x8D6BC27C25B3DFF\"5120share155473087260606566155473087278203141Mon, 08 Apr 2019 13:41:12 GMT\"0x8D6BC27DDBAB773\"5120share155473091696409658Mon, 08 Apr 2019 13:41:57 GMT\"0x8D6BC27F8105DF2\"5120share155473092104706246155473092139602510Mon, 08 Apr 2019 13:42:01 GMT\"0x8D6BC27FAB44C17\"5120share155473103328506254155473103346108302Mon, 08 Apr 2019 13:43:53 GMT\"0x8D6BC283D8145CD\"5120share155473133348900275Mon, 08 Apr 2019 13:48:53 GMT\"0x8D6BC28F0562800\"5120share155473133641905218155473133676805608Mon, 08 Apr 2019 13:48:56 GMT\"0x8D6BC28F24A93FA\"5120share155473138457402066155473138474908082Mon, 08 Apr 2019 13:49:45 GMT\"0x8D6BC290EF52FE8\"5120share155473419080304153Mon, 08 Apr 2019 14:36:30 GMT\"0x8D6BC2F97732CFC\"5120share155473419365800817155473419382602756Mon, 08 Apr 2019 14:36:33 GMT\"0x8D6BC2F992DFF3C\"5120share155473421466607871Mon, 08 Apr 2019 14:36:54 GMT\"0x8D6BC2FA5BA6AEB\"5120share155473421635506352155473421652306205Mon, 08 Apr 2019 14:36:56 GMT\"0x8D6BC2FA6B4853A\"5120share155473422402809012155473422411202007Mon, 08 Apr 2019 14:37:04 GMT\"0x8D6BC2FAB3B4F2B\"5120share155473423347103300Mon, 08 Apr 2019 14:37:14 GMT\"0x8D6BC2FB1A4AC26\"5120share155473423963007764155473423996109344Mon, 08 Apr 2019 14:37:20 GMT\"0x8D6BC2FB4B923A2\"5120share155473424644901018155473424653402397Mon, 08 Apr 2019 14:37:26 GMT\"0x8D6BC2FB897E295\"5120share155473425057902422Mon, 08 Apr 2019 14:37:30 GMT\"0x8D6BC2FBB0CFAC3\"5120share155473425521309931155473425553507393Mon, 08 Apr 2019 14:37:35 GMT\"0x8D6BC2FBE0153D1\"5120share155473428819308505155473428835809325Mon, 08 Apr 2019 14:38:08 GMT\"0x8D6BC2FD191EC8D\"5120share155473430398307530155473430415601116Mon, 08 Apr 2019 14:38:24 GMT\"0x8D6BC2FDAFCD3CA\"5120share155473444829502736Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC3030D3FEF9\"5120share155473444885204661155473444888103257Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC30312D73D3\"5120share155473446739109486155473446744407340Mon, 08 Apr 2019 14:41:07 GMT\"0x8D6BC303C3F7578\"5120share155473447118803434Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303E792FBD\"5120share155473447149009693155473447154508068Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303EAFF271\"5120share155473448801104504155473448802709932Mon, 08 Apr 2019 14:41:28 GMT\"0x8D6BC304883AF71\"5120share155473450198203199Mon, 08 Apr 2019 14:41:42 GMT\"0x8D6BC3050E61990\"5120share155473450471305879155473450503806574Mon, 08 Apr 2019 14:41:45 GMT\"0x8D6BC3052B8A414\"5120share155473450704204579Mon, 08 Apr 2019 14:41:47 GMT\"0x8D6BC3053DEF142\"5120share155473450855306043155473450872307814Mon, 08 Apr 2019 14:41:48 GMT\"0x8D6BC3054DF5FA3\"5120share155473452656102693Mon, 08 Apr 2019 14:42:06 GMT\"0x8D6BC305F832E74\"5120share155473452751203866155473452759608707Mon, 08 Apr 2019 14:42:07 GMT\"0x8D6BC306019B7BE\"5120share155473453016401763Mon, 08 Apr 2019 14:42:10 GMT\"0x8D6BC3061A718A5\"5120share155473453144608682155473453159403269Mon, 08 Apr 2019 14:42:11 GMT\"0x8D6BC306280AC92\"5120share155473453662701273155473453671007534Mon, 08 Apr 2019 14:42:16 GMT\"0x8D6BC30658DA53B\"5120share155473454493806127Mon, 08 Apr 2019 14:42:25 GMT\"0x8D6BC306A80FFCA\"5120share155473454766406718155473454798605644Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306C526A63\"5120share155473454885408589155473454889408297Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306CCBAC1B\"5120share155473455531307272155473455547503726Mon, 08 Apr 2019 14:42:35 GMT\"0x8D6BC3070C880EF\"5120share155473456298508198155473456305604832Mon, 08 Apr 2019 14:42:43 GMT\"0x8D6BC30754176D8\"5120share155473457035304465Mon, 08 Apr 2019 14:42:50 GMT\"0x8D6BC3079AD1280\"5120share155473457207902291155473457226309592Mon, 08 Apr 2019 14:42:52 GMT\"0x8D6BC307ABD6939\"5120share155473457381405301Mon, 08 Apr 2019 14:42:53 GMT\"0x8D6BC307BA554F0\"5120share155473457424906501155473457433400772Mon, 08 Apr 2019 14:42:54 GMT\"0x8D6BC307BF5A02B\"5120share155473459079300332155473459095407127Mon, 08 Apr 2019 14:43:11 GMT\"0x8D6BC3085EEA6C0\"5120share155473459710804634155473459712507679Mon, 08 Apr 2019 14:43:17 GMT\"0x8D6BC3089893A07\"5120share155473460239208483155473460248307905Mon, 08 Apr 2019 14:43:22 GMT\"0x8D6BC308CC03D5B\"5120share155473460627301747Mon, 08 Apr 2019 14:43:26 GMT\"0x8D6BC308F166326\"5120share155473461191303184155473461215007685Mon, 08 Apr 2019 14:43:32 GMT\"0x8D6BC309283A21C\"5120share155473465896305363155473465905601441Mon, 08 Apr 2019 14:44:19 GMT\"0x8D6BC30AE7954B9\"5120share155473475957902774Mon, 08 Apr 2019 14:45:59 GMT\"0x8D6BC30EA6481FA\"5120share155473476083109353155473476097609742Mon, 08 Apr 2019 14:46:01 GMT\"0x8D6BC30EB39884A\"5120share155473476726807566Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EEF33FDC\"5120share155473476746100635Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EF23300D\"5120share155473477012302696155473477045003815Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F0EB24C0\"5120share155473477072405685Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F11D1338\"5120share155473477140802459155473477144704421Mon, 08 Apr 2019 14:46:11 GMT\"0x8D6BC30F170F086\"5120share155473477249206448155473477266401927Mon, 08 Apr 2019 14:46:12 GMT\"0x8D6BC30F2329512\"5120share155473478823203814155473478825205786Mon, 08 Apr 2019 14:46:28 GMT\"0x8D6BC30FB75293E\"5120share155473479136803374Mon, 08 Apr 2019 14:46:31 GMT\"0x8D6BC30FD57C6D6\"5120share155473479266204971155473479281803186Mon, 08 Apr 2019 14:46:32 GMT\"0x8D6BC30FE3534B2\"5120share155473480100304003155473480112603676Mon, 08 Apr 2019 14:46:41 GMT\"0x8D6BC310329D9D4\"5120share155473480306601561155473480314406594Mon, 08 Apr 2019 14:46:43 GMT\"0x8D6BC31045BEA29\"5120share155473480640000894Mon, 08 Apr 2019 14:46:46 GMT\"0x8D6BC3106588942\"5120share155473480909907513155473480941802582Mon, 08 Apr 2019 14:46:49 GMT\"0x8D6BC3108258412\"5120share155473482284601258155473482302000606Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC3110403003\"5120share155473482346807389155473482354003411Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC311084DD46\"5120share155473486075707188155473486108207129Mon, 08 Apr 2019 14:47:41 GMT\"0x8D6BC3126EFFE93\"5120share155473491634009737Mon, 08 Apr 2019 14:48:36 GMT\"0x8D6BC3148074DE4\"5120share155473491776103356Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC3149271C83\"5120share155473491829107624155473491848606435Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC31491B7485\"5120share155473492039605902155473492058008609Mon, 08 Apr 2019 14:48:40 GMT\"0x8D6BC314A5A3B77\"5120share155473494644803778155473494654101281Mon, 08 Apr 2019 14:49:06 GMT\"0x8D6BC3159D3BB81\"5120share155473494988505571155473494997503463Mon, 08 Apr 2019 14:49:10 GMT\"0x8D6BC315BDF5889\"5120share155473504589508380Mon, 08 Apr 2019 14:50:45 GMT\"0x8D6BC31950DBB93\"5120share155473504755106401155473504772905196Mon, 08 Apr 2019 14:50:47 GMT\"0x8D6BC319625F582\"5120share155473507333906486155473507341004547Mon, 08 Apr 2019 14:51:13 GMT\"0x8D6BC31A5735C1B\"5120share155473508082805354Mon, 08 Apr 2019 14:51:20 GMT\"0x8D6BC31A9EAA61F\"5120share155473508343703505155473508378405955Mon, 08 Apr 2019 14:51:23 GMT\"0x8D6BC31ABAE240D\"5120share155473511673807490Mon, 08 Apr 2019 14:51:56 GMT\"0x8D6BC31BF405B40\"5120share155473511726907503155473511731603497Mon, 08 Apr 2019 14:51:57 GMT\"0x8D6BC31BF9744D7\"5120share155473512676901896Mon, 08 Apr 2019 14:52:06 GMT\"0x8D6BC31C545BA7B\"5120share155473512807902236155473512825108944Mon, 08 Apr 2019 14:52:08 GMT\"0x8D6BC31C6275C62\"5120share155473513050407263155473513067905072Mon, 08 Apr 2019 14:52:10 GMT\"0x8D6BC31C7A1FF9F\"5120share155473513462203992155473513463806811Mon, 08 Apr 2019 14:52:14 GMT\"0x8D6BC31C9EB6C87\"5120share155473515791202563155473515797500387Mon, 08 Apr 2019 14:52:38 GMT\"0x8D6BC31D7E08B0F\"5120share155473540087503802Mon, 08 Apr 2019 14:56:40 GMT\"0x8D6BC32689704D3\"5120share155473540135308638155473540140007991Mon, 08 Apr 2019 14:56:41 GMT\"0x8D6BC3268E7DC90\"5120share155473541865302883Mon, 08 Apr 2019 14:56:58 GMT\"0x8D6BC32734A2927\"5120share155473542133905271155473542168206950Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC32751882E8\"5120share155473542163709330155473542168408080Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC3274FF8FE4\"5120share155473545874807881Mon, 08 Apr 2019 14:57:38 GMT\"0x8D6BC328B1BFAF9\"5120share155473545934304563155473545945208605Mon, 08 Apr 2019 14:57:39 GMT\"0x8D6BC328B8BF073\"5120share155473546811406701155473546830200544Mon, 08 Apr 2019 14:57:48 GMT\"0x8D6BC3290E73592\"5120share155473546996700257Mon, 08 Apr 2019 14:57:49 GMT\"0x8D6BC3291C9FD28\"5120share155473547032804613155473547035904086Mon, 08 Apr 2019 14:57:50 GMT\"0x8D6BC329207D3FE\"5120share155473547643107314155473547644703911Mon, 08 Apr 2019 14:57:56 GMT\"0x8D6BC3295A9340F\"5120share155473550717605678155473550719206836Mon, 08 Apr 2019 14:58:27 GMT\"0x8D6BC32A7FBCAFA\"5120share155473570285307598Mon, 08 Apr 2019 15:01:42 GMT\"0x8D6BC331CA187F6\"5120share155473570414402008155473570428906711Mon, 08 Apr 2019 15:01:44 GMT\"0x8D6BC331D7C0D0A\"5120share155473573312304189155473573318500333Mon, 08 Apr 2019 15:02:13 GMT\"0x8D6BC332EB6100B\"5120share155473576580407113Mon, 08 Apr 2019 15:02:45 GMT\"0x8D6BC33421F5A27\"5120share155473576613205186155473576618304618Mon, 08 Apr 2019 15:02:46 GMT\"0x8D6BC334258F41B\"5120share155473578765705355155473578767306787Mon, 08 Apr 2019 15:03:07 GMT\"0x8D6BC334F2922D1\"5120share155473578934909083Mon, 08 Apr 2019 15:03:09 GMT\"0x8D6BC33503B037A\"5120share155473579710504080155473579792000573Mon, 08 Apr 2019 15:03:18 GMT\"0x8D6BC3355570EAD\"5120share155473581512706676Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335F851F43\"5120share155473581554903183155473581559605594Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335FCD21A0\"5120share155473583169403864155473583171007928Mon, 08 Apr 2019 15:03:51 GMT\"0x8D6BC336968FE48\"5120share155473584151407616155473584166900204Mon, 08 Apr 2019 15:04:01 GMT\"0x8D6BC336F6BEF3F\"5120share155473599014106282Mon, 08 Apr 2019 15:06:30 GMT\"0x8D6BC33C7EA549A\"5120share155473599315900980155473599355000904Mon, 08 Apr 2019 15:06:33 GMT\"0x8D6BC33C9F29249\"5120share155473604520700164155473604539400204Mon, 08 Apr 2019 15:07:25 GMT\"0x8D6BC33E8F9FDB7\"5120share155473606941100702Mon, 08 Apr 2019 15:07:49 GMT\"0x8D6BC33F7280CEB\"5120share155473607238805976155473607274809222Mon, 08 Apr 2019 15:07:52 GMT\"0x8D6BC33F9249098\"5120share155473611057600702Mon, 08 Apr 2019 15:08:30 GMT\"0x8D6BC340FA2E13C\"5120share155473611092106791155473611096707735Mon, 08 Apr 2019 15:08:31 GMT\"0x8D6BC340FDDE96B\"5120share155473612535100765155473612556701005Mon, 08 Apr 2019 15:08:45 GMT\"0x8D6BC3418A091D9\"5120share155473612778602729155473612781702150Mon, 08 Apr 2019 15:08:47 GMT\"0x8D6BC3419E8023E\"5120share155473635249902796Mon, 08 Apr 2019 15:12:32 GMT\"0x8D6BC349FE5CFD9\"5120share155473635542207038155473635579507042Mon, 08 Apr 2019 15:12:35 GMT\"0x8D6BC34A1DBD6B1\"5120share155473637099800926Mon, 08 Apr 2019 15:12:51 GMT\"0x8D6BC34AAE96E2A\"5120share155473637336209277155473637364305088Mon, 08 Apr 2019 15:12:53 GMT\"0x8D6BC34AC7D5496\"5120share155473640657006048155473640674303374Mon, 08 Apr 2019 15:13:26 GMT\"0x8D6BC34C038E5B6\"5120share155473640789802199Mon, 08 Apr 2019 15:13:28 GMT\"0x8D6BC34C0E9E276\"5120share155473641079805966155473641115205580Mon, 08 Apr 2019 15:13:31 GMT\"0x8D6BC34C2DA977F\"5120share155473642254503233155473642270104923Mon, 08 Apr 2019 15:13:42 GMT\"0x8D6BC34C9BA4706\"5120share155473647554301408Mon, 08 Apr 2019 15:14:35 GMT\"0x8D6BC34E93D7C8F\"5120share155473647857300940155473647893707155Mon, 08 Apr 2019 15:14:39 GMT\"0x8D6BC34EB4276BE\"5120share155473652457008250155473652474903372Mon, 08 Apr 2019 15:15:24 GMT\"0x8D6BC350690B81C\"5120share155473652560500457155473652577809590Mon, 08 Apr 2019 15:15:25 GMT\"0x8D6BC35072D5459\"5120share155473670806203485Mon, 08 Apr 2019 15:18:28 GMT\"0x8D6BC3573D380A0\"5120share155473671095607303155473671130406741Mon, 08 Apr 2019 15:18:31 GMT\"0x8D6BC3575C2A2FC\"5120share155473674273801051Mon, 08 Apr 2019 15:19:02 GMT\"0x8D6BC35887F7270\"5120share155473674601006727155473674636602284Mon, 08 Apr 2019 15:19:06 GMT\"0x8D6BC358AA8C28E\"5120share155473676553905931155473676583602877Mon, 08 Apr 2019 15:19:25 GMT\"0x8D6BC359642887A\"5120share155473679548202593155473679565909714Mon, 08 Apr 2019 15:19:55 GMT\"0x8D6BC35A80AE264\"5120share155473686802409334Mon, 08 Apr 2019 15:21:08 GMT\"0x8D6BC35D32BE4F1\"5120share155473687084103771155473687119904765Mon, 08 Apr 2019 15:21:11 GMT\"0x8D6BC35D51023E2\"5120share155473689718209043Mon, 08 Apr 2019 15:21:37 GMT\"0x8D6BC35E48C5A6E\"5120share155473690003202575155473690038306662Mon, 08 Apr 2019 15:21:40 GMT\"0x8D6BC35E6753C30\"5120share155473692570603487155473692589603604Mon, 08 Apr 2019 15:22:06 GMT\"0x8D6BC35F5A9C8C6\"5120share155473694547006047155473694564405606Mon, 08 Apr 2019 15:22:25 GMT\"0x8D6BC36016FD1FA\"5120share155473710422903975Mon, 08 Apr 2019 15:25:04 GMT\"0x8D6BC365FF3A44B\"5120share155473710726803348155473710762206301Mon, 08 Apr 2019 15:25:07 GMT\"0x8D6BC3661FA21A2\"5120share155473712980409197Mon, 08 Apr 2019 15:25:29 GMT\"0x8D6BC366F335D07\"5120share155473713295307278155473713334900217Mon, 08 Apr 2019 15:25:33 GMT\"0x8D6BC367150A1CF\"5120share155473715357508120155473715375103679Mon, 08 Apr 2019 15:25:53 GMT\"0x8D6BC367D773379\"5120share155473717923909016155473717941808839Mon, 08 Apr 2019 15:26:19 GMT\"0x8D6BC368CC5F34E\"5120share155473747769904699Mon, 08 Apr 2019 15:31:17 GMT\"0x8D6BC373E93904E\"5120share155473748071405205155473748108105811Mon, 08 Apr 2019 15:31:21 GMT\"0x8D6BC374095A2E4\"5120share155473753005202135155473753023108048Mon, 08 Apr 2019 15:32:10 GMT\"0x8D6BC375DE09D13\"5120share155473948835202134Mon, 08 Apr 2019 16:04:48 GMT\"0x8D6BC3BECF939E7\"5120share155473948933109534155473948941307935Mon, 08 Apr 2019 16:04:49 GMT\"0x8D6BC3BED92E329\"5120share155473949761606382Mon, 08 Apr 2019 16:04:57 GMT\"0x8D6BC3BF2732BBE\"5120share155473949799001145155473949801708441Mon, 08 Apr 2019 16:04:58 GMT\"0x8D6BC3BF2B07273\"5120share155473951017007937155473951025903980Mon, 08 Apr 2019 16:05:10 GMT\"0x8D6BC3BF9FFE66B\"5120share155473951340407009155473951341609626Mon, 08 Apr 2019 16:05:13 GMT\"0x8D6BC3BFBDE60C8\"5120share155473953991108413Mon, 08 Apr 2019 16:05:40 GMT\"0x8D6BC3C0BDC1FB6\"5120share155473954320004620155473954353308452Mon, 08 Apr 2019 16:05:43 GMT\"0x8D6BC3C0DE76705\"5120share155473954799505772Mon, 08 Apr 2019 16:05:49 GMT\"0x8D6BC3C1150A660\"5120share155473955429103705155473955617200174Mon, 08 Apr 2019 16:05:56 GMT\"0x8D6BC3C15706272\"5120share155473959536203873155473959553202967Mon, 08 Apr 2019 16:06:35 GMT\"0x8D6BC3C2CE5AEE3\"5120share155473960405107051155473960421504781Mon, 08 Apr 2019 16:06:44 GMT\"0x8D6BC3C3211DE08\"5120share155473971175505074Mon, 08 Apr 2019 16:08:31 GMT\"0x8D6BC3C7231FB97\"5120share155473971336305849155473971356703112Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C73351960\"5120share155473971348402768Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7320D102\"5120share155473971380809201155473971384101973Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7357062C\"5120share155473972746708476155473972748002650Mon, 08 Apr 2019 16:08:47 GMT\"0x8D6BC3C7B78115A\"5120share155473974796501931155473974804802831Mon, 08 Apr 2019 16:09:08 GMT\"0x8D6BC3C87C1A66B\"5120share155473982991308873Mon, 08 Apr 2019 16:10:30 GMT\"0x8D6BC3CB89EEB4F\"5120share155473983165307311155473983183507080Mon, 08 Apr 2019 16:10:31 GMT\"0x8D6BC3CB9B09319\"5120share155473987452302874Mon, 08 Apr 2019 16:11:14 GMT\"0x8D6BC3CD336A0D3\"5120share155473987630005857155473987648508819Mon, 08 Apr 2019 16:11:16 GMT\"0x8D6BC3CD44B29DE\"5120share155473988002501138155473988011500836Mon, 08 Apr 2019 16:11:20 GMT\"0x8D6BC3CD6770663\"5120share155473990554307953155473990563408863Mon, 08 Apr 2019 16:11:45 GMT\"0x8D6BC3CE5AAB38B\"5120share155473992325308801Mon, 08 Apr 2019 16:12:03 GMT\"0x8D6BC3CF02FD95D\"5120share155473992552700191155473992579406764Mon, 08 Apr 2019 16:12:05 GMT\"0x8D6BC3CF1B3CFCD\"5120share155473995701903272155473995709800218Mon, 08 Apr 2019 16:12:37 GMT\"0x8D6BC3D045BF61B\"5120share155473996033701859Mon, 08 Apr 2019 16:12:40 GMT\"0x8D6BC3D065500D9\"5120share155473996306703342155473996338809095Mon, 08 Apr 2019 16:12:43 GMT\"0x8D6BC3D08273FBB\"5120share155474001203201466155474001219306818Mon, 08 Apr 2019 16:13:32 GMT\"0x8D6BC3D253ECF12\"5120share155474022752502668Mon, 08 Apr 2019 16:17:07 GMT\"0x8D6BC3DA58B4EC3\"5120share155474022883807337155474022899102360Mon, 08 Apr 2019 16:17:09 GMT\"0x8D6BC3DA66B413A\"5120share155474026368506311155474026376001016Mon, 08 Apr 2019 16:17:43 GMT\"0x8D6BC3DBB2470FF\"5120share155474027191009670Mon, 08 Apr 2019 16:17:51 GMT\"0x8D6BC3DC00037D1\"5120share155474027317107051155474027345603228Mon, 08 Apr 2019 16:17:53 GMT\"0x8D6BC3DC0EC5C98\"5120share155474030699904722155474030707806924Mon, 08 Apr 2019 16:18:27 GMT\"0x8D6BC3DD4F722C0\"5120share155474058573208591Mon, 08 Apr 2019 16:23:05 GMT\"0x8D6BC3E7B07EC34\"5120share155474058631100433155474058635707803Mon, 08 Apr 2019 16:23:06 GMT\"0x8D6BC3E7B67E06E\"5120share155474060436006648155474060439106751Mon, 08 Apr 2019 16:23:24 GMT\"0x8D6BC3E86265EA1\"5120share155474064796409027Mon, 08 Apr 2019 16:24:07 GMT\"0x8D6BC3EA0201A02\"5120share155474064840309943155474064844902242Mon, 08 Apr 2019 16:24:08 GMT\"0x8D6BC3EA06B5B8D\"5120share155474067289302482155474067292503013Mon, 08 Apr 2019 16:24:32 GMT\"0x8D6BC3EAF00AFEE\"5120share155474086901801882Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F23E282B1\"5120share155474086954109748155474086958803624Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F24374811\"5120share155474088621300424155474088622906592Mon, 08 Apr 2019 16:28:06 GMT\"0x8D6BC3F2E2332FA\"5120share155474093395702129Mon, 08 Apr 2019 16:28:54 GMT\"0x8D6BC3F4A9D178A\"5120share155474093519404097155474093535009888Mon, 08 Apr 2019 16:28:55 GMT\"0x8D6BC3F4B7159A6\"5120share155474096256205947155474096264104492Mon, 08 Apr 2019 16:29:22 GMT\"0x8D6BC3F5BB55B22\"5120share155474120234905361Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEA8F38F7\"5120share155474120277303521155474120282004590Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEAD6B1F4\"5120share155474122235007706155474122238101841Mon, 08 Apr 2019 16:33:42 GMT\"0x8D6BC3FF67E28D8\"5120share155474130460202574Mon, 08 Apr 2019 16:35:04 GMT\"0x8D6BC4027827D1E\"5120share155474130505607014155474130510207894Mon, 08 Apr 2019 16:35:05 GMT\"0x8D6BC4027CE6AB0\"5120share155474132647203580155474132648706944Mon, 08 Apr 2019 16:35:26 GMT\"0x8D6BC40348D5AE5\"5120share155474145926306657Mon, 08 Apr 2019 16:37:39 GMT\"0x8D6BC4083C48D46\"5120share155474146223405247155474146260700472Mon, 08 Apr 2019 16:37:42 GMT\"0x8D6BC4085C2BC8D\"5120share155474150898003062155474150915407050Mon, 08 Apr 2019 16:38:29 GMT\"0x8D6BC40A17F8E16\"5120share155474154328005331Mon, 08 Apr 2019 16:39:03 GMT\"0x8D6BC40B5D7588F\"5120share155474154615909592155474154651809449Mon, 08 Apr 2019 16:39:06 GMT\"0x8D6BC40B7C61D1A\"5120share155474160184400659155474160202305300Mon, 08 Apr 2019 16:40:02 GMT\"0x8D6BC40D8D9D9ED\"5120share155474185416600555Mon, 08 Apr 2019 16:44:14 GMT\"0x8D6BC416F233C68\"5120share155474185723002510155474185758501557Mon, 08 Apr 2019 16:44:17 GMT\"0x8D6BC41712CFFA6\"5120share155474190327502820155474190345208840Mon, 08 Apr 2019 16:45:03 GMT\"0x8D6BC418C848342\"5120share155474190490704897Mon, 08 Apr 2019 16:45:05 GMT\"0x8D6BC418D621561\"5120share155474190776907277155474190812601855Mon, 08 Apr 2019 16:45:08 GMT\"0x8D6BC418F4CE08B\"5120share155474196241703778155474196259800062Mon, 08 Apr 2019 16:46:02 GMT\"0x8D6BC41AFC3DCE9\"5120share155474220129806013Mon, 08 Apr 2019 16:50:01 GMT\"0x8D6BC423E133CD2\"5120share155474220456406280155474220494907802Mon, 08 Apr 2019 16:50:05 GMT\"0x8D6BC42403CC9EA\"5120share155474225992109422155474226010703254Mon, 08 Apr 2019 16:51:00 GMT\"0x8D6BC42611C57BE\"5120share155474226931208866Mon, 08 Apr 2019 16:51:09 GMT\"0x8D6BC4266952B13\"5120share155474227223302689155474227258508558Mon, 08 Apr 2019 16:51:12 GMT\"0x8D6BC4268893BA8\"5120share155474232327306240155474232345203219Mon, 08 Apr 2019 16:52:03 GMT\"0x8D6BC4286D91D07\"5120share155474395428107727Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652D4C42C\"5120share155474395452802100155474395455608057Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652FEBFA5\"5120share155474397065201372155474397066502723Mon, 08 Apr 2019 17:19:30 GMT\"0x8D6BC465C9898E6\"5120share155474400115800733Mon, 08 Apr 2019 17:20:01 GMT\"0x8D6BC466ECED480\"5120share155474400363001910155474400379000022Mon, 08 Apr 2019 17:20:03 GMT\"0x8D6BC4670608DBE\"5120share155474403669903880155474403677708604Mon, 08 Apr 2019 17:20:36 GMT\"0x8D6BC4684093633\"5120share155474419672100811Mon, 08 Apr 2019 17:23:16 GMT\"0x8D6BC46E3613195\"5120share155474419764009306155474419772402506Mon, 08 Apr 2019 17:23:17 GMT\"0x8D6BC46E3F21E5B\"5120share155474422388106104155474422392207070Mon, 08 Apr 2019 17:23:43 GMT\"0x8D6BC46F38FA2DB\"5120share155474423646003586Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB075CAA\"5120share155474423673307035155474423676300424Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB346115\"5120share155474424402506390Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FF8AB361\"5120share155474424449101262155474424456708485Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FFDCA1DF\"5120share155474425601609100155474425602909189Mon, 08 Apr 2019 17:24:16 GMT\"0x8D6BC4706B02D7E\"5120share155474427118802638155474427121009813Mon, 08 Apr 2019 17:24:31 GMT\"0x8D6BC470FBE0D2D\"5120share155474428001309991Mon, 08 Apr 2019 17:24:40 GMT\"0x8D6BC4715045886\"5120share155474428159504724155474428175001137Mon, 08 Apr 2019 17:24:41 GMT\"0x8D6BC47160D398B\"5120share155474431811601666155474431819004651Mon, 08 Apr 2019 17:25:18 GMT\"0x8D6BC472BC57B36\"5120share155474441621600039Mon, 08 Apr 2019 17:26:56 GMT\"0x8D6BC47664CFDB3\"5120share155474441808000887155474441826501887Mon, 08 Apr 2019 17:26:58 GMT\"0x8D6BC47676B5E28\"5120share155474444280401127Mon, 08 Apr 2019 17:27:22 GMT\"0x8D6BC4776037219\"5120share155474444312107191155474444315009298Mon, 08 Apr 2019 17:27:23 GMT\"0x8D6BC477638688C\"5120share155474444907607144155474444916600860Mon, 08 Apr 2019 17:27:29 GMT\"0x8D6BC4779D51767\"5120share155474446097609507155474446099204230Mon, 08 Apr 2019 17:27:41 GMT\"0x8D6BC4780DAFC9D\"5120share155474446503807882Mon, 08 Apr 2019 17:27:45 GMT\"0x8D6BC478357DE0F\"5120share155474446772807781155474446805003083Mon, 08 Apr 2019 17:27:48 GMT\"0x8D6BC47852352EF\"5120share155474453274207529155474453290606263Mon, 08 Apr 2019 17:28:53 GMT\"0x8D6BC47ABCD89D2\"5120share155474456707309057Mon, 08 Apr 2019 17:29:27 GMT\"0x8D6BC47C01E9B8E\"5120share155474456856906969155474456873102857Mon, 08 Apr 2019 17:29:28 GMT\"0x8D6BC47C11BABE1\"5120share155474459866304821155474459879204899Mon, 08 Apr 2019 17:29:58 GMT\"0x8D6BC47D30694D4\"5120share155474460938005724Mon, 08 Apr 2019 17:30:09 GMT\"0x8D6BC47D9696D4A\"5120share155474461109303504155474461129505111Mon, 08 Apr 2019 17:30:11 GMT\"0x8D6BC47DA77FFFD\"5120share155474464325008544155474464333905921Mon, 08 Apr 2019 17:30:43 GMT\"0x8D6BC47ED91A19C\"5120share155474476466104389Mon, 08 Apr 2019 17:32:44 GMT\"0x8D6BC4835E350D0\"5120share155474476781604399155474476797007813Mon, 08 Apr 2019 17:32:48 GMT\"0x8D6BC4837DC08B7\"5120share155474480038605885155474480046100073Mon, 08 Apr 2019 17:33:20 GMT\"0x8D6BC484B3A3D4F\"5120share155474492660408902Mon, 08 Apr 2019 17:35:26 GMT\"0x8D6BC48966A5D95\"5120share155474492789003702155474492806209895Mon, 08 Apr 2019 17:35:28 GMT\"0x8D6BC4897485BA7\"5120share155474495477607990155474495485501755Mon, 08 Apr 2019 17:35:54 GMT\"0x8D6BC48A7424CAA\"5120share155474510686309923Mon, 08 Apr 2019 17:38:26 GMT\"0x8D6BC4901D74A82\"5120share155474510733205807155474510739507235Mon, 08 Apr 2019 17:38:27 GMT\"0x8D6BC4902289FBC\"5120share155474512958602801155474512961701409Mon, 08 Apr 2019 17:38:49 GMT\"0x8D6BC490F660BF7\"5120share155474528378801613Mon, 08 Apr 2019 17:41:23 GMT\"0x8D6BC496B4DCE46\"5120share155474528428104775155474528432801850Mon, 08 Apr 2019 17:41:24 GMT\"0x8D6BC496B9F1952\"5120share155474530034400913155474530037609036Mon, 08 Apr 2019 17:41:40 GMT\"0x8D6BC4975307733\"5120share155474532759507612Mon, 08 Apr 2019 17:42:07 GMT\"0x8D6BC498570D5C7\"5120share155474532839002825155474532846907369Mon, 08 Apr 2019 17:42:08 GMT\"0x8D6BC4985EBDD8C\"5120share155474535921501065155474535929800232Mon, 08 Apr 2019 17:42:39 GMT\"0x8D6BC49984C13E3\"5120share155474537100109299Mon, 08 Apr 2019 17:42:51 GMT\"0x8D6BC499F4C10CA\"5120share155474537235108861155474537250407032Mon, 08 Apr 2019 17:42:52 GMT\"0x8D6BC49A0305CFF\"5120share155474541020101924155474541028002160Mon, 08 Apr 2019 17:43:30 GMT\"0x8D6BC49B6B4AF7E\"5120share155474544328204718Mon, 08 Apr 2019 17:44:03 GMT\"0x8D6BC49CA608EEF\"5120share155474544450809675155474544464306068Mon, 08 Apr 2019 17:44:04 GMT\"0x8D6BC49CB30EE65\"5120share155474547397901682155474547404107590Mon, 08 Apr 2019 17:44:34 GMT\"0x8D6BC49DCB70CEE\"5120share155474556387801910Mon, 08 Apr 2019 17:46:04 GMT\"0x8D6BC4A125905BF\"5120share155474556547705866155474556565103636Mon, 08 Apr 2019 17:46:05 GMT\"0x8D6BC4A135404E9\"5120share155474560156806705155474560165207088Mon, 08 Apr 2019 17:46:41 GMT\"0x8D6BC4A28C98302\"5120share155474560980908891Mon, 08 Apr 2019 17:46:49 GMT\"0x8D6BC4A2DA3B8E2\"5120share155474561182205540155474561197600824Mon, 08 Apr 2019 17:46:52 GMT\"0x8D6BC4A2EEE39CE\"5120share155474564080602364155474564088209498Mon, 08 Apr 2019 17:47:20 GMT\"0x8D6BC4A40288917\"5120share155474566731408854Mon, 08 Apr 2019 17:47:47 GMT\"0x8D6BC4A4FEA5939\"5120share155474566853502348155474566872402545Mon, 08 Apr 2019 17:47:48 GMT\"0x8D6BC4A50BFC502\"5120share155474569590807294155474569598604999Mon, 08 Apr 2019 17:48:16 GMT\"0x8D6BC4A60FFBEB6\"5120share155474604565500976Mon, 08 Apr 2019 17:54:05 GMT\"0x8D6BC4B3166FA66\"5120share155474604628207297155474604631306384Mon, 08 Apr 2019 17:54:06 GMT\"0x8D6BC4B31CABCDE\"5120share155474606600908658155474606602509076Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3D89E538\"5120share155474606603205608Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3DA28FD4\"5120share155474606780105190155474606799103841Mon, 08 Apr 2019 17:54:28 GMT\"0x8D6BC4B3EBA25ED\"5120share155474610134800398155474610144002605Mon, 08 Apr 2019 17:55:01 GMT\"0x8D6BC4B52AA1A8E\"5120share155474619445207539Mon, 08 Apr 2019 17:56:34 GMT\"0x8D6BC4B8A26DB79\"5120share155474619701203581155474619733105936Mon, 08 Apr 2019 17:56:37 GMT\"0x8D6BC4B8BDEA41E\"5120share155474624396206673155474624412309828Mon, 08 Apr 2019 17:57:24 GMT\"0x8D6BC4BA7C2EA49\"5120share155474635564303302Mon, 08 Apr 2019 17:59:15 GMT\"0x8D6BC4BEA3C58B3\"5120share155474635860300315155474635896907344Mon, 08 Apr 2019 17:59:19 GMT\"0x8D6BC4BEC382947\"5120share155474640507900921155474640526006359Mon, 08 Apr 2019 18:00:05 GMT\"0x8D6BC4C07C7F4A3\"5120share155474645415109948Mon, 08 Apr 2019 18:00:54 GMT\"0x8D6BC4C24EC0921\"5120share155474645495200953155474645503501899Mon, 08 Apr 2019 18:00:55 GMT\"0x8D6BC4C25682D46\"5120share155474647318704154155474647322607411Mon, 08 Apr 2019 18:01:13 GMT\"0x8D6BC4C304039B7\"5120share155474654875803895Mon, 08 Apr 2019 18:02:28 GMT\"0x8D6BC4C5D4572AB\"5120share155474654921902498155474654926509052Mon, 08 Apr 2019 18:02:29 GMT\"0x8D6BC4C5D91BE8E\"5120share155474656399405825155474656401705254Mon, 08 Apr 2019 18:02:44 GMT\"0x8D6BC4C665CCFF1\"5120share155474663529602310Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C90D93648\"5120share155474663583606041155474663588408448Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C9132CC5D\"5120share155474665477303348155474665479205559Mon, 08 Apr 2019 18:04:14 GMT\"0x8D6BC4C9C77182B\"5120share155474669690608062Mon, 08 Apr 2019 18:04:57 GMT\"0x8D6BC4CB5AC4D07\"5120share155474669879809471155474669896601486Mon, 08 Apr 2019 18:04:59 GMT\"0x8D6BC4CB6D26C35\"5120share155474672916802677Mon, 08 Apr 2019 18:05:29 GMT\"0x8D6BC4CC8E553A9\"5120share155474673083607637155474673100708355Mon, 08 Apr 2019 18:05:31 GMT\"0x8D6BC4CC9EC2AC2\"5120share155474673381104012155474673389309631Mon, 08 Apr 2019 18:05:33 GMT\"0x8D6BC4CCBA3AC18\"5120share155474676371808387155474676380208185Mon, 08 Apr 2019 18:06:03 GMT\"0x8D6BC4CDD786B55\"5120share155474679470603196Mon, 08 Apr 2019 18:06:34 GMT\"0x8D6BC4CEFEF94B0\"5120share155474679772603000155474679809202072Mon, 08 Apr 2019 18:06:38 GMT\"0x8D6BC4CF1F46892\"5120share155474680013008562Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3197928\"5120share155474680057503718155474680062404689Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3641213\"5120share155474681409208639Mon, 08 Apr 2019 18:06:54 GMT\"0x8D6BC4CFB756E96\"5120share155474681491505363155474681500105289Mon, 08 Apr 2019 18:06:55 GMT\"0x8D6BC4CFBF71FC4\"5120share155474681788207900155474681791008047Mon, 08 Apr 2019 18:06:57 GMT\"0x8D6BC4CFDB1BD22\"5120share155474683477100690155474683481200041Mon, 08 Apr 2019 18:07:14 GMT\"0x8D6BC4D07C681B1\"5120share155474684393709385155474684411407379Mon, 08 Apr 2019 18:07:24 GMT\"0x8D6BC4D0D63FA6E\"5120share155474686284305068Mon, 08 Apr 2019 18:07:42 GMT\"0x8D6BC4D188C7C32\"5120share155474686561509852155474686593903986Mon, 08 Apr 2019 18:07:46 GMT\"0x8D6BC4D1A6403C0\"5120share155474690869707233155474690886001558Mon, 08 Apr 2019 18:08:29 GMT\"0x8D6BC4D33F9C1DF\"5120share155474696608300776Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56048CF2\"5120share155474696666108703155474696672401866Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56667A7D\"5120share155474696667806001Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D565D032B\"5120share155474696710902421155474696715108905Mon, 08 Apr 2019 18:09:27 GMT\"0x8D6BC4D56A57B13\"5120share155474698267801977155474698269406976Mon, 08 Apr 2019 18:09:42 GMT\"0x8D6BC4D5FE9CFEB\"5120share155474698299707221155474698301501809Mon, 08 Apr 2019 18:09:43 GMT\"0x8D6BC4D6019DBEC\"5120share155474704723809460Mon, 08 Apr 2019 18:10:47 GMT\"0x8D6BC4D86616E64\"5120share155474704881708545155474704884801268Mon, 08 Apr 2019 18:10:48 GMT\"0x8D6BC4D875756B5\"5120share155474707588406604155474707589701120Mon, 08 Apr 2019 18:11:15 GMT\"0x8D6BC4D9776A8E6\"5120share155474710586101865Mon, 08 Apr 2019 18:11:46 GMT\"0x8D6BC4DA96742CF\"5120share155474710874902656155474710916109774Mon, 08 Apr 2019 18:11:49 GMT\"0x8D6BC4DAB5EA4FD\"5120share155474714764003348Mon, 08 Apr 2019 18:12:27 GMT\"0x8D6BC4DC2406D42\"5120share155474714885103041155474714908804672Mon, 08 Apr 2019 18:12:29 GMT\"0x8D6BC4DC31DB2D0\"5120share155474715492307420155474715509608519Mon, 08 Apr 2019 18:12:35 GMT\"0x8D6BC4DC6BE914E\"5120share155474717400802142155474717408307060Mon, 08 Apr 2019 18:12:54 GMT\"0x8D6BC4DD203F71A\"5120share155474719947106777Mon, 08 Apr 2019 18:13:19 GMT\"0x8D6BC4DE1259CEC\"5120share155474720071400394155474720086808994Mon, 08 Apr 2019 18:13:20 GMT\"0x8D6BC4DE1FB2C1C\"5120share155474722844105131155474722851407454Mon, 08 Apr 2019 18:13:48 GMT\"0x8D6BC4DF275C194\"5120share155474724530509593Mon, 08 Apr 2019 18:14:05 GMT\"0x8D6BC4DFC812038\"5120share155474724621607823155474724633006743Mon, 08 Apr 2019 18:14:06 GMT\"0x8D6BC4DFD13BB0C\"5120share155474726666905801155474726671207462Mon, 08 Apr 2019 18:14:26 GMT\"0x8D6BC4E093975C6\"5120share155474727008806902Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B35A990\"5120share155474727036204896155474727039307966Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B643FD7\"5120share155474728638006622155474728639406421Mon, 08 Apr 2019 18:14:46 GMT\"0x8D6BC4E14EDE4DD\"5120share155474729223702314Mon, 08 Apr 2019 18:14:52 GMT\"0x8D6BC4E1883AF97\"5120share155474729398209223155474729415606986Mon, 08 Apr 2019 18:14:54 GMT\"0x8D6BC4E1996C534\"5120share155474732221000573155474732230701553Mon, 08 Apr 2019 18:15:22 GMT\"0x8D6BC4E2A5ED5C9\"5120share155474751582509818Mon, 08 Apr 2019 18:18:35 GMT\"0x8D6BC4E9DC20155\"5120share155474751847902848155474751880304541Mon, 08 Apr 2019 18:18:38 GMT\"0x8D6BC4E9F8866A6\"5120share155474756081401285155474756097802660Mon, 08 Apr 2019 18:19:21 GMT\"0x8D6BC4EB8AB9F43\"5120share155474764980601427Mon, 08 Apr 2019 18:20:49 GMT\"0x8D6BC4EED934290\"5120share155474765102608011155474765118001858Mon, 08 Apr 2019 18:20:51 GMT\"0x8D6BC4EEE645AD6\"5120share155474767844107090155474767851403828Mon, 08 Apr 2019 18:21:18 GMT\"0x8D6BC4EFEAFA117\"5120share155474777133007169Mon, 08 Apr 2019 18:22:51 GMT\"0x8D6BC4F360D39E0\"5120share155474777420508076155474777458205278Mon, 08 Apr 2019 18:22:54 GMT\"0x8D6BC4F37FD9082\"5120share155474782123305443155474782141203648Mon, 08 Apr 2019 18:23:41 GMT\"0x8D6BC4F53E76F8F\"5120share155474792521906873Mon, 08 Apr 2019 18:25:25 GMT\"0x8D6BC4F91C00B2D\"5120share155474792672406349155474792689607120Mon, 08 Apr 2019 18:25:26 GMT\"0x8D6BC4F92BF41A5\"5120share155474795499605887155474795507404540Mon, 08 Apr 2019 18:25:55 GMT\"0x8D6BC4FA38B9AA0\"5120share155474822362107235Mon, 08 Apr 2019 18:30:23 GMT\"0x8D6BC5043ABE5D7\"5120share155474822547905552155474822566503828Mon, 08 Apr 2019 18:30:25 GMT\"0x8D6BC5044CCFF4D\"5120share155474825450002272Mon, 08 Apr 2019 18:30:54 GMT\"0x8D6BC505606CF1A\"5120share155474825533607080155474825542104437Mon, 08 Apr 2019 18:30:55 GMT\"0x8D6BC505686D3D6\"5120share155474826343607595155474826352605234Mon, 08 Apr 2019 18:31:03 GMT\"0x8D6BC505B5DE52C\"5120share155474827685603862155474827689907496Mon, 08 Apr 2019 18:31:16 GMT\"0x8D6BC5063545C5E\"5120share155474842455807202Mon, 08 Apr 2019 18:33:44 GMT\"0x8D6BC50BB5C6059\"5120share155474842593805305155474842618709355Mon, 08 Apr 2019 18:33:46 GMT\"0x8D6BC50BC548613\"5120share155474845712203961155474845720102349Mon, 08 Apr 2019 18:34:17 GMT\"0x8D6BC50CED0751B\"5120share155474851989103047Mon, 08 Apr 2019 18:35:20 GMT\"0x8D6BC50F439CEBD\"5120share155474852265103180155474852297608630Mon, 08 Apr 2019 18:35:23 GMT\"0x8D6BC50F60FE06F\"5120share155474856529703557155474856545809970Mon, 08 Apr 2019 18:36:05 GMT\"0x8D6BC510F628BE7\"5120share155474862305404605Mon, 08 Apr 2019 18:37:03 GMT\"0x8D6BC5131BE75BB\"5120share155474862481702492155474862500803609Mon, 08 Apr 2019 18:37:05 GMT\"0x8D6BC5132D530CA\"5120share155474865512509351155474865521506832Mon, 08 Apr 2019 18:37:35 GMT\"0x8D6BC5144D5E753\"5120share155474870412106342Mon, 08 Apr 2019 18:38:24 GMT\"0x8D6BC5162083EB9\"5120share155474870684104116155474870719906918Mon, 08 Apr 2019 18:38:27 GMT\"0x8D6BC5163DEAE18\"5120share155474875502604717Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC518068CB51\"5120share155474875557809078155474875573600049Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC5180CD01EA\"5120share155474875683104451155474875706500491Mon, 08 Apr 2019 18:39:17 GMT\"0x8D6BC51818B1C32\"5120share155474876604802975Mon, 08 Apr 2019 18:39:26 GMT\"0x8D6BC5186FB8011\"5120share155474876778709469155474876797603028Mon, 08 Apr 2019 18:39:28 GMT\"0x8D6BC51880D150D\"5120share155474877226205113Mon, 08 Apr 2019 18:39:32 GMT\"0x8D6BC518AA58C3A\"5120share155474877988808105155474878023800882Mon, 08 Apr 2019 18:39:40 GMT\"0x8D6BC518F67A761\"5120share155474878504902158155474878514102127Mon, 08 Apr 2019 18:39:45 GMT\"0x8D6BC51924743E0\"5120share155474879904507665155474879913808712Mon, 08 Apr 2019 18:39:59 GMT\"0x8D6BC519A9FFA28\"5120share155474883971704235155474883989002060Mon, 08 Apr 2019 18:40:40 GMT\"0x8D6BC51B2F5410B\"5120share155474895443200422Mon, 08 Apr 2019 18:42:34 GMT\"0x8D6BC51F7300E6A\"5120share155474895566809136155474895588301714Mon, 08 Apr 2019 18:42:35 GMT\"0x8D6BC51F80D6C4C\"5120share155474896838202554Mon, 08 Apr 2019 18:42:48 GMT\"0x8D6BC51FF835B22\"5120share155474896915009736155474896928809624Mon, 08 Apr 2019 18:42:49 GMT\"0x8D6BC520005E534\"5120share155474898685302363155474898693207903Mon, 08 Apr 2019 18:43:06 GMT\"0x8D6BC520A8EDD71\"5120share155474899671807820155474899675701753Mon, 08 Apr 2019 18:43:16 GMT\"0x8D6BC521064BB0E\"5120share155474900170804980Mon, 08 Apr 2019 18:43:21 GMT\"0x8D6BC5213688AEE\"5120share155474900446104881155474900478303498Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC52153F290F\"5120share155474900478202392Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC521534B0CD\"5120share155474900621503198155474900638807694Mon, 08 Apr 2019 18:43:26 GMT\"0x8D6BC521621F4B4\"5120share155474903093006954155474903096909495Mon, 08 Apr 2019 18:43:50 GMT\"0x8D6BC5224C88087\"5120share155474905171200031155474905187104138Mon, 08 Apr 2019 18:44:12 GMT\"0x8D6BC52314F5A13\"5120share155474913858202107Mon, 08 Apr 2019 18:45:38 GMT\"0x8D6BC5264FECE1C\"5120share155474914273604018155474914312306205Mon, 08 Apr 2019 18:45:43 GMT\"0x8D6BC5267B555AF\"5120share155474914489100606Mon, 08 Apr 2019 18:45:45 GMT\"0x8D6BC5268C1F87E\"5120share155474914750802214155474914783504293Mon, 08 Apr 2019 18:45:47 GMT\"0x8D6BC526A82A433\"5120share155474919136809108155474919154203324Mon, 08 Apr 2019 18:46:31 GMT\"0x8D6BC52848F8344\"5120share155474919327503331155474919343404304Mon, 08 Apr 2019 18:46:33 GMT\"0x8D6BC5285B0D968\"5120share155474927082201518Mon, 08 Apr 2019 18:47:50 GMT\"0x8D6BC52B3BE1A62\"5120share155474927121603014155474927124704852Mon, 08 Apr 2019 18:47:51 GMT\"0x8D6BC52B3FE94D0\"5120share155474929649300500155474929650801830Mon, 08 Apr 2019 18:48:16 GMT\"0x8D6BC52C30DA197\"5120share155475022991701076Mon, 08 Apr 2019 19:03:49 GMT\"0x8D6BC54EF66AE7B\"5120share155475023045507997155475023060306179Mon, 08 Apr 2019 19:03:50 GMT\"0x8D6BC54EFCF3C54\"5120share155475024473800763155475024475203535Mon, 08 Apr 2019 19:04:04 GMT\"0x8D6BC54F83E4AA6\"5120share155475027927205466Mon, 08 Apr 2019 19:04:39 GMT\"0x8D6BC550CEAF817\"5120share155475028090305599155475028109407948Mon, 08 Apr 2019 19:04:41 GMT\"0x8D6BC550DEFBA30\"5120share155475030796503201155475030805008793Mon, 08 Apr 2019 19:05:08 GMT\"0x8D6BC551E00631C\"5120share155475041406903684Mon, 08 Apr 2019 19:06:54 GMT\"0x8D6BC555D34B450\"5120share155475041790102406155475041806802740Mon, 08 Apr 2019 19:06:58 GMT\"0x8D6BC555F9662A7\"5120share155475042680803797Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC5564E7657C\"5120share155475042776807591155475042785606789Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC556566798D\"5120share155475044710607711155475044714607622Mon, 08 Apr 2019 19:07:27 GMT\"0x8D6BC5570E5E30C\"5120share155475044970802609155475044979502269Mon, 08 Apr 2019 19:07:29 GMT\"0x8D6BC55727FE091\"5120share155475046331802443Mon, 08 Apr 2019 19:07:43 GMT\"0x8D6BC557A99FD7F\"5120share155475046684305327155475046716402258Mon, 08 Apr 2019 19:07:47 GMT\"0x8D6BC557CE43085\"5120share155475051216806431155475051232806509Mon, 08 Apr 2019 19:08:32 GMT\"0x8D6BC5597CF5D98\"5120share155475052082206243Mon, 08 Apr 2019 19:08:40 GMT\"0x8D6BC559CCBD36E\"5120share155475052121006971155475052126009148Mon, 08 Apr 2019 19:08:41 GMT\"0x8D6BC559D0FA15E\"5120share155475053797404148155475053799109901Mon, 08 Apr 2019 19:08:58 GMT\"0x8D6BC55A707AA78\"5120share155475064935803078Mon, 08 Apr 2019 19:10:49 GMT\"0x8D6BC55E974E3CA\"5120share155475065067109845155475065082904481Mon, 08 Apr 2019 19:10:51 GMT\"0x8D6BC55EA83DF98\"5120share155475067910702988155475067918501299Mon, 08 Apr 2019 19:11:19 GMT\"0x8D6BC55FB3A3AE2\"5120share155475081055106395Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC56497CE6DB\"5120share155475081080107024155475081083204956Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC5649A8202F\"5120share155475081569107427Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C9015C3\"5120share155475081569802024Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C8F31AE\"5120share155475081617607337155475081622403546Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CDFB128\"5120share155475081618505278155475081626106049Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CE50201\"5120share155475082599504520155475082600900773Mon, 08 Apr 2019 19:13:46 GMT\"0x8D6BC5652B3E1EF\"5120share155475083332106209155475083333306719Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC565711BB33\"5120share155475083390106843155475083391701671Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC56576DD44F\"5120share155475083645708180Mon, 08 Apr 2019 19:13:56 GMT\"0x8D6BC5658EE78DA\"5120share155475083689607668155475083700804756Mon, 08 Apr 2019 19:13:57 GMT\"0x8D6BC5659439F5E\"5120share155475085287202953155475085288703129Mon, 08 Apr 2019 19:14:12 GMT\"0x8D6BC5662BB07BF\"5120share155475087749608350Mon, 08 Apr 2019 19:14:37 GMT\"0x8D6BC56716BAEB9\"5120share155475087884808160155475087899302295Mon, 08 Apr 2019 19:14:39 GMT\"0x8D6BC56724FB73E\"5120share155475091031104271155475091038301022Mon, 08 Apr 2019 19:15:10 GMT\"0x8D6BC568505E596\"5120share155475096394205285Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A4F4A602\"5120share155475096470307204155475096478702363Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A56DE803\"5120share155475098339807861155475098343901197Mon, 08 Apr 2019 19:16:23 GMT\"0x8D6BC56B08C0771\"5120share155475101810205521Mon, 08 Apr 2019 19:16:58 GMT\"0x8D6BC56C54664DF\"5120share155475102072309609155475102105008976Mon, 08 Apr 2019 19:17:01 GMT\"0x8D6BC56C707C7F1\"5120share155475104896402625Mon, 08 Apr 2019 19:17:29 GMT\"0x8D6BC56D7A1CC67\"5120share155475105033406728155475105050302656Mon, 08 Apr 2019 19:17:30 GMT\"0x8D6BC56D88BFADB\"5120share155475106334602588155475106350800134Mon, 08 Apr 2019 19:17:43 GMT\"0x8D6BC56E0562F3A\"5120share155475107891507083Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56E9858D34\"5120share155475107976101708155475107983704150Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56EA082039\"5120share155475108198903031155475108234608862Mon, 08 Apr 2019 19:18:02 GMT\"0x8D6BC56EB914CA9\"5120share155475113337406588155475113355001458Mon, 08 Apr 2019 19:18:53 GMT\"0x8D6BC570A17FF54\"5120share155475132543106986Mon, 08 Apr 2019 19:22:05 GMT\"0x8D6BC577C7B6BF7\"5120share155475132721406393155475132740306801Mon, 08 Apr 2019 19:22:07 GMT\"0x8D6BC577D94ECD7\"5120share155475135811801394155475135820700395Mon, 08 Apr 2019 19:22:38 GMT\"0x8D6BC578FF0D032\"5120share155475144214904808Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C1F69171\"5120share155475144238308286155475144241802464Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C21F2B49\"5120share155475145575504179155475145577002338Mon, 08 Apr 2019 19:24:15 GMT\"0x8D6BC57CA1458DE\"5120share155475158692104863Mon, 08 Apr 2019 19:26:26 GMT\"0x8D6BC5818465E4B\"5120share155475158825308616155475158840903597Mon, 08 Apr 2019 19:26:28 GMT\"0x8D6BC5819294CE9\"5120share155475161465508511155475161473400769Mon, 08 Apr 2019 19:26:54 GMT\"0x8D6BC5828D99E92\"5120share155475165136906994Mon, 08 Apr 2019 19:27:31 GMT\"0x8D6BC583EB028AA\"5120share155475165285408363155475165294303910Mon, 08 Apr 2019 19:27:33 GMT\"0x8D6BC583F9ED9D5\"5120share155475167393207326155475167397601633Mon, 08 Apr 2019 19:27:54 GMT\"0x8D6BC584C286C71\"5120share155475175592100687Mon, 08 Apr 2019 19:29:15 GMT\"0x8D6BC587CF96950\"5120share155475175636203447155475175640405227Mon, 08 Apr 2019 19:29:16 GMT\"0x8D6BC587D42FD4F\"5120share155475176719708693Mon, 08 Apr 2019 19:29:27 GMT\"0x8D6BC5883C4F6C6\"5120share155475176988007936155475177020206087Mon, 08 Apr 2019 19:29:30 GMT\"0x8D6BC58858F57AB\"5120share155475177157408884155475177159107897Mon, 08 Apr 2019 19:29:31 GMT\"0x8D6BC58864FCD93\"5120share155475178911403525Mon, 08 Apr 2019 19:29:49 GMT\"0x8D6BC5890DFD41D\"5120share155475179097306468155475179114007955Mon, 08 Apr 2019 19:29:51 GMT\"0x8D6BC5891FEE1D4\"5120share155475181212203235155475181227802967Mon, 08 Apr 2019 19:30:12 GMT\"0x8D6BC589EA3450E\"5120share155475181868403345155475181884608003Mon, 08 Apr 2019 19:30:18 GMT\"0x8D6BC58A282B48C\"5120share155475184138600177Mon, 08 Apr 2019 19:30:41 GMT\"0x8D6BC58AFF32AE1\"5120share155475184266206951155475184281907009Mon, 08 Apr 2019 19:30:42 GMT\"0x8D6BC58B0CDFAAB\"5120share155475186824404656155475186831303601Mon, 08 Apr 2019 19:31:08 GMT\"0x8D6BC58C0003811\"5120share155475189858508025Mon, 08 Apr 2019 19:31:38 GMT\"0x8D6BC58D21CC15D\"5120share155475190034402522155475190052901131Mon, 08 Apr 2019 19:31:40 GMT\"0x8D6BC58D33259C3\"5120share155475193157504293155475193166407423Mon, 08 Apr 2019 19:32:11 GMT\"0x8D6BC58E5C0D84B\"5120share155475193557900473Mon, 08 Apr 2019 19:32:15 GMT\"0x8D6BC58E8124881\"5120share155475193600802252155475193605500784Mon, 08 Apr 2019 19:32:16 GMT\"0x8D6BC58E85C58C2\"5120share155475195335000537155475195365007547Mon, 08 Apr 2019 19:32:33 GMT\"0x8D6BC58F2D89C12\"5120share155475198066706131Mon, 08 Apr 2019 19:33:00 GMT\"0x8D6BC59030705B8\"5120share155475198240705556155475198259005644Mon, 08 Apr 2019 19:33:02 GMT\"0x8D6BC590419D5AA\"5120share155475201169004998155475201178007996Mon, 08 Apr 2019 19:33:31 GMT\"0x8D6BC59157FA1C2\"5120share155475202704707777Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591E9818F7\"5120share155475202754808460155475202759505045Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591EEAE023\"5120share155475204632303570155475204635506063Mon, 08 Apr 2019 19:34:06 GMT\"0x8D6BC592A15D46F\"5120share155475205353305046Mon, 08 Apr 2019 19:34:13 GMT\"0x8D6BC592E644230\"5120share155475205475905531155475205490801744Mon, 08 Apr 2019 19:34:14 GMT\"0x8D6BC592F35CD8D\"5120share155475208511309322155475208519000035Mon, 08 Apr 2019 19:34:45 GMT\"0x8D6BC594142FC2C\"5120share155475213197909445Mon, 08 Apr 2019 19:35:32 GMT\"0x8D6BC595D68D14F\"5120share155475213367802891155475213384803713Mon, 08 Apr 2019 19:35:33 GMT\"0x8D6BC595E447A15\"5120share155475213707206020Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59602A0370\"5120share155475213744706822155475213752509985Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59606FB8B2\"5120share155475214794702930Mon, 08 Apr 2019 19:35:47 GMT\"0x8D6BC5966A3EC22\"5120share155475214823505337155475214829508671Mon, 08 Apr 2019 19:35:48 GMT\"0x8D6BC5966D92988\"5120share155475215298705094155475215300205553Mon, 08 Apr 2019 19:35:53 GMT\"0x8D6BC5969A95A5A\"5120share155475216173403949155475216180802232Mon, 08 Apr 2019 19:36:01 GMT\"0x8D6BC596EEEDADE\"5120share155475217121403125155475217122800002Mon, 08 Apr 2019 19:36:11 GMT\"0x8D6BC597484D027\"5120share155475217263204833Mon, 08 Apr 2019 19:36:12 GMT\"0x8D6BC597561BC6F\"5120share155475217387007369155475217401507088Mon, 08 Apr 2019 19:36:14 GMT\"0x8D6BC59763481F4\"5120share155475220552708755155475220560608322Mon, 08 Apr 2019 19:36:45 GMT\"0x8D6BC5989084A76\"5120share155475220774803407Mon, 08 Apr 2019 19:36:47 GMT\"0x8D6BC598A5B8D28\"5120share155475221071605263155475221106301392Mon, 08 Apr 2019 19:36:51 GMT\"0x8D6BC598C54F1AF\"5120share155475225507606471155475225524909246Mon, 08 Apr 2019 19:37:35 GMT\"0x8D6BC59A6AAE3BB\"5120share155475230698007235Mon, 08 Apr 2019 19:38:27 GMT\"0x8D6BC59C588E150\"5120share155475230871003676155475230890106141Mon, 08 Apr 2019 19:38:28 GMT\"0x8D6BC59C699F151\"5120share155475233776008655155475233785005541Mon, 08 Apr 2019 19:38:57 GMT\"0x8D6BC59D7DAC197\"5120share155475235014304485Mon, 08 Apr 2019 19:39:10 GMT\"0x8D6BC59DF430BEF\"5120share155475235212806665155475235231203279Mon, 08 Apr 2019 19:39:12 GMT\"0x8D6BC59E0797740\"5120share155475238276207561155475238285300495Mon, 08 Apr 2019 19:39:42 GMT\"0x8D6BC59F2ADC82F\"5120share155475238729909241Mon, 08 Apr 2019 19:39:47 GMT\"0x8D6BC59F55FF731\"5120share155475239006203805155475239039302086Mon, 08 Apr 2019 19:39:50 GMT\"0x8D6BC59F738D496\"5120share155475243544901771155475243561206398Mon, 08 Apr 2019 19:40:35 GMT\"0x8D6BC5A122D2328\"5120share155475245648505760Mon, 08 Apr 2019 19:40:56 GMT\"0x8D6BC5A1E9DD271\"5120share155475245916604643155475245966500634Mon, 08 Apr 2019 19:40:59 GMT\"0x8D6BC5A20829ADA\"5120share155475250195404339Mon, 08 Apr 2019 19:41:42 GMT\"0x8D6BC5A39ACF55C\"5120share155475250300606728155475250316308808Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A705901\"5120share155475250327007723155475250342102216Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A8CC037\"5120share155475252973307394155475252980700184Mon, 08 Apr 2019 19:42:09 GMT\"0x8D6BC5A4A465B88\"5120share155475253579801114Mon, 08 Apr 2019 19:42:15 GMT\"0x8D6BC5A4DD3360A\"5120share155475253615908936155475253620602585Mon, 08 Apr 2019 19:42:16 GMT\"0x8D6BC5A4E0F8242\"5120share155475255423200173155475255424804170Mon, 08 Apr 2019 19:42:34 GMT\"0x8D6BC5A58D20D20\"5120share155475256918201765Mon, 08 Apr 2019 19:42:49 GMT\"0x8D6BC5A61D20C03\"5120share155475257313200562155475257330407326Mon, 08 Apr 2019 19:42:53 GMT\"0x8D6BC5A643484DF\"5120share155475261648802468155475261657200328Mon, 08 Apr 2019 19:43:36 GMT\"0x8D6BC5A7DFE66EB\"5120share155475284537903436Mon, 08 Apr 2019 19:47:25 GMT\"0x8D6BC5B0671E77C\"5120share155475284722006303155475284740403036Mon, 08 Apr 2019 19:47:27 GMT\"0x8D6BC5B0792CDEB\"5120share155475287947008358155475287956001391Mon, 08 Apr 2019 19:47:59 GMT\"0x8D6BC5B1ABD463D\"5120share155475290653907313Mon, 08 Apr 2019 19:48:27 GMT\"0x8D6BC5B2B35A0B0\"5120share155475290863102164155475290878704952Mon, 08 Apr 2019 19:48:28 GMT\"0x8D6BC5B2C2B8A11\"5120share155475293499502985155475293507401792Mon, 08 Apr 2019 19:48:55 GMT\"0x8D6BC5B3BD5D6EB\"5120share155475295976004766Mon, 08 Apr 2019 19:49:19 GMT\"0x8D6BC5B4A860251\"5120share155475296021608512155475296026303878Mon, 08 Apr 2019 19:49:20 GMT\"0x8D6BC5B4AD3697B\"5120share155475296820309510Mon, 08 Apr 2019 19:49:28 GMT\"0x8D6BC5B4F93EA28\"5120share155475296939401595155475296953503138Mon, 08 Apr 2019 19:49:29 GMT\"0x8D6BC5B505FC795\"5120share155475297470107004Mon, 08 Apr 2019 19:49:34 GMT\"0x8D6BC5B5373961F\"5120share155475297592101018155475297607704854Mon, 08 Apr 2019 19:49:36 GMT\"0x8D6BC5B5445CD04\"5120share155475297876605841155475297878208632Mon, 08 Apr 2019 19:49:38 GMT\"0x8D6BC5B55DBFE86\"5120share155475299397906992155475299405708891Mon, 08 Apr 2019 19:49:54 GMT\"0x8D6BC5B5EFC6E6E\"5120share155475299913707337Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B61FEA3A6\"5120share155475299946601316155475299949700439Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B6235EEB4\"5120share155475300396100954155475300404004479Mon, 08 Apr 2019 19:50:04 GMT\"0x8D6BC5B64F0C1CC\"5120share155475301402209522155475301403805856Mon, 08 Apr 2019 19:50:14 GMT\"0x8D6BC5B6ADF6C51\"5120share155475316409304389Mon, 08 Apr 2019 19:52:44 GMT\"0x8D6BC5BC45FB105\"5120share155475316701500838155475316738004973Mon, 08 Apr 2019 19:52:47 GMT\"0x8D6BC5BC655866D\"5120share155475317539403995Mon, 08 Apr 2019 19:52:55 GMT\"0x8D6BC5BCB1EA12B\"5120share155475317800909177155475317833200173Mon, 08 Apr 2019 19:52:58 GMT\"0x8D6BC5BCCDF148B\"5120share155475319784700002Mon, 08 Apr 2019 19:53:18 GMT\"0x8D6BC5BD890AFBA\"5120share155475320035305710155475320054604653Mon, 08 Apr 2019 19:53:20 GMT\"0x8D6BC5BDA120C7D\"5120share155475321453709711155475321471603175Mon, 08 Apr 2019 19:53:34 GMT\"0x8D6BC5BE28AC8EF\"5120share155475322026008825155475322041805575Mon, 08 Apr 2019 19:53:40 GMT\"0x8D6BC5BE5F49E4E\"5120share155475323941203708155475323950603607Mon, 08 Apr 2019 19:53:59 GMT\"0x8D6BC5BF14A51A0\"5120share155475325634904509Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB4EC9A6\"5120share155475325670909242155475325677202784Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB8F5645\"5120share155475326611306943Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C011FE6E9\"5120share155475326661501159155475326664604503Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C01716DB6\"5120share155475327189403526155475327191304764Mon, 08 Apr 2019 19:54:31 GMT\"0x8D6BC5C04937E60\"5120share155475327494604322Mon, 08 Apr 2019 19:54:34 GMT\"0x8D6BC5C0663AE38\"5120share155475327530806721155475327535508149Mon, 08 Apr 2019 19:54:35 GMT\"0x8D6BC5C06A1DC9B\"5120share155475328255505049155475328257006085Mon, 08 Apr 2019 19:54:42 GMT\"0x8D6BC5C0AEF7766\"5120share155475328863109159Mon, 08 Apr 2019 19:54:48 GMT\"0x8D6BC5C0E8D4F9D\"5120share155475328904001164155475328914908575Mon, 08 Apr 2019 19:54:49 GMT\"0x8D6BC5C0EDA736C\"5120share155475329036209298155475329037705496Mon, 08 Apr 2019 19:54:50 GMT\"0x8D6BC5C0F96FA2F\"5120share155475331642907508155475331644500640Mon, 08 Apr 2019 19:55:16 GMT\"0x8D6BC5C1F1F4508\"5120share155475345988903733Mon, 08 Apr 2019 19:57:39 GMT\"0x8D6BC5C74A83E08\"5120share155475346120203269155475346137401701Mon, 08 Apr 2019 19:57:41 GMT\"0x8D6BC5C75A1910E\"5120share155475348842001284155475348849801789Mon, 08 Apr 2019 19:58:08 GMT\"0x8D6BC5C85B7559C\"5120share155475350558503873Mon, 08 Apr 2019 19:58:25 GMT\"0x8D6BC5C8FEF8036\"5120share155475350851006247155475350887009432Mon, 08 Apr 2019 19:58:29 GMT\"0x8D6BC5C91E416E1\"5120share155475351180102812Mon, 08 Apr 2019 19:58:31 GMT\"0x8D6BC5C93A41FBD\"5120share155475351470507341155475351506502543Mon, 08 Apr 2019 19:58:35 GMT\"0x8D6BC5C959AFCFD\"5120share155475352932808685Mon, 08 Apr 2019 19:58:49 GMT\"0x8D6BC5C9E145DFA\"5120share155475353242702891155475353278206163Mon, 08 Apr 2019 19:58:52 GMT\"0x8D6BC5CA0242D42\"5120share155475353346905524Mon, 08 Apr 2019 19:58:53 GMT\"0x8D6BC5CA08349F0\"5120share155475353468900913155475353483008374Mon, 08 Apr 2019 19:58:54 GMT\"0x8D6BC5CA1533041\"5120share155475355857203059155475355874901945Mon, 08 Apr 2019 19:59:18 GMT\"0x8D6BC5CAF9F1851\"5120share155475356174100226155475356192106373Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB1835DA5\"5120share155475356209400777155475356216307366Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB19D9B99\"5120share155475358049205317155475358066509885Mon, 08 Apr 2019 19:59:40 GMT\"0x8D6BC5CBCACA7C2\"5120share155475366230302044Mon, 08 Apr 2019 20:01:02 GMT\"0x8D6BC5CED591D8A\"5120share155475366364804933Mon, 08 Apr 2019 20:01:03 GMT\"0x8D6BC5CEE27F678\"5120share155475366490103025155475366523205132Mon, 08 Apr 2019 20:01:05 GMT\"0x8D6BC5CEF191387\"5120share155475366655601285155475366688603242Mon, 08 Apr 2019 20:01:07 GMT\"0x8D6BC5CF0154CEF\"5120share155475370842304942155475370858108299Mon, 08 Apr 2019 20:01:48 GMT\"0x8D6BC5D08EF6C61\"5120share155475371008508000155475371025709092Mon, 08 Apr 2019 20:01:50 GMT\"0x8D6BC5D09EE9A90\"5120share155475383362102478Mon, 08 Apr 2019 20:03:53 GMT\"0x8D6BC5D536638B9\"5120share155475383401206068155475383407402017Mon, 08 Apr 2019 20:03:54 GMT\"0x8D6BC5D53A849FD\"5120share155475384949101413155475384950602486Mon, 08 Apr 2019 20:04:09 GMT\"0x8D6BC5D5CDC57E0\"5120share155475388168501173Mon, 08 Apr 2019 20:04:41 GMT\"0x8D6BC5D7007708F\"5120share155475388206306306155475388212605083Mon, 08 Apr 2019 20:04:42 GMT\"0x8D6BC5D704B932A\"5120share155475389763505601155475389765100894Mon, 08 Apr 2019 20:04:57 GMT\"0x8D6BC5D798CE485\"5120share155475394309608718Mon, 08 Apr 2019 20:05:43 GMT\"0x8D6BC5D94B5C048\"5120share155475394595108491155475394631101470Mon, 08 Apr 2019 20:05:46 GMT\"0x8D6BC5D969F99F7\"5120share155475396399505138Mon, 08 Apr 2019 20:06:04 GMT\"0x8D6BC5DA12A25B4\"5120share155475396692905515155475396728907571Mon, 08 Apr 2019 20:06:07 GMT\"0x8D6BC5DA320C5CE\"5120share155475398380104275Mon, 08 Apr 2019 20:06:23 GMT\"0x8D6BC5DACF9BC9C\"5120share155475398671802297155475398707107942Mon, 08 Apr 2019 20:06:27 GMT\"0x8D6BC5DAEEC42B4\"5120share155475399277409298155475399295700576Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB26E2AAC\"5120share155475399378204371Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB2DB163E\"5120share155475399491706243155475399496401759Mon, 08 Apr 2019 20:06:35 GMT\"0x8D6BC5DB3906F40\"5120share155475401103303929155475401106408627Mon, 08 Apr 2019 20:06:51 GMT\"0x8D6BC5DBD28D693\"5120share155475401467406311155475401485002516Mon, 08 Apr 2019 20:06:54 GMT\"0x8D6BC5DBF7A1537\"5120share155475403593209731155475403610809563Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC24D966\"5120share155475403681604817Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC856477\"5120share155475403804608586155475403819608497Mon, 08 Apr 2019 20:07:18 GMT\"0x8D6BC5DCD596CBF\"5120share155475406417706107155475406425506743Mon, 08 Apr 2019 20:07:44 GMT\"0x8D6BC5DDCE0E7F3\"5120share155475409067409281Mon, 08 Apr 2019 20:08:10 GMT\"0x8D6BC5DECA1EDC3\"5120share155475409203700405155475409217902614Mon, 08 Apr 2019 20:08:12 GMT\"0x8D6BC5DED85E721\"5120share155475411773004926155475411779200834Mon, 08 Apr 2019 20:08:37 GMT\"0x8D6BC5DFCCBABB5\"5120share155475427414200264Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E59F4C683\"5120share155475427489601007155475427495901119Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E5A70C1F9\"5120share155475429027905961155475429029507552Mon, 08 Apr 2019 20:11:30 GMT\"0x8D6BC5E6395892F\"5120share155475435022204571Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E874CA5F0\"5120share155475435063303249155475435069506502Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E87947DCC\"5120share155475436927404231155475436930502552Mon, 08 Apr 2019 20:12:49 GMT\"0x8D6BC5E92ADD1DA\"5120share155475439671008450Mon, 08 Apr 2019 20:13:16 GMT\"0x8D6BC5EA316E7EB\"5120share155475439953407644155475439988507010Mon, 08 Apr 2019 20:13:20 GMT\"0x8D6BC5EA4F9D7E0\"5120share155475444598308995155475444616001311Mon, 08 Apr 2019 20:14:06 GMT\"0x8D6BC5EC08F21C4\"5120share155475446176702336Mon, 08 Apr 2019 20:14:21 GMT\"0x8D6BC5EC9DCAA60\"5120share155475446353703583Mon, 08 Apr 2019 20:14:23 GMT\"0x8D6BC5ECAD67D62\"5120share155475446417801472155475446422504881Mon, 08 Apr 2019 20:14:24 GMT\"0x8D6BC5ECB4098FA\"5120share155475446457701072155475446492200309Mon, 08 Apr 2019 20:14:25 GMT\"0x8D6BC5ECBBDD5EB\"5120share155475446793804231Mon, 08 Apr 2019 20:14:28 GMT\"0x8D6BC5ECD898BFE\"5120share155475447083302210155475447120206734Mon, 08 Apr 2019 20:14:31 GMT\"0x8D6BC5ECF7C80C3\"5120share155475447390505685Mon, 08 Apr 2019 20:14:34 GMT\"0x8D6BC5ED118A561\"5120share155475447650205596155475447683107189Mon, 08 Apr 2019 20:14:36 GMT\"0x8D6BC5ED2D6B049\"5120share155475448038305903155475448041405576Mon, 08 Apr 2019 20:14:40 GMT\"0x8D6BC5ED4E6924A\"5120share155475450906908487155475450924302789Mon, 08 Apr 2019 20:15:09 GMT\"0x8D6BC5EE6288199\"5120share155475451925508933155475451943306507Mon, 08 Apr 2019 20:15:19 GMT\"0x8D6BC5EEC3A48AC\"5120share155475452102206244155475452117803090Mon, 08 Apr 2019 20:15:21 GMT\"0x8D6BC5EED45148F\"5120share155475458349904294Mon, 08 Apr 2019 20:16:23 GMT\"0x8D6BC5F126BFD9D\"5120share155475458633807389155475458669001847Mon, 08 Apr 2019 20:16:26 GMT\"0x8D6BC5F1451C2E6\"5120share155475463230409183155475463249501576Mon, 08 Apr 2019 20:17:12 GMT\"0x8D6BC5F2F9EB0AB\"5120share155475465763009191Mon, 08 Apr 2019 20:17:37 GMT\"0x8D6BC5F3E888648\"5120share155475465803604070155475465806806197Mon, 08 Apr 2019 20:17:38 GMT\"0x8D6BC5F3ECB7D61\"5120share155475467401603495155475467403109929Mon, 08 Apr 2019 20:17:54 GMT\"0x8D6BC5F484F4C93\"5120share155475470031000609Mon, 08 Apr 2019 20:18:20 GMT\"0x8D6BC5F5808BA98\"5120share155475470316101418155475470351307709Mon, 08 Apr 2019 20:18:23 GMT\"0x8D6BC5F59F0FF39\"5120share155475475094605443155475475112102208Mon, 08 Apr 2019 20:19:11 GMT\"0x8D6BC5F76528B41\"5120share155475475941800301Mon, 08 Apr 2019 20:19:19 GMT\"0x8D6BC5F7B45E4E8\"5120share155475476223909847155475476259506792Mon, 08 Apr 2019 20:19:22 GMT\"0x8D6BC5F7D2A69E0\"5120share155475477308706566Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F835A1E32\"5120share155475477343104020155475477346201298Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F839403BF\"5120share155475478842801827155475478845901923Mon, 08 Apr 2019 20:19:48 GMT\"0x8D6BC5F8C835D24\"5120share155475480525700178Mon, 08 Apr 2019 20:20:05 GMT\"0x8D6BC5F96990DF2\"5120share155475480688709905155475480706700743Mon, 08 Apr 2019 20:20:07 GMT\"0x8D6BC5F97ACA80F\"5120share155475480855303004155475480891408138Mon, 08 Apr 2019 20:20:09 GMT\"0x8D6BC5F98C6A7B8\"5120share155475485447703891Mon, 08 Apr 2019 20:20:54 GMT\"0x8D6BC5FB3EC13D7\"5120share155475485733007299155475485750201983Mon, 08 Apr 2019 20:20:57 GMT\"0x8D6BC5FB5BBFA8C\"5120share155475485742005482155475485881007383Mon, 08 Apr 2019 20:20:58 GMT\"0x8D6BC5FB681758A\"5120share155475490613807301155475490631909875Mon, 08 Apr 2019 20:21:46 GMT\"0x8D6BC5FD2D493F0\"5120share155475491107004753Mon, 08 Apr 2019 20:21:51 GMT\"0x8D6BC5FD5AAA68E\"5120share155475491390609459155475491425402551Mon, 08 Apr 2019 20:21:54 GMT\"0x8D6BC5FD7906574\"5120share155475494829505353Mon, 08 Apr 2019 20:22:28 GMT\"0x8D6BC5FEBDAB205\"5120share155475495142602901155475495180000859Mon, 08 Apr 2019 20:22:31 GMT\"0x8D6BC5FEDF2097C\"5120share155475496856303648155475496873906374Mon, 08 Apr 2019 20:22:48 GMT\"0x8D6BC5FF809FBAD\"5120share155475502329509281Mon, 08 Apr 2019 20:23:43 GMT\"0x8D6BC60188F5C28\"5120share155475502686502140155475502722501031Mon, 08 Apr 2019 20:23:47 GMT\"0x8D6BC601AE7E933\"5120share155475503648203085155475503665708653Mon, 08 Apr 2019 20:23:57 GMT\"0x8D6BC6020A88DA4\"5120share155475507644605686155475507662104771Mon, 08 Apr 2019 20:24:36 GMT\"0x8D6BC603856E563\"5120share155475508896100844Mon, 08 Apr 2019 20:24:49 GMT\"0x8D6BC603FB84260\"5120share155475509358209217155475509401301874Mon, 08 Apr 2019 20:24:54 GMT\"0x8D6BC6042BB49CF\"5120share155475510662301217Mon, 08 Apr 2019 20:25:06 GMT\"0x8D6BC604A3D84CA\"5120share155475511009707995155475511051903727Mon, 08 Apr 2019 20:25:10 GMT\"0x8D6BC604C8FF2EE\"5120share155475514818002641155475514839702872Mon, 08 Apr 2019 20:25:48 GMT\"0x8D6BC606325B5A5\"5120share155475516302805972155475516324601842Mon, 08 Apr 2019 20:26:03 GMT\"0x8D6BC606BFD9DFF\"5120share155475518456808035Mon, 08 Apr 2019 20:26:24 GMT\"0x8D6BC6078B50416\"5120share155475518802906635155475518844705589Mon, 08 Apr 2019 20:26:28 GMT\"0x8D6BC607B0588B4\"5120share155475520133703444Mon, 08 Apr 2019 20:26:41 GMT\"0x8D6BC6082ADE91A\"5120share155475520414501691155475520449405158Mon, 08 Apr 2019 20:26:44 GMT\"0x8D6BC6084900BC9\"5120share155475524512000654155475524532709861Mon, 08 Apr 2019 20:27:25 GMT\"0x8D6BC609CEC662B\"5120share155475525216501306155475525233808863Mon, 08 Apr 2019 20:27:32 GMT\"0x8D6BC60A1135FEA\"5120share155475527372805529Mon, 08 Apr 2019 20:27:53 GMT\"0x8D6BC60ADD497F0\"5120share155475527768705135155475527803906164Mon, 08 Apr 2019 20:27:58 GMT\"0x8D6BC60B0668E79\"5120share155475537776009466155475537793501077Mon, 08 Apr 2019 20:29:38 GMT\"0x8D6BC60EBF138A0\"5120share155475538742205629Mon, 08 Apr 2019 20:29:47 GMT\"0x8D6BC60F19A097B\"5120share155475539026708478155475539062007850Mon, 08 Apr 2019 20:29:50 GMT\"0x8D6BC60F380F4B0\"5120share155475540318203360Mon, 08 Apr 2019 20:30:03 GMT\"0x8D6BC60FAFB33F1\"5120share155475540605901231155475540642605751Mon, 08 Apr 2019 20:30:06 GMT\"0x8D6BC60FCEA6E84\"5120share155475540935609132Mon, 08 Apr 2019 20:30:09 GMT\"0x8D6BC60FEAAF1B2\"5120share155475541165701615Mon, 08 Apr 2019 20:30:11 GMT\"0x8D6BC61000A3447\"5120share155475541229609722155475541264808030Mon, 08 Apr 2019 20:30:12 GMT\"0x8D6BC6100A0EB7D\"5120share155475541445806778155475541480407617Mon, 08 Apr 2019 20:30:14 GMT\"0x8D6BC6101EAA0A5\"5120share155475545304702291155475545323602346Mon, 08 Apr 2019 20:30:53 GMT\"0x8D6BC6118D0CFEE\"5120share155475547204003265155475547222409343Mon, 08 Apr 2019 20:31:12 GMT\"0x8D6BC6124248E6D\"5120share155475550139503230Mon, 08 Apr 2019 20:31:41 GMT\"0x8D6BC61358A8091\"5120share155475550433101922155475550468409391Mon, 08 Apr 2019 20:31:44 GMT\"0x8D6BC61377F2EA8\"5120share155475551150500012155475551168404026Mon, 08 Apr 2019 20:31:51 GMT\"0x8D6BC613BA9A20E\"5120share155475555173507633155475555190705054Mon, 08 Apr 2019 20:32:32 GMT\"0x8D6BC6153A5066E\"5120share155475562140308052155475562157505328Mon, 08 Apr 2019 20:33:41 GMT\"0x8D6BC617D2807D9\"5120share155475595155305925Mon, 08 Apr 2019 20:39:11 GMT\"0x8D6BC6241D790AF\"5120share155475595442704890155475595478105510Mon, 08 Apr 2019 20:39:14 GMT\"0x8D6BC6243C413DB\"5120share155475599014108328Mon, 08 Apr 2019 20:39:50 GMT\"0x8D6BC6258D71A83\"5120share155475599293303057155475599328109216Mon, 08 Apr 2019 20:39:53 GMT\"0x8D6BC625AB638B0\"5120share155475600155209426155475600172406148Mon, 08 Apr 2019 20:40:01 GMT\"0x8D6BC625FBFBBDC\"5120share155475603777709591155475603795107803Mon, 08 Apr 2019 20:40:38 GMT\"0x8D6BC62754F3FCA\"5120share155475606085105940Mon, 08 Apr 2019 20:41:00 GMT\"0x8D6BC6282FD809D\"5120share155475606369901916155475606405808018Mon, 08 Apr 2019 20:41:04 GMT\"0x8D6BC6284E6446A\"5120share155475611064800671155475611082309772Mon, 08 Apr 2019 20:41:50 GMT\"0x8D6BC62A0C63CDA\"5120share155475734977303059Mon, 08 Apr 2019 21:02:29 GMT\"0x8D6BC658346E681\"5120share155475735146501880155475735163208336Mon, 08 Apr 2019 21:02:31 GMT\"0x8D6BC65844D98C1\"5120share155475736263304813Mon, 08 Apr 2019 21:02:42 GMT\"0x8D6BC658AEE618F\"5120share155475736356107285155475736367500363Mon, 08 Apr 2019 21:02:43 GMT\"0x8D6BC658B76B901\"5120share155475737807009819155475737815207269Mon, 08 Apr 2019 21:02:58 GMT\"0x8D6BC65941C41E8\"5120share155475738194004164155475738198006296Mon, 08 Apr 2019 21:03:02 GMT\"0x8D6BC65965FBEA6\"5120share155475738961001284Mon, 08 Apr 2019 21:03:09 GMT\"0x8D6BC659AF2EC40\"5120share155475739148002318155475739164502260Mon, 08 Apr 2019 21:03:11 GMT\"0x8D6BC659C28D7F4\"5120share155475740405903976Mon, 08 Apr 2019 21:03:24 GMT\"0x8D6BC65A3998949\"5120share155475740686303089155475740718404146Mon, 08 Apr 2019 21:03:27 GMT\"0x8D6BC65A575FA2E\"5120share155475742006802357155475742014108948Mon, 08 Apr 2019 21:03:40 GMT\"0x8D6BC65AD253223\"5120share155475744922504325155475744938400415Mon, 08 Apr 2019 21:04:09 GMT\"0x8D6BC65BE9D9B9B\"5120share155475758392808763Mon, 08 Apr 2019 21:06:23 GMT\"0x8D6BC660EBDADB1\"5120share155475758496902188155475758505300339Mon, 08 Apr 2019 21:06:25 GMT\"0x8D6BC660F6D1FE1\"5120share155475758824600049Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC66114F3747\"5120share155475758856706019155475758859504581Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC6611840340\"5120share155475759971409268155475759983105439Mon, 08 Apr 2019 21:06:39 GMT\"0x8D6BC6618387002\"5120share155475760299604525155475760301209424Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A1C73AD\"5120share155475760350309302Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A70A858\"5120share155475760563302047155475760578902124Mon, 08 Apr 2019 21:06:45 GMT\"0x8D6BC661BCD2289\"5120share155475763254801465155475763262302940Mon, 08 Apr 2019 21:07:12 GMT\"0x8D6BC662BCAF1CE\"5120share155475767636102884Mon, 08 Apr 2019 21:07:56 GMT\"0x8D6BC6645E705FF\"5120share155475767891206281155475767922900229Mon, 08 Apr 2019 21:07:59 GMT\"0x8D6BC66479D03D9\"5120share155475772689703202155475772705609708Mon, 08 Apr 2019 21:08:47 GMT\"0x8D6BC66641EE5E0\"5120share155475776495606014Mon, 08 Apr 2019 21:09:25 GMT\"0x8D6BC667ABDD0A0\"5120share155475776677207052155475776709704200Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667BF13218\"5120share155475776709205233Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667C03C80F\"5120share155475776887404869155475776905403906Mon, 08 Apr 2019 21:09:29 GMT\"0x8D6BC667D1B6282\"5120share155475779606308901155475779615309916Mon, 08 Apr 2019 21:09:56 GMT\"0x8D6BC668D423AEA\"5120share155475779701304538155475779710407082Mon, 08 Apr 2019 21:09:57 GMT\"0x8D6BC668DD31352\"5120share155475791746104367Mon, 08 Apr 2019 21:11:57 GMT\"0x8D6BC66D59D0D93\"5120share155475792025605706155475792060301532Mon, 08 Apr 2019 21:12:00 GMT\"0x8D6BC66D77CF3D7\"5120share155475794486001708Mon, 08 Apr 2019 21:12:24 GMT\"0x8D6BC66E5E653D2\"5120share155475794611908909155475794627300186Mon, 08 Apr 2019 21:12:26 GMT\"0x8D6BC66E6BE37DF\"5120share155475796274909993155475796290807279Mon, 08 Apr 2019 21:12:43 GMT\"0x8D6BC66F0B39849\"5120share155475797592301938155475797599809651Mon, 08 Apr 2019 21:12:56 GMT\"0x8D6BC66F87694C9\"5120share155475826695006340Mon, 08 Apr 2019 21:17:46 GMT\"0x8D6BC67A5DD6DE4\"5120share155475826745207634155475826751406389Mon, 08 Apr 2019 21:17:47 GMT\"0x8D6BC67A632C490\"5120share155475828346608712155475828348203315Mon, 08 Apr 2019 21:18:03 GMT\"0x8D6BC67AFB7F63D\"5120share155475830359005133Mon, 08 Apr 2019 21:18:23 GMT\"0x8D6BC67BBB396A8\"5120share155475830426407161155475830431009918Mon, 08 Apr 2019 21:18:24 GMT\"0x8D6BC67BC1F40C0\"5120share155475831901901358155475831903400803Mon, 08 Apr 2019 21:18:39 GMT\"0x8D6BC67C4E67C93\"5120share155475857087801674Mon, 08 Apr 2019 21:22:50 GMT\"0x8D6BC685B03A4C2\"5120share155475857508204962155475857512904633Mon, 08 Apr 2019 21:22:55 GMT\"0x8D6BC685D8A4EE5\"5120share155475859715608328155475859718707845Mon, 08 Apr 2019 21:23:17 GMT\"0x8D6BC686AB018A0\"5120share155475862743005093Mon, 08 Apr 2019 21:23:47 GMT\"0x8D6BC687CBE4A2C\"5120share155475863073504871155475863089109018Mon, 08 Apr 2019 21:23:50 GMT\"0x8D6BC687ED0B4FA\"5120share155475866128905048155475866136704161Mon, 08 Apr 2019 21:24:21 GMT\"0x8D6BC6890F95653\"5120share155475866224208442Mon, 08 Apr 2019 21:24:22 GMT\"0x8D6BC68917EC28A\"5120share155475892444006125Mon, 08 Apr 2019 21:28:44 GMT\"0x8D6BC692DBEBA4E\"5120share155475892501907639155475892506500510Mon, 08 Apr 2019 21:28:45 GMT\"0x8D6BC692E1EED0A\"5120share155475894509709349155475894511200899Mon, 08 Apr 2019 21:29:05 GMT\"0x8D6BC693A11C854\"5120share155475901098902468Mon, 08 Apr 2019 21:30:11 GMT\"0x8D6BC696156D3C6\"5120share155475901336906263155475901340008777Mon, 08 Apr 2019 21:30:13 GMT\"0x8D6BC6962C7EDA7\"5120share155475903030807257155475903032309131Mon, 08 Apr 2019 21:30:30 GMT\"0x8D6BC696CDCEF37\"5120share155475917334807763Mon, 08 Apr 2019 21:32:53 GMT\"0x8D6BC69C22F94D0\"5120share155475917631504782155475917666903878Mon, 08 Apr 2019 21:32:56 GMT\"0x8D6BC69C429719B\"5120share155475922224509444155475922241807908Mon, 08 Apr 2019 21:33:42 GMT\"0x8D6BC69DF6E444A\"5120share155475925602205483Mon, 08 Apr 2019 21:34:16 GMT\"0x8D6BC69F375195C\"5120share155475926493206859155475926529100433Mon, 08 Apr 2019 21:34:25 GMT\"0x8D6BC69F92DED3F\"5120share155475931150207051155475931168006048Mon, 08 Apr 2019 21:35:11 GMT\"0x8D6BC6A14A09252\"5120share155475977936309871Mon, 08 Apr 2019 21:42:59 GMT\"0x8D6BC6B2B5BC0D0\"5120share155475978025201878155475978034602234Mon, 08 Apr 2019 21:43:00 GMT\"0x8D6BC6B2BE9A5D2\"5120share155475979938003003155475979942008091Mon, 08 Apr 2019 21:43:19 GMT\"0x8D6BC6B37480077\"5120share155475989025605514Mon, 08 Apr 2019 21:44:50 GMT\"0x8D6BC6B6D7332B1\"5120share155475989171106337155475989187403284Mon, 08 Apr 2019 21:44:51 GMT\"0x8D6BC6B6E6949D0\"5120share155475989380904279Mon, 08 Apr 2019 21:44:53 GMT\"0x8D6BC6B6F96205A\"5120share155475989459601580155475989469503324Mon, 08 Apr 2019 21:44:54 GMT\"0x8D6BC6B7012C9AE\"5120share155475990723502169Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77880AB0\"5120share155475990745006088155475990751106761Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77B1CA53\"5120share155475991324407391155475991328309141Mon, 08 Apr 2019 21:45:13 GMT\"0x8D6BC6B7B26E28D\"5120share155475991799108400155475991806701120Mon, 08 Apr 2019 21:45:18 GMT\"0x8D6BC6B7E059CFB\"5120share155475992088305591155475992089400834Mon, 08 Apr 2019 21:45:20 GMT\"0x8D6BC6B7FAC1DF3\"5120share155475995154906475Mon, 08 Apr 2019 21:45:51 GMT\"0x8D6BC6B92073E46\"5120share155475995424405105155475995457206560Mon, 08 Apr 2019 21:45:54 GMT\"0x8D6BC6B93D4CF64\"5120share155476000575809494155476000592307413Mon, 08 Apr 2019 21:46:46 GMT\"0x8D6BC6BB26FC664\"5120share155476000809002219Mon, 08 Apr 2019 21:46:48 GMT\"0x8D6BC6BB3BAA531\"5120share155476003381902159Mon, 08 Apr 2019 21:47:13 GMT\"0x8D6BC6BC3033DC1\"5120share155476003538801520155476003554406911Mon, 08 Apr 2019 21:47:15 GMT\"0x8D6BC6BC40AEB35\"5120share155476006367901271155476006375105324Mon, 08 Apr 2019 21:47:43 GMT\"0x8D6BC6BD4DA4CF3\"5120share155476006464706612Mon, 08 Apr 2019 21:47:44 GMT\"0x8D6BC6BD562C52B\"5120share155476020596003587Mon, 08 Apr 2019 21:50:05 GMT\"0x8D6BC6C2995BB9F\"5120share155476020640509691155476020643607403Mon, 08 Apr 2019 21:50:06 GMT\"0x8D6BC6C29DE43BA\"5120share155476022213002952155476022214307559Mon, 08 Apr 2019 21:50:22 GMT\"0x8D6BC6C333B110F\"5120share155476025129303157Mon, 08 Apr 2019 21:50:51 GMT\"0x8D6BC6C44A3EB6D\"5120share155476025257708167155476025273004331Mon, 08 Apr 2019 21:50:52 GMT\"0x8D6BC6C457F6F89\"5120share155476026709207569Mon, 08 Apr 2019 21:51:07 GMT\"0x8D6BC6C4E0EDB9C\"5120share155476026842807935155476026858005332Mon, 08 Apr 2019 21:51:08 GMT\"0x8D6BC6C4EF0F085\"5120share155476028011706632155476028019200644Mon, 08 Apr 2019 21:51:20 GMT\"0x8D6BC6C55DD40E8\"5120share155476028733301755Mon, 08 Apr 2019 21:51:27 GMT\"0x8D6BC6C5A2B1164\"5120share155476028990007932155476029022300298Mon, 08 Apr 2019 21:51:30 GMT\"0x8D6BC6C5BE4364F\"5120share155476029409203644155476029417004479Mon, 08 Apr 2019 21:51:34 GMT\"0x8D6BC6C5E323F08\"5120share155476033140808210155476033156802521Mon, 08 Apr 2019 21:52:11 GMT\"0x8D6BC6C74881F50\"5120share155476034088907107Mon, 08 Apr 2019 21:52:20 GMT\"0x8D6BC6C7A02E996\"5120share155476034117100915155476034120003425Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A32BF58\"5120share155476034139001386Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A524E51\"5120share155476034165201091155476034168404201Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A7F5C77\"5120share155476035937201981155476035938600086Mon, 08 Apr 2019 21:52:39 GMT\"0x8D6BC6C850C4063\"5120share155476036421402002155476036422702027Mon, 08 Apr 2019 21:52:44 GMT\"0x8D6BC6C87EC265B\"5120share155476048267109256Mon, 08 Apr 2019 21:54:42 GMT\"0x8D6BC6CCE99472D\"5120share155476048527507829155476048559500422Mon, 08 Apr 2019 21:54:45 GMT\"0x8D6BC6CD0571965\"5120share155476048713809104Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD136D3F0\"5120share155476048740007315Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD171D0C6\"5120share155476048839103036155476048854303354Mon, 08 Apr 2019 21:54:48 GMT\"0x8D6BC6CD20D2221\"5120share155476048911309646155476048929702628Mon, 08 Apr 2019 21:54:49 GMT\"0x8D6BC6CD27FCECC\"5120share155476051277403297Mon, 08 Apr 2019 21:55:12 GMT\"0x8D6BC6CE0906704\"5120share155476051454002744155476051472201385Mon, 08 Apr 2019 21:55:14 GMT\"0x8D6BC6CE1A6B524\"5120share155476051662706835155476051671905991Mon, 08 Apr 2019 21:55:16 GMT\"0x8D6BC6CE2D7A3CA\"5120share155476051701609760155476051709206998Mon, 08 Apr 2019 21:55:17 GMT\"0x8D6BC6CE310B624\"5120share155476052779709407155476052795604667Mon, 08 Apr 2019 21:55:28 GMT\"0x8D6BC6CE9963684\"5120share155476054363301934155476054372205907Mon, 08 Apr 2019 21:55:43 GMT\"0x8D6BC6CF2EF3F18\"5120share155476054757102427Mon, 08 Apr 2019 21:55:48 GMT\"0x8D6BC6CF5881A20\"5120share155476054966904265155476054985500146Mon, 08 Apr 2019 21:55:49 GMT\"0x8D6BC6CF69A57B2\"5120share155476058378901492155476058388001989Mon, 08 Apr 2019 21:56:23 GMT\"0x8D6BC6D0AE1689F\"5120share155476063180009911Mon, 08 Apr 2019 21:57:11 GMT\"0x8D6BC6D277B622E\"5120share155476063439108000155476063471007018Mon, 08 Apr 2019 21:57:14 GMT\"0x8D6BC6D2937A4ED\"5120share155476067663009343155476067679203410Mon, 08 Apr 2019 21:57:56 GMT\"0x8D6BC6D424D09B8\"5120share155476081678509800Mon, 08 Apr 2019 22:00:16 GMT\"0x8D6BC6D95AD4D03\"5120share155476081824207433155476081838207562Mon, 08 Apr 2019 22:00:18 GMT\"0x8D6BC6D96A86EE7\"5120share155476083644003555155476083645604348Mon, 08 Apr 2019 22:00:36 GMT\"0x8D6BC6DA167B245\"5120share155476088823106626Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC042AE74\"5120share155476088871505002155476088876204939Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC093FF80\"5120share155476090573808731155476090575302750Mon, 08 Apr 2019 22:01:45 GMT\"0x8D6BC6DCAB58E0F\"5120share155476090608205029Mon, 08 Apr 2019 22:01:46 GMT\"0x8D6BC6DCAEA4D12\"5120share155476104985707487Mon, 08 Apr 2019 22:04:09 GMT\"0x8D6BC6E20AA4FBE\"5120share155476105287802955155476105322102107Mon, 08 Apr 2019 22:04:13 GMT\"0x8D6BC6E22A9F4B3\"5120share155476109777803762155476109795103407Mon, 08 Apr 2019 22:04:58 GMT\"0x8D6BC6E3D53CC69\"5120share155476116954300139Mon, 08 Apr 2019 22:06:09 GMT\"0x8D6BC6E67F1DB21\"5120share155476117009004633155476117021501167Mon, 08 Apr 2019 22:06:10 GMT\"0x8D6BC6E68551F94\"5120share155476118869803387155476118871409122Mon, 08 Apr 2019 22:06:28 GMT\"0x8D6BC6E735CD088\"5120share155476118922903105Mon, 08 Apr 2019 22:06:29 GMT\"0x8D6BC6E73AB5632\"5120share155476120533605556Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D484823\"5120share155476120585307909155476120590002418Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D9DE244\"5120share155476122658302898155476122661407484Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E89F48854\"5120share155476122685003701Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E8A18FF0E\"5120share155476145760800341Mon, 08 Apr 2019 22:10:57 GMT\"0x8D6BC6F13A3C9CB\"5120share155476145803208912155476145807803209Mon, 08 Apr 2019 22:10:58 GMT\"0x8D6BC6F13EB7CEC\"5120share155476148487709874155476148490906559Mon, 08 Apr 2019 22:11:24 GMT\"0x8D6BC6F23E92BC9\"5120share155476150918404287Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32619FF1\"5120share155476150970200428155476150978009839Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32BA401F\"5120share155476153188200423155476153189701570Mon, 08 Apr 2019 22:12:11 GMT\"0x8D6BC6F3FEAA305\"5120share155476153428008605Mon, 08 Apr 2019 22:12:14 GMT\"0x8D6BC6F41575DF5\"5120share155476153904907363155476153915900604Mon, 08 Apr 2019 22:12:19 GMT\"0x8D6BC6F443F53F5\"5120share155476155793708877155476155795200051Mon, 08 Apr 2019 22:12:37 GMT\"0x8D6BC6F4F73AFB9\"5120share155476176301401148Mon, 08 Apr 2019 22:16:03 GMT\"0x8D6BC6FC9C05EB2\"5120share155476176664806384155476176701407346Mon, 08 Apr 2019 22:16:07 GMT\"0x8D6BC6FCC22FF4A\"5120share155476178788303535Mon, 08 Apr 2019 22:16:28 GMT\"0x8D6BC6FD88E9FB5\"5120share155476179080407360155476179117205282Mon, 08 Apr 2019 22:16:31 GMT\"0x8D6BC6FDA83FC62\"5120share155476180179506672Mon, 08 Apr 2019 22:16:41 GMT\"0x8D6BC6FE0C9A087\"5120share155476180220305217155476180225001346Mon, 08 Apr 2019 22:16:42 GMT\"0x8D6BC6FE10E33F9\"5120share155476181531205041155476181549305114Mon, 08 Apr 2019 22:16:55 GMT\"0x8D6BC6FE9072FB1\"5120share155476181728704394155476181730207146Mon, 08 Apr 2019 22:16:57 GMT\"0x8D6BC6FEA07A689\"5120share155476183783003117155476183801406829Mon, 08 Apr 2019 22:17:18 GMT\"0x8D6BC6FF66FC70E\"5120share155476231957209906Mon, 08 Apr 2019 22:25:19 GMT\"0x8D6BC71157A027C\"5120share155476232290905918Mon, 08 Apr 2019 22:25:23 GMT\"0x8D6BC7117762E7A\"5120share155476232357801883155476232395803880Mon, 08 Apr 2019 22:25:24 GMT\"0x8D6BC7118168C9C\"5120share155476232681309939155476232720800252Mon, 08 Apr 2019 22:25:27 GMT\"0x8D6BC711A0853B4\"5120share155476234459508335Mon, 08 Apr 2019 22:25:44 GMT\"0x8D6BC7124629DF4\"5120share155476234817303197155476234856203585Mon, 08 Apr 2019 22:25:48 GMT\"0x8D6BC7126BFE461\"5120share155476237480606920155476237498603572Mon, 08 Apr 2019 22:26:15 GMT\"0x8D6BC713680FDE6\"5120share155476237658903468155476237676503841Mon, 08 Apr 2019 22:26:16 GMT\"0x8D6BC71378F70E6\"5120share155476241034103932155476241051700267Mon, 08 Apr 2019 22:26:50 GMT\"0x8D6BC714BAD96A2\"5120share155476265660405974Mon, 08 Apr 2019 22:30:56 GMT\"0x8D6BC71DE5CE7CE\"5120share155476265960100490155476266001400047Mon, 08 Apr 2019 22:31:00 GMT\"0x8D6BC71E065AD79\"5120share155476269189900873Mon, 08 Apr 2019 22:31:32 GMT\"0x8D6BC71F3676FEC\"5120share155476269493900402155476269529509546Mon, 08 Apr 2019 22:31:35 GMT\"0x8D6BC71F56D2517\"5120share155476270675209985155476270693002780Mon, 08 Apr 2019 22:31:47 GMT\"0x8D6BC71FC5C8895\"5120share155476273714203829Mon, 08 Apr 2019 22:32:17 GMT\"0x8D6BC720E5D5600\"5120share155476273998201037155476274034707959Mon, 08 Apr 2019 22:32:20 GMT\"0x8D6BC7210466419\"5120share155476274839705508155476274856902425Mon, 08 Apr 2019 22:32:28 GMT\"0x8D6BC72152D7B73\"5120share155476278819401875155476278836408722Mon, 08 Apr 2019 22:33:08 GMT\"0x8D6BC722CE4B9A9\"5120share155476279250304492Mon, 08 Apr 2019 22:33:12 GMT\"0x8D6BC722F5C173B\"5120share155476310454401084Mon, 08 Apr 2019 22:38:24 GMT\"0x8D6BC72E95AF3E9\"5120share155476310739905326155476310787807773Mon, 08 Apr 2019 22:38:28 GMT\"0x8D6BC72EB57CD23\"5120share155476315509400354155476315527009713Mon, 08 Apr 2019 22:39:15 GMT\"0x8D6BC7307973941\"5120share155476431696300605Mon, 08 Apr 2019 22:58:37 GMT\"0x8D6BC75BBFA0376\"5120share155476431803903555155476431812608836Mon, 08 Apr 2019 22:58:38 GMT\"0x8D6BC75BCA40F40\"5120share155476434449006187155476434453202288Mon, 08 Apr 2019 22:59:04 GMT\"0x8D6BC75CC615763\"5120share155476439619101391Mon, 08 Apr 2019 22:59:56 GMT\"0x8D6BC75EB339992\"5120share155476439708209578155476439716101466Mon, 08 Apr 2019 22:59:57 GMT\"0x8D6BC75EBBF56A2\"5120share155476440391303860Mon, 08 Apr 2019 23:00:03 GMT\"0x8D6BC75EFC59254\"5120share155476441919809882Mon, 08 Apr 2019 23:00:19 GMT\"0x8D6BC75F8E84132\"5120share155476442078600281155476442100203874Mon, 08 Apr 2019 23:00:21 GMT\"0x8D6BC75F9FB98CD\"5120share155476445648205993Mon, 08 Apr 2019 23:00:56 GMT\"0x8D6BC760F317FE7\"5120share155476445803400883155476445823708321Mon, 08 Apr 2019 23:00:58 GMT\"0x8D6BC76102C0ED4\"5120share155476448512502130155476448520901124Mon, 08 Apr 2019 23:01:25 GMT\"0x8D6BC76203FC0A1\"5120share155476449148305636155476449156002875Mon, 08 Apr 2019 23:01:31 GMT\"0x8D6BC76240A4F5B\"5120share155476451224507051Mon, 08 Apr 2019 23:01:52 GMT\"0x8D6BC763071C475\"5120share155476451387005113155476451409200862Mon, 08 Apr 2019 23:01:54 GMT\"0x8D6BC7631766C6A\"5120share155476454247600113155476454255808131Mon, 08 Apr 2019 23:02:22 GMT\"0x8D6BC76426E1E01\"5120share155476454745500618Mon, 08 Apr 2019 23:02:27 GMT\"0x8D6BC764565FA5E\"5120share155476455021607446155476455057102446Mon, 08 Apr 2019 23:02:30 GMT\"0x8D6BC7647417689\"5120share155476458716904340Mon, 08 Apr 2019 23:03:07 GMT\"0x8D6BC765D11F2F7\"5120share155476459201807048155476459234206562Mon, 08 Apr 2019 23:03:12 GMT\"0x8D6BC766026741C\"5120share155476460868908204155476460885205375Mon, 08 Apr 2019 23:03:28 GMT\"0x8D6BC7669FDEE7E\"5120share155476464610301226155476464626505345Mon, 08 Apr 2019 23:04:06 GMT\"0x8D6BC76804A1D2B\"5120share155476509552004112Mon, 08 Apr 2019 23:11:35 GMT\"0x8D6BC778C11DA05\"5120share155476509649000318155476509657002600Mon, 08 Apr 2019 23:11:36 GMT\"0x8D6BC778CA0CB2B\"5120share155476511542304387155476511546309152Mon, 08 Apr 2019 23:11:55 GMT\"0x8D6BC7797E39BEB\"5120share155476517413101344Mon, 08 Apr 2019 23:12:54 GMT\"0x8D6BC77BAEEAA8D\"5120share155476517496105311155476517504207003Mon, 08 Apr 2019 23:12:55 GMT\"0x8D6BC77BB67D830\"5120share155476519430301159155476519441608194Mon, 08 Apr 2019 23:13:14 GMT\"0x8D6BC77C6F3A3F7\"5120share155476521415002140Mon, 08 Apr 2019 23:13:34 GMT\"0x8D6BC77D2BCBED8\"5120share155476521551909754155476521567608139Mon, 08 Apr 2019 23:13:35 GMT\"0x8D6BC77D3A540D1\"5120share155476522814705024Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB0AE947\"5120share155476522860004891155476522870301250Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB5F942D\"5120share155476524157100256155476524158202664Mon, 08 Apr 2019 23:14:01 GMT\"0x8D6BC77E30CE333\"5120share155476524350705464155476524358205357Mon, 08 Apr 2019 23:14:03 GMT\"0x8D6BC77E4460746\"5120share155476526115609987Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EEBA1057\"5120share155476526161606511155476526168506405Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EF0AB4DE\"5120share155476528567704891155476528569706277Mon, 08 Apr 2019 23:14:47 GMT\"0x8D6BC77FEAC6C77\"5120share155476541308600173Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC784947CC5E\"5120share155476541336401605155476541343509475Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC78497D6CB2\"5120share155476541862407549Mon, 08 Apr 2019 23:16:58 GMT\"0x8D6BC784CA7ADBF\"5120share155476542140001121155476542174500634Mon, 08 Apr 2019 23:17:01 GMT\"0x8D6BC784E84DC17\"5120share155476542538504885Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC78509D81DB\"5120share155476542565004895155476542568006667Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC7850CA2738\"5120share155476543241701826155476543243201196Mon, 08 Apr 2019 23:17:12 GMT\"0x8D6BC7854D01156\"5120share155476544273008434155476544274305609Mon, 08 Apr 2019 23:17:22 GMT\"0x8D6BC785AF5E27A\"5120share155476544945600830Mon, 08 Apr 2019 23:17:29 GMT\"0x8D6BC785EFC69FE\"5120share155476545069609500155476545084404529Mon, 08 Apr 2019 23:17:30 GMT\"0x8D6BC785FD05CC7\"5120share155476546513001319155476546528907473Mon, 08 Apr 2019 23:17:45 GMT\"0x8D6BC78687868BA\"5120share155476547764302784Mon, 08 Apr 2019 23:17:57 GMT\"0x8D6BC786FD65928\"5120share155476547797509162155476547804708222Mon, 08 Apr 2019 23:17:58 GMT\"0x8D6BC787006AD8B\"5120share155476548004608178Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC787149A8DB\"5120share155476548025600059155476548057608757Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC7871955A28\"5120share155476548161101583155476548178500635Mon, 08 Apr 2019 23:18:01 GMT\"0x8D6BC7872415487\"5120share155476551017200699155476551025501651Mon, 08 Apr 2019 23:18:30 GMT\"0x8D6BC788339C452\"5120share155476553000100349155476553016007964Mon, 08 Apr 2019 23:18:50 GMT\"0x8D6BC788F23E794\"5120share155476553515703995Mon, 08 Apr 2019 23:18:55 GMT\"0x8D6BC78921E3A6B\"5120share155476555499605553Mon, 08 Apr 2019 23:19:15 GMT\"0x8D6BC789DE8981A\"5120share155476555791006568155476555799506397Mon, 08 Apr 2019 23:19:18 GMT\"0x8D6BC789FAA847D\"5120share155476556319001694Mon, 08 Apr 2019 23:19:23 GMT\"0x8D6BC78A2D231F0\"5120share155476556594909048155476556627906331Mon, 08 Apr 2019 23:19:26 GMT\"0x8D6BC78A4AA425C\"5120share155476557993103090155476557997202286Mon, 08 Apr 2019 23:19:40 GMT\"0x8D6BC78ACC4513F\"5120share155476561235504876Mon, 08 Apr 2019 23:20:12 GMT\"0x8D6BC78C0167F8D\"5120share155476561420206269155476561435307087Mon, 08 Apr 2019 23:20:14 GMT\"0x8D6BC78C1459AB0\"5120share155476563307809610155476563323908472Mon, 08 Apr 2019 23:20:33 GMT\"0x8D6BC78CC9356F8\"5120share155476563525700309Mon, 08 Apr 2019 23:20:35 GMT\"0x8D6BC78CDC75B1D\"5120share155476565186800149155476565194201836Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D7ACF537\"5120share155476565288908553Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D83D9739\"5120share155476566702204764Mon, 08 Apr 2019 23:21:07 GMT\"0x8D6BC78E0AB5059\"5120share155476566888408884155476566903301978Mon, 08 Apr 2019 23:21:09 GMT\"0x8D6BC78E1DDFA2F\"5120share155476569754601439Mon, 08 Apr 2019 23:21:37 GMT\"0x8D6BC78F2DE4CD2\"5120share155476569837207565155476569846005813Mon, 08 Apr 2019 23:21:38 GMT\"0x8D6BC78F36203BE\"5120share155476571075507322155476571082803282Mon, 08 Apr 2019 23:21:50 GMT\"0x8D6BC78FAC64BC5\"5120share155476573561205412155476573565403349Mon, 08 Apr 2019 23:22:15 GMT\"0x8D6BC79098D6F9D\"5120share155476582496201150Mon, 08 Apr 2019 23:23:44 GMT\"0x8D6BC793EC6F190\"5120share155476582523001983155476582525909945Mon, 08 Apr 2019 23:23:45 GMT\"0x8D6BC793EF41688\"5120share155476582743106751Mon, 08 Apr 2019 23:23:48 GMT\"0x8D6BC79409CAE41\"5120share155476582980100852155476582998703282Mon, 08 Apr 2019 23:23:50 GMT\"0x8D6BC7941CAE726\"5120share155476583944109368155476583945505070Mon, 08 Apr 2019 23:23:59 GMT\"0x8D6BC79476A6827\"5120share155476586034200225Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC7953DD5231\"5120share155476586061108739155476586063802574Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC795409FE33\"5120share155476586220706650155476586229602787Mon, 08 Apr 2019 23:24:22 GMT\"0x8D6BC79550CEB70\"5120share155476587455908529155476587457305551Mon, 08 Apr 2019 23:24:34 GMT\"0x8D6BC795C58879C\"5120share155476590826505721Mon, 08 Apr 2019 23:25:08 GMT\"0x8D6BC7970761A7D\"5120share155476590973604504155476590989309631Mon, 08 Apr 2019 23:25:09 GMT\"0x8D6BC79716D4AFA\"5120share155476591033707299Mon, 08 Apr 2019 23:25:10 GMT\"0x8D6BC7971B27D00\"5120share155476591170101125155476591185309922Mon, 08 Apr 2019 23:25:11 GMT\"0x8D6BC797299505C\"5120share155476593861309453155476593868502630Mon, 08 Apr 2019 23:25:38 GMT\"0x8D6BC798296DD7A\"5120share155476594539707363155476594547109339Mon, 08 Apr 2019 23:25:45 GMT\"0x8D6BC7986A2BCA7\"5120share155476597286003203Mon, 08 Apr 2019 23:26:13 GMT\"0x8D6BC799708A3BD\"5120share155476597464003206155476597484603390Mon, 08 Apr 2019 23:26:14 GMT\"0x8D6BC79982362D7\"5120share155476598426402793Mon, 08 Apr 2019 23:26:24 GMT\"0x8D6BC799DD3927D\"5120share155476598818205759155476598845002383Mon, 08 Apr 2019 23:26:28 GMT\"0x8D6BC79A03EE25F\"5120share155476600772007187155476600781306046Mon, 08 Apr 2019 23:26:47 GMT\"0x8D6BC79ABC9C020\"5120share155476603512906240155476603522107811Mon, 08 Apr 2019 23:27:15 GMT\"0x8D6BC79BC2077CD\"5120share155476612857004763Mon, 08 Apr 2019 23:28:48 GMT\"0x8D6BC79F3D10E56\"5120share155476613124503640155476613162501568Mon, 08 Apr 2019 23:28:51 GMT\"0x8D6BC79F5BF108E\"5120share155476613867709497Mon, 08 Apr 2019 23:28:58 GMT\"0x8D6BC79F9D73AD3\"5120share155476614130107770155476614162206344Mon, 08 Apr 2019 23:29:01 GMT\"0x8D6BC79FB98B873\"5120share155476615325105499Mon, 08 Apr 2019 23:29:13 GMT\"0x8D6BC7A0285F585\"5120share155476615587201364155476615619704021Mon, 08 Apr 2019 23:29:16 GMT\"0x8D6BC7A04482DC2\"5120share155476617256702013Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0DF70F50\"5120share155476617286708690155476617290000740Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0E2A3672\"5120share155476617631503794155476617647401574Mon, 08 Apr 2019 23:29:36 GMT\"0x8D6BC7A105D6D5F\"5120share155476618593504384155476618610007906Mon, 08 Apr 2019 23:29:46 GMT\"0x8D6BC7A161CED7E\"5120share155476619533401752155476619534705354Mon, 08 Apr 2019 23:29:55 GMT\"0x8D6BC7A1B8B2A6E\"5120share155476619683806353Mon, 08 Apr 2019 23:29:56 GMT\"0x8D6BC7A1C6D46CC\"5120share155476619725105811155476619728102750Mon, 08 Apr 2019 23:29:57 GMT\"0x8D6BC7A1CB038C9\"5120share155476621071307980155476621087208340Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A24DEA06B\"5120share155476621179405773155476621180801024Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A25599C50\"5120share155476632270408100Mon, 08 Apr 2019 23:32:02 GMT\"0x8D6BC7A6773D7C7\"5120share155476632303800675155476632307907455Mon, 08 Apr 2019 23:32:03 GMT\"0x8D6BC7A67AC9E05\"5120share155476632430706264Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A6864C391\"5120share155476632463506544155476632466702328Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A689BC5FA\"5120share155476633626802696Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6F8AE711\"5120share155476633665402270155476633669409143Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6FCB6F75\"5120share155476633819602071155476633821109901Mon, 08 Apr 2019 23:32:18 GMT\"0x8D6BC7A70AEB4F1\"5120share155476634347500960155476634349303762Mon, 08 Apr 2019 23:32:23 GMT\"0x8D6BC7A73D7BC04\"5120share155476635498803205155476635500704670Mon, 08 Apr 2019 23:32:35 GMT\"0x8D6BC7A7AB5DD31\"5120share155476636740102128Mon, 08 Apr 2019 23:32:47 GMT\"0x8D6BC7A8217ACEF\"5120share155476636799001553155476636802902322Mon, 08 Apr 2019 23:32:48 GMT\"0x8D6BC7A827742AF\"5120share155476640407007925155476640408806067Mon, 08 Apr 2019 23:33:24 GMT\"0x8D6BC7A97F5475C\"5120share155476642228906194Mon, 08 Apr 2019 23:33:42 GMT\"0x8D6BC7AA2E851DD\"5120share155476642406903205155476642428706870Mon, 08 Apr 2019 23:33:44 GMT\"0x8D6BC7AA405A02A\"5120share155476643556600842Mon, 08 Apr 2019 23:33:55 GMT\"0x8D6BC7AAAD375CF\"5120share155476643735007209155476643755301972Mon, 08 Apr 2019 23:33:57 GMT\"0x8D6BC7AABEFBA98\"5120share155476646013804921155476646023001703Mon, 08 Apr 2019 23:34:20 GMT\"0x8D6BC7AB9720C36\"5120share155476646603504862155476646612508671Mon, 08 Apr 2019 23:34:26 GMT\"0x8D6BC7ABCF7B99B\"5120share155476651939008948Mon, 08 Apr 2019 23:35:19 GMT\"0x8D6BC7ADCB724D3\"5120share155476652060209660155476652075001950Mon, 08 Apr 2019 23:35:20 GMT\"0x8D6BC7ADD868F16\"5120share155476652313402499Mon, 08 Apr 2019 23:35:23 GMT\"0x8D6BC7ADEF47E76\"5120share155476652445009512155476652460906173Mon, 08 Apr 2019 23:35:24 GMT\"0x8D6BC7ADFD4BF9F\"5120share155476653877105120Mon, 08 Apr 2019 23:35:38 GMT\"0x8D6BC7AE85715BC\"5120share155476654052606040155476654075704405Mon, 08 Apr 2019 23:35:40 GMT\"0x8D6BC7AE9734F6D\"5120share155476654689703476155476654698507157Mon, 08 Apr 2019 23:35:47 GMT\"0x8D6BC7AED294572\"5120share155476655472405591155476655481808374Mon, 08 Apr 2019 23:35:54 GMT\"0x8D6BC7AF1D649CF\"5120share155476656612708539Mon, 08 Apr 2019 23:36:06 GMT\"0x8D6BC7AF8A51350\"5120share155476657143404230155476657152808653Mon, 08 Apr 2019 23:36:11 GMT\"0x8D6BC7AFBCA17D2\"5120share155476657399703964155476657419709569Mon, 08 Apr 2019 23:36:14 GMT\"0x8D6BC7AFD60C4A1\"5120share155476661766108474155476661775202619Mon, 08 Apr 2019 23:36:57 GMT\"0x8D6BC7B17564BAD\"5120share155476673272406010Mon, 08 Apr 2019 23:38:52 GMT\"0x8D6BC7B5BF0E3A1\"5120share155476673504406253155476673542105732Mon, 08 Apr 2019 23:38:55 GMT\"0x8D6BC7B5D7931DB\"5120share155476675253901113Mon, 08 Apr 2019 23:39:12 GMT\"0x8D6BC7B67A8B452\"5120share155476675296209288155476675300907031Mon, 08 Apr 2019 23:39:13 GMT\"0x8D6BC7B67F08B7B\"5120share155476676945407999155476676947003222Mon, 08 Apr 2019 23:39:29 GMT\"0x8D6BC7B71C055F1\"5120share155476677410400733155476677419608768Mon, 08 Apr 2019 23:39:34 GMT\"0x8D6BC7B7495E848\"5120share155476678595409185Mon, 08 Apr 2019 23:39:46 GMT\"0x8D6BC7B7BA54AF6\"5120share155476678702907493Mon, 08 Apr 2019 23:39:47 GMT\"0x8D6BC7B7C3787CB\"5120share155476678942303133155476678947007472Mon, 08 Apr 2019 23:39:49 GMT\"0x8D6BC7B7DACAD5C\"5120share155476679257406842155476679289807813Mon, 08 Apr 2019 23:39:53 GMT\"0x8D6BC7B7FC83C47\"5120share155476681265205823155476681268306939Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8B81FC62\"5120share155476681295008223Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8BAA029D\"5120share155476683674701439Mon, 08 Apr 2019 23:40:36 GMT\"0x8D6BC7B99EB0399\"5120share155476683691105172Mon, 08 Apr 2019 23:40:37 GMT\"0x8D6BC7B9A04190A\"5120share155476683938408044155476683970607122Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BAF0AC6\"5120share155476683954506999155476683986401108Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BC6BC86\"5120share155476684955901192155476684971705447Mon, 08 Apr 2019 23:40:49 GMT\"0x8D6BC7BA1A68C4A\"5120share155476689429503310155476689446302908Mon, 08 Apr 2019 23:41:34 GMT\"0x8D6BC7BBC523411\"5120share155476689486309119155476689502109811Mon, 08 Apr 2019 23:41:35 GMT\"0x8D6BC7BBCA78283\"5120share155476689848406446Mon, 08 Apr 2019 23:41:38 GMT\"0x8D6BC7BBEA6DEF5\"5120share155476690144000750155476690147105650Mon, 08 Apr 2019 23:41:41 GMT\"0x8D6BC7BC06D6BFE\"5120share155476692550408281155476692552006307Mon, 08 Apr 2019 23:42:05 GMT\"0x8D6BC7BCEC2E737\"5120share155476701310301365Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C02F81A4A\"5120share155476701354009909155476701358700586Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C0341217E\"5120share155476703054701901155476703056303132Mon, 08 Apr 2019 23:43:50 GMT\"0x8D6BC7C0D5E5EF4\"5120share155476705263308527Mon, 08 Apr 2019 23:44:12 GMT\"0x8D6BC7C1A874F4E\"5120share155476705313403501155476705324309452Mon, 08 Apr 2019 23:44:13 GMT\"0x8D6BC7C1AE43384\"5120share155476707854907462155476707856501775Mon, 08 Apr 2019 23:44:38 GMT\"0x8D6BC7C29FBFD59\"5120share155476708292203055Mon, 08 Apr 2019 23:44:42 GMT\"0x8D6BC7C2C965437\"5120share155476718097200661Mon, 08 Apr 2019 23:46:21 GMT\"0x8D6BC7C67140ED4\"5120share155476718511307033155476718528507060Mon, 08 Apr 2019 23:46:25 GMT\"0x8D6BC7C69A5A008\"5120share155476720906609619Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C77C48EEA\"5120share155476720947601374155476720952302768Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C780AB178\"5120share155476721652702563155476721660503614Mon, 08 Apr 2019 23:46:56 GMT\"0x8D6BC7C7C4FF562\"5120share155476722456803338155476722458406433Mon, 08 Apr 2019 23:47:04 GMT\"0x8D6BC7C8105A53E\"5120share155476731188105124Mon, 08 Apr 2019 23:48:31 GMT\"0x8D6BC7CB50D9313\"5120share155476731224201118155476731228901281Mon, 08 Apr 2019 23:48:32 GMT\"0x8D6BC7CB54D3B10\"5120share155476733008504443155476733011603577Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CBFEB1452\"5120share155476733031901975Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CC00B25BF\"5120share155476737686900592Mon, 08 Apr 2019 23:49:36 GMT\"0x8D6BC7CDBCC5422\"5120share155476737934703176155476737939509803Mon, 08 Apr 2019 23:49:39 GMT\"0x8D6BC7CDD4CCB9A\"5120share155476740063206317Mon, 08 Apr 2019 23:50:00 GMT\"0x8D6BC7CE9F6D928\"5120share155476740105301968155476740110108620Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA3DC4B9\"5120share155476740160309274155476740163408658Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA8EBD5D\"5120share155476740389005761Mon, 08 Apr 2019 23:50:03 GMT\"0x8D6BC7CEBE693B3\"5120share155476741944107110155476741947208866Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF5306B3B\"5120share155476741973801348Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF55AA35D\"5120share155476751993603097Mon, 08 Apr 2019 23:51:59 GMT\"0x8D6BC7D310FD6F9\"5120share155476752034209234155476752038903373Mon, 08 Apr 2019 23:52:00 GMT\"0x8D6BC7D3154EB7F\"5120share155476753773308525155476753774900804Mon, 08 Apr 2019 23:52:17 GMT\"0x8D6BC7D3BAF1D7C\"5120share155476755968506518Mon, 08 Apr 2019 23:52:39 GMT\"0x8D6BC7D48C2D945\"5120share155476756025704914155476756030408293Mon, 08 Apr 2019 23:52:40 GMT\"0x8D6BC7D4920F1BB\"5120share155476757927403262155476757930605206Mon, 08 Apr 2019 23:52:59 GMT\"0x8D6BC7D5477C4FD\"5120share155476758886800802Mon, 08 Apr 2019 23:53:08 GMT\"0x8D6BC7D5A295568\"5120share155476759612809724Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5E7A3CE8\"5120share155476759675809547155476759678907586Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5EDFE197\"5120share155476761379605068155476761381206318Mon, 08 Apr 2019 23:53:33 GMT\"0x8D6BC7D6904C3BC\"5120share155476769451707014Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D991E2C56\"5120share155476769492305905155476769495502323Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D9962B197\"5120share155476771291006498155476771292504957Mon, 08 Apr 2019 23:55:12 GMT\"0x8D6BC7DA4180F06\"5120share155476773060003911Mon, 08 Apr 2019 23:55:30 GMT\"0x8D6BC7DAEA17CC4\"5120share155476773118005704155476773135203965Mon, 08 Apr 2019 23:55:31 GMT\"0x8D6BC7DAF1378A6\"5120share155476775106100021155476775109309106Mon, 08 Apr 2019 23:55:51 GMT\"0x8D6BC7DBAD731E5\"5120share155476781685606946Mon, 08 Apr 2019 23:56:56 GMT\"0x8D6BC7DE20E7957\"5120share155476781732000128155476781738302450Mon, 08 Apr 2019 23:56:57 GMT\"0x8D6BC7DE2600C71\"5120share155476783345303757155476783346907719Mon, 08 Apr 2019 23:57:13 GMT\"0x8D6BC7DEBF7156B\"5120share155476791347300669Mon, 08 Apr 2019 23:58:33 GMT\"0x8D6BC7E1BA54903\"5120share155476791386402913155476791406106541Mon, 08 Apr 2019 23:58:34 GMT\"0x8D6BC7E1BFCC039\"5120share155476793045906102155476793049006057Mon, 08 Apr 2019 23:58:50 GMT\"0x8D6BC7E25C76D52\"5120share155476802704709159Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F561B0D\"5120share155476802747007068155476802751704585Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F9E2732\"5120share155476804346803478155476804349905857Tue, 09 Apr 2019 00:00:43 GMT\"0x8D6BC7E692437A6\"5120share155476804670501417Tue, 09 Apr 2019 00:00:46 GMT\"0x8D6BC7E6B0C980A\"5120share155476804729208533155476804732304485Tue, 09 Apr 2019 00:00:47 GMT\"0x8D6BC7E6B6BE551\"5120share155476806792107870155476806795006572Tue, 09 Apr 2019 00:01:07 GMT\"0x8D6BC7E77B59043\"5120share155476809524706138Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E87FA6EFD\"5120share155476809559505969Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E883E0CC1\"5120share155476809573102733155476809608507721Tue, 09 Apr 2019 00:01:36 GMT\"0x8D6BC7E8878E2E0\"5120share155476809796808728Tue, 09 Apr 2019 00:01:37 GMT\"0x8D6BC7E8998569D\"5120share155476810291301609155476810326803401Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CD0D20B\"5120share155476810304900799155476810314308687Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CAE4EE9\"5120share155476811609008652155476811612104405Tue, 09 Apr 2019 00:01:56 GMT\"0x8D6BC7E94697D23\"5120share155476811931604393155476811933200724Tue, 09 Apr 2019 00:01:59 GMT\"0x8D6BC7E9653421D\"5120share155476812170804393Tue, 09 Apr 2019 00:02:01 GMT\"0x8D6BC7E97C041CC\"5120share155476814743406883Tue, 09 Apr 2019 00:02:27 GMT\"0x8D6BC7EA7272A92\"5120share155476815440005091155476815476601339Tue, 09 Apr 2019 00:02:34 GMT\"0x8D6BC7EAB862619\"5120share155476815597205023155476815615103123Tue, 09 Apr 2019 00:02:36 GMT\"0x8D6BC7EAC554CE6\"5120share155476820193208970Tue, 09 Apr 2019 00:03:22 GMT\"0x8D6BC7EC7A0122F\"5120share155476820878406771155476820896404753Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBD4210C\"5120share155476820883700691155476820924100125Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBFA99BF\"5120share155476821108601306Tue, 09 Apr 2019 00:03:31 GMT\"0x8D6BC7ECD176585\"5120share155476825711807119155476825729204921Tue, 09 Apr 2019 00:04:17 GMT\"0x8D6BC7EE89EA8B2\"5120share155476825945705044Tue, 09 Apr 2019 00:04:19 GMT\"0x8D6BC7EE9E8E0CB\"5120share155476834740803120Tue, 09 Apr 2019 00:05:47 GMT\"0x8D6BC7F1E4777AF\"5120share155476834984008859155476834988702992Tue, 09 Apr 2019 00:05:49 GMT\"0x8D6BC7F1FC39553\"5120share155476836605404360155476836607004655Tue, 09 Apr 2019 00:06:06 GMT\"0x8D6BC7F29689397\"5120share155476838809206589Tue, 09 Apr 2019 00:06:28 GMT\"0x8D6BC7F3699A514\"5120share155476839198303786155476839234803107Tue, 09 Apr 2019 00:06:32 GMT\"0x8D6BC7F39223C76\"5120share155476843986900491Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F557ECA14\"5120share155476844021800627155476844024600583Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F55B9A5DF\"5120share155476845378709296155476845396806652Tue, 09 Apr 2019 00:07:34 GMT\"0x8D6BC7F5DDC13C9\"5120share155476845593902321155476845597001638Tue, 09 Apr 2019 00:07:36 GMT\"0x8D6BC7F5F180369\"5120share155476849626305945Tue, 09 Apr 2019 00:08:16 GMT\"0x8D6BC7F77117C82\"5120share155476849880105820Tue, 09 Apr 2019 00:08:18 GMT\"0x8D6BC7F7885AA01\"5120share155476849915307469155476850553606138Tue, 09 Apr 2019 00:08:25 GMT\"0x8D6BC7F7C976A4D\"5120share155476850592804706155476850599107187Tue, 09 Apr 2019 00:08:26 GMT\"0x8D6BC7F7CCF6C1B\"5120share155476852757806473155476852759309641Tue, 09 Apr 2019 00:08:47 GMT\"0x8D6BC7F89B00F3A\"5120share155476852980102365Tue, 09 Apr 2019 00:08:49 GMT\"0x8D6BC7F8B005BF0\"5120share155476856656600292155476856674507959Tue, 09 Apr 2019 00:09:26 GMT\"0x8D6BC7FA112F732\"5120share155476856885709152Tue, 09 Apr 2019 00:09:28 GMT\"0x8D6BC7FA2557BB5\"5120share155476863244904949Tue, 09 Apr 2019 00:10:32 GMT\"0x8D6BC7FC83EFA77\"5120share155476863535008494155476863570305271Tue, 09 Apr 2019 00:10:35 GMT\"0x8D6BC7FCA2FC926\"5120share155476865943308691Tue, 09 Apr 2019 00:10:59 GMT\"0x8D6BC7FD853FF98\"5120share155476866240807893155476866276704727Tue, 09 Apr 2019 00:11:02 GMT\"0x8D6BC7FDA5082D2\"5120share155476868218009780155476868235304727Tue, 09 Apr 2019 00:11:22 GMT\"0x8D6BC7FE5FCE9DC\"5120share155476868800600510Tue, 09 Apr 2019 00:11:28 GMT\"0x8D6BC7FE95CAD94\"5120share155476869091401136155476869126508601Tue, 09 Apr 2019 00:11:31 GMT\"0x8D6BC7FEB4D0822\"5120share155476871168505595155476871185701462Tue, 09 Apr 2019 00:11:51 GMT\"0x8D6BC7FF7927E16\"5120share155476874475805006155476874493808659Tue, 09 Apr 2019 00:12:25 GMT\"0x8D6BC800B4A745E\"5120share155476874690105242Tue, 09 Apr 2019 00:12:27 GMT\"0x8D6BC800C75C565\"5120share155476875206001092155476875241409773Tue, 09 Apr 2019 00:12:32 GMT\"0x8D6BC800FBFA200\"5120share155476880248305317Tue, 09 Apr 2019 00:13:22 GMT\"0x8D6BC802D993DFF\"5120share155476880545306177155476880583203834Tue, 09 Apr 2019 00:13:25 GMT\"0x8D6BC802F965397\"5120share155476888864505928155476888881909462Tue, 09 Apr 2019 00:14:48 GMT\"0x8D6BC80610D3090\"5120share155476899293006933155476899311001721Tue, 09 Apr 2019 00:16:33 GMT\"0x8D6BC809F369DB0\"5120share155476908548709722Tue, 09 Apr 2019 00:18:05 GMT\"0x8D6BC80D645612F\"5120share155476908868904195155476908904003064Tue, 09 Apr 2019 00:18:09 GMT\"0x8D6BC80D863A958\"5120share155476909980609434Tue, 09 Apr 2019 00:18:19 GMT\"0x8D6BC80DECE268E\"5120share155476910281904976155476910319003432Tue, 09 Apr 2019 00:18:23 GMT\"0x8D6BC80E0D4235F\"5120share155476913684100960Tue, 09 Apr 2019 00:18:56 GMT\"0x8D6BC80F4E4E108\"5120share155476913787408958Tue, 09 Apr 2019 00:18:58 GMT\"0x8D6BC80F5820C56\"5120share155476913976300123155476914012502697Tue, 09 Apr 2019 00:19:00 GMT\"0x8D6BC80F6D9D174\"5120share155476914067107913155476914401701060Tue, 09 Apr 2019 00:19:04 GMT\"0x8D6BC80F92C192D\"5120share155476914792003023155476914809807978Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FB98086D\"5120share155476914816001450Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FBA21BE5\"5120share155476915097103659155476915132003837Tue, 09 Apr 2019 00:19:11 GMT\"0x8D6BC80FD83B8C9\"5120share155476917672903935Tue, 09 Apr 2019 00:19:36 GMT\"0x8D6BC810CA71295\"5120share155476917952009763155476917987301193Tue, 09 Apr 2019 00:19:40 GMT\"0x8D6BC810E86FF1C\"5120share155476919071804890155476919089106036Tue, 09 Apr 2019 00:19:51 GMT\"0x8D6BC8115191B5D\"5120share155476919296302859Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC811655430E\"5120share155476919319101764155476919336803669Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC81169511B5\"5120share155476919545308814Tue, 09 Apr 2019 00:19:55 GMT\"0x8D6BC8117D2A35B\"5120share155476919567900532155476919585804561Tue, 09 Apr 2019 00:19:56 GMT\"0x8D6BC811811F934\"5120share155476920649006874155476920666505869Tue, 09 Apr 2019 00:20:06 GMT\"0x8D6BC811E81595E\"5120share155476922893709128155476922911208955Tue, 09 Apr 2019 00:20:29 GMT\"0x8D6BC812BE07699\"5120share155476923318404372Tue, 09 Apr 2019 00:20:33 GMT\"0x8D6BC812E4D5E21\"5120share155476925059001794Tue, 09 Apr 2019 00:20:50 GMT\"0x8D6BC8138ADF463\"5120share155476925356004440155476925393103687Tue, 09 Apr 2019 00:20:54 GMT\"0x8D6BC813AABBC7A\"5120share155476929764201056Tue, 09 Apr 2019 00:21:37 GMT\"0x8D6BC8154B9AB1E\"5120share155476929921903613155476929939207757Tue, 09 Apr 2019 00:21:41 GMT\"0x8D6BC8156F5F171\"5120share155476930455706190155476930492200920Tue, 09 Apr 2019 00:21:45 GMT\"0x8D6BC81591155FA\"5120share155476939253408398155476939270804066Tue, 09 Apr 2019 00:23:12 GMT\"0x8D6BC818D634979\"5120share155476946740007208Tue, 09 Apr 2019 00:24:27 GMT\"0x8D6BC81B9E9110E\"5120share155476947019106284155476947055502266Tue, 09 Apr 2019 00:24:30 GMT\"0x8D6BC81BBCA3C83\"5120share155476950493004815Tue, 09 Apr 2019 00:25:05 GMT\"0x8D6BC81D0474349\"5120share155476950777909601155476950813509107Tue, 09 Apr 2019 00:25:08 GMT\"0x8D6BC81D2310748\"5120share155476951815408266155476953409009620Tue, 09 Apr 2019 00:25:34 GMT\"0x8D6BC81E1A8547E\"5120share155476954514209563Tue, 09 Apr 2019 00:25:45 GMT\"0x8D6BC81E842D7B4\"5120share155476954794902021155476954830307106Tue, 09 Apr 2019 00:25:48 GMT\"0x8D6BC81EA248BAB\"5120share155476955580001453155476955597302370Tue, 09 Apr 2019 00:25:56 GMT\"0x8D6BC81EEB44D5D\"5120share155476958659300969Tue, 09 Apr 2019 00:26:26 GMT\"0x8D6BC8200F1D32F\"5120share155476958941003585155476958975801940Tue, 09 Apr 2019 00:26:29 GMT\"0x8D6BC8202D4FE31\"5120share155476964114307488155476964131504685Tue, 09 Apr 2019 00:27:21 GMT\"0x8D6BC822194155D\"5120share155476968411306454155476968428403769Tue, 09 Apr 2019 00:28:04 GMT\"0x8D6BC823B2BFB08\"5120share155476971626808737Tue, 09 Apr 2019 00:28:36 GMT\"0x8D6BC824E3EA287\"5120share155476972105905786155476972140705576Tue, 09 Apr 2019 00:28:41 GMT\"0x8D6BC82514F8A17\"5120share155476976555505046155476976573004607Tue, 09 Apr 2019 00:29:25 GMT\"0x8D6BC826BBAEF5D\"5120share155476977380801891Tue, 09 Apr 2019 00:29:33 GMT\"0x8D6BC82708B5AA2\"5120share155476995717807831Tue, 09 Apr 2019 00:32:37 GMT\"0x8D6BC82DDD891C2\"5120share155476995999104481155476996033909155Tue, 09 Apr 2019 00:32:40 GMT\"0x8D6BC82DFBAE58B\"5120share155477000943707763155477000964807043Tue, 09 Apr 2019 00:33:29 GMT\"0x8D6BC82FD1F5667\"5120share155480772852505654Tue, 09 Apr 2019 11:02:08 GMT\"0x8D6BCDACF62C049\"5120share155480773110506552155480773127501332Tue, 09 Apr 2019 11:02:11 GMT\"0x8D6BCDAD0E9ACB2\"5120share155480776409606766155480776417904835Tue, 09 Apr 2019 11:02:44 GMT\"0x8D6BCDAE4867510\"5120share155480776694805660Tue, 09 Apr 2019 11:02:49 GMT\"0x8D6BCDAE7B2553B\"5120share155480777833501686155480777940002178Tue, 09 Apr 2019 11:02:59 GMT\"0x8D6BCDAEDA584FA\"5120share155480794441908831155480794614402045Tue, 09 Apr 2019 11:05:46 GMT\"0x8D6BCDB511E3A7E\"5120share155480838272308971Tue, 09 Apr 2019 11:13:02 GMT\"0x8D6BCDC55308631\"5120share155480838569107929155480838575305746Tue, 09 Apr 2019 11:13:05 GMT\"0x8D6BCDC56FF7011\"5120share155480840927004361155480840928909324Tue, 09 Apr 2019 11:13:29 GMT\"0x8D6BCDC6506EC70\"5120share155480861063907178Tue, 09 Apr 2019 11:16:50 GMT\"0x8D6BCDCDD0822AE\"5120share155480862463105296Tue, 09 Apr 2019 11:17:04 GMT\"0x8D6BCDCE57D7B96\"5120share155480862643008694155480862661203489Tue, 09 Apr 2019 11:17:06 GMT\"0x8D6BCDCE6936C52\"5120share155480862803409284155480862810302824Tue, 09 Apr 2019 11:17:08 GMT\"0x8D6BCDCE770CC18\"5120share155480865812101922155480865821104214Tue, 09 Apr 2019 11:17:38 GMT\"0x8D6BCDCF96916EB\"5120share155480868606501887155480868609406416Tue, 09 Apr 2019 11:18:06 GMT\"0x8D6BCDD0A00E67C\"5120share155480889003904019Tue, 09 Apr 2019 11:21:32 GMT\"0x8D6BCDD84F6F82E\"5120share155480889568307939155480889583203255Tue, 09 Apr 2019 11:21:35 GMT\"0x8D6BCDD870F6BA3\"5120share155480897029709318155480897037300585Tue, 09 Apr 2019 11:22:50 GMT\"0x8D6BCDDB37953D4\"5120share155480906424102615Tue, 09 Apr 2019 11:24:24 GMT\"0x8D6BCDDEB6B81B1\"5120share155480930375303643Tue, 09 Apr 2019 11:28:23 GMT\"0x8D6BCDE7A28B8DB\"5120share155480930894709325155480930937004652Tue, 09 Apr 2019 11:28:29 GMT\"0x8D6BCDE7D818C36\"5120share155480933774208533155480933783509305Tue, 09 Apr 2019 11:28:57 GMT\"0x8D6BCDE8E7BF8F9\"5120share155480969517400844Tue, 09 Apr 2019 11:34:55 GMT\"0x8D6BCDF63A050C3\"5120share155480969888707795155480969893306849Tue, 09 Apr 2019 11:34:58 GMT\"0x8D6BCDF65B54921\"5120share155480974335804699155480974338902814Tue, 09 Apr 2019 11:35:43 GMT\"0x8D6BCDF8036DDF6\"5120share155481008340704248Tue, 09 Apr 2019 11:41:23 GMT\"0x8D6BCE04ADDD8A2\"5120share155481008549406718155481008554100937Tue, 09 Apr 2019 11:41:27 GMT\"0x8D6BCE04D31B524\"5120share155481012778602365155481012781701628Tue, 09 Apr 2019 11:42:07 GMT\"0x8D6BCE06555DFCE\"5120share155481034990901641Tue, 09 Apr 2019 11:45:50 GMT\"0x8D6BCE0E9CADC7F\"5120share155481035603904965155481035641604476Tue, 09 Apr 2019 11:45:56 GMT\"0x8D6BCE0EDAB9351\"5120share155481041106406083155481041124001246Tue, 09 Apr 2019 11:46:51 GMT\"0x8D6BCE10E67C485\"5120share155481070004408686Tue, 09 Apr 2019 11:51:40 GMT\"0x8D6BCE1BA7CCA86\"5120share155481070331300500155481070366508716Tue, 09 Apr 2019 11:51:43 GMT\"0x8D6BCE1BCA4D32F\"5120share155481077062801299155481077080301740Tue, 09 Apr 2019 11:52:50 GMT\"0x8D6BCE1E4A8AC5E\"5120share155481104696407257Tue, 09 Apr 2019 11:57:27 GMT\"0x8D6BCE28944219B\"5120share155481105069503376155481105104709050Tue, 09 Apr 2019 11:57:31 GMT\"0x8D6BCE28BB2F5EB\"5120share155481110393104766155481110410301124Tue, 09 Apr 2019 11:58:24 GMT\"0x8D6BCE2AB5E84AC\"5120share155489412862807371Wed, 10 Apr 2019 11:02:08 GMT\"0x8D6BDA3F9C8FD9B\"5120share155489413277909619155489413286706477Wed, 10 Apr 2019 11:02:12 GMT\"0x8D6BDA3FC41DB4E\"5120share155489415671304108155489415677606190Wed, 10 Apr 2019 11:02:36 GMT\"0x8D6BDA40A819FF1\"5120share155489416756705091Wed, 10 Apr 2019 11:02:47 GMT\"0x8D6BDA410EF2DA1\"5120share155489416916801489155489416921506591Wed, 10 Apr 2019 11:02:49 GMT\"0x8D6BDA412270A05\"5120share155489422601500459155489422611702482Wed, 10 Apr 2019 11:03:46 GMT\"0x8D6BDA433D48934\"5120share155489422827708423Wed, 10 Apr 2019 11:03:48 GMT\"0x8D6BDA4351DC470\"5120share155489454656606719Wed, 10 Apr 2019 11:09:06 GMT\"0x8D6BDA4F2FC5650\"5120share155489455422603360155489455439702529Wed, 10 Apr 2019 11:09:14 GMT\"0x8D6BDA4F782E06A\"5120share155489458258002289155489458262309243Wed, 10 Apr 2019 11:09:42 GMT\"0x8D6BDA50855B498\"5120share155489482947807877Wed, 10 Apr 2019 11:13:53 GMT\"0x8D6BDA59DEC0FEB\"5120share155489483786706760155489483837601083Wed, 10 Apr 2019 11:14:00 GMT\"0x8D6BDA5A1B99935\"5120share155489488327604413155489488334906059Wed, 10 Apr 2019 11:14:43 GMT\"0x8D6BDA5BB9978AF\"5120share155489492123309454Wed, 10 Apr 2019 11:15:21 GMT\"0x8D6BDA5D248D84A\"5120share155489492507607432155489492526001236Wed, 10 Apr 2019 11:15:25 GMT\"0x8D6BDA5D4933469\"5120share155489496225207071155489496234109679Wed, 10 Apr 2019 11:16:02 GMT\"0x8D6BDA5EAAD1456\"5120share155489509528801814Wed, 10 Apr 2019 11:18:15 GMT\"0x8D6BDA63A229516\"5120share155489509735407356155489510215103908Wed, 10 Apr 2019 11:18:22 GMT\"0x8D6BDA63E2E9C02\"5120share155489515091603004155489515099201262Wed, 10 Apr 2019 11:19:11 GMT\"0x8D6BDA65B20F8F3\"5120share155489547884803269Wed, 10 Apr 2019 11:24:38 GMT\"0x8D6BDA71E86E5E0\"5120share155489548454903275155489548483004021Wed, 10 Apr 2019 11:24:44 GMT\"0x8D6BDA722179E7F\"5120share155489552181808130155489552185003544Wed, 10 Apr 2019 11:25:22 GMT\"0x8D6BDA73872431F\"5120share155489582839504190Wed, 10 Apr 2019 11:30:28 GMT\"0x8D6BDA7EEDEBFDD\"5120share155489582984702446155489583159500319Wed, 10 Apr 2019 11:30:31 GMT\"0x8D6BDA7F0C46DE4\"5120share155489586173909876155489586175402656Wed, 10 Apr 2019 11:31:02 GMT\"0x8D6BDA802F14681\"5120share155489619289500492Wed, 10 Apr 2019 11:36:32 GMT\"0x8D6BDA8C8219F23\"5120share155489619393006230155489619397709077Wed, 10 Apr 2019 11:36:34 GMT\"0x8D6BDA8C8C592C3\"5120share155489622564303022155489622565908804Wed, 10 Apr 2019 11:37:05 GMT\"0x8D6BDA8DBD04781\"5120share155489646131309214Wed, 10 Apr 2019 11:41:01 GMT\"0x8D6BDA9682F9333\"5120share155489646684205145155489646750301265Wed, 10 Apr 2019 11:41:07 GMT\"0x8D6BDA96BE064BB\"5120share155489652175004438155489652192700531Wed, 10 Apr 2019 11:42:02 GMT\"0x8D6BDA98C503695\"5120share155489681486003455Wed, 10 Apr 2019 11:46:54 GMT\"0x8D6BDAA3AE74A21\"5120share155489681884608063155489681919608330Wed, 10 Apr 2019 11:46:59 GMT\"0x8D6BDAA3D7CB218\"5120share155489687019401343155489687037106917Wed, 10 Apr 2019 11:47:50 GMT\"0x8D6BDAA5BFCC6A5\"5120share155489714481609238Wed, 10 Apr 2019 11:52:24 GMT\"0x8D6BDAAFF95A52E\"5120share155489714807504789155489714842701455Wed, 10 Apr 2019 11:52:28 GMT\"0x8D6BDAB01BBB9AA\"5120share155489720343801332155489720361300530Wed, 10 Apr 2019 11:53:23 GMT\"0x8D6BDAB22A213DA\"5120share155498052189005973Thu, 11 Apr 2019 11:02:03 GMT\"0x8D6BE6D20C5A27A\"5120share155498052486307452155498052494601328Thu, 11 Apr 2019 11:02:04 GMT\"0x8D6BE6D21F3FD4A\"5120share155498054458201295155498054462607374Thu, 11 Apr 2019 11:02:24 GMT\"0x8D6BE6D2DAF2F37\"5120share155498057256409560Thu, 11 Apr 2019 11:02:52 GMT\"0x8D6BE6D3E5B0100\"5120share155498057900203212155498058058503101Thu, 11 Apr 2019 11:03:00 GMT\"0x8D6BE6D4322EAB8\"5120share155498066045708716155498066054002568Thu, 11 Apr 2019 11:04:20 GMT\"0x8D6BE6D72CA6F35\"5120share155498100392305925Thu, 11 Apr 2019 11:10:03 GMT\"0x8D6BE6E3F6D7332\"5120share155498100486605985155498100492408541Thu, 11 Apr 2019 11:10:04 GMT\"0x8D6BE6E400669DB\"5120share155498102575801912155498102577004454Thu, 11 Apr 2019 11:10:25 GMT\"0x8D6BE6E4C72FBE0\"5120share155498118716109200Thu, 11 Apr 2019 11:13:07 GMT\"0x8D6BE6EACAE6539\"5120share155498119088009096155498119109803405Thu, 11 Apr 2019 11:13:11 GMT\"0x8D6BE6EAF0745E6\"5120share155498123278401216Thu, 11 Apr 2019 11:13:53 GMT\"0x8D6BE6EC7F7A018\"5120share155498123486100245155498123504606077Thu, 11 Apr 2019 11:13:55 GMT\"0x8D6BE6EC937DC9E\"5120share155498125173204844155498125181103614Thu, 11 Apr 2019 11:14:11 GMT\"0x8D6BE6ED337568F\"5120share155498127070203605155498127090200772Thu, 11 Apr 2019 11:14:30 GMT\"0x8D6BE6EDE96DD2C\"5120share155498149053803558Thu, 11 Apr 2019 11:18:13 GMT\"0x8D6BE6F632FC122\"5120share155498149486704484155498149491504102Thu, 11 Apr 2019 11:18:15 GMT\"0x8D6BE6F644A9B3B\"5120share155498155460200751155498155462406088Thu, 11 Apr 2019 11:19:14 GMT\"0x8D6BE6F87ADF271\"5120share155498183671704701Thu, 11 Apr 2019 11:23:55 GMT\"0x8D6BE702ECFDF92\"5120share155498183865606144155498183870405710Thu, 11 Apr 2019 11:23:57 GMT\"0x8D6BE702FFE177F\"5120share155498188735506358155498188738804227Thu, 11 Apr 2019 11:24:47 GMT\"0x8D6BE704DFE05C3\"5120share155498217286508991Thu, 11 Apr 2019 11:29:32 GMT\"0x8D6BE70F82F0421\"5120share155498217391907065155498217398104387Thu, 11 Apr 2019 11:29:34 GMT\"0x8D6BE70F8D9643C\"5120share155498221400709049155498221402206456Thu, 11 Apr 2019 11:30:14 GMT\"0x8D6BE7110E9F384\"5120share155498253737503811Thu, 11 Apr 2019 11:35:37 GMT\"0x8D6BE71D1727116\"5120share155498253857505289155498253935506389Thu, 11 Apr 2019 11:35:39 GMT\"0x8D6BE71D29F6801\"5120share155498256201107590155498256205807686Thu, 11 Apr 2019 11:36:02 GMT\"0x8D6BE71E0282811\"5120share155498278528305699Thu, 11 Apr 2019 11:39:45 GMT\"0x8D6BE7265497F4F\"5120share155498278829705785155498278865706979Thu, 11 Apr 2019 11:39:48 GMT\"0x8D6BE72674C1598\"5120share155498284418801730155498284436204192Thu, 11 Apr 2019 11:40:44 GMT\"0x8D6BE72887F563D\"5120share155498314636609246Thu, 11 Apr 2019 11:45:46 GMT\"0x8D6BE733C80D62F\"5120share155498314958405145155498314993401182Thu, 11 Apr 2019 11:45:50 GMT\"0x8D6BE733EB4DDC6\"5120share155498320380202916155498320397803097Thu, 11 Apr 2019 11:46:44 GMT\"0x8D6BE735ED74285\"5120share155498348631909500Thu, 11 Apr 2019 11:51:26 GMT\"0x8D6BE740722A624\"5120share155498349006200479155498349041201049Thu, 11 Apr 2019 11:51:30 GMT\"0x8D6BE7409936A5D\"5120share155498355074904797155498355091806030Thu, 11 Apr 2019 11:52:31 GMT\"0x8D6BE742DA3712E\"5120share155506715001008005Fri, 12 Apr 2019 11:05:50 GMT\"0x8D6BF36D280C86E\"5120share155506715554809020Fri, 12 Apr 2019 11:05:58 GMT\"0x8D6BF36D7A9DABD\"5120share155506716051807380155506716056903734Fri, 12 Apr 2019 11:06:00 GMT\"0x8D6BF36D8CB60FE\"5120share155506716156004041155506716164300511Fri, 12 Apr 2019 11:06:01 GMT\"0x8D6BF36D972DBD5\"5120share155506718476800145155506718480807242Fri, 12 Apr 2019 11:06:24 GMT\"0x8D6BF36E7419A66\"5120share155506724070107848155506724072501640Fri, 12 Apr 2019 11:07:20 GMT\"0x8D6BF3708928851\"5120share155506760045707115Fri, 12 Apr 2019 11:13:20 GMT\"0x8D6BF37DEFC3BC5\"5120share155506760361709232155506760364602112Fri, 12 Apr 2019 11:13:23 GMT\"0x8D6BF37E0E27E8F\"5120share155506762550205666155506762551700839Fri, 12 Apr 2019 11:13:45 GMT\"0x8D6BF37EDEBB5ED\"5120share155506775710503556Fri, 12 Apr 2019 11:15:57 GMT\"0x8D6BF383C5BE969\"5120share155506775914206834155506775939104602Fri, 12 Apr 2019 11:15:59 GMT\"0x8D6BF383DD9C789\"5120share155506780025406685155506780027400077Fri, 12 Apr 2019 11:16:43 GMT\"0x8D6BF3857EB4AAC\"5120share155506782349400072Fri, 12 Apr 2019 11:17:03 GMT\"0x8D6BF3864075C02\"5120share155506782529308699155506782548108688Fri, 12 Apr 2019 11:17:05 GMT\"0x8D6BF3865239620\"5120share155506785583100253155506785592602106Fri, 12 Apr 2019 11:17:35 GMT\"0x8D6BF387748C0B8\"5120share155506798629003189Fri, 12 Apr 2019 11:19:46 GMT\"0x8D6BF38C50D041D\"5120share155506798697509537155506798958607431Fri, 12 Apr 2019 11:19:49 GMT\"0x8D6BF38C715AB43\"5120share155506802218702711155506802412507312Fri, 12 Apr 2019 11:20:24 GMT\"0x8D6BF38DB82D2CD\"5120share155506830326102475Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF3981E69A84\"5120share155506830378004443155506830384200380Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF39823D8FC2\"5120share155506833333309950155506833336407734Fri, 12 Apr 2019 11:25:33 GMT\"0x8D6BF3993D61B9D\"5120share155506863762208674Fri, 12 Apr 2019 11:30:37 GMT\"0x8D6BF3A4930319C\"5120share155506863833206169155506863837809068Fri, 12 Apr 2019 11:30:38 GMT\"0x8D6BF3A49A59306\"5120share155506866511003689155506866514106110Fri, 12 Apr 2019 11:31:05 GMT\"0x8D6BF3A5997F3BE\"5120share155506897142509196Fri, 12 Apr 2019 11:36:11 GMT\"0x8D6BF3B102C6967\"5120share155506897230405925155506897235101961Fri, 12 Apr 2019 11:36:12 GMT\"0x8D6BF3B10B83AAD\"5120share155506900156507816155506900158101898Fri, 12 Apr 2019 11:36:41 GMT\"0x8D6BF3B2225FF10\"5120share155506922733502087Fri, 12 Apr 2019 11:40:27 GMT\"0x8D6BF3BA8C23585\"5120share155506923038104120155506923074402676Fri, 12 Apr 2019 11:40:30 GMT\"0x8D6BF3BAACA866A\"5120share155506928568601336155506928586704986Fri, 12 Apr 2019 11:41:25 GMT\"0x8D6BF3BCBA3278F\"5120share155506957242005394Fri, 12 Apr 2019 11:46:12 GMT\"0x8D6BF3C767049A5\"5120share155506957743506847155506957779804584Fri, 12 Apr 2019 11:46:17 GMT\"0x8D6BF3C79A3E022\"5120share155506963326709082155506963344002439Fri, 12 Apr 2019 11:47:13 GMT\"0x8D6BF3C9ACD0D96\"5120share155506990427401355Fri, 12 Apr 2019 11:51:44 GMT\"0x8D6BF3D3C3FB7D7\"5120share155506990726700768155506990858704284Fri, 12 Apr 2019 11:51:48 GMT\"0x8D6BF3D3ED1EDD2\"5120share155506996647800617155506996664704791Fri, 12 Apr 2019 11:52:46 GMT\"0x8D6BF3D616C706B\"5120share155512644720907744Sat, 13 Apr 2019 03:34:07 GMT\"0x8D6BFC0E2A1A83B\"5120share155512645443804909155512645573404643Sat, 13 Apr 2019 03:34:16 GMT\"0x8D6BFC0E7C4CE99\"5120share155512656455209259155512656522205112Sat, 13 Apr 2019 03:36:05 GMT\"0x8D6BFC128E570AB\"5120share155512679757904247Sat, 13 Apr 2019 03:39:57 GMT\"0x8D6BFC1B3655FDB\"5120share155515332953602339Sat, 13 Apr 2019 11:02:09 GMT\"0x8D6BFFF797F7F67\"5120share155515333132005839155515333134603307Sat, 13 Apr 2019 11:02:11 GMT\"0x8D6BFFF7A9394FF\"5120share155515334716009504155515334717208600Sat, 13 Apr 2019 11:02:27 GMT\"0x8D6BFFF84025D13\"5120share155515337211202917Sat, 13 Apr 2019 11:02:52 GMT\"0x8D6BFFF93019996\"5120share155515337799207116155515337815203201Sat, 13 Apr 2019 11:02:58 GMT\"0x8D6BFFF9682A8F3\"5120share155515343857608004155515343865600233Sat, 13 Apr 2019 11:03:58 GMT\"0x8D6BFFFBAAECD7F\"5120share155515373957208433Sat, 13 Apr 2019 11:08:59 GMT\"0x8D6C0006DE70B38\"5120share155515375889701481155515375893402001Sat, 13 Apr 2019 11:09:18 GMT\"0x8D6C00079709685\"5120share155515379789204290155515379790606876Sat, 13 Apr 2019 11:09:57 GMT\"0x8D6C00090AA0CB1\"5120share155515394778104787Sat, 13 Apr 2019 11:12:27 GMT\"0x8D6C000EA00F332\"5120share155515394918607154155515394934805953Sat, 13 Apr 2019 11:12:29 GMT\"0x8D6C000EB2187B3\"5120share155515397662402015155515397664207701Sat, 13 Apr 2019 11:12:56 GMT\"0x8D6C000FB3464BC\"5120share155515407173608133Sat, 13 Apr 2019 11:14:31 GMT\"0x8D6C0013400A2AC\"5120share155515407347804860155515407365704793Sat, 13 Apr 2019 11:14:33 GMT\"0x8D6C00135109915\"5120share155515410200606372155515410209601041Sat, 13 Apr 2019 11:15:02 GMT\"0x8D6C001460400F2\"5120share155515419507804760Sat, 13 Apr 2019 11:16:35 GMT\"0x8D6C0017D8E82B7\"5120share155515419609804201155515419614704354Sat, 13 Apr 2019 11:16:36 GMT\"0x8D6C0017E0B210D\"5120share155515423073708967155515423286302712Sat, 13 Apr 2019 11:17:12 GMT\"0x8D6C00193ED63DD\"5120share155515451710102731Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023D5909E7\"5120share155515451771906465155515451778307619Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023DC196A4\"5120share155515455158703949155515455160200624Sat, 13 Apr 2019 11:22:31 GMT\"0x8D6C00251EA8AEC\"5120share155515484116005106Sat, 13 Apr 2019 11:27:21 GMT\"0x8D6C002FE7F89F9\"5120share155515484246808118155515484251102561Sat, 13 Apr 2019 11:27:22 GMT\"0x8D6C002FF4D9836\"5120share155515486366505500155515486369609506Sat, 13 Apr 2019 11:27:43 GMT\"0x8D6C0030BEE82E6\"5120share155515518956908415Sat, 13 Apr 2019 11:33:09 GMT\"0x8D6C003CE2CBFF5\"5120share155515519023504740155515519028205997Sat, 13 Apr 2019 11:33:10 GMT\"0x8D6C003CE995C00\"5120share155515521208103058155515521209704227Sat, 13 Apr 2019 11:33:32 GMT\"0x8D6C003DB994D13\"5120share155515544412001539Sat, 13 Apr 2019 11:37:24 GMT\"0x8D6C00465F85EFF\"5120share155515544701403547155515544736709856Sat, 13 Apr 2019 11:37:27 GMT\"0x8D6C00467E74ACD\"5120share155515549960109573155515549977503756Sat, 13 Apr 2019 11:38:19 GMT\"0x8D6C0048723AF04\"5120share155515575696104941Sat, 13 Apr 2019 11:42:37 GMT\"0x8D6C005207046CB\"5120share155515576002205864155515576037106690Sat, 13 Apr 2019 11:42:40 GMT\"0x8D6C00522778CA6\"5120share155515581335804060155515581353108782Sat, 13 Apr 2019 11:43:33 GMT\"0x8D6C0054226BC2D\"5120share155515609277909871Sat, 13 Apr 2019 11:48:12 GMT\"0x8D6C005E899CD33\"5120share155515609680009591155515609726705954Sat, 13 Apr 2019 11:48:17 GMT\"0x8D6C005EB46D13E\"5120share155515614666004322155515614683202492Sat, 13 Apr 2019 11:49:06 GMT\"0x8D6C00608D0D7EA\"5120share155523972563402918Sun, 14 Apr 2019 11:02:05 GMT\"0x8D6C0C8A1A57EE1\"5120share155523972846006428155523972854309146Sun, 14 Apr 2019 11:02:08 GMT\"0x8D6C0C8A354D131\"5120share155523975181800309155523975186002763Sun, 14 Apr 2019 11:02:31 GMT\"0x8D6C0C8B13AAB29\"5120share155523975476009841Sun, 14 Apr 2019 11:02:34 GMT\"0x8D6C0C8B2FACE38\"5120share155523975786403226155523975946205362Sun, 14 Apr 2019 11:02:39 GMT\"0x8D6C0C8B5C89023\"5120share155523982133602164155523982216202749Sun, 14 Apr 2019 11:03:42 GMT\"0x8D6C0C8DB30CFE3\"5120share155524013107906841Sun, 14 Apr 2019 11:08:51 GMT\"0x8D6C0C99340BE58\"5120share155524013345703248155524013348709767Sun, 14 Apr 2019 11:08:53 GMT\"0x8D6C0C994B03BFC\"5120share155524015095705974155524015097103470Sun, 14 Apr 2019 11:09:10 GMT\"0x8D6C0C99F1C0B9E\"5120share155524021269704125Sun, 14 Apr 2019 11:10:13 GMT\"0x8D6C0C9C4622350\"5120share155524021719509152155524021734908307Sun, 14 Apr 2019 11:10:17 GMT\"0x8D6C0C9C6AD286E\"5120share155524024923607696155524024925705826Sun, 14 Apr 2019 11:10:49 GMT\"0x8D6C0C9D9E7B704\"5120share155524026327306963Sun, 14 Apr 2019 11:11:03 GMT\"0x8D6C0C9E2405917\"5120share155524026548904913155524026567204179Sun, 14 Apr 2019 11:11:05 GMT\"0x8D6C0C9E37E967B\"5120share155524030632607257155524030641508963Sun, 14 Apr 2019 11:11:46 GMT\"0x8D6C0C9FBC7E024\"5120share155524044965804361Sun, 14 Apr 2019 11:14:09 GMT\"0x8D6C0CA51246B8E\"5120share155524045120102941155524045134606678Sun, 14 Apr 2019 11:14:11 GMT\"0x8D6C0CA5225F523\"5120share155524047915003736155524047977906720Sun, 14 Apr 2019 11:14:39 GMT\"0x8D6C0CA63182CCB\"5120share155524078617101300Sun, 14 Apr 2019 11:19:46 GMT\"0x8D6C0CB19B96C89\"5120share155524078937808496155524079027604566Sun, 14 Apr 2019 11:19:51 GMT\"0x8D6C0CB1CB6CC02\"5120share155524083480905582155524083484002684Sun, 14 Apr 2019 11:20:34 GMT\"0x8D6C0CB36BA42E2\"5120share155524114771102323Sun, 14 Apr 2019 11:25:47 GMT\"0x8D6C0CBF136A11B\"5120share155524115650204611155524115676003349Sun, 14 Apr 2019 11:25:56 GMT\"0x8D6C0CBF69A9C67\"5120share155524118633505833155524118636606794Sun, 14 Apr 2019 11:26:26 GMT\"0x8D6C0CC08422CA2\"5120share155524152984609186Sun, 14 Apr 2019 11:32:09 GMT\"0x8D6C0CCD4FD31E8\"5120share155524153899407575155524153904106704Sun, 14 Apr 2019 11:32:19 GMT\"0x8D6C0CCDA7676BB\"5120share155524156472600266155524156474206614Sun, 14 Apr 2019 11:32:44 GMT\"0x8D6C0CCE9C9F816\"5120share155524179352704148Sun, 14 Apr 2019 11:36:33 GMT\"0x8D6C0CD7239EB5A\"5120share155524179753806035155524179820702547Sun, 14 Apr 2019 11:36:38 GMT\"0x8D6C0CD7503C6AF\"5120share155524184816604357155524185379908254Sun, 14 Apr 2019 11:37:33 GMT\"0x8D6C0CD9626119F\"5120share155524215012701349Sun, 14 Apr 2019 11:42:30 GMT\"0x8D6C0CE46C6E1CD\"5120share155524215367607082155524215405106431Sun, 14 Apr 2019 11:42:34 GMT\"0x8D6C0CE491D1AD7\"5120share155524220627609881155524220645007845Sun, 14 Apr 2019 11:43:26 GMT\"0x8D6C0CE6857F2F2\"5120share155524250457408298Sun, 14 Apr 2019 11:48:24 GMT\"0x8D6C0CF1A0B4445\"5120share155524250759003260155524250794109789Sun, 14 Apr 2019 11:48:28 GMT\"0x8D6C0CF1C0D1857\"5120share155524256514106448155524256531804718Sun, 14 Apr 2019 11:49:25 GMT\"0x8D6C0CF3E3FA6CF\"5120share155532613122901412Mon, 15 Apr 2019 11:02:11 GMT\"0x8D6C191CF62EDAB\"5120share155532613225806589155532613234400258Mon, 15 Apr 2019 11:02:12 GMT\"0x8D6C191D0022A3A\"5120share155532615554502997155532615558408768Mon, 15 Apr 2019 11:02:35 GMT\"0x8D6C191DDDC8A54\"5120share155532623242907675Mon, 15 Apr 2019 11:03:52 GMT\"0x8D6C1920BE8AECE\"5120share155532623985301138155532624014404643Mon, 15 Apr 2019 11:04:00 GMT\"0x8D6C19210603437\"5120share155532630302204772155532630304602475Mon, 15 Apr 2019 11:05:03 GMT\"0x8D6C19235C07054\"5120share155532649710009530Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A96854B0\"5120share155532649744806724155532649747405217Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A9A16765\"5120share155532651230505127155532651232109373Mon, 15 Apr 2019 11:08:32 GMT\"0x8D6C192B27AEBD9\"5120share155532665274909034Mon, 15 Apr 2019 11:10:52 GMT\"0x8D6C193063828B5\"5120share155532665779301144155532665795305505Mon, 15 Apr 2019 11:10:58 GMT\"0x8D6C1930953F71B\"5120share155532668636605451Mon, 15 Apr 2019 11:11:26 GMT\"0x8D6C1931A84E0CB\"5120share155532668851001958155532668869708221Mon, 15 Apr 2019 11:11:28 GMT\"0x8D6C1931BA311FF\"5120share155532671950203165155532671991908048Mon, 15 Apr 2019 11:11:59 GMT\"0x8D6C1932E4225E0\"5120share155532672415401526155532672424500176Mon, 15 Apr 2019 11:12:04 GMT\"0x8D6C19330D46F6E\"5120share155532694866104349Mon, 15 Apr 2019 11:15:48 GMT\"0x8D6C193B697FC01\"5120share155532695096608028155532695134004095Mon, 15 Apr 2019 11:15:51 GMT\"0x8D6C193B8453E7E\"5120share155532699549303169155532699571103064Mon, 15 Apr 2019 11:16:35 GMT\"0x8D6C193D2A2FBE2\"5120share155532730686902441Mon, 15 Apr 2019 11:21:46 GMT\"0x8D6C1948C14A8A2\"5120share155532730821207416155532730887801551Mon, 15 Apr 2019 11:21:48 GMT\"0x8D6C1948D44F25C\"5120share155532733547106330155532733548702182Mon, 15 Apr 2019 11:22:15 GMT\"0x8D6C1949D227707\"5120share155532762909302194Mon, 15 Apr 2019 11:27:09 GMT\"0x8D6C1954C23E6E5\"5120share155532762993901249155532762998607585Mon, 15 Apr 2019 11:27:10 GMT\"0x8D6C1954CACBB19\"5120share155532766217804204155532766220901342Mon, 15 Apr 2019 11:27:42 GMT\"0x8D6C1955FE09561\"5120share155532798608100078Mon, 15 Apr 2019 11:33:06 GMT\"0x8D6C196211E0513\"5120share155532798786104582155532798790801989Mon, 15 Apr 2019 11:33:08 GMT\"0x8D6C19622172228\"5120share155532801332005290155532801333506642Mon, 15 Apr 2019 11:33:33 GMT\"0x8D6C196312AE129\"5120share155532825264602754Mon, 15 Apr 2019 11:37:32 GMT\"0x8D6C196BFDE354E\"5120share155532825615400146155532825651301297Mon, 15 Apr 2019 11:37:36 GMT\"0x8D6C196C22BF7C8\"5120share155532830944004051155532830962109665Mon, 15 Apr 2019 11:38:29 GMT\"0x8D6C196E1D4B3D6\"5120share155532860283705934Mon, 15 Apr 2019 11:43:23 GMT\"0x8D6C19790B85279\"5120share155532860591402599155532860626203748Mon, 15 Apr 2019 11:43:26 GMT\"0x8D6C19792C39B8A\"5120share155532865928107481155532865946409770Mon, 15 Apr 2019 11:44:19 GMT\"0x8D6C197B25D3B4C\"5120share155532894816307878Mon, 15 Apr 2019 11:49:08 GMT\"0x8D6C1985E709657\"5120share155532895115005912155532895150108737Mon, 15 Apr 2019 11:49:11 GMT\"0x8D6C198606E1B49\"5120share155532900519604536155532900537002394Mon, 15 Apr 2019 11:50:05 GMT\"0x8D6C1988089C37B\"5120share155541254266906758Tue, 16 Apr 2019 11:02:24 GMT\"0x8D6C25B01E63294\"5120share155541254704901514155541254722205184Tue, 16 Apr 2019 11:02:27 GMT\"0x8D6C25B034F0342\"5120share155541257726609606155541257735100960Tue, 16 Apr 2019 11:02:57 GMT\"0x8D6C25B154451E5\"5120share155541258394001344Tue, 16 Apr 2019 11:03:06 GMT\"0x8D6C25B1A99310F\"5120share155541259331901356155541259718300665Tue, 16 Apr 2019 11:03:17 GMT\"0x8D6C25B21238E58\"5120share155541275463405342155541275509408341Tue, 16 Apr 2019 11:05:56 GMT\"0x8D6C25B7FDAE42C\"5120share155541332218001340Tue, 16 Apr 2019 11:15:22 GMT\"0x8D6C25CD1313106\"5120share155541333391202994155541333394201763Tue, 16 Apr 2019 11:15:33 GMT\"0x8D6C25CD833D6F8\"5120share155541336698403997155541336700200957Tue, 16 Apr 2019 11:16:07 GMT\"0x8D6C25CEBE8BE26\"5120share155541340019809612Tue, 16 Apr 2019 11:16:42 GMT\"0x8D6C25D00C4E301\"5120share155541340431404906155541340450501927Tue, 16 Apr 2019 11:16:45 GMT\"0x8D6C25D029765BC\"5120share155541351620901519155541351633009731Tue, 16 Apr 2019 11:18:36 GMT\"0x8D6C25D44F2CB83\"5120share155541365388401666Tue, 16 Apr 2019 11:20:54 GMT\"0x8D6C25D97184EBA\"5120share155541365734901246155541365753206510Tue, 16 Apr 2019 11:20:57 GMT\"0x8D6C25D99195E68\"5120share155541368795303261155541368804508446Tue, 16 Apr 2019 11:21:28 GMT\"0x8D6C25DAB4935EB\"5120share155541380951505125Tue, 16 Apr 2019 11:23:30 GMT\"0x8D6C25DF41B7633\"5120share155541381521101270155541381537608334Tue, 16 Apr 2019 11:23:35 GMT\"0x8D6C25DF78136DD\"5120share155541389134901136155541389142503336Tue, 16 Apr 2019 11:24:52 GMT\"0x8D6C25E24E9DEEC\"5120share155541423557305011Tue, 16 Apr 2019 11:30:35 GMT\"0x8D6C25EF1A0EFED\"5120share155541424210207450155541424307606173Tue, 16 Apr 2019 11:30:43 GMT\"0x8D6C25EF61A1F1E\"5120share155541428387009705155541428390104095Tue, 16 Apr 2019 11:31:24 GMT\"0x8D6C25F0EA4F648\"5120share155541460901500620Tue, 16 Apr 2019 11:36:49 GMT\"0x8D6C25FD0587C69\"5120share155541460989209750155541460997003508Tue, 16 Apr 2019 11:36:50 GMT\"0x8D6C25FD0ECE125\"5120share155541463453808516155541463456909627Tue, 16 Apr 2019 11:37:14 GMT\"0x8D6C25FDF70CD23\"5120share155541495149601147Tue, 16 Apr 2019 11:42:31 GMT\"0x8D6C2609C597458\"5120share155541495234103609155541495238807035Tue, 16 Apr 2019 11:42:32 GMT\"0x8D6C2609CDFEC22\"5120share155541498022705756155541498024304069Tue, 16 Apr 2019 11:43:00 GMT\"0x8D6C260AD7AF75C\"5120share155541521993507818Tue, 16 Apr 2019 11:47:00 GMT\"0x8D6C2613C6CE4FD\"5120share155541522302504398155541522343008691Tue, 16 Apr 2019 11:47:03 GMT\"0x8D6C2613E8133C2\"5120share155541528560504973155541528889003453Tue, 16 Apr 2019 11:48:09 GMT\"0x8D6C26165851668\"5120share155541557757802202Tue, 16 Apr 2019 11:52:57 GMT\"0x8D6C26211976A21\"5120share155541558548808426155541558584407224Tue, 16 Apr 2019 11:53:05 GMT\"0x8D6C2621684B2B8\"5120share155541563573506420155541563590907833Tue, 16 Apr 2019 11:53:56 GMT\"0x8D6C262348D397D\"5120share155541593216004589Tue, 16 Apr 2019 11:58:52 GMT\"0x8D6C262E4F09A4B\"5120share155541593570005076155541593605107442Tue, 16 Apr 2019 11:58:56 GMT\"0x8D6C262E742269D\"5120share155541599013809500155541599031301890Tue, 16 Apr 2019 11:59:50 GMT\"0x8D6C26307993211\"5120share155549893423105655Wed, 17 Apr 2019 11:02:16 GMT\"0x8D6C324271BAA36\"5120share155549893951306087155549893970607676Wed, 17 Apr 2019 11:02:19 GMT\"0x8D6C324293F0208\"5120share155549897171300831Wed, 17 Apr 2019 11:02:52 GMT\"0x8D6C3243CF9A634\"5120share155549897401609400155549897410205483Wed, 17 Apr 2019 11:02:54 GMT\"0x8D6C3243DBFA4FC\"5120share155549897546703999155549897569707719Wed, 17 Apr 2019 11:02:55 GMT\"0x8D6C3243EB9C89B\"5120share155549906322000959155549906330109486Wed, 17 Apr 2019 11:04:23 GMT\"0x8D6C32472F134A6\"5120share155549965941700512Wed, 17 Apr 2019 11:14:19 GMT\"0x8D6C325D63A5B3F\"5120share155549966157400319155549966175200315Wed, 17 Apr 2019 11:14:21 GMT\"0x8D6C325D79DA5B7\"5120share155549971518608598155549971561404891Wed, 17 Apr 2019 11:15:15 GMT\"0x8D6C325F7B8AFA3\"5120share155549978405302833Wed, 17 Apr 2019 11:16:24 GMT\"0x8D6C326207DB3DC\"5120share155549978511702131155549978517806033Wed, 17 Apr 2019 11:16:25 GMT\"0x8D6C32621294535\"5120share155549980131605649155549980133103239Wed, 17 Apr 2019 11:16:41 GMT\"0x8D6C3262ACA3D2C\"5120share155550002738005277Wed, 17 Apr 2019 11:20:27 GMT\"0x8D6C326B1A24665\"5120share155550002983909494155550003002100264Wed, 17 Apr 2019 11:20:30 GMT\"0x8D6C326B31EBAA7\"5120share155550006142202418155550006151604324Wed, 17 Apr 2019 11:21:01 GMT\"0x8D6C326C5E429E5\"5120share155550009606909758Wed, 17 Apr 2019 11:21:36 GMT\"0x8D6C326DA7D5D08\"5120share155550009760705130155550011425007819Wed, 17 Apr 2019 11:21:54 GMT\"0x8D6C326E553CE47\"5120share155550015985409525155550015992505947Wed, 17 Apr 2019 11:22:39 GMT\"0x8D6C327008D05C8\"5120share155550051259905095Wed, 17 Apr 2019 11:28:32 GMT\"0x8D6C327D2EAB6BB\"5120share155550051502006429155550051529202610Wed, 17 Apr 2019 11:28:35 GMT\"0x8D6C327D459D250\"5120share155550055250105787155550055253306514Wed, 17 Apr 2019 11:29:12 GMT\"0x8D6C327EAA8ACA5\"5120share155550088263301102Wed, 17 Apr 2019 11:34:42 GMT\"0x8D6C328AF698573\"5120share155550088987503055155550088992208325Wed, 17 Apr 2019 11:34:50 GMT\"0x8D6C328B3C5CE25\"5120share155550092694403401155550092964703585Wed, 17 Apr 2019 11:35:29 GMT\"0x8D6C328CB52F6FE\"5120share155550128719404242Wed, 17 Apr 2019 11:41:27 GMT\"0x8D6C329A06FBC14\"5120share155550128869409229155550128926507283Wed, 17 Apr 2019 11:41:29 GMT\"0x8D6C329A1ABFF33\"5120share155550132367805226155550132369307996Wed, 17 Apr 2019 11:42:03 GMT\"0x8D6C329B631B774\"5120share155550156726204845Wed, 17 Apr 2019 11:46:07 GMT\"0x8D6C32A4770EF93\"5120share155550157040602071155550157076409850Wed, 17 Apr 2019 11:46:10 GMT\"0x8D6C32A4985D59F\"5120share155550163293808211155550163312201213Wed, 17 Apr 2019 11:47:13 GMT\"0x8D6C32A6EB141F0\"5120share155550197119504850Wed, 17 Apr 2019 11:52:51 GMT\"0x8D6C32B3833750F\"5120share155550197461700480155550197501504695Wed, 17 Apr 2019 11:52:55 GMT\"0x8D6C32B3A7AC857\"5120share155550203363000262155550203381302772Wed, 17 Apr 2019 11:53:53 GMT\"0x8D6C32B5D8624BF\"5120share155550242341102516Wed, 17 Apr 2019 12:00:23 GMT\"0x8D6C32C45BDF478\"5120share155550242674407416155550242710704735Wed, 17 Apr 2019 12:00:27 GMT\"0x8D6C32C47F1FD5B\"5120share155550248691308149155550248709006105Wed, 17 Apr 2019 12:01:27 GMT\"0x8D6C32C6BB1D387\"5120share155552560545404292Wed, 17 Apr 2019 18:26:45 GMT\"0x8D6C3623F6E51E9\"5120share155552560809403357155552560834301039Wed, 17 Apr 2019 18:26:48 GMT\"0x8D6C36241013AA2\"5120share155552564907209438155552564919503843Wed, 17 Apr 2019 18:27:29 GMT\"0x8D6C362595AC1D4\"5120share155552565476607413Wed, 17 Apr 2019 18:27:35 GMT\"0x8D6C3625D267F23\"5120share155552566303103495155552566351701314Wed, 17 Apr 2019 18:27:43 GMT\"0x8D6C36261F69DD9\"5120share155552578011908260155552578062307634Wed, 17 Apr 2019 18:29:40 GMT\"0x8D6C362A7C38020\"5120share155552614480001295Wed, 17 Apr 2019 18:35:47 GMT\"0x8D6C363823B7554\"5120share155552615120901855155552615136405806Wed, 17 Apr 2019 18:35:51 GMT\"0x8D6C36384A975B8\"5120share155552615366401269Wed, 17 Apr 2019 18:35:53 GMT\"0x8D6C36385FEA70C\"5120share155552615404704286155552615408701313Wed, 17 Apr 2019 18:35:54 GMT\"0x8D6C363863FE0E9\"5120share155552617174909395155552617176307704Wed, 17 Apr 2019 18:36:11 GMT\"0x8D6C36390C91C6B\"5120share155552622852006858155552622859402876Wed, 17 Apr 2019 18:37:08 GMT\"0x8D6C363B2B0CA30\"5120share155552628740508216Wed, 17 Apr 2019 18:38:07 GMT\"0x8D6C363D5F22384\"5120share155552629053208133155552629074209107Wed, 17 Apr 2019 18:38:10 GMT\"0x8D6C363D7BAB6CF\"5120share155552633147703067155552633156701774Wed, 17 Apr 2019 18:38:51 GMT\"0x8D6C363F00FF2E5\"5120share155552648726709764Wed, 17 Apr 2019 18:41:27 GMT\"0x8D6C3644D075E26\"5120share155552649436202173155552649474208215Wed, 17 Apr 2019 18:41:35 GMT\"0x8D6C364517CAEBD\"5120share155552656168000918155552656187209904Wed, 17 Apr 2019 18:42:42 GMT\"0x8D6C36479618E75\"5120share155552693163608945Wed, 17 Apr 2019 18:48:52 GMT\"0x8D6C36556520750\"5120share155552693446204528155552693463308719Wed, 17 Apr 2019 18:48:54 GMT\"0x8D6C3655786650B\"5120share155552697993108967155552698000907445Wed, 17 Apr 2019 18:49:40 GMT\"0x8D6C36572A9F003\"5120share155552729425804271Wed, 17 Apr 2019 18:54:54 GMT\"0x8D6C3662DE20556\"5120share155552729598803339155552729614405737Wed, 17 Apr 2019 18:54:56 GMT\"0x8D6C3662F0A9030\"5120share155552733112600872155552733118908362Wed, 17 Apr 2019 18:55:31 GMT\"0x8D6C36643E5922E\"5120share155552772564603671Wed, 17 Apr 2019 19:02:05 GMT\"0x8D6C3672EF935F7\"5120share155552772624901917155552772628004531Wed, 17 Apr 2019 19:02:06 GMT\"0x8D6C3672F5BF35A\"5120share155552775724706421155552775727802514Wed, 17 Apr 2019 19:02:37 GMT\"0x8D6C36741D4B9B6\"5120share155552802670503142Wed, 17 Apr 2019 19:07:06 GMT\"0x8D6C367E2807ADC\"5120share155552803282203340155552803318603518Wed, 17 Apr 2019 19:07:13 GMT\"0x8D6C367E65B28E5\"5120share155552809032904944155552809090908066Wed, 17 Apr 2019 19:08:11 GMT\"0x8D6C36808C39DB8\"5120share155552838825607453Wed, 17 Apr 2019 19:13:08 GMT\"0x8D6C368B9FE54F7\"5120share155552839148508358155552839193408320Wed, 17 Apr 2019 19:13:12 GMT\"0x8D6C368BC2F9AEA\"5120share155552844815104394155552844833406262Wed, 17 Apr 2019 19:14:08 GMT\"0x8D6C368DDCD31FD\"5120share155552878402607069Wed, 17 Apr 2019 19:19:44 GMT\"0x8D6C369A5E49D58\"5120share155552878826702128155552878862507316Wed, 17 Apr 2019 19:19:48 GMT\"0x8D6C369A8A22518\"5120share155552884129007821155552884146501049Wed, 17 Apr 2019 19:20:41 GMT\"0x8D6C369C81F98C8\"5120share155558533127600563Thu, 18 Apr 2019 11:02:11 GMT\"0x8D6C3ED4EB5FE06\"5120share155558533326108913155558533341701278Thu, 18 Apr 2019 11:02:13 GMT\"0x8D6C3ED4FE7D39E\"5120share155558536029301808155558536036603046Thu, 18 Apr 2019 11:02:40 GMT\"0x8D6C3ED5FF94117\"5120share155558537329802053Thu, 18 Apr 2019 11:02:53 GMT\"0x8D6C3ED67E43F37\"5120share155558537790904707155558537838909948Thu, 18 Apr 2019 11:02:59 GMT\"0x8D6C3ED6B35010E\"5120share155558553437606602155558553452403381Thu, 18 Apr 2019 11:05:35 GMT\"0x8D6C3EDC8567F8E\"5120share155558600311408161Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF0CB075\"5120share155558600376909016155558600379609735Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF74C41A\"5120share155558601862101564155558601863401502Thu, 18 Apr 2019 11:13:38 GMT\"0x8D6C3EEE84CEB0A\"5120share155558617728402366Thu, 18 Apr 2019 11:16:17 GMT\"0x8D6C3EF46E0E671\"5120share155558617963201324155558617967308167Thu, 18 Apr 2019 11:16:19 GMT\"0x8D6C3EF484A4F65\"5120share155558622185704428Thu, 18 Apr 2019 11:17:02 GMT\"0x8D6C3EF61870C3D\"5120share155558622374608647155558622393206409Thu, 18 Apr 2019 11:17:03 GMT\"0x8D6C3EF62B0BF15\"5120share155558626297903235155558626308203729Thu, 18 Apr 2019 11:17:43 GMT\"0x8D6C3EF7A065E48\"5120share155558627287602013155558627333600766Thu, 18 Apr 2019 11:17:54 GMT\"0x8D6C3EF80C86890\"5120share155558650337201708Thu, 18 Apr 2019 11:21:43 GMT\"0x8D6C3F009423CB2\"5120share155558651265101014155558651330107985Thu, 18 Apr 2019 11:21:53 GMT\"0x8D6C3F00F2DD147\"5120share155558657593309443155558657601100869Thu, 18 Apr 2019 11:22:56 GMT\"0x8D6C3F0348FD711\"5120share155558692134205333Thu, 18 Apr 2019 11:28:41 GMT\"0x8D6C3F1025B7B05\"5120share155558692763501858155558692941807357Thu, 18 Apr 2019 11:28:49 GMT\"0x8D6C3F1072BC065\"5120share155558696820601017155558696822107945Thu, 18 Apr 2019 11:29:28 GMT\"0x8D6C3F11E4E16A8\"5120share155558731013204298Thu, 18 Apr 2019 11:35:10 GMT\"0x8D6C3F1EA195BC8\"5120share155558731124900977155558731129604089Thu, 18 Apr 2019 11:35:11 GMT\"0x8D6C3F1EAC9CFC1\"5120share155558735412207891155558735415409398Thu, 18 Apr 2019 11:35:54 GMT\"0x8D6C3F204555DC8\"5120share155558766508405728Thu, 18 Apr 2019 11:41:05 GMT\"0x8D6C3F2BDA95065\"5120share155558766914207910155558767009601245Thu, 18 Apr 2019 11:41:10 GMT\"0x8D6C3F2C0A65C74\"5120share155558770515003967155558770518109064Thu, 18 Apr 2019 11:41:45 GMT\"0x8D6C3F2D58FB3EA\"5120share155558793089708251Thu, 18 Apr 2019 11:45:31 GMT\"0x8D6C3F35C2C9F38\"5120share155558793444503290155558793481008090Thu, 18 Apr 2019 11:45:34 GMT\"0x8D6C3F35E81F9AC\"5120share155558799946700102155558799964409447Thu, 18 Apr 2019 11:46:39 GMT\"0x8D6C3F38527F5EE\"5120share155558831554006522Thu, 18 Apr 2019 11:51:55 GMT\"0x8D6C3F441761EFC\"5120share155558831880805187155558831916801086Thu, 18 Apr 2019 11:51:59 GMT\"0x8D6C3F4439C8AC2\"5120share155558837917309951155558837934900091Thu, 18 Apr 2019 11:52:59 GMT\"0x8D6C3F4677C5E1C\"5120share155558870281601956Thu, 18 Apr 2019 11:58:22 GMT\"0x8D6C3F528477EB6\"5120share155558870609201875155558870644608087Thu, 18 Apr 2019 11:58:26 GMT\"0x8D6C3F52A718909\"5120share155558875844500911155558875952009938Thu, 18 Apr 2019 11:59:19 GMT\"0x8D6C3F54A13F0B6\"5120share155567192576105879Fri, 19 Apr 2019 11:05:25 GMT\"0x8D6C4B6ECF03F32\"5120share155567192759500710155567192762400666Fri, 19 Apr 2019 11:05:27 GMT\"0x8D6C4B6EE0C32F4\"5120share155567194474605632155567194476809595Fri, 19 Apr 2019 11:05:44 GMT\"0x8D6C4B6F844366E\"5120share155567208446902690Fri, 19 Apr 2019 11:08:04 GMT\"0x8D6C4B74B91AD3E\"5120share155567209577205738155567209649502753Fri, 19 Apr 2019 11:08:16 GMT\"0x8D6C4B752BC478C\"5120share155567223020006989155567223027903712Fri, 19 Apr 2019 11:10:30 GMT\"0x8D6C4B7A27B037E\"5120share155567267214700785Fri, 19 Apr 2019 11:17:52 GMT\"0x8D6C4B8A9D19C03\"5120share155567267430107959155567267433708579Fri, 19 Apr 2019 11:17:54 GMT\"0x8D6C4B8AB1F421E\"5120share155567269138909553155567269140307566Fri, 19 Apr 2019 11:18:11 GMT\"0x8D6C4B8B54B0ED2\"5120share155567311897109020Fri, 19 Apr 2019 11:25:21 GMT\"0x8D6C4B9B58B66CA\"5120share155567312405708614155567312410100368Fri, 19 Apr 2019 11:25:24 GMT\"0x8D6C4B9B734CF1F\"5120share155567319408508398155567319411202788Fri, 19 Apr 2019 11:26:34 GMT\"0x8D6C4B9E0EFEFA2\"5120share155567325083704762Fri, 19 Apr 2019 11:27:31 GMT\"0x8D6C4BA02E60255\"5120share155567325320707587155567325338705102Fri, 19 Apr 2019 11:27:33 GMT\"0x8D6C4BA044A5A30\"5120share155567328437209547155567328446100050Fri, 19 Apr 2019 11:28:04 GMT\"0x8D6C4BA16CFBDB9\"5120share155567352544707619Fri, 19 Apr 2019 11:32:05 GMT\"0x8D6C4BAA674C7F0\"5120share155567352744206930155567352797607965Fri, 19 Apr 2019 11:32:08 GMT\"0x8D6C4BAA7F7D44D\"5120share155567358442406268155567358449406827Fri, 19 Apr 2019 11:33:04 GMT\"0x8D6C4BAC9A6DF39\"5120share155567398217802006Fri, 19 Apr 2019 11:39:42 GMT\"0x8D6C4BBB6AA75A8\"5120share155567398279006805155567398336005585Fri, 19 Apr 2019 11:39:43 GMT\"0x8D6C4BBB75F5426\"5120share155567403918702123155567403920200268Fri, 19 Apr 2019 11:40:39 GMT\"0x8D6C4BBD8C14626\"5120share155567436933209556Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9D6CD427\"5120share155567436990601250155567436996805574Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9DCD2726\"5120share155567440869506659155567440872700843Fri, 19 Apr 2019 11:46:48 GMT\"0x8D6C4BCB4E71856\"5120share155567477936602481Fri, 19 Apr 2019 11:52:59 GMT\"0x8D6C4BD91D41C09\"5120share155567478479206922155567478714104050Fri, 19 Apr 2019 11:53:07 GMT\"0x8D6C4BD968E8C03\"5120share155567481531606023155567481533203351Fri, 19 Apr 2019 11:53:35 GMT\"0x8D6C4BDA7451072\"5120share155567506263900872Fri, 19 Apr 2019 11:57:42 GMT\"0x8D6C4BE3ABC6304\"5120share155567506733803203155567506770005241Fri, 19 Apr 2019 11:57:47 GMT\"0x8D6C4BE3DC05814\"5120share155567519626500535155567519644501571Fri, 19 Apr 2019 11:59:56 GMT\"0x8D6C4BE8A7EB645\"5120share155567584657607063Fri, 19 Apr 2019 12:10:46 GMT\"0x8D6C4C00E00A781\"5120share155567585010305443155567585045601848Fri, 19 Apr 2019 12:10:50 GMT\"0x8D6C4C010509D14\"5120share155567590683409611155567590701101754Fri, 19 Apr 2019 12:11:47 GMT\"0x8D6C4C032053E4B\"5120share155567688970409248Fri, 19 Apr 2019 12:28:09 GMT\"0x8D6C4C27BC18845\"5120share155567689280005270155567689317004914Fri, 19 Apr 2019 12:28:13 GMT\"0x8D6C4C27DD2C5F7\"5120share155567696352901093155567696370407818Fri, 19 Apr 2019 12:29:23 GMT\"0x8D6C4C2A7DC5137\"5120share155575813209600793Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA3EA15F5\"5120share155575813264103256155575813266909560Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA4415492\"5120share155575814769709529155575814770902003Sat, 20 Apr 2019 11:02:27 GMT\"0x8D6C57FAD385350\"5120share155575815857904679Sat, 20 Apr 2019 11:02:38 GMT\"0x8D6C57FB3BCDF46\"5120share155575817852406107155575817915105783Sat, 20 Apr 2019 11:03:03 GMT\"0x8D6C57FC27AAC57\"5120share155575831923009371155575831931206134Sat, 20 Apr 2019 11:05:19 GMT\"0x8D6C580138A3A10\"5120share155575871359605018Sat, 20 Apr 2019 11:11:53 GMT\"0x8D6C580FE86A046\"5120share155575871428702299155575871431604033Sat, 20 Apr 2019 11:11:54 GMT\"0x8D6C580FEF3F7FC\"5120share155575873394302965155575873395709603Sat, 20 Apr 2019 11:12:13 GMT\"0x8D6C5810AA9800A\"5120share155575904781202748Sat, 20 Apr 2019 11:17:27 GMT\"0x8D6C581C5BB254F\"5120share155575905097005719155575905332806542Sat, 20 Apr 2019 11:17:33 GMT\"0x8D6C581C905325C\"5120share155575910684707057155575912204309650Sat, 20 Apr 2019 11:18:42 GMT\"0x8D6C581F1FB2C81\"5120share155575929713003223Sat, 20 Apr 2019 11:21:37 GMT\"0x8D6C5825A82DE07\"5120share155575930016402563155575930034609381Sat, 20 Apr 2019 11:21:40 GMT\"0x8D6C5825C478AF6\"5120share155575933047808006155575933058505517Sat, 20 Apr 2019 11:22:10 GMT\"0x8D6C5826E4D4AC9\"5120share155575961124103208Sat, 20 Apr 2019 11:26:51 GMT\"0x8D6C58315971DC5\"5120share155575961493403601155575961508806582Sat, 20 Apr 2019 11:26:55 GMT\"0x8D6C58317E6D1EC\"5120share155575966068000148155575966075709229Sat, 20 Apr 2019 11:27:40 GMT\"0x8D6C583331B0E83\"5120share155576000656408070Sat, 20 Apr 2019 11:33:26 GMT\"0x8D6C5840134EA85\"5120share155576001064302171155576001069108351Sat, 20 Apr 2019 11:33:30 GMT\"0x8D6C58403AA5B27\"5120share155576004937104562155576004940203313Sat, 20 Apr 2019 11:34:09 GMT\"0x8D6C5841ABAC530\"5120share155576033542302706Sat, 20 Apr 2019 11:38:55 GMT\"0x8D6C584C5354597\"5120share155576033677709710155576033682404294Sat, 20 Apr 2019 11:38:56 GMT\"0x8D6C584C60DB453\"5120share155576037504501320155576037507605550Sat, 20 Apr 2019 11:39:35 GMT\"0x8D6C584DCE2AFE2\"5120share155576068931400284Sat, 20 Apr 2019 11:44:49 GMT\"0x8D6C585982564A9\"5120share155576069062801352155576069065903568Sat, 20 Apr 2019 11:44:51 GMT\"0x8D6C585994219A7\"5120share155576075382903825155576075386008717Sat, 20 Apr 2019 11:45:53 GMT\"0x8D6C585BE9D2593\"5120share155576098915806721Sat, 20 Apr 2019 11:49:49 GMT\"0x8D6C5864AF0A797\"5120share155576099300703611155576099338008677Sat, 20 Apr 2019 11:49:53 GMT\"0x8D6C5864D76F52D\"5120share155576105534303557155576105551705906Sat, 20 Apr 2019 11:50:55 GMT\"0x8D6C586727DB775\"5120share155576136666205450Sat, 20 Apr 2019 11:56:06 GMT\"0x8D6C5872BF160EF\"5120share155576137051407415155576137301709295Sat, 20 Apr 2019 11:56:13 GMT\"0x8D6C5872FBBC94D\"5120share155576143359509198155576143377401809Sat, 20 Apr 2019 11:57:13 GMT\"0x8D6C58753F17AFE\"5120share155576172918400030Sat, 20 Apr 2019 12:02:09 GMT\"0x8D6C5880406BE99\"5120share155576173298002686155576173333000239Sat, 20 Apr 2019 12:02:13 GMT\"0x8D6C588067FC714\"5120share155576178810706053155576178828603693Sat, 20 Apr 2019 12:03:08 GMT\"0x8D6C58827406073\"5120share155584483815008730Sun, 21 Apr 2019 11:07:18 GMT\"0x8D6C64984C018B8\"5120share155584483913106938155584483917002424Sun, 21 Apr 2019 11:07:19 GMT\"0x8D6C649855BB84F\"5120share155584487226303315155584487227607551Sun, 21 Apr 2019 11:07:52 GMT\"0x8D6C64999173F81\"5120share155584489837205915Sun, 21 Apr 2019 11:08:19 GMT\"0x8D6C649A94749C7\"5120share155584492483905097155584492529203389Sun, 21 Apr 2019 11:08:46 GMT\"0x8D6C649B94E828D\"5120share155584508629703911155584508639100082Sun, 21 Apr 2019 11:11:30 GMT\"0x8D6C64A1B29FBA9\"5120share155584535534508096Sun, 21 Apr 2019 11:15:55 GMT\"0x8D6C64AB90607D2\"5120share155584535712303421155584535715808285Sun, 21 Apr 2019 11:15:57 GMT\"0x8D6C64ABA1AD765\"5120share155584537564003660155584537565301698Sun, 21 Apr 2019 11:16:15 GMT\"0x8D6C64AC520BC40\"5120share155584552829803240Sun, 21 Apr 2019 11:18:48 GMT\"0x8D6C64B201CB521\"5120share155584552946009061155584554426607097Sun, 21 Apr 2019 11:19:06 GMT\"0x8D6C64B2B0D789C\"5120share155584553254601653Sun, 21 Apr 2019 11:18:53 GMT\"0x8D6C64B22F5D3B0\"5120share155584553557203477155584553577408184Sun, 21 Apr 2019 11:18:55 GMT\"0x8D6C64B2498A2CE\"5120share155584556555008565155584556563806071Sun, 21 Apr 2019 11:19:25 GMT\"0x8D6C64B366554AE\"5120share155584560929207735155584560949607694Sun, 21 Apr 2019 11:20:09 GMT\"0x8D6C64B50866103\"5120share155584582875408540Sun, 21 Apr 2019 11:23:48 GMT\"0x8D6C64BD333A510\"5120share155584583143306682155584584392603919Sun, 21 Apr 2019 11:24:03 GMT\"0x8D6C64BDC3E8F63\"5120share155584589004107281155584589129507420Sun, 21 Apr 2019 11:24:51 GMT\"0x8D6C64BF87B2D1D\"5120share155584619907809616Sun, 21 Apr 2019 11:29:59 GMT\"0x8D6C64CAFF29B0C\"5120share155584620077203477155584620081900983Sun, 21 Apr 2019 11:30:00 GMT\"0x8D6C64CB0FB2BB9\"5120share155584623589400987155584623591001043Sun, 21 Apr 2019 11:30:35 GMT\"0x8D6C64CC5E519E6\"5120share155584655048200003Sun, 21 Apr 2019 11:35:53 GMT\"0x8D6C64D8343C259\"5120share155584655633605681155584655639907723Sun, 21 Apr 2019 11:35:56 GMT\"0x8D6C64D84E9D13D\"5120share155584659190504598155584659192105319Sun, 21 Apr 2019 11:36:31 GMT\"0x8D6C64D9A18FF60\"5120share155584692147804243Sun, 21 Apr 2019 11:42:01 GMT\"0x8D6C64E5E8615DE\"5120share155584692283204299155584692376504004Sun, 21 Apr 2019 11:42:03 GMT\"0x8D6C64E5FE23BA9\"5120share155584695869900110155584695871401997Sun, 21 Apr 2019 11:42:38 GMT\"0x8D6C64E74BA5B84\"5120share155584718460302343Sun, 21 Apr 2019 11:46:24 GMT\"0x8D6C64EFB6D686F\"5120share155584718782904821155584718821201794Sun, 21 Apr 2019 11:46:28 GMT\"0x8D6C64EFD94206B\"5120share155584725834704516155584725852403365Sun, 21 Apr 2019 11:47:38 GMT\"0x8D6C64F277DF7FC\"5120share155584757053309896Sun, 21 Apr 2019 11:52:50 GMT\"0x8D6C64FE176D8CF\"5120share155584757505503064155584757541600155Sun, 21 Apr 2019 11:52:55 GMT\"0x8D6C64FE4600590\"5120share155584763371702792155584763389403930Sun, 21 Apr 2019 11:53:54 GMT\"0x8D6C6500739DD6C\"5120share155584792739507966Sun, 21 Apr 2019 11:58:47 GMT\"0x8D6C650B62BD0F2\"5120share155584793112701333155584793148805328Sun, 21 Apr 2019 11:58:51 GMT\"0x8D6C650B89C9524\"5120share155584800506102766155584800524503368Sun, 21 Apr 2019 12:00:05 GMT\"0x8D6C650E491C775\"5120share155593096078609193Mon, 22 Apr 2019 11:02:40 GMT\"0x8D6C71209D6C3BA\"5120share155593096298307999155593096301000561Mon, 22 Apr 2019 11:02:43 GMT\"0x8D6C7120B29E7BB\"5120share155593098099104006155593098100306183Mon, 22 Apr 2019 11:03:01 GMT\"0x8D6C71215E3536B\"5120share155593098197300518Mon, 22 Apr 2019 11:03:02 GMT\"0x8D6C712169857BE\"5120share155593098884206175155593098950004812Mon, 22 Apr 2019 11:03:10 GMT\"0x8D6C7121B6CDB45\"5120share155593107350404511155593108535905887Mon, 22 Apr 2019 11:04:46 GMT\"0x8D6C71254C6DD40\"5120share155593187228406566Mon, 22 Apr 2019 11:17:52 GMT\"0x8D6C71429239B1A\"5120share155593187548705538155593187551807000Mon, 22 Apr 2019 11:17:55 GMT\"0x8D6C7142B1136FA\"5120share155593189155809001155593189157302927Mon, 22 Apr 2019 11:18:11 GMT\"0x8D6C71434A30A5F\"5120share155593202492008030Mon, 22 Apr 2019 11:20:24 GMT\"0x8D6C714841EDC26\"5120share155593202751103090155593202784104281Mon, 22 Apr 2019 11:20:27 GMT\"0x8D6C71485DE1B0F\"5120share155593207543600336155593207545703779Mon, 22 Apr 2019 11:21:15 GMT\"0x8D6C714A262740F\"5120share155593213752903864Mon, 22 Apr 2019 11:22:17 GMT\"0x8D6C714C77B439D\"5120share155593214175802480155593214194204117Mon, 22 Apr 2019 11:22:22 GMT\"0x8D6C714C9E5568C\"5120share155593217374306324155593217383308863Mon, 22 Apr 2019 11:22:53 GMT\"0x8D6C714DCE6FB7D\"5120share155593233053705628Mon, 22 Apr 2019 11:25:30 GMT\"0x8D6C7153A7C32B3\"5120share155593233509907850155593233525106736Mon, 22 Apr 2019 11:25:35 GMT\"0x8D6C7153D3A2D50\"5120share155593239746800061155593239754102567Mon, 22 Apr 2019 11:26:37 GMT\"0x8D6C7156253852F\"5120share155593275709608855Mon, 22 Apr 2019 11:32:37 GMT\"0x8D6C71638886EDC\"5120share155593275807707570155593275832501960Mon, 22 Apr 2019 11:32:39 GMT\"0x8D6C71639ADE4C8\"5120share155593280226001839155593280227604616Mon, 22 Apr 2019 11:33:22 GMT\"0x8D6C71653770F3F\"5120share155593312109201415Mon, 22 Apr 2019 11:38:41 GMT\"0x8D6C71711A05C0C\"5120share155593312234201386155593312237305833Mon, 22 Apr 2019 11:38:42 GMT\"0x8D6C7171243F50B\"5120share155593315645808354155593315648906679Mon, 22 Apr 2019 11:39:16 GMT\"0x8D6C71726973AD4\"5120share155593348908406819Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ECD4BBBC\"5120share155593348980708356155593348983905096Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ED49C492\"5120share155593351527207735155593351528809934Mon, 22 Apr 2019 11:45:15 GMT\"0x8D6C717FC746FC6\"5120share155593373839009889Mon, 22 Apr 2019 11:48:58 GMT\"0x8D6C7188186D480\"5120share155593374213504623155593374249506463Mon, 22 Apr 2019 11:49:02 GMT\"0x8D6C71883F98B78\"5120share155593379929509326155593379947408779Mon, 22 Apr 2019 11:49:59 GMT\"0x8D6C718A5EF42C6\"5120share155593408284009033Mon, 22 Apr 2019 11:54:42 GMT\"0x8D6C7194ECC93B8\"5120share155593408602509047155593408638809789Mon, 22 Apr 2019 11:54:46 GMT\"0x8D6C71950EB127C\"5120share155593413980507194155593414004706529Mon, 22 Apr 2019 11:55:40 GMT\"0x8D6C71970E5C28A\"5120share155593443340907715Mon, 22 Apr 2019 12:00:33 GMT\"0x8D6C71A1FC13E8B\"5120share155593443670003038155593443705707580Mon, 22 Apr 2019 12:00:37 GMT\"0x8D6C71A21EEA00E\"5120share155593450016401961155593450034004099Mon, 22 Apr 2019 12:01:40 GMT\"0x8D6C71A47A53FCD\"5120share155599352898709431Tue, 23 Apr 2019 04:25:29 GMT\"0x8D6C7A3B77ECE95\"5120share155599353457303882Tue, 23 Apr 2019 04:25:38 GMT\"0x8D6C7A3BD362BCE\"5120share155599357366009924Tue, 23 Apr 2019 04:26:14 GMT\"0x8D6C7A3D2727D00\"5120share155599357721408169155599357752002160Tue, 23 Apr 2019 04:26:17 GMT\"0x8D6C7A3D4608808\"5120share155599358411903550Tue, 23 Apr 2019 04:26:24 GMT\"0x8D6C7A3D84ECE0A\"5120share155601731922303609Tue, 23 Apr 2019 11:01:59 GMT\"0x8D6C7DB1B9B74FB\"5120share155601732131001910155601732139106746Tue, 23 Apr 2019 11:02:01 GMT\"0x8D6C7DB1CC9BFC1\"5120share155601735054109201155601735057901414Tue, 23 Apr 2019 11:02:30 GMT\"0x8D6C7DB2E2F2F3A\"5120share155601736064400159Tue, 23 Apr 2019 11:02:40 GMT\"0x8D6C7DB3434ABFD\"5120share155601736424105355155601736465802495Tue, 23 Apr 2019 11:02:44 GMT\"0x8D6C7DB369991DE\"5120share155601744325107728155601744394209405Tue, 23 Apr 2019 11:04:04 GMT\"0x8D6C7DB65FC1A07\"5120share155601797649807068Tue, 23 Apr 2019 11:12:56 GMT\"0x8D6C7DCA3413305\"5120share155601797996201913155601798001404152Tue, 23 Apr 2019 11:13:00 GMT\"0x8D6C7DCA558E9FD\"5120share155601800320103700155601800321509380Tue, 23 Apr 2019 11:13:23 GMT\"0x8D6C7DCB32D5623\"5120share155601828484808138Tue, 23 Apr 2019 11:18:04 GMT\"0x8D6C7DD5B19C912\"5120share155601830009206641155601830015809234Tue, 23 Apr 2019 11:18:20 GMT\"0x8D6C7DD642B7506\"5120share155601834565900993155601834931903550Tue, 23 Apr 2019 11:19:09 GMT\"0x8D6C7DD819C3AD4\"5120share155601852383804224Tue, 23 Apr 2019 11:22:04 GMT\"0x8D6C7DDE9B3E6DA\"5120share155601852622609962155601852640709853Tue, 23 Apr 2019 11:22:06 GMT\"0x8D6C7DDEB0C7811\"5120share155601855610505401155601855619203211Tue, 23 Apr 2019 11:22:36 GMT\"0x8D6C7DDFCCD22F6\"5120share155601888818908038Tue, 23 Apr 2019 11:28:08 GMT\"0x8D6C7DEC2BD7575\"5120share155601889047405602155601889063207953Tue, 23 Apr 2019 11:28:10 GMT\"0x8D6C7DEC427062C\"5120share155601893832208908155601893844503340Tue, 23 Apr 2019 11:28:58 GMT\"0x8D6C7DEE0A87BA4\"5120share155601928936605407Tue, 23 Apr 2019 11:34:50 GMT\"0x8D6C7DFB2302469\"5120share155601929224401788155601929230605391Tue, 23 Apr 2019 11:34:52 GMT\"0x8D6C7DFB3AF6083\"5120share155601933534601457155601933537709705Tue, 23 Apr 2019 11:35:35 GMT\"0x8D6C7DFCD3678E6\"5120share155601964760005256Tue, 23 Apr 2019 11:40:47 GMT\"0x8D6C7E0874F4DEB\"5120share155601964910409011155601964915104348Tue, 23 Apr 2019 11:40:49 GMT\"0x8D6C7E0883CE94E\"5120share155601967123504480155601967126608975Tue, 23 Apr 2019 11:41:11 GMT\"0x8D6C7E095689CAA\"5120share155601999601804030Tue, 23 Apr 2019 11:46:36 GMT\"0x8D6C7E156FB9962\"5120share155601999694701777155601999697800251Tue, 23 Apr 2019 11:46:37 GMT\"0x8D6C7E1578EF47C\"5120share155602003749501427155602003751005370Tue, 23 Apr 2019 11:47:17 GMT\"0x8D6C7E16FB7BDC9\"5120share155602026583107985Tue, 23 Apr 2019 11:51:06 GMT\"0x8D6C7E1F810D790\"5120share155602026979301983155602027015406851Tue, 23 Apr 2019 11:51:10 GMT\"0x8D6C7E1FA73F564\"5120share155602032674702563155602032692105302Tue, 23 Apr 2019 11:52:07 GMT\"0x8D6C7E21C49318C\"5120share155602060207403254Tue, 23 Apr 2019 11:56:42 GMT\"0x8D6C7E2C04BE483\"5120share155602060511200179155602060546204061Tue, 23 Apr 2019 11:56:45 GMT\"0x8D6C7E2C2510A92\"5120share155602066032001106155602066050002052Tue, 23 Apr 2019 11:57:40 GMT\"0x8D6C7E2E31DC1E8\"5120share155602095578105524Tue, 23 Apr 2019 12:02:35 GMT\"0x8D6C7E3931EFFB4\"5120share155602095889002587155602095924407097Tue, 23 Apr 2019 12:02:39 GMT\"0x8D6C7E3952F966C\"5120share155602101006809941155602101024502287Tue, 23 Apr 2019 12:03:30 GMT\"0x8D6C7E3B399D7B3\"5120share155610372895102469Wed, 24 Apr 2019 11:02:09 GMT\"0x8D6C8A44BCFB0DA\"5120share155610373141006923155610373157605228Wed, 24 Apr 2019 11:02:11 GMT\"0x8D6C8A44D4985F7\"5120share155610376132904883155610376146100818Wed, 24 Apr 2019 11:02:41 GMT\"0x8D6C8A45F19FA18\"5120share155610377385900915Wed, 24 Apr 2019 11:02:54 GMT\"0x8D6C8A466A7CC33\"5120share155610377782705835155610378034305705Wed, 24 Apr 2019 11:03:00 GMT\"0x8D6C8A46A67BD59\"5120share155610388905308117155610388957707151Wed, 24 Apr 2019 11:04:50 GMT\"0x8D6C8A4ABC619F7\"5120share155610456973902277Wed, 24 Apr 2019 11:16:09 GMT\"0x8D6C8A640D89AA5\"5120share155610457043809446155610457046601023Wed, 24 Apr 2019 11:16:10 GMT\"0x8D6C8A64147924C\"5120share155610458625908819155610458627309878Wed, 24 Apr 2019 11:16:26 GMT\"0x8D6C8A64AB3985E\"5120share155610462696100101Wed, 24 Apr 2019 11:17:07 GMT\"0x8D6C8A662FC6D3F\"5120share155610462999806911155610463015401595Wed, 24 Apr 2019 11:17:10 GMT\"0x8D6C8A664E29738\"5120share155610468071108459155610468115706117Wed, 24 Apr 2019 11:18:01 GMT\"0x8D6C8A68364A313\"5120share155610499531404329Wed, 24 Apr 2019 11:23:15 GMT\"0x8D6C8A73EAA18BB\"5120share155610499885203420155610499903406227Wed, 24 Apr 2019 11:23:19 GMT\"0x8D6C8A740BF6EDE\"5120share155610503301507245155610503310502140Wed, 24 Apr 2019 11:23:53 GMT\"0x8D6C8A7550DF88E\"5120share155610517124802137Wed, 24 Apr 2019 11:26:11 GMT\"0x8D6C8A7A77428B8\"5120share155610517614001829155610517647303310Wed, 24 Apr 2019 11:26:16 GMT\"0x8D6C8A7AA918E67\"5120share155610523911605564155610523927805669Wed, 24 Apr 2019 11:27:19 GMT\"0x8D6C8A7D000A492\"5120share155610570355307500Wed, 24 Apr 2019 11:35:03 GMT\"0x8D6C8A8E4A92FB7\"5120share155610570429201962155610570433905439Wed, 24 Apr 2019 11:35:04 GMT\"0x8D6C8A8E5200830\"5120share155610572587302298155610572588801633Wed, 24 Apr 2019 11:35:25 GMT\"0x8D6C8A8F1F7F005\"5120share155610606038909851Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B95AA90B\"5120share155610606079502400155610606095109923Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B9AF5E68\"5120share155610608625503151155610608826000711Wed, 24 Apr 2019 11:41:28 GMT\"0x8D6C8A9C9F7404E\"5120share155610640694708896Wed, 24 Apr 2019 11:46:46 GMT\"0x8D6C8AA87EAE40C\"5120share155610640743200430155610640746309870Wed, 24 Apr 2019 11:46:47 GMT\"0x8D6C8AA88399124\"5120share155610643185205970155610643188305732Wed, 24 Apr 2019 11:47:11 GMT\"0x8D6C8AA96C7293A\"5120share155610665402600230Wed, 24 Apr 2019 11:50:54 GMT\"0x8D6C8AB1B4115E5\"5120share155610665693707025155610665730204127Wed, 24 Apr 2019 11:50:57 GMT\"0x8D6C8AB1D34D1EF\"5120share155610671076000970155610671093301855Wed, 24 Apr 2019 11:51:51 GMT\"0x8D6C8AB3D2C0DC2\"5120share155610697735704561Wed, 24 Apr 2019 11:56:17 GMT\"0x8D6C8ABDBFFAE7E\"5120share155610698173903526155610698219604859Wed, 24 Apr 2019 11:56:22 GMT\"0x8D6C8ABDF05278A\"5120share155610705059501406155610705081607565Wed, 24 Apr 2019 11:57:31 GMT\"0x8D6C8AC07CA5BB5\"5120share155623732891804592Fri, 26 Apr 2019 00:08:49 GMT\"0x8D6C9DB5B862C5D\"5120share155623733027107547155623733037204155Fri, 26 Apr 2019 00:08:50 GMT\"0x8D6C9DB5C5B5406\"5120share155623735144201549155623735148500368Fri, 26 Apr 2019 00:09:11 GMT\"0x8D6C9DB68F1020B\"5120share155623737838109944Fri, 26 Apr 2019 00:09:38 GMT\"0x8D6C9DB7936BAF7\"5120share155623738288508731155623738455404746Fri, 26 Apr 2019 00:09:44 GMT\"0x8D6C9DB7CA57C80\"5120share155623744517805440155623744597007766Fri, 26 Apr 2019 00:10:46 GMT\"0x8D6C9DBA14DB1B3\"5120share155623755450705158Fri, 26 Apr 2019 00:12:34 GMT\"0x8D6C9DBE1F1FFF8\"5120share155623755587909563155623755590803223Fri, 26 Apr 2019 00:12:35 GMT\"0x8D6C9DBE2C79C01\"5120share155623757295200043155623757297408285Fri, 26 Apr 2019 00:12:52 GMT\"0x8D6C9DBECF3FFFF\"5120share155623764038304012Fri, 26 Apr 2019 00:14:00 GMT\"0x8D6C9DC15291A2E\"5120share155623764463006380155623764498701545Fri, 26 Apr 2019 00:14:05 GMT\"0x8D6C9DC17E67B86\"5120share155623767900208026Fri, 26 Apr 2019 00:14:39 GMT\"0x8D6C9DC2C6DC062\"5120share155623768121705378155623768144401475Fri, 26 Apr 2019 00:14:41 GMT\"0x8D6C9DC2DA138D7\"5120share155623770790608406155623770798308113Fri, 26 Apr 2019 00:15:08 GMT\"0x8D6C9DC3DE529E3\"5120share155623771326307149155623771335209876Fri, 26 Apr 2019 00:15:13 GMT\"0x8D6C9DC40A5ECF5\"5120share155623792442708756Fri, 26 Apr 2019 00:18:45 GMT\"0x8D6C9DCBF06374F\"5120share155623793181801460155623793198609694Fri, 26 Apr 2019 00:18:52 GMT\"0x8D6C9DCC2F836BF\"5120share155623798478509855155623798814506187Fri, 26 Apr 2019 00:19:48 GMT\"0x8D6C9DCE4717D91\"5120share155623832375704220Fri, 26 Apr 2019 00:25:24 GMT\"0x8D6C9DDACAB7093\"5120share155623832601806869155623832606500404Fri, 26 Apr 2019 00:25:26 GMT\"0x8D6C9DDADEF34D4\"5120share155623837314701043155623837317801578Fri, 26 Apr 2019 00:26:13 GMT\"0x8D6C9DDC9E942F0\"5120share155623869536605908Fri, 26 Apr 2019 00:31:35 GMT\"0x8D6C9DE89F690C1\"5120share155623869692506630155623869703507429Fri, 26 Apr 2019 00:31:38 GMT\"0x8D6C9DE8BABE860\"5120share155623873038809966155623873039609717Fri, 26 Apr 2019 00:32:10 GMT\"0x8D6C9DE9ED7D76B\"5120share155623905177506822Fri, 26 Apr 2019 00:37:32 GMT\"0x8D6C9DF5EDF8E0E\"5120share155623905428205423155623905432903078Fri, 26 Apr 2019 00:37:34 GMT\"0x8D6C9DF5FE97AD0\"5120share155623907919403170155623907921004777Fri, 26 Apr 2019 00:37:59 GMT\"0x8D6C9DF6EBEF0ED\"5120share155623930187103764Fri, 26 Apr 2019 00:41:42 GMT\"0x8D6C9DFF388E129\"5120share155623930513305176155623930549908292Fri, 26 Apr 2019 00:41:45 GMT\"0x8D6C9DFF5B1FE97\"5120share155623936041106457155623936058402454Fri, 26 Apr 2019 00:42:40 GMT\"0x8D6C9E01686D42E\"5120share155623965181508872Fri, 26 Apr 2019 00:47:31 GMT\"0x8D6C9E0C41C0913\"5120share155623965814908055155623965849804647Fri, 26 Apr 2019 00:47:38 GMT\"0x8D6C9E0C8179EAE\"5120share155623971877107111155623971894601634Fri, 26 Apr 2019 00:48:39 GMT\"0x8D6C9E0EC1F66C0\"5120share155623999367701297Fri, 26 Apr 2019 00:53:13 GMT\"0x8D6C9E18FE27E33\"5120share155623999669908933155623999707001906Fri, 26 Apr 2019 00:53:17 GMT\"0x8D6C9E191E779F4\"5120share155624004674705383155624004692205374Fri, 26 Apr 2019 00:54:07 GMT\"0x8D6C9E1AF9E5DDC\"5120share155627655546209352Fri, 26 Apr 2019 11:02:35 GMT\"0x8D6CA36B06A47B2\"5120share155627655662206597155627655670705250Fri, 26 Apr 2019 11:02:36 GMT\"0x8D6CA36B114913C\"5120share155627658542903811155627658546904920Fri, 26 Apr 2019 11:03:05 GMT\"0x8D6CA36C2391779\"5120share155627659597101297Fri, 26 Apr 2019 11:03:16 GMT\"0x8D6CA36C882B597\"5120share155627660756501821155627660772707059Fri, 26 Apr 2019 11:03:27 GMT\"0x8D6CA36CF829BD7\"5120share155627670486708425155627670494603621Fri, 26 Apr 2019 11:05:05 GMT\"0x8D6CA370975980E\"5120share155627694374906331Fri, 26 Apr 2019 11:09:03 GMT\"0x8D6CA3797C4398A\"5120share155627694423009151155627694426207429Fri, 26 Apr 2019 11:09:04 GMT\"0x8D6CA3798128F99\"5120share155627695938700440155627695940105765Fri, 26 Apr 2019 11:09:19 GMT\"0x8D6CA37A118F618\"5120share155627701727507398Fri, 26 Apr 2019 11:10:17 GMT\"0x8D6CA37C39D4D86\"5120share155627702477907204155627702804807647Fri, 26 Apr 2019 11:10:28 GMT\"0x8D6CA37CA09AA23\"5120share155627706697307525Fri, 26 Apr 2019 11:11:07 GMT\"0x8D6CA37E1554966\"5120share155627706891503515155627706910004461Fri, 26 Apr 2019 11:11:09 GMT\"0x8D6CA37E27FB75E\"5120share155627709688305697155627709695909311Fri, 26 Apr 2019 11:11:37 GMT\"0x8D6CA37F31CAB75\"5120share155627709845403603155627709854409593Fri, 26 Apr 2019 11:11:38 GMT\"0x8D6CA37F40BF3D2\"5120share155627730105807426Fri, 26 Apr 2019 11:15:01 GMT\"0x8D6CA386CDB63C8\"5120share155627730309507258155627730356805784Fri, 26 Apr 2019 11:15:03 GMT\"0x8D6CA386E424D8B\"5120share155627734275903465155627734284806618Fri, 26 Apr 2019 11:15:42 GMT\"0x8D6CA3885AC0F9C\"5120share155627766425003035Fri, 26 Apr 2019 11:21:04 GMT\"0x8D6CA39453834A2\"5120share155627766494105062155627766500403555Fri, 26 Apr 2019 11:21:05 GMT\"0x8D6CA3945AB0111\"5120share155627770481402091155627770482907277Fri, 26 Apr 2019 11:21:44 GMT\"0x8D6CA395D6953A6\"5120share155627804685303536Fri, 26 Apr 2019 11:27:26 GMT\"0x8D6CA3A29472252\"5120share155627804758302119155627804764505614Fri, 26 Apr 2019 11:27:27 GMT\"0x8D6CA3A29BF734D\"5120share155627807828907816155627807830400346Fri, 26 Apr 2019 11:27:58 GMT\"0x8D6CA3A3C076B67\"5120share155627840936602595Fri, 26 Apr 2019 11:33:29 GMT\"0x8D6CA3B01571EF8\"5120share155627841049404780155627841054104290Fri, 26 Apr 2019 11:33:30 GMT\"0x8D6CA3B020AFB2D\"5120share155627843893800591155627843896903734Fri, 26 Apr 2019 11:33:58 GMT\"0x8D6CA3B12FC3750\"5120share155627866038509839Fri, 26 Apr 2019 11:37:40 GMT\"0x8D6CA3B97093C05\"5120share155627866361804142155627866397604669Fri, 26 Apr 2019 11:37:44 GMT\"0x8D6CA3B99307069\"5120share155627871539803949155627871557200833Fri, 26 Apr 2019 11:38:35 GMT\"0x8D6CA3BB7ED9B1B\"5120share155627897921406881Fri, 26 Apr 2019 11:42:59 GMT\"0x8D6CA3C550FFD26\"5120share155627898303104907155627898338702902Fri, 26 Apr 2019 11:43:03 GMT\"0x8D6CA3C578C73FF\"5120share155627903179604081155627903196604939Fri, 26 Apr 2019 11:43:52 GMT\"0x8D6CA3C748107A4\"5120share155627930048909745Fri, 26 Apr 2019 11:48:20 GMT\"0x8D6CA3D148FB137\"5120share155627930331508322155627930366602874Fri, 26 Apr 2019 11:48:23 GMT\"0x8D6CA3D16742F20\"5120share155627935619404978155627935636908313Fri, 26 Apr 2019 11:49:16 GMT\"0x8D6CA3D35E11682\"5120share155636293594402398Sat, 27 Apr 2019 11:02:16 GMT\"0x8D6CAFFCF4CB732\"5120share155636294209207737155636294218409788Sat, 27 Apr 2019 11:02:22 GMT\"0x8D6CAFFD2D59768\"5120share155636296650104845155636296654305259Sat, 27 Apr 2019 11:02:46 GMT\"0x8D6CAFFE15A8482\"5120share155636297924406992Sat, 27 Apr 2019 11:02:59 GMT\"0x8D6CAFFE8F23428\"5120share155636298688802927155636298754402979Sat, 27 Apr 2019 11:03:07 GMT\"0x8D6CAFFEDE481F8\"5120share155636310874309965155636310912301666Sat, 27 Apr 2019 11:05:09 GMT\"0x8D6CB00368CD9D5\"5120share155636326147602000Sat, 27 Apr 2019 11:07:41 GMT\"0x8D6CB009122AE26\"5120share155636326266702413155636326270508552Sat, 27 Apr 2019 11:07:42 GMT\"0x8D6CB0091DE490E\"5120share155636327915904071155636327917502788Sat, 27 Apr 2019 11:07:59 GMT\"0x8D6CB009BAF4751\"5120share155636338442205521Sat, 27 Apr 2019 11:09:44 GMT\"0x8D6CB00DAA2539F\"5120share155636338760401291155636338801401685Sat, 27 Apr 2019 11:09:48 GMT\"0x8D6CB00DC90FC6E\"5120share155636339103301366Sat, 27 Apr 2019 11:09:51 GMT\"0x8D6CB00DE64F2D7\"5120share155636340189203340155636340204505572Sat, 27 Apr 2019 11:10:02 GMT\"0x8D6CB00E529D7E4\"5120share155636341638503442155636341647401339Sat, 27 Apr 2019 11:10:16 GMT\"0x8D6CB00ED87C86E\"5120share155636348710505241155636348740800132Sat, 27 Apr 2019 11:11:27 GMT\"0x8D6CB0117D75DD7\"5120share155636370747500177Sat, 27 Apr 2019 11:15:07 GMT\"0x8D6CB019AF99906\"5120share155636371788904389155636371833704937Sat, 27 Apr 2019 11:15:18 GMT\"0x8D6CB01A1795C75\"5120share155636375971900820155636375974102788Sat, 27 Apr 2019 11:15:59 GMT\"0x8D6CB01BA214C10\"5120share155636404658507340Sat, 27 Apr 2019 11:20:46 GMT\"0x8D6CB02651C2C4D\"5120share155636404754602274155636404759307889Sat, 27 Apr 2019 11:20:47 GMT\"0x8D6CB0265B75164\"5120share155636409293907234155636409297202379Sat, 27 Apr 2019 11:21:33 GMT\"0x8D6CB0280E10E7F\"5120share155636438375103933Sat, 27 Apr 2019 11:26:24 GMT\"0x8D6CB032E483A34\"5120share155636438637507161155636438643804713Sat, 27 Apr 2019 11:26:26 GMT\"0x8D6CB032FAD2908\"5120share155636441656900776155636441658409038Sat, 27 Apr 2019 11:26:56 GMT\"0x8D6CB0341A57816\"5120share155636472346501628Sat, 27 Apr 2019 11:32:03 GMT\"0x8D6CB03F88E3C4E\"5120share155636472425706537155636472447104080Sat, 27 Apr 2019 11:32:04 GMT\"0x8D6CB03F927C11D\"5120share155636475254502016155636475256005895Sat, 27 Apr 2019 11:32:32 GMT\"0x8D6CB0409E56AB9\"5120share155636497418300656Sat, 27 Apr 2019 11:36:14 GMT\"0x8D6CB048E114492\"5120share155636497943200113155636497978301385Sat, 27 Apr 2019 11:36:21 GMT\"0x8D6CB0492365296\"5120share155636503124305582155636503142000787Sat, 27 Apr 2019 11:37:11 GMT\"0x8D6CB04B02F21E0\"5120share155636531384701457Sat, 27 Apr 2019 11:41:53 GMT\"0x8D6CB0558855034\"5120share155636531744608387155636531778207039Sat, 27 Apr 2019 11:41:57 GMT\"0x8D6CB055ADE2BE2\"5120share155636537787408049155636537803908356Sat, 27 Apr 2019 11:42:58 GMT\"0x8D6CB057EC9031B\"5120share155636563637206666Sat, 27 Apr 2019 11:47:16 GMT\"0x8D6CB0618C15632\"5120share155636563945001802155636563979208633Sat, 27 Apr 2019 11:47:19 GMT\"0x8D6CB061ACB80AE\"5120share155636569017104410155636569054205200Sat, 27 Apr 2019 11:48:10 GMT\"0x8D6CB06390B4503\"5120share155644932510206948Sun, 28 Apr 2019 11:02:05 GMT\"0x8D6CBC8F33F4F50\"5120share155644932748704938155644932757008051Sun, 28 Apr 2019 11:02:07 GMT\"0x8D6CBC8F488D88D\"5120share155644935294603187155644935298508210Sun, 28 Apr 2019 11:02:33 GMT\"0x8D6CBC903AF01F5\"5120share155644937631305965Sun, 28 Apr 2019 11:02:56 GMT\"0x8D6CBC911A89607\"5120share155644938305805342155644938336808846Sun, 28 Apr 2019 11:03:03 GMT\"0x8D6CBC915D0B517\"5120share155644946809502187155644946853904496Sun, 28 Apr 2019 11:04:28 GMT\"0x8D6CBC948948A14\"5120share155644965647507163Sun, 28 Apr 2019 11:07:36 GMT\"0x8D6CBC9B892BC76\"5120share155644965767401410155644965771100036Sun, 28 Apr 2019 11:07:37 GMT\"0x8D6CBC9B94F3564\"5120share155644967154503320155644967155906675Sun, 28 Apr 2019 11:07:51 GMT\"0x8D6CBC9C19086AD\"5120share155644973212306904Sun, 28 Apr 2019 11:08:52 GMT\"0x8D6CBC9E5A93F5C\"5120share155644973882903017155644973920408561Sun, 28 Apr 2019 11:09:00 GMT\"0x8D6CBC9EAABEAEE\"5120share155644976525108519Sun, 28 Apr 2019 11:09:26 GMT\"0x8D6CBC9FA307340\"5120share155644976922907290155644976940302741Sun, 28 Apr 2019 11:09:29 GMT\"0x8D6CBC9FBE7085A\"5120share155644979827502553155644979837106210Sun, 28 Apr 2019 11:09:58 GMT\"0x8D6CBCA0D2B87E0\"5120share155644980349600078155644980351709665Sun, 28 Apr 2019 11:10:03 GMT\"0x8D6CBCA104756D4\"5120share155644999479203413Sun, 28 Apr 2019 11:13:15 GMT\"0x8D6CBCA828B03A9\"5120share155644999911401572155644999927007263Sun, 28 Apr 2019 11:13:19 GMT\"0x8D6CBCA84EC87C0\"5120share155645007015108648155645007022406098Sun, 28 Apr 2019 11:14:30 GMT\"0x8D6CBCAAF35F083\"5120share155645038821502058Sun, 28 Apr 2019 11:19:48 GMT\"0x8D6CBCB6CBB520C\"5120share155645039457909794155645039491507393Sun, 28 Apr 2019 11:19:54 GMT\"0x8D6CBCB70BAA07B\"5120share155645044044006110155645044045503760Sun, 28 Apr 2019 11:20:40 GMT\"0x8D6CBCB8BE03321\"5120share155645073350300763Sun, 28 Apr 2019 11:25:33 GMT\"0x8D6CBCC3A89465E\"5120share155645073665802364155645073670507236Sun, 28 Apr 2019 11:25:36 GMT\"0x8D6CBCC3C897A23\"5120share155645077349800986155645077373300831Sun, 28 Apr 2019 11:26:14 GMT\"0x8D6CBCC52AB7AA9\"5120share155645108771203834Sun, 28 Apr 2019 11:31:27 GMT\"0x8D6CBCD0DA80040\"5120share155645108842007256155645108846705458Sun, 28 Apr 2019 11:31:30 GMT\"0x8D6CBCD0F84E607\"5120share155645112599605004155645112601107894Sun, 28 Apr 2019 11:32:06 GMT\"0x8D6CBCD247D05DA\"5120share155645134678507922Sun, 28 Apr 2019 11:35:46 GMT\"0x8D6CBCDA8286EE2\"5120share155645135233807971155645135268200427Sun, 28 Apr 2019 11:35:52 GMT\"0x8D6CBCDABAB030C\"5120share155645140915409987155645140933104898Sun, 28 Apr 2019 11:36:49 GMT\"0x8D6CBCDCD6E541E\"5120share155645167679104190Sun, 28 Apr 2019 11:41:16 GMT\"0x8D6CBCE6CD9127F\"5120share155645168014803993155645168050106913Sun, 28 Apr 2019 11:41:20 GMT\"0x8D6CBCE6F0F1955\"5120share155645174549400184155645174566908155Sun, 28 Apr 2019 11:42:25 GMT\"0x8D6CBCE95E5E14E\"5120share155645201297401853Sun, 28 Apr 2019 11:46:53 GMT\"0x8D6CBCF353A36B6\"5120share155645201855801952155645201890306019Sun, 28 Apr 2019 11:46:59 GMT\"0x8D6CBCF38C1EC3D\"5120share155645207253909424155645207271407048Sun, 28 Apr 2019 11:47:52 GMT\"0x8D6CBCF58D7EB4A\"5120share155653571241303167Mon, 29 Apr 2019 11:01:52 GMT\"0x8D6CC921605B941\"5120share155653571553502874155653571570705735Mon, 29 Apr 2019 11:01:55 GMT\"0x8D6CC9217E55B90\"5120share155653575241605337155653575249808322Mon, 29 Apr 2019 11:02:32 GMT\"0x8D6CC922DD35559\"5120share155653577934505481Mon, 29 Apr 2019 11:02:59 GMT\"0x8D6CC923DEABFFA\"5120share155653578834309441155653578850403282Mon, 29 Apr 2019 11:03:10 GMT\"0x8D6CC924424B8C3\"5120share155653590972103271155653591043700129Mon, 29 Apr 2019 11:05:10 GMT\"0x8D6CC928C0E5277\"5120share155653601676308435Mon, 29 Apr 2019 11:06:56 GMT\"0x8D6CC92CB50C4B1\"5120share155653602334209812155653602337104476Mon, 29 Apr 2019 11:07:03 GMT\"0x8D6CC92CF41462C\"5120share155653604017309897155653604018606464Mon, 29 Apr 2019 11:07:20 GMT\"0x8D6CC92D946F89F\"5120share155653618592007839Mon, 29 Apr 2019 11:09:45 GMT\"0x8D6CC9330238214\"5120share155653619244001987155653619249201263Mon, 29 Apr 2019 11:09:52 GMT\"0x8D6CC93340ED683\"5120share155653621618908520Mon, 29 Apr 2019 11:10:16 GMT\"0x8D6CC93425E266B\"5120share155653622019402299155653622037605069Mon, 29 Apr 2019 11:10:20 GMT\"0x8D6CC9344B3281A\"5120share155653624157605476155653624159605059Mon, 29 Apr 2019 11:10:41 GMT\"0x8D6CC93515DF82D\"5120share155653624964608827155653624973108032Mon, 29 Apr 2019 11:10:49 GMT\"0x8D6CC935631C474\"5120share155653644599604856Mon, 29 Apr 2019 11:14:06 GMT\"0x8D6CC93CB301827\"5120share155653644757300517155653644791500188Mon, 29 Apr 2019 11:14:08 GMT\"0x8D6CC93CC5D3074\"5120share155653651368305124155653651389303803Mon, 29 Apr 2019 11:15:14 GMT\"0x8D6CC93F3F84157\"5120share155653687079804910Mon, 29 Apr 2019 11:21:10 GMT\"0x8D6CC94C85EA8A0\"5120share155653687448704090155653687453303137Mon, 29 Apr 2019 11:21:14 GMT\"0x8D6CC94CA98A23B\"5120share155653693368406248155653693371508138Mon, 29 Apr 2019 11:22:13 GMT\"0x8D6CC94EDDEEAB8\"5120share155653721781601183Mon, 29 Apr 2019 11:26:57 GMT\"0x8D6CC95973262CD\"5120share155653721868605873155653721871704867Mon, 29 Apr 2019 11:26:58 GMT\"0x8D6CC9597BD86B3\"5120share155653725116303221155653725119400771Mon, 29 Apr 2019 11:27:31 GMT\"0x8D6CC95AB1726F4\"5120share155653756837900142Mon, 29 Apr 2019 11:32:48 GMT\"0x8D6CC96682633DD\"5120share155653756922307466155653756927008693Mon, 29 Apr 2019 11:32:54 GMT\"0x8D6CC966C065569\"5120share155653760887103690155653760948407436Mon, 29 Apr 2019 11:33:29 GMT\"0x8D6CC9680A6DADA\"5120share155653784322202515Mon, 29 Apr 2019 11:37:23 GMT\"0x8D6CC970C0B3287\"5120share155653784638108302155653784673304272Mon, 29 Apr 2019 11:37:26 GMT\"0x8D6CC970E22A6D4\"5120share155653790378102510155653790395501719Mon, 29 Apr 2019 11:38:24 GMT\"0x8D6CC97303F6982\"5120share155653796678404923Mon, 29 Apr 2019 11:39:26 GMT\"0x8D6CC9755B12EA8\"5120share155655223577604668Mon, 29 Apr 2019 15:37:15 GMT\"0x8D6CCB88EA9F634\"5120share155655223976807043155655224012408138Mon, 29 Apr 2019 15:37:20 GMT\"0x8D6CCB891420921\"5120share155655231503303385155655231520308001Mon, 29 Apr 2019 15:38:35 GMT\"0x8D6CCB8BE00A1CF\"5120share155655260533801192Mon, 29 Apr 2019 15:43:25 GMT\"0x8D6CCB96AF563A3\"5120share155655261383606228155655261419000264Mon, 29 Apr 2019 15:43:34 GMT\"0x8D6CCB9703B468D\"5120share155655268067203640155655268083707211Mon, 29 Apr 2019 15:44:41 GMT\"0x8D6CCB99818556D\"5120share155659382718902556Tue, 30 Apr 2019 03:10:27 GMT\"0x8D6CD196533E1AF\"5120share155659383304609639Tue, 30 Apr 2019 03:10:35 GMT\"0x8D6CD196A00F093\"5120share155659388399506155Tue, 30 Apr 2019 03:11:27 GMT\"0x8D6CD1988E5EB19\"5120share155662576226807025Tue, 30 Apr 2019 12:02:42 GMT\"0x8D6CD63BFD75BAB\"5120share155662578862004497155662578987503857Tue, 30 Apr 2019 12:03:09 GMT\"0x8D6CD63D04B064F\"5120share155662595995907858155662596004306578Tue, 30 Apr 2019 12:06:01 GMT\"0x8D6CD64364895F9\"5120share155662625450703255Tue, 30 Apr 2019 12:10:54 GMT\"0x8D6CD64E539C9F6\"5120share155662626147407940155662626175004337Tue, 30 Apr 2019 12:11:01 GMT\"0x8D6CD64E98CBD1A\"5120share155662637743605609155662637751001358Tue, 30 Apr 2019 12:12:57 GMT\"0x8D6CD652E8B6208\"5120share155662664173006358Tue, 30 Apr 2019 12:17:37 GMT\"0x8D6CD65D570BAE4\"5120share155662666338005352155662666389602684Tue, 30 Apr 2019 12:17:44 GMT\"0x8D6CD65D94AD41C\"5120share155662673728706029155662673745005608Tue, 30 Apr 2019 12:18:57 GMT\"0x8D6CD6605302FBE\"5120share155662707247701032Tue, 30 Apr 2019 12:24:32 GMT\"0x8D6CD66CCC187EA\"5120share155662707361008960155662707365704124Tue, 30 Apr 2019 12:24:33 GMT\"0x8D6CD66CD765BFF\"5120share155662716148504682155662716150008465Tue, 30 Apr 2019 12:26:02 GMT\"0x8D6CD67028527F9\"5120share155662746913406574Tue, 30 Apr 2019 12:31:11 GMT\"0x8D6CD67BADEDA4F\"5120share155662747408409967155662747413109639Tue, 30 Apr 2019 12:31:14 GMT\"0x8D6CD67BC2793BC\"5120share155662753834000600155662753837109223Tue, 30 Apr 2019 12:32:18 GMT\"0x8D6CD67E2719161\"5120share155662782303806877Tue, 30 Apr 2019 12:37:03 GMT\"0x8D6CD688C26F771\"5120share155662782452500893155662782457200278Tue, 30 Apr 2019 12:37:04 GMT\"0x8D6CD688D08A81D\"5120share155662788739300296155662789097705707Tue, 30 Apr 2019 12:38:11 GMT\"0x8D6CD68B49E2A48\"5120share155662816931104925Tue, 30 Apr 2019 12:42:49 GMT\"0x8D6CD695A962540\"5120share155662817225203479155662817259701968Tue, 30 Apr 2019 12:42:52 GMT\"0x8D6CD695C8BE154\"5120share155662823632807785155662823650306985Tue, 30 Apr 2019 12:43:56 GMT\"0x8D6CD6982AA192A\"5120share155662852342303617Tue, 30 Apr 2019 12:48:43 GMT\"0x8D6CD6A2DA687BC\"5120share155662852632405178155662852666909684Tue, 30 Apr 2019 12:48:47 GMT\"0x8D6CD6A2FBA14B9\"5120share155662860501305569155662860518207641Tue, 30 Apr 2019 12:50:05 GMT\"0x8D6CD6A5E636EF3\"5120share155662894578001193Tue, 30 Apr 2019 12:55:45 GMT\"0x8D6CD6B29672058\"5120share155662895018903930155662895095603460Tue, 30 Apr 2019 12:55:51 GMT\"0x8D6CD6B2C7C5D7B\"5120share155662900943409472155662900960307176Tue, 30 Apr 2019 12:56:50 GMT\"0x8D6CD6B4FE5F4B3\"5120share155664499555006401Tue, 30 Apr 2019 17:23:15 GMT\"0x8D6CD9087D53DCE\"5120share155664500031506296155664500092002935Tue, 30 Apr 2019 17:23:21 GMT\"0x8D6CD908B0B0AB0\"5120share155664508065306771155664508094803912Tue, 30 Apr 2019 17:24:41 GMT\"0x8D6CD90BAD270FA\"5120share155664729753300465Tue, 30 Apr 2019 18:01:37 GMT\"0x8D6CD95E3DF1B96\"5120share155664729867207955155664729876102123Tue, 30 Apr 2019 18:01:38 GMT\"0x8D6CD95E48EE467\"5120share155664731878008733155664731884404353Tue, 30 Apr 2019 18:01:58 GMT\"0x8D6CD95F087C514\"5120share155664734750706036Tue, 30 Apr 2019 18:02:27 GMT\"0x8D6CD9601AFBA38\"5120share155664735518802651155664735553702970Tue, 30 Apr 2019 18:02:35 GMT\"0x8D6CD960677C084\"5120share155664741133907881155664741150805603Tue, 30 Apr 2019 18:03:31 GMT\"0x8D6CD9627D4A3AC\"5120share155664751804804784Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD96674224E9\"5120share155664751843009437155664751845909347Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD9667809BA2\"5120share155664753608406512155664753609800054Tue, 30 Apr 2019 18:05:36 GMT\"0x8D6CD9672048402\"5120share155664764384909412Tue, 30 Apr 2019 18:07:23 GMT\"0x8D6CD96B2454BD0\"5120share155664764698903499155664764714205317Tue, 30 Apr 2019 18:07:27 GMT\"0x8D6CD96B43BC703\"5120share155664765964800730Tue, 30 Apr 2019 18:07:39 GMT\"0x8D6CD96BBBFDCC8\"5120share155664766156408443155664766175003678Tue, 30 Apr 2019 18:07:41 GMT\"0x8D6CD96BCEDE474\"5120share155664769075803387155664769083909474Tue, 30 Apr 2019 18:08:10 GMT\"0x8D6CD96CE471D93\"5120share155664769177107055155664769186807969Tue, 30 Apr 2019 18:08:11 GMT\"0x8D6CD96CEE0C32A\"5120share155664793047508046Tue, 30 Apr 2019 18:12:10 GMT\"0x8D6CD975D4445D7\"5120share155664793370707151155664793406201058Tue, 30 Apr 2019 18:12:14 GMT\"0x8D6CD975F4C0554\"5120share155664799626609967155664799642702708Tue, 30 Apr 2019 18:13:16 GMT\"0x8D6CD9784779BE8\"5120share155664838986009857Tue, 30 Apr 2019 18:19:49 GMT\"0x8D6CD986EE87FD0\"5120share155664839086109048155664839098605053Tue, 30 Apr 2019 18:19:51 GMT\"0x8D6CD986F92A6B3\"5120share155664842125701349155664842128800633Tue, 30 Apr 2019 18:20:21 GMT\"0x8D6CD9881A2AE3F\"5120share155664868924306988Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD99215836D8\"5120share155664868974301919155664868979002138Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD9921ABFC41\"5120share155664871026409718155664871028006183Tue, 30 Apr 2019 18:25:10 GMT\"0x8D6CD992DE35FBF\"5120share155664898661000493Tue, 30 Apr 2019 18:29:46 GMT\"0x8D6CD99D296CAAF\"5120share155664898736908027155664898743200061Tue, 30 Apr 2019 18:29:47 GMT\"0x8D6CD99D3145F33\"5120share155664901169000941155664901170603802Tue, 30 Apr 2019 18:30:11 GMT\"0x8D6CD99E18D8D3A\"5120share155664925468906460Tue, 30 Apr 2019 18:34:14 GMT\"0x8D6CD9A727390DC\"5120share155664925774602647155664925810605219Tue, 30 Apr 2019 18:34:18 GMT\"0x8D6CD9A747D51E0\"5120share155664930886300488155664930904704833Tue, 30 Apr 2019 18:35:09 GMT\"0x8D6CD9A92DA3BDA\"5120share155664963621608083Tue, 30 Apr 2019 18:40:36 GMT\"0x8D6CD9B55D88CCD\"5120share155664963911207885155664963950503259Tue, 30 Apr 2019 18:40:39 GMT\"0x8D6CD9B57CF9546\"5120share155664969424905803155664969442504330Tue, 30 Apr 2019 18:41:34 GMT\"0x8D6CD9B788A90C3\"5120share155664997888009788Tue, 30 Apr 2019 18:46:19 GMT\"0x8D6CD9C221B0DD3\"5120share155664998171908903155664998207603735Tue, 30 Apr 2019 18:46:22 GMT\"0x8D6CD9C2401C1B8\"5120share155665003183508772155665003201904018Tue, 30 Apr 2019 18:47:12 GMT\"0x8D6CD9C41C62EB3\"5120share155671217179407304Wed, 01 May 2019 12:02:52 GMT\"0x8D6CE2CF043E9FA\"5120share155671219172008472155671219276209289Wed, 01 May 2019 12:03:12 GMT\"0x8D6CE2CFC6D505C\"5120share155671230723401763155671230731502440Wed, 01 May 2019 12:05:25 GMT\"0x8D6CE2D4BA1AB19\"5120share155671263721209422Wed, 01 May 2019 12:10:37 GMT\"0x8D6CE2E056F7E3B\"5120share155671264204707108155671264210803004Wed, 01 May 2019 12:10:44 GMT\"0x8D6CE2E0984E095\"5120share155671270574801389155671270577303687Wed, 01 May 2019 12:11:46 GMT\"0x8D6CE2E2E5FFEA7\"5120share155671293848409824Wed, 01 May 2019 12:15:38 GMT\"0x8D6CE2EB8E7FA6A\"5120share155671294574507278155671294591804702Wed, 01 May 2019 12:15:45 GMT\"0x8D6CE2EBD562533\"5120share155671299611306212155671299620008258Wed, 01 May 2019 12:16:36 GMT\"0x8D6CE2EDB507203\"5120share155671332385803714Wed, 01 May 2019 12:22:03 GMT\"0x8D6CE2F9E969558\"5120share155671332469602305155671332475802993Wed, 01 May 2019 12:22:04 GMT\"0x8D6CE2F9F1EB9A5\"5120share155671338502005314155671338504303235Wed, 01 May 2019 12:23:05 GMT\"0x8D6CE2FC30DC95C\"5120share155671367854104869Wed, 01 May 2019 12:27:58 GMT\"0x8D6CE3071FE1598\"5120share155671368223303911155671368228005487Wed, 01 May 2019 12:28:02 GMT\"0x8D6CE307437A4C7\"5120share155671372645003038155671372648200546Wed, 01 May 2019 12:28:46 GMT\"0x8D6CE308E900339\"5120share155671404138101116Wed, 01 May 2019 12:34:01 GMT\"0x8D6CE314A41DD35\"5120share155671404388202871155671404392901060Wed, 01 May 2019 12:34:04 GMT\"0x8D6CE314BD70619\"5120share155671408392004967155671408393609922Wed, 01 May 2019 12:34:43 GMT\"0x8D6CE31639EBF99\"5120share155671434293808392Wed, 01 May 2019 12:39:03 GMT\"0x8D6CE31FE12032E\"5120share155671434836109290155671434872703442Wed, 01 May 2019 12:39:08 GMT\"0x8D6CE3201860597\"5120share155671442401704240155671442418902164Wed, 01 May 2019 12:40:24 GMT\"0x8D6CE322E80240E\"5120share155671476356403284Wed, 01 May 2019 12:46:03 GMT\"0x8D6CE32F8C8A3B2\"5120share155671476641602095155671476677406690Wed, 01 May 2019 12:46:06 GMT\"0x8D6CE32FAB3AA06\"5120share155671483047608209155671483064500413Wed, 01 May 2019 12:47:10 GMT\"0x8D6CE3320C4FF5D\"5120share155671512949600352Wed, 01 May 2019 12:52:09 GMT\"0x8D6CE33D2E5C47A\"5120share155671513373803608155671513408501729Wed, 01 May 2019 12:52:14 GMT\"0x8D6CE33D5A1A8D5\"5120share155671521609705567155671521626506310Wed, 01 May 2019 12:53:36 GMT\"0x8D6CE34069D5F27\"5120share155679851816408368Thu, 02 May 2019 12:01:58 GMT\"0x8D6CEF5FA732A7E\"5120share155679852596202541155679852613202884Thu, 02 May 2019 12:02:06 GMT\"0x8D6CEF5FF1D8624\"5120share155679856288905424Thu, 02 May 2019 12:02:42 GMT\"0x8D6CEF615076CF4\"5120share155679856731700115155679856740204877Thu, 02 May 2019 12:02:47 GMT\"0x8D6CEF617B700B9\"5120share155679857660207760155679857980906085Thu, 02 May 2019 12:02:59 GMT\"0x8D6CEF61F1D286E\"5120share155679874854605896Thu, 02 May 2019 12:05:48 GMT\"0x8D6CEF683A96E62\"5120share155679875030503823155679875033905411Thu, 02 May 2019 12:05:50 GMT\"0x8D6CEF684BA9C31\"5120share155679875254404441155679875263609138Thu, 02 May 2019 12:05:52 GMT\"0x8D6CEF68627C0FE\"5120share155679878089708047155679878091104872Thu, 02 May 2019 12:06:20 GMT\"0x8D6CEF696F37671\"5120share155679888243000820Thu, 02 May 2019 12:08:02 GMT\"0x8D6CEF6D39120A5\"5120share155679888489108376155679888509305780Thu, 02 May 2019 12:08:05 GMT\"0x8D6CEF6D5116F1C\"5120share155679891500506869155679891509202475Thu, 02 May 2019 12:08:35 GMT\"0x8D6CEF6E6F24819\"5120share155679901664001965Thu, 02 May 2019 12:10:16 GMT\"0x8D6CEF7237BEB8F\"5120share155679901953206038155679902425602748Thu, 02 May 2019 12:10:24 GMT\"0x8D6CEF728061FF4\"5120share155679910591802857155679910636900773Thu, 02 May 2019 12:11:46 GMT\"0x8D6CEF758F85617\"5120share155679935112105642Thu, 02 May 2019 12:15:51 GMT\"0x8D6CEF7EAD9AD30\"5120share155679935445705900155679935476905533Thu, 02 May 2019 12:15:54 GMT\"0x8D6CEF7ED06EB5C\"5120share155679940493802391155679940501507356Thu, 02 May 2019 12:16:45 GMT\"0x8D6CEF80B0518C8\"5120share155679976286209168Thu, 02 May 2019 12:22:42 GMT\"0x8D6CEF8E03E8D0B\"5120share155679976761202757155679976767408999Thu, 02 May 2019 12:22:47 GMT\"0x8D6CEF8E31CD0FB\"5120share155679983878804165155679983889806932Thu, 02 May 2019 12:23:59 GMT\"0x8D6CEF90DE7DBE3\"5120share155680012729001345Thu, 02 May 2019 12:28:47 GMT\"0x8D6CEF9B9744EEA\"5120share155680013089802177155680013343604362Thu, 02 May 2019 12:28:53 GMT\"0x8D6CEF9BD1E87AD\"5120share155680018545607819155680018548802519Thu, 02 May 2019 12:29:45 GMT\"0x8D6CEF9DC25C797\"5120share155680048628307191Thu, 02 May 2019 12:34:46 GMT\"0x8D6CEFA8F6FA5B5\"5120share155680048735201308155680048752503263Thu, 02 May 2019 12:34:47 GMT\"0x8D6CEFA902BEFD4\"5120share155680054059502575155680054078208504Thu, 02 May 2019 12:35:40 GMT\"0x8D6CEFAAFE99E08\"5120share155680079259409152Thu, 02 May 2019 12:39:52 GMT\"0x8D6CEFB46144212\"5120share155680079603008692155680079638802080Thu, 02 May 2019 12:39:56 GMT\"0x8D6CEFB48576A5A\"5120share155680086324003170155680086341609400Thu, 02 May 2019 12:41:09 GMT\"0x8D6CEFB73F4191B\"5120share155680116366608240Thu, 02 May 2019 12:46:03 GMT\"0x8D6CEFC2342610F\"5120share155680116692407772155680116726106116Thu, 02 May 2019 12:46:07 GMT\"0x8D6CEFC256671DA\"5120share155680123263107271155680123280607055Thu, 02 May 2019 12:47:18 GMT\"0x8D6CEFC4FB84B61\"5120share155680152893405622Thu, 02 May 2019 12:52:09 GMT\"0x8D6CEFCFCF8ACC9\"5120share155680153196607938155680153229901822Thu, 02 May 2019 12:52:12 GMT\"0x8D6CEFCFEFAC75D\"5120share155680158878107344155680158894804284Thu, 02 May 2019 12:53:09 GMT\"0x8D6CEFD20BEBDCF\"5120share155788306352807730Wed, 15 May 2019 01:16:54 GMT\"0x8D6D8D304A61904\"5120share155788308062108596155788308209308631Wed, 15 May 2019 01:17:12 GMT\"0x8D6D8D30F58BE3B\"5120share155788323499401022155788323520406093Wed, 15 May 2019 01:19:45 GMT\"0x8D6D8D36A9B0AAD\"5120share155788333682509501Wed, 15 May 2019 01:21:28 GMT\"0x8D6D8D3A7AA96CE\"5120share155788334149705660155788334173503747Wed, 15 May 2019 01:21:32 GMT\"0x8D6D8D3AA0A1813\"5120share155788339703307533155788339713500051Wed, 15 May 2019 01:22:27 GMT\"0x8D6D8D3CB0FBFB8\"5120share155789851622202118Wed, 15 May 2019 05:34:26 GMT\"0x8D6D8F6FED7E33B\"5120share155789852650301614155789852729008793Wed, 15 May 2019 05:34:36 GMT\"0x8D6D8F704DEAC59\"5120share155789877173604070155789877195804743Wed, 15 May 2019 05:38:42 GMT\"0x8D6D8F7975258B5\"5120share155789882274109457Wed, 15 May 2019 05:39:32 GMT\"0x8D6D8F7B501C0A1\"5120share155789920646404319Wed, 15 May 2019 05:45:59 GMT\"0x8D6D8F89B713B5D\"5120share155789922333106193155789922594104272Wed, 15 May 2019 05:46:15 GMT\"0x8D6D8F8A55DC48A\"5120share155789948872909427155789948893408867Wed, 15 May 2019 05:50:38 GMT\"0x8D6D8F9421EA77F\"5120share155796534745905625Thu, 16 May 2019 00:08:16 GMT\"0x8D6D99298888C0B\"5120share155796535227408872155796535309403957Thu, 16 May 2019 00:08:22 GMT\"0x8D6D9929BC764A5\"5120share155796549374907408155796549948205145Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F307D6FA\"5120share155796549944801755Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F30D0787\"5120share155796550181401739155796550203008148Thu, 16 May 2019 00:10:50 GMT\"0x8D6D992F47EA761\"5120share155796558852701870155796558863206075Thu, 16 May 2019 00:12:17 GMT\"0x8D6D993281B7B69\"5120share155936613426202671Sat, 01 Jun 2019 05:15:34 GMT\"0x8D6E6502D1AE146\"5120share155936613752107952Sat, 01 Jun 2019 05:15:37 GMT\"0x8D6E6502EE0D225\"5120share155936617309807358Sat, 01 Jun 2019 05:16:13 GMT\"0x8D6E6504414E154\"5120share155936618248102291155936618773106962Sat, 01 Jun 2019 05:16:28 GMT\"0x8D6E6504CF96712\"5120share155936622317002439155936622805600133Sat, 01 Jun 2019 05:17:08 GMT\"0x8D6E65064DD022F\"5120share156044249615306731Thu, 13 Jun 2019 09:14:41 GMT\"0x8D6EFDF9176E0E5\"5120share156044250900802249156044253597605999Thu, 13 Jun 2019 09:15:22 GMT\"0x8D6EFDFA9A9531B\"5120share156044266032103683156044267037809103Thu, 13 Jun 2019 09:17:35 GMT\"0x8D6EFDFF9363F4C\"5120share156044276915301025Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE033D4F921\"5120share156044276965805452Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE0343C5600\"5120share156044277102604377Thu, 13 Jun 2019 09:19:16 GMT\"0x8D6EFE035871718\"5120share156044298388703236Thu, 13 Jun 2019 09:22:48 GMT\"0x8D6EFE0B3DB9142\"5120share156044298446703223Thu, 13 Jun 2019 09:22:51 GMT\"0x8D6EFE0B52FECF1\"5120share156044298734500432Thu, 13 Jun 2019 09:22:53 GMT\"0x8D6EFE0B6A74968\"5120share156044329310003703Thu, 13 Jun 2019 09:27:57 GMT\"0x8D6EFE16C0FE7C8\"5120share156044329582502409156044329609304478Thu, 13 Jun 2019 09:28:00 GMT\"0x8D6EFE16DD7D891\"5120share156044333581504082156044333594304550Thu, 13 Jun 2019 09:28:40 GMT\"0x8D6EFE18597B0BF\"5120share156047994662102881Thu, 13 Jun 2019 19:38:52 GMT\"0x8D6F036C3BB8F7A\"5120share156047995819502850156047995909100189Thu, 13 Jun 2019 19:39:04 GMT\"0x8D6F036CAE76E07\"5120share156047996126702672Thu, 13 Jun 2019 19:39:06 GMT\"0x8D6F036CC7545BB\"5120share156050177866005230Fri, 14 Jun 2019 08:42:59 GMT\"0x8D6F0A44DE68AA5\"5120share156050179006706031156050179077805344Fri, 14 Jun 2019 08:43:16 GMT\"0x8D6F0A458405A55\"5120share156050191303808333156050191327404367Fri, 14 Jun 2019 08:45:13 GMT\"0x8D6F0A49E21DA4E\"5120share156050211559604917Fri, 14 Jun 2019 08:48:35 GMT\"0x8D6F0A516A83543\"5120share156050211822900505156050211858909038Fri, 14 Jun 2019 08:48:39 GMT\"0x8D6F0A51878DD30\"5120share156050215766705740156050215780300373Fri, 14 Jun 2019 08:49:18 GMT\"0x8D6F0A52FCE0BA5\"5120share156081550348009414Mon, 17 Jun 2019 23:51:43 GMT\"0x8D6F37EC0388A3B\"5120share156081550608509127156081550638505882Mon, 17 Jun 2019 23:51:46 GMT\"0x8D6F37EC1F298C1\"5120share156081551027804881Mon, 17 Jun 2019 23:51:50 GMT\"0x8D6F37EC4450BAA\"5120share156081556306007728Mon, 17 Jun 2019 23:52:43 GMT\"0x8D6F37EE3D2AAA3\"5120share156081556994202082156081557055908986Mon, 17 Jun 2019 23:52:50 GMT\"0x8D6F37EE84AF3FE\"5120share156090518844708126Wed, 19 Jun 2019 00:46:28 GMT\"0x8D6F44F90A73876\"5120share156090519369309751156090519401906943Wed, 19 Jun 2019 00:46:34 GMT\"0x8D6F44F93F136E5\"5120share156090520433402869Wed, 19 Jun 2019 00:46:44 GMT\"0x8D6F44F9A304B8F\"5120share156090520600501278156090520631804345Wed, 19 Jun 2019 00:46:46 GMT\"0x8D6F44F9B45D8A0\"5120share156090521027006703156090521090304895Wed, 19 Jun 2019 00:46:51 GMT\"0x8D6F44F9E1A4964\"5120share156090523484208035156090523547500820Wed, 19 Jun 2019 00:47:15 GMT\"0x8D6F44FACBF2574\"5120share156090528884503768x1Wed, 19 Jun 2019 00:48:08 GMT\"0x8D6F44FCC769E92\"5120share156090528884503768x2Wed, 19 Jun 2019 00:48:09 GMT\"0x8D6F44FCC8DD448\"5120share156090529119103354156090529134104591Wed, 19 Jun 2019 00:48:11 GMT\"0x8D6F44FCDF3714A\"5120share156090529870502984156090529885103119Wed, 19 Jun 2019 00:48:18 GMT\"0x8D6F44FD26D1E09\"5120share156090538248003758x1Wed, 19 Jun 2019 00:49:42 GMT\"0x8D6F450045EF089\"5120share156090538248003758x2Wed, 19 Jun 2019 00:49:43 GMT\"0x8D6F4500495B8E3\"5120share156090539724300720156090539754505732Wed, 19 Jun 2019 00:49:57 GMT\"0x8D6F4500D580E83\"5120share156090541332209451156090541362901101Wed, 19 Jun 2019 00:50:13 GMT\"0x8D6F45016EFF17A\"5120share156090550949505668Wed, 19 Jun 2019 00:51:49 GMT\"0x8D6F450500368A9\"5120share156090551212302217156090551242708665Wed, 19 Jun 2019 00:51:52 GMT\"0x8D6F45051BA1314\"5120share156090553013901551Wed, 19 Jun 2019 00:52:10 GMT\"0x8D6F4505C618D79\"5120share156090553593709437156090553653902128Wed, 19 Jun 2019 00:52:16 GMT\"0x8D6F4506031358A\"5120share156090558100103645156090558115508952Wed, 19 Jun 2019 00:53:01 GMT\"0x8D6F4507AB22B77\"5120share156090564524803767156090564556104448Wed, 19 Jun 2019 00:54:05 GMT\"0x8D6F450A12D0E82\"5120share156099883086407809156099883149506226Thu, 20 Jun 2019 02:47:11 GMT\"0x8D6F5299855BC7B\"5120share156099893196906529156099893228004620Thu, 20 Jun 2019 02:48:52 GMT\"0x8D6F529D44FD103\"5120share156114311216300057Fri, 21 Jun 2019 18:51:52 GMT\"0x8D6F679864F385C\"5120share156114311890203576156114312002500579Fri, 21 Jun 2019 18:52:00 GMT\"0x8D6F6798AFE085E\"5120share156114333879907132156114334191903810Fri, 21 Jun 2019 18:55:42 GMT\"0x8D6F67A0F3FCF92\"5120share156114371848307278Fri, 21 Jun 2019 19:01:58 GMT\"0x8D6F67AEFA2AFE2\"5120share156114372136304633156114372167008416Fri, 21 Jun 2019 19:02:01 GMT\"0x8D6F67AF180FD23\"5120share156114379998900636156114380014204580Fri, 21 Jun 2019 19:03:20 GMT\"0x8D6F67B204707DA\"5120share156114474439505812Fri, 21 Jun 2019 19:19:04 GMT\"0x8D6F67D53314453\"5120share156114475387905810156114475448908574Fri, 21 Jun 2019 19:19:14 GMT\"0x8D6F67D5933C9C3\"5120share156114486321303028Fri, 21 Jun 2019 19:21:05 GMT\"0x8D6F67D9B61B33C\"5120share156115946574701846Fri, 21 Jun 2019 23:24:26 GMT\"0x8D6F69F99CE4B71\"5120share156115947141807982156115947224806986Fri, 21 Jun 2019 23:24:33 GMT\"0x8D6F69F9E1B1F7F\"5120share156115960121602365156115960188507490Fri, 21 Jun 2019 23:26:42 GMT\"0x8D6F69FEAF28A6C\"5120share156141635490400684Mon, 24 Jun 2019 22:45:55 GMT\"0x8D6F8F5B7AD250A\"5120share156141636264601764156141636329409650Mon, 24 Jun 2019 22:46:03 GMT\"0x8D6F8F5BCACA818\"5120share156141658460702995156141658490004575Mon, 24 Jun 2019 22:49:45 GMT\"0x8D6F8F641081F82\"5120share156141756433309618Mon, 24 Jun 2019 23:06:04 GMT\"0x8D6F8F8887D6188\"5120share156141756733002751156141756763204721Mon, 24 Jun 2019 23:06:07 GMT\"0x8D6F8F88A6C6C2A\"5120share156141764119603193156141764134701828Mon, 24 Jun 2019 23:07:21 GMT\"0x8D6F8F8B65C39CE\"5120share156141919236706702Mon, 24 Jun 2019 23:33:12 GMT\"0x8D6F8FC52EED154\"5120share156141919803003350156141919865801147Mon, 24 Jun 2019 23:33:19 GMT\"0x8D6F8FC56F4BD05\"5120share156141931966501774Mon, 24 Jun 2019 23:35:29 GMT\"0x8D6F8FCA4BD683F\"5120share156149970911905568Tue, 25 Jun 2019 21:55:09 GMT\"0x8D6F9B7CAAB4B3B\"5120share156149972253205524156149972575804451Tue, 25 Jun 2019 21:55:26 GMT\"0x8D6F9B7D492BDAF\"5120share156149997853501630156149997896706693Tue, 25 Jun 2019 21:59:39 GMT\"0x8D6F9B86B7E9EF8\"5120share156150112617009272Tue, 25 Jun 2019 22:18:46 GMT\"0x8D6F9BB17479CEF\"5120share156150115930800713156150115992806338Tue, 25 Jun 2019 22:19:23 GMT\"0x8D6F9BB2D3E52CB\"5120share156150134120204800156150134149206717Tue, 25 Jun 2019 22:22:21 GMT\"0x8D6F9BB979CFC8C\"5120share156150280108408199Tue, 25 Jun 2019 22:46:44 GMT\"0x8D6F9BEFF7465E5\"5120share156150281047001733156150281108602477Tue, 25 Jun 2019 22:46:52 GMT\"0x8D6F9BF0439157D\"5120share156150296438905506156150296523603401Tue, 25 Jun 2019 22:49:25 GMT\"0x8D6F9BF5F712922\"5120share156150354167103800156150354327804409Tue, 25 Jun 2019 22:59:03 GMT\"0x8D6F9C0B7FD48A0\"5120share156150384087807265156150384183008054Tue, 25 Jun 2019 23:04:02 GMT\"0x8D6F9C169F185B4\"5120share156150415783302542Tue, 25 Jun 2019 23:09:18 GMT\"0x8D6F9C2264959E1\"5120share156150416320803571156150416383902503Tue, 25 Jun 2019 23:09:24 GMT\"0x8D6F9C229DED148\"5120share156150416632503534Tue, 25 Jun 2019 23:09:26 GMT\"0x8D6F9C22B5A1E25\"5120share156150422332508880Tue, 25 Jun 2019 23:10:23 GMT\"0x8D6F9C24D8C96B5\"5120share156150423181005284156150423381304793Tue, 25 Jun 2019 23:10:34 GMT\"0x8D6F9C253961894\"5120share156150438077300288156150438106805729Tue, 25 Jun 2019 23:13:01 GMT\"0x8D6F9C2AB5763ED\"5120share156150520304506733Tue, 25 Jun 2019 23:26:43 GMT\"0x8D6F9C49531803B\"5120share156150520603800440156150520635102181Tue, 25 Jun 2019 23:26:46 GMT\"0x8D6F9C49729170A\"5120share156150526941308420156150526956606178Tue, 25 Jun 2019 23:27:49 GMT\"0x8D6F9C4BCD6B148\"5120share156150541781105471Tue, 25 Jun 2019 23:30:19 GMT\"0x8D6F9C5160C2833\"5120share156150542478109368156150542584804338Tue, 25 Jun 2019 23:30:37 GMT\"0x8D6F9C52095C85F\"5120", [ 'Transfer-Encoding', + .reply(200, "1share-with-dash156503801544506568Mon, 05 Aug 2019 20:46:55 GMT\"0x8D719E60D7B9494\"51201share-with-dash156503990297204513Mon, 05 Aug 2019 21:18:23 GMT\"0x8D719EA7287B131\"5120harshan-newshareWed, 03 Jul 2019 08:00:19 GMT\"0x8D6FF8C7E400CF5\"5120harshan-newshare1Wed, 03 Jul 2019 08:00:27 GMT\"0x8D6FF8C82F78FD8\"5120harshan-newshare308Wed, 03 Jul 2019 22:59:42 GMT\"0x8D7000A22C19BC2\"5120harshan-newshare369Wed, 03 Jul 2019 22:58:16 GMT\"0x8D70009EF8E3A12\"5120harshan-newshare378Wed, 03 Jul 2019 22:59:24 GMT\"0x8D7000A179B6D3A\"5120harshan-newshare3808Tue, 06 Aug 2019 18:25:00 GMT\"0x8D71A9B64CB36A5\"5120harshan-newshare3808-fxTue, 06 Aug 2019 18:44:50 GMT\"0x8D71A9E2A19A548\"5120harshan-newshare5Wed, 03 Jul 2019 08:00:39 GMT\"0x8D6FF8C89D7AD2D\"5120newshare1560984825945Wed, 19 Jun 2019 22:53:46 GMT\"0x8D6F508FC8742DD\"5120newshare1560984850577Wed, 19 Jun 2019 22:54:11 GMT\"0x8D6F5090B34A1EB\"5120newshare1560984882604Wed, 19 Jun 2019 22:54:42 GMT\"0x8D6F5091E339D8C\"5120newshare1560985024272Wed, 19 Jun 2019 22:57:04 GMT\"0x8D6F50972BE3FCF\"5120newshare1560985083512Wed, 19 Jun 2019 22:58:03 GMT\"0x8D6F5099600D69D\"5120newshare1560985920531Wed, 19 Jun 2019 23:12:00 GMT\"0x8D6F50B88DA1F34\"5120newshare1561756969110Fri, 28 Jun 2019 21:22:49 GMT\"0x8D6FC0EC59EBC52\"5120newshare1562193890506Wed, 03 Jul 2019 22:44:50 GMT\"0x8D700080F2422E6\"5120share155437904169205513Thu, 04 Apr 2019 11:57:21 GMT\"0x8D6B8F4B2199E20\"5120share155437904713606627155437904748902305Thu, 04 Apr 2019 11:57:27 GMT\"0x8D6B8F4B58CCFDF\"5120share155437910337302527155437910354902667Thu, 04 Apr 2019 11:58:23 GMT\"0x8D6B8F4D6F74A7A\"5120share155437926571002685Thu, 04 Apr 2019 12:01:06 GMT\"0x8D6B8F537F0202C\"5120share155437937929506082Thu, 04 Apr 2019 12:02:59 GMT\"0x8D6B8F57B571BD7\"5120share155437938267107302155437938302300325Thu, 04 Apr 2019 12:03:03 GMT\"0x8D6B8F57D904B8D\"5120share155437943600205257155437943618000602Thu, 04 Apr 2019 12:03:56 GMT\"0x8D6B8F59D3F4E15\"5120share155442101291609110Thu, 04 Apr 2019 23:36:53 GMT\"0x8D6B9566AEEB456\"5120share155442101433204202155442101441304945Thu, 04 Apr 2019 23:36:54 GMT\"0x8D6B9566BAA4F82\"5120share155442103535004210155442103538902012Thu, 04 Apr 2019 23:37:15 GMT\"0x8D6B956782FAC3C\"5120share155442106262706581Thu, 04 Apr 2019 23:37:43 GMT\"0x8D6B95688E986F6\"5120share155442106833005342155442106849709891Thu, 04 Apr 2019 23:37:48 GMT\"0x8D6B9568BEE3C35\"5120share155442114135001795155442114169107170Thu, 04 Apr 2019 23:39:02 GMT\"0x8D6B956B7D19FDF\"5120share155442131425802394Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571E63D415\"5120share155442131479404554155442131482500092Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571EBA7ECE\"5120share155442132948207011155442132949606157Thu, 04 Apr 2019 23:42:09 GMT\"0x8D6B9572778FD3C\"5120share155442141590704833Thu, 04 Apr 2019 23:43:35 GMT\"0x8D6B9575AFB4FEB\"5120share155442142252500330155442142267403210Thu, 04 Apr 2019 23:43:44 GMT\"0x8D6B9575FD51B4D\"5120share155442146582902380155442146585008091Thu, 04 Apr 2019 23:44:26 GMT\"0x8D6B95778EE5ED3\"5120share155442149759503608Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C207165\"5120share155442149837602699Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C30A3C1\"5120share155442150064406618155442150082408752Thu, 04 Apr 2019 23:45:00 GMT\"0x8D6B9578D9B62F7\"5120share155442153362302080155442153371707518Thu, 04 Apr 2019 23:45:33 GMT\"0x8D6B957A13737FA\"5120share155443582059502859Fri, 05 Apr 2019 03:43:42 GMT\"0x8D6B978E603869D\"5120share155443582580507876155443582595606141Fri, 05 Apr 2019 03:43:46 GMT\"0x8D6B978E8A02797\"5120share155443587740305874155443587762607080Fri, 05 Apr 2019 03:44:37 GMT\"0x8D6B97906DE32FA\"5120share155443625931505797Fri, 05 Apr 2019 03:50:59 GMT\"0x8D6B979EA5A9413\"5120share155443626549008520155443626563302943Fri, 05 Apr 2019 03:51:05 GMT\"0x8D6B979EE1D492F\"5120share155443630167301526155443630221406552Fri, 05 Apr 2019 03:51:42 GMT\"0x8D6B97A03FBB01F\"5120share155443666699605171Fri, 05 Apr 2019 03:57:47 GMT\"0x8D6B97ADD56D64F\"5120share155443666955806318155443667044900386Fri, 05 Apr 2019 03:57:50 GMT\"0x8D6B97ADF6728E9\"5120share155443669150109852155443669151701289Fri, 05 Apr 2019 03:58:11 GMT\"0x8D6B97AEBF6A0A3\"5120share155443703010208112Fri, 05 Apr 2019 04:03:50 GMT\"0x8D6B97BB5C542C6\"5120share155443703394402052155443703408604381Fri, 05 Apr 2019 04:03:54 GMT\"0x8D6B97BB82502C3\"5120share155443706847604651155443706849201965Fri, 05 Apr 2019 04:04:28 GMT\"0x8D6B97BCCA7BB08\"5120share155443733735903558Fri, 05 Apr 2019 04:08:57 GMT\"0x8D6B97C6CFBA440\"5120share155443734066903960155443734103208534Fri, 05 Apr 2019 04:09:01 GMT\"0x8D6B97C6F2C6060\"5120share155443740343700662155443740361700328Fri, 05 Apr 2019 04:10:03 GMT\"0x8D6B97C947B99FC\"5120share155443773159006548Fri, 05 Apr 2019 04:15:31 GMT\"0x8D6B97D57F62125\"5120share155443773488909261155443773524802868Fri, 05 Apr 2019 04:15:35 GMT\"0x8D6B97D5A23A41F\"5120share155443778879901744155443778897809352Fri, 05 Apr 2019 04:16:29 GMT\"0x8D6B97D7A2A0A7B\"5120share155443808157506500Fri, 05 Apr 2019 04:21:21 GMT\"0x8D6B97E28928135\"5120share155443808899901355155443808934705375Fri, 05 Apr 2019 04:21:29 GMT\"0x8D6B97E2D346BD5\"5120share155443814397801049155443814428602573Fri, 05 Apr 2019 04:22:24 GMT\"0x8D6B97E4DF255CB\"5120share155449698256603251Fri, 05 Apr 2019 20:43:03 GMT\"0x8D6BA074CC4EFEB\"5120share155449699028704210155449699044401955Fri, 05 Apr 2019 20:43:10 GMT\"0x8D6BA0750F24CA3\"5120share155449706408706736155449706446200602Fri, 05 Apr 2019 20:44:24 GMT\"0x8D6BA077D1205FE\"5120share155449737116002082Fri, 05 Apr 2019 20:49:31 GMT\"0x8D6BA0833EF6AE3\"5120share155449737474209671155449737490001856Fri, 05 Apr 2019 20:49:35 GMT\"0x8D6BA0836271F09\"5120share155449745536204495155449745544000815Fri, 05 Apr 2019 20:50:55 GMT\"0x8D6BA08661AA78B\"5120share155449770584504837Fri, 05 Apr 2019 20:55:06 GMT\"0x8D6BA08FB786B15\"5120share155449770977003350155449771009507442Fri, 05 Apr 2019 20:55:10 GMT\"0x8D6BA08FDEEEF5F\"5120share155449778145802330155449778162009258Fri, 05 Apr 2019 20:56:21 GMT\"0x8D6BA0928910090\"5120share155449823062408698Fri, 05 Apr 2019 21:03:50 GMT\"0x8D6BA0A3420A3D8\"5120share155449823258504287155449823263301889Fri, 05 Apr 2019 21:03:52 GMT\"0x8D6BA0A35530D46\"5120share155449826174701410155449826176307807Fri, 05 Apr 2019 21:04:21 GMT\"0x8D6BA0A46AFDCC3\"5120share155449862981903222Fri, 05 Apr 2019 21:10:29 GMT\"0x8D6BA0B220FFB58\"5120share155449863105504658155449863111709132Fri, 05 Apr 2019 21:10:31 GMT\"0x8D6BA0B22D5EEA2\"5120share155449865700806346155449865702400197Fri, 05 Apr 2019 21:10:57 GMT\"0x8D6BA0B32485EAF\"5120share155449904692503022Fri, 05 Apr 2019 21:17:26 GMT\"0x8D6BA0C1AB0768E\"5120share155449905263404318155449905491400712Fri, 05 Apr 2019 21:17:34 GMT\"0x8D6BA0C1F74B26E\"5120share155449907669405335155449907672507508Fri, 05 Apr 2019 21:17:56 GMT\"0x8D6BA0C2C743E12\"5120share155449934243103133Fri, 05 Apr 2019 21:22:22 GMT\"0x8D6BA0CCAE43E0F\"5120share155449934701504808155449934737409902Fri, 05 Apr 2019 21:22:27 GMT\"0x8D6BA0CCDD5AAB7\"5120share155449939774006034155449939791600712Fri, 05 Apr 2019 21:23:18 GMT\"0x8D6BA0CEBF47C4B\"5120share155449972319203361Fri, 05 Apr 2019 21:28:43 GMT\"0x8D6BA0DADD62181\"5120share155449972776901031155449972812206390Fri, 05 Apr 2019 21:28:48 GMT\"0x8D6BA0DB0C68B0E\"5120share155449977789002842155449977806401651Fri, 05 Apr 2019 21:29:38 GMT\"0x8D6BA0DCE8A94B2\"5120share155449988456208354Fri, 05 Apr 2019 21:31:24 GMT\"0x8D6BA0E0E0F8C4F\"5120share155449988625608688155449988642503448Fri, 05 Apr 2019 21:31:26 GMT\"0x8D6BA0E0F159E96\"5120share155449991844601273Fri, 05 Apr 2019 21:31:58 GMT\"0x8D6BA0E2236F89F\"5120share155449991947403701155449991955701901Fri, 05 Apr 2019 21:31:59 GMT\"0x8D6BA0E22D51817\"5120share155449992104401371155449992136502093Fri, 05 Apr 2019 21:32:01 GMT\"0x8D6BA0E23F4DF66\"5120share155449998080301988155449998096605835Fri, 05 Apr 2019 21:33:01 GMT\"0x8D6BA0E477BAC64\"5120share155450013577106187Fri, 05 Apr 2019 21:35:35 GMT\"0x8D6BA0EA3C13C6A\"5120share155450013975601796155450014013008238Fri, 05 Apr 2019 21:35:40 GMT\"0x8D6BA0EA65AC2B0\"5120share155450018809207165155450018826600270Fri, 05 Apr 2019 21:36:28 GMT\"0x8D6BA0EC30B1548\"5120share155450023420002019Fri, 05 Apr 2019 21:37:14 GMT\"0x8D6BA0EDE57C125\"5120share155450023554205992155450023557009386Fri, 05 Apr 2019 21:37:15 GMT\"0x8D6BA0EDF288B66\"5120share155450024411803045Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4426ACD\"5120share155450024474309872155450024478308841Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4A7516D\"5120share155450026152800097155450026154404952Fri, 05 Apr 2019 21:37:41 GMT\"0x8D6BA0EEEA43674\"5120share155450026844501446155450026846506463Fri, 05 Apr 2019 21:37:48 GMT\"0x8D6BA0EF2C4D0B4\"5120share155450027013702613Fri, 05 Apr 2019 21:37:50 GMT\"0x8D6BA0EF3D660E5\"5120share155450098713403512Fri, 05 Apr 2019 21:49:47 GMT\"0x8D6BA109F1FAEA3\"5120share155450098795005725155450098819302382Fri, 05 Apr 2019 21:49:48 GMT\"0x8D6BA109FC138FA\"5120share155450100624106896155450100625400488Fri, 05 Apr 2019 21:50:06 GMT\"0x8D6BA10AA84F02B\"5120share155450104772209911Fri, 05 Apr 2019 21:50:47 GMT\"0x8D6BA10C3526810\"5120share155450105123004228155450105156707366Fri, 05 Apr 2019 21:50:51 GMT\"0x8D6BA10C59D285F\"5120share155450111920803672155450111937209538Fri, 05 Apr 2019 21:51:59 GMT\"0x8D6BA10EE071888\"5120share155450126920005396Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA11474297C1\"5120share155450126969701975155450126972908925Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA1147934239\"5120share155450128467906744155450128469304502Fri, 05 Apr 2019 21:54:44 GMT\"0x8D6BA11507E4772\"5120share155450132669601793Fri, 05 Apr 2019 21:55:26 GMT\"0x8D6BA11698EF3CD\"5120share155450132813801025155450132829305884Fri, 05 Apr 2019 21:55:28 GMT\"0x8D6BA116A81B4B3\"5120share155450135791403668155450135799105427Fri, 05 Apr 2019 21:55:58 GMT\"0x8D6BA117C34CAD7\"5120share155450140200109814Fri, 05 Apr 2019 21:56:42 GMT\"0x8D6BA119683B6C7\"5120share155450140979600425155450141000009152Fri, 05 Apr 2019 21:56:50 GMT\"0x8D6BA119B353702\"5120share155450144708505456155450144717604490Fri, 05 Apr 2019 21:57:27 GMT\"0x8D6BA11B15D8FA1\"5120share155450155445805771Fri, 05 Apr 2019 21:59:14 GMT\"0x8D6BA11F14FA8C1\"5120share155450155746908588155450155762100757Fri, 05 Apr 2019 21:59:17 GMT\"0x8D6BA11F332B6AE\"5120share155450159236608444155450159244109845Fri, 05 Apr 2019 21:59:52 GMT\"0x8D6BA1207F35686\"5120share155450180090503097Fri, 05 Apr 2019 22:03:20 GMT\"0x8D6BA12842B549F\"5120share155450180155809344155450180158500047Fri, 05 Apr 2019 22:03:21 GMT\"0x8D6BA1284932271\"5120share155450181491907566155450181493202339Fri, 05 Apr 2019 22:03:34 GMT\"0x8D6BA128C8781AB\"5120share155450186007105856Fri, 05 Apr 2019 22:04:20 GMT\"0x8D6BA12A77939C1\"5120share155450186139508623155450186155309962Fri, 05 Apr 2019 22:04:21 GMT\"0x8D6BA12A85AA383\"5120share155450189649605877155450189657701803Fri, 05 Apr 2019 22:04:56 GMT\"0x8D6BA12BD3AFF63\"5120share155450194282600135Fri, 05 Apr 2019 22:05:42 GMT\"0x8D6BA12D8C2E1B6\"5120share155450195089000955155450195091608811Fri, 05 Apr 2019 22:05:50 GMT\"0x8D6BA12DD953B1C\"5120share155450196679601624155450196680606667Fri, 05 Apr 2019 22:06:06 GMT\"0x8D6BA12E70E0F9F\"5120share155450199206704489Fri, 05 Apr 2019 22:06:32 GMT\"0x8D6BA12F630E2CD\"5120share155450199500007291155450201143605621Fri, 05 Apr 2019 22:06:51 GMT\"0x8D6BA1301BC47AF\"5120share155450206036607407155450206052800826Fri, 05 Apr 2019 22:07:40 GMT\"0x8D6BA131EFE8131\"5120share155450219976309042Fri, 05 Apr 2019 22:09:59 GMT\"0x8D6BA1371F17A2C\"5120share155450220201305360155450220217304372Fri, 05 Apr 2019 22:10:02 GMT\"0x8D6BA13736168E3\"5120share155450220597709116Fri, 05 Apr 2019 22:10:05 GMT\"0x8D6BA13759CF9CA\"5120share155450220632007478155450220635204656Fri, 05 Apr 2019 22:10:06 GMT\"0x8D6BA1375D62EE2\"5120share155450222111000558155450222112507755Fri, 05 Apr 2019 22:10:21 GMT\"0x8D6BA137EA4808F\"5120share155450223061502730155450223068509469Fri, 05 Apr 2019 22:10:30 GMT\"0x8D6BA13845FAD24\"5120share155450232306601840Fri, 05 Apr 2019 22:12:03 GMT\"0x8D6BA13BB66BE04\"5120share155450232646008568155450232648907776Fri, 05 Apr 2019 22:12:06 GMT\"0x8D6BA13BD711C53\"5120share155450234251903854155450234253907944Fri, 05 Apr 2019 22:12:22 GMT\"0x8D6BA13C70245E0\"5120share155450235982000963Fri, 05 Apr 2019 22:12:39 GMT\"0x8D6BA13D1508F64\"5120share155450236052009517155450236056501193Fri, 05 Apr 2019 22:12:40 GMT\"0x8D6BA13D1C73D27\"5120share155450237944605145155450237947204493Fri, 05 Apr 2019 22:12:59 GMT\"0x8D6BA13DD070EC8\"5120share155450243317208497Fri, 05 Apr 2019 22:13:53 GMT\"0x8D6BA13FD502B84\"5120share155450243543800739155450243563307575Fri, 05 Apr 2019 22:13:55 GMT\"0x8D6BA13FE87318F\"5120share155450247858409868155450247868503121Fri, 05 Apr 2019 22:14:38 GMT\"0x8D6BA14182FE497\"5120share155450252568703791Fri, 05 Apr 2019 22:15:25 GMT\"0x8D6BA14342D96B5\"5120share155450252608008026155450252615504107Fri, 05 Apr 2019 22:15:26 GMT\"0x8D6BA143475549D\"5120share155450255144300111155450255146607728Fri, 05 Apr 2019 22:15:51 GMT\"0x8D6BA14438C0714\"5120share155450256410002156Fri, 05 Apr 2019 22:16:04 GMT\"0x8D6BA144B93A845\"5120share155450256664806570155450256683505659Fri, 05 Apr 2019 22:16:06 GMT\"0x8D6BA144CBA4AA3\"5120share155450260538802684155450260548106160Fri, 05 Apr 2019 22:16:45 GMT\"0x8D6BA1463C321E8\"5120share155450262421807558Fri, 05 Apr 2019 22:17:04 GMT\"0x8D6BA146EF12A18\"5120share155450262609800727155450262624802323Fri, 05 Apr 2019 22:17:06 GMT\"0x8D6BA14702740EF\"5120share155450265459101575155450265466908285Fri, 05 Apr 2019 22:17:34 GMT\"0x8D6BA14811678F6\"5120share155450291724204101Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151D92961C\"5120share155450291786801152155450291791509886Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151DF9B21D\"5120share155450294264200641155450294267300716Fri, 05 Apr 2019 22:22:22 GMT\"0x8D6BA152CBFB921\"5120share155450297591105990Fri, 05 Apr 2019 22:22:55 GMT\"0x8D6BA154089226D\"5120share155450297691404792155450298009709737Fri, 05 Apr 2019 22:23:00 GMT\"0x8D6BA1543093B42\"5120share155450299822209088155450299823801256Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154DD8BE67\"5120share155450299850301516Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154E0093C0\"5120share155450323607005122Fri, 05 Apr 2019 22:27:16 GMT\"0x8D6BA15DBB935B6\"5120share155450324394200105155450324411702106Fri, 05 Apr 2019 22:27:24 GMT\"0x8D6BA15E06C88BA\"5120share155450327468600876155450327477006102Fri, 05 Apr 2019 22:27:54 GMT\"0x8D6BA15F2B17D62\"5120share155450327962109277Fri, 05 Apr 2019 22:27:59 GMT\"0x8D6BA15F591850B\"5120share155450328004306783155450328010501022Fri, 05 Apr 2019 22:28:00 GMT\"0x8D6BA15F5DA9895\"5120share155450328527004557Fri, 05 Apr 2019 22:28:05 GMT\"0x8D6BA15F900F654\"5120share155450328798308238155450328830607965Fri, 05 Apr 2019 22:28:08 GMT\"0x8D6BA15FACF51C1\"5120share155450330666305766155450330667907543Fri, 05 Apr 2019 22:28:26 GMT\"0x8D6BA1605B1104A\"5120share155450330701904810Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1605E62237\"5120share155450330736308091155450330741007484Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1606202508\"5120share155450333528301673155450333529906356Fri, 05 Apr 2019 22:28:55 GMT\"0x8D6BA1616BFD401\"5120share155450333946600308155450333962608415Fri, 05 Apr 2019 22:28:59 GMT\"0x8D6BA161966152A\"5120share155450334885500645Fri, 05 Apr 2019 22:29:09 GMT\"0x8D6BA161EE70228\"5120share155450338395504678Fri, 05 Apr 2019 22:29:43 GMT\"0x8D6BA1633BE44FF\"5120share155450338426107979155450338428803666Fri, 05 Apr 2019 22:29:44 GMT\"0x8D6BA1633F11BE0\"5120share155450340161103627155450340162402163Fri, 05 Apr 2019 22:30:01 GMT\"0x8D6BA163E464D75\"5120share155450340409906407Fri, 05 Apr 2019 22:30:04 GMT\"0x8D6BA163FCE736E\"5120share155450340500808852155450340509400929Fri, 05 Apr 2019 22:30:05 GMT\"0x8D6BA16405A6FD7\"5120share155450342745506448155450342749401765Fri, 05 Apr 2019 22:30:27 GMT\"0x8D6BA164DB462BB\"5120share155450343328809346Fri, 05 Apr 2019 22:30:33 GMT\"0x8D6BA16512F2A33\"5120share155450343458400365155450343479806929Fri, 05 Apr 2019 22:30:34 GMT\"0x8D6BA165213D613\"5120share155450347314804212155450347322803647Fri, 05 Apr 2019 22:31:13 GMT\"0x8D6BA1668FC3C29\"5120share155450347423202007Fri, 05 Apr 2019 22:31:14 GMT\"0x8D6BA1669960501\"5120share155450348727102424Fri, 05 Apr 2019 22:31:27 GMT\"0x8D6BA16715BDB44\"5120share155450348869606134155450348885300828Fri, 05 Apr 2019 22:31:28 GMT\"0x8D6BA16724D7E5B\"5120share155450352004300543155450352016602032Fri, 05 Apr 2019 22:32:00 GMT\"0x8D6BA1684F78DB2\"5120share155450359307104606Fri, 05 Apr 2019 22:33:13 GMT\"0x8D6BA16B083EDD4\"5120share155450359418905974155450359428200487Fri, 05 Apr 2019 22:33:14 GMT\"0x8D6BA16B11FBCAD\"5120share155450361494402784155450361498805984Fri, 05 Apr 2019 22:33:35 GMT\"0x8D6BA16BD772803\"5120share155450366632503090Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC0E65F3\"5120share155450366664904930155450366667902768Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC44713D\"5120share155450368886501484155450368888102090Fri, 05 Apr 2019 22:34:48 GMT\"0x8D6BA16E9809F79\"5120share155450371988700286Fri, 05 Apr 2019 22:35:19 GMT\"0x8D6BA16FBFCD6F0\"5120share155450372038902619155450372043606143Fri, 05 Apr 2019 22:35:20 GMT\"0x8D6BA16FC4F6C23\"5120share155450373756402371Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA17068A2D67\"5120share155450373784606946155450373786208940Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA1706B2AFB9\"5120share155450373882702323155450373897204908Fri, 05 Apr 2019 22:35:39 GMT\"0x8D6BA170761DA0F\"5120share155450377319401477155450377328608675Fri, 05 Apr 2019 22:36:13 GMT\"0x8D6BA171BD5442B\"5120share155450380543301117Fri, 05 Apr 2019 22:36:45 GMT\"0x8D6BA172EF6D32A\"5120share155450381203303146155450381206607839Fri, 05 Apr 2019 22:36:52 GMT\"0x8D6BA1732EB1201\"5120share155450382820207817Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173C8B8687\"5120share155450382859306908155450382865503795Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173CCF5E34\"5120share155450383751906388155450383753309735Fri, 05 Apr 2019 22:37:17 GMT\"0x8D6BA1742195560\"5120share155450388094604484155450388096207678Fri, 05 Apr 2019 22:38:00 GMT\"0x8D6BA175BFEA36E\"5120share155450388146309288Fri, 05 Apr 2019 22:38:01 GMT\"0x8D6BA175C49C9D4\"5120share155450388966903186Fri, 05 Apr 2019 22:38:09 GMT\"0x8D6BA1761356323\"5120share155450389307503518155450389323404538Fri, 05 Apr 2019 22:38:13 GMT\"0x8D6BA1763551622\"5120share155450392730003095155450392737709902Fri, 05 Apr 2019 22:38:47 GMT\"0x8D6BA1777AF23EE\"5120share155450393102803449Fri, 05 Apr 2019 22:38:51 GMT\"0x8D6BA1779DAA4DC\"5120share155450393283705485155450393298705884Fri, 05 Apr 2019 22:38:53 GMT\"0x8D6BA177B059A34\"5120share155450396658903715155450396666002048Fri, 05 Apr 2019 22:39:26 GMT\"0x8D6BA178F178169\"5120share155450396756806154Fri, 05 Apr 2019 22:39:27 GMT\"0x8D6BA178FA26048\"5120share155450406886408649Fri, 05 Apr 2019 22:41:09 GMT\"0x8D6BA17CC1A3DFC\"5120share155450407117103774155450407137004037Fri, 05 Apr 2019 22:41:11 GMT\"0x8D6BA17CD80D016\"5120share155450410470804055155450410479801441Fri, 05 Apr 2019 22:41:44 GMT\"0x8D6BA17E16D32C5\"5120share155450415494202178Fri, 05 Apr 2019 22:42:37 GMT\"0x8D6BA1800D298E1\"5120share155450415924909263155450415946504098Fri, 05 Apr 2019 22:42:39 GMT\"0x8D6BA1802030A7D\"5120share155450419250702459155450419259701169Fri, 05 Apr 2019 22:43:12 GMT\"0x8D6BA1815C23F76\"5120share155450421697207185Fri, 05 Apr 2019 22:43:37 GMT\"0x8D6BA18245F95C8\"5120share155450421871302863155450421892300644Fri, 05 Apr 2019 22:43:38 GMT\"0x8D6BA182573A9E1\"5120share155450424704408868155450424714109223Fri, 05 Apr 2019 22:44:07 GMT\"0x8D6BA1836457FFD\"5120share155450429079705396Fri, 05 Apr 2019 22:44:50 GMT\"0x8D6BA185057FA7C\"5120share155450429375002929155450429411309966Fri, 05 Apr 2019 22:44:54 GMT\"0x8D6BA18525118BC\"5120share155450430952405481Fri, 05 Apr 2019 22:45:09 GMT\"0x8D6BA185B6CDFF0\"5120share155450430999405267155450431003903942Fri, 05 Apr 2019 22:45:10 GMT\"0x8D6BA185BBBE17C\"5120share155450433115607232155450433117208588Fri, 05 Apr 2019 22:45:31 GMT\"0x8D6BA1868546B89\"5120share155450434416304067155450434445204870Fri, 05 Apr 2019 22:45:44 GMT\"0x8D6BA187051F471\"5120share155450435498004763Fri, 05 Apr 2019 22:45:55 GMT\"0x8D6BA18769867C6\"5120share155450436645400783Fri, 05 Apr 2019 22:46:06 GMT\"0x8D6BA187D646C1B\"5120share155450436865205758155450436887108207Fri, 05 Apr 2019 22:46:08 GMT\"0x8D6BA187ED4DADD\"5120share155450438771003527Fri, 05 Apr 2019 22:46:27 GMT\"0x8D6BA188A1B6C6D\"5120share155450439065608204155450439101805644Fri, 05 Apr 2019 22:46:31 GMT\"0x8D6BA188C131493\"5120share155450441324900411155450441332202608Fri, 05 Apr 2019 22:46:53 GMT\"0x8D6BA189952D510\"5120share155450441426905196Fri, 05 Apr 2019 22:46:54 GMT\"0x8D6BA1899E44097\"5120share155450444831103515155450444849000200Fri, 05 Apr 2019 22:47:28 GMT\"0x8D6BA18AE539A63\"5120share155450445061400014Fri, 05 Apr 2019 22:47:30 GMT\"0x8D6BA18AF9800AC\"5120share155450448315806594Fri, 05 Apr 2019 22:48:03 GMT\"0x8D6BA18C2FF521B\"5120share155450448580004490155450448612109539Fri, 05 Apr 2019 22:48:06 GMT\"0x8D6BA18C4C36EFE\"5120share155450454454601940155450454471501740Fri, 05 Apr 2019 22:49:04 GMT\"0x8D6BA18E7B0CEFE\"5120share155450468370707802Fri, 05 Apr 2019 22:51:23 GMT\"0x8D6BA193A7DF5E2\"5120share155450468513108403155450468528409235Fri, 05 Apr 2019 22:51:25 GMT\"0x8D6BA193B6DD150\"5120share155450468968600032Fri, 05 Apr 2019 22:51:29 GMT\"0x8D6BA193E054481\"5120share155450468996404174155450468999406109Fri, 05 Apr 2019 22:51:30 GMT\"0x8D6BA193E345228\"5120share155450470368902411155450470370306610Fri, 05 Apr 2019 22:51:43 GMT\"0x8D6BA1946600ECD\"5120share155450471161309782Fri, 05 Apr 2019 22:51:51 GMT\"0x8D6BA194B1B90BF\"5120share155450471206601320155450471210308269Fri, 05 Apr 2019 22:51:52 GMT\"0x8D6BA194B67DCD5\"5120share155450471319907271155450471328002279Fri, 05 Apr 2019 22:51:53 GMT\"0x8D6BA194C1DCB30\"5120share155450472979505876155450472987303613Fri, 05 Apr 2019 22:52:09 GMT\"0x8D6BA1955FDC5A1\"5120share155450483407003850Fri, 05 Apr 2019 22:53:54 GMT\"0x8D6BA1994190850\"5120share155450483493604854155450483498301728Fri, 05 Apr 2019 22:53:55 GMT\"0x8D6BA1994A2584F\"5120share155450485496309420155450485497908228Fri, 05 Apr 2019 22:54:15 GMT\"0x8D6BA19A08CEFA6\"5120share155450531813009681Fri, 05 Apr 2019 23:01:58 GMT\"0x8D6BA1AB4AE63BA\"5120share155450532142509509155450532177704006Fri, 05 Apr 2019 23:02:01 GMT\"0x8D6BA1AB6DB1550\"5120share155450535239502974Fri, 05 Apr 2019 23:02:32 GMT\"0x8D6BA1AC9188CCD\"5120share155450535522306736155450535561706197Fri, 05 Apr 2019 23:02:35 GMT\"0x8D6BA1ACB055EAD\"5120share155450537130000843155450537147405079Fri, 05 Apr 2019 23:02:51 GMT\"0x8D6BA1AD479360B\"5120share155450540354000832155450540371804145Fri, 05 Apr 2019 23:03:23 GMT\"0x8D6BA1AE7B08608\"5120share155450541861309114Fri, 05 Apr 2019 23:03:38 GMT\"0x8D6BA1AF085E6F9\"5120share155450542032409907155450542048305915Fri, 05 Apr 2019 23:03:40 GMT\"0x8D6BA1AF1A3EC5E\"5120share155450544958400261155450544966109321Fri, 05 Apr 2019 23:04:09 GMT\"0x8D6BA1B03081BB5\"5120share155450546241607518Fri, 05 Apr 2019 23:04:22 GMT\"0x8D6BA1B0A9DC15F\"5120share155450546294707340155450546301008309Fri, 05 Apr 2019 23:04:23 GMT\"0x8D6BA1B0AF88600\"5120share155450548125804491155450548129002795Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B15DC8687\"5120share155450548156602986Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B16091161\"5120share155450550691105209Fri, 05 Apr 2019 23:05:06 GMT\"0x8D6BA1B2522F1B9\"5120share155450550746601325155450550749806532Fri, 05 Apr 2019 23:05:07 GMT\"0x8D6BA1B257C602A\"5120share155450552187904423155450552189501701Fri, 05 Apr 2019 23:05:21 GMT\"0x8D6BA1B2E1117B3\"5120share155450553054005585Fri, 05 Apr 2019 23:05:30 GMT\"0x8D6BA1B33387AAC\"5120share155450553096308284155450553101001243Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B337F7F2A\"5120share155450553153104170Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B33CF13E1\"5120share155450553201701300155450553206403152Fri, 05 Apr 2019 23:05:32 GMT\"0x8D6BA1B3420278C\"5120share155450554660908559155450554662508047Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CCF605F\"5120share155450554689206246Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CF731D6\"5120share155450555546908179155450555548509764Fri, 05 Apr 2019 23:05:55 GMT\"0x8D6BA1B4215A249\"5120share155450573320000528Fri, 05 Apr 2019 23:08:53 GMT\"0x8D6BA1BAC1B3E84\"5120share155450573517904163155450573540702174Fri, 05 Apr 2019 23:08:55 GMT\"0x8D6BA1BAD5837E3\"5120share155450574422501861Fri, 05 Apr 2019 23:09:04 GMT\"0x8D6BA1BB29B08A8\"5120share155450574551807106155450574579200577Fri, 05 Apr 2019 23:09:05 GMT\"0x8D6BA1BB38A33C5\"5120share155450576411808959155450576420803271Fri, 05 Apr 2019 23:09:24 GMT\"0x8D6BA1BBE830AEE\"5120share155450577244800226155450577267406672Fri, 05 Apr 2019 23:09:32 GMT\"0x8D6BA1BC38F8F1B\"5120share155450584788106323Fri, 05 Apr 2019 23:10:47 GMT\"0x8D6BA1BF06A7821\"5120share155450584927904712Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF13485AC\"5120share155450584968506275155450584973203495Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF17789D4\"5120share155450585107609261155450585142406722Fri, 05 Apr 2019 23:10:51 GMT\"0x8D6BA1BF2872067\"5120share155450586868608098155450586870102350Fri, 05 Apr 2019 23:11:08 GMT\"0x8D6BA1BFCC76F83\"5120share155450590008503577155450590025804885Fri, 05 Apr 2019 23:11:40 GMT\"0x8D6BA1C0FA2514F\"5120share155450590233408942Fri, 05 Apr 2019 23:11:42 GMT\"0x8D6BA1C10E023E9\"5120share155450592143404526Fri, 05 Apr 2019 23:12:01 GMT\"0x8D6BA1C1C474325\"5120share155450592653301961155450592689000603Fri, 05 Apr 2019 23:12:07 GMT\"0x8D6BA1C1F874AB1\"5120share155450596593906098Fri, 05 Apr 2019 23:12:45 GMT\"0x8D6BA1C36BDB316\"5120share155450596641000428155450596645600479Fri, 05 Apr 2019 23:12:46 GMT\"0x8D6BA1C370ADF0D\"5120share155450597916002270155450597933309927Fri, 05 Apr 2019 23:12:59 GMT\"0x8D6BA1C3EC8E461\"5120share155450598201705354155450598203300977Fri, 05 Apr 2019 23:13:02 GMT\"0x8D6BA1C405400BD\"5120share155450600493602122Fri, 05 Apr 2019 23:13:24 GMT\"0x8D6BA1C4DFBE540\"5120share155450601150408012155450601153509563Fri, 05 Apr 2019 23:13:31 GMT\"0x8D6BA1C51EAF389\"5120share155450603035801007155450603037404965Fri, 05 Apr 2019 23:13:50 GMT\"0x8D6BA1C5D249F6C\"5120share155450628196900979Fri, 05 Apr 2019 23:18:01 GMT\"0x8D6BA1CF31A8CEA\"5120share155450628263306726155450628268108838Fri, 05 Apr 2019 23:18:02 GMT\"0x8D6BA1CF387048D\"5120share155450629398602941Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA43621D\"5120share155450629440802130155450629444007820Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA892E2A\"5120share155450630270100063155450630271709505Fri, 05 Apr 2019 23:18:22 GMT\"0x8D6BA1CFF77D299\"5120share155450631207409960155450631209004406Fri, 05 Apr 2019 23:18:32 GMT\"0x8D6BA1D050C8A95\"5120share155450635009203001Fri, 05 Apr 2019 23:19:10 GMT\"0x8D6BA1D1BC98041\"5120share155450635300105814155450635335603109Fri, 05 Apr 2019 23:19:13 GMT\"0x8D6BA1D1DBC2427\"5120share155450635529806396Fri, 05 Apr 2019 23:19:15 GMT\"0x8D6BA1D1EE0C561\"5120share155450635823706105155450635860207094Fri, 05 Apr 2019 23:19:18 GMT\"0x8D6BA1D20D836D4\"5120share155450641996700561155450642014406446Fri, 05 Apr 2019 23:20:20 GMT\"0x8D6BA1D4588F30C\"5120share155450642246903885155450642264601424Fri, 05 Apr 2019 23:20:22 GMT\"0x8D6BA1D4705936B\"5120share155450655482504274Fri, 05 Apr 2019 23:22:34 GMT\"0x8D6BA1D95CF4049\"5120share155450655795506933155450655830708272Fri, 05 Apr 2019 23:22:38 GMT\"0x8D6BA1D97E19F08\"5120share155450661068301279155450661086207756Fri, 05 Apr 2019 23:23:31 GMT\"0x8D6BA1DB734F309\"5120share155450661302603264Fri, 05 Apr 2019 23:23:33 GMT\"0x8D6BA1DB87FB692\"5120share155450662614309712Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC040008B\"5120share155450662666300981155450662672509338Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC0988E75\"5120share155450664547508754155450664549004289Fri, 05 Apr 2019 23:24:05 GMT\"0x8D6BA1DCBC89EBD\"5120share155450678247303548Fri, 05 Apr 2019 23:26:22 GMT\"0x8D6BA1E1D7F6C7D\"5120share155450678466909596Fri, 05 Apr 2019 23:26:24 GMT\"0x8D6BA1E1ECF8D3D\"5120share155450678548802589155450678584406061Fri, 05 Apr 2019 23:26:25 GMT\"0x8D6BA1E1F8191F6\"5120share155450678828205994155450678864001364Fri, 05 Apr 2019 23:26:28 GMT\"0x8D6BA1E212D1FA1\"5120share155450683128203550155450683149106810Fri, 05 Apr 2019 23:27:11 GMT\"0x8D6BA1E3AB676EA\"5120share155450684533605050155450684551003357Fri, 05 Apr 2019 23:27:25 GMT\"0x8D6BA1E43129342\"5120share155450684763007449Fri, 05 Apr 2019 23:27:27 GMT\"0x8D6BA1E4455B8AC\"5120share155450699116508933Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E99D096C8\"5120share155450699158708384155450699161806955Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E9A1778EF\"5120share155450700830807334155450700833903908Fri, 05 Apr 2019 23:30:08 GMT\"0x8D6BA1EA40DEC90\"5120share155450701100108648Fri, 05 Apr 2019 23:30:11 GMT\"0x8D6BA1EA5B61863\"5120share155450701385501557155450701420104340Fri, 05 Apr 2019 23:30:14 GMT\"0x8D6BA1EA79D9AE9\"5120share155450706323900994155450706341604230Fri, 05 Apr 2019 23:31:03 GMT\"0x8D6BA1EC4F33223\"5120share155450706962505626Fri, 05 Apr 2019 23:31:09 GMT\"0x8D6BA1EC8A805D2\"5120share155450714083700706Fri, 05 Apr 2019 23:32:20 GMT\"0x8D6BA1EF318A859\"5120share155450714464606306155450714499503777Fri, 05 Apr 2019 23:32:25 GMT\"0x8D6BA1EF592DF56\"5120share155450719315807925155450719333400088Fri, 05 Apr 2019 23:33:13 GMT\"0x8D6BA1F1263018A\"5120share155450720071105598Fri, 05 Apr 2019 23:33:20 GMT\"0x8D6BA1F16B4C180\"5120share155450720108704556155450720111104202Fri, 05 Apr 2019 23:33:21 GMT\"0x8D6BA1F16F1C9A7\"5120share155450721500304986155450721501401015Fri, 05 Apr 2019 23:33:35 GMT\"0x8D6BA1F1F3B0AC4\"5120share155450723565205687Fri, 05 Apr 2019 23:33:55 GMT\"0x8D6BA1F2B915C1A\"5120share155450723699404950155450723715203892Fri, 05 Apr 2019 23:33:57 GMT\"0x8D6BA1F2C75D972\"5120share155450725970402513Fri, 05 Apr 2019 23:34:19 GMT\"0x8D6BA1F39F24B22\"5120share155450726283508715155450726290803053Fri, 05 Apr 2019 23:34:22 GMT\"0x8D6BA1F3BCFD9DC\"5120share155450726513503694155450726563200936Fri, 05 Apr 2019 23:34:25 GMT\"0x8D6BA1F3D7AC203\"5120share155450727207609930Fri, 05 Apr 2019 23:34:32 GMT\"0x8D6BA1F41534271\"5120share155450727922609714155450727958205410Fri, 05 Apr 2019 23:34:39 GMT\"0x8D6BA1F45CC16E6\"5120share155450733725309323155450733743205575Fri, 05 Apr 2019 23:35:37 GMT\"0x8D6BA1F6846EA8D\"5120share155450734617001592155450734634609388Fri, 05 Apr 2019 23:35:46 GMT\"0x8D6BA1F6D9695C7\"5120share155450734842906139Fri, 05 Apr 2019 23:35:48 GMT\"0x8D6BA1F6ED3E9EB\"5120share155450742258608562Fri, 05 Apr 2019 23:37:02 GMT\"0x8D6BA1F9B09A541\"5120share155450742569208984155450742607303636Fri, 05 Apr 2019 23:37:06 GMT\"0x8D6BA1F9D1D3464\"5120share155450744472700868Fri, 05 Apr 2019 23:37:24 GMT\"0x8D6BA1FA82F5670\"5120share155450744593006925155450744607706074Fri, 05 Apr 2019 23:37:26 GMT\"0x8D6BA1FA8FC7868\"5120share155450747510800614155450747527906197Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA713357\"5120share155450747548302917Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA7F4359\"5120share155450747575808787155450747579202058Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBAAE83B9\"5120share155450747736603095Fri, 05 Apr 2019 23:37:57 GMT\"0x8D6BA1FBBAF6736\"5120share155450748251605008155450748258604151Fri, 05 Apr 2019 23:38:02 GMT\"0x8D6BA1FBEBF5C9B\"5120share155450749504400705155450749505903928Fri, 05 Apr 2019 23:38:15 GMT\"0x8D6BA1FC62A2BA2\"5120share155450760451008357Fri, 05 Apr 2019 23:40:04 GMT\"0x8D6BA2007A48FAD\"5120share155450760659201465155450760677709688Fri, 05 Apr 2019 23:40:06 GMT\"0x8D6BA2008C3F78F\"5120share155450763616301901155450763625402397Fri, 05 Apr 2019 23:40:36 GMT\"0x8D6BA201A5587BA\"5120share155450767398804735Fri, 05 Apr 2019 23:41:14 GMT\"0x8D6BA2030E0F998\"5120share155450767687501371155450767723001004Fri, 05 Apr 2019 23:41:17 GMT\"0x8D6BA2032CF2C21\"5120share155450768181709200Fri, 05 Apr 2019 23:41:21 GMT\"0x8D6BA203578C02D\"5120share155450768212709613155450768216705364Fri, 05 Apr 2019 23:41:22 GMT\"0x8D6BA2035AE5139\"5120share155450769705407367155450769707502753Fri, 05 Apr 2019 23:41:37 GMT\"0x8D6BA203E92115E\"5120share155450772138102188155450772155202852Fri, 05 Apr 2019 23:42:01 GMT\"0x8D6BA204D39B2D4\"5120share155450801204005122Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FA4F43AE\"5120share155450801255709661155450801263508848Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FAA8983A\"5120share155450802691409764Fri, 05 Apr 2019 23:47:07 GMT\"0x8D6BA21033DB1FF\"5120share155450802978608176155450803012905948Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA2105282DF6\"5120share155450803003906718155450803005501595Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA21050CE429\"5120share155450809390401175155450809407503147Fri, 05 Apr 2019 23:48:14 GMT\"0x8D6BA212B44E111\"5120share155450809631304992Fri, 05 Apr 2019 23:48:16 GMT\"0x8D6BA212C9A8C70\"5120share155450835062406317Fri, 05 Apr 2019 23:52:30 GMT\"0x8D6BA21C41F92FF\"5120share155450835114801235155450835119504382Fri, 05 Apr 2019 23:52:31 GMT\"0x8D6BA21C4752A4A\"5120share155450837123609062155450837126705425Fri, 05 Apr 2019 23:52:51 GMT\"0x8D6BA21D07164A3\"5120share155450840245807900Fri, 05 Apr 2019 23:53:22 GMT\"0x8D6BA21E317E558\"5120share155450840337301064155450840345909388Fri, 05 Apr 2019 23:53:23 GMT\"0x8D6BA21E39CD3E2\"5120share155450840768303182Fri, 05 Apr 2019 23:53:27 GMT\"0x8D6BA21E62882AB\"5120share155450841052005025155450841059707716Fri, 05 Apr 2019 23:53:30 GMT\"0x8D6BA21E7DD6900\"5120share155450841851004197Fri, 05 Apr 2019 23:53:38 GMT\"0x8D6BA21ECC11C45\"5120share155450842103808621155450842121207447Fri, 05 Apr 2019 23:53:41 GMT\"0x8D6BA21EE368AE8\"5120share155450842920007413155450842923904127Fri, 05 Apr 2019 23:53:49 GMT\"0x8D6BA21F2FA9CC4\"5120share155450843104607551155450843108509471Fri, 05 Apr 2019 23:53:51 GMT\"0x8D6BA21F413AFEC\"5120share155450844155207718Fri, 05 Apr 2019 23:54:01 GMT\"0x8D6BA21FA5815A9\"5120share155450844282908330155450844331103212Fri, 05 Apr 2019 23:54:03 GMT\"0x8D6BA21FB639CB6\"5120share155450844875104105155450844883200097Fri, 05 Apr 2019 23:54:08 GMT\"0x8D6BA21FEACF9CB\"5120share155450845060900434Fri, 05 Apr 2019 23:54:10 GMT\"0x8D6BA21FFBCFD3F\"5120share155450845196808630155450845212609494Fri, 05 Apr 2019 23:54:12 GMT\"0x8D6BA2200A3BDAF\"5120share155450846016604225Fri, 05 Apr 2019 23:54:20 GMT\"0x8D6BA22057F80F4\"5120share155450846187100703155450846204104941Fri, 05 Apr 2019 23:54:22 GMT\"0x8D6BA22068C649F\"5120share155450846856009396Fri, 05 Apr 2019 23:54:28 GMT\"0x8D6BA220A7BBF54\"5120share155450846936604658155450846944104091Fri, 05 Apr 2019 23:54:29 GMT\"0x8D6BA220AF68482\"5120share155450847116604019155450847149003909Fri, 05 Apr 2019 23:54:31 GMT\"0x8D6BA220C39EFB8\"5120share155450847641908239155450847649506792Fri, 05 Apr 2019 23:54:36 GMT\"0x8D6BA220F2B0EA4\"5120share155450849046701837155450849055008593Fri, 05 Apr 2019 23:54:50 GMT\"0x8D6BA22178AC280\"5120share155450850415909079Fri, 05 Apr 2019 23:55:04 GMT\"0x8D6BA221FB3AAB9\"5120share155450851125605816155450851158907529Fri, 05 Apr 2019 23:55:11 GMT\"0x8D6BA22242151E0\"5120share155450851537705193155450851553601973Fri, 05 Apr 2019 23:55:15 GMT\"0x8D6BA22267C4CE5\"5120share155450856236209066155450856252401476Fri, 05 Apr 2019 23:56:02 GMT\"0x8D6BA22427D2E00\"5120share155450862834406147Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269A65E65\"5120share155450862883803086155450862886608104Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269F5A23B\"5120share155450864251402420155450864252701754Fri, 05 Apr 2019 23:57:22 GMT\"0x8D6BA22721A880A\"5120share155450864903202606Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA2275FA1279\"5120share155450864954709486155450864958906033Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA22764EE2F0\"5120share155450866038209758Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CBDD706\"5120share155450866063104429155450866065900649Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CE83100\"5120share155450866548101600Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA227FC7B940\"5120share155450866584902851155450866589506222Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA2280078687\"5120share155450866820907466155450866822802518Fri, 05 Apr 2019 23:57:48 GMT\"0x8D6BA22816B2857\"5120share155450867294701404155450867296303231Fri, 05 Apr 2019 23:57:52 GMT\"0x8D6BA22843DBAEB\"5120share155450868069300530155450868071108529Fri, 05 Apr 2019 23:58:00 GMT\"0x8D6BA2288DC0D3B\"5120share155450868782705751Fri, 05 Apr 2019 23:58:07 GMT\"0x8D6BA228D180092\"5120share155450868808904026155450868812002523Fri, 05 Apr 2019 23:58:08 GMT\"0x8D6BA228D44C727\"5120share155450871227906499155450871229407636Fri, 05 Apr 2019 23:58:32 GMT\"0x8D6BA229BAD64DF\"5120share155450871361608008Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229C791D3B\"5120share155450871385801053155450871389501438Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229CA39DFC\"5120share155450873724609408Fri, 05 Apr 2019 23:58:57 GMT\"0x8D6BA22AA95EBE5\"5120share155450873839703983155450873841108209Fri, 05 Apr 2019 23:58:58 GMT\"0x8D6BA22AB408136\"5120share155450874069500459155450874084406201Fri, 05 Apr 2019 23:59:00 GMT\"0x8D6BA22ACBA5BA0\"5120share155450876383501957Fri, 05 Apr 2019 23:59:23 GMT\"0x8D6BA22BA6B0364\"5120share155450876420103676155450876424202873Fri, 05 Apr 2019 23:59:24 GMT\"0x8D6BA22BAA94C79\"5120share155450876624500743155450876631905818Fri, 05 Apr 2019 23:59:26 GMT\"0x8D6BA22BBEA05FA\"5120share155450877756001573155450877757609108Fri, 05 Apr 2019 23:59:37 GMT\"0x8D6BA22C29CC4C5\"5120share155450882020705387Sat, 06 Apr 2019 00:00:20 GMT\"0x8D6BA22DC1C7B9C\"5120share155450882137802100Sat, 06 Apr 2019 00:00:21 GMT\"0x8D6BA22DCD2061E\"5120share155450882195307893155450882213805256Sat, 06 Apr 2019 00:00:22 GMT\"0x8D6BA22DD2D9ECA\"5120share155450882311802623155450882330007566Sat, 06 Apr 2019 00:00:23 GMT\"0x8D6BA22DDDEDD23\"5120share155450882821300470Sat, 06 Apr 2019 00:00:28 GMT\"0x8D6BA22E0DF07E4\"5120share155450883001207093155450883019705028Sat, 06 Apr 2019 00:00:30 GMT\"0x8D6BA22E1FA959D\"5120share155450883989300008Sat, 06 Apr 2019 00:00:40 GMT\"0x8D6BA22E7D7D05F\"5120share155450884162700155155450884180600899Sat, 06 Apr 2019 00:00:41 GMT\"0x8D6BA22E8E8FF71\"5120share155450884268207091Sat, 06 Apr 2019 00:00:42 GMT\"0x8D6BA22E96E6A00\"5120share155450884356404649Sat, 06 Apr 2019 00:00:43 GMT\"0x8D6BA22E9F4B2C9\"5120share155450884498208133155450884512500427Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE362BF\"5120share155450884499902681155450884517006830Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE9C669\"5120share155450885006502697Sat, 06 Apr 2019 00:00:50 GMT\"0x8D6BA22EDD441D0\"5120share155450885123403166155450885138009119Sat, 06 Apr 2019 00:00:51 GMT\"0x8D6BA22EE9C855E\"5120share155450886053709029155450886062900785Sat, 06 Apr 2019 00:01:00 GMT\"0x8D6BA22F41E59AA\"5120share155450886352605826155450886361609698Sat, 06 Apr 2019 00:01:03 GMT\"0x8D6BA22F5E5BDEF\"5120share155450886885106257155450886894004615Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9152485\"5120share155450886979200994155450886987409280Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9A35201\"5120share155450887070605058155450887079709480Sat, 06 Apr 2019 00:01:10 GMT\"0x8D6BA22FA2DEE8F\"5120share155450887606108840155450887613402442Sat, 06 Apr 2019 00:01:16 GMT\"0x8D6BA22FD5FAA74\"5120share155450888143406931155450888150903424Sat, 06 Apr 2019 00:01:21 GMT\"0x8D6BA2300968F6A\"5120share155450895779305071Sat, 06 Apr 2019 00:02:37 GMT\"0x8D6BA232E0E05CE\"5120share155450895868406976155450895876908256Sat, 06 Apr 2019 00:02:38 GMT\"0x8D6BA232E9B57E4\"5120share155450898000001813Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233B47BB36\"5120share155450898063507347155450898067608520Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233BAA5F73\"5120share155450898125502623155450898141009080Sat, 06 Apr 2019 00:03:01 GMT\"0x8D6BA233C1EEFA4\"5120share155450900601408874155450900609504434Sat, 06 Apr 2019 00:03:26 GMT\"0x8D6BA234AD4C326\"5120share155450900703406798Sat, 06 Apr 2019 00:03:27 GMT\"0x8D6BA234B65E99F\"5120share155450900831008513155450900847507161Sat, 06 Apr 2019 00:03:28 GMT\"0x8D6BA234C410CF0\"5120share155450901777606467Sat, 06 Apr 2019 00:03:37 GMT\"0x8D6BA2351D7DB67\"5120share155450902063908068155450902099303010Sat, 06 Apr 2019 00:03:41 GMT\"0x8D6BA2353C27F44\"5120share155450905240000338155450905247805038Sat, 06 Apr 2019 00:04:12 GMT\"0x8D6BA23667B7ACC\"5120share155450905342403029Sat, 06 Apr 2019 00:04:13 GMT\"0x8D6BA23670BD557\"5120share155450905771401894Sat, 06 Apr 2019 00:04:17 GMT\"0x8D6BA2369922D87\"5120share155450905806600718155450905814001944Sat, 06 Apr 2019 00:04:18 GMT\"0x8D6BA2369D3DADF\"5120share155450907199909959155450907217402075Sat, 06 Apr 2019 00:04:32 GMT\"0x8D6BA2372444079\"5120share155450907299303524155450907301007717Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372AFED38\"5120share155450907320209730Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372CDC3C2\"5120share155450907429301310Sat, 06 Apr 2019 00:04:34 GMT\"0x8D6BA237386F930\"5120share155450918499009383Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B56FB9BC\"5120share155450918538502508155450918541508822Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B5B05ACA\"5120share155450918955508214Sat, 06 Apr 2019 00:06:29 GMT\"0x8D6BA23B828D8E1\"5120share155450919005601653155450919008702158Sat, 06 Apr 2019 00:06:30 GMT\"0x8D6BA23B87B8E05\"5120share155450919954305187155450919955905775Sat, 06 Apr 2019 00:06:39 GMT\"0x8D6BA23BE1F0A40\"5120share155450920152404636Sat, 06 Apr 2019 00:06:41 GMT\"0x8D6BA23BF4B17E9\"5120share155450920199201367155450920203905870Sat, 06 Apr 2019 00:06:42 GMT\"0x8D6BA23BF9A7486\"5120share155450920623205720155450920624702973Sat, 06 Apr 2019 00:06:46 GMT\"0x8D6BA23C21AC1E2\"5120share155450924082004282Sat, 06 Apr 2019 00:07:20 GMT\"0x8D6BA23D6BC0D50\"5120share155450924241004753155450924255406031Sat, 06 Apr 2019 00:07:22 GMT\"0x8D6BA23D7C6027C\"5120share155450924628704211155450924631809175Sat, 06 Apr 2019 00:07:26 GMT\"0x8D6BA23D9FEA927\"5120share155450925060607872Sat, 06 Apr 2019 00:07:30 GMT\"0x8D6BA23DC8D0299\"5120share155450927396309525155450927403505482Sat, 06 Apr 2019 00:07:54 GMT\"0x8D6BA23EA89D004\"5120share155450930131800809Sat, 06 Apr 2019 00:08:21 GMT\"0x8D6BA23FAC97B82\"5120share155450930223305549Sat, 06 Apr 2019 00:08:22 GMT\"0x8D6BA23FB6A1C88\"5120share155450930399707774155450930404407997Sat, 06 Apr 2019 00:08:24 GMT\"0x8D6BA23FC696BBF\"5120share155450930644903497155450930664407626Sat, 06 Apr 2019 00:08:26 GMT\"0x8D6BA23FDF86C39\"5120share155450932165308081155450932166908411Sat, 06 Apr 2019 00:08:41 GMT\"0x8D6BA2406EA8B70\"5120share155450932590204669Sat, 06 Apr 2019 00:08:45 GMT\"0x8D6BA24096F0B87\"5120share155450934809308249155450934819701838Sat, 06 Apr 2019 00:09:08 GMT\"0x8D6BA2416BC420A\"5120share155450936482907697Sat, 06 Apr 2019 00:09:24 GMT\"0x8D6BA2420A30B03\"5120share155450936723600352155450936728205502Sat, 06 Apr 2019 00:09:27 GMT\"0x8D6BA242219106F\"5120share155450938968201470155450938969801065Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F762161\"5120share155450938994808156Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F9C244A\"5120share155450940497500812Sat, 06 Apr 2019 00:10:05 GMT\"0x8D6BA2438A0813C\"5120share155450940788404093155450940823202737Sat, 06 Apr 2019 00:10:08 GMT\"0x8D6BA243A92205E\"5120share155450946766609807155450946784508785Sat, 06 Apr 2019 00:11:07 GMT\"0x8D6BA245E19BEB2\"5120share155450948165108070Sat, 06 Apr 2019 00:11:21 GMT\"0x8D6BA246649B23E\"5120share155450948277804103Sat, 06 Apr 2019 00:11:22 GMT\"0x8D6BA2466F099EF\"5120share155450948289903394155450948305505870Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA2467204A8D\"5120share155450948326908679155450948331603975Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA24674309DA\"5120share155450949731107750155450949732809022Sat, 06 Apr 2019 00:11:37 GMT\"0x8D6BA246F9D65C7\"5120share155450950843203078155450950850801708Sat, 06 Apr 2019 00:11:48 GMT\"0x8D6BA24764BB930\"5120share155450953189902571Sat, 06 Apr 2019 00:12:11 GMT\"0x8D6BA2484354864\"5120share155450953258300666155450953264607609Sat, 06 Apr 2019 00:12:12 GMT\"0x8D6BA2484A7702E\"5120share155450955735903361155450955739009034Sat, 06 Apr 2019 00:12:37 GMT\"0x8D6BA24936708EF\"5120share155450960711502044Sat, 06 Apr 2019 00:13:27 GMT\"0x8D6BA24B10EA364\"5120share155450960791406846155450960797603649Sat, 06 Apr 2019 00:13:28 GMT\"0x8D6BA24B1928131\"5120share155450962624205044155450962625707564Sat, 06 Apr 2019 00:13:46 GMT\"0x8D6BA24BC772178\"5120share155450967842007452Sat, 06 Apr 2019 00:14:38 GMT\"0x8D6BA24DB8C77C7\"5120share155450967919905734155450967927702876Sat, 06 Apr 2019 00:14:39 GMT\"0x8D6BA24DC0EF540\"5120share155450970297003568155450970300202266Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA32E63F\"5120share155450970326709180Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA5D2ABB\"5120share155450977967008646Sat, 06 Apr 2019 00:16:19 GMT\"0x8D6BA2517F39453\"5120share155450978396408978155450978431501712Sat, 06 Apr 2019 00:16:24 GMT\"0x8D6BA251AB90FA7\"5120share155450980055002844Sat, 06 Apr 2019 00:16:40 GMT\"0x8D6BA25248D32DD\"5120share155450980160103293155450980168109906Sat, 06 Apr 2019 00:16:41 GMT\"0x8D6BA252504B519\"5120share155450980240304921Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA252575098D\"5120share155450980285700319155450980290408762Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA2525C03A80\"5120share155450982099301254155450982103507530Sat, 06 Apr 2019 00:17:01 GMT\"0x8D6BA25308DFC9F\"5120share155450982239706333155450982242802612Sat, 06 Apr 2019 00:17:02 GMT\"0x8D6BA253161E133\"5120share155450982326409248Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA2531E1702E\"5120share155450982377200032155450982381908623Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA253235B775\"5120share155450983221207344155450983239108932Sat, 06 Apr 2019 00:17:12 GMT\"0x8D6BA25375FFDF8\"5120share155450984103402224155450984105001780Sat, 06 Apr 2019 00:17:21 GMT\"0x8D6BA253C7B623A\"5120share155450984926706623Sat, 06 Apr 2019 00:17:29 GMT\"0x8D6BA254167CF27\"5120share155450985060401468155450985076906420Sat, 06 Apr 2019 00:17:30 GMT\"0x8D6BA25424D06B7\"5120share155450987283404018Sat, 06 Apr 2019 00:17:52 GMT\"0x8D6BA254F6D3BD3\"5120share155450987324207460155450987328900070Sat, 06 Apr 2019 00:17:53 GMT\"0x8D6BA254FB23BEA\"5120share155450988425404386155450988434009985Sat, 06 Apr 2019 00:18:04 GMT\"0x8D6BA25564F576F\"5120share155450990977005805155450990980103826Sat, 06 Apr 2019 00:18:29 GMT\"0x8D6BA2565767B1F\"5120share155450991059304960Sat, 06 Apr 2019 00:18:30 GMT\"0x8D6BA2565EF5040\"5120share155450992091205316Sat, 06 Apr 2019 00:18:40 GMT\"0x8D6BA256C15A12E\"5120share155450992133707934155450992138405768Sat, 06 Apr 2019 00:18:41 GMT\"0x8D6BA256C5D5BE6\"5120share155450993652908385155450993654507033Sat, 06 Apr 2019 00:18:56 GMT\"0x8D6BA257568A573\"5120share155451001151002509Sat, 06 Apr 2019 00:20:11 GMT\"0x8D6BA25A216A444\"5120share155451001331709024155451001342603666Sat, 06 Apr 2019 00:20:13 GMT\"0x8D6BA25A33B3030\"5120share155451003402004419Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AF7D5D23\"5120share155451003447503066155451003449001699Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFCA6E52\"5120share155451003461203815155451003464101209Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFDC0A77\"5120share155451004913305591155451004914706703Sat, 06 Apr 2019 00:20:49 GMT\"0x8D6BA25B8815310\"5120share155451006286305875Sat, 06 Apr 2019 00:21:03 GMT\"0x8D6BA25C0C2AC3D\"5120share155451006587801793155451006655805276Sat, 06 Apr 2019 00:21:06 GMT\"0x8D6BA25C2F65D6A\"5120share155451007935501496Sat, 06 Apr 2019 00:21:19 GMT\"0x8D6BA25CA83F82F\"5120share155451008094100931155451008097909868Sat, 06 Apr 2019 00:21:20 GMT\"0x8D6BA25CB7B405F\"5120share155451009799605496155451009801500934Sat, 06 Apr 2019 00:21:38 GMT\"0x8D6BA25D5A2FE93\"5120share155451010434701890Sat, 06 Apr 2019 00:21:44 GMT\"0x8D6BA25D96B2BB1\"5120share155451010497507200155451010502204375Sat, 06 Apr 2019 00:21:45 GMT\"0x8D6BA25D9D0C00D\"5120share155451012085406616155451012088502597Sat, 06 Apr 2019 00:22:00 GMT\"0x8D6BA25E3447924\"5120share155451012285704842155451012303302464Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E49FB50A\"5120share155451012387505140Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E51229CB\"5120share155451012515600375Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5E37446\"5120share155451012525500379Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5F3B302\"5120share155451013078900595155451013114407433Sat, 06 Apr 2019 00:22:11 GMT\"0x8D6BA25E975BF7D\"5120share155451015216004737Sat, 06 Apr 2019 00:22:32 GMT\"0x8D6BA25F606E077\"5120share155451016043402131155451016065606655Sat, 06 Apr 2019 00:22:40 GMT\"0x8D6BA25FB00E780\"5120share155451019103604148Sat, 06 Apr 2019 00:23:11 GMT\"0x8D6BA260D2905C6\"5120share155451019400305212155451019445908505Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F336BC3\"5120share155451019474708654155451019483801215Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F604E98\"5120share155451024414405592155451024432401508Sat, 06 Apr 2019 00:24:04 GMT\"0x8D6BA262CEE5C5A\"5120share155451024648109782Sat, 06 Apr 2019 00:24:06 GMT\"0x8D6BA262E364BFA\"5120share155451026312808867Sat, 06 Apr 2019 00:24:23 GMT\"0x8D6BA263819560F\"5120share155451026594805847155451026630100644Sat, 06 Apr 2019 00:24:26 GMT\"0x8D6BA263A03DD68\"5120share155451027535308543Sat, 06 Apr 2019 00:24:35 GMT\"0x8D6BA263F5E1C93\"5120share155451027671107727155451027693505092Sat, 06 Apr 2019 00:24:36 GMT\"0x8D6BA26404F9858\"5120share155451030987309732155451030994904457Sat, 06 Apr 2019 00:25:10 GMT\"0x8D6BA2653FCB879\"5120share155451031458704130155451031476206543Sat, 06 Apr 2019 00:25:14 GMT\"0x8D6BA2656E64927\"5120share155451033026507785155451033046408034Sat, 06 Apr 2019 00:25:30 GMT\"0x8D6BA266042FECB\"5120share155451033290203875Sat, 06 Apr 2019 00:25:33 GMT\"0x8D6BA2661B6D672\"5120share155451039774203928Sat, 06 Apr 2019 00:26:37 GMT\"0x8D6BA26885D80E0\"5120share155451040675108359155451040711307532Sat, 06 Apr 2019 00:26:47 GMT\"0x8D6BA268DF41351\"5120share155451044021806016Sat, 06 Apr 2019 00:27:20 GMT\"0x8D6BA26A19C5201\"5120share155451044457806734155451044462505131Sat, 06 Apr 2019 00:27:24 GMT\"0x8D6BA26A43D1239\"5120share155451046010701737155451046028403533Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADA4C4A5\"5120share155451046052208614155451046053805603Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADB9B622\"5120share155451053178206847Sat, 06 Apr 2019 00:28:51 GMT\"0x8D6BA26D842A55A\"5120share155451053666705392155451053702506968Sat, 06 Apr 2019 00:28:57 GMT\"0x8D6BA26DB62BDD5\"5120share155451058205803975155451058223403053Sat, 06 Apr 2019 00:29:42 GMT\"0x8D6BA26F654675F\"5120share155451060995602506Sat, 06 Apr 2019 00:30:09 GMT\"0x8D6BA2706C9A66E\"5120share155451061041100503155451061045903286Sat, 06 Apr 2019 00:30:10 GMT\"0x8D6BA270716A7C2\"5120share155451061899608264Sat, 06 Apr 2019 00:30:19 GMT\"0x8D6BA270C3E72F4\"5120share155451062180801032155451062216207210Sat, 06 Apr 2019 00:30:22 GMT\"0x8D6BA270E371CFB\"5120share155451062599208929155451062602402703Sat, 06 Apr 2019 00:30:26 GMT\"0x8D6BA27105DB358\"5120share155451065149503106Sat, 06 Apr 2019 00:30:51 GMT\"0x8D6BA271F9DF425\"5120share155451065440007212155451065475805277Sat, 06 Apr 2019 00:30:54 GMT\"0x8D6BA27218EBAA7\"5120share155451067046206752155451067063709328Sat, 06 Apr 2019 00:31:10 GMT\"0x8D6BA272B05F0AB\"5120share155451067351206150Sat, 06 Apr 2019 00:31:13 GMT\"0x8D6BA272CBC787A\"5120share155451069512502349Sat, 06 Apr 2019 00:31:35 GMT\"0x8D6BA27399F8CE9\"5120share155451069801607826155451069838102692Sat, 06 Apr 2019 00:31:38 GMT\"0x8D6BA273B8F91C6\"5120share155451071238103796155451071255407273Sat, 06 Apr 2019 00:31:52 GMT\"0x8D6BA274400B20F\"5120share155451074926809802155451074945008417Sat, 06 Apr 2019 00:32:29 GMT\"0x8D6BA275A00C68D\"5120share155451081018006165Sat, 06 Apr 2019 00:33:30 GMT\"0x8D6BA277E323318\"5120share155451081825002323155451081865306002Sat, 06 Apr 2019 00:33:38 GMT\"0x8D6BA27833EA922\"5120share155451087278806395155451087296101648Sat, 06 Apr 2019 00:34:33 GMT\"0x8D6BA27A39DA7AE\"5120share155451091917101975Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF194E41\"5120share155451091975006455155451091979708946Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF7783A5\"5120share155451093201009705Sat, 06 Apr 2019 00:35:32 GMT\"0x8D6BA27C6D1EEBA\"5120share155451093563503307155451093598603844Sat, 06 Apr 2019 00:35:36 GMT\"0x8D6BA27C93050B6\"5120share155451094024104628155451094025709756Sat, 06 Apr 2019 00:35:40 GMT\"0x8D6BA27CBA9E989\"5120share155451094222108360Sat, 06 Apr 2019 00:35:42 GMT\"0x8D6BA27CCE6E2AE\"5120share155451095174303054Sat, 06 Apr 2019 00:35:51 GMT\"0x8D6BA27D293DAE5\"5120share155451096975508163155451097010409134Sat, 06 Apr 2019 00:36:10 GMT\"0x8D6BA27DD8557B2\"5120share155451100262501336155451100279500059Sat, 06 Apr 2019 00:36:42 GMT\"0x8D6BA27F1023A5B\"5120share155451101045503556Sat, 06 Apr 2019 00:36:50 GMT\"0x8D6BA27F5925154\"5120share155451101779403542Sat, 06 Apr 2019 00:36:57 GMT\"0x8D6BA27F9F0E2AC\"5120share155451102398103108155451102432601506Sat, 06 Apr 2019 00:37:04 GMT\"0x8D6BA27FDD5B5CD\"5120share155451103057604216155451103077302829Sat, 06 Apr 2019 00:37:10 GMT\"0x8D6BA2801AE1B69\"5120share155451107565307966155451107582903915Sat, 06 Apr 2019 00:37:55 GMT\"0x8D6BA281C81B459\"5120share155451107800700624Sat, 06 Apr 2019 00:37:58 GMT\"0x8D6BA281DD4A225\"5120share155451126138807949Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B1534BE\"5120share155451126184309606155451126189002896Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B6050DF\"5120share155451128370804279155451128372404816Sat, 06 Apr 2019 00:41:23 GMT\"0x8D6BA289862C628\"5120share155451152420208713Sat, 06 Apr 2019 00:45:24 GMT\"0x8D6BA2927C9F8B5\"5120share155451152742606446155451152779007713Sat, 06 Apr 2019 00:45:27 GMT\"0x8D6BA2929ED230E\"5120share155451157395300009155451157412506533Sat, 06 Apr 2019 00:46:14 GMT\"0x8D6BA29458B232D\"5120share155451187530500180Sat, 06 Apr 2019 00:51:15 GMT\"0x8D6BA29F90FCDB8\"5120share155451187884703798155451187920608231Sat, 06 Apr 2019 00:51:19 GMT\"0x8D6BA29FB62AF79\"5120share155451192903001020155451192920801667Sat, 06 Apr 2019 00:52:09 GMT\"0x8D6BA2A19307FA2\"5120share155451219945604870Sat, 06 Apr 2019 00:56:39 GMT\"0x8D6BA2ABA44B832\"5120share155451220515403772155451220563409688Sat, 06 Apr 2019 00:56:45 GMT\"0x8D6BA2ABDF348B2\"5120share155451225732003773155451225782103672Sat, 06 Apr 2019 00:57:37 GMT\"0x8D6BA2ADD0DFEA0\"5120share155452505698609307Sat, 06 Apr 2019 04:30:57 GMT\"0x8D6BA48A9F5DE57\"5120share155452506110609930155452506145800907Sat, 06 Apr 2019 04:31:01 GMT\"0x8D6BA48ACA0E8F8\"5120share155452513264602392155452513309504994Sat, 06 Apr 2019 04:32:13 GMT\"0x8D6BA48D79F82A6\"5120share155452543747102987Sat, 06 Apr 2019 04:37:17 GMT\"0x8D6BA498CBEAA1B\"5120share155452544135102672155452544170203677Sat, 06 Apr 2019 04:37:21 GMT\"0x8D6BA498F43FB3B\"5120share155452550801609564155452550819303558Sat, 06 Apr 2019 04:38:28 GMT\"0x8D6BA49B6E5E139\"5120share155454851835207560Sat, 06 Apr 2019 11:01:58 GMT\"0x8D6BA7F4A19677D\"5120share155454851991506574155454852000406631Sat, 06 Apr 2019 11:02:00 GMT\"0x8D6BA7F4AF0A38D\"5120share155454854416906947155454854421503134Sat, 06 Apr 2019 11:02:24 GMT\"0x8D6BA7F595F9CD8\"5120share155454856025203639Sat, 06 Apr 2019 11:02:40 GMT\"0x8D6BA7F62F33568\"5120share155454856374007043155454856420309335Sat, 06 Apr 2019 11:02:44 GMT\"0x8D6BA7F6571B186\"5120share155454863664803017155454863675304589Sat, 06 Apr 2019 11:03:58 GMT\"0x8D6BA7F91B54D0B\"5120share155454912150008169Sat, 06 Apr 2019 11:12:01 GMT\"0x8D6BA80B1733B1B\"5120share155454912228807007155454912232402707Sat, 06 Apr 2019 11:12:02 GMT\"0x8D6BA80B1F0CB36\"5120share155454913968401147155454913969709976Sat, 06 Apr 2019 11:12:19 GMT\"0x8D6BA80BC4BC1C8\"5120share155454926160403595Sat, 06 Apr 2019 11:14:21 GMT\"0x8D6BA81050A4FBB\"5120share155454926433302536155454926451103683Sat, 06 Apr 2019 11:14:24 GMT\"0x8D6BA8106B9DBA1\"5120share155454931280409044155454931334904873Sat, 06 Apr 2019 11:15:13 GMT\"0x8D6BA8123FE09BD\"5120share155454933450607945Sat, 06 Apr 2019 11:15:34 GMT\"0x8D6BA813098712B\"5120share155454933671902848155454933688908536Sat, 06 Apr 2019 11:15:36 GMT\"0x8D6BA8131D928E7\"5120share155454936568509955155454936576802176Sat, 06 Apr 2019 11:16:05 GMT\"0x8D6BA81430FF71B\"5120share155454960213904133Sat, 06 Apr 2019 11:20:03 GMT\"0x8D6BA81D0FF2B38\"5120share155454960927909543155454960991001612Sat, 06 Apr 2019 11:20:09 GMT\"0x8D6BA81D49808FE\"5120share155454966009002609155454966016603370Sat, 06 Apr 2019 11:21:00 GMT\"0x8D6BA81F28BD0E3\"5120share155455002704708537Sat, 06 Apr 2019 11:27:07 GMT\"0x8D6BA82CD34741E\"5120share155455002903800007155455003017403219Sat, 06 Apr 2019 11:27:10 GMT\"0x8D6BA82CF125048\"5120share155455006267108464155455006268701770Sat, 06 Apr 2019 11:27:42 GMT\"0x8D6BA82E273923F\"5120share155455037679603457Sat, 06 Apr 2019 11:32:56 GMT\"0x8D6BA839DAF3E6C\"5120share155455037983204788155455037987900489Sat, 06 Apr 2019 11:33:00 GMT\"0x8D6BA839F95A777\"5120share155455040595703142155455040597208498Sat, 06 Apr 2019 11:33:26 GMT\"0x8D6BA83AF12FF0F\"5120share155455072732002603Sat, 06 Apr 2019 11:38:47 GMT\"0x8D6BA846E9C4E9D\"5120share155455073081809895155455073086206096Sat, 06 Apr 2019 11:38:50 GMT\"0x8D6BA8470B704B1\"5120share155455075763207537155455075766305509Sat, 06 Apr 2019 11:39:17 GMT\"0x8D6BA8480B04FE4\"5120share155455102062606131Sat, 06 Apr 2019 11:43:40 GMT\"0x8D6BA851D7C3230\"5120share155455102361801934155455102394805763Sat, 06 Apr 2019 11:43:44 GMT\"0x8D6BA851F770C29\"5120share155455107457700114155455107474000652Sat, 06 Apr 2019 11:44:34 GMT\"0x8D6BA853DBD1411\"5120share155455133006908547Sat, 06 Apr 2019 11:48:50 GMT\"0x8D6BA85D5EB98F7\"5120share155455133279009813155455133361801233Sat, 06 Apr 2019 11:48:53 GMT\"0x8D6BA85D80A2CF8\"5120share155455139513901690155455139530102243Sat, 06 Apr 2019 11:49:55 GMT\"0x8D6BA85FCCC3693\"5120share155455164872603077Sat, 06 Apr 2019 11:54:08 GMT\"0x8D6BA8693DC07CC\"5120share155455165151009405155455165183509790Sat, 06 Apr 2019 11:54:11 GMT\"0x8D6BA8695B65D2B\"5120share155455170470509656155455170486300406Sat, 06 Apr 2019 11:55:04 GMT\"0x8D6BA86B550F686\"5120share155456291103108645Sat, 06 Apr 2019 15:01:51 GMT\"0x8D6BAA0CCB4D2E2\"5120share155456291365506380155456291374109855Sat, 06 Apr 2019 15:01:53 GMT\"0x8D6BAA0CE464446\"5120share155456293709907330155456293714005519Sat, 06 Apr 2019 15:02:17 GMT\"0x8D6BAA0DC390444\"5120share155456294559204683Sat, 06 Apr 2019 15:02:25 GMT\"0x8D6BAA0E14877DB\"5120share155456296486809631155456297245203735Sat, 06 Apr 2019 15:02:52 GMT\"0x8D6BAA0F17779CF\"5120share155456305871209606155456305879302124Sat, 06 Apr 2019 15:04:20 GMT\"0x8D6BAA125F07843\"5120share155456314143103789Sat, 06 Apr 2019 15:05:41 GMT\"0x8D6BAA155FBBE27\"5120share155456314336103571155456314749309901Sat, 06 Apr 2019 15:05:47 GMT\"0x8D6BAA159999031\"5120share155456316334404827155456316335906378Sat, 06 Apr 2019 15:06:03 GMT\"0x8D6BAA1630E3598\"5120share155456326179402090Sat, 06 Apr 2019 15:07:42 GMT\"0x8D6BAA19DFB7C6A\"5120share155456326397304242155456326415604577Sat, 06 Apr 2019 15:07:44 GMT\"0x8D6BAA19F25D734\"5120share155456329369701279155456329378504366Sat, 06 Apr 2019 15:08:13 GMT\"0x8D6BAA1B0D0D651\"5120share155456330364409045Sat, 06 Apr 2019 15:08:23 GMT\"0x8D6BAA1B6B2CD98\"5120share155456330666705978155456330683803375Sat, 06 Apr 2019 15:08:26 GMT\"0x8D6BAA1B89A16F1\"5120share155456335030501527155456335038302819Sat, 06 Apr 2019 15:09:10 GMT\"0x8D6BAA1D28E562B\"5120share155456356368008804Sat, 06 Apr 2019 15:12:43 GMT\"0x8D6BAA251C17F8D\"5120share155456356557907464155456356574100518Sat, 06 Apr 2019 15:12:45 GMT\"0x8D6BAA252EBFAC4\"5120share155456361116402960155456361124207850Sat, 06 Apr 2019 15:13:31 GMT\"0x8D6BAA26E0A1CA8\"5120share155456390636203241Sat, 06 Apr 2019 15:18:26 GMT\"0x8D6BAA31DEBCDB0\"5120share155456390705601565155456390711901935Sat, 06 Apr 2019 15:18:27 GMT\"0x8D6BAA31E5E4748\"5120share155456393417709590155456393420808701Sat, 06 Apr 2019 15:18:54 GMT\"0x8D6BAA32E84237D\"5120share155456424217209961Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E61500A8\"5120share155456424278208936155456424284407266Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E67AB1A3\"5120share155456427211205549155456427214304496Sat, 06 Apr 2019 15:24:32 GMT\"0x8D6BAA3F7F20D47\"5120share155456458404204500Sat, 06 Apr 2019 15:29:44 GMT\"0x8D6BAA4B24CBF76\"5120share155456458547707918155456458552404411Sat, 06 Apr 2019 15:29:45 GMT\"0x8D6BAA4B2BB862F\"5120share155456460765406585155456460766908685Sat, 06 Apr 2019 15:30:07 GMT\"0x8D6BAA4BFFF1981\"5120share155456482465103461Sat, 06 Apr 2019 15:33:44 GMT\"0x8D6BAA541550649\"5120share155456482775006921155456482810700538Sat, 06 Apr 2019 15:33:48 GMT\"0x8D6BAA543636C8E\"5120share155456487704408556155456487721609007Sat, 06 Apr 2019 15:34:37 GMT\"0x8D6BAA560A9C832\"5120share155456514392700848Sat, 06 Apr 2019 15:39:04 GMT\"0x8D6BAA5FFA2DBB2\"5120share155456514730004864155456514765000848Sat, 06 Apr 2019 15:39:07 GMT\"0x8D6BAA601DAC90B\"5120share155456520851004581155456520868606444Sat, 06 Apr 2019 15:40:08 GMT\"0x8D6BAA6263B64FB\"5120share155456546078104638Sat, 06 Apr 2019 15:44:20 GMT\"0x8D6BAA6BC7EC485\"5120share155456546379202191155456546415004803Sat, 06 Apr 2019 15:44:24 GMT\"0x8D6BAA6BE80FE20\"5120share155456552100308222155456552118109485Sat, 06 Apr 2019 15:45:21 GMT\"0x8D6BAA6E07EA3E7\"5120share155457982586404577Sat, 06 Apr 2019 19:43:46 GMT\"0x8D6BAC82F06C604\"5120share155457982895209863Sat, 06 Apr 2019 19:43:49 GMT\"0x8D6BAC830B0EE27\"5120share155457983004307662155457983013006641Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC8313A9F6D\"5120share155457983034605061155457983042907122Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC831687914\"5120share155457984096304815Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC837B800A3\"5120share155457984173004573155457984181103859Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC8382FCF4E\"5120share155457985251106506155457985255200019Sat, 06 Apr 2019 19:44:12 GMT\"0x8D6BAC83E977E11\"5120share155457985352004043Sat, 06 Apr 2019 19:44:13 GMT\"0x8D6BAC83F308A2E\"5120share155457985759203693155457985763202694Sat, 06 Apr 2019 19:44:17 GMT\"0x8D6BAC8419E8708\"5120share155457985858407808155457985874206967Sat, 06 Apr 2019 19:44:18 GMT\"0x8D6BAC8424DC6E7\"5120share155457986070109185Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC84378C35C\"5120share155457986084203249155457986088206247Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC8438DCAFB\"5120share155457986667402248155457986683304389Sat, 06 Apr 2019 19:44:26 GMT\"0x8D6BAC8471F8EC3\"5120share155457988211302188Sat, 06 Apr 2019 19:44:42 GMT\"0x8D6BAC8503B5D5B\"5120share155457988657106116155457988672406764Sat, 06 Apr 2019 19:44:46 GMT\"0x8D6BAC852FAA3CB\"5120share155457991716301226155457991723809979Sat, 06 Apr 2019 19:45:17 GMT\"0x8D6BAC8652A9515\"5120share155457992830806739155457992838808802Sat, 06 Apr 2019 19:45:28 GMT\"0x8D6BAC86BD00E83\"5120share155457993006407987155457993013800523Sat, 06 Apr 2019 19:45:30 GMT\"0x8D6BAC86CDBF17B\"5120share155458006152502178Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB245AB2\"5120share155458006186305147155458006188804437Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB5BDA66\"5120share155458006815304344Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF182EA3\"5120share155458006841500789155458006844408143Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF44D44C\"5120share155458007310109701Sat, 06 Apr 2019 19:47:53 GMT\"0x8D6BAC8C20A6A25\"5120share155458007402802136155458007406500109Sat, 06 Apr 2019 19:47:54 GMT\"0x8D6BAC8C29DD3C2\"5120share155458007691004618155458007692300930Sat, 06 Apr 2019 19:47:56 GMT\"0x8D6BAC8C4519872\"5120share155458008613907463155458008615102861Sat, 06 Apr 2019 19:48:06 GMT\"0x8D6BAC8C9D2A25A\"5120share155458008826101632155458008827508306Sat, 06 Apr 2019 19:48:08 GMT\"0x8D6BAC8CB1643CF\"5120share155458014101009988Sat, 06 Apr 2019 19:49:01 GMT\"0x8D6BAC8EA8C6116\"5120share155458014235102252155458014250500129Sat, 06 Apr 2019 19:49:02 GMT\"0x8D6BAC8EB7022BC\"5120share155458015065204785Sat, 06 Apr 2019 19:49:10 GMT\"0x8D6BAC8F04B6245\"5120share155458015190606244155458015235108989Sat, 06 Apr 2019 19:49:12 GMT\"0x8D6BAC8F14EC812\"5120share155458015912000641Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F54FD2BF\"5120share155458015954701668155458015960006118Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F5991DFB\"5120share155458017311406556Sat, 06 Apr 2019 19:49:33 GMT\"0x8D6BAC8FDD44158\"5120share155458017502707203155458017520806739Sat, 06 Apr 2019 19:49:35 GMT\"0x8D6BAC8FEECDAA4\"5120share155458018062700692155458018064406305Sat, 06 Apr 2019 19:49:40 GMT\"0x8D6BAC90223AD3D\"5120share155458018255202912155458018262607543Sat, 06 Apr 2019 19:49:42 GMT\"0x8D6BAC9035A963E\"5120share155458018446401092Sat, 06 Apr 2019 19:49:44 GMT\"0x8D6BAC9048A9A28\"5120share155458018639607522155458018647205168Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905A4A03A\"5120share155458018651709847155458018670403556Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905C6C316\"5120share155458018905808134Sat, 06 Apr 2019 19:49:49 GMT\"0x8D6BAC90745C0AB\"5120share155458019083402862155458019101607549Sat, 06 Apr 2019 19:49:51 GMT\"0x8D6BAC9085921C4\"5120share155458020474801587155458020483701287Sat, 06 Apr 2019 19:50:04 GMT\"0x8D6BAC910954F65\"5120share155458021677705412155458021686508820Sat, 06 Apr 2019 19:50:16 GMT\"0x8D6BAC917C0BA92\"5120share155458022255403756155458022264606904Sat, 06 Apr 2019 19:50:22 GMT\"0x8D6BAC91B330179\"5120share155458035799600985Sat, 06 Apr 2019 19:52:38 GMT\"0x8D6BAC96BE13B37\"5120share155458035959302421155458035975506801Sat, 06 Apr 2019 19:52:39 GMT\"0x8D6BAC96CED2845\"5120share155458038999101821155458039006205821Sat, 06 Apr 2019 19:53:10 GMT\"0x8D6BAC97EFDC8C7\"5120share155458039197306757Sat, 06 Apr 2019 19:53:11 GMT\"0x8D6BAC98019052A\"5120share155458039235409027155458039240007658Sat, 06 Apr 2019 19:53:12 GMT\"0x8D6BAC98059AA63\"5120share155458041594507958Sat, 06 Apr 2019 19:53:35 GMT\"0x8D6BAC98E61B10E\"5120share155458041624503349155458041700409251Sat, 06 Apr 2019 19:53:37 GMT\"0x8D6BAC98F0326CA\"5120share155458042414602394155458042416208280Sat, 06 Apr 2019 19:53:44 GMT\"0x8D6BAC993487273\"5120share155458044008906271155458044010601423Sat, 06 Apr 2019 19:54:00 GMT\"0x8D6BAC99CC83FC7\"5120share155458071334509447Sat, 06 Apr 2019 19:58:33 GMT\"0x8D6BACA3FA8FF44\"5120share155458071605707178155458071610409296Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA414C424C\"5120share155458071612107980Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA4152C3C2\"5120share155458071677203776155458071680408599Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA41BB0E81\"5120share155458072009502050Sat, 06 Apr 2019 19:58:40 GMT\"0x8D6BACA43B031EA\"5120share155458072094509702155458072099206957Sat, 06 Apr 2019 19:58:41 GMT\"0x8D6BACA44380FE8\"5120share155458073543006878155458073544508077Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CD4E02B\"5120share155458073563000516155458073564602564Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CF58E47\"5120share155458074693207901155458074696307244Sat, 06 Apr 2019 19:59:06 GMT\"0x8D6BACA53B06581\"5120share155458102730709783Sat, 06 Apr 2019 20:03:47 GMT\"0x8D6BACAFACB81F1\"5120share155458102868202572155458102871409986Sat, 06 Apr 2019 20:03:48 GMT\"0x8D6BACAFBA2E15D\"5120share155458104633001221Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB06231A4E\"5120share155458104667302506155458104672106680Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB065D6388\"5120share155458104813808363155458104815404525Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB0738F2A1\"5120share155458104870802288Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB078DCFAB\"5120share155458104914903079155458104919602010Sat, 06 Apr 2019 20:04:09 GMT\"0x8D6BACB07D61BEF\"5120share155458106288101112155458106289700342Sat, 06 Apr 2019 20:04:22 GMT\"0x8D6BACB100374B8\"5120share155458106650506749155458106652108155Sat, 06 Apr 2019 20:04:26 GMT\"0x8D6BACB122B752A\"5120share155458133184000378Sat, 06 Apr 2019 20:08:51 GMT\"0x8D6BACBB05075D8\"5120share155458133237405814155458133243702319Sat, 06 Apr 2019 20:08:52 GMT\"0x8D6BACBB0AD6CF8\"5120share155458135318509099155458135320106042Sat, 06 Apr 2019 20:09:13 GMT\"0x8D6BACBBD0CD3EE\"5120share155458137219602215Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC85F8649\"5120share155458137264904053155458137284004781Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC8C02510\"5120share155458139529801458155458139532905081Sat, 06 Apr 2019 20:09:55 GMT\"0x8D6BACBD628A6F5\"5120share155458143191307130Sat, 06 Apr 2019 20:10:31 GMT\"0x8D6BACBEBF72FED\"5120share155458143725704549155458143733108923Sat, 06 Apr 2019 20:10:37 GMT\"0x8D6BACBEF3235D6\"5120share155458145614707996155458145617801962Sat, 06 Apr 2019 20:10:56 GMT\"0x8D6BACBFA6C641E\"5120share155458157026004284Sat, 06 Apr 2019 20:12:50 GMT\"0x8D6BACC3E7D2E73\"5120share155458157513606057155458157549200058Sat, 06 Apr 2019 20:12:55 GMT\"0x8D6BACC419AACAA\"5120share155458161551504918Sat, 06 Apr 2019 20:13:35 GMT\"0x8D6BACC5975976A\"5120share155458161852508767155458161888204990Sat, 06 Apr 2019 20:13:39 GMT\"0x8D6BACC5B77718A\"5120share155458163270608429155458163288707708Sat, 06 Apr 2019 20:13:53 GMT\"0x8D6BACC63D077C5\"5120share155458166740801992155458166758400322Sat, 06 Apr 2019 20:14:27 GMT\"0x8D6BACC787E2CBC\"5120share155458167410204473Sat, 06 Apr 2019 20:14:34 GMT\"0x8D6BACC7C6268AB\"5120share155458167745609182155458167783502969Sat, 06 Apr 2019 20:14:37 GMT\"0x8D6BACC7E9B98C5\"5120share155458172754102886155458172771207718Sat, 06 Apr 2019 20:15:27 GMT\"0x8D6BACC9C55C2B9\"5120share155458172981008762Sat, 06 Apr 2019 20:15:29 GMT\"0x8D6BACC9D95FF89\"5120share155458194149704710Sat, 06 Apr 2019 20:19:01 GMT\"0x8D6BACD1BC47F5F\"5120share155458194536607732155458194571702324Sat, 06 Apr 2019 20:19:05 GMT\"0x8D6BACD1E4806C2\"5120share155458197308200274Sat, 06 Apr 2019 20:19:33 GMT\"0x8D6BACD2E9741B8\"5120share155458197591001668155458197626104855Sat, 06 Apr 2019 20:19:36 GMT\"0x8D6BACD307C412D\"5120share155458199527007624155458199545704317Sat, 06 Apr 2019 20:19:55 GMT\"0x8D6BACD3BED41C6\"5120share155458202598109235155458202659403874Sat, 06 Apr 2019 20:20:26 GMT\"0x8D6BACD4E7C35E1\"5120share155458206169602649Sat, 06 Apr 2019 20:21:01 GMT\"0x8D6BACD636BD2BB\"5120share155458206454303760155458206491202053Sat, 06 Apr 2019 20:21:05 GMT\"0x8D6BACD6555FC37\"5120share155458211197207585155458211214304698Sat, 06 Apr 2019 20:21:52 GMT\"0x8D6BACD817C81F1\"5120share155458230574404260Sat, 06 Apr 2019 20:25:05 GMT\"0x8D6BACDF4DE1EAA\"5120share155458230851000916155458230885607635Sat, 06 Apr 2019 20:25:08 GMT\"0x8D6BACDF6B8F6B6\"5120share155458232013504419Sat, 06 Apr 2019 20:25:20 GMT\"0x8D6BACDFD730512\"5120share155458232597200069155458232631800473Sat, 06 Apr 2019 20:25:26 GMT\"0x8D6BACE015C4984\"5120share155458235978104772155458235995602616Sat, 06 Apr 2019 20:26:00 GMT\"0x8D6BACE152F2C77\"5120share155458238152204275155458238169302315Sat, 06 Apr 2019 20:26:21 GMT\"0x8D6BACE22234B1D\"5120share155458246813501241Sat, 06 Apr 2019 20:27:48 GMT\"0x8D6BACE55AA8392\"5120share155458247096107198155458247130607430Sat, 06 Apr 2019 20:27:51 GMT\"0x8D6BACE578E5D67\"5120share155458252434803407155458252452009632Sat, 06 Apr 2019 20:28:44 GMT\"0x8D6BACE77450DDD\"5120share155463491867809931Sun, 07 Apr 2019 11:01:59 GMT\"0x8D6BB4874C1FA32\"5120share155463492805505485155463492814004375Sun, 07 Apr 2019 11:02:08 GMT\"0x8D6BB487A32EA36\"5120share155463495415400624Sun, 07 Apr 2019 11:02:34 GMT\"0x8D6BB4889FB36E2\"5120share155463495863003716155463495867103980Sun, 07 Apr 2019 11:02:38 GMT\"0x8D6BB488C65A2A9\"5120share155463496549001120155463496566809518Sun, 07 Apr 2019 11:02:45 GMT\"0x8D6BB489096CC90\"5120share155463510566206731155463512465407451Sun, 07 Apr 2019 11:05:26 GMT\"0x8D6BB48F0B165EF\"5120share155463540364902833Sun, 07 Apr 2019 11:10:03 GMT\"0x8D6BB49959E6F6C\"5120share155463540439609115155463540442904248Sun, 07 Apr 2019 11:10:04 GMT\"0x8D6BB4996153B3E\"5120share155463542848406129155463542849807262Sun, 07 Apr 2019 11:10:28 GMT\"0x8D6BB49A46DA670\"5120share155463565576604805Sun, 07 Apr 2019 11:14:15 GMT\"0x8D6BB4A2BE4C75B\"5120share155463565789508788155463565794000776Sun, 07 Apr 2019 11:14:18 GMT\"0x8D6BB4A2D664C95\"5120share155463571312806839Sun, 07 Apr 2019 11:15:13 GMT\"0x8D6BB4A4E324D5F\"5120share155463571500609630155463571519400757Sun, 07 Apr 2019 11:15:15 GMT\"0x8D6BB4A4F562BB4\"5120share155463572717801277155463572720009526Sun, 07 Apr 2019 11:15:31 GMT\"0x8D6BB4A593E4806\"5120share155463574903407014155463574912207563Sun, 07 Apr 2019 11:15:49 GMT\"0x8D6BB4A638F50FD\"5120share155463593650002394Sun, 07 Apr 2019 11:18:56 GMT\"0x8D6BB4AD35DE04B\"5120share155463593894103435155463594176804206Sun, 07 Apr 2019 11:19:07 GMT\"0x8D6BB4ADA0C57A9\"5120share155463599400903836155463599403308912Sun, 07 Apr 2019 11:19:54 GMT\"0x8D6BB4AF583B2DB\"5120share155463628106804246Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA09C1EE3\"5120share155463628181805431155463628188001817Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA1175DD3\"5120share155463632163502826155463632187607182Sun, 07 Apr 2019 11:25:22 GMT\"0x8D6BB4BB9036F9B\"5120share155463662044706147Sun, 07 Apr 2019 11:30:20 GMT\"0x8D6BB4C6B2196F0\"5120share155463662176402509155463662181106263Sun, 07 Apr 2019 11:30:21 GMT\"0x8D6BB4C6BB51156\"5120share155463666487909340155463666491409324Sun, 07 Apr 2019 11:31:05 GMT\"0x8D6BB4C8583DD48\"5120share155463698405401209Sun, 07 Apr 2019 11:36:24 GMT\"0x8D6BB4D439ECDDA\"5120share155463698541606800155463698546901035Sun, 07 Apr 2019 11:36:25 GMT\"0x8D6BB4D44771EE6\"5120share155463702978505155155463702979104132Sun, 07 Apr 2019 11:37:09 GMT\"0x8D6BB4D5EE448FE\"5120share155463723950700465Sun, 07 Apr 2019 11:40:39 GMT\"0x8D6BB4DDBF3ADCB\"5120share155463724312503743155463724347607443Sun, 07 Apr 2019 11:40:43 GMT\"0x8D6BB4DDE528D42\"5120share155463729758500306155463729776203740Sun, 07 Apr 2019 11:41:37 GMT\"0x8D6BB4DFEAC4DF1\"5120share155463755748302900Sun, 07 Apr 2019 11:45:57 GMT\"0x8D6BB4E9978E2D2\"5120share155463756042003553155463756079202168Sun, 07 Apr 2019 11:46:00 GMT\"0x8D6BB4E9B7177A8\"5120share155463761358100594155463761375307174Sun, 07 Apr 2019 11:46:53 GMT\"0x8D6BB4EBB02650C\"5120share155463787959207794Sun, 07 Apr 2019 11:51:19 GMT\"0x8D6BB4F59763A07\"5120share155463788290501414155463788325100200Sun, 07 Apr 2019 11:51:23 GMT\"0x8D6BB4F5BA54F45\"5120share155463793259303870155463793276700570Sun, 07 Apr 2019 11:52:12 GMT\"0x8D6BB4F79276239\"5120share155471159410101775Mon, 08 Apr 2019 08:19:54 GMT\"0x8D6BBFAFADBE5E4\"5120share155471159557103774155471159565300748Mon, 08 Apr 2019 08:19:55 GMT\"0x8D6BBFAFB99CD19\"5120share155471159719406945Mon, 08 Apr 2019 08:19:57 GMT\"0x8D6BBFAFCB663A2\"5120share155471159844901546155471159853504786Mon, 08 Apr 2019 08:19:58 GMT\"0x8D6BBFAFD5170F5\"5120share155471161541409992Mon, 08 Apr 2019 08:20:16 GMT\"0x8D6BBFB081F5FB5\"5120share155471161759002308155471161771900228Mon, 08 Apr 2019 08:20:17 GMT\"0x8D6BBFB08C05564\"5120share155471161851605440155471161855706599Mon, 08 Apr 2019 08:20:18 GMT\"0x8D6BBFB0940AA1F\"5120share155471162639902600Mon, 08 Apr 2019 08:20:26 GMT\"0x8D6BBFB0DF3D044\"5120share155471163431809410155471163513501817Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15375AD4\"5120share155471163659409852155471163663305916Mon, 08 Apr 2019 08:20:36 GMT\"0x8D6BBFB140672E7\"5120share155471163879403305155471163883506224Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15570427\"5120share155471164795407473Mon, 08 Apr 2019 08:20:48 GMT\"0x8D6BBFB1ACB17DC\"5120share155471165623109994Mon, 08 Apr 2019 08:20:56 GMT\"0x8D6BBFB1FC3F719\"5120share155471166012804668155471166031308328Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB24406110\"5120share155471166089903157155471166123608644Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB241F036D\"5120share155471172995905724155471173080508446Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C37952A\"5120share155471173051409365155471173059005298Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C0C5968\"5120share155471174333302070155471174341105069Mon, 08 Apr 2019 08:22:23 GMT\"0x8D6BBFB53D3A9B7\"5120share155471182434808256Mon, 08 Apr 2019 08:23:44 GMT\"0x8D6BBFB83E86CA9\"5120share155471182515205917155471182519308076Mon, 08 Apr 2019 08:23:45 GMT\"0x8D6BBFB8469258F\"5120share155471183792306366Mon, 08 Apr 2019 08:23:57 GMT\"0x8D6BBFB8BFDA647\"5120share155471183836601440155471183839808059Mon, 08 Apr 2019 08:23:58 GMT\"0x8D6BBFB8C45ED59\"5120share155471184549402743Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB9081965D\"5120share155471184577508341155471184580705566Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB90B0FDD6\"5120share155471184862508408155471184864008538Mon, 08 Apr 2019 08:24:08 GMT\"0x8D6BBFB926308AD\"5120share155471185496004282155471185497309494Mon, 08 Apr 2019 08:24:14 GMT\"0x8D6BBFB96272195\"5120share155471186424807606155471186426203954Mon, 08 Apr 2019 08:24:24 GMT\"0x8D6BBFB9BB131A5\"5120share155471193314004724Mon, 08 Apr 2019 08:25:33 GMT\"0x8D6BBFBC4C751E1\"5120share155471193593408635155471193764704577Mon, 08 Apr 2019 08:25:37 GMT\"0x8D6BBFBC776A651\"5120share155471194397407124Mon, 08 Apr 2019 08:25:44 GMT\"0x8D6BBFBCB3C2379\"5120share155471194555807811155471194571401786Mon, 08 Apr 2019 08:25:47 GMT\"0x8D6BBFBCD737F4F\"5120share155471194946302657Mon, 08 Apr 2019 08:25:49 GMT\"0x8D6BBFBCEC19047\"5120share155471195223406412155471195241808309Mon, 08 Apr 2019 08:25:52 GMT\"0x8D6BBFBD043CA23\"5120share155471195442005853Mon, 08 Apr 2019 08:25:54 GMT\"0x8D6BBFBD1932F7D\"5120share155471195678502043155471195696904048Mon, 08 Apr 2019 08:25:57 GMT\"0x8D6BBFBD2F92138\"5120share155471195874606540Mon, 08 Apr 2019 08:25:58 GMT\"0x8D6BBFBD402CCA4\"5120share155471196273505067155471196279008024Mon, 08 Apr 2019 08:26:02 GMT\"0x8D6BBFBD66C3E32\"5120share155471196687506253Mon, 08 Apr 2019 08:26:07 GMT\"0x8D6BBFBD8F28488\"5120share155471196866402199155471196884600096Mon, 08 Apr 2019 08:26:08 GMT\"0x8D6BBFBDA0C5FC2\"5120share155471197493802599155471197525806627Mon, 08 Apr 2019 08:26:15 GMT\"0x8D6BBFBDDE17260\"5120share155471198776902969155471198787408405Mon, 08 Apr 2019 08:26:27 GMT\"0x8D6BBFBE56583EC\"5120share155471198949002768155471198957504390Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE66A3DE2\"5120share155471198959605149155471198986208091Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE6954C17\"5120share155471199019804683155471199021904269Mon, 08 Apr 2019 08:26:30 GMT\"0x8D6BBFBE6C605AD\"5120share155471199895909131155471199904807398Mon, 08 Apr 2019 08:26:39 GMT\"0x8D6BBFBEC0C669D\"5120share155471216392807544Mon, 08 Apr 2019 08:29:23 GMT\"0x8D6BBFC4E4F47FC\"5120share155471216452709732155471216456902840Mon, 08 Apr 2019 08:29:26 GMT\"0x8D6BBFC4FC7CD1D\"5120share155471217136404726Mon, 08 Apr 2019 08:29:31 GMT\"0x8D6BBFC52BDE426\"5120share155471217222402240155471217226106507Mon, 08 Apr 2019 08:29:32 GMT\"0x8D6BBFC53470269\"5120share155471218247602987Mon, 08 Apr 2019 08:29:42 GMT\"0x8D6BBFC595CC199\"5120share155471218361402387155471218365005312Mon, 08 Apr 2019 08:29:43 GMT\"0x8D6BBFC5A0FE3DD\"5120share155471219940306579155471219942604065Mon, 08 Apr 2019 08:29:59 GMT\"0x8D6BBFC63780FBF\"5120share155471220016802925155471220030607499Mon, 08 Apr 2019 08:30:00 GMT\"0x8D6BBFC63FED675\"5120share155471220290902917155471220293500348Mon, 08 Apr 2019 08:30:02 GMT\"0x8D6BBFC658E59F6\"5120share155471249309900739Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD129316CF\"5120share155471249367802014155471249372503616Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD12E38F1C\"5120share155471249672508697Mon, 08 Apr 2019 08:34:56 GMT\"0x8D6BBFD14AEB26A\"5120share155471249717808132155471249721001861Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD14F86882\"5120share155471249764407211Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD153BD7C4\"5120share155471249811307309155471249830109173Mon, 08 Apr 2019 08:34:58 GMT\"0x8D6BBFD15A17797\"5120share155471251563202676155471251564809213Mon, 08 Apr 2019 08:35:15 GMT\"0x8D6BBFD1FF476DC\"5120share155471251726303555155471251727801842Mon, 08 Apr 2019 08:35:17 GMT\"0x8D6BBFD20EF45C5\"5120share155471252286607127155471252289804824Mon, 08 Apr 2019 08:35:22 GMT\"0x8D6BBFD24468D24\"5120share155471280107407056Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA150A06\"5120share155471280122303103Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA2AA85A\"5120share155471280157501884155471280162209736Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA689843\"5120share155471280170901900155471280269609138Mon, 08 Apr 2019 08:40:02 GMT\"0x8D6BBFDCB0B4F94\"5120share155471281860403066Mon, 08 Apr 2019 08:40:18 GMT\"0x8D6BBFDD485DCD0\"5120share155471282020204926155471282024907974Mon, 08 Apr 2019 08:40:20 GMT\"0x8D6BBFDD581C2E6\"5120share155471282773802277155471282776901903Mon, 08 Apr 2019 08:40:27 GMT\"0x8D6BBFDD9FC956E\"5120share155471283070409441155471283071900050Mon, 08 Apr 2019 08:40:30 GMT\"0x8D6BBFDDBC0CC62\"5120share155471284115800709155471284117302223Mon, 08 Apr 2019 08:40:41 GMT\"0x8D6BBFDE1FC0E2A\"5120share155471313076205798Mon, 08 Apr 2019 08:45:30 GMT\"0x8D6BBFE8E985DA6\"5120share155471313135605696155471313140307661Mon, 08 Apr 2019 08:45:31 GMT\"0x8D6BBFE8EFA806E\"5120share155471314247306296Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE9592429E\"5120share155471314285105895155471314289809059Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE95D17ABD\"5120share155471314655408113Mon, 08 Apr 2019 08:45:46 GMT\"0x8D6BBFE98026629\"5120share155471315036608620155471315039706752Mon, 08 Apr 2019 08:45:53 GMT\"0x8D6BBFE9BFF3E8D\"5120share155471315738800255155471315740403394Mon, 08 Apr 2019 08:45:57 GMT\"0x8D6BBFE9E7A78D8\"5120share155471316127700943155471316129308576Mon, 08 Apr 2019 08:46:01 GMT\"0x8D6BBFEA0CA3EB9\"5120share155471317319209006155471317320803568Mon, 08 Apr 2019 08:46:13 GMT\"0x8D6BBFEA7E52732\"5120share155471338564903682Mon, 08 Apr 2019 08:49:45 GMT\"0x8D6BBFF26965E97\"5120share155471338612201724Mon, 08 Apr 2019 08:49:46 GMT\"0x8D6BBFF26DDC80B\"5120share155471338707501668Mon, 08 Apr 2019 08:49:47 GMT\"0x8D6BBFF276FE91A\"5120share155471338875509216155471338911108778Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28A5CC73\"5120share155471338907003423155471338943607988Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28D7C43E\"5120share155471339077005177155471339112707523Mon, 08 Apr 2019 08:49:51 GMT\"0x8D6BBFF29D97BDE\"5120share155471344114607322155471344132404540Mon, 08 Apr 2019 08:50:41 GMT\"0x8D6BBFF47C434F1\"5120share155471344305708178155471344323803707Mon, 08 Apr 2019 08:50:43 GMT\"0x8D6BBFF48E9B6AB\"5120share155471345132108943155471345150106029Mon, 08 Apr 2019 08:50:51 GMT\"0x8D6BBFF4DE3889E\"5120share155471361870008084Mon, 08 Apr 2019 08:53:39 GMT\"0x8D6BBFFB1EEC742\"5120share155471371725508964Mon, 08 Apr 2019 08:55:17 GMT\"0x8D6BBFFEC3CDD7B\"5120share155471371944301810Mon, 08 Apr 2019 08:55:19 GMT\"0x8D6BBFFED8C775F\"5120share155471371991209376Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEDD38528\"5120share155471372018104292155471372052805770Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEE2FFA2F\"5120share155471372233805696155471372271708417Mon, 08 Apr 2019 08:55:22 GMT\"0x8D6BBFFEF7F6246\"5120share155471372290109620155471372324904545Mon, 08 Apr 2019 08:55:23 GMT\"0x8D6BBFFEFDE088A\"5120share155471377091005451155471377108904189Mon, 08 Apr 2019 08:56:11 GMT\"0x8D6BC000C53B864\"5120share155471377364408697155471377382002962Mon, 08 Apr 2019 08:56:13 GMT\"0x8D6BC000DF49A62\"5120share155471377523007053155471377540900660Mon, 08 Apr 2019 08:56:15 GMT\"0x8D6BC000EE6C927\"5120share155471402950606676Mon, 08 Apr 2019 09:00:29 GMT\"0x8D6BC00A65AACF7\"5120share155471403233404398155471403270309055Mon, 08 Apr 2019 09:00:32 GMT\"0x8D6BC00A8426D4A\"5120share155471403964001185Mon, 08 Apr 2019 09:00:39 GMT\"0x8D6BC00AC6541C8\"5120share155471404293509573155471404328606393Mon, 08 Apr 2019 09:00:43 GMT\"0x8D6BC00AE906AAF\"5120share155471407955303616155471407972706941Mon, 08 Apr 2019 09:01:19 GMT\"0x8D6BC00C4491574\"5120share155471409885107441155471409902406315Mon, 08 Apr 2019 09:01:39 GMT\"0x8D6BC00CFC9D367\"5120share155471420123407076Mon, 08 Apr 2019 09:03:22 GMT\"0x8D6BC010D28BDE1\"5120share155471420502801318155471420537802414Mon, 08 Apr 2019 09:03:25 GMT\"0x8D6BC010F2CB097\"5120share155471426607204412155471426625208107Mon, 08 Apr 2019 09:04:26 GMT\"0x8D6BC013375377C\"5120share155472160987405653Mon, 08 Apr 2019 11:06:50 GMT\"0x8D6BC124C9978EA\"5120share155472161097000757155472161105208077Mon, 08 Apr 2019 11:06:51 GMT\"0x8D6BC124D3DBF8D\"5120share155472163173801961155472163177609525Mon, 08 Apr 2019 11:07:11 GMT\"0x8D6BC125997DF0C\"5120share155472168232901716Mon, 08 Apr 2019 11:08:02 GMT\"0x8D6BC1277BFA9C8\"5120share155472168374104176155472168446607643Mon, 08 Apr 2019 11:08:04 GMT\"0x8D6BC1279214100\"5120share155472176197105947155472176205007656Mon, 08 Apr 2019 11:09:22 GMT\"0x8D6BC12A74454C3\"5120share155472204199900828Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E191AC7\"5120share155472204277609584155472204280601112Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E94A044\"5120share155472206496708024155472206498204033Mon, 08 Apr 2019 11:14:25 GMT\"0x8D6BC135BCCCA84\"5120share155472216705901492Mon, 08 Apr 2019 11:16:07 GMT\"0x8D6BC1398D048C8\"5120share155472216898001523155472216916205107Mon, 08 Apr 2019 11:16:09 GMT\"0x8D6BC1399EAA37A\"5120share155472219103107027Mon, 08 Apr 2019 11:16:31 GMT\"0x8D6BC13A6F4AE8C\"5120share155472219425905471155472219440702152Mon, 08 Apr 2019 11:16:34 GMT\"0x8D6BC13A921A1C9\"5120share155472220033004812155472220042206911Mon, 08 Apr 2019 11:16:40 GMT\"0x8D6BC13AC8D206A\"5120share155472224824707837155472224832008824Mon, 08 Apr 2019 11:17:28 GMT\"0x8D6BC13C919E65E\"5120share155472246204805623Mon, 08 Apr 2019 11:21:02 GMT\"0x8D6BC14487717FD\"5120share155472246241309337155472246263507674Mon, 08 Apr 2019 11:21:03 GMT\"0x8D6BC14496CB4D5\"5120share155472249524904748155472249526905903Mon, 08 Apr 2019 11:21:35 GMT\"0x8D6BC145C441D54\"5120share155472278844408698Mon, 08 Apr 2019 11:26:28 GMT\"0x8D6BC150B092C7A\"5120share155472278907008129155472278920004266Mon, 08 Apr 2019 11:26:29 GMT\"0x8D6BC150B7C124C\"5120share155472284254600007155472284256208525Mon, 08 Apr 2019 11:27:22 GMT\"0x8D6BC152B4A911F\"5120share155472312229503604Mon, 08 Apr 2019 11:32:02 GMT\"0x8D6BC15D200E575\"5120share155472312412809123155472312417501747Mon, 08 Apr 2019 11:32:04 GMT\"0x8D6BC15D31D7FAE\"5120share155472315446303765155472315449505989Mon, 08 Apr 2019 11:32:34 GMT\"0x8D6BC15E5302244\"5120share155472345996309413Mon, 08 Apr 2019 11:37:39 GMT\"0x8D6BC169B4675F7\"5120share155472346051206066155472346057508799Mon, 08 Apr 2019 11:37:40 GMT\"0x8D6BC169BA35295\"5120share155472348747305567155472348748800979Mon, 08 Apr 2019 11:38:07 GMT\"0x8D6BC16ABADD753\"5120share155472371337200587Mon, 08 Apr 2019 11:41:53 GMT\"0x8D6BC1732641149\"5120share155472371674603033155472371719309773Mon, 08 Apr 2019 11:41:57 GMT\"0x8D6BC1734C4AD1D\"5120share155472377588104348155472377613206149Mon, 08 Apr 2019 11:42:56 GMT\"0x8D6BC1757CB4FB5\"5120share155472411306702730Mon, 08 Apr 2019 11:48:33 GMT\"0x8D6BC1820A06135\"5120share155472411721604937155472411760505391Mon, 08 Apr 2019 11:48:37 GMT\"0x8D6BC1823541FBE\"5120share155472417274301118155472417291606860Mon, 08 Apr 2019 11:49:33 GMT\"0x8D6BC18444D2432\"5120share155472448089705120Mon, 08 Apr 2019 11:54:41 GMT\"0x8D6BC18FBDED986\"5120share155472448370807083155472448406101169Mon, 08 Apr 2019 11:54:44 GMT\"0x8D6BC18FDC115E2\"5120share155472453427508600155472453444907889Mon, 08 Apr 2019 11:55:34 GMT\"0x8D6BC191BCCB9BF\"5120share155472855094705964Mon, 08 Apr 2019 13:02:31 GMT\"0x8D6BC2275D7C473\"5120share155472855239009959155472855247404733Mon, 08 Apr 2019 13:02:32 GMT\"0x8D6BC2276A627CE\"5120share155472856032008076Mon, 08 Apr 2019 13:02:41 GMT\"0x8D6BC227BD9467D\"5120share155472856217809292155472856226408487Mon, 08 Apr 2019 13:02:42 GMT\"0x8D6BC227C7D2423\"5120share155472856366803949Mon, 08 Apr 2019 13:02:43 GMT\"0x8D6BC227D692AC9\"5120share155472856528205546155472856545204869Mon, 08 Apr 2019 13:02:45 GMT\"0x8D6BC227E67D1EF\"5120share155472857573303054155472857578001261Mon, 08 Apr 2019 13:02:55 GMT\"0x8D6BC22848AC2B9\"5120share155472858718602344155472858722904206Mon, 08 Apr 2019 13:03:07 GMT\"0x8D6BC228B5EA846\"5120share155472859275800578Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EB057C8\"5120share155472859281003726155472859289304102Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EC2C83E\"5120share155472859438304193155472859454102545Mon, 08 Apr 2019 13:03:14 GMT\"0x8D6BC228FBFC6F4\"5120share155472859997408060Mon, 08 Apr 2019 13:03:20 GMT\"0x8D6BC2293079122\"5120share155472860456904599155472860489607509Mon, 08 Apr 2019 13:03:25 GMT\"0x8D6BC2295F5DA07\"5120share155472861037200948Mon, 08 Apr 2019 13:03:30 GMT\"0x8D6BC229939EC8D\"5120share155472861305108945155472861338108485Mon, 08 Apr 2019 13:03:36 GMT\"0x8D6BC229CA157C0\"5120share155472865853408678155472865861303126Mon, 08 Apr 2019 13:04:18 GMT\"0x8D6BC22B5EF8CF3\"5120share155472868380603467155472868396900550Mon, 08 Apr 2019 13:04:44 GMT\"0x8D6BC22C517F4B3\"5120share155472868557503999155472868576501705Mon, 08 Apr 2019 13:04:45 GMT\"0x8D6BC22C62A39FA\"5120share155472879121104691Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC2304F03B40\"5120share155472879189403290155472879193803545Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC23055F2961\"5120share155472879243008995Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305AC7850\"5120share155472879280808188155472879284409230Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305EC7325\"5120share155472880698205090155472880699806109Mon, 08 Apr 2019 13:06:47 GMT\"0x8D6BC230E58A3F5\"5120share155472880814103146155472880815505990Mon, 08 Apr 2019 13:06:48 GMT\"0x8D6BC230F0B9BFB\"5120share155472881234807755Mon, 08 Apr 2019 13:06:52 GMT\"0x8D6BC2311884B12\"5120share155472881340207390155472881350205618Mon, 08 Apr 2019 13:06:53 GMT\"0x8D6BC2312387E17\"5120share155472883072301392155472883073803010Mon, 08 Apr 2019 13:07:10 GMT\"0x8D6BC231C7E23F5\"5120share155472885337806659Mon, 08 Apr 2019 13:07:33 GMT\"0x8D6BC232A11D740\"5120share155472885613805171155472885646702766Mon, 08 Apr 2019 13:07:36 GMT\"0x8D6BC232BEA3B02\"5120share155472889661305776Mon, 08 Apr 2019 13:08:16 GMT\"0x8D6BC2343CAEEAB\"5120share155472889788009681155472889803300893Mon, 08 Apr 2019 13:08:18 GMT\"0x8D6BC2344A41FDF\"5120share155472891001406580Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BDA3B1D\"5120share155472891007702393155472891023709481Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BF5BF5B\"5120share155472891025302439Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234C02A1DD\"5120share155472891190208427155472891208509099Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D02D031\"5120share155472891198206893155472891216501231Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D0EF9AB\"5120share155472891445805441Mon, 08 Apr 2019 13:08:34 GMT\"0x8D6BC234E6E1621\"5120share155472891568202078155472891586502301Mon, 08 Apr 2019 13:08:35 GMT\"0x8D6BC234F44AFC9\"5120share155472893112604559155472893120100232Mon, 08 Apr 2019 13:08:51 GMT\"0x8D6BC23586881C1\"5120share155472893354909897Mon, 08 Apr 2019 13:08:53 GMT\"0x8D6BC2359E9B5A9\"5120share155472893564809628155472893583008434Mon, 08 Apr 2019 13:08:55 GMT\"0x8D6BC235B2AEAA9\"5120share155472893953307706155472893962206298Mon, 08 Apr 2019 13:08:59 GMT\"0x8D6BC235D6C870E\"5120share155472894318507838155472894330704679Mon, 08 Apr 2019 13:09:03 GMT\"0x8D6BC235F9E8958\"5120share155472894681003497155472894688800449Mon, 08 Apr 2019 13:09:06 GMT\"0x8D6BC2361C272A0\"5120share155472897035005236155472897043802002Mon, 08 Apr 2019 13:09:30 GMT\"0x8D6BC236FCB801E\"5120share155472912188008460Mon, 08 Apr 2019 13:12:01 GMT\"0x8D6BC23CA09833E\"5120share155472912242309883155472912246805247Mon, 08 Apr 2019 13:12:02 GMT\"0x8D6BC23CA64647F\"5120share155472912938903083Mon, 08 Apr 2019 13:12:09 GMT\"0x8D6BC23CE8AD1E7\"5120share155472913061307138155472913077708600Mon, 08 Apr 2019 13:12:10 GMT\"0x8D6BC23CF5DF0BD\"5120share155472913125601489Mon, 08 Apr 2019 13:12:11 GMT\"0x8D6BC23CFA730AD\"5120share155472913283609927155472913298509950Mon, 08 Apr 2019 13:12:13 GMT\"0x8D6BC23D0AE8C17\"5120share155472915487105003155472915489100854Mon, 08 Apr 2019 13:12:34 GMT\"0x8D6BC23DDB68675\"5120share155472916544804385155472916552306014Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4134A09\"5120share155472916548503832155472916556105425Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4197E02\"5120share155472946012606736Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2493A69CE5\"5120share155472946068908993155472946073508657Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2494053C3E\"5120share155472949633202046155472949636407118Mon, 08 Apr 2019 13:18:16 GMT\"0x8D6BC24A93FE744\"5120share155472953229106299Mon, 08 Apr 2019 13:18:52 GMT\"0x8D6BC24BEB4AF41\"5120share155472953357501863155472953373103768Mon, 08 Apr 2019 13:18:53 GMT\"0x8D6BC24BF90D02A\"5120share155472956713506493155472956721301657Mon, 08 Apr 2019 13:19:27 GMT\"0x8D6BC24D386476F\"5120share155472966502508606Mon, 08 Apr 2019 13:21:05 GMT\"0x8D6BC250DCA4603\"5120share155472966597907744155472966604202953Mon, 08 Apr 2019 13:21:06 GMT\"0x8D6BC250E645809\"5120share155472968498508655155472968500103917Mon, 08 Apr 2019 13:21:25 GMT\"0x8D6BC2519AFE985\"5120share155472988433902736Mon, 08 Apr 2019 13:24:44 GMT\"0x8D6BC25909324BE\"5120share155472988724409985155472988760204301Mon, 08 Apr 2019 13:24:47 GMT\"0x8D6BC2592849B4B\"5120share155472993030607011Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25ABE51EAD\"5120share155472993075507215155472993080206083Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25AC3328A7\"5120share155472993914402363155472993931800672Mon, 08 Apr 2019 13:25:39 GMT\"0x8D6BC25B1574FAE\"5120share155472994748901085155472994750403825Mon, 08 Apr 2019 13:25:47 GMT\"0x8D6BC25B6263F7C\"5120share155473001947302004Mon, 08 Apr 2019 13:26:59 GMT\"0x8D6BC25E10CE3BC\"5120share155473002051606362155473002054908313Mon, 08 Apr 2019 13:27:00 GMT\"0x8D6BC25E1B35EC4\"5120share155473004648705855155473004649703999Mon, 08 Apr 2019 13:27:26 GMT\"0x8D6BC25F12ABCA1\"5120share155473016072107034Mon, 08 Apr 2019 13:29:20 GMT\"0x8D6BC26354F9473\"5120share155473016364503276155473016400103009Mon, 08 Apr 2019 13:29:24 GMT\"0x8D6BC263743A815\"5120share155473021339603603Mon, 08 Apr 2019 13:30:13 GMT\"0x8D6BC2654B5158C\"5120share155473021424106750155473021441604785Mon, 08 Apr 2019 13:30:14 GMT\"0x8D6BC2655503B1E\"5120share155473021650606398155473021685603088Mon, 08 Apr 2019 13:30:17 GMT\"0x8D6BC2656CD882A\"5120share155473026269308380155473026286901426Mon, 08 Apr 2019 13:31:03 GMT\"0x8D6BC267231CA94\"5120share155473035103103790Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6AA97EE\"5120share155473035153304048155473035158009118Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6FEFB2F\"5120share155473037272506388155473037274004114Mon, 08 Apr 2019 13:32:52 GMT\"0x8D6BC26B39B5FAF\"5120share155473049819605040Mon, 08 Apr 2019 13:34:58 GMT\"0x8D6BC26FE7673E3\"5120share155473050103008382155473050142509037Mon, 08 Apr 2019 13:35:01 GMT\"0x8D6BC2700635DFF\"5120share155473054025008839Mon, 08 Apr 2019 13:35:40 GMT\"0x8D6BC27178337FC\"5120share155473054308605886155473054343906261Mon, 08 Apr 2019 13:35:43 GMT\"0x8D6BC27196A1851\"5120share155473054870903343155473054888203021Mon, 08 Apr 2019 13:35:49 GMT\"0x8D6BC271CAB8110\"5120share155473059007607327Mon, 08 Apr 2019 13:36:30 GMT\"0x8D6BC27353A326A\"5120share155473059366105315155473059402501772Mon, 08 Apr 2019 13:36:34 GMT\"0x8D6BC273791DA87\"5120share155473060266605803155473060284208896Mon, 08 Apr 2019 13:36:42 GMT\"0x8D6BC273CD2198E\"5120share155473064357606911155473064435408339Mon, 08 Apr 2019 13:37:24 GMT\"0x8D6BC27559218D8\"5120share155473082374108141Mon, 08 Apr 2019 13:40:23 GMT\"0x8D6BC27C07F8583\"5120share155473082651508300155473082686007339Mon, 08 Apr 2019 13:40:27 GMT\"0x8D6BC27C25B3DFF\"5120share155473087260606566155473087278203141Mon, 08 Apr 2019 13:41:12 GMT\"0x8D6BC27DDBAB773\"5120share155473091696409658Mon, 08 Apr 2019 13:41:57 GMT\"0x8D6BC27F8105DF2\"5120share155473092104706246155473092139602510Mon, 08 Apr 2019 13:42:01 GMT\"0x8D6BC27FAB44C17\"5120share155473103328506254155473103346108302Mon, 08 Apr 2019 13:43:53 GMT\"0x8D6BC283D8145CD\"5120share155473133348900275Mon, 08 Apr 2019 13:48:53 GMT\"0x8D6BC28F0562800\"5120share155473133641905218155473133676805608Mon, 08 Apr 2019 13:48:56 GMT\"0x8D6BC28F24A93FA\"5120share155473138457402066155473138474908082Mon, 08 Apr 2019 13:49:45 GMT\"0x8D6BC290EF52FE8\"5120share155473419080304153Mon, 08 Apr 2019 14:36:30 GMT\"0x8D6BC2F97732CFC\"5120share155473419365800817155473419382602756Mon, 08 Apr 2019 14:36:33 GMT\"0x8D6BC2F992DFF3C\"5120share155473421466607871Mon, 08 Apr 2019 14:36:54 GMT\"0x8D6BC2FA5BA6AEB\"5120share155473421635506352155473421652306205Mon, 08 Apr 2019 14:36:56 GMT\"0x8D6BC2FA6B4853A\"5120share155473422402809012155473422411202007Mon, 08 Apr 2019 14:37:04 GMT\"0x8D6BC2FAB3B4F2B\"5120share155473423347103300Mon, 08 Apr 2019 14:37:14 GMT\"0x8D6BC2FB1A4AC26\"5120share155473423963007764155473423996109344Mon, 08 Apr 2019 14:37:20 GMT\"0x8D6BC2FB4B923A2\"5120share155473424644901018155473424653402397Mon, 08 Apr 2019 14:37:26 GMT\"0x8D6BC2FB897E295\"5120share155473425057902422Mon, 08 Apr 2019 14:37:30 GMT\"0x8D6BC2FBB0CFAC3\"5120share155473425521309931155473425553507393Mon, 08 Apr 2019 14:37:35 GMT\"0x8D6BC2FBE0153D1\"5120share155473428819308505155473428835809325Mon, 08 Apr 2019 14:38:08 GMT\"0x8D6BC2FD191EC8D\"5120share155473430398307530155473430415601116Mon, 08 Apr 2019 14:38:24 GMT\"0x8D6BC2FDAFCD3CA\"5120share155473444829502736Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC3030D3FEF9\"5120share155473444885204661155473444888103257Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC30312D73D3\"5120share155473446739109486155473446744407340Mon, 08 Apr 2019 14:41:07 GMT\"0x8D6BC303C3F7578\"5120share155473447118803434Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303E792FBD\"5120share155473447149009693155473447154508068Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303EAFF271\"5120share155473448801104504155473448802709932Mon, 08 Apr 2019 14:41:28 GMT\"0x8D6BC304883AF71\"5120share155473450198203199Mon, 08 Apr 2019 14:41:42 GMT\"0x8D6BC3050E61990\"5120share155473450471305879155473450503806574Mon, 08 Apr 2019 14:41:45 GMT\"0x8D6BC3052B8A414\"5120share155473450704204579Mon, 08 Apr 2019 14:41:47 GMT\"0x8D6BC3053DEF142\"5120share155473450855306043155473450872307814Mon, 08 Apr 2019 14:41:48 GMT\"0x8D6BC3054DF5FA3\"5120share155473452656102693Mon, 08 Apr 2019 14:42:06 GMT\"0x8D6BC305F832E74\"5120share155473452751203866155473452759608707Mon, 08 Apr 2019 14:42:07 GMT\"0x8D6BC306019B7BE\"5120share155473453016401763Mon, 08 Apr 2019 14:42:10 GMT\"0x8D6BC3061A718A5\"5120share155473453144608682155473453159403269Mon, 08 Apr 2019 14:42:11 GMT\"0x8D6BC306280AC92\"5120share155473453662701273155473453671007534Mon, 08 Apr 2019 14:42:16 GMT\"0x8D6BC30658DA53B\"5120share155473454493806127Mon, 08 Apr 2019 14:42:25 GMT\"0x8D6BC306A80FFCA\"5120share155473454766406718155473454798605644Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306C526A63\"5120share155473454885408589155473454889408297Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306CCBAC1B\"5120share155473455531307272155473455547503726Mon, 08 Apr 2019 14:42:35 GMT\"0x8D6BC3070C880EF\"5120share155473456298508198155473456305604832Mon, 08 Apr 2019 14:42:43 GMT\"0x8D6BC30754176D8\"5120share155473457035304465Mon, 08 Apr 2019 14:42:50 GMT\"0x8D6BC3079AD1280\"5120share155473457207902291155473457226309592Mon, 08 Apr 2019 14:42:52 GMT\"0x8D6BC307ABD6939\"5120share155473457381405301Mon, 08 Apr 2019 14:42:53 GMT\"0x8D6BC307BA554F0\"5120share155473457424906501155473457433400772Mon, 08 Apr 2019 14:42:54 GMT\"0x8D6BC307BF5A02B\"5120share155473459079300332155473459095407127Mon, 08 Apr 2019 14:43:11 GMT\"0x8D6BC3085EEA6C0\"5120share155473459710804634155473459712507679Mon, 08 Apr 2019 14:43:17 GMT\"0x8D6BC3089893A07\"5120share155473460239208483155473460248307905Mon, 08 Apr 2019 14:43:22 GMT\"0x8D6BC308CC03D5B\"5120share155473460627301747Mon, 08 Apr 2019 14:43:26 GMT\"0x8D6BC308F166326\"5120share155473461191303184155473461215007685Mon, 08 Apr 2019 14:43:32 GMT\"0x8D6BC309283A21C\"5120share155473465896305363155473465905601441Mon, 08 Apr 2019 14:44:19 GMT\"0x8D6BC30AE7954B9\"5120share155473475957902774Mon, 08 Apr 2019 14:45:59 GMT\"0x8D6BC30EA6481FA\"5120share155473476083109353155473476097609742Mon, 08 Apr 2019 14:46:01 GMT\"0x8D6BC30EB39884A\"5120share155473476726807566Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EEF33FDC\"5120share155473476746100635Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EF23300D\"5120share155473477012302696155473477045003815Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F0EB24C0\"5120share155473477072405685Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F11D1338\"5120share155473477140802459155473477144704421Mon, 08 Apr 2019 14:46:11 GMT\"0x8D6BC30F170F086\"5120share155473477249206448155473477266401927Mon, 08 Apr 2019 14:46:12 GMT\"0x8D6BC30F2329512\"5120share155473478823203814155473478825205786Mon, 08 Apr 2019 14:46:28 GMT\"0x8D6BC30FB75293E\"5120share155473479136803374Mon, 08 Apr 2019 14:46:31 GMT\"0x8D6BC30FD57C6D6\"5120share155473479266204971155473479281803186Mon, 08 Apr 2019 14:46:32 GMT\"0x8D6BC30FE3534B2\"5120share155473480100304003155473480112603676Mon, 08 Apr 2019 14:46:41 GMT\"0x8D6BC310329D9D4\"5120share155473480306601561155473480314406594Mon, 08 Apr 2019 14:46:43 GMT\"0x8D6BC31045BEA29\"5120share155473480640000894Mon, 08 Apr 2019 14:46:46 GMT\"0x8D6BC3106588942\"5120share155473480909907513155473480941802582Mon, 08 Apr 2019 14:46:49 GMT\"0x8D6BC3108258412\"5120share155473482284601258155473482302000606Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC3110403003\"5120share155473482346807389155473482354003411Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC311084DD46\"5120share155473486075707188155473486108207129Mon, 08 Apr 2019 14:47:41 GMT\"0x8D6BC3126EFFE93\"5120share155473491634009737Mon, 08 Apr 2019 14:48:36 GMT\"0x8D6BC3148074DE4\"5120share155473491776103356Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC3149271C83\"5120share155473491829107624155473491848606435Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC31491B7485\"5120share155473492039605902155473492058008609Mon, 08 Apr 2019 14:48:40 GMT\"0x8D6BC314A5A3B77\"5120share155473494644803778155473494654101281Mon, 08 Apr 2019 14:49:06 GMT\"0x8D6BC3159D3BB81\"5120share155473494988505571155473494997503463Mon, 08 Apr 2019 14:49:10 GMT\"0x8D6BC315BDF5889\"5120share155473504589508380Mon, 08 Apr 2019 14:50:45 GMT\"0x8D6BC31950DBB93\"5120share155473504755106401155473504772905196Mon, 08 Apr 2019 14:50:47 GMT\"0x8D6BC319625F582\"5120share155473507333906486155473507341004547Mon, 08 Apr 2019 14:51:13 GMT\"0x8D6BC31A5735C1B\"5120share155473508082805354Mon, 08 Apr 2019 14:51:20 GMT\"0x8D6BC31A9EAA61F\"5120share155473508343703505155473508378405955Mon, 08 Apr 2019 14:51:23 GMT\"0x8D6BC31ABAE240D\"5120share155473511673807490Mon, 08 Apr 2019 14:51:56 GMT\"0x8D6BC31BF405B40\"5120share155473511726907503155473511731603497Mon, 08 Apr 2019 14:51:57 GMT\"0x8D6BC31BF9744D7\"5120share155473512676901896Mon, 08 Apr 2019 14:52:06 GMT\"0x8D6BC31C545BA7B\"5120share155473512807902236155473512825108944Mon, 08 Apr 2019 14:52:08 GMT\"0x8D6BC31C6275C62\"5120share155473513050407263155473513067905072Mon, 08 Apr 2019 14:52:10 GMT\"0x8D6BC31C7A1FF9F\"5120share155473513462203992155473513463806811Mon, 08 Apr 2019 14:52:14 GMT\"0x8D6BC31C9EB6C87\"5120share155473515791202563155473515797500387Mon, 08 Apr 2019 14:52:38 GMT\"0x8D6BC31D7E08B0F\"5120share155473540087503802Mon, 08 Apr 2019 14:56:40 GMT\"0x8D6BC32689704D3\"5120share155473540135308638155473540140007991Mon, 08 Apr 2019 14:56:41 GMT\"0x8D6BC3268E7DC90\"5120share155473541865302883Mon, 08 Apr 2019 14:56:58 GMT\"0x8D6BC32734A2927\"5120share155473542133905271155473542168206950Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC32751882E8\"5120share155473542163709330155473542168408080Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC3274FF8FE4\"5120share155473545874807881Mon, 08 Apr 2019 14:57:38 GMT\"0x8D6BC328B1BFAF9\"5120share155473545934304563155473545945208605Mon, 08 Apr 2019 14:57:39 GMT\"0x8D6BC328B8BF073\"5120share155473546811406701155473546830200544Mon, 08 Apr 2019 14:57:48 GMT\"0x8D6BC3290E73592\"5120share155473546996700257Mon, 08 Apr 2019 14:57:49 GMT\"0x8D6BC3291C9FD28\"5120share155473547032804613155473547035904086Mon, 08 Apr 2019 14:57:50 GMT\"0x8D6BC329207D3FE\"5120share155473547643107314155473547644703911Mon, 08 Apr 2019 14:57:56 GMT\"0x8D6BC3295A9340F\"5120share155473550717605678155473550719206836Mon, 08 Apr 2019 14:58:27 GMT\"0x8D6BC32A7FBCAFA\"5120share155473570285307598Mon, 08 Apr 2019 15:01:42 GMT\"0x8D6BC331CA187F6\"5120share155473570414402008155473570428906711Mon, 08 Apr 2019 15:01:44 GMT\"0x8D6BC331D7C0D0A\"5120share155473573312304189155473573318500333Mon, 08 Apr 2019 15:02:13 GMT\"0x8D6BC332EB6100B\"5120share155473576580407113Mon, 08 Apr 2019 15:02:45 GMT\"0x8D6BC33421F5A27\"5120share155473576613205186155473576618304618Mon, 08 Apr 2019 15:02:46 GMT\"0x8D6BC334258F41B\"5120share155473578765705355155473578767306787Mon, 08 Apr 2019 15:03:07 GMT\"0x8D6BC334F2922D1\"5120share155473578934909083Mon, 08 Apr 2019 15:03:09 GMT\"0x8D6BC33503B037A\"5120share155473579710504080155473579792000573Mon, 08 Apr 2019 15:03:18 GMT\"0x8D6BC3355570EAD\"5120share155473581512706676Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335F851F43\"5120share155473581554903183155473581559605594Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335FCD21A0\"5120share155473583169403864155473583171007928Mon, 08 Apr 2019 15:03:51 GMT\"0x8D6BC336968FE48\"5120share155473584151407616155473584166900204Mon, 08 Apr 2019 15:04:01 GMT\"0x8D6BC336F6BEF3F\"5120share155473599014106282Mon, 08 Apr 2019 15:06:30 GMT\"0x8D6BC33C7EA549A\"5120share155473599315900980155473599355000904Mon, 08 Apr 2019 15:06:33 GMT\"0x8D6BC33C9F29249\"5120share155473604520700164155473604539400204Mon, 08 Apr 2019 15:07:25 GMT\"0x8D6BC33E8F9FDB7\"5120share155473606941100702Mon, 08 Apr 2019 15:07:49 GMT\"0x8D6BC33F7280CEB\"5120share155473607238805976155473607274809222Mon, 08 Apr 2019 15:07:52 GMT\"0x8D6BC33F9249098\"5120share155473611057600702Mon, 08 Apr 2019 15:08:30 GMT\"0x8D6BC340FA2E13C\"5120share155473611092106791155473611096707735Mon, 08 Apr 2019 15:08:31 GMT\"0x8D6BC340FDDE96B\"5120share155473612535100765155473612556701005Mon, 08 Apr 2019 15:08:45 GMT\"0x8D6BC3418A091D9\"5120share155473612778602729155473612781702150Mon, 08 Apr 2019 15:08:47 GMT\"0x8D6BC3419E8023E\"5120share155473635249902796Mon, 08 Apr 2019 15:12:32 GMT\"0x8D6BC349FE5CFD9\"5120share155473635542207038155473635579507042Mon, 08 Apr 2019 15:12:35 GMT\"0x8D6BC34A1DBD6B1\"5120share155473637099800926Mon, 08 Apr 2019 15:12:51 GMT\"0x8D6BC34AAE96E2A\"5120share155473637336209277155473637364305088Mon, 08 Apr 2019 15:12:53 GMT\"0x8D6BC34AC7D5496\"5120share155473640657006048155473640674303374Mon, 08 Apr 2019 15:13:26 GMT\"0x8D6BC34C038E5B6\"5120share155473640789802199Mon, 08 Apr 2019 15:13:28 GMT\"0x8D6BC34C0E9E276\"5120share155473641079805966155473641115205580Mon, 08 Apr 2019 15:13:31 GMT\"0x8D6BC34C2DA977F\"5120share155473642254503233155473642270104923Mon, 08 Apr 2019 15:13:42 GMT\"0x8D6BC34C9BA4706\"5120share155473647554301408Mon, 08 Apr 2019 15:14:35 GMT\"0x8D6BC34E93D7C8F\"5120share155473647857300940155473647893707155Mon, 08 Apr 2019 15:14:39 GMT\"0x8D6BC34EB4276BE\"5120share155473652457008250155473652474903372Mon, 08 Apr 2019 15:15:24 GMT\"0x8D6BC350690B81C\"5120share155473652560500457155473652577809590Mon, 08 Apr 2019 15:15:25 GMT\"0x8D6BC35072D5459\"5120share155473670806203485Mon, 08 Apr 2019 15:18:28 GMT\"0x8D6BC3573D380A0\"5120share155473671095607303155473671130406741Mon, 08 Apr 2019 15:18:31 GMT\"0x8D6BC3575C2A2FC\"5120share155473674273801051Mon, 08 Apr 2019 15:19:02 GMT\"0x8D6BC35887F7270\"5120share155473674601006727155473674636602284Mon, 08 Apr 2019 15:19:06 GMT\"0x8D6BC358AA8C28E\"5120share155473676553905931155473676583602877Mon, 08 Apr 2019 15:19:25 GMT\"0x8D6BC359642887A\"5120share155473679548202593155473679565909714Mon, 08 Apr 2019 15:19:55 GMT\"0x8D6BC35A80AE264\"5120share155473686802409334Mon, 08 Apr 2019 15:21:08 GMT\"0x8D6BC35D32BE4F1\"5120share155473687084103771155473687119904765Mon, 08 Apr 2019 15:21:11 GMT\"0x8D6BC35D51023E2\"5120share155473689718209043Mon, 08 Apr 2019 15:21:37 GMT\"0x8D6BC35E48C5A6E\"5120share155473690003202575155473690038306662Mon, 08 Apr 2019 15:21:40 GMT\"0x8D6BC35E6753C30\"5120share155473692570603487155473692589603604Mon, 08 Apr 2019 15:22:06 GMT\"0x8D6BC35F5A9C8C6\"5120share155473694547006047155473694564405606Mon, 08 Apr 2019 15:22:25 GMT\"0x8D6BC36016FD1FA\"5120share155473710422903975Mon, 08 Apr 2019 15:25:04 GMT\"0x8D6BC365FF3A44B\"5120share155473710726803348155473710762206301Mon, 08 Apr 2019 15:25:07 GMT\"0x8D6BC3661FA21A2\"5120share155473712980409197Mon, 08 Apr 2019 15:25:29 GMT\"0x8D6BC366F335D07\"5120share155473713295307278155473713334900217Mon, 08 Apr 2019 15:25:33 GMT\"0x8D6BC367150A1CF\"5120share155473715357508120155473715375103679Mon, 08 Apr 2019 15:25:53 GMT\"0x8D6BC367D773379\"5120share155473717923909016155473717941808839Mon, 08 Apr 2019 15:26:19 GMT\"0x8D6BC368CC5F34E\"5120share155473747769904699Mon, 08 Apr 2019 15:31:17 GMT\"0x8D6BC373E93904E\"5120share155473748071405205155473748108105811Mon, 08 Apr 2019 15:31:21 GMT\"0x8D6BC374095A2E4\"5120share155473753005202135155473753023108048Mon, 08 Apr 2019 15:32:10 GMT\"0x8D6BC375DE09D13\"5120share155473948835202134Mon, 08 Apr 2019 16:04:48 GMT\"0x8D6BC3BECF939E7\"5120share155473948933109534155473948941307935Mon, 08 Apr 2019 16:04:49 GMT\"0x8D6BC3BED92E329\"5120share155473949761606382Mon, 08 Apr 2019 16:04:57 GMT\"0x8D6BC3BF2732BBE\"5120share155473949799001145155473949801708441Mon, 08 Apr 2019 16:04:58 GMT\"0x8D6BC3BF2B07273\"5120share155473951017007937155473951025903980Mon, 08 Apr 2019 16:05:10 GMT\"0x8D6BC3BF9FFE66B\"5120share155473951340407009155473951341609626Mon, 08 Apr 2019 16:05:13 GMT\"0x8D6BC3BFBDE60C8\"5120share155473953991108413Mon, 08 Apr 2019 16:05:40 GMT\"0x8D6BC3C0BDC1FB6\"5120share155473954320004620155473954353308452Mon, 08 Apr 2019 16:05:43 GMT\"0x8D6BC3C0DE76705\"5120share155473954799505772Mon, 08 Apr 2019 16:05:49 GMT\"0x8D6BC3C1150A660\"5120share155473955429103705155473955617200174Mon, 08 Apr 2019 16:05:56 GMT\"0x8D6BC3C15706272\"5120share155473959536203873155473959553202967Mon, 08 Apr 2019 16:06:35 GMT\"0x8D6BC3C2CE5AEE3\"5120share155473960405107051155473960421504781Mon, 08 Apr 2019 16:06:44 GMT\"0x8D6BC3C3211DE08\"5120share155473971175505074Mon, 08 Apr 2019 16:08:31 GMT\"0x8D6BC3C7231FB97\"5120share155473971336305849155473971356703112Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C73351960\"5120share155473971348402768Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7320D102\"5120share155473971380809201155473971384101973Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7357062C\"5120share155473972746708476155473972748002650Mon, 08 Apr 2019 16:08:47 GMT\"0x8D6BC3C7B78115A\"5120share155473974796501931155473974804802831Mon, 08 Apr 2019 16:09:08 GMT\"0x8D6BC3C87C1A66B\"5120share155473982991308873Mon, 08 Apr 2019 16:10:30 GMT\"0x8D6BC3CB89EEB4F\"5120share155473983165307311155473983183507080Mon, 08 Apr 2019 16:10:31 GMT\"0x8D6BC3CB9B09319\"5120share155473987452302874Mon, 08 Apr 2019 16:11:14 GMT\"0x8D6BC3CD336A0D3\"5120share155473987630005857155473987648508819Mon, 08 Apr 2019 16:11:16 GMT\"0x8D6BC3CD44B29DE\"5120share155473988002501138155473988011500836Mon, 08 Apr 2019 16:11:20 GMT\"0x8D6BC3CD6770663\"5120share155473990554307953155473990563408863Mon, 08 Apr 2019 16:11:45 GMT\"0x8D6BC3CE5AAB38B\"5120share155473992325308801Mon, 08 Apr 2019 16:12:03 GMT\"0x8D6BC3CF02FD95D\"5120share155473992552700191155473992579406764Mon, 08 Apr 2019 16:12:05 GMT\"0x8D6BC3CF1B3CFCD\"5120share155473995701903272155473995709800218Mon, 08 Apr 2019 16:12:37 GMT\"0x8D6BC3D045BF61B\"5120share155473996033701859Mon, 08 Apr 2019 16:12:40 GMT\"0x8D6BC3D065500D9\"5120share155473996306703342155473996338809095Mon, 08 Apr 2019 16:12:43 GMT\"0x8D6BC3D08273FBB\"5120share155474001203201466155474001219306818Mon, 08 Apr 2019 16:13:32 GMT\"0x8D6BC3D253ECF12\"5120share155474022752502668Mon, 08 Apr 2019 16:17:07 GMT\"0x8D6BC3DA58B4EC3\"5120share155474022883807337155474022899102360Mon, 08 Apr 2019 16:17:09 GMT\"0x8D6BC3DA66B413A\"5120share155474026368506311155474026376001016Mon, 08 Apr 2019 16:17:43 GMT\"0x8D6BC3DBB2470FF\"5120share155474027191009670Mon, 08 Apr 2019 16:17:51 GMT\"0x8D6BC3DC00037D1\"5120share155474027317107051155474027345603228Mon, 08 Apr 2019 16:17:53 GMT\"0x8D6BC3DC0EC5C98\"5120share155474030699904722155474030707806924Mon, 08 Apr 2019 16:18:27 GMT\"0x8D6BC3DD4F722C0\"5120share155474058573208591Mon, 08 Apr 2019 16:23:05 GMT\"0x8D6BC3E7B07EC34\"5120share155474058631100433155474058635707803Mon, 08 Apr 2019 16:23:06 GMT\"0x8D6BC3E7B67E06E\"5120share155474060436006648155474060439106751Mon, 08 Apr 2019 16:23:24 GMT\"0x8D6BC3E86265EA1\"5120share155474064796409027Mon, 08 Apr 2019 16:24:07 GMT\"0x8D6BC3EA0201A02\"5120share155474064840309943155474064844902242Mon, 08 Apr 2019 16:24:08 GMT\"0x8D6BC3EA06B5B8D\"5120share155474067289302482155474067292503013Mon, 08 Apr 2019 16:24:32 GMT\"0x8D6BC3EAF00AFEE\"5120share155474086901801882Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F23E282B1\"5120share155474086954109748155474086958803624Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F24374811\"5120share155474088621300424155474088622906592Mon, 08 Apr 2019 16:28:06 GMT\"0x8D6BC3F2E2332FA\"5120share155474093395702129Mon, 08 Apr 2019 16:28:54 GMT\"0x8D6BC3F4A9D178A\"5120share155474093519404097155474093535009888Mon, 08 Apr 2019 16:28:55 GMT\"0x8D6BC3F4B7159A6\"5120share155474096256205947155474096264104492Mon, 08 Apr 2019 16:29:22 GMT\"0x8D6BC3F5BB55B22\"5120share155474120234905361Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEA8F38F7\"5120share155474120277303521155474120282004590Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEAD6B1F4\"5120share155474122235007706155474122238101841Mon, 08 Apr 2019 16:33:42 GMT\"0x8D6BC3FF67E28D8\"5120share155474130460202574Mon, 08 Apr 2019 16:35:04 GMT\"0x8D6BC4027827D1E\"5120share155474130505607014155474130510207894Mon, 08 Apr 2019 16:35:05 GMT\"0x8D6BC4027CE6AB0\"5120share155474132647203580155474132648706944Mon, 08 Apr 2019 16:35:26 GMT\"0x8D6BC40348D5AE5\"5120share155474145926306657Mon, 08 Apr 2019 16:37:39 GMT\"0x8D6BC4083C48D46\"5120share155474146223405247155474146260700472Mon, 08 Apr 2019 16:37:42 GMT\"0x8D6BC4085C2BC8D\"5120share155474150898003062155474150915407050Mon, 08 Apr 2019 16:38:29 GMT\"0x8D6BC40A17F8E16\"5120share155474154328005331Mon, 08 Apr 2019 16:39:03 GMT\"0x8D6BC40B5D7588F\"5120share155474154615909592155474154651809449Mon, 08 Apr 2019 16:39:06 GMT\"0x8D6BC40B7C61D1A\"5120share155474160184400659155474160202305300Mon, 08 Apr 2019 16:40:02 GMT\"0x8D6BC40D8D9D9ED\"5120share155474185416600555Mon, 08 Apr 2019 16:44:14 GMT\"0x8D6BC416F233C68\"5120share155474185723002510155474185758501557Mon, 08 Apr 2019 16:44:17 GMT\"0x8D6BC41712CFFA6\"5120share155474190327502820155474190345208840Mon, 08 Apr 2019 16:45:03 GMT\"0x8D6BC418C848342\"5120share155474190490704897Mon, 08 Apr 2019 16:45:05 GMT\"0x8D6BC418D621561\"5120share155474190776907277155474190812601855Mon, 08 Apr 2019 16:45:08 GMT\"0x8D6BC418F4CE08B\"5120share155474196241703778155474196259800062Mon, 08 Apr 2019 16:46:02 GMT\"0x8D6BC41AFC3DCE9\"5120share155474220129806013Mon, 08 Apr 2019 16:50:01 GMT\"0x8D6BC423E133CD2\"5120share155474220456406280155474220494907802Mon, 08 Apr 2019 16:50:05 GMT\"0x8D6BC42403CC9EA\"5120share155474225992109422155474226010703254Mon, 08 Apr 2019 16:51:00 GMT\"0x8D6BC42611C57BE\"5120share155474226931208866Mon, 08 Apr 2019 16:51:09 GMT\"0x8D6BC4266952B13\"5120share155474227223302689155474227258508558Mon, 08 Apr 2019 16:51:12 GMT\"0x8D6BC4268893BA8\"5120share155474232327306240155474232345203219Mon, 08 Apr 2019 16:52:03 GMT\"0x8D6BC4286D91D07\"5120share155474395428107727Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652D4C42C\"5120share155474395452802100155474395455608057Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652FEBFA5\"5120share155474397065201372155474397066502723Mon, 08 Apr 2019 17:19:30 GMT\"0x8D6BC465C9898E6\"5120share155474400115800733Mon, 08 Apr 2019 17:20:01 GMT\"0x8D6BC466ECED480\"5120share155474400363001910155474400379000022Mon, 08 Apr 2019 17:20:03 GMT\"0x8D6BC4670608DBE\"5120share155474403669903880155474403677708604Mon, 08 Apr 2019 17:20:36 GMT\"0x8D6BC4684093633\"5120share155474419672100811Mon, 08 Apr 2019 17:23:16 GMT\"0x8D6BC46E3613195\"5120share155474419764009306155474419772402506Mon, 08 Apr 2019 17:23:17 GMT\"0x8D6BC46E3F21E5B\"5120share155474422388106104155474422392207070Mon, 08 Apr 2019 17:23:43 GMT\"0x8D6BC46F38FA2DB\"5120share155474423646003586Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB075CAA\"5120share155474423673307035155474423676300424Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB346115\"5120share155474424402506390Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FF8AB361\"5120share155474424449101262155474424456708485Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FFDCA1DF\"5120share155474425601609100155474425602909189Mon, 08 Apr 2019 17:24:16 GMT\"0x8D6BC4706B02D7E\"5120share155474427118802638155474427121009813Mon, 08 Apr 2019 17:24:31 GMT\"0x8D6BC470FBE0D2D\"5120share155474428001309991Mon, 08 Apr 2019 17:24:40 GMT\"0x8D6BC4715045886\"5120share155474428159504724155474428175001137Mon, 08 Apr 2019 17:24:41 GMT\"0x8D6BC47160D398B\"5120share155474431811601666155474431819004651Mon, 08 Apr 2019 17:25:18 GMT\"0x8D6BC472BC57B36\"5120share155474441621600039Mon, 08 Apr 2019 17:26:56 GMT\"0x8D6BC47664CFDB3\"5120share155474441808000887155474441826501887Mon, 08 Apr 2019 17:26:58 GMT\"0x8D6BC47676B5E28\"5120share155474444280401127Mon, 08 Apr 2019 17:27:22 GMT\"0x8D6BC4776037219\"5120share155474444312107191155474444315009298Mon, 08 Apr 2019 17:27:23 GMT\"0x8D6BC477638688C\"5120share155474444907607144155474444916600860Mon, 08 Apr 2019 17:27:29 GMT\"0x8D6BC4779D51767\"5120share155474446097609507155474446099204230Mon, 08 Apr 2019 17:27:41 GMT\"0x8D6BC4780DAFC9D\"5120share155474446503807882Mon, 08 Apr 2019 17:27:45 GMT\"0x8D6BC478357DE0F\"5120share155474446772807781155474446805003083Mon, 08 Apr 2019 17:27:48 GMT\"0x8D6BC47852352EF\"5120share155474453274207529155474453290606263Mon, 08 Apr 2019 17:28:53 GMT\"0x8D6BC47ABCD89D2\"5120share155474456707309057Mon, 08 Apr 2019 17:29:27 GMT\"0x8D6BC47C01E9B8E\"5120share155474456856906969155474456873102857Mon, 08 Apr 2019 17:29:28 GMT\"0x8D6BC47C11BABE1\"5120share155474459866304821155474459879204899Mon, 08 Apr 2019 17:29:58 GMT\"0x8D6BC47D30694D4\"5120share155474460938005724Mon, 08 Apr 2019 17:30:09 GMT\"0x8D6BC47D9696D4A\"5120share155474461109303504155474461129505111Mon, 08 Apr 2019 17:30:11 GMT\"0x8D6BC47DA77FFFD\"5120share155474464325008544155474464333905921Mon, 08 Apr 2019 17:30:43 GMT\"0x8D6BC47ED91A19C\"5120share155474476466104389Mon, 08 Apr 2019 17:32:44 GMT\"0x8D6BC4835E350D0\"5120share155474476781604399155474476797007813Mon, 08 Apr 2019 17:32:48 GMT\"0x8D6BC4837DC08B7\"5120share155474480038605885155474480046100073Mon, 08 Apr 2019 17:33:20 GMT\"0x8D6BC484B3A3D4F\"5120share155474492660408902Mon, 08 Apr 2019 17:35:26 GMT\"0x8D6BC48966A5D95\"5120share155474492789003702155474492806209895Mon, 08 Apr 2019 17:35:28 GMT\"0x8D6BC4897485BA7\"5120share155474495477607990155474495485501755Mon, 08 Apr 2019 17:35:54 GMT\"0x8D6BC48A7424CAA\"5120share155474510686309923Mon, 08 Apr 2019 17:38:26 GMT\"0x8D6BC4901D74A82\"5120share155474510733205807155474510739507235Mon, 08 Apr 2019 17:38:27 GMT\"0x8D6BC4902289FBC\"5120share155474512958602801155474512961701409Mon, 08 Apr 2019 17:38:49 GMT\"0x8D6BC490F660BF7\"5120share155474528378801613Mon, 08 Apr 2019 17:41:23 GMT\"0x8D6BC496B4DCE46\"5120share155474528428104775155474528432801850Mon, 08 Apr 2019 17:41:24 GMT\"0x8D6BC496B9F1952\"5120share155474530034400913155474530037609036Mon, 08 Apr 2019 17:41:40 GMT\"0x8D6BC4975307733\"5120share155474532759507612Mon, 08 Apr 2019 17:42:07 GMT\"0x8D6BC498570D5C7\"5120share155474532839002825155474532846907369Mon, 08 Apr 2019 17:42:08 GMT\"0x8D6BC4985EBDD8C\"5120share155474535921501065155474535929800232Mon, 08 Apr 2019 17:42:39 GMT\"0x8D6BC49984C13E3\"5120share155474537100109299Mon, 08 Apr 2019 17:42:51 GMT\"0x8D6BC499F4C10CA\"5120share155474537235108861155474537250407032Mon, 08 Apr 2019 17:42:52 GMT\"0x8D6BC49A0305CFF\"5120share155474541020101924155474541028002160Mon, 08 Apr 2019 17:43:30 GMT\"0x8D6BC49B6B4AF7E\"5120share155474544328204718Mon, 08 Apr 2019 17:44:03 GMT\"0x8D6BC49CA608EEF\"5120share155474544450809675155474544464306068Mon, 08 Apr 2019 17:44:04 GMT\"0x8D6BC49CB30EE65\"5120share155474547397901682155474547404107590Mon, 08 Apr 2019 17:44:34 GMT\"0x8D6BC49DCB70CEE\"5120share155474556387801910Mon, 08 Apr 2019 17:46:04 GMT\"0x8D6BC4A125905BF\"5120share155474556547705866155474556565103636Mon, 08 Apr 2019 17:46:05 GMT\"0x8D6BC4A135404E9\"5120share155474560156806705155474560165207088Mon, 08 Apr 2019 17:46:41 GMT\"0x8D6BC4A28C98302\"5120share155474560980908891Mon, 08 Apr 2019 17:46:49 GMT\"0x8D6BC4A2DA3B8E2\"5120share155474561182205540155474561197600824Mon, 08 Apr 2019 17:46:52 GMT\"0x8D6BC4A2EEE39CE\"5120share155474564080602364155474564088209498Mon, 08 Apr 2019 17:47:20 GMT\"0x8D6BC4A40288917\"5120share155474566731408854Mon, 08 Apr 2019 17:47:47 GMT\"0x8D6BC4A4FEA5939\"5120share155474566853502348155474566872402545Mon, 08 Apr 2019 17:47:48 GMT\"0x8D6BC4A50BFC502\"5120share155474569590807294155474569598604999Mon, 08 Apr 2019 17:48:16 GMT\"0x8D6BC4A60FFBEB6\"5120share155474604565500976Mon, 08 Apr 2019 17:54:05 GMT\"0x8D6BC4B3166FA66\"5120share155474604628207297155474604631306384Mon, 08 Apr 2019 17:54:06 GMT\"0x8D6BC4B31CABCDE\"5120share155474606600908658155474606602509076Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3D89E538\"5120share155474606603205608Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3DA28FD4\"5120share155474606780105190155474606799103841Mon, 08 Apr 2019 17:54:28 GMT\"0x8D6BC4B3EBA25ED\"5120share155474610134800398155474610144002605Mon, 08 Apr 2019 17:55:01 GMT\"0x8D6BC4B52AA1A8E\"5120share155474619445207539Mon, 08 Apr 2019 17:56:34 GMT\"0x8D6BC4B8A26DB79\"5120share155474619701203581155474619733105936Mon, 08 Apr 2019 17:56:37 GMT\"0x8D6BC4B8BDEA41E\"5120share155474624396206673155474624412309828Mon, 08 Apr 2019 17:57:24 GMT\"0x8D6BC4BA7C2EA49\"5120share155474635564303302Mon, 08 Apr 2019 17:59:15 GMT\"0x8D6BC4BEA3C58B3\"5120share155474635860300315155474635896907344Mon, 08 Apr 2019 17:59:19 GMT\"0x8D6BC4BEC382947\"5120share155474640507900921155474640526006359Mon, 08 Apr 2019 18:00:05 GMT\"0x8D6BC4C07C7F4A3\"5120share155474645415109948Mon, 08 Apr 2019 18:00:54 GMT\"0x8D6BC4C24EC0921\"5120share155474645495200953155474645503501899Mon, 08 Apr 2019 18:00:55 GMT\"0x8D6BC4C25682D46\"5120share155474647318704154155474647322607411Mon, 08 Apr 2019 18:01:13 GMT\"0x8D6BC4C304039B7\"5120share155474654875803895Mon, 08 Apr 2019 18:02:28 GMT\"0x8D6BC4C5D4572AB\"5120share155474654921902498155474654926509052Mon, 08 Apr 2019 18:02:29 GMT\"0x8D6BC4C5D91BE8E\"5120share155474656399405825155474656401705254Mon, 08 Apr 2019 18:02:44 GMT\"0x8D6BC4C665CCFF1\"5120share155474663529602310Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C90D93648\"5120share155474663583606041155474663588408448Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C9132CC5D\"5120share155474665477303348155474665479205559Mon, 08 Apr 2019 18:04:14 GMT\"0x8D6BC4C9C77182B\"5120share155474669690608062Mon, 08 Apr 2019 18:04:57 GMT\"0x8D6BC4CB5AC4D07\"5120share155474669879809471155474669896601486Mon, 08 Apr 2019 18:04:59 GMT\"0x8D6BC4CB6D26C35\"5120share155474672916802677Mon, 08 Apr 2019 18:05:29 GMT\"0x8D6BC4CC8E553A9\"5120share155474673083607637155474673100708355Mon, 08 Apr 2019 18:05:31 GMT\"0x8D6BC4CC9EC2AC2\"5120share155474673381104012155474673389309631Mon, 08 Apr 2019 18:05:33 GMT\"0x8D6BC4CCBA3AC18\"5120share155474676371808387155474676380208185Mon, 08 Apr 2019 18:06:03 GMT\"0x8D6BC4CDD786B55\"5120share155474679470603196Mon, 08 Apr 2019 18:06:34 GMT\"0x8D6BC4CEFEF94B0\"5120share155474679772603000155474679809202072Mon, 08 Apr 2019 18:06:38 GMT\"0x8D6BC4CF1F46892\"5120share155474680013008562Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3197928\"5120share155474680057503718155474680062404689Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3641213\"5120share155474681409208639Mon, 08 Apr 2019 18:06:54 GMT\"0x8D6BC4CFB756E96\"5120share155474681491505363155474681500105289Mon, 08 Apr 2019 18:06:55 GMT\"0x8D6BC4CFBF71FC4\"5120share155474681788207900155474681791008047Mon, 08 Apr 2019 18:06:57 GMT\"0x8D6BC4CFDB1BD22\"5120share155474683477100690155474683481200041Mon, 08 Apr 2019 18:07:14 GMT\"0x8D6BC4D07C681B1\"5120share155474684393709385155474684411407379Mon, 08 Apr 2019 18:07:24 GMT\"0x8D6BC4D0D63FA6E\"5120share155474686284305068Mon, 08 Apr 2019 18:07:42 GMT\"0x8D6BC4D188C7C32\"5120share155474686561509852155474686593903986Mon, 08 Apr 2019 18:07:46 GMT\"0x8D6BC4D1A6403C0\"5120share155474690869707233155474690886001558Mon, 08 Apr 2019 18:08:29 GMT\"0x8D6BC4D33F9C1DF\"5120share155474696608300776Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56048CF2\"5120share155474696666108703155474696672401866Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56667A7D\"5120share155474696667806001Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D565D032B\"5120share155474696710902421155474696715108905Mon, 08 Apr 2019 18:09:27 GMT\"0x8D6BC4D56A57B13\"5120share155474698267801977155474698269406976Mon, 08 Apr 2019 18:09:42 GMT\"0x8D6BC4D5FE9CFEB\"5120share155474698299707221155474698301501809Mon, 08 Apr 2019 18:09:43 GMT\"0x8D6BC4D6019DBEC\"5120share155474704723809460Mon, 08 Apr 2019 18:10:47 GMT\"0x8D6BC4D86616E64\"5120share155474704881708545155474704884801268Mon, 08 Apr 2019 18:10:48 GMT\"0x8D6BC4D875756B5\"5120share155474707588406604155474707589701120Mon, 08 Apr 2019 18:11:15 GMT\"0x8D6BC4D9776A8E6\"5120share155474710586101865Mon, 08 Apr 2019 18:11:46 GMT\"0x8D6BC4DA96742CF\"5120share155474710874902656155474710916109774Mon, 08 Apr 2019 18:11:49 GMT\"0x8D6BC4DAB5EA4FD\"5120share155474714764003348Mon, 08 Apr 2019 18:12:27 GMT\"0x8D6BC4DC2406D42\"5120share155474714885103041155474714908804672Mon, 08 Apr 2019 18:12:29 GMT\"0x8D6BC4DC31DB2D0\"5120share155474715492307420155474715509608519Mon, 08 Apr 2019 18:12:35 GMT\"0x8D6BC4DC6BE914E\"5120share155474717400802142155474717408307060Mon, 08 Apr 2019 18:12:54 GMT\"0x8D6BC4DD203F71A\"5120share155474719947106777Mon, 08 Apr 2019 18:13:19 GMT\"0x8D6BC4DE1259CEC\"5120share155474720071400394155474720086808994Mon, 08 Apr 2019 18:13:20 GMT\"0x8D6BC4DE1FB2C1C\"5120share155474722844105131155474722851407454Mon, 08 Apr 2019 18:13:48 GMT\"0x8D6BC4DF275C194\"5120share155474724530509593Mon, 08 Apr 2019 18:14:05 GMT\"0x8D6BC4DFC812038\"5120share155474724621607823155474724633006743Mon, 08 Apr 2019 18:14:06 GMT\"0x8D6BC4DFD13BB0C\"5120share155474726666905801155474726671207462Mon, 08 Apr 2019 18:14:26 GMT\"0x8D6BC4E093975C6\"5120share155474727008806902Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B35A990\"5120share155474727036204896155474727039307966Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B643FD7\"5120share155474728638006622155474728639406421Mon, 08 Apr 2019 18:14:46 GMT\"0x8D6BC4E14EDE4DD\"5120share155474729223702314Mon, 08 Apr 2019 18:14:52 GMT\"0x8D6BC4E1883AF97\"5120share155474729398209223155474729415606986Mon, 08 Apr 2019 18:14:54 GMT\"0x8D6BC4E1996C534\"5120share155474732221000573155474732230701553Mon, 08 Apr 2019 18:15:22 GMT\"0x8D6BC4E2A5ED5C9\"5120share155474751582509818Mon, 08 Apr 2019 18:18:35 GMT\"0x8D6BC4E9DC20155\"5120share155474751847902848155474751880304541Mon, 08 Apr 2019 18:18:38 GMT\"0x8D6BC4E9F8866A6\"5120share155474756081401285155474756097802660Mon, 08 Apr 2019 18:19:21 GMT\"0x8D6BC4EB8AB9F43\"5120share155474764980601427Mon, 08 Apr 2019 18:20:49 GMT\"0x8D6BC4EED934290\"5120share155474765102608011155474765118001858Mon, 08 Apr 2019 18:20:51 GMT\"0x8D6BC4EEE645AD6\"5120share155474767844107090155474767851403828Mon, 08 Apr 2019 18:21:18 GMT\"0x8D6BC4EFEAFA117\"5120share155474777133007169Mon, 08 Apr 2019 18:22:51 GMT\"0x8D6BC4F360D39E0\"5120share155474777420508076155474777458205278Mon, 08 Apr 2019 18:22:54 GMT\"0x8D6BC4F37FD9082\"5120share155474782123305443155474782141203648Mon, 08 Apr 2019 18:23:41 GMT\"0x8D6BC4F53E76F8F\"5120share155474792521906873Mon, 08 Apr 2019 18:25:25 GMT\"0x8D6BC4F91C00B2D\"5120share155474792672406349155474792689607120Mon, 08 Apr 2019 18:25:26 GMT\"0x8D6BC4F92BF41A5\"5120share155474795499605887155474795507404540Mon, 08 Apr 2019 18:25:55 GMT\"0x8D6BC4FA38B9AA0\"5120share155474822362107235Mon, 08 Apr 2019 18:30:23 GMT\"0x8D6BC5043ABE5D7\"5120share155474822547905552155474822566503828Mon, 08 Apr 2019 18:30:25 GMT\"0x8D6BC5044CCFF4D\"5120share155474825450002272Mon, 08 Apr 2019 18:30:54 GMT\"0x8D6BC505606CF1A\"5120share155474825533607080155474825542104437Mon, 08 Apr 2019 18:30:55 GMT\"0x8D6BC505686D3D6\"5120share155474826343607595155474826352605234Mon, 08 Apr 2019 18:31:03 GMT\"0x8D6BC505B5DE52C\"5120share155474827685603862155474827689907496Mon, 08 Apr 2019 18:31:16 GMT\"0x8D6BC5063545C5E\"5120share155474842455807202Mon, 08 Apr 2019 18:33:44 GMT\"0x8D6BC50BB5C6059\"5120share155474842593805305155474842618709355Mon, 08 Apr 2019 18:33:46 GMT\"0x8D6BC50BC548613\"5120share155474845712203961155474845720102349Mon, 08 Apr 2019 18:34:17 GMT\"0x8D6BC50CED0751B\"5120share155474851989103047Mon, 08 Apr 2019 18:35:20 GMT\"0x8D6BC50F439CEBD\"5120share155474852265103180155474852297608630Mon, 08 Apr 2019 18:35:23 GMT\"0x8D6BC50F60FE06F\"5120share155474856529703557155474856545809970Mon, 08 Apr 2019 18:36:05 GMT\"0x8D6BC510F628BE7\"5120share155474862305404605Mon, 08 Apr 2019 18:37:03 GMT\"0x8D6BC5131BE75BB\"5120share155474862481702492155474862500803609Mon, 08 Apr 2019 18:37:05 GMT\"0x8D6BC5132D530CA\"5120share155474865512509351155474865521506832Mon, 08 Apr 2019 18:37:35 GMT\"0x8D6BC5144D5E753\"5120share155474870412106342Mon, 08 Apr 2019 18:38:24 GMT\"0x8D6BC5162083EB9\"5120share155474870684104116155474870719906918Mon, 08 Apr 2019 18:38:27 GMT\"0x8D6BC5163DEAE18\"5120share155474875502604717Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC518068CB51\"5120share155474875557809078155474875573600049Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC5180CD01EA\"5120share155474875683104451155474875706500491Mon, 08 Apr 2019 18:39:17 GMT\"0x8D6BC51818B1C32\"5120share155474876604802975Mon, 08 Apr 2019 18:39:26 GMT\"0x8D6BC5186FB8011\"5120share155474876778709469155474876797603028Mon, 08 Apr 2019 18:39:28 GMT\"0x8D6BC51880D150D\"5120share155474877226205113Mon, 08 Apr 2019 18:39:32 GMT\"0x8D6BC518AA58C3A\"5120share155474877988808105155474878023800882Mon, 08 Apr 2019 18:39:40 GMT\"0x8D6BC518F67A761\"5120share155474878504902158155474878514102127Mon, 08 Apr 2019 18:39:45 GMT\"0x8D6BC51924743E0\"5120share155474879904507665155474879913808712Mon, 08 Apr 2019 18:39:59 GMT\"0x8D6BC519A9FFA28\"5120share155474883971704235155474883989002060Mon, 08 Apr 2019 18:40:40 GMT\"0x8D6BC51B2F5410B\"5120share155474895443200422Mon, 08 Apr 2019 18:42:34 GMT\"0x8D6BC51F7300E6A\"5120share155474895566809136155474895588301714Mon, 08 Apr 2019 18:42:35 GMT\"0x8D6BC51F80D6C4C\"5120share155474896838202554Mon, 08 Apr 2019 18:42:48 GMT\"0x8D6BC51FF835B22\"5120share155474896915009736155474896928809624Mon, 08 Apr 2019 18:42:49 GMT\"0x8D6BC520005E534\"5120share155474898685302363155474898693207903Mon, 08 Apr 2019 18:43:06 GMT\"0x8D6BC520A8EDD71\"5120share155474899671807820155474899675701753Mon, 08 Apr 2019 18:43:16 GMT\"0x8D6BC521064BB0E\"5120share155474900170804980Mon, 08 Apr 2019 18:43:21 GMT\"0x8D6BC5213688AEE\"5120share155474900446104881155474900478303498Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC52153F290F\"5120share155474900478202392Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC521534B0CD\"5120share155474900621503198155474900638807694Mon, 08 Apr 2019 18:43:26 GMT\"0x8D6BC521621F4B4\"5120share155474903093006954155474903096909495Mon, 08 Apr 2019 18:43:50 GMT\"0x8D6BC5224C88087\"5120share155474905171200031155474905187104138Mon, 08 Apr 2019 18:44:12 GMT\"0x8D6BC52314F5A13\"5120share155474913858202107Mon, 08 Apr 2019 18:45:38 GMT\"0x8D6BC5264FECE1C\"5120share155474914273604018155474914312306205Mon, 08 Apr 2019 18:45:43 GMT\"0x8D6BC5267B555AF\"5120share155474914489100606Mon, 08 Apr 2019 18:45:45 GMT\"0x8D6BC5268C1F87E\"5120share155474914750802214155474914783504293Mon, 08 Apr 2019 18:45:47 GMT\"0x8D6BC526A82A433\"5120share155474919136809108155474919154203324Mon, 08 Apr 2019 18:46:31 GMT\"0x8D6BC52848F8344\"5120share155474919327503331155474919343404304Mon, 08 Apr 2019 18:46:33 GMT\"0x8D6BC5285B0D968\"5120share155474927082201518Mon, 08 Apr 2019 18:47:50 GMT\"0x8D6BC52B3BE1A62\"5120share155474927121603014155474927124704852Mon, 08 Apr 2019 18:47:51 GMT\"0x8D6BC52B3FE94D0\"5120share155474929649300500155474929650801830Mon, 08 Apr 2019 18:48:16 GMT\"0x8D6BC52C30DA197\"5120share155475022991701076Mon, 08 Apr 2019 19:03:49 GMT\"0x8D6BC54EF66AE7B\"5120share155475023045507997155475023060306179Mon, 08 Apr 2019 19:03:50 GMT\"0x8D6BC54EFCF3C54\"5120share155475024473800763155475024475203535Mon, 08 Apr 2019 19:04:04 GMT\"0x8D6BC54F83E4AA6\"5120share155475027927205466Mon, 08 Apr 2019 19:04:39 GMT\"0x8D6BC550CEAF817\"5120share155475028090305599155475028109407948Mon, 08 Apr 2019 19:04:41 GMT\"0x8D6BC550DEFBA30\"5120share155475030796503201155475030805008793Mon, 08 Apr 2019 19:05:08 GMT\"0x8D6BC551E00631C\"5120share155475041406903684Mon, 08 Apr 2019 19:06:54 GMT\"0x8D6BC555D34B450\"5120share155475041790102406155475041806802740Mon, 08 Apr 2019 19:06:58 GMT\"0x8D6BC555F9662A7\"5120share155475042680803797Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC5564E7657C\"5120share155475042776807591155475042785606789Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC556566798D\"5120share155475044710607711155475044714607622Mon, 08 Apr 2019 19:07:27 GMT\"0x8D6BC5570E5E30C\"5120share155475044970802609155475044979502269Mon, 08 Apr 2019 19:07:29 GMT\"0x8D6BC55727FE091\"5120share155475046331802443Mon, 08 Apr 2019 19:07:43 GMT\"0x8D6BC557A99FD7F\"5120share155475046684305327155475046716402258Mon, 08 Apr 2019 19:07:47 GMT\"0x8D6BC557CE43085\"5120share155475051216806431155475051232806509Mon, 08 Apr 2019 19:08:32 GMT\"0x8D6BC5597CF5D98\"5120share155475052082206243Mon, 08 Apr 2019 19:08:40 GMT\"0x8D6BC559CCBD36E\"5120share155475052121006971155475052126009148Mon, 08 Apr 2019 19:08:41 GMT\"0x8D6BC559D0FA15E\"5120share155475053797404148155475053799109901Mon, 08 Apr 2019 19:08:58 GMT\"0x8D6BC55A707AA78\"5120share155475064935803078Mon, 08 Apr 2019 19:10:49 GMT\"0x8D6BC55E974E3CA\"5120share155475065067109845155475065082904481Mon, 08 Apr 2019 19:10:51 GMT\"0x8D6BC55EA83DF98\"5120share155475067910702988155475067918501299Mon, 08 Apr 2019 19:11:19 GMT\"0x8D6BC55FB3A3AE2\"5120share155475081055106395Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC56497CE6DB\"5120share155475081080107024155475081083204956Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC5649A8202F\"5120share155475081569107427Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C9015C3\"5120share155475081569802024Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C8F31AE\"5120share155475081617607337155475081622403546Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CDFB128\"5120share155475081618505278155475081626106049Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CE50201\"5120share155475082599504520155475082600900773Mon, 08 Apr 2019 19:13:46 GMT\"0x8D6BC5652B3E1EF\"5120share155475083332106209155475083333306719Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC565711BB33\"5120share155475083390106843155475083391701671Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC56576DD44F\"5120share155475083645708180Mon, 08 Apr 2019 19:13:56 GMT\"0x8D6BC5658EE78DA\"5120share155475083689607668155475083700804756Mon, 08 Apr 2019 19:13:57 GMT\"0x8D6BC5659439F5E\"5120share155475085287202953155475085288703129Mon, 08 Apr 2019 19:14:12 GMT\"0x8D6BC5662BB07BF\"5120share155475087749608350Mon, 08 Apr 2019 19:14:37 GMT\"0x8D6BC56716BAEB9\"5120share155475087884808160155475087899302295Mon, 08 Apr 2019 19:14:39 GMT\"0x8D6BC56724FB73E\"5120share155475091031104271155475091038301022Mon, 08 Apr 2019 19:15:10 GMT\"0x8D6BC568505E596\"5120share155475096394205285Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A4F4A602\"5120share155475096470307204155475096478702363Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A56DE803\"5120share155475098339807861155475098343901197Mon, 08 Apr 2019 19:16:23 GMT\"0x8D6BC56B08C0771\"5120share155475101810205521Mon, 08 Apr 2019 19:16:58 GMT\"0x8D6BC56C54664DF\"5120share155475102072309609155475102105008976Mon, 08 Apr 2019 19:17:01 GMT\"0x8D6BC56C707C7F1\"5120share155475104896402625Mon, 08 Apr 2019 19:17:29 GMT\"0x8D6BC56D7A1CC67\"5120share155475105033406728155475105050302656Mon, 08 Apr 2019 19:17:30 GMT\"0x8D6BC56D88BFADB\"5120share155475106334602588155475106350800134Mon, 08 Apr 2019 19:17:43 GMT\"0x8D6BC56E0562F3A\"5120share155475107891507083Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56E9858D34\"5120share155475107976101708155475107983704150Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56EA082039\"5120share155475108198903031155475108234608862Mon, 08 Apr 2019 19:18:02 GMT\"0x8D6BC56EB914CA9\"5120share155475113337406588155475113355001458Mon, 08 Apr 2019 19:18:53 GMT\"0x8D6BC570A17FF54\"5120share155475132543106986Mon, 08 Apr 2019 19:22:05 GMT\"0x8D6BC577C7B6BF7\"5120share155475132721406393155475132740306801Mon, 08 Apr 2019 19:22:07 GMT\"0x8D6BC577D94ECD7\"5120share155475135811801394155475135820700395Mon, 08 Apr 2019 19:22:38 GMT\"0x8D6BC578FF0D032\"5120share155475144214904808Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C1F69171\"5120share155475144238308286155475144241802464Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C21F2B49\"5120share155475145575504179155475145577002338Mon, 08 Apr 2019 19:24:15 GMT\"0x8D6BC57CA1458DE\"5120share155475158692104863Mon, 08 Apr 2019 19:26:26 GMT\"0x8D6BC5818465E4B\"5120share155475158825308616155475158840903597Mon, 08 Apr 2019 19:26:28 GMT\"0x8D6BC5819294CE9\"5120share155475161465508511155475161473400769Mon, 08 Apr 2019 19:26:54 GMT\"0x8D6BC5828D99E92\"5120share155475165136906994Mon, 08 Apr 2019 19:27:31 GMT\"0x8D6BC583EB028AA\"5120share155475165285408363155475165294303910Mon, 08 Apr 2019 19:27:33 GMT\"0x8D6BC583F9ED9D5\"5120share155475167393207326155475167397601633Mon, 08 Apr 2019 19:27:54 GMT\"0x8D6BC584C286C71\"5120share155475175592100687Mon, 08 Apr 2019 19:29:15 GMT\"0x8D6BC587CF96950\"5120share155475175636203447155475175640405227Mon, 08 Apr 2019 19:29:16 GMT\"0x8D6BC587D42FD4F\"5120share155475176719708693Mon, 08 Apr 2019 19:29:27 GMT\"0x8D6BC5883C4F6C6\"5120share155475176988007936155475177020206087Mon, 08 Apr 2019 19:29:30 GMT\"0x8D6BC58858F57AB\"5120share155475177157408884155475177159107897Mon, 08 Apr 2019 19:29:31 GMT\"0x8D6BC58864FCD93\"5120share155475178911403525Mon, 08 Apr 2019 19:29:49 GMT\"0x8D6BC5890DFD41D\"5120share155475179097306468155475179114007955Mon, 08 Apr 2019 19:29:51 GMT\"0x8D6BC5891FEE1D4\"5120share155475181212203235155475181227802967Mon, 08 Apr 2019 19:30:12 GMT\"0x8D6BC589EA3450E\"5120share155475181868403345155475181884608003Mon, 08 Apr 2019 19:30:18 GMT\"0x8D6BC58A282B48C\"5120share155475184138600177Mon, 08 Apr 2019 19:30:41 GMT\"0x8D6BC58AFF32AE1\"5120share155475184266206951155475184281907009Mon, 08 Apr 2019 19:30:42 GMT\"0x8D6BC58B0CDFAAB\"5120share155475186824404656155475186831303601Mon, 08 Apr 2019 19:31:08 GMT\"0x8D6BC58C0003811\"5120share155475189858508025Mon, 08 Apr 2019 19:31:38 GMT\"0x8D6BC58D21CC15D\"5120share155475190034402522155475190052901131Mon, 08 Apr 2019 19:31:40 GMT\"0x8D6BC58D33259C3\"5120share155475193157504293155475193166407423Mon, 08 Apr 2019 19:32:11 GMT\"0x8D6BC58E5C0D84B\"5120share155475193557900473Mon, 08 Apr 2019 19:32:15 GMT\"0x8D6BC58E8124881\"5120share155475193600802252155475193605500784Mon, 08 Apr 2019 19:32:16 GMT\"0x8D6BC58E85C58C2\"5120share155475195335000537155475195365007547Mon, 08 Apr 2019 19:32:33 GMT\"0x8D6BC58F2D89C12\"5120share155475198066706131Mon, 08 Apr 2019 19:33:00 GMT\"0x8D6BC59030705B8\"5120share155475198240705556155475198259005644Mon, 08 Apr 2019 19:33:02 GMT\"0x8D6BC590419D5AA\"5120share155475201169004998155475201178007996Mon, 08 Apr 2019 19:33:31 GMT\"0x8D6BC59157FA1C2\"5120share155475202704707777Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591E9818F7\"5120share155475202754808460155475202759505045Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591EEAE023\"5120share155475204632303570155475204635506063Mon, 08 Apr 2019 19:34:06 GMT\"0x8D6BC592A15D46F\"5120share155475205353305046Mon, 08 Apr 2019 19:34:13 GMT\"0x8D6BC592E644230\"5120share155475205475905531155475205490801744Mon, 08 Apr 2019 19:34:14 GMT\"0x8D6BC592F35CD8D\"5120share155475208511309322155475208519000035Mon, 08 Apr 2019 19:34:45 GMT\"0x8D6BC594142FC2C\"5120share155475213197909445Mon, 08 Apr 2019 19:35:32 GMT\"0x8D6BC595D68D14F\"5120share155475213367802891155475213384803713Mon, 08 Apr 2019 19:35:33 GMT\"0x8D6BC595E447A15\"5120share155475213707206020Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59602A0370\"5120share155475213744706822155475213752509985Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59606FB8B2\"5120share155475214794702930Mon, 08 Apr 2019 19:35:47 GMT\"0x8D6BC5966A3EC22\"5120share155475214823505337155475214829508671Mon, 08 Apr 2019 19:35:48 GMT\"0x8D6BC5966D92988\"5120share155475215298705094155475215300205553Mon, 08 Apr 2019 19:35:53 GMT\"0x8D6BC5969A95A5A\"5120share155475216173403949155475216180802232Mon, 08 Apr 2019 19:36:01 GMT\"0x8D6BC596EEEDADE\"5120share155475217121403125155475217122800002Mon, 08 Apr 2019 19:36:11 GMT\"0x8D6BC597484D027\"5120share155475217263204833Mon, 08 Apr 2019 19:36:12 GMT\"0x8D6BC597561BC6F\"5120share155475217387007369155475217401507088Mon, 08 Apr 2019 19:36:14 GMT\"0x8D6BC59763481F4\"5120share155475220552708755155475220560608322Mon, 08 Apr 2019 19:36:45 GMT\"0x8D6BC5989084A76\"5120share155475220774803407Mon, 08 Apr 2019 19:36:47 GMT\"0x8D6BC598A5B8D28\"5120share155475221071605263155475221106301392Mon, 08 Apr 2019 19:36:51 GMT\"0x8D6BC598C54F1AF\"5120share155475225507606471155475225524909246Mon, 08 Apr 2019 19:37:35 GMT\"0x8D6BC59A6AAE3BB\"5120share155475230698007235Mon, 08 Apr 2019 19:38:27 GMT\"0x8D6BC59C588E150\"5120share155475230871003676155475230890106141Mon, 08 Apr 2019 19:38:28 GMT\"0x8D6BC59C699F151\"5120share155475233776008655155475233785005541Mon, 08 Apr 2019 19:38:57 GMT\"0x8D6BC59D7DAC197\"5120share155475235014304485Mon, 08 Apr 2019 19:39:10 GMT\"0x8D6BC59DF430BEF\"5120share155475235212806665155475235231203279Mon, 08 Apr 2019 19:39:12 GMT\"0x8D6BC59E0797740\"5120share155475238276207561155475238285300495Mon, 08 Apr 2019 19:39:42 GMT\"0x8D6BC59F2ADC82F\"5120share155475238729909241Mon, 08 Apr 2019 19:39:47 GMT\"0x8D6BC59F55FF731\"5120share155475239006203805155475239039302086Mon, 08 Apr 2019 19:39:50 GMT\"0x8D6BC59F738D496\"5120share155475243544901771155475243561206398Mon, 08 Apr 2019 19:40:35 GMT\"0x8D6BC5A122D2328\"5120share155475245648505760Mon, 08 Apr 2019 19:40:56 GMT\"0x8D6BC5A1E9DD271\"5120share155475245916604643155475245966500634Mon, 08 Apr 2019 19:40:59 GMT\"0x8D6BC5A20829ADA\"5120share155475250195404339Mon, 08 Apr 2019 19:41:42 GMT\"0x8D6BC5A39ACF55C\"5120share155475250300606728155475250316308808Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A705901\"5120share155475250327007723155475250342102216Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A8CC037\"5120share155475252973307394155475252980700184Mon, 08 Apr 2019 19:42:09 GMT\"0x8D6BC5A4A465B88\"5120share155475253579801114Mon, 08 Apr 2019 19:42:15 GMT\"0x8D6BC5A4DD3360A\"5120share155475253615908936155475253620602585Mon, 08 Apr 2019 19:42:16 GMT\"0x8D6BC5A4E0F8242\"5120share155475255423200173155475255424804170Mon, 08 Apr 2019 19:42:34 GMT\"0x8D6BC5A58D20D20\"5120share155475256918201765Mon, 08 Apr 2019 19:42:49 GMT\"0x8D6BC5A61D20C03\"5120share155475257313200562155475257330407326Mon, 08 Apr 2019 19:42:53 GMT\"0x8D6BC5A643484DF\"5120share155475261648802468155475261657200328Mon, 08 Apr 2019 19:43:36 GMT\"0x8D6BC5A7DFE66EB\"5120share155475284537903436Mon, 08 Apr 2019 19:47:25 GMT\"0x8D6BC5B0671E77C\"5120share155475284722006303155475284740403036Mon, 08 Apr 2019 19:47:27 GMT\"0x8D6BC5B0792CDEB\"5120share155475287947008358155475287956001391Mon, 08 Apr 2019 19:47:59 GMT\"0x8D6BC5B1ABD463D\"5120share155475290653907313Mon, 08 Apr 2019 19:48:27 GMT\"0x8D6BC5B2B35A0B0\"5120share155475290863102164155475290878704952Mon, 08 Apr 2019 19:48:28 GMT\"0x8D6BC5B2C2B8A11\"5120share155475293499502985155475293507401792Mon, 08 Apr 2019 19:48:55 GMT\"0x8D6BC5B3BD5D6EB\"5120share155475295976004766Mon, 08 Apr 2019 19:49:19 GMT\"0x8D6BC5B4A860251\"5120share155475296021608512155475296026303878Mon, 08 Apr 2019 19:49:20 GMT\"0x8D6BC5B4AD3697B\"5120share155475296820309510Mon, 08 Apr 2019 19:49:28 GMT\"0x8D6BC5B4F93EA28\"5120share155475296939401595155475296953503138Mon, 08 Apr 2019 19:49:29 GMT\"0x8D6BC5B505FC795\"5120share155475297470107004Mon, 08 Apr 2019 19:49:34 GMT\"0x8D6BC5B5373961F\"5120share155475297592101018155475297607704854Mon, 08 Apr 2019 19:49:36 GMT\"0x8D6BC5B5445CD04\"5120share155475297876605841155475297878208632Mon, 08 Apr 2019 19:49:38 GMT\"0x8D6BC5B55DBFE86\"5120share155475299397906992155475299405708891Mon, 08 Apr 2019 19:49:54 GMT\"0x8D6BC5B5EFC6E6E\"5120share155475299913707337Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B61FEA3A6\"5120share155475299946601316155475299949700439Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B6235EEB4\"5120share155475300396100954155475300404004479Mon, 08 Apr 2019 19:50:04 GMT\"0x8D6BC5B64F0C1CC\"5120share155475301402209522155475301403805856Mon, 08 Apr 2019 19:50:14 GMT\"0x8D6BC5B6ADF6C51\"5120share155475316409304389Mon, 08 Apr 2019 19:52:44 GMT\"0x8D6BC5BC45FB105\"5120share155475316701500838155475316738004973Mon, 08 Apr 2019 19:52:47 GMT\"0x8D6BC5BC655866D\"5120share155475317539403995Mon, 08 Apr 2019 19:52:55 GMT\"0x8D6BC5BCB1EA12B\"5120share155475317800909177155475317833200173Mon, 08 Apr 2019 19:52:58 GMT\"0x8D6BC5BCCDF148B\"5120share155475319784700002Mon, 08 Apr 2019 19:53:18 GMT\"0x8D6BC5BD890AFBA\"5120share155475320035305710155475320054604653Mon, 08 Apr 2019 19:53:20 GMT\"0x8D6BC5BDA120C7D\"5120share155475321453709711155475321471603175Mon, 08 Apr 2019 19:53:34 GMT\"0x8D6BC5BE28AC8EF\"5120share155475322026008825155475322041805575Mon, 08 Apr 2019 19:53:40 GMT\"0x8D6BC5BE5F49E4E\"5120share155475323941203708155475323950603607Mon, 08 Apr 2019 19:53:59 GMT\"0x8D6BC5BF14A51A0\"5120share155475325634904509Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB4EC9A6\"5120share155475325670909242155475325677202784Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB8F5645\"5120share155475326611306943Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C011FE6E9\"5120share155475326661501159155475326664604503Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C01716DB6\"5120share155475327189403526155475327191304764Mon, 08 Apr 2019 19:54:31 GMT\"0x8D6BC5C04937E60\"5120share155475327494604322Mon, 08 Apr 2019 19:54:34 GMT\"0x8D6BC5C0663AE38\"5120share155475327530806721155475327535508149Mon, 08 Apr 2019 19:54:35 GMT\"0x8D6BC5C06A1DC9B\"5120share155475328255505049155475328257006085Mon, 08 Apr 2019 19:54:42 GMT\"0x8D6BC5C0AEF7766\"5120share155475328863109159Mon, 08 Apr 2019 19:54:48 GMT\"0x8D6BC5C0E8D4F9D\"5120share155475328904001164155475328914908575Mon, 08 Apr 2019 19:54:49 GMT\"0x8D6BC5C0EDA736C\"5120share155475329036209298155475329037705496Mon, 08 Apr 2019 19:54:50 GMT\"0x8D6BC5C0F96FA2F\"5120share155475331642907508155475331644500640Mon, 08 Apr 2019 19:55:16 GMT\"0x8D6BC5C1F1F4508\"5120share155475345988903733Mon, 08 Apr 2019 19:57:39 GMT\"0x8D6BC5C74A83E08\"5120share155475346120203269155475346137401701Mon, 08 Apr 2019 19:57:41 GMT\"0x8D6BC5C75A1910E\"5120share155475348842001284155475348849801789Mon, 08 Apr 2019 19:58:08 GMT\"0x8D6BC5C85B7559C\"5120share155475350558503873Mon, 08 Apr 2019 19:58:25 GMT\"0x8D6BC5C8FEF8036\"5120share155475350851006247155475350887009432Mon, 08 Apr 2019 19:58:29 GMT\"0x8D6BC5C91E416E1\"5120share155475351180102812Mon, 08 Apr 2019 19:58:31 GMT\"0x8D6BC5C93A41FBD\"5120share155475351470507341155475351506502543Mon, 08 Apr 2019 19:58:35 GMT\"0x8D6BC5C959AFCFD\"5120share155475352932808685Mon, 08 Apr 2019 19:58:49 GMT\"0x8D6BC5C9E145DFA\"5120share155475353242702891155475353278206163Mon, 08 Apr 2019 19:58:52 GMT\"0x8D6BC5CA0242D42\"5120share155475353346905524Mon, 08 Apr 2019 19:58:53 GMT\"0x8D6BC5CA08349F0\"5120share155475353468900913155475353483008374Mon, 08 Apr 2019 19:58:54 GMT\"0x8D6BC5CA1533041\"5120share155475355857203059155475355874901945Mon, 08 Apr 2019 19:59:18 GMT\"0x8D6BC5CAF9F1851\"5120share155475356174100226155475356192106373Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB1835DA5\"5120share155475356209400777155475356216307366Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB19D9B99\"5120share155475358049205317155475358066509885Mon, 08 Apr 2019 19:59:40 GMT\"0x8D6BC5CBCACA7C2\"5120share155475366230302044Mon, 08 Apr 2019 20:01:02 GMT\"0x8D6BC5CED591D8A\"5120share155475366364804933Mon, 08 Apr 2019 20:01:03 GMT\"0x8D6BC5CEE27F678\"5120share155475366490103025155475366523205132Mon, 08 Apr 2019 20:01:05 GMT\"0x8D6BC5CEF191387\"5120share155475366655601285155475366688603242Mon, 08 Apr 2019 20:01:07 GMT\"0x8D6BC5CF0154CEF\"5120share155475370842304942155475370858108299Mon, 08 Apr 2019 20:01:48 GMT\"0x8D6BC5D08EF6C61\"5120share155475371008508000155475371025709092Mon, 08 Apr 2019 20:01:50 GMT\"0x8D6BC5D09EE9A90\"5120share155475383362102478Mon, 08 Apr 2019 20:03:53 GMT\"0x8D6BC5D536638B9\"5120share155475383401206068155475383407402017Mon, 08 Apr 2019 20:03:54 GMT\"0x8D6BC5D53A849FD\"5120share155475384949101413155475384950602486Mon, 08 Apr 2019 20:04:09 GMT\"0x8D6BC5D5CDC57E0\"5120share155475388168501173Mon, 08 Apr 2019 20:04:41 GMT\"0x8D6BC5D7007708F\"5120share155475388206306306155475388212605083Mon, 08 Apr 2019 20:04:42 GMT\"0x8D6BC5D704B932A\"5120share155475389763505601155475389765100894Mon, 08 Apr 2019 20:04:57 GMT\"0x8D6BC5D798CE485\"5120share155475394309608718Mon, 08 Apr 2019 20:05:43 GMT\"0x8D6BC5D94B5C048\"5120share155475394595108491155475394631101470Mon, 08 Apr 2019 20:05:46 GMT\"0x8D6BC5D969F99F7\"5120share155475396399505138Mon, 08 Apr 2019 20:06:04 GMT\"0x8D6BC5DA12A25B4\"5120share155475396692905515155475396728907571Mon, 08 Apr 2019 20:06:07 GMT\"0x8D6BC5DA320C5CE\"5120share155475398380104275Mon, 08 Apr 2019 20:06:23 GMT\"0x8D6BC5DACF9BC9C\"5120share155475398671802297155475398707107942Mon, 08 Apr 2019 20:06:27 GMT\"0x8D6BC5DAEEC42B4\"5120share155475399277409298155475399295700576Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB26E2AAC\"5120share155475399378204371Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB2DB163E\"5120share155475399491706243155475399496401759Mon, 08 Apr 2019 20:06:35 GMT\"0x8D6BC5DB3906F40\"5120share155475401103303929155475401106408627Mon, 08 Apr 2019 20:06:51 GMT\"0x8D6BC5DBD28D693\"5120share155475401467406311155475401485002516Mon, 08 Apr 2019 20:06:54 GMT\"0x8D6BC5DBF7A1537\"5120share155475403593209731155475403610809563Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC24D966\"5120share155475403681604817Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC856477\"5120share155475403804608586155475403819608497Mon, 08 Apr 2019 20:07:18 GMT\"0x8D6BC5DCD596CBF\"5120share155475406417706107155475406425506743Mon, 08 Apr 2019 20:07:44 GMT\"0x8D6BC5DDCE0E7F3\"5120share155475409067409281Mon, 08 Apr 2019 20:08:10 GMT\"0x8D6BC5DECA1EDC3\"5120share155475409203700405155475409217902614Mon, 08 Apr 2019 20:08:12 GMT\"0x8D6BC5DED85E721\"5120share155475411773004926155475411779200834Mon, 08 Apr 2019 20:08:37 GMT\"0x8D6BC5DFCCBABB5\"5120share155475427414200264Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E59F4C683\"5120share155475427489601007155475427495901119Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E5A70C1F9\"5120share155475429027905961155475429029507552Mon, 08 Apr 2019 20:11:30 GMT\"0x8D6BC5E6395892F\"5120share155475435022204571Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E874CA5F0\"5120share155475435063303249155475435069506502Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E87947DCC\"5120share155475436927404231155475436930502552Mon, 08 Apr 2019 20:12:49 GMT\"0x8D6BC5E92ADD1DA\"5120share155475439671008450Mon, 08 Apr 2019 20:13:16 GMT\"0x8D6BC5EA316E7EB\"5120share155475439953407644155475439988507010Mon, 08 Apr 2019 20:13:20 GMT\"0x8D6BC5EA4F9D7E0\"5120share155475444598308995155475444616001311Mon, 08 Apr 2019 20:14:06 GMT\"0x8D6BC5EC08F21C4\"5120share155475446176702336Mon, 08 Apr 2019 20:14:21 GMT\"0x8D6BC5EC9DCAA60\"5120share155475446353703583Mon, 08 Apr 2019 20:14:23 GMT\"0x8D6BC5ECAD67D62\"5120share155475446417801472155475446422504881Mon, 08 Apr 2019 20:14:24 GMT\"0x8D6BC5ECB4098FA\"5120share155475446457701072155475446492200309Mon, 08 Apr 2019 20:14:25 GMT\"0x8D6BC5ECBBDD5EB\"5120share155475446793804231Mon, 08 Apr 2019 20:14:28 GMT\"0x8D6BC5ECD898BFE\"5120share155475447083302210155475447120206734Mon, 08 Apr 2019 20:14:31 GMT\"0x8D6BC5ECF7C80C3\"5120share155475447390505685Mon, 08 Apr 2019 20:14:34 GMT\"0x8D6BC5ED118A561\"5120share155475447650205596155475447683107189Mon, 08 Apr 2019 20:14:36 GMT\"0x8D6BC5ED2D6B049\"5120share155475448038305903155475448041405576Mon, 08 Apr 2019 20:14:40 GMT\"0x8D6BC5ED4E6924A\"5120share155475450906908487155475450924302789Mon, 08 Apr 2019 20:15:09 GMT\"0x8D6BC5EE6288199\"5120share155475451925508933155475451943306507Mon, 08 Apr 2019 20:15:19 GMT\"0x8D6BC5EEC3A48AC\"5120share155475452102206244155475452117803090Mon, 08 Apr 2019 20:15:21 GMT\"0x8D6BC5EED45148F\"5120share155475458349904294Mon, 08 Apr 2019 20:16:23 GMT\"0x8D6BC5F126BFD9D\"5120share155475458633807389155475458669001847Mon, 08 Apr 2019 20:16:26 GMT\"0x8D6BC5F1451C2E6\"5120share155475463230409183155475463249501576Mon, 08 Apr 2019 20:17:12 GMT\"0x8D6BC5F2F9EB0AB\"5120share155475465763009191Mon, 08 Apr 2019 20:17:37 GMT\"0x8D6BC5F3E888648\"5120share155475465803604070155475465806806197Mon, 08 Apr 2019 20:17:38 GMT\"0x8D6BC5F3ECB7D61\"5120share155475467401603495155475467403109929Mon, 08 Apr 2019 20:17:54 GMT\"0x8D6BC5F484F4C93\"5120share155475470031000609Mon, 08 Apr 2019 20:18:20 GMT\"0x8D6BC5F5808BA98\"5120share155475470316101418155475470351307709Mon, 08 Apr 2019 20:18:23 GMT\"0x8D6BC5F59F0FF39\"5120share155475475094605443155475475112102208Mon, 08 Apr 2019 20:19:11 GMT\"0x8D6BC5F76528B41\"5120share155475475941800301Mon, 08 Apr 2019 20:19:19 GMT\"0x8D6BC5F7B45E4E8\"5120share155475476223909847155475476259506792Mon, 08 Apr 2019 20:19:22 GMT\"0x8D6BC5F7D2A69E0\"5120share155475477308706566Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F835A1E32\"5120share155475477343104020155475477346201298Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F839403BF\"5120share155475478842801827155475478845901923Mon, 08 Apr 2019 20:19:48 GMT\"0x8D6BC5F8C835D24\"5120share155475480525700178Mon, 08 Apr 2019 20:20:05 GMT\"0x8D6BC5F96990DF2\"5120share155475480688709905155475480706700743Mon, 08 Apr 2019 20:20:07 GMT\"0x8D6BC5F97ACA80F\"5120share155475480855303004155475480891408138Mon, 08 Apr 2019 20:20:09 GMT\"0x8D6BC5F98C6A7B8\"5120share155475485447703891Mon, 08 Apr 2019 20:20:54 GMT\"0x8D6BC5FB3EC13D7\"5120share155475485733007299155475485750201983Mon, 08 Apr 2019 20:20:57 GMT\"0x8D6BC5FB5BBFA8C\"5120share155475485742005482155475485881007383Mon, 08 Apr 2019 20:20:58 GMT\"0x8D6BC5FB681758A\"5120share155475490613807301155475490631909875Mon, 08 Apr 2019 20:21:46 GMT\"0x8D6BC5FD2D493F0\"5120share155475491107004753Mon, 08 Apr 2019 20:21:51 GMT\"0x8D6BC5FD5AAA68E\"5120share155475491390609459155475491425402551Mon, 08 Apr 2019 20:21:54 GMT\"0x8D6BC5FD7906574\"5120share155475494829505353Mon, 08 Apr 2019 20:22:28 GMT\"0x8D6BC5FEBDAB205\"5120share155475495142602901155475495180000859Mon, 08 Apr 2019 20:22:31 GMT\"0x8D6BC5FEDF2097C\"5120share155475496856303648155475496873906374Mon, 08 Apr 2019 20:22:48 GMT\"0x8D6BC5FF809FBAD\"5120share155475502329509281Mon, 08 Apr 2019 20:23:43 GMT\"0x8D6BC60188F5C28\"5120share155475502686502140155475502722501031Mon, 08 Apr 2019 20:23:47 GMT\"0x8D6BC601AE7E933\"5120share155475503648203085155475503665708653Mon, 08 Apr 2019 20:23:57 GMT\"0x8D6BC6020A88DA4\"5120share155475507644605686155475507662104771Mon, 08 Apr 2019 20:24:36 GMT\"0x8D6BC603856E563\"5120share155475508896100844Mon, 08 Apr 2019 20:24:49 GMT\"0x8D6BC603FB84260\"5120share155475509358209217155475509401301874Mon, 08 Apr 2019 20:24:54 GMT\"0x8D6BC6042BB49CF\"5120share155475510662301217Mon, 08 Apr 2019 20:25:06 GMT\"0x8D6BC604A3D84CA\"5120share155475511009707995155475511051903727Mon, 08 Apr 2019 20:25:10 GMT\"0x8D6BC604C8FF2EE\"5120share155475514818002641155475514839702872Mon, 08 Apr 2019 20:25:48 GMT\"0x8D6BC606325B5A5\"5120share155475516302805972155475516324601842Mon, 08 Apr 2019 20:26:03 GMT\"0x8D6BC606BFD9DFF\"5120share155475518456808035Mon, 08 Apr 2019 20:26:24 GMT\"0x8D6BC6078B50416\"5120share155475518802906635155475518844705589Mon, 08 Apr 2019 20:26:28 GMT\"0x8D6BC607B0588B4\"5120share155475520133703444Mon, 08 Apr 2019 20:26:41 GMT\"0x8D6BC6082ADE91A\"5120share155475520414501691155475520449405158Mon, 08 Apr 2019 20:26:44 GMT\"0x8D6BC6084900BC9\"5120share155475524512000654155475524532709861Mon, 08 Apr 2019 20:27:25 GMT\"0x8D6BC609CEC662B\"5120share155475525216501306155475525233808863Mon, 08 Apr 2019 20:27:32 GMT\"0x8D6BC60A1135FEA\"5120share155475527372805529Mon, 08 Apr 2019 20:27:53 GMT\"0x8D6BC60ADD497F0\"5120share155475527768705135155475527803906164Mon, 08 Apr 2019 20:27:58 GMT\"0x8D6BC60B0668E79\"5120share155475537776009466155475537793501077Mon, 08 Apr 2019 20:29:38 GMT\"0x8D6BC60EBF138A0\"5120share155475538742205629Mon, 08 Apr 2019 20:29:47 GMT\"0x8D6BC60F19A097B\"5120share155475539026708478155475539062007850Mon, 08 Apr 2019 20:29:50 GMT\"0x8D6BC60F380F4B0\"5120share155475540318203360Mon, 08 Apr 2019 20:30:03 GMT\"0x8D6BC60FAFB33F1\"5120share155475540605901231155475540642605751Mon, 08 Apr 2019 20:30:06 GMT\"0x8D6BC60FCEA6E84\"5120share155475540935609132Mon, 08 Apr 2019 20:30:09 GMT\"0x8D6BC60FEAAF1B2\"5120share155475541165701615Mon, 08 Apr 2019 20:30:11 GMT\"0x8D6BC61000A3447\"5120share155475541229609722155475541264808030Mon, 08 Apr 2019 20:30:12 GMT\"0x8D6BC6100A0EB7D\"5120share155475541445806778155475541480407617Mon, 08 Apr 2019 20:30:14 GMT\"0x8D6BC6101EAA0A5\"5120share155475545304702291155475545323602346Mon, 08 Apr 2019 20:30:53 GMT\"0x8D6BC6118D0CFEE\"5120share155475547204003265155475547222409343Mon, 08 Apr 2019 20:31:12 GMT\"0x8D6BC6124248E6D\"5120share155475550139503230Mon, 08 Apr 2019 20:31:41 GMT\"0x8D6BC61358A8091\"5120share155475550433101922155475550468409391Mon, 08 Apr 2019 20:31:44 GMT\"0x8D6BC61377F2EA8\"5120share155475551150500012155475551168404026Mon, 08 Apr 2019 20:31:51 GMT\"0x8D6BC613BA9A20E\"5120share155475555173507633155475555190705054Mon, 08 Apr 2019 20:32:32 GMT\"0x8D6BC6153A5066E\"5120share155475562140308052155475562157505328Mon, 08 Apr 2019 20:33:41 GMT\"0x8D6BC617D2807D9\"5120share155475595155305925Mon, 08 Apr 2019 20:39:11 GMT\"0x8D6BC6241D790AF\"5120share155475595442704890155475595478105510Mon, 08 Apr 2019 20:39:14 GMT\"0x8D6BC6243C413DB\"5120share155475599014108328Mon, 08 Apr 2019 20:39:50 GMT\"0x8D6BC6258D71A83\"5120share155475599293303057155475599328109216Mon, 08 Apr 2019 20:39:53 GMT\"0x8D6BC625AB638B0\"5120share155475600155209426155475600172406148Mon, 08 Apr 2019 20:40:01 GMT\"0x8D6BC625FBFBBDC\"5120share155475603777709591155475603795107803Mon, 08 Apr 2019 20:40:38 GMT\"0x8D6BC62754F3FCA\"5120share155475606085105940Mon, 08 Apr 2019 20:41:00 GMT\"0x8D6BC6282FD809D\"5120share155475606369901916155475606405808018Mon, 08 Apr 2019 20:41:04 GMT\"0x8D6BC6284E6446A\"5120share155475611064800671155475611082309772Mon, 08 Apr 2019 20:41:50 GMT\"0x8D6BC62A0C63CDA\"5120share155475734977303059Mon, 08 Apr 2019 21:02:29 GMT\"0x8D6BC658346E681\"5120share155475735146501880155475735163208336Mon, 08 Apr 2019 21:02:31 GMT\"0x8D6BC65844D98C1\"5120share155475736263304813Mon, 08 Apr 2019 21:02:42 GMT\"0x8D6BC658AEE618F\"5120share155475736356107285155475736367500363Mon, 08 Apr 2019 21:02:43 GMT\"0x8D6BC658B76B901\"5120share155475737807009819155475737815207269Mon, 08 Apr 2019 21:02:58 GMT\"0x8D6BC65941C41E8\"5120share155475738194004164155475738198006296Mon, 08 Apr 2019 21:03:02 GMT\"0x8D6BC65965FBEA6\"5120share155475738961001284Mon, 08 Apr 2019 21:03:09 GMT\"0x8D6BC659AF2EC40\"5120share155475739148002318155475739164502260Mon, 08 Apr 2019 21:03:11 GMT\"0x8D6BC659C28D7F4\"5120share155475740405903976Mon, 08 Apr 2019 21:03:24 GMT\"0x8D6BC65A3998949\"5120share155475740686303089155475740718404146Mon, 08 Apr 2019 21:03:27 GMT\"0x8D6BC65A575FA2E\"5120share155475742006802357155475742014108948Mon, 08 Apr 2019 21:03:40 GMT\"0x8D6BC65AD253223\"5120share155475744922504325155475744938400415Mon, 08 Apr 2019 21:04:09 GMT\"0x8D6BC65BE9D9B9B\"5120share155475758392808763Mon, 08 Apr 2019 21:06:23 GMT\"0x8D6BC660EBDADB1\"5120share155475758496902188155475758505300339Mon, 08 Apr 2019 21:06:25 GMT\"0x8D6BC660F6D1FE1\"5120share155475758824600049Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC66114F3747\"5120share155475758856706019155475758859504581Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC6611840340\"5120share155475759971409268155475759983105439Mon, 08 Apr 2019 21:06:39 GMT\"0x8D6BC6618387002\"5120share155475760299604525155475760301209424Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A1C73AD\"5120share155475760350309302Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A70A858\"5120share155475760563302047155475760578902124Mon, 08 Apr 2019 21:06:45 GMT\"0x8D6BC661BCD2289\"5120share155475763254801465155475763262302940Mon, 08 Apr 2019 21:07:12 GMT\"0x8D6BC662BCAF1CE\"5120share155475767636102884Mon, 08 Apr 2019 21:07:56 GMT\"0x8D6BC6645E705FF\"5120share155475767891206281155475767922900229Mon, 08 Apr 2019 21:07:59 GMT\"0x8D6BC66479D03D9\"5120share155475772689703202155475772705609708Mon, 08 Apr 2019 21:08:47 GMT\"0x8D6BC66641EE5E0\"5120share155475776495606014Mon, 08 Apr 2019 21:09:25 GMT\"0x8D6BC667ABDD0A0\"5120share155475776677207052155475776709704200Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667BF13218\"5120share155475776709205233Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667C03C80F\"5120share155475776887404869155475776905403906Mon, 08 Apr 2019 21:09:29 GMT\"0x8D6BC667D1B6282\"5120share155475779606308901155475779615309916Mon, 08 Apr 2019 21:09:56 GMT\"0x8D6BC668D423AEA\"5120share155475779701304538155475779710407082Mon, 08 Apr 2019 21:09:57 GMT\"0x8D6BC668DD31352\"5120share155475791746104367Mon, 08 Apr 2019 21:11:57 GMT\"0x8D6BC66D59D0D93\"5120share155475792025605706155475792060301532Mon, 08 Apr 2019 21:12:00 GMT\"0x8D6BC66D77CF3D7\"5120share155475794486001708Mon, 08 Apr 2019 21:12:24 GMT\"0x8D6BC66E5E653D2\"5120share155475794611908909155475794627300186Mon, 08 Apr 2019 21:12:26 GMT\"0x8D6BC66E6BE37DF\"5120share155475796274909993155475796290807279Mon, 08 Apr 2019 21:12:43 GMT\"0x8D6BC66F0B39849\"5120share155475797592301938155475797599809651Mon, 08 Apr 2019 21:12:56 GMT\"0x8D6BC66F87694C9\"5120share155475826695006340Mon, 08 Apr 2019 21:17:46 GMT\"0x8D6BC67A5DD6DE4\"5120share155475826745207634155475826751406389Mon, 08 Apr 2019 21:17:47 GMT\"0x8D6BC67A632C490\"5120share155475828346608712155475828348203315Mon, 08 Apr 2019 21:18:03 GMT\"0x8D6BC67AFB7F63D\"5120share155475830359005133Mon, 08 Apr 2019 21:18:23 GMT\"0x8D6BC67BBB396A8\"5120share155475830426407161155475830431009918Mon, 08 Apr 2019 21:18:24 GMT\"0x8D6BC67BC1F40C0\"5120share155475831901901358155475831903400803Mon, 08 Apr 2019 21:18:39 GMT\"0x8D6BC67C4E67C93\"5120share155475857087801674Mon, 08 Apr 2019 21:22:50 GMT\"0x8D6BC685B03A4C2\"5120share155475857508204962155475857512904633Mon, 08 Apr 2019 21:22:55 GMT\"0x8D6BC685D8A4EE5\"5120share155475859715608328155475859718707845Mon, 08 Apr 2019 21:23:17 GMT\"0x8D6BC686AB018A0\"5120share155475862743005093Mon, 08 Apr 2019 21:23:47 GMT\"0x8D6BC687CBE4A2C\"5120share155475863073504871155475863089109018Mon, 08 Apr 2019 21:23:50 GMT\"0x8D6BC687ED0B4FA\"5120share155475866128905048155475866136704161Mon, 08 Apr 2019 21:24:21 GMT\"0x8D6BC6890F95653\"5120share155475866224208442Mon, 08 Apr 2019 21:24:22 GMT\"0x8D6BC68917EC28A\"5120share155475892444006125Mon, 08 Apr 2019 21:28:44 GMT\"0x8D6BC692DBEBA4E\"5120share155475892501907639155475892506500510Mon, 08 Apr 2019 21:28:45 GMT\"0x8D6BC692E1EED0A\"5120share155475894509709349155475894511200899Mon, 08 Apr 2019 21:29:05 GMT\"0x8D6BC693A11C854\"5120share155475901098902468Mon, 08 Apr 2019 21:30:11 GMT\"0x8D6BC696156D3C6\"5120share155475901336906263155475901340008777Mon, 08 Apr 2019 21:30:13 GMT\"0x8D6BC6962C7EDA7\"5120share155475903030807257155475903032309131Mon, 08 Apr 2019 21:30:30 GMT\"0x8D6BC696CDCEF37\"5120share155475917334807763Mon, 08 Apr 2019 21:32:53 GMT\"0x8D6BC69C22F94D0\"5120share155475917631504782155475917666903878Mon, 08 Apr 2019 21:32:56 GMT\"0x8D6BC69C429719B\"5120share155475922224509444155475922241807908Mon, 08 Apr 2019 21:33:42 GMT\"0x8D6BC69DF6E444A\"5120share155475925602205483Mon, 08 Apr 2019 21:34:16 GMT\"0x8D6BC69F375195C\"5120share155475926493206859155475926529100433Mon, 08 Apr 2019 21:34:25 GMT\"0x8D6BC69F92DED3F\"5120share155475931150207051155475931168006048Mon, 08 Apr 2019 21:35:11 GMT\"0x8D6BC6A14A09252\"5120share155475977936309871Mon, 08 Apr 2019 21:42:59 GMT\"0x8D6BC6B2B5BC0D0\"5120share155475978025201878155475978034602234Mon, 08 Apr 2019 21:43:00 GMT\"0x8D6BC6B2BE9A5D2\"5120share155475979938003003155475979942008091Mon, 08 Apr 2019 21:43:19 GMT\"0x8D6BC6B37480077\"5120share155475989025605514Mon, 08 Apr 2019 21:44:50 GMT\"0x8D6BC6B6D7332B1\"5120share155475989171106337155475989187403284Mon, 08 Apr 2019 21:44:51 GMT\"0x8D6BC6B6E6949D0\"5120share155475989380904279Mon, 08 Apr 2019 21:44:53 GMT\"0x8D6BC6B6F96205A\"5120share155475989459601580155475989469503324Mon, 08 Apr 2019 21:44:54 GMT\"0x8D6BC6B7012C9AE\"5120share155475990723502169Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77880AB0\"5120share155475990745006088155475990751106761Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77B1CA53\"5120share155475991324407391155475991328309141Mon, 08 Apr 2019 21:45:13 GMT\"0x8D6BC6B7B26E28D\"5120share155475991799108400155475991806701120Mon, 08 Apr 2019 21:45:18 GMT\"0x8D6BC6B7E059CFB\"5120share155475992088305591155475992089400834Mon, 08 Apr 2019 21:45:20 GMT\"0x8D6BC6B7FAC1DF3\"5120share155475995154906475Mon, 08 Apr 2019 21:45:51 GMT\"0x8D6BC6B92073E46\"5120share155475995424405105155475995457206560Mon, 08 Apr 2019 21:45:54 GMT\"0x8D6BC6B93D4CF64\"5120share155476000575809494155476000592307413Mon, 08 Apr 2019 21:46:46 GMT\"0x8D6BC6BB26FC664\"5120share155476000809002219Mon, 08 Apr 2019 21:46:48 GMT\"0x8D6BC6BB3BAA531\"5120share155476003381902159Mon, 08 Apr 2019 21:47:13 GMT\"0x8D6BC6BC3033DC1\"5120share155476003538801520155476003554406911Mon, 08 Apr 2019 21:47:15 GMT\"0x8D6BC6BC40AEB35\"5120share155476006367901271155476006375105324Mon, 08 Apr 2019 21:47:43 GMT\"0x8D6BC6BD4DA4CF3\"5120share155476006464706612Mon, 08 Apr 2019 21:47:44 GMT\"0x8D6BC6BD562C52B\"5120share155476020596003587Mon, 08 Apr 2019 21:50:05 GMT\"0x8D6BC6C2995BB9F\"5120share155476020640509691155476020643607403Mon, 08 Apr 2019 21:50:06 GMT\"0x8D6BC6C29DE43BA\"5120share155476022213002952155476022214307559Mon, 08 Apr 2019 21:50:22 GMT\"0x8D6BC6C333B110F\"5120share155476025129303157Mon, 08 Apr 2019 21:50:51 GMT\"0x8D6BC6C44A3EB6D\"5120share155476025257708167155476025273004331Mon, 08 Apr 2019 21:50:52 GMT\"0x8D6BC6C457F6F89\"5120share155476026709207569Mon, 08 Apr 2019 21:51:07 GMT\"0x8D6BC6C4E0EDB9C\"5120share155476026842807935155476026858005332Mon, 08 Apr 2019 21:51:08 GMT\"0x8D6BC6C4EF0F085\"5120share155476028011706632155476028019200644Mon, 08 Apr 2019 21:51:20 GMT\"0x8D6BC6C55DD40E8\"5120share155476028733301755Mon, 08 Apr 2019 21:51:27 GMT\"0x8D6BC6C5A2B1164\"5120share155476028990007932155476029022300298Mon, 08 Apr 2019 21:51:30 GMT\"0x8D6BC6C5BE4364F\"5120share155476029409203644155476029417004479Mon, 08 Apr 2019 21:51:34 GMT\"0x8D6BC6C5E323F08\"5120share155476033140808210155476033156802521Mon, 08 Apr 2019 21:52:11 GMT\"0x8D6BC6C74881F50\"5120share155476034088907107Mon, 08 Apr 2019 21:52:20 GMT\"0x8D6BC6C7A02E996\"5120share155476034117100915155476034120003425Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A32BF58\"5120share155476034139001386Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A524E51\"5120share155476034165201091155476034168404201Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A7F5C77\"5120share155476035937201981155476035938600086Mon, 08 Apr 2019 21:52:39 GMT\"0x8D6BC6C850C4063\"5120share155476036421402002155476036422702027Mon, 08 Apr 2019 21:52:44 GMT\"0x8D6BC6C87EC265B\"5120share155476048267109256Mon, 08 Apr 2019 21:54:42 GMT\"0x8D6BC6CCE99472D\"5120share155476048527507829155476048559500422Mon, 08 Apr 2019 21:54:45 GMT\"0x8D6BC6CD0571965\"5120share155476048713809104Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD136D3F0\"5120share155476048740007315Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD171D0C6\"5120share155476048839103036155476048854303354Mon, 08 Apr 2019 21:54:48 GMT\"0x8D6BC6CD20D2221\"5120share155476048911309646155476048929702628Mon, 08 Apr 2019 21:54:49 GMT\"0x8D6BC6CD27FCECC\"5120share155476051277403297Mon, 08 Apr 2019 21:55:12 GMT\"0x8D6BC6CE0906704\"5120share155476051454002744155476051472201385Mon, 08 Apr 2019 21:55:14 GMT\"0x8D6BC6CE1A6B524\"5120share155476051662706835155476051671905991Mon, 08 Apr 2019 21:55:16 GMT\"0x8D6BC6CE2D7A3CA\"5120share155476051701609760155476051709206998Mon, 08 Apr 2019 21:55:17 GMT\"0x8D6BC6CE310B624\"5120share155476052779709407155476052795604667Mon, 08 Apr 2019 21:55:28 GMT\"0x8D6BC6CE9963684\"5120share155476054363301934155476054372205907Mon, 08 Apr 2019 21:55:43 GMT\"0x8D6BC6CF2EF3F18\"5120share155476054757102427Mon, 08 Apr 2019 21:55:48 GMT\"0x8D6BC6CF5881A20\"5120share155476054966904265155476054985500146Mon, 08 Apr 2019 21:55:49 GMT\"0x8D6BC6CF69A57B2\"5120share155476058378901492155476058388001989Mon, 08 Apr 2019 21:56:23 GMT\"0x8D6BC6D0AE1689F\"5120share155476063180009911Mon, 08 Apr 2019 21:57:11 GMT\"0x8D6BC6D277B622E\"5120share155476063439108000155476063471007018Mon, 08 Apr 2019 21:57:14 GMT\"0x8D6BC6D2937A4ED\"5120share155476067663009343155476067679203410Mon, 08 Apr 2019 21:57:56 GMT\"0x8D6BC6D424D09B8\"5120share155476081678509800Mon, 08 Apr 2019 22:00:16 GMT\"0x8D6BC6D95AD4D03\"5120share155476081824207433155476081838207562Mon, 08 Apr 2019 22:00:18 GMT\"0x8D6BC6D96A86EE7\"5120share155476083644003555155476083645604348Mon, 08 Apr 2019 22:00:36 GMT\"0x8D6BC6DA167B245\"5120share155476088823106626Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC042AE74\"5120share155476088871505002155476088876204939Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC093FF80\"5120share155476090573808731155476090575302750Mon, 08 Apr 2019 22:01:45 GMT\"0x8D6BC6DCAB58E0F\"5120share155476090608205029Mon, 08 Apr 2019 22:01:46 GMT\"0x8D6BC6DCAEA4D12\"5120share155476104985707487Mon, 08 Apr 2019 22:04:09 GMT\"0x8D6BC6E20AA4FBE\"5120share155476105287802955155476105322102107Mon, 08 Apr 2019 22:04:13 GMT\"0x8D6BC6E22A9F4B3\"5120share155476109777803762155476109795103407Mon, 08 Apr 2019 22:04:58 GMT\"0x8D6BC6E3D53CC69\"5120share155476116954300139Mon, 08 Apr 2019 22:06:09 GMT\"0x8D6BC6E67F1DB21\"5120share155476117009004633155476117021501167Mon, 08 Apr 2019 22:06:10 GMT\"0x8D6BC6E68551F94\"5120share155476118869803387155476118871409122Mon, 08 Apr 2019 22:06:28 GMT\"0x8D6BC6E735CD088\"5120share155476118922903105Mon, 08 Apr 2019 22:06:29 GMT\"0x8D6BC6E73AB5632\"5120share155476120533605556Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D484823\"5120share155476120585307909155476120590002418Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D9DE244\"5120share155476122658302898155476122661407484Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E89F48854\"5120share155476122685003701Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E8A18FF0E\"5120share155476145760800341Mon, 08 Apr 2019 22:10:57 GMT\"0x8D6BC6F13A3C9CB\"5120share155476145803208912155476145807803209Mon, 08 Apr 2019 22:10:58 GMT\"0x8D6BC6F13EB7CEC\"5120share155476148487709874155476148490906559Mon, 08 Apr 2019 22:11:24 GMT\"0x8D6BC6F23E92BC9\"5120share155476150918404287Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32619FF1\"5120share155476150970200428155476150978009839Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32BA401F\"5120share155476153188200423155476153189701570Mon, 08 Apr 2019 22:12:11 GMT\"0x8D6BC6F3FEAA305\"5120share155476153428008605Mon, 08 Apr 2019 22:12:14 GMT\"0x8D6BC6F41575DF5\"5120share155476153904907363155476153915900604Mon, 08 Apr 2019 22:12:19 GMT\"0x8D6BC6F443F53F5\"5120share155476155793708877155476155795200051Mon, 08 Apr 2019 22:12:37 GMT\"0x8D6BC6F4F73AFB9\"5120share155476176301401148Mon, 08 Apr 2019 22:16:03 GMT\"0x8D6BC6FC9C05EB2\"5120share155476176664806384155476176701407346Mon, 08 Apr 2019 22:16:07 GMT\"0x8D6BC6FCC22FF4A\"5120share155476178788303535Mon, 08 Apr 2019 22:16:28 GMT\"0x8D6BC6FD88E9FB5\"5120share155476179080407360155476179117205282Mon, 08 Apr 2019 22:16:31 GMT\"0x8D6BC6FDA83FC62\"5120share155476180179506672Mon, 08 Apr 2019 22:16:41 GMT\"0x8D6BC6FE0C9A087\"5120share155476180220305217155476180225001346Mon, 08 Apr 2019 22:16:42 GMT\"0x8D6BC6FE10E33F9\"5120share155476181531205041155476181549305114Mon, 08 Apr 2019 22:16:55 GMT\"0x8D6BC6FE9072FB1\"5120share155476181728704394155476181730207146Mon, 08 Apr 2019 22:16:57 GMT\"0x8D6BC6FEA07A689\"5120share155476183783003117155476183801406829Mon, 08 Apr 2019 22:17:18 GMT\"0x8D6BC6FF66FC70E\"5120share155476231957209906Mon, 08 Apr 2019 22:25:19 GMT\"0x8D6BC71157A027C\"5120share155476232290905918Mon, 08 Apr 2019 22:25:23 GMT\"0x8D6BC7117762E7A\"5120share155476232357801883155476232395803880Mon, 08 Apr 2019 22:25:24 GMT\"0x8D6BC7118168C9C\"5120share155476232681309939155476232720800252Mon, 08 Apr 2019 22:25:27 GMT\"0x8D6BC711A0853B4\"5120share155476234459508335Mon, 08 Apr 2019 22:25:44 GMT\"0x8D6BC7124629DF4\"5120share155476234817303197155476234856203585Mon, 08 Apr 2019 22:25:48 GMT\"0x8D6BC7126BFE461\"5120share155476237480606920155476237498603572Mon, 08 Apr 2019 22:26:15 GMT\"0x8D6BC713680FDE6\"5120share155476237658903468155476237676503841Mon, 08 Apr 2019 22:26:16 GMT\"0x8D6BC71378F70E6\"5120share155476241034103932155476241051700267Mon, 08 Apr 2019 22:26:50 GMT\"0x8D6BC714BAD96A2\"5120share155476265660405974Mon, 08 Apr 2019 22:30:56 GMT\"0x8D6BC71DE5CE7CE\"5120share155476265960100490155476266001400047Mon, 08 Apr 2019 22:31:00 GMT\"0x8D6BC71E065AD79\"5120share155476269189900873Mon, 08 Apr 2019 22:31:32 GMT\"0x8D6BC71F3676FEC\"5120share155476269493900402155476269529509546Mon, 08 Apr 2019 22:31:35 GMT\"0x8D6BC71F56D2517\"5120share155476270675209985155476270693002780Mon, 08 Apr 2019 22:31:47 GMT\"0x8D6BC71FC5C8895\"5120share155476273714203829Mon, 08 Apr 2019 22:32:17 GMT\"0x8D6BC720E5D5600\"5120share155476273998201037155476274034707959Mon, 08 Apr 2019 22:32:20 GMT\"0x8D6BC7210466419\"5120share155476274839705508155476274856902425Mon, 08 Apr 2019 22:32:28 GMT\"0x8D6BC72152D7B73\"5120share155476278819401875155476278836408722Mon, 08 Apr 2019 22:33:08 GMT\"0x8D6BC722CE4B9A9\"5120share155476279250304492Mon, 08 Apr 2019 22:33:12 GMT\"0x8D6BC722F5C173B\"5120share155476310454401084Mon, 08 Apr 2019 22:38:24 GMT\"0x8D6BC72E95AF3E9\"5120share155476310739905326155476310787807773Mon, 08 Apr 2019 22:38:28 GMT\"0x8D6BC72EB57CD23\"5120share155476315509400354155476315527009713Mon, 08 Apr 2019 22:39:15 GMT\"0x8D6BC7307973941\"5120share155476431696300605Mon, 08 Apr 2019 22:58:37 GMT\"0x8D6BC75BBFA0376\"5120share155476431803903555155476431812608836Mon, 08 Apr 2019 22:58:38 GMT\"0x8D6BC75BCA40F40\"5120share155476434449006187155476434453202288Mon, 08 Apr 2019 22:59:04 GMT\"0x8D6BC75CC615763\"5120share155476439619101391Mon, 08 Apr 2019 22:59:56 GMT\"0x8D6BC75EB339992\"5120share155476439708209578155476439716101466Mon, 08 Apr 2019 22:59:57 GMT\"0x8D6BC75EBBF56A2\"5120share155476440391303860Mon, 08 Apr 2019 23:00:03 GMT\"0x8D6BC75EFC59254\"5120share155476441919809882Mon, 08 Apr 2019 23:00:19 GMT\"0x8D6BC75F8E84132\"5120share155476442078600281155476442100203874Mon, 08 Apr 2019 23:00:21 GMT\"0x8D6BC75F9FB98CD\"5120share155476445648205993Mon, 08 Apr 2019 23:00:56 GMT\"0x8D6BC760F317FE7\"5120share155476445803400883155476445823708321Mon, 08 Apr 2019 23:00:58 GMT\"0x8D6BC76102C0ED4\"5120share155476448512502130155476448520901124Mon, 08 Apr 2019 23:01:25 GMT\"0x8D6BC76203FC0A1\"5120share155476449148305636155476449156002875Mon, 08 Apr 2019 23:01:31 GMT\"0x8D6BC76240A4F5B\"5120share155476451224507051Mon, 08 Apr 2019 23:01:52 GMT\"0x8D6BC763071C475\"5120share155476451387005113155476451409200862Mon, 08 Apr 2019 23:01:54 GMT\"0x8D6BC7631766C6A\"5120share155476454247600113155476454255808131Mon, 08 Apr 2019 23:02:22 GMT\"0x8D6BC76426E1E01\"5120share155476454745500618Mon, 08 Apr 2019 23:02:27 GMT\"0x8D6BC764565FA5E\"5120share155476455021607446155476455057102446Mon, 08 Apr 2019 23:02:30 GMT\"0x8D6BC7647417689\"5120share155476458716904340Mon, 08 Apr 2019 23:03:07 GMT\"0x8D6BC765D11F2F7\"5120share155476459201807048155476459234206562Mon, 08 Apr 2019 23:03:12 GMT\"0x8D6BC766026741C\"5120share155476460868908204155476460885205375Mon, 08 Apr 2019 23:03:28 GMT\"0x8D6BC7669FDEE7E\"5120share155476464610301226155476464626505345Mon, 08 Apr 2019 23:04:06 GMT\"0x8D6BC76804A1D2B\"5120share155476509552004112Mon, 08 Apr 2019 23:11:35 GMT\"0x8D6BC778C11DA05\"5120share155476509649000318155476509657002600Mon, 08 Apr 2019 23:11:36 GMT\"0x8D6BC778CA0CB2B\"5120share155476511542304387155476511546309152Mon, 08 Apr 2019 23:11:55 GMT\"0x8D6BC7797E39BEB\"5120share155476517413101344Mon, 08 Apr 2019 23:12:54 GMT\"0x8D6BC77BAEEAA8D\"5120share155476517496105311155476517504207003Mon, 08 Apr 2019 23:12:55 GMT\"0x8D6BC77BB67D830\"5120share155476519430301159155476519441608194Mon, 08 Apr 2019 23:13:14 GMT\"0x8D6BC77C6F3A3F7\"5120share155476521415002140Mon, 08 Apr 2019 23:13:34 GMT\"0x8D6BC77D2BCBED8\"5120share155476521551909754155476521567608139Mon, 08 Apr 2019 23:13:35 GMT\"0x8D6BC77D3A540D1\"5120share155476522814705024Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB0AE947\"5120share155476522860004891155476522870301250Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB5F942D\"5120share155476524157100256155476524158202664Mon, 08 Apr 2019 23:14:01 GMT\"0x8D6BC77E30CE333\"5120share155476524350705464155476524358205357Mon, 08 Apr 2019 23:14:03 GMT\"0x8D6BC77E4460746\"5120share155476526115609987Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EEBA1057\"5120share155476526161606511155476526168506405Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EF0AB4DE\"5120share155476528567704891155476528569706277Mon, 08 Apr 2019 23:14:47 GMT\"0x8D6BC77FEAC6C77\"5120share155476541308600173Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC784947CC5E\"5120share155476541336401605155476541343509475Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC78497D6CB2\"5120share155476541862407549Mon, 08 Apr 2019 23:16:58 GMT\"0x8D6BC784CA7ADBF\"5120share155476542140001121155476542174500634Mon, 08 Apr 2019 23:17:01 GMT\"0x8D6BC784E84DC17\"5120share155476542538504885Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC78509D81DB\"5120share155476542565004895155476542568006667Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC7850CA2738\"5120share155476543241701826155476543243201196Mon, 08 Apr 2019 23:17:12 GMT\"0x8D6BC7854D01156\"5120share155476544273008434155476544274305609Mon, 08 Apr 2019 23:17:22 GMT\"0x8D6BC785AF5E27A\"5120share155476544945600830Mon, 08 Apr 2019 23:17:29 GMT\"0x8D6BC785EFC69FE\"5120share155476545069609500155476545084404529Mon, 08 Apr 2019 23:17:30 GMT\"0x8D6BC785FD05CC7\"5120share155476546513001319155476546528907473Mon, 08 Apr 2019 23:17:45 GMT\"0x8D6BC78687868BA\"5120share155476547764302784Mon, 08 Apr 2019 23:17:57 GMT\"0x8D6BC786FD65928\"5120share155476547797509162155476547804708222Mon, 08 Apr 2019 23:17:58 GMT\"0x8D6BC787006AD8B\"5120share155476548004608178Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC787149A8DB\"5120share155476548025600059155476548057608757Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC7871955A28\"5120share155476548161101583155476548178500635Mon, 08 Apr 2019 23:18:01 GMT\"0x8D6BC7872415487\"5120share155476551017200699155476551025501651Mon, 08 Apr 2019 23:18:30 GMT\"0x8D6BC788339C452\"5120share155476553000100349155476553016007964Mon, 08 Apr 2019 23:18:50 GMT\"0x8D6BC788F23E794\"5120share155476553515703995Mon, 08 Apr 2019 23:18:55 GMT\"0x8D6BC78921E3A6B\"5120share155476555499605553Mon, 08 Apr 2019 23:19:15 GMT\"0x8D6BC789DE8981A\"5120share155476555791006568155476555799506397Mon, 08 Apr 2019 23:19:18 GMT\"0x8D6BC789FAA847D\"5120share155476556319001694Mon, 08 Apr 2019 23:19:23 GMT\"0x8D6BC78A2D231F0\"5120share155476556594909048155476556627906331Mon, 08 Apr 2019 23:19:26 GMT\"0x8D6BC78A4AA425C\"5120share155476557993103090155476557997202286Mon, 08 Apr 2019 23:19:40 GMT\"0x8D6BC78ACC4513F\"5120share155476561235504876Mon, 08 Apr 2019 23:20:12 GMT\"0x8D6BC78C0167F8D\"5120share155476561420206269155476561435307087Mon, 08 Apr 2019 23:20:14 GMT\"0x8D6BC78C1459AB0\"5120share155476563307809610155476563323908472Mon, 08 Apr 2019 23:20:33 GMT\"0x8D6BC78CC9356F8\"5120share155476563525700309Mon, 08 Apr 2019 23:20:35 GMT\"0x8D6BC78CDC75B1D\"5120share155476565186800149155476565194201836Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D7ACF537\"5120share155476565288908553Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D83D9739\"5120share155476566702204764Mon, 08 Apr 2019 23:21:07 GMT\"0x8D6BC78E0AB5059\"5120share155476566888408884155476566903301978Mon, 08 Apr 2019 23:21:09 GMT\"0x8D6BC78E1DDFA2F\"5120share155476569754601439Mon, 08 Apr 2019 23:21:37 GMT\"0x8D6BC78F2DE4CD2\"5120share155476569837207565155476569846005813Mon, 08 Apr 2019 23:21:38 GMT\"0x8D6BC78F36203BE\"5120share155476571075507322155476571082803282Mon, 08 Apr 2019 23:21:50 GMT\"0x8D6BC78FAC64BC5\"5120share155476573561205412155476573565403349Mon, 08 Apr 2019 23:22:15 GMT\"0x8D6BC79098D6F9D\"5120share155476582496201150Mon, 08 Apr 2019 23:23:44 GMT\"0x8D6BC793EC6F190\"5120share155476582523001983155476582525909945Mon, 08 Apr 2019 23:23:45 GMT\"0x8D6BC793EF41688\"5120share155476582743106751Mon, 08 Apr 2019 23:23:48 GMT\"0x8D6BC79409CAE41\"5120share155476582980100852155476582998703282Mon, 08 Apr 2019 23:23:50 GMT\"0x8D6BC7941CAE726\"5120share155476583944109368155476583945505070Mon, 08 Apr 2019 23:23:59 GMT\"0x8D6BC79476A6827\"5120share155476586034200225Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC7953DD5231\"5120share155476586061108739155476586063802574Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC795409FE33\"5120share155476586220706650155476586229602787Mon, 08 Apr 2019 23:24:22 GMT\"0x8D6BC79550CEB70\"5120share155476587455908529155476587457305551Mon, 08 Apr 2019 23:24:34 GMT\"0x8D6BC795C58879C\"5120share155476590826505721Mon, 08 Apr 2019 23:25:08 GMT\"0x8D6BC7970761A7D\"5120share155476590973604504155476590989309631Mon, 08 Apr 2019 23:25:09 GMT\"0x8D6BC79716D4AFA\"5120share155476591033707299Mon, 08 Apr 2019 23:25:10 GMT\"0x8D6BC7971B27D00\"5120share155476591170101125155476591185309922Mon, 08 Apr 2019 23:25:11 GMT\"0x8D6BC797299505C\"5120share155476593861309453155476593868502630Mon, 08 Apr 2019 23:25:38 GMT\"0x8D6BC798296DD7A\"5120share155476594539707363155476594547109339Mon, 08 Apr 2019 23:25:45 GMT\"0x8D6BC7986A2BCA7\"5120share155476597286003203Mon, 08 Apr 2019 23:26:13 GMT\"0x8D6BC799708A3BD\"5120share155476597464003206155476597484603390Mon, 08 Apr 2019 23:26:14 GMT\"0x8D6BC79982362D7\"5120share155476598426402793Mon, 08 Apr 2019 23:26:24 GMT\"0x8D6BC799DD3927D\"5120share155476598818205759155476598845002383Mon, 08 Apr 2019 23:26:28 GMT\"0x8D6BC79A03EE25F\"5120share155476600772007187155476600781306046Mon, 08 Apr 2019 23:26:47 GMT\"0x8D6BC79ABC9C020\"5120share155476603512906240155476603522107811Mon, 08 Apr 2019 23:27:15 GMT\"0x8D6BC79BC2077CD\"5120share155476612857004763Mon, 08 Apr 2019 23:28:48 GMT\"0x8D6BC79F3D10E56\"5120share155476613124503640155476613162501568Mon, 08 Apr 2019 23:28:51 GMT\"0x8D6BC79F5BF108E\"5120share155476613867709497Mon, 08 Apr 2019 23:28:58 GMT\"0x8D6BC79F9D73AD3\"5120share155476614130107770155476614162206344Mon, 08 Apr 2019 23:29:01 GMT\"0x8D6BC79FB98B873\"5120share155476615325105499Mon, 08 Apr 2019 23:29:13 GMT\"0x8D6BC7A0285F585\"5120share155476615587201364155476615619704021Mon, 08 Apr 2019 23:29:16 GMT\"0x8D6BC7A04482DC2\"5120share155476617256702013Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0DF70F50\"5120share155476617286708690155476617290000740Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0E2A3672\"5120share155476617631503794155476617647401574Mon, 08 Apr 2019 23:29:36 GMT\"0x8D6BC7A105D6D5F\"5120share155476618593504384155476618610007906Mon, 08 Apr 2019 23:29:46 GMT\"0x8D6BC7A161CED7E\"5120share155476619533401752155476619534705354Mon, 08 Apr 2019 23:29:55 GMT\"0x8D6BC7A1B8B2A6E\"5120share155476619683806353Mon, 08 Apr 2019 23:29:56 GMT\"0x8D6BC7A1C6D46CC\"5120share155476619725105811155476619728102750Mon, 08 Apr 2019 23:29:57 GMT\"0x8D6BC7A1CB038C9\"5120share155476621071307980155476621087208340Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A24DEA06B\"5120share155476621179405773155476621180801024Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A25599C50\"5120share155476632270408100Mon, 08 Apr 2019 23:32:02 GMT\"0x8D6BC7A6773D7C7\"5120share155476632303800675155476632307907455Mon, 08 Apr 2019 23:32:03 GMT\"0x8D6BC7A67AC9E05\"5120share155476632430706264Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A6864C391\"5120share155476632463506544155476632466702328Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A689BC5FA\"5120share155476633626802696Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6F8AE711\"5120share155476633665402270155476633669409143Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6FCB6F75\"5120share155476633819602071155476633821109901Mon, 08 Apr 2019 23:32:18 GMT\"0x8D6BC7A70AEB4F1\"5120share155476634347500960155476634349303762Mon, 08 Apr 2019 23:32:23 GMT\"0x8D6BC7A73D7BC04\"5120share155476635498803205155476635500704670Mon, 08 Apr 2019 23:32:35 GMT\"0x8D6BC7A7AB5DD31\"5120share155476636740102128Mon, 08 Apr 2019 23:32:47 GMT\"0x8D6BC7A8217ACEF\"5120share155476636799001553155476636802902322Mon, 08 Apr 2019 23:32:48 GMT\"0x8D6BC7A827742AF\"5120share155476640407007925155476640408806067Mon, 08 Apr 2019 23:33:24 GMT\"0x8D6BC7A97F5475C\"5120share155476642228906194Mon, 08 Apr 2019 23:33:42 GMT\"0x8D6BC7AA2E851DD\"5120share155476642406903205155476642428706870Mon, 08 Apr 2019 23:33:44 GMT\"0x8D6BC7AA405A02A\"5120share155476643556600842Mon, 08 Apr 2019 23:33:55 GMT\"0x8D6BC7AAAD375CF\"5120share155476643735007209155476643755301972Mon, 08 Apr 2019 23:33:57 GMT\"0x8D6BC7AABEFBA98\"5120share155476646013804921155476646023001703Mon, 08 Apr 2019 23:34:20 GMT\"0x8D6BC7AB9720C36\"5120share155476646603504862155476646612508671Mon, 08 Apr 2019 23:34:26 GMT\"0x8D6BC7ABCF7B99B\"5120share155476651939008948Mon, 08 Apr 2019 23:35:19 GMT\"0x8D6BC7ADCB724D3\"5120share155476652060209660155476652075001950Mon, 08 Apr 2019 23:35:20 GMT\"0x8D6BC7ADD868F16\"5120share155476652313402499Mon, 08 Apr 2019 23:35:23 GMT\"0x8D6BC7ADEF47E76\"5120share155476652445009512155476652460906173Mon, 08 Apr 2019 23:35:24 GMT\"0x8D6BC7ADFD4BF9F\"5120share155476653877105120Mon, 08 Apr 2019 23:35:38 GMT\"0x8D6BC7AE85715BC\"5120share155476654052606040155476654075704405Mon, 08 Apr 2019 23:35:40 GMT\"0x8D6BC7AE9734F6D\"5120share155476654689703476155476654698507157Mon, 08 Apr 2019 23:35:47 GMT\"0x8D6BC7AED294572\"5120share155476655472405591155476655481808374Mon, 08 Apr 2019 23:35:54 GMT\"0x8D6BC7AF1D649CF\"5120share155476656612708539Mon, 08 Apr 2019 23:36:06 GMT\"0x8D6BC7AF8A51350\"5120share155476657143404230155476657152808653Mon, 08 Apr 2019 23:36:11 GMT\"0x8D6BC7AFBCA17D2\"5120share155476657399703964155476657419709569Mon, 08 Apr 2019 23:36:14 GMT\"0x8D6BC7AFD60C4A1\"5120share155476661766108474155476661775202619Mon, 08 Apr 2019 23:36:57 GMT\"0x8D6BC7B17564BAD\"5120share155476673272406010Mon, 08 Apr 2019 23:38:52 GMT\"0x8D6BC7B5BF0E3A1\"5120share155476673504406253155476673542105732Mon, 08 Apr 2019 23:38:55 GMT\"0x8D6BC7B5D7931DB\"5120share155476675253901113Mon, 08 Apr 2019 23:39:12 GMT\"0x8D6BC7B67A8B452\"5120share155476675296209288155476675300907031Mon, 08 Apr 2019 23:39:13 GMT\"0x8D6BC7B67F08B7B\"5120share155476676945407999155476676947003222Mon, 08 Apr 2019 23:39:29 GMT\"0x8D6BC7B71C055F1\"5120share155476677410400733155476677419608768Mon, 08 Apr 2019 23:39:34 GMT\"0x8D6BC7B7495E848\"5120share155476678595409185Mon, 08 Apr 2019 23:39:46 GMT\"0x8D6BC7B7BA54AF6\"5120share155476678702907493Mon, 08 Apr 2019 23:39:47 GMT\"0x8D6BC7B7C3787CB\"5120share155476678942303133155476678947007472Mon, 08 Apr 2019 23:39:49 GMT\"0x8D6BC7B7DACAD5C\"5120share155476679257406842155476679289807813Mon, 08 Apr 2019 23:39:53 GMT\"0x8D6BC7B7FC83C47\"5120share155476681265205823155476681268306939Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8B81FC62\"5120share155476681295008223Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8BAA029D\"5120share155476683674701439Mon, 08 Apr 2019 23:40:36 GMT\"0x8D6BC7B99EB0399\"5120share155476683691105172Mon, 08 Apr 2019 23:40:37 GMT\"0x8D6BC7B9A04190A\"5120share155476683938408044155476683970607122Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BAF0AC6\"5120share155476683954506999155476683986401108Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BC6BC86\"5120share155476684955901192155476684971705447Mon, 08 Apr 2019 23:40:49 GMT\"0x8D6BC7BA1A68C4A\"5120share155476689429503310155476689446302908Mon, 08 Apr 2019 23:41:34 GMT\"0x8D6BC7BBC523411\"5120share155476689486309119155476689502109811Mon, 08 Apr 2019 23:41:35 GMT\"0x8D6BC7BBCA78283\"5120share155476689848406446Mon, 08 Apr 2019 23:41:38 GMT\"0x8D6BC7BBEA6DEF5\"5120share155476690144000750155476690147105650Mon, 08 Apr 2019 23:41:41 GMT\"0x8D6BC7BC06D6BFE\"5120share155476692550408281155476692552006307Mon, 08 Apr 2019 23:42:05 GMT\"0x8D6BC7BCEC2E737\"5120share155476701310301365Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C02F81A4A\"5120share155476701354009909155476701358700586Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C0341217E\"5120share155476703054701901155476703056303132Mon, 08 Apr 2019 23:43:50 GMT\"0x8D6BC7C0D5E5EF4\"5120share155476705263308527Mon, 08 Apr 2019 23:44:12 GMT\"0x8D6BC7C1A874F4E\"5120share155476705313403501155476705324309452Mon, 08 Apr 2019 23:44:13 GMT\"0x8D6BC7C1AE43384\"5120share155476707854907462155476707856501775Mon, 08 Apr 2019 23:44:38 GMT\"0x8D6BC7C29FBFD59\"5120share155476708292203055Mon, 08 Apr 2019 23:44:42 GMT\"0x8D6BC7C2C965437\"5120share155476718097200661Mon, 08 Apr 2019 23:46:21 GMT\"0x8D6BC7C67140ED4\"5120share155476718511307033155476718528507060Mon, 08 Apr 2019 23:46:25 GMT\"0x8D6BC7C69A5A008\"5120share155476720906609619Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C77C48EEA\"5120share155476720947601374155476720952302768Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C780AB178\"5120share155476721652702563155476721660503614Mon, 08 Apr 2019 23:46:56 GMT\"0x8D6BC7C7C4FF562\"5120share155476722456803338155476722458406433Mon, 08 Apr 2019 23:47:04 GMT\"0x8D6BC7C8105A53E\"5120share155476731188105124Mon, 08 Apr 2019 23:48:31 GMT\"0x8D6BC7CB50D9313\"5120share155476731224201118155476731228901281Mon, 08 Apr 2019 23:48:32 GMT\"0x8D6BC7CB54D3B10\"5120share155476733008504443155476733011603577Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CBFEB1452\"5120share155476733031901975Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CC00B25BF\"5120share155476737686900592Mon, 08 Apr 2019 23:49:36 GMT\"0x8D6BC7CDBCC5422\"5120share155476737934703176155476737939509803Mon, 08 Apr 2019 23:49:39 GMT\"0x8D6BC7CDD4CCB9A\"5120share155476740063206317Mon, 08 Apr 2019 23:50:00 GMT\"0x8D6BC7CE9F6D928\"5120share155476740105301968155476740110108620Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA3DC4B9\"5120share155476740160309274155476740163408658Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA8EBD5D\"5120share155476740389005761Mon, 08 Apr 2019 23:50:03 GMT\"0x8D6BC7CEBE693B3\"5120share155476741944107110155476741947208866Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF5306B3B\"5120share155476741973801348Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF55AA35D\"5120share155476751993603097Mon, 08 Apr 2019 23:51:59 GMT\"0x8D6BC7D310FD6F9\"5120share155476752034209234155476752038903373Mon, 08 Apr 2019 23:52:00 GMT\"0x8D6BC7D3154EB7F\"5120share155476753773308525155476753774900804Mon, 08 Apr 2019 23:52:17 GMT\"0x8D6BC7D3BAF1D7C\"5120share155476755968506518Mon, 08 Apr 2019 23:52:39 GMT\"0x8D6BC7D48C2D945\"5120share155476756025704914155476756030408293Mon, 08 Apr 2019 23:52:40 GMT\"0x8D6BC7D4920F1BB\"5120share155476757927403262155476757930605206Mon, 08 Apr 2019 23:52:59 GMT\"0x8D6BC7D5477C4FD\"5120share155476758886800802Mon, 08 Apr 2019 23:53:08 GMT\"0x8D6BC7D5A295568\"5120share155476759612809724Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5E7A3CE8\"5120share155476759675809547155476759678907586Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5EDFE197\"5120share155476761379605068155476761381206318Mon, 08 Apr 2019 23:53:33 GMT\"0x8D6BC7D6904C3BC\"5120share155476769451707014Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D991E2C56\"5120share155476769492305905155476769495502323Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D9962B197\"5120share155476771291006498155476771292504957Mon, 08 Apr 2019 23:55:12 GMT\"0x8D6BC7DA4180F06\"5120share155476773060003911Mon, 08 Apr 2019 23:55:30 GMT\"0x8D6BC7DAEA17CC4\"5120share155476773118005704155476773135203965Mon, 08 Apr 2019 23:55:31 GMT\"0x8D6BC7DAF1378A6\"5120share155476775106100021155476775109309106Mon, 08 Apr 2019 23:55:51 GMT\"0x8D6BC7DBAD731E5\"5120share155476781685606946Mon, 08 Apr 2019 23:56:56 GMT\"0x8D6BC7DE20E7957\"5120share155476781732000128155476781738302450Mon, 08 Apr 2019 23:56:57 GMT\"0x8D6BC7DE2600C71\"5120share155476783345303757155476783346907719Mon, 08 Apr 2019 23:57:13 GMT\"0x8D6BC7DEBF7156B\"5120share155476791347300669Mon, 08 Apr 2019 23:58:33 GMT\"0x8D6BC7E1BA54903\"5120share155476791386402913155476791406106541Mon, 08 Apr 2019 23:58:34 GMT\"0x8D6BC7E1BFCC039\"5120share155476793045906102155476793049006057Mon, 08 Apr 2019 23:58:50 GMT\"0x8D6BC7E25C76D52\"5120share155476802704709159Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F561B0D\"5120share155476802747007068155476802751704585Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F9E2732\"5120share155476804346803478155476804349905857Tue, 09 Apr 2019 00:00:43 GMT\"0x8D6BC7E692437A6\"5120share155476804670501417Tue, 09 Apr 2019 00:00:46 GMT\"0x8D6BC7E6B0C980A\"5120share155476804729208533155476804732304485Tue, 09 Apr 2019 00:00:47 GMT\"0x8D6BC7E6B6BE551\"5120share155476806792107870155476806795006572Tue, 09 Apr 2019 00:01:07 GMT\"0x8D6BC7E77B59043\"5120share155476809524706138Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E87FA6EFD\"5120share155476809559505969Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E883E0CC1\"5120share155476809573102733155476809608507721Tue, 09 Apr 2019 00:01:36 GMT\"0x8D6BC7E8878E2E0\"5120share155476809796808728Tue, 09 Apr 2019 00:01:37 GMT\"0x8D6BC7E8998569D\"5120share155476810291301609155476810326803401Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CD0D20B\"5120share155476810304900799155476810314308687Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CAE4EE9\"5120share155476811609008652155476811612104405Tue, 09 Apr 2019 00:01:56 GMT\"0x8D6BC7E94697D23\"5120share155476811931604393155476811933200724Tue, 09 Apr 2019 00:01:59 GMT\"0x8D6BC7E9653421D\"5120share155476812170804393Tue, 09 Apr 2019 00:02:01 GMT\"0x8D6BC7E97C041CC\"5120share155476814743406883Tue, 09 Apr 2019 00:02:27 GMT\"0x8D6BC7EA7272A92\"5120share155476815440005091155476815476601339Tue, 09 Apr 2019 00:02:34 GMT\"0x8D6BC7EAB862619\"5120share155476815597205023155476815615103123Tue, 09 Apr 2019 00:02:36 GMT\"0x8D6BC7EAC554CE6\"5120share155476820193208970Tue, 09 Apr 2019 00:03:22 GMT\"0x8D6BC7EC7A0122F\"5120share155476820878406771155476820896404753Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBD4210C\"5120share155476820883700691155476820924100125Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBFA99BF\"5120share155476821108601306Tue, 09 Apr 2019 00:03:31 GMT\"0x8D6BC7ECD176585\"5120share155476825711807119155476825729204921Tue, 09 Apr 2019 00:04:17 GMT\"0x8D6BC7EE89EA8B2\"5120share155476825945705044Tue, 09 Apr 2019 00:04:19 GMT\"0x8D6BC7EE9E8E0CB\"5120share155476834740803120Tue, 09 Apr 2019 00:05:47 GMT\"0x8D6BC7F1E4777AF\"5120share155476834984008859155476834988702992Tue, 09 Apr 2019 00:05:49 GMT\"0x8D6BC7F1FC39553\"5120share155476836605404360155476836607004655Tue, 09 Apr 2019 00:06:06 GMT\"0x8D6BC7F29689397\"5120share155476838809206589Tue, 09 Apr 2019 00:06:28 GMT\"0x8D6BC7F3699A514\"5120share155476839198303786155476839234803107Tue, 09 Apr 2019 00:06:32 GMT\"0x8D6BC7F39223C76\"5120share155476843986900491Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F557ECA14\"5120share155476844021800627155476844024600583Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F55B9A5DF\"5120share155476845378709296155476845396806652Tue, 09 Apr 2019 00:07:34 GMT\"0x8D6BC7F5DDC13C9\"5120share155476845593902321155476845597001638Tue, 09 Apr 2019 00:07:36 GMT\"0x8D6BC7F5F180369\"5120share155476849626305945Tue, 09 Apr 2019 00:08:16 GMT\"0x8D6BC7F77117C82\"5120share155476849880105820Tue, 09 Apr 2019 00:08:18 GMT\"0x8D6BC7F7885AA01\"5120share155476849915307469155476850553606138Tue, 09 Apr 2019 00:08:25 GMT\"0x8D6BC7F7C976A4D\"5120share155476850592804706155476850599107187Tue, 09 Apr 2019 00:08:26 GMT\"0x8D6BC7F7CCF6C1B\"5120share155476852757806473155476852759309641Tue, 09 Apr 2019 00:08:47 GMT\"0x8D6BC7F89B00F3A\"5120share155476852980102365Tue, 09 Apr 2019 00:08:49 GMT\"0x8D6BC7F8B005BF0\"5120share155476856656600292155476856674507959Tue, 09 Apr 2019 00:09:26 GMT\"0x8D6BC7FA112F732\"5120share155476856885709152Tue, 09 Apr 2019 00:09:28 GMT\"0x8D6BC7FA2557BB5\"5120share155476863244904949Tue, 09 Apr 2019 00:10:32 GMT\"0x8D6BC7FC83EFA77\"5120share155476863535008494155476863570305271Tue, 09 Apr 2019 00:10:35 GMT\"0x8D6BC7FCA2FC926\"5120share155476865943308691Tue, 09 Apr 2019 00:10:59 GMT\"0x8D6BC7FD853FF98\"5120share155476866240807893155476866276704727Tue, 09 Apr 2019 00:11:02 GMT\"0x8D6BC7FDA5082D2\"5120share155476868218009780155476868235304727Tue, 09 Apr 2019 00:11:22 GMT\"0x8D6BC7FE5FCE9DC\"5120share155476868800600510Tue, 09 Apr 2019 00:11:28 GMT\"0x8D6BC7FE95CAD94\"5120share155476869091401136155476869126508601Tue, 09 Apr 2019 00:11:31 GMT\"0x8D6BC7FEB4D0822\"5120share155476871168505595155476871185701462Tue, 09 Apr 2019 00:11:51 GMT\"0x8D6BC7FF7927E16\"5120share155476874475805006155476874493808659Tue, 09 Apr 2019 00:12:25 GMT\"0x8D6BC800B4A745E\"5120share155476874690105242Tue, 09 Apr 2019 00:12:27 GMT\"0x8D6BC800C75C565\"5120share155476875206001092155476875241409773Tue, 09 Apr 2019 00:12:32 GMT\"0x8D6BC800FBFA200\"5120share155476880248305317Tue, 09 Apr 2019 00:13:22 GMT\"0x8D6BC802D993DFF\"5120share155476880545306177155476880583203834Tue, 09 Apr 2019 00:13:25 GMT\"0x8D6BC802F965397\"5120share155476888864505928155476888881909462Tue, 09 Apr 2019 00:14:48 GMT\"0x8D6BC80610D3090\"5120share155476899293006933155476899311001721Tue, 09 Apr 2019 00:16:33 GMT\"0x8D6BC809F369DB0\"5120share155476908548709722Tue, 09 Apr 2019 00:18:05 GMT\"0x8D6BC80D645612F\"5120share155476908868904195155476908904003064Tue, 09 Apr 2019 00:18:09 GMT\"0x8D6BC80D863A958\"5120share155476909980609434Tue, 09 Apr 2019 00:18:19 GMT\"0x8D6BC80DECE268E\"5120share155476910281904976155476910319003432Tue, 09 Apr 2019 00:18:23 GMT\"0x8D6BC80E0D4235F\"5120share155476913684100960Tue, 09 Apr 2019 00:18:56 GMT\"0x8D6BC80F4E4E108\"5120share155476913787408958Tue, 09 Apr 2019 00:18:58 GMT\"0x8D6BC80F5820C56\"5120share155476913976300123155476914012502697Tue, 09 Apr 2019 00:19:00 GMT\"0x8D6BC80F6D9D174\"5120share155476914067107913155476914401701060Tue, 09 Apr 2019 00:19:04 GMT\"0x8D6BC80F92C192D\"5120share155476914792003023155476914809807978Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FB98086D\"5120share155476914816001450Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FBA21BE5\"5120share155476915097103659155476915132003837Tue, 09 Apr 2019 00:19:11 GMT\"0x8D6BC80FD83B8C9\"5120share155476917672903935Tue, 09 Apr 2019 00:19:36 GMT\"0x8D6BC810CA71295\"5120share155476917952009763155476917987301193Tue, 09 Apr 2019 00:19:40 GMT\"0x8D6BC810E86FF1C\"5120share155476919071804890155476919089106036Tue, 09 Apr 2019 00:19:51 GMT\"0x8D6BC8115191B5D\"5120share155476919296302859Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC811655430E\"5120share155476919319101764155476919336803669Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC81169511B5\"5120share155476919545308814Tue, 09 Apr 2019 00:19:55 GMT\"0x8D6BC8117D2A35B\"5120share155476919567900532155476919585804561Tue, 09 Apr 2019 00:19:56 GMT\"0x8D6BC811811F934\"5120share155476920649006874155476920666505869Tue, 09 Apr 2019 00:20:06 GMT\"0x8D6BC811E81595E\"5120share155476922893709128155476922911208955Tue, 09 Apr 2019 00:20:29 GMT\"0x8D6BC812BE07699\"5120share155476923318404372Tue, 09 Apr 2019 00:20:33 GMT\"0x8D6BC812E4D5E21\"5120share155476925059001794Tue, 09 Apr 2019 00:20:50 GMT\"0x8D6BC8138ADF463\"5120share155476925356004440155476925393103687Tue, 09 Apr 2019 00:20:54 GMT\"0x8D6BC813AABBC7A\"5120share155476929764201056Tue, 09 Apr 2019 00:21:37 GMT\"0x8D6BC8154B9AB1E\"5120share155476929921903613155476929939207757Tue, 09 Apr 2019 00:21:41 GMT\"0x8D6BC8156F5F171\"5120share155476930455706190155476930492200920Tue, 09 Apr 2019 00:21:45 GMT\"0x8D6BC81591155FA\"5120share155476939253408398155476939270804066Tue, 09 Apr 2019 00:23:12 GMT\"0x8D6BC818D634979\"5120share155476946740007208Tue, 09 Apr 2019 00:24:27 GMT\"0x8D6BC81B9E9110E\"5120share155476947019106284155476947055502266Tue, 09 Apr 2019 00:24:30 GMT\"0x8D6BC81BBCA3C83\"5120share155476950493004815Tue, 09 Apr 2019 00:25:05 GMT\"0x8D6BC81D0474349\"5120share155476950777909601155476950813509107Tue, 09 Apr 2019 00:25:08 GMT\"0x8D6BC81D2310748\"5120share155476951815408266155476953409009620Tue, 09 Apr 2019 00:25:34 GMT\"0x8D6BC81E1A8547E\"5120share155476954514209563Tue, 09 Apr 2019 00:25:45 GMT\"0x8D6BC81E842D7B4\"5120share155476954794902021155476954830307106Tue, 09 Apr 2019 00:25:48 GMT\"0x8D6BC81EA248BAB\"5120share155476955580001453155476955597302370Tue, 09 Apr 2019 00:25:56 GMT\"0x8D6BC81EEB44D5D\"5120share155476958659300969Tue, 09 Apr 2019 00:26:26 GMT\"0x8D6BC8200F1D32F\"5120share155476958941003585155476958975801940Tue, 09 Apr 2019 00:26:29 GMT\"0x8D6BC8202D4FE31\"5120share155476964114307488155476964131504685Tue, 09 Apr 2019 00:27:21 GMT\"0x8D6BC822194155D\"5120share155476968411306454155476968428403769Tue, 09 Apr 2019 00:28:04 GMT\"0x8D6BC823B2BFB08\"5120share155476971626808737Tue, 09 Apr 2019 00:28:36 GMT\"0x8D6BC824E3EA287\"5120share155476972105905786155476972140705576Tue, 09 Apr 2019 00:28:41 GMT\"0x8D6BC82514F8A17\"5120share155476976555505046155476976573004607Tue, 09 Apr 2019 00:29:25 GMT\"0x8D6BC826BBAEF5D\"5120share155476977380801891Tue, 09 Apr 2019 00:29:33 GMT\"0x8D6BC82708B5AA2\"5120share155476995717807831Tue, 09 Apr 2019 00:32:37 GMT\"0x8D6BC82DDD891C2\"5120share155476995999104481155476996033909155Tue, 09 Apr 2019 00:32:40 GMT\"0x8D6BC82DFBAE58B\"5120share155477000943707763155477000964807043Tue, 09 Apr 2019 00:33:29 GMT\"0x8D6BC82FD1F5667\"5120share155480772852505654Tue, 09 Apr 2019 11:02:08 GMT\"0x8D6BCDACF62C049\"5120share155480773110506552155480773127501332Tue, 09 Apr 2019 11:02:11 GMT\"0x8D6BCDAD0E9ACB2\"5120share155480776409606766155480776417904835Tue, 09 Apr 2019 11:02:44 GMT\"0x8D6BCDAE4867510\"5120share155480776694805660Tue, 09 Apr 2019 11:02:49 GMT\"0x8D6BCDAE7B2553B\"5120share155480777833501686155480777940002178Tue, 09 Apr 2019 11:02:59 GMT\"0x8D6BCDAEDA584FA\"5120share155480794441908831155480794614402045Tue, 09 Apr 2019 11:05:46 GMT\"0x8D6BCDB511E3A7E\"5120share155480838272308971Tue, 09 Apr 2019 11:13:02 GMT\"0x8D6BCDC55308631\"5120share155480838569107929155480838575305746Tue, 09 Apr 2019 11:13:05 GMT\"0x8D6BCDC56FF7011\"5120share155480840927004361155480840928909324Tue, 09 Apr 2019 11:13:29 GMT\"0x8D6BCDC6506EC70\"5120share155480861063907178Tue, 09 Apr 2019 11:16:50 GMT\"0x8D6BCDCDD0822AE\"5120share155480862463105296Tue, 09 Apr 2019 11:17:04 GMT\"0x8D6BCDCE57D7B96\"5120share155480862643008694155480862661203489Tue, 09 Apr 2019 11:17:06 GMT\"0x8D6BCDCE6936C52\"5120share155480862803409284155480862810302824Tue, 09 Apr 2019 11:17:08 GMT\"0x8D6BCDCE770CC18\"5120share155480865812101922155480865821104214Tue, 09 Apr 2019 11:17:38 GMT\"0x8D6BCDCF96916EB\"5120share155480868606501887155480868609406416Tue, 09 Apr 2019 11:18:06 GMT\"0x8D6BCDD0A00E67C\"5120share155480889003904019Tue, 09 Apr 2019 11:21:32 GMT\"0x8D6BCDD84F6F82E\"5120share155480889568307939155480889583203255Tue, 09 Apr 2019 11:21:35 GMT\"0x8D6BCDD870F6BA3\"5120share155480897029709318155480897037300585Tue, 09 Apr 2019 11:22:50 GMT\"0x8D6BCDDB37953D4\"5120share155480906424102615Tue, 09 Apr 2019 11:24:24 GMT\"0x8D6BCDDEB6B81B1\"5120share155480930375303643Tue, 09 Apr 2019 11:28:23 GMT\"0x8D6BCDE7A28B8DB\"5120share155480930894709325155480930937004652Tue, 09 Apr 2019 11:28:29 GMT\"0x8D6BCDE7D818C36\"5120share155480933774208533155480933783509305Tue, 09 Apr 2019 11:28:57 GMT\"0x8D6BCDE8E7BF8F9\"5120share155480969517400844Tue, 09 Apr 2019 11:34:55 GMT\"0x8D6BCDF63A050C3\"5120share155480969888707795155480969893306849Tue, 09 Apr 2019 11:34:58 GMT\"0x8D6BCDF65B54921\"5120share155480974335804699155480974338902814Tue, 09 Apr 2019 11:35:43 GMT\"0x8D6BCDF8036DDF6\"5120share155481008340704248Tue, 09 Apr 2019 11:41:23 GMT\"0x8D6BCE04ADDD8A2\"5120share155481008549406718155481008554100937Tue, 09 Apr 2019 11:41:27 GMT\"0x8D6BCE04D31B524\"5120share155481012778602365155481012781701628Tue, 09 Apr 2019 11:42:07 GMT\"0x8D6BCE06555DFCE\"5120share155481034990901641Tue, 09 Apr 2019 11:45:50 GMT\"0x8D6BCE0E9CADC7F\"5120share155481035603904965155481035641604476Tue, 09 Apr 2019 11:45:56 GMT\"0x8D6BCE0EDAB9351\"5120share155481041106406083155481041124001246Tue, 09 Apr 2019 11:46:51 GMT\"0x8D6BCE10E67C485\"5120share155481070004408686Tue, 09 Apr 2019 11:51:40 GMT\"0x8D6BCE1BA7CCA86\"5120share155481070331300500155481070366508716Tue, 09 Apr 2019 11:51:43 GMT\"0x8D6BCE1BCA4D32F\"5120share155481077062801299155481077080301740Tue, 09 Apr 2019 11:52:50 GMT\"0x8D6BCE1E4A8AC5E\"5120share155481104696407257Tue, 09 Apr 2019 11:57:27 GMT\"0x8D6BCE28944219B\"5120share155481105069503376155481105104709050Tue, 09 Apr 2019 11:57:31 GMT\"0x8D6BCE28BB2F5EB\"5120share155481110393104766155481110410301124Tue, 09 Apr 2019 11:58:24 GMT\"0x8D6BCE2AB5E84AC\"5120share155489412862807371Wed, 10 Apr 2019 11:02:08 GMT\"0x8D6BDA3F9C8FD9B\"5120share155489413277909619155489413286706477Wed, 10 Apr 2019 11:02:12 GMT\"0x8D6BDA3FC41DB4E\"5120share155489415671304108155489415677606190Wed, 10 Apr 2019 11:02:36 GMT\"0x8D6BDA40A819FF1\"5120share155489416756705091Wed, 10 Apr 2019 11:02:47 GMT\"0x8D6BDA410EF2DA1\"5120share155489416916801489155489416921506591Wed, 10 Apr 2019 11:02:49 GMT\"0x8D6BDA412270A05\"5120share155489422601500459155489422611702482Wed, 10 Apr 2019 11:03:46 GMT\"0x8D6BDA433D48934\"5120share155489422827708423Wed, 10 Apr 2019 11:03:48 GMT\"0x8D6BDA4351DC470\"5120share155489454656606719Wed, 10 Apr 2019 11:09:06 GMT\"0x8D6BDA4F2FC5650\"5120share155489455422603360155489455439702529Wed, 10 Apr 2019 11:09:14 GMT\"0x8D6BDA4F782E06A\"5120share155489458258002289155489458262309243Wed, 10 Apr 2019 11:09:42 GMT\"0x8D6BDA50855B498\"5120share155489482947807877Wed, 10 Apr 2019 11:13:53 GMT\"0x8D6BDA59DEC0FEB\"5120share155489483786706760155489483837601083Wed, 10 Apr 2019 11:14:00 GMT\"0x8D6BDA5A1B99935\"5120share155489488327604413155489488334906059Wed, 10 Apr 2019 11:14:43 GMT\"0x8D6BDA5BB9978AF\"5120share155489492123309454Wed, 10 Apr 2019 11:15:21 GMT\"0x8D6BDA5D248D84A\"5120share155489492507607432155489492526001236Wed, 10 Apr 2019 11:15:25 GMT\"0x8D6BDA5D4933469\"5120share155489496225207071155489496234109679Wed, 10 Apr 2019 11:16:02 GMT\"0x8D6BDA5EAAD1456\"5120share155489509528801814Wed, 10 Apr 2019 11:18:15 GMT\"0x8D6BDA63A229516\"5120share155489509735407356155489510215103908Wed, 10 Apr 2019 11:18:22 GMT\"0x8D6BDA63E2E9C02\"5120share155489515091603004155489515099201262Wed, 10 Apr 2019 11:19:11 GMT\"0x8D6BDA65B20F8F3\"5120share155489547884803269Wed, 10 Apr 2019 11:24:38 GMT\"0x8D6BDA71E86E5E0\"5120share155489548454903275155489548483004021Wed, 10 Apr 2019 11:24:44 GMT\"0x8D6BDA722179E7F\"5120share155489552181808130155489552185003544Wed, 10 Apr 2019 11:25:22 GMT\"0x8D6BDA73872431F\"5120share155489582839504190Wed, 10 Apr 2019 11:30:28 GMT\"0x8D6BDA7EEDEBFDD\"5120share155489582984702446155489583159500319Wed, 10 Apr 2019 11:30:31 GMT\"0x8D6BDA7F0C46DE4\"5120share155489586173909876155489586175402656Wed, 10 Apr 2019 11:31:02 GMT\"0x8D6BDA802F14681\"5120share155489619289500492Wed, 10 Apr 2019 11:36:32 GMT\"0x8D6BDA8C8219F23\"5120share155489619393006230155489619397709077Wed, 10 Apr 2019 11:36:34 GMT\"0x8D6BDA8C8C592C3\"5120share155489622564303022155489622565908804Wed, 10 Apr 2019 11:37:05 GMT\"0x8D6BDA8DBD04781\"5120share155489646131309214Wed, 10 Apr 2019 11:41:01 GMT\"0x8D6BDA9682F9333\"5120share155489646684205145155489646750301265Wed, 10 Apr 2019 11:41:07 GMT\"0x8D6BDA96BE064BB\"5120share155489652175004438155489652192700531Wed, 10 Apr 2019 11:42:02 GMT\"0x8D6BDA98C503695\"5120share155489681486003455Wed, 10 Apr 2019 11:46:54 GMT\"0x8D6BDAA3AE74A21\"5120share155489681884608063155489681919608330Wed, 10 Apr 2019 11:46:59 GMT\"0x8D6BDAA3D7CB218\"5120share155489687019401343155489687037106917Wed, 10 Apr 2019 11:47:50 GMT\"0x8D6BDAA5BFCC6A5\"5120share155489714481609238Wed, 10 Apr 2019 11:52:24 GMT\"0x8D6BDAAFF95A52E\"5120share155489714807504789155489714842701455Wed, 10 Apr 2019 11:52:28 GMT\"0x8D6BDAB01BBB9AA\"5120share155489720343801332155489720361300530Wed, 10 Apr 2019 11:53:23 GMT\"0x8D6BDAB22A213DA\"5120share155498052189005973Thu, 11 Apr 2019 11:02:03 GMT\"0x8D6BE6D20C5A27A\"5120share155498052486307452155498052494601328Thu, 11 Apr 2019 11:02:04 GMT\"0x8D6BE6D21F3FD4A\"5120share155498054458201295155498054462607374Thu, 11 Apr 2019 11:02:24 GMT\"0x8D6BE6D2DAF2F37\"5120share155498057256409560Thu, 11 Apr 2019 11:02:52 GMT\"0x8D6BE6D3E5B0100\"5120share155498057900203212155498058058503101Thu, 11 Apr 2019 11:03:00 GMT\"0x8D6BE6D4322EAB8\"5120share155498066045708716155498066054002568Thu, 11 Apr 2019 11:04:20 GMT\"0x8D6BE6D72CA6F35\"5120share155498100392305925Thu, 11 Apr 2019 11:10:03 GMT\"0x8D6BE6E3F6D7332\"5120share155498100486605985155498100492408541Thu, 11 Apr 2019 11:10:04 GMT\"0x8D6BE6E400669DB\"5120share155498102575801912155498102577004454Thu, 11 Apr 2019 11:10:25 GMT\"0x8D6BE6E4C72FBE0\"5120share155498118716109200Thu, 11 Apr 2019 11:13:07 GMT\"0x8D6BE6EACAE6539\"5120share155498119088009096155498119109803405Thu, 11 Apr 2019 11:13:11 GMT\"0x8D6BE6EAF0745E6\"5120share155498123278401216Thu, 11 Apr 2019 11:13:53 GMT\"0x8D6BE6EC7F7A018\"5120share155498123486100245155498123504606077Thu, 11 Apr 2019 11:13:55 GMT\"0x8D6BE6EC937DC9E\"5120share155498125173204844155498125181103614Thu, 11 Apr 2019 11:14:11 GMT\"0x8D6BE6ED337568F\"5120share155498127070203605155498127090200772Thu, 11 Apr 2019 11:14:30 GMT\"0x8D6BE6EDE96DD2C\"5120share155498149053803558Thu, 11 Apr 2019 11:18:13 GMT\"0x8D6BE6F632FC122\"5120share155498149486704484155498149491504102Thu, 11 Apr 2019 11:18:15 GMT\"0x8D6BE6F644A9B3B\"5120share155498155460200751155498155462406088Thu, 11 Apr 2019 11:19:14 GMT\"0x8D6BE6F87ADF271\"5120share155498183671704701Thu, 11 Apr 2019 11:23:55 GMT\"0x8D6BE702ECFDF92\"5120share155498183865606144155498183870405710Thu, 11 Apr 2019 11:23:57 GMT\"0x8D6BE702FFE177F\"5120share155498188735506358155498188738804227Thu, 11 Apr 2019 11:24:47 GMT\"0x8D6BE704DFE05C3\"5120share155498217286508991Thu, 11 Apr 2019 11:29:32 GMT\"0x8D6BE70F82F0421\"5120share155498217391907065155498217398104387Thu, 11 Apr 2019 11:29:34 GMT\"0x8D6BE70F8D9643C\"5120share155498221400709049155498221402206456Thu, 11 Apr 2019 11:30:14 GMT\"0x8D6BE7110E9F384\"5120share155498253737503811Thu, 11 Apr 2019 11:35:37 GMT\"0x8D6BE71D1727116\"5120share155498253857505289155498253935506389Thu, 11 Apr 2019 11:35:39 GMT\"0x8D6BE71D29F6801\"5120share155498256201107590155498256205807686Thu, 11 Apr 2019 11:36:02 GMT\"0x8D6BE71E0282811\"5120share155498278528305699Thu, 11 Apr 2019 11:39:45 GMT\"0x8D6BE7265497F4F\"5120share155498278829705785155498278865706979Thu, 11 Apr 2019 11:39:48 GMT\"0x8D6BE72674C1598\"5120share155498284418801730155498284436204192Thu, 11 Apr 2019 11:40:44 GMT\"0x8D6BE72887F563D\"5120share155498314636609246Thu, 11 Apr 2019 11:45:46 GMT\"0x8D6BE733C80D62F\"5120share155498314958405145155498314993401182Thu, 11 Apr 2019 11:45:50 GMT\"0x8D6BE733EB4DDC6\"5120share155498320380202916155498320397803097Thu, 11 Apr 2019 11:46:44 GMT\"0x8D6BE735ED74285\"5120share155498348631909500Thu, 11 Apr 2019 11:51:26 GMT\"0x8D6BE740722A624\"5120share155498349006200479155498349041201049Thu, 11 Apr 2019 11:51:30 GMT\"0x8D6BE7409936A5D\"5120share155498355074904797155498355091806030Thu, 11 Apr 2019 11:52:31 GMT\"0x8D6BE742DA3712E\"5120share155506715001008005Fri, 12 Apr 2019 11:05:50 GMT\"0x8D6BF36D280C86E\"5120share155506715554809020Fri, 12 Apr 2019 11:05:58 GMT\"0x8D6BF36D7A9DABD\"5120share155506716051807380155506716056903734Fri, 12 Apr 2019 11:06:00 GMT\"0x8D6BF36D8CB60FE\"5120share155506716156004041155506716164300511Fri, 12 Apr 2019 11:06:01 GMT\"0x8D6BF36D972DBD5\"5120share155506718476800145155506718480807242Fri, 12 Apr 2019 11:06:24 GMT\"0x8D6BF36E7419A66\"5120share155506724070107848155506724072501640Fri, 12 Apr 2019 11:07:20 GMT\"0x8D6BF3708928851\"5120share155506760045707115Fri, 12 Apr 2019 11:13:20 GMT\"0x8D6BF37DEFC3BC5\"5120share155506760361709232155506760364602112Fri, 12 Apr 2019 11:13:23 GMT\"0x8D6BF37E0E27E8F\"5120share155506762550205666155506762551700839Fri, 12 Apr 2019 11:13:45 GMT\"0x8D6BF37EDEBB5ED\"5120share155506775710503556Fri, 12 Apr 2019 11:15:57 GMT\"0x8D6BF383C5BE969\"5120share155506775914206834155506775939104602Fri, 12 Apr 2019 11:15:59 GMT\"0x8D6BF383DD9C789\"5120share155506780025406685155506780027400077Fri, 12 Apr 2019 11:16:43 GMT\"0x8D6BF3857EB4AAC\"5120share155506782349400072Fri, 12 Apr 2019 11:17:03 GMT\"0x8D6BF3864075C02\"5120share155506782529308699155506782548108688Fri, 12 Apr 2019 11:17:05 GMT\"0x8D6BF3865239620\"5120share155506785583100253155506785592602106Fri, 12 Apr 2019 11:17:35 GMT\"0x8D6BF387748C0B8\"5120share155506798629003189Fri, 12 Apr 2019 11:19:46 GMT\"0x8D6BF38C50D041D\"5120share155506798697509537155506798958607431Fri, 12 Apr 2019 11:19:49 GMT\"0x8D6BF38C715AB43\"5120share155506802218702711155506802412507312Fri, 12 Apr 2019 11:20:24 GMT\"0x8D6BF38DB82D2CD\"5120share155506830326102475Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF3981E69A84\"5120share155506830378004443155506830384200380Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF39823D8FC2\"5120share155506833333309950155506833336407734Fri, 12 Apr 2019 11:25:33 GMT\"0x8D6BF3993D61B9D\"5120share155506863762208674Fri, 12 Apr 2019 11:30:37 GMT\"0x8D6BF3A4930319C\"5120share155506863833206169155506863837809068Fri, 12 Apr 2019 11:30:38 GMT\"0x8D6BF3A49A59306\"5120share155506866511003689155506866514106110Fri, 12 Apr 2019 11:31:05 GMT\"0x8D6BF3A5997F3BE\"5120share155506897142509196Fri, 12 Apr 2019 11:36:11 GMT\"0x8D6BF3B102C6967\"5120share155506897230405925155506897235101961Fri, 12 Apr 2019 11:36:12 GMT\"0x8D6BF3B10B83AAD\"5120share155506900156507816155506900158101898Fri, 12 Apr 2019 11:36:41 GMT\"0x8D6BF3B2225FF10\"5120share155506922733502087Fri, 12 Apr 2019 11:40:27 GMT\"0x8D6BF3BA8C23585\"5120share155506923038104120155506923074402676Fri, 12 Apr 2019 11:40:30 GMT\"0x8D6BF3BAACA866A\"5120share155506928568601336155506928586704986Fri, 12 Apr 2019 11:41:25 GMT\"0x8D6BF3BCBA3278F\"5120share155506957242005394Fri, 12 Apr 2019 11:46:12 GMT\"0x8D6BF3C767049A5\"5120share155506957743506847155506957779804584Fri, 12 Apr 2019 11:46:17 GMT\"0x8D6BF3C79A3E022\"5120share155506963326709082155506963344002439Fri, 12 Apr 2019 11:47:13 GMT\"0x8D6BF3C9ACD0D96\"5120share155506990427401355Fri, 12 Apr 2019 11:51:44 GMT\"0x8D6BF3D3C3FB7D7\"5120share155506990726700768155506990858704284Fri, 12 Apr 2019 11:51:48 GMT\"0x8D6BF3D3ED1EDD2\"5120share155506996647800617155506996664704791Fri, 12 Apr 2019 11:52:46 GMT\"0x8D6BF3D616C706B\"5120share155512644720907744Sat, 13 Apr 2019 03:34:07 GMT\"0x8D6BFC0E2A1A83B\"5120share155512645443804909155512645573404643Sat, 13 Apr 2019 03:34:16 GMT\"0x8D6BFC0E7C4CE99\"5120share155512656455209259155512656522205112Sat, 13 Apr 2019 03:36:05 GMT\"0x8D6BFC128E570AB\"5120share155512679757904247Sat, 13 Apr 2019 03:39:57 GMT\"0x8D6BFC1B3655FDB\"5120share155515332953602339Sat, 13 Apr 2019 11:02:09 GMT\"0x8D6BFFF797F7F67\"5120share155515333132005839155515333134603307Sat, 13 Apr 2019 11:02:11 GMT\"0x8D6BFFF7A9394FF\"5120share155515334716009504155515334717208600Sat, 13 Apr 2019 11:02:27 GMT\"0x8D6BFFF84025D13\"5120share155515337211202917Sat, 13 Apr 2019 11:02:52 GMT\"0x8D6BFFF93019996\"5120share155515337799207116155515337815203201Sat, 13 Apr 2019 11:02:58 GMT\"0x8D6BFFF9682A8F3\"5120share155515343857608004155515343865600233Sat, 13 Apr 2019 11:03:58 GMT\"0x8D6BFFFBAAECD7F\"5120share155515373957208433Sat, 13 Apr 2019 11:08:59 GMT\"0x8D6C0006DE70B38\"5120share155515375889701481155515375893402001Sat, 13 Apr 2019 11:09:18 GMT\"0x8D6C00079709685\"5120share155515379789204290155515379790606876Sat, 13 Apr 2019 11:09:57 GMT\"0x8D6C00090AA0CB1\"5120share155515394778104787Sat, 13 Apr 2019 11:12:27 GMT\"0x8D6C000EA00F332\"5120share155515394918607154155515394934805953Sat, 13 Apr 2019 11:12:29 GMT\"0x8D6C000EB2187B3\"5120share155515397662402015155515397664207701Sat, 13 Apr 2019 11:12:56 GMT\"0x8D6C000FB3464BC\"5120share155515407173608133Sat, 13 Apr 2019 11:14:31 GMT\"0x8D6C0013400A2AC\"5120share155515407347804860155515407365704793Sat, 13 Apr 2019 11:14:33 GMT\"0x8D6C00135109915\"5120share155515410200606372155515410209601041Sat, 13 Apr 2019 11:15:02 GMT\"0x8D6C001460400F2\"5120share155515419507804760Sat, 13 Apr 2019 11:16:35 GMT\"0x8D6C0017D8E82B7\"5120share155515419609804201155515419614704354Sat, 13 Apr 2019 11:16:36 GMT\"0x8D6C0017E0B210D\"5120share155515423073708967155515423286302712Sat, 13 Apr 2019 11:17:12 GMT\"0x8D6C00193ED63DD\"5120share155515451710102731Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023D5909E7\"5120share155515451771906465155515451778307619Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023DC196A4\"5120share155515455158703949155515455160200624Sat, 13 Apr 2019 11:22:31 GMT\"0x8D6C00251EA8AEC\"5120share155515484116005106Sat, 13 Apr 2019 11:27:21 GMT\"0x8D6C002FE7F89F9\"5120share155515484246808118155515484251102561Sat, 13 Apr 2019 11:27:22 GMT\"0x8D6C002FF4D9836\"5120share155515486366505500155515486369609506Sat, 13 Apr 2019 11:27:43 GMT\"0x8D6C0030BEE82E6\"5120share155515518956908415Sat, 13 Apr 2019 11:33:09 GMT\"0x8D6C003CE2CBFF5\"5120share155515519023504740155515519028205997Sat, 13 Apr 2019 11:33:10 GMT\"0x8D6C003CE995C00\"5120share155515521208103058155515521209704227Sat, 13 Apr 2019 11:33:32 GMT\"0x8D6C003DB994D13\"5120share155515544412001539Sat, 13 Apr 2019 11:37:24 GMT\"0x8D6C00465F85EFF\"5120share155515544701403547155515544736709856Sat, 13 Apr 2019 11:37:27 GMT\"0x8D6C00467E74ACD\"5120share155515549960109573155515549977503756Sat, 13 Apr 2019 11:38:19 GMT\"0x8D6C0048723AF04\"5120share155515575696104941Sat, 13 Apr 2019 11:42:37 GMT\"0x8D6C005207046CB\"5120share155515576002205864155515576037106690Sat, 13 Apr 2019 11:42:40 GMT\"0x8D6C00522778CA6\"5120share155515581335804060155515581353108782Sat, 13 Apr 2019 11:43:33 GMT\"0x8D6C0054226BC2D\"5120share155515609277909871Sat, 13 Apr 2019 11:48:12 GMT\"0x8D6C005E899CD33\"5120share155515609680009591155515609726705954Sat, 13 Apr 2019 11:48:17 GMT\"0x8D6C005EB46D13E\"5120share155515614666004322155515614683202492Sat, 13 Apr 2019 11:49:06 GMT\"0x8D6C00608D0D7EA\"5120share155523972563402918Sun, 14 Apr 2019 11:02:05 GMT\"0x8D6C0C8A1A57EE1\"5120share155523972846006428155523972854309146Sun, 14 Apr 2019 11:02:08 GMT\"0x8D6C0C8A354D131\"5120share155523975181800309155523975186002763Sun, 14 Apr 2019 11:02:31 GMT\"0x8D6C0C8B13AAB29\"5120share155523975476009841Sun, 14 Apr 2019 11:02:34 GMT\"0x8D6C0C8B2FACE38\"5120share155523975786403226155523975946205362Sun, 14 Apr 2019 11:02:39 GMT\"0x8D6C0C8B5C89023\"5120share155523982133602164155523982216202749Sun, 14 Apr 2019 11:03:42 GMT\"0x8D6C0C8DB30CFE3\"5120share155524013107906841Sun, 14 Apr 2019 11:08:51 GMT\"0x8D6C0C99340BE58\"5120share155524013345703248155524013348709767Sun, 14 Apr 2019 11:08:53 GMT\"0x8D6C0C994B03BFC\"5120share155524015095705974155524015097103470Sun, 14 Apr 2019 11:09:10 GMT\"0x8D6C0C99F1C0B9E\"5120share155524021269704125Sun, 14 Apr 2019 11:10:13 GMT\"0x8D6C0C9C4622350\"5120share155524021719509152155524021734908307Sun, 14 Apr 2019 11:10:17 GMT\"0x8D6C0C9C6AD286E\"5120share155524024923607696155524024925705826Sun, 14 Apr 2019 11:10:49 GMT\"0x8D6C0C9D9E7B704\"5120share155524026327306963Sun, 14 Apr 2019 11:11:03 GMT\"0x8D6C0C9E2405917\"5120share155524026548904913155524026567204179Sun, 14 Apr 2019 11:11:05 GMT\"0x8D6C0C9E37E967B\"5120share155524030632607257155524030641508963Sun, 14 Apr 2019 11:11:46 GMT\"0x8D6C0C9FBC7E024\"5120share155524044965804361Sun, 14 Apr 2019 11:14:09 GMT\"0x8D6C0CA51246B8E\"5120share155524045120102941155524045134606678Sun, 14 Apr 2019 11:14:11 GMT\"0x8D6C0CA5225F523\"5120share155524047915003736155524047977906720Sun, 14 Apr 2019 11:14:39 GMT\"0x8D6C0CA63182CCB\"5120share155524078617101300Sun, 14 Apr 2019 11:19:46 GMT\"0x8D6C0CB19B96C89\"5120share155524078937808496155524079027604566Sun, 14 Apr 2019 11:19:51 GMT\"0x8D6C0CB1CB6CC02\"5120share155524083480905582155524083484002684Sun, 14 Apr 2019 11:20:34 GMT\"0x8D6C0CB36BA42E2\"5120share155524114771102323Sun, 14 Apr 2019 11:25:47 GMT\"0x8D6C0CBF136A11B\"5120share155524115650204611155524115676003349Sun, 14 Apr 2019 11:25:56 GMT\"0x8D6C0CBF69A9C67\"5120share155524118633505833155524118636606794Sun, 14 Apr 2019 11:26:26 GMT\"0x8D6C0CC08422CA2\"5120share155524152984609186Sun, 14 Apr 2019 11:32:09 GMT\"0x8D6C0CCD4FD31E8\"5120share155524153899407575155524153904106704Sun, 14 Apr 2019 11:32:19 GMT\"0x8D6C0CCDA7676BB\"5120share155524156472600266155524156474206614Sun, 14 Apr 2019 11:32:44 GMT\"0x8D6C0CCE9C9F816\"5120share155524179352704148Sun, 14 Apr 2019 11:36:33 GMT\"0x8D6C0CD7239EB5A\"5120share155524179753806035155524179820702547Sun, 14 Apr 2019 11:36:38 GMT\"0x8D6C0CD7503C6AF\"5120share155524184816604357155524185379908254Sun, 14 Apr 2019 11:37:33 GMT\"0x8D6C0CD9626119F\"5120share155524215012701349Sun, 14 Apr 2019 11:42:30 GMT\"0x8D6C0CE46C6E1CD\"5120share155524215367607082155524215405106431Sun, 14 Apr 2019 11:42:34 GMT\"0x8D6C0CE491D1AD7\"5120share155524220627609881155524220645007845Sun, 14 Apr 2019 11:43:26 GMT\"0x8D6C0CE6857F2F2\"5120share155524250457408298Sun, 14 Apr 2019 11:48:24 GMT\"0x8D6C0CF1A0B4445\"5120share155524250759003260155524250794109789Sun, 14 Apr 2019 11:48:28 GMT\"0x8D6C0CF1C0D1857\"5120share155524256514106448155524256531804718Sun, 14 Apr 2019 11:49:25 GMT\"0x8D6C0CF3E3FA6CF\"5120share155532613122901412Mon, 15 Apr 2019 11:02:11 GMT\"0x8D6C191CF62EDAB\"5120share155532613225806589155532613234400258Mon, 15 Apr 2019 11:02:12 GMT\"0x8D6C191D0022A3A\"5120share155532615554502997155532615558408768Mon, 15 Apr 2019 11:02:35 GMT\"0x8D6C191DDDC8A54\"5120share155532623242907675Mon, 15 Apr 2019 11:03:52 GMT\"0x8D6C1920BE8AECE\"5120share155532623985301138155532624014404643Mon, 15 Apr 2019 11:04:00 GMT\"0x8D6C19210603437\"5120share155532630302204772155532630304602475Mon, 15 Apr 2019 11:05:03 GMT\"0x8D6C19235C07054\"5120share155532649710009530Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A96854B0\"5120share155532649744806724155532649747405217Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A9A16765\"5120share155532651230505127155532651232109373Mon, 15 Apr 2019 11:08:32 GMT\"0x8D6C192B27AEBD9\"5120share155532665274909034Mon, 15 Apr 2019 11:10:52 GMT\"0x8D6C193063828B5\"5120share155532665779301144155532665795305505Mon, 15 Apr 2019 11:10:58 GMT\"0x8D6C1930953F71B\"5120share155532668636605451Mon, 15 Apr 2019 11:11:26 GMT\"0x8D6C1931A84E0CB\"5120share155532668851001958155532668869708221Mon, 15 Apr 2019 11:11:28 GMT\"0x8D6C1931BA311FF\"5120share155532671950203165155532671991908048Mon, 15 Apr 2019 11:11:59 GMT\"0x8D6C1932E4225E0\"5120share155532672415401526155532672424500176Mon, 15 Apr 2019 11:12:04 GMT\"0x8D6C19330D46F6E\"5120share155532694866104349Mon, 15 Apr 2019 11:15:48 GMT\"0x8D6C193B697FC01\"5120share155532695096608028155532695134004095Mon, 15 Apr 2019 11:15:51 GMT\"0x8D6C193B8453E7E\"5120share155532699549303169155532699571103064Mon, 15 Apr 2019 11:16:35 GMT\"0x8D6C193D2A2FBE2\"5120share155532730686902441Mon, 15 Apr 2019 11:21:46 GMT\"0x8D6C1948C14A8A2\"5120share155532730821207416155532730887801551Mon, 15 Apr 2019 11:21:48 GMT\"0x8D6C1948D44F25C\"5120share155532733547106330155532733548702182Mon, 15 Apr 2019 11:22:15 GMT\"0x8D6C1949D227707\"5120share155532762909302194Mon, 15 Apr 2019 11:27:09 GMT\"0x8D6C1954C23E6E5\"5120share155532762993901249155532762998607585Mon, 15 Apr 2019 11:27:10 GMT\"0x8D6C1954CACBB19\"5120share155532766217804204155532766220901342Mon, 15 Apr 2019 11:27:42 GMT\"0x8D6C1955FE09561\"5120share155532798608100078Mon, 15 Apr 2019 11:33:06 GMT\"0x8D6C196211E0513\"5120share155532798786104582155532798790801989Mon, 15 Apr 2019 11:33:08 GMT\"0x8D6C19622172228\"5120share155532801332005290155532801333506642Mon, 15 Apr 2019 11:33:33 GMT\"0x8D6C196312AE129\"5120share155532825264602754Mon, 15 Apr 2019 11:37:32 GMT\"0x8D6C196BFDE354E\"5120share155532825615400146155532825651301297Mon, 15 Apr 2019 11:37:36 GMT\"0x8D6C196C22BF7C8\"5120share155532830944004051155532830962109665Mon, 15 Apr 2019 11:38:29 GMT\"0x8D6C196E1D4B3D6\"5120share155532860283705934Mon, 15 Apr 2019 11:43:23 GMT\"0x8D6C19790B85279\"5120share155532860591402599155532860626203748Mon, 15 Apr 2019 11:43:26 GMT\"0x8D6C19792C39B8A\"5120share155532865928107481155532865946409770Mon, 15 Apr 2019 11:44:19 GMT\"0x8D6C197B25D3B4C\"5120share155532894816307878Mon, 15 Apr 2019 11:49:08 GMT\"0x8D6C1985E709657\"5120share155532895115005912155532895150108737Mon, 15 Apr 2019 11:49:11 GMT\"0x8D6C198606E1B49\"5120share155532900519604536155532900537002394Mon, 15 Apr 2019 11:50:05 GMT\"0x8D6C1988089C37B\"5120share155541254266906758Tue, 16 Apr 2019 11:02:24 GMT\"0x8D6C25B01E63294\"5120share155541254704901514155541254722205184Tue, 16 Apr 2019 11:02:27 GMT\"0x8D6C25B034F0342\"5120share155541257726609606155541257735100960Tue, 16 Apr 2019 11:02:57 GMT\"0x8D6C25B154451E5\"5120share155541258394001344Tue, 16 Apr 2019 11:03:06 GMT\"0x8D6C25B1A99310F\"5120share155541259331901356155541259718300665Tue, 16 Apr 2019 11:03:17 GMT\"0x8D6C25B21238E58\"5120share155541275463405342155541275509408341Tue, 16 Apr 2019 11:05:56 GMT\"0x8D6C25B7FDAE42C\"5120share155541332218001340Tue, 16 Apr 2019 11:15:22 GMT\"0x8D6C25CD1313106\"5120share155541333391202994155541333394201763Tue, 16 Apr 2019 11:15:33 GMT\"0x8D6C25CD833D6F8\"5120share155541336698403997155541336700200957Tue, 16 Apr 2019 11:16:07 GMT\"0x8D6C25CEBE8BE26\"5120share155541340019809612Tue, 16 Apr 2019 11:16:42 GMT\"0x8D6C25D00C4E301\"5120share155541340431404906155541340450501927Tue, 16 Apr 2019 11:16:45 GMT\"0x8D6C25D029765BC\"5120share155541351620901519155541351633009731Tue, 16 Apr 2019 11:18:36 GMT\"0x8D6C25D44F2CB83\"5120share155541365388401666Tue, 16 Apr 2019 11:20:54 GMT\"0x8D6C25D97184EBA\"5120share155541365734901246155541365753206510Tue, 16 Apr 2019 11:20:57 GMT\"0x8D6C25D99195E68\"5120share155541368795303261155541368804508446Tue, 16 Apr 2019 11:21:28 GMT\"0x8D6C25DAB4935EB\"5120share155541380951505125Tue, 16 Apr 2019 11:23:30 GMT\"0x8D6C25DF41B7633\"5120share155541381521101270155541381537608334Tue, 16 Apr 2019 11:23:35 GMT\"0x8D6C25DF78136DD\"5120share155541389134901136155541389142503336Tue, 16 Apr 2019 11:24:52 GMT\"0x8D6C25E24E9DEEC\"5120share155541423557305011Tue, 16 Apr 2019 11:30:35 GMT\"0x8D6C25EF1A0EFED\"5120share155541424210207450155541424307606173Tue, 16 Apr 2019 11:30:43 GMT\"0x8D6C25EF61A1F1E\"5120share155541428387009705155541428390104095Tue, 16 Apr 2019 11:31:24 GMT\"0x8D6C25F0EA4F648\"5120share155541460901500620Tue, 16 Apr 2019 11:36:49 GMT\"0x8D6C25FD0587C69\"5120share155541460989209750155541460997003508Tue, 16 Apr 2019 11:36:50 GMT\"0x8D6C25FD0ECE125\"5120share155541463453808516155541463456909627Tue, 16 Apr 2019 11:37:14 GMT\"0x8D6C25FDF70CD23\"5120share155541495149601147Tue, 16 Apr 2019 11:42:31 GMT\"0x8D6C2609C597458\"5120share155541495234103609155541495238807035Tue, 16 Apr 2019 11:42:32 GMT\"0x8D6C2609CDFEC22\"5120share155541498022705756155541498024304069Tue, 16 Apr 2019 11:43:00 GMT\"0x8D6C260AD7AF75C\"5120share155541521993507818Tue, 16 Apr 2019 11:47:00 GMT\"0x8D6C2613C6CE4FD\"5120share155541522302504398155541522343008691Tue, 16 Apr 2019 11:47:03 GMT\"0x8D6C2613E8133C2\"5120share155541528560504973155541528889003453Tue, 16 Apr 2019 11:48:09 GMT\"0x8D6C26165851668\"5120share155541557757802202Tue, 16 Apr 2019 11:52:57 GMT\"0x8D6C26211976A21\"5120share155541558548808426155541558584407224Tue, 16 Apr 2019 11:53:05 GMT\"0x8D6C2621684B2B8\"5120share155541563573506420155541563590907833Tue, 16 Apr 2019 11:53:56 GMT\"0x8D6C262348D397D\"5120share155541593216004589Tue, 16 Apr 2019 11:58:52 GMT\"0x8D6C262E4F09A4B\"5120share155541593570005076155541593605107442Tue, 16 Apr 2019 11:58:56 GMT\"0x8D6C262E742269D\"5120share155541599013809500155541599031301890Tue, 16 Apr 2019 11:59:50 GMT\"0x8D6C26307993211\"5120share155549893423105655Wed, 17 Apr 2019 11:02:16 GMT\"0x8D6C324271BAA36\"5120share155549893951306087155549893970607676Wed, 17 Apr 2019 11:02:19 GMT\"0x8D6C324293F0208\"5120share155549897171300831Wed, 17 Apr 2019 11:02:52 GMT\"0x8D6C3243CF9A634\"5120share155549897401609400155549897410205483Wed, 17 Apr 2019 11:02:54 GMT\"0x8D6C3243DBFA4FC\"5120share155549897546703999155549897569707719Wed, 17 Apr 2019 11:02:55 GMT\"0x8D6C3243EB9C89B\"5120share155549906322000959155549906330109486Wed, 17 Apr 2019 11:04:23 GMT\"0x8D6C32472F134A6\"5120share155549965941700512Wed, 17 Apr 2019 11:14:19 GMT\"0x8D6C325D63A5B3F\"5120share155549966157400319155549966175200315Wed, 17 Apr 2019 11:14:21 GMT\"0x8D6C325D79DA5B7\"5120share155549971518608598155549971561404891Wed, 17 Apr 2019 11:15:15 GMT\"0x8D6C325F7B8AFA3\"5120share155549978405302833Wed, 17 Apr 2019 11:16:24 GMT\"0x8D6C326207DB3DC\"5120share155549978511702131155549978517806033Wed, 17 Apr 2019 11:16:25 GMT\"0x8D6C32621294535\"5120share155549980131605649155549980133103239Wed, 17 Apr 2019 11:16:41 GMT\"0x8D6C3262ACA3D2C\"5120share155550002738005277Wed, 17 Apr 2019 11:20:27 GMT\"0x8D6C326B1A24665\"5120share155550002983909494155550003002100264Wed, 17 Apr 2019 11:20:30 GMT\"0x8D6C326B31EBAA7\"5120share155550006142202418155550006151604324Wed, 17 Apr 2019 11:21:01 GMT\"0x8D6C326C5E429E5\"5120share155550009606909758Wed, 17 Apr 2019 11:21:36 GMT\"0x8D6C326DA7D5D08\"5120share155550009760705130155550011425007819Wed, 17 Apr 2019 11:21:54 GMT\"0x8D6C326E553CE47\"5120share155550015985409525155550015992505947Wed, 17 Apr 2019 11:22:39 GMT\"0x8D6C327008D05C8\"5120share155550051259905095Wed, 17 Apr 2019 11:28:32 GMT\"0x8D6C327D2EAB6BB\"5120share155550051502006429155550051529202610Wed, 17 Apr 2019 11:28:35 GMT\"0x8D6C327D459D250\"5120share155550055250105787155550055253306514Wed, 17 Apr 2019 11:29:12 GMT\"0x8D6C327EAA8ACA5\"5120share155550088263301102Wed, 17 Apr 2019 11:34:42 GMT\"0x8D6C328AF698573\"5120share155550088987503055155550088992208325Wed, 17 Apr 2019 11:34:50 GMT\"0x8D6C328B3C5CE25\"5120share155550092694403401155550092964703585Wed, 17 Apr 2019 11:35:29 GMT\"0x8D6C328CB52F6FE\"5120share155550128719404242Wed, 17 Apr 2019 11:41:27 GMT\"0x8D6C329A06FBC14\"5120share155550128869409229155550128926507283Wed, 17 Apr 2019 11:41:29 GMT\"0x8D6C329A1ABFF33\"5120share155550132367805226155550132369307996Wed, 17 Apr 2019 11:42:03 GMT\"0x8D6C329B631B774\"5120share155550156726204845Wed, 17 Apr 2019 11:46:07 GMT\"0x8D6C32A4770EF93\"5120share155550157040602071155550157076409850Wed, 17 Apr 2019 11:46:10 GMT\"0x8D6C32A4985D59F\"5120share155550163293808211155550163312201213Wed, 17 Apr 2019 11:47:13 GMT\"0x8D6C32A6EB141F0\"5120share155550197119504850Wed, 17 Apr 2019 11:52:51 GMT\"0x8D6C32B3833750F\"5120share155550197461700480155550197501504695Wed, 17 Apr 2019 11:52:55 GMT\"0x8D6C32B3A7AC857\"5120share155550203363000262155550203381302772Wed, 17 Apr 2019 11:53:53 GMT\"0x8D6C32B5D8624BF\"5120share155550242341102516Wed, 17 Apr 2019 12:00:23 GMT\"0x8D6C32C45BDF478\"5120share155550242674407416155550242710704735Wed, 17 Apr 2019 12:00:27 GMT\"0x8D6C32C47F1FD5B\"5120share155550248691308149155550248709006105Wed, 17 Apr 2019 12:01:27 GMT\"0x8D6C32C6BB1D387\"5120share155552560545404292Wed, 17 Apr 2019 18:26:45 GMT\"0x8D6C3623F6E51E9\"5120share155552560809403357155552560834301039Wed, 17 Apr 2019 18:26:48 GMT\"0x8D6C36241013AA2\"5120share155552564907209438155552564919503843Wed, 17 Apr 2019 18:27:29 GMT\"0x8D6C362595AC1D4\"5120share155552565476607413Wed, 17 Apr 2019 18:27:35 GMT\"0x8D6C3625D267F23\"5120share155552566303103495155552566351701314Wed, 17 Apr 2019 18:27:43 GMT\"0x8D6C36261F69DD9\"5120share155552578011908260155552578062307634Wed, 17 Apr 2019 18:29:40 GMT\"0x8D6C362A7C38020\"5120share155552614480001295Wed, 17 Apr 2019 18:35:47 GMT\"0x8D6C363823B7554\"5120share155552615120901855155552615136405806Wed, 17 Apr 2019 18:35:51 GMT\"0x8D6C36384A975B8\"5120share155552615366401269Wed, 17 Apr 2019 18:35:53 GMT\"0x8D6C36385FEA70C\"5120share155552615404704286155552615408701313Wed, 17 Apr 2019 18:35:54 GMT\"0x8D6C363863FE0E9\"5120share155552617174909395155552617176307704Wed, 17 Apr 2019 18:36:11 GMT\"0x8D6C36390C91C6B\"5120share155552622852006858155552622859402876Wed, 17 Apr 2019 18:37:08 GMT\"0x8D6C363B2B0CA30\"5120share155552628740508216Wed, 17 Apr 2019 18:38:07 GMT\"0x8D6C363D5F22384\"5120share155552629053208133155552629074209107Wed, 17 Apr 2019 18:38:10 GMT\"0x8D6C363D7BAB6CF\"5120share155552633147703067155552633156701774Wed, 17 Apr 2019 18:38:51 GMT\"0x8D6C363F00FF2E5\"5120share155552648726709764Wed, 17 Apr 2019 18:41:27 GMT\"0x8D6C3644D075E26\"5120share155552649436202173155552649474208215Wed, 17 Apr 2019 18:41:35 GMT\"0x8D6C364517CAEBD\"5120share155552656168000918155552656187209904Wed, 17 Apr 2019 18:42:42 GMT\"0x8D6C36479618E75\"5120share155552693163608945Wed, 17 Apr 2019 18:48:52 GMT\"0x8D6C36556520750\"5120share155552693446204528155552693463308719Wed, 17 Apr 2019 18:48:54 GMT\"0x8D6C3655786650B\"5120share155552697993108967155552698000907445Wed, 17 Apr 2019 18:49:40 GMT\"0x8D6C36572A9F003\"5120share155552729425804271Wed, 17 Apr 2019 18:54:54 GMT\"0x8D6C3662DE20556\"5120share155552729598803339155552729614405737Wed, 17 Apr 2019 18:54:56 GMT\"0x8D6C3662F0A9030\"5120share155552733112600872155552733118908362Wed, 17 Apr 2019 18:55:31 GMT\"0x8D6C36643E5922E\"5120share155552772564603671Wed, 17 Apr 2019 19:02:05 GMT\"0x8D6C3672EF935F7\"5120share155552772624901917155552772628004531Wed, 17 Apr 2019 19:02:06 GMT\"0x8D6C3672F5BF35A\"5120share155552775724706421155552775727802514Wed, 17 Apr 2019 19:02:37 GMT\"0x8D6C36741D4B9B6\"5120share155552802670503142Wed, 17 Apr 2019 19:07:06 GMT\"0x8D6C367E2807ADC\"5120share155552803282203340155552803318603518Wed, 17 Apr 2019 19:07:13 GMT\"0x8D6C367E65B28E5\"5120share155552809032904944155552809090908066Wed, 17 Apr 2019 19:08:11 GMT\"0x8D6C36808C39DB8\"5120share155552838825607453Wed, 17 Apr 2019 19:13:08 GMT\"0x8D6C368B9FE54F7\"5120share155552839148508358155552839193408320Wed, 17 Apr 2019 19:13:12 GMT\"0x8D6C368BC2F9AEA\"5120share155552844815104394155552844833406262Wed, 17 Apr 2019 19:14:08 GMT\"0x8D6C368DDCD31FD\"5120share155552878402607069Wed, 17 Apr 2019 19:19:44 GMT\"0x8D6C369A5E49D58\"5120share155552878826702128155552878862507316Wed, 17 Apr 2019 19:19:48 GMT\"0x8D6C369A8A22518\"5120share155552884129007821155552884146501049Wed, 17 Apr 2019 19:20:41 GMT\"0x8D6C369C81F98C8\"5120share155558533127600563Thu, 18 Apr 2019 11:02:11 GMT\"0x8D6C3ED4EB5FE06\"5120share155558533326108913155558533341701278Thu, 18 Apr 2019 11:02:13 GMT\"0x8D6C3ED4FE7D39E\"5120share155558536029301808155558536036603046Thu, 18 Apr 2019 11:02:40 GMT\"0x8D6C3ED5FF94117\"5120share155558537329802053Thu, 18 Apr 2019 11:02:53 GMT\"0x8D6C3ED67E43F37\"5120share155558537790904707155558537838909948Thu, 18 Apr 2019 11:02:59 GMT\"0x8D6C3ED6B35010E\"5120share155558553437606602155558553452403381Thu, 18 Apr 2019 11:05:35 GMT\"0x8D6C3EDC8567F8E\"5120share155558600311408161Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF0CB075\"5120share155558600376909016155558600379609735Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF74C41A\"5120share155558601862101564155558601863401502Thu, 18 Apr 2019 11:13:38 GMT\"0x8D6C3EEE84CEB0A\"5120share155558617728402366Thu, 18 Apr 2019 11:16:17 GMT\"0x8D6C3EF46E0E671\"5120share155558617963201324155558617967308167Thu, 18 Apr 2019 11:16:19 GMT\"0x8D6C3EF484A4F65\"5120share155558622185704428Thu, 18 Apr 2019 11:17:02 GMT\"0x8D6C3EF61870C3D\"5120share155558622374608647155558622393206409Thu, 18 Apr 2019 11:17:03 GMT\"0x8D6C3EF62B0BF15\"5120share155558626297903235155558626308203729Thu, 18 Apr 2019 11:17:43 GMT\"0x8D6C3EF7A065E48\"5120share155558627287602013155558627333600766Thu, 18 Apr 2019 11:17:54 GMT\"0x8D6C3EF80C86890\"5120share155558650337201708Thu, 18 Apr 2019 11:21:43 GMT\"0x8D6C3F009423CB2\"5120share155558651265101014155558651330107985Thu, 18 Apr 2019 11:21:53 GMT\"0x8D6C3F00F2DD147\"5120share155558657593309443155558657601100869Thu, 18 Apr 2019 11:22:56 GMT\"0x8D6C3F0348FD711\"5120share155558692134205333Thu, 18 Apr 2019 11:28:41 GMT\"0x8D6C3F1025B7B05\"5120share155558692763501858155558692941807357Thu, 18 Apr 2019 11:28:49 GMT\"0x8D6C3F1072BC065\"5120share155558696820601017155558696822107945Thu, 18 Apr 2019 11:29:28 GMT\"0x8D6C3F11E4E16A8\"5120share155558731013204298Thu, 18 Apr 2019 11:35:10 GMT\"0x8D6C3F1EA195BC8\"5120share155558731124900977155558731129604089Thu, 18 Apr 2019 11:35:11 GMT\"0x8D6C3F1EAC9CFC1\"5120share155558735412207891155558735415409398Thu, 18 Apr 2019 11:35:54 GMT\"0x8D6C3F204555DC8\"5120share155558766508405728Thu, 18 Apr 2019 11:41:05 GMT\"0x8D6C3F2BDA95065\"5120share155558766914207910155558767009601245Thu, 18 Apr 2019 11:41:10 GMT\"0x8D6C3F2C0A65C74\"5120share155558770515003967155558770518109064Thu, 18 Apr 2019 11:41:45 GMT\"0x8D6C3F2D58FB3EA\"5120share155558793089708251Thu, 18 Apr 2019 11:45:31 GMT\"0x8D6C3F35C2C9F38\"5120share155558793444503290155558793481008090Thu, 18 Apr 2019 11:45:34 GMT\"0x8D6C3F35E81F9AC\"5120share155558799946700102155558799964409447Thu, 18 Apr 2019 11:46:39 GMT\"0x8D6C3F38527F5EE\"5120share155558831554006522Thu, 18 Apr 2019 11:51:55 GMT\"0x8D6C3F441761EFC\"5120share155558831880805187155558831916801086Thu, 18 Apr 2019 11:51:59 GMT\"0x8D6C3F4439C8AC2\"5120share155558837917309951155558837934900091Thu, 18 Apr 2019 11:52:59 GMT\"0x8D6C3F4677C5E1C\"5120share155558870281601956Thu, 18 Apr 2019 11:58:22 GMT\"0x8D6C3F528477EB6\"5120share155558870609201875155558870644608087Thu, 18 Apr 2019 11:58:26 GMT\"0x8D6C3F52A718909\"5120share155558875844500911155558875952009938Thu, 18 Apr 2019 11:59:19 GMT\"0x8D6C3F54A13F0B6\"5120share155567192576105879Fri, 19 Apr 2019 11:05:25 GMT\"0x8D6C4B6ECF03F32\"5120share155567192759500710155567192762400666Fri, 19 Apr 2019 11:05:27 GMT\"0x8D6C4B6EE0C32F4\"5120share155567194474605632155567194476809595Fri, 19 Apr 2019 11:05:44 GMT\"0x8D6C4B6F844366E\"5120share155567208446902690Fri, 19 Apr 2019 11:08:04 GMT\"0x8D6C4B74B91AD3E\"5120share155567209577205738155567209649502753Fri, 19 Apr 2019 11:08:16 GMT\"0x8D6C4B752BC478C\"5120share155567223020006989155567223027903712Fri, 19 Apr 2019 11:10:30 GMT\"0x8D6C4B7A27B037E\"5120share155567267214700785Fri, 19 Apr 2019 11:17:52 GMT\"0x8D6C4B8A9D19C03\"5120share155567267430107959155567267433708579Fri, 19 Apr 2019 11:17:54 GMT\"0x8D6C4B8AB1F421E\"5120share155567269138909553155567269140307566Fri, 19 Apr 2019 11:18:11 GMT\"0x8D6C4B8B54B0ED2\"5120share155567311897109020Fri, 19 Apr 2019 11:25:21 GMT\"0x8D6C4B9B58B66CA\"5120share155567312405708614155567312410100368Fri, 19 Apr 2019 11:25:24 GMT\"0x8D6C4B9B734CF1F\"5120share155567319408508398155567319411202788Fri, 19 Apr 2019 11:26:34 GMT\"0x8D6C4B9E0EFEFA2\"5120share155567325083704762Fri, 19 Apr 2019 11:27:31 GMT\"0x8D6C4BA02E60255\"5120share155567325320707587155567325338705102Fri, 19 Apr 2019 11:27:33 GMT\"0x8D6C4BA044A5A30\"5120share155567328437209547155567328446100050Fri, 19 Apr 2019 11:28:04 GMT\"0x8D6C4BA16CFBDB9\"5120share155567352544707619Fri, 19 Apr 2019 11:32:05 GMT\"0x8D6C4BAA674C7F0\"5120share155567352744206930155567352797607965Fri, 19 Apr 2019 11:32:08 GMT\"0x8D6C4BAA7F7D44D\"5120share155567358442406268155567358449406827Fri, 19 Apr 2019 11:33:04 GMT\"0x8D6C4BAC9A6DF39\"5120share155567398217802006Fri, 19 Apr 2019 11:39:42 GMT\"0x8D6C4BBB6AA75A8\"5120share155567398279006805155567398336005585Fri, 19 Apr 2019 11:39:43 GMT\"0x8D6C4BBB75F5426\"5120share155567403918702123155567403920200268Fri, 19 Apr 2019 11:40:39 GMT\"0x8D6C4BBD8C14626\"5120share155567436933209556Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9D6CD427\"5120share155567436990601250155567436996805574Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9DCD2726\"5120share155567440869506659155567440872700843Fri, 19 Apr 2019 11:46:48 GMT\"0x8D6C4BCB4E71856\"5120share155567477936602481Fri, 19 Apr 2019 11:52:59 GMT\"0x8D6C4BD91D41C09\"5120share155567478479206922155567478714104050Fri, 19 Apr 2019 11:53:07 GMT\"0x8D6C4BD968E8C03\"5120share155567481531606023155567481533203351Fri, 19 Apr 2019 11:53:35 GMT\"0x8D6C4BDA7451072\"5120share155567506263900872Fri, 19 Apr 2019 11:57:42 GMT\"0x8D6C4BE3ABC6304\"5120share155567506733803203155567506770005241Fri, 19 Apr 2019 11:57:47 GMT\"0x8D6C4BE3DC05814\"5120share155567519626500535155567519644501571Fri, 19 Apr 2019 11:59:56 GMT\"0x8D6C4BE8A7EB645\"5120share155567584657607063Fri, 19 Apr 2019 12:10:46 GMT\"0x8D6C4C00E00A781\"5120share155567585010305443155567585045601848Fri, 19 Apr 2019 12:10:50 GMT\"0x8D6C4C010509D14\"5120share155567590683409611155567590701101754Fri, 19 Apr 2019 12:11:47 GMT\"0x8D6C4C032053E4B\"5120share155567688970409248Fri, 19 Apr 2019 12:28:09 GMT\"0x8D6C4C27BC18845\"5120share155567689280005270155567689317004914Fri, 19 Apr 2019 12:28:13 GMT\"0x8D6C4C27DD2C5F7\"5120share155567696352901093155567696370407818Fri, 19 Apr 2019 12:29:23 GMT\"0x8D6C4C2A7DC5137\"5120share155575813209600793Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA3EA15F5\"5120share155575813264103256155575813266909560Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA4415492\"5120share155575814769709529155575814770902003Sat, 20 Apr 2019 11:02:27 GMT\"0x8D6C57FAD385350\"5120share155575815857904679Sat, 20 Apr 2019 11:02:38 GMT\"0x8D6C57FB3BCDF46\"5120share155575817852406107155575817915105783Sat, 20 Apr 2019 11:03:03 GMT\"0x8D6C57FC27AAC57\"5120share155575831923009371155575831931206134Sat, 20 Apr 2019 11:05:19 GMT\"0x8D6C580138A3A10\"5120share155575871359605018Sat, 20 Apr 2019 11:11:53 GMT\"0x8D6C580FE86A046\"5120share155575871428702299155575871431604033Sat, 20 Apr 2019 11:11:54 GMT\"0x8D6C580FEF3F7FC\"5120share155575873394302965155575873395709603Sat, 20 Apr 2019 11:12:13 GMT\"0x8D6C5810AA9800A\"5120share155575904781202748Sat, 20 Apr 2019 11:17:27 GMT\"0x8D6C581C5BB254F\"5120share155575905097005719155575905332806542Sat, 20 Apr 2019 11:17:33 GMT\"0x8D6C581C905325C\"5120share155575910684707057155575912204309650Sat, 20 Apr 2019 11:18:42 GMT\"0x8D6C581F1FB2C81\"5120share155575929713003223Sat, 20 Apr 2019 11:21:37 GMT\"0x8D6C5825A82DE07\"5120share155575930016402563155575930034609381Sat, 20 Apr 2019 11:21:40 GMT\"0x8D6C5825C478AF6\"5120share155575933047808006155575933058505517Sat, 20 Apr 2019 11:22:10 GMT\"0x8D6C5826E4D4AC9\"5120share155575961124103208Sat, 20 Apr 2019 11:26:51 GMT\"0x8D6C58315971DC5\"5120share155575961493403601155575961508806582Sat, 20 Apr 2019 11:26:55 GMT\"0x8D6C58317E6D1EC\"5120share155575966068000148155575966075709229Sat, 20 Apr 2019 11:27:40 GMT\"0x8D6C583331B0E83\"5120share155576000656408070Sat, 20 Apr 2019 11:33:26 GMT\"0x8D6C5840134EA85\"5120share155576001064302171155576001069108351Sat, 20 Apr 2019 11:33:30 GMT\"0x8D6C58403AA5B27\"5120share155576004937104562155576004940203313Sat, 20 Apr 2019 11:34:09 GMT\"0x8D6C5841ABAC530\"5120share155576033542302706Sat, 20 Apr 2019 11:38:55 GMT\"0x8D6C584C5354597\"5120share155576033677709710155576033682404294Sat, 20 Apr 2019 11:38:56 GMT\"0x8D6C584C60DB453\"5120share155576037504501320155576037507605550Sat, 20 Apr 2019 11:39:35 GMT\"0x8D6C584DCE2AFE2\"5120share155576068931400284Sat, 20 Apr 2019 11:44:49 GMT\"0x8D6C585982564A9\"5120share155576069062801352155576069065903568Sat, 20 Apr 2019 11:44:51 GMT\"0x8D6C585994219A7\"5120share155576075382903825155576075386008717Sat, 20 Apr 2019 11:45:53 GMT\"0x8D6C585BE9D2593\"5120share155576098915806721Sat, 20 Apr 2019 11:49:49 GMT\"0x8D6C5864AF0A797\"5120share155576099300703611155576099338008677Sat, 20 Apr 2019 11:49:53 GMT\"0x8D6C5864D76F52D\"5120share155576105534303557155576105551705906Sat, 20 Apr 2019 11:50:55 GMT\"0x8D6C586727DB775\"5120share155576136666205450Sat, 20 Apr 2019 11:56:06 GMT\"0x8D6C5872BF160EF\"5120share155576137051407415155576137301709295Sat, 20 Apr 2019 11:56:13 GMT\"0x8D6C5872FBBC94D\"5120share155576143359509198155576143377401809Sat, 20 Apr 2019 11:57:13 GMT\"0x8D6C58753F17AFE\"5120share155576172918400030Sat, 20 Apr 2019 12:02:09 GMT\"0x8D6C5880406BE99\"5120share155576173298002686155576173333000239Sat, 20 Apr 2019 12:02:13 GMT\"0x8D6C588067FC714\"5120share155576178810706053155576178828603693Sat, 20 Apr 2019 12:03:08 GMT\"0x8D6C58827406073\"5120share155584483815008730Sun, 21 Apr 2019 11:07:18 GMT\"0x8D6C64984C018B8\"5120share155584483913106938155584483917002424Sun, 21 Apr 2019 11:07:19 GMT\"0x8D6C649855BB84F\"5120share155584487226303315155584487227607551Sun, 21 Apr 2019 11:07:52 GMT\"0x8D6C64999173F81\"5120share155584489837205915Sun, 21 Apr 2019 11:08:19 GMT\"0x8D6C649A94749C7\"5120share155584492483905097155584492529203389Sun, 21 Apr 2019 11:08:46 GMT\"0x8D6C649B94E828D\"5120share155584508629703911155584508639100082Sun, 21 Apr 2019 11:11:30 GMT\"0x8D6C64A1B29FBA9\"5120share155584535534508096Sun, 21 Apr 2019 11:15:55 GMT\"0x8D6C64AB90607D2\"5120share155584535712303421155584535715808285Sun, 21 Apr 2019 11:15:57 GMT\"0x8D6C64ABA1AD765\"5120share155584537564003660155584537565301698Sun, 21 Apr 2019 11:16:15 GMT\"0x8D6C64AC520BC40\"5120share155584552829803240Sun, 21 Apr 2019 11:18:48 GMT\"0x8D6C64B201CB521\"5120share155584552946009061155584554426607097Sun, 21 Apr 2019 11:19:06 GMT\"0x8D6C64B2B0D789C\"5120share155584553254601653Sun, 21 Apr 2019 11:18:53 GMT\"0x8D6C64B22F5D3B0\"5120share155584553557203477155584553577408184Sun, 21 Apr 2019 11:18:55 GMT\"0x8D6C64B2498A2CE\"5120share155584556555008565155584556563806071Sun, 21 Apr 2019 11:19:25 GMT\"0x8D6C64B366554AE\"5120share155584560929207735155584560949607694Sun, 21 Apr 2019 11:20:09 GMT\"0x8D6C64B50866103\"5120share155584582875408540Sun, 21 Apr 2019 11:23:48 GMT\"0x8D6C64BD333A510\"5120share155584583143306682155584584392603919Sun, 21 Apr 2019 11:24:03 GMT\"0x8D6C64BDC3E8F63\"5120share155584589004107281155584589129507420Sun, 21 Apr 2019 11:24:51 GMT\"0x8D6C64BF87B2D1D\"5120share155584619907809616Sun, 21 Apr 2019 11:29:59 GMT\"0x8D6C64CAFF29B0C\"5120share155584620077203477155584620081900983Sun, 21 Apr 2019 11:30:00 GMT\"0x8D6C64CB0FB2BB9\"5120share155584623589400987155584623591001043Sun, 21 Apr 2019 11:30:35 GMT\"0x8D6C64CC5E519E6\"5120share155584655048200003Sun, 21 Apr 2019 11:35:53 GMT\"0x8D6C64D8343C259\"5120share155584655633605681155584655639907723Sun, 21 Apr 2019 11:35:56 GMT\"0x8D6C64D84E9D13D\"5120share155584659190504598155584659192105319Sun, 21 Apr 2019 11:36:31 GMT\"0x8D6C64D9A18FF60\"5120share155584692147804243Sun, 21 Apr 2019 11:42:01 GMT\"0x8D6C64E5E8615DE\"5120share155584692283204299155584692376504004Sun, 21 Apr 2019 11:42:03 GMT\"0x8D6C64E5FE23BA9\"5120share155584695869900110155584695871401997Sun, 21 Apr 2019 11:42:38 GMT\"0x8D6C64E74BA5B84\"5120share155584718460302343Sun, 21 Apr 2019 11:46:24 GMT\"0x8D6C64EFB6D686F\"5120share155584718782904821155584718821201794Sun, 21 Apr 2019 11:46:28 GMT\"0x8D6C64EFD94206B\"5120share155584725834704516155584725852403365Sun, 21 Apr 2019 11:47:38 GMT\"0x8D6C64F277DF7FC\"5120share155584757053309896Sun, 21 Apr 2019 11:52:50 GMT\"0x8D6C64FE176D8CF\"5120share155584757505503064155584757541600155Sun, 21 Apr 2019 11:52:55 GMT\"0x8D6C64FE4600590\"5120share155584763371702792155584763389403930Sun, 21 Apr 2019 11:53:54 GMT\"0x8D6C6500739DD6C\"5120share155584792739507966Sun, 21 Apr 2019 11:58:47 GMT\"0x8D6C650B62BD0F2\"5120share155584793112701333155584793148805328Sun, 21 Apr 2019 11:58:51 GMT\"0x8D6C650B89C9524\"5120share155584800506102766155584800524503368Sun, 21 Apr 2019 12:00:05 GMT\"0x8D6C650E491C775\"5120share155593096078609193Mon, 22 Apr 2019 11:02:40 GMT\"0x8D6C71209D6C3BA\"5120share155593096298307999155593096301000561Mon, 22 Apr 2019 11:02:43 GMT\"0x8D6C7120B29E7BB\"5120share155593098099104006155593098100306183Mon, 22 Apr 2019 11:03:01 GMT\"0x8D6C71215E3536B\"5120share155593098197300518Mon, 22 Apr 2019 11:03:02 GMT\"0x8D6C712169857BE\"5120share155593098884206175155593098950004812Mon, 22 Apr 2019 11:03:10 GMT\"0x8D6C7121B6CDB45\"5120share155593107350404511155593108535905887Mon, 22 Apr 2019 11:04:46 GMT\"0x8D6C71254C6DD40\"5120share155593187228406566Mon, 22 Apr 2019 11:17:52 GMT\"0x8D6C71429239B1A\"5120share155593187548705538155593187551807000Mon, 22 Apr 2019 11:17:55 GMT\"0x8D6C7142B1136FA\"5120share155593189155809001155593189157302927Mon, 22 Apr 2019 11:18:11 GMT\"0x8D6C71434A30A5F\"5120share155593202492008030Mon, 22 Apr 2019 11:20:24 GMT\"0x8D6C714841EDC26\"5120share155593202751103090155593202784104281Mon, 22 Apr 2019 11:20:27 GMT\"0x8D6C71485DE1B0F\"5120share155593207543600336155593207545703779Mon, 22 Apr 2019 11:21:15 GMT\"0x8D6C714A262740F\"5120share155593213752903864Mon, 22 Apr 2019 11:22:17 GMT\"0x8D6C714C77B439D\"5120share155593214175802480155593214194204117Mon, 22 Apr 2019 11:22:22 GMT\"0x8D6C714C9E5568C\"5120share155593217374306324155593217383308863Mon, 22 Apr 2019 11:22:53 GMT\"0x8D6C714DCE6FB7D\"5120share155593233053705628Mon, 22 Apr 2019 11:25:30 GMT\"0x8D6C7153A7C32B3\"5120share155593233509907850155593233525106736Mon, 22 Apr 2019 11:25:35 GMT\"0x8D6C7153D3A2D50\"5120share155593239746800061155593239754102567Mon, 22 Apr 2019 11:26:37 GMT\"0x8D6C7156253852F\"5120share155593275709608855Mon, 22 Apr 2019 11:32:37 GMT\"0x8D6C71638886EDC\"5120share155593275807707570155593275832501960Mon, 22 Apr 2019 11:32:39 GMT\"0x8D6C71639ADE4C8\"5120share155593280226001839155593280227604616Mon, 22 Apr 2019 11:33:22 GMT\"0x8D6C71653770F3F\"5120share155593312109201415Mon, 22 Apr 2019 11:38:41 GMT\"0x8D6C71711A05C0C\"5120share155593312234201386155593312237305833Mon, 22 Apr 2019 11:38:42 GMT\"0x8D6C7171243F50B\"5120share155593315645808354155593315648906679Mon, 22 Apr 2019 11:39:16 GMT\"0x8D6C71726973AD4\"5120share155593348908406819Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ECD4BBBC\"5120share155593348980708356155593348983905096Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ED49C492\"5120share155593351527207735155593351528809934Mon, 22 Apr 2019 11:45:15 GMT\"0x8D6C717FC746FC6\"5120share155593373839009889Mon, 22 Apr 2019 11:48:58 GMT\"0x8D6C7188186D480\"5120share155593374213504623155593374249506463Mon, 22 Apr 2019 11:49:02 GMT\"0x8D6C71883F98B78\"5120share155593379929509326155593379947408779Mon, 22 Apr 2019 11:49:59 GMT\"0x8D6C718A5EF42C6\"5120share155593408284009033Mon, 22 Apr 2019 11:54:42 GMT\"0x8D6C7194ECC93B8\"5120share155593408602509047155593408638809789Mon, 22 Apr 2019 11:54:46 GMT\"0x8D6C71950EB127C\"5120share155593413980507194155593414004706529Mon, 22 Apr 2019 11:55:40 GMT\"0x8D6C71970E5C28A\"5120share155593443340907715Mon, 22 Apr 2019 12:00:33 GMT\"0x8D6C71A1FC13E8B\"5120share155593443670003038155593443705707580Mon, 22 Apr 2019 12:00:37 GMT\"0x8D6C71A21EEA00E\"5120share155593450016401961155593450034004099Mon, 22 Apr 2019 12:01:40 GMT\"0x8D6C71A47A53FCD\"5120share155599352898709431Tue, 23 Apr 2019 04:25:29 GMT\"0x8D6C7A3B77ECE95\"5120share155599353457303882Tue, 23 Apr 2019 04:25:38 GMT\"0x8D6C7A3BD362BCE\"5120share155599357366009924Tue, 23 Apr 2019 04:26:14 GMT\"0x8D6C7A3D2727D00\"5120share155599357721408169155599357752002160Tue, 23 Apr 2019 04:26:17 GMT\"0x8D6C7A3D4608808\"5120share155599358411903550Tue, 23 Apr 2019 04:26:24 GMT\"0x8D6C7A3D84ECE0A\"5120share155601731922303609Tue, 23 Apr 2019 11:01:59 GMT\"0x8D6C7DB1B9B74FB\"5120share155601732131001910155601732139106746Tue, 23 Apr 2019 11:02:01 GMT\"0x8D6C7DB1CC9BFC1\"5120share155601735054109201155601735057901414Tue, 23 Apr 2019 11:02:30 GMT\"0x8D6C7DB2E2F2F3A\"5120share155601736064400159Tue, 23 Apr 2019 11:02:40 GMT\"0x8D6C7DB3434ABFD\"5120share155601736424105355155601736465802495Tue, 23 Apr 2019 11:02:44 GMT\"0x8D6C7DB369991DE\"5120share155601744325107728155601744394209405Tue, 23 Apr 2019 11:04:04 GMT\"0x8D6C7DB65FC1A07\"5120share155601797649807068Tue, 23 Apr 2019 11:12:56 GMT\"0x8D6C7DCA3413305\"5120share155601797996201913155601798001404152Tue, 23 Apr 2019 11:13:00 GMT\"0x8D6C7DCA558E9FD\"5120share155601800320103700155601800321509380Tue, 23 Apr 2019 11:13:23 GMT\"0x8D6C7DCB32D5623\"5120share155601828484808138Tue, 23 Apr 2019 11:18:04 GMT\"0x8D6C7DD5B19C912\"5120share155601830009206641155601830015809234Tue, 23 Apr 2019 11:18:20 GMT\"0x8D6C7DD642B7506\"5120share155601834565900993155601834931903550Tue, 23 Apr 2019 11:19:09 GMT\"0x8D6C7DD819C3AD4\"5120share155601852383804224Tue, 23 Apr 2019 11:22:04 GMT\"0x8D6C7DDE9B3E6DA\"5120share155601852622609962155601852640709853Tue, 23 Apr 2019 11:22:06 GMT\"0x8D6C7DDEB0C7811\"5120share155601855610505401155601855619203211Tue, 23 Apr 2019 11:22:36 GMT\"0x8D6C7DDFCCD22F6\"5120share155601888818908038Tue, 23 Apr 2019 11:28:08 GMT\"0x8D6C7DEC2BD7575\"5120share155601889047405602155601889063207953Tue, 23 Apr 2019 11:28:10 GMT\"0x8D6C7DEC427062C\"5120share155601893832208908155601893844503340Tue, 23 Apr 2019 11:28:58 GMT\"0x8D6C7DEE0A87BA4\"5120share155601928936605407Tue, 23 Apr 2019 11:34:50 GMT\"0x8D6C7DFB2302469\"5120share155601929224401788155601929230605391Tue, 23 Apr 2019 11:34:52 GMT\"0x8D6C7DFB3AF6083\"5120share155601933534601457155601933537709705Tue, 23 Apr 2019 11:35:35 GMT\"0x8D6C7DFCD3678E6\"5120share155601964760005256Tue, 23 Apr 2019 11:40:47 GMT\"0x8D6C7E0874F4DEB\"5120share155601964910409011155601964915104348Tue, 23 Apr 2019 11:40:49 GMT\"0x8D6C7E0883CE94E\"5120share155601967123504480155601967126608975Tue, 23 Apr 2019 11:41:11 GMT\"0x8D6C7E095689CAA\"5120share155601999601804030Tue, 23 Apr 2019 11:46:36 GMT\"0x8D6C7E156FB9962\"5120share155601999694701777155601999697800251Tue, 23 Apr 2019 11:46:37 GMT\"0x8D6C7E1578EF47C\"5120share155602003749501427155602003751005370Tue, 23 Apr 2019 11:47:17 GMT\"0x8D6C7E16FB7BDC9\"5120share155602026583107985Tue, 23 Apr 2019 11:51:06 GMT\"0x8D6C7E1F810D790\"5120share155602026979301983155602027015406851Tue, 23 Apr 2019 11:51:10 GMT\"0x8D6C7E1FA73F564\"5120share155602032674702563155602032692105302Tue, 23 Apr 2019 11:52:07 GMT\"0x8D6C7E21C49318C\"5120share155602060207403254Tue, 23 Apr 2019 11:56:42 GMT\"0x8D6C7E2C04BE483\"5120share155602060511200179155602060546204061Tue, 23 Apr 2019 11:56:45 GMT\"0x8D6C7E2C2510A92\"5120share155602066032001106155602066050002052Tue, 23 Apr 2019 11:57:40 GMT\"0x8D6C7E2E31DC1E8\"5120share155602095578105524Tue, 23 Apr 2019 12:02:35 GMT\"0x8D6C7E3931EFFB4\"5120share155602095889002587155602095924407097Tue, 23 Apr 2019 12:02:39 GMT\"0x8D6C7E3952F966C\"5120share155602101006809941155602101024502287Tue, 23 Apr 2019 12:03:30 GMT\"0x8D6C7E3B399D7B3\"5120share155610372895102469Wed, 24 Apr 2019 11:02:09 GMT\"0x8D6C8A44BCFB0DA\"5120share155610373141006923155610373157605228Wed, 24 Apr 2019 11:02:11 GMT\"0x8D6C8A44D4985F7\"5120share155610376132904883155610376146100818Wed, 24 Apr 2019 11:02:41 GMT\"0x8D6C8A45F19FA18\"5120share155610377385900915Wed, 24 Apr 2019 11:02:54 GMT\"0x8D6C8A466A7CC33\"5120share155610377782705835155610378034305705Wed, 24 Apr 2019 11:03:00 GMT\"0x8D6C8A46A67BD59\"5120share155610388905308117155610388957707151Wed, 24 Apr 2019 11:04:50 GMT\"0x8D6C8A4ABC619F7\"5120share155610456973902277Wed, 24 Apr 2019 11:16:09 GMT\"0x8D6C8A640D89AA5\"5120share155610457043809446155610457046601023Wed, 24 Apr 2019 11:16:10 GMT\"0x8D6C8A64147924C\"5120share155610458625908819155610458627309878Wed, 24 Apr 2019 11:16:26 GMT\"0x8D6C8A64AB3985E\"5120share155610462696100101Wed, 24 Apr 2019 11:17:07 GMT\"0x8D6C8A662FC6D3F\"5120share155610462999806911155610463015401595Wed, 24 Apr 2019 11:17:10 GMT\"0x8D6C8A664E29738\"5120share155610468071108459155610468115706117Wed, 24 Apr 2019 11:18:01 GMT\"0x8D6C8A68364A313\"5120share155610499531404329Wed, 24 Apr 2019 11:23:15 GMT\"0x8D6C8A73EAA18BB\"5120share155610499885203420155610499903406227Wed, 24 Apr 2019 11:23:19 GMT\"0x8D6C8A740BF6EDE\"5120share155610503301507245155610503310502140Wed, 24 Apr 2019 11:23:53 GMT\"0x8D6C8A7550DF88E\"5120share155610517124802137Wed, 24 Apr 2019 11:26:11 GMT\"0x8D6C8A7A77428B8\"5120share155610517614001829155610517647303310Wed, 24 Apr 2019 11:26:16 GMT\"0x8D6C8A7AA918E67\"5120share155610523911605564155610523927805669Wed, 24 Apr 2019 11:27:19 GMT\"0x8D6C8A7D000A492\"5120share155610570355307500Wed, 24 Apr 2019 11:35:03 GMT\"0x8D6C8A8E4A92FB7\"5120share155610570429201962155610570433905439Wed, 24 Apr 2019 11:35:04 GMT\"0x8D6C8A8E5200830\"5120share155610572587302298155610572588801633Wed, 24 Apr 2019 11:35:25 GMT\"0x8D6C8A8F1F7F005\"5120share155610606038909851Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B95AA90B\"5120share155610606079502400155610606095109923Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B9AF5E68\"5120share155610608625503151155610608826000711Wed, 24 Apr 2019 11:41:28 GMT\"0x8D6C8A9C9F7404E\"5120share155610640694708896Wed, 24 Apr 2019 11:46:46 GMT\"0x8D6C8AA87EAE40C\"5120share155610640743200430155610640746309870Wed, 24 Apr 2019 11:46:47 GMT\"0x8D6C8AA88399124\"5120share155610643185205970155610643188305732Wed, 24 Apr 2019 11:47:11 GMT\"0x8D6C8AA96C7293A\"5120share155610665402600230Wed, 24 Apr 2019 11:50:54 GMT\"0x8D6C8AB1B4115E5\"5120share155610665693707025155610665730204127Wed, 24 Apr 2019 11:50:57 GMT\"0x8D6C8AB1D34D1EF\"5120share155610671076000970155610671093301855Wed, 24 Apr 2019 11:51:51 GMT\"0x8D6C8AB3D2C0DC2\"5120share155610697735704561Wed, 24 Apr 2019 11:56:17 GMT\"0x8D6C8ABDBFFAE7E\"5120share155610698173903526155610698219604859Wed, 24 Apr 2019 11:56:22 GMT\"0x8D6C8ABDF05278A\"5120share155610705059501406155610705081607565Wed, 24 Apr 2019 11:57:31 GMT\"0x8D6C8AC07CA5BB5\"5120share155623732891804592Fri, 26 Apr 2019 00:08:49 GMT\"0x8D6C9DB5B862C5D\"5120share155623733027107547155623733037204155Fri, 26 Apr 2019 00:08:50 GMT\"0x8D6C9DB5C5B5406\"5120share155623735144201549155623735148500368Fri, 26 Apr 2019 00:09:11 GMT\"0x8D6C9DB68F1020B\"5120share155623737838109944Fri, 26 Apr 2019 00:09:38 GMT\"0x8D6C9DB7936BAF7\"5120share155623738288508731155623738455404746Fri, 26 Apr 2019 00:09:44 GMT\"0x8D6C9DB7CA57C80\"5120share155623744517805440155623744597007766Fri, 26 Apr 2019 00:10:46 GMT\"0x8D6C9DBA14DB1B3\"5120share155623755450705158Fri, 26 Apr 2019 00:12:34 GMT\"0x8D6C9DBE1F1FFF8\"5120share155623755587909563155623755590803223Fri, 26 Apr 2019 00:12:35 GMT\"0x8D6C9DBE2C79C01\"5120share155623757295200043155623757297408285Fri, 26 Apr 2019 00:12:52 GMT\"0x8D6C9DBECF3FFFF\"5120share155623764038304012Fri, 26 Apr 2019 00:14:00 GMT\"0x8D6C9DC15291A2E\"5120share155623764463006380155623764498701545Fri, 26 Apr 2019 00:14:05 GMT\"0x8D6C9DC17E67B86\"5120share155623767900208026Fri, 26 Apr 2019 00:14:39 GMT\"0x8D6C9DC2C6DC062\"5120share155623768121705378155623768144401475Fri, 26 Apr 2019 00:14:41 GMT\"0x8D6C9DC2DA138D7\"5120share155623770790608406155623770798308113Fri, 26 Apr 2019 00:15:08 GMT\"0x8D6C9DC3DE529E3\"5120share155623771326307149155623771335209876Fri, 26 Apr 2019 00:15:13 GMT\"0x8D6C9DC40A5ECF5\"5120share155623792442708756Fri, 26 Apr 2019 00:18:45 GMT\"0x8D6C9DCBF06374F\"5120share155623793181801460155623793198609694Fri, 26 Apr 2019 00:18:52 GMT\"0x8D6C9DCC2F836BF\"5120share155623798478509855155623798814506187Fri, 26 Apr 2019 00:19:48 GMT\"0x8D6C9DCE4717D91\"5120share155623832375704220Fri, 26 Apr 2019 00:25:24 GMT\"0x8D6C9DDACAB7093\"5120share155623832601806869155623832606500404Fri, 26 Apr 2019 00:25:26 GMT\"0x8D6C9DDADEF34D4\"5120share155623837314701043155623837317801578Fri, 26 Apr 2019 00:26:13 GMT\"0x8D6C9DDC9E942F0\"5120share155623869536605908Fri, 26 Apr 2019 00:31:35 GMT\"0x8D6C9DE89F690C1\"5120share155623869692506630155623869703507429Fri, 26 Apr 2019 00:31:38 GMT\"0x8D6C9DE8BABE860\"5120share155623873038809966155623873039609717Fri, 26 Apr 2019 00:32:10 GMT\"0x8D6C9DE9ED7D76B\"5120share155623905177506822Fri, 26 Apr 2019 00:37:32 GMT\"0x8D6C9DF5EDF8E0E\"5120share155623905428205423155623905432903078Fri, 26 Apr 2019 00:37:34 GMT\"0x8D6C9DF5FE97AD0\"5120share155623907919403170155623907921004777Fri, 26 Apr 2019 00:37:59 GMT\"0x8D6C9DF6EBEF0ED\"5120share155623930187103764Fri, 26 Apr 2019 00:41:42 GMT\"0x8D6C9DFF388E129\"5120share155623930513305176155623930549908292Fri, 26 Apr 2019 00:41:45 GMT\"0x8D6C9DFF5B1FE97\"5120share155623936041106457155623936058402454Fri, 26 Apr 2019 00:42:40 GMT\"0x8D6C9E01686D42E\"5120share155623965181508872Fri, 26 Apr 2019 00:47:31 GMT\"0x8D6C9E0C41C0913\"5120share155623965814908055155623965849804647Fri, 26 Apr 2019 00:47:38 GMT\"0x8D6C9E0C8179EAE\"5120share155623971877107111155623971894601634Fri, 26 Apr 2019 00:48:39 GMT\"0x8D6C9E0EC1F66C0\"5120share155623999367701297Fri, 26 Apr 2019 00:53:13 GMT\"0x8D6C9E18FE27E33\"5120share155623999669908933155623999707001906Fri, 26 Apr 2019 00:53:17 GMT\"0x8D6C9E191E779F4\"5120share155624004674705383155624004692205374Fri, 26 Apr 2019 00:54:07 GMT\"0x8D6C9E1AF9E5DDC\"5120share155627655546209352Fri, 26 Apr 2019 11:02:35 GMT\"0x8D6CA36B06A47B2\"5120share155627655662206597155627655670705250Fri, 26 Apr 2019 11:02:36 GMT\"0x8D6CA36B114913C\"5120share155627658542903811155627658546904920Fri, 26 Apr 2019 11:03:05 GMT\"0x8D6CA36C2391779\"5120share155627659597101297Fri, 26 Apr 2019 11:03:16 GMT\"0x8D6CA36C882B597\"5120share155627660756501821155627660772707059Fri, 26 Apr 2019 11:03:27 GMT\"0x8D6CA36CF829BD7\"5120share155627670486708425155627670494603621Fri, 26 Apr 2019 11:05:05 GMT\"0x8D6CA370975980E\"5120share155627694374906331Fri, 26 Apr 2019 11:09:03 GMT\"0x8D6CA3797C4398A\"5120share155627694423009151155627694426207429Fri, 26 Apr 2019 11:09:04 GMT\"0x8D6CA3798128F99\"5120share155627695938700440155627695940105765Fri, 26 Apr 2019 11:09:19 GMT\"0x8D6CA37A118F618\"5120share155627701727507398Fri, 26 Apr 2019 11:10:17 GMT\"0x8D6CA37C39D4D86\"5120share155627702477907204155627702804807647Fri, 26 Apr 2019 11:10:28 GMT\"0x8D6CA37CA09AA23\"5120share155627706697307525Fri, 26 Apr 2019 11:11:07 GMT\"0x8D6CA37E1554966\"5120share155627706891503515155627706910004461Fri, 26 Apr 2019 11:11:09 GMT\"0x8D6CA37E27FB75E\"5120share155627709688305697155627709695909311Fri, 26 Apr 2019 11:11:37 GMT\"0x8D6CA37F31CAB75\"5120share155627709845403603155627709854409593Fri, 26 Apr 2019 11:11:38 GMT\"0x8D6CA37F40BF3D2\"5120share155627730105807426Fri, 26 Apr 2019 11:15:01 GMT\"0x8D6CA386CDB63C8\"5120share155627730309507258155627730356805784Fri, 26 Apr 2019 11:15:03 GMT\"0x8D6CA386E424D8B\"5120share155627734275903465155627734284806618Fri, 26 Apr 2019 11:15:42 GMT\"0x8D6CA3885AC0F9C\"5120share155627766425003035Fri, 26 Apr 2019 11:21:04 GMT\"0x8D6CA39453834A2\"5120share155627766494105062155627766500403555Fri, 26 Apr 2019 11:21:05 GMT\"0x8D6CA3945AB0111\"5120share155627770481402091155627770482907277Fri, 26 Apr 2019 11:21:44 GMT\"0x8D6CA395D6953A6\"5120share155627804685303536Fri, 26 Apr 2019 11:27:26 GMT\"0x8D6CA3A29472252\"5120share155627804758302119155627804764505614Fri, 26 Apr 2019 11:27:27 GMT\"0x8D6CA3A29BF734D\"5120share155627807828907816155627807830400346Fri, 26 Apr 2019 11:27:58 GMT\"0x8D6CA3A3C076B67\"5120share155627840936602595Fri, 26 Apr 2019 11:33:29 GMT\"0x8D6CA3B01571EF8\"5120share155627841049404780155627841054104290Fri, 26 Apr 2019 11:33:30 GMT\"0x8D6CA3B020AFB2D\"5120share155627843893800591155627843896903734Fri, 26 Apr 2019 11:33:58 GMT\"0x8D6CA3B12FC3750\"5120share155627866038509839Fri, 26 Apr 2019 11:37:40 GMT\"0x8D6CA3B97093C05\"5120share155627866361804142155627866397604669Fri, 26 Apr 2019 11:37:44 GMT\"0x8D6CA3B99307069\"5120share155627871539803949155627871557200833Fri, 26 Apr 2019 11:38:35 GMT\"0x8D6CA3BB7ED9B1B\"5120share155627897921406881Fri, 26 Apr 2019 11:42:59 GMT\"0x8D6CA3C550FFD26\"5120share155627898303104907155627898338702902Fri, 26 Apr 2019 11:43:03 GMT\"0x8D6CA3C578C73FF\"5120share155627903179604081155627903196604939Fri, 26 Apr 2019 11:43:52 GMT\"0x8D6CA3C748107A4\"5120share155627930048909745Fri, 26 Apr 2019 11:48:20 GMT\"0x8D6CA3D148FB137\"5120share155627930331508322155627930366602874Fri, 26 Apr 2019 11:48:23 GMT\"0x8D6CA3D16742F20\"5120share155627935619404978155627935636908313Fri, 26 Apr 2019 11:49:16 GMT\"0x8D6CA3D35E11682\"5120share155636293594402398Sat, 27 Apr 2019 11:02:16 GMT\"0x8D6CAFFCF4CB732\"5120share155636294209207737155636294218409788Sat, 27 Apr 2019 11:02:22 GMT\"0x8D6CAFFD2D59768\"5120share155636296650104845155636296654305259Sat, 27 Apr 2019 11:02:46 GMT\"0x8D6CAFFE15A8482\"5120share155636297924406992Sat, 27 Apr 2019 11:02:59 GMT\"0x8D6CAFFE8F23428\"5120share155636298688802927155636298754402979Sat, 27 Apr 2019 11:03:07 GMT\"0x8D6CAFFEDE481F8\"5120share155636310874309965155636310912301666Sat, 27 Apr 2019 11:05:09 GMT\"0x8D6CB00368CD9D5\"5120share155636326147602000Sat, 27 Apr 2019 11:07:41 GMT\"0x8D6CB009122AE26\"5120share155636326266702413155636326270508552Sat, 27 Apr 2019 11:07:42 GMT\"0x8D6CB0091DE490E\"5120share155636327915904071155636327917502788Sat, 27 Apr 2019 11:07:59 GMT\"0x8D6CB009BAF4751\"5120share155636338442205521Sat, 27 Apr 2019 11:09:44 GMT\"0x8D6CB00DAA2539F\"5120share155636338760401291155636338801401685Sat, 27 Apr 2019 11:09:48 GMT\"0x8D6CB00DC90FC6E\"5120share155636339103301366Sat, 27 Apr 2019 11:09:51 GMT\"0x8D6CB00DE64F2D7\"5120share155636340189203340155636340204505572Sat, 27 Apr 2019 11:10:02 GMT\"0x8D6CB00E529D7E4\"5120share155636341638503442155636341647401339Sat, 27 Apr 2019 11:10:16 GMT\"0x8D6CB00ED87C86E\"5120share155636348710505241155636348740800132Sat, 27 Apr 2019 11:11:27 GMT\"0x8D6CB0117D75DD7\"5120share155636370747500177Sat, 27 Apr 2019 11:15:07 GMT\"0x8D6CB019AF99906\"5120share155636371788904389155636371833704937Sat, 27 Apr 2019 11:15:18 GMT\"0x8D6CB01A1795C75\"5120share155636375971900820155636375974102788Sat, 27 Apr 2019 11:15:59 GMT\"0x8D6CB01BA214C10\"5120share155636404658507340Sat, 27 Apr 2019 11:20:46 GMT\"0x8D6CB02651C2C4D\"5120share155636404754602274155636404759307889Sat, 27 Apr 2019 11:20:47 GMT\"0x8D6CB0265B75164\"5120share155636409293907234155636409297202379Sat, 27 Apr 2019 11:21:33 GMT\"0x8D6CB0280E10E7F\"5120share155636438375103933Sat, 27 Apr 2019 11:26:24 GMT\"0x8D6CB032E483A34\"5120share155636438637507161155636438643804713Sat, 27 Apr 2019 11:26:26 GMT\"0x8D6CB032FAD2908\"5120share155636441656900776155636441658409038Sat, 27 Apr 2019 11:26:56 GMT\"0x8D6CB0341A57816\"5120share155636472346501628Sat, 27 Apr 2019 11:32:03 GMT\"0x8D6CB03F88E3C4E\"5120share155636472425706537155636472447104080Sat, 27 Apr 2019 11:32:04 GMT\"0x8D6CB03F927C11D\"5120share155636475254502016155636475256005895Sat, 27 Apr 2019 11:32:32 GMT\"0x8D6CB0409E56AB9\"5120share155636497418300656Sat, 27 Apr 2019 11:36:14 GMT\"0x8D6CB048E114492\"5120share155636497943200113155636497978301385Sat, 27 Apr 2019 11:36:21 GMT\"0x8D6CB0492365296\"5120share155636503124305582155636503142000787Sat, 27 Apr 2019 11:37:11 GMT\"0x8D6CB04B02F21E0\"5120share155636531384701457Sat, 27 Apr 2019 11:41:53 GMT\"0x8D6CB0558855034\"5120share155636531744608387155636531778207039Sat, 27 Apr 2019 11:41:57 GMT\"0x8D6CB055ADE2BE2\"5120share155636537787408049155636537803908356Sat, 27 Apr 2019 11:42:58 GMT\"0x8D6CB057EC9031B\"5120share155636563637206666Sat, 27 Apr 2019 11:47:16 GMT\"0x8D6CB0618C15632\"5120share155636563945001802155636563979208633Sat, 27 Apr 2019 11:47:19 GMT\"0x8D6CB061ACB80AE\"5120share155636569017104410155636569054205200Sat, 27 Apr 2019 11:48:10 GMT\"0x8D6CB06390B4503\"5120share155644932510206948Sun, 28 Apr 2019 11:02:05 GMT\"0x8D6CBC8F33F4F50\"5120share155644932748704938155644932757008051Sun, 28 Apr 2019 11:02:07 GMT\"0x8D6CBC8F488D88D\"5120share155644935294603187155644935298508210Sun, 28 Apr 2019 11:02:33 GMT\"0x8D6CBC903AF01F5\"5120share155644937631305965Sun, 28 Apr 2019 11:02:56 GMT\"0x8D6CBC911A89607\"5120share155644938305805342155644938336808846Sun, 28 Apr 2019 11:03:03 GMT\"0x8D6CBC915D0B517\"5120share155644946809502187155644946853904496Sun, 28 Apr 2019 11:04:28 GMT\"0x8D6CBC948948A14\"5120share155644965647507163Sun, 28 Apr 2019 11:07:36 GMT\"0x8D6CBC9B892BC76\"5120share155644965767401410155644965771100036Sun, 28 Apr 2019 11:07:37 GMT\"0x8D6CBC9B94F3564\"5120share155644967154503320155644967155906675Sun, 28 Apr 2019 11:07:51 GMT\"0x8D6CBC9C19086AD\"5120share155644973212306904Sun, 28 Apr 2019 11:08:52 GMT\"0x8D6CBC9E5A93F5C\"5120share155644973882903017155644973920408561Sun, 28 Apr 2019 11:09:00 GMT\"0x8D6CBC9EAABEAEE\"5120share155644976525108519Sun, 28 Apr 2019 11:09:26 GMT\"0x8D6CBC9FA307340\"5120share155644976922907290155644976940302741Sun, 28 Apr 2019 11:09:29 GMT\"0x8D6CBC9FBE7085A\"5120share155644979827502553155644979837106210Sun, 28 Apr 2019 11:09:58 GMT\"0x8D6CBCA0D2B87E0\"5120share155644980349600078155644980351709665Sun, 28 Apr 2019 11:10:03 GMT\"0x8D6CBCA104756D4\"5120share155644999479203413Sun, 28 Apr 2019 11:13:15 GMT\"0x8D6CBCA828B03A9\"5120share155644999911401572155644999927007263Sun, 28 Apr 2019 11:13:19 GMT\"0x8D6CBCA84EC87C0\"5120share155645007015108648155645007022406098Sun, 28 Apr 2019 11:14:30 GMT\"0x8D6CBCAAF35F083\"5120share155645038821502058Sun, 28 Apr 2019 11:19:48 GMT\"0x8D6CBCB6CBB520C\"5120share155645039457909794155645039491507393Sun, 28 Apr 2019 11:19:54 GMT\"0x8D6CBCB70BAA07B\"5120share155645044044006110155645044045503760Sun, 28 Apr 2019 11:20:40 GMT\"0x8D6CBCB8BE03321\"5120share155645073350300763Sun, 28 Apr 2019 11:25:33 GMT\"0x8D6CBCC3A89465E\"5120share155645073665802364155645073670507236Sun, 28 Apr 2019 11:25:36 GMT\"0x8D6CBCC3C897A23\"5120share155645077349800986155645077373300831Sun, 28 Apr 2019 11:26:14 GMT\"0x8D6CBCC52AB7AA9\"5120share155645108771203834Sun, 28 Apr 2019 11:31:27 GMT\"0x8D6CBCD0DA80040\"5120share155645108842007256155645108846705458Sun, 28 Apr 2019 11:31:30 GMT\"0x8D6CBCD0F84E607\"5120share155645112599605004155645112601107894Sun, 28 Apr 2019 11:32:06 GMT\"0x8D6CBCD247D05DA\"5120share155645134678507922Sun, 28 Apr 2019 11:35:46 GMT\"0x8D6CBCDA8286EE2\"5120share155645135233807971155645135268200427Sun, 28 Apr 2019 11:35:52 GMT\"0x8D6CBCDABAB030C\"5120share155645140915409987155645140933104898Sun, 28 Apr 2019 11:36:49 GMT\"0x8D6CBCDCD6E541E\"5120share155645167679104190Sun, 28 Apr 2019 11:41:16 GMT\"0x8D6CBCE6CD9127F\"5120share155645168014803993155645168050106913Sun, 28 Apr 2019 11:41:20 GMT\"0x8D6CBCE6F0F1955\"5120share155645174549400184155645174566908155Sun, 28 Apr 2019 11:42:25 GMT\"0x8D6CBCE95E5E14E\"5120share155645201297401853Sun, 28 Apr 2019 11:46:53 GMT\"0x8D6CBCF353A36B6\"5120share155645201855801952155645201890306019Sun, 28 Apr 2019 11:46:59 GMT\"0x8D6CBCF38C1EC3D\"5120share155645207253909424155645207271407048Sun, 28 Apr 2019 11:47:52 GMT\"0x8D6CBCF58D7EB4A\"5120share155653571241303167Mon, 29 Apr 2019 11:01:52 GMT\"0x8D6CC921605B941\"5120share155653571553502874155653571570705735Mon, 29 Apr 2019 11:01:55 GMT\"0x8D6CC9217E55B90\"5120share155653575241605337155653575249808322Mon, 29 Apr 2019 11:02:32 GMT\"0x8D6CC922DD35559\"5120share155653577934505481Mon, 29 Apr 2019 11:02:59 GMT\"0x8D6CC923DEABFFA\"5120share155653578834309441155653578850403282Mon, 29 Apr 2019 11:03:10 GMT\"0x8D6CC924424B8C3\"5120share155653590972103271155653591043700129Mon, 29 Apr 2019 11:05:10 GMT\"0x8D6CC928C0E5277\"5120share155653601676308435Mon, 29 Apr 2019 11:06:56 GMT\"0x8D6CC92CB50C4B1\"5120share155653602334209812155653602337104476Mon, 29 Apr 2019 11:07:03 GMT\"0x8D6CC92CF41462C\"5120share155653604017309897155653604018606464Mon, 29 Apr 2019 11:07:20 GMT\"0x8D6CC92D946F89F\"5120share155653618592007839Mon, 29 Apr 2019 11:09:45 GMT\"0x8D6CC9330238214\"5120share155653619244001987155653619249201263Mon, 29 Apr 2019 11:09:52 GMT\"0x8D6CC93340ED683\"5120share155653621618908520Mon, 29 Apr 2019 11:10:16 GMT\"0x8D6CC93425E266B\"5120share155653622019402299155653622037605069Mon, 29 Apr 2019 11:10:20 GMT\"0x8D6CC9344B3281A\"5120share155653624157605476155653624159605059Mon, 29 Apr 2019 11:10:41 GMT\"0x8D6CC93515DF82D\"5120share155653624964608827155653624973108032Mon, 29 Apr 2019 11:10:49 GMT\"0x8D6CC935631C474\"5120share155653644599604856Mon, 29 Apr 2019 11:14:06 GMT\"0x8D6CC93CB301827\"5120share155653644757300517155653644791500188Mon, 29 Apr 2019 11:14:08 GMT\"0x8D6CC93CC5D3074\"5120share155653651368305124155653651389303803Mon, 29 Apr 2019 11:15:14 GMT\"0x8D6CC93F3F84157\"5120share155653687079804910Mon, 29 Apr 2019 11:21:10 GMT\"0x8D6CC94C85EA8A0\"5120share155653687448704090155653687453303137Mon, 29 Apr 2019 11:21:14 GMT\"0x8D6CC94CA98A23B\"5120share155653693368406248155653693371508138Mon, 29 Apr 2019 11:22:13 GMT\"0x8D6CC94EDDEEAB8\"5120share155653721781601183Mon, 29 Apr 2019 11:26:57 GMT\"0x8D6CC95973262CD\"5120share155653721868605873155653721871704867Mon, 29 Apr 2019 11:26:58 GMT\"0x8D6CC9597BD86B3\"5120share155653725116303221155653725119400771Mon, 29 Apr 2019 11:27:31 GMT\"0x8D6CC95AB1726F4\"5120share155653756837900142Mon, 29 Apr 2019 11:32:48 GMT\"0x8D6CC96682633DD\"5120share155653756922307466155653756927008693Mon, 29 Apr 2019 11:32:54 GMT\"0x8D6CC966C065569\"5120share155653760887103690155653760948407436Mon, 29 Apr 2019 11:33:29 GMT\"0x8D6CC9680A6DADA\"5120share155653784322202515Mon, 29 Apr 2019 11:37:23 GMT\"0x8D6CC970C0B3287\"5120share155653784638108302155653784673304272Mon, 29 Apr 2019 11:37:26 GMT\"0x8D6CC970E22A6D4\"5120share155653790378102510155653790395501719Mon, 29 Apr 2019 11:38:24 GMT\"0x8D6CC97303F6982\"5120share155653796678404923Mon, 29 Apr 2019 11:39:26 GMT\"0x8D6CC9755B12EA8\"5120share155655223577604668Mon, 29 Apr 2019 15:37:15 GMT\"0x8D6CCB88EA9F634\"5120share155655223976807043155655224012408138Mon, 29 Apr 2019 15:37:20 GMT\"0x8D6CCB891420921\"5120share155655231503303385155655231520308001Mon, 29 Apr 2019 15:38:35 GMT\"0x8D6CCB8BE00A1CF\"5120share155655260533801192Mon, 29 Apr 2019 15:43:25 GMT\"0x8D6CCB96AF563A3\"5120share155655261383606228155655261419000264Mon, 29 Apr 2019 15:43:34 GMT\"0x8D6CCB9703B468D\"5120share155655268067203640155655268083707211Mon, 29 Apr 2019 15:44:41 GMT\"0x8D6CCB99818556D\"5120share155659382718902556Tue, 30 Apr 2019 03:10:27 GMT\"0x8D6CD196533E1AF\"5120share155659383304609639Tue, 30 Apr 2019 03:10:35 GMT\"0x8D6CD196A00F093\"5120share155659388399506155Tue, 30 Apr 2019 03:11:27 GMT\"0x8D6CD1988E5EB19\"5120share155662576226807025Tue, 30 Apr 2019 12:02:42 GMT\"0x8D6CD63BFD75BAB\"5120share155662578862004497155662578987503857Tue, 30 Apr 2019 12:03:09 GMT\"0x8D6CD63D04B064F\"5120share155662595995907858155662596004306578Tue, 30 Apr 2019 12:06:01 GMT\"0x8D6CD64364895F9\"5120share155662625450703255Tue, 30 Apr 2019 12:10:54 GMT\"0x8D6CD64E539C9F6\"5120share155662626147407940155662626175004337Tue, 30 Apr 2019 12:11:01 GMT\"0x8D6CD64E98CBD1A\"5120share155662637743605609155662637751001358Tue, 30 Apr 2019 12:12:57 GMT\"0x8D6CD652E8B6208\"5120share155662664173006358Tue, 30 Apr 2019 12:17:37 GMT\"0x8D6CD65D570BAE4\"5120share155662666338005352155662666389602684Tue, 30 Apr 2019 12:17:44 GMT\"0x8D6CD65D94AD41C\"5120share155662673728706029155662673745005608Tue, 30 Apr 2019 12:18:57 GMT\"0x8D6CD6605302FBE\"5120share155662707247701032Tue, 30 Apr 2019 12:24:32 GMT\"0x8D6CD66CCC187EA\"5120share155662707361008960155662707365704124Tue, 30 Apr 2019 12:24:33 GMT\"0x8D6CD66CD765BFF\"5120share155662716148504682155662716150008465Tue, 30 Apr 2019 12:26:02 GMT\"0x8D6CD67028527F9\"5120share155662746913406574Tue, 30 Apr 2019 12:31:11 GMT\"0x8D6CD67BADEDA4F\"5120share155662747408409967155662747413109639Tue, 30 Apr 2019 12:31:14 GMT\"0x8D6CD67BC2793BC\"5120share155662753834000600155662753837109223Tue, 30 Apr 2019 12:32:18 GMT\"0x8D6CD67E2719161\"5120share155662782303806877Tue, 30 Apr 2019 12:37:03 GMT\"0x8D6CD688C26F771\"5120share155662782452500893155662782457200278Tue, 30 Apr 2019 12:37:04 GMT\"0x8D6CD688D08A81D\"5120share155662788739300296155662789097705707Tue, 30 Apr 2019 12:38:11 GMT\"0x8D6CD68B49E2A48\"5120share155662816931104925Tue, 30 Apr 2019 12:42:49 GMT\"0x8D6CD695A962540\"5120share155662817225203479155662817259701968Tue, 30 Apr 2019 12:42:52 GMT\"0x8D6CD695C8BE154\"5120share155662823632807785155662823650306985Tue, 30 Apr 2019 12:43:56 GMT\"0x8D6CD6982AA192A\"5120share155662852342303617Tue, 30 Apr 2019 12:48:43 GMT\"0x8D6CD6A2DA687BC\"5120share155662852632405178155662852666909684Tue, 30 Apr 2019 12:48:47 GMT\"0x8D6CD6A2FBA14B9\"5120share155662860501305569155662860518207641Tue, 30 Apr 2019 12:50:05 GMT\"0x8D6CD6A5E636EF3\"5120share155662894578001193Tue, 30 Apr 2019 12:55:45 GMT\"0x8D6CD6B29672058\"5120share155662895018903930155662895095603460Tue, 30 Apr 2019 12:55:51 GMT\"0x8D6CD6B2C7C5D7B\"5120share155662900943409472155662900960307176Tue, 30 Apr 2019 12:56:50 GMT\"0x8D6CD6B4FE5F4B3\"5120share155664499555006401Tue, 30 Apr 2019 17:23:15 GMT\"0x8D6CD9087D53DCE\"5120share155664500031506296155664500092002935Tue, 30 Apr 2019 17:23:21 GMT\"0x8D6CD908B0B0AB0\"5120share155664508065306771155664508094803912Tue, 30 Apr 2019 17:24:41 GMT\"0x8D6CD90BAD270FA\"5120share155664729753300465Tue, 30 Apr 2019 18:01:37 GMT\"0x8D6CD95E3DF1B96\"5120share155664729867207955155664729876102123Tue, 30 Apr 2019 18:01:38 GMT\"0x8D6CD95E48EE467\"5120share155664731878008733155664731884404353Tue, 30 Apr 2019 18:01:58 GMT\"0x8D6CD95F087C514\"5120share155664734750706036Tue, 30 Apr 2019 18:02:27 GMT\"0x8D6CD9601AFBA38\"5120share155664735518802651155664735553702970Tue, 30 Apr 2019 18:02:35 GMT\"0x8D6CD960677C084\"5120share155664741133907881155664741150805603Tue, 30 Apr 2019 18:03:31 GMT\"0x8D6CD9627D4A3AC\"5120share155664751804804784Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD96674224E9\"5120share155664751843009437155664751845909347Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD9667809BA2\"5120share155664753608406512155664753609800054Tue, 30 Apr 2019 18:05:36 GMT\"0x8D6CD9672048402\"5120share155664764384909412Tue, 30 Apr 2019 18:07:23 GMT\"0x8D6CD96B2454BD0\"5120share155664764698903499155664764714205317Tue, 30 Apr 2019 18:07:27 GMT\"0x8D6CD96B43BC703\"5120share155664765964800730Tue, 30 Apr 2019 18:07:39 GMT\"0x8D6CD96BBBFDCC8\"5120share155664766156408443155664766175003678Tue, 30 Apr 2019 18:07:41 GMT\"0x8D6CD96BCEDE474\"5120share155664769075803387155664769083909474Tue, 30 Apr 2019 18:08:10 GMT\"0x8D6CD96CE471D93\"5120share155664769177107055155664769186807969Tue, 30 Apr 2019 18:08:11 GMT\"0x8D6CD96CEE0C32A\"5120share155664793047508046Tue, 30 Apr 2019 18:12:10 GMT\"0x8D6CD975D4445D7\"5120share155664793370707151155664793406201058Tue, 30 Apr 2019 18:12:14 GMT\"0x8D6CD975F4C0554\"5120share155664799626609967155664799642702708Tue, 30 Apr 2019 18:13:16 GMT\"0x8D6CD9784779BE8\"5120share155664838986009857Tue, 30 Apr 2019 18:19:49 GMT\"0x8D6CD986EE87FD0\"5120share155664839086109048155664839098605053Tue, 30 Apr 2019 18:19:51 GMT\"0x8D6CD986F92A6B3\"5120share155664842125701349155664842128800633Tue, 30 Apr 2019 18:20:21 GMT\"0x8D6CD9881A2AE3F\"5120share155664868924306988Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD99215836D8\"5120share155664868974301919155664868979002138Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD9921ABFC41\"5120share155664871026409718155664871028006183Tue, 30 Apr 2019 18:25:10 GMT\"0x8D6CD992DE35FBF\"5120share155664898661000493Tue, 30 Apr 2019 18:29:46 GMT\"0x8D6CD99D296CAAF\"5120share155664898736908027155664898743200061Tue, 30 Apr 2019 18:29:47 GMT\"0x8D6CD99D3145F33\"5120share155664901169000941155664901170603802Tue, 30 Apr 2019 18:30:11 GMT\"0x8D6CD99E18D8D3A\"5120share155664925468906460Tue, 30 Apr 2019 18:34:14 GMT\"0x8D6CD9A727390DC\"5120share155664925774602647155664925810605219Tue, 30 Apr 2019 18:34:18 GMT\"0x8D6CD9A747D51E0\"5120share155664930886300488155664930904704833Tue, 30 Apr 2019 18:35:09 GMT\"0x8D6CD9A92DA3BDA\"5120share155664963621608083Tue, 30 Apr 2019 18:40:36 GMT\"0x8D6CD9B55D88CCD\"5120share155664963911207885155664963950503259Tue, 30 Apr 2019 18:40:39 GMT\"0x8D6CD9B57CF9546\"5120share155664969424905803155664969442504330Tue, 30 Apr 2019 18:41:34 GMT\"0x8D6CD9B788A90C3\"5120share155664997888009788Tue, 30 Apr 2019 18:46:19 GMT\"0x8D6CD9C221B0DD3\"5120share155664998171908903155664998207603735Tue, 30 Apr 2019 18:46:22 GMT\"0x8D6CD9C2401C1B8\"5120share155665003183508772155665003201904018Tue, 30 Apr 2019 18:47:12 GMT\"0x8D6CD9C41C62EB3\"5120share155671217179407304Wed, 01 May 2019 12:02:52 GMT\"0x8D6CE2CF043E9FA\"5120share155671219172008472155671219276209289Wed, 01 May 2019 12:03:12 GMT\"0x8D6CE2CFC6D505C\"5120share155671230723401763155671230731502440Wed, 01 May 2019 12:05:25 GMT\"0x8D6CE2D4BA1AB19\"5120share155671263721209422Wed, 01 May 2019 12:10:37 GMT\"0x8D6CE2E056F7E3B\"5120share155671264204707108155671264210803004Wed, 01 May 2019 12:10:44 GMT\"0x8D6CE2E0984E095\"5120share155671270574801389155671270577303687Wed, 01 May 2019 12:11:46 GMT\"0x8D6CE2E2E5FFEA7\"5120share155671293848409824Wed, 01 May 2019 12:15:38 GMT\"0x8D6CE2EB8E7FA6A\"5120share155671294574507278155671294591804702Wed, 01 May 2019 12:15:45 GMT\"0x8D6CE2EBD562533\"5120share155671299611306212155671299620008258Wed, 01 May 2019 12:16:36 GMT\"0x8D6CE2EDB507203\"5120share155671332385803714Wed, 01 May 2019 12:22:03 GMT\"0x8D6CE2F9E969558\"5120share155671332469602305155671332475802993Wed, 01 May 2019 12:22:04 GMT\"0x8D6CE2F9F1EB9A5\"5120share155671338502005314155671338504303235Wed, 01 May 2019 12:23:05 GMT\"0x8D6CE2FC30DC95C\"5120share155671367854104869Wed, 01 May 2019 12:27:58 GMT\"0x8D6CE3071FE1598\"5120share155671368223303911155671368228005487Wed, 01 May 2019 12:28:02 GMT\"0x8D6CE307437A4C7\"5120share155671372645003038155671372648200546Wed, 01 May 2019 12:28:46 GMT\"0x8D6CE308E900339\"5120share155671404138101116Wed, 01 May 2019 12:34:01 GMT\"0x8D6CE314A41DD35\"5120share155671404388202871155671404392901060Wed, 01 May 2019 12:34:04 GMT\"0x8D6CE314BD70619\"5120share155671408392004967155671408393609922Wed, 01 May 2019 12:34:43 GMT\"0x8D6CE31639EBF99\"5120share155671434293808392Wed, 01 May 2019 12:39:03 GMT\"0x8D6CE31FE12032E\"5120share155671434836109290155671434872703442Wed, 01 May 2019 12:39:08 GMT\"0x8D6CE3201860597\"5120share155671442401704240155671442418902164Wed, 01 May 2019 12:40:24 GMT\"0x8D6CE322E80240E\"5120share155671476356403284Wed, 01 May 2019 12:46:03 GMT\"0x8D6CE32F8C8A3B2\"5120share155671476641602095155671476677406690Wed, 01 May 2019 12:46:06 GMT\"0x8D6CE32FAB3AA06\"5120share155671483047608209155671483064500413Wed, 01 May 2019 12:47:10 GMT\"0x8D6CE3320C4FF5D\"5120share155671512949600352Wed, 01 May 2019 12:52:09 GMT\"0x8D6CE33D2E5C47A\"5120share155671513373803608155671513408501729Wed, 01 May 2019 12:52:14 GMT\"0x8D6CE33D5A1A8D5\"5120share155671521609705567155671521626506310Wed, 01 May 2019 12:53:36 GMT\"0x8D6CE34069D5F27\"5120share155679851816408368Thu, 02 May 2019 12:01:58 GMT\"0x8D6CEF5FA732A7E\"5120share155679852596202541155679852613202884Thu, 02 May 2019 12:02:06 GMT\"0x8D6CEF5FF1D8624\"5120share155679856288905424Thu, 02 May 2019 12:02:42 GMT\"0x8D6CEF615076CF4\"5120share155679856731700115155679856740204877Thu, 02 May 2019 12:02:47 GMT\"0x8D6CEF617B700B9\"5120share155679857660207760155679857980906085Thu, 02 May 2019 12:02:59 GMT\"0x8D6CEF61F1D286E\"5120share155679874854605896Thu, 02 May 2019 12:05:48 GMT\"0x8D6CEF683A96E62\"5120share155679875030503823155679875033905411Thu, 02 May 2019 12:05:50 GMT\"0x8D6CEF684BA9C31\"5120share155679875254404441155679875263609138Thu, 02 May 2019 12:05:52 GMT\"0x8D6CEF68627C0FE\"5120share155679878089708047155679878091104872Thu, 02 May 2019 12:06:20 GMT\"0x8D6CEF696F37671\"5120share155679888243000820Thu, 02 May 2019 12:08:02 GMT\"0x8D6CEF6D39120A5\"5120share155679888489108376155679888509305780Thu, 02 May 2019 12:08:05 GMT\"0x8D6CEF6D5116F1C\"5120share155679891500506869155679891509202475Thu, 02 May 2019 12:08:35 GMT\"0x8D6CEF6E6F24819\"5120share155679901664001965Thu, 02 May 2019 12:10:16 GMT\"0x8D6CEF7237BEB8F\"5120share155679901953206038155679902425602748Thu, 02 May 2019 12:10:24 GMT\"0x8D6CEF728061FF4\"5120share155679910591802857155679910636900773Thu, 02 May 2019 12:11:46 GMT\"0x8D6CEF758F85617\"5120share155679935112105642Thu, 02 May 2019 12:15:51 GMT\"0x8D6CEF7EAD9AD30\"5120share155679935445705900155679935476905533Thu, 02 May 2019 12:15:54 GMT\"0x8D6CEF7ED06EB5C\"5120share155679940493802391155679940501507356Thu, 02 May 2019 12:16:45 GMT\"0x8D6CEF80B0518C8\"5120share155679976286209168Thu, 02 May 2019 12:22:42 GMT\"0x8D6CEF8E03E8D0B\"5120share155679976761202757155679976767408999Thu, 02 May 2019 12:22:47 GMT\"0x8D6CEF8E31CD0FB\"5120share155679983878804165155679983889806932Thu, 02 May 2019 12:23:59 GMT\"0x8D6CEF90DE7DBE3\"5120share155680012729001345Thu, 02 May 2019 12:28:47 GMT\"0x8D6CEF9B9744EEA\"5120share155680013089802177155680013343604362Thu, 02 May 2019 12:28:53 GMT\"0x8D6CEF9BD1E87AD\"5120share155680018545607819155680018548802519Thu, 02 May 2019 12:29:45 GMT\"0x8D6CEF9DC25C797\"5120share155680048628307191Thu, 02 May 2019 12:34:46 GMT\"0x8D6CEFA8F6FA5B5\"5120share155680048735201308155680048752503263Thu, 02 May 2019 12:34:47 GMT\"0x8D6CEFA902BEFD4\"5120share155680054059502575155680054078208504Thu, 02 May 2019 12:35:40 GMT\"0x8D6CEFAAFE99E08\"5120share155680079259409152Thu, 02 May 2019 12:39:52 GMT\"0x8D6CEFB46144212\"5120share155680079603008692155680079638802080Thu, 02 May 2019 12:39:56 GMT\"0x8D6CEFB48576A5A\"5120share155680086324003170155680086341609400Thu, 02 May 2019 12:41:09 GMT\"0x8D6CEFB73F4191B\"5120share155680116366608240Thu, 02 May 2019 12:46:03 GMT\"0x8D6CEFC2342610F\"5120share155680116692407772155680116726106116Thu, 02 May 2019 12:46:07 GMT\"0x8D6CEFC256671DA\"5120share155680123263107271155680123280607055Thu, 02 May 2019 12:47:18 GMT\"0x8D6CEFC4FB84B61\"5120share155680152893405622Thu, 02 May 2019 12:52:09 GMT\"0x8D6CEFCFCF8ACC9\"5120share155680153196607938155680153229901822Thu, 02 May 2019 12:52:12 GMT\"0x8D6CEFCFEFAC75D\"5120share155680158878107344155680158894804284Thu, 02 May 2019 12:53:09 GMT\"0x8D6CEFD20BEBDCF\"5120share155788306352807730Wed, 15 May 2019 01:16:54 GMT\"0x8D6D8D304A61904\"5120share155788308062108596155788308209308631Wed, 15 May 2019 01:17:12 GMT\"0x8D6D8D30F58BE3B\"5120share155788323499401022155788323520406093Wed, 15 May 2019 01:19:45 GMT\"0x8D6D8D36A9B0AAD\"5120share155788333682509501Wed, 15 May 2019 01:21:28 GMT\"0x8D6D8D3A7AA96CE\"5120share155788334149705660155788334173503747Wed, 15 May 2019 01:21:32 GMT\"0x8D6D8D3AA0A1813\"5120share155788339703307533155788339713500051Wed, 15 May 2019 01:22:27 GMT\"0x8D6D8D3CB0FBFB8\"5120share155789851622202118Wed, 15 May 2019 05:34:26 GMT\"0x8D6D8F6FED7E33B\"5120share155789852650301614155789852729008793Wed, 15 May 2019 05:34:36 GMT\"0x8D6D8F704DEAC59\"5120share155789877173604070155789877195804743Wed, 15 May 2019 05:38:42 GMT\"0x8D6D8F7975258B5\"5120share155789882274109457Wed, 15 May 2019 05:39:32 GMT\"0x8D6D8F7B501C0A1\"5120share155789920646404319Wed, 15 May 2019 05:45:59 GMT\"0x8D6D8F89B713B5D\"5120share155789922333106193155789922594104272Wed, 15 May 2019 05:46:15 GMT\"0x8D6D8F8A55DC48A\"5120share155789948872909427155789948893408867Wed, 15 May 2019 05:50:38 GMT\"0x8D6D8F9421EA77F\"5120share155796534745905625Thu, 16 May 2019 00:08:16 GMT\"0x8D6D99298888C0B\"5120share155796535227408872155796535309403957Thu, 16 May 2019 00:08:22 GMT\"0x8D6D9929BC764A5\"5120share155796549374907408155796549948205145Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F307D6FA\"5120share155796549944801755Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F30D0787\"5120share155796550181401739155796550203008148Thu, 16 May 2019 00:10:50 GMT\"0x8D6D992F47EA761\"5120share155796558852701870155796558863206075Thu, 16 May 2019 00:12:17 GMT\"0x8D6D993281B7B69\"5120share155936613426202671Sat, 01 Jun 2019 05:15:34 GMT\"0x8D6E6502D1AE146\"5120share155936613752107952Sat, 01 Jun 2019 05:15:37 GMT\"0x8D6E6502EE0D225\"5120share155936617309807358Sat, 01 Jun 2019 05:16:13 GMT\"0x8D6E6504414E154\"5120share155936618248102291155936618773106962Sat, 01 Jun 2019 05:16:28 GMT\"0x8D6E6504CF96712\"5120share155936622317002439155936622805600133Sat, 01 Jun 2019 05:17:08 GMT\"0x8D6E65064DD022F\"5120share156044249615306731Thu, 13 Jun 2019 09:14:41 GMT\"0x8D6EFDF9176E0E5\"5120share156044250900802249156044253597605999Thu, 13 Jun 2019 09:15:22 GMT\"0x8D6EFDFA9A9531B\"5120share156044266032103683156044267037809103Thu, 13 Jun 2019 09:17:35 GMT\"0x8D6EFDFF9363F4C\"5120share156044276915301025Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE033D4F921\"5120share156044276965805452Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE0343C5600\"5120share156044277102604377Thu, 13 Jun 2019 09:19:16 GMT\"0x8D6EFE035871718\"5120share156044298388703236Thu, 13 Jun 2019 09:22:48 GMT\"0x8D6EFE0B3DB9142\"5120share156044298446703223Thu, 13 Jun 2019 09:22:51 GMT\"0x8D6EFE0B52FECF1\"5120share156044298734500432Thu, 13 Jun 2019 09:22:53 GMT\"0x8D6EFE0B6A74968\"5120share156044329310003703Thu, 13 Jun 2019 09:27:57 GMT\"0x8D6EFE16C0FE7C8\"5120share156044329582502409156044329609304478Thu, 13 Jun 2019 09:28:00 GMT\"0x8D6EFE16DD7D891\"5120share156044333581504082156044333594304550Thu, 13 Jun 2019 09:28:40 GMT\"0x8D6EFE18597B0BF\"5120share156047994662102881Thu, 13 Jun 2019 19:38:52 GMT\"0x8D6F036C3BB8F7A\"5120share156047995819502850156047995909100189Thu, 13 Jun 2019 19:39:04 GMT\"0x8D6F036CAE76E07\"5120share156047996126702672Thu, 13 Jun 2019 19:39:06 GMT\"0x8D6F036CC7545BB\"5120share156050177866005230Fri, 14 Jun 2019 08:42:59 GMT\"0x8D6F0A44DE68AA5\"5120share156050179006706031156050179077805344Fri, 14 Jun 2019 08:43:16 GMT\"0x8D6F0A458405A55\"5120share156050191303808333156050191327404367Fri, 14 Jun 2019 08:45:13 GMT\"0x8D6F0A49E21DA4E\"5120share156050211559604917Fri, 14 Jun 2019 08:48:35 GMT\"0x8D6F0A516A83543\"5120share156050211822900505156050211858909038Fri, 14 Jun 2019 08:48:39 GMT\"0x8D6F0A51878DD30\"5120share156050215766705740156050215780300373Fri, 14 Jun 2019 08:49:18 GMT\"0x8D6F0A52FCE0BA5\"5120share156081550348009414Mon, 17 Jun 2019 23:51:43 GMT\"0x8D6F37EC0388A3B\"5120share156081550608509127156081550638505882Mon, 17 Jun 2019 23:51:46 GMT\"0x8D6F37EC1F298C1\"5120share156081551027804881Mon, 17 Jun 2019 23:51:50 GMT\"0x8D6F37EC4450BAA\"5120share156081556306007728Mon, 17 Jun 2019 23:52:43 GMT\"0x8D6F37EE3D2AAA3\"5120share156081556994202082156081557055908986Mon, 17 Jun 2019 23:52:50 GMT\"0x8D6F37EE84AF3FE\"5120share156090518844708126Wed, 19 Jun 2019 00:46:28 GMT\"0x8D6F44F90A73876\"5120share156090519369309751156090519401906943Wed, 19 Jun 2019 00:46:34 GMT\"0x8D6F44F93F136E5\"5120share156090520433402869Wed, 19 Jun 2019 00:46:44 GMT\"0x8D6F44F9A304B8F\"5120share156090520600501278156090520631804345Wed, 19 Jun 2019 00:46:46 GMT\"0x8D6F44F9B45D8A0\"5120share156090521027006703156090521090304895Wed, 19 Jun 2019 00:46:51 GMT\"0x8D6F44F9E1A4964\"5120share156090523484208035156090523547500820Wed, 19 Jun 2019 00:47:15 GMT\"0x8D6F44FACBF2574\"5120share156090528884503768x1Wed, 19 Jun 2019 00:48:08 GMT\"0x8D6F44FCC769E92\"5120share156090528884503768x2Wed, 19 Jun 2019 00:48:09 GMT\"0x8D6F44FCC8DD448\"5120share156090529119103354156090529134104591Wed, 19 Jun 2019 00:48:11 GMT\"0x8D6F44FCDF3714A\"5120share156090529870502984156090529885103119Wed, 19 Jun 2019 00:48:18 GMT\"0x8D6F44FD26D1E09\"5120share156090538248003758x1Wed, 19 Jun 2019 00:49:42 GMT\"0x8D6F450045EF089\"5120share156090538248003758x2Wed, 19 Jun 2019 00:49:43 GMT\"0x8D6F4500495B8E3\"5120share156090539724300720156090539754505732Wed, 19 Jun 2019 00:49:57 GMT\"0x8D6F4500D580E83\"5120share156090541332209451156090541362901101Wed, 19 Jun 2019 00:50:13 GMT\"0x8D6F45016EFF17A\"5120share156090550949505668Wed, 19 Jun 2019 00:51:49 GMT\"0x8D6F450500368A9\"5120share156090551212302217156090551242708665Wed, 19 Jun 2019 00:51:52 GMT\"0x8D6F45051BA1314\"5120share156090553013901551Wed, 19 Jun 2019 00:52:10 GMT\"0x8D6F4505C618D79\"5120share156090553593709437156090553653902128Wed, 19 Jun 2019 00:52:16 GMT\"0x8D6F4506031358A\"5120share156090558100103645156090558115508952Wed, 19 Jun 2019 00:53:01 GMT\"0x8D6F4507AB22B77\"5120share156090564524803767156090564556104448Wed, 19 Jun 2019 00:54:05 GMT\"0x8D6F450A12D0E82\"5120share156099883086407809156099883149506226Thu, 20 Jun 2019 02:47:11 GMT\"0x8D6F5299855BC7B\"5120share156099893196906529156099893228004620Thu, 20 Jun 2019 02:48:52 GMT\"0x8D6F529D44FD103\"5120share156114311216300057Fri, 21 Jun 2019 18:51:52 GMT\"0x8D6F679864F385C\"5120share156114311890203576156114312002500579Fri, 21 Jun 2019 18:52:00 GMT\"0x8D6F6798AFE085E\"5120share156114333879907132156114334191903810Fri, 21 Jun 2019 18:55:42 GMT\"0x8D6F67A0F3FCF92\"5120share156114371848307278Fri, 21 Jun 2019 19:01:58 GMT\"0x8D6F67AEFA2AFE2\"5120share156114372136304633156114372167008416Fri, 21 Jun 2019 19:02:01 GMT\"0x8D6F67AF180FD23\"5120share156114379998900636156114380014204580Fri, 21 Jun 2019 19:03:20 GMT\"0x8D6F67B204707DA\"5120share156114474439505812Fri, 21 Jun 2019 19:19:04 GMT\"0x8D6F67D53314453\"5120share156114475387905810156114475448908574Fri, 21 Jun 2019 19:19:14 GMT\"0x8D6F67D5933C9C3\"5120share156114486321303028Fri, 21 Jun 2019 19:21:05 GMT\"0x8D6F67D9B61B33C\"5120share156115946574701846Fri, 21 Jun 2019 23:24:26 GMT\"0x8D6F69F99CE4B71\"5120share156115947141807982156115947224806986Fri, 21 Jun 2019 23:24:33 GMT\"0x8D6F69F9E1B1F7F\"5120share156115960121602365156115960188507490Fri, 21 Jun 2019 23:26:42 GMT\"0x8D6F69FEAF28A6C\"5120share156141635490400684Mon, 24 Jun 2019 22:45:55 GMT\"0x8D6F8F5B7AD250A\"5120share156141636264601764156141636329409650Mon, 24 Jun 2019 22:46:03 GMT\"0x8D6F8F5BCACA818\"5120share156141658460702995156141658490004575Mon, 24 Jun 2019 22:49:45 GMT\"0x8D6F8F641081F82\"5120share156141756433309618Mon, 24 Jun 2019 23:06:04 GMT\"0x8D6F8F8887D6188\"5120share156141756733002751156141756763204721Mon, 24 Jun 2019 23:06:07 GMT\"0x8D6F8F88A6C6C2A\"5120share156141764119603193156141764134701828Mon, 24 Jun 2019 23:07:21 GMT\"0x8D6F8F8B65C39CE\"5120share156141919236706702Mon, 24 Jun 2019 23:33:12 GMT\"0x8D6F8FC52EED154\"5120share156141919803003350156141919865801147Mon, 24 Jun 2019 23:33:19 GMT\"0x8D6F8FC56F4BD05\"5120share156141931966501774Mon, 24 Jun 2019 23:35:29 GMT\"0x8D6F8FCA4BD683F\"5120share156149970911905568Tue, 25 Jun 2019 21:55:09 GMT\"0x8D6F9B7CAAB4B3B\"5120share156149972253205524156149972575804451Tue, 25 Jun 2019 21:55:26 GMT\"0x8D6F9B7D492BDAF\"5120share156149997853501630156149997896706693Tue, 25 Jun 2019 21:59:39 GMT\"0x8D6F9B86B7E9EF8\"5120share156150112617009272Tue, 25 Jun 2019 22:18:46 GMT\"0x8D6F9BB17479CEF\"5120share156150115930800713156150115992806338Tue, 25 Jun 2019 22:19:23 GMT\"0x8D6F9BB2D3E52CB\"5120share156150134120204800156150134149206717Tue, 25 Jun 2019 22:22:21 GMT\"0x8D6F9BB979CFC8C\"5120share156150280108408199Tue, 25 Jun 2019 22:46:44 GMT\"0x8D6F9BEFF7465E5\"5120share156150281047001733156150281108602477Tue, 25 Jun 2019 22:46:52 GMT\"0x8D6F9BF0439157D\"5120share156150296438905506156150296523603401Tue, 25 Jun 2019 22:49:25 GMT\"0x8D6F9BF5F712922\"5120share156150354167103800156150354327804409Tue, 25 Jun 2019 22:59:03 GMT\"0x8D6F9C0B7FD48A0\"5120share156150384087807265156150384183008054Tue, 25 Jun 2019 23:04:02 GMT\"0x8D6F9C169F185B4\"5120share156150415783302542Tue, 25 Jun 2019 23:09:18 GMT\"0x8D6F9C2264959E1\"5120share156150416320803571156150416383902503Tue, 25 Jun 2019 23:09:24 GMT\"0x8D6F9C229DED148\"5120share156150416632503534Tue, 25 Jun 2019 23:09:26 GMT\"0x8D6F9C22B5A1E25\"5120share156150422332508880Tue, 25 Jun 2019 23:10:23 GMT\"0x8D6F9C24D8C96B5\"5120share156150423181005284156150423381304793Tue, 25 Jun 2019 23:10:34 GMT\"0x8D6F9C253961894\"5120share156150438077300288156150438106805729Tue, 25 Jun 2019 23:13:01 GMT\"0x8D6F9C2AB5763ED\"5120share156150520304506733Tue, 25 Jun 2019 23:26:43 GMT\"0x8D6F9C49531803B\"5120share156150520603800440156150520635102181Tue, 25 Jun 2019 23:26:46 GMT\"0x8D6F9C49729170A\"5120share156150526941308420156150526956606178Tue, 25 Jun 2019 23:27:49 GMT\"0x8D6F9C4BCD6B148\"5120share156150541781105471Tue, 25 Jun 2019 23:30:19 GMT\"0x8D6F9C5160C2833\"5120share156150542478109368156150542584804338Tue, 25 Jun 2019 23:30:37 GMT\"0x8D6F9C52095C85F\"5120share156150558874106308156150558905705627Tue, 25 Jun 2019 23:33:09 GMT\"0x8D6F9C57B5D00F3\"5120share156157755122201050Wed, 26 Jun 2019 19:32:31 GMT\"0x8D6FA6D08281E56\"5120share156157755835801351156157755918206381Wed, 26 Jun 2019 19:32:39 GMT\"0x8D6FA6D0CE6B185\"5120share156157776706008729156157776740003937Wed, 26 Jun 2019 19:36:14 GMT\"0x8D6FA6D8D07CBC0\"5120share156157812713009290Wed, 26 Jun 2019 19:42:07 GMT\"0x8D6FA6E5F5F6986\"5120share156157812988709797156157813019607970Wed, 26 Jun 2019 19:42:10 GMT\"0x8D6FA6E612A2BD2\"5120share156157821222404773156157821237603967Wed, 26 Jun 2019 19:43:32 GMT\"0x8D6FA6E92266E42\"5120share156167171825304089Thu, 27 Jun 2019 21:41:58 GMT\"0x8D6FB48481B1DF6\"5120share156167172740008077156167172801302454Thu, 27 Jun 2019 21:42:08 GMT\"0x8D6FB484DE5E19C\"5120share156167191200305174156167191230909547Thu, 27 Jun 2019 21:45:12 GMT\"0x8D6FB48BBC154DE\"5120share156167460291803910Thu, 27 Jun 2019 22:30:03 GMT\"0x8D6FB4EFF7A1EAB\"5120share156167460920009706156167461055105084Thu, 27 Jun 2019 22:30:10 GMT\"0x8D6FB4F0406A952\"5120share156167483668108415156167483697101782Thu, 27 Jun 2019 22:33:57 GMT\"0x8D6FB4F8AF84BB3\"5120share156167490290503731Thu, 27 Jun 2019 22:35:03 GMT\"0x8D6FB4FB24F4DB6\"5120share156167517153904038Thu, 27 Jun 2019 22:39:31 GMT\"0x8D6FB5052662917\"5120share156167517755505158156167517815603075Thu, 27 Jun 2019 22:39:38 GMT\"0x8D6FB505657EC7B\"5120share156167529252904292Thu, 27 Jun 2019 22:41:32 GMT\"0x8D6FB509A8275B8\"5120share156167529751905905156167529813604333Thu, 27 Jun 2019 22:41:38 GMT\"0x8D6FB509DDF4A1C\"5120share156167535503401963156167535664305424Thu, 27 Jun 2019 22:42:36 GMT\"0x8D6FB50C0B9F400\"5120share156167548673805809156167548704303995Thu, 27 Jun 2019 22:44:47 GMT\"0x8D6FB510E74D338\"5120share156167575224402351Thu, 27 Jun 2019 22:49:13 GMT\"0x8D6FB51AD55C8EC\"5120share156167575668805627156167575698309768Thu, 27 Jun 2019 22:49:17 GMT\"0x8D6FB51AF41D019\"5120share156167585826101254156167585840800011Thu, 27 Jun 2019 22:50:58 GMT\"0x8D6FB51EBB6085E\"5120share156167585874706565Thu, 27 Jun 2019 22:50:58 GMT\"0x8D6FB51EBF43F39\"5120share156167586149509643156167586180205309Thu, 27 Jun 2019 22:51:01 GMT\"0x8D6FB51EDBC8264\"5120share156167594459405776156167594474804048Thu, 27 Jun 2019 22:52:24 GMT\"0x8D6FB521F2CBE75\"5120share156176588854206400Fri, 28 Jun 2019 23:51:28 GMT\"0x8D6FC2389F2FD5F\"5120share156176589692808078156176589875202991Fri, 28 Jun 2019 23:51:39 GMT\"0x8D6FC2390091D0C\"5120share156176612791506715156176612845900962Fri, 28 Jun 2019 23:55:28 GMT\"0x8D6FC2418F32307\"5120share156176661221508658Sat, 29 Jun 2019 00:03:32 GMT\"0x8D6FC25393BF65C\"5120share156176661487103961156176661517807686Sat, 29 Jun 2019 00:03:35 GMT\"0x8D6FC253AF764BB\"5120share156176668751909920156176668767309446Sat, 29 Jun 2019 00:04:47 GMT\"0x8D6FC25662D145D\"5120share156177023776708978Sat, 29 Jun 2019 01:03:58 GMT\"0x8D6FC2DAA4A1A42\"5120share156177024605000436156177024667302449Sat, 29 Jun 2019 01:04:06 GMT\"0x8D6FC2DAF998949\"5120share156177042209209997156177042240202417Sat, 29 Jun 2019 01:07:03 GMT\"0x8D6FC2E18AEB71F\"5120share156177068029709510Sat, 29 Jun 2019 01:11:20 GMT\"0x8D6FC2EB2452A8E\"5120share156177108587708981Sat, 29 Jun 2019 01:18:06 GMT\"0x8D6FC2FA3CD6CFD\"5120share156177109100203434156177109234108792Sat, 29 Jun 2019 01:18:12 GMT\"0x8D6FC2FA7A7F20B\"5120share156177126386102063156177126416701790Sat, 29 Jun 2019 01:21:04 GMT\"0x8D6FC300E141B68\"5120share156177157004405781Sat, 29 Jun 2019 01:26:10 GMT\"0x8D6FC30C4564E17\"5120share156177157326602320156177157357705545Sat, 29 Jun 2019 01:26:13 GMT\"0x8D6FC30C6667968\"5120share156177167269006770156177167284101453Sat, 29 Jun 2019 01:27:52 GMT\"0x8D6FC3101913AD8\"5120share156177469626603145Sat, 29 Jun 2019 02:18:16 GMT\"0x8D6FC380BC83BDF\"5120share156177470315208729156177470382406252Sat, 29 Jun 2019 02:18:24 GMT\"0x8D6FC381047E20A\"5120share156177472919901773Sat, 29 Jun 2019 02:18:49 GMT\"0x8D6FC381F584D02\"5120share156177473180705592156177473220704006Sat, 29 Jun 2019 02:18:52 GMT\"0x8D6FC38211C3AAC\"5120share156177482350209179156177482366504341Sat, 29 Jun 2019 02:20:23 GMT\"0x8D6FC3857A1619F\"5120share156177490141105742156177490170506946Sat, 29 Jun 2019 02:21:41 GMT\"0x8D6FC3886390919\"5120share156177951451406115Sat, 29 Jun 2019 03:38:34 GMT\"0x8D6FC43439D378B\"5120share156177951760805777156177951791004817Sat, 29 Jun 2019 03:38:38 GMT\"0x8D6FC43459AE940\"5120share156177961130904126156177961145900274Sat, 29 Jun 2019 03:40:11 GMT\"0x8D6FC437D5CE11B\"5120share156177962099703328Sat, 29 Jun 2019 03:40:21 GMT\"0x8D6FC438323D4D6\"5120share156177962626905243156177962687601520Sat, 29 Jun 2019 03:40:27 GMT\"0x8D6FC4386A59F02\"5120share156177980235602599156177980271008212Sat, 29 Jun 2019 03:43:22 GMT\"0x8D6FC43EF7580DF\"5120share156178043308106756Sat, 29 Jun 2019 03:53:53 GMT\"0x8D6FC45672EBCB7\"5120share156178044109601036156178044405202385Sat, 29 Jun 2019 03:54:04 GMT\"0x8D6FC456DB97AC1\"5120share156178059543401946156178059574602059Sat, 29 Jun 2019 03:56:36 GMT\"0x8D6FC45C8249C7D\"5120share156178091162507491Sat, 29 Jun 2019 04:01:51 GMT\"0x8D6FC46845B0D9D\"5120share156178091451304496156178091485309844Sat, 29 Jun 2019 04:01:54 GMT\"0x8D6FC46863F3036\"5120share156178099001300190156178099016701486Sat, 29 Jun 2019 04:03:10 GMT\"0x8D6FC46B323714E\"5120share156178142948204908Sat, 29 Jun 2019 04:10:29 GMT\"0x8D6FC47B9168334\"5120share156178143550309403156178143614409599Sat, 29 Jun 2019 04:10:36 GMT\"0x8D6FC47BD0E529E\"5120share156178160047603098156178160079104912Sat, 29 Jun 2019 04:13:21 GMT\"0x8D6FC481F31D660\"5120share156178190941705261Sat, 29 Jun 2019 04:18:29 GMT\"0x8D6FC48D715A7E2\"5120share156178191220406874156178191253009117Sat, 29 Jun 2019 04:18:32 GMT\"0x8D6FC48D8E84DDF\"5120share156178199943507208156178199959100376Sat, 29 Jun 2019 04:19:59 GMT\"0x8D6FC490CCCD1C7\"5120share156178233670809699Sat, 29 Jun 2019 04:25:36 GMT\"0x8D6FC49D5D3D2D0\"5120share156178234404900051156178234466308412Sat, 29 Jun 2019 04:25:44 GMT\"0x8D6FC49DA92C37A\"5120share156178249561208336156178249592108353Sat, 29 Jun 2019 04:28:16 GMT\"0x8D6FC4A34BAC565\"5120share156178282083104414Sat, 29 Jun 2019 04:33:40 GMT\"0x8D6FC4AF65347A2\"5120share156178282342607712156178282374108656Sat, 29 Jun 2019 04:33:43 GMT\"0x8D6FC4AF806C3F2\"5120share156178290648809286156178290664105286Sat, 29 Jun 2019 04:35:06 GMT\"0x8D6FC4B2970520B\"5120share156209045418202620Tue, 02 Jul 2019 18:00:54 GMT\"0x8D6FF173A17ABAD\"5120share156209045801807638156209045832101928Tue, 02 Jul 2019 18:00:58 GMT\"0x8D6FF173C84D6F5\"5120share156209054180307181156209054195007711Tue, 02 Jul 2019 18:02:22 GMT\"0x8D6FF176E5E22FB\"5120share156209140050808358Tue, 02 Jul 2019 18:16:40 GMT\"0x8D6FF196E1C5418\"5120share156209140773706831156209140806700148Tue, 02 Jul 2019 18:16:48 GMT\"0x8D6FF19729D5426\"5120share156209149173604503Tue, 02 Jul 2019 18:18:11 GMT\"0x8D6FF19A47CE5C9\"5120share156209150062107911Tue, 02 Jul 2019 18:18:20 GMT\"0x8D6FF19A9C95F33\"5120share156209150161906860Tue, 02 Jul 2019 18:18:21 GMT\"0x8D6FF19AA60FF8F\"5120share156209150362904138Tue, 02 Jul 2019 18:18:23 GMT\"0x8D6FF19AB943870\"5120share156209151062007814156209151093907660Tue, 02 Jul 2019 18:18:31 GMT\"0x8D6FF19AFF04559\"5120share156209163860907298156209163869100249Tue, 02 Jul 2019 18:20:38 GMT\"0x8D6FF19FC158AC7\"5120share156209262959905903Tue, 02 Jul 2019 18:37:09 GMT\"0x8D6FF1C4ABB598E\"5120share156209263284701221156209263318101643Tue, 02 Jul 2019 18:37:13 GMT\"0x8D6FF1C4CDAA468\"5120share156209271989109678156209272004309150Tue, 02 Jul 2019 18:38:40 GMT\"0x8D6FF1C809ED6B1\"5120share156209413129503258Tue, 02 Jul 2019 19:02:11 GMT\"0x8D6FF1FC9CE25F4\"5120share156209413410100352156209413444300660Tue, 02 Jul 2019 19:02:14 GMT\"0x8D6FF1FCBAB2C1D\"5120share156209421373100442156209421388600024Tue, 02 Jul 2019 19:03:33 GMT\"0x8D6FF1FFB048779\"5120share156211344223601381Wed, 03 Jul 2019 00:24:03 GMT\"0x8D6FF4CC09B517D\"5120share156211345052800751156211345085407338Wed, 03 Jul 2019 00:24:10 GMT\"0x8D6FF4CC52456C4\"5120share156211355859507687156211355874906732Wed, 03 Jul 2019 00:25:58 GMT\"0x8D6FF4D05733B63\"5120share156211364297402499Wed, 03 Jul 2019 00:27:23 GMT\"0x8D6FF4D37B571C4\"5120share156211364663002865156211364697106726Wed, 03 Jul 2019 00:27:27 GMT\"0x8D6FF4D3A08FDA1\"5120share156211371733002692Wed, 03 Jul 2019 00:28:37 GMT\"0x8D6FF4D63F8E76C\"5120share156212461746306413Wed, 03 Jul 2019 03:30:20 GMT\"0x8D6FF66C6B8100D\"5120share156213687152200429Wed, 03 Jul 2019 06:54:31 GMT\"0x8D6FF834D09DC5F\"5120share156213687716309858156213687911502031Wed, 03 Jul 2019 06:54:40 GMT\"0x8D6FF8352682B7A\"5120share156213710134509748156213710163505227Wed, 03 Jul 2019 06:58:21 GMT\"0x8D6FF83D6304B29\"5120share156213751141404247Wed, 03 Jul 2019 07:05:11 GMT\"0x8D6FF84CA613365\"5120share156213751711501416156213751742502505Wed, 03 Jul 2019 07:05:17 GMT\"0x8D6FF84CDEE809B\"5120share156213761217404186156213761232805502Wed, 03 Jul 2019 07:06:52 GMT\"0x8D6FF85067F3A1B\"5120share156218810291401426Wed, 03 Jul 2019 21:08:22 GMT\"0x8D6FFFA9532D208\"5120share156218810468207949156218810487006588Wed, 03 Jul 2019 21:08:24 GMT\"0x8D6FFFA965831B1\"5120share156218812908705961Wed, 03 Jul 2019 21:08:49 GMT\"0x8D6FFFAA4D292BB\"5120share156218813041600866156218813055409998Wed, 03 Jul 2019 21:08:50 GMT\"0x8D6FFFAA5AE268A\"5120share156218814722609250Wed, 03 Jul 2019 21:09:07 GMT\"0x8D6FFFAAFDC8959\"5120share156218815025601809Wed, 03 Jul 2019 21:09:10 GMT\"0x8D6FFFAB1B662C6\"5120share156218815516802793156218815547409064Wed, 03 Jul 2019 21:09:15 GMT\"0x8D6FFFAB490A7D1\"5120share156218815900805852156218815937704660Wed, 03 Jul 2019 21:09:19 GMT\"0x8D6FFFAB6E59FD2\"5120share156218817232201852156218817241505518Wed, 03 Jul 2019 21:09:32 GMT\"0x8D6FFFABE9A4D1A\"5120share156218817290904315156218817297806780Wed, 03 Jul 2019 21:09:33 GMT\"0x8D6FFFABEF76899\"5120share156218820962001887Wed, 03 Jul 2019 21:10:09 GMT\"0x8D6FFFAD4D532E7\"5120share156218821483707713156218821509303999Wed, 03 Jul 2019 21:10:15 GMT\"0x8D6FFFAD856E686\"5120share156218823882803659Wed, 03 Jul 2019 21:10:38 GMT\"0x8D6FFFAE633664D\"5120share156218823914106773156218823916905995Wed, 03 Jul 2019 21:10:39 GMT\"0x8D6FFFAE6670284\"5120share156218825240502808Wed, 03 Jul 2019 21:10:52 GMT\"0x8D6FFFAEE5DF2A7\"5120share156218825669506210156218825741204460Wed, 03 Jul 2019 21:10:57 GMT\"0x8D6FFFAF1570382\"5120share156218826132309948156218826133709479Wed, 03 Jul 2019 21:11:01 GMT\"0x8D6FFFAF39DC3D8\"5120share156218829213102166Wed, 03 Jul 2019 21:11:32 GMT\"0x8D6FFFB060A08EE\"5120share156218829518907971156218829555101799Wed, 03 Jul 2019 21:11:35 GMT\"0x8D6FFFB08137C33\"5120share156218831500000627Wed, 03 Jul 2019 21:11:56 GMT\"0x8D6FFFB1466BE78\"5120share156218831717903607Wed, 03 Jul 2019 21:11:57 GMT\"0x8D6FFFB1519472A\"5120share156218831961007345156218831986006674Wed, 03 Jul 2019 21:11:59 GMT\"0x8D6FFFB168E3CE1\"5120share156218831995406220156218832013004958Wed, 03 Jul 2019 21:12:00 GMT\"0x8D6FFFB16BBD432\"5120share156218832322505768156218832360504806Wed, 03 Jul 2019 21:12:03 GMT\"0x8D6FFFB18D15BD5\"5120share156218832585509445156218832597406290Wed, 03 Jul 2019 21:12:06 GMT\"0x8D6FFFB1A82458C\"5120share156218832948805012Wed, 03 Jul 2019 21:12:09 GMT\"0x8D6FFFB1C44B0D5\"5120share156218833091207561156218833113306069Wed, 03 Jul 2019 21:12:11 GMT\"0x8D6FFFB1D3C360D\"5120share156218833386004348Wed, 03 Jul 2019 21:12:13 GMT\"0x8D6FFFB1EE6F4FD\"5120share156218833674506705156218833699206689Wed, 03 Jul 2019 21:12:17 GMT\"0x8D6FFFB20C16DFA\"5120share156218834528400186Wed, 03 Jul 2019 21:12:25 GMT\"0x8D6FFFB25BE9F0D\"5120share156218834612207343Wed, 03 Jul 2019 21:12:26 GMT\"0x8D6FFFB263BBCE2\"5120share156218834617001877156218834628006676Wed, 03 Jul 2019 21:12:26 GMT\"0x8D6FFFB264B52D3\"5120share156218835028206540156218835073104336Wed, 03 Jul 2019 21:12:30 GMT\"0x8D6FFFB28FD79E9\"5120share156218835139908756156218835177900834Wed, 03 Jul 2019 21:12:31 GMT\"0x8D6FFFB299B2B6B\"5120share156218835272703433Wed, 03 Jul 2019 21:12:32 GMT\"0x8D6FFFB2A2A6487\"5120share156218835572304653156218835607804212Wed, 03 Jul 2019 21:12:36 GMT\"0x8D6FFFB2C231A86\"5120share156218836398703778Wed, 03 Jul 2019 21:12:44 GMT\"0x8D6FFFB30E48952\"5120share156218836991705023156218837029301532Wed, 03 Jul 2019 21:12:50 GMT\"0x8D6FFFB34A60D81\"5120share156218837181303014156218837188008392Wed, 03 Jul 2019 21:12:51 GMT\"0x8D6FFFB3585B4F9\"5120share156218837714701290Wed, 03 Jul 2019 21:12:57 GMT\"0x8D6FFFB38B00F58\"5120share156218838012709231156218838047802729Wed, 03 Jul 2019 21:13:00 GMT\"0x8D6FFFB3AAD01D6\"5120share156218839475408224156218839489503159Wed, 03 Jul 2019 21:13:15 GMT\"0x8D6FFFB4347B10F\"5120share156218839740101454156218839757505743Wed, 03 Jul 2019 21:13:17 GMT\"0x8D6FFFB45000204\"5120share156218841214004326156218841228207684Wed, 03 Jul 2019 21:13:32 GMT\"0x8D6FFFB4DA194AF\"5120share156218841648107657156218841668401663Wed, 03 Jul 2019 21:13:36 GMT\"0x8D6FFFB504C394E\"5120share156218842260304645156218842278100435Wed, 03 Jul 2019 21:13:43 GMT\"0x8D6FFFB5409FC14\"5120share156218843258804455Wed, 03 Jul 2019 21:13:52 GMT\"0x8D6FFFB59BB62BC\"5120share156218843643503489156218843662309630Wed, 03 Jul 2019 21:13:56 GMT\"0x8D6FFFB5C1E7889\"5120share156218844878908228Wed, 03 Jul 2019 21:14:08 GMT\"0x8D6FFFB6359C822\"5120share156218844954006738156218844974407220Wed, 03 Jul 2019 21:14:09 GMT\"0x8D6FFFB64032FDE\"5120share156218844983208549156218844989500803Wed, 03 Jul 2019 21:14:09 GMT\"0x8D6FFFB640086A1\"5120share156218845655108128156218845677103763Wed, 03 Jul 2019 21:14:16 GMT\"0x8D6FFFB682FC4C9\"5120share156218846219004443156218846237805474Wed, 03 Jul 2019 21:14:22 GMT\"0x8D6FFFB6B89539C\"5120share156218848880205915Wed, 03 Jul 2019 21:14:48 GMT\"0x8D6FFFB7B4753B8\"5120share156218849152809196156218849155802229Wed, 03 Jul 2019 21:14:51 GMT\"0x8D6FFFB7CD59146\"5120share156218849195805511156218849235208433Wed, 03 Jul 2019 21:14:52 GMT\"0x8D6FFFB7D652EF2\"5120share156218850123302360156218850132304233Wed, 03 Jul 2019 21:15:01 GMT\"0x8D6FFFB82AEA7C7\"5120share156218850481906018156218850499900800Wed, 03 Jul 2019 21:15:05 GMT\"0x8D6FFFB84E44DC7\"5120share156218853813008418156218853830609828Wed, 03 Jul 2019 21:15:38 GMT\"0x8D6FFFB98C73617\"5120share156218859838802801156218859858309191Wed, 03 Jul 2019 21:16:38 GMT\"0x8D6FFFBBCB6FBE6\"5120share156218868254009744Wed, 03 Jul 2019 21:18:02 GMT\"0x8D6FFFBEEC542A6\"5120share156218868563906402156218868604709782Wed, 03 Jul 2019 21:18:06 GMT\"0x8D6FFFBF0E10AA5\"5120share156218878496804020156218878515609001Wed, 03 Jul 2019 21:19:45 GMT\"0x8D6FFFC2BEF90FA\"5120share156218880289800080Wed, 03 Jul 2019 21:20:03 GMT\"0x8D6FFFC36F62EC7\"5120share156218880591300297156218880619406805Wed, 03 Jul 2019 21:20:06 GMT\"0x8D6FFFC38717939\"5120share156218886001402354Wed, 03 Jul 2019 21:21:00 GMT\"0x8D6FFFC5876D7CC\"5120share156218886098409655156218886114109710Wed, 03 Jul 2019 21:21:01 GMT\"0x8D6FFFC592507E7\"5120share156218887727908032Wed, 03 Jul 2019 21:21:17 GMT\"0x8D6FFFC62D1A190\"5120share156218888019300356156218888057705578Wed, 03 Jul 2019 21:21:20 GMT\"0x8D6FFFC64C8E1BC\"5120share156218888051108068156218888066002214Wed, 03 Jul 2019 21:21:20 GMT\"0x8D6FFFC64D255F1\"5120share156218890389206427156218890395502850Wed, 03 Jul 2019 21:21:44 GMT\"0x8D6FFFC72AB7A2F\"5120share156218896990405494156218897008409212Wed, 03 Jul 2019 21:22:50 GMT\"0x8D6FFFC9A22E9C8\"5120share156218898886706826Wed, 03 Jul 2019 21:23:11 GMT\"0x8D6FFFCA70965DC\"5120share156224220514003209Thu, 04 Jul 2019 12:10:05 GMT\"0x8D700788CA930DA\"5120share156224221168003209156224221187202741Thu, 04 Jul 2019 12:10:11 GMT\"0x8D7007890A808BA\"5120share156224223072602141Thu, 04 Jul 2019 12:10:30 GMT\"0x8D700789BE91D51\"5120share156224223403605632156224223417508519Thu, 04 Jul 2019 12:10:34 GMT\"0x8D700789DF35623\"5120share156224224734905597156224224744009530Thu, 04 Jul 2019 12:10:47 GMT\"0x8D70078A5DB9BAB\"5120share156224226591307148156224226598304177Thu, 04 Jul 2019 12:11:06 GMT\"0x8D70078B0E80D37\"5120share156224235782704154Thu, 04 Jul 2019 12:12:37 GMT\"0x8D70078E7A15EDC\"5120share156224235834008863156224235840103952Thu, 04 Jul 2019 12:12:38 GMT\"0x8D70078E7F868A2\"5120share156224238470400606156224238471805028Thu, 04 Jul 2019 12:13:04 GMT\"0x8D70078F7A7DA3D\"5120share156224247330208559Thu, 04 Jul 2019 12:14:33 GMT\"0x8D700792CAE94DE\"5120share156224249135903122156224249173204851Thu, 04 Jul 2019 12:14:52 GMT\"0x8D7007937B4CEC6\"5120share156224255226708186Thu, 04 Jul 2019 12:15:53 GMT\"0x8D700795BF5C771\"5120share156224256383902281Thu, 04 Jul 2019 12:16:04 GMT\"0x8D700796289E86C\"5120share156224257178705012156224257221704098Thu, 04 Jul 2019 12:16:12 GMT\"0x8D70079677E5FE9\"5120share156224257606104557Thu, 04 Jul 2019 12:16:16 GMT\"0x8D7007969CA5F19\"5120share156224258041207453156224258065100730Thu, 04 Jul 2019 12:16:20 GMT\"0x8D700796C803AB5\"5120share156224258996006659156224259070909486Thu, 04 Jul 2019 12:16:30 GMT\"0x8D70079727CFC4F\"5120share156224260539401271Thu, 04 Jul 2019 12:16:45 GMT\"0x8D700797B474402\"5120share156224260920908795156224260966301711Thu, 04 Jul 2019 12:16:49 GMT\"0x8D700797DD2187C\"5120share156224264676100256156224264699304421Thu, 04 Jul 2019 12:17:27 GMT\"0x8D7007994099985\"5120share156224268859000186Thu, 04 Jul 2019 12:18:08 GMT\"0x8D70079ACDC46B9\"5120share156224270442304790156224271205103200Thu, 04 Jul 2019 12:18:32 GMT\"0x8D70079BAE1397C\"5120share156224271948708081156224271966204422Thu, 04 Jul 2019 12:18:39 GMT\"0x8D70079BF6056C5\"5120share156224272974807413156224272988205303Thu, 04 Jul 2019 12:18:49 GMT\"0x8D70079C57394E5\"5120share156224274677505541156224275949809089Thu, 04 Jul 2019 12:19:19 GMT\"0x8D70079D71A6F45\"5120share156224283062005561156224285810205191Thu, 04 Jul 2019 12:20:58 GMT\"0x8D7007A11E160A6\"5120share156224283258006241Thu, 04 Jul 2019 12:20:32 GMT\"0x8D7007A02B1D684\"5120share156224284013904358156224284127107016Thu, 04 Jul 2019 12:20:41 GMT\"0x8D7007A07E0F19F\"5120share156224284346904220156224284365206788Thu, 04 Jul 2019 12:20:43 GMT\"0x8D7007A096706C2\"5120share156224291713606722156224291733909552Thu, 04 Jul 2019 12:21:57 GMT\"0x8D7007A3536480B\"5120share156224300556207548Thu, 04 Jul 2019 12:23:25 GMT\"0x8D7007A69D54B6C\"5120share156224300873302977156224300906107453Thu, 04 Jul 2019 12:23:29 GMT\"0x8D7007A6BDA28FA\"5120share156224306936202467156224306951908123Thu, 04 Jul 2019 12:24:29 GMT\"0x8D7007A8FE5B92D\"5120share156224319870301619Thu, 04 Jul 2019 12:26:38 GMT\"0x8D7007ADCED3731\"5120share156224320354301960156224320393504495Thu, 04 Jul 2019 12:26:44 GMT\"0x8D7007AE00BF3F5\"5120share156224326458804394156224326479203755Thu, 04 Jul 2019 12:27:44 GMT\"0x8D7007B0450B069\"5120share156232841613508319Fri, 05 Jul 2019 12:06:56 GMT\"0x8D70141466C2B64\"5120share156232841861208282156232841879807673Fri, 05 Jul 2019 12:06:58 GMT\"0x8D7014147FE10C6\"5120share156232844168506704Fri, 05 Jul 2019 12:07:21 GMT\"0x8D7014155A4AD97\"5120share156232844386907637156232844401307651Fri, 05 Jul 2019 12:07:24 GMT\"0x8D701415703F68A\"5120share156232845753707554156232845762800912Fri, 05 Jul 2019 12:07:38 GMT\"0x8D701415F646150\"5120share156232847764404417156232847770606191Fri, 05 Jul 2019 12:07:57 GMT\"0x8D701416B192B69\"5120share156232850414608580Fri, 05 Jul 2019 12:08:24 GMT\"0x8D701417AE586D6\"5120share156232850675609065Fri, 05 Jul 2019 12:08:27 GMT\"0x8D701417CAD06D7\"5120share156232851804601744Fri, 05 Jul 2019 12:08:38 GMT\"0x8D701418320B741\"5120share156232851810906256Fri, 05 Jul 2019 12:08:38 GMT\"0x8D701418329B98D\"5120share156232851844806823156232851848405216Fri, 05 Jul 2019 12:08:38 GMT\"0x8D70141836354F3\"5120share156232852424601536156232852458902443Fri, 05 Jul 2019 12:08:44 GMT\"0x8D701418714C45A\"5120share156232853154900982Fri, 05 Jul 2019 12:08:51 GMT\"0x8D701418B41BA0E\"5120share156232853229105920156232853403607477Fri, 05 Jul 2019 12:08:54 GMT\"0x8D701418D2AAF5E\"5120share156232853464309443156232853465701570Fri, 05 Jul 2019 12:08:54 GMT\"0x8D701418D072F58\"5120share156232854044800518156232854082104810Fri, 05 Jul 2019 12:09:01 GMT\"0x8D7014190D10C8C\"5120share156232856511904283Fri, 05 Jul 2019 12:09:25 GMT\"0x8D701419F4A85DC\"5120share156232857881806424156232857928009105Fri, 05 Jul 2019 12:09:39 GMT\"0x8D70141A7B73541\"5120share156232857892808238Fri, 05 Jul 2019 12:09:40 GMT\"0x8D70141A80B4DD8\"5120share156232858344102166156232858639902242Fri, 05 Jul 2019 12:09:47 GMT\"0x8D70141ACA89FB6\"5120share156232859029501162Fri, 05 Jul 2019 12:09:50 GMT\"0x8D70141AE446A35\"5120share156232859892701334156232859953306110Fri, 05 Jul 2019 12:09:59 GMT\"0x8D70141B3C6940C\"5120share156232863064505686156232863078706867Fri, 05 Jul 2019 12:10:30 GMT\"0x8D70141C6636CC6\"5120share156232864865505253156232864883208593Fri, 05 Jul 2019 12:10:48 GMT\"0x8D70141D1293D2A\"5120share156232865619904092156232865631708641Fri, 05 Jul 2019 12:10:56 GMT\"0x8D70141D5D3EDE2\"5120share156232866820908467156232866832807932Fri, 05 Jul 2019 12:11:08 GMT\"0x8D70141DCC375AE\"5120share156232870555103531156232870572709019Fri, 05 Jul 2019 12:11:45 GMT\"0x8D70141F3116C76\"5120share156232877541102280156232877559904486Fri, 05 Jul 2019 12:12:55 GMT\"0x8D701421CB17A4A\"5120share156232879380203184Fri, 05 Jul 2019 12:13:13 GMT\"0x8D70142278F5E93\"5120share156232879576504146Fri, 05 Jul 2019 12:13:15 GMT\"0x8D7014228A8F8C5\"5120share156232879619509129156232879647601822Fri, 05 Jul 2019 12:13:16 GMT\"0x8D7014229257797\"5120share156232879629701739156232879632809084Fri, 05 Jul 2019 12:13:16 GMT\"0x8D7014229000525\"5120share156232882553006958156232882554604883Fri, 05 Jul 2019 12:13:45 GMT\"0x8D701423A6861AC\"5120share156232884964601059Fri, 05 Jul 2019 12:14:09 GMT\"0x8D7014248D5E082\"5120share156232885045607572156232885050306087Fri, 05 Jul 2019 12:14:10 GMT\"0x8D70142494919B0\"5120share156232886722907465156232886733805736Fri, 05 Jul 2019 12:14:27 GMT\"0x8D70142535F0DCF\"5120share156232888680606023156232888682107821Fri, 05 Jul 2019 12:14:46 GMT\"0x8D701425EEF1DA7\"5120share156241462907307660Sat, 06 Jul 2019 12:03:49 GMT\"0x8D7020A015725F3\"5120share156241463143207723156241463162309308Sat, 06 Jul 2019 12:03:51 GMT\"0x8D7020A02D86627\"5120share156241464716007409Sat, 06 Jul 2019 12:04:07 GMT\"0x8D7020A0C24AE28\"5120share156241465549807570156241465588401078Sat, 06 Jul 2019 12:04:16 GMT\"0x8D7020A1191F4BD\"5120share156241465573602212Sat, 06 Jul 2019 12:04:17 GMT\"0x8D7020A11EFA595\"5120share156241466446407898156241466484306382Sat, 06 Jul 2019 12:04:25 GMT\"0x8D7020A16DE1800\"5120share156241466677505994Sat, 06 Jul 2019 12:04:36 GMT\"0x8D7020A1D67EDD1\"5120share156241467245803112Sat, 06 Jul 2019 12:04:32 GMT\"0x8D7020A1B324653\"5120share156241467480109923156241467495504586Sat, 06 Jul 2019 12:04:35 GMT\"0x8D7020A1CAB203A\"5120share156241468714300719156241468794107214Sat, 06 Jul 2019 12:04:48 GMT\"0x8D7020A247690F2\"5120share156241469141502244156241469150603069Sat, 06 Jul 2019 12:04:51 GMT\"0x8D7020A268A0834\"5120share156241470391902233Sat, 06 Jul 2019 12:05:05 GMT\"0x8D7020A2EECF18F\"5120share156241470668007254Sat, 06 Jul 2019 12:05:07 GMT\"0x8D7020A3025D50B\"5120share156241470920202907156241470927200006Sat, 06 Jul 2019 12:05:09 GMT\"0x8D7020A311F4B11\"5120share156241471423104607156241471451708135Sat, 06 Jul 2019 12:05:15 GMT\"0x8D7020A34F7E298\"5120share156241471865309980156241471938400766Sat, 06 Jul 2019 12:05:19 GMT\"0x8D7020A37301FBC\"5120share156241473553307854Sat, 06 Jul 2019 12:05:35 GMT\"0x8D7020A40D154D0\"5120share156241474399800621156241475203003406Sat, 06 Jul 2019 12:05:52 GMT\"0x8D7020A4AA62845\"5120share156241476635507633Sat, 06 Jul 2019 12:06:06 GMT\"0x8D7020A532BABAF\"5120share156241476806208009156241476820708153Sat, 06 Jul 2019 12:06:08 GMT\"0x8D7020A5441C3D2\"5120share156241476957902450156241477324300930Sat, 06 Jul 2019 12:06:13 GMT\"0x8D7020A574E56CE\"5120share156241477678600629Sat, 06 Jul 2019 12:06:16 GMT\"0x8D7020A596589BC\"5120share156241477992209683156241478018703876Sat, 06 Jul 2019 12:06:23 GMT\"0x8D7020A5D94E01F\"5120share156241478428406864Sat, 06 Jul 2019 12:06:24 GMT\"0x8D7020A5DE1B58B\"5120share156241478864206174156241478892305093Sat, 06 Jul 2019 12:06:29 GMT\"0x8D7020A60A40148\"5120share156241479444801776156241479450906381Sat, 06 Jul 2019 12:06:34 GMT\"0x8D7020A63EEC43C\"5120share156241480058905841156241480076800282Sat, 06 Jul 2019 12:06:40 GMT\"0x8D7020A67B6AF10\"5120share156241481893904973156241481906902159Sat, 06 Jul 2019 12:06:59 GMT\"0x8D7020A729BB31E\"5120share156241482020100867156241482032506205Sat, 06 Jul 2019 12:07:00 GMT\"0x8D7020A73586872\"5120share156241482662101250156241482674208134Sat, 06 Jul 2019 12:07:06 GMT\"0x8D7020A772C53E0\"5120share156241483326708529156241483442001894Sat, 06 Jul 2019 12:07:14 GMT\"0x8D7020A7BC54DB3\"5120share156241483936806622156241483947702143Sat, 06 Jul 2019 12:07:19 GMT\"0x8D7020A7EC76FB3\"5120share156241485300207887Sat, 06 Jul 2019 12:07:33 GMT\"0x8D7020A86D24BF8\"5120share156241485513001519156241485538005300Sat, 06 Jul 2019 12:07:35 GMT\"0x8D7020A8840C749\"5120share156241485930305951156241485941207924Sat, 06 Jul 2019 12:07:39 GMT\"0x8D7020A8AA7B377\"5120share156241491919600593156241491933604336Sat, 06 Jul 2019 12:08:39 GMT\"0x8D7020AAE601D7B\"5120share156250100905700759Sun, 07 Jul 2019 12:03:29 GMT\"0x8D702D31FD2BAC7\"5120share156250101131204371156250101149606821Sun, 07 Jul 2019 12:03:31 GMT\"0x8D702D32141F754\"5120share156250102609105498Sun, 07 Jul 2019 12:03:46 GMT\"0x8D702D32A5183CE\"5120share156250103822709207Sun, 07 Jul 2019 12:03:58 GMT\"0x8D702D3313F1B15\"5120share156250103849800271156250104500405514Sun, 07 Jul 2019 12:04:05 GMT\"0x8D702D33549247B\"5120share156250104413408197156250104467807375Sun, 07 Jul 2019 12:04:04 GMT\"0x8D702D335174307\"5120share156250104450205064Sun, 07 Jul 2019 12:04:04 GMT\"0x8D702D334FDAAF5\"5120share156250104784808726156250104794006612Sun, 07 Jul 2019 12:04:07 GMT\"0x8D702D336FAFA4C\"5120share156250106252307155156250107144202359Sun, 07 Jul 2019 12:04:31 GMT\"0x8D702D3451982E6\"5120share156250106360804485Sun, 07 Jul 2019 12:04:23 GMT\"0x8D702D34052DB43\"5120share156250106526600919156250106538609624Sun, 07 Jul 2019 12:04:25 GMT\"0x8D702D3415EAF31\"5120share156250107494008392Sun, 07 Jul 2019 12:04:35 GMT\"0x8D702D34727B468\"5120share156250107776200036Sun, 07 Jul 2019 12:04:37 GMT\"0x8D702D348CBEB95\"5120share156250108247608928156250108274206566Sun, 07 Jul 2019 12:04:43 GMT\"0x8D702D34BFED761\"5120share156250108674401926156250108699800231Sun, 07 Jul 2019 12:04:47 GMT\"0x8D702D34E59D36B\"5120share156250109234709676Sun, 07 Jul 2019 12:04:52 GMT\"0x8D702D3517DB31B\"5120share156250109324109070156250109330605800Sun, 07 Jul 2019 12:04:53 GMT\"0x8D702D352039087\"5120share156250110105509410156250110176402446Sun, 07 Jul 2019 12:05:01 GMT\"0x8D702D357167157\"5120share156250114604802333Sun, 07 Jul 2019 12:05:46 GMT\"0x8D702D3717B4BA2\"5120share156250114966802007Sun, 07 Jul 2019 12:05:49 GMT\"0x8D702D373A48677\"5120share156250115074604410156250115102804974Sun, 07 Jul 2019 12:05:51 GMT\"0x8D702D374F14CFC\"5120share156250115102209658156250115117105313Sun, 07 Jul 2019 12:05:51 GMT\"0x8D702D3748460C9\"5120share156250116339103851156250116361904081Sun, 07 Jul 2019 12:06:03 GMT\"0x8D702D37BFCC26C\"5120share156250117362100690156250117380109971Sun, 07 Jul 2019 12:06:13 GMT\"0x8D702D3820E55C6\"5120share156250117815406735156250117891508882Sun, 07 Jul 2019 12:06:19 GMT\"0x8D702D38527156B\"5120share156250118098202263156250118105907325Sun, 07 Jul 2019 12:06:21 GMT\"0x8D702D386552F65\"5120share156250119293202513156250119397206915Sun, 07 Jul 2019 12:06:34 GMT\"0x8D702D38E0BBA94\"5120share156250119293507178156250119334305374Sun, 07 Jul 2019 12:06:33 GMT\"0x8D702D38DAC3A41\"5120share156250119976800444156250119988505678Sun, 07 Jul 2019 12:06:40 GMT\"0x8D702D39194A072\"5120share156250120491103313156250120505409294Sun, 07 Jul 2019 12:06:45 GMT\"0x8D702D394A85137\"5120share156250127098807616Sun, 07 Jul 2019 12:07:51 GMT\"0x8D702D3BBF90D9F\"5120share156250127466608937156250127492806261Sun, 07 Jul 2019 12:07:55 GMT\"0x8D702D3BE55578B\"5120share156250128948301874Sun, 07 Jul 2019 12:08:09 GMT\"0x8D702D3C6FE6D27\"5120share156250129584606945156250129800307120Sun, 07 Jul 2019 12:08:18 GMT\"0x8D702D3CC0E6E75\"5120share156250134899209853156250134911704679Sun, 07 Jul 2019 12:09:09 GMT\"0x8D702D3EA87D137\"5120share156250135806603788156250135820804089Sun, 07 Jul 2019 12:09:18 GMT\"0x8D702D3EFF4C8B6\"5120share156258740987602978Mon, 08 Jul 2019 12:03:29 GMT\"0x8D7039C4AB74459\"5120share156258741555502574156258741583103690Mon, 08 Jul 2019 12:03:35 GMT\"0x8D7039C4E3F08D1\"5120share156258744853302097156258744874900898Mon, 08 Jul 2019 12:04:08 GMT\"0x8D7039C61DE5A61\"5120share156258745221706038Mon, 08 Jul 2019 12:04:12 GMT\"0x8D7039C63FE507F\"5120share156258745295400235Mon, 08 Jul 2019 12:04:13 GMT\"0x8D7039C64800581\"5120share156258745652307905Mon, 08 Jul 2019 12:04:16 GMT\"0x8D7039C66B48BFC\"5120share156258746104403992156258746235003162Mon, 08 Jul 2019 12:04:22 GMT\"0x8D7039C6A2876E9\"5120share156258746492406462156258746528209168Mon, 08 Jul 2019 12:04:25 GMT\"0x8D7039C6BDA2C73\"5120share156258746709606078Mon, 08 Jul 2019 12:04:27 GMT\"0x8D7039C6CD1CA80\"5120share156258746736408165156258746773500387Mon, 08 Jul 2019 12:04:27 GMT\"0x8D7039C6D5003BD\"5120share156258746999407556156258747011903067Mon, 08 Jul 2019 12:04:30 GMT\"0x8D7039C6E9BB9B8\"5120share156258749072506230Mon, 08 Jul 2019 12:04:51 GMT\"0x8D7039C7B38EDC5\"5120share156258749528708946Mon, 08 Jul 2019 12:04:55 GMT\"0x8D7039C7DAE4D20\"5120share156258749774903714Mon, 08 Jul 2019 12:04:58 GMT\"0x8D7039C7F7DDD00\"5120share156258750074106668156258750111903572Mon, 08 Jul 2019 12:05:01 GMT\"0x8D7039C8131FB1E\"5120share156258750138106945156258750659005350Mon, 08 Jul 2019 12:05:06 GMT\"0x8D7039C846B272F\"5120share156258750417901966156258750456501518Mon, 08 Jul 2019 12:05:18 GMT\"0x8D7039C8B46B6D4\"5120share156258750950908228156258750957106940Mon, 08 Jul 2019 12:05:09 GMT\"0x8D7039C861ED6F0\"5120share156258756280903372Mon, 08 Jul 2019 12:06:02 GMT\"0x8D7039CA5D91387\"5120share156258756411507953156258756420200289Mon, 08 Jul 2019 12:06:04 GMT\"0x8D7039CA6ACB69C\"5120share156258758476004106156258758530900916Mon, 08 Jul 2019 12:06:25 GMT\"0x8D7039CB3528E37\"5120share156258758737301687156258759405708643Mon, 08 Jul 2019 12:06:34 GMT\"0x8D7039CB8A40706\"5120share156258758912803964156258758914305320Mon, 08 Jul 2019 12:06:29 GMT\"0x8D7039CB58AF1AD\"5120share156258759656101853156258759676406743Mon, 08 Jul 2019 12:06:39 GMT\"0x8D7039CBB85C74E\"5120share156258760081704035156258760104802645Mon, 08 Jul 2019 12:06:41 GMT\"0x8D7039CBCC5E0AA\"5120share156258760855008802Mon, 08 Jul 2019 12:06:49 GMT\"0x8D7039CC173220F\"5120share156258761027304149156258761032007505Mon, 08 Jul 2019 12:06:50 GMT\"0x8D7039CC2286DD7\"5120share156258761317700150156258761449504089Mon, 08 Jul 2019 12:06:54 GMT\"0x8D7039CC4BAAB9F\"5120share156258761485209592156258761543105879Mon, 08 Jul 2019 12:06:55 GMT\"0x8D7039CC5793E90\"5120share156258766018105200156258766019707308Mon, 08 Jul 2019 12:07:40 GMT\"0x8D7039CDFE2765B\"5120share156258779698509369Mon, 08 Jul 2019 12:09:57 GMT\"0x8D7039D318DF19A\"5120share156258780105706428156258780145003324Mon, 08 Jul 2019 12:10:01 GMT\"0x8D7039D342A72F5\"5120share156258780898803221Mon, 08 Jul 2019 12:10:09 GMT\"0x8D7039D38AA222D\"5120share156258781453406420156258781492607402Mon, 08 Jul 2019 12:10:15 GMT\"0x8D7039D3C462D37\"5120share156258787061901201156258787080701165Mon, 08 Jul 2019 12:11:10 GMT\"0x8D7039D5D832C7D\"5120share156258788190408297156258788210101955Mon, 08 Jul 2019 12:11:22 GMT\"0x8D7039D643DE3B1\"5120share156264825395605887Tue, 09 Jul 2019 04:57:34 GMT\"0x8D70429F49F0F26\"5120share156264825601509637156264825620206242Tue, 09 Jul 2019 04:57:36 GMT\"0x8D70429F5F0FA8C\"5120share156264827030709689Tue, 09 Jul 2019 04:57:50 GMT\"0x8D70429FE652D02\"5120share156264827615609337156264827650900123Tue, 09 Jul 2019 04:57:56 GMT\"0x8D7042A0217ABCF\"5120share156264829474303904Tue, 09 Jul 2019 04:58:14 GMT\"0x8D7042A0CF840BE\"5120share156264829868206276Tue, 09 Jul 2019 04:58:18 GMT\"0x8D7042A0F4DECE3\"5120share156264830294101292156264830329907328Tue, 09 Jul 2019 04:58:23 GMT\"0x8D7042A1211680D\"5120share156264830669702353156264830700800542Tue, 09 Jul 2019 04:58:27 GMT\"0x8D7042A14478099\"5120share156264831039009965Tue, 09 Jul 2019 04:58:30 GMT\"0x8D7042A163E8DE6\"5120share156264831160104143156264831173100032Tue, 09 Jul 2019 04:58:31 GMT\"0x8D7042A17087F23\"5120share156264831254601214156264831263608619Tue, 09 Jul 2019 04:58:32 GMT\"0x8D7042A17939792\"5120share156264832860103936Tue, 09 Jul 2019 04:58:48 GMT\"0x8D7042A211E1D48\"5120share156264833218803431156264833302005048Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27B8BFE0\"5120share156264833942109584Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27941007\"5120share156264834216007262156264834242800932Tue, 09 Jul 2019 04:59:02 GMT\"0x8D7042A295C8410\"5120share156264835293103419156264835299708634Tue, 09 Jul 2019 04:59:13 GMT\"0x8D7042A2FA0EABB\"5120share156264839687207627Tue, 09 Jul 2019 04:59:56 GMT\"0x8D7042A49D33E71\"5120share156264839933907378156264839954606075Tue, 09 Jul 2019 04:59:59 GMT\"0x8D7042A4B63D2AA\"5120share156264843680708943156264843702104397Tue, 09 Jul 2019 05:00:37 GMT\"0x8D7042A61C2A310\"5120share156264845230102818156264845240405412Tue, 09 Jul 2019 05:00:52 GMT\"0x8D7042A6AE665B4\"5120share156264845339405267156264845357208004Tue, 09 Jul 2019 05:00:53 GMT\"0x8D7042A6BA26B29\"5120share156264845432602840156264845444807706Tue, 09 Jul 2019 05:00:54 GMT\"0x8D7042A6C253153\"5120share156264847886301688156264847968405382Tue, 09 Jul 2019 05:01:19 GMT\"0x8D7042A7B3077A7\"5120share156264848339806724156264848351300403Tue, 09 Jul 2019 05:01:23 GMT\"0x8D7042A7D7706DE\"5120share156264870344303834Tue, 09 Jul 2019 05:05:03 GMT\"0x8D7042B00911645\"5120share156264870634702467156264870669504827Tue, 09 Jul 2019 05:05:06 GMT\"0x8D7042B02815284\"5120share156264880414102699156264880432308948Tue, 09 Jul 2019 05:06:44 GMT\"0x8D7042B3CB1E23B\"5120share156264886794000718Tue, 09 Jul 2019 05:07:48 GMT\"0x8D7042B62997F6B\"5120share156264887048101342156264887079300099Tue, 09 Jul 2019 05:07:50 GMT\"0x8D7042B644C4F44\"5120share156264893656607140156264893669107996Tue, 09 Jul 2019 05:08:56 GMT\"0x8D7042B8B94A653\"5120share156264895731108711Tue, 09 Jul 2019 05:09:17 GMT\"0x8D7042B97D18B17\"5120share156264895805304396156264895808507570Tue, 09 Jul 2019 05:09:18 GMT\"0x8D7042B9847C935\"5120share156264901143100039156264901146206574Tue, 09 Jul 2019 05:10:11 GMT\"0x8D7042BB818914C\"5120share156265158976005909Tue, 09 Jul 2019 05:53:09 GMT\"0x8D70431B8F6A179\"5120share156265159410309196156265159448605628Tue, 09 Jul 2019 05:53:14 GMT\"0x8D70431BBC89463\"5120share156265173847000361156265174664207252Tue, 09 Jul 2019 05:55:46 GMT\"0x8D704321678A633\"5120share156267382937802805Tue, 09 Jul 2019 12:03:49 GMT\"0x8D7046580BF270F\"5120share156267383106607518156267383125703217Tue, 09 Jul 2019 12:03:51 GMT\"0x8D7046581D92E96\"5120share156267385420103328Tue, 09 Jul 2019 12:04:14 GMT\"0x8D704658F9D0561\"5120share156267386263002254156267386272003008Tue, 09 Jul 2019 12:04:22 GMT\"0x8D704659499F5DC\"5120share156267386638805348156267386700004645Tue, 09 Jul 2019 12:04:27 GMT\"0x8D7046597347EC9\"5120share156267386842006357Tue, 09 Jul 2019 12:04:28 GMT\"0x8D7046598122B4B\"5120share156267387622209939Tue, 09 Jul 2019 12:04:36 GMT\"0x8D704659CC178E4\"5120share156267388151109279156267388258706390Tue, 09 Jul 2019 12:04:49 GMT\"0x8D70465A487AF0B\"5120share156267388788009954Tue, 09 Jul 2019 12:04:47 GMT\"0x8D70465A3976346\"5120share156267388904803373156267388912802041Tue, 09 Jul 2019 12:04:49 GMT\"0x8D70465A4557E6C\"5120share156267389618201873156267389674405076Tue, 09 Jul 2019 12:04:56 GMT\"0x8D70465A8F24B76\"5120share156267390160807839Tue, 09 Jul 2019 12:05:01 GMT\"0x8D70465ABF10479\"5120share156267390767105471156267390780804887Tue, 09 Jul 2019 12:05:07 GMT\"0x8D70465AF7C012B\"5120share156267391027602427156267391030900795Tue, 09 Jul 2019 12:05:10 GMT\"0x8D70465B0F5D470\"5120share156267392495703472Tue, 09 Jul 2019 12:05:26 GMT\"0x8D70465BA6C6E8B\"5120share156267393578505816156267393640503491Tue, 09 Jul 2019 12:05:57 GMT\"0x8D70465CD09B7D7\"5120share156267394092302007Tue, 09 Jul 2019 12:05:40 GMT\"0x8D70465C33999B0\"5120share156267394988608119156267395219808454Tue, 09 Jul 2019 12:05:52 GMT\"0x8D70465C9F09311\"5120share156267397869900938Tue, 09 Jul 2019 12:06:18 GMT\"0x8D70465D9B9B7C3\"5120share156267397932400414156267397936504402Tue, 09 Jul 2019 12:06:19 GMT\"0x8D70465DA1EA679\"5120share156267399095807060Tue, 09 Jul 2019 12:06:31 GMT\"0x8D70465E1153B1E\"5120share156267399380203874156267399405209221Tue, 09 Jul 2019 12:06:34 GMT\"0x8D70465E2F19B6B\"5120share156267400206508827156267400224402131Tue, 09 Jul 2019 12:06:42 GMT\"0x8D70465E7CFA065\"5120share156267400292404441156267400293809559Tue, 09 Jul 2019 12:06:42 GMT\"0x8D70465E82B783A\"5120share156267402099901752156267402117500045Tue, 09 Jul 2019 12:07:01 GMT\"0x8D70465F3525FC9\"5120share156267402163508973Tue, 09 Jul 2019 12:07:01 GMT\"0x8D70465F35FCCDD\"5120share156267402334704573156267402429308287Tue, 09 Jul 2019 12:07:04 GMT\"0x8D70465F4E96B80\"5120share156267402973601025156267404161107892Tue, 09 Jul 2019 12:07:21 GMT\"0x8D70465FF45D3DC\"5120share156267404318301876156267404324504524Tue, 09 Jul 2019 12:07:23 GMT\"0x8D704660036E9E7\"5120share156267405388702579156267405395801395Tue, 09 Jul 2019 12:07:34 GMT\"0x8D704660698D51E\"5120share156267408134902571156267408149000302Tue, 09 Jul 2019 12:08:01 GMT\"0x8D704661709F5A9\"5120share156267411142406435156267411197706768Tue, 09 Jul 2019 12:08:33 GMT\"0x8D704662A3DC0BA\"5120share156267414202202918156267414220106985Tue, 09 Jul 2019 12:09:02 GMT\"0x8D704663B3F1F50\"5120share156267423779203874Tue, 09 Jul 2019 12:10:37 GMT\"0x8D704667439D991\"5120share156267424005608615156267424053801889Tue, 09 Jul 2019 12:10:40 GMT\"0x8D7046675DB062A\"5120share156267430833406636156267430847403205Tue, 09 Jul 2019 12:11:48 GMT\"0x8D704669E5A80CE\"5120share156269481666907108Tue, 09 Jul 2019 17:53:36 GMT\"0x8D704965E24C3F6\"5120share156269481774401596Tue, 09 Jul 2019 17:53:37 GMT\"0x8D704965ECC7BD7\"5120share156269481871608819156269481890008616Tue, 09 Jul 2019 17:53:38 GMT\"0x8D704965F756D29\"5120share156269481951002984156269481966409713Tue, 09 Jul 2019 17:53:39 GMT\"0x8D704965FED94BD\"5120share156269486344509309156269486351807885Tue, 09 Jul 2019 17:54:23 GMT\"0x8D704967A10ECF9\"5120share156269487459200150156269487468500799Tue, 09 Jul 2019 17:54:34 GMT\"0x8D7049680B41C71\"5120share156269488218400048Tue, 09 Jul 2019 17:54:42 GMT\"0x8D7049685540F31\"5120share156269488554504172156269488584604383Tue, 09 Jul 2019 17:54:45 GMT\"0x8D70496876D744B\"5120share156269499994903691Tue, 09 Jul 2019 17:56:40 GMT\"0x8D70496CB6D3890\"5120share156269500174105375156269500194408040Tue, 09 Jul 2019 17:56:42 GMT\"0x8D70496CC9684E7\"5120share156269500211602290Tue, 09 Jul 2019 17:56:42 GMT\"0x8D70496CCB49BC0\"5120share156269500921907889156269500953107665Tue, 09 Jul 2019 17:56:49 GMT\"0x8D70496D11E4388\"5120share156269503458108079156269503471608767Tue, 09 Jul 2019 17:57:14 GMT\"0x8D70496E02386A6\"5120share156269504393805899Tue, 09 Jul 2019 17:57:24 GMT\"0x8D70496E5A7C018\"5120share156269504913309821156269505036706085Tue, 09 Jul 2019 17:57:30 GMT\"0x8D70496E97A77CF\"5120share156269505856108339156269505866104026Tue, 09 Jul 2019 17:57:38 GMT\"0x8D70496EE643DE7\"5120share156269506490101211Tue, 09 Jul 2019 17:57:44 GMT\"0x8D70496F21FD37B\"5120share156269506743709158156269507428003869Tue, 09 Jul 2019 17:57:54 GMT\"0x8D70496F7BA82A4\"5120share156269512310706325156269512321701219Tue, 09 Jul 2019 17:58:43 GMT\"0x8D7049714E2AA9B\"5120share156269513740908579Tue, 09 Jul 2019 17:58:57 GMT\"0x8D704971D5ACEB8\"5120share156269514106605087156269514142005085Tue, 09 Jul 2019 17:59:01 GMT\"0x8D704971FBE3CC6\"5120share156269517588705870156269517600500120Tue, 09 Jul 2019 17:59:36 GMT\"0x8D7049734592D4E\"5120share156269518824809389Tue, 09 Jul 2019 17:59:48 GMT\"0x8D704973BA6EA7C\"5120share156269519000603461156269519018004450Tue, 09 Jul 2019 17:59:50 GMT\"0x8D704973CCEF4D7\"5120share156269519155500673156269519198205854Tue, 09 Jul 2019 17:59:52 GMT\"0x8D704973DE0CD8A\"5120share156269519891300643Tue, 09 Jul 2019 17:59:58 GMT\"0x8D7049741FC1B24\"5120share156269519916100036Tue, 09 Jul 2019 17:59:59 GMT\"0x8D70497421ADA7A\"5120share156269519952105514156269519956804456Tue, 09 Jul 2019 17:59:59 GMT\"0x8D704974259355F\"5120share156269520032305950156269520043202300Tue, 09 Jul 2019 18:00:00 GMT\"0x8D7049742E5A6F9\"5120share156269520939206183Tue, 09 Jul 2019 18:00:09 GMT\"0x8D704974833FA50\"5120share156269520991200049156269520997506679Tue, 09 Jul 2019 18:00:09 GMT\"0x8D70497488C5B30\"5120share156269524252704604156269524255803226Tue, 09 Jul 2019 18:00:42 GMT\"0x8D704975BF7A559\"5120share156269524506108742156269524523701147Tue, 09 Jul 2019 18:00:45 GMT\"0x8D704975D9FC0AC\"5120share156269524595202445156269524596802315Tue, 09 Jul 2019 18:00:45 GMT\"0x8D704975E01E8D8\"5120share156269525920901242156269525925602502Tue, 09 Jul 2019 18:00:59 GMT\"0x8D7049765F15F09\"5120share156269528622009741156269528639406414Tue, 09 Jul 2019 18:01:26 GMT\"0x8D704977627359E\"5120share156276024471306601Wed, 10 Jul 2019 12:04:04 GMT\"0x8D7052EB45EFA1D\"5120share156276024676203006156276024695503930Wed, 10 Jul 2019 12:04:07 GMT\"0x8D7052EB5B10BFF\"5120share156276026448203000Wed, 10 Jul 2019 12:04:24 GMT\"0x8D7052EC01D6898\"5120share156276027457101672156276027510905851Wed, 10 Jul 2019 12:04:35 GMT\"0x8D7052EC674C697\"5120share156276028198907169Wed, 10 Jul 2019 12:04:42 GMT\"0x8D7052ECA8EEAD9\"5120share156276028682705005156276028691704279Wed, 10 Jul 2019 12:04:47 GMT\"0x8D7052ECD82BD21\"5120share156276029853807529Wed, 10 Jul 2019 12:04:58 GMT\"0x8D7052ED4645783\"5120share156276030047405035156276030061606603Wed, 10 Jul 2019 12:05:00 GMT\"0x8D7052ED59C9D55\"5120share156276030266702424156276030302804291Wed, 10 Jul 2019 12:05:03 GMT\"0x8D7052ED731DBE7\"5120share156276032906902074Wed, 10 Jul 2019 12:05:29 GMT\"0x8D7052EE69D13A4\"5120share156276033157309190156276033164908171Wed, 10 Jul 2019 12:05:31 GMT\"0x8D7052EE81CB902\"5120share156276033562509518156276033659404731Wed, 10 Jul 2019 12:05:36 GMT\"0x8D7052EEB20A5AB\"5120share156276033830001281Wed, 10 Jul 2019 12:05:38 GMT\"0x8D7052EEC1F1ABF\"5120share156276033958001304Wed, 10 Jul 2019 12:05:40 GMT\"0x8D7052EED83AF49\"5120share156276034664503206156276034689006793Wed, 10 Jul 2019 12:05:46 GMT\"0x8D7052EF139B5D3\"5120share156276034755902460156276034804700817Wed, 10 Jul 2019 12:05:48 GMT\"0x8D7052EF1DCBB97\"5120share156276040175400112Wed, 10 Jul 2019 12:06:41 GMT\"0x8D7052F11DFE4E5\"5120share156276040285306763156276040291506572Wed, 10 Jul 2019 12:06:42 GMT\"0x8D7052F12901AC6\"5120share156276040980803006156276041046800087Wed, 10 Jul 2019 12:06:50 GMT\"0x8D7052F1721071A\"5120share156276041563101377Wed, 10 Jul 2019 12:06:55 GMT\"0x8D7052F1A4EAD7E\"5120share156276042078002479156276042114104929Wed, 10 Jul 2019 12:07:01 GMT\"0x8D7052F1D7FA012\"5120share156276042938905567156276042940302274Wed, 10 Jul 2019 12:07:09 GMT\"0x8D7052F225A1B85\"5120share156276043918008101156276043920405500Wed, 10 Jul 2019 12:07:19 GMT\"0x8D7052F2832D8DA\"5120share156276045008105985156276045025600694Wed, 10 Jul 2019 12:07:30 GMT\"0x8D7052F2EDA6A88\"5120share156276045469704064156276045487606342Wed, 10 Jul 2019 12:07:34 GMT\"0x8D7052F3198463C\"5120share156276049212101017156276049226201075Wed, 10 Jul 2019 12:08:12 GMT\"0x8D7052F47E18EDB\"5120share156276051346001215156276051364805772Wed, 10 Jul 2019 12:08:33 GMT\"0x8D7052F54A636AC\"5120share156276065213100863Wed, 10 Jul 2019 12:10:52 GMT\"0x8D7052FA736C715\"5120share156276065530508298156276065588503507Wed, 10 Jul 2019 12:10:56 GMT\"0x8D7052FA9734E68\"5120share156276071223604483Wed, 10 Jul 2019 12:11:52 GMT\"0x8D7052FCB060187\"5120share156276071627204278156276071666207325Wed, 10 Jul 2019 12:11:56 GMT\"0x8D7052FCDAB0B5C\"5120share156276071914102683156276071933208829Wed, 10 Jul 2019 12:11:59 GMT\"0x8D7052FCF467034\"5120share156276075652402103Wed, 10 Jul 2019 12:12:36 GMT\"0x8D7052FE56D3DA1\"5120share156276076031005147156276076068505489Wed, 10 Jul 2019 12:12:40 GMT\"0x8D7052FE7E8FCAE\"5120share156276080139603434156276080158309239Wed, 10 Jul 2019 12:13:21 GMT\"0x8D70530004AA38F\"5120share156276082153609552156276082172301656Wed, 10 Jul 2019 12:13:41 GMT\"0x8D705300C4B330B\"5120share156284668037507136Thu, 11 Jul 2019 12:04:40 GMT\"0x8D705F7F3FB4FC4\"5120share156284668216509162156284668234804956Thu, 11 Jul 2019 12:04:42 GMT\"0x8D705F7F5249B99\"5120share156284672179906252156284672189107332Thu, 11 Jul 2019 12:05:21 GMT\"0x8D705F80CB6436E\"5120share156284675284000725Thu, 11 Jul 2019 12:05:52 GMT\"0x8D705F81F2C3F8C\"5120share156284675422306423156284675438802255Thu, 11 Jul 2019 12:05:54 GMT\"0x8D705F820145900\"5120share156284678934007924156284678946803004Thu, 11 Jul 2019 12:06:29 GMT\"0x8D705F834FC9E61\"5120share156284679465007438Thu, 11 Jul 2019 12:06:34 GMT\"0x8D705F83828B3DF\"5120share156284682389805312Thu, 11 Jul 2019 12:07:10 GMT\"0x8D705F84D7B3601\"5120share156284682731604212156284683279200733Thu, 11 Jul 2019 12:07:13 GMT\"0x8D705F84F50B06E\"5120share156284684240607060156284684702200879Thu, 11 Jul 2019 12:07:30 GMT\"0x8D705F85920698D\"5120share156284686433608395Thu, 11 Jul 2019 12:07:44 GMT\"0x8D705F861A6AD6F\"5120share156284686551403323Thu, 11 Jul 2019 12:08:01 GMT\"0x8D705F86BACFDBF\"5120share156284687552800153Thu, 11 Jul 2019 12:07:55 GMT\"0x8D705F868567D42\"5120share156284688199404141Thu, 11 Jul 2019 12:08:02 GMT\"0x8D705F86C2D9B7D\"5120share156284688337001091156284688441708930Thu, 11 Jul 2019 12:08:04 GMT\"0x8D705F86D9CFB93\"5120share156284688427600609156284688447804794Thu, 11 Jul 2019 12:08:04 GMT\"0x8D705F86DA22FB1\"5120share156284689835506392156284689872309676Thu, 11 Jul 2019 12:08:18 GMT\"0x8D705F8762FFC67\"5120share156284690869200169156284691292707857Thu, 11 Jul 2019 12:08:33 GMT\"0x8D705F87EA02C63\"5120share156284692020403086156284692030509401Thu, 11 Jul 2019 12:08:40 GMT\"0x8D705F882FD0D9E\"5120share156284692532003791Thu, 11 Jul 2019 12:08:45 GMT\"0x8D705F886043A2C\"5120share156284692949900506156284693089704122Thu, 11 Jul 2019 12:08:51 GMT\"0x8D705F88957B8B3\"5120share156284697895600901156284698259801414Thu, 11 Jul 2019 12:09:42 GMT\"0x8D705F8A824CD01\"5120share156284700841103489156284700853001140Thu, 11 Jul 2019 12:10:08 GMT\"0x8D705F8B798D7CF\"5120share156284703798801923156284703814009602Thu, 11 Jul 2019 12:10:40 GMT\"0x8D705F8CA95C9AC\"5120share156284704313102565156284706870706322Thu, 11 Jul 2019 12:11:08 GMT\"0x8D705F8DB7C332C\"5120share156284706382607415156284706395409560Thu, 11 Jul 2019 12:11:04 GMT\"0x8D705F8D8A47857\"5120share156284710964404824156284710982005587Thu, 11 Jul 2019 12:11:50 GMT\"0x8D705F8F453F436\"5120share156284720527906023Thu, 11 Jul 2019 12:13:25 GMT\"0x8D705F92CE4FF8C\"5120share156284720572807369Thu, 11 Jul 2019 12:13:25 GMT\"0x8D705F92D2B8D67\"5120share156284720837703088156284720878207224Thu, 11 Jul 2019 12:13:28 GMT\"0x8D705F92EFB7D4C\"5120share156284720984402444156284721023505601Thu, 11 Jul 2019 12:13:30 GMT\"0x8D705F92FDC21B9\"5120share156284721535906185Thu, 11 Jul 2019 12:13:35 GMT\"0x8D705F932D33B2B\"5120share156284722348709213156284722353409244Thu, 11 Jul 2019 12:13:43 GMT\"0x8D705F937B2C073\"5120share156284726302300149156284726303905255Thu, 11 Jul 2019 12:14:23 GMT\"0x8D705F94F4182BA\"5120share156284727929601072156284727948307392Thu, 11 Jul 2019 12:14:39 GMT\"0x8D705F9592218DF\"5120share156284728969603863156284728988909815Thu, 11 Jul 2019 12:14:50 GMT\"0x8D705F95F539391\"5120share156293304651707693Fri, 12 Jul 2019 12:04:06 GMT\"0x8D706C10A35DEEB\"5120share156293304924808084156293304943405751Fri, 12 Jul 2019 12:04:09 GMT\"0x8D706C10BEF3853\"5120share156293307733706256Fri, 12 Jul 2019 12:04:42 GMT\"0x8D706C11F78A885\"5120share156293308571507928156293308581107949Fri, 12 Jul 2019 12:04:45 GMT\"0x8D706C1219DF2A7\"5120share156293310602509428156293311962402875Fri, 12 Jul 2019 12:05:19 GMT\"0x8D706C135D265D6\"5120share156293313503300122Fri, 12 Jul 2019 12:05:37 GMT\"0x8D706C140568E63\"5120share156293314765607855Fri, 12 Jul 2019 12:05:47 GMT\"0x8D706C14680F9E9\"5120share156293315856305134156293315878700923Fri, 12 Jul 2019 12:05:59 GMT\"0x8D706C14D3B6977\"5120share156293316541103618156293317273105986Fri, 12 Jul 2019 12:06:12 GMT\"0x8D706C15582348E\"5120share156293316608500161Fri, 12 Jul 2019 12:06:06 GMT\"0x8D706C15180F2BA\"5120share156293317040703835156293317067903250Fri, 12 Jul 2019 12:06:11 GMT\"0x8D706C154A482A8\"5120share156293319478808237Fri, 12 Jul 2019 12:06:34 GMT\"0x8D706C162A1842D\"5120share156293319842208167156293319898101543Fri, 12 Jul 2019 12:06:39 GMT\"0x8D706C1651FCFF8\"5120share156293320457407481Fri, 12 Jul 2019 12:06:44 GMT\"0x8D706C168619F9C\"5120share156293320493701363156293320497005447Fri, 12 Jul 2019 12:06:44 GMT\"0x8D706C1689E3E74\"5120share156293322212601587156293322214107971Fri, 12 Jul 2019 12:07:02 GMT\"0x8D706C172D9BF11\"5120share156293328380100793156293328398109292Fri, 12 Jul 2019 12:08:04 GMT\"0x8D706C197EF5F32\"5120share156293328585706842156293328599106026Fri, 12 Jul 2019 12:08:06 GMT\"0x8D706C198F86598\"5120share156293329931408702156293329990901500Fri, 12 Jul 2019 12:08:20 GMT\"0x8D706C1A1455C1B\"5120share156293330030404009Fri, 12 Jul 2019 12:08:20 GMT\"0x8D706C1A18DB747\"5120share156293330845502484156293330917203405Fri, 12 Jul 2019 12:08:29 GMT\"0x8D706C1A6CC1811\"5120share156293333199309318156293333213601452Fri, 12 Jul 2019 12:08:52 GMT\"0x8D706C1B4766C3F\"5120share156293336653503281156293336672106581Fri, 12 Jul 2019 12:09:26 GMT\"0x8D706C1C91A4B59\"5120share156293341763006205156293341781707141Fri, 12 Jul 2019 12:10:19 GMT\"0x8D706C1E86EEF19\"5120share156293343589500617Fri, 12 Jul 2019 12:10:35 GMT\"0x8D706C1F242DAA7\"5120share156293349368603322156293349371700170Fri, 12 Jul 2019 12:11:33 GMT\"0x8D706C214B9A09E\"5120share156293350490608175Fri, 12 Jul 2019 12:11:44 GMT\"0x8D706C21B66A834\"5120share156293357236706856Fri, 12 Jul 2019 12:12:52 GMT\"0x8D706C243B18AE6\"5120share156293358033802677156293358073504696Fri, 12 Jul 2019 12:13:00 GMT\"0x8D706C248AE2765\"5120share156293358770801078Fri, 12 Jul 2019 12:13:07 GMT\"0x8D706C24CD5CA0E\"5120share156293359352309132156293359392105456Fri, 12 Jul 2019 12:13:14 GMT\"0x8D706C2508C4620\"5120share156293366218106398156293366236906254Fri, 12 Jul 2019 12:14:22 GMT\"0x8D706C2795CD678\"5120share156293366305206503156293366324008335Fri, 12 Jul 2019 12:14:23 GMT\"0x8D706C279DCCD63\"5120share156293592221306134Fri, 12 Jul 2019 12:52:02 GMT\"0x8D706C7BC3E526C\"5120share156293592363900198156293592372403627Fri, 12 Jul 2019 12:52:03 GMT\"0x8D706C7BD230F47\"5120share156293596613004759156293596616409593Fri, 12 Jul 2019 12:52:46 GMT\"0x8D706C7D66E7522\"5120share156443497557209843156443497679504009Mon, 29 Jul 2019 21:16:17 GMT\"0x8D71469FED7E9EB\"5120share156443518517202946156443518547404946Mon, 29 Jul 2019 21:19:45 GMT\"0x8D7146A7AE77E02\"5120share156443528885102286Mon, 29 Jul 2019 21:21:29 GMT\"0x8D7146AB8875644\"5120share156443559581809213156443559650800907Mon, 29 Jul 2019 21:26:36 GMT\"0x8D7146B6FE70FCF\"5120share156443560752902157Mon, 29 Jul 2019 21:26:50 GMT\"0x8D7146B78363F72\"5120share156443580562103343Mon, 29 Jul 2019 21:30:06 GMT\"0x8D7146BECA4F083\"5120share156443645783001872Mon, 29 Jul 2019 21:40:59 GMT\"0x8D7146D71D8121C\"5120share156455491506002122Wed, 31 Jul 2019 06:35:15 GMT\"0x8D715813F4DAFF7\"5120share156455491542105553Wed, 31 Jul 2019 06:35:15 GMT\"0x8D715813FAA3EFE\"5120share156455492605607882Wed, 31 Jul 2019 06:35:26 GMT\"0x8D7158145CBBC33\"5120share156455492627700016Wed, 31 Jul 2019 06:35:28 GMT\"0x8D715814746BF70\"5120share156503777207109642Mon, 05 Aug 2019 20:42:52 GMT\"0x8D719E57C728E09\"5120share156503777229203610Mon, 05 Aug 2019 20:42:52 GMT\"0x8D719E57C8E693E\"5120share156503777296709436Mon, 05 Aug 2019 20:42:53 GMT\"0x8D719E57CF37F0A\"5120share156503777313707758Mon, 05 Aug 2019 20:42:53 GMT\"0x8D719E57D15A1EF\"5120share156503777579109926156503777610008641Mon, 05 Aug 2019 20:42:56 GMT\"0x8D719E57ED02997\"5120share156503777711407911156503777749205150Mon, 05 Aug 2019 20:42:57 GMT\"0x8D719E57FA6FB6F\"5120share156503784160207578156503784175006804Mon, 05 Aug 2019 20:44:01 GMT\"0x8D719E5A5F18D5B\"5120share156503784199201525156503784214407588Mon, 05 Aug 2019 20:44:02 GMT\"0x8D719E5A62DFED0\"5120share156503793096605065Mon, 05 Aug 2019 20:45:31 GMT\"0x8D719E5DB203786\"5120share156503793125208426Mon, 05 Aug 2019 20:45:31 GMT\"0x8D719E5DB4D4324\"5120share156503793384000505156503793436103503Mon, 05 Aug 2019 20:45:34 GMT\"0x8D719E5DD6D6D3B\"5120share156503793384908148Mon, 05 Aug 2019 20:45:33 GMT\"0x8D719E5DCD7D4D4\"5120share156503793404201821Mon, 05 Aug 2019 20:45:34 GMT\"0x8D719E5DCF7758F\"5120share156503793702908569156503793737309049Mon, 05 Aug 2019 20:45:37 GMT\"0x8D719E5DEF22F35\"5120share156503800690001818156503800708004406Mon, 05 Aug 2019 20:46:47 GMT\"0x8D719E6087E37C6\"5120share156503800826304913156503800843705580Mon, 05 Aug 2019 20:46:48 GMT\"0x8D719E6094E92CA\"5120share156503905340304281Mon, 05 Aug 2019 21:04:13 GMT\"0x8D719E87826040F\"5120share156503905356706765Mon, 05 Aug 2019 21:04:13 GMT\"0x8D719E8783FAB2C\"5120share156503905631403785156503905663109066Mon, 05 Aug 2019 21:04:16 GMT\"0x8D719E87A13113E\"5120share156503912366506337156503912381704354Mon, 05 Aug 2019 21:05:23 GMT\"0x8D719E8A21E540C\"5120share156503981084709284Mon, 05 Aug 2019 21:16:50 GMT\"0x8D719EA3BA2A2A6\"5120share156503981108301511Mon, 05 Aug 2019 21:16:51 GMT\"0x8D719EA3BD8AACD\"5120share156503981407700450156503981439700715Mon, 05 Aug 2019 21:16:54 GMT\"0x8D719EA3DBC683A\"5120share156503982610509793Mon, 05 Aug 2019 21:17:06 GMT\"0x8D719EA44B6A42E\"5120share156503982628905100Mon, 05 Aug 2019 21:17:06 GMT\"0x8D719EA44D356B9\"5120share156503982901606978156503982936700992Mon, 05 Aug 2019 21:17:09 GMT\"0x8D719EA46A8BF40\"5120share156503988725003487156503988741604804Mon, 05 Aug 2019 21:18:07 GMT\"0x8D719EA6941EDF0\"5120share156503989517109237156503989532708533Mon, 05 Aug 2019 21:18:15 GMT\"0x8D719EA6DF8C7C2\"5120share156599411621105125Fri, 16 Aug 2019 22:21:56 GMT\"0x8D722982607FD87\"5120share156599411655707990Fri, 16 Aug 2019 22:21:58 GMT\"0x8D7229827143F68\"5120share156599412768507077156599412880408374Fri, 16 Aug 2019 22:22:09 GMT\"0x8D722982D8A11A1\"5120", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0c7454d3-f01a-0074-34ae-2bfcd7000000', + 'f3028b59-d01a-0005-4a81-548eee000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:35 GMT', + 'Fri, 16 Aug 2019 22:25:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_setproperties.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_setproperties.js index 5b55a62c6c57..e13d66d6ec5d 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_setproperties.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_setproperties.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b64f8e20-101a-007e-18ae-2be55e000000', + '0d9f0dd2-f01a-0012-0881-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:50 GMT', + 'Fri, 16 Aug 2019 22:25:56 GMT', 'Connection', 'close' ]); @@ -33,11 +33,11 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37ee6935-701a-006e-6cae-2bd3b8000000', + 'b1fccb94-201a-00b1-0381-5482ec000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:50 GMT', + 'Fri, 16 Aug 2019 22:25:57 GMT', 'Connection', 'close' ]); @@ -52,15 +52,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b29ba480-d01a-00eb-32ae-2b846d000000', + '4e4c925e-101a-0090-7c81-54efdd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:56 GMT', + 'Fri, 16 Aug 2019 22:26:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.js index 329f76470aed..44a05d69db55 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiterator_for_listshares.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150555972006342"} +module.exports.testInfo = {"share":"share156599431797206181"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150555972006342x1') + .put('/share156599431797206181x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:39 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'ETag', - '"0x8D6F9C569E00707"', + '"0x8D722989E48176A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd036086e-901a-008a-15ae-2bc0b2000000', + '55153540-501a-00d3-7a81-54c534000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:39 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150555972006342x2') + .put('/share156599431797206181x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:40 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'ETag', - '"0x8D6F9C56A0EF898"', + '"0x8D722989EB39282"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2c6736c-801a-0095-62ae-2b1ba2000000', + '0d9f0d8b-f01a-0012-7581-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:40 GMT', + 'Fri, 16 Aug 2019 22:25:18 GMT', 'Connection', 'close' ]); @@ -47,56 +47,56 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share156150555972006342share156150555972006342x1Tue, 25 Jun 2019 23:32:39 GMT\"0x8D6F9C569E00707\"5120valshare156150555972006342x2Tue, 25 Jun 2019 23:32:40 GMT\"0x8D6F9C56A0EF898\"5120val", [ 'Transfer-Encoding', + .reply(200, "share156599431797206181share156599431797206181x1Fri, 16 Aug 2019 22:25:18 GMT\"0x8D722989E48176A\"5120valshare156599431797206181x2Fri, 16 Aug 2019 22:25:18 GMT\"0x8D722989EB39282\"5120val", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2d9fcc0-501a-003d-49ae-2bcfb7000000', + 'd32d5cf8-101a-00b2-0a81-5481eb000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:39 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150555972006342x1') + .delete('/share156599431797206181x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '35d18c08-901a-00c5-56ae-2b04aa000000', + '345f3565-d01a-0027-7c81-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:40 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150555972006342x2') + .delete('/share156599431797206181x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b9e117b0-801a-0016-5fae-2bbb0f000000', + '30fa0c3f-601a-00b6-7e81-547469000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:40 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.js index bc333992ec61..26948dc17ed6 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listshares.js @@ -1,87 +1,87 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150556597004381"} +module.exports.testInfo = {"share":"share156599435210101284"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556597004381x0') + .put('/share156599435210101284x0') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:46 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'ETag', - '"0x8D6F9C56D9A4E78"', + '"0x8D72298B2A21114"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8936626c-c01a-00bb-36ae-2b9b65000000', + 'f8531558-601a-0071-7f81-5408a8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:45 GMT', + 'Fri, 16 Aug 2019 22:25:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556597004381x1') + .put('/share156599435210101284x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:46 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'ETag', - '"0x8D6F9C56DCA511C"', + '"0x8D72298B2D0374D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9c8b6a0-e01a-008e-40ae-2b3530000000', + '8d1d8053-a01a-0045-2181-54a700000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:46 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556597004381x2') + .put('/share156599435210101284x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:46 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'ETag', - '"0x8D6F9C56E0C5FB9"', + '"0x8D72298B3001760"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd04d1f37-e01a-0006-72ae-2b8de9000000', + 'd761f3b0-b01a-005a-7881-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:46 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556597004381x3') + .put('/share156599435210101284x3') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:47 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'ETag', - '"0x8D6F9C56E47E9C2"', + '"0x8D72298B32FF83A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e7cb58d0-e01a-00ac-18ae-2b5b06000000', + '6cd8bc43-a01a-00cd-1681-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:46 GMT', + 'Fri, 16 Aug 2019 22:25:52 GMT', 'Connection', 'close' ]); @@ -89,22 +89,22 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share1561505565970043812share156150556597004381x0Tue, 25 Jun 2019 23:32:46 GMT\"0x8D6F9C56D9A4E78\"5120valshare156150556597004381x1Tue, 25 Jun 2019 23:32:46 GMT\"0x8D6F9C56DCA511C\"5120val/fakestorageaccount/share156150556597004381x2/01D52BAE4B9845EB/9999-12-31T23:59:59.9999999Z", [ 'Transfer-Encoding', + .reply(200, "share1565994352101012842share156599435210101284x0Fri, 16 Aug 2019 22:25:52 GMT\"0x8D72298B2A21114\"5120valshare156599435210101284x1Fri, 16 Aug 2019 22:25:52 GMT\"0x8D72298B2D0374D\"5120val/fakestorageaccount/share156599435210101284x2/01D55481908963C4/9999-12-31T23:59:59.9999999Z", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '65889b83-901a-0020-4dae-2b165d000000', + '4db9da97-e01a-0060-0681-543fb3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:47 GMT', + 'Fri, 16 Aug 2019 22:25:53 GMT', 'Connection', 'close' ]); @@ -112,90 +112,90 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share156150556597004381/fakestorageaccount/share156150556597004381x2/01D52BAE4B9845EB/9999-12-31T23:59:59.9999999Z2share156150556597004381x2Tue, 25 Jun 2019 23:32:46 GMT\"0x8D6F9C56E0C5FB9\"5120valshare156150556597004381x3Tue, 25 Jun 2019 23:32:47 GMT\"0x8D6F9C56E47E9C2\"5120val", [ 'Transfer-Encoding', + .reply(200, "share156599435210101284/fakestorageaccount/share156599435210101284x2/01D55481908963C4/9999-12-31T23:59:59.9999999Z2share156599435210101284x2Fri, 16 Aug 2019 22:25:52 GMT\"0x8D72298B3001760\"5120valshare156599435210101284x3Fri, 16 Aug 2019 22:25:53 GMT\"0x8D72298B32FF83A\"5120val", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0c7454e6-f01a-0074-38ae-2bfcd7000000', + '00c84cc0-a01a-0067-1981-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:47 GMT', + 'Fri, 16 Aug 2019 22:25:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556597004381x0') + .delete('/share156599435210101284x0') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7543deab-701a-008b-64ae-2bc14f000000', + 'a2657bf4-a01a-000a-2981-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:47 GMT', + 'Fri, 16 Aug 2019 22:25:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556597004381x1') + .delete('/share156599435210101284x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '31045578-d01a-004a-41ae-2b4af6000000', + 'd2317b5c-d01a-0068-5081-5424c0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:48 GMT', + 'Fri, 16 Aug 2019 22:25:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556597004381x2') + .delete('/share156599435210101284x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e05309b8-f01a-00b8-4aae-2b9862000000', + '2126fde0-901a-006f-7981-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:49 GMT', + 'Fri, 16 Aug 2019 22:25:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556597004381x3') + .delete('/share156599435210101284x3') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c3acfcab-001a-006a-60ae-2b263a000000', + '9a0e8ca7-e01a-00e3-2c81-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:49 GMT', + 'Fri, 16 Aug 2019 22:25:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.js index a8cdb3ba695b..47d97b3a0222 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listshares.js @@ -1,87 +1,87 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150556285909368"} +module.exports.testInfo = {"share":"share156599433423703048"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556285909368x0') + .put('/share156599433423703048x0') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:43 GMT', + 'Fri, 16 Aug 2019 22:25:34 GMT', 'ETag', - '"0x8D6F9C56BC05A44"', + '"0x8D72298A7FA650E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b43752b-101a-0031-57ae-2b2146000000', + 'bd8f93c6-301a-002d-1281-54f951000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:42 GMT', + 'Fri, 16 Aug 2019 22:25:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556285909368x1') + .put('/share156599433423703048x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:43 GMT', + 'Fri, 16 Aug 2019 22:25:41 GMT', 'ETag', - '"0x8D6F9C56BEEA60B"', + '"0x8D72298AC37C8D6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e0819df7-001a-0043-5fae-2b5078000000', + '8583de92-501a-0014-2981-54b9f5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:42 GMT', + 'Fri, 16 Aug 2019 22:25:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556285909368x2') + .put('/share156599433423703048x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:43 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'ETag', - '"0x8D6F9C56C261B25"', + '"0x8D72298B0205B57"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a3a08fd1-501a-00b5-6eae-2b776e000000', + 'd473751c-f01a-00b8-1981-549862000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:42 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556285909368x3') + .put('/share156599433423703048x3') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:44 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'ETag', - '"0x8D6F9C56C54EADE"', + '"0x8D72298B062C8F2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b29ba468-d01a-00eb-2cae-2b846d000000', + '860996cb-d01a-00af-7a81-545801000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:44 GMT', + 'Fri, 16 Aug 2019 22:25:48 GMT', 'Connection', 'close' ]); @@ -89,22 +89,22 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share1561505562859093682share156150556285909368x0Tue, 25 Jun 2019 23:32:43 GMT\"0x8D6F9C56BC05A44\"5120valshare156150556285909368x1Tue, 25 Jun 2019 23:32:43 GMT\"0x8D6F9C56BEEA60B\"5120val/fakestorageaccount/share156150556285909368x2/01D52BAE49AF7DC1/9999-12-31T23:59:59.9999999Z", [ 'Transfer-Encoding', + .reply(200, "share1565994334237030482share156599433423703048x0Fri, 16 Aug 2019 22:25:34 GMT\"0x8D72298A7FA650E\"5120valshare156599433423703048x1Fri, 16 Aug 2019 22:25:41 GMT\"0x8D72298AC37C8D6\"5120val/fakestorageaccount/share156599433423703048x2/01D554818DB6FBA6/9999-12-31T23:59:59.9999999Z", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6f8626a9-701a-00c4-80ae-2b0557000000', + 'a2657be7-a01a-000a-2381-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:43 GMT', + 'Fri, 16 Aug 2019 22:25:49 GMT', 'Connection', 'close' ]); @@ -112,90 +112,90 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share156150556285909368/fakestorageaccount/share156150556285909368x2/01D52BAE49AF7DC1/9999-12-31T23:59:59.9999999Z2share156150556285909368x2Tue, 25 Jun 2019 23:32:43 GMT\"0x8D6F9C56C261B25\"5120valshare156150556285909368x3Tue, 25 Jun 2019 23:32:44 GMT\"0x8D6F9C56C54EADE\"5120val", [ 'Transfer-Encoding', + .reply(200, "share156599433423703048/fakestorageaccount/share156599433423703048x2/01D554818DB6FBA6/9999-12-31T23:59:59.9999999Z2share156599433423703048x2Fri, 16 Aug 2019 22:25:48 GMT\"0x8D72298B0205B57\"5120valshare156599433423703048x3Fri, 16 Aug 2019 22:25:48 GMT\"0x8D72298B062C8F2\"5120val", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48e32e83-201a-0098-55ae-2bf4ae000000', + '8475f7ed-d01a-004a-2981-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:43 GMT', + 'Fri, 16 Aug 2019 22:25:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556285909368x0') + .delete('/share156599433423703048x0') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cea1d7df-101a-0013-78ae-2b4f70000000', + '4d522edc-401a-0000-2581-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:44 GMT', + 'Fri, 16 Aug 2019 22:25:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556285909368x1') + .delete('/share156599433423703048x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3551f5aa-101a-00b9-52ae-2b999f000000', + '426ae7ea-201a-001b-4781-545403000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:44 GMT', + 'Fri, 16 Aug 2019 22:25:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556285909368x2') + .delete('/share156599433423703048x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2c1efb01-901a-00e7-13ae-2b6a9c000000', + 'd4737523-f01a-00b8-1a81-549862000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:44 GMT', + 'Fri, 16 Aug 2019 22:25:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556285909368x3') + .delete('/share156599433423703048x3') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '439638e7-301a-002d-55ae-2bf951000000', + 'efd5543f-501a-0036-6881-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:45 GMT', + 'Fri, 16 Aug 2019 22:25:51 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.js b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.js index e3895b763c16..df7a1ca3805c 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listshares.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150556125404436"} +module.exports.testInfo = {"share":"share156599432019001696"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556125404436x1') + .put('/share156599432019001696x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:41 GMT', + 'Fri, 16 Aug 2019 22:25:20 GMT', 'ETag', - '"0x8D6F9C56ACACCAD"', + '"0x8D722989F9AC09C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '08537c4c-d01a-00af-7eae-2b5801000000', + '8d1d7fec-a01a-0045-7681-54a700000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:41 GMT', + 'Fri, 16 Aug 2019 22:25:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150556125404436x2') + .put('/share156599432019001696x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:41 GMT', + 'Fri, 16 Aug 2019 22:25:24 GMT', 'ETag', - '"0x8D6F9C56AFC5AA0"', + '"0x8D72298A24842F3"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa23f488-501a-0072-08ae-2b0baf000000', + '49bb8dfe-e01a-0085-4281-542d44000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:41 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'Connection', 'close' ]); @@ -47,56 +47,56 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "share156150556125404436share156150556125404436x1Tue, 25 Jun 2019 23:32:41 GMT\"0x8D6F9C56ACACCAD\"5120valshare156150556125404436x2Tue, 25 Jun 2019 23:32:41 GMT\"0x8D6F9C56AFC5AA0\"5120val", [ 'Transfer-Encoding', + .reply(200, "share156599432019001696share156599432019001696x1Fri, 16 Aug 2019 22:25:20 GMT\"0x8D722989F9AC09C\"5120valshare156599432019001696x2Fri, 16 Aug 2019 22:25:24 GMT\"0x8D72298A24842F3\"5120val", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8244483f-b01a-0078-20ae-2b1226000000', + '73439307-b01a-0037-4581-54d63e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:41 GMT', + 'Fri, 16 Aug 2019 22:25:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556125404436x1') + .delete('/share156599432019001696x1') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8fc4315f-701a-0003-13ae-2b7996000000', + '5430ee4b-801a-003f-2181-54cd4d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:41 GMT', + 'Fri, 16 Aug 2019 22:25:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150556125404436x2') + .delete('/share156599432019001696x2') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2e3101d4-501a-00d3-29ae-2bc534000000', + '1d5fb49d-c01a-0038-2381-543bc8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:42 GMT', + 'Fri, 16 Aug 2019 22:25:33 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js index 6d800dcd7b93..69e2ecafeb3d 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd4a96e9-a01a-00c6-10ae-2b07ad000000', + '8ced444e-b01a-0096-4681-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:57 GMT', + 'Fri, 16 Aug 2019 22:28:04 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string_and_an_option_bag.js index dcfa5746a4aa..093c71571844 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string_and_an_option_bag.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3f003086-301a-0069-67ae-2b253d000000', + 'a868c4a6-901a-00c5-7981-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:58 GMT', + 'Fri, 16 Aug 2019 22:28:04 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 1c84b47784dd..ffc36dffe87e 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16eca798-201a-0076-16ae-2bfe2d000000', + '44b16ad3-a01a-0082-1b81-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:56 GMT', + 'Fri, 16 Aug 2019 22:28:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index e2aa89230bd1..d817ce154db6 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cea1d89c-101a-0013-5aae-2b4f70000000', + 'a868c4a4-901a-00c5-7881-5404aa000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:57 GMT', + 'Fri, 16 Aug 2019 22:28:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index 8ff15a99d360..cc7ec7662a64 100644 --- a/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-file/recordings/node/fileserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -12,15 +12,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '14a51336-601a-00bd-1aae-2b6c1d000000', + 'e9ce15b0-d01a-002c-0c81-54f8ac000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:56 GMT', + 'Fri, 16 Aug 2019 22:28:04 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_fileclientdownloadtobuffer_should_success_when_downloading_a_range_inside_file.js b/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_fileclientdownloadtobuffer_should_success_when_downloading_a_range_inside_file.js new file mode 100644 index 000000000000..e5f120391d56 --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_fileclientdownloadtobuffer_should_success_when_downloading_a_range_inside_file.js @@ -0,0 +1,281 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599449589708627","dir":"dir156599449618905243","file":"file156599449648307256"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599449589708627') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:16 GMT', + 'ETag', + '"0x8D72299085591BE"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'd47375fd-f01a-00b8-5a81-549862000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:28:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599449589708627/dir156599449618905243') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:16 GMT', + 'ETag', + '"0x8D7229908823C49"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '846e6425-e01a-00e8-2481-54876a000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:28:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599449589708627/dir156599449618905243/file156599449648307256') + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:16 GMT', + 'ETag', + '"0x8D7229908B03268"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'ccdd7f3c-e01a-00a7-6c81-544372000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:28:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599449589708627/dir156599449618905243/file156599449648307256', "aaaabbbb") + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Content-MD5', + 'xiIFTZ5vF7Q4FK1dYcqyOQ==', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'ETag', + '"0x8D7229908DE9DC8"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '3f457715-801a-00d1-1f81-54c7ce000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-request-server-encrypted', + 'true', + 'Date', + 'Fri, 16 Aug 2019 22:28:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599449589708627/dir156599449618905243/file156599449648307256') + .reply(206, "bbbb", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 4-7/8', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7229908DE9DC8"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '7ab0554f-801a-001d-7981-54a37b000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-type', + 'File', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-type,x-ms-server-encrypted,Content-Range,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599449589708627/dir156599449618905243/file156599449648307256') + .reply(206, "abbb", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 3-6/8', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7229908DE9DC8"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '29bfbc84-701a-0003-7181-547996000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-type', + 'File', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-type,x-ms-server-encrypted,Content-Range,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:28:16 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599449589708627/dir156599449618905243/file156599449648307256') + .reply(206, "aabb", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 2-5/8', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7229908DE9DC8"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '49bb8f21-e01a-0085-1a81-542d44000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-type', + 'File', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-type,x-ms-server-encrypted,Content-Range,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599449589708627/dir156599449618905243/file156599449648307256') + .reply(206, "aaab", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 1-4/8', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7229908DE9DC8"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '7835c56f-301a-008c-2781-5437ca000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-type', + 'File', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-type,x-ms-server-encrypted,Content-Range,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .get('/share156599449589708627/dir156599449618905243/file156599449648307256') + .reply(206, "aaaa", [ 'Content-Length', + '4', + 'Content-Type', + 'application/octet-stream', + 'Content-Range', + 'bytes 0-3/8', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:28:17 GMT', + 'Accept-Ranges', + 'bytes', + 'ETag', + '"0x8D7229908DE9DC8"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '6b82df06-401a-0044-5f81-54a6fd000000', + 'x-ms-version', + '2018-11-09', + 'x-ms-type', + 'File', + 'x-ms-server-encrypted', + 'true', + 'Access-Control-Expose-Headers', + 'x-ms-request-id,Server,x-ms-version,Content-Type,Last-Modified,ETag,x-ms-type,x-ms-server-encrypted,Content-Range,Accept-Ranges,Content-Length,Date,Transfer-Encoding', + 'Access-Control-Allow-Origin', + '*', + 'Date', + 'Fri, 16 Aug 2019 22:28:18 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599449589708627') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'd619945e-801a-0052-3c81-546763000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:28:19 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_large_data.js b/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_large_data.js deleted file mode 100644 index 078948b6855d..000000000000 --- a/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_large_data.js +++ /dev/null @@ -1,64 +0,0 @@ -let nock = require('nock'); - -module.exports.testInfo = {"share":"share156150564194600717","dir":"dir156150564225104317","file":"file156150564255901261"} - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564194600717') - .query(true) - .reply(201, "", [ 'Content-Length', - '0', - 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:02 GMT', - 'ETag', - '"0x8D6F9C59AE2A83C"', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - 'd2e9c3d7-c01a-00b0-0dae-2b8311000000', - 'x-ms-version', - '2018-03-28', - 'Date', - 'Tue, 25 Jun 2019 23:34:02 GMT', - 'Connection', - 'close' ]); - - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564194600717/dir156150564225104317') - .query(true) - .reply(201, "", [ 'Content-Length', - '0', - 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:02 GMT', - 'ETag', - '"0x8D6F9C59B105DA8"', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - '91ff3c64-301a-00c8-5dae-2beba6000000', - 'x-ms-version', - '2018-03-28', - 'x-ms-request-server-encrypted', - 'true', - 'Date', - 'Tue, 25 Jun 2019 23:34:02 GMT', - 'Connection', - 'close' ]); - - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150564194600717') - .query(true) - .reply(202, "", [ 'Content-Length', - '0', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - 'fea51912-301a-008c-0fae-2b37ca000000', - 'x-ms-version', - '2018-03-28', - 'Date', - 'Tue, 25 Jun 2019 23:34:02 GMT', - 'Connection', - 'close' ]); - diff --git a/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_small_data.js b/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_small_data.js deleted file mode 100644 index 891f2148b561..000000000000 --- a/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_small_data.js +++ /dev/null @@ -1,64 +0,0 @@ -let nock = require('nock'); - -module.exports.testInfo = {"share":"share156150564286607457","dir":"dir156150564316201061","file":"file156150564346805811"} - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564286607457') - .query(true) - .reply(201, "", [ 'Content-Length', - '0', - 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:03 GMT', - 'ETag', - '"0x8D6F9C59B6E31DA"', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - '5d640ada-201a-0054-60ae-2b901b000000', - 'x-ms-version', - '2018-03-28', - 'Date', - 'Tue, 25 Jun 2019 23:34:02 GMT', - 'Connection', - 'close' ]); - - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564286607457/dir156150564316201061') - .query(true) - .reply(201, "", [ 'Content-Length', - '0', - 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:03 GMT', - 'ETag', - '"0x8D6F9C59B9B0380"', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - '77bf2ac7-301a-00a5-80ae-2b4188000000', - 'x-ms-version', - '2018-03-28', - 'x-ms-request-server-encrypted', - 'true', - 'Date', - 'Tue, 25 Jun 2019 23:34:02 GMT', - 'Connection', - 'close' ]); - - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150564286607457') - .query(true) - .reply(202, "", [ 'Content-Length', - '0', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - '77bf2ac9-301a-00a5-01ae-2b4188000000', - 'x-ms-version', - '2018-03-28', - 'Date', - 'Tue, 25 Jun 2019 23:34:03 GMT', - 'Connection', - 'close' ]); - diff --git a/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadstream_should_abort.js b/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadstream_should_abort.js deleted file mode 100644 index 07fd3b24b435..000000000000 --- a/sdk/storage/storage-file/recordings/node/highlevel_nodejs_only/recording_uploadstream_should_abort.js +++ /dev/null @@ -1,64 +0,0 @@ -let nock = require('nock'); - -module.exports.testInfo = {"share":"share156150564369203206","dir":"dir156150564398708521","file":"file156150564428206480"} - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564369203206') - .query(true) - .reply(201, "", [ 'Content-Length', - '0', - 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:03 GMT', - 'ETag', - '"0x8D6F9C59BEB992D"', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - '1454c810-201a-007d-39ae-2be659000000', - 'x-ms-version', - '2018-03-28', - 'Date', - 'Tue, 25 Jun 2019 23:34:03 GMT', - 'Connection', - 'close' ]); - - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564369203206/dir156150564398708521') - .query(true) - .reply(201, "", [ 'Content-Length', - '0', - 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:04 GMT', - 'ETag', - '"0x8D6F9C59C18AED5"', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - '65b7b144-d01a-0068-3cae-2b24c0000000', - 'x-ms-version', - '2018-03-28', - 'x-ms-request-server-encrypted', - 'true', - 'Date', - 'Tue, 25 Jun 2019 23:34:03 GMT', - 'Connection', - 'close' ]); - - -nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150564369203206') - .query(true) - .reply(202, "", [ 'Content-Length', - '0', - 'Server', - 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', - 'x-ms-request-id', - '2b8d32de-601a-0035-29ae-2bd4c4000000', - 'x-ms-version', - '2018-03-28', - 'Date', - 'Tue, 25 Jun 2019 23:34:04 GMT', - 'Connection', - 'close' ]); - diff --git a/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js b/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js new file mode 100644 index 000000000000..77f3d00b2a4f --- /dev/null +++ b/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js @@ -0,0 +1,41 @@ +let nock = require('nock'); + +module.exports.testInfo = {"share":"share156599436933102883"} + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .put('/share156599436933102883') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Last-Modified', + 'Fri, 16 Aug 2019 22:26:16 GMT', + 'ETag', + '"0x8D72298C0BC5A34"', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'dfd78ada-d01a-00c9-7681-54ea5b000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:26:15 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/share156599436933102883') + .query(true) + .reply(202, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + 'eb846394-e01a-00ac-7881-545b06000000', + 'x-ms-version', + '2018-11-09', + 'Date', + 'Fri, 16 Aug 2019 22:26:17 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.js b/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.js index 1bf648281da0..74157af52911 100644 --- a/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.js +++ b/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_fail_when_requests_always_fail_with_500.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150557998002164"} +module.exports.testInfo = {"share":"share156599437871909366"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150557998002164') + .put('/share156599437871909366') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:00 GMT', + 'Fri, 16 Aug 2019 22:26:19 GMT', 'ETag', - '"0x8D6F9C575F3CE81"', + '"0x8D72298C2AD79FF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cc04cdba-901a-0009-12ae-2b601f000000', + 'ceda1c56-e01a-00c1-2981-54f128000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:00 GMT', + 'Fri, 16 Aug 2019 22:26:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150557998002164') + .delete('/share156599437871909366') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '35d18c3e-901a-00c5-67ae-2b04aa000000', + '18137b1d-b01a-00d2-7a81-54c4c9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:04 GMT', + 'Fri, 16 Aug 2019 22:26:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js b/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js index 688986b11eb2..42a601236b79 100644 --- a/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js +++ b/sdk/storage/storage-file/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150557855204086"} +module.exports.testInfo = {"share":"share156599436640904267"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150557855204086') + .put('/share156599436640904267') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:58 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'ETag', - '"0x8D6F9C5751A30C2"', + '"0x8D72298BB29A867"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2c1efb2b-901a-00e7-21ae-2b6a9c000000', + '8475f813-d01a-004a-3e81-544af6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:57 GMT', + 'Fri, 16 Aug 2019 22:26:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150557855204086') + .put('/share156599436640904267') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:59 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'ETag', - '"0x8D6F9C57559877A"', + '"0x8D72298BC3BABCB"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '42f8ee5b-001a-0084-64ae-2b2cb9000000', + '4db9daa6-e01a-0060-0981-543fb3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:58 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150557855204086') + .get('/share156599436640904267') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:32:59 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'ETag', - '"0x8D6F9C57559877A"', + '"0x8D72298BC3BABCB"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e432915-e01a-0060-6aae-2b3fb3000000', + 'd5e9a1d6-101a-0031-6781-542146000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key0', 'val0', 'x-ms-meta-keya', @@ -76,24 +76,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:32:59 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150557855204086') + .delete('/share156599436640904267') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd53e-e01a-0085-73ae-2b2d44000000', + '6cd8bc7d-a01a-00cd-3681-541fd9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:32:59 GMT', + 'Fri, 16 Aug 2019 22:26:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.js index 60373686c4c1..201c11ad60c8 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156464537048000626"} +module.exports.testInfo = {"share":"share156599443131304525"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156464537048000626') + .put('/share156599443131304525') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 07:42:55 GMT', + 'Fri, 16 Aug 2019 22:27:11 GMT', 'ETag', - '"0x8D71653DDEE01C6"', + '"0x8D72298E1D95AFA"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3046c4fc-001a-0025-663c-48e222000000', + 'd57cfd9d-c01a-0033-2b81-5423bc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 07:42:57 GMT', + 'Fri, 16 Aug 2019 22:27:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156464537048000626') + .get('/share156599443131304525') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 07:42:55 GMT', + 'Fri, 16 Aug 2019 22:27:11 GMT', 'ETag', - '"0x8D71653DDEE01C6"', + '"0x8D72298E1D95AFA"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd4859a1e-201a-0093-3a3c-48ecda000000', + '34ccd018-801a-0070-6081-540955000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 07:42:58 GMT', + 'Fri, 16 Aug 2019 22:27:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156464537048000626') + .delete('/share156599443131304525') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '553d9f57-901a-0009-563c-48601f000000', + '090b30c4-101a-0075-0c81-54fd2a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 07:42:58 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.js index 547ce497454d..16e5e815c6eb 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_can_be_created_with_a_sas_connection_string_and_a_share_name_and_an_option_bag.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156464537893405093"} +module.exports.testInfo = {"share":"share156599443245806256"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156464537893405093') + .put('/share156599443245806256') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 07:43:01 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'ETag', - '"0x8D71653E12E5347"', + '"0x8D72298E28706B0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8b7931eb-b01a-0037-023c-48d63e000000', + '4d522f51-401a-0000-4581-547a91000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 07:43:04 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156464537893405093') + .get('/share156599443245806256') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 07:43:01 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'ETag', - '"0x8D71653E12E5347"', + '"0x8D72298E28706B0"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '073843fb-401a-0022-053c-4814a7000000', + 'f41b9fb7-101a-00df-4581-542bc5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Thu, 01 Aug 2019 07:43:06 GMT', + 'Fri, 16 Aug 2019 22:27:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156464537893405093') + .delete('/share156599443245806256') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '368d9053-401a-006d-583c-48d0bf000000', + '4d0552ec-c01a-0077-4081-54ffd0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 07:43:08 GMT', + 'Fri, 16 Aug 2019 22:27:13 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_can_get_a_directory_client_for_root_directory.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_can_get_a_directory_client_for_root_directory.js index a2aa61269f82..e9f9586624e8 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_can_get_a_directory_client_for_root_directory.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_can_get_a_directory_client_for_root_directory.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150559925304292"} +module.exports.testInfo = {"share":"share156599443023508008"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559925304292') + .put('/share156599443023508008') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:19 GMT', + 'Fri, 16 Aug 2019 22:27:10 GMT', 'ETag', - '"0x8D6F9C5817BAE8A"', + '"0x8D72298E136B7A7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '175787f4-b01a-003c-2cae-2bce4a000000', + 'b3dc9ca6-401a-000b-4081-5462e5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:18 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150559925304292/') + .get('/share156599443023508008/') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:19 GMT', + 'Fri, 16 Aug 2019 22:27:10 GMT', 'ETag', - '"0x8D6F9C581AAB5D6"', + '"0x8D72298E17A5936"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '74cc95f4-b01a-001e-78ae-2ba07c000000', + '20ce7f47-e01a-008e-2c81-543530000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'false', 'Access-Control-Expose-Headers', @@ -45,24 +45,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:19 GMT', + 'Fri, 16 Aug 2019 22:27:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559925304292') + .delete('/share156599443023508008') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3551f5e1-101a-00b9-5cae-2b999f000000', + '6e21e205-e01a-002f-6981-54fbab000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:19 GMT', + 'Fri, 16 Aug 2019 22:27:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_create_snapshot.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_create_snapshot.js index 2be68626781c..9777553047f7 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_create_snapshot.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_create_snapshot.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150559307701722"} +module.exports.testInfo = {"share":"share156599441026505118"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559307701722') + .put('/share156599441026505118') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:13 GMT', + 'Fri, 16 Aug 2019 22:26:56 GMT', 'ETag', - '"0x8D6F9C57DC23E9A"', + '"0x8D72298D92013EC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b29ba48f-d01a-00eb-37ae-2b846d000000', + '44b16a45-a01a-0082-6181-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:13 GMT', + 'Fri, 16 Aug 2019 22:26:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559307701722') + .put('/share156599441026505118') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:13 GMT', + 'Fri, 16 Aug 2019 22:26:59 GMT', 'ETag', - '"0x8D6F9C57D908280"', + '"0x8D72298DA5B3B80"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '65b7b0e8-d01a-0068-11ae-2b24c0000000', + '3e7d5dcd-c01a-00b0-5f81-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-snapshot', - '2019-06-25T23:33:13.0000000Z', + '2019-08-16T22:26:59.0000000Z', 'Date', - 'Tue, 25 Jun 2019 23:33:13 GMT', + 'Fri, 16 Aug 2019 22:27:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150559307701722') + .get('/share156599441026505118') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:13 GMT', + 'Fri, 16 Aug 2019 22:26:59 GMT', 'ETag', - '"0x8D6F9C57D908280"', + '"0x8D72298DA5B3B80"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e05309e3-f01a-00b8-51ae-2b9862000000', + 'a2a6b601-f01a-00de-2881-542a38000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key1', 'value1', 'x-ms-meta-key2', @@ -76,26 +76,26 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:14 GMT', + 'Fri, 16 Aug 2019 22:27:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150559307701722') + .get('/share156599441026505118') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:13 GMT', + 'Fri, 16 Aug 2019 22:26:56 GMT', 'ETag', - '"0x8D6F9C57DC23E9A"', + '"0x8D72298D92013EC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '514716b6-401a-0000-48ae-2b7a91000000', + 'bb2311fe-901a-00a3-7281-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -107,41 +107,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:14 GMT', + 'Fri, 16 Aug 2019 22:27:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559307701722') + .delete('/share156599441026505118') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7cad302b-001a-0025-5dae-2be222000000', + '26ee9f29-401a-00aa-2a81-54ac7e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:14 GMT', + 'Fri, 16 Aug 2019 22:27:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559307701722') + .delete('/share156599441026505118') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37ee6958-701a-006e-74ae-2bd3b8000000', + 'ea26c1da-c01a-0099-3981-54f553000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:14 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_all_parameters_configured.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_all_parameters_configured.js index 3856e33f8466..0ba91d04b6a8 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_all_parameters_configured.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_all_parameters_configured.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150558874106308","share156150558874106308":"share156150558874106308156150558905705627"} +module.exports.testInfo = {"share":"share156599439521709198","share156599439521709198":"share156599439521709198156599440225504948"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150558874106308') + .put('/share156599439521709198') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:08 GMT', + 'Fri, 16 Aug 2019 22:26:41 GMT', 'ETag', - '"0x8D6F9C57B2E0437"', + '"0x8D72298D02F1552"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '97befcb0-b01a-0037-0cae-2bd63e000000', + '59a5abb7-b01a-00bf-6081-546ee7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:08 GMT', + 'Fri, 16 Aug 2019 22:26:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150558874106308156150558905705627') + .put('/share156599439521709198156599440225504948') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:09 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'ETag', - '"0x8D6F9C57B5D00F3"', + '"0x8D72298D087A067"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ff142b0d-001a-00a6-0aae-2b428f000000', + 'ea26c1b5-c01a-0099-2981-54f553000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:09 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150558874106308156150558905705627') + .get('/share156599439521709198156599440225504948') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:09 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'ETag', - '"0x8D6F9C57B5D00F3"', + '"0x8D72298D087A067"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2b8d3295-601a-0035-1bae-2bd4c4000000', + '6b72435e-101a-009b-4281-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key', 'value', 'x-ms-has-immutability-policy', @@ -72,24 +72,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:09 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150558874106308') + .delete('/share156599439521709198') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7c376d60-701a-00a2-3aae-2bb70d000000', + '60d7ff09-301a-0069-4881-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:09 GMT', + 'Fri, 16 Aug 2019 22:26:42 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_default_parameters.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_default_parameters.js index 19304f953929..73e513a56b7b 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_default_parameters.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_create_with_default_parameters.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150558811003708"} +module.exports.testInfo = {"share":"share156599439460007362"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150558811003708') + .put('/share156599439460007362') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:08 GMT', + 'Fri, 16 Aug 2019 22:26:34 GMT', 'ETag', - '"0x8D6F9C57ACCB47A"', + '"0x8D72298CBF7718F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cc847fa3-601a-007a-1eae-2b10dc000000', + '47ff8aad-901a-0020-5081-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:07 GMT', + 'Fri, 16 Aug 2019 22:26:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150558811003708') + .delete('/share156599439460007362') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dc6243ee-f01a-003b-34ae-2b38cf000000', + '6b724351-101a-009b-3d81-54f7a9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:08 GMT', + 'Fri, 16 Aug 2019 22:26:34 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_createdirectory_and_deletedirectory.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_createdirectory_and_deletedirectory.js index ddce079ff068..67b261e3a97f 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_createdirectory_and_deletedirectory.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_createdirectory_and_deletedirectory.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150559536706769","directory":"directory156150559567902229"} +module.exports.testInfo = {"share":"share156599442660003746","directory":"directory156599442689607391"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559536706769') + .put('/share156599442660003746') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:15 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'ETag', - '"0x8D6F9C57F20BCD7"', + '"0x8D72298DF081DAF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9ee5c0c-901a-0064-72ae-2bca31000000', + '1f224126-a01a-00a0-4a81-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:14 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559536706769/directory156150559567902229') + .put('/share156599442660003746/directory156599442689607391') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:15 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'ETag', - '"0x8D6F9C57F4F8F69"', + '"0x8D72298DF3D21D9"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b9e117f3-801a-0016-74ae-2bbb0f000000', + 'e1fadf9d-201a-005f-0781-54886f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:15 GMT', + 'Fri, 16 Aug 2019 22:27:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150559536706769/directory156150559567902229') + .get('/share156599442660003746/directory156599442689607391') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:15 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'ETag', - '"0x8D6F9C57F4F8F69"', + '"0x8D72298DF3D21D9"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '41de2bfe-501a-00d8-3aae-2bdd40000000', + 'cba7e5ea-001a-000c-3581-549460000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'x-ms-meta-key', @@ -70,41 +70,41 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:15 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559536706769/directory156150559567902229') + .delete('/share156599442660003746/directory156599442689607391') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6c8d94d1-401a-0022-13ae-2b14a7000000', + '781d32ba-901a-002b-4781-540e29000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:16 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150559536706769/directory156150559567902229') + .get('/share156599442660003746/directory156599442689607391') .query(true) - .reply(404, "ResourceNotFoundThe specified resource does not exist.\nRequestId:16eca758-201a-0076-08ae-2bfe2d000000\nTime:2019-06-25T23:33:16.9170893Z", [ 'Content-Length', + .reply(404, "ResourceNotFoundThe specified resource does not exist.\nRequestId:7e1c1f43-301a-00ea-6281-548590000000\nTime:2019-08-16T22:27:08.1166859Z", [ 'Content-Length', '223', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16eca758-201a-0076-08ae-2bfe2d000000', + '7e1c1f43-301a-00ea-6281-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'ResourceNotFound', 'Access-Control-Expose-Headers', @@ -112,24 +112,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:16 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559536706769') + .delete('/share156599442660003746') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b54c7ae1-b01a-00d2-30ae-2bc4c9000000', + 'f464769a-c01a-0055-6881-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:16 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_createfile_and_deletefile_under_root_directory.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_createfile_and_deletefile_under_root_directory.js index 2ee89ca40033..85d3ae9fee6f 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_createfile_and_deletefile_under_root_directory.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_createfile_and_deletefile_under_root_directory.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150559732306687","file":"file156150559771706931"} +module.exports.testInfo = {"share":"share156599442847706322","file":"file156599442877001041"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559732306687') + .put('/share156599442847706322') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:17 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'ETag', - '"0x8D6F9C58057335E"', + '"0x8D72298E025F14D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '52930bfe-201a-0010-26ae-2b4c77000000', + 'f264e9bc-801a-00da-2b81-54dfba000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:17 GMT', + 'Fri, 16 Aug 2019 22:27:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559732306687/file156150559771706931') + .put('/share156599442847706322/file156599442877001041') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:17 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'ETag', - '"0x8D6F9C5808784E4"', + '"0x8D72298E052E235"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '35f9b524-501a-00be-08ae-2b6f1a000000', + 'b1fccc11-201a-00b1-2281-5482ec000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:17 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150559732306687/file156150559771706931') + .head('/share156599442847706322/file156599442877001041') .reply(200, "", [ 'Content-Length', '256', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:17 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'ETag', - '"0x8D6F9C5808784E4"', + '"0x8D72298E052E235"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '97befcca-b01a-0037-1bae-2bd63e000000', + 'd7cd1697-401a-00a1-3d81-54b40a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key', 'value', 'x-ms-type', @@ -72,37 +72,37 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:17 GMT', + 'Fri, 16 Aug 2019 22:27:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559732306687/file156150559771706931') + .delete('/share156599442847706322/file156599442877001041') .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3dc0ffa0-501a-0079-71ae-2b13db000000', + 'd761f42f-b01a-005a-1f81-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:17 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150559732306687/file156150559771706931') + .head('/share156599442847706322/file156599442877001041') .reply(404, "", [ 'Transfer-Encoding', 'chunked', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0f300cf2-401a-00a1-5fae-2bb40a000000', + 'a2657c9f-a01a-000a-7e81-546318000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'ResourceNotFound', 'Access-Control-Expose-Headers', @@ -110,24 +110,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:18 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559732306687') + .delete('/share156599442847706322') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b471253-301a-004b-6eae-2b4b0b000000', + '30fa0cec-601a-00b6-3981-547469000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:18 GMT', + 'Fri, 16 Aug 2019 22:27:09 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_delete.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_delete.js index 05249c2fb609..6cae25cbac1d 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_delete.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_delete.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150558998904926"} +module.exports.testInfo = {"share":"share156599440318601665"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150558998904926') + .put('/share156599440318601665') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:10 GMT', + 'Fri, 16 Aug 2019 22:26:43 GMT', 'ETag', - '"0x8D6F9C57BEAD85B"', + '"0x8D72298D1155244"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ec5ab27f-301a-00e1-42ae-2b9de4000000', + '00c84d1c-a01a-0067-3881-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:09 GMT', + 'Fri, 16 Aug 2019 22:26:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150558998904926') + .delete('/share156599440318601665') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '25c7da70-e01a-00a7-59ae-2b4372000000', + '8c3ec290-001a-0007-2081-548c14000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:10 GMT', + 'Fri, 16 Aug 2019 22:26:47 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_getproperties.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_getproperties.js index 0ebb82fc6d8d..a4fa2e80d04b 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_getproperties.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_getproperties.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150558718700400"} +module.exports.testInfo = {"share":"share156599438673606149"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150558718700400') + .put('/share156599438673606149') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:07 GMT', + 'Fri, 16 Aug 2019 22:26:28 GMT', 'ETag', - '"0x8D6F9C57A3FF3BD"', + '"0x8D72298C8143000"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd549-e01a-0085-76ae-2b2d44000000', + 'cba7e59f-001a-000c-1e81-549460000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:06 GMT', + 'Fri, 16 Aug 2019 22:26:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150558718700400') + .get('/share156599438673606149') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:07 GMT', + 'Fri, 16 Aug 2019 22:26:28 GMT', 'ETag', - '"0x8D6F9C57A3FF3BD"', + '"0x8D72298C8143000"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa8d2821-601a-00b6-7cae-2b7469000000', + 'c830fb95-701a-00ed-5481-547315000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:06 GMT', + 'Fri, 16 Aug 2019 22:26:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150558718700400') + .delete('/share156599438673606149') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b9e117e0-801a-0016-68ae-2bbb0f000000', + 'e8b25e99-c01a-00bb-5681-549b65000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:07 GMT', + 'Fri, 16 Aug 2019 22:26:33 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_getstatistics.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_getstatistics.js index ca6ec582c981..6394e4f6d388 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_getstatistics.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_getstatistics.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150559196705695"} +module.exports.testInfo = {"share":"share156599440937806084"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559196705695') + .put('/share156599440937806084') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:12 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'ETag', - '"0x8D6F9C57D2F8C78"', + '"0x8D72298D4C39A94"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f3d8984-901a-0002-80ae-2b786b000000', + '60d7ff19-301a-0069-5081-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:11 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150559196705695') + .get('/share156599440937806084') .query(true) - .reply(200, "0", [ 'Transfer-Encoding', + .reply(200, "0", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44d92648-201a-00dc-50ae-2b28c2000000', + '4d889230-501a-0079-5581-5413db000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:12 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559196705695') + .delete('/share156599440937806084') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e5ce07ce-e01a-00e3-20ae-2b9f1e000000', + '8ced43c7-b01a-0096-2081-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:12 GMT', + 'Fri, 16 Aug 2019 22:26:49 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_setmetadata.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_setmetadata.js index 4ee86e8f575a..6d414838d97b 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_setmetadata.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_setmetadata.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150558459707651"} +module.exports.testInfo = {"share":"share156599438413402449"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150558459707651') + .put('/share156599438413402449') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:04 GMT', + 'Fri, 16 Aug 2019 22:26:24 GMT', 'ETag', - '"0x8D6F9C578B53712"', + '"0x8D72298C5EF87A2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aafa6c4d-001a-00cb-02ae-2be8a1000000', + 'e0a98608-a01a-0023-3981-54155a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:04 GMT', + 'Fri, 16 Aug 2019 22:26:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150558459707651') + .put('/share156599438413402449') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:06 GMT', + 'Fri, 16 Aug 2019 22:26:25 GMT', 'ETag', - '"0x8D6F9C579B128D6"', + '"0x8D72298C6A28AF7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5ce34d80-d01a-008d-60ae-2b3637000000', + '0d9f0df6-f01a-0012-1281-544e8d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:05 GMT', + 'Fri, 16 Aug 2019 22:26:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150558459707651') + .get('/share156599438413402449') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:06 GMT', + 'Fri, 16 Aug 2019 22:26:25 GMT', 'ETag', - '"0x8D6F9C579B128D6"', + '"0x8D72298C6A28AF7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a4dde6d-c01a-0099-7cae-2bf553000000', + '46ad4bae-601a-00d0-5d81-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-meta-key0', 'val0', 'x-ms-meta-keya', @@ -76,24 +76,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:05 GMT', + 'Fri, 16 Aug 2019 22:26:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150558459707651') + .delete('/share156599438413402449') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '52930bf0-201a-0010-21ae-2b4c77000000', + '4aa6a886-301a-004b-0181-544b0b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:06 GMT', + 'Fri, 16 Aug 2019 22:26:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_setquota.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_setquota.js index 42d1a5e1fec7..d03157bc1004 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_setquota.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_setquota.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150559060508729"} +module.exports.testInfo = {"share":"share156599440774001233"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559060508729') + .put('/share156599440774001233') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:10 GMT', + 'Fri, 16 Aug 2019 22:26:48 GMT', 'ETag', - '"0x8D6F9C57C4931F4"', + '"0x8D72298D3CFC8CE"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '136b83bf-401a-0044-6cae-2ba6fd000000', + '37ee7f84-001a-00e9-3281-548697000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:10 GMT', + 'Fri, 16 Aug 2019 22:26:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150559060508729') + .put('/share156599440774001233') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:11 GMT', + 'Fri, 16 Aug 2019 22:26:48 GMT', 'ETag', - '"0x8D6F9C57C8AE569"', + '"0x8D72298D3FEC6A6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '986a3b8a-401a-00ee-2eae-2b7012000000', + 'a3b12e02-401a-0088-6181-54c248000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:10 GMT', + 'Fri, 16 Aug 2019 22:26:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150559060508729') + .get('/share156599440774001233') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:11 GMT', + 'Fri, 16 Aug 2019 22:26:48 GMT', 'ETag', - '"0x8D6F9C57C8AE569"', + '"0x8D72298D3FEC6A6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3f003042-301a-0069-5bae-2b253d000000', + 'bb2311d7-901a-00a3-6881-54b6f0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -70,24 +70,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:11 GMT', + 'Fri, 16 Aug 2019 22:26:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150559060508729') + .delete('/share156599440774001233') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '83fe9e5f-801a-007b-14ae-2b1121000000', + 'b3dc9c53-401a-000b-1881-5462e5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:11 GMT', + 'Fri, 16 Aug 2019 22:26:48 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.js b/sdk/storage/storage-file/recordings/node/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.js index 5ace159f1676..c021e727c3c6 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.js +++ b/sdk/storage/storage-file/recordings/node/shareclient/recording_throws_error_if_constructor_sharename_parameter_is_empty.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156464538937607833"} +module.exports.testInfo = {"share":"share156599443384909156"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156464538937607833') + .put('/share156599443384909156') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Thu, 01 Aug 2019 07:43:09 GMT', + 'Fri, 16 Aug 2019 22:27:14 GMT', 'ETag', - '"0x8D71653E6328C54"', + '"0x8D72298E35C32F2"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f2604a74-d01a-0005-773c-488eee000000', + 'fd8aa51f-301a-0087-4481-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 07:43:09 GMT', + 'Fri, 16 Aug 2019 22:27:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156464538937607833') + .delete('/share156599443384909156') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '94f41d17-501a-001f-2a3c-48a181000000', + '620ebe17-301a-000f-5881-549767000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Thu, 01 Aug 2019 07:43:10 GMT', + 'Fri, 16 Aug 2019 22:27:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name.js b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name.js index 11c79f13fdf5..9bb15fbd71e8 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name.js +++ b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150565948300404"} +module.exports.testInfo = {"share":"share156599452001706714"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565948300404') + .put('/share156599452001706714') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:19 GMT', + 'Fri, 16 Aug 2019 22:28:40 GMT', 'ETag', - '"0x8D6F9C5A55550E0"', + '"0x8D7229916B5B9DF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7c8790f-901a-00a8-33ae-2bae84000000', + 'e797ac3e-a01a-00ef-2481-5471ef000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:19 GMT', + 'Fri, 16 Aug 2019 22:28:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150565948300404') + .get('/share156599452001706714') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:19 GMT', + 'Fri, 16 Aug 2019 22:28:40 GMT', 'ETag', - '"0x8D6F9C5A55550E0"', + '"0x8D7229916B5B9DF"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b54c7b51-b01a-00d2-57ae-2bc4c9000000', + '3e7d5eaa-c01a-00b0-3d81-548311000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:19 GMT', + 'Fri, 16 Aug 2019 22:28:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150565948300404') + .delete('/share156599452001706714') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a8b6c285-201a-00ba-2dae-2b9a98000000', + '6ea03544-d01a-008d-3a81-543637000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:20 GMT', + 'Fri, 16 Aug 2019 22:28:40 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name_and_an_option_bag.js index 54022bec781c..1148a40ce3f0 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_share_name_and_an_option_bag.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150566037901665"} +module.exports.testInfo = {"share":"share156599452089601012"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150566037901665') + .put('/share156599452089601012') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:20 GMT', + 'Fri, 16 Aug 2019 22:28:41 GMT', 'ETag', - '"0x8D6F9C5A5DDF382"', + '"0x8D72299173C180C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c4be7b92-d01a-0063-52ae-2b3cb4000000', + '2c6e7c12-901a-00e7-5681-546a9c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:19 GMT', + 'Fri, 16 Aug 2019 22:28:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150566037901665') + .get('/share156599452089601012') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:20 GMT', + 'Fri, 16 Aug 2019 22:28:41 GMT', 'ETag', - '"0x8D6F9C5A5DDF382"', + '"0x8D72299173C180C"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '98e41d0d-d01a-002c-4eae-2bf8ac000000', + '7e1c1fd5-301a-00ea-1081-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:20 GMT', + 'Fri, 16 Aug 2019 22:28:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150566037901665') + .delete('/share156599452089601012') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a7504fef-a01a-0089-66ae-2bc3b5000000', + '983fe2a2-501a-00d8-3e81-54dd40000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:20 GMT', + 'Fri, 16 Aug 2019 22:28:41 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 25deb9d42c1f..df956e7743e1 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150565675908631"} +module.exports.testInfo = {"share":"share156599451713103639"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565675908631') + .put('/share156599451713103639') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:16 GMT', + 'Fri, 16 Aug 2019 22:28:37 GMT', 'ETag', - '"0x8D6F9C5A3B58D0B"', + '"0x8D7229914FE00A9"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b6c2f711-a01a-000a-7cae-2b6318000000', + 'd4e41916-401a-0083-3481-54da3c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:16 GMT', + 'Fri, 16 Aug 2019 22:28:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150565675908631') + .get('/share156599451713103639') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:16 GMT', + 'Fri, 16 Aug 2019 22:28:37 GMT', 'ETag', - '"0x8D6F9C5A3B58D0B"', + '"0x8D7229914FE00A9"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a0abb101-301a-00ae-38ae-2b59fc000000', + '983fe296-501a-00d8-3981-54dd40000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:16 GMT', + 'Fri, 16 Aug 2019 22:28:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150565675908631') + .delete('/share156599451713103639') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6cebc0f8-101a-0075-2eae-2bfd2a000000', + '00c84e05-a01a-0067-1781-54c936000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:17 GMT', + 'Fri, 16 Aug 2019 22:28:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 8ba916b55751..d52941d48b43 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150565770603886"} +module.exports.testInfo = {"share":"share156599451802508808"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565770603886') + .put('/share156599451802508808') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:17 GMT', + 'Fri, 16 Aug 2019 22:28:38 GMT', 'ETag', - '"0x8D6F9C5A4452B88"', + '"0x8D7229915867D72"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '787bf071-301a-0087-1cae-2b2fbe000000', + 'ef5a63b4-301a-0062-2381-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:17 GMT', + 'Fri, 16 Aug 2019 22:28:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150565770603886') + .get('/share156599451802508808') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:17 GMT', + 'Fri, 16 Aug 2019 22:28:38 GMT', 'ETag', - '"0x8D6F9C5A4452B88"', + '"0x8D7229915867D72"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8fc4321f-701a-0003-5cae-2b7996000000', + '0f3e4d82-701a-0008-4681-5461e2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:18 GMT', + 'Fri, 16 Aug 2019 22:28:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150565770603886') + .delete('/share156599451802508808') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '263ab681-f01a-0056-23ae-2b92e1000000', + 'ceda2ae8-e01a-00c1-7d81-54f128000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:18 GMT', + 'Fri, 16 Aug 2019 22:28:38 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index 9f1055d6bf99..699cd775e0d5 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150565858300074"} +module.exports.testInfo = {"share":"share156599451913409963"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565858300074') + .put('/share156599451913409963') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:18 GMT', + 'Fri, 16 Aug 2019 22:28:39 GMT', 'ETag', - '"0x8D6F9C5A4CB5F11"', + '"0x8D722991630D6B6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06d919d6-c01a-00dd-1eae-2b293f000000', + '7a81161d-d01a-00c2-1e81-54f22f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:18 GMT', + 'Fri, 16 Aug 2019 22:28:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150565858300074') + .get('/share156599451913409963') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:18 GMT', + 'Fri, 16 Aug 2019 22:28:39 GMT', 'ETag', - '"0x8D6F9C5A4CB5F11"', + '"0x8D722991630D6B6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fedf7f91-401a-0066-07ae-2bc8cb000000', + '3d43dd00-301a-00c3-0281-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-has-immutability-policy', 'false', 'x-ms-has-legal-hold', @@ -49,24 +49,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:18 GMT', + 'Fri, 16 Aug 2019 22:28:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150565858300074') + .delete('/share156599451913409963') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48e32ef5-201a-0098-6dae-2bf4ae000000', + '516c6ee1-401a-00cc-3181-541e24000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:19 GMT', + 'Fri, 16 Aug 2019 22:28:39 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_getaccesspolicy.js b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_getaccesspolicy.js index 42315b44e32b..529ce25e02a1 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_getaccesspolicy.js +++ b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_getaccesspolicy.js @@ -1,41 +1,41 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150565617206291"} +module.exports.testInfo = {"share":"share156599451585302905"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565617206291') + .put('/share156599451585302905') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:16 GMT', + 'Fri, 16 Aug 2019 22:28:36 GMT', 'ETag', - '"0x8D6F9C5A35B682F"', + '"0x8D7229914864D76"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1454c821-201a-007d-3eae-2be659000000', + '689b7c2e-801a-00bc-3481-546de0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:16 GMT', + 'Fri, 16 Aug 2019 22:28:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150565617206291') + .delete('/share156599451585302905') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '35d18cfc-901a-00c5-4fae-2b04aa000000', + 'e1fae24d-201a-005f-0c81-54886f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:16 GMT', + 'Fri, 16 Aug 2019 22:28:36 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_setaccesspolicy.js b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_setaccesspolicy.js index 345196c4debc..22e7e1cf3656 100644 --- a/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_setaccesspolicy.js +++ b/sdk/storage/storage-file/recordings/node/shareclient_nodejs_only/recording_setaccesspolicy.js @@ -1,89 +1,89 @@ let nock = require('nock'); -module.exports.testInfo = {"share":"share156150565400805352","undefined":"2019-06-25T23:34:14.324Z"} +module.exports.testInfo = {"share":"share156599451241506249","undefined":"2019-08-16T22:28:33.535Z"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565400805352') + .put('/share156599451241506249') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:14 GMT', + 'Fri, 16 Aug 2019 22:28:33 GMT', 'ETag', - '"0x8D6F9C5A210FD3C"', + '"0x8D722991295837A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cea1d8bf-101a-0013-6dae-2b4f70000000', + '8351a407-201a-0010-5681-544c77000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:13 GMT', + 'Fri, 16 Aug 2019 22:28:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565400805352', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2019-06-24T23:34:14.3240000Z2019-06-26T23:34:14.3240000Zrwd") + .put('/share156599451241506249', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2019-08-15T22:28:33.5350000Z2019-08-17T22:28:33.5350000Zrwd") .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:15 GMT', + 'Fri, 16 Aug 2019 22:28:34 GMT', 'ETag', - '"0x8D6F9C5A29EBBF8"', + '"0x8D72299133BEB71"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '80341033-c01a-0092-1bae-2bed27000000', + '7e1c1fcb-301a-00ea-0b81-548590000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:14 GMT', + 'Fri, 16 Aug 2019 22:28:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150565400805352') + .get('/share156599451241506249') .query(true) - .reply(200, "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2019-06-24T23:34:14.3240000Z2019-06-26T23:34:14.3240000Zrwd", [ 'Transfer-Encoding', + .reply(200, "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2019-08-15T22:28:33.5350000Z2019-08-17T22:28:33.5350000Zrwd", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:15 GMT', + 'Fri, 16 Aug 2019 22:28:34 GMT', 'ETag', - '"0x8D6F9C5A29EBBF8"', + '"0x8D72299133BEB71"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c4be7b8b-d01a-0063-51ae-2b3cb4000000', + '5f113b2a-601a-007a-4c81-5410dc000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Last-Modified,ETag,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:15 GMT', + 'Fri, 16 Aug 2019 22:28:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150565400805352') + .delete('/share156599451241506249') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2d9fd34-501a-003d-61ae-2bcfb7000000', + '26ee9fc8-401a-00aa-5681-54ac7e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:15 GMT', + 'Fri, 16 Aug 2019 22:28:34 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js index 3754933c4d79..a9e587f61cda 100644 --- a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js +++ b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js @@ -1,20 +1,20 @@ let nock = require('nock'); -module.exports.testInfo = {"undefined":"2019-06-25T23:34:06.768Z"} +module.exports.testInfo = {"undefined":"2019-08-16T22:28:21.034Z"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.\nRequestId:cea1d8b5-101a-0013-67ae-2b4f70000000\nTime:2019-06-25T23:34:07.0438102Z", [ 'Content-Length', + .reply(403, "AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.\nRequestId:0ad3c21c-d01a-00e0-5481-549c19000000\nTime:2019-08-16T22:28:21.2949877Z", [ 'Content-Length', '279', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cea1d8b5-101a-0013-67ae-2b4f70000000', + '0ad3c21c-d01a-00e0-5481-549c19000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'AuthorizationPermissionMismatch', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:06 GMT', + 'Fri, 16 Aug 2019 22:28:20 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js index 50615169b47f..cb21945813e4 100644 --- a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js +++ b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js @@ -1,20 +1,20 @@ let nock = require('nock'); -module.exports.testInfo = {"undefined":"2019-06-25T23:34:07.437Z"} +module.exports.testInfo = {"undefined":"2019-08-16T22:28:21.653Z"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationResourceTypeMismatchThis request is not authorized to perform this operation using this resource type.\nRequestId:aa23f4fc-501a-0072-18ae-2b0baf000000\nTime:2019-06-25T23:34:08.3945100Z", [ 'Content-Length', + .reply(403, "AuthorizationResourceTypeMismatchThis request is not authorized to perform this operation using this resource type.\nRequestId:846e643b-e01a-00e8-2781-54876a000000\nTime:2019-08-16T22:28:22.4445578Z", [ 'Content-Length', '284', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa23f4fc-501a-0072-18ae-2b0baf000000', + '846e643b-e01a-00e8-2781-54876a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-error-code', 'AuthorizationResourceTypeMismatch', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:08 GMT', + 'Fri, 16 Aug 2019 22:28:22 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js index 81456ee95351..1047195ac82e 100644 --- a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js +++ b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js @@ -1,18 +1,18 @@ let nock = require('nock'); -module.exports.testInfo = {"undefined":"2019-06-25T23:34:07.103Z"} +module.exports.testInfo = {"undefined":"2019-08-16T22:28:21.355Z"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationServiceMismatchThis request is not authorized to perform this operation using this service.\nRequestId:62640740-e01a-0049-6dae-2b49f1000000\nTime:2019-06-25T23:34:07.3697235Z", [ 'Content-Length', + .reply(403, "AuthorizationServiceMismatchThis request is not authorized to perform this operation using this service.\nRequestId:44b16b01-a01a-0082-2a81-54dbc1000000\nTime:2019-08-16T22:28:21.6009386Z", [ 'Content-Length', '273', 'Content-Type', 'application/xml', 'Server', 'Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '62640740-e01a-0049-6dae-2b49f1000000', + '44b16b01-a01a-0082-2a81-54dbc1000000', 'x-ms-error-code', 'AuthorizationServiceMismatch', 'Access-Control-Expose-Headers', @@ -20,7 +20,7 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:07 GMT', + 'Fri, 16 Aug 2019 22:28:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js index 62b317df4293..3d52942faac4 100644 --- a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js +++ b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"undefined":"2019-06-25T23:34:04.707Z"} +module.exports.testInfo = {"undefined":"2019-08-16T22:28:19.510Z"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "newshare1560984825945Wed, 19 Jun 2019 22:53:46 GMT\"0x8D6F508FC8742DD\"5120newshare1560984850577Wed, 19 Jun 2019 22:54:11 GMT\"0x8D6F5090B34A1EB\"5120newshare1560984882604Wed, 19 Jun 2019 22:54:42 GMT\"0x8D6F5091E339D8C\"5120newshare1560985024272Wed, 19 Jun 2019 22:57:04 GMT\"0x8D6F50972BE3FCF\"5120newshare1560985083512Wed, 19 Jun 2019 22:58:03 GMT\"0x8D6F5099600D69D\"5120newshare1560985920531Wed, 19 Jun 2019 23:12:00 GMT\"0x8D6F50B88DA1F34\"5120share155437904169205513Thu, 04 Apr 2019 11:57:21 GMT\"0x8D6B8F4B2199E20\"5120share155437904713606627155437904748902305Thu, 04 Apr 2019 11:57:27 GMT\"0x8D6B8F4B58CCFDF\"5120share155437910337302527155437910354902667Thu, 04 Apr 2019 11:58:23 GMT\"0x8D6B8F4D6F74A7A\"5120share155437926571002685Thu, 04 Apr 2019 12:01:06 GMT\"0x8D6B8F537F0202C\"5120share155437937929506082Thu, 04 Apr 2019 12:02:59 GMT\"0x8D6B8F57B571BD7\"5120share155437938267107302155437938302300325Thu, 04 Apr 2019 12:03:03 GMT\"0x8D6B8F57D904B8D\"5120share155437943600205257155437943618000602Thu, 04 Apr 2019 12:03:56 GMT\"0x8D6B8F59D3F4E15\"5120share155442101291609110Thu, 04 Apr 2019 23:36:53 GMT\"0x8D6B9566AEEB456\"5120share155442101433204202155442101441304945Thu, 04 Apr 2019 23:36:54 GMT\"0x8D6B9566BAA4F82\"5120share155442103535004210155442103538902012Thu, 04 Apr 2019 23:37:15 GMT\"0x8D6B956782FAC3C\"5120share155442106262706581Thu, 04 Apr 2019 23:37:43 GMT\"0x8D6B95688E986F6\"5120share155442106833005342155442106849709891Thu, 04 Apr 2019 23:37:48 GMT\"0x8D6B9568BEE3C35\"5120share155442114135001795155442114169107170Thu, 04 Apr 2019 23:39:02 GMT\"0x8D6B956B7D19FDF\"5120share155442131425802394Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571E63D415\"5120share155442131479404554155442131482500092Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571EBA7ECE\"5120share155442132948207011155442132949606157Thu, 04 Apr 2019 23:42:09 GMT\"0x8D6B9572778FD3C\"5120share155442141590704833Thu, 04 Apr 2019 23:43:35 GMT\"0x8D6B9575AFB4FEB\"5120share155442142252500330155442142267403210Thu, 04 Apr 2019 23:43:44 GMT\"0x8D6B9575FD51B4D\"5120share155442146582902380155442146585008091Thu, 04 Apr 2019 23:44:26 GMT\"0x8D6B95778EE5ED3\"5120share155442149759503608Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C207165\"5120share155442149837602699Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C30A3C1\"5120share155442150064406618155442150082408752Thu, 04 Apr 2019 23:45:00 GMT\"0x8D6B9578D9B62F7\"5120share155442153362302080155442153371707518Thu, 04 Apr 2019 23:45:33 GMT\"0x8D6B957A13737FA\"5120share155443582059502859Fri, 05 Apr 2019 03:43:42 GMT\"0x8D6B978E603869D\"5120share155443582580507876155443582595606141Fri, 05 Apr 2019 03:43:46 GMT\"0x8D6B978E8A02797\"5120share155443587740305874155443587762607080Fri, 05 Apr 2019 03:44:37 GMT\"0x8D6B97906DE32FA\"5120share155443625931505797Fri, 05 Apr 2019 03:50:59 GMT\"0x8D6B979EA5A9413\"5120share155443626549008520155443626563302943Fri, 05 Apr 2019 03:51:05 GMT\"0x8D6B979EE1D492F\"5120share155443630167301526155443630221406552Fri, 05 Apr 2019 03:51:42 GMT\"0x8D6B97A03FBB01F\"5120share155443666699605171Fri, 05 Apr 2019 03:57:47 GMT\"0x8D6B97ADD56D64F\"5120share155443666955806318155443667044900386Fri, 05 Apr 2019 03:57:50 GMT\"0x8D6B97ADF6728E9\"5120share155443669150109852155443669151701289Fri, 05 Apr 2019 03:58:11 GMT\"0x8D6B97AEBF6A0A3\"5120share155443703010208112Fri, 05 Apr 2019 04:03:50 GMT\"0x8D6B97BB5C542C6\"5120share155443703394402052155443703408604381Fri, 05 Apr 2019 04:03:54 GMT\"0x8D6B97BB82502C3\"5120share155443706847604651155443706849201965Fri, 05 Apr 2019 04:04:28 GMT\"0x8D6B97BCCA7BB08\"5120share155443733735903558Fri, 05 Apr 2019 04:08:57 GMT\"0x8D6B97C6CFBA440\"5120share155443734066903960155443734103208534Fri, 05 Apr 2019 04:09:01 GMT\"0x8D6B97C6F2C6060\"5120share155443740343700662155443740361700328Fri, 05 Apr 2019 04:10:03 GMT\"0x8D6B97C947B99FC\"5120share155443773159006548Fri, 05 Apr 2019 04:15:31 GMT\"0x8D6B97D57F62125\"5120share155443773488909261155443773524802868Fri, 05 Apr 2019 04:15:35 GMT\"0x8D6B97D5A23A41F\"5120share155443778879901744155443778897809352Fri, 05 Apr 2019 04:16:29 GMT\"0x8D6B97D7A2A0A7B\"5120share155443808157506500Fri, 05 Apr 2019 04:21:21 GMT\"0x8D6B97E28928135\"5120share155443808899901355155443808934705375Fri, 05 Apr 2019 04:21:29 GMT\"0x8D6B97E2D346BD5\"5120share155443814397801049155443814428602573Fri, 05 Apr 2019 04:22:24 GMT\"0x8D6B97E4DF255CB\"5120share155449698256603251Fri, 05 Apr 2019 20:43:03 GMT\"0x8D6BA074CC4EFEB\"5120share155449699028704210155449699044401955Fri, 05 Apr 2019 20:43:10 GMT\"0x8D6BA0750F24CA3\"5120share155449706408706736155449706446200602Fri, 05 Apr 2019 20:44:24 GMT\"0x8D6BA077D1205FE\"5120share155449737116002082Fri, 05 Apr 2019 20:49:31 GMT\"0x8D6BA0833EF6AE3\"5120share155449737474209671155449737490001856Fri, 05 Apr 2019 20:49:35 GMT\"0x8D6BA0836271F09\"5120share155449745536204495155449745544000815Fri, 05 Apr 2019 20:50:55 GMT\"0x8D6BA08661AA78B\"5120share155449770584504837Fri, 05 Apr 2019 20:55:06 GMT\"0x8D6BA08FB786B15\"5120share155449770977003350155449771009507442Fri, 05 Apr 2019 20:55:10 GMT\"0x8D6BA08FDEEEF5F\"5120share155449778145802330155449778162009258Fri, 05 Apr 2019 20:56:21 GMT\"0x8D6BA0928910090\"5120share155449823062408698Fri, 05 Apr 2019 21:03:50 GMT\"0x8D6BA0A3420A3D8\"5120share155449823258504287155449823263301889Fri, 05 Apr 2019 21:03:52 GMT\"0x8D6BA0A35530D46\"5120share155449826174701410155449826176307807Fri, 05 Apr 2019 21:04:21 GMT\"0x8D6BA0A46AFDCC3\"5120share155449862981903222Fri, 05 Apr 2019 21:10:29 GMT\"0x8D6BA0B220FFB58\"5120share155449863105504658155449863111709132Fri, 05 Apr 2019 21:10:31 GMT\"0x8D6BA0B22D5EEA2\"5120share155449865700806346155449865702400197Fri, 05 Apr 2019 21:10:57 GMT\"0x8D6BA0B32485EAF\"5120share155449904692503022Fri, 05 Apr 2019 21:17:26 GMT\"0x8D6BA0C1AB0768E\"5120share155449905263404318155449905491400712Fri, 05 Apr 2019 21:17:34 GMT\"0x8D6BA0C1F74B26E\"5120share155449907669405335155449907672507508Fri, 05 Apr 2019 21:17:56 GMT\"0x8D6BA0C2C743E12\"5120share155449934243103133Fri, 05 Apr 2019 21:22:22 GMT\"0x8D6BA0CCAE43E0F\"5120share155449934701504808155449934737409902Fri, 05 Apr 2019 21:22:27 GMT\"0x8D6BA0CCDD5AAB7\"5120share155449939774006034155449939791600712Fri, 05 Apr 2019 21:23:18 GMT\"0x8D6BA0CEBF47C4B\"5120share155449972319203361Fri, 05 Apr 2019 21:28:43 GMT\"0x8D6BA0DADD62181\"5120share155449972776901031155449972812206390Fri, 05 Apr 2019 21:28:48 GMT\"0x8D6BA0DB0C68B0E\"5120share155449977789002842155449977806401651Fri, 05 Apr 2019 21:29:38 GMT\"0x8D6BA0DCE8A94B2\"5120share155449988456208354Fri, 05 Apr 2019 21:31:24 GMT\"0x8D6BA0E0E0F8C4F\"5120share155449988625608688155449988642503448Fri, 05 Apr 2019 21:31:26 GMT\"0x8D6BA0E0F159E96\"5120share155449991844601273Fri, 05 Apr 2019 21:31:58 GMT\"0x8D6BA0E2236F89F\"5120share155449991947403701155449991955701901Fri, 05 Apr 2019 21:31:59 GMT\"0x8D6BA0E22D51817\"5120share155449992104401371155449992136502093Fri, 05 Apr 2019 21:32:01 GMT\"0x8D6BA0E23F4DF66\"5120share155449998080301988155449998096605835Fri, 05 Apr 2019 21:33:01 GMT\"0x8D6BA0E477BAC64\"5120share155450013577106187Fri, 05 Apr 2019 21:35:35 GMT\"0x8D6BA0EA3C13C6A\"5120share155450013975601796155450014013008238Fri, 05 Apr 2019 21:35:40 GMT\"0x8D6BA0EA65AC2B0\"5120share155450018809207165155450018826600270Fri, 05 Apr 2019 21:36:28 GMT\"0x8D6BA0EC30B1548\"5120share155450023420002019Fri, 05 Apr 2019 21:37:14 GMT\"0x8D6BA0EDE57C125\"5120share155450023554205992155450023557009386Fri, 05 Apr 2019 21:37:15 GMT\"0x8D6BA0EDF288B66\"5120share155450024411803045Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4426ACD\"5120share155450024474309872155450024478308841Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4A7516D\"5120share155450026152800097155450026154404952Fri, 05 Apr 2019 21:37:41 GMT\"0x8D6BA0EEEA43674\"5120share155450026844501446155450026846506463Fri, 05 Apr 2019 21:37:48 GMT\"0x8D6BA0EF2C4D0B4\"5120share155450027013702613Fri, 05 Apr 2019 21:37:50 GMT\"0x8D6BA0EF3D660E5\"5120share155450098713403512Fri, 05 Apr 2019 21:49:47 GMT\"0x8D6BA109F1FAEA3\"5120share155450098795005725155450098819302382Fri, 05 Apr 2019 21:49:48 GMT\"0x8D6BA109FC138FA\"5120share155450100624106896155450100625400488Fri, 05 Apr 2019 21:50:06 GMT\"0x8D6BA10AA84F02B\"5120share155450104772209911Fri, 05 Apr 2019 21:50:47 GMT\"0x8D6BA10C3526810\"5120share155450105123004228155450105156707366Fri, 05 Apr 2019 21:50:51 GMT\"0x8D6BA10C59D285F\"5120share155450111920803672155450111937209538Fri, 05 Apr 2019 21:51:59 GMT\"0x8D6BA10EE071888\"5120share155450126920005396Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA11474297C1\"5120share155450126969701975155450126972908925Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA1147934239\"5120share155450128467906744155450128469304502Fri, 05 Apr 2019 21:54:44 GMT\"0x8D6BA11507E4772\"5120share155450132669601793Fri, 05 Apr 2019 21:55:26 GMT\"0x8D6BA11698EF3CD\"5120share155450132813801025155450132829305884Fri, 05 Apr 2019 21:55:28 GMT\"0x8D6BA116A81B4B3\"5120share155450135791403668155450135799105427Fri, 05 Apr 2019 21:55:58 GMT\"0x8D6BA117C34CAD7\"5120share155450140200109814Fri, 05 Apr 2019 21:56:42 GMT\"0x8D6BA119683B6C7\"5120share155450140979600425155450141000009152Fri, 05 Apr 2019 21:56:50 GMT\"0x8D6BA119B353702\"5120share155450144708505456155450144717604490Fri, 05 Apr 2019 21:57:27 GMT\"0x8D6BA11B15D8FA1\"5120share155450155445805771Fri, 05 Apr 2019 21:59:14 GMT\"0x8D6BA11F14FA8C1\"5120share155450155746908588155450155762100757Fri, 05 Apr 2019 21:59:17 GMT\"0x8D6BA11F332B6AE\"5120share155450159236608444155450159244109845Fri, 05 Apr 2019 21:59:52 GMT\"0x8D6BA1207F35686\"5120share155450180090503097Fri, 05 Apr 2019 22:03:20 GMT\"0x8D6BA12842B549F\"5120share155450180155809344155450180158500047Fri, 05 Apr 2019 22:03:21 GMT\"0x8D6BA1284932271\"5120share155450181491907566155450181493202339Fri, 05 Apr 2019 22:03:34 GMT\"0x8D6BA128C8781AB\"5120share155450186007105856Fri, 05 Apr 2019 22:04:20 GMT\"0x8D6BA12A77939C1\"5120share155450186139508623155450186155309962Fri, 05 Apr 2019 22:04:21 GMT\"0x8D6BA12A85AA383\"5120share155450189649605877155450189657701803Fri, 05 Apr 2019 22:04:56 GMT\"0x8D6BA12BD3AFF63\"5120share155450194282600135Fri, 05 Apr 2019 22:05:42 GMT\"0x8D6BA12D8C2E1B6\"5120share155450195089000955155450195091608811Fri, 05 Apr 2019 22:05:50 GMT\"0x8D6BA12DD953B1C\"5120share155450196679601624155450196680606667Fri, 05 Apr 2019 22:06:06 GMT\"0x8D6BA12E70E0F9F\"5120share155450199206704489Fri, 05 Apr 2019 22:06:32 GMT\"0x8D6BA12F630E2CD\"5120share155450199500007291155450201143605621Fri, 05 Apr 2019 22:06:51 GMT\"0x8D6BA1301BC47AF\"5120share155450206036607407155450206052800826Fri, 05 Apr 2019 22:07:40 GMT\"0x8D6BA131EFE8131\"5120share155450219976309042Fri, 05 Apr 2019 22:09:59 GMT\"0x8D6BA1371F17A2C\"5120share155450220201305360155450220217304372Fri, 05 Apr 2019 22:10:02 GMT\"0x8D6BA13736168E3\"5120share155450220597709116Fri, 05 Apr 2019 22:10:05 GMT\"0x8D6BA13759CF9CA\"5120share155450220632007478155450220635204656Fri, 05 Apr 2019 22:10:06 GMT\"0x8D6BA1375D62EE2\"5120share155450222111000558155450222112507755Fri, 05 Apr 2019 22:10:21 GMT\"0x8D6BA137EA4808F\"5120share155450223061502730155450223068509469Fri, 05 Apr 2019 22:10:30 GMT\"0x8D6BA13845FAD24\"5120share155450232306601840Fri, 05 Apr 2019 22:12:03 GMT\"0x8D6BA13BB66BE04\"5120share155450232646008568155450232648907776Fri, 05 Apr 2019 22:12:06 GMT\"0x8D6BA13BD711C53\"5120share155450234251903854155450234253907944Fri, 05 Apr 2019 22:12:22 GMT\"0x8D6BA13C70245E0\"5120share155450235982000963Fri, 05 Apr 2019 22:12:39 GMT\"0x8D6BA13D1508F64\"5120share155450236052009517155450236056501193Fri, 05 Apr 2019 22:12:40 GMT\"0x8D6BA13D1C73D27\"5120share155450237944605145155450237947204493Fri, 05 Apr 2019 22:12:59 GMT\"0x8D6BA13DD070EC8\"5120share155450243317208497Fri, 05 Apr 2019 22:13:53 GMT\"0x8D6BA13FD502B84\"5120share155450243543800739155450243563307575Fri, 05 Apr 2019 22:13:55 GMT\"0x8D6BA13FE87318F\"5120share155450247858409868155450247868503121Fri, 05 Apr 2019 22:14:38 GMT\"0x8D6BA14182FE497\"5120share155450252568703791Fri, 05 Apr 2019 22:15:25 GMT\"0x8D6BA14342D96B5\"5120share155450252608008026155450252615504107Fri, 05 Apr 2019 22:15:26 GMT\"0x8D6BA143475549D\"5120share155450255144300111155450255146607728Fri, 05 Apr 2019 22:15:51 GMT\"0x8D6BA14438C0714\"5120share155450256410002156Fri, 05 Apr 2019 22:16:04 GMT\"0x8D6BA144B93A845\"5120share155450256664806570155450256683505659Fri, 05 Apr 2019 22:16:06 GMT\"0x8D6BA144CBA4AA3\"5120share155450260538802684155450260548106160Fri, 05 Apr 2019 22:16:45 GMT\"0x8D6BA1463C321E8\"5120share155450262421807558Fri, 05 Apr 2019 22:17:04 GMT\"0x8D6BA146EF12A18\"5120share155450262609800727155450262624802323Fri, 05 Apr 2019 22:17:06 GMT\"0x8D6BA14702740EF\"5120share155450265459101575155450265466908285Fri, 05 Apr 2019 22:17:34 GMT\"0x8D6BA14811678F6\"5120share155450291724204101Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151D92961C\"5120share155450291786801152155450291791509886Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151DF9B21D\"5120share155450294264200641155450294267300716Fri, 05 Apr 2019 22:22:22 GMT\"0x8D6BA152CBFB921\"5120share155450297591105990Fri, 05 Apr 2019 22:22:55 GMT\"0x8D6BA154089226D\"5120share155450297691404792155450298009709737Fri, 05 Apr 2019 22:23:00 GMT\"0x8D6BA1543093B42\"5120share155450299822209088155450299823801256Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154DD8BE67\"5120share155450299850301516Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154E0093C0\"5120share155450323607005122Fri, 05 Apr 2019 22:27:16 GMT\"0x8D6BA15DBB935B6\"5120share155450324394200105155450324411702106Fri, 05 Apr 2019 22:27:24 GMT\"0x8D6BA15E06C88BA\"5120share155450327468600876155450327477006102Fri, 05 Apr 2019 22:27:54 GMT\"0x8D6BA15F2B17D62\"5120share155450327962109277Fri, 05 Apr 2019 22:27:59 GMT\"0x8D6BA15F591850B\"5120share155450328004306783155450328010501022Fri, 05 Apr 2019 22:28:00 GMT\"0x8D6BA15F5DA9895\"5120share155450328527004557Fri, 05 Apr 2019 22:28:05 GMT\"0x8D6BA15F900F654\"5120share155450328798308238155450328830607965Fri, 05 Apr 2019 22:28:08 GMT\"0x8D6BA15FACF51C1\"5120share155450330666305766155450330667907543Fri, 05 Apr 2019 22:28:26 GMT\"0x8D6BA1605B1104A\"5120share155450330701904810Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1605E62237\"5120share155450330736308091155450330741007484Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1606202508\"5120share155450333528301673155450333529906356Fri, 05 Apr 2019 22:28:55 GMT\"0x8D6BA1616BFD401\"5120share155450333946600308155450333962608415Fri, 05 Apr 2019 22:28:59 GMT\"0x8D6BA161966152A\"5120share155450334885500645Fri, 05 Apr 2019 22:29:09 GMT\"0x8D6BA161EE70228\"5120share155450338395504678Fri, 05 Apr 2019 22:29:43 GMT\"0x8D6BA1633BE44FF\"5120share155450338426107979155450338428803666Fri, 05 Apr 2019 22:29:44 GMT\"0x8D6BA1633F11BE0\"5120share155450340161103627155450340162402163Fri, 05 Apr 2019 22:30:01 GMT\"0x8D6BA163E464D75\"5120share155450340409906407Fri, 05 Apr 2019 22:30:04 GMT\"0x8D6BA163FCE736E\"5120share155450340500808852155450340509400929Fri, 05 Apr 2019 22:30:05 GMT\"0x8D6BA16405A6FD7\"5120share155450342745506448155450342749401765Fri, 05 Apr 2019 22:30:27 GMT\"0x8D6BA164DB462BB\"5120share155450343328809346Fri, 05 Apr 2019 22:30:33 GMT\"0x8D6BA16512F2A33\"5120share155450343458400365155450343479806929Fri, 05 Apr 2019 22:30:34 GMT\"0x8D6BA165213D613\"5120share155450347314804212155450347322803647Fri, 05 Apr 2019 22:31:13 GMT\"0x8D6BA1668FC3C29\"5120share155450347423202007Fri, 05 Apr 2019 22:31:14 GMT\"0x8D6BA1669960501\"5120share155450348727102424Fri, 05 Apr 2019 22:31:27 GMT\"0x8D6BA16715BDB44\"5120share155450348869606134155450348885300828Fri, 05 Apr 2019 22:31:28 GMT\"0x8D6BA16724D7E5B\"5120share155450352004300543155450352016602032Fri, 05 Apr 2019 22:32:00 GMT\"0x8D6BA1684F78DB2\"5120share155450359307104606Fri, 05 Apr 2019 22:33:13 GMT\"0x8D6BA16B083EDD4\"5120share155450359418905974155450359428200487Fri, 05 Apr 2019 22:33:14 GMT\"0x8D6BA16B11FBCAD\"5120share155450361494402784155450361498805984Fri, 05 Apr 2019 22:33:35 GMT\"0x8D6BA16BD772803\"5120share155450366632503090Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC0E65F3\"5120share155450366664904930155450366667902768Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC44713D\"5120share155450368886501484155450368888102090Fri, 05 Apr 2019 22:34:48 GMT\"0x8D6BA16E9809F79\"5120share155450371988700286Fri, 05 Apr 2019 22:35:19 GMT\"0x8D6BA16FBFCD6F0\"5120share155450372038902619155450372043606143Fri, 05 Apr 2019 22:35:20 GMT\"0x8D6BA16FC4F6C23\"5120share155450373756402371Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA17068A2D67\"5120share155450373784606946155450373786208940Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA1706B2AFB9\"5120share155450373882702323155450373897204908Fri, 05 Apr 2019 22:35:39 GMT\"0x8D6BA170761DA0F\"5120share155450377319401477155450377328608675Fri, 05 Apr 2019 22:36:13 GMT\"0x8D6BA171BD5442B\"5120share155450380543301117Fri, 05 Apr 2019 22:36:45 GMT\"0x8D6BA172EF6D32A\"5120share155450381203303146155450381206607839Fri, 05 Apr 2019 22:36:52 GMT\"0x8D6BA1732EB1201\"5120share155450382820207817Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173C8B8687\"5120share155450382859306908155450382865503795Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173CCF5E34\"5120share155450383751906388155450383753309735Fri, 05 Apr 2019 22:37:17 GMT\"0x8D6BA1742195560\"5120share155450388094604484155450388096207678Fri, 05 Apr 2019 22:38:00 GMT\"0x8D6BA175BFEA36E\"5120share155450388146309288Fri, 05 Apr 2019 22:38:01 GMT\"0x8D6BA175C49C9D4\"5120share155450388966903186Fri, 05 Apr 2019 22:38:09 GMT\"0x8D6BA1761356323\"5120share155450389307503518155450389323404538Fri, 05 Apr 2019 22:38:13 GMT\"0x8D6BA1763551622\"5120share155450392730003095155450392737709902Fri, 05 Apr 2019 22:38:47 GMT\"0x8D6BA1777AF23EE\"5120share155450393102803449Fri, 05 Apr 2019 22:38:51 GMT\"0x8D6BA1779DAA4DC\"5120share155450393283705485155450393298705884Fri, 05 Apr 2019 22:38:53 GMT\"0x8D6BA177B059A34\"5120share155450396658903715155450396666002048Fri, 05 Apr 2019 22:39:26 GMT\"0x8D6BA178F178169\"5120share155450396756806154Fri, 05 Apr 2019 22:39:27 GMT\"0x8D6BA178FA26048\"5120share155450406886408649Fri, 05 Apr 2019 22:41:09 GMT\"0x8D6BA17CC1A3DFC\"5120share155450407117103774155450407137004037Fri, 05 Apr 2019 22:41:11 GMT\"0x8D6BA17CD80D016\"5120share155450410470804055155450410479801441Fri, 05 Apr 2019 22:41:44 GMT\"0x8D6BA17E16D32C5\"5120share155450415494202178Fri, 05 Apr 2019 22:42:37 GMT\"0x8D6BA1800D298E1\"5120share155450415924909263155450415946504098Fri, 05 Apr 2019 22:42:39 GMT\"0x8D6BA1802030A7D\"5120share155450419250702459155450419259701169Fri, 05 Apr 2019 22:43:12 GMT\"0x8D6BA1815C23F76\"5120share155450421697207185Fri, 05 Apr 2019 22:43:37 GMT\"0x8D6BA18245F95C8\"5120share155450421871302863155450421892300644Fri, 05 Apr 2019 22:43:38 GMT\"0x8D6BA182573A9E1\"5120share155450424704408868155450424714109223Fri, 05 Apr 2019 22:44:07 GMT\"0x8D6BA1836457FFD\"5120share155450429079705396Fri, 05 Apr 2019 22:44:50 GMT\"0x8D6BA185057FA7C\"5120share155450429375002929155450429411309966Fri, 05 Apr 2019 22:44:54 GMT\"0x8D6BA18525118BC\"5120share155450430952405481Fri, 05 Apr 2019 22:45:09 GMT\"0x8D6BA185B6CDFF0\"5120share155450430999405267155450431003903942Fri, 05 Apr 2019 22:45:10 GMT\"0x8D6BA185BBBE17C\"5120share155450433115607232155450433117208588Fri, 05 Apr 2019 22:45:31 GMT\"0x8D6BA1868546B89\"5120share155450434416304067155450434445204870Fri, 05 Apr 2019 22:45:44 GMT\"0x8D6BA187051F471\"5120share155450435498004763Fri, 05 Apr 2019 22:45:55 GMT\"0x8D6BA18769867C6\"5120share155450436645400783Fri, 05 Apr 2019 22:46:06 GMT\"0x8D6BA187D646C1B\"5120share155450436865205758155450436887108207Fri, 05 Apr 2019 22:46:08 GMT\"0x8D6BA187ED4DADD\"5120share155450438771003527Fri, 05 Apr 2019 22:46:27 GMT\"0x8D6BA188A1B6C6D\"5120share155450439065608204155450439101805644Fri, 05 Apr 2019 22:46:31 GMT\"0x8D6BA188C131493\"5120share155450441324900411155450441332202608Fri, 05 Apr 2019 22:46:53 GMT\"0x8D6BA189952D510\"5120share155450441426905196Fri, 05 Apr 2019 22:46:54 GMT\"0x8D6BA1899E44097\"5120share155450444831103515155450444849000200Fri, 05 Apr 2019 22:47:28 GMT\"0x8D6BA18AE539A63\"5120share155450445061400014Fri, 05 Apr 2019 22:47:30 GMT\"0x8D6BA18AF9800AC\"5120share155450448315806594Fri, 05 Apr 2019 22:48:03 GMT\"0x8D6BA18C2FF521B\"5120share155450448580004490155450448612109539Fri, 05 Apr 2019 22:48:06 GMT\"0x8D6BA18C4C36EFE\"5120share155450454454601940155450454471501740Fri, 05 Apr 2019 22:49:04 GMT\"0x8D6BA18E7B0CEFE\"5120share155450468370707802Fri, 05 Apr 2019 22:51:23 GMT\"0x8D6BA193A7DF5E2\"5120share155450468513108403155450468528409235Fri, 05 Apr 2019 22:51:25 GMT\"0x8D6BA193B6DD150\"5120share155450468968600032Fri, 05 Apr 2019 22:51:29 GMT\"0x8D6BA193E054481\"5120share155450468996404174155450468999406109Fri, 05 Apr 2019 22:51:30 GMT\"0x8D6BA193E345228\"5120share155450470368902411155450470370306610Fri, 05 Apr 2019 22:51:43 GMT\"0x8D6BA1946600ECD\"5120share155450471161309782Fri, 05 Apr 2019 22:51:51 GMT\"0x8D6BA194B1B90BF\"5120share155450471206601320155450471210308269Fri, 05 Apr 2019 22:51:52 GMT\"0x8D6BA194B67DCD5\"5120share155450471319907271155450471328002279Fri, 05 Apr 2019 22:51:53 GMT\"0x8D6BA194C1DCB30\"5120share155450472979505876155450472987303613Fri, 05 Apr 2019 22:52:09 GMT\"0x8D6BA1955FDC5A1\"5120share155450483407003850Fri, 05 Apr 2019 22:53:54 GMT\"0x8D6BA1994190850\"5120share155450483493604854155450483498301728Fri, 05 Apr 2019 22:53:55 GMT\"0x8D6BA1994A2584F\"5120share155450485496309420155450485497908228Fri, 05 Apr 2019 22:54:15 GMT\"0x8D6BA19A08CEFA6\"5120share155450531813009681Fri, 05 Apr 2019 23:01:58 GMT\"0x8D6BA1AB4AE63BA\"5120share155450532142509509155450532177704006Fri, 05 Apr 2019 23:02:01 GMT\"0x8D6BA1AB6DB1550\"5120share155450535239502974Fri, 05 Apr 2019 23:02:32 GMT\"0x8D6BA1AC9188CCD\"5120share155450535522306736155450535561706197Fri, 05 Apr 2019 23:02:35 GMT\"0x8D6BA1ACB055EAD\"5120share155450537130000843155450537147405079Fri, 05 Apr 2019 23:02:51 GMT\"0x8D6BA1AD479360B\"5120share155450540354000832155450540371804145Fri, 05 Apr 2019 23:03:23 GMT\"0x8D6BA1AE7B08608\"5120share155450541861309114Fri, 05 Apr 2019 23:03:38 GMT\"0x8D6BA1AF085E6F9\"5120share155450542032409907155450542048305915Fri, 05 Apr 2019 23:03:40 GMT\"0x8D6BA1AF1A3EC5E\"5120share155450544958400261155450544966109321Fri, 05 Apr 2019 23:04:09 GMT\"0x8D6BA1B03081BB5\"5120share155450546241607518Fri, 05 Apr 2019 23:04:22 GMT\"0x8D6BA1B0A9DC15F\"5120share155450546294707340155450546301008309Fri, 05 Apr 2019 23:04:23 GMT\"0x8D6BA1B0AF88600\"5120share155450548125804491155450548129002795Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B15DC8687\"5120share155450548156602986Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B16091161\"5120share155450550691105209Fri, 05 Apr 2019 23:05:06 GMT\"0x8D6BA1B2522F1B9\"5120share155450550746601325155450550749806532Fri, 05 Apr 2019 23:05:07 GMT\"0x8D6BA1B257C602A\"5120share155450552187904423155450552189501701Fri, 05 Apr 2019 23:05:21 GMT\"0x8D6BA1B2E1117B3\"5120share155450553054005585Fri, 05 Apr 2019 23:05:30 GMT\"0x8D6BA1B33387AAC\"5120share155450553096308284155450553101001243Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B337F7F2A\"5120share155450553153104170Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B33CF13E1\"5120share155450553201701300155450553206403152Fri, 05 Apr 2019 23:05:32 GMT\"0x8D6BA1B3420278C\"5120share155450554660908559155450554662508047Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CCF605F\"5120share155450554689206246Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CF731D6\"5120share155450555546908179155450555548509764Fri, 05 Apr 2019 23:05:55 GMT\"0x8D6BA1B4215A249\"5120share155450573320000528Fri, 05 Apr 2019 23:08:53 GMT\"0x8D6BA1BAC1B3E84\"5120share155450573517904163155450573540702174Fri, 05 Apr 2019 23:08:55 GMT\"0x8D6BA1BAD5837E3\"5120share155450574422501861Fri, 05 Apr 2019 23:09:04 GMT\"0x8D6BA1BB29B08A8\"5120share155450574551807106155450574579200577Fri, 05 Apr 2019 23:09:05 GMT\"0x8D6BA1BB38A33C5\"5120share155450576411808959155450576420803271Fri, 05 Apr 2019 23:09:24 GMT\"0x8D6BA1BBE830AEE\"5120share155450577244800226155450577267406672Fri, 05 Apr 2019 23:09:32 GMT\"0x8D6BA1BC38F8F1B\"5120share155450584788106323Fri, 05 Apr 2019 23:10:47 GMT\"0x8D6BA1BF06A7821\"5120share155450584927904712Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF13485AC\"5120share155450584968506275155450584973203495Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF17789D4\"5120share155450585107609261155450585142406722Fri, 05 Apr 2019 23:10:51 GMT\"0x8D6BA1BF2872067\"5120share155450586868608098155450586870102350Fri, 05 Apr 2019 23:11:08 GMT\"0x8D6BA1BFCC76F83\"5120share155450590008503577155450590025804885Fri, 05 Apr 2019 23:11:40 GMT\"0x8D6BA1C0FA2514F\"5120share155450590233408942Fri, 05 Apr 2019 23:11:42 GMT\"0x8D6BA1C10E023E9\"5120share155450592143404526Fri, 05 Apr 2019 23:12:01 GMT\"0x8D6BA1C1C474325\"5120share155450592653301961155450592689000603Fri, 05 Apr 2019 23:12:07 GMT\"0x8D6BA1C1F874AB1\"5120share155450596593906098Fri, 05 Apr 2019 23:12:45 GMT\"0x8D6BA1C36BDB316\"5120share155450596641000428155450596645600479Fri, 05 Apr 2019 23:12:46 GMT\"0x8D6BA1C370ADF0D\"5120share155450597916002270155450597933309927Fri, 05 Apr 2019 23:12:59 GMT\"0x8D6BA1C3EC8E461\"5120share155450598201705354155450598203300977Fri, 05 Apr 2019 23:13:02 GMT\"0x8D6BA1C405400BD\"5120share155450600493602122Fri, 05 Apr 2019 23:13:24 GMT\"0x8D6BA1C4DFBE540\"5120share155450601150408012155450601153509563Fri, 05 Apr 2019 23:13:31 GMT\"0x8D6BA1C51EAF389\"5120share155450603035801007155450603037404965Fri, 05 Apr 2019 23:13:50 GMT\"0x8D6BA1C5D249F6C\"5120share155450628196900979Fri, 05 Apr 2019 23:18:01 GMT\"0x8D6BA1CF31A8CEA\"5120share155450628263306726155450628268108838Fri, 05 Apr 2019 23:18:02 GMT\"0x8D6BA1CF387048D\"5120share155450629398602941Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA43621D\"5120share155450629440802130155450629444007820Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA892E2A\"5120share155450630270100063155450630271709505Fri, 05 Apr 2019 23:18:22 GMT\"0x8D6BA1CFF77D299\"5120share155450631207409960155450631209004406Fri, 05 Apr 2019 23:18:32 GMT\"0x8D6BA1D050C8A95\"5120share155450635009203001Fri, 05 Apr 2019 23:19:10 GMT\"0x8D6BA1D1BC98041\"5120share155450635300105814155450635335603109Fri, 05 Apr 2019 23:19:13 GMT\"0x8D6BA1D1DBC2427\"5120share155450635529806396Fri, 05 Apr 2019 23:19:15 GMT\"0x8D6BA1D1EE0C561\"5120share155450635823706105155450635860207094Fri, 05 Apr 2019 23:19:18 GMT\"0x8D6BA1D20D836D4\"5120share155450641996700561155450642014406446Fri, 05 Apr 2019 23:20:20 GMT\"0x8D6BA1D4588F30C\"5120share155450642246903885155450642264601424Fri, 05 Apr 2019 23:20:22 GMT\"0x8D6BA1D4705936B\"5120share155450655482504274Fri, 05 Apr 2019 23:22:34 GMT\"0x8D6BA1D95CF4049\"5120share155450655795506933155450655830708272Fri, 05 Apr 2019 23:22:38 GMT\"0x8D6BA1D97E19F08\"5120share155450661068301279155450661086207756Fri, 05 Apr 2019 23:23:31 GMT\"0x8D6BA1DB734F309\"5120share155450661302603264Fri, 05 Apr 2019 23:23:33 GMT\"0x8D6BA1DB87FB692\"5120share155450662614309712Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC040008B\"5120share155450662666300981155450662672509338Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC0988E75\"5120share155450664547508754155450664549004289Fri, 05 Apr 2019 23:24:05 GMT\"0x8D6BA1DCBC89EBD\"5120share155450678247303548Fri, 05 Apr 2019 23:26:22 GMT\"0x8D6BA1E1D7F6C7D\"5120share155450678466909596Fri, 05 Apr 2019 23:26:24 GMT\"0x8D6BA1E1ECF8D3D\"5120share155450678548802589155450678584406061Fri, 05 Apr 2019 23:26:25 GMT\"0x8D6BA1E1F8191F6\"5120share155450678828205994155450678864001364Fri, 05 Apr 2019 23:26:28 GMT\"0x8D6BA1E212D1FA1\"5120share155450683128203550155450683149106810Fri, 05 Apr 2019 23:27:11 GMT\"0x8D6BA1E3AB676EA\"5120share155450684533605050155450684551003357Fri, 05 Apr 2019 23:27:25 GMT\"0x8D6BA1E43129342\"5120share155450684763007449Fri, 05 Apr 2019 23:27:27 GMT\"0x8D6BA1E4455B8AC\"5120share155450699116508933Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E99D096C8\"5120share155450699158708384155450699161806955Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E9A1778EF\"5120share155450700830807334155450700833903908Fri, 05 Apr 2019 23:30:08 GMT\"0x8D6BA1EA40DEC90\"5120share155450701100108648Fri, 05 Apr 2019 23:30:11 GMT\"0x8D6BA1EA5B61863\"5120share155450701385501557155450701420104340Fri, 05 Apr 2019 23:30:14 GMT\"0x8D6BA1EA79D9AE9\"5120share155450706323900994155450706341604230Fri, 05 Apr 2019 23:31:03 GMT\"0x8D6BA1EC4F33223\"5120share155450706962505626Fri, 05 Apr 2019 23:31:09 GMT\"0x8D6BA1EC8A805D2\"5120share155450714083700706Fri, 05 Apr 2019 23:32:20 GMT\"0x8D6BA1EF318A859\"5120share155450714464606306155450714499503777Fri, 05 Apr 2019 23:32:25 GMT\"0x8D6BA1EF592DF56\"5120share155450719315807925155450719333400088Fri, 05 Apr 2019 23:33:13 GMT\"0x8D6BA1F1263018A\"5120share155450720071105598Fri, 05 Apr 2019 23:33:20 GMT\"0x8D6BA1F16B4C180\"5120share155450720108704556155450720111104202Fri, 05 Apr 2019 23:33:21 GMT\"0x8D6BA1F16F1C9A7\"5120share155450721500304986155450721501401015Fri, 05 Apr 2019 23:33:35 GMT\"0x8D6BA1F1F3B0AC4\"5120share155450723565205687Fri, 05 Apr 2019 23:33:55 GMT\"0x8D6BA1F2B915C1A\"5120share155450723699404950155450723715203892Fri, 05 Apr 2019 23:33:57 GMT\"0x8D6BA1F2C75D972\"5120share155450725970402513Fri, 05 Apr 2019 23:34:19 GMT\"0x8D6BA1F39F24B22\"5120share155450726283508715155450726290803053Fri, 05 Apr 2019 23:34:22 GMT\"0x8D6BA1F3BCFD9DC\"5120share155450726513503694155450726563200936Fri, 05 Apr 2019 23:34:25 GMT\"0x8D6BA1F3D7AC203\"5120share155450727207609930Fri, 05 Apr 2019 23:34:32 GMT\"0x8D6BA1F41534271\"5120share155450727922609714155450727958205410Fri, 05 Apr 2019 23:34:39 GMT\"0x8D6BA1F45CC16E6\"5120share155450733725309323155450733743205575Fri, 05 Apr 2019 23:35:37 GMT\"0x8D6BA1F6846EA8D\"5120share155450734617001592155450734634609388Fri, 05 Apr 2019 23:35:46 GMT\"0x8D6BA1F6D9695C7\"5120share155450734842906139Fri, 05 Apr 2019 23:35:48 GMT\"0x8D6BA1F6ED3E9EB\"5120share155450742258608562Fri, 05 Apr 2019 23:37:02 GMT\"0x8D6BA1F9B09A541\"5120share155450742569208984155450742607303636Fri, 05 Apr 2019 23:37:06 GMT\"0x8D6BA1F9D1D3464\"5120share155450744472700868Fri, 05 Apr 2019 23:37:24 GMT\"0x8D6BA1FA82F5670\"5120share155450744593006925155450744607706074Fri, 05 Apr 2019 23:37:26 GMT\"0x8D6BA1FA8FC7868\"5120share155450747510800614155450747527906197Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA713357\"5120share155450747548302917Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA7F4359\"5120share155450747575808787155450747579202058Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBAAE83B9\"5120share155450747736603095Fri, 05 Apr 2019 23:37:57 GMT\"0x8D6BA1FBBAF6736\"5120share155450748251605008155450748258604151Fri, 05 Apr 2019 23:38:02 GMT\"0x8D6BA1FBEBF5C9B\"5120share155450749504400705155450749505903928Fri, 05 Apr 2019 23:38:15 GMT\"0x8D6BA1FC62A2BA2\"5120share155450760451008357Fri, 05 Apr 2019 23:40:04 GMT\"0x8D6BA2007A48FAD\"5120share155450760659201465155450760677709688Fri, 05 Apr 2019 23:40:06 GMT\"0x8D6BA2008C3F78F\"5120share155450763616301901155450763625402397Fri, 05 Apr 2019 23:40:36 GMT\"0x8D6BA201A5587BA\"5120share155450767398804735Fri, 05 Apr 2019 23:41:14 GMT\"0x8D6BA2030E0F998\"5120share155450767687501371155450767723001004Fri, 05 Apr 2019 23:41:17 GMT\"0x8D6BA2032CF2C21\"5120share155450768181709200Fri, 05 Apr 2019 23:41:21 GMT\"0x8D6BA203578C02D\"5120share155450768212709613155450768216705364Fri, 05 Apr 2019 23:41:22 GMT\"0x8D6BA2035AE5139\"5120share155450769705407367155450769707502753Fri, 05 Apr 2019 23:41:37 GMT\"0x8D6BA203E92115E\"5120share155450772138102188155450772155202852Fri, 05 Apr 2019 23:42:01 GMT\"0x8D6BA204D39B2D4\"5120share155450801204005122Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FA4F43AE\"5120share155450801255709661155450801263508848Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FAA8983A\"5120share155450802691409764Fri, 05 Apr 2019 23:47:07 GMT\"0x8D6BA21033DB1FF\"5120share155450802978608176155450803012905948Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA2105282DF6\"5120share155450803003906718155450803005501595Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA21050CE429\"5120share155450809390401175155450809407503147Fri, 05 Apr 2019 23:48:14 GMT\"0x8D6BA212B44E111\"5120share155450809631304992Fri, 05 Apr 2019 23:48:16 GMT\"0x8D6BA212C9A8C70\"5120share155450835062406317Fri, 05 Apr 2019 23:52:30 GMT\"0x8D6BA21C41F92FF\"5120share155450835114801235155450835119504382Fri, 05 Apr 2019 23:52:31 GMT\"0x8D6BA21C4752A4A\"5120share155450837123609062155450837126705425Fri, 05 Apr 2019 23:52:51 GMT\"0x8D6BA21D07164A3\"5120share155450840245807900Fri, 05 Apr 2019 23:53:22 GMT\"0x8D6BA21E317E558\"5120share155450840337301064155450840345909388Fri, 05 Apr 2019 23:53:23 GMT\"0x8D6BA21E39CD3E2\"5120share155450840768303182Fri, 05 Apr 2019 23:53:27 GMT\"0x8D6BA21E62882AB\"5120share155450841052005025155450841059707716Fri, 05 Apr 2019 23:53:30 GMT\"0x8D6BA21E7DD6900\"5120share155450841851004197Fri, 05 Apr 2019 23:53:38 GMT\"0x8D6BA21ECC11C45\"5120share155450842103808621155450842121207447Fri, 05 Apr 2019 23:53:41 GMT\"0x8D6BA21EE368AE8\"5120share155450842920007413155450842923904127Fri, 05 Apr 2019 23:53:49 GMT\"0x8D6BA21F2FA9CC4\"5120share155450843104607551155450843108509471Fri, 05 Apr 2019 23:53:51 GMT\"0x8D6BA21F413AFEC\"5120share155450844155207718Fri, 05 Apr 2019 23:54:01 GMT\"0x8D6BA21FA5815A9\"5120share155450844282908330155450844331103212Fri, 05 Apr 2019 23:54:03 GMT\"0x8D6BA21FB639CB6\"5120share155450844875104105155450844883200097Fri, 05 Apr 2019 23:54:08 GMT\"0x8D6BA21FEACF9CB\"5120share155450845060900434Fri, 05 Apr 2019 23:54:10 GMT\"0x8D6BA21FFBCFD3F\"5120share155450845196808630155450845212609494Fri, 05 Apr 2019 23:54:12 GMT\"0x8D6BA2200A3BDAF\"5120share155450846016604225Fri, 05 Apr 2019 23:54:20 GMT\"0x8D6BA22057F80F4\"5120share155450846187100703155450846204104941Fri, 05 Apr 2019 23:54:22 GMT\"0x8D6BA22068C649F\"5120share155450846856009396Fri, 05 Apr 2019 23:54:28 GMT\"0x8D6BA220A7BBF54\"5120share155450846936604658155450846944104091Fri, 05 Apr 2019 23:54:29 GMT\"0x8D6BA220AF68482\"5120share155450847116604019155450847149003909Fri, 05 Apr 2019 23:54:31 GMT\"0x8D6BA220C39EFB8\"5120share155450847641908239155450847649506792Fri, 05 Apr 2019 23:54:36 GMT\"0x8D6BA220F2B0EA4\"5120share155450849046701837155450849055008593Fri, 05 Apr 2019 23:54:50 GMT\"0x8D6BA22178AC280\"5120share155450850415909079Fri, 05 Apr 2019 23:55:04 GMT\"0x8D6BA221FB3AAB9\"5120share155450851125605816155450851158907529Fri, 05 Apr 2019 23:55:11 GMT\"0x8D6BA22242151E0\"5120share155450851537705193155450851553601973Fri, 05 Apr 2019 23:55:15 GMT\"0x8D6BA22267C4CE5\"5120share155450856236209066155450856252401476Fri, 05 Apr 2019 23:56:02 GMT\"0x8D6BA22427D2E00\"5120share155450862834406147Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269A65E65\"5120share155450862883803086155450862886608104Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269F5A23B\"5120share155450864251402420155450864252701754Fri, 05 Apr 2019 23:57:22 GMT\"0x8D6BA22721A880A\"5120share155450864903202606Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA2275FA1279\"5120share155450864954709486155450864958906033Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA22764EE2F0\"5120share155450866038209758Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CBDD706\"5120share155450866063104429155450866065900649Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CE83100\"5120share155450866548101600Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA227FC7B940\"5120share155450866584902851155450866589506222Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA2280078687\"5120share155450866820907466155450866822802518Fri, 05 Apr 2019 23:57:48 GMT\"0x8D6BA22816B2857\"5120share155450867294701404155450867296303231Fri, 05 Apr 2019 23:57:52 GMT\"0x8D6BA22843DBAEB\"5120share155450868069300530155450868071108529Fri, 05 Apr 2019 23:58:00 GMT\"0x8D6BA2288DC0D3B\"5120share155450868782705751Fri, 05 Apr 2019 23:58:07 GMT\"0x8D6BA228D180092\"5120share155450868808904026155450868812002523Fri, 05 Apr 2019 23:58:08 GMT\"0x8D6BA228D44C727\"5120share155450871227906499155450871229407636Fri, 05 Apr 2019 23:58:32 GMT\"0x8D6BA229BAD64DF\"5120share155450871361608008Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229C791D3B\"5120share155450871385801053155450871389501438Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229CA39DFC\"5120share155450873724609408Fri, 05 Apr 2019 23:58:57 GMT\"0x8D6BA22AA95EBE5\"5120share155450873839703983155450873841108209Fri, 05 Apr 2019 23:58:58 GMT\"0x8D6BA22AB408136\"5120share155450874069500459155450874084406201Fri, 05 Apr 2019 23:59:00 GMT\"0x8D6BA22ACBA5BA0\"5120share155450876383501957Fri, 05 Apr 2019 23:59:23 GMT\"0x8D6BA22BA6B0364\"5120share155450876420103676155450876424202873Fri, 05 Apr 2019 23:59:24 GMT\"0x8D6BA22BAA94C79\"5120share155450876624500743155450876631905818Fri, 05 Apr 2019 23:59:26 GMT\"0x8D6BA22BBEA05FA\"5120share155450877756001573155450877757609108Fri, 05 Apr 2019 23:59:37 GMT\"0x8D6BA22C29CC4C5\"5120share155450882020705387Sat, 06 Apr 2019 00:00:20 GMT\"0x8D6BA22DC1C7B9C\"5120share155450882137802100Sat, 06 Apr 2019 00:00:21 GMT\"0x8D6BA22DCD2061E\"5120share155450882195307893155450882213805256Sat, 06 Apr 2019 00:00:22 GMT\"0x8D6BA22DD2D9ECA\"5120share155450882311802623155450882330007566Sat, 06 Apr 2019 00:00:23 GMT\"0x8D6BA22DDDEDD23\"5120share155450882821300470Sat, 06 Apr 2019 00:00:28 GMT\"0x8D6BA22E0DF07E4\"5120share155450883001207093155450883019705028Sat, 06 Apr 2019 00:00:30 GMT\"0x8D6BA22E1FA959D\"5120share155450883989300008Sat, 06 Apr 2019 00:00:40 GMT\"0x8D6BA22E7D7D05F\"5120share155450884162700155155450884180600899Sat, 06 Apr 2019 00:00:41 GMT\"0x8D6BA22E8E8FF71\"5120share155450884268207091Sat, 06 Apr 2019 00:00:42 GMT\"0x8D6BA22E96E6A00\"5120share155450884356404649Sat, 06 Apr 2019 00:00:43 GMT\"0x8D6BA22E9F4B2C9\"5120share155450884498208133155450884512500427Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE362BF\"5120share155450884499902681155450884517006830Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE9C669\"5120share155450885006502697Sat, 06 Apr 2019 00:00:50 GMT\"0x8D6BA22EDD441D0\"5120share155450885123403166155450885138009119Sat, 06 Apr 2019 00:00:51 GMT\"0x8D6BA22EE9C855E\"5120share155450886053709029155450886062900785Sat, 06 Apr 2019 00:01:00 GMT\"0x8D6BA22F41E59AA\"5120share155450886352605826155450886361609698Sat, 06 Apr 2019 00:01:03 GMT\"0x8D6BA22F5E5BDEF\"5120share155450886885106257155450886894004615Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9152485\"5120share155450886979200994155450886987409280Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9A35201\"5120share155450887070605058155450887079709480Sat, 06 Apr 2019 00:01:10 GMT\"0x8D6BA22FA2DEE8F\"5120share155450887606108840155450887613402442Sat, 06 Apr 2019 00:01:16 GMT\"0x8D6BA22FD5FAA74\"5120share155450888143406931155450888150903424Sat, 06 Apr 2019 00:01:21 GMT\"0x8D6BA2300968F6A\"5120share155450895779305071Sat, 06 Apr 2019 00:02:37 GMT\"0x8D6BA232E0E05CE\"5120share155450895868406976155450895876908256Sat, 06 Apr 2019 00:02:38 GMT\"0x8D6BA232E9B57E4\"5120share155450898000001813Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233B47BB36\"5120share155450898063507347155450898067608520Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233BAA5F73\"5120share155450898125502623155450898141009080Sat, 06 Apr 2019 00:03:01 GMT\"0x8D6BA233C1EEFA4\"5120share155450900601408874155450900609504434Sat, 06 Apr 2019 00:03:26 GMT\"0x8D6BA234AD4C326\"5120share155450900703406798Sat, 06 Apr 2019 00:03:27 GMT\"0x8D6BA234B65E99F\"5120share155450900831008513155450900847507161Sat, 06 Apr 2019 00:03:28 GMT\"0x8D6BA234C410CF0\"5120share155450901777606467Sat, 06 Apr 2019 00:03:37 GMT\"0x8D6BA2351D7DB67\"5120share155450902063908068155450902099303010Sat, 06 Apr 2019 00:03:41 GMT\"0x8D6BA2353C27F44\"5120share155450905240000338155450905247805038Sat, 06 Apr 2019 00:04:12 GMT\"0x8D6BA23667B7ACC\"5120share155450905342403029Sat, 06 Apr 2019 00:04:13 GMT\"0x8D6BA23670BD557\"5120share155450905771401894Sat, 06 Apr 2019 00:04:17 GMT\"0x8D6BA2369922D87\"5120share155450905806600718155450905814001944Sat, 06 Apr 2019 00:04:18 GMT\"0x8D6BA2369D3DADF\"5120share155450907199909959155450907217402075Sat, 06 Apr 2019 00:04:32 GMT\"0x8D6BA2372444079\"5120share155450907299303524155450907301007717Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372AFED38\"5120share155450907320209730Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372CDC3C2\"5120share155450907429301310Sat, 06 Apr 2019 00:04:34 GMT\"0x8D6BA237386F930\"5120share155450918499009383Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B56FB9BC\"5120share155450918538502508155450918541508822Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B5B05ACA\"5120share155450918955508214Sat, 06 Apr 2019 00:06:29 GMT\"0x8D6BA23B828D8E1\"5120share155450919005601653155450919008702158Sat, 06 Apr 2019 00:06:30 GMT\"0x8D6BA23B87B8E05\"5120share155450919954305187155450919955905775Sat, 06 Apr 2019 00:06:39 GMT\"0x8D6BA23BE1F0A40\"5120share155450920152404636Sat, 06 Apr 2019 00:06:41 GMT\"0x8D6BA23BF4B17E9\"5120share155450920199201367155450920203905870Sat, 06 Apr 2019 00:06:42 GMT\"0x8D6BA23BF9A7486\"5120share155450920623205720155450920624702973Sat, 06 Apr 2019 00:06:46 GMT\"0x8D6BA23C21AC1E2\"5120share155450924082004282Sat, 06 Apr 2019 00:07:20 GMT\"0x8D6BA23D6BC0D50\"5120share155450924241004753155450924255406031Sat, 06 Apr 2019 00:07:22 GMT\"0x8D6BA23D7C6027C\"5120share155450924628704211155450924631809175Sat, 06 Apr 2019 00:07:26 GMT\"0x8D6BA23D9FEA927\"5120share155450925060607872Sat, 06 Apr 2019 00:07:30 GMT\"0x8D6BA23DC8D0299\"5120share155450927396309525155450927403505482Sat, 06 Apr 2019 00:07:54 GMT\"0x8D6BA23EA89D004\"5120share155450930131800809Sat, 06 Apr 2019 00:08:21 GMT\"0x8D6BA23FAC97B82\"5120share155450930223305549Sat, 06 Apr 2019 00:08:22 GMT\"0x8D6BA23FB6A1C88\"5120share155450930399707774155450930404407997Sat, 06 Apr 2019 00:08:24 GMT\"0x8D6BA23FC696BBF\"5120share155450930644903497155450930664407626Sat, 06 Apr 2019 00:08:26 GMT\"0x8D6BA23FDF86C39\"5120share155450932165308081155450932166908411Sat, 06 Apr 2019 00:08:41 GMT\"0x8D6BA2406EA8B70\"5120share155450932590204669Sat, 06 Apr 2019 00:08:45 GMT\"0x8D6BA24096F0B87\"5120share155450934809308249155450934819701838Sat, 06 Apr 2019 00:09:08 GMT\"0x8D6BA2416BC420A\"5120share155450936482907697Sat, 06 Apr 2019 00:09:24 GMT\"0x8D6BA2420A30B03\"5120share155450936723600352155450936728205502Sat, 06 Apr 2019 00:09:27 GMT\"0x8D6BA242219106F\"5120share155450938968201470155450938969801065Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F762161\"5120share155450938994808156Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F9C244A\"5120share155450940497500812Sat, 06 Apr 2019 00:10:05 GMT\"0x8D6BA2438A0813C\"5120share155450940788404093155450940823202737Sat, 06 Apr 2019 00:10:08 GMT\"0x8D6BA243A92205E\"5120share155450946766609807155450946784508785Sat, 06 Apr 2019 00:11:07 GMT\"0x8D6BA245E19BEB2\"5120share155450948165108070Sat, 06 Apr 2019 00:11:21 GMT\"0x8D6BA246649B23E\"5120share155450948277804103Sat, 06 Apr 2019 00:11:22 GMT\"0x8D6BA2466F099EF\"5120share155450948289903394155450948305505870Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA2467204A8D\"5120share155450948326908679155450948331603975Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA24674309DA\"5120share155450949731107750155450949732809022Sat, 06 Apr 2019 00:11:37 GMT\"0x8D6BA246F9D65C7\"5120share155450950843203078155450950850801708Sat, 06 Apr 2019 00:11:48 GMT\"0x8D6BA24764BB930\"5120share155450953189902571Sat, 06 Apr 2019 00:12:11 GMT\"0x8D6BA2484354864\"5120share155450953258300666155450953264607609Sat, 06 Apr 2019 00:12:12 GMT\"0x8D6BA2484A7702E\"5120share155450955735903361155450955739009034Sat, 06 Apr 2019 00:12:37 GMT\"0x8D6BA24936708EF\"5120share155450960711502044Sat, 06 Apr 2019 00:13:27 GMT\"0x8D6BA24B10EA364\"5120share155450960791406846155450960797603649Sat, 06 Apr 2019 00:13:28 GMT\"0x8D6BA24B1928131\"5120share155450962624205044155450962625707564Sat, 06 Apr 2019 00:13:46 GMT\"0x8D6BA24BC772178\"5120share155450967842007452Sat, 06 Apr 2019 00:14:38 GMT\"0x8D6BA24DB8C77C7\"5120share155450967919905734155450967927702876Sat, 06 Apr 2019 00:14:39 GMT\"0x8D6BA24DC0EF540\"5120share155450970297003568155450970300202266Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA32E63F\"5120share155450970326709180Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA5D2ABB\"5120share155450977967008646Sat, 06 Apr 2019 00:16:19 GMT\"0x8D6BA2517F39453\"5120share155450978396408978155450978431501712Sat, 06 Apr 2019 00:16:24 GMT\"0x8D6BA251AB90FA7\"5120share155450980055002844Sat, 06 Apr 2019 00:16:40 GMT\"0x8D6BA25248D32DD\"5120share155450980160103293155450980168109906Sat, 06 Apr 2019 00:16:41 GMT\"0x8D6BA252504B519\"5120share155450980240304921Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA252575098D\"5120share155450980285700319155450980290408762Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA2525C03A80\"5120share155450982099301254155450982103507530Sat, 06 Apr 2019 00:17:01 GMT\"0x8D6BA25308DFC9F\"5120share155450982239706333155450982242802612Sat, 06 Apr 2019 00:17:02 GMT\"0x8D6BA253161E133\"5120share155450982326409248Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA2531E1702E\"5120share155450982377200032155450982381908623Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA253235B775\"5120share155450983221207344155450983239108932Sat, 06 Apr 2019 00:17:12 GMT\"0x8D6BA25375FFDF8\"5120share155450984103402224155450984105001780Sat, 06 Apr 2019 00:17:21 GMT\"0x8D6BA253C7B623A\"5120share155450984926706623Sat, 06 Apr 2019 00:17:29 GMT\"0x8D6BA254167CF27\"5120share155450985060401468155450985076906420Sat, 06 Apr 2019 00:17:30 GMT\"0x8D6BA25424D06B7\"5120share155450987283404018Sat, 06 Apr 2019 00:17:52 GMT\"0x8D6BA254F6D3BD3\"5120share155450987324207460155450987328900070Sat, 06 Apr 2019 00:17:53 GMT\"0x8D6BA254FB23BEA\"5120share155450988425404386155450988434009985Sat, 06 Apr 2019 00:18:04 GMT\"0x8D6BA25564F576F\"5120share155450990977005805155450990980103826Sat, 06 Apr 2019 00:18:29 GMT\"0x8D6BA2565767B1F\"5120share155450991059304960Sat, 06 Apr 2019 00:18:30 GMT\"0x8D6BA2565EF5040\"5120share155450992091205316Sat, 06 Apr 2019 00:18:40 GMT\"0x8D6BA256C15A12E\"5120share155450992133707934155450992138405768Sat, 06 Apr 2019 00:18:41 GMT\"0x8D6BA256C5D5BE6\"5120share155450993652908385155450993654507033Sat, 06 Apr 2019 00:18:56 GMT\"0x8D6BA257568A573\"5120share155451001151002509Sat, 06 Apr 2019 00:20:11 GMT\"0x8D6BA25A216A444\"5120share155451001331709024155451001342603666Sat, 06 Apr 2019 00:20:13 GMT\"0x8D6BA25A33B3030\"5120share155451003402004419Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AF7D5D23\"5120share155451003447503066155451003449001699Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFCA6E52\"5120share155451003461203815155451003464101209Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFDC0A77\"5120share155451004913305591155451004914706703Sat, 06 Apr 2019 00:20:49 GMT\"0x8D6BA25B8815310\"5120share155451006286305875Sat, 06 Apr 2019 00:21:03 GMT\"0x8D6BA25C0C2AC3D\"5120share155451006587801793155451006655805276Sat, 06 Apr 2019 00:21:06 GMT\"0x8D6BA25C2F65D6A\"5120share155451007935501496Sat, 06 Apr 2019 00:21:19 GMT\"0x8D6BA25CA83F82F\"5120share155451008094100931155451008097909868Sat, 06 Apr 2019 00:21:20 GMT\"0x8D6BA25CB7B405F\"5120share155451009799605496155451009801500934Sat, 06 Apr 2019 00:21:38 GMT\"0x8D6BA25D5A2FE93\"5120share155451010434701890Sat, 06 Apr 2019 00:21:44 GMT\"0x8D6BA25D96B2BB1\"5120share155451010497507200155451010502204375Sat, 06 Apr 2019 00:21:45 GMT\"0x8D6BA25D9D0C00D\"5120share155451012085406616155451012088502597Sat, 06 Apr 2019 00:22:00 GMT\"0x8D6BA25E3447924\"5120share155451012285704842155451012303302464Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E49FB50A\"5120share155451012387505140Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E51229CB\"5120share155451012515600375Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5E37446\"5120share155451012525500379Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5F3B302\"5120share155451013078900595155451013114407433Sat, 06 Apr 2019 00:22:11 GMT\"0x8D6BA25E975BF7D\"5120share155451015216004737Sat, 06 Apr 2019 00:22:32 GMT\"0x8D6BA25F606E077\"5120share155451016043402131155451016065606655Sat, 06 Apr 2019 00:22:40 GMT\"0x8D6BA25FB00E780\"5120share155451019103604148Sat, 06 Apr 2019 00:23:11 GMT\"0x8D6BA260D2905C6\"5120share155451019400305212155451019445908505Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F336BC3\"5120share155451019474708654155451019483801215Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F604E98\"5120share155451024414405592155451024432401508Sat, 06 Apr 2019 00:24:04 GMT\"0x8D6BA262CEE5C5A\"5120share155451024648109782Sat, 06 Apr 2019 00:24:06 GMT\"0x8D6BA262E364BFA\"5120share155451026312808867Sat, 06 Apr 2019 00:24:23 GMT\"0x8D6BA263819560F\"5120share155451026594805847155451026630100644Sat, 06 Apr 2019 00:24:26 GMT\"0x8D6BA263A03DD68\"5120share155451027535308543Sat, 06 Apr 2019 00:24:35 GMT\"0x8D6BA263F5E1C93\"5120share155451027671107727155451027693505092Sat, 06 Apr 2019 00:24:36 GMT\"0x8D6BA26404F9858\"5120share155451030987309732155451030994904457Sat, 06 Apr 2019 00:25:10 GMT\"0x8D6BA2653FCB879\"5120share155451031458704130155451031476206543Sat, 06 Apr 2019 00:25:14 GMT\"0x8D6BA2656E64927\"5120share155451033026507785155451033046408034Sat, 06 Apr 2019 00:25:30 GMT\"0x8D6BA266042FECB\"5120share155451033290203875Sat, 06 Apr 2019 00:25:33 GMT\"0x8D6BA2661B6D672\"5120share155451039774203928Sat, 06 Apr 2019 00:26:37 GMT\"0x8D6BA26885D80E0\"5120share155451040675108359155451040711307532Sat, 06 Apr 2019 00:26:47 GMT\"0x8D6BA268DF41351\"5120share155451044021806016Sat, 06 Apr 2019 00:27:20 GMT\"0x8D6BA26A19C5201\"5120share155451044457806734155451044462505131Sat, 06 Apr 2019 00:27:24 GMT\"0x8D6BA26A43D1239\"5120share155451046010701737155451046028403533Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADA4C4A5\"5120share155451046052208614155451046053805603Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADB9B622\"5120share155451053178206847Sat, 06 Apr 2019 00:28:51 GMT\"0x8D6BA26D842A55A\"5120share155451053666705392155451053702506968Sat, 06 Apr 2019 00:28:57 GMT\"0x8D6BA26DB62BDD5\"5120share155451058205803975155451058223403053Sat, 06 Apr 2019 00:29:42 GMT\"0x8D6BA26F654675F\"5120share155451060995602506Sat, 06 Apr 2019 00:30:09 GMT\"0x8D6BA2706C9A66E\"5120share155451061041100503155451061045903286Sat, 06 Apr 2019 00:30:10 GMT\"0x8D6BA270716A7C2\"5120share155451061899608264Sat, 06 Apr 2019 00:30:19 GMT\"0x8D6BA270C3E72F4\"5120share155451062180801032155451062216207210Sat, 06 Apr 2019 00:30:22 GMT\"0x8D6BA270E371CFB\"5120share155451062599208929155451062602402703Sat, 06 Apr 2019 00:30:26 GMT\"0x8D6BA27105DB358\"5120share155451065149503106Sat, 06 Apr 2019 00:30:51 GMT\"0x8D6BA271F9DF425\"5120share155451065440007212155451065475805277Sat, 06 Apr 2019 00:30:54 GMT\"0x8D6BA27218EBAA7\"5120share155451067046206752155451067063709328Sat, 06 Apr 2019 00:31:10 GMT\"0x8D6BA272B05F0AB\"5120share155451067351206150Sat, 06 Apr 2019 00:31:13 GMT\"0x8D6BA272CBC787A\"5120share155451069512502349Sat, 06 Apr 2019 00:31:35 GMT\"0x8D6BA27399F8CE9\"5120share155451069801607826155451069838102692Sat, 06 Apr 2019 00:31:38 GMT\"0x8D6BA273B8F91C6\"5120share155451071238103796155451071255407273Sat, 06 Apr 2019 00:31:52 GMT\"0x8D6BA274400B20F\"5120share155451074926809802155451074945008417Sat, 06 Apr 2019 00:32:29 GMT\"0x8D6BA275A00C68D\"5120share155451081018006165Sat, 06 Apr 2019 00:33:30 GMT\"0x8D6BA277E323318\"5120share155451081825002323155451081865306002Sat, 06 Apr 2019 00:33:38 GMT\"0x8D6BA27833EA922\"5120share155451087278806395155451087296101648Sat, 06 Apr 2019 00:34:33 GMT\"0x8D6BA27A39DA7AE\"5120share155451091917101975Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF194E41\"5120share155451091975006455155451091979708946Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF7783A5\"5120share155451093201009705Sat, 06 Apr 2019 00:35:32 GMT\"0x8D6BA27C6D1EEBA\"5120share155451093563503307155451093598603844Sat, 06 Apr 2019 00:35:36 GMT\"0x8D6BA27C93050B6\"5120share155451094024104628155451094025709756Sat, 06 Apr 2019 00:35:40 GMT\"0x8D6BA27CBA9E989\"5120share155451094222108360Sat, 06 Apr 2019 00:35:42 GMT\"0x8D6BA27CCE6E2AE\"5120share155451095174303054Sat, 06 Apr 2019 00:35:51 GMT\"0x8D6BA27D293DAE5\"5120share155451096975508163155451097010409134Sat, 06 Apr 2019 00:36:10 GMT\"0x8D6BA27DD8557B2\"5120share155451100262501336155451100279500059Sat, 06 Apr 2019 00:36:42 GMT\"0x8D6BA27F1023A5B\"5120share155451101045503556Sat, 06 Apr 2019 00:36:50 GMT\"0x8D6BA27F5925154\"5120share155451101779403542Sat, 06 Apr 2019 00:36:57 GMT\"0x8D6BA27F9F0E2AC\"5120share155451102398103108155451102432601506Sat, 06 Apr 2019 00:37:04 GMT\"0x8D6BA27FDD5B5CD\"5120share155451103057604216155451103077302829Sat, 06 Apr 2019 00:37:10 GMT\"0x8D6BA2801AE1B69\"5120share155451107565307966155451107582903915Sat, 06 Apr 2019 00:37:55 GMT\"0x8D6BA281C81B459\"5120share155451107800700624Sat, 06 Apr 2019 00:37:58 GMT\"0x8D6BA281DD4A225\"5120share155451126138807949Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B1534BE\"5120share155451126184309606155451126189002896Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B6050DF\"5120share155451128370804279155451128372404816Sat, 06 Apr 2019 00:41:23 GMT\"0x8D6BA289862C628\"5120share155451152420208713Sat, 06 Apr 2019 00:45:24 GMT\"0x8D6BA2927C9F8B5\"5120share155451152742606446155451152779007713Sat, 06 Apr 2019 00:45:27 GMT\"0x8D6BA2929ED230E\"5120share155451157395300009155451157412506533Sat, 06 Apr 2019 00:46:14 GMT\"0x8D6BA29458B232D\"5120share155451187530500180Sat, 06 Apr 2019 00:51:15 GMT\"0x8D6BA29F90FCDB8\"5120share155451187884703798155451187920608231Sat, 06 Apr 2019 00:51:19 GMT\"0x8D6BA29FB62AF79\"5120share155451192903001020155451192920801667Sat, 06 Apr 2019 00:52:09 GMT\"0x8D6BA2A19307FA2\"5120share155451219945604870Sat, 06 Apr 2019 00:56:39 GMT\"0x8D6BA2ABA44B832\"5120share155451220515403772155451220563409688Sat, 06 Apr 2019 00:56:45 GMT\"0x8D6BA2ABDF348B2\"5120share155451225732003773155451225782103672Sat, 06 Apr 2019 00:57:37 GMT\"0x8D6BA2ADD0DFEA0\"5120share155452505698609307Sat, 06 Apr 2019 04:30:57 GMT\"0x8D6BA48A9F5DE57\"5120share155452506110609930155452506145800907Sat, 06 Apr 2019 04:31:01 GMT\"0x8D6BA48ACA0E8F8\"5120share155452513264602392155452513309504994Sat, 06 Apr 2019 04:32:13 GMT\"0x8D6BA48D79F82A6\"5120share155452543747102987Sat, 06 Apr 2019 04:37:17 GMT\"0x8D6BA498CBEAA1B\"5120share155452544135102672155452544170203677Sat, 06 Apr 2019 04:37:21 GMT\"0x8D6BA498F43FB3B\"5120share155452550801609564155452550819303558Sat, 06 Apr 2019 04:38:28 GMT\"0x8D6BA49B6E5E139\"5120share155454851835207560Sat, 06 Apr 2019 11:01:58 GMT\"0x8D6BA7F4A19677D\"5120share155454851991506574155454852000406631Sat, 06 Apr 2019 11:02:00 GMT\"0x8D6BA7F4AF0A38D\"5120share155454854416906947155454854421503134Sat, 06 Apr 2019 11:02:24 GMT\"0x8D6BA7F595F9CD8\"5120share155454856025203639Sat, 06 Apr 2019 11:02:40 GMT\"0x8D6BA7F62F33568\"5120share155454856374007043155454856420309335Sat, 06 Apr 2019 11:02:44 GMT\"0x8D6BA7F6571B186\"5120share155454863664803017155454863675304589Sat, 06 Apr 2019 11:03:58 GMT\"0x8D6BA7F91B54D0B\"5120share155454912150008169Sat, 06 Apr 2019 11:12:01 GMT\"0x8D6BA80B1733B1B\"5120share155454912228807007155454912232402707Sat, 06 Apr 2019 11:12:02 GMT\"0x8D6BA80B1F0CB36\"5120share155454913968401147155454913969709976Sat, 06 Apr 2019 11:12:19 GMT\"0x8D6BA80BC4BC1C8\"5120share155454926160403595Sat, 06 Apr 2019 11:14:21 GMT\"0x8D6BA81050A4FBB\"5120share155454926433302536155454926451103683Sat, 06 Apr 2019 11:14:24 GMT\"0x8D6BA8106B9DBA1\"5120share155454931280409044155454931334904873Sat, 06 Apr 2019 11:15:13 GMT\"0x8D6BA8123FE09BD\"5120share155454933450607945Sat, 06 Apr 2019 11:15:34 GMT\"0x8D6BA813098712B\"5120share155454933671902848155454933688908536Sat, 06 Apr 2019 11:15:36 GMT\"0x8D6BA8131D928E7\"5120share155454936568509955155454936576802176Sat, 06 Apr 2019 11:16:05 GMT\"0x8D6BA81430FF71B\"5120share155454960213904133Sat, 06 Apr 2019 11:20:03 GMT\"0x8D6BA81D0FF2B38\"5120share155454960927909543155454960991001612Sat, 06 Apr 2019 11:20:09 GMT\"0x8D6BA81D49808FE\"5120share155454966009002609155454966016603370Sat, 06 Apr 2019 11:21:00 GMT\"0x8D6BA81F28BD0E3\"5120share155455002704708537Sat, 06 Apr 2019 11:27:07 GMT\"0x8D6BA82CD34741E\"5120share155455002903800007155455003017403219Sat, 06 Apr 2019 11:27:10 GMT\"0x8D6BA82CF125048\"5120share155455006267108464155455006268701770Sat, 06 Apr 2019 11:27:42 GMT\"0x8D6BA82E273923F\"5120share155455037679603457Sat, 06 Apr 2019 11:32:56 GMT\"0x8D6BA839DAF3E6C\"5120share155455037983204788155455037987900489Sat, 06 Apr 2019 11:33:00 GMT\"0x8D6BA839F95A777\"5120share155455040595703142155455040597208498Sat, 06 Apr 2019 11:33:26 GMT\"0x8D6BA83AF12FF0F\"5120share155455072732002603Sat, 06 Apr 2019 11:38:47 GMT\"0x8D6BA846E9C4E9D\"5120share155455073081809895155455073086206096Sat, 06 Apr 2019 11:38:50 GMT\"0x8D6BA8470B704B1\"5120share155455075763207537155455075766305509Sat, 06 Apr 2019 11:39:17 GMT\"0x8D6BA8480B04FE4\"5120share155455102062606131Sat, 06 Apr 2019 11:43:40 GMT\"0x8D6BA851D7C3230\"5120share155455102361801934155455102394805763Sat, 06 Apr 2019 11:43:44 GMT\"0x8D6BA851F770C29\"5120share155455107457700114155455107474000652Sat, 06 Apr 2019 11:44:34 GMT\"0x8D6BA853DBD1411\"5120share155455133006908547Sat, 06 Apr 2019 11:48:50 GMT\"0x8D6BA85D5EB98F7\"5120share155455133279009813155455133361801233Sat, 06 Apr 2019 11:48:53 GMT\"0x8D6BA85D80A2CF8\"5120share155455139513901690155455139530102243Sat, 06 Apr 2019 11:49:55 GMT\"0x8D6BA85FCCC3693\"5120share155455164872603077Sat, 06 Apr 2019 11:54:08 GMT\"0x8D6BA8693DC07CC\"5120share155455165151009405155455165183509790Sat, 06 Apr 2019 11:54:11 GMT\"0x8D6BA8695B65D2B\"5120share155455170470509656155455170486300406Sat, 06 Apr 2019 11:55:04 GMT\"0x8D6BA86B550F686\"5120share155456291103108645Sat, 06 Apr 2019 15:01:51 GMT\"0x8D6BAA0CCB4D2E2\"5120share155456291365506380155456291374109855Sat, 06 Apr 2019 15:01:53 GMT\"0x8D6BAA0CE464446\"5120share155456293709907330155456293714005519Sat, 06 Apr 2019 15:02:17 GMT\"0x8D6BAA0DC390444\"5120share155456294559204683Sat, 06 Apr 2019 15:02:25 GMT\"0x8D6BAA0E14877DB\"5120share155456296486809631155456297245203735Sat, 06 Apr 2019 15:02:52 GMT\"0x8D6BAA0F17779CF\"5120share155456305871209606155456305879302124Sat, 06 Apr 2019 15:04:20 GMT\"0x8D6BAA125F07843\"5120share155456314143103789Sat, 06 Apr 2019 15:05:41 GMT\"0x8D6BAA155FBBE27\"5120share155456314336103571155456314749309901Sat, 06 Apr 2019 15:05:47 GMT\"0x8D6BAA159999031\"5120share155456316334404827155456316335906378Sat, 06 Apr 2019 15:06:03 GMT\"0x8D6BAA1630E3598\"5120share155456326179402090Sat, 06 Apr 2019 15:07:42 GMT\"0x8D6BAA19DFB7C6A\"5120share155456326397304242155456326415604577Sat, 06 Apr 2019 15:07:44 GMT\"0x8D6BAA19F25D734\"5120share155456329369701279155456329378504366Sat, 06 Apr 2019 15:08:13 GMT\"0x8D6BAA1B0D0D651\"5120share155456330364409045Sat, 06 Apr 2019 15:08:23 GMT\"0x8D6BAA1B6B2CD98\"5120share155456330666705978155456330683803375Sat, 06 Apr 2019 15:08:26 GMT\"0x8D6BAA1B89A16F1\"5120share155456335030501527155456335038302819Sat, 06 Apr 2019 15:09:10 GMT\"0x8D6BAA1D28E562B\"5120share155456356368008804Sat, 06 Apr 2019 15:12:43 GMT\"0x8D6BAA251C17F8D\"5120share155456356557907464155456356574100518Sat, 06 Apr 2019 15:12:45 GMT\"0x8D6BAA252EBFAC4\"5120share155456361116402960155456361124207850Sat, 06 Apr 2019 15:13:31 GMT\"0x8D6BAA26E0A1CA8\"5120share155456390636203241Sat, 06 Apr 2019 15:18:26 GMT\"0x8D6BAA31DEBCDB0\"5120share155456390705601565155456390711901935Sat, 06 Apr 2019 15:18:27 GMT\"0x8D6BAA31E5E4748\"5120share155456393417709590155456393420808701Sat, 06 Apr 2019 15:18:54 GMT\"0x8D6BAA32E84237D\"5120share155456424217209961Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E61500A8\"5120share155456424278208936155456424284407266Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E67AB1A3\"5120share155456427211205549155456427214304496Sat, 06 Apr 2019 15:24:32 GMT\"0x8D6BAA3F7F20D47\"5120share155456458404204500Sat, 06 Apr 2019 15:29:44 GMT\"0x8D6BAA4B24CBF76\"5120share155456458547707918155456458552404411Sat, 06 Apr 2019 15:29:45 GMT\"0x8D6BAA4B2BB862F\"5120share155456460765406585155456460766908685Sat, 06 Apr 2019 15:30:07 GMT\"0x8D6BAA4BFFF1981\"5120share155456482465103461Sat, 06 Apr 2019 15:33:44 GMT\"0x8D6BAA541550649\"5120share155456482775006921155456482810700538Sat, 06 Apr 2019 15:33:48 GMT\"0x8D6BAA543636C8E\"5120share155456487704408556155456487721609007Sat, 06 Apr 2019 15:34:37 GMT\"0x8D6BAA560A9C832\"5120share155456514392700848Sat, 06 Apr 2019 15:39:04 GMT\"0x8D6BAA5FFA2DBB2\"5120share155456514730004864155456514765000848Sat, 06 Apr 2019 15:39:07 GMT\"0x8D6BAA601DAC90B\"5120share155456520851004581155456520868606444Sat, 06 Apr 2019 15:40:08 GMT\"0x8D6BAA6263B64FB\"5120share155456546078104638Sat, 06 Apr 2019 15:44:20 GMT\"0x8D6BAA6BC7EC485\"5120share155456546379202191155456546415004803Sat, 06 Apr 2019 15:44:24 GMT\"0x8D6BAA6BE80FE20\"5120share155456552100308222155456552118109485Sat, 06 Apr 2019 15:45:21 GMT\"0x8D6BAA6E07EA3E7\"5120share155457982586404577Sat, 06 Apr 2019 19:43:46 GMT\"0x8D6BAC82F06C604\"5120share155457982895209863Sat, 06 Apr 2019 19:43:49 GMT\"0x8D6BAC830B0EE27\"5120share155457983004307662155457983013006641Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC8313A9F6D\"5120share155457983034605061155457983042907122Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC831687914\"5120share155457984096304815Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC837B800A3\"5120share155457984173004573155457984181103859Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC8382FCF4E\"5120share155457985251106506155457985255200019Sat, 06 Apr 2019 19:44:12 GMT\"0x8D6BAC83E977E11\"5120share155457985352004043Sat, 06 Apr 2019 19:44:13 GMT\"0x8D6BAC83F308A2E\"5120share155457985759203693155457985763202694Sat, 06 Apr 2019 19:44:17 GMT\"0x8D6BAC8419E8708\"5120share155457985858407808155457985874206967Sat, 06 Apr 2019 19:44:18 GMT\"0x8D6BAC8424DC6E7\"5120share155457986070109185Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC84378C35C\"5120share155457986084203249155457986088206247Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC8438DCAFB\"5120share155457986667402248155457986683304389Sat, 06 Apr 2019 19:44:26 GMT\"0x8D6BAC8471F8EC3\"5120share155457988211302188Sat, 06 Apr 2019 19:44:42 GMT\"0x8D6BAC8503B5D5B\"5120share155457988657106116155457988672406764Sat, 06 Apr 2019 19:44:46 GMT\"0x8D6BAC852FAA3CB\"5120share155457991716301226155457991723809979Sat, 06 Apr 2019 19:45:17 GMT\"0x8D6BAC8652A9515\"5120share155457992830806739155457992838808802Sat, 06 Apr 2019 19:45:28 GMT\"0x8D6BAC86BD00E83\"5120share155457993006407987155457993013800523Sat, 06 Apr 2019 19:45:30 GMT\"0x8D6BAC86CDBF17B\"5120share155458006152502178Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB245AB2\"5120share155458006186305147155458006188804437Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB5BDA66\"5120share155458006815304344Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF182EA3\"5120share155458006841500789155458006844408143Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF44D44C\"5120share155458007310109701Sat, 06 Apr 2019 19:47:53 GMT\"0x8D6BAC8C20A6A25\"5120share155458007402802136155458007406500109Sat, 06 Apr 2019 19:47:54 GMT\"0x8D6BAC8C29DD3C2\"5120share155458007691004618155458007692300930Sat, 06 Apr 2019 19:47:56 GMT\"0x8D6BAC8C4519872\"5120share155458008613907463155458008615102861Sat, 06 Apr 2019 19:48:06 GMT\"0x8D6BAC8C9D2A25A\"5120share155458008826101632155458008827508306Sat, 06 Apr 2019 19:48:08 GMT\"0x8D6BAC8CB1643CF\"5120share155458014101009988Sat, 06 Apr 2019 19:49:01 GMT\"0x8D6BAC8EA8C6116\"5120share155458014235102252155458014250500129Sat, 06 Apr 2019 19:49:02 GMT\"0x8D6BAC8EB7022BC\"5120share155458015065204785Sat, 06 Apr 2019 19:49:10 GMT\"0x8D6BAC8F04B6245\"5120share155458015190606244155458015235108989Sat, 06 Apr 2019 19:49:12 GMT\"0x8D6BAC8F14EC812\"5120share155458015912000641Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F54FD2BF\"5120share155458015954701668155458015960006118Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F5991DFB\"5120share155458017311406556Sat, 06 Apr 2019 19:49:33 GMT\"0x8D6BAC8FDD44158\"5120share155458017502707203155458017520806739Sat, 06 Apr 2019 19:49:35 GMT\"0x8D6BAC8FEECDAA4\"5120share155458018062700692155458018064406305Sat, 06 Apr 2019 19:49:40 GMT\"0x8D6BAC90223AD3D\"5120share155458018255202912155458018262607543Sat, 06 Apr 2019 19:49:42 GMT\"0x8D6BAC9035A963E\"5120share155458018446401092Sat, 06 Apr 2019 19:49:44 GMT\"0x8D6BAC9048A9A28\"5120share155458018639607522155458018647205168Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905A4A03A\"5120share155458018651709847155458018670403556Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905C6C316\"5120share155458018905808134Sat, 06 Apr 2019 19:49:49 GMT\"0x8D6BAC90745C0AB\"5120share155458019083402862155458019101607549Sat, 06 Apr 2019 19:49:51 GMT\"0x8D6BAC9085921C4\"5120share155458020474801587155458020483701287Sat, 06 Apr 2019 19:50:04 GMT\"0x8D6BAC910954F65\"5120share155458021677705412155458021686508820Sat, 06 Apr 2019 19:50:16 GMT\"0x8D6BAC917C0BA92\"5120share155458022255403756155458022264606904Sat, 06 Apr 2019 19:50:22 GMT\"0x8D6BAC91B330179\"5120share155458035799600985Sat, 06 Apr 2019 19:52:38 GMT\"0x8D6BAC96BE13B37\"5120share155458035959302421155458035975506801Sat, 06 Apr 2019 19:52:39 GMT\"0x8D6BAC96CED2845\"5120share155458038999101821155458039006205821Sat, 06 Apr 2019 19:53:10 GMT\"0x8D6BAC97EFDC8C7\"5120share155458039197306757Sat, 06 Apr 2019 19:53:11 GMT\"0x8D6BAC98019052A\"5120share155458039235409027155458039240007658Sat, 06 Apr 2019 19:53:12 GMT\"0x8D6BAC98059AA63\"5120share155458041594507958Sat, 06 Apr 2019 19:53:35 GMT\"0x8D6BAC98E61B10E\"5120share155458041624503349155458041700409251Sat, 06 Apr 2019 19:53:37 GMT\"0x8D6BAC98F0326CA\"5120share155458042414602394155458042416208280Sat, 06 Apr 2019 19:53:44 GMT\"0x8D6BAC993487273\"5120share155458044008906271155458044010601423Sat, 06 Apr 2019 19:54:00 GMT\"0x8D6BAC99CC83FC7\"5120share155458071334509447Sat, 06 Apr 2019 19:58:33 GMT\"0x8D6BACA3FA8FF44\"5120share155458071605707178155458071610409296Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA414C424C\"5120share155458071612107980Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA4152C3C2\"5120share155458071677203776155458071680408599Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA41BB0E81\"5120share155458072009502050Sat, 06 Apr 2019 19:58:40 GMT\"0x8D6BACA43B031EA\"5120share155458072094509702155458072099206957Sat, 06 Apr 2019 19:58:41 GMT\"0x8D6BACA44380FE8\"5120share155458073543006878155458073544508077Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CD4E02B\"5120share155458073563000516155458073564602564Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CF58E47\"5120share155458074693207901155458074696307244Sat, 06 Apr 2019 19:59:06 GMT\"0x8D6BACA53B06581\"5120share155458102730709783Sat, 06 Apr 2019 20:03:47 GMT\"0x8D6BACAFACB81F1\"5120share155458102868202572155458102871409986Sat, 06 Apr 2019 20:03:48 GMT\"0x8D6BACAFBA2E15D\"5120share155458104633001221Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB06231A4E\"5120share155458104667302506155458104672106680Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB065D6388\"5120share155458104813808363155458104815404525Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB0738F2A1\"5120share155458104870802288Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB078DCFAB\"5120share155458104914903079155458104919602010Sat, 06 Apr 2019 20:04:09 GMT\"0x8D6BACB07D61BEF\"5120share155458106288101112155458106289700342Sat, 06 Apr 2019 20:04:22 GMT\"0x8D6BACB100374B8\"5120share155458106650506749155458106652108155Sat, 06 Apr 2019 20:04:26 GMT\"0x8D6BACB122B752A\"5120share155458133184000378Sat, 06 Apr 2019 20:08:51 GMT\"0x8D6BACBB05075D8\"5120share155458133237405814155458133243702319Sat, 06 Apr 2019 20:08:52 GMT\"0x8D6BACBB0AD6CF8\"5120share155458135318509099155458135320106042Sat, 06 Apr 2019 20:09:13 GMT\"0x8D6BACBBD0CD3EE\"5120share155458137219602215Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC85F8649\"5120share155458137264904053155458137284004781Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC8C02510\"5120share155458139529801458155458139532905081Sat, 06 Apr 2019 20:09:55 GMT\"0x8D6BACBD628A6F5\"5120share155458143191307130Sat, 06 Apr 2019 20:10:31 GMT\"0x8D6BACBEBF72FED\"5120share155458143725704549155458143733108923Sat, 06 Apr 2019 20:10:37 GMT\"0x8D6BACBEF3235D6\"5120share155458145614707996155458145617801962Sat, 06 Apr 2019 20:10:56 GMT\"0x8D6BACBFA6C641E\"5120share155458157026004284Sat, 06 Apr 2019 20:12:50 GMT\"0x8D6BACC3E7D2E73\"5120share155458157513606057155458157549200058Sat, 06 Apr 2019 20:12:55 GMT\"0x8D6BACC419AACAA\"5120share155458161551504918Sat, 06 Apr 2019 20:13:35 GMT\"0x8D6BACC5975976A\"5120share155458161852508767155458161888204990Sat, 06 Apr 2019 20:13:39 GMT\"0x8D6BACC5B77718A\"5120share155458163270608429155458163288707708Sat, 06 Apr 2019 20:13:53 GMT\"0x8D6BACC63D077C5\"5120share155458166740801992155458166758400322Sat, 06 Apr 2019 20:14:27 GMT\"0x8D6BACC787E2CBC\"5120share155458167410204473Sat, 06 Apr 2019 20:14:34 GMT\"0x8D6BACC7C6268AB\"5120share155458167745609182155458167783502969Sat, 06 Apr 2019 20:14:37 GMT\"0x8D6BACC7E9B98C5\"5120share155458172754102886155458172771207718Sat, 06 Apr 2019 20:15:27 GMT\"0x8D6BACC9C55C2B9\"5120share155458172981008762Sat, 06 Apr 2019 20:15:29 GMT\"0x8D6BACC9D95FF89\"5120share155458194149704710Sat, 06 Apr 2019 20:19:01 GMT\"0x8D6BACD1BC47F5F\"5120share155458194536607732155458194571702324Sat, 06 Apr 2019 20:19:05 GMT\"0x8D6BACD1E4806C2\"5120share155458197308200274Sat, 06 Apr 2019 20:19:33 GMT\"0x8D6BACD2E9741B8\"5120share155458197591001668155458197626104855Sat, 06 Apr 2019 20:19:36 GMT\"0x8D6BACD307C412D\"5120share155458199527007624155458199545704317Sat, 06 Apr 2019 20:19:55 GMT\"0x8D6BACD3BED41C6\"5120share155458202598109235155458202659403874Sat, 06 Apr 2019 20:20:26 GMT\"0x8D6BACD4E7C35E1\"5120share155458206169602649Sat, 06 Apr 2019 20:21:01 GMT\"0x8D6BACD636BD2BB\"5120share155458206454303760155458206491202053Sat, 06 Apr 2019 20:21:05 GMT\"0x8D6BACD6555FC37\"5120share155458211197207585155458211214304698Sat, 06 Apr 2019 20:21:52 GMT\"0x8D6BACD817C81F1\"5120share155458230574404260Sat, 06 Apr 2019 20:25:05 GMT\"0x8D6BACDF4DE1EAA\"5120share155458230851000916155458230885607635Sat, 06 Apr 2019 20:25:08 GMT\"0x8D6BACDF6B8F6B6\"5120share155458232013504419Sat, 06 Apr 2019 20:25:20 GMT\"0x8D6BACDFD730512\"5120share155458232597200069155458232631800473Sat, 06 Apr 2019 20:25:26 GMT\"0x8D6BACE015C4984\"5120share155458235978104772155458235995602616Sat, 06 Apr 2019 20:26:00 GMT\"0x8D6BACE152F2C77\"5120share155458238152204275155458238169302315Sat, 06 Apr 2019 20:26:21 GMT\"0x8D6BACE22234B1D\"5120share155458246813501241Sat, 06 Apr 2019 20:27:48 GMT\"0x8D6BACE55AA8392\"5120share155458247096107198155458247130607430Sat, 06 Apr 2019 20:27:51 GMT\"0x8D6BACE578E5D67\"5120share155458252434803407155458252452009632Sat, 06 Apr 2019 20:28:44 GMT\"0x8D6BACE77450DDD\"5120share155463491867809931Sun, 07 Apr 2019 11:01:59 GMT\"0x8D6BB4874C1FA32\"5120share155463492805505485155463492814004375Sun, 07 Apr 2019 11:02:08 GMT\"0x8D6BB487A32EA36\"5120share155463495415400624Sun, 07 Apr 2019 11:02:34 GMT\"0x8D6BB4889FB36E2\"5120share155463495863003716155463495867103980Sun, 07 Apr 2019 11:02:38 GMT\"0x8D6BB488C65A2A9\"5120share155463496549001120155463496566809518Sun, 07 Apr 2019 11:02:45 GMT\"0x8D6BB489096CC90\"5120share155463510566206731155463512465407451Sun, 07 Apr 2019 11:05:26 GMT\"0x8D6BB48F0B165EF\"5120share155463540364902833Sun, 07 Apr 2019 11:10:03 GMT\"0x8D6BB49959E6F6C\"5120share155463540439609115155463540442904248Sun, 07 Apr 2019 11:10:04 GMT\"0x8D6BB4996153B3E\"5120share155463542848406129155463542849807262Sun, 07 Apr 2019 11:10:28 GMT\"0x8D6BB49A46DA670\"5120share155463565576604805Sun, 07 Apr 2019 11:14:15 GMT\"0x8D6BB4A2BE4C75B\"5120share155463565789508788155463565794000776Sun, 07 Apr 2019 11:14:18 GMT\"0x8D6BB4A2D664C95\"5120share155463571312806839Sun, 07 Apr 2019 11:15:13 GMT\"0x8D6BB4A4E324D5F\"5120share155463571500609630155463571519400757Sun, 07 Apr 2019 11:15:15 GMT\"0x8D6BB4A4F562BB4\"5120share155463572717801277155463572720009526Sun, 07 Apr 2019 11:15:31 GMT\"0x8D6BB4A593E4806\"5120share155463574903407014155463574912207563Sun, 07 Apr 2019 11:15:49 GMT\"0x8D6BB4A638F50FD\"5120share155463593650002394Sun, 07 Apr 2019 11:18:56 GMT\"0x8D6BB4AD35DE04B\"5120share155463593894103435155463594176804206Sun, 07 Apr 2019 11:19:07 GMT\"0x8D6BB4ADA0C57A9\"5120share155463599400903836155463599403308912Sun, 07 Apr 2019 11:19:54 GMT\"0x8D6BB4AF583B2DB\"5120share155463628106804246Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA09C1EE3\"5120share155463628181805431155463628188001817Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA1175DD3\"5120share155463632163502826155463632187607182Sun, 07 Apr 2019 11:25:22 GMT\"0x8D6BB4BB9036F9B\"5120share155463662044706147Sun, 07 Apr 2019 11:30:20 GMT\"0x8D6BB4C6B2196F0\"5120share155463662176402509155463662181106263Sun, 07 Apr 2019 11:30:21 GMT\"0x8D6BB4C6BB51156\"5120share155463666487909340155463666491409324Sun, 07 Apr 2019 11:31:05 GMT\"0x8D6BB4C8583DD48\"5120share155463698405401209Sun, 07 Apr 2019 11:36:24 GMT\"0x8D6BB4D439ECDDA\"5120share155463698541606800155463698546901035Sun, 07 Apr 2019 11:36:25 GMT\"0x8D6BB4D44771EE6\"5120share155463702978505155155463702979104132Sun, 07 Apr 2019 11:37:09 GMT\"0x8D6BB4D5EE448FE\"5120share155463723950700465Sun, 07 Apr 2019 11:40:39 GMT\"0x8D6BB4DDBF3ADCB\"5120share155463724312503743155463724347607443Sun, 07 Apr 2019 11:40:43 GMT\"0x8D6BB4DDE528D42\"5120share155463729758500306155463729776203740Sun, 07 Apr 2019 11:41:37 GMT\"0x8D6BB4DFEAC4DF1\"5120share155463755748302900Sun, 07 Apr 2019 11:45:57 GMT\"0x8D6BB4E9978E2D2\"5120share155463756042003553155463756079202168Sun, 07 Apr 2019 11:46:00 GMT\"0x8D6BB4E9B7177A8\"5120share155463761358100594155463761375307174Sun, 07 Apr 2019 11:46:53 GMT\"0x8D6BB4EBB02650C\"5120share155463787959207794Sun, 07 Apr 2019 11:51:19 GMT\"0x8D6BB4F59763A07\"5120share155463788290501414155463788325100200Sun, 07 Apr 2019 11:51:23 GMT\"0x8D6BB4F5BA54F45\"5120share155463793259303870155463793276700570Sun, 07 Apr 2019 11:52:12 GMT\"0x8D6BB4F79276239\"5120share155471159410101775Mon, 08 Apr 2019 08:19:54 GMT\"0x8D6BBFAFADBE5E4\"5120share155471159557103774155471159565300748Mon, 08 Apr 2019 08:19:55 GMT\"0x8D6BBFAFB99CD19\"5120share155471159719406945Mon, 08 Apr 2019 08:19:57 GMT\"0x8D6BBFAFCB663A2\"5120share155471159844901546155471159853504786Mon, 08 Apr 2019 08:19:58 GMT\"0x8D6BBFAFD5170F5\"5120share155471161541409992Mon, 08 Apr 2019 08:20:16 GMT\"0x8D6BBFB081F5FB5\"5120share155471161759002308155471161771900228Mon, 08 Apr 2019 08:20:17 GMT\"0x8D6BBFB08C05564\"5120share155471161851605440155471161855706599Mon, 08 Apr 2019 08:20:18 GMT\"0x8D6BBFB0940AA1F\"5120share155471162639902600Mon, 08 Apr 2019 08:20:26 GMT\"0x8D6BBFB0DF3D044\"5120share155471163431809410155471163513501817Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15375AD4\"5120share155471163659409852155471163663305916Mon, 08 Apr 2019 08:20:36 GMT\"0x8D6BBFB140672E7\"5120share155471163879403305155471163883506224Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15570427\"5120share155471164795407473Mon, 08 Apr 2019 08:20:48 GMT\"0x8D6BBFB1ACB17DC\"5120share155471165623109994Mon, 08 Apr 2019 08:20:56 GMT\"0x8D6BBFB1FC3F719\"5120share155471166012804668155471166031308328Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB24406110\"5120share155471166089903157155471166123608644Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB241F036D\"5120share155471172995905724155471173080508446Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C37952A\"5120share155471173051409365155471173059005298Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C0C5968\"5120share155471174333302070155471174341105069Mon, 08 Apr 2019 08:22:23 GMT\"0x8D6BBFB53D3A9B7\"5120share155471182434808256Mon, 08 Apr 2019 08:23:44 GMT\"0x8D6BBFB83E86CA9\"5120share155471182515205917155471182519308076Mon, 08 Apr 2019 08:23:45 GMT\"0x8D6BBFB8469258F\"5120share155471183792306366Mon, 08 Apr 2019 08:23:57 GMT\"0x8D6BBFB8BFDA647\"5120share155471183836601440155471183839808059Mon, 08 Apr 2019 08:23:58 GMT\"0x8D6BBFB8C45ED59\"5120share155471184549402743Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB9081965D\"5120share155471184577508341155471184580705566Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB90B0FDD6\"5120share155471184862508408155471184864008538Mon, 08 Apr 2019 08:24:08 GMT\"0x8D6BBFB926308AD\"5120share155471185496004282155471185497309494Mon, 08 Apr 2019 08:24:14 GMT\"0x8D6BBFB96272195\"5120share155471186424807606155471186426203954Mon, 08 Apr 2019 08:24:24 GMT\"0x8D6BBFB9BB131A5\"5120share155471193314004724Mon, 08 Apr 2019 08:25:33 GMT\"0x8D6BBFBC4C751E1\"5120share155471193593408635155471193764704577Mon, 08 Apr 2019 08:25:37 GMT\"0x8D6BBFBC776A651\"5120share155471194397407124Mon, 08 Apr 2019 08:25:44 GMT\"0x8D6BBFBCB3C2379\"5120share155471194555807811155471194571401786Mon, 08 Apr 2019 08:25:47 GMT\"0x8D6BBFBCD737F4F\"5120share155471194946302657Mon, 08 Apr 2019 08:25:49 GMT\"0x8D6BBFBCEC19047\"5120share155471195223406412155471195241808309Mon, 08 Apr 2019 08:25:52 GMT\"0x8D6BBFBD043CA23\"5120share155471195442005853Mon, 08 Apr 2019 08:25:54 GMT\"0x8D6BBFBD1932F7D\"5120share155471195678502043155471195696904048Mon, 08 Apr 2019 08:25:57 GMT\"0x8D6BBFBD2F92138\"5120share155471195874606540Mon, 08 Apr 2019 08:25:58 GMT\"0x8D6BBFBD402CCA4\"5120share155471196273505067155471196279008024Mon, 08 Apr 2019 08:26:02 GMT\"0x8D6BBFBD66C3E32\"5120share155471196687506253Mon, 08 Apr 2019 08:26:07 GMT\"0x8D6BBFBD8F28488\"5120share155471196866402199155471196884600096Mon, 08 Apr 2019 08:26:08 GMT\"0x8D6BBFBDA0C5FC2\"5120share155471197493802599155471197525806627Mon, 08 Apr 2019 08:26:15 GMT\"0x8D6BBFBDDE17260\"5120share155471198776902969155471198787408405Mon, 08 Apr 2019 08:26:27 GMT\"0x8D6BBFBE56583EC\"5120share155471198949002768155471198957504390Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE66A3DE2\"5120share155471198959605149155471198986208091Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE6954C17\"5120share155471199019804683155471199021904269Mon, 08 Apr 2019 08:26:30 GMT\"0x8D6BBFBE6C605AD\"5120share155471199895909131155471199904807398Mon, 08 Apr 2019 08:26:39 GMT\"0x8D6BBFBEC0C669D\"5120share155471216392807544Mon, 08 Apr 2019 08:29:23 GMT\"0x8D6BBFC4E4F47FC\"5120share155471216452709732155471216456902840Mon, 08 Apr 2019 08:29:26 GMT\"0x8D6BBFC4FC7CD1D\"5120share155471217136404726Mon, 08 Apr 2019 08:29:31 GMT\"0x8D6BBFC52BDE426\"5120share155471217222402240155471217226106507Mon, 08 Apr 2019 08:29:32 GMT\"0x8D6BBFC53470269\"5120share155471218247602987Mon, 08 Apr 2019 08:29:42 GMT\"0x8D6BBFC595CC199\"5120share155471218361402387155471218365005312Mon, 08 Apr 2019 08:29:43 GMT\"0x8D6BBFC5A0FE3DD\"5120share155471219940306579155471219942604065Mon, 08 Apr 2019 08:29:59 GMT\"0x8D6BBFC63780FBF\"5120share155471220016802925155471220030607499Mon, 08 Apr 2019 08:30:00 GMT\"0x8D6BBFC63FED675\"5120share155471220290902917155471220293500348Mon, 08 Apr 2019 08:30:02 GMT\"0x8D6BBFC658E59F6\"5120share155471249309900739Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD129316CF\"5120share155471249367802014155471249372503616Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD12E38F1C\"5120share155471249672508697Mon, 08 Apr 2019 08:34:56 GMT\"0x8D6BBFD14AEB26A\"5120share155471249717808132155471249721001861Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD14F86882\"5120share155471249764407211Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD153BD7C4\"5120share155471249811307309155471249830109173Mon, 08 Apr 2019 08:34:58 GMT\"0x8D6BBFD15A17797\"5120share155471251563202676155471251564809213Mon, 08 Apr 2019 08:35:15 GMT\"0x8D6BBFD1FF476DC\"5120share155471251726303555155471251727801842Mon, 08 Apr 2019 08:35:17 GMT\"0x8D6BBFD20EF45C5\"5120share155471252286607127155471252289804824Mon, 08 Apr 2019 08:35:22 GMT\"0x8D6BBFD24468D24\"5120share155471280107407056Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA150A06\"5120share155471280122303103Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA2AA85A\"5120share155471280157501884155471280162209736Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA689843\"5120share155471280170901900155471280269609138Mon, 08 Apr 2019 08:40:02 GMT\"0x8D6BBFDCB0B4F94\"5120share155471281860403066Mon, 08 Apr 2019 08:40:18 GMT\"0x8D6BBFDD485DCD0\"5120share155471282020204926155471282024907974Mon, 08 Apr 2019 08:40:20 GMT\"0x8D6BBFDD581C2E6\"5120share155471282773802277155471282776901903Mon, 08 Apr 2019 08:40:27 GMT\"0x8D6BBFDD9FC956E\"5120share155471283070409441155471283071900050Mon, 08 Apr 2019 08:40:30 GMT\"0x8D6BBFDDBC0CC62\"5120share155471284115800709155471284117302223Mon, 08 Apr 2019 08:40:41 GMT\"0x8D6BBFDE1FC0E2A\"5120share155471313076205798Mon, 08 Apr 2019 08:45:30 GMT\"0x8D6BBFE8E985DA6\"5120share155471313135605696155471313140307661Mon, 08 Apr 2019 08:45:31 GMT\"0x8D6BBFE8EFA806E\"5120share155471314247306296Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE9592429E\"5120share155471314285105895155471314289809059Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE95D17ABD\"5120share155471314655408113Mon, 08 Apr 2019 08:45:46 GMT\"0x8D6BBFE98026629\"5120share155471315036608620155471315039706752Mon, 08 Apr 2019 08:45:53 GMT\"0x8D6BBFE9BFF3E8D\"5120share155471315738800255155471315740403394Mon, 08 Apr 2019 08:45:57 GMT\"0x8D6BBFE9E7A78D8\"5120share155471316127700943155471316129308576Mon, 08 Apr 2019 08:46:01 GMT\"0x8D6BBFEA0CA3EB9\"5120share155471317319209006155471317320803568Mon, 08 Apr 2019 08:46:13 GMT\"0x8D6BBFEA7E52732\"5120share155471338564903682Mon, 08 Apr 2019 08:49:45 GMT\"0x8D6BBFF26965E97\"5120share155471338612201724Mon, 08 Apr 2019 08:49:46 GMT\"0x8D6BBFF26DDC80B\"5120share155471338707501668Mon, 08 Apr 2019 08:49:47 GMT\"0x8D6BBFF276FE91A\"5120share155471338875509216155471338911108778Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28A5CC73\"5120share155471338907003423155471338943607988Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28D7C43E\"5120share155471339077005177155471339112707523Mon, 08 Apr 2019 08:49:51 GMT\"0x8D6BBFF29D97BDE\"5120share155471344114607322155471344132404540Mon, 08 Apr 2019 08:50:41 GMT\"0x8D6BBFF47C434F1\"5120share155471344305708178155471344323803707Mon, 08 Apr 2019 08:50:43 GMT\"0x8D6BBFF48E9B6AB\"5120share155471345132108943155471345150106029Mon, 08 Apr 2019 08:50:51 GMT\"0x8D6BBFF4DE3889E\"5120share155471361870008084Mon, 08 Apr 2019 08:53:39 GMT\"0x8D6BBFFB1EEC742\"5120share155471371725508964Mon, 08 Apr 2019 08:55:17 GMT\"0x8D6BBFFEC3CDD7B\"5120share155471371944301810Mon, 08 Apr 2019 08:55:19 GMT\"0x8D6BBFFED8C775F\"5120share155471371991209376Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEDD38528\"5120share155471372018104292155471372052805770Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEE2FFA2F\"5120share155471372233805696155471372271708417Mon, 08 Apr 2019 08:55:22 GMT\"0x8D6BBFFEF7F6246\"5120share155471372290109620155471372324904545Mon, 08 Apr 2019 08:55:23 GMT\"0x8D6BBFFEFDE088A\"5120share155471377091005451155471377108904189Mon, 08 Apr 2019 08:56:11 GMT\"0x8D6BC000C53B864\"5120share155471377364408697155471377382002962Mon, 08 Apr 2019 08:56:13 GMT\"0x8D6BC000DF49A62\"5120share155471377523007053155471377540900660Mon, 08 Apr 2019 08:56:15 GMT\"0x8D6BC000EE6C927\"5120share155471402950606676Mon, 08 Apr 2019 09:00:29 GMT\"0x8D6BC00A65AACF7\"5120share155471403233404398155471403270309055Mon, 08 Apr 2019 09:00:32 GMT\"0x8D6BC00A8426D4A\"5120share155471403964001185Mon, 08 Apr 2019 09:00:39 GMT\"0x8D6BC00AC6541C8\"5120share155471404293509573155471404328606393Mon, 08 Apr 2019 09:00:43 GMT\"0x8D6BC00AE906AAF\"5120share155471407955303616155471407972706941Mon, 08 Apr 2019 09:01:19 GMT\"0x8D6BC00C4491574\"5120share155471409885107441155471409902406315Mon, 08 Apr 2019 09:01:39 GMT\"0x8D6BC00CFC9D367\"5120share155471420123407076Mon, 08 Apr 2019 09:03:22 GMT\"0x8D6BC010D28BDE1\"5120share155471420502801318155471420537802414Mon, 08 Apr 2019 09:03:25 GMT\"0x8D6BC010F2CB097\"5120share155471426607204412155471426625208107Mon, 08 Apr 2019 09:04:26 GMT\"0x8D6BC013375377C\"5120share155472160987405653Mon, 08 Apr 2019 11:06:50 GMT\"0x8D6BC124C9978EA\"5120share155472161097000757155472161105208077Mon, 08 Apr 2019 11:06:51 GMT\"0x8D6BC124D3DBF8D\"5120share155472163173801961155472163177609525Mon, 08 Apr 2019 11:07:11 GMT\"0x8D6BC125997DF0C\"5120share155472168232901716Mon, 08 Apr 2019 11:08:02 GMT\"0x8D6BC1277BFA9C8\"5120share155472168374104176155472168446607643Mon, 08 Apr 2019 11:08:04 GMT\"0x8D6BC1279214100\"5120share155472176197105947155472176205007656Mon, 08 Apr 2019 11:09:22 GMT\"0x8D6BC12A74454C3\"5120share155472204199900828Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E191AC7\"5120share155472204277609584155472204280601112Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E94A044\"5120share155472206496708024155472206498204033Mon, 08 Apr 2019 11:14:25 GMT\"0x8D6BC135BCCCA84\"5120share155472216705901492Mon, 08 Apr 2019 11:16:07 GMT\"0x8D6BC1398D048C8\"5120share155472216898001523155472216916205107Mon, 08 Apr 2019 11:16:09 GMT\"0x8D6BC1399EAA37A\"5120share155472219103107027Mon, 08 Apr 2019 11:16:31 GMT\"0x8D6BC13A6F4AE8C\"5120share155472219425905471155472219440702152Mon, 08 Apr 2019 11:16:34 GMT\"0x8D6BC13A921A1C9\"5120share155472220033004812155472220042206911Mon, 08 Apr 2019 11:16:40 GMT\"0x8D6BC13AC8D206A\"5120share155472224824707837155472224832008824Mon, 08 Apr 2019 11:17:28 GMT\"0x8D6BC13C919E65E\"5120share155472246204805623Mon, 08 Apr 2019 11:21:02 GMT\"0x8D6BC14487717FD\"5120share155472246241309337155472246263507674Mon, 08 Apr 2019 11:21:03 GMT\"0x8D6BC14496CB4D5\"5120share155472249524904748155472249526905903Mon, 08 Apr 2019 11:21:35 GMT\"0x8D6BC145C441D54\"5120share155472278844408698Mon, 08 Apr 2019 11:26:28 GMT\"0x8D6BC150B092C7A\"5120share155472278907008129155472278920004266Mon, 08 Apr 2019 11:26:29 GMT\"0x8D6BC150B7C124C\"5120share155472284254600007155472284256208525Mon, 08 Apr 2019 11:27:22 GMT\"0x8D6BC152B4A911F\"5120share155472312229503604Mon, 08 Apr 2019 11:32:02 GMT\"0x8D6BC15D200E575\"5120share155472312412809123155472312417501747Mon, 08 Apr 2019 11:32:04 GMT\"0x8D6BC15D31D7FAE\"5120share155472315446303765155472315449505989Mon, 08 Apr 2019 11:32:34 GMT\"0x8D6BC15E5302244\"5120share155472345996309413Mon, 08 Apr 2019 11:37:39 GMT\"0x8D6BC169B4675F7\"5120share155472346051206066155472346057508799Mon, 08 Apr 2019 11:37:40 GMT\"0x8D6BC169BA35295\"5120share155472348747305567155472348748800979Mon, 08 Apr 2019 11:38:07 GMT\"0x8D6BC16ABADD753\"5120share155472371337200587Mon, 08 Apr 2019 11:41:53 GMT\"0x8D6BC1732641149\"5120share155472371674603033155472371719309773Mon, 08 Apr 2019 11:41:57 GMT\"0x8D6BC1734C4AD1D\"5120share155472377588104348155472377613206149Mon, 08 Apr 2019 11:42:56 GMT\"0x8D6BC1757CB4FB5\"5120share155472411306702730Mon, 08 Apr 2019 11:48:33 GMT\"0x8D6BC1820A06135\"5120share155472411721604937155472411760505391Mon, 08 Apr 2019 11:48:37 GMT\"0x8D6BC1823541FBE\"5120share155472417274301118155472417291606860Mon, 08 Apr 2019 11:49:33 GMT\"0x8D6BC18444D2432\"5120share155472448089705120Mon, 08 Apr 2019 11:54:41 GMT\"0x8D6BC18FBDED986\"5120share155472448370807083155472448406101169Mon, 08 Apr 2019 11:54:44 GMT\"0x8D6BC18FDC115E2\"5120share155472453427508600155472453444907889Mon, 08 Apr 2019 11:55:34 GMT\"0x8D6BC191BCCB9BF\"5120share155472855094705964Mon, 08 Apr 2019 13:02:31 GMT\"0x8D6BC2275D7C473\"5120share155472855239009959155472855247404733Mon, 08 Apr 2019 13:02:32 GMT\"0x8D6BC2276A627CE\"5120share155472856032008076Mon, 08 Apr 2019 13:02:41 GMT\"0x8D6BC227BD9467D\"5120share155472856217809292155472856226408487Mon, 08 Apr 2019 13:02:42 GMT\"0x8D6BC227C7D2423\"5120share155472856366803949Mon, 08 Apr 2019 13:02:43 GMT\"0x8D6BC227D692AC9\"5120share155472856528205546155472856545204869Mon, 08 Apr 2019 13:02:45 GMT\"0x8D6BC227E67D1EF\"5120share155472857573303054155472857578001261Mon, 08 Apr 2019 13:02:55 GMT\"0x8D6BC22848AC2B9\"5120share155472858718602344155472858722904206Mon, 08 Apr 2019 13:03:07 GMT\"0x8D6BC228B5EA846\"5120share155472859275800578Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EB057C8\"5120share155472859281003726155472859289304102Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EC2C83E\"5120share155472859438304193155472859454102545Mon, 08 Apr 2019 13:03:14 GMT\"0x8D6BC228FBFC6F4\"5120share155472859997408060Mon, 08 Apr 2019 13:03:20 GMT\"0x8D6BC2293079122\"5120share155472860456904599155472860489607509Mon, 08 Apr 2019 13:03:25 GMT\"0x8D6BC2295F5DA07\"5120share155472861037200948Mon, 08 Apr 2019 13:03:30 GMT\"0x8D6BC229939EC8D\"5120share155472861305108945155472861338108485Mon, 08 Apr 2019 13:03:36 GMT\"0x8D6BC229CA157C0\"5120share155472865853408678155472865861303126Mon, 08 Apr 2019 13:04:18 GMT\"0x8D6BC22B5EF8CF3\"5120share155472868380603467155472868396900550Mon, 08 Apr 2019 13:04:44 GMT\"0x8D6BC22C517F4B3\"5120share155472868557503999155472868576501705Mon, 08 Apr 2019 13:04:45 GMT\"0x8D6BC22C62A39FA\"5120share155472879121104691Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC2304F03B40\"5120share155472879189403290155472879193803545Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC23055F2961\"5120share155472879243008995Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305AC7850\"5120share155472879280808188155472879284409230Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305EC7325\"5120share155472880698205090155472880699806109Mon, 08 Apr 2019 13:06:47 GMT\"0x8D6BC230E58A3F5\"5120share155472880814103146155472880815505990Mon, 08 Apr 2019 13:06:48 GMT\"0x8D6BC230F0B9BFB\"5120share155472881234807755Mon, 08 Apr 2019 13:06:52 GMT\"0x8D6BC2311884B12\"5120share155472881340207390155472881350205618Mon, 08 Apr 2019 13:06:53 GMT\"0x8D6BC2312387E17\"5120share155472883072301392155472883073803010Mon, 08 Apr 2019 13:07:10 GMT\"0x8D6BC231C7E23F5\"5120share155472885337806659Mon, 08 Apr 2019 13:07:33 GMT\"0x8D6BC232A11D740\"5120share155472885613805171155472885646702766Mon, 08 Apr 2019 13:07:36 GMT\"0x8D6BC232BEA3B02\"5120share155472889661305776Mon, 08 Apr 2019 13:08:16 GMT\"0x8D6BC2343CAEEAB\"5120share155472889788009681155472889803300893Mon, 08 Apr 2019 13:08:18 GMT\"0x8D6BC2344A41FDF\"5120share155472891001406580Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BDA3B1D\"5120share155472891007702393155472891023709481Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BF5BF5B\"5120share155472891025302439Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234C02A1DD\"5120share155472891190208427155472891208509099Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D02D031\"5120share155472891198206893155472891216501231Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D0EF9AB\"5120share155472891445805441Mon, 08 Apr 2019 13:08:34 GMT\"0x8D6BC234E6E1621\"5120share155472891568202078155472891586502301Mon, 08 Apr 2019 13:08:35 GMT\"0x8D6BC234F44AFC9\"5120share155472893112604559155472893120100232Mon, 08 Apr 2019 13:08:51 GMT\"0x8D6BC23586881C1\"5120share155472893354909897Mon, 08 Apr 2019 13:08:53 GMT\"0x8D6BC2359E9B5A9\"5120share155472893564809628155472893583008434Mon, 08 Apr 2019 13:08:55 GMT\"0x8D6BC235B2AEAA9\"5120share155472893953307706155472893962206298Mon, 08 Apr 2019 13:08:59 GMT\"0x8D6BC235D6C870E\"5120share155472894318507838155472894330704679Mon, 08 Apr 2019 13:09:03 GMT\"0x8D6BC235F9E8958\"5120share155472894681003497155472894688800449Mon, 08 Apr 2019 13:09:06 GMT\"0x8D6BC2361C272A0\"5120share155472897035005236155472897043802002Mon, 08 Apr 2019 13:09:30 GMT\"0x8D6BC236FCB801E\"5120share155472912188008460Mon, 08 Apr 2019 13:12:01 GMT\"0x8D6BC23CA09833E\"5120share155472912242309883155472912246805247Mon, 08 Apr 2019 13:12:02 GMT\"0x8D6BC23CA64647F\"5120share155472912938903083Mon, 08 Apr 2019 13:12:09 GMT\"0x8D6BC23CE8AD1E7\"5120share155472913061307138155472913077708600Mon, 08 Apr 2019 13:12:10 GMT\"0x8D6BC23CF5DF0BD\"5120share155472913125601489Mon, 08 Apr 2019 13:12:11 GMT\"0x8D6BC23CFA730AD\"5120share155472913283609927155472913298509950Mon, 08 Apr 2019 13:12:13 GMT\"0x8D6BC23D0AE8C17\"5120share155472915487105003155472915489100854Mon, 08 Apr 2019 13:12:34 GMT\"0x8D6BC23DDB68675\"5120share155472916544804385155472916552306014Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4134A09\"5120share155472916548503832155472916556105425Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4197E02\"5120share155472946012606736Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2493A69CE5\"5120share155472946068908993155472946073508657Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2494053C3E\"5120share155472949633202046155472949636407118Mon, 08 Apr 2019 13:18:16 GMT\"0x8D6BC24A93FE744\"5120share155472953229106299Mon, 08 Apr 2019 13:18:52 GMT\"0x8D6BC24BEB4AF41\"5120share155472953357501863155472953373103768Mon, 08 Apr 2019 13:18:53 GMT\"0x8D6BC24BF90D02A\"5120share155472956713506493155472956721301657Mon, 08 Apr 2019 13:19:27 GMT\"0x8D6BC24D386476F\"5120share155472966502508606Mon, 08 Apr 2019 13:21:05 GMT\"0x8D6BC250DCA4603\"5120share155472966597907744155472966604202953Mon, 08 Apr 2019 13:21:06 GMT\"0x8D6BC250E645809\"5120share155472968498508655155472968500103917Mon, 08 Apr 2019 13:21:25 GMT\"0x8D6BC2519AFE985\"5120share155472988433902736Mon, 08 Apr 2019 13:24:44 GMT\"0x8D6BC25909324BE\"5120share155472988724409985155472988760204301Mon, 08 Apr 2019 13:24:47 GMT\"0x8D6BC2592849B4B\"5120share155472993030607011Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25ABE51EAD\"5120share155472993075507215155472993080206083Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25AC3328A7\"5120share155472993914402363155472993931800672Mon, 08 Apr 2019 13:25:39 GMT\"0x8D6BC25B1574FAE\"5120share155472994748901085155472994750403825Mon, 08 Apr 2019 13:25:47 GMT\"0x8D6BC25B6263F7C\"5120share155473001947302004Mon, 08 Apr 2019 13:26:59 GMT\"0x8D6BC25E10CE3BC\"5120share155473002051606362155473002054908313Mon, 08 Apr 2019 13:27:00 GMT\"0x8D6BC25E1B35EC4\"5120share155473004648705855155473004649703999Mon, 08 Apr 2019 13:27:26 GMT\"0x8D6BC25F12ABCA1\"5120share155473016072107034Mon, 08 Apr 2019 13:29:20 GMT\"0x8D6BC26354F9473\"5120share155473016364503276155473016400103009Mon, 08 Apr 2019 13:29:24 GMT\"0x8D6BC263743A815\"5120share155473021339603603Mon, 08 Apr 2019 13:30:13 GMT\"0x8D6BC2654B5158C\"5120share155473021424106750155473021441604785Mon, 08 Apr 2019 13:30:14 GMT\"0x8D6BC2655503B1E\"5120share155473021650606398155473021685603088Mon, 08 Apr 2019 13:30:17 GMT\"0x8D6BC2656CD882A\"5120share155473026269308380155473026286901426Mon, 08 Apr 2019 13:31:03 GMT\"0x8D6BC267231CA94\"5120share155473035103103790Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6AA97EE\"5120share155473035153304048155473035158009118Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6FEFB2F\"5120share155473037272506388155473037274004114Mon, 08 Apr 2019 13:32:52 GMT\"0x8D6BC26B39B5FAF\"5120share155473049819605040Mon, 08 Apr 2019 13:34:58 GMT\"0x8D6BC26FE7673E3\"5120share155473050103008382155473050142509037Mon, 08 Apr 2019 13:35:01 GMT\"0x8D6BC2700635DFF\"5120share155473054025008839Mon, 08 Apr 2019 13:35:40 GMT\"0x8D6BC27178337FC\"5120share155473054308605886155473054343906261Mon, 08 Apr 2019 13:35:43 GMT\"0x8D6BC27196A1851\"5120share155473054870903343155473054888203021Mon, 08 Apr 2019 13:35:49 GMT\"0x8D6BC271CAB8110\"5120share155473059007607327Mon, 08 Apr 2019 13:36:30 GMT\"0x8D6BC27353A326A\"5120share155473059366105315155473059402501772Mon, 08 Apr 2019 13:36:34 GMT\"0x8D6BC273791DA87\"5120share155473060266605803155473060284208896Mon, 08 Apr 2019 13:36:42 GMT\"0x8D6BC273CD2198E\"5120share155473064357606911155473064435408339Mon, 08 Apr 2019 13:37:24 GMT\"0x8D6BC27559218D8\"5120share155473082374108141Mon, 08 Apr 2019 13:40:23 GMT\"0x8D6BC27C07F8583\"5120share155473082651508300155473082686007339Mon, 08 Apr 2019 13:40:27 GMT\"0x8D6BC27C25B3DFF\"5120share155473087260606566155473087278203141Mon, 08 Apr 2019 13:41:12 GMT\"0x8D6BC27DDBAB773\"5120share155473091696409658Mon, 08 Apr 2019 13:41:57 GMT\"0x8D6BC27F8105DF2\"5120share155473092104706246155473092139602510Mon, 08 Apr 2019 13:42:01 GMT\"0x8D6BC27FAB44C17\"5120share155473103328506254155473103346108302Mon, 08 Apr 2019 13:43:53 GMT\"0x8D6BC283D8145CD\"5120share155473133348900275Mon, 08 Apr 2019 13:48:53 GMT\"0x8D6BC28F0562800\"5120share155473133641905218155473133676805608Mon, 08 Apr 2019 13:48:56 GMT\"0x8D6BC28F24A93FA\"5120share155473138457402066155473138474908082Mon, 08 Apr 2019 13:49:45 GMT\"0x8D6BC290EF52FE8\"5120share155473419080304153Mon, 08 Apr 2019 14:36:30 GMT\"0x8D6BC2F97732CFC\"5120share155473419365800817155473419382602756Mon, 08 Apr 2019 14:36:33 GMT\"0x8D6BC2F992DFF3C\"5120share155473421466607871Mon, 08 Apr 2019 14:36:54 GMT\"0x8D6BC2FA5BA6AEB\"5120share155473421635506352155473421652306205Mon, 08 Apr 2019 14:36:56 GMT\"0x8D6BC2FA6B4853A\"5120share155473422402809012155473422411202007Mon, 08 Apr 2019 14:37:04 GMT\"0x8D6BC2FAB3B4F2B\"5120share155473423347103300Mon, 08 Apr 2019 14:37:14 GMT\"0x8D6BC2FB1A4AC26\"5120share155473423963007764155473423996109344Mon, 08 Apr 2019 14:37:20 GMT\"0x8D6BC2FB4B923A2\"5120share155473424644901018155473424653402397Mon, 08 Apr 2019 14:37:26 GMT\"0x8D6BC2FB897E295\"5120share155473425057902422Mon, 08 Apr 2019 14:37:30 GMT\"0x8D6BC2FBB0CFAC3\"5120share155473425521309931155473425553507393Mon, 08 Apr 2019 14:37:35 GMT\"0x8D6BC2FBE0153D1\"5120share155473428819308505155473428835809325Mon, 08 Apr 2019 14:38:08 GMT\"0x8D6BC2FD191EC8D\"5120share155473430398307530155473430415601116Mon, 08 Apr 2019 14:38:24 GMT\"0x8D6BC2FDAFCD3CA\"5120share155473444829502736Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC3030D3FEF9\"5120share155473444885204661155473444888103257Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC30312D73D3\"5120share155473446739109486155473446744407340Mon, 08 Apr 2019 14:41:07 GMT\"0x8D6BC303C3F7578\"5120share155473447118803434Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303E792FBD\"5120share155473447149009693155473447154508068Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303EAFF271\"5120share155473448801104504155473448802709932Mon, 08 Apr 2019 14:41:28 GMT\"0x8D6BC304883AF71\"5120share155473450198203199Mon, 08 Apr 2019 14:41:42 GMT\"0x8D6BC3050E61990\"5120share155473450471305879155473450503806574Mon, 08 Apr 2019 14:41:45 GMT\"0x8D6BC3052B8A414\"5120share155473450704204579Mon, 08 Apr 2019 14:41:47 GMT\"0x8D6BC3053DEF142\"5120share155473450855306043155473450872307814Mon, 08 Apr 2019 14:41:48 GMT\"0x8D6BC3054DF5FA3\"5120share155473452656102693Mon, 08 Apr 2019 14:42:06 GMT\"0x8D6BC305F832E74\"5120share155473452751203866155473452759608707Mon, 08 Apr 2019 14:42:07 GMT\"0x8D6BC306019B7BE\"5120share155473453016401763Mon, 08 Apr 2019 14:42:10 GMT\"0x8D6BC3061A718A5\"5120share155473453144608682155473453159403269Mon, 08 Apr 2019 14:42:11 GMT\"0x8D6BC306280AC92\"5120share155473453662701273155473453671007534Mon, 08 Apr 2019 14:42:16 GMT\"0x8D6BC30658DA53B\"5120share155473454493806127Mon, 08 Apr 2019 14:42:25 GMT\"0x8D6BC306A80FFCA\"5120share155473454766406718155473454798605644Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306C526A63\"5120share155473454885408589155473454889408297Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306CCBAC1B\"5120share155473455531307272155473455547503726Mon, 08 Apr 2019 14:42:35 GMT\"0x8D6BC3070C880EF\"5120share155473456298508198155473456305604832Mon, 08 Apr 2019 14:42:43 GMT\"0x8D6BC30754176D8\"5120share155473457035304465Mon, 08 Apr 2019 14:42:50 GMT\"0x8D6BC3079AD1280\"5120share155473457207902291155473457226309592Mon, 08 Apr 2019 14:42:52 GMT\"0x8D6BC307ABD6939\"5120share155473457381405301Mon, 08 Apr 2019 14:42:53 GMT\"0x8D6BC307BA554F0\"5120share155473457424906501155473457433400772Mon, 08 Apr 2019 14:42:54 GMT\"0x8D6BC307BF5A02B\"5120share155473459079300332155473459095407127Mon, 08 Apr 2019 14:43:11 GMT\"0x8D6BC3085EEA6C0\"5120share155473459710804634155473459712507679Mon, 08 Apr 2019 14:43:17 GMT\"0x8D6BC3089893A07\"5120share155473460239208483155473460248307905Mon, 08 Apr 2019 14:43:22 GMT\"0x8D6BC308CC03D5B\"5120share155473460627301747Mon, 08 Apr 2019 14:43:26 GMT\"0x8D6BC308F166326\"5120share155473461191303184155473461215007685Mon, 08 Apr 2019 14:43:32 GMT\"0x8D6BC309283A21C\"5120share155473465896305363155473465905601441Mon, 08 Apr 2019 14:44:19 GMT\"0x8D6BC30AE7954B9\"5120share155473475957902774Mon, 08 Apr 2019 14:45:59 GMT\"0x8D6BC30EA6481FA\"5120share155473476083109353155473476097609742Mon, 08 Apr 2019 14:46:01 GMT\"0x8D6BC30EB39884A\"5120share155473476726807566Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EEF33FDC\"5120share155473476746100635Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EF23300D\"5120share155473477012302696155473477045003815Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F0EB24C0\"5120share155473477072405685Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F11D1338\"5120share155473477140802459155473477144704421Mon, 08 Apr 2019 14:46:11 GMT\"0x8D6BC30F170F086\"5120share155473477249206448155473477266401927Mon, 08 Apr 2019 14:46:12 GMT\"0x8D6BC30F2329512\"5120share155473478823203814155473478825205786Mon, 08 Apr 2019 14:46:28 GMT\"0x8D6BC30FB75293E\"5120share155473479136803374Mon, 08 Apr 2019 14:46:31 GMT\"0x8D6BC30FD57C6D6\"5120share155473479266204971155473479281803186Mon, 08 Apr 2019 14:46:32 GMT\"0x8D6BC30FE3534B2\"5120share155473480100304003155473480112603676Mon, 08 Apr 2019 14:46:41 GMT\"0x8D6BC310329D9D4\"5120share155473480306601561155473480314406594Mon, 08 Apr 2019 14:46:43 GMT\"0x8D6BC31045BEA29\"5120share155473480640000894Mon, 08 Apr 2019 14:46:46 GMT\"0x8D6BC3106588942\"5120share155473480909907513155473480941802582Mon, 08 Apr 2019 14:46:49 GMT\"0x8D6BC3108258412\"5120share155473482284601258155473482302000606Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC3110403003\"5120share155473482346807389155473482354003411Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC311084DD46\"5120share155473486075707188155473486108207129Mon, 08 Apr 2019 14:47:41 GMT\"0x8D6BC3126EFFE93\"5120share155473491634009737Mon, 08 Apr 2019 14:48:36 GMT\"0x8D6BC3148074DE4\"5120share155473491776103356Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC3149271C83\"5120share155473491829107624155473491848606435Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC31491B7485\"5120share155473492039605902155473492058008609Mon, 08 Apr 2019 14:48:40 GMT\"0x8D6BC314A5A3B77\"5120share155473494644803778155473494654101281Mon, 08 Apr 2019 14:49:06 GMT\"0x8D6BC3159D3BB81\"5120share155473494988505571155473494997503463Mon, 08 Apr 2019 14:49:10 GMT\"0x8D6BC315BDF5889\"5120share155473504589508380Mon, 08 Apr 2019 14:50:45 GMT\"0x8D6BC31950DBB93\"5120share155473504755106401155473504772905196Mon, 08 Apr 2019 14:50:47 GMT\"0x8D6BC319625F582\"5120share155473507333906486155473507341004547Mon, 08 Apr 2019 14:51:13 GMT\"0x8D6BC31A5735C1B\"5120share155473508082805354Mon, 08 Apr 2019 14:51:20 GMT\"0x8D6BC31A9EAA61F\"5120share155473508343703505155473508378405955Mon, 08 Apr 2019 14:51:23 GMT\"0x8D6BC31ABAE240D\"5120share155473511673807490Mon, 08 Apr 2019 14:51:56 GMT\"0x8D6BC31BF405B40\"5120share155473511726907503155473511731603497Mon, 08 Apr 2019 14:51:57 GMT\"0x8D6BC31BF9744D7\"5120share155473512676901896Mon, 08 Apr 2019 14:52:06 GMT\"0x8D6BC31C545BA7B\"5120share155473512807902236155473512825108944Mon, 08 Apr 2019 14:52:08 GMT\"0x8D6BC31C6275C62\"5120share155473513050407263155473513067905072Mon, 08 Apr 2019 14:52:10 GMT\"0x8D6BC31C7A1FF9F\"5120share155473513462203992155473513463806811Mon, 08 Apr 2019 14:52:14 GMT\"0x8D6BC31C9EB6C87\"5120share155473515791202563155473515797500387Mon, 08 Apr 2019 14:52:38 GMT\"0x8D6BC31D7E08B0F\"5120share155473540087503802Mon, 08 Apr 2019 14:56:40 GMT\"0x8D6BC32689704D3\"5120share155473540135308638155473540140007991Mon, 08 Apr 2019 14:56:41 GMT\"0x8D6BC3268E7DC90\"5120share155473541865302883Mon, 08 Apr 2019 14:56:58 GMT\"0x8D6BC32734A2927\"5120share155473542133905271155473542168206950Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC32751882E8\"5120share155473542163709330155473542168408080Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC3274FF8FE4\"5120share155473545874807881Mon, 08 Apr 2019 14:57:38 GMT\"0x8D6BC328B1BFAF9\"5120share155473545934304563155473545945208605Mon, 08 Apr 2019 14:57:39 GMT\"0x8D6BC328B8BF073\"5120share155473546811406701155473546830200544Mon, 08 Apr 2019 14:57:48 GMT\"0x8D6BC3290E73592\"5120share155473546996700257Mon, 08 Apr 2019 14:57:49 GMT\"0x8D6BC3291C9FD28\"5120share155473547032804613155473547035904086Mon, 08 Apr 2019 14:57:50 GMT\"0x8D6BC329207D3FE\"5120share155473547643107314155473547644703911Mon, 08 Apr 2019 14:57:56 GMT\"0x8D6BC3295A9340F\"5120share155473550717605678155473550719206836Mon, 08 Apr 2019 14:58:27 GMT\"0x8D6BC32A7FBCAFA\"5120share155473570285307598Mon, 08 Apr 2019 15:01:42 GMT\"0x8D6BC331CA187F6\"5120share155473570414402008155473570428906711Mon, 08 Apr 2019 15:01:44 GMT\"0x8D6BC331D7C0D0A\"5120share155473573312304189155473573318500333Mon, 08 Apr 2019 15:02:13 GMT\"0x8D6BC332EB6100B\"5120share155473576580407113Mon, 08 Apr 2019 15:02:45 GMT\"0x8D6BC33421F5A27\"5120share155473576613205186155473576618304618Mon, 08 Apr 2019 15:02:46 GMT\"0x8D6BC334258F41B\"5120share155473578765705355155473578767306787Mon, 08 Apr 2019 15:03:07 GMT\"0x8D6BC334F2922D1\"5120share155473578934909083Mon, 08 Apr 2019 15:03:09 GMT\"0x8D6BC33503B037A\"5120share155473579710504080155473579792000573Mon, 08 Apr 2019 15:03:18 GMT\"0x8D6BC3355570EAD\"5120share155473581512706676Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335F851F43\"5120share155473581554903183155473581559605594Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335FCD21A0\"5120share155473583169403864155473583171007928Mon, 08 Apr 2019 15:03:51 GMT\"0x8D6BC336968FE48\"5120share155473584151407616155473584166900204Mon, 08 Apr 2019 15:04:01 GMT\"0x8D6BC336F6BEF3F\"5120share155473599014106282Mon, 08 Apr 2019 15:06:30 GMT\"0x8D6BC33C7EA549A\"5120share155473599315900980155473599355000904Mon, 08 Apr 2019 15:06:33 GMT\"0x8D6BC33C9F29249\"5120share155473604520700164155473604539400204Mon, 08 Apr 2019 15:07:25 GMT\"0x8D6BC33E8F9FDB7\"5120share155473606941100702Mon, 08 Apr 2019 15:07:49 GMT\"0x8D6BC33F7280CEB\"5120share155473607238805976155473607274809222Mon, 08 Apr 2019 15:07:52 GMT\"0x8D6BC33F9249098\"5120share155473611057600702Mon, 08 Apr 2019 15:08:30 GMT\"0x8D6BC340FA2E13C\"5120share155473611092106791155473611096707735Mon, 08 Apr 2019 15:08:31 GMT\"0x8D6BC340FDDE96B\"5120share155473612535100765155473612556701005Mon, 08 Apr 2019 15:08:45 GMT\"0x8D6BC3418A091D9\"5120share155473612778602729155473612781702150Mon, 08 Apr 2019 15:08:47 GMT\"0x8D6BC3419E8023E\"5120share155473635249902796Mon, 08 Apr 2019 15:12:32 GMT\"0x8D6BC349FE5CFD9\"5120share155473635542207038155473635579507042Mon, 08 Apr 2019 15:12:35 GMT\"0x8D6BC34A1DBD6B1\"5120share155473637099800926Mon, 08 Apr 2019 15:12:51 GMT\"0x8D6BC34AAE96E2A\"5120share155473637336209277155473637364305088Mon, 08 Apr 2019 15:12:53 GMT\"0x8D6BC34AC7D5496\"5120share155473640657006048155473640674303374Mon, 08 Apr 2019 15:13:26 GMT\"0x8D6BC34C038E5B6\"5120share155473640789802199Mon, 08 Apr 2019 15:13:28 GMT\"0x8D6BC34C0E9E276\"5120share155473641079805966155473641115205580Mon, 08 Apr 2019 15:13:31 GMT\"0x8D6BC34C2DA977F\"5120share155473642254503233155473642270104923Mon, 08 Apr 2019 15:13:42 GMT\"0x8D6BC34C9BA4706\"5120share155473647554301408Mon, 08 Apr 2019 15:14:35 GMT\"0x8D6BC34E93D7C8F\"5120share155473647857300940155473647893707155Mon, 08 Apr 2019 15:14:39 GMT\"0x8D6BC34EB4276BE\"5120share155473652457008250155473652474903372Mon, 08 Apr 2019 15:15:24 GMT\"0x8D6BC350690B81C\"5120share155473652560500457155473652577809590Mon, 08 Apr 2019 15:15:25 GMT\"0x8D6BC35072D5459\"5120share155473670806203485Mon, 08 Apr 2019 15:18:28 GMT\"0x8D6BC3573D380A0\"5120share155473671095607303155473671130406741Mon, 08 Apr 2019 15:18:31 GMT\"0x8D6BC3575C2A2FC\"5120share155473674273801051Mon, 08 Apr 2019 15:19:02 GMT\"0x8D6BC35887F7270\"5120share155473674601006727155473674636602284Mon, 08 Apr 2019 15:19:06 GMT\"0x8D6BC358AA8C28E\"5120share155473676553905931155473676583602877Mon, 08 Apr 2019 15:19:25 GMT\"0x8D6BC359642887A\"5120share155473679548202593155473679565909714Mon, 08 Apr 2019 15:19:55 GMT\"0x8D6BC35A80AE264\"5120share155473686802409334Mon, 08 Apr 2019 15:21:08 GMT\"0x8D6BC35D32BE4F1\"5120share155473687084103771155473687119904765Mon, 08 Apr 2019 15:21:11 GMT\"0x8D6BC35D51023E2\"5120share155473689718209043Mon, 08 Apr 2019 15:21:37 GMT\"0x8D6BC35E48C5A6E\"5120share155473690003202575155473690038306662Mon, 08 Apr 2019 15:21:40 GMT\"0x8D6BC35E6753C30\"5120share155473692570603487155473692589603604Mon, 08 Apr 2019 15:22:06 GMT\"0x8D6BC35F5A9C8C6\"5120share155473694547006047155473694564405606Mon, 08 Apr 2019 15:22:25 GMT\"0x8D6BC36016FD1FA\"5120share155473710422903975Mon, 08 Apr 2019 15:25:04 GMT\"0x8D6BC365FF3A44B\"5120share155473710726803348155473710762206301Mon, 08 Apr 2019 15:25:07 GMT\"0x8D6BC3661FA21A2\"5120share155473712980409197Mon, 08 Apr 2019 15:25:29 GMT\"0x8D6BC366F335D07\"5120share155473713295307278155473713334900217Mon, 08 Apr 2019 15:25:33 GMT\"0x8D6BC367150A1CF\"5120share155473715357508120155473715375103679Mon, 08 Apr 2019 15:25:53 GMT\"0x8D6BC367D773379\"5120share155473717923909016155473717941808839Mon, 08 Apr 2019 15:26:19 GMT\"0x8D6BC368CC5F34E\"5120share155473747769904699Mon, 08 Apr 2019 15:31:17 GMT\"0x8D6BC373E93904E\"5120share155473748071405205155473748108105811Mon, 08 Apr 2019 15:31:21 GMT\"0x8D6BC374095A2E4\"5120share155473753005202135155473753023108048Mon, 08 Apr 2019 15:32:10 GMT\"0x8D6BC375DE09D13\"5120share155473948835202134Mon, 08 Apr 2019 16:04:48 GMT\"0x8D6BC3BECF939E7\"5120share155473948933109534155473948941307935Mon, 08 Apr 2019 16:04:49 GMT\"0x8D6BC3BED92E329\"5120share155473949761606382Mon, 08 Apr 2019 16:04:57 GMT\"0x8D6BC3BF2732BBE\"5120share155473949799001145155473949801708441Mon, 08 Apr 2019 16:04:58 GMT\"0x8D6BC3BF2B07273\"5120share155473951017007937155473951025903980Mon, 08 Apr 2019 16:05:10 GMT\"0x8D6BC3BF9FFE66B\"5120share155473951340407009155473951341609626Mon, 08 Apr 2019 16:05:13 GMT\"0x8D6BC3BFBDE60C8\"5120share155473953991108413Mon, 08 Apr 2019 16:05:40 GMT\"0x8D6BC3C0BDC1FB6\"5120share155473954320004620155473954353308452Mon, 08 Apr 2019 16:05:43 GMT\"0x8D6BC3C0DE76705\"5120share155473954799505772Mon, 08 Apr 2019 16:05:49 GMT\"0x8D6BC3C1150A660\"5120share155473955429103705155473955617200174Mon, 08 Apr 2019 16:05:56 GMT\"0x8D6BC3C15706272\"5120share155473959536203873155473959553202967Mon, 08 Apr 2019 16:06:35 GMT\"0x8D6BC3C2CE5AEE3\"5120share155473960405107051155473960421504781Mon, 08 Apr 2019 16:06:44 GMT\"0x8D6BC3C3211DE08\"5120share155473971175505074Mon, 08 Apr 2019 16:08:31 GMT\"0x8D6BC3C7231FB97\"5120share155473971336305849155473971356703112Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C73351960\"5120share155473971348402768Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7320D102\"5120share155473971380809201155473971384101973Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7357062C\"5120share155473972746708476155473972748002650Mon, 08 Apr 2019 16:08:47 GMT\"0x8D6BC3C7B78115A\"5120share155473974796501931155473974804802831Mon, 08 Apr 2019 16:09:08 GMT\"0x8D6BC3C87C1A66B\"5120share155473982991308873Mon, 08 Apr 2019 16:10:30 GMT\"0x8D6BC3CB89EEB4F\"5120share155473983165307311155473983183507080Mon, 08 Apr 2019 16:10:31 GMT\"0x8D6BC3CB9B09319\"5120share155473987452302874Mon, 08 Apr 2019 16:11:14 GMT\"0x8D6BC3CD336A0D3\"5120share155473987630005857155473987648508819Mon, 08 Apr 2019 16:11:16 GMT\"0x8D6BC3CD44B29DE\"5120share155473988002501138155473988011500836Mon, 08 Apr 2019 16:11:20 GMT\"0x8D6BC3CD6770663\"5120share155473990554307953155473990563408863Mon, 08 Apr 2019 16:11:45 GMT\"0x8D6BC3CE5AAB38B\"5120share155473992325308801Mon, 08 Apr 2019 16:12:03 GMT\"0x8D6BC3CF02FD95D\"5120share155473992552700191155473992579406764Mon, 08 Apr 2019 16:12:05 GMT\"0x8D6BC3CF1B3CFCD\"5120share155473995701903272155473995709800218Mon, 08 Apr 2019 16:12:37 GMT\"0x8D6BC3D045BF61B\"5120share155473996033701859Mon, 08 Apr 2019 16:12:40 GMT\"0x8D6BC3D065500D9\"5120share155473996306703342155473996338809095Mon, 08 Apr 2019 16:12:43 GMT\"0x8D6BC3D08273FBB\"5120share155474001203201466155474001219306818Mon, 08 Apr 2019 16:13:32 GMT\"0x8D6BC3D253ECF12\"5120share155474022752502668Mon, 08 Apr 2019 16:17:07 GMT\"0x8D6BC3DA58B4EC3\"5120share155474022883807337155474022899102360Mon, 08 Apr 2019 16:17:09 GMT\"0x8D6BC3DA66B413A\"5120share155474026368506311155474026376001016Mon, 08 Apr 2019 16:17:43 GMT\"0x8D6BC3DBB2470FF\"5120share155474027191009670Mon, 08 Apr 2019 16:17:51 GMT\"0x8D6BC3DC00037D1\"5120share155474027317107051155474027345603228Mon, 08 Apr 2019 16:17:53 GMT\"0x8D6BC3DC0EC5C98\"5120share155474030699904722155474030707806924Mon, 08 Apr 2019 16:18:27 GMT\"0x8D6BC3DD4F722C0\"5120share155474058573208591Mon, 08 Apr 2019 16:23:05 GMT\"0x8D6BC3E7B07EC34\"5120share155474058631100433155474058635707803Mon, 08 Apr 2019 16:23:06 GMT\"0x8D6BC3E7B67E06E\"5120share155474060436006648155474060439106751Mon, 08 Apr 2019 16:23:24 GMT\"0x8D6BC3E86265EA1\"5120share155474064796409027Mon, 08 Apr 2019 16:24:07 GMT\"0x8D6BC3EA0201A02\"5120share155474064840309943155474064844902242Mon, 08 Apr 2019 16:24:08 GMT\"0x8D6BC3EA06B5B8D\"5120share155474067289302482155474067292503013Mon, 08 Apr 2019 16:24:32 GMT\"0x8D6BC3EAF00AFEE\"5120share155474086901801882Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F23E282B1\"5120share155474086954109748155474086958803624Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F24374811\"5120share155474088621300424155474088622906592Mon, 08 Apr 2019 16:28:06 GMT\"0x8D6BC3F2E2332FA\"5120share155474093395702129Mon, 08 Apr 2019 16:28:54 GMT\"0x8D6BC3F4A9D178A\"5120share155474093519404097155474093535009888Mon, 08 Apr 2019 16:28:55 GMT\"0x8D6BC3F4B7159A6\"5120share155474096256205947155474096264104492Mon, 08 Apr 2019 16:29:22 GMT\"0x8D6BC3F5BB55B22\"5120share155474120234905361Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEA8F38F7\"5120share155474120277303521155474120282004590Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEAD6B1F4\"5120share155474122235007706155474122238101841Mon, 08 Apr 2019 16:33:42 GMT\"0x8D6BC3FF67E28D8\"5120share155474130460202574Mon, 08 Apr 2019 16:35:04 GMT\"0x8D6BC4027827D1E\"5120share155474130505607014155474130510207894Mon, 08 Apr 2019 16:35:05 GMT\"0x8D6BC4027CE6AB0\"5120share155474132647203580155474132648706944Mon, 08 Apr 2019 16:35:26 GMT\"0x8D6BC40348D5AE5\"5120share155474145926306657Mon, 08 Apr 2019 16:37:39 GMT\"0x8D6BC4083C48D46\"5120share155474146223405247155474146260700472Mon, 08 Apr 2019 16:37:42 GMT\"0x8D6BC4085C2BC8D\"5120share155474150898003062155474150915407050Mon, 08 Apr 2019 16:38:29 GMT\"0x8D6BC40A17F8E16\"5120share155474154328005331Mon, 08 Apr 2019 16:39:03 GMT\"0x8D6BC40B5D7588F\"5120share155474154615909592155474154651809449Mon, 08 Apr 2019 16:39:06 GMT\"0x8D6BC40B7C61D1A\"5120share155474160184400659155474160202305300Mon, 08 Apr 2019 16:40:02 GMT\"0x8D6BC40D8D9D9ED\"5120share155474185416600555Mon, 08 Apr 2019 16:44:14 GMT\"0x8D6BC416F233C68\"5120share155474185723002510155474185758501557Mon, 08 Apr 2019 16:44:17 GMT\"0x8D6BC41712CFFA6\"5120share155474190327502820155474190345208840Mon, 08 Apr 2019 16:45:03 GMT\"0x8D6BC418C848342\"5120share155474190490704897Mon, 08 Apr 2019 16:45:05 GMT\"0x8D6BC418D621561\"5120share155474190776907277155474190812601855Mon, 08 Apr 2019 16:45:08 GMT\"0x8D6BC418F4CE08B\"5120share155474196241703778155474196259800062Mon, 08 Apr 2019 16:46:02 GMT\"0x8D6BC41AFC3DCE9\"5120share155474220129806013Mon, 08 Apr 2019 16:50:01 GMT\"0x8D6BC423E133CD2\"5120share155474220456406280155474220494907802Mon, 08 Apr 2019 16:50:05 GMT\"0x8D6BC42403CC9EA\"5120share155474225992109422155474226010703254Mon, 08 Apr 2019 16:51:00 GMT\"0x8D6BC42611C57BE\"5120share155474226931208866Mon, 08 Apr 2019 16:51:09 GMT\"0x8D6BC4266952B13\"5120share155474227223302689155474227258508558Mon, 08 Apr 2019 16:51:12 GMT\"0x8D6BC4268893BA8\"5120share155474232327306240155474232345203219Mon, 08 Apr 2019 16:52:03 GMT\"0x8D6BC4286D91D07\"5120share155474395428107727Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652D4C42C\"5120share155474395452802100155474395455608057Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652FEBFA5\"5120share155474397065201372155474397066502723Mon, 08 Apr 2019 17:19:30 GMT\"0x8D6BC465C9898E6\"5120share155474400115800733Mon, 08 Apr 2019 17:20:01 GMT\"0x8D6BC466ECED480\"5120share155474400363001910155474400379000022Mon, 08 Apr 2019 17:20:03 GMT\"0x8D6BC4670608DBE\"5120share155474403669903880155474403677708604Mon, 08 Apr 2019 17:20:36 GMT\"0x8D6BC4684093633\"5120share155474419672100811Mon, 08 Apr 2019 17:23:16 GMT\"0x8D6BC46E3613195\"5120share155474419764009306155474419772402506Mon, 08 Apr 2019 17:23:17 GMT\"0x8D6BC46E3F21E5B\"5120share155474422388106104155474422392207070Mon, 08 Apr 2019 17:23:43 GMT\"0x8D6BC46F38FA2DB\"5120share155474423646003586Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB075CAA\"5120share155474423673307035155474423676300424Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB346115\"5120share155474424402506390Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FF8AB361\"5120share155474424449101262155474424456708485Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FFDCA1DF\"5120share155474425601609100155474425602909189Mon, 08 Apr 2019 17:24:16 GMT\"0x8D6BC4706B02D7E\"5120share155474427118802638155474427121009813Mon, 08 Apr 2019 17:24:31 GMT\"0x8D6BC470FBE0D2D\"5120share155474428001309991Mon, 08 Apr 2019 17:24:40 GMT\"0x8D6BC4715045886\"5120share155474428159504724155474428175001137Mon, 08 Apr 2019 17:24:41 GMT\"0x8D6BC47160D398B\"5120share155474431811601666155474431819004651Mon, 08 Apr 2019 17:25:18 GMT\"0x8D6BC472BC57B36\"5120share155474441621600039Mon, 08 Apr 2019 17:26:56 GMT\"0x8D6BC47664CFDB3\"5120share155474441808000887155474441826501887Mon, 08 Apr 2019 17:26:58 GMT\"0x8D6BC47676B5E28\"5120share155474444280401127Mon, 08 Apr 2019 17:27:22 GMT\"0x8D6BC4776037219\"5120share155474444312107191155474444315009298Mon, 08 Apr 2019 17:27:23 GMT\"0x8D6BC477638688C\"5120share155474444907607144155474444916600860Mon, 08 Apr 2019 17:27:29 GMT\"0x8D6BC4779D51767\"5120share155474446097609507155474446099204230Mon, 08 Apr 2019 17:27:41 GMT\"0x8D6BC4780DAFC9D\"5120share155474446503807882Mon, 08 Apr 2019 17:27:45 GMT\"0x8D6BC478357DE0F\"5120share155474446772807781155474446805003083Mon, 08 Apr 2019 17:27:48 GMT\"0x8D6BC47852352EF\"5120share155474453274207529155474453290606263Mon, 08 Apr 2019 17:28:53 GMT\"0x8D6BC47ABCD89D2\"5120share155474456707309057Mon, 08 Apr 2019 17:29:27 GMT\"0x8D6BC47C01E9B8E\"5120share155474456856906969155474456873102857Mon, 08 Apr 2019 17:29:28 GMT\"0x8D6BC47C11BABE1\"5120share155474459866304821155474459879204899Mon, 08 Apr 2019 17:29:58 GMT\"0x8D6BC47D30694D4\"5120share155474460938005724Mon, 08 Apr 2019 17:30:09 GMT\"0x8D6BC47D9696D4A\"5120share155474461109303504155474461129505111Mon, 08 Apr 2019 17:30:11 GMT\"0x8D6BC47DA77FFFD\"5120share155474464325008544155474464333905921Mon, 08 Apr 2019 17:30:43 GMT\"0x8D6BC47ED91A19C\"5120share155474476466104389Mon, 08 Apr 2019 17:32:44 GMT\"0x8D6BC4835E350D0\"5120share155474476781604399155474476797007813Mon, 08 Apr 2019 17:32:48 GMT\"0x8D6BC4837DC08B7\"5120share155474480038605885155474480046100073Mon, 08 Apr 2019 17:33:20 GMT\"0x8D6BC484B3A3D4F\"5120share155474492660408902Mon, 08 Apr 2019 17:35:26 GMT\"0x8D6BC48966A5D95\"5120share155474492789003702155474492806209895Mon, 08 Apr 2019 17:35:28 GMT\"0x8D6BC4897485BA7\"5120share155474495477607990155474495485501755Mon, 08 Apr 2019 17:35:54 GMT\"0x8D6BC48A7424CAA\"5120share155474510686309923Mon, 08 Apr 2019 17:38:26 GMT\"0x8D6BC4901D74A82\"5120share155474510733205807155474510739507235Mon, 08 Apr 2019 17:38:27 GMT\"0x8D6BC4902289FBC\"5120share155474512958602801155474512961701409Mon, 08 Apr 2019 17:38:49 GMT\"0x8D6BC490F660BF7\"5120share155474528378801613Mon, 08 Apr 2019 17:41:23 GMT\"0x8D6BC496B4DCE46\"5120share155474528428104775155474528432801850Mon, 08 Apr 2019 17:41:24 GMT\"0x8D6BC496B9F1952\"5120share155474530034400913155474530037609036Mon, 08 Apr 2019 17:41:40 GMT\"0x8D6BC4975307733\"5120share155474532759507612Mon, 08 Apr 2019 17:42:07 GMT\"0x8D6BC498570D5C7\"5120share155474532839002825155474532846907369Mon, 08 Apr 2019 17:42:08 GMT\"0x8D6BC4985EBDD8C\"5120share155474535921501065155474535929800232Mon, 08 Apr 2019 17:42:39 GMT\"0x8D6BC49984C13E3\"5120share155474537100109299Mon, 08 Apr 2019 17:42:51 GMT\"0x8D6BC499F4C10CA\"5120share155474537235108861155474537250407032Mon, 08 Apr 2019 17:42:52 GMT\"0x8D6BC49A0305CFF\"5120share155474541020101924155474541028002160Mon, 08 Apr 2019 17:43:30 GMT\"0x8D6BC49B6B4AF7E\"5120share155474544328204718Mon, 08 Apr 2019 17:44:03 GMT\"0x8D6BC49CA608EEF\"5120share155474544450809675155474544464306068Mon, 08 Apr 2019 17:44:04 GMT\"0x8D6BC49CB30EE65\"5120share155474547397901682155474547404107590Mon, 08 Apr 2019 17:44:34 GMT\"0x8D6BC49DCB70CEE\"5120share155474556387801910Mon, 08 Apr 2019 17:46:04 GMT\"0x8D6BC4A125905BF\"5120share155474556547705866155474556565103636Mon, 08 Apr 2019 17:46:05 GMT\"0x8D6BC4A135404E9\"5120share155474560156806705155474560165207088Mon, 08 Apr 2019 17:46:41 GMT\"0x8D6BC4A28C98302\"5120share155474560980908891Mon, 08 Apr 2019 17:46:49 GMT\"0x8D6BC4A2DA3B8E2\"5120share155474561182205540155474561197600824Mon, 08 Apr 2019 17:46:52 GMT\"0x8D6BC4A2EEE39CE\"5120share155474564080602364155474564088209498Mon, 08 Apr 2019 17:47:20 GMT\"0x8D6BC4A40288917\"5120share155474566731408854Mon, 08 Apr 2019 17:47:47 GMT\"0x8D6BC4A4FEA5939\"5120share155474566853502348155474566872402545Mon, 08 Apr 2019 17:47:48 GMT\"0x8D6BC4A50BFC502\"5120share155474569590807294155474569598604999Mon, 08 Apr 2019 17:48:16 GMT\"0x8D6BC4A60FFBEB6\"5120share155474604565500976Mon, 08 Apr 2019 17:54:05 GMT\"0x8D6BC4B3166FA66\"5120share155474604628207297155474604631306384Mon, 08 Apr 2019 17:54:06 GMT\"0x8D6BC4B31CABCDE\"5120share155474606600908658155474606602509076Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3D89E538\"5120share155474606603205608Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3DA28FD4\"5120share155474606780105190155474606799103841Mon, 08 Apr 2019 17:54:28 GMT\"0x8D6BC4B3EBA25ED\"5120share155474610134800398155474610144002605Mon, 08 Apr 2019 17:55:01 GMT\"0x8D6BC4B52AA1A8E\"5120share155474619445207539Mon, 08 Apr 2019 17:56:34 GMT\"0x8D6BC4B8A26DB79\"5120share155474619701203581155474619733105936Mon, 08 Apr 2019 17:56:37 GMT\"0x8D6BC4B8BDEA41E\"5120share155474624396206673155474624412309828Mon, 08 Apr 2019 17:57:24 GMT\"0x8D6BC4BA7C2EA49\"5120share155474635564303302Mon, 08 Apr 2019 17:59:15 GMT\"0x8D6BC4BEA3C58B3\"5120share155474635860300315155474635896907344Mon, 08 Apr 2019 17:59:19 GMT\"0x8D6BC4BEC382947\"5120share155474640507900921155474640526006359Mon, 08 Apr 2019 18:00:05 GMT\"0x8D6BC4C07C7F4A3\"5120share155474645415109948Mon, 08 Apr 2019 18:00:54 GMT\"0x8D6BC4C24EC0921\"5120share155474645495200953155474645503501899Mon, 08 Apr 2019 18:00:55 GMT\"0x8D6BC4C25682D46\"5120share155474647318704154155474647322607411Mon, 08 Apr 2019 18:01:13 GMT\"0x8D6BC4C304039B7\"5120share155474654875803895Mon, 08 Apr 2019 18:02:28 GMT\"0x8D6BC4C5D4572AB\"5120share155474654921902498155474654926509052Mon, 08 Apr 2019 18:02:29 GMT\"0x8D6BC4C5D91BE8E\"5120share155474656399405825155474656401705254Mon, 08 Apr 2019 18:02:44 GMT\"0x8D6BC4C665CCFF1\"5120share155474663529602310Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C90D93648\"5120share155474663583606041155474663588408448Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C9132CC5D\"5120share155474665477303348155474665479205559Mon, 08 Apr 2019 18:04:14 GMT\"0x8D6BC4C9C77182B\"5120share155474669690608062Mon, 08 Apr 2019 18:04:57 GMT\"0x8D6BC4CB5AC4D07\"5120share155474669879809471155474669896601486Mon, 08 Apr 2019 18:04:59 GMT\"0x8D6BC4CB6D26C35\"5120share155474672916802677Mon, 08 Apr 2019 18:05:29 GMT\"0x8D6BC4CC8E553A9\"5120share155474673083607637155474673100708355Mon, 08 Apr 2019 18:05:31 GMT\"0x8D6BC4CC9EC2AC2\"5120share155474673381104012155474673389309631Mon, 08 Apr 2019 18:05:33 GMT\"0x8D6BC4CCBA3AC18\"5120share155474676371808387155474676380208185Mon, 08 Apr 2019 18:06:03 GMT\"0x8D6BC4CDD786B55\"5120share155474679470603196Mon, 08 Apr 2019 18:06:34 GMT\"0x8D6BC4CEFEF94B0\"5120share155474679772603000155474679809202072Mon, 08 Apr 2019 18:06:38 GMT\"0x8D6BC4CF1F46892\"5120share155474680013008562Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3197928\"5120share155474680057503718155474680062404689Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3641213\"5120share155474681409208639Mon, 08 Apr 2019 18:06:54 GMT\"0x8D6BC4CFB756E96\"5120share155474681491505363155474681500105289Mon, 08 Apr 2019 18:06:55 GMT\"0x8D6BC4CFBF71FC4\"5120share155474681788207900155474681791008047Mon, 08 Apr 2019 18:06:57 GMT\"0x8D6BC4CFDB1BD22\"5120share155474683477100690155474683481200041Mon, 08 Apr 2019 18:07:14 GMT\"0x8D6BC4D07C681B1\"5120share155474684393709385155474684411407379Mon, 08 Apr 2019 18:07:24 GMT\"0x8D6BC4D0D63FA6E\"5120share155474686284305068Mon, 08 Apr 2019 18:07:42 GMT\"0x8D6BC4D188C7C32\"5120share155474686561509852155474686593903986Mon, 08 Apr 2019 18:07:46 GMT\"0x8D6BC4D1A6403C0\"5120share155474690869707233155474690886001558Mon, 08 Apr 2019 18:08:29 GMT\"0x8D6BC4D33F9C1DF\"5120share155474696608300776Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56048CF2\"5120share155474696666108703155474696672401866Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56667A7D\"5120share155474696667806001Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D565D032B\"5120share155474696710902421155474696715108905Mon, 08 Apr 2019 18:09:27 GMT\"0x8D6BC4D56A57B13\"5120share155474698267801977155474698269406976Mon, 08 Apr 2019 18:09:42 GMT\"0x8D6BC4D5FE9CFEB\"5120share155474698299707221155474698301501809Mon, 08 Apr 2019 18:09:43 GMT\"0x8D6BC4D6019DBEC\"5120share155474704723809460Mon, 08 Apr 2019 18:10:47 GMT\"0x8D6BC4D86616E64\"5120share155474704881708545155474704884801268Mon, 08 Apr 2019 18:10:48 GMT\"0x8D6BC4D875756B5\"5120share155474707588406604155474707589701120Mon, 08 Apr 2019 18:11:15 GMT\"0x8D6BC4D9776A8E6\"5120share155474710586101865Mon, 08 Apr 2019 18:11:46 GMT\"0x8D6BC4DA96742CF\"5120share155474710874902656155474710916109774Mon, 08 Apr 2019 18:11:49 GMT\"0x8D6BC4DAB5EA4FD\"5120share155474714764003348Mon, 08 Apr 2019 18:12:27 GMT\"0x8D6BC4DC2406D42\"5120share155474714885103041155474714908804672Mon, 08 Apr 2019 18:12:29 GMT\"0x8D6BC4DC31DB2D0\"5120share155474715492307420155474715509608519Mon, 08 Apr 2019 18:12:35 GMT\"0x8D6BC4DC6BE914E\"5120share155474717400802142155474717408307060Mon, 08 Apr 2019 18:12:54 GMT\"0x8D6BC4DD203F71A\"5120share155474719947106777Mon, 08 Apr 2019 18:13:19 GMT\"0x8D6BC4DE1259CEC\"5120share155474720071400394155474720086808994Mon, 08 Apr 2019 18:13:20 GMT\"0x8D6BC4DE1FB2C1C\"5120share155474722844105131155474722851407454Mon, 08 Apr 2019 18:13:48 GMT\"0x8D6BC4DF275C194\"5120share155474724530509593Mon, 08 Apr 2019 18:14:05 GMT\"0x8D6BC4DFC812038\"5120share155474724621607823155474724633006743Mon, 08 Apr 2019 18:14:06 GMT\"0x8D6BC4DFD13BB0C\"5120share155474726666905801155474726671207462Mon, 08 Apr 2019 18:14:26 GMT\"0x8D6BC4E093975C6\"5120share155474727008806902Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B35A990\"5120share155474727036204896155474727039307966Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B643FD7\"5120share155474728638006622155474728639406421Mon, 08 Apr 2019 18:14:46 GMT\"0x8D6BC4E14EDE4DD\"5120share155474729223702314Mon, 08 Apr 2019 18:14:52 GMT\"0x8D6BC4E1883AF97\"5120share155474729398209223155474729415606986Mon, 08 Apr 2019 18:14:54 GMT\"0x8D6BC4E1996C534\"5120share155474732221000573155474732230701553Mon, 08 Apr 2019 18:15:22 GMT\"0x8D6BC4E2A5ED5C9\"5120share155474751582509818Mon, 08 Apr 2019 18:18:35 GMT\"0x8D6BC4E9DC20155\"5120share155474751847902848155474751880304541Mon, 08 Apr 2019 18:18:38 GMT\"0x8D6BC4E9F8866A6\"5120share155474756081401285155474756097802660Mon, 08 Apr 2019 18:19:21 GMT\"0x8D6BC4EB8AB9F43\"5120share155474764980601427Mon, 08 Apr 2019 18:20:49 GMT\"0x8D6BC4EED934290\"5120share155474765102608011155474765118001858Mon, 08 Apr 2019 18:20:51 GMT\"0x8D6BC4EEE645AD6\"5120share155474767844107090155474767851403828Mon, 08 Apr 2019 18:21:18 GMT\"0x8D6BC4EFEAFA117\"5120share155474777133007169Mon, 08 Apr 2019 18:22:51 GMT\"0x8D6BC4F360D39E0\"5120share155474777420508076155474777458205278Mon, 08 Apr 2019 18:22:54 GMT\"0x8D6BC4F37FD9082\"5120share155474782123305443155474782141203648Mon, 08 Apr 2019 18:23:41 GMT\"0x8D6BC4F53E76F8F\"5120share155474792521906873Mon, 08 Apr 2019 18:25:25 GMT\"0x8D6BC4F91C00B2D\"5120share155474792672406349155474792689607120Mon, 08 Apr 2019 18:25:26 GMT\"0x8D6BC4F92BF41A5\"5120share155474795499605887155474795507404540Mon, 08 Apr 2019 18:25:55 GMT\"0x8D6BC4FA38B9AA0\"5120share155474822362107235Mon, 08 Apr 2019 18:30:23 GMT\"0x8D6BC5043ABE5D7\"5120share155474822547905552155474822566503828Mon, 08 Apr 2019 18:30:25 GMT\"0x8D6BC5044CCFF4D\"5120share155474825450002272Mon, 08 Apr 2019 18:30:54 GMT\"0x8D6BC505606CF1A\"5120share155474825533607080155474825542104437Mon, 08 Apr 2019 18:30:55 GMT\"0x8D6BC505686D3D6\"5120share155474826343607595155474826352605234Mon, 08 Apr 2019 18:31:03 GMT\"0x8D6BC505B5DE52C\"5120share155474827685603862155474827689907496Mon, 08 Apr 2019 18:31:16 GMT\"0x8D6BC5063545C5E\"5120share155474842455807202Mon, 08 Apr 2019 18:33:44 GMT\"0x8D6BC50BB5C6059\"5120share155474842593805305155474842618709355Mon, 08 Apr 2019 18:33:46 GMT\"0x8D6BC50BC548613\"5120share155474845712203961155474845720102349Mon, 08 Apr 2019 18:34:17 GMT\"0x8D6BC50CED0751B\"5120share155474851989103047Mon, 08 Apr 2019 18:35:20 GMT\"0x8D6BC50F439CEBD\"5120share155474852265103180155474852297608630Mon, 08 Apr 2019 18:35:23 GMT\"0x8D6BC50F60FE06F\"5120share155474856529703557155474856545809970Mon, 08 Apr 2019 18:36:05 GMT\"0x8D6BC510F628BE7\"5120share155474862305404605Mon, 08 Apr 2019 18:37:03 GMT\"0x8D6BC5131BE75BB\"5120share155474862481702492155474862500803609Mon, 08 Apr 2019 18:37:05 GMT\"0x8D6BC5132D530CA\"5120share155474865512509351155474865521506832Mon, 08 Apr 2019 18:37:35 GMT\"0x8D6BC5144D5E753\"5120share155474870412106342Mon, 08 Apr 2019 18:38:24 GMT\"0x8D6BC5162083EB9\"5120share155474870684104116155474870719906918Mon, 08 Apr 2019 18:38:27 GMT\"0x8D6BC5163DEAE18\"5120share155474875502604717Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC518068CB51\"5120share155474875557809078155474875573600049Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC5180CD01EA\"5120share155474875683104451155474875706500491Mon, 08 Apr 2019 18:39:17 GMT\"0x8D6BC51818B1C32\"5120share155474876604802975Mon, 08 Apr 2019 18:39:26 GMT\"0x8D6BC5186FB8011\"5120share155474876778709469155474876797603028Mon, 08 Apr 2019 18:39:28 GMT\"0x8D6BC51880D150D\"5120share155474877226205113Mon, 08 Apr 2019 18:39:32 GMT\"0x8D6BC518AA58C3A\"5120share155474877988808105155474878023800882Mon, 08 Apr 2019 18:39:40 GMT\"0x8D6BC518F67A761\"5120share155474878504902158155474878514102127Mon, 08 Apr 2019 18:39:45 GMT\"0x8D6BC51924743E0\"5120share155474879904507665155474879913808712Mon, 08 Apr 2019 18:39:59 GMT\"0x8D6BC519A9FFA28\"5120share155474883971704235155474883989002060Mon, 08 Apr 2019 18:40:40 GMT\"0x8D6BC51B2F5410B\"5120share155474895443200422Mon, 08 Apr 2019 18:42:34 GMT\"0x8D6BC51F7300E6A\"5120share155474895566809136155474895588301714Mon, 08 Apr 2019 18:42:35 GMT\"0x8D6BC51F80D6C4C\"5120share155474896838202554Mon, 08 Apr 2019 18:42:48 GMT\"0x8D6BC51FF835B22\"5120share155474896915009736155474896928809624Mon, 08 Apr 2019 18:42:49 GMT\"0x8D6BC520005E534\"5120share155474898685302363155474898693207903Mon, 08 Apr 2019 18:43:06 GMT\"0x8D6BC520A8EDD71\"5120share155474899671807820155474899675701753Mon, 08 Apr 2019 18:43:16 GMT\"0x8D6BC521064BB0E\"5120share155474900170804980Mon, 08 Apr 2019 18:43:21 GMT\"0x8D6BC5213688AEE\"5120share155474900446104881155474900478303498Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC52153F290F\"5120share155474900478202392Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC521534B0CD\"5120share155474900621503198155474900638807694Mon, 08 Apr 2019 18:43:26 GMT\"0x8D6BC521621F4B4\"5120share155474903093006954155474903096909495Mon, 08 Apr 2019 18:43:50 GMT\"0x8D6BC5224C88087\"5120share155474905171200031155474905187104138Mon, 08 Apr 2019 18:44:12 GMT\"0x8D6BC52314F5A13\"5120share155474913858202107Mon, 08 Apr 2019 18:45:38 GMT\"0x8D6BC5264FECE1C\"5120share155474914273604018155474914312306205Mon, 08 Apr 2019 18:45:43 GMT\"0x8D6BC5267B555AF\"5120share155474914489100606Mon, 08 Apr 2019 18:45:45 GMT\"0x8D6BC5268C1F87E\"5120share155474914750802214155474914783504293Mon, 08 Apr 2019 18:45:47 GMT\"0x8D6BC526A82A433\"5120share155474919136809108155474919154203324Mon, 08 Apr 2019 18:46:31 GMT\"0x8D6BC52848F8344\"5120share155474919327503331155474919343404304Mon, 08 Apr 2019 18:46:33 GMT\"0x8D6BC5285B0D968\"5120share155474927082201518Mon, 08 Apr 2019 18:47:50 GMT\"0x8D6BC52B3BE1A62\"5120share155474927121603014155474927124704852Mon, 08 Apr 2019 18:47:51 GMT\"0x8D6BC52B3FE94D0\"5120share155474929649300500155474929650801830Mon, 08 Apr 2019 18:48:16 GMT\"0x8D6BC52C30DA197\"5120share155475022991701076Mon, 08 Apr 2019 19:03:49 GMT\"0x8D6BC54EF66AE7B\"5120share155475023045507997155475023060306179Mon, 08 Apr 2019 19:03:50 GMT\"0x8D6BC54EFCF3C54\"5120share155475024473800763155475024475203535Mon, 08 Apr 2019 19:04:04 GMT\"0x8D6BC54F83E4AA6\"5120share155475027927205466Mon, 08 Apr 2019 19:04:39 GMT\"0x8D6BC550CEAF817\"5120share155475028090305599155475028109407948Mon, 08 Apr 2019 19:04:41 GMT\"0x8D6BC550DEFBA30\"5120share155475030796503201155475030805008793Mon, 08 Apr 2019 19:05:08 GMT\"0x8D6BC551E00631C\"5120share155475041406903684Mon, 08 Apr 2019 19:06:54 GMT\"0x8D6BC555D34B450\"5120share155475041790102406155475041806802740Mon, 08 Apr 2019 19:06:58 GMT\"0x8D6BC555F9662A7\"5120share155475042680803797Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC5564E7657C\"5120share155475042776807591155475042785606789Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC556566798D\"5120share155475044710607711155475044714607622Mon, 08 Apr 2019 19:07:27 GMT\"0x8D6BC5570E5E30C\"5120share155475044970802609155475044979502269Mon, 08 Apr 2019 19:07:29 GMT\"0x8D6BC55727FE091\"5120share155475046331802443Mon, 08 Apr 2019 19:07:43 GMT\"0x8D6BC557A99FD7F\"5120share155475046684305327155475046716402258Mon, 08 Apr 2019 19:07:47 GMT\"0x8D6BC557CE43085\"5120share155475051216806431155475051232806509Mon, 08 Apr 2019 19:08:32 GMT\"0x8D6BC5597CF5D98\"5120share155475052082206243Mon, 08 Apr 2019 19:08:40 GMT\"0x8D6BC559CCBD36E\"5120share155475052121006971155475052126009148Mon, 08 Apr 2019 19:08:41 GMT\"0x8D6BC559D0FA15E\"5120share155475053797404148155475053799109901Mon, 08 Apr 2019 19:08:58 GMT\"0x8D6BC55A707AA78\"5120share155475064935803078Mon, 08 Apr 2019 19:10:49 GMT\"0x8D6BC55E974E3CA\"5120share155475065067109845155475065082904481Mon, 08 Apr 2019 19:10:51 GMT\"0x8D6BC55EA83DF98\"5120share155475067910702988155475067918501299Mon, 08 Apr 2019 19:11:19 GMT\"0x8D6BC55FB3A3AE2\"5120share155475081055106395Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC56497CE6DB\"5120share155475081080107024155475081083204956Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC5649A8202F\"5120share155475081569107427Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C9015C3\"5120share155475081569802024Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C8F31AE\"5120share155475081617607337155475081622403546Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CDFB128\"5120share155475081618505278155475081626106049Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CE50201\"5120share155475082599504520155475082600900773Mon, 08 Apr 2019 19:13:46 GMT\"0x8D6BC5652B3E1EF\"5120share155475083332106209155475083333306719Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC565711BB33\"5120share155475083390106843155475083391701671Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC56576DD44F\"5120share155475083645708180Mon, 08 Apr 2019 19:13:56 GMT\"0x8D6BC5658EE78DA\"5120share155475083689607668155475083700804756Mon, 08 Apr 2019 19:13:57 GMT\"0x8D6BC5659439F5E\"5120share155475085287202953155475085288703129Mon, 08 Apr 2019 19:14:12 GMT\"0x8D6BC5662BB07BF\"5120share155475087749608350Mon, 08 Apr 2019 19:14:37 GMT\"0x8D6BC56716BAEB9\"5120share155475087884808160155475087899302295Mon, 08 Apr 2019 19:14:39 GMT\"0x8D6BC56724FB73E\"5120share155475091031104271155475091038301022Mon, 08 Apr 2019 19:15:10 GMT\"0x8D6BC568505E596\"5120share155475096394205285Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A4F4A602\"5120share155475096470307204155475096478702363Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A56DE803\"5120share155475098339807861155475098343901197Mon, 08 Apr 2019 19:16:23 GMT\"0x8D6BC56B08C0771\"5120share155475101810205521Mon, 08 Apr 2019 19:16:58 GMT\"0x8D6BC56C54664DF\"5120share155475102072309609155475102105008976Mon, 08 Apr 2019 19:17:01 GMT\"0x8D6BC56C707C7F1\"5120share155475104896402625Mon, 08 Apr 2019 19:17:29 GMT\"0x8D6BC56D7A1CC67\"5120share155475105033406728155475105050302656Mon, 08 Apr 2019 19:17:30 GMT\"0x8D6BC56D88BFADB\"5120share155475106334602588155475106350800134Mon, 08 Apr 2019 19:17:43 GMT\"0x8D6BC56E0562F3A\"5120share155475107891507083Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56E9858D34\"5120share155475107976101708155475107983704150Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56EA082039\"5120share155475108198903031155475108234608862Mon, 08 Apr 2019 19:18:02 GMT\"0x8D6BC56EB914CA9\"5120share155475113337406588155475113355001458Mon, 08 Apr 2019 19:18:53 GMT\"0x8D6BC570A17FF54\"5120share155475132543106986Mon, 08 Apr 2019 19:22:05 GMT\"0x8D6BC577C7B6BF7\"5120share155475132721406393155475132740306801Mon, 08 Apr 2019 19:22:07 GMT\"0x8D6BC577D94ECD7\"5120share155475135811801394155475135820700395Mon, 08 Apr 2019 19:22:38 GMT\"0x8D6BC578FF0D032\"5120share155475144214904808Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C1F69171\"5120share155475144238308286155475144241802464Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C21F2B49\"5120share155475145575504179155475145577002338Mon, 08 Apr 2019 19:24:15 GMT\"0x8D6BC57CA1458DE\"5120share155475158692104863Mon, 08 Apr 2019 19:26:26 GMT\"0x8D6BC5818465E4B\"5120share155475158825308616155475158840903597Mon, 08 Apr 2019 19:26:28 GMT\"0x8D6BC5819294CE9\"5120share155475161465508511155475161473400769Mon, 08 Apr 2019 19:26:54 GMT\"0x8D6BC5828D99E92\"5120share155475165136906994Mon, 08 Apr 2019 19:27:31 GMT\"0x8D6BC583EB028AA\"5120share155475165285408363155475165294303910Mon, 08 Apr 2019 19:27:33 GMT\"0x8D6BC583F9ED9D5\"5120share155475167393207326155475167397601633Mon, 08 Apr 2019 19:27:54 GMT\"0x8D6BC584C286C71\"5120share155475175592100687Mon, 08 Apr 2019 19:29:15 GMT\"0x8D6BC587CF96950\"5120share155475175636203447155475175640405227Mon, 08 Apr 2019 19:29:16 GMT\"0x8D6BC587D42FD4F\"5120share155475176719708693Mon, 08 Apr 2019 19:29:27 GMT\"0x8D6BC5883C4F6C6\"5120share155475176988007936155475177020206087Mon, 08 Apr 2019 19:29:30 GMT\"0x8D6BC58858F57AB\"5120share155475177157408884155475177159107897Mon, 08 Apr 2019 19:29:31 GMT\"0x8D6BC58864FCD93\"5120share155475178911403525Mon, 08 Apr 2019 19:29:49 GMT\"0x8D6BC5890DFD41D\"5120share155475179097306468155475179114007955Mon, 08 Apr 2019 19:29:51 GMT\"0x8D6BC5891FEE1D4\"5120share155475181212203235155475181227802967Mon, 08 Apr 2019 19:30:12 GMT\"0x8D6BC589EA3450E\"5120share155475181868403345155475181884608003Mon, 08 Apr 2019 19:30:18 GMT\"0x8D6BC58A282B48C\"5120share155475184138600177Mon, 08 Apr 2019 19:30:41 GMT\"0x8D6BC58AFF32AE1\"5120share155475184266206951155475184281907009Mon, 08 Apr 2019 19:30:42 GMT\"0x8D6BC58B0CDFAAB\"5120share155475186824404656155475186831303601Mon, 08 Apr 2019 19:31:08 GMT\"0x8D6BC58C0003811\"5120share155475189858508025Mon, 08 Apr 2019 19:31:38 GMT\"0x8D6BC58D21CC15D\"5120share155475190034402522155475190052901131Mon, 08 Apr 2019 19:31:40 GMT\"0x8D6BC58D33259C3\"5120share155475193157504293155475193166407423Mon, 08 Apr 2019 19:32:11 GMT\"0x8D6BC58E5C0D84B\"5120share155475193557900473Mon, 08 Apr 2019 19:32:15 GMT\"0x8D6BC58E8124881\"5120share155475193600802252155475193605500784Mon, 08 Apr 2019 19:32:16 GMT\"0x8D6BC58E85C58C2\"5120share155475195335000537155475195365007547Mon, 08 Apr 2019 19:32:33 GMT\"0x8D6BC58F2D89C12\"5120share155475198066706131Mon, 08 Apr 2019 19:33:00 GMT\"0x8D6BC59030705B8\"5120share155475198240705556155475198259005644Mon, 08 Apr 2019 19:33:02 GMT\"0x8D6BC590419D5AA\"5120share155475201169004998155475201178007996Mon, 08 Apr 2019 19:33:31 GMT\"0x8D6BC59157FA1C2\"5120share155475202704707777Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591E9818F7\"5120share155475202754808460155475202759505045Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591EEAE023\"5120share155475204632303570155475204635506063Mon, 08 Apr 2019 19:34:06 GMT\"0x8D6BC592A15D46F\"5120share155475205353305046Mon, 08 Apr 2019 19:34:13 GMT\"0x8D6BC592E644230\"5120share155475205475905531155475205490801744Mon, 08 Apr 2019 19:34:14 GMT\"0x8D6BC592F35CD8D\"5120share155475208511309322155475208519000035Mon, 08 Apr 2019 19:34:45 GMT\"0x8D6BC594142FC2C\"5120share155475213197909445Mon, 08 Apr 2019 19:35:32 GMT\"0x8D6BC595D68D14F\"5120share155475213367802891155475213384803713Mon, 08 Apr 2019 19:35:33 GMT\"0x8D6BC595E447A15\"5120share155475213707206020Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59602A0370\"5120share155475213744706822155475213752509985Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59606FB8B2\"5120share155475214794702930Mon, 08 Apr 2019 19:35:47 GMT\"0x8D6BC5966A3EC22\"5120share155475214823505337155475214829508671Mon, 08 Apr 2019 19:35:48 GMT\"0x8D6BC5966D92988\"5120share155475215298705094155475215300205553Mon, 08 Apr 2019 19:35:53 GMT\"0x8D6BC5969A95A5A\"5120share155475216173403949155475216180802232Mon, 08 Apr 2019 19:36:01 GMT\"0x8D6BC596EEEDADE\"5120share155475217121403125155475217122800002Mon, 08 Apr 2019 19:36:11 GMT\"0x8D6BC597484D027\"5120share155475217263204833Mon, 08 Apr 2019 19:36:12 GMT\"0x8D6BC597561BC6F\"5120share155475217387007369155475217401507088Mon, 08 Apr 2019 19:36:14 GMT\"0x8D6BC59763481F4\"5120share155475220552708755155475220560608322Mon, 08 Apr 2019 19:36:45 GMT\"0x8D6BC5989084A76\"5120share155475220774803407Mon, 08 Apr 2019 19:36:47 GMT\"0x8D6BC598A5B8D28\"5120share155475221071605263155475221106301392Mon, 08 Apr 2019 19:36:51 GMT\"0x8D6BC598C54F1AF\"5120share155475225507606471155475225524909246Mon, 08 Apr 2019 19:37:35 GMT\"0x8D6BC59A6AAE3BB\"5120share155475230698007235Mon, 08 Apr 2019 19:38:27 GMT\"0x8D6BC59C588E150\"5120share155475230871003676155475230890106141Mon, 08 Apr 2019 19:38:28 GMT\"0x8D6BC59C699F151\"5120share155475233776008655155475233785005541Mon, 08 Apr 2019 19:38:57 GMT\"0x8D6BC59D7DAC197\"5120share155475235014304485Mon, 08 Apr 2019 19:39:10 GMT\"0x8D6BC59DF430BEF\"5120share155475235212806665155475235231203279Mon, 08 Apr 2019 19:39:12 GMT\"0x8D6BC59E0797740\"5120share155475238276207561155475238285300495Mon, 08 Apr 2019 19:39:42 GMT\"0x8D6BC59F2ADC82F\"5120share155475238729909241Mon, 08 Apr 2019 19:39:47 GMT\"0x8D6BC59F55FF731\"5120share155475239006203805155475239039302086Mon, 08 Apr 2019 19:39:50 GMT\"0x8D6BC59F738D496\"5120share155475243544901771155475243561206398Mon, 08 Apr 2019 19:40:35 GMT\"0x8D6BC5A122D2328\"5120share155475245648505760Mon, 08 Apr 2019 19:40:56 GMT\"0x8D6BC5A1E9DD271\"5120share155475245916604643155475245966500634Mon, 08 Apr 2019 19:40:59 GMT\"0x8D6BC5A20829ADA\"5120share155475250195404339Mon, 08 Apr 2019 19:41:42 GMT\"0x8D6BC5A39ACF55C\"5120share155475250300606728155475250316308808Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A705901\"5120share155475250327007723155475250342102216Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A8CC037\"5120share155475252973307394155475252980700184Mon, 08 Apr 2019 19:42:09 GMT\"0x8D6BC5A4A465B88\"5120share155475253579801114Mon, 08 Apr 2019 19:42:15 GMT\"0x8D6BC5A4DD3360A\"5120share155475253615908936155475253620602585Mon, 08 Apr 2019 19:42:16 GMT\"0x8D6BC5A4E0F8242\"5120share155475255423200173155475255424804170Mon, 08 Apr 2019 19:42:34 GMT\"0x8D6BC5A58D20D20\"5120share155475256918201765Mon, 08 Apr 2019 19:42:49 GMT\"0x8D6BC5A61D20C03\"5120share155475257313200562155475257330407326Mon, 08 Apr 2019 19:42:53 GMT\"0x8D6BC5A643484DF\"5120share155475261648802468155475261657200328Mon, 08 Apr 2019 19:43:36 GMT\"0x8D6BC5A7DFE66EB\"5120share155475284537903436Mon, 08 Apr 2019 19:47:25 GMT\"0x8D6BC5B0671E77C\"5120share155475284722006303155475284740403036Mon, 08 Apr 2019 19:47:27 GMT\"0x8D6BC5B0792CDEB\"5120share155475287947008358155475287956001391Mon, 08 Apr 2019 19:47:59 GMT\"0x8D6BC5B1ABD463D\"5120share155475290653907313Mon, 08 Apr 2019 19:48:27 GMT\"0x8D6BC5B2B35A0B0\"5120share155475290863102164155475290878704952Mon, 08 Apr 2019 19:48:28 GMT\"0x8D6BC5B2C2B8A11\"5120share155475293499502985155475293507401792Mon, 08 Apr 2019 19:48:55 GMT\"0x8D6BC5B3BD5D6EB\"5120share155475295976004766Mon, 08 Apr 2019 19:49:19 GMT\"0x8D6BC5B4A860251\"5120share155475296021608512155475296026303878Mon, 08 Apr 2019 19:49:20 GMT\"0x8D6BC5B4AD3697B\"5120share155475296820309510Mon, 08 Apr 2019 19:49:28 GMT\"0x8D6BC5B4F93EA28\"5120share155475296939401595155475296953503138Mon, 08 Apr 2019 19:49:29 GMT\"0x8D6BC5B505FC795\"5120share155475297470107004Mon, 08 Apr 2019 19:49:34 GMT\"0x8D6BC5B5373961F\"5120share155475297592101018155475297607704854Mon, 08 Apr 2019 19:49:36 GMT\"0x8D6BC5B5445CD04\"5120share155475297876605841155475297878208632Mon, 08 Apr 2019 19:49:38 GMT\"0x8D6BC5B55DBFE86\"5120share155475299397906992155475299405708891Mon, 08 Apr 2019 19:49:54 GMT\"0x8D6BC5B5EFC6E6E\"5120share155475299913707337Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B61FEA3A6\"5120share155475299946601316155475299949700439Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B6235EEB4\"5120share155475300396100954155475300404004479Mon, 08 Apr 2019 19:50:04 GMT\"0x8D6BC5B64F0C1CC\"5120share155475301402209522155475301403805856Mon, 08 Apr 2019 19:50:14 GMT\"0x8D6BC5B6ADF6C51\"5120share155475316409304389Mon, 08 Apr 2019 19:52:44 GMT\"0x8D6BC5BC45FB105\"5120share155475316701500838155475316738004973Mon, 08 Apr 2019 19:52:47 GMT\"0x8D6BC5BC655866D\"5120share155475317539403995Mon, 08 Apr 2019 19:52:55 GMT\"0x8D6BC5BCB1EA12B\"5120share155475317800909177155475317833200173Mon, 08 Apr 2019 19:52:58 GMT\"0x8D6BC5BCCDF148B\"5120share155475319784700002Mon, 08 Apr 2019 19:53:18 GMT\"0x8D6BC5BD890AFBA\"5120share155475320035305710155475320054604653Mon, 08 Apr 2019 19:53:20 GMT\"0x8D6BC5BDA120C7D\"5120share155475321453709711155475321471603175Mon, 08 Apr 2019 19:53:34 GMT\"0x8D6BC5BE28AC8EF\"5120share155475322026008825155475322041805575Mon, 08 Apr 2019 19:53:40 GMT\"0x8D6BC5BE5F49E4E\"5120share155475323941203708155475323950603607Mon, 08 Apr 2019 19:53:59 GMT\"0x8D6BC5BF14A51A0\"5120share155475325634904509Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB4EC9A6\"5120share155475325670909242155475325677202784Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB8F5645\"5120share155475326611306943Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C011FE6E9\"5120share155475326661501159155475326664604503Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C01716DB6\"5120share155475327189403526155475327191304764Mon, 08 Apr 2019 19:54:31 GMT\"0x8D6BC5C04937E60\"5120share155475327494604322Mon, 08 Apr 2019 19:54:34 GMT\"0x8D6BC5C0663AE38\"5120share155475327530806721155475327535508149Mon, 08 Apr 2019 19:54:35 GMT\"0x8D6BC5C06A1DC9B\"5120share155475328255505049155475328257006085Mon, 08 Apr 2019 19:54:42 GMT\"0x8D6BC5C0AEF7766\"5120share155475328863109159Mon, 08 Apr 2019 19:54:48 GMT\"0x8D6BC5C0E8D4F9D\"5120share155475328904001164155475328914908575Mon, 08 Apr 2019 19:54:49 GMT\"0x8D6BC5C0EDA736C\"5120share155475329036209298155475329037705496Mon, 08 Apr 2019 19:54:50 GMT\"0x8D6BC5C0F96FA2F\"5120share155475331642907508155475331644500640Mon, 08 Apr 2019 19:55:16 GMT\"0x8D6BC5C1F1F4508\"5120share155475345988903733Mon, 08 Apr 2019 19:57:39 GMT\"0x8D6BC5C74A83E08\"5120share155475346120203269155475346137401701Mon, 08 Apr 2019 19:57:41 GMT\"0x8D6BC5C75A1910E\"5120share155475348842001284155475348849801789Mon, 08 Apr 2019 19:58:08 GMT\"0x8D6BC5C85B7559C\"5120share155475350558503873Mon, 08 Apr 2019 19:58:25 GMT\"0x8D6BC5C8FEF8036\"5120share155475350851006247155475350887009432Mon, 08 Apr 2019 19:58:29 GMT\"0x8D6BC5C91E416E1\"5120share155475351180102812Mon, 08 Apr 2019 19:58:31 GMT\"0x8D6BC5C93A41FBD\"5120share155475351470507341155475351506502543Mon, 08 Apr 2019 19:58:35 GMT\"0x8D6BC5C959AFCFD\"5120share155475352932808685Mon, 08 Apr 2019 19:58:49 GMT\"0x8D6BC5C9E145DFA\"5120share155475353242702891155475353278206163Mon, 08 Apr 2019 19:58:52 GMT\"0x8D6BC5CA0242D42\"5120share155475353346905524Mon, 08 Apr 2019 19:58:53 GMT\"0x8D6BC5CA08349F0\"5120share155475353468900913155475353483008374Mon, 08 Apr 2019 19:58:54 GMT\"0x8D6BC5CA1533041\"5120share155475355857203059155475355874901945Mon, 08 Apr 2019 19:59:18 GMT\"0x8D6BC5CAF9F1851\"5120share155475356174100226155475356192106373Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB1835DA5\"5120share155475356209400777155475356216307366Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB19D9B99\"5120share155475358049205317155475358066509885Mon, 08 Apr 2019 19:59:40 GMT\"0x8D6BC5CBCACA7C2\"5120share155475366230302044Mon, 08 Apr 2019 20:01:02 GMT\"0x8D6BC5CED591D8A\"5120share155475366364804933Mon, 08 Apr 2019 20:01:03 GMT\"0x8D6BC5CEE27F678\"5120share155475366490103025155475366523205132Mon, 08 Apr 2019 20:01:05 GMT\"0x8D6BC5CEF191387\"5120share155475366655601285155475366688603242Mon, 08 Apr 2019 20:01:07 GMT\"0x8D6BC5CF0154CEF\"5120share155475370842304942155475370858108299Mon, 08 Apr 2019 20:01:48 GMT\"0x8D6BC5D08EF6C61\"5120share155475371008508000155475371025709092Mon, 08 Apr 2019 20:01:50 GMT\"0x8D6BC5D09EE9A90\"5120share155475383362102478Mon, 08 Apr 2019 20:03:53 GMT\"0x8D6BC5D536638B9\"5120share155475383401206068155475383407402017Mon, 08 Apr 2019 20:03:54 GMT\"0x8D6BC5D53A849FD\"5120share155475384949101413155475384950602486Mon, 08 Apr 2019 20:04:09 GMT\"0x8D6BC5D5CDC57E0\"5120share155475388168501173Mon, 08 Apr 2019 20:04:41 GMT\"0x8D6BC5D7007708F\"5120share155475388206306306155475388212605083Mon, 08 Apr 2019 20:04:42 GMT\"0x8D6BC5D704B932A\"5120share155475389763505601155475389765100894Mon, 08 Apr 2019 20:04:57 GMT\"0x8D6BC5D798CE485\"5120share155475394309608718Mon, 08 Apr 2019 20:05:43 GMT\"0x8D6BC5D94B5C048\"5120share155475394595108491155475394631101470Mon, 08 Apr 2019 20:05:46 GMT\"0x8D6BC5D969F99F7\"5120share155475396399505138Mon, 08 Apr 2019 20:06:04 GMT\"0x8D6BC5DA12A25B4\"5120share155475396692905515155475396728907571Mon, 08 Apr 2019 20:06:07 GMT\"0x8D6BC5DA320C5CE\"5120share155475398380104275Mon, 08 Apr 2019 20:06:23 GMT\"0x8D6BC5DACF9BC9C\"5120share155475398671802297155475398707107942Mon, 08 Apr 2019 20:06:27 GMT\"0x8D6BC5DAEEC42B4\"5120share155475399277409298155475399295700576Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB26E2AAC\"5120share155475399378204371Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB2DB163E\"5120share155475399491706243155475399496401759Mon, 08 Apr 2019 20:06:35 GMT\"0x8D6BC5DB3906F40\"5120share155475401103303929155475401106408627Mon, 08 Apr 2019 20:06:51 GMT\"0x8D6BC5DBD28D693\"5120share155475401467406311155475401485002516Mon, 08 Apr 2019 20:06:54 GMT\"0x8D6BC5DBF7A1537\"5120share155475403593209731155475403610809563Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC24D966\"5120share155475403681604817Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC856477\"5120share155475403804608586155475403819608497Mon, 08 Apr 2019 20:07:18 GMT\"0x8D6BC5DCD596CBF\"5120share155475406417706107155475406425506743Mon, 08 Apr 2019 20:07:44 GMT\"0x8D6BC5DDCE0E7F3\"5120share155475409067409281Mon, 08 Apr 2019 20:08:10 GMT\"0x8D6BC5DECA1EDC3\"5120share155475409203700405155475409217902614Mon, 08 Apr 2019 20:08:12 GMT\"0x8D6BC5DED85E721\"5120share155475411773004926155475411779200834Mon, 08 Apr 2019 20:08:37 GMT\"0x8D6BC5DFCCBABB5\"5120share155475427414200264Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E59F4C683\"5120share155475427489601007155475427495901119Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E5A70C1F9\"5120share155475429027905961155475429029507552Mon, 08 Apr 2019 20:11:30 GMT\"0x8D6BC5E6395892F\"5120share155475435022204571Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E874CA5F0\"5120share155475435063303249155475435069506502Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E87947DCC\"5120share155475436927404231155475436930502552Mon, 08 Apr 2019 20:12:49 GMT\"0x8D6BC5E92ADD1DA\"5120share155475439671008450Mon, 08 Apr 2019 20:13:16 GMT\"0x8D6BC5EA316E7EB\"5120share155475439953407644155475439988507010Mon, 08 Apr 2019 20:13:20 GMT\"0x8D6BC5EA4F9D7E0\"5120share155475444598308995155475444616001311Mon, 08 Apr 2019 20:14:06 GMT\"0x8D6BC5EC08F21C4\"5120share155475446176702336Mon, 08 Apr 2019 20:14:21 GMT\"0x8D6BC5EC9DCAA60\"5120share155475446353703583Mon, 08 Apr 2019 20:14:23 GMT\"0x8D6BC5ECAD67D62\"5120share155475446417801472155475446422504881Mon, 08 Apr 2019 20:14:24 GMT\"0x8D6BC5ECB4098FA\"5120share155475446457701072155475446492200309Mon, 08 Apr 2019 20:14:25 GMT\"0x8D6BC5ECBBDD5EB\"5120share155475446793804231Mon, 08 Apr 2019 20:14:28 GMT\"0x8D6BC5ECD898BFE\"5120share155475447083302210155475447120206734Mon, 08 Apr 2019 20:14:31 GMT\"0x8D6BC5ECF7C80C3\"5120share155475447390505685Mon, 08 Apr 2019 20:14:34 GMT\"0x8D6BC5ED118A561\"5120share155475447650205596155475447683107189Mon, 08 Apr 2019 20:14:36 GMT\"0x8D6BC5ED2D6B049\"5120share155475448038305903155475448041405576Mon, 08 Apr 2019 20:14:40 GMT\"0x8D6BC5ED4E6924A\"5120share155475450906908487155475450924302789Mon, 08 Apr 2019 20:15:09 GMT\"0x8D6BC5EE6288199\"5120share155475451925508933155475451943306507Mon, 08 Apr 2019 20:15:19 GMT\"0x8D6BC5EEC3A48AC\"5120share155475452102206244155475452117803090Mon, 08 Apr 2019 20:15:21 GMT\"0x8D6BC5EED45148F\"5120share155475458349904294Mon, 08 Apr 2019 20:16:23 GMT\"0x8D6BC5F126BFD9D\"5120share155475458633807389155475458669001847Mon, 08 Apr 2019 20:16:26 GMT\"0x8D6BC5F1451C2E6\"5120share155475463230409183155475463249501576Mon, 08 Apr 2019 20:17:12 GMT\"0x8D6BC5F2F9EB0AB\"5120share155475465763009191Mon, 08 Apr 2019 20:17:37 GMT\"0x8D6BC5F3E888648\"5120share155475465803604070155475465806806197Mon, 08 Apr 2019 20:17:38 GMT\"0x8D6BC5F3ECB7D61\"5120share155475467401603495155475467403109929Mon, 08 Apr 2019 20:17:54 GMT\"0x8D6BC5F484F4C93\"5120share155475470031000609Mon, 08 Apr 2019 20:18:20 GMT\"0x8D6BC5F5808BA98\"5120share155475470316101418155475470351307709Mon, 08 Apr 2019 20:18:23 GMT\"0x8D6BC5F59F0FF39\"5120share155475475094605443155475475112102208Mon, 08 Apr 2019 20:19:11 GMT\"0x8D6BC5F76528B41\"5120share155475475941800301Mon, 08 Apr 2019 20:19:19 GMT\"0x8D6BC5F7B45E4E8\"5120share155475476223909847155475476259506792Mon, 08 Apr 2019 20:19:22 GMT\"0x8D6BC5F7D2A69E0\"5120share155475477308706566Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F835A1E32\"5120share155475477343104020155475477346201298Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F839403BF\"5120share155475478842801827155475478845901923Mon, 08 Apr 2019 20:19:48 GMT\"0x8D6BC5F8C835D24\"5120share155475480525700178Mon, 08 Apr 2019 20:20:05 GMT\"0x8D6BC5F96990DF2\"5120share155475480688709905155475480706700743Mon, 08 Apr 2019 20:20:07 GMT\"0x8D6BC5F97ACA80F\"5120share155475480855303004155475480891408138Mon, 08 Apr 2019 20:20:09 GMT\"0x8D6BC5F98C6A7B8\"5120share155475485447703891Mon, 08 Apr 2019 20:20:54 GMT\"0x8D6BC5FB3EC13D7\"5120share155475485733007299155475485750201983Mon, 08 Apr 2019 20:20:57 GMT\"0x8D6BC5FB5BBFA8C\"5120share155475485742005482155475485881007383Mon, 08 Apr 2019 20:20:58 GMT\"0x8D6BC5FB681758A\"5120share155475490613807301155475490631909875Mon, 08 Apr 2019 20:21:46 GMT\"0x8D6BC5FD2D493F0\"5120share155475491107004753Mon, 08 Apr 2019 20:21:51 GMT\"0x8D6BC5FD5AAA68E\"5120share155475491390609459155475491425402551Mon, 08 Apr 2019 20:21:54 GMT\"0x8D6BC5FD7906574\"5120share155475494829505353Mon, 08 Apr 2019 20:22:28 GMT\"0x8D6BC5FEBDAB205\"5120share155475495142602901155475495180000859Mon, 08 Apr 2019 20:22:31 GMT\"0x8D6BC5FEDF2097C\"5120share155475496856303648155475496873906374Mon, 08 Apr 2019 20:22:48 GMT\"0x8D6BC5FF809FBAD\"5120share155475502329509281Mon, 08 Apr 2019 20:23:43 GMT\"0x8D6BC60188F5C28\"5120share155475502686502140155475502722501031Mon, 08 Apr 2019 20:23:47 GMT\"0x8D6BC601AE7E933\"5120share155475503648203085155475503665708653Mon, 08 Apr 2019 20:23:57 GMT\"0x8D6BC6020A88DA4\"5120share155475507644605686155475507662104771Mon, 08 Apr 2019 20:24:36 GMT\"0x8D6BC603856E563\"5120share155475508896100844Mon, 08 Apr 2019 20:24:49 GMT\"0x8D6BC603FB84260\"5120share155475509358209217155475509401301874Mon, 08 Apr 2019 20:24:54 GMT\"0x8D6BC6042BB49CF\"5120share155475510662301217Mon, 08 Apr 2019 20:25:06 GMT\"0x8D6BC604A3D84CA\"5120share155475511009707995155475511051903727Mon, 08 Apr 2019 20:25:10 GMT\"0x8D6BC604C8FF2EE\"5120share155475514818002641155475514839702872Mon, 08 Apr 2019 20:25:48 GMT\"0x8D6BC606325B5A5\"5120share155475516302805972155475516324601842Mon, 08 Apr 2019 20:26:03 GMT\"0x8D6BC606BFD9DFF\"5120share155475518456808035Mon, 08 Apr 2019 20:26:24 GMT\"0x8D6BC6078B50416\"5120share155475518802906635155475518844705589Mon, 08 Apr 2019 20:26:28 GMT\"0x8D6BC607B0588B4\"5120share155475520133703444Mon, 08 Apr 2019 20:26:41 GMT\"0x8D6BC6082ADE91A\"5120share155475520414501691155475520449405158Mon, 08 Apr 2019 20:26:44 GMT\"0x8D6BC6084900BC9\"5120share155475524512000654155475524532709861Mon, 08 Apr 2019 20:27:25 GMT\"0x8D6BC609CEC662B\"5120share155475525216501306155475525233808863Mon, 08 Apr 2019 20:27:32 GMT\"0x8D6BC60A1135FEA\"5120share155475527372805529Mon, 08 Apr 2019 20:27:53 GMT\"0x8D6BC60ADD497F0\"5120share155475527768705135155475527803906164Mon, 08 Apr 2019 20:27:58 GMT\"0x8D6BC60B0668E79\"5120share155475537776009466155475537793501077Mon, 08 Apr 2019 20:29:38 GMT\"0x8D6BC60EBF138A0\"5120share155475538742205629Mon, 08 Apr 2019 20:29:47 GMT\"0x8D6BC60F19A097B\"5120share155475539026708478155475539062007850Mon, 08 Apr 2019 20:29:50 GMT\"0x8D6BC60F380F4B0\"5120share155475540318203360Mon, 08 Apr 2019 20:30:03 GMT\"0x8D6BC60FAFB33F1\"5120share155475540605901231155475540642605751Mon, 08 Apr 2019 20:30:06 GMT\"0x8D6BC60FCEA6E84\"5120share155475540935609132Mon, 08 Apr 2019 20:30:09 GMT\"0x8D6BC60FEAAF1B2\"5120share155475541165701615Mon, 08 Apr 2019 20:30:11 GMT\"0x8D6BC61000A3447\"5120share155475541229609722155475541264808030Mon, 08 Apr 2019 20:30:12 GMT\"0x8D6BC6100A0EB7D\"5120share155475541445806778155475541480407617Mon, 08 Apr 2019 20:30:14 GMT\"0x8D6BC6101EAA0A5\"5120share155475545304702291155475545323602346Mon, 08 Apr 2019 20:30:53 GMT\"0x8D6BC6118D0CFEE\"5120share155475547204003265155475547222409343Mon, 08 Apr 2019 20:31:12 GMT\"0x8D6BC6124248E6D\"5120share155475550139503230Mon, 08 Apr 2019 20:31:41 GMT\"0x8D6BC61358A8091\"5120share155475550433101922155475550468409391Mon, 08 Apr 2019 20:31:44 GMT\"0x8D6BC61377F2EA8\"5120share155475551150500012155475551168404026Mon, 08 Apr 2019 20:31:51 GMT\"0x8D6BC613BA9A20E\"5120share155475555173507633155475555190705054Mon, 08 Apr 2019 20:32:32 GMT\"0x8D6BC6153A5066E\"5120share155475562140308052155475562157505328Mon, 08 Apr 2019 20:33:41 GMT\"0x8D6BC617D2807D9\"5120share155475595155305925Mon, 08 Apr 2019 20:39:11 GMT\"0x8D6BC6241D790AF\"5120share155475595442704890155475595478105510Mon, 08 Apr 2019 20:39:14 GMT\"0x8D6BC6243C413DB\"5120share155475599014108328Mon, 08 Apr 2019 20:39:50 GMT\"0x8D6BC6258D71A83\"5120share155475599293303057155475599328109216Mon, 08 Apr 2019 20:39:53 GMT\"0x8D6BC625AB638B0\"5120share155475600155209426155475600172406148Mon, 08 Apr 2019 20:40:01 GMT\"0x8D6BC625FBFBBDC\"5120share155475603777709591155475603795107803Mon, 08 Apr 2019 20:40:38 GMT\"0x8D6BC62754F3FCA\"5120share155475606085105940Mon, 08 Apr 2019 20:41:00 GMT\"0x8D6BC6282FD809D\"5120share155475606369901916155475606405808018Mon, 08 Apr 2019 20:41:04 GMT\"0x8D6BC6284E6446A\"5120share155475611064800671155475611082309772Mon, 08 Apr 2019 20:41:50 GMT\"0x8D6BC62A0C63CDA\"5120share155475734977303059Mon, 08 Apr 2019 21:02:29 GMT\"0x8D6BC658346E681\"5120share155475735146501880155475735163208336Mon, 08 Apr 2019 21:02:31 GMT\"0x8D6BC65844D98C1\"5120share155475736263304813Mon, 08 Apr 2019 21:02:42 GMT\"0x8D6BC658AEE618F\"5120share155475736356107285155475736367500363Mon, 08 Apr 2019 21:02:43 GMT\"0x8D6BC658B76B901\"5120share155475737807009819155475737815207269Mon, 08 Apr 2019 21:02:58 GMT\"0x8D6BC65941C41E8\"5120share155475738194004164155475738198006296Mon, 08 Apr 2019 21:03:02 GMT\"0x8D6BC65965FBEA6\"5120share155475738961001284Mon, 08 Apr 2019 21:03:09 GMT\"0x8D6BC659AF2EC40\"5120share155475739148002318155475739164502260Mon, 08 Apr 2019 21:03:11 GMT\"0x8D6BC659C28D7F4\"5120share155475740405903976Mon, 08 Apr 2019 21:03:24 GMT\"0x8D6BC65A3998949\"5120share155475740686303089155475740718404146Mon, 08 Apr 2019 21:03:27 GMT\"0x8D6BC65A575FA2E\"5120share155475742006802357155475742014108948Mon, 08 Apr 2019 21:03:40 GMT\"0x8D6BC65AD253223\"5120share155475744922504325155475744938400415Mon, 08 Apr 2019 21:04:09 GMT\"0x8D6BC65BE9D9B9B\"5120share155475758392808763Mon, 08 Apr 2019 21:06:23 GMT\"0x8D6BC660EBDADB1\"5120share155475758496902188155475758505300339Mon, 08 Apr 2019 21:06:25 GMT\"0x8D6BC660F6D1FE1\"5120share155475758824600049Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC66114F3747\"5120share155475758856706019155475758859504581Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC6611840340\"5120share155475759971409268155475759983105439Mon, 08 Apr 2019 21:06:39 GMT\"0x8D6BC6618387002\"5120share155475760299604525155475760301209424Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A1C73AD\"5120share155475760350309302Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A70A858\"5120share155475760563302047155475760578902124Mon, 08 Apr 2019 21:06:45 GMT\"0x8D6BC661BCD2289\"5120share155475763254801465155475763262302940Mon, 08 Apr 2019 21:07:12 GMT\"0x8D6BC662BCAF1CE\"5120share155475767636102884Mon, 08 Apr 2019 21:07:56 GMT\"0x8D6BC6645E705FF\"5120share155475767891206281155475767922900229Mon, 08 Apr 2019 21:07:59 GMT\"0x8D6BC66479D03D9\"5120share155475772689703202155475772705609708Mon, 08 Apr 2019 21:08:47 GMT\"0x8D6BC66641EE5E0\"5120share155475776495606014Mon, 08 Apr 2019 21:09:25 GMT\"0x8D6BC667ABDD0A0\"5120share155475776677207052155475776709704200Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667BF13218\"5120share155475776709205233Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667C03C80F\"5120share155475776887404869155475776905403906Mon, 08 Apr 2019 21:09:29 GMT\"0x8D6BC667D1B6282\"5120share155475779606308901155475779615309916Mon, 08 Apr 2019 21:09:56 GMT\"0x8D6BC668D423AEA\"5120share155475779701304538155475779710407082Mon, 08 Apr 2019 21:09:57 GMT\"0x8D6BC668DD31352\"5120share155475791746104367Mon, 08 Apr 2019 21:11:57 GMT\"0x8D6BC66D59D0D93\"5120share155475792025605706155475792060301532Mon, 08 Apr 2019 21:12:00 GMT\"0x8D6BC66D77CF3D7\"5120share155475794486001708Mon, 08 Apr 2019 21:12:24 GMT\"0x8D6BC66E5E653D2\"5120share155475794611908909155475794627300186Mon, 08 Apr 2019 21:12:26 GMT\"0x8D6BC66E6BE37DF\"5120share155475796274909993155475796290807279Mon, 08 Apr 2019 21:12:43 GMT\"0x8D6BC66F0B39849\"5120share155475797592301938155475797599809651Mon, 08 Apr 2019 21:12:56 GMT\"0x8D6BC66F87694C9\"5120share155475826695006340Mon, 08 Apr 2019 21:17:46 GMT\"0x8D6BC67A5DD6DE4\"5120share155475826745207634155475826751406389Mon, 08 Apr 2019 21:17:47 GMT\"0x8D6BC67A632C490\"5120share155475828346608712155475828348203315Mon, 08 Apr 2019 21:18:03 GMT\"0x8D6BC67AFB7F63D\"5120share155475830359005133Mon, 08 Apr 2019 21:18:23 GMT\"0x8D6BC67BBB396A8\"5120share155475830426407161155475830431009918Mon, 08 Apr 2019 21:18:24 GMT\"0x8D6BC67BC1F40C0\"5120share155475831901901358155475831903400803Mon, 08 Apr 2019 21:18:39 GMT\"0x8D6BC67C4E67C93\"5120share155475857087801674Mon, 08 Apr 2019 21:22:50 GMT\"0x8D6BC685B03A4C2\"5120share155475857508204962155475857512904633Mon, 08 Apr 2019 21:22:55 GMT\"0x8D6BC685D8A4EE5\"5120share155475859715608328155475859718707845Mon, 08 Apr 2019 21:23:17 GMT\"0x8D6BC686AB018A0\"5120share155475862743005093Mon, 08 Apr 2019 21:23:47 GMT\"0x8D6BC687CBE4A2C\"5120share155475863073504871155475863089109018Mon, 08 Apr 2019 21:23:50 GMT\"0x8D6BC687ED0B4FA\"5120share155475866128905048155475866136704161Mon, 08 Apr 2019 21:24:21 GMT\"0x8D6BC6890F95653\"5120share155475866224208442Mon, 08 Apr 2019 21:24:22 GMT\"0x8D6BC68917EC28A\"5120share155475892444006125Mon, 08 Apr 2019 21:28:44 GMT\"0x8D6BC692DBEBA4E\"5120share155475892501907639155475892506500510Mon, 08 Apr 2019 21:28:45 GMT\"0x8D6BC692E1EED0A\"5120share155475894509709349155475894511200899Mon, 08 Apr 2019 21:29:05 GMT\"0x8D6BC693A11C854\"5120share155475901098902468Mon, 08 Apr 2019 21:30:11 GMT\"0x8D6BC696156D3C6\"5120share155475901336906263155475901340008777Mon, 08 Apr 2019 21:30:13 GMT\"0x8D6BC6962C7EDA7\"5120share155475903030807257155475903032309131Mon, 08 Apr 2019 21:30:30 GMT\"0x8D6BC696CDCEF37\"5120share155475917334807763Mon, 08 Apr 2019 21:32:53 GMT\"0x8D6BC69C22F94D0\"5120share155475917631504782155475917666903878Mon, 08 Apr 2019 21:32:56 GMT\"0x8D6BC69C429719B\"5120share155475922224509444155475922241807908Mon, 08 Apr 2019 21:33:42 GMT\"0x8D6BC69DF6E444A\"5120share155475925602205483Mon, 08 Apr 2019 21:34:16 GMT\"0x8D6BC69F375195C\"5120share155475926493206859155475926529100433Mon, 08 Apr 2019 21:34:25 GMT\"0x8D6BC69F92DED3F\"5120share155475931150207051155475931168006048Mon, 08 Apr 2019 21:35:11 GMT\"0x8D6BC6A14A09252\"5120share155475977936309871Mon, 08 Apr 2019 21:42:59 GMT\"0x8D6BC6B2B5BC0D0\"5120share155475978025201878155475978034602234Mon, 08 Apr 2019 21:43:00 GMT\"0x8D6BC6B2BE9A5D2\"5120share155475979938003003155475979942008091Mon, 08 Apr 2019 21:43:19 GMT\"0x8D6BC6B37480077\"5120share155475989025605514Mon, 08 Apr 2019 21:44:50 GMT\"0x8D6BC6B6D7332B1\"5120share155475989171106337155475989187403284Mon, 08 Apr 2019 21:44:51 GMT\"0x8D6BC6B6E6949D0\"5120share155475989380904279Mon, 08 Apr 2019 21:44:53 GMT\"0x8D6BC6B6F96205A\"5120share155475989459601580155475989469503324Mon, 08 Apr 2019 21:44:54 GMT\"0x8D6BC6B7012C9AE\"5120share155475990723502169Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77880AB0\"5120share155475990745006088155475990751106761Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77B1CA53\"5120share155475991324407391155475991328309141Mon, 08 Apr 2019 21:45:13 GMT\"0x8D6BC6B7B26E28D\"5120share155475991799108400155475991806701120Mon, 08 Apr 2019 21:45:18 GMT\"0x8D6BC6B7E059CFB\"5120share155475992088305591155475992089400834Mon, 08 Apr 2019 21:45:20 GMT\"0x8D6BC6B7FAC1DF3\"5120share155475995154906475Mon, 08 Apr 2019 21:45:51 GMT\"0x8D6BC6B92073E46\"5120share155475995424405105155475995457206560Mon, 08 Apr 2019 21:45:54 GMT\"0x8D6BC6B93D4CF64\"5120share155476000575809494155476000592307413Mon, 08 Apr 2019 21:46:46 GMT\"0x8D6BC6BB26FC664\"5120share155476000809002219Mon, 08 Apr 2019 21:46:48 GMT\"0x8D6BC6BB3BAA531\"5120share155476003381902159Mon, 08 Apr 2019 21:47:13 GMT\"0x8D6BC6BC3033DC1\"5120share155476003538801520155476003554406911Mon, 08 Apr 2019 21:47:15 GMT\"0x8D6BC6BC40AEB35\"5120share155476006367901271155476006375105324Mon, 08 Apr 2019 21:47:43 GMT\"0x8D6BC6BD4DA4CF3\"5120share155476006464706612Mon, 08 Apr 2019 21:47:44 GMT\"0x8D6BC6BD562C52B\"5120share155476020596003587Mon, 08 Apr 2019 21:50:05 GMT\"0x8D6BC6C2995BB9F\"5120share155476020640509691155476020643607403Mon, 08 Apr 2019 21:50:06 GMT\"0x8D6BC6C29DE43BA\"5120share155476022213002952155476022214307559Mon, 08 Apr 2019 21:50:22 GMT\"0x8D6BC6C333B110F\"5120share155476025129303157Mon, 08 Apr 2019 21:50:51 GMT\"0x8D6BC6C44A3EB6D\"5120share155476025257708167155476025273004331Mon, 08 Apr 2019 21:50:52 GMT\"0x8D6BC6C457F6F89\"5120share155476026709207569Mon, 08 Apr 2019 21:51:07 GMT\"0x8D6BC6C4E0EDB9C\"5120share155476026842807935155476026858005332Mon, 08 Apr 2019 21:51:08 GMT\"0x8D6BC6C4EF0F085\"5120share155476028011706632155476028019200644Mon, 08 Apr 2019 21:51:20 GMT\"0x8D6BC6C55DD40E8\"5120share155476028733301755Mon, 08 Apr 2019 21:51:27 GMT\"0x8D6BC6C5A2B1164\"5120share155476028990007932155476029022300298Mon, 08 Apr 2019 21:51:30 GMT\"0x8D6BC6C5BE4364F\"5120share155476029409203644155476029417004479Mon, 08 Apr 2019 21:51:34 GMT\"0x8D6BC6C5E323F08\"5120share155476033140808210155476033156802521Mon, 08 Apr 2019 21:52:11 GMT\"0x8D6BC6C74881F50\"5120share155476034088907107Mon, 08 Apr 2019 21:52:20 GMT\"0x8D6BC6C7A02E996\"5120share155476034117100915155476034120003425Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A32BF58\"5120share155476034139001386Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A524E51\"5120share155476034165201091155476034168404201Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A7F5C77\"5120share155476035937201981155476035938600086Mon, 08 Apr 2019 21:52:39 GMT\"0x8D6BC6C850C4063\"5120share155476036421402002155476036422702027Mon, 08 Apr 2019 21:52:44 GMT\"0x8D6BC6C87EC265B\"5120share155476048267109256Mon, 08 Apr 2019 21:54:42 GMT\"0x8D6BC6CCE99472D\"5120share155476048527507829155476048559500422Mon, 08 Apr 2019 21:54:45 GMT\"0x8D6BC6CD0571965\"5120share155476048713809104Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD136D3F0\"5120share155476048740007315Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD171D0C6\"5120share155476048839103036155476048854303354Mon, 08 Apr 2019 21:54:48 GMT\"0x8D6BC6CD20D2221\"5120share155476048911309646155476048929702628Mon, 08 Apr 2019 21:54:49 GMT\"0x8D6BC6CD27FCECC\"5120share155476051277403297Mon, 08 Apr 2019 21:55:12 GMT\"0x8D6BC6CE0906704\"5120share155476051454002744155476051472201385Mon, 08 Apr 2019 21:55:14 GMT\"0x8D6BC6CE1A6B524\"5120share155476051662706835155476051671905991Mon, 08 Apr 2019 21:55:16 GMT\"0x8D6BC6CE2D7A3CA\"5120share155476051701609760155476051709206998Mon, 08 Apr 2019 21:55:17 GMT\"0x8D6BC6CE310B624\"5120share155476052779709407155476052795604667Mon, 08 Apr 2019 21:55:28 GMT\"0x8D6BC6CE9963684\"5120share155476054363301934155476054372205907Mon, 08 Apr 2019 21:55:43 GMT\"0x8D6BC6CF2EF3F18\"5120share155476054757102427Mon, 08 Apr 2019 21:55:48 GMT\"0x8D6BC6CF5881A20\"5120share155476054966904265155476054985500146Mon, 08 Apr 2019 21:55:49 GMT\"0x8D6BC6CF69A57B2\"5120share155476058378901492155476058388001989Mon, 08 Apr 2019 21:56:23 GMT\"0x8D6BC6D0AE1689F\"5120share155476063180009911Mon, 08 Apr 2019 21:57:11 GMT\"0x8D6BC6D277B622E\"5120share155476063439108000155476063471007018Mon, 08 Apr 2019 21:57:14 GMT\"0x8D6BC6D2937A4ED\"5120share155476067663009343155476067679203410Mon, 08 Apr 2019 21:57:56 GMT\"0x8D6BC6D424D09B8\"5120share155476081678509800Mon, 08 Apr 2019 22:00:16 GMT\"0x8D6BC6D95AD4D03\"5120share155476081824207433155476081838207562Mon, 08 Apr 2019 22:00:18 GMT\"0x8D6BC6D96A86EE7\"5120share155476083644003555155476083645604348Mon, 08 Apr 2019 22:00:36 GMT\"0x8D6BC6DA167B245\"5120share155476088823106626Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC042AE74\"5120share155476088871505002155476088876204939Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC093FF80\"5120share155476090573808731155476090575302750Mon, 08 Apr 2019 22:01:45 GMT\"0x8D6BC6DCAB58E0F\"5120share155476090608205029Mon, 08 Apr 2019 22:01:46 GMT\"0x8D6BC6DCAEA4D12\"5120share155476104985707487Mon, 08 Apr 2019 22:04:09 GMT\"0x8D6BC6E20AA4FBE\"5120share155476105287802955155476105322102107Mon, 08 Apr 2019 22:04:13 GMT\"0x8D6BC6E22A9F4B3\"5120share155476109777803762155476109795103407Mon, 08 Apr 2019 22:04:58 GMT\"0x8D6BC6E3D53CC69\"5120share155476116954300139Mon, 08 Apr 2019 22:06:09 GMT\"0x8D6BC6E67F1DB21\"5120share155476117009004633155476117021501167Mon, 08 Apr 2019 22:06:10 GMT\"0x8D6BC6E68551F94\"5120share155476118869803387155476118871409122Mon, 08 Apr 2019 22:06:28 GMT\"0x8D6BC6E735CD088\"5120share155476118922903105Mon, 08 Apr 2019 22:06:29 GMT\"0x8D6BC6E73AB5632\"5120share155476120533605556Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D484823\"5120share155476120585307909155476120590002418Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D9DE244\"5120share155476122658302898155476122661407484Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E89F48854\"5120share155476122685003701Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E8A18FF0E\"5120share155476145760800341Mon, 08 Apr 2019 22:10:57 GMT\"0x8D6BC6F13A3C9CB\"5120share155476145803208912155476145807803209Mon, 08 Apr 2019 22:10:58 GMT\"0x8D6BC6F13EB7CEC\"5120share155476148487709874155476148490906559Mon, 08 Apr 2019 22:11:24 GMT\"0x8D6BC6F23E92BC9\"5120share155476150918404287Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32619FF1\"5120share155476150970200428155476150978009839Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32BA401F\"5120share155476153188200423155476153189701570Mon, 08 Apr 2019 22:12:11 GMT\"0x8D6BC6F3FEAA305\"5120share155476153428008605Mon, 08 Apr 2019 22:12:14 GMT\"0x8D6BC6F41575DF5\"5120share155476153904907363155476153915900604Mon, 08 Apr 2019 22:12:19 GMT\"0x8D6BC6F443F53F5\"5120share155476155793708877155476155795200051Mon, 08 Apr 2019 22:12:37 GMT\"0x8D6BC6F4F73AFB9\"5120share155476176301401148Mon, 08 Apr 2019 22:16:03 GMT\"0x8D6BC6FC9C05EB2\"5120share155476176664806384155476176701407346Mon, 08 Apr 2019 22:16:07 GMT\"0x8D6BC6FCC22FF4A\"5120share155476178788303535Mon, 08 Apr 2019 22:16:28 GMT\"0x8D6BC6FD88E9FB5\"5120share155476179080407360155476179117205282Mon, 08 Apr 2019 22:16:31 GMT\"0x8D6BC6FDA83FC62\"5120share155476180179506672Mon, 08 Apr 2019 22:16:41 GMT\"0x8D6BC6FE0C9A087\"5120share155476180220305217155476180225001346Mon, 08 Apr 2019 22:16:42 GMT\"0x8D6BC6FE10E33F9\"5120share155476181531205041155476181549305114Mon, 08 Apr 2019 22:16:55 GMT\"0x8D6BC6FE9072FB1\"5120share155476181728704394155476181730207146Mon, 08 Apr 2019 22:16:57 GMT\"0x8D6BC6FEA07A689\"5120share155476183783003117155476183801406829Mon, 08 Apr 2019 22:17:18 GMT\"0x8D6BC6FF66FC70E\"5120share155476231957209906Mon, 08 Apr 2019 22:25:19 GMT\"0x8D6BC71157A027C\"5120share155476232290905918Mon, 08 Apr 2019 22:25:23 GMT\"0x8D6BC7117762E7A\"5120share155476232357801883155476232395803880Mon, 08 Apr 2019 22:25:24 GMT\"0x8D6BC7118168C9C\"5120share155476232681309939155476232720800252Mon, 08 Apr 2019 22:25:27 GMT\"0x8D6BC711A0853B4\"5120share155476234459508335Mon, 08 Apr 2019 22:25:44 GMT\"0x8D6BC7124629DF4\"5120share155476234817303197155476234856203585Mon, 08 Apr 2019 22:25:48 GMT\"0x8D6BC7126BFE461\"5120share155476237480606920155476237498603572Mon, 08 Apr 2019 22:26:15 GMT\"0x8D6BC713680FDE6\"5120share155476237658903468155476237676503841Mon, 08 Apr 2019 22:26:16 GMT\"0x8D6BC71378F70E6\"5120share155476241034103932155476241051700267Mon, 08 Apr 2019 22:26:50 GMT\"0x8D6BC714BAD96A2\"5120share155476265660405974Mon, 08 Apr 2019 22:30:56 GMT\"0x8D6BC71DE5CE7CE\"5120share155476265960100490155476266001400047Mon, 08 Apr 2019 22:31:00 GMT\"0x8D6BC71E065AD79\"5120share155476269189900873Mon, 08 Apr 2019 22:31:32 GMT\"0x8D6BC71F3676FEC\"5120share155476269493900402155476269529509546Mon, 08 Apr 2019 22:31:35 GMT\"0x8D6BC71F56D2517\"5120share155476270675209985155476270693002780Mon, 08 Apr 2019 22:31:47 GMT\"0x8D6BC71FC5C8895\"5120share155476273714203829Mon, 08 Apr 2019 22:32:17 GMT\"0x8D6BC720E5D5600\"5120share155476273998201037155476274034707959Mon, 08 Apr 2019 22:32:20 GMT\"0x8D6BC7210466419\"5120share155476274839705508155476274856902425Mon, 08 Apr 2019 22:32:28 GMT\"0x8D6BC72152D7B73\"5120share155476278819401875155476278836408722Mon, 08 Apr 2019 22:33:08 GMT\"0x8D6BC722CE4B9A9\"5120share155476279250304492Mon, 08 Apr 2019 22:33:12 GMT\"0x8D6BC722F5C173B\"5120share155476310454401084Mon, 08 Apr 2019 22:38:24 GMT\"0x8D6BC72E95AF3E9\"5120share155476310739905326155476310787807773Mon, 08 Apr 2019 22:38:28 GMT\"0x8D6BC72EB57CD23\"5120share155476315509400354155476315527009713Mon, 08 Apr 2019 22:39:15 GMT\"0x8D6BC7307973941\"5120share155476431696300605Mon, 08 Apr 2019 22:58:37 GMT\"0x8D6BC75BBFA0376\"5120share155476431803903555155476431812608836Mon, 08 Apr 2019 22:58:38 GMT\"0x8D6BC75BCA40F40\"5120share155476434449006187155476434453202288Mon, 08 Apr 2019 22:59:04 GMT\"0x8D6BC75CC615763\"5120share155476439619101391Mon, 08 Apr 2019 22:59:56 GMT\"0x8D6BC75EB339992\"5120share155476439708209578155476439716101466Mon, 08 Apr 2019 22:59:57 GMT\"0x8D6BC75EBBF56A2\"5120share155476440391303860Mon, 08 Apr 2019 23:00:03 GMT\"0x8D6BC75EFC59254\"5120share155476441919809882Mon, 08 Apr 2019 23:00:19 GMT\"0x8D6BC75F8E84132\"5120share155476442078600281155476442100203874Mon, 08 Apr 2019 23:00:21 GMT\"0x8D6BC75F9FB98CD\"5120share155476445648205993Mon, 08 Apr 2019 23:00:56 GMT\"0x8D6BC760F317FE7\"5120share155476445803400883155476445823708321Mon, 08 Apr 2019 23:00:58 GMT\"0x8D6BC76102C0ED4\"5120share155476448512502130155476448520901124Mon, 08 Apr 2019 23:01:25 GMT\"0x8D6BC76203FC0A1\"5120share155476449148305636155476449156002875Mon, 08 Apr 2019 23:01:31 GMT\"0x8D6BC76240A4F5B\"5120share155476451224507051Mon, 08 Apr 2019 23:01:52 GMT\"0x8D6BC763071C475\"5120share155476451387005113155476451409200862Mon, 08 Apr 2019 23:01:54 GMT\"0x8D6BC7631766C6A\"5120share155476454247600113155476454255808131Mon, 08 Apr 2019 23:02:22 GMT\"0x8D6BC76426E1E01\"5120share155476454745500618Mon, 08 Apr 2019 23:02:27 GMT\"0x8D6BC764565FA5E\"5120share155476455021607446155476455057102446Mon, 08 Apr 2019 23:02:30 GMT\"0x8D6BC7647417689\"5120share155476458716904340Mon, 08 Apr 2019 23:03:07 GMT\"0x8D6BC765D11F2F7\"5120share155476459201807048155476459234206562Mon, 08 Apr 2019 23:03:12 GMT\"0x8D6BC766026741C\"5120share155476460868908204155476460885205375Mon, 08 Apr 2019 23:03:28 GMT\"0x8D6BC7669FDEE7E\"5120share155476464610301226155476464626505345Mon, 08 Apr 2019 23:04:06 GMT\"0x8D6BC76804A1D2B\"5120share155476509552004112Mon, 08 Apr 2019 23:11:35 GMT\"0x8D6BC778C11DA05\"5120share155476509649000318155476509657002600Mon, 08 Apr 2019 23:11:36 GMT\"0x8D6BC778CA0CB2B\"5120share155476511542304387155476511546309152Mon, 08 Apr 2019 23:11:55 GMT\"0x8D6BC7797E39BEB\"5120share155476517413101344Mon, 08 Apr 2019 23:12:54 GMT\"0x8D6BC77BAEEAA8D\"5120share155476517496105311155476517504207003Mon, 08 Apr 2019 23:12:55 GMT\"0x8D6BC77BB67D830\"5120share155476519430301159155476519441608194Mon, 08 Apr 2019 23:13:14 GMT\"0x8D6BC77C6F3A3F7\"5120share155476521415002140Mon, 08 Apr 2019 23:13:34 GMT\"0x8D6BC77D2BCBED8\"5120share155476521551909754155476521567608139Mon, 08 Apr 2019 23:13:35 GMT\"0x8D6BC77D3A540D1\"5120share155476522814705024Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB0AE947\"5120share155476522860004891155476522870301250Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB5F942D\"5120share155476524157100256155476524158202664Mon, 08 Apr 2019 23:14:01 GMT\"0x8D6BC77E30CE333\"5120share155476524350705464155476524358205357Mon, 08 Apr 2019 23:14:03 GMT\"0x8D6BC77E4460746\"5120share155476526115609987Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EEBA1057\"5120share155476526161606511155476526168506405Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EF0AB4DE\"5120share155476528567704891155476528569706277Mon, 08 Apr 2019 23:14:47 GMT\"0x8D6BC77FEAC6C77\"5120share155476541308600173Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC784947CC5E\"5120share155476541336401605155476541343509475Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC78497D6CB2\"5120share155476541862407549Mon, 08 Apr 2019 23:16:58 GMT\"0x8D6BC784CA7ADBF\"5120share155476542140001121155476542174500634Mon, 08 Apr 2019 23:17:01 GMT\"0x8D6BC784E84DC17\"5120share155476542538504885Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC78509D81DB\"5120share155476542565004895155476542568006667Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC7850CA2738\"5120share155476543241701826155476543243201196Mon, 08 Apr 2019 23:17:12 GMT\"0x8D6BC7854D01156\"5120share155476544273008434155476544274305609Mon, 08 Apr 2019 23:17:22 GMT\"0x8D6BC785AF5E27A\"5120share155476544945600830Mon, 08 Apr 2019 23:17:29 GMT\"0x8D6BC785EFC69FE\"5120share155476545069609500155476545084404529Mon, 08 Apr 2019 23:17:30 GMT\"0x8D6BC785FD05CC7\"5120share155476546513001319155476546528907473Mon, 08 Apr 2019 23:17:45 GMT\"0x8D6BC78687868BA\"5120share155476547764302784Mon, 08 Apr 2019 23:17:57 GMT\"0x8D6BC786FD65928\"5120share155476547797509162155476547804708222Mon, 08 Apr 2019 23:17:58 GMT\"0x8D6BC787006AD8B\"5120share155476548004608178Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC787149A8DB\"5120share155476548025600059155476548057608757Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC7871955A28\"5120share155476548161101583155476548178500635Mon, 08 Apr 2019 23:18:01 GMT\"0x8D6BC7872415487\"5120share155476551017200699155476551025501651Mon, 08 Apr 2019 23:18:30 GMT\"0x8D6BC788339C452\"5120share155476553000100349155476553016007964Mon, 08 Apr 2019 23:18:50 GMT\"0x8D6BC788F23E794\"5120share155476553515703995Mon, 08 Apr 2019 23:18:55 GMT\"0x8D6BC78921E3A6B\"5120share155476555499605553Mon, 08 Apr 2019 23:19:15 GMT\"0x8D6BC789DE8981A\"5120share155476555791006568155476555799506397Mon, 08 Apr 2019 23:19:18 GMT\"0x8D6BC789FAA847D\"5120share155476556319001694Mon, 08 Apr 2019 23:19:23 GMT\"0x8D6BC78A2D231F0\"5120share155476556594909048155476556627906331Mon, 08 Apr 2019 23:19:26 GMT\"0x8D6BC78A4AA425C\"5120share155476557993103090155476557997202286Mon, 08 Apr 2019 23:19:40 GMT\"0x8D6BC78ACC4513F\"5120share155476561235504876Mon, 08 Apr 2019 23:20:12 GMT\"0x8D6BC78C0167F8D\"5120share155476561420206269155476561435307087Mon, 08 Apr 2019 23:20:14 GMT\"0x8D6BC78C1459AB0\"5120share155476563307809610155476563323908472Mon, 08 Apr 2019 23:20:33 GMT\"0x8D6BC78CC9356F8\"5120share155476563525700309Mon, 08 Apr 2019 23:20:35 GMT\"0x8D6BC78CDC75B1D\"5120share155476565186800149155476565194201836Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D7ACF537\"5120share155476565288908553Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D83D9739\"5120share155476566702204764Mon, 08 Apr 2019 23:21:07 GMT\"0x8D6BC78E0AB5059\"5120share155476566888408884155476566903301978Mon, 08 Apr 2019 23:21:09 GMT\"0x8D6BC78E1DDFA2F\"5120share155476569754601439Mon, 08 Apr 2019 23:21:37 GMT\"0x8D6BC78F2DE4CD2\"5120share155476569837207565155476569846005813Mon, 08 Apr 2019 23:21:38 GMT\"0x8D6BC78F36203BE\"5120share155476571075507322155476571082803282Mon, 08 Apr 2019 23:21:50 GMT\"0x8D6BC78FAC64BC5\"5120share155476573561205412155476573565403349Mon, 08 Apr 2019 23:22:15 GMT\"0x8D6BC79098D6F9D\"5120share155476582496201150Mon, 08 Apr 2019 23:23:44 GMT\"0x8D6BC793EC6F190\"5120share155476582523001983155476582525909945Mon, 08 Apr 2019 23:23:45 GMT\"0x8D6BC793EF41688\"5120share155476582743106751Mon, 08 Apr 2019 23:23:48 GMT\"0x8D6BC79409CAE41\"5120share155476582980100852155476582998703282Mon, 08 Apr 2019 23:23:50 GMT\"0x8D6BC7941CAE726\"5120share155476583944109368155476583945505070Mon, 08 Apr 2019 23:23:59 GMT\"0x8D6BC79476A6827\"5120share155476586034200225Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC7953DD5231\"5120share155476586061108739155476586063802574Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC795409FE33\"5120share155476586220706650155476586229602787Mon, 08 Apr 2019 23:24:22 GMT\"0x8D6BC79550CEB70\"5120share155476587455908529155476587457305551Mon, 08 Apr 2019 23:24:34 GMT\"0x8D6BC795C58879C\"5120share155476590826505721Mon, 08 Apr 2019 23:25:08 GMT\"0x8D6BC7970761A7D\"5120share155476590973604504155476590989309631Mon, 08 Apr 2019 23:25:09 GMT\"0x8D6BC79716D4AFA\"5120share155476591033707299Mon, 08 Apr 2019 23:25:10 GMT\"0x8D6BC7971B27D00\"5120share155476591170101125155476591185309922Mon, 08 Apr 2019 23:25:11 GMT\"0x8D6BC797299505C\"5120share155476593861309453155476593868502630Mon, 08 Apr 2019 23:25:38 GMT\"0x8D6BC798296DD7A\"5120share155476594539707363155476594547109339Mon, 08 Apr 2019 23:25:45 GMT\"0x8D6BC7986A2BCA7\"5120share155476597286003203Mon, 08 Apr 2019 23:26:13 GMT\"0x8D6BC799708A3BD\"5120share155476597464003206155476597484603390Mon, 08 Apr 2019 23:26:14 GMT\"0x8D6BC79982362D7\"5120share155476598426402793Mon, 08 Apr 2019 23:26:24 GMT\"0x8D6BC799DD3927D\"5120share155476598818205759155476598845002383Mon, 08 Apr 2019 23:26:28 GMT\"0x8D6BC79A03EE25F\"5120share155476600772007187155476600781306046Mon, 08 Apr 2019 23:26:47 GMT\"0x8D6BC79ABC9C020\"5120share155476603512906240155476603522107811Mon, 08 Apr 2019 23:27:15 GMT\"0x8D6BC79BC2077CD\"5120share155476612857004763Mon, 08 Apr 2019 23:28:48 GMT\"0x8D6BC79F3D10E56\"5120share155476613124503640155476613162501568Mon, 08 Apr 2019 23:28:51 GMT\"0x8D6BC79F5BF108E\"5120share155476613867709497Mon, 08 Apr 2019 23:28:58 GMT\"0x8D6BC79F9D73AD3\"5120share155476614130107770155476614162206344Mon, 08 Apr 2019 23:29:01 GMT\"0x8D6BC79FB98B873\"5120share155476615325105499Mon, 08 Apr 2019 23:29:13 GMT\"0x8D6BC7A0285F585\"5120share155476615587201364155476615619704021Mon, 08 Apr 2019 23:29:16 GMT\"0x8D6BC7A04482DC2\"5120share155476617256702013Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0DF70F50\"5120share155476617286708690155476617290000740Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0E2A3672\"5120share155476617631503794155476617647401574Mon, 08 Apr 2019 23:29:36 GMT\"0x8D6BC7A105D6D5F\"5120share155476618593504384155476618610007906Mon, 08 Apr 2019 23:29:46 GMT\"0x8D6BC7A161CED7E\"5120share155476619533401752155476619534705354Mon, 08 Apr 2019 23:29:55 GMT\"0x8D6BC7A1B8B2A6E\"5120share155476619683806353Mon, 08 Apr 2019 23:29:56 GMT\"0x8D6BC7A1C6D46CC\"5120share155476619725105811155476619728102750Mon, 08 Apr 2019 23:29:57 GMT\"0x8D6BC7A1CB038C9\"5120share155476621071307980155476621087208340Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A24DEA06B\"5120share155476621179405773155476621180801024Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A25599C50\"5120share155476632270408100Mon, 08 Apr 2019 23:32:02 GMT\"0x8D6BC7A6773D7C7\"5120share155476632303800675155476632307907455Mon, 08 Apr 2019 23:32:03 GMT\"0x8D6BC7A67AC9E05\"5120share155476632430706264Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A6864C391\"5120share155476632463506544155476632466702328Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A689BC5FA\"5120share155476633626802696Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6F8AE711\"5120share155476633665402270155476633669409143Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6FCB6F75\"5120share155476633819602071155476633821109901Mon, 08 Apr 2019 23:32:18 GMT\"0x8D6BC7A70AEB4F1\"5120share155476634347500960155476634349303762Mon, 08 Apr 2019 23:32:23 GMT\"0x8D6BC7A73D7BC04\"5120share155476635498803205155476635500704670Mon, 08 Apr 2019 23:32:35 GMT\"0x8D6BC7A7AB5DD31\"5120share155476636740102128Mon, 08 Apr 2019 23:32:47 GMT\"0x8D6BC7A8217ACEF\"5120share155476636799001553155476636802902322Mon, 08 Apr 2019 23:32:48 GMT\"0x8D6BC7A827742AF\"5120share155476640407007925155476640408806067Mon, 08 Apr 2019 23:33:24 GMT\"0x8D6BC7A97F5475C\"5120share155476642228906194Mon, 08 Apr 2019 23:33:42 GMT\"0x8D6BC7AA2E851DD\"5120share155476642406903205155476642428706870Mon, 08 Apr 2019 23:33:44 GMT\"0x8D6BC7AA405A02A\"5120share155476643556600842Mon, 08 Apr 2019 23:33:55 GMT\"0x8D6BC7AAAD375CF\"5120share155476643735007209155476643755301972Mon, 08 Apr 2019 23:33:57 GMT\"0x8D6BC7AABEFBA98\"5120share155476646013804921155476646023001703Mon, 08 Apr 2019 23:34:20 GMT\"0x8D6BC7AB9720C36\"5120share155476646603504862155476646612508671Mon, 08 Apr 2019 23:34:26 GMT\"0x8D6BC7ABCF7B99B\"5120share155476651939008948Mon, 08 Apr 2019 23:35:19 GMT\"0x8D6BC7ADCB724D3\"5120share155476652060209660155476652075001950Mon, 08 Apr 2019 23:35:20 GMT\"0x8D6BC7ADD868F16\"5120share155476652313402499Mon, 08 Apr 2019 23:35:23 GMT\"0x8D6BC7ADEF47E76\"5120share155476652445009512155476652460906173Mon, 08 Apr 2019 23:35:24 GMT\"0x8D6BC7ADFD4BF9F\"5120share155476653877105120Mon, 08 Apr 2019 23:35:38 GMT\"0x8D6BC7AE85715BC\"5120share155476654052606040155476654075704405Mon, 08 Apr 2019 23:35:40 GMT\"0x8D6BC7AE9734F6D\"5120share155476654689703476155476654698507157Mon, 08 Apr 2019 23:35:47 GMT\"0x8D6BC7AED294572\"5120share155476655472405591155476655481808374Mon, 08 Apr 2019 23:35:54 GMT\"0x8D6BC7AF1D649CF\"5120share155476656612708539Mon, 08 Apr 2019 23:36:06 GMT\"0x8D6BC7AF8A51350\"5120share155476657143404230155476657152808653Mon, 08 Apr 2019 23:36:11 GMT\"0x8D6BC7AFBCA17D2\"5120share155476657399703964155476657419709569Mon, 08 Apr 2019 23:36:14 GMT\"0x8D6BC7AFD60C4A1\"5120share155476661766108474155476661775202619Mon, 08 Apr 2019 23:36:57 GMT\"0x8D6BC7B17564BAD\"5120share155476673272406010Mon, 08 Apr 2019 23:38:52 GMT\"0x8D6BC7B5BF0E3A1\"5120share155476673504406253155476673542105732Mon, 08 Apr 2019 23:38:55 GMT\"0x8D6BC7B5D7931DB\"5120share155476675253901113Mon, 08 Apr 2019 23:39:12 GMT\"0x8D6BC7B67A8B452\"5120share155476675296209288155476675300907031Mon, 08 Apr 2019 23:39:13 GMT\"0x8D6BC7B67F08B7B\"5120share155476676945407999155476676947003222Mon, 08 Apr 2019 23:39:29 GMT\"0x8D6BC7B71C055F1\"5120share155476677410400733155476677419608768Mon, 08 Apr 2019 23:39:34 GMT\"0x8D6BC7B7495E848\"5120share155476678595409185Mon, 08 Apr 2019 23:39:46 GMT\"0x8D6BC7B7BA54AF6\"5120share155476678702907493Mon, 08 Apr 2019 23:39:47 GMT\"0x8D6BC7B7C3787CB\"5120share155476678942303133155476678947007472Mon, 08 Apr 2019 23:39:49 GMT\"0x8D6BC7B7DACAD5C\"5120share155476679257406842155476679289807813Mon, 08 Apr 2019 23:39:53 GMT\"0x8D6BC7B7FC83C47\"5120share155476681265205823155476681268306939Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8B81FC62\"5120share155476681295008223Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8BAA029D\"5120share155476683674701439Mon, 08 Apr 2019 23:40:36 GMT\"0x8D6BC7B99EB0399\"5120share155476683691105172Mon, 08 Apr 2019 23:40:37 GMT\"0x8D6BC7B9A04190A\"5120share155476683938408044155476683970607122Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BAF0AC6\"5120share155476683954506999155476683986401108Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BC6BC86\"5120share155476684955901192155476684971705447Mon, 08 Apr 2019 23:40:49 GMT\"0x8D6BC7BA1A68C4A\"5120share155476689429503310155476689446302908Mon, 08 Apr 2019 23:41:34 GMT\"0x8D6BC7BBC523411\"5120share155476689486309119155476689502109811Mon, 08 Apr 2019 23:41:35 GMT\"0x8D6BC7BBCA78283\"5120share155476689848406446Mon, 08 Apr 2019 23:41:38 GMT\"0x8D6BC7BBEA6DEF5\"5120share155476690144000750155476690147105650Mon, 08 Apr 2019 23:41:41 GMT\"0x8D6BC7BC06D6BFE\"5120share155476692550408281155476692552006307Mon, 08 Apr 2019 23:42:05 GMT\"0x8D6BC7BCEC2E737\"5120share155476701310301365Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C02F81A4A\"5120share155476701354009909155476701358700586Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C0341217E\"5120share155476703054701901155476703056303132Mon, 08 Apr 2019 23:43:50 GMT\"0x8D6BC7C0D5E5EF4\"5120share155476705263308527Mon, 08 Apr 2019 23:44:12 GMT\"0x8D6BC7C1A874F4E\"5120share155476705313403501155476705324309452Mon, 08 Apr 2019 23:44:13 GMT\"0x8D6BC7C1AE43384\"5120share155476707854907462155476707856501775Mon, 08 Apr 2019 23:44:38 GMT\"0x8D6BC7C29FBFD59\"5120share155476708292203055Mon, 08 Apr 2019 23:44:42 GMT\"0x8D6BC7C2C965437\"5120share155476718097200661Mon, 08 Apr 2019 23:46:21 GMT\"0x8D6BC7C67140ED4\"5120share155476718511307033155476718528507060Mon, 08 Apr 2019 23:46:25 GMT\"0x8D6BC7C69A5A008\"5120share155476720906609619Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C77C48EEA\"5120share155476720947601374155476720952302768Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C780AB178\"5120share155476721652702563155476721660503614Mon, 08 Apr 2019 23:46:56 GMT\"0x8D6BC7C7C4FF562\"5120share155476722456803338155476722458406433Mon, 08 Apr 2019 23:47:04 GMT\"0x8D6BC7C8105A53E\"5120share155476731188105124Mon, 08 Apr 2019 23:48:31 GMT\"0x8D6BC7CB50D9313\"5120share155476731224201118155476731228901281Mon, 08 Apr 2019 23:48:32 GMT\"0x8D6BC7CB54D3B10\"5120share155476733008504443155476733011603577Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CBFEB1452\"5120share155476733031901975Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CC00B25BF\"5120share155476737686900592Mon, 08 Apr 2019 23:49:36 GMT\"0x8D6BC7CDBCC5422\"5120share155476737934703176155476737939509803Mon, 08 Apr 2019 23:49:39 GMT\"0x8D6BC7CDD4CCB9A\"5120share155476740063206317Mon, 08 Apr 2019 23:50:00 GMT\"0x8D6BC7CE9F6D928\"5120share155476740105301968155476740110108620Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA3DC4B9\"5120share155476740160309274155476740163408658Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA8EBD5D\"5120share155476740389005761Mon, 08 Apr 2019 23:50:03 GMT\"0x8D6BC7CEBE693B3\"5120share155476741944107110155476741947208866Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF5306B3B\"5120share155476741973801348Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF55AA35D\"5120share155476751993603097Mon, 08 Apr 2019 23:51:59 GMT\"0x8D6BC7D310FD6F9\"5120share155476752034209234155476752038903373Mon, 08 Apr 2019 23:52:00 GMT\"0x8D6BC7D3154EB7F\"5120share155476753773308525155476753774900804Mon, 08 Apr 2019 23:52:17 GMT\"0x8D6BC7D3BAF1D7C\"5120share155476755968506518Mon, 08 Apr 2019 23:52:39 GMT\"0x8D6BC7D48C2D945\"5120share155476756025704914155476756030408293Mon, 08 Apr 2019 23:52:40 GMT\"0x8D6BC7D4920F1BB\"5120share155476757927403262155476757930605206Mon, 08 Apr 2019 23:52:59 GMT\"0x8D6BC7D5477C4FD\"5120share155476758886800802Mon, 08 Apr 2019 23:53:08 GMT\"0x8D6BC7D5A295568\"5120share155476759612809724Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5E7A3CE8\"5120share155476759675809547155476759678907586Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5EDFE197\"5120share155476761379605068155476761381206318Mon, 08 Apr 2019 23:53:33 GMT\"0x8D6BC7D6904C3BC\"5120share155476769451707014Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D991E2C56\"5120share155476769492305905155476769495502323Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D9962B197\"5120share155476771291006498155476771292504957Mon, 08 Apr 2019 23:55:12 GMT\"0x8D6BC7DA4180F06\"5120share155476773060003911Mon, 08 Apr 2019 23:55:30 GMT\"0x8D6BC7DAEA17CC4\"5120share155476773118005704155476773135203965Mon, 08 Apr 2019 23:55:31 GMT\"0x8D6BC7DAF1378A6\"5120share155476775106100021155476775109309106Mon, 08 Apr 2019 23:55:51 GMT\"0x8D6BC7DBAD731E5\"5120share155476781685606946Mon, 08 Apr 2019 23:56:56 GMT\"0x8D6BC7DE20E7957\"5120share155476781732000128155476781738302450Mon, 08 Apr 2019 23:56:57 GMT\"0x8D6BC7DE2600C71\"5120share155476783345303757155476783346907719Mon, 08 Apr 2019 23:57:13 GMT\"0x8D6BC7DEBF7156B\"5120share155476791347300669Mon, 08 Apr 2019 23:58:33 GMT\"0x8D6BC7E1BA54903\"5120share155476791386402913155476791406106541Mon, 08 Apr 2019 23:58:34 GMT\"0x8D6BC7E1BFCC039\"5120share155476793045906102155476793049006057Mon, 08 Apr 2019 23:58:50 GMT\"0x8D6BC7E25C76D52\"5120share155476802704709159Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F561B0D\"5120share155476802747007068155476802751704585Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F9E2732\"5120share155476804346803478155476804349905857Tue, 09 Apr 2019 00:00:43 GMT\"0x8D6BC7E692437A6\"5120share155476804670501417Tue, 09 Apr 2019 00:00:46 GMT\"0x8D6BC7E6B0C980A\"5120share155476804729208533155476804732304485Tue, 09 Apr 2019 00:00:47 GMT\"0x8D6BC7E6B6BE551\"5120share155476806792107870155476806795006572Tue, 09 Apr 2019 00:01:07 GMT\"0x8D6BC7E77B59043\"5120share155476809524706138Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E87FA6EFD\"5120share155476809559505969Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E883E0CC1\"5120share155476809573102733155476809608507721Tue, 09 Apr 2019 00:01:36 GMT\"0x8D6BC7E8878E2E0\"5120share155476809796808728Tue, 09 Apr 2019 00:01:37 GMT\"0x8D6BC7E8998569D\"5120share155476810291301609155476810326803401Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CD0D20B\"5120share155476810304900799155476810314308687Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CAE4EE9\"5120share155476811609008652155476811612104405Tue, 09 Apr 2019 00:01:56 GMT\"0x8D6BC7E94697D23\"5120share155476811931604393155476811933200724Tue, 09 Apr 2019 00:01:59 GMT\"0x8D6BC7E9653421D\"5120share155476812170804393Tue, 09 Apr 2019 00:02:01 GMT\"0x8D6BC7E97C041CC\"5120share155476814743406883Tue, 09 Apr 2019 00:02:27 GMT\"0x8D6BC7EA7272A92\"5120share155476815440005091155476815476601339Tue, 09 Apr 2019 00:02:34 GMT\"0x8D6BC7EAB862619\"5120share155476815597205023155476815615103123Tue, 09 Apr 2019 00:02:36 GMT\"0x8D6BC7EAC554CE6\"5120share155476820193208970Tue, 09 Apr 2019 00:03:22 GMT\"0x8D6BC7EC7A0122F\"5120share155476820878406771155476820896404753Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBD4210C\"5120share155476820883700691155476820924100125Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBFA99BF\"5120share155476821108601306Tue, 09 Apr 2019 00:03:31 GMT\"0x8D6BC7ECD176585\"5120share155476825711807119155476825729204921Tue, 09 Apr 2019 00:04:17 GMT\"0x8D6BC7EE89EA8B2\"5120share155476825945705044Tue, 09 Apr 2019 00:04:19 GMT\"0x8D6BC7EE9E8E0CB\"5120share155476834740803120Tue, 09 Apr 2019 00:05:47 GMT\"0x8D6BC7F1E4777AF\"5120share155476834984008859155476834988702992Tue, 09 Apr 2019 00:05:49 GMT\"0x8D6BC7F1FC39553\"5120share155476836605404360155476836607004655Tue, 09 Apr 2019 00:06:06 GMT\"0x8D6BC7F29689397\"5120share155476838809206589Tue, 09 Apr 2019 00:06:28 GMT\"0x8D6BC7F3699A514\"5120share155476839198303786155476839234803107Tue, 09 Apr 2019 00:06:32 GMT\"0x8D6BC7F39223C76\"5120share155476843986900491Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F557ECA14\"5120share155476844021800627155476844024600583Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F55B9A5DF\"5120share155476845378709296155476845396806652Tue, 09 Apr 2019 00:07:34 GMT\"0x8D6BC7F5DDC13C9\"5120share155476845593902321155476845597001638Tue, 09 Apr 2019 00:07:36 GMT\"0x8D6BC7F5F180369\"5120share155476849626305945Tue, 09 Apr 2019 00:08:16 GMT\"0x8D6BC7F77117C82\"5120share155476849880105820Tue, 09 Apr 2019 00:08:18 GMT\"0x8D6BC7F7885AA01\"5120share155476849915307469155476850553606138Tue, 09 Apr 2019 00:08:25 GMT\"0x8D6BC7F7C976A4D\"5120share155476850592804706155476850599107187Tue, 09 Apr 2019 00:08:26 GMT\"0x8D6BC7F7CCF6C1B\"5120share155476852757806473155476852759309641Tue, 09 Apr 2019 00:08:47 GMT\"0x8D6BC7F89B00F3A\"5120share155476852980102365Tue, 09 Apr 2019 00:08:49 GMT\"0x8D6BC7F8B005BF0\"5120share155476856656600292155476856674507959Tue, 09 Apr 2019 00:09:26 GMT\"0x8D6BC7FA112F732\"5120share155476856885709152Tue, 09 Apr 2019 00:09:28 GMT\"0x8D6BC7FA2557BB5\"5120share155476863244904949Tue, 09 Apr 2019 00:10:32 GMT\"0x8D6BC7FC83EFA77\"5120share155476863535008494155476863570305271Tue, 09 Apr 2019 00:10:35 GMT\"0x8D6BC7FCA2FC926\"5120share155476865943308691Tue, 09 Apr 2019 00:10:59 GMT\"0x8D6BC7FD853FF98\"5120share155476866240807893155476866276704727Tue, 09 Apr 2019 00:11:02 GMT\"0x8D6BC7FDA5082D2\"5120share155476868218009780155476868235304727Tue, 09 Apr 2019 00:11:22 GMT\"0x8D6BC7FE5FCE9DC\"5120share155476868800600510Tue, 09 Apr 2019 00:11:28 GMT\"0x8D6BC7FE95CAD94\"5120share155476869091401136155476869126508601Tue, 09 Apr 2019 00:11:31 GMT\"0x8D6BC7FEB4D0822\"5120share155476871168505595155476871185701462Tue, 09 Apr 2019 00:11:51 GMT\"0x8D6BC7FF7927E16\"5120share155476874475805006155476874493808659Tue, 09 Apr 2019 00:12:25 GMT\"0x8D6BC800B4A745E\"5120share155476874690105242Tue, 09 Apr 2019 00:12:27 GMT\"0x8D6BC800C75C565\"5120share155476875206001092155476875241409773Tue, 09 Apr 2019 00:12:32 GMT\"0x8D6BC800FBFA200\"5120share155476880248305317Tue, 09 Apr 2019 00:13:22 GMT\"0x8D6BC802D993DFF\"5120share155476880545306177155476880583203834Tue, 09 Apr 2019 00:13:25 GMT\"0x8D6BC802F965397\"5120share155476888864505928155476888881909462Tue, 09 Apr 2019 00:14:48 GMT\"0x8D6BC80610D3090\"5120share155476899293006933155476899311001721Tue, 09 Apr 2019 00:16:33 GMT\"0x8D6BC809F369DB0\"5120share155476908548709722Tue, 09 Apr 2019 00:18:05 GMT\"0x8D6BC80D645612F\"5120share155476908868904195155476908904003064Tue, 09 Apr 2019 00:18:09 GMT\"0x8D6BC80D863A958\"5120share155476909980609434Tue, 09 Apr 2019 00:18:19 GMT\"0x8D6BC80DECE268E\"5120share155476910281904976155476910319003432Tue, 09 Apr 2019 00:18:23 GMT\"0x8D6BC80E0D4235F\"5120share155476913684100960Tue, 09 Apr 2019 00:18:56 GMT\"0x8D6BC80F4E4E108\"5120share155476913787408958Tue, 09 Apr 2019 00:18:58 GMT\"0x8D6BC80F5820C56\"5120share155476913976300123155476914012502697Tue, 09 Apr 2019 00:19:00 GMT\"0x8D6BC80F6D9D174\"5120share155476914067107913155476914401701060Tue, 09 Apr 2019 00:19:04 GMT\"0x8D6BC80F92C192D\"5120share155476914792003023155476914809807978Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FB98086D\"5120share155476914816001450Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FBA21BE5\"5120share155476915097103659155476915132003837Tue, 09 Apr 2019 00:19:11 GMT\"0x8D6BC80FD83B8C9\"5120share155476917672903935Tue, 09 Apr 2019 00:19:36 GMT\"0x8D6BC810CA71295\"5120share155476917952009763155476917987301193Tue, 09 Apr 2019 00:19:40 GMT\"0x8D6BC810E86FF1C\"5120share155476919071804890155476919089106036Tue, 09 Apr 2019 00:19:51 GMT\"0x8D6BC8115191B5D\"5120share155476919296302859Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC811655430E\"5120share155476919319101764155476919336803669Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC81169511B5\"5120share155476919545308814Tue, 09 Apr 2019 00:19:55 GMT\"0x8D6BC8117D2A35B\"5120share155476919567900532155476919585804561Tue, 09 Apr 2019 00:19:56 GMT\"0x8D6BC811811F934\"5120share155476920649006874155476920666505869Tue, 09 Apr 2019 00:20:06 GMT\"0x8D6BC811E81595E\"5120share155476922893709128155476922911208955Tue, 09 Apr 2019 00:20:29 GMT\"0x8D6BC812BE07699\"5120share155476923318404372Tue, 09 Apr 2019 00:20:33 GMT\"0x8D6BC812E4D5E21\"5120share155476925059001794Tue, 09 Apr 2019 00:20:50 GMT\"0x8D6BC8138ADF463\"5120share155476925356004440155476925393103687Tue, 09 Apr 2019 00:20:54 GMT\"0x8D6BC813AABBC7A\"5120share155476929764201056Tue, 09 Apr 2019 00:21:37 GMT\"0x8D6BC8154B9AB1E\"5120share155476929921903613155476929939207757Tue, 09 Apr 2019 00:21:41 GMT\"0x8D6BC8156F5F171\"5120share155476930455706190155476930492200920Tue, 09 Apr 2019 00:21:45 GMT\"0x8D6BC81591155FA\"5120share155476939253408398155476939270804066Tue, 09 Apr 2019 00:23:12 GMT\"0x8D6BC818D634979\"5120share155476946740007208Tue, 09 Apr 2019 00:24:27 GMT\"0x8D6BC81B9E9110E\"5120share155476947019106284155476947055502266Tue, 09 Apr 2019 00:24:30 GMT\"0x8D6BC81BBCA3C83\"5120share155476950493004815Tue, 09 Apr 2019 00:25:05 GMT\"0x8D6BC81D0474349\"5120share155476950777909601155476950813509107Tue, 09 Apr 2019 00:25:08 GMT\"0x8D6BC81D2310748\"5120share155476951815408266155476953409009620Tue, 09 Apr 2019 00:25:34 GMT\"0x8D6BC81E1A8547E\"5120share155476954514209563Tue, 09 Apr 2019 00:25:45 GMT\"0x8D6BC81E842D7B4\"5120share155476954794902021155476954830307106Tue, 09 Apr 2019 00:25:48 GMT\"0x8D6BC81EA248BAB\"5120share155476955580001453155476955597302370Tue, 09 Apr 2019 00:25:56 GMT\"0x8D6BC81EEB44D5D\"5120share155476958659300969Tue, 09 Apr 2019 00:26:26 GMT\"0x8D6BC8200F1D32F\"5120share155476958941003585155476958975801940Tue, 09 Apr 2019 00:26:29 GMT\"0x8D6BC8202D4FE31\"5120share155476964114307488155476964131504685Tue, 09 Apr 2019 00:27:21 GMT\"0x8D6BC822194155D\"5120share155476968411306454155476968428403769Tue, 09 Apr 2019 00:28:04 GMT\"0x8D6BC823B2BFB08\"5120share155476971626808737Tue, 09 Apr 2019 00:28:36 GMT\"0x8D6BC824E3EA287\"5120share155476972105905786155476972140705576Tue, 09 Apr 2019 00:28:41 GMT\"0x8D6BC82514F8A17\"5120share155476976555505046155476976573004607Tue, 09 Apr 2019 00:29:25 GMT\"0x8D6BC826BBAEF5D\"5120share155476977380801891Tue, 09 Apr 2019 00:29:33 GMT\"0x8D6BC82708B5AA2\"5120share155476995717807831Tue, 09 Apr 2019 00:32:37 GMT\"0x8D6BC82DDD891C2\"5120share155476995999104481155476996033909155Tue, 09 Apr 2019 00:32:40 GMT\"0x8D6BC82DFBAE58B\"5120share155477000943707763155477000964807043Tue, 09 Apr 2019 00:33:29 GMT\"0x8D6BC82FD1F5667\"5120share155480772852505654Tue, 09 Apr 2019 11:02:08 GMT\"0x8D6BCDACF62C049\"5120share155480773110506552155480773127501332Tue, 09 Apr 2019 11:02:11 GMT\"0x8D6BCDAD0E9ACB2\"5120share155480776409606766155480776417904835Tue, 09 Apr 2019 11:02:44 GMT\"0x8D6BCDAE4867510\"5120share155480776694805660Tue, 09 Apr 2019 11:02:49 GMT\"0x8D6BCDAE7B2553B\"5120share155480777833501686155480777940002178Tue, 09 Apr 2019 11:02:59 GMT\"0x8D6BCDAEDA584FA\"5120share155480794441908831155480794614402045Tue, 09 Apr 2019 11:05:46 GMT\"0x8D6BCDB511E3A7E\"5120share155480838272308971Tue, 09 Apr 2019 11:13:02 GMT\"0x8D6BCDC55308631\"5120share155480838569107929155480838575305746Tue, 09 Apr 2019 11:13:05 GMT\"0x8D6BCDC56FF7011\"5120share155480840927004361155480840928909324Tue, 09 Apr 2019 11:13:29 GMT\"0x8D6BCDC6506EC70\"5120share155480861063907178Tue, 09 Apr 2019 11:16:50 GMT\"0x8D6BCDCDD0822AE\"5120share155480862463105296Tue, 09 Apr 2019 11:17:04 GMT\"0x8D6BCDCE57D7B96\"5120share155480862643008694155480862661203489Tue, 09 Apr 2019 11:17:06 GMT\"0x8D6BCDCE6936C52\"5120share155480862803409284155480862810302824Tue, 09 Apr 2019 11:17:08 GMT\"0x8D6BCDCE770CC18\"5120share155480865812101922155480865821104214Tue, 09 Apr 2019 11:17:38 GMT\"0x8D6BCDCF96916EB\"5120share155480868606501887155480868609406416Tue, 09 Apr 2019 11:18:06 GMT\"0x8D6BCDD0A00E67C\"5120share155480889003904019Tue, 09 Apr 2019 11:21:32 GMT\"0x8D6BCDD84F6F82E\"5120share155480889568307939155480889583203255Tue, 09 Apr 2019 11:21:35 GMT\"0x8D6BCDD870F6BA3\"5120share155480897029709318155480897037300585Tue, 09 Apr 2019 11:22:50 GMT\"0x8D6BCDDB37953D4\"5120share155480906424102615Tue, 09 Apr 2019 11:24:24 GMT\"0x8D6BCDDEB6B81B1\"5120share155480930375303643Tue, 09 Apr 2019 11:28:23 GMT\"0x8D6BCDE7A28B8DB\"5120share155480930894709325155480930937004652Tue, 09 Apr 2019 11:28:29 GMT\"0x8D6BCDE7D818C36\"5120share155480933774208533155480933783509305Tue, 09 Apr 2019 11:28:57 GMT\"0x8D6BCDE8E7BF8F9\"5120share155480969517400844Tue, 09 Apr 2019 11:34:55 GMT\"0x8D6BCDF63A050C3\"5120share155480969888707795155480969893306849Tue, 09 Apr 2019 11:34:58 GMT\"0x8D6BCDF65B54921\"5120share155480974335804699155480974338902814Tue, 09 Apr 2019 11:35:43 GMT\"0x8D6BCDF8036DDF6\"5120share155481008340704248Tue, 09 Apr 2019 11:41:23 GMT\"0x8D6BCE04ADDD8A2\"5120share155481008549406718155481008554100937Tue, 09 Apr 2019 11:41:27 GMT\"0x8D6BCE04D31B524\"5120share155481012778602365155481012781701628Tue, 09 Apr 2019 11:42:07 GMT\"0x8D6BCE06555DFCE\"5120share155481034990901641Tue, 09 Apr 2019 11:45:50 GMT\"0x8D6BCE0E9CADC7F\"5120share155481035603904965155481035641604476Tue, 09 Apr 2019 11:45:56 GMT\"0x8D6BCE0EDAB9351\"5120share155481041106406083155481041124001246Tue, 09 Apr 2019 11:46:51 GMT\"0x8D6BCE10E67C485\"5120share155481070004408686Tue, 09 Apr 2019 11:51:40 GMT\"0x8D6BCE1BA7CCA86\"5120share155481070331300500155481070366508716Tue, 09 Apr 2019 11:51:43 GMT\"0x8D6BCE1BCA4D32F\"5120share155481077062801299155481077080301740Tue, 09 Apr 2019 11:52:50 GMT\"0x8D6BCE1E4A8AC5E\"5120share155481104696407257Tue, 09 Apr 2019 11:57:27 GMT\"0x8D6BCE28944219B\"5120share155481105069503376155481105104709050Tue, 09 Apr 2019 11:57:31 GMT\"0x8D6BCE28BB2F5EB\"5120share155481110393104766155481110410301124Tue, 09 Apr 2019 11:58:24 GMT\"0x8D6BCE2AB5E84AC\"5120share155489412862807371Wed, 10 Apr 2019 11:02:08 GMT\"0x8D6BDA3F9C8FD9B\"5120share155489413277909619155489413286706477Wed, 10 Apr 2019 11:02:12 GMT\"0x8D6BDA3FC41DB4E\"5120share155489415671304108155489415677606190Wed, 10 Apr 2019 11:02:36 GMT\"0x8D6BDA40A819FF1\"5120share155489416756705091Wed, 10 Apr 2019 11:02:47 GMT\"0x8D6BDA410EF2DA1\"5120share155489416916801489155489416921506591Wed, 10 Apr 2019 11:02:49 GMT\"0x8D6BDA412270A05\"5120share155489422601500459155489422611702482Wed, 10 Apr 2019 11:03:46 GMT\"0x8D6BDA433D48934\"5120share155489422827708423Wed, 10 Apr 2019 11:03:48 GMT\"0x8D6BDA4351DC470\"5120share155489454656606719Wed, 10 Apr 2019 11:09:06 GMT\"0x8D6BDA4F2FC5650\"5120share155489455422603360155489455439702529Wed, 10 Apr 2019 11:09:14 GMT\"0x8D6BDA4F782E06A\"5120share155489458258002289155489458262309243Wed, 10 Apr 2019 11:09:42 GMT\"0x8D6BDA50855B498\"5120share155489482947807877Wed, 10 Apr 2019 11:13:53 GMT\"0x8D6BDA59DEC0FEB\"5120share155489483786706760155489483837601083Wed, 10 Apr 2019 11:14:00 GMT\"0x8D6BDA5A1B99935\"5120share155489488327604413155489488334906059Wed, 10 Apr 2019 11:14:43 GMT\"0x8D6BDA5BB9978AF\"5120share155489492123309454Wed, 10 Apr 2019 11:15:21 GMT\"0x8D6BDA5D248D84A\"5120share155489492507607432155489492526001236Wed, 10 Apr 2019 11:15:25 GMT\"0x8D6BDA5D4933469\"5120share155489496225207071155489496234109679Wed, 10 Apr 2019 11:16:02 GMT\"0x8D6BDA5EAAD1456\"5120share155489509528801814Wed, 10 Apr 2019 11:18:15 GMT\"0x8D6BDA63A229516\"5120share155489509735407356155489510215103908Wed, 10 Apr 2019 11:18:22 GMT\"0x8D6BDA63E2E9C02\"5120share155489515091603004155489515099201262Wed, 10 Apr 2019 11:19:11 GMT\"0x8D6BDA65B20F8F3\"5120share155489547884803269Wed, 10 Apr 2019 11:24:38 GMT\"0x8D6BDA71E86E5E0\"5120share155489548454903275155489548483004021Wed, 10 Apr 2019 11:24:44 GMT\"0x8D6BDA722179E7F\"5120share155489552181808130155489552185003544Wed, 10 Apr 2019 11:25:22 GMT\"0x8D6BDA73872431F\"5120share155489582839504190Wed, 10 Apr 2019 11:30:28 GMT\"0x8D6BDA7EEDEBFDD\"5120share155489582984702446155489583159500319Wed, 10 Apr 2019 11:30:31 GMT\"0x8D6BDA7F0C46DE4\"5120share155489586173909876155489586175402656Wed, 10 Apr 2019 11:31:02 GMT\"0x8D6BDA802F14681\"5120share155489619289500492Wed, 10 Apr 2019 11:36:32 GMT\"0x8D6BDA8C8219F23\"5120share155489619393006230155489619397709077Wed, 10 Apr 2019 11:36:34 GMT\"0x8D6BDA8C8C592C3\"5120share155489622564303022155489622565908804Wed, 10 Apr 2019 11:37:05 GMT\"0x8D6BDA8DBD04781\"5120share155489646131309214Wed, 10 Apr 2019 11:41:01 GMT\"0x8D6BDA9682F9333\"5120share155489646684205145155489646750301265Wed, 10 Apr 2019 11:41:07 GMT\"0x8D6BDA96BE064BB\"5120share155489652175004438155489652192700531Wed, 10 Apr 2019 11:42:02 GMT\"0x8D6BDA98C503695\"5120share155489681486003455Wed, 10 Apr 2019 11:46:54 GMT\"0x8D6BDAA3AE74A21\"5120share155489681884608063155489681919608330Wed, 10 Apr 2019 11:46:59 GMT\"0x8D6BDAA3D7CB218\"5120share155489687019401343155489687037106917Wed, 10 Apr 2019 11:47:50 GMT\"0x8D6BDAA5BFCC6A5\"5120share155489714481609238Wed, 10 Apr 2019 11:52:24 GMT\"0x8D6BDAAFF95A52E\"5120share155489714807504789155489714842701455Wed, 10 Apr 2019 11:52:28 GMT\"0x8D6BDAB01BBB9AA\"5120share155489720343801332155489720361300530Wed, 10 Apr 2019 11:53:23 GMT\"0x8D6BDAB22A213DA\"5120share155498052189005973Thu, 11 Apr 2019 11:02:03 GMT\"0x8D6BE6D20C5A27A\"5120share155498052486307452155498052494601328Thu, 11 Apr 2019 11:02:04 GMT\"0x8D6BE6D21F3FD4A\"5120share155498054458201295155498054462607374Thu, 11 Apr 2019 11:02:24 GMT\"0x8D6BE6D2DAF2F37\"5120share155498057256409560Thu, 11 Apr 2019 11:02:52 GMT\"0x8D6BE6D3E5B0100\"5120share155498057900203212155498058058503101Thu, 11 Apr 2019 11:03:00 GMT\"0x8D6BE6D4322EAB8\"5120share155498066045708716155498066054002568Thu, 11 Apr 2019 11:04:20 GMT\"0x8D6BE6D72CA6F35\"5120share155498100392305925Thu, 11 Apr 2019 11:10:03 GMT\"0x8D6BE6E3F6D7332\"5120share155498100486605985155498100492408541Thu, 11 Apr 2019 11:10:04 GMT\"0x8D6BE6E400669DB\"5120share155498102575801912155498102577004454Thu, 11 Apr 2019 11:10:25 GMT\"0x8D6BE6E4C72FBE0\"5120share155498118716109200Thu, 11 Apr 2019 11:13:07 GMT\"0x8D6BE6EACAE6539\"5120share155498119088009096155498119109803405Thu, 11 Apr 2019 11:13:11 GMT\"0x8D6BE6EAF0745E6\"5120share155498123278401216Thu, 11 Apr 2019 11:13:53 GMT\"0x8D6BE6EC7F7A018\"5120share155498123486100245155498123504606077Thu, 11 Apr 2019 11:13:55 GMT\"0x8D6BE6EC937DC9E\"5120share155498125173204844155498125181103614Thu, 11 Apr 2019 11:14:11 GMT\"0x8D6BE6ED337568F\"5120share155498127070203605155498127090200772Thu, 11 Apr 2019 11:14:30 GMT\"0x8D6BE6EDE96DD2C\"5120share155498149053803558Thu, 11 Apr 2019 11:18:13 GMT\"0x8D6BE6F632FC122\"5120share155498149486704484155498149491504102Thu, 11 Apr 2019 11:18:15 GMT\"0x8D6BE6F644A9B3B\"5120share155498155460200751155498155462406088Thu, 11 Apr 2019 11:19:14 GMT\"0x8D6BE6F87ADF271\"5120share155498183671704701Thu, 11 Apr 2019 11:23:55 GMT\"0x8D6BE702ECFDF92\"5120share155498183865606144155498183870405710Thu, 11 Apr 2019 11:23:57 GMT\"0x8D6BE702FFE177F\"5120share155498188735506358155498188738804227Thu, 11 Apr 2019 11:24:47 GMT\"0x8D6BE704DFE05C3\"5120share155498217286508991Thu, 11 Apr 2019 11:29:32 GMT\"0x8D6BE70F82F0421\"5120share155498217391907065155498217398104387Thu, 11 Apr 2019 11:29:34 GMT\"0x8D6BE70F8D9643C\"5120share155498221400709049155498221402206456Thu, 11 Apr 2019 11:30:14 GMT\"0x8D6BE7110E9F384\"5120share155498253737503811Thu, 11 Apr 2019 11:35:37 GMT\"0x8D6BE71D1727116\"5120share155498253857505289155498253935506389Thu, 11 Apr 2019 11:35:39 GMT\"0x8D6BE71D29F6801\"5120share155498256201107590155498256205807686Thu, 11 Apr 2019 11:36:02 GMT\"0x8D6BE71E0282811\"5120share155498278528305699Thu, 11 Apr 2019 11:39:45 GMT\"0x8D6BE7265497F4F\"5120share155498278829705785155498278865706979Thu, 11 Apr 2019 11:39:48 GMT\"0x8D6BE72674C1598\"5120share155498284418801730155498284436204192Thu, 11 Apr 2019 11:40:44 GMT\"0x8D6BE72887F563D\"5120share155498314636609246Thu, 11 Apr 2019 11:45:46 GMT\"0x8D6BE733C80D62F\"5120share155498314958405145155498314993401182Thu, 11 Apr 2019 11:45:50 GMT\"0x8D6BE733EB4DDC6\"5120share155498320380202916155498320397803097Thu, 11 Apr 2019 11:46:44 GMT\"0x8D6BE735ED74285\"5120share155498348631909500Thu, 11 Apr 2019 11:51:26 GMT\"0x8D6BE740722A624\"5120share155498349006200479155498349041201049Thu, 11 Apr 2019 11:51:30 GMT\"0x8D6BE7409936A5D\"5120share155498355074904797155498355091806030Thu, 11 Apr 2019 11:52:31 GMT\"0x8D6BE742DA3712E\"5120share155506715001008005Fri, 12 Apr 2019 11:05:50 GMT\"0x8D6BF36D280C86E\"5120share155506715554809020Fri, 12 Apr 2019 11:05:58 GMT\"0x8D6BF36D7A9DABD\"5120share155506716051807380155506716056903734Fri, 12 Apr 2019 11:06:00 GMT\"0x8D6BF36D8CB60FE\"5120share155506716156004041155506716164300511Fri, 12 Apr 2019 11:06:01 GMT\"0x8D6BF36D972DBD5\"5120share155506718476800145155506718480807242Fri, 12 Apr 2019 11:06:24 GMT\"0x8D6BF36E7419A66\"5120share155506724070107848155506724072501640Fri, 12 Apr 2019 11:07:20 GMT\"0x8D6BF3708928851\"5120share155506760045707115Fri, 12 Apr 2019 11:13:20 GMT\"0x8D6BF37DEFC3BC5\"5120share155506760361709232155506760364602112Fri, 12 Apr 2019 11:13:23 GMT\"0x8D6BF37E0E27E8F\"5120share155506762550205666155506762551700839Fri, 12 Apr 2019 11:13:45 GMT\"0x8D6BF37EDEBB5ED\"5120share155506775710503556Fri, 12 Apr 2019 11:15:57 GMT\"0x8D6BF383C5BE969\"5120share155506775914206834155506775939104602Fri, 12 Apr 2019 11:15:59 GMT\"0x8D6BF383DD9C789\"5120share155506780025406685155506780027400077Fri, 12 Apr 2019 11:16:43 GMT\"0x8D6BF3857EB4AAC\"5120share155506782349400072Fri, 12 Apr 2019 11:17:03 GMT\"0x8D6BF3864075C02\"5120share155506782529308699155506782548108688Fri, 12 Apr 2019 11:17:05 GMT\"0x8D6BF3865239620\"5120share155506785583100253155506785592602106Fri, 12 Apr 2019 11:17:35 GMT\"0x8D6BF387748C0B8\"5120share155506798629003189Fri, 12 Apr 2019 11:19:46 GMT\"0x8D6BF38C50D041D\"5120share155506798697509537155506798958607431Fri, 12 Apr 2019 11:19:49 GMT\"0x8D6BF38C715AB43\"5120share155506802218702711155506802412507312Fri, 12 Apr 2019 11:20:24 GMT\"0x8D6BF38DB82D2CD\"5120share155506830326102475Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF3981E69A84\"5120share155506830378004443155506830384200380Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF39823D8FC2\"5120share155506833333309950155506833336407734Fri, 12 Apr 2019 11:25:33 GMT\"0x8D6BF3993D61B9D\"5120share155506863762208674Fri, 12 Apr 2019 11:30:37 GMT\"0x8D6BF3A4930319C\"5120share155506863833206169155506863837809068Fri, 12 Apr 2019 11:30:38 GMT\"0x8D6BF3A49A59306\"5120share155506866511003689155506866514106110Fri, 12 Apr 2019 11:31:05 GMT\"0x8D6BF3A5997F3BE\"5120share155506897142509196Fri, 12 Apr 2019 11:36:11 GMT\"0x8D6BF3B102C6967\"5120share155506897230405925155506897235101961Fri, 12 Apr 2019 11:36:12 GMT\"0x8D6BF3B10B83AAD\"5120share155506900156507816155506900158101898Fri, 12 Apr 2019 11:36:41 GMT\"0x8D6BF3B2225FF10\"5120share155506922733502087Fri, 12 Apr 2019 11:40:27 GMT\"0x8D6BF3BA8C23585\"5120share155506923038104120155506923074402676Fri, 12 Apr 2019 11:40:30 GMT\"0x8D6BF3BAACA866A\"5120share155506928568601336155506928586704986Fri, 12 Apr 2019 11:41:25 GMT\"0x8D6BF3BCBA3278F\"5120share155506957242005394Fri, 12 Apr 2019 11:46:12 GMT\"0x8D6BF3C767049A5\"5120share155506957743506847155506957779804584Fri, 12 Apr 2019 11:46:17 GMT\"0x8D6BF3C79A3E022\"5120share155506963326709082155506963344002439Fri, 12 Apr 2019 11:47:13 GMT\"0x8D6BF3C9ACD0D96\"5120share155506990427401355Fri, 12 Apr 2019 11:51:44 GMT\"0x8D6BF3D3C3FB7D7\"5120share155506990726700768155506990858704284Fri, 12 Apr 2019 11:51:48 GMT\"0x8D6BF3D3ED1EDD2\"5120share155506996647800617155506996664704791Fri, 12 Apr 2019 11:52:46 GMT\"0x8D6BF3D616C706B\"5120share155512644720907744Sat, 13 Apr 2019 03:34:07 GMT\"0x8D6BFC0E2A1A83B\"5120share155512645443804909155512645573404643Sat, 13 Apr 2019 03:34:16 GMT\"0x8D6BFC0E7C4CE99\"5120share155512656455209259155512656522205112Sat, 13 Apr 2019 03:36:05 GMT\"0x8D6BFC128E570AB\"5120share155512679757904247Sat, 13 Apr 2019 03:39:57 GMT\"0x8D6BFC1B3655FDB\"5120share155515332953602339Sat, 13 Apr 2019 11:02:09 GMT\"0x8D6BFFF797F7F67\"5120share155515333132005839155515333134603307Sat, 13 Apr 2019 11:02:11 GMT\"0x8D6BFFF7A9394FF\"5120share155515334716009504155515334717208600Sat, 13 Apr 2019 11:02:27 GMT\"0x8D6BFFF84025D13\"5120share155515337211202917Sat, 13 Apr 2019 11:02:52 GMT\"0x8D6BFFF93019996\"5120share155515337799207116155515337815203201Sat, 13 Apr 2019 11:02:58 GMT\"0x8D6BFFF9682A8F3\"5120share155515343857608004155515343865600233Sat, 13 Apr 2019 11:03:58 GMT\"0x8D6BFFFBAAECD7F\"5120share155515373957208433Sat, 13 Apr 2019 11:08:59 GMT\"0x8D6C0006DE70B38\"5120share155515375889701481155515375893402001Sat, 13 Apr 2019 11:09:18 GMT\"0x8D6C00079709685\"5120share155515379789204290155515379790606876Sat, 13 Apr 2019 11:09:57 GMT\"0x8D6C00090AA0CB1\"5120share155515394778104787Sat, 13 Apr 2019 11:12:27 GMT\"0x8D6C000EA00F332\"5120share155515394918607154155515394934805953Sat, 13 Apr 2019 11:12:29 GMT\"0x8D6C000EB2187B3\"5120share155515397662402015155515397664207701Sat, 13 Apr 2019 11:12:56 GMT\"0x8D6C000FB3464BC\"5120share155515407173608133Sat, 13 Apr 2019 11:14:31 GMT\"0x8D6C0013400A2AC\"5120share155515407347804860155515407365704793Sat, 13 Apr 2019 11:14:33 GMT\"0x8D6C00135109915\"5120share155515410200606372155515410209601041Sat, 13 Apr 2019 11:15:02 GMT\"0x8D6C001460400F2\"5120share155515419507804760Sat, 13 Apr 2019 11:16:35 GMT\"0x8D6C0017D8E82B7\"5120share155515419609804201155515419614704354Sat, 13 Apr 2019 11:16:36 GMT\"0x8D6C0017E0B210D\"5120share155515423073708967155515423286302712Sat, 13 Apr 2019 11:17:12 GMT\"0x8D6C00193ED63DD\"5120share155515451710102731Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023D5909E7\"5120share155515451771906465155515451778307619Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023DC196A4\"5120share155515455158703949155515455160200624Sat, 13 Apr 2019 11:22:31 GMT\"0x8D6C00251EA8AEC\"5120share155515484116005106Sat, 13 Apr 2019 11:27:21 GMT\"0x8D6C002FE7F89F9\"5120share155515484246808118155515484251102561Sat, 13 Apr 2019 11:27:22 GMT\"0x8D6C002FF4D9836\"5120share155515486366505500155515486369609506Sat, 13 Apr 2019 11:27:43 GMT\"0x8D6C0030BEE82E6\"5120share155515518956908415Sat, 13 Apr 2019 11:33:09 GMT\"0x8D6C003CE2CBFF5\"5120share155515519023504740155515519028205997Sat, 13 Apr 2019 11:33:10 GMT\"0x8D6C003CE995C00\"5120share155515521208103058155515521209704227Sat, 13 Apr 2019 11:33:32 GMT\"0x8D6C003DB994D13\"5120share155515544412001539Sat, 13 Apr 2019 11:37:24 GMT\"0x8D6C00465F85EFF\"5120share155515544701403547155515544736709856Sat, 13 Apr 2019 11:37:27 GMT\"0x8D6C00467E74ACD\"5120share155515549960109573155515549977503756Sat, 13 Apr 2019 11:38:19 GMT\"0x8D6C0048723AF04\"5120share155515575696104941Sat, 13 Apr 2019 11:42:37 GMT\"0x8D6C005207046CB\"5120share155515576002205864155515576037106690Sat, 13 Apr 2019 11:42:40 GMT\"0x8D6C00522778CA6\"5120share155515581335804060155515581353108782Sat, 13 Apr 2019 11:43:33 GMT\"0x8D6C0054226BC2D\"5120share155515609277909871Sat, 13 Apr 2019 11:48:12 GMT\"0x8D6C005E899CD33\"5120share155515609680009591155515609726705954Sat, 13 Apr 2019 11:48:17 GMT\"0x8D6C005EB46D13E\"5120share155515614666004322155515614683202492Sat, 13 Apr 2019 11:49:06 GMT\"0x8D6C00608D0D7EA\"5120share155523972563402918Sun, 14 Apr 2019 11:02:05 GMT\"0x8D6C0C8A1A57EE1\"5120share155523972846006428155523972854309146Sun, 14 Apr 2019 11:02:08 GMT\"0x8D6C0C8A354D131\"5120share155523975181800309155523975186002763Sun, 14 Apr 2019 11:02:31 GMT\"0x8D6C0C8B13AAB29\"5120share155523975476009841Sun, 14 Apr 2019 11:02:34 GMT\"0x8D6C0C8B2FACE38\"5120share155523975786403226155523975946205362Sun, 14 Apr 2019 11:02:39 GMT\"0x8D6C0C8B5C89023\"5120share155523982133602164155523982216202749Sun, 14 Apr 2019 11:03:42 GMT\"0x8D6C0C8DB30CFE3\"5120share155524013107906841Sun, 14 Apr 2019 11:08:51 GMT\"0x8D6C0C99340BE58\"5120share155524013345703248155524013348709767Sun, 14 Apr 2019 11:08:53 GMT\"0x8D6C0C994B03BFC\"5120share155524015095705974155524015097103470Sun, 14 Apr 2019 11:09:10 GMT\"0x8D6C0C99F1C0B9E\"5120share155524021269704125Sun, 14 Apr 2019 11:10:13 GMT\"0x8D6C0C9C4622350\"5120share155524021719509152155524021734908307Sun, 14 Apr 2019 11:10:17 GMT\"0x8D6C0C9C6AD286E\"5120share155524024923607696155524024925705826Sun, 14 Apr 2019 11:10:49 GMT\"0x8D6C0C9D9E7B704\"5120share155524026327306963Sun, 14 Apr 2019 11:11:03 GMT\"0x8D6C0C9E2405917\"5120share155524026548904913155524026567204179Sun, 14 Apr 2019 11:11:05 GMT\"0x8D6C0C9E37E967B\"5120share155524030632607257155524030641508963Sun, 14 Apr 2019 11:11:46 GMT\"0x8D6C0C9FBC7E024\"5120share155524044965804361Sun, 14 Apr 2019 11:14:09 GMT\"0x8D6C0CA51246B8E\"5120share155524045120102941155524045134606678Sun, 14 Apr 2019 11:14:11 GMT\"0x8D6C0CA5225F523\"5120share155524047915003736155524047977906720Sun, 14 Apr 2019 11:14:39 GMT\"0x8D6C0CA63182CCB\"5120share155524078617101300Sun, 14 Apr 2019 11:19:46 GMT\"0x8D6C0CB19B96C89\"5120share155524078937808496155524079027604566Sun, 14 Apr 2019 11:19:51 GMT\"0x8D6C0CB1CB6CC02\"5120share155524083480905582155524083484002684Sun, 14 Apr 2019 11:20:34 GMT\"0x8D6C0CB36BA42E2\"5120share155524114771102323Sun, 14 Apr 2019 11:25:47 GMT\"0x8D6C0CBF136A11B\"5120share155524115650204611155524115676003349Sun, 14 Apr 2019 11:25:56 GMT\"0x8D6C0CBF69A9C67\"5120share155524118633505833155524118636606794Sun, 14 Apr 2019 11:26:26 GMT\"0x8D6C0CC08422CA2\"5120share155524152984609186Sun, 14 Apr 2019 11:32:09 GMT\"0x8D6C0CCD4FD31E8\"5120share155524153899407575155524153904106704Sun, 14 Apr 2019 11:32:19 GMT\"0x8D6C0CCDA7676BB\"5120share155524156472600266155524156474206614Sun, 14 Apr 2019 11:32:44 GMT\"0x8D6C0CCE9C9F816\"5120share155524179352704148Sun, 14 Apr 2019 11:36:33 GMT\"0x8D6C0CD7239EB5A\"5120share155524179753806035155524179820702547Sun, 14 Apr 2019 11:36:38 GMT\"0x8D6C0CD7503C6AF\"5120share155524184816604357155524185379908254Sun, 14 Apr 2019 11:37:33 GMT\"0x8D6C0CD9626119F\"5120share155524215012701349Sun, 14 Apr 2019 11:42:30 GMT\"0x8D6C0CE46C6E1CD\"5120share155524215367607082155524215405106431Sun, 14 Apr 2019 11:42:34 GMT\"0x8D6C0CE491D1AD7\"5120share155524220627609881155524220645007845Sun, 14 Apr 2019 11:43:26 GMT\"0x8D6C0CE6857F2F2\"5120share155524250457408298Sun, 14 Apr 2019 11:48:24 GMT\"0x8D6C0CF1A0B4445\"5120share155524250759003260155524250794109789Sun, 14 Apr 2019 11:48:28 GMT\"0x8D6C0CF1C0D1857\"5120share155524256514106448155524256531804718Sun, 14 Apr 2019 11:49:25 GMT\"0x8D6C0CF3E3FA6CF\"5120share155532613122901412Mon, 15 Apr 2019 11:02:11 GMT\"0x8D6C191CF62EDAB\"5120share155532613225806589155532613234400258Mon, 15 Apr 2019 11:02:12 GMT\"0x8D6C191D0022A3A\"5120share155532615554502997155532615558408768Mon, 15 Apr 2019 11:02:35 GMT\"0x8D6C191DDDC8A54\"5120share155532623242907675Mon, 15 Apr 2019 11:03:52 GMT\"0x8D6C1920BE8AECE\"5120share155532623985301138155532624014404643Mon, 15 Apr 2019 11:04:00 GMT\"0x8D6C19210603437\"5120share155532630302204772155532630304602475Mon, 15 Apr 2019 11:05:03 GMT\"0x8D6C19235C07054\"5120share155532649710009530Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A96854B0\"5120share155532649744806724155532649747405217Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A9A16765\"5120share155532651230505127155532651232109373Mon, 15 Apr 2019 11:08:32 GMT\"0x8D6C192B27AEBD9\"5120share155532665274909034Mon, 15 Apr 2019 11:10:52 GMT\"0x8D6C193063828B5\"5120share155532665779301144155532665795305505Mon, 15 Apr 2019 11:10:58 GMT\"0x8D6C1930953F71B\"5120share155532668636605451Mon, 15 Apr 2019 11:11:26 GMT\"0x8D6C1931A84E0CB\"5120share155532668851001958155532668869708221Mon, 15 Apr 2019 11:11:28 GMT\"0x8D6C1931BA311FF\"5120share155532671950203165155532671991908048Mon, 15 Apr 2019 11:11:59 GMT\"0x8D6C1932E4225E0\"5120share155532672415401526155532672424500176Mon, 15 Apr 2019 11:12:04 GMT\"0x8D6C19330D46F6E\"5120share155532694866104349Mon, 15 Apr 2019 11:15:48 GMT\"0x8D6C193B697FC01\"5120share155532695096608028155532695134004095Mon, 15 Apr 2019 11:15:51 GMT\"0x8D6C193B8453E7E\"5120share155532699549303169155532699571103064Mon, 15 Apr 2019 11:16:35 GMT\"0x8D6C193D2A2FBE2\"5120share155532730686902441Mon, 15 Apr 2019 11:21:46 GMT\"0x8D6C1948C14A8A2\"5120share155532730821207416155532730887801551Mon, 15 Apr 2019 11:21:48 GMT\"0x8D6C1948D44F25C\"5120share155532733547106330155532733548702182Mon, 15 Apr 2019 11:22:15 GMT\"0x8D6C1949D227707\"5120share155532762909302194Mon, 15 Apr 2019 11:27:09 GMT\"0x8D6C1954C23E6E5\"5120share155532762993901249155532762998607585Mon, 15 Apr 2019 11:27:10 GMT\"0x8D6C1954CACBB19\"5120share155532766217804204155532766220901342Mon, 15 Apr 2019 11:27:42 GMT\"0x8D6C1955FE09561\"5120share155532798608100078Mon, 15 Apr 2019 11:33:06 GMT\"0x8D6C196211E0513\"5120share155532798786104582155532798790801989Mon, 15 Apr 2019 11:33:08 GMT\"0x8D6C19622172228\"5120share155532801332005290155532801333506642Mon, 15 Apr 2019 11:33:33 GMT\"0x8D6C196312AE129\"5120share155532825264602754Mon, 15 Apr 2019 11:37:32 GMT\"0x8D6C196BFDE354E\"5120share155532825615400146155532825651301297Mon, 15 Apr 2019 11:37:36 GMT\"0x8D6C196C22BF7C8\"5120share155532830944004051155532830962109665Mon, 15 Apr 2019 11:38:29 GMT\"0x8D6C196E1D4B3D6\"5120share155532860283705934Mon, 15 Apr 2019 11:43:23 GMT\"0x8D6C19790B85279\"5120share155532860591402599155532860626203748Mon, 15 Apr 2019 11:43:26 GMT\"0x8D6C19792C39B8A\"5120share155532865928107481155532865946409770Mon, 15 Apr 2019 11:44:19 GMT\"0x8D6C197B25D3B4C\"5120share155532894816307878Mon, 15 Apr 2019 11:49:08 GMT\"0x8D6C1985E709657\"5120share155532895115005912155532895150108737Mon, 15 Apr 2019 11:49:11 GMT\"0x8D6C198606E1B49\"5120share155532900519604536155532900537002394Mon, 15 Apr 2019 11:50:05 GMT\"0x8D6C1988089C37B\"5120share155541254266906758Tue, 16 Apr 2019 11:02:24 GMT\"0x8D6C25B01E63294\"5120share155541254704901514155541254722205184Tue, 16 Apr 2019 11:02:27 GMT\"0x8D6C25B034F0342\"5120share155541257726609606155541257735100960Tue, 16 Apr 2019 11:02:57 GMT\"0x8D6C25B154451E5\"5120share155541258394001344Tue, 16 Apr 2019 11:03:06 GMT\"0x8D6C25B1A99310F\"5120share155541259331901356155541259718300665Tue, 16 Apr 2019 11:03:17 GMT\"0x8D6C25B21238E58\"5120share155541275463405342155541275509408341Tue, 16 Apr 2019 11:05:56 GMT\"0x8D6C25B7FDAE42C\"5120share155541332218001340Tue, 16 Apr 2019 11:15:22 GMT\"0x8D6C25CD1313106\"5120share155541333391202994155541333394201763Tue, 16 Apr 2019 11:15:33 GMT\"0x8D6C25CD833D6F8\"5120share155541336698403997155541336700200957Tue, 16 Apr 2019 11:16:07 GMT\"0x8D6C25CEBE8BE26\"5120share155541340019809612Tue, 16 Apr 2019 11:16:42 GMT\"0x8D6C25D00C4E301\"5120share155541340431404906155541340450501927Tue, 16 Apr 2019 11:16:45 GMT\"0x8D6C25D029765BC\"5120share155541351620901519155541351633009731Tue, 16 Apr 2019 11:18:36 GMT\"0x8D6C25D44F2CB83\"5120share155541365388401666Tue, 16 Apr 2019 11:20:54 GMT\"0x8D6C25D97184EBA\"5120share155541365734901246155541365753206510Tue, 16 Apr 2019 11:20:57 GMT\"0x8D6C25D99195E68\"5120share155541368795303261155541368804508446Tue, 16 Apr 2019 11:21:28 GMT\"0x8D6C25DAB4935EB\"5120share155541380951505125Tue, 16 Apr 2019 11:23:30 GMT\"0x8D6C25DF41B7633\"5120share155541381521101270155541381537608334Tue, 16 Apr 2019 11:23:35 GMT\"0x8D6C25DF78136DD\"5120share155541389134901136155541389142503336Tue, 16 Apr 2019 11:24:52 GMT\"0x8D6C25E24E9DEEC\"5120share155541423557305011Tue, 16 Apr 2019 11:30:35 GMT\"0x8D6C25EF1A0EFED\"5120share155541424210207450155541424307606173Tue, 16 Apr 2019 11:30:43 GMT\"0x8D6C25EF61A1F1E\"5120share155541428387009705155541428390104095Tue, 16 Apr 2019 11:31:24 GMT\"0x8D6C25F0EA4F648\"5120share155541460901500620Tue, 16 Apr 2019 11:36:49 GMT\"0x8D6C25FD0587C69\"5120share155541460989209750155541460997003508Tue, 16 Apr 2019 11:36:50 GMT\"0x8D6C25FD0ECE125\"5120share155541463453808516155541463456909627Tue, 16 Apr 2019 11:37:14 GMT\"0x8D6C25FDF70CD23\"5120share155541495149601147Tue, 16 Apr 2019 11:42:31 GMT\"0x8D6C2609C597458\"5120share155541495234103609155541495238807035Tue, 16 Apr 2019 11:42:32 GMT\"0x8D6C2609CDFEC22\"5120share155541498022705756155541498024304069Tue, 16 Apr 2019 11:43:00 GMT\"0x8D6C260AD7AF75C\"5120share155541521993507818Tue, 16 Apr 2019 11:47:00 GMT\"0x8D6C2613C6CE4FD\"5120share155541522302504398155541522343008691Tue, 16 Apr 2019 11:47:03 GMT\"0x8D6C2613E8133C2\"5120share155541528560504973155541528889003453Tue, 16 Apr 2019 11:48:09 GMT\"0x8D6C26165851668\"5120share155541557757802202Tue, 16 Apr 2019 11:52:57 GMT\"0x8D6C26211976A21\"5120share155541558548808426155541558584407224Tue, 16 Apr 2019 11:53:05 GMT\"0x8D6C2621684B2B8\"5120share155541563573506420155541563590907833Tue, 16 Apr 2019 11:53:56 GMT\"0x8D6C262348D397D\"5120share155541593216004589Tue, 16 Apr 2019 11:58:52 GMT\"0x8D6C262E4F09A4B\"5120share155541593570005076155541593605107442Tue, 16 Apr 2019 11:58:56 GMT\"0x8D6C262E742269D\"5120share155541599013809500155541599031301890Tue, 16 Apr 2019 11:59:50 GMT\"0x8D6C26307993211\"5120share155549893423105655Wed, 17 Apr 2019 11:02:16 GMT\"0x8D6C324271BAA36\"5120share155549893951306087155549893970607676Wed, 17 Apr 2019 11:02:19 GMT\"0x8D6C324293F0208\"5120share155549897171300831Wed, 17 Apr 2019 11:02:52 GMT\"0x8D6C3243CF9A634\"5120share155549897401609400155549897410205483Wed, 17 Apr 2019 11:02:54 GMT\"0x8D6C3243DBFA4FC\"5120share155549897546703999155549897569707719Wed, 17 Apr 2019 11:02:55 GMT\"0x8D6C3243EB9C89B\"5120share155549906322000959155549906330109486Wed, 17 Apr 2019 11:04:23 GMT\"0x8D6C32472F134A6\"5120share155549965941700512Wed, 17 Apr 2019 11:14:19 GMT\"0x8D6C325D63A5B3F\"5120share155549966157400319155549966175200315Wed, 17 Apr 2019 11:14:21 GMT\"0x8D6C325D79DA5B7\"5120share155549971518608598155549971561404891Wed, 17 Apr 2019 11:15:15 GMT\"0x8D6C325F7B8AFA3\"5120share155549978405302833Wed, 17 Apr 2019 11:16:24 GMT\"0x8D6C326207DB3DC\"5120share155549978511702131155549978517806033Wed, 17 Apr 2019 11:16:25 GMT\"0x8D6C32621294535\"5120share155549980131605649155549980133103239Wed, 17 Apr 2019 11:16:41 GMT\"0x8D6C3262ACA3D2C\"5120share155550002738005277Wed, 17 Apr 2019 11:20:27 GMT\"0x8D6C326B1A24665\"5120share155550002983909494155550003002100264Wed, 17 Apr 2019 11:20:30 GMT\"0x8D6C326B31EBAA7\"5120share155550006142202418155550006151604324Wed, 17 Apr 2019 11:21:01 GMT\"0x8D6C326C5E429E5\"5120share155550009606909758Wed, 17 Apr 2019 11:21:36 GMT\"0x8D6C326DA7D5D08\"5120share155550009760705130155550011425007819Wed, 17 Apr 2019 11:21:54 GMT\"0x8D6C326E553CE47\"5120share155550015985409525155550015992505947Wed, 17 Apr 2019 11:22:39 GMT\"0x8D6C327008D05C8\"5120share155550051259905095Wed, 17 Apr 2019 11:28:32 GMT\"0x8D6C327D2EAB6BB\"5120share155550051502006429155550051529202610Wed, 17 Apr 2019 11:28:35 GMT\"0x8D6C327D459D250\"5120share155550055250105787155550055253306514Wed, 17 Apr 2019 11:29:12 GMT\"0x8D6C327EAA8ACA5\"5120share155550088263301102Wed, 17 Apr 2019 11:34:42 GMT\"0x8D6C328AF698573\"5120share155550088987503055155550088992208325Wed, 17 Apr 2019 11:34:50 GMT\"0x8D6C328B3C5CE25\"5120share155550092694403401155550092964703585Wed, 17 Apr 2019 11:35:29 GMT\"0x8D6C328CB52F6FE\"5120share155550128719404242Wed, 17 Apr 2019 11:41:27 GMT\"0x8D6C329A06FBC14\"5120share155550128869409229155550128926507283Wed, 17 Apr 2019 11:41:29 GMT\"0x8D6C329A1ABFF33\"5120share155550132367805226155550132369307996Wed, 17 Apr 2019 11:42:03 GMT\"0x8D6C329B631B774\"5120share155550156726204845Wed, 17 Apr 2019 11:46:07 GMT\"0x8D6C32A4770EF93\"5120share155550157040602071155550157076409850Wed, 17 Apr 2019 11:46:10 GMT\"0x8D6C32A4985D59F\"5120share155550163293808211155550163312201213Wed, 17 Apr 2019 11:47:13 GMT\"0x8D6C32A6EB141F0\"5120share155550197119504850Wed, 17 Apr 2019 11:52:51 GMT\"0x8D6C32B3833750F\"5120share155550197461700480155550197501504695Wed, 17 Apr 2019 11:52:55 GMT\"0x8D6C32B3A7AC857\"5120share155550203363000262155550203381302772Wed, 17 Apr 2019 11:53:53 GMT\"0x8D6C32B5D8624BF\"5120share155550242341102516Wed, 17 Apr 2019 12:00:23 GMT\"0x8D6C32C45BDF478\"5120share155550242674407416155550242710704735Wed, 17 Apr 2019 12:00:27 GMT\"0x8D6C32C47F1FD5B\"5120share155550248691308149155550248709006105Wed, 17 Apr 2019 12:01:27 GMT\"0x8D6C32C6BB1D387\"5120share155552560545404292Wed, 17 Apr 2019 18:26:45 GMT\"0x8D6C3623F6E51E9\"5120share155552560809403357155552560834301039Wed, 17 Apr 2019 18:26:48 GMT\"0x8D6C36241013AA2\"5120share155552564907209438155552564919503843Wed, 17 Apr 2019 18:27:29 GMT\"0x8D6C362595AC1D4\"5120share155552565476607413Wed, 17 Apr 2019 18:27:35 GMT\"0x8D6C3625D267F23\"5120share155552566303103495155552566351701314Wed, 17 Apr 2019 18:27:43 GMT\"0x8D6C36261F69DD9\"5120share155552578011908260155552578062307634Wed, 17 Apr 2019 18:29:40 GMT\"0x8D6C362A7C38020\"5120share155552614480001295Wed, 17 Apr 2019 18:35:47 GMT\"0x8D6C363823B7554\"5120share155552615120901855155552615136405806Wed, 17 Apr 2019 18:35:51 GMT\"0x8D6C36384A975B8\"5120share155552615366401269Wed, 17 Apr 2019 18:35:53 GMT\"0x8D6C36385FEA70C\"5120share155552615404704286155552615408701313Wed, 17 Apr 2019 18:35:54 GMT\"0x8D6C363863FE0E9\"5120share155552617174909395155552617176307704Wed, 17 Apr 2019 18:36:11 GMT\"0x8D6C36390C91C6B\"5120share155552622852006858155552622859402876Wed, 17 Apr 2019 18:37:08 GMT\"0x8D6C363B2B0CA30\"5120share155552628740508216Wed, 17 Apr 2019 18:38:07 GMT\"0x8D6C363D5F22384\"5120share155552629053208133155552629074209107Wed, 17 Apr 2019 18:38:10 GMT\"0x8D6C363D7BAB6CF\"5120share155552633147703067155552633156701774Wed, 17 Apr 2019 18:38:51 GMT\"0x8D6C363F00FF2E5\"5120share155552648726709764Wed, 17 Apr 2019 18:41:27 GMT\"0x8D6C3644D075E26\"5120share155552649436202173155552649474208215Wed, 17 Apr 2019 18:41:35 GMT\"0x8D6C364517CAEBD\"5120share155552656168000918155552656187209904Wed, 17 Apr 2019 18:42:42 GMT\"0x8D6C36479618E75\"5120share155552693163608945Wed, 17 Apr 2019 18:48:52 GMT\"0x8D6C36556520750\"5120share155552693446204528155552693463308719Wed, 17 Apr 2019 18:48:54 GMT\"0x8D6C3655786650B\"5120share155552697993108967155552698000907445Wed, 17 Apr 2019 18:49:40 GMT\"0x8D6C36572A9F003\"5120share155552729425804271Wed, 17 Apr 2019 18:54:54 GMT\"0x8D6C3662DE20556\"5120share155552729598803339155552729614405737Wed, 17 Apr 2019 18:54:56 GMT\"0x8D6C3662F0A9030\"5120share155552733112600872155552733118908362Wed, 17 Apr 2019 18:55:31 GMT\"0x8D6C36643E5922E\"5120share155552772564603671Wed, 17 Apr 2019 19:02:05 GMT\"0x8D6C3672EF935F7\"5120share155552772624901917155552772628004531Wed, 17 Apr 2019 19:02:06 GMT\"0x8D6C3672F5BF35A\"5120share155552775724706421155552775727802514Wed, 17 Apr 2019 19:02:37 GMT\"0x8D6C36741D4B9B6\"5120share155552802670503142Wed, 17 Apr 2019 19:07:06 GMT\"0x8D6C367E2807ADC\"5120share155552803282203340155552803318603518Wed, 17 Apr 2019 19:07:13 GMT\"0x8D6C367E65B28E5\"5120share155552809032904944155552809090908066Wed, 17 Apr 2019 19:08:11 GMT\"0x8D6C36808C39DB8\"5120share155552838825607453Wed, 17 Apr 2019 19:13:08 GMT\"0x8D6C368B9FE54F7\"5120share155552839148508358155552839193408320Wed, 17 Apr 2019 19:13:12 GMT\"0x8D6C368BC2F9AEA\"5120share155552844815104394155552844833406262Wed, 17 Apr 2019 19:14:08 GMT\"0x8D6C368DDCD31FD\"5120share155552878402607069Wed, 17 Apr 2019 19:19:44 GMT\"0x8D6C369A5E49D58\"5120share155552878826702128155552878862507316Wed, 17 Apr 2019 19:19:48 GMT\"0x8D6C369A8A22518\"5120share155552884129007821155552884146501049Wed, 17 Apr 2019 19:20:41 GMT\"0x8D6C369C81F98C8\"5120share155558533127600563Thu, 18 Apr 2019 11:02:11 GMT\"0x8D6C3ED4EB5FE06\"5120share155558533326108913155558533341701278Thu, 18 Apr 2019 11:02:13 GMT\"0x8D6C3ED4FE7D39E\"5120share155558536029301808155558536036603046Thu, 18 Apr 2019 11:02:40 GMT\"0x8D6C3ED5FF94117\"5120share155558537329802053Thu, 18 Apr 2019 11:02:53 GMT\"0x8D6C3ED67E43F37\"5120share155558537790904707155558537838909948Thu, 18 Apr 2019 11:02:59 GMT\"0x8D6C3ED6B35010E\"5120share155558553437606602155558553452403381Thu, 18 Apr 2019 11:05:35 GMT\"0x8D6C3EDC8567F8E\"5120share155558600311408161Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF0CB075\"5120share155558600376909016155558600379609735Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF74C41A\"5120share155558601862101564155558601863401502Thu, 18 Apr 2019 11:13:38 GMT\"0x8D6C3EEE84CEB0A\"5120share155558617728402366Thu, 18 Apr 2019 11:16:17 GMT\"0x8D6C3EF46E0E671\"5120share155558617963201324155558617967308167Thu, 18 Apr 2019 11:16:19 GMT\"0x8D6C3EF484A4F65\"5120share155558622185704428Thu, 18 Apr 2019 11:17:02 GMT\"0x8D6C3EF61870C3D\"5120share155558622374608647155558622393206409Thu, 18 Apr 2019 11:17:03 GMT\"0x8D6C3EF62B0BF15\"5120share155558626297903235155558626308203729Thu, 18 Apr 2019 11:17:43 GMT\"0x8D6C3EF7A065E48\"5120share155558627287602013155558627333600766Thu, 18 Apr 2019 11:17:54 GMT\"0x8D6C3EF80C86890\"5120share155558650337201708Thu, 18 Apr 2019 11:21:43 GMT\"0x8D6C3F009423CB2\"5120share155558651265101014155558651330107985Thu, 18 Apr 2019 11:21:53 GMT\"0x8D6C3F00F2DD147\"5120share155558657593309443155558657601100869Thu, 18 Apr 2019 11:22:56 GMT\"0x8D6C3F0348FD711\"5120share155558692134205333Thu, 18 Apr 2019 11:28:41 GMT\"0x8D6C3F1025B7B05\"5120share155558692763501858155558692941807357Thu, 18 Apr 2019 11:28:49 GMT\"0x8D6C3F1072BC065\"5120share155558696820601017155558696822107945Thu, 18 Apr 2019 11:29:28 GMT\"0x8D6C3F11E4E16A8\"5120share155558731013204298Thu, 18 Apr 2019 11:35:10 GMT\"0x8D6C3F1EA195BC8\"5120share155558731124900977155558731129604089Thu, 18 Apr 2019 11:35:11 GMT\"0x8D6C3F1EAC9CFC1\"5120share155558735412207891155558735415409398Thu, 18 Apr 2019 11:35:54 GMT\"0x8D6C3F204555DC8\"5120share155558766508405728Thu, 18 Apr 2019 11:41:05 GMT\"0x8D6C3F2BDA95065\"5120share155558766914207910155558767009601245Thu, 18 Apr 2019 11:41:10 GMT\"0x8D6C3F2C0A65C74\"5120share155558770515003967155558770518109064Thu, 18 Apr 2019 11:41:45 GMT\"0x8D6C3F2D58FB3EA\"5120share155558793089708251Thu, 18 Apr 2019 11:45:31 GMT\"0x8D6C3F35C2C9F38\"5120share155558793444503290155558793481008090Thu, 18 Apr 2019 11:45:34 GMT\"0x8D6C3F35E81F9AC\"5120share155558799946700102155558799964409447Thu, 18 Apr 2019 11:46:39 GMT\"0x8D6C3F38527F5EE\"5120share155558831554006522Thu, 18 Apr 2019 11:51:55 GMT\"0x8D6C3F441761EFC\"5120share155558831880805187155558831916801086Thu, 18 Apr 2019 11:51:59 GMT\"0x8D6C3F4439C8AC2\"5120share155558837917309951155558837934900091Thu, 18 Apr 2019 11:52:59 GMT\"0x8D6C3F4677C5E1C\"5120share155558870281601956Thu, 18 Apr 2019 11:58:22 GMT\"0x8D6C3F528477EB6\"5120share155558870609201875155558870644608087Thu, 18 Apr 2019 11:58:26 GMT\"0x8D6C3F52A718909\"5120share155558875844500911155558875952009938Thu, 18 Apr 2019 11:59:19 GMT\"0x8D6C3F54A13F0B6\"5120share155567192576105879Fri, 19 Apr 2019 11:05:25 GMT\"0x8D6C4B6ECF03F32\"5120share155567192759500710155567192762400666Fri, 19 Apr 2019 11:05:27 GMT\"0x8D6C4B6EE0C32F4\"5120share155567194474605632155567194476809595Fri, 19 Apr 2019 11:05:44 GMT\"0x8D6C4B6F844366E\"5120share155567208446902690Fri, 19 Apr 2019 11:08:04 GMT\"0x8D6C4B74B91AD3E\"5120share155567209577205738155567209649502753Fri, 19 Apr 2019 11:08:16 GMT\"0x8D6C4B752BC478C\"5120share155567223020006989155567223027903712Fri, 19 Apr 2019 11:10:30 GMT\"0x8D6C4B7A27B037E\"5120share155567267214700785Fri, 19 Apr 2019 11:17:52 GMT\"0x8D6C4B8A9D19C03\"5120share155567267430107959155567267433708579Fri, 19 Apr 2019 11:17:54 GMT\"0x8D6C4B8AB1F421E\"5120share155567269138909553155567269140307566Fri, 19 Apr 2019 11:18:11 GMT\"0x8D6C4B8B54B0ED2\"5120share155567311897109020Fri, 19 Apr 2019 11:25:21 GMT\"0x8D6C4B9B58B66CA\"5120share155567312405708614155567312410100368Fri, 19 Apr 2019 11:25:24 GMT\"0x8D6C4B9B734CF1F\"5120share155567319408508398155567319411202788Fri, 19 Apr 2019 11:26:34 GMT\"0x8D6C4B9E0EFEFA2\"5120share155567325083704762Fri, 19 Apr 2019 11:27:31 GMT\"0x8D6C4BA02E60255\"5120share155567325320707587155567325338705102Fri, 19 Apr 2019 11:27:33 GMT\"0x8D6C4BA044A5A30\"5120share155567328437209547155567328446100050Fri, 19 Apr 2019 11:28:04 GMT\"0x8D6C4BA16CFBDB9\"5120share155567352544707619Fri, 19 Apr 2019 11:32:05 GMT\"0x8D6C4BAA674C7F0\"5120share155567352744206930155567352797607965Fri, 19 Apr 2019 11:32:08 GMT\"0x8D6C4BAA7F7D44D\"5120share155567358442406268155567358449406827Fri, 19 Apr 2019 11:33:04 GMT\"0x8D6C4BAC9A6DF39\"5120share155567398217802006Fri, 19 Apr 2019 11:39:42 GMT\"0x8D6C4BBB6AA75A8\"5120share155567398279006805155567398336005585Fri, 19 Apr 2019 11:39:43 GMT\"0x8D6C4BBB75F5426\"5120share155567403918702123155567403920200268Fri, 19 Apr 2019 11:40:39 GMT\"0x8D6C4BBD8C14626\"5120share155567436933209556Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9D6CD427\"5120share155567436990601250155567436996805574Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9DCD2726\"5120share155567440869506659155567440872700843Fri, 19 Apr 2019 11:46:48 GMT\"0x8D6C4BCB4E71856\"5120share155567477936602481Fri, 19 Apr 2019 11:52:59 GMT\"0x8D6C4BD91D41C09\"5120share155567478479206922155567478714104050Fri, 19 Apr 2019 11:53:07 GMT\"0x8D6C4BD968E8C03\"5120share155567481531606023155567481533203351Fri, 19 Apr 2019 11:53:35 GMT\"0x8D6C4BDA7451072\"5120share155567506263900872Fri, 19 Apr 2019 11:57:42 GMT\"0x8D6C4BE3ABC6304\"5120share155567506733803203155567506770005241Fri, 19 Apr 2019 11:57:47 GMT\"0x8D6C4BE3DC05814\"5120share155567519626500535155567519644501571Fri, 19 Apr 2019 11:59:56 GMT\"0x8D6C4BE8A7EB645\"5120share155567584657607063Fri, 19 Apr 2019 12:10:46 GMT\"0x8D6C4C00E00A781\"5120share155567585010305443155567585045601848Fri, 19 Apr 2019 12:10:50 GMT\"0x8D6C4C010509D14\"5120share155567590683409611155567590701101754Fri, 19 Apr 2019 12:11:47 GMT\"0x8D6C4C032053E4B\"5120share155567688970409248Fri, 19 Apr 2019 12:28:09 GMT\"0x8D6C4C27BC18845\"5120share155567689280005270155567689317004914Fri, 19 Apr 2019 12:28:13 GMT\"0x8D6C4C27DD2C5F7\"5120share155567696352901093155567696370407818Fri, 19 Apr 2019 12:29:23 GMT\"0x8D6C4C2A7DC5137\"5120share155575813209600793Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA3EA15F5\"5120share155575813264103256155575813266909560Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA4415492\"5120share155575814769709529155575814770902003Sat, 20 Apr 2019 11:02:27 GMT\"0x8D6C57FAD385350\"5120share155575815857904679Sat, 20 Apr 2019 11:02:38 GMT\"0x8D6C57FB3BCDF46\"5120share155575817852406107155575817915105783Sat, 20 Apr 2019 11:03:03 GMT\"0x8D6C57FC27AAC57\"5120share155575831923009371155575831931206134Sat, 20 Apr 2019 11:05:19 GMT\"0x8D6C580138A3A10\"5120share155575871359605018Sat, 20 Apr 2019 11:11:53 GMT\"0x8D6C580FE86A046\"5120share155575871428702299155575871431604033Sat, 20 Apr 2019 11:11:54 GMT\"0x8D6C580FEF3F7FC\"5120share155575873394302965155575873395709603Sat, 20 Apr 2019 11:12:13 GMT\"0x8D6C5810AA9800A\"5120share155575904781202748Sat, 20 Apr 2019 11:17:27 GMT\"0x8D6C581C5BB254F\"5120share155575905097005719155575905332806542Sat, 20 Apr 2019 11:17:33 GMT\"0x8D6C581C905325C\"5120share155575910684707057155575912204309650Sat, 20 Apr 2019 11:18:42 GMT\"0x8D6C581F1FB2C81\"5120share155575929713003223Sat, 20 Apr 2019 11:21:37 GMT\"0x8D6C5825A82DE07\"5120share155575930016402563155575930034609381Sat, 20 Apr 2019 11:21:40 GMT\"0x8D6C5825C478AF6\"5120share155575933047808006155575933058505517Sat, 20 Apr 2019 11:22:10 GMT\"0x8D6C5826E4D4AC9\"5120share155575961124103208Sat, 20 Apr 2019 11:26:51 GMT\"0x8D6C58315971DC5\"5120share155575961493403601155575961508806582Sat, 20 Apr 2019 11:26:55 GMT\"0x8D6C58317E6D1EC\"5120share155575966068000148155575966075709229Sat, 20 Apr 2019 11:27:40 GMT\"0x8D6C583331B0E83\"5120share155576000656408070Sat, 20 Apr 2019 11:33:26 GMT\"0x8D6C5840134EA85\"5120share155576001064302171155576001069108351Sat, 20 Apr 2019 11:33:30 GMT\"0x8D6C58403AA5B27\"5120share155576004937104562155576004940203313Sat, 20 Apr 2019 11:34:09 GMT\"0x8D6C5841ABAC530\"5120share155576033542302706Sat, 20 Apr 2019 11:38:55 GMT\"0x8D6C584C5354597\"5120share155576033677709710155576033682404294Sat, 20 Apr 2019 11:38:56 GMT\"0x8D6C584C60DB453\"5120share155576037504501320155576037507605550Sat, 20 Apr 2019 11:39:35 GMT\"0x8D6C584DCE2AFE2\"5120share155576068931400284Sat, 20 Apr 2019 11:44:49 GMT\"0x8D6C585982564A9\"5120share155576069062801352155576069065903568Sat, 20 Apr 2019 11:44:51 GMT\"0x8D6C585994219A7\"5120share155576075382903825155576075386008717Sat, 20 Apr 2019 11:45:53 GMT\"0x8D6C585BE9D2593\"5120share155576098915806721Sat, 20 Apr 2019 11:49:49 GMT\"0x8D6C5864AF0A797\"5120share155576099300703611155576099338008677Sat, 20 Apr 2019 11:49:53 GMT\"0x8D6C5864D76F52D\"5120share155576105534303557155576105551705906Sat, 20 Apr 2019 11:50:55 GMT\"0x8D6C586727DB775\"5120share155576136666205450Sat, 20 Apr 2019 11:56:06 GMT\"0x8D6C5872BF160EF\"5120share155576137051407415155576137301709295Sat, 20 Apr 2019 11:56:13 GMT\"0x8D6C5872FBBC94D\"5120share155576143359509198155576143377401809Sat, 20 Apr 2019 11:57:13 GMT\"0x8D6C58753F17AFE\"5120share155576172918400030Sat, 20 Apr 2019 12:02:09 GMT\"0x8D6C5880406BE99\"5120share155576173298002686155576173333000239Sat, 20 Apr 2019 12:02:13 GMT\"0x8D6C588067FC714\"5120share155576178810706053155576178828603693Sat, 20 Apr 2019 12:03:08 GMT\"0x8D6C58827406073\"5120share155584483815008730Sun, 21 Apr 2019 11:07:18 GMT\"0x8D6C64984C018B8\"5120share155584483913106938155584483917002424Sun, 21 Apr 2019 11:07:19 GMT\"0x8D6C649855BB84F\"5120share155584487226303315155584487227607551Sun, 21 Apr 2019 11:07:52 GMT\"0x8D6C64999173F81\"5120share155584489837205915Sun, 21 Apr 2019 11:08:19 GMT\"0x8D6C649A94749C7\"5120share155584492483905097155584492529203389Sun, 21 Apr 2019 11:08:46 GMT\"0x8D6C649B94E828D\"5120share155584508629703911155584508639100082Sun, 21 Apr 2019 11:11:30 GMT\"0x8D6C64A1B29FBA9\"5120share155584535534508096Sun, 21 Apr 2019 11:15:55 GMT\"0x8D6C64AB90607D2\"5120share155584535712303421155584535715808285Sun, 21 Apr 2019 11:15:57 GMT\"0x8D6C64ABA1AD765\"5120share155584537564003660155584537565301698Sun, 21 Apr 2019 11:16:15 GMT\"0x8D6C64AC520BC40\"5120share155584552829803240Sun, 21 Apr 2019 11:18:48 GMT\"0x8D6C64B201CB521\"5120share155584552946009061155584554426607097Sun, 21 Apr 2019 11:19:06 GMT\"0x8D6C64B2B0D789C\"5120share155584553254601653Sun, 21 Apr 2019 11:18:53 GMT\"0x8D6C64B22F5D3B0\"5120share155584553557203477155584553577408184Sun, 21 Apr 2019 11:18:55 GMT\"0x8D6C64B2498A2CE\"5120share155584556555008565155584556563806071Sun, 21 Apr 2019 11:19:25 GMT\"0x8D6C64B366554AE\"5120share155584560929207735155584560949607694Sun, 21 Apr 2019 11:20:09 GMT\"0x8D6C64B50866103\"5120share155584582875408540Sun, 21 Apr 2019 11:23:48 GMT\"0x8D6C64BD333A510\"5120share155584583143306682155584584392603919Sun, 21 Apr 2019 11:24:03 GMT\"0x8D6C64BDC3E8F63\"5120share155584589004107281155584589129507420Sun, 21 Apr 2019 11:24:51 GMT\"0x8D6C64BF87B2D1D\"5120share155584619907809616Sun, 21 Apr 2019 11:29:59 GMT\"0x8D6C64CAFF29B0C\"5120share155584620077203477155584620081900983Sun, 21 Apr 2019 11:30:00 GMT\"0x8D6C64CB0FB2BB9\"5120share155584623589400987155584623591001043Sun, 21 Apr 2019 11:30:35 GMT\"0x8D6C64CC5E519E6\"5120share155584655048200003Sun, 21 Apr 2019 11:35:53 GMT\"0x8D6C64D8343C259\"5120share155584655633605681155584655639907723Sun, 21 Apr 2019 11:35:56 GMT\"0x8D6C64D84E9D13D\"5120share155584659190504598155584659192105319Sun, 21 Apr 2019 11:36:31 GMT\"0x8D6C64D9A18FF60\"5120share155584692147804243Sun, 21 Apr 2019 11:42:01 GMT\"0x8D6C64E5E8615DE\"5120share155584692283204299155584692376504004Sun, 21 Apr 2019 11:42:03 GMT\"0x8D6C64E5FE23BA9\"5120share155584695869900110155584695871401997Sun, 21 Apr 2019 11:42:38 GMT\"0x8D6C64E74BA5B84\"5120share155584718460302343Sun, 21 Apr 2019 11:46:24 GMT\"0x8D6C64EFB6D686F\"5120share155584718782904821155584718821201794Sun, 21 Apr 2019 11:46:28 GMT\"0x8D6C64EFD94206B\"5120share155584725834704516155584725852403365Sun, 21 Apr 2019 11:47:38 GMT\"0x8D6C64F277DF7FC\"5120share155584757053309896Sun, 21 Apr 2019 11:52:50 GMT\"0x8D6C64FE176D8CF\"5120share155584757505503064155584757541600155Sun, 21 Apr 2019 11:52:55 GMT\"0x8D6C64FE4600590\"5120share155584763371702792155584763389403930Sun, 21 Apr 2019 11:53:54 GMT\"0x8D6C6500739DD6C\"5120share155584792739507966Sun, 21 Apr 2019 11:58:47 GMT\"0x8D6C650B62BD0F2\"5120share155584793112701333155584793148805328Sun, 21 Apr 2019 11:58:51 GMT\"0x8D6C650B89C9524\"5120share155584800506102766155584800524503368Sun, 21 Apr 2019 12:00:05 GMT\"0x8D6C650E491C775\"5120share155593096078609193Mon, 22 Apr 2019 11:02:40 GMT\"0x8D6C71209D6C3BA\"5120share155593096298307999155593096301000561Mon, 22 Apr 2019 11:02:43 GMT\"0x8D6C7120B29E7BB\"5120share155593098099104006155593098100306183Mon, 22 Apr 2019 11:03:01 GMT\"0x8D6C71215E3536B\"5120share155593098197300518Mon, 22 Apr 2019 11:03:02 GMT\"0x8D6C712169857BE\"5120share155593098884206175155593098950004812Mon, 22 Apr 2019 11:03:10 GMT\"0x8D6C7121B6CDB45\"5120share155593107350404511155593108535905887Mon, 22 Apr 2019 11:04:46 GMT\"0x8D6C71254C6DD40\"5120share155593187228406566Mon, 22 Apr 2019 11:17:52 GMT\"0x8D6C71429239B1A\"5120share155593187548705538155593187551807000Mon, 22 Apr 2019 11:17:55 GMT\"0x8D6C7142B1136FA\"5120share155593189155809001155593189157302927Mon, 22 Apr 2019 11:18:11 GMT\"0x8D6C71434A30A5F\"5120share155593202492008030Mon, 22 Apr 2019 11:20:24 GMT\"0x8D6C714841EDC26\"5120share155593202751103090155593202784104281Mon, 22 Apr 2019 11:20:27 GMT\"0x8D6C71485DE1B0F\"5120share155593207543600336155593207545703779Mon, 22 Apr 2019 11:21:15 GMT\"0x8D6C714A262740F\"5120share155593213752903864Mon, 22 Apr 2019 11:22:17 GMT\"0x8D6C714C77B439D\"5120share155593214175802480155593214194204117Mon, 22 Apr 2019 11:22:22 GMT\"0x8D6C714C9E5568C\"5120share155593217374306324155593217383308863Mon, 22 Apr 2019 11:22:53 GMT\"0x8D6C714DCE6FB7D\"5120share155593233053705628Mon, 22 Apr 2019 11:25:30 GMT\"0x8D6C7153A7C32B3\"5120share155593233509907850155593233525106736Mon, 22 Apr 2019 11:25:35 GMT\"0x8D6C7153D3A2D50\"5120share155593239746800061155593239754102567Mon, 22 Apr 2019 11:26:37 GMT\"0x8D6C7156253852F\"5120share155593275709608855Mon, 22 Apr 2019 11:32:37 GMT\"0x8D6C71638886EDC\"5120share155593275807707570155593275832501960Mon, 22 Apr 2019 11:32:39 GMT\"0x8D6C71639ADE4C8\"5120share155593280226001839155593280227604616Mon, 22 Apr 2019 11:33:22 GMT\"0x8D6C71653770F3F\"5120share155593312109201415Mon, 22 Apr 2019 11:38:41 GMT\"0x8D6C71711A05C0C\"5120share155593312234201386155593312237305833Mon, 22 Apr 2019 11:38:42 GMT\"0x8D6C7171243F50B\"5120share155593315645808354155593315648906679Mon, 22 Apr 2019 11:39:16 GMT\"0x8D6C71726973AD4\"5120share155593348908406819Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ECD4BBBC\"5120share155593348980708356155593348983905096Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ED49C492\"5120share155593351527207735155593351528809934Mon, 22 Apr 2019 11:45:15 GMT\"0x8D6C717FC746FC6\"5120share155593373839009889Mon, 22 Apr 2019 11:48:58 GMT\"0x8D6C7188186D480\"5120share155593374213504623155593374249506463Mon, 22 Apr 2019 11:49:02 GMT\"0x8D6C71883F98B78\"5120share155593379929509326155593379947408779Mon, 22 Apr 2019 11:49:59 GMT\"0x8D6C718A5EF42C6\"5120share155593408284009033Mon, 22 Apr 2019 11:54:42 GMT\"0x8D6C7194ECC93B8\"5120share155593408602509047155593408638809789Mon, 22 Apr 2019 11:54:46 GMT\"0x8D6C71950EB127C\"5120share155593413980507194155593414004706529Mon, 22 Apr 2019 11:55:40 GMT\"0x8D6C71970E5C28A\"5120share155593443340907715Mon, 22 Apr 2019 12:00:33 GMT\"0x8D6C71A1FC13E8B\"5120share155593443670003038155593443705707580Mon, 22 Apr 2019 12:00:37 GMT\"0x8D6C71A21EEA00E\"5120share155593450016401961155593450034004099Mon, 22 Apr 2019 12:01:40 GMT\"0x8D6C71A47A53FCD\"5120share155599352898709431Tue, 23 Apr 2019 04:25:29 GMT\"0x8D6C7A3B77ECE95\"5120share155599353457303882Tue, 23 Apr 2019 04:25:38 GMT\"0x8D6C7A3BD362BCE\"5120share155599357366009924Tue, 23 Apr 2019 04:26:14 GMT\"0x8D6C7A3D2727D00\"5120share155599357721408169155599357752002160Tue, 23 Apr 2019 04:26:17 GMT\"0x8D6C7A3D4608808\"5120share155599358411903550Tue, 23 Apr 2019 04:26:24 GMT\"0x8D6C7A3D84ECE0A\"5120share155601731922303609Tue, 23 Apr 2019 11:01:59 GMT\"0x8D6C7DB1B9B74FB\"5120share155601732131001910155601732139106746Tue, 23 Apr 2019 11:02:01 GMT\"0x8D6C7DB1CC9BFC1\"5120share155601735054109201155601735057901414Tue, 23 Apr 2019 11:02:30 GMT\"0x8D6C7DB2E2F2F3A\"5120share155601736064400159Tue, 23 Apr 2019 11:02:40 GMT\"0x8D6C7DB3434ABFD\"5120share155601736424105355155601736465802495Tue, 23 Apr 2019 11:02:44 GMT\"0x8D6C7DB369991DE\"5120share155601744325107728155601744394209405Tue, 23 Apr 2019 11:04:04 GMT\"0x8D6C7DB65FC1A07\"5120share155601797649807068Tue, 23 Apr 2019 11:12:56 GMT\"0x8D6C7DCA3413305\"5120share155601797996201913155601798001404152Tue, 23 Apr 2019 11:13:00 GMT\"0x8D6C7DCA558E9FD\"5120share155601800320103700155601800321509380Tue, 23 Apr 2019 11:13:23 GMT\"0x8D6C7DCB32D5623\"5120share155601828484808138Tue, 23 Apr 2019 11:18:04 GMT\"0x8D6C7DD5B19C912\"5120share155601830009206641155601830015809234Tue, 23 Apr 2019 11:18:20 GMT\"0x8D6C7DD642B7506\"5120share155601834565900993155601834931903550Tue, 23 Apr 2019 11:19:09 GMT\"0x8D6C7DD819C3AD4\"5120share155601852383804224Tue, 23 Apr 2019 11:22:04 GMT\"0x8D6C7DDE9B3E6DA\"5120share155601852622609962155601852640709853Tue, 23 Apr 2019 11:22:06 GMT\"0x8D6C7DDEB0C7811\"5120share155601855610505401155601855619203211Tue, 23 Apr 2019 11:22:36 GMT\"0x8D6C7DDFCCD22F6\"5120share155601888818908038Tue, 23 Apr 2019 11:28:08 GMT\"0x8D6C7DEC2BD7575\"5120share155601889047405602155601889063207953Tue, 23 Apr 2019 11:28:10 GMT\"0x8D6C7DEC427062C\"5120share155601893832208908155601893844503340Tue, 23 Apr 2019 11:28:58 GMT\"0x8D6C7DEE0A87BA4\"5120share155601928936605407Tue, 23 Apr 2019 11:34:50 GMT\"0x8D6C7DFB2302469\"5120share155601929224401788155601929230605391Tue, 23 Apr 2019 11:34:52 GMT\"0x8D6C7DFB3AF6083\"5120share155601933534601457155601933537709705Tue, 23 Apr 2019 11:35:35 GMT\"0x8D6C7DFCD3678E6\"5120share155601964760005256Tue, 23 Apr 2019 11:40:47 GMT\"0x8D6C7E0874F4DEB\"5120share155601964910409011155601964915104348Tue, 23 Apr 2019 11:40:49 GMT\"0x8D6C7E0883CE94E\"5120share155601967123504480155601967126608975Tue, 23 Apr 2019 11:41:11 GMT\"0x8D6C7E095689CAA\"5120share155601999601804030Tue, 23 Apr 2019 11:46:36 GMT\"0x8D6C7E156FB9962\"5120share155601999694701777155601999697800251Tue, 23 Apr 2019 11:46:37 GMT\"0x8D6C7E1578EF47C\"5120share155602003749501427155602003751005370Tue, 23 Apr 2019 11:47:17 GMT\"0x8D6C7E16FB7BDC9\"5120share155602026583107985Tue, 23 Apr 2019 11:51:06 GMT\"0x8D6C7E1F810D790\"5120share155602026979301983155602027015406851Tue, 23 Apr 2019 11:51:10 GMT\"0x8D6C7E1FA73F564\"5120share155602032674702563155602032692105302Tue, 23 Apr 2019 11:52:07 GMT\"0x8D6C7E21C49318C\"5120share155602060207403254Tue, 23 Apr 2019 11:56:42 GMT\"0x8D6C7E2C04BE483\"5120share155602060511200179155602060546204061Tue, 23 Apr 2019 11:56:45 GMT\"0x8D6C7E2C2510A92\"5120share155602066032001106155602066050002052Tue, 23 Apr 2019 11:57:40 GMT\"0x8D6C7E2E31DC1E8\"5120share155602095578105524Tue, 23 Apr 2019 12:02:35 GMT\"0x8D6C7E3931EFFB4\"5120share155602095889002587155602095924407097Tue, 23 Apr 2019 12:02:39 GMT\"0x8D6C7E3952F966C\"5120share155602101006809941155602101024502287Tue, 23 Apr 2019 12:03:30 GMT\"0x8D6C7E3B399D7B3\"5120share155610372895102469Wed, 24 Apr 2019 11:02:09 GMT\"0x8D6C8A44BCFB0DA\"5120share155610373141006923155610373157605228Wed, 24 Apr 2019 11:02:11 GMT\"0x8D6C8A44D4985F7\"5120share155610376132904883155610376146100818Wed, 24 Apr 2019 11:02:41 GMT\"0x8D6C8A45F19FA18\"5120share155610377385900915Wed, 24 Apr 2019 11:02:54 GMT\"0x8D6C8A466A7CC33\"5120share155610377782705835155610378034305705Wed, 24 Apr 2019 11:03:00 GMT\"0x8D6C8A46A67BD59\"5120share155610388905308117155610388957707151Wed, 24 Apr 2019 11:04:50 GMT\"0x8D6C8A4ABC619F7\"5120share155610456973902277Wed, 24 Apr 2019 11:16:09 GMT\"0x8D6C8A640D89AA5\"5120share155610457043809446155610457046601023Wed, 24 Apr 2019 11:16:10 GMT\"0x8D6C8A64147924C\"5120share155610458625908819155610458627309878Wed, 24 Apr 2019 11:16:26 GMT\"0x8D6C8A64AB3985E\"5120share155610462696100101Wed, 24 Apr 2019 11:17:07 GMT\"0x8D6C8A662FC6D3F\"5120share155610462999806911155610463015401595Wed, 24 Apr 2019 11:17:10 GMT\"0x8D6C8A664E29738\"5120share155610468071108459155610468115706117Wed, 24 Apr 2019 11:18:01 GMT\"0x8D6C8A68364A313\"5120share155610499531404329Wed, 24 Apr 2019 11:23:15 GMT\"0x8D6C8A73EAA18BB\"5120share155610499885203420155610499903406227Wed, 24 Apr 2019 11:23:19 GMT\"0x8D6C8A740BF6EDE\"5120share155610503301507245155610503310502140Wed, 24 Apr 2019 11:23:53 GMT\"0x8D6C8A7550DF88E\"5120share155610517124802137Wed, 24 Apr 2019 11:26:11 GMT\"0x8D6C8A7A77428B8\"5120share155610517614001829155610517647303310Wed, 24 Apr 2019 11:26:16 GMT\"0x8D6C8A7AA918E67\"5120share155610523911605564155610523927805669Wed, 24 Apr 2019 11:27:19 GMT\"0x8D6C8A7D000A492\"5120share155610570355307500Wed, 24 Apr 2019 11:35:03 GMT\"0x8D6C8A8E4A92FB7\"5120share155610570429201962155610570433905439Wed, 24 Apr 2019 11:35:04 GMT\"0x8D6C8A8E5200830\"5120share155610572587302298155610572588801633Wed, 24 Apr 2019 11:35:25 GMT\"0x8D6C8A8F1F7F005\"5120share155610606038909851Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B95AA90B\"5120share155610606079502400155610606095109923Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B9AF5E68\"5120share155610608625503151155610608826000711Wed, 24 Apr 2019 11:41:28 GMT\"0x8D6C8A9C9F7404E\"5120share155610640694708896Wed, 24 Apr 2019 11:46:46 GMT\"0x8D6C8AA87EAE40C\"5120share155610640743200430155610640746309870Wed, 24 Apr 2019 11:46:47 GMT\"0x8D6C8AA88399124\"5120share155610643185205970155610643188305732Wed, 24 Apr 2019 11:47:11 GMT\"0x8D6C8AA96C7293A\"5120share155610665402600230Wed, 24 Apr 2019 11:50:54 GMT\"0x8D6C8AB1B4115E5\"5120share155610665693707025155610665730204127Wed, 24 Apr 2019 11:50:57 GMT\"0x8D6C8AB1D34D1EF\"5120share155610671076000970155610671093301855Wed, 24 Apr 2019 11:51:51 GMT\"0x8D6C8AB3D2C0DC2\"5120share155610697735704561Wed, 24 Apr 2019 11:56:17 GMT\"0x8D6C8ABDBFFAE7E\"5120share155610698173903526155610698219604859Wed, 24 Apr 2019 11:56:22 GMT\"0x8D6C8ABDF05278A\"5120share155610705059501406155610705081607565Wed, 24 Apr 2019 11:57:31 GMT\"0x8D6C8AC07CA5BB5\"5120share155623732891804592Fri, 26 Apr 2019 00:08:49 GMT\"0x8D6C9DB5B862C5D\"5120share155623733027107547155623733037204155Fri, 26 Apr 2019 00:08:50 GMT\"0x8D6C9DB5C5B5406\"5120share155623735144201549155623735148500368Fri, 26 Apr 2019 00:09:11 GMT\"0x8D6C9DB68F1020B\"5120share155623737838109944Fri, 26 Apr 2019 00:09:38 GMT\"0x8D6C9DB7936BAF7\"5120share155623738288508731155623738455404746Fri, 26 Apr 2019 00:09:44 GMT\"0x8D6C9DB7CA57C80\"5120share155623744517805440155623744597007766Fri, 26 Apr 2019 00:10:46 GMT\"0x8D6C9DBA14DB1B3\"5120share155623755450705158Fri, 26 Apr 2019 00:12:34 GMT\"0x8D6C9DBE1F1FFF8\"5120share155623755587909563155623755590803223Fri, 26 Apr 2019 00:12:35 GMT\"0x8D6C9DBE2C79C01\"5120share155623757295200043155623757297408285Fri, 26 Apr 2019 00:12:52 GMT\"0x8D6C9DBECF3FFFF\"5120share155623764038304012Fri, 26 Apr 2019 00:14:00 GMT\"0x8D6C9DC15291A2E\"5120share155623764463006380155623764498701545Fri, 26 Apr 2019 00:14:05 GMT\"0x8D6C9DC17E67B86\"5120share155623767900208026Fri, 26 Apr 2019 00:14:39 GMT\"0x8D6C9DC2C6DC062\"5120share155623768121705378155623768144401475Fri, 26 Apr 2019 00:14:41 GMT\"0x8D6C9DC2DA138D7\"5120share155623770790608406155623770798308113Fri, 26 Apr 2019 00:15:08 GMT\"0x8D6C9DC3DE529E3\"5120share155623771326307149155623771335209876Fri, 26 Apr 2019 00:15:13 GMT\"0x8D6C9DC40A5ECF5\"5120share155623792442708756Fri, 26 Apr 2019 00:18:45 GMT\"0x8D6C9DCBF06374F\"5120share155623793181801460155623793198609694Fri, 26 Apr 2019 00:18:52 GMT\"0x8D6C9DCC2F836BF\"5120share155623798478509855155623798814506187Fri, 26 Apr 2019 00:19:48 GMT\"0x8D6C9DCE4717D91\"5120share155623832375704220Fri, 26 Apr 2019 00:25:24 GMT\"0x8D6C9DDACAB7093\"5120share155623832601806869155623832606500404Fri, 26 Apr 2019 00:25:26 GMT\"0x8D6C9DDADEF34D4\"5120share155623837314701043155623837317801578Fri, 26 Apr 2019 00:26:13 GMT\"0x8D6C9DDC9E942F0\"5120share155623869536605908Fri, 26 Apr 2019 00:31:35 GMT\"0x8D6C9DE89F690C1\"5120share155623869692506630155623869703507429Fri, 26 Apr 2019 00:31:38 GMT\"0x8D6C9DE8BABE860\"5120share155623873038809966155623873039609717Fri, 26 Apr 2019 00:32:10 GMT\"0x8D6C9DE9ED7D76B\"5120share155623905177506822Fri, 26 Apr 2019 00:37:32 GMT\"0x8D6C9DF5EDF8E0E\"5120share155623905428205423155623905432903078Fri, 26 Apr 2019 00:37:34 GMT\"0x8D6C9DF5FE97AD0\"5120share155623907919403170155623907921004777Fri, 26 Apr 2019 00:37:59 GMT\"0x8D6C9DF6EBEF0ED\"5120share155623930187103764Fri, 26 Apr 2019 00:41:42 GMT\"0x8D6C9DFF388E129\"5120share155623930513305176155623930549908292Fri, 26 Apr 2019 00:41:45 GMT\"0x8D6C9DFF5B1FE97\"5120share155623936041106457155623936058402454Fri, 26 Apr 2019 00:42:40 GMT\"0x8D6C9E01686D42E\"5120share155623965181508872Fri, 26 Apr 2019 00:47:31 GMT\"0x8D6C9E0C41C0913\"5120share155623965814908055155623965849804647Fri, 26 Apr 2019 00:47:38 GMT\"0x8D6C9E0C8179EAE\"5120share155623971877107111155623971894601634Fri, 26 Apr 2019 00:48:39 GMT\"0x8D6C9E0EC1F66C0\"5120share155623999367701297Fri, 26 Apr 2019 00:53:13 GMT\"0x8D6C9E18FE27E33\"5120share155623999669908933155623999707001906Fri, 26 Apr 2019 00:53:17 GMT\"0x8D6C9E191E779F4\"5120share155624004674705383155624004692205374Fri, 26 Apr 2019 00:54:07 GMT\"0x8D6C9E1AF9E5DDC\"5120share155627655546209352Fri, 26 Apr 2019 11:02:35 GMT\"0x8D6CA36B06A47B2\"5120share155627655662206597155627655670705250Fri, 26 Apr 2019 11:02:36 GMT\"0x8D6CA36B114913C\"5120share155627658542903811155627658546904920Fri, 26 Apr 2019 11:03:05 GMT\"0x8D6CA36C2391779\"5120share155627659597101297Fri, 26 Apr 2019 11:03:16 GMT\"0x8D6CA36C882B597\"5120share155627660756501821155627660772707059Fri, 26 Apr 2019 11:03:27 GMT\"0x8D6CA36CF829BD7\"5120share155627670486708425155627670494603621Fri, 26 Apr 2019 11:05:05 GMT\"0x8D6CA370975980E\"5120share155627694374906331Fri, 26 Apr 2019 11:09:03 GMT\"0x8D6CA3797C4398A\"5120share155627694423009151155627694426207429Fri, 26 Apr 2019 11:09:04 GMT\"0x8D6CA3798128F99\"5120share155627695938700440155627695940105765Fri, 26 Apr 2019 11:09:19 GMT\"0x8D6CA37A118F618\"5120share155627701727507398Fri, 26 Apr 2019 11:10:17 GMT\"0x8D6CA37C39D4D86\"5120share155627702477907204155627702804807647Fri, 26 Apr 2019 11:10:28 GMT\"0x8D6CA37CA09AA23\"5120share155627706697307525Fri, 26 Apr 2019 11:11:07 GMT\"0x8D6CA37E1554966\"5120share155627706891503515155627706910004461Fri, 26 Apr 2019 11:11:09 GMT\"0x8D6CA37E27FB75E\"5120share155627709688305697155627709695909311Fri, 26 Apr 2019 11:11:37 GMT\"0x8D6CA37F31CAB75\"5120share155627709845403603155627709854409593Fri, 26 Apr 2019 11:11:38 GMT\"0x8D6CA37F40BF3D2\"5120share155627730105807426Fri, 26 Apr 2019 11:15:01 GMT\"0x8D6CA386CDB63C8\"5120share155627730309507258155627730356805784Fri, 26 Apr 2019 11:15:03 GMT\"0x8D6CA386E424D8B\"5120share155627734275903465155627734284806618Fri, 26 Apr 2019 11:15:42 GMT\"0x8D6CA3885AC0F9C\"5120share155627766425003035Fri, 26 Apr 2019 11:21:04 GMT\"0x8D6CA39453834A2\"5120share155627766494105062155627766500403555Fri, 26 Apr 2019 11:21:05 GMT\"0x8D6CA3945AB0111\"5120share155627770481402091155627770482907277Fri, 26 Apr 2019 11:21:44 GMT\"0x8D6CA395D6953A6\"5120share155627804685303536Fri, 26 Apr 2019 11:27:26 GMT\"0x8D6CA3A29472252\"5120share155627804758302119155627804764505614Fri, 26 Apr 2019 11:27:27 GMT\"0x8D6CA3A29BF734D\"5120share155627807828907816155627807830400346Fri, 26 Apr 2019 11:27:58 GMT\"0x8D6CA3A3C076B67\"5120share155627840936602595Fri, 26 Apr 2019 11:33:29 GMT\"0x8D6CA3B01571EF8\"5120share155627841049404780155627841054104290Fri, 26 Apr 2019 11:33:30 GMT\"0x8D6CA3B020AFB2D\"5120share155627843893800591155627843896903734Fri, 26 Apr 2019 11:33:58 GMT\"0x8D6CA3B12FC3750\"5120share155627866038509839Fri, 26 Apr 2019 11:37:40 GMT\"0x8D6CA3B97093C05\"5120share155627866361804142155627866397604669Fri, 26 Apr 2019 11:37:44 GMT\"0x8D6CA3B99307069\"5120share155627871539803949155627871557200833Fri, 26 Apr 2019 11:38:35 GMT\"0x8D6CA3BB7ED9B1B\"5120share155627897921406881Fri, 26 Apr 2019 11:42:59 GMT\"0x8D6CA3C550FFD26\"5120share155627898303104907155627898338702902Fri, 26 Apr 2019 11:43:03 GMT\"0x8D6CA3C578C73FF\"5120share155627903179604081155627903196604939Fri, 26 Apr 2019 11:43:52 GMT\"0x8D6CA3C748107A4\"5120share155627930048909745Fri, 26 Apr 2019 11:48:20 GMT\"0x8D6CA3D148FB137\"5120share155627930331508322155627930366602874Fri, 26 Apr 2019 11:48:23 GMT\"0x8D6CA3D16742F20\"5120share155627935619404978155627935636908313Fri, 26 Apr 2019 11:49:16 GMT\"0x8D6CA3D35E11682\"5120share155636293594402398Sat, 27 Apr 2019 11:02:16 GMT\"0x8D6CAFFCF4CB732\"5120share155636294209207737155636294218409788Sat, 27 Apr 2019 11:02:22 GMT\"0x8D6CAFFD2D59768\"5120share155636296650104845155636296654305259Sat, 27 Apr 2019 11:02:46 GMT\"0x8D6CAFFE15A8482\"5120share155636297924406992Sat, 27 Apr 2019 11:02:59 GMT\"0x8D6CAFFE8F23428\"5120share155636298688802927155636298754402979Sat, 27 Apr 2019 11:03:07 GMT\"0x8D6CAFFEDE481F8\"5120share155636310874309965155636310912301666Sat, 27 Apr 2019 11:05:09 GMT\"0x8D6CB00368CD9D5\"5120share155636326147602000Sat, 27 Apr 2019 11:07:41 GMT\"0x8D6CB009122AE26\"5120share155636326266702413155636326270508552Sat, 27 Apr 2019 11:07:42 GMT\"0x8D6CB0091DE490E\"5120share155636327915904071155636327917502788Sat, 27 Apr 2019 11:07:59 GMT\"0x8D6CB009BAF4751\"5120share155636338442205521Sat, 27 Apr 2019 11:09:44 GMT\"0x8D6CB00DAA2539F\"5120share155636338760401291155636338801401685Sat, 27 Apr 2019 11:09:48 GMT\"0x8D6CB00DC90FC6E\"5120share155636339103301366Sat, 27 Apr 2019 11:09:51 GMT\"0x8D6CB00DE64F2D7\"5120share155636340189203340155636340204505572Sat, 27 Apr 2019 11:10:02 GMT\"0x8D6CB00E529D7E4\"5120share155636341638503442155636341647401339Sat, 27 Apr 2019 11:10:16 GMT\"0x8D6CB00ED87C86E\"5120share155636348710505241155636348740800132Sat, 27 Apr 2019 11:11:27 GMT\"0x8D6CB0117D75DD7\"5120share155636370747500177Sat, 27 Apr 2019 11:15:07 GMT\"0x8D6CB019AF99906\"5120share155636371788904389155636371833704937Sat, 27 Apr 2019 11:15:18 GMT\"0x8D6CB01A1795C75\"5120share155636375971900820155636375974102788Sat, 27 Apr 2019 11:15:59 GMT\"0x8D6CB01BA214C10\"5120share155636404658507340Sat, 27 Apr 2019 11:20:46 GMT\"0x8D6CB02651C2C4D\"5120share155636404754602274155636404759307889Sat, 27 Apr 2019 11:20:47 GMT\"0x8D6CB0265B75164\"5120share155636409293907234155636409297202379Sat, 27 Apr 2019 11:21:33 GMT\"0x8D6CB0280E10E7F\"5120share155636438375103933Sat, 27 Apr 2019 11:26:24 GMT\"0x8D6CB032E483A34\"5120share155636438637507161155636438643804713Sat, 27 Apr 2019 11:26:26 GMT\"0x8D6CB032FAD2908\"5120share155636441656900776155636441658409038Sat, 27 Apr 2019 11:26:56 GMT\"0x8D6CB0341A57816\"5120share155636472346501628Sat, 27 Apr 2019 11:32:03 GMT\"0x8D6CB03F88E3C4E\"5120share155636472425706537155636472447104080Sat, 27 Apr 2019 11:32:04 GMT\"0x8D6CB03F927C11D\"5120share155636475254502016155636475256005895Sat, 27 Apr 2019 11:32:32 GMT\"0x8D6CB0409E56AB9\"5120share155636497418300656Sat, 27 Apr 2019 11:36:14 GMT\"0x8D6CB048E114492\"5120share155636497943200113155636497978301385Sat, 27 Apr 2019 11:36:21 GMT\"0x8D6CB0492365296\"5120share155636503124305582155636503142000787Sat, 27 Apr 2019 11:37:11 GMT\"0x8D6CB04B02F21E0\"5120share155636531384701457Sat, 27 Apr 2019 11:41:53 GMT\"0x8D6CB0558855034\"5120share155636531744608387155636531778207039Sat, 27 Apr 2019 11:41:57 GMT\"0x8D6CB055ADE2BE2\"5120share155636537787408049155636537803908356Sat, 27 Apr 2019 11:42:58 GMT\"0x8D6CB057EC9031B\"5120share155636563637206666Sat, 27 Apr 2019 11:47:16 GMT\"0x8D6CB0618C15632\"5120share155636563945001802155636563979208633Sat, 27 Apr 2019 11:47:19 GMT\"0x8D6CB061ACB80AE\"5120share155636569017104410155636569054205200Sat, 27 Apr 2019 11:48:10 GMT\"0x8D6CB06390B4503\"5120share155644932510206948Sun, 28 Apr 2019 11:02:05 GMT\"0x8D6CBC8F33F4F50\"5120share155644932748704938155644932757008051Sun, 28 Apr 2019 11:02:07 GMT\"0x8D6CBC8F488D88D\"5120share155644935294603187155644935298508210Sun, 28 Apr 2019 11:02:33 GMT\"0x8D6CBC903AF01F5\"5120share155644937631305965Sun, 28 Apr 2019 11:02:56 GMT\"0x8D6CBC911A89607\"5120share155644938305805342155644938336808846Sun, 28 Apr 2019 11:03:03 GMT\"0x8D6CBC915D0B517\"5120share155644946809502187155644946853904496Sun, 28 Apr 2019 11:04:28 GMT\"0x8D6CBC948948A14\"5120share155644965647507163Sun, 28 Apr 2019 11:07:36 GMT\"0x8D6CBC9B892BC76\"5120share155644965767401410155644965771100036Sun, 28 Apr 2019 11:07:37 GMT\"0x8D6CBC9B94F3564\"5120share155644967154503320155644967155906675Sun, 28 Apr 2019 11:07:51 GMT\"0x8D6CBC9C19086AD\"5120share155644973212306904Sun, 28 Apr 2019 11:08:52 GMT\"0x8D6CBC9E5A93F5C\"5120share155644973882903017155644973920408561Sun, 28 Apr 2019 11:09:00 GMT\"0x8D6CBC9EAABEAEE\"5120share155644976525108519Sun, 28 Apr 2019 11:09:26 GMT\"0x8D6CBC9FA307340\"5120share155644976922907290155644976940302741Sun, 28 Apr 2019 11:09:29 GMT\"0x8D6CBC9FBE7085A\"5120share155644979827502553155644979837106210Sun, 28 Apr 2019 11:09:58 GMT\"0x8D6CBCA0D2B87E0\"5120share155644980349600078155644980351709665Sun, 28 Apr 2019 11:10:03 GMT\"0x8D6CBCA104756D4\"5120share155644999479203413Sun, 28 Apr 2019 11:13:15 GMT\"0x8D6CBCA828B03A9\"5120share155644999911401572155644999927007263Sun, 28 Apr 2019 11:13:19 GMT\"0x8D6CBCA84EC87C0\"5120share155645007015108648155645007022406098Sun, 28 Apr 2019 11:14:30 GMT\"0x8D6CBCAAF35F083\"5120share155645038821502058Sun, 28 Apr 2019 11:19:48 GMT\"0x8D6CBCB6CBB520C\"5120share155645039457909794155645039491507393Sun, 28 Apr 2019 11:19:54 GMT\"0x8D6CBCB70BAA07B\"5120share155645044044006110155645044045503760Sun, 28 Apr 2019 11:20:40 GMT\"0x8D6CBCB8BE03321\"5120share155645073350300763Sun, 28 Apr 2019 11:25:33 GMT\"0x8D6CBCC3A89465E\"5120share155645073665802364155645073670507236Sun, 28 Apr 2019 11:25:36 GMT\"0x8D6CBCC3C897A23\"5120share155645077349800986155645077373300831Sun, 28 Apr 2019 11:26:14 GMT\"0x8D6CBCC52AB7AA9\"5120share155645108771203834Sun, 28 Apr 2019 11:31:27 GMT\"0x8D6CBCD0DA80040\"5120share155645108842007256155645108846705458Sun, 28 Apr 2019 11:31:30 GMT\"0x8D6CBCD0F84E607\"5120share155645112599605004155645112601107894Sun, 28 Apr 2019 11:32:06 GMT\"0x8D6CBCD247D05DA\"5120share155645134678507922Sun, 28 Apr 2019 11:35:46 GMT\"0x8D6CBCDA8286EE2\"5120share155645135233807971155645135268200427Sun, 28 Apr 2019 11:35:52 GMT\"0x8D6CBCDABAB030C\"5120share155645140915409987155645140933104898Sun, 28 Apr 2019 11:36:49 GMT\"0x8D6CBCDCD6E541E\"5120share155645167679104190Sun, 28 Apr 2019 11:41:16 GMT\"0x8D6CBCE6CD9127F\"5120share155645168014803993155645168050106913Sun, 28 Apr 2019 11:41:20 GMT\"0x8D6CBCE6F0F1955\"5120share155645174549400184155645174566908155Sun, 28 Apr 2019 11:42:25 GMT\"0x8D6CBCE95E5E14E\"5120share155645201297401853Sun, 28 Apr 2019 11:46:53 GMT\"0x8D6CBCF353A36B6\"5120share155645201855801952155645201890306019Sun, 28 Apr 2019 11:46:59 GMT\"0x8D6CBCF38C1EC3D\"5120share155645207253909424155645207271407048Sun, 28 Apr 2019 11:47:52 GMT\"0x8D6CBCF58D7EB4A\"5120share155653571241303167Mon, 29 Apr 2019 11:01:52 GMT\"0x8D6CC921605B941\"5120share155653571553502874155653571570705735Mon, 29 Apr 2019 11:01:55 GMT\"0x8D6CC9217E55B90\"5120share155653575241605337155653575249808322Mon, 29 Apr 2019 11:02:32 GMT\"0x8D6CC922DD35559\"5120share155653577934505481Mon, 29 Apr 2019 11:02:59 GMT\"0x8D6CC923DEABFFA\"5120share155653578834309441155653578850403282Mon, 29 Apr 2019 11:03:10 GMT\"0x8D6CC924424B8C3\"5120share155653590972103271155653591043700129Mon, 29 Apr 2019 11:05:10 GMT\"0x8D6CC928C0E5277\"5120share155653601676308435Mon, 29 Apr 2019 11:06:56 GMT\"0x8D6CC92CB50C4B1\"5120share155653602334209812155653602337104476Mon, 29 Apr 2019 11:07:03 GMT\"0x8D6CC92CF41462C\"5120share155653604017309897155653604018606464Mon, 29 Apr 2019 11:07:20 GMT\"0x8D6CC92D946F89F\"5120share155653618592007839Mon, 29 Apr 2019 11:09:45 GMT\"0x8D6CC9330238214\"5120share155653619244001987155653619249201263Mon, 29 Apr 2019 11:09:52 GMT\"0x8D6CC93340ED683\"5120share155653621618908520Mon, 29 Apr 2019 11:10:16 GMT\"0x8D6CC93425E266B\"5120share155653622019402299155653622037605069Mon, 29 Apr 2019 11:10:20 GMT\"0x8D6CC9344B3281A\"5120share155653624157605476155653624159605059Mon, 29 Apr 2019 11:10:41 GMT\"0x8D6CC93515DF82D\"5120share155653624964608827155653624973108032Mon, 29 Apr 2019 11:10:49 GMT\"0x8D6CC935631C474\"5120share155653644599604856Mon, 29 Apr 2019 11:14:06 GMT\"0x8D6CC93CB301827\"5120share155653644757300517155653644791500188Mon, 29 Apr 2019 11:14:08 GMT\"0x8D6CC93CC5D3074\"5120share155653651368305124155653651389303803Mon, 29 Apr 2019 11:15:14 GMT\"0x8D6CC93F3F84157\"5120share155653687079804910Mon, 29 Apr 2019 11:21:10 GMT\"0x8D6CC94C85EA8A0\"5120share155653687448704090155653687453303137Mon, 29 Apr 2019 11:21:14 GMT\"0x8D6CC94CA98A23B\"5120share155653693368406248155653693371508138Mon, 29 Apr 2019 11:22:13 GMT\"0x8D6CC94EDDEEAB8\"5120share155653721781601183Mon, 29 Apr 2019 11:26:57 GMT\"0x8D6CC95973262CD\"5120share155653721868605873155653721871704867Mon, 29 Apr 2019 11:26:58 GMT\"0x8D6CC9597BD86B3\"5120share155653725116303221155653725119400771Mon, 29 Apr 2019 11:27:31 GMT\"0x8D6CC95AB1726F4\"5120share155653756837900142Mon, 29 Apr 2019 11:32:48 GMT\"0x8D6CC96682633DD\"5120share155653756922307466155653756927008693Mon, 29 Apr 2019 11:32:54 GMT\"0x8D6CC966C065569\"5120share155653760887103690155653760948407436Mon, 29 Apr 2019 11:33:29 GMT\"0x8D6CC9680A6DADA\"5120share155653784322202515Mon, 29 Apr 2019 11:37:23 GMT\"0x8D6CC970C0B3287\"5120share155653784638108302155653784673304272Mon, 29 Apr 2019 11:37:26 GMT\"0x8D6CC970E22A6D4\"5120share155653790378102510155653790395501719Mon, 29 Apr 2019 11:38:24 GMT\"0x8D6CC97303F6982\"5120share155653796678404923Mon, 29 Apr 2019 11:39:26 GMT\"0x8D6CC9755B12EA8\"5120share155655223577604668Mon, 29 Apr 2019 15:37:15 GMT\"0x8D6CCB88EA9F634\"5120share155655223976807043155655224012408138Mon, 29 Apr 2019 15:37:20 GMT\"0x8D6CCB891420921\"5120share155655231503303385155655231520308001Mon, 29 Apr 2019 15:38:35 GMT\"0x8D6CCB8BE00A1CF\"5120share155655260533801192Mon, 29 Apr 2019 15:43:25 GMT\"0x8D6CCB96AF563A3\"5120share155655261383606228155655261419000264Mon, 29 Apr 2019 15:43:34 GMT\"0x8D6CCB9703B468D\"5120share155655268067203640155655268083707211Mon, 29 Apr 2019 15:44:41 GMT\"0x8D6CCB99818556D\"5120share155659382718902556Tue, 30 Apr 2019 03:10:27 GMT\"0x8D6CD196533E1AF\"5120share155659383304609639Tue, 30 Apr 2019 03:10:35 GMT\"0x8D6CD196A00F093\"5120share155659388399506155Tue, 30 Apr 2019 03:11:27 GMT\"0x8D6CD1988E5EB19\"5120share155662576226807025Tue, 30 Apr 2019 12:02:42 GMT\"0x8D6CD63BFD75BAB\"5120share155662578862004497155662578987503857Tue, 30 Apr 2019 12:03:09 GMT\"0x8D6CD63D04B064F\"5120share155662595995907858155662596004306578Tue, 30 Apr 2019 12:06:01 GMT\"0x8D6CD64364895F9\"5120share155662625450703255Tue, 30 Apr 2019 12:10:54 GMT\"0x8D6CD64E539C9F6\"5120share155662626147407940155662626175004337Tue, 30 Apr 2019 12:11:01 GMT\"0x8D6CD64E98CBD1A\"5120share155662637743605609155662637751001358Tue, 30 Apr 2019 12:12:57 GMT\"0x8D6CD652E8B6208\"5120share155662664173006358Tue, 30 Apr 2019 12:17:37 GMT\"0x8D6CD65D570BAE4\"5120share155662666338005352155662666389602684Tue, 30 Apr 2019 12:17:44 GMT\"0x8D6CD65D94AD41C\"5120share155662673728706029155662673745005608Tue, 30 Apr 2019 12:18:57 GMT\"0x8D6CD6605302FBE\"5120share155662707247701032Tue, 30 Apr 2019 12:24:32 GMT\"0x8D6CD66CCC187EA\"5120share155662707361008960155662707365704124Tue, 30 Apr 2019 12:24:33 GMT\"0x8D6CD66CD765BFF\"5120share155662716148504682155662716150008465Tue, 30 Apr 2019 12:26:02 GMT\"0x8D6CD67028527F9\"5120share155662746913406574Tue, 30 Apr 2019 12:31:11 GMT\"0x8D6CD67BADEDA4F\"5120share155662747408409967155662747413109639Tue, 30 Apr 2019 12:31:14 GMT\"0x8D6CD67BC2793BC\"5120share155662753834000600155662753837109223Tue, 30 Apr 2019 12:32:18 GMT\"0x8D6CD67E2719161\"5120share155662782303806877Tue, 30 Apr 2019 12:37:03 GMT\"0x8D6CD688C26F771\"5120share155662782452500893155662782457200278Tue, 30 Apr 2019 12:37:04 GMT\"0x8D6CD688D08A81D\"5120share155662788739300296155662789097705707Tue, 30 Apr 2019 12:38:11 GMT\"0x8D6CD68B49E2A48\"5120share155662816931104925Tue, 30 Apr 2019 12:42:49 GMT\"0x8D6CD695A962540\"5120share155662817225203479155662817259701968Tue, 30 Apr 2019 12:42:52 GMT\"0x8D6CD695C8BE154\"5120share155662823632807785155662823650306985Tue, 30 Apr 2019 12:43:56 GMT\"0x8D6CD6982AA192A\"5120share155662852342303617Tue, 30 Apr 2019 12:48:43 GMT\"0x8D6CD6A2DA687BC\"5120share155662852632405178155662852666909684Tue, 30 Apr 2019 12:48:47 GMT\"0x8D6CD6A2FBA14B9\"5120share155662860501305569155662860518207641Tue, 30 Apr 2019 12:50:05 GMT\"0x8D6CD6A5E636EF3\"5120share155662894578001193Tue, 30 Apr 2019 12:55:45 GMT\"0x8D6CD6B29672058\"5120share155662895018903930155662895095603460Tue, 30 Apr 2019 12:55:51 GMT\"0x8D6CD6B2C7C5D7B\"5120share155662900943409472155662900960307176Tue, 30 Apr 2019 12:56:50 GMT\"0x8D6CD6B4FE5F4B3\"5120share155664499555006401Tue, 30 Apr 2019 17:23:15 GMT\"0x8D6CD9087D53DCE\"5120share155664500031506296155664500092002935Tue, 30 Apr 2019 17:23:21 GMT\"0x8D6CD908B0B0AB0\"5120share155664508065306771155664508094803912Tue, 30 Apr 2019 17:24:41 GMT\"0x8D6CD90BAD270FA\"5120share155664729753300465Tue, 30 Apr 2019 18:01:37 GMT\"0x8D6CD95E3DF1B96\"5120share155664729867207955155664729876102123Tue, 30 Apr 2019 18:01:38 GMT\"0x8D6CD95E48EE467\"5120share155664731878008733155664731884404353Tue, 30 Apr 2019 18:01:58 GMT\"0x8D6CD95F087C514\"5120share155664734750706036Tue, 30 Apr 2019 18:02:27 GMT\"0x8D6CD9601AFBA38\"5120share155664735518802651155664735553702970Tue, 30 Apr 2019 18:02:35 GMT\"0x8D6CD960677C084\"5120share155664741133907881155664741150805603Tue, 30 Apr 2019 18:03:31 GMT\"0x8D6CD9627D4A3AC\"5120share155664751804804784Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD96674224E9\"5120share155664751843009437155664751845909347Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD9667809BA2\"5120share155664753608406512155664753609800054Tue, 30 Apr 2019 18:05:36 GMT\"0x8D6CD9672048402\"5120share155664764384909412Tue, 30 Apr 2019 18:07:23 GMT\"0x8D6CD96B2454BD0\"5120share155664764698903499155664764714205317Tue, 30 Apr 2019 18:07:27 GMT\"0x8D6CD96B43BC703\"5120share155664765964800730Tue, 30 Apr 2019 18:07:39 GMT\"0x8D6CD96BBBFDCC8\"5120share155664766156408443155664766175003678Tue, 30 Apr 2019 18:07:41 GMT\"0x8D6CD96BCEDE474\"5120share155664769075803387155664769083909474Tue, 30 Apr 2019 18:08:10 GMT\"0x8D6CD96CE471D93\"5120share155664769177107055155664769186807969Tue, 30 Apr 2019 18:08:11 GMT\"0x8D6CD96CEE0C32A\"5120share155664793047508046Tue, 30 Apr 2019 18:12:10 GMT\"0x8D6CD975D4445D7\"5120share155664793370707151155664793406201058Tue, 30 Apr 2019 18:12:14 GMT\"0x8D6CD975F4C0554\"5120share155664799626609967155664799642702708Tue, 30 Apr 2019 18:13:16 GMT\"0x8D6CD9784779BE8\"5120share155664838986009857Tue, 30 Apr 2019 18:19:49 GMT\"0x8D6CD986EE87FD0\"5120share155664839086109048155664839098605053Tue, 30 Apr 2019 18:19:51 GMT\"0x8D6CD986F92A6B3\"5120share155664842125701349155664842128800633Tue, 30 Apr 2019 18:20:21 GMT\"0x8D6CD9881A2AE3F\"5120share155664868924306988Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD99215836D8\"5120share155664868974301919155664868979002138Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD9921ABFC41\"5120share155664871026409718155664871028006183Tue, 30 Apr 2019 18:25:10 GMT\"0x8D6CD992DE35FBF\"5120share155664898661000493Tue, 30 Apr 2019 18:29:46 GMT\"0x8D6CD99D296CAAF\"5120share155664898736908027155664898743200061Tue, 30 Apr 2019 18:29:47 GMT\"0x8D6CD99D3145F33\"5120share155664901169000941155664901170603802Tue, 30 Apr 2019 18:30:11 GMT\"0x8D6CD99E18D8D3A\"5120share155664925468906460Tue, 30 Apr 2019 18:34:14 GMT\"0x8D6CD9A727390DC\"5120share155664925774602647155664925810605219Tue, 30 Apr 2019 18:34:18 GMT\"0x8D6CD9A747D51E0\"5120share155664930886300488155664930904704833Tue, 30 Apr 2019 18:35:09 GMT\"0x8D6CD9A92DA3BDA\"5120share155664963621608083Tue, 30 Apr 2019 18:40:36 GMT\"0x8D6CD9B55D88CCD\"5120share155664963911207885155664963950503259Tue, 30 Apr 2019 18:40:39 GMT\"0x8D6CD9B57CF9546\"5120share155664969424905803155664969442504330Tue, 30 Apr 2019 18:41:34 GMT\"0x8D6CD9B788A90C3\"5120share155664997888009788Tue, 30 Apr 2019 18:46:19 GMT\"0x8D6CD9C221B0DD3\"5120share155664998171908903155664998207603735Tue, 30 Apr 2019 18:46:22 GMT\"0x8D6CD9C2401C1B8\"5120share155665003183508772155665003201904018Tue, 30 Apr 2019 18:47:12 GMT\"0x8D6CD9C41C62EB3\"5120share155671217179407304Wed, 01 May 2019 12:02:52 GMT\"0x8D6CE2CF043E9FA\"5120share155671219172008472155671219276209289Wed, 01 May 2019 12:03:12 GMT\"0x8D6CE2CFC6D505C\"5120share155671230723401763155671230731502440Wed, 01 May 2019 12:05:25 GMT\"0x8D6CE2D4BA1AB19\"5120share155671263721209422Wed, 01 May 2019 12:10:37 GMT\"0x8D6CE2E056F7E3B\"5120share155671264204707108155671264210803004Wed, 01 May 2019 12:10:44 GMT\"0x8D6CE2E0984E095\"5120share155671270574801389155671270577303687Wed, 01 May 2019 12:11:46 GMT\"0x8D6CE2E2E5FFEA7\"5120share155671293848409824Wed, 01 May 2019 12:15:38 GMT\"0x8D6CE2EB8E7FA6A\"5120share155671294574507278155671294591804702Wed, 01 May 2019 12:15:45 GMT\"0x8D6CE2EBD562533\"5120share155671299611306212155671299620008258Wed, 01 May 2019 12:16:36 GMT\"0x8D6CE2EDB507203\"5120share155671332385803714Wed, 01 May 2019 12:22:03 GMT\"0x8D6CE2F9E969558\"5120share155671332469602305155671332475802993Wed, 01 May 2019 12:22:04 GMT\"0x8D6CE2F9F1EB9A5\"5120share155671338502005314155671338504303235Wed, 01 May 2019 12:23:05 GMT\"0x8D6CE2FC30DC95C\"5120share155671367854104869Wed, 01 May 2019 12:27:58 GMT\"0x8D6CE3071FE1598\"5120share155671368223303911155671368228005487Wed, 01 May 2019 12:28:02 GMT\"0x8D6CE307437A4C7\"5120share155671372645003038155671372648200546Wed, 01 May 2019 12:28:46 GMT\"0x8D6CE308E900339\"5120share155671404138101116Wed, 01 May 2019 12:34:01 GMT\"0x8D6CE314A41DD35\"5120share155671404388202871155671404392901060Wed, 01 May 2019 12:34:04 GMT\"0x8D6CE314BD70619\"5120share155671408392004967155671408393609922Wed, 01 May 2019 12:34:43 GMT\"0x8D6CE31639EBF99\"5120share155671434293808392Wed, 01 May 2019 12:39:03 GMT\"0x8D6CE31FE12032E\"5120share155671434836109290155671434872703442Wed, 01 May 2019 12:39:08 GMT\"0x8D6CE3201860597\"5120share155671442401704240155671442418902164Wed, 01 May 2019 12:40:24 GMT\"0x8D6CE322E80240E\"5120share155671476356403284Wed, 01 May 2019 12:46:03 GMT\"0x8D6CE32F8C8A3B2\"5120share155671476641602095155671476677406690Wed, 01 May 2019 12:46:06 GMT\"0x8D6CE32FAB3AA06\"5120share155671483047608209155671483064500413Wed, 01 May 2019 12:47:10 GMT\"0x8D6CE3320C4FF5D\"5120share155671512949600352Wed, 01 May 2019 12:52:09 GMT\"0x8D6CE33D2E5C47A\"5120share155671513373803608155671513408501729Wed, 01 May 2019 12:52:14 GMT\"0x8D6CE33D5A1A8D5\"5120share155671521609705567155671521626506310Wed, 01 May 2019 12:53:36 GMT\"0x8D6CE34069D5F27\"5120share155679851816408368Thu, 02 May 2019 12:01:58 GMT\"0x8D6CEF5FA732A7E\"5120share155679852596202541155679852613202884Thu, 02 May 2019 12:02:06 GMT\"0x8D6CEF5FF1D8624\"5120share155679856288905424Thu, 02 May 2019 12:02:42 GMT\"0x8D6CEF615076CF4\"5120share155679856731700115155679856740204877Thu, 02 May 2019 12:02:47 GMT\"0x8D6CEF617B700B9\"5120share155679857660207760155679857980906085Thu, 02 May 2019 12:02:59 GMT\"0x8D6CEF61F1D286E\"5120share155679874854605896Thu, 02 May 2019 12:05:48 GMT\"0x8D6CEF683A96E62\"5120share155679875030503823155679875033905411Thu, 02 May 2019 12:05:50 GMT\"0x8D6CEF684BA9C31\"5120share155679875254404441155679875263609138Thu, 02 May 2019 12:05:52 GMT\"0x8D6CEF68627C0FE\"5120share155679878089708047155679878091104872Thu, 02 May 2019 12:06:20 GMT\"0x8D6CEF696F37671\"5120share155679888243000820Thu, 02 May 2019 12:08:02 GMT\"0x8D6CEF6D39120A5\"5120share155679888489108376155679888509305780Thu, 02 May 2019 12:08:05 GMT\"0x8D6CEF6D5116F1C\"5120share155679891500506869155679891509202475Thu, 02 May 2019 12:08:35 GMT\"0x8D6CEF6E6F24819\"5120share155679901664001965Thu, 02 May 2019 12:10:16 GMT\"0x8D6CEF7237BEB8F\"5120share155679901953206038155679902425602748Thu, 02 May 2019 12:10:24 GMT\"0x8D6CEF728061FF4\"5120share155679910591802857155679910636900773Thu, 02 May 2019 12:11:46 GMT\"0x8D6CEF758F85617\"5120share155679935112105642Thu, 02 May 2019 12:15:51 GMT\"0x8D6CEF7EAD9AD30\"5120share155679935445705900155679935476905533Thu, 02 May 2019 12:15:54 GMT\"0x8D6CEF7ED06EB5C\"5120share155679940493802391155679940501507356Thu, 02 May 2019 12:16:45 GMT\"0x8D6CEF80B0518C8\"5120share155679976286209168Thu, 02 May 2019 12:22:42 GMT\"0x8D6CEF8E03E8D0B\"5120share155679976761202757155679976767408999Thu, 02 May 2019 12:22:47 GMT\"0x8D6CEF8E31CD0FB\"5120share155679983878804165155679983889806932Thu, 02 May 2019 12:23:59 GMT\"0x8D6CEF90DE7DBE3\"5120share155680012729001345Thu, 02 May 2019 12:28:47 GMT\"0x8D6CEF9B9744EEA\"5120share155680013089802177155680013343604362Thu, 02 May 2019 12:28:53 GMT\"0x8D6CEF9BD1E87AD\"5120share155680018545607819155680018548802519Thu, 02 May 2019 12:29:45 GMT\"0x8D6CEF9DC25C797\"5120share155680048628307191Thu, 02 May 2019 12:34:46 GMT\"0x8D6CEFA8F6FA5B5\"5120share155680048735201308155680048752503263Thu, 02 May 2019 12:34:47 GMT\"0x8D6CEFA902BEFD4\"5120share155680054059502575155680054078208504Thu, 02 May 2019 12:35:40 GMT\"0x8D6CEFAAFE99E08\"5120share155680079259409152Thu, 02 May 2019 12:39:52 GMT\"0x8D6CEFB46144212\"5120share155680079603008692155680079638802080Thu, 02 May 2019 12:39:56 GMT\"0x8D6CEFB48576A5A\"5120share155680086324003170155680086341609400Thu, 02 May 2019 12:41:09 GMT\"0x8D6CEFB73F4191B\"5120share155680116366608240Thu, 02 May 2019 12:46:03 GMT\"0x8D6CEFC2342610F\"5120share155680116692407772155680116726106116Thu, 02 May 2019 12:46:07 GMT\"0x8D6CEFC256671DA\"5120share155680123263107271155680123280607055Thu, 02 May 2019 12:47:18 GMT\"0x8D6CEFC4FB84B61\"5120share155680152893405622Thu, 02 May 2019 12:52:09 GMT\"0x8D6CEFCFCF8ACC9\"5120share155680153196607938155680153229901822Thu, 02 May 2019 12:52:12 GMT\"0x8D6CEFCFEFAC75D\"5120share155680158878107344155680158894804284Thu, 02 May 2019 12:53:09 GMT\"0x8D6CEFD20BEBDCF\"5120share155788306352807730Wed, 15 May 2019 01:16:54 GMT\"0x8D6D8D304A61904\"5120share155788308062108596155788308209308631Wed, 15 May 2019 01:17:12 GMT\"0x8D6D8D30F58BE3B\"5120share155788323499401022155788323520406093Wed, 15 May 2019 01:19:45 GMT\"0x8D6D8D36A9B0AAD\"5120share155788333682509501Wed, 15 May 2019 01:21:28 GMT\"0x8D6D8D3A7AA96CE\"5120share155788334149705660155788334173503747Wed, 15 May 2019 01:21:32 GMT\"0x8D6D8D3AA0A1813\"5120share155788339703307533155788339713500051Wed, 15 May 2019 01:22:27 GMT\"0x8D6D8D3CB0FBFB8\"5120share155789851622202118Wed, 15 May 2019 05:34:26 GMT\"0x8D6D8F6FED7E33B\"5120share155789852650301614155789852729008793Wed, 15 May 2019 05:34:36 GMT\"0x8D6D8F704DEAC59\"5120share155789877173604070155789877195804743Wed, 15 May 2019 05:38:42 GMT\"0x8D6D8F7975258B5\"5120share155789882274109457Wed, 15 May 2019 05:39:32 GMT\"0x8D6D8F7B501C0A1\"5120share155789920646404319Wed, 15 May 2019 05:45:59 GMT\"0x8D6D8F89B713B5D\"5120share155789922333106193155789922594104272Wed, 15 May 2019 05:46:15 GMT\"0x8D6D8F8A55DC48A\"5120share155789948872909427155789948893408867Wed, 15 May 2019 05:50:38 GMT\"0x8D6D8F9421EA77F\"5120share155796534745905625Thu, 16 May 2019 00:08:16 GMT\"0x8D6D99298888C0B\"5120share155796535227408872155796535309403957Thu, 16 May 2019 00:08:22 GMT\"0x8D6D9929BC764A5\"5120share155796549374907408155796549948205145Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F307D6FA\"5120share155796549944801755Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F30D0787\"5120share155796550181401739155796550203008148Thu, 16 May 2019 00:10:50 GMT\"0x8D6D992F47EA761\"5120share155796558852701870155796558863206075Thu, 16 May 2019 00:12:17 GMT\"0x8D6D993281B7B69\"5120share155936613426202671Sat, 01 Jun 2019 05:15:34 GMT\"0x8D6E6502D1AE146\"5120share155936613752107952Sat, 01 Jun 2019 05:15:37 GMT\"0x8D6E6502EE0D225\"5120share155936617309807358Sat, 01 Jun 2019 05:16:13 GMT\"0x8D6E6504414E154\"5120share155936618248102291155936618773106962Sat, 01 Jun 2019 05:16:28 GMT\"0x8D6E6504CF96712\"5120share155936622317002439155936622805600133Sat, 01 Jun 2019 05:17:08 GMT\"0x8D6E65064DD022F\"5120share156044249615306731Thu, 13 Jun 2019 09:14:41 GMT\"0x8D6EFDF9176E0E5\"5120share156044250900802249156044253597605999Thu, 13 Jun 2019 09:15:22 GMT\"0x8D6EFDFA9A9531B\"5120share156044266032103683156044267037809103Thu, 13 Jun 2019 09:17:35 GMT\"0x8D6EFDFF9363F4C\"5120share156044276915301025Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE033D4F921\"5120share156044276965805452Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE0343C5600\"5120share156044277102604377Thu, 13 Jun 2019 09:19:16 GMT\"0x8D6EFE035871718\"5120share156044298388703236Thu, 13 Jun 2019 09:22:48 GMT\"0x8D6EFE0B3DB9142\"5120share156044298446703223Thu, 13 Jun 2019 09:22:51 GMT\"0x8D6EFE0B52FECF1\"5120share156044298734500432Thu, 13 Jun 2019 09:22:53 GMT\"0x8D6EFE0B6A74968\"5120share156044329310003703Thu, 13 Jun 2019 09:27:57 GMT\"0x8D6EFE16C0FE7C8\"5120share156044329582502409156044329609304478Thu, 13 Jun 2019 09:28:00 GMT\"0x8D6EFE16DD7D891\"5120share156044333581504082156044333594304550Thu, 13 Jun 2019 09:28:40 GMT\"0x8D6EFE18597B0BF\"5120share156047994662102881Thu, 13 Jun 2019 19:38:52 GMT\"0x8D6F036C3BB8F7A\"5120share156047995819502850156047995909100189Thu, 13 Jun 2019 19:39:04 GMT\"0x8D6F036CAE76E07\"5120share156047996126702672Thu, 13 Jun 2019 19:39:06 GMT\"0x8D6F036CC7545BB\"5120share156050177866005230Fri, 14 Jun 2019 08:42:59 GMT\"0x8D6F0A44DE68AA5\"5120share156050179006706031156050179077805344Fri, 14 Jun 2019 08:43:16 GMT\"0x8D6F0A458405A55\"5120share156050191303808333156050191327404367Fri, 14 Jun 2019 08:45:13 GMT\"0x8D6F0A49E21DA4E\"5120share156050211559604917Fri, 14 Jun 2019 08:48:35 GMT\"0x8D6F0A516A83543\"5120share156050211822900505156050211858909038Fri, 14 Jun 2019 08:48:39 GMT\"0x8D6F0A51878DD30\"5120share156050215766705740156050215780300373Fri, 14 Jun 2019 08:49:18 GMT\"0x8D6F0A52FCE0BA5\"5120share156081550348009414Mon, 17 Jun 2019 23:51:43 GMT\"0x8D6F37EC0388A3B\"5120share156081550608509127156081550638505882Mon, 17 Jun 2019 23:51:46 GMT\"0x8D6F37EC1F298C1\"5120share156081551027804881Mon, 17 Jun 2019 23:51:50 GMT\"0x8D6F37EC4450BAA\"5120share156081556306007728Mon, 17 Jun 2019 23:52:43 GMT\"0x8D6F37EE3D2AAA3\"5120share156081556994202082156081557055908986Mon, 17 Jun 2019 23:52:50 GMT\"0x8D6F37EE84AF3FE\"5120share156090518844708126Wed, 19 Jun 2019 00:46:28 GMT\"0x8D6F44F90A73876\"5120share156090519369309751156090519401906943Wed, 19 Jun 2019 00:46:34 GMT\"0x8D6F44F93F136E5\"5120share156090520433402869Wed, 19 Jun 2019 00:46:44 GMT\"0x8D6F44F9A304B8F\"5120share156090520600501278156090520631804345Wed, 19 Jun 2019 00:46:46 GMT\"0x8D6F44F9B45D8A0\"5120share156090521027006703156090521090304895Wed, 19 Jun 2019 00:46:51 GMT\"0x8D6F44F9E1A4964\"5120share156090523484208035156090523547500820Wed, 19 Jun 2019 00:47:15 GMT\"0x8D6F44FACBF2574\"5120share156090528884503768x1Wed, 19 Jun 2019 00:48:08 GMT\"0x8D6F44FCC769E92\"5120share156090528884503768x2Wed, 19 Jun 2019 00:48:09 GMT\"0x8D6F44FCC8DD448\"5120share156090529119103354156090529134104591Wed, 19 Jun 2019 00:48:11 GMT\"0x8D6F44FCDF3714A\"5120share156090529870502984156090529885103119Wed, 19 Jun 2019 00:48:18 GMT\"0x8D6F44FD26D1E09\"5120share156090538248003758x1Wed, 19 Jun 2019 00:49:42 GMT\"0x8D6F450045EF089\"5120share156090538248003758x2Wed, 19 Jun 2019 00:49:43 GMT\"0x8D6F4500495B8E3\"5120share156090539724300720156090539754505732Wed, 19 Jun 2019 00:49:57 GMT\"0x8D6F4500D580E83\"5120share156090541332209451156090541362901101Wed, 19 Jun 2019 00:50:13 GMT\"0x8D6F45016EFF17A\"5120share156090550949505668Wed, 19 Jun 2019 00:51:49 GMT\"0x8D6F450500368A9\"5120share156090551212302217156090551242708665Wed, 19 Jun 2019 00:51:52 GMT\"0x8D6F45051BA1314\"5120share156090553013901551Wed, 19 Jun 2019 00:52:10 GMT\"0x8D6F4505C618D79\"5120share156090553593709437156090553653902128Wed, 19 Jun 2019 00:52:16 GMT\"0x8D6F4506031358A\"5120share156090558100103645156090558115508952Wed, 19 Jun 2019 00:53:01 GMT\"0x8D6F4507AB22B77\"5120share156090564524803767156090564556104448Wed, 19 Jun 2019 00:54:05 GMT\"0x8D6F450A12D0E82\"5120share156099883086407809156099883149506226Thu, 20 Jun 2019 02:47:11 GMT\"0x8D6F5299855BC7B\"5120share156099893196906529156099893228004620Thu, 20 Jun 2019 02:48:52 GMT\"0x8D6F529D44FD103\"5120share156114311216300057Fri, 21 Jun 2019 18:51:52 GMT\"0x8D6F679864F385C\"5120share156114311890203576156114312002500579Fri, 21 Jun 2019 18:52:00 GMT\"0x8D6F6798AFE085E\"5120share156114333879907132156114334191903810Fri, 21 Jun 2019 18:55:42 GMT\"0x8D6F67A0F3FCF92\"5120share156114371848307278Fri, 21 Jun 2019 19:01:58 GMT\"0x8D6F67AEFA2AFE2\"5120share156114372136304633156114372167008416Fri, 21 Jun 2019 19:02:01 GMT\"0x8D6F67AF180FD23\"5120share156114379998900636156114380014204580Fri, 21 Jun 2019 19:03:20 GMT\"0x8D6F67B204707DA\"5120share156114474439505812Fri, 21 Jun 2019 19:19:04 GMT\"0x8D6F67D53314453\"5120share156114475387905810156114475448908574Fri, 21 Jun 2019 19:19:14 GMT\"0x8D6F67D5933C9C3\"5120share156114486321303028Fri, 21 Jun 2019 19:21:05 GMT\"0x8D6F67D9B61B33C\"5120share156115946574701846Fri, 21 Jun 2019 23:24:26 GMT\"0x8D6F69F99CE4B71\"5120share156115947141807982156115947224806986Fri, 21 Jun 2019 23:24:33 GMT\"0x8D6F69F9E1B1F7F\"5120share156115960121602365156115960188507490Fri, 21 Jun 2019 23:26:42 GMT\"0x8D6F69FEAF28A6C\"5120share156141635490400684Mon, 24 Jun 2019 22:45:55 GMT\"0x8D6F8F5B7AD250A\"5120share156141636264601764156141636329409650Mon, 24 Jun 2019 22:46:03 GMT\"0x8D6F8F5BCACA818\"5120share156141658460702995156141658490004575Mon, 24 Jun 2019 22:49:45 GMT\"0x8D6F8F641081F82\"5120share156141756433309618Mon, 24 Jun 2019 23:06:04 GMT\"0x8D6F8F8887D6188\"5120share156141756733002751156141756763204721Mon, 24 Jun 2019 23:06:07 GMT\"0x8D6F8F88A6C6C2A\"5120share156141764119603193156141764134701828Mon, 24 Jun 2019 23:07:21 GMT\"0x8D6F8F8B65C39CE\"5120share156141919236706702Mon, 24 Jun 2019 23:33:12 GMT\"0x8D6F8FC52EED154\"5120share156141919803003350156141919865801147Mon, 24 Jun 2019 23:33:19 GMT\"0x8D6F8FC56F4BD05\"5120share156141931966501774Mon, 24 Jun 2019 23:35:29 GMT\"0x8D6F8FCA4BD683F\"5120share156149970911905568Tue, 25 Jun 2019 21:55:09 GMT\"0x8D6F9B7CAAB4B3B\"5120share156149972253205524156149972575804451Tue, 25 Jun 2019 21:55:26 GMT\"0x8D6F9B7D492BDAF\"5120share156149997853501630156149997896706693Tue, 25 Jun 2019 21:59:39 GMT\"0x8D6F9B86B7E9EF8\"5120share156150112617009272Tue, 25 Jun 2019 22:18:46 GMT\"0x8D6F9BB17479CEF\"5120share156150115930800713156150115992806338Tue, 25 Jun 2019 22:19:23 GMT\"0x8D6F9BB2D3E52CB\"5120share156150134120204800156150134149206717Tue, 25 Jun 2019 22:22:21 GMT\"0x8D6F9BB979CFC8C\"5120share156150280108408199Tue, 25 Jun 2019 22:46:44 GMT\"0x8D6F9BEFF7465E5\"5120share156150281047001733156150281108602477Tue, 25 Jun 2019 22:46:52 GMT\"0x8D6F9BF0439157D\"5120share156150296438905506156150296523603401Tue, 25 Jun 2019 22:49:25 GMT\"0x8D6F9BF5F712922\"5120share156150354167103800156150354327804409Tue, 25 Jun 2019 22:59:03 GMT\"0x8D6F9C0B7FD48A0\"5120share156150384087807265156150384183008054Tue, 25 Jun 2019 23:04:02 GMT\"0x8D6F9C169F185B4\"5120share156150415783302542Tue, 25 Jun 2019 23:09:18 GMT\"0x8D6F9C2264959E1\"5120share156150416320803571156150416383902503Tue, 25 Jun 2019 23:09:24 GMT\"0x8D6F9C229DED148\"5120share156150416632503534Tue, 25 Jun 2019 23:09:26 GMT\"0x8D6F9C22B5A1E25\"5120share156150422332508880Tue, 25 Jun 2019 23:10:23 GMT\"0x8D6F9C24D8C96B5\"5120share156150423181005284156150423381304793Tue, 25 Jun 2019 23:10:34 GMT\"0x8D6F9C253961894\"5120share156150438077300288156150438106805729Tue, 25 Jun 2019 23:13:01 GMT\"0x8D6F9C2AB5763ED\"5120share156150520304506733Tue, 25 Jun 2019 23:26:43 GMT\"0x8D6F9C49531803B\"5120share156150520603800440156150520635102181Tue, 25 Jun 2019 23:26:46 GMT\"0x8D6F9C49729170A\"5120share156150526941308420156150526956606178Tue, 25 Jun 2019 23:27:49 GMT\"0x8D6F9C4BCD6B148\"5120share156150541781105471Tue, 25 Jun 2019 23:30:19 GMT\"0x8D6F9C5160C2833\"5120share156150542478109368156150542584804338Tue, 25 Jun 2019 23:30:37 GMT\"0x8D6F9C52095C85F\"5120share156150558874106308156150558905705627Tue, 25 Jun 2019 23:33:09 GMT\"0x8D6F9C57B5D00F3\"5120", [ 'Transfer-Encoding', + .reply(200, "1share-with-dash156503801544506568Mon, 05 Aug 2019 20:46:55 GMT\"0x8D719E60D7B9494\"51201share-with-dash156503990297204513Mon, 05 Aug 2019 21:18:23 GMT\"0x8D719EA7287B131\"5120harshan-newshareWed, 03 Jul 2019 08:00:19 GMT\"0x8D6FF8C7E400CF5\"5120harshan-newshare1Wed, 03 Jul 2019 08:00:27 GMT\"0x8D6FF8C82F78FD8\"5120harshan-newshare308Wed, 03 Jul 2019 22:59:42 GMT\"0x8D7000A22C19BC2\"5120harshan-newshare369Wed, 03 Jul 2019 22:58:16 GMT\"0x8D70009EF8E3A12\"5120harshan-newshare378Wed, 03 Jul 2019 22:59:24 GMT\"0x8D7000A179B6D3A\"5120harshan-newshare3808Tue, 06 Aug 2019 18:25:00 GMT\"0x8D71A9B64CB36A5\"5120harshan-newshare3808-fxTue, 06 Aug 2019 18:44:50 GMT\"0x8D71A9E2A19A548\"5120harshan-newshare5Wed, 03 Jul 2019 08:00:39 GMT\"0x8D6FF8C89D7AD2D\"5120newshare1560984825945Wed, 19 Jun 2019 22:53:46 GMT\"0x8D6F508FC8742DD\"5120newshare1560984850577Wed, 19 Jun 2019 22:54:11 GMT\"0x8D6F5090B34A1EB\"5120newshare1560984882604Wed, 19 Jun 2019 22:54:42 GMT\"0x8D6F5091E339D8C\"5120newshare1560985024272Wed, 19 Jun 2019 22:57:04 GMT\"0x8D6F50972BE3FCF\"5120newshare1560985083512Wed, 19 Jun 2019 22:58:03 GMT\"0x8D6F5099600D69D\"5120newshare1560985920531Wed, 19 Jun 2019 23:12:00 GMT\"0x8D6F50B88DA1F34\"5120newshare1561756969110Fri, 28 Jun 2019 21:22:49 GMT\"0x8D6FC0EC59EBC52\"5120newshare1562193890506Wed, 03 Jul 2019 22:44:50 GMT\"0x8D700080F2422E6\"5120share155437904169205513Thu, 04 Apr 2019 11:57:21 GMT\"0x8D6B8F4B2199E20\"5120share155437904713606627155437904748902305Thu, 04 Apr 2019 11:57:27 GMT\"0x8D6B8F4B58CCFDF\"5120share155437910337302527155437910354902667Thu, 04 Apr 2019 11:58:23 GMT\"0x8D6B8F4D6F74A7A\"5120share155437926571002685Thu, 04 Apr 2019 12:01:06 GMT\"0x8D6B8F537F0202C\"5120share155437937929506082Thu, 04 Apr 2019 12:02:59 GMT\"0x8D6B8F57B571BD7\"5120share155437938267107302155437938302300325Thu, 04 Apr 2019 12:03:03 GMT\"0x8D6B8F57D904B8D\"5120share155437943600205257155437943618000602Thu, 04 Apr 2019 12:03:56 GMT\"0x8D6B8F59D3F4E15\"5120share155442101291609110Thu, 04 Apr 2019 23:36:53 GMT\"0x8D6B9566AEEB456\"5120share155442101433204202155442101441304945Thu, 04 Apr 2019 23:36:54 GMT\"0x8D6B9566BAA4F82\"5120share155442103535004210155442103538902012Thu, 04 Apr 2019 23:37:15 GMT\"0x8D6B956782FAC3C\"5120share155442106262706581Thu, 04 Apr 2019 23:37:43 GMT\"0x8D6B95688E986F6\"5120share155442106833005342155442106849709891Thu, 04 Apr 2019 23:37:48 GMT\"0x8D6B9568BEE3C35\"5120share155442114135001795155442114169107170Thu, 04 Apr 2019 23:39:02 GMT\"0x8D6B956B7D19FDF\"5120share155442131425802394Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571E63D415\"5120share155442131479404554155442131482500092Thu, 04 Apr 2019 23:41:54 GMT\"0x8D6B9571EBA7ECE\"5120share155442132948207011155442132949606157Thu, 04 Apr 2019 23:42:09 GMT\"0x8D6B9572778FD3C\"5120share155442141590704833Thu, 04 Apr 2019 23:43:35 GMT\"0x8D6B9575AFB4FEB\"5120share155442142252500330155442142267403210Thu, 04 Apr 2019 23:43:44 GMT\"0x8D6B9575FD51B4D\"5120share155442146582902380155442146585008091Thu, 04 Apr 2019 23:44:26 GMT\"0x8D6B95778EE5ED3\"5120share155442149759503608Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C207165\"5120share155442149837602699Thu, 04 Apr 2019 23:44:58 GMT\"0x8D6B9578C30A3C1\"5120share155442150064406618155442150082408752Thu, 04 Apr 2019 23:45:00 GMT\"0x8D6B9578D9B62F7\"5120share155442153362302080155442153371707518Thu, 04 Apr 2019 23:45:33 GMT\"0x8D6B957A13737FA\"5120share155443582059502859Fri, 05 Apr 2019 03:43:42 GMT\"0x8D6B978E603869D\"5120share155443582580507876155443582595606141Fri, 05 Apr 2019 03:43:46 GMT\"0x8D6B978E8A02797\"5120share155443587740305874155443587762607080Fri, 05 Apr 2019 03:44:37 GMT\"0x8D6B97906DE32FA\"5120share155443625931505797Fri, 05 Apr 2019 03:50:59 GMT\"0x8D6B979EA5A9413\"5120share155443626549008520155443626563302943Fri, 05 Apr 2019 03:51:05 GMT\"0x8D6B979EE1D492F\"5120share155443630167301526155443630221406552Fri, 05 Apr 2019 03:51:42 GMT\"0x8D6B97A03FBB01F\"5120share155443666699605171Fri, 05 Apr 2019 03:57:47 GMT\"0x8D6B97ADD56D64F\"5120share155443666955806318155443667044900386Fri, 05 Apr 2019 03:57:50 GMT\"0x8D6B97ADF6728E9\"5120share155443669150109852155443669151701289Fri, 05 Apr 2019 03:58:11 GMT\"0x8D6B97AEBF6A0A3\"5120share155443703010208112Fri, 05 Apr 2019 04:03:50 GMT\"0x8D6B97BB5C542C6\"5120share155443703394402052155443703408604381Fri, 05 Apr 2019 04:03:54 GMT\"0x8D6B97BB82502C3\"5120share155443706847604651155443706849201965Fri, 05 Apr 2019 04:04:28 GMT\"0x8D6B97BCCA7BB08\"5120share155443733735903558Fri, 05 Apr 2019 04:08:57 GMT\"0x8D6B97C6CFBA440\"5120share155443734066903960155443734103208534Fri, 05 Apr 2019 04:09:01 GMT\"0x8D6B97C6F2C6060\"5120share155443740343700662155443740361700328Fri, 05 Apr 2019 04:10:03 GMT\"0x8D6B97C947B99FC\"5120share155443773159006548Fri, 05 Apr 2019 04:15:31 GMT\"0x8D6B97D57F62125\"5120share155443773488909261155443773524802868Fri, 05 Apr 2019 04:15:35 GMT\"0x8D6B97D5A23A41F\"5120share155443778879901744155443778897809352Fri, 05 Apr 2019 04:16:29 GMT\"0x8D6B97D7A2A0A7B\"5120share155443808157506500Fri, 05 Apr 2019 04:21:21 GMT\"0x8D6B97E28928135\"5120share155443808899901355155443808934705375Fri, 05 Apr 2019 04:21:29 GMT\"0x8D6B97E2D346BD5\"5120share155443814397801049155443814428602573Fri, 05 Apr 2019 04:22:24 GMT\"0x8D6B97E4DF255CB\"5120share155449698256603251Fri, 05 Apr 2019 20:43:03 GMT\"0x8D6BA074CC4EFEB\"5120share155449699028704210155449699044401955Fri, 05 Apr 2019 20:43:10 GMT\"0x8D6BA0750F24CA3\"5120share155449706408706736155449706446200602Fri, 05 Apr 2019 20:44:24 GMT\"0x8D6BA077D1205FE\"5120share155449737116002082Fri, 05 Apr 2019 20:49:31 GMT\"0x8D6BA0833EF6AE3\"5120share155449737474209671155449737490001856Fri, 05 Apr 2019 20:49:35 GMT\"0x8D6BA0836271F09\"5120share155449745536204495155449745544000815Fri, 05 Apr 2019 20:50:55 GMT\"0x8D6BA08661AA78B\"5120share155449770584504837Fri, 05 Apr 2019 20:55:06 GMT\"0x8D6BA08FB786B15\"5120share155449770977003350155449771009507442Fri, 05 Apr 2019 20:55:10 GMT\"0x8D6BA08FDEEEF5F\"5120share155449778145802330155449778162009258Fri, 05 Apr 2019 20:56:21 GMT\"0x8D6BA0928910090\"5120share155449823062408698Fri, 05 Apr 2019 21:03:50 GMT\"0x8D6BA0A3420A3D8\"5120share155449823258504287155449823263301889Fri, 05 Apr 2019 21:03:52 GMT\"0x8D6BA0A35530D46\"5120share155449826174701410155449826176307807Fri, 05 Apr 2019 21:04:21 GMT\"0x8D6BA0A46AFDCC3\"5120share155449862981903222Fri, 05 Apr 2019 21:10:29 GMT\"0x8D6BA0B220FFB58\"5120share155449863105504658155449863111709132Fri, 05 Apr 2019 21:10:31 GMT\"0x8D6BA0B22D5EEA2\"5120share155449865700806346155449865702400197Fri, 05 Apr 2019 21:10:57 GMT\"0x8D6BA0B32485EAF\"5120share155449904692503022Fri, 05 Apr 2019 21:17:26 GMT\"0x8D6BA0C1AB0768E\"5120share155449905263404318155449905491400712Fri, 05 Apr 2019 21:17:34 GMT\"0x8D6BA0C1F74B26E\"5120share155449907669405335155449907672507508Fri, 05 Apr 2019 21:17:56 GMT\"0x8D6BA0C2C743E12\"5120share155449934243103133Fri, 05 Apr 2019 21:22:22 GMT\"0x8D6BA0CCAE43E0F\"5120share155449934701504808155449934737409902Fri, 05 Apr 2019 21:22:27 GMT\"0x8D6BA0CCDD5AAB7\"5120share155449939774006034155449939791600712Fri, 05 Apr 2019 21:23:18 GMT\"0x8D6BA0CEBF47C4B\"5120share155449972319203361Fri, 05 Apr 2019 21:28:43 GMT\"0x8D6BA0DADD62181\"5120share155449972776901031155449972812206390Fri, 05 Apr 2019 21:28:48 GMT\"0x8D6BA0DB0C68B0E\"5120share155449977789002842155449977806401651Fri, 05 Apr 2019 21:29:38 GMT\"0x8D6BA0DCE8A94B2\"5120share155449988456208354Fri, 05 Apr 2019 21:31:24 GMT\"0x8D6BA0E0E0F8C4F\"5120share155449988625608688155449988642503448Fri, 05 Apr 2019 21:31:26 GMT\"0x8D6BA0E0F159E96\"5120share155449991844601273Fri, 05 Apr 2019 21:31:58 GMT\"0x8D6BA0E2236F89F\"5120share155449991947403701155449991955701901Fri, 05 Apr 2019 21:31:59 GMT\"0x8D6BA0E22D51817\"5120share155449992104401371155449992136502093Fri, 05 Apr 2019 21:32:01 GMT\"0x8D6BA0E23F4DF66\"5120share155449998080301988155449998096605835Fri, 05 Apr 2019 21:33:01 GMT\"0x8D6BA0E477BAC64\"5120share155450013577106187Fri, 05 Apr 2019 21:35:35 GMT\"0x8D6BA0EA3C13C6A\"5120share155450013975601796155450014013008238Fri, 05 Apr 2019 21:35:40 GMT\"0x8D6BA0EA65AC2B0\"5120share155450018809207165155450018826600270Fri, 05 Apr 2019 21:36:28 GMT\"0x8D6BA0EC30B1548\"5120share155450023420002019Fri, 05 Apr 2019 21:37:14 GMT\"0x8D6BA0EDE57C125\"5120share155450023554205992155450023557009386Fri, 05 Apr 2019 21:37:15 GMT\"0x8D6BA0EDF288B66\"5120share155450024411803045Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4426ACD\"5120share155450024474309872155450024478308841Fri, 05 Apr 2019 21:37:24 GMT\"0x8D6BA0EE4A7516D\"5120share155450026152800097155450026154404952Fri, 05 Apr 2019 21:37:41 GMT\"0x8D6BA0EEEA43674\"5120share155450026844501446155450026846506463Fri, 05 Apr 2019 21:37:48 GMT\"0x8D6BA0EF2C4D0B4\"5120share155450027013702613Fri, 05 Apr 2019 21:37:50 GMT\"0x8D6BA0EF3D660E5\"5120share155450098713403512Fri, 05 Apr 2019 21:49:47 GMT\"0x8D6BA109F1FAEA3\"5120share155450098795005725155450098819302382Fri, 05 Apr 2019 21:49:48 GMT\"0x8D6BA109FC138FA\"5120share155450100624106896155450100625400488Fri, 05 Apr 2019 21:50:06 GMT\"0x8D6BA10AA84F02B\"5120share155450104772209911Fri, 05 Apr 2019 21:50:47 GMT\"0x8D6BA10C3526810\"5120share155450105123004228155450105156707366Fri, 05 Apr 2019 21:50:51 GMT\"0x8D6BA10C59D285F\"5120share155450111920803672155450111937209538Fri, 05 Apr 2019 21:51:59 GMT\"0x8D6BA10EE071888\"5120share155450126920005396Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA11474297C1\"5120share155450126969701975155450126972908925Fri, 05 Apr 2019 21:54:29 GMT\"0x8D6BA1147934239\"5120share155450128467906744155450128469304502Fri, 05 Apr 2019 21:54:44 GMT\"0x8D6BA11507E4772\"5120share155450132669601793Fri, 05 Apr 2019 21:55:26 GMT\"0x8D6BA11698EF3CD\"5120share155450132813801025155450132829305884Fri, 05 Apr 2019 21:55:28 GMT\"0x8D6BA116A81B4B3\"5120share155450135791403668155450135799105427Fri, 05 Apr 2019 21:55:58 GMT\"0x8D6BA117C34CAD7\"5120share155450140200109814Fri, 05 Apr 2019 21:56:42 GMT\"0x8D6BA119683B6C7\"5120share155450140979600425155450141000009152Fri, 05 Apr 2019 21:56:50 GMT\"0x8D6BA119B353702\"5120share155450144708505456155450144717604490Fri, 05 Apr 2019 21:57:27 GMT\"0x8D6BA11B15D8FA1\"5120share155450155445805771Fri, 05 Apr 2019 21:59:14 GMT\"0x8D6BA11F14FA8C1\"5120share155450155746908588155450155762100757Fri, 05 Apr 2019 21:59:17 GMT\"0x8D6BA11F332B6AE\"5120share155450159236608444155450159244109845Fri, 05 Apr 2019 21:59:52 GMT\"0x8D6BA1207F35686\"5120share155450180090503097Fri, 05 Apr 2019 22:03:20 GMT\"0x8D6BA12842B549F\"5120share155450180155809344155450180158500047Fri, 05 Apr 2019 22:03:21 GMT\"0x8D6BA1284932271\"5120share155450181491907566155450181493202339Fri, 05 Apr 2019 22:03:34 GMT\"0x8D6BA128C8781AB\"5120share155450186007105856Fri, 05 Apr 2019 22:04:20 GMT\"0x8D6BA12A77939C1\"5120share155450186139508623155450186155309962Fri, 05 Apr 2019 22:04:21 GMT\"0x8D6BA12A85AA383\"5120share155450189649605877155450189657701803Fri, 05 Apr 2019 22:04:56 GMT\"0x8D6BA12BD3AFF63\"5120share155450194282600135Fri, 05 Apr 2019 22:05:42 GMT\"0x8D6BA12D8C2E1B6\"5120share155450195089000955155450195091608811Fri, 05 Apr 2019 22:05:50 GMT\"0x8D6BA12DD953B1C\"5120share155450196679601624155450196680606667Fri, 05 Apr 2019 22:06:06 GMT\"0x8D6BA12E70E0F9F\"5120share155450199206704489Fri, 05 Apr 2019 22:06:32 GMT\"0x8D6BA12F630E2CD\"5120share155450199500007291155450201143605621Fri, 05 Apr 2019 22:06:51 GMT\"0x8D6BA1301BC47AF\"5120share155450206036607407155450206052800826Fri, 05 Apr 2019 22:07:40 GMT\"0x8D6BA131EFE8131\"5120share155450219976309042Fri, 05 Apr 2019 22:09:59 GMT\"0x8D6BA1371F17A2C\"5120share155450220201305360155450220217304372Fri, 05 Apr 2019 22:10:02 GMT\"0x8D6BA13736168E3\"5120share155450220597709116Fri, 05 Apr 2019 22:10:05 GMT\"0x8D6BA13759CF9CA\"5120share155450220632007478155450220635204656Fri, 05 Apr 2019 22:10:06 GMT\"0x8D6BA1375D62EE2\"5120share155450222111000558155450222112507755Fri, 05 Apr 2019 22:10:21 GMT\"0x8D6BA137EA4808F\"5120share155450223061502730155450223068509469Fri, 05 Apr 2019 22:10:30 GMT\"0x8D6BA13845FAD24\"5120share155450232306601840Fri, 05 Apr 2019 22:12:03 GMT\"0x8D6BA13BB66BE04\"5120share155450232646008568155450232648907776Fri, 05 Apr 2019 22:12:06 GMT\"0x8D6BA13BD711C53\"5120share155450234251903854155450234253907944Fri, 05 Apr 2019 22:12:22 GMT\"0x8D6BA13C70245E0\"5120share155450235982000963Fri, 05 Apr 2019 22:12:39 GMT\"0x8D6BA13D1508F64\"5120share155450236052009517155450236056501193Fri, 05 Apr 2019 22:12:40 GMT\"0x8D6BA13D1C73D27\"5120share155450237944605145155450237947204493Fri, 05 Apr 2019 22:12:59 GMT\"0x8D6BA13DD070EC8\"5120share155450243317208497Fri, 05 Apr 2019 22:13:53 GMT\"0x8D6BA13FD502B84\"5120share155450243543800739155450243563307575Fri, 05 Apr 2019 22:13:55 GMT\"0x8D6BA13FE87318F\"5120share155450247858409868155450247868503121Fri, 05 Apr 2019 22:14:38 GMT\"0x8D6BA14182FE497\"5120share155450252568703791Fri, 05 Apr 2019 22:15:25 GMT\"0x8D6BA14342D96B5\"5120share155450252608008026155450252615504107Fri, 05 Apr 2019 22:15:26 GMT\"0x8D6BA143475549D\"5120share155450255144300111155450255146607728Fri, 05 Apr 2019 22:15:51 GMT\"0x8D6BA14438C0714\"5120share155450256410002156Fri, 05 Apr 2019 22:16:04 GMT\"0x8D6BA144B93A845\"5120share155450256664806570155450256683505659Fri, 05 Apr 2019 22:16:06 GMT\"0x8D6BA144CBA4AA3\"5120share155450260538802684155450260548106160Fri, 05 Apr 2019 22:16:45 GMT\"0x8D6BA1463C321E8\"5120share155450262421807558Fri, 05 Apr 2019 22:17:04 GMT\"0x8D6BA146EF12A18\"5120share155450262609800727155450262624802323Fri, 05 Apr 2019 22:17:06 GMT\"0x8D6BA14702740EF\"5120share155450265459101575155450265466908285Fri, 05 Apr 2019 22:17:34 GMT\"0x8D6BA14811678F6\"5120share155450291724204101Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151D92961C\"5120share155450291786801152155450291791509886Fri, 05 Apr 2019 22:21:57 GMT\"0x8D6BA151DF9B21D\"5120share155450294264200641155450294267300716Fri, 05 Apr 2019 22:22:22 GMT\"0x8D6BA152CBFB921\"5120share155450297591105990Fri, 05 Apr 2019 22:22:55 GMT\"0x8D6BA154089226D\"5120share155450297691404792155450298009709737Fri, 05 Apr 2019 22:23:00 GMT\"0x8D6BA1543093B42\"5120share155450299822209088155450299823801256Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154DD8BE67\"5120share155450299850301516Fri, 05 Apr 2019 22:23:18 GMT\"0x8D6BA154E0093C0\"5120share155450323607005122Fri, 05 Apr 2019 22:27:16 GMT\"0x8D6BA15DBB935B6\"5120share155450324394200105155450324411702106Fri, 05 Apr 2019 22:27:24 GMT\"0x8D6BA15E06C88BA\"5120share155450327468600876155450327477006102Fri, 05 Apr 2019 22:27:54 GMT\"0x8D6BA15F2B17D62\"5120share155450327962109277Fri, 05 Apr 2019 22:27:59 GMT\"0x8D6BA15F591850B\"5120share155450328004306783155450328010501022Fri, 05 Apr 2019 22:28:00 GMT\"0x8D6BA15F5DA9895\"5120share155450328527004557Fri, 05 Apr 2019 22:28:05 GMT\"0x8D6BA15F900F654\"5120share155450328798308238155450328830607965Fri, 05 Apr 2019 22:28:08 GMT\"0x8D6BA15FACF51C1\"5120share155450330666305766155450330667907543Fri, 05 Apr 2019 22:28:26 GMT\"0x8D6BA1605B1104A\"5120share155450330701904810Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1605E62237\"5120share155450330736308091155450330741007484Fri, 05 Apr 2019 22:28:27 GMT\"0x8D6BA1606202508\"5120share155450333528301673155450333529906356Fri, 05 Apr 2019 22:28:55 GMT\"0x8D6BA1616BFD401\"5120share155450333946600308155450333962608415Fri, 05 Apr 2019 22:28:59 GMT\"0x8D6BA161966152A\"5120share155450334885500645Fri, 05 Apr 2019 22:29:09 GMT\"0x8D6BA161EE70228\"5120share155450338395504678Fri, 05 Apr 2019 22:29:43 GMT\"0x8D6BA1633BE44FF\"5120share155450338426107979155450338428803666Fri, 05 Apr 2019 22:29:44 GMT\"0x8D6BA1633F11BE0\"5120share155450340161103627155450340162402163Fri, 05 Apr 2019 22:30:01 GMT\"0x8D6BA163E464D75\"5120share155450340409906407Fri, 05 Apr 2019 22:30:04 GMT\"0x8D6BA163FCE736E\"5120share155450340500808852155450340509400929Fri, 05 Apr 2019 22:30:05 GMT\"0x8D6BA16405A6FD7\"5120share155450342745506448155450342749401765Fri, 05 Apr 2019 22:30:27 GMT\"0x8D6BA164DB462BB\"5120share155450343328809346Fri, 05 Apr 2019 22:30:33 GMT\"0x8D6BA16512F2A33\"5120share155450343458400365155450343479806929Fri, 05 Apr 2019 22:30:34 GMT\"0x8D6BA165213D613\"5120share155450347314804212155450347322803647Fri, 05 Apr 2019 22:31:13 GMT\"0x8D6BA1668FC3C29\"5120share155450347423202007Fri, 05 Apr 2019 22:31:14 GMT\"0x8D6BA1669960501\"5120share155450348727102424Fri, 05 Apr 2019 22:31:27 GMT\"0x8D6BA16715BDB44\"5120share155450348869606134155450348885300828Fri, 05 Apr 2019 22:31:28 GMT\"0x8D6BA16724D7E5B\"5120share155450352004300543155450352016602032Fri, 05 Apr 2019 22:32:00 GMT\"0x8D6BA1684F78DB2\"5120share155450359307104606Fri, 05 Apr 2019 22:33:13 GMT\"0x8D6BA16B083EDD4\"5120share155450359418905974155450359428200487Fri, 05 Apr 2019 22:33:14 GMT\"0x8D6BA16B11FBCAD\"5120share155450361494402784155450361498805984Fri, 05 Apr 2019 22:33:35 GMT\"0x8D6BA16BD772803\"5120share155450366632503090Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC0E65F3\"5120share155450366664904930155450366667902768Fri, 05 Apr 2019 22:34:26 GMT\"0x8D6BA16DC44713D\"5120share155450368886501484155450368888102090Fri, 05 Apr 2019 22:34:48 GMT\"0x8D6BA16E9809F79\"5120share155450371988700286Fri, 05 Apr 2019 22:35:19 GMT\"0x8D6BA16FBFCD6F0\"5120share155450372038902619155450372043606143Fri, 05 Apr 2019 22:35:20 GMT\"0x8D6BA16FC4F6C23\"5120share155450373756402371Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA17068A2D67\"5120share155450373784606946155450373786208940Fri, 05 Apr 2019 22:35:37 GMT\"0x8D6BA1706B2AFB9\"5120share155450373882702323155450373897204908Fri, 05 Apr 2019 22:35:39 GMT\"0x8D6BA170761DA0F\"5120share155450377319401477155450377328608675Fri, 05 Apr 2019 22:36:13 GMT\"0x8D6BA171BD5442B\"5120share155450380543301117Fri, 05 Apr 2019 22:36:45 GMT\"0x8D6BA172EF6D32A\"5120share155450381203303146155450381206607839Fri, 05 Apr 2019 22:36:52 GMT\"0x8D6BA1732EB1201\"5120share155450382820207817Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173C8B8687\"5120share155450382859306908155450382865503795Fri, 05 Apr 2019 22:37:08 GMT\"0x8D6BA173CCF5E34\"5120share155450383751906388155450383753309735Fri, 05 Apr 2019 22:37:17 GMT\"0x8D6BA1742195560\"5120share155450388094604484155450388096207678Fri, 05 Apr 2019 22:38:00 GMT\"0x8D6BA175BFEA36E\"5120share155450388146309288Fri, 05 Apr 2019 22:38:01 GMT\"0x8D6BA175C49C9D4\"5120share155450388966903186Fri, 05 Apr 2019 22:38:09 GMT\"0x8D6BA1761356323\"5120share155450389307503518155450389323404538Fri, 05 Apr 2019 22:38:13 GMT\"0x8D6BA1763551622\"5120share155450392730003095155450392737709902Fri, 05 Apr 2019 22:38:47 GMT\"0x8D6BA1777AF23EE\"5120share155450393102803449Fri, 05 Apr 2019 22:38:51 GMT\"0x8D6BA1779DAA4DC\"5120share155450393283705485155450393298705884Fri, 05 Apr 2019 22:38:53 GMT\"0x8D6BA177B059A34\"5120share155450396658903715155450396666002048Fri, 05 Apr 2019 22:39:26 GMT\"0x8D6BA178F178169\"5120share155450396756806154Fri, 05 Apr 2019 22:39:27 GMT\"0x8D6BA178FA26048\"5120share155450406886408649Fri, 05 Apr 2019 22:41:09 GMT\"0x8D6BA17CC1A3DFC\"5120share155450407117103774155450407137004037Fri, 05 Apr 2019 22:41:11 GMT\"0x8D6BA17CD80D016\"5120share155450410470804055155450410479801441Fri, 05 Apr 2019 22:41:44 GMT\"0x8D6BA17E16D32C5\"5120share155450415494202178Fri, 05 Apr 2019 22:42:37 GMT\"0x8D6BA1800D298E1\"5120share155450415924909263155450415946504098Fri, 05 Apr 2019 22:42:39 GMT\"0x8D6BA1802030A7D\"5120share155450419250702459155450419259701169Fri, 05 Apr 2019 22:43:12 GMT\"0x8D6BA1815C23F76\"5120share155450421697207185Fri, 05 Apr 2019 22:43:37 GMT\"0x8D6BA18245F95C8\"5120share155450421871302863155450421892300644Fri, 05 Apr 2019 22:43:38 GMT\"0x8D6BA182573A9E1\"5120share155450424704408868155450424714109223Fri, 05 Apr 2019 22:44:07 GMT\"0x8D6BA1836457FFD\"5120share155450429079705396Fri, 05 Apr 2019 22:44:50 GMT\"0x8D6BA185057FA7C\"5120share155450429375002929155450429411309966Fri, 05 Apr 2019 22:44:54 GMT\"0x8D6BA18525118BC\"5120share155450430952405481Fri, 05 Apr 2019 22:45:09 GMT\"0x8D6BA185B6CDFF0\"5120share155450430999405267155450431003903942Fri, 05 Apr 2019 22:45:10 GMT\"0x8D6BA185BBBE17C\"5120share155450433115607232155450433117208588Fri, 05 Apr 2019 22:45:31 GMT\"0x8D6BA1868546B89\"5120share155450434416304067155450434445204870Fri, 05 Apr 2019 22:45:44 GMT\"0x8D6BA187051F471\"5120share155450435498004763Fri, 05 Apr 2019 22:45:55 GMT\"0x8D6BA18769867C6\"5120share155450436645400783Fri, 05 Apr 2019 22:46:06 GMT\"0x8D6BA187D646C1B\"5120share155450436865205758155450436887108207Fri, 05 Apr 2019 22:46:08 GMT\"0x8D6BA187ED4DADD\"5120share155450438771003527Fri, 05 Apr 2019 22:46:27 GMT\"0x8D6BA188A1B6C6D\"5120share155450439065608204155450439101805644Fri, 05 Apr 2019 22:46:31 GMT\"0x8D6BA188C131493\"5120share155450441324900411155450441332202608Fri, 05 Apr 2019 22:46:53 GMT\"0x8D6BA189952D510\"5120share155450441426905196Fri, 05 Apr 2019 22:46:54 GMT\"0x8D6BA1899E44097\"5120share155450444831103515155450444849000200Fri, 05 Apr 2019 22:47:28 GMT\"0x8D6BA18AE539A63\"5120share155450445061400014Fri, 05 Apr 2019 22:47:30 GMT\"0x8D6BA18AF9800AC\"5120share155450448315806594Fri, 05 Apr 2019 22:48:03 GMT\"0x8D6BA18C2FF521B\"5120share155450448580004490155450448612109539Fri, 05 Apr 2019 22:48:06 GMT\"0x8D6BA18C4C36EFE\"5120share155450454454601940155450454471501740Fri, 05 Apr 2019 22:49:04 GMT\"0x8D6BA18E7B0CEFE\"5120share155450468370707802Fri, 05 Apr 2019 22:51:23 GMT\"0x8D6BA193A7DF5E2\"5120share155450468513108403155450468528409235Fri, 05 Apr 2019 22:51:25 GMT\"0x8D6BA193B6DD150\"5120share155450468968600032Fri, 05 Apr 2019 22:51:29 GMT\"0x8D6BA193E054481\"5120share155450468996404174155450468999406109Fri, 05 Apr 2019 22:51:30 GMT\"0x8D6BA193E345228\"5120share155450470368902411155450470370306610Fri, 05 Apr 2019 22:51:43 GMT\"0x8D6BA1946600ECD\"5120share155450471161309782Fri, 05 Apr 2019 22:51:51 GMT\"0x8D6BA194B1B90BF\"5120share155450471206601320155450471210308269Fri, 05 Apr 2019 22:51:52 GMT\"0x8D6BA194B67DCD5\"5120share155450471319907271155450471328002279Fri, 05 Apr 2019 22:51:53 GMT\"0x8D6BA194C1DCB30\"5120share155450472979505876155450472987303613Fri, 05 Apr 2019 22:52:09 GMT\"0x8D6BA1955FDC5A1\"5120share155450483407003850Fri, 05 Apr 2019 22:53:54 GMT\"0x8D6BA1994190850\"5120share155450483493604854155450483498301728Fri, 05 Apr 2019 22:53:55 GMT\"0x8D6BA1994A2584F\"5120share155450485496309420155450485497908228Fri, 05 Apr 2019 22:54:15 GMT\"0x8D6BA19A08CEFA6\"5120share155450531813009681Fri, 05 Apr 2019 23:01:58 GMT\"0x8D6BA1AB4AE63BA\"5120share155450532142509509155450532177704006Fri, 05 Apr 2019 23:02:01 GMT\"0x8D6BA1AB6DB1550\"5120share155450535239502974Fri, 05 Apr 2019 23:02:32 GMT\"0x8D6BA1AC9188CCD\"5120share155450535522306736155450535561706197Fri, 05 Apr 2019 23:02:35 GMT\"0x8D6BA1ACB055EAD\"5120share155450537130000843155450537147405079Fri, 05 Apr 2019 23:02:51 GMT\"0x8D6BA1AD479360B\"5120share155450540354000832155450540371804145Fri, 05 Apr 2019 23:03:23 GMT\"0x8D6BA1AE7B08608\"5120share155450541861309114Fri, 05 Apr 2019 23:03:38 GMT\"0x8D6BA1AF085E6F9\"5120share155450542032409907155450542048305915Fri, 05 Apr 2019 23:03:40 GMT\"0x8D6BA1AF1A3EC5E\"5120share155450544958400261155450544966109321Fri, 05 Apr 2019 23:04:09 GMT\"0x8D6BA1B03081BB5\"5120share155450546241607518Fri, 05 Apr 2019 23:04:22 GMT\"0x8D6BA1B0A9DC15F\"5120share155450546294707340155450546301008309Fri, 05 Apr 2019 23:04:23 GMT\"0x8D6BA1B0AF88600\"5120share155450548125804491155450548129002795Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B15DC8687\"5120share155450548156602986Fri, 05 Apr 2019 23:04:41 GMT\"0x8D6BA1B16091161\"5120share155450550691105209Fri, 05 Apr 2019 23:05:06 GMT\"0x8D6BA1B2522F1B9\"5120share155450550746601325155450550749806532Fri, 05 Apr 2019 23:05:07 GMT\"0x8D6BA1B257C602A\"5120share155450552187904423155450552189501701Fri, 05 Apr 2019 23:05:21 GMT\"0x8D6BA1B2E1117B3\"5120share155450553054005585Fri, 05 Apr 2019 23:05:30 GMT\"0x8D6BA1B33387AAC\"5120share155450553096308284155450553101001243Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B337F7F2A\"5120share155450553153104170Fri, 05 Apr 2019 23:05:31 GMT\"0x8D6BA1B33CF13E1\"5120share155450553201701300155450553206403152Fri, 05 Apr 2019 23:05:32 GMT\"0x8D6BA1B3420278C\"5120share155450554660908559155450554662508047Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CCF605F\"5120share155450554689206246Fri, 05 Apr 2019 23:05:46 GMT\"0x8D6BA1B3CF731D6\"5120share155450555546908179155450555548509764Fri, 05 Apr 2019 23:05:55 GMT\"0x8D6BA1B4215A249\"5120share155450573320000528Fri, 05 Apr 2019 23:08:53 GMT\"0x8D6BA1BAC1B3E84\"5120share155450573517904163155450573540702174Fri, 05 Apr 2019 23:08:55 GMT\"0x8D6BA1BAD5837E3\"5120share155450574422501861Fri, 05 Apr 2019 23:09:04 GMT\"0x8D6BA1BB29B08A8\"5120share155450574551807106155450574579200577Fri, 05 Apr 2019 23:09:05 GMT\"0x8D6BA1BB38A33C5\"5120share155450576411808959155450576420803271Fri, 05 Apr 2019 23:09:24 GMT\"0x8D6BA1BBE830AEE\"5120share155450577244800226155450577267406672Fri, 05 Apr 2019 23:09:32 GMT\"0x8D6BA1BC38F8F1B\"5120share155450584788106323Fri, 05 Apr 2019 23:10:47 GMT\"0x8D6BA1BF06A7821\"5120share155450584927904712Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF13485AC\"5120share155450584968506275155450584973203495Fri, 05 Apr 2019 23:10:49 GMT\"0x8D6BA1BF17789D4\"5120share155450585107609261155450585142406722Fri, 05 Apr 2019 23:10:51 GMT\"0x8D6BA1BF2872067\"5120share155450586868608098155450586870102350Fri, 05 Apr 2019 23:11:08 GMT\"0x8D6BA1BFCC76F83\"5120share155450590008503577155450590025804885Fri, 05 Apr 2019 23:11:40 GMT\"0x8D6BA1C0FA2514F\"5120share155450590233408942Fri, 05 Apr 2019 23:11:42 GMT\"0x8D6BA1C10E023E9\"5120share155450592143404526Fri, 05 Apr 2019 23:12:01 GMT\"0x8D6BA1C1C474325\"5120share155450592653301961155450592689000603Fri, 05 Apr 2019 23:12:07 GMT\"0x8D6BA1C1F874AB1\"5120share155450596593906098Fri, 05 Apr 2019 23:12:45 GMT\"0x8D6BA1C36BDB316\"5120share155450596641000428155450596645600479Fri, 05 Apr 2019 23:12:46 GMT\"0x8D6BA1C370ADF0D\"5120share155450597916002270155450597933309927Fri, 05 Apr 2019 23:12:59 GMT\"0x8D6BA1C3EC8E461\"5120share155450598201705354155450598203300977Fri, 05 Apr 2019 23:13:02 GMT\"0x8D6BA1C405400BD\"5120share155450600493602122Fri, 05 Apr 2019 23:13:24 GMT\"0x8D6BA1C4DFBE540\"5120share155450601150408012155450601153509563Fri, 05 Apr 2019 23:13:31 GMT\"0x8D6BA1C51EAF389\"5120share155450603035801007155450603037404965Fri, 05 Apr 2019 23:13:50 GMT\"0x8D6BA1C5D249F6C\"5120share155450628196900979Fri, 05 Apr 2019 23:18:01 GMT\"0x8D6BA1CF31A8CEA\"5120share155450628263306726155450628268108838Fri, 05 Apr 2019 23:18:02 GMT\"0x8D6BA1CF387048D\"5120share155450629398602941Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA43621D\"5120share155450629440802130155450629444007820Fri, 05 Apr 2019 23:18:14 GMT\"0x8D6BA1CFA892E2A\"5120share155450630270100063155450630271709505Fri, 05 Apr 2019 23:18:22 GMT\"0x8D6BA1CFF77D299\"5120share155450631207409960155450631209004406Fri, 05 Apr 2019 23:18:32 GMT\"0x8D6BA1D050C8A95\"5120share155450635009203001Fri, 05 Apr 2019 23:19:10 GMT\"0x8D6BA1D1BC98041\"5120share155450635300105814155450635335603109Fri, 05 Apr 2019 23:19:13 GMT\"0x8D6BA1D1DBC2427\"5120share155450635529806396Fri, 05 Apr 2019 23:19:15 GMT\"0x8D6BA1D1EE0C561\"5120share155450635823706105155450635860207094Fri, 05 Apr 2019 23:19:18 GMT\"0x8D6BA1D20D836D4\"5120share155450641996700561155450642014406446Fri, 05 Apr 2019 23:20:20 GMT\"0x8D6BA1D4588F30C\"5120share155450642246903885155450642264601424Fri, 05 Apr 2019 23:20:22 GMT\"0x8D6BA1D4705936B\"5120share155450655482504274Fri, 05 Apr 2019 23:22:34 GMT\"0x8D6BA1D95CF4049\"5120share155450655795506933155450655830708272Fri, 05 Apr 2019 23:22:38 GMT\"0x8D6BA1D97E19F08\"5120share155450661068301279155450661086207756Fri, 05 Apr 2019 23:23:31 GMT\"0x8D6BA1DB734F309\"5120share155450661302603264Fri, 05 Apr 2019 23:23:33 GMT\"0x8D6BA1DB87FB692\"5120share155450662614309712Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC040008B\"5120share155450662666300981155450662672509338Fri, 05 Apr 2019 23:23:46 GMT\"0x8D6BA1DC0988E75\"5120share155450664547508754155450664549004289Fri, 05 Apr 2019 23:24:05 GMT\"0x8D6BA1DCBC89EBD\"5120share155450678247303548Fri, 05 Apr 2019 23:26:22 GMT\"0x8D6BA1E1D7F6C7D\"5120share155450678466909596Fri, 05 Apr 2019 23:26:24 GMT\"0x8D6BA1E1ECF8D3D\"5120share155450678548802589155450678584406061Fri, 05 Apr 2019 23:26:25 GMT\"0x8D6BA1E1F8191F6\"5120share155450678828205994155450678864001364Fri, 05 Apr 2019 23:26:28 GMT\"0x8D6BA1E212D1FA1\"5120share155450683128203550155450683149106810Fri, 05 Apr 2019 23:27:11 GMT\"0x8D6BA1E3AB676EA\"5120share155450684533605050155450684551003357Fri, 05 Apr 2019 23:27:25 GMT\"0x8D6BA1E43129342\"5120share155450684763007449Fri, 05 Apr 2019 23:27:27 GMT\"0x8D6BA1E4455B8AC\"5120share155450699116508933Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E99D096C8\"5120share155450699158708384155450699161806955Fri, 05 Apr 2019 23:29:51 GMT\"0x8D6BA1E9A1778EF\"5120share155450700830807334155450700833903908Fri, 05 Apr 2019 23:30:08 GMT\"0x8D6BA1EA40DEC90\"5120share155450701100108648Fri, 05 Apr 2019 23:30:11 GMT\"0x8D6BA1EA5B61863\"5120share155450701385501557155450701420104340Fri, 05 Apr 2019 23:30:14 GMT\"0x8D6BA1EA79D9AE9\"5120share155450706323900994155450706341604230Fri, 05 Apr 2019 23:31:03 GMT\"0x8D6BA1EC4F33223\"5120share155450706962505626Fri, 05 Apr 2019 23:31:09 GMT\"0x8D6BA1EC8A805D2\"5120share155450714083700706Fri, 05 Apr 2019 23:32:20 GMT\"0x8D6BA1EF318A859\"5120share155450714464606306155450714499503777Fri, 05 Apr 2019 23:32:25 GMT\"0x8D6BA1EF592DF56\"5120share155450719315807925155450719333400088Fri, 05 Apr 2019 23:33:13 GMT\"0x8D6BA1F1263018A\"5120share155450720071105598Fri, 05 Apr 2019 23:33:20 GMT\"0x8D6BA1F16B4C180\"5120share155450720108704556155450720111104202Fri, 05 Apr 2019 23:33:21 GMT\"0x8D6BA1F16F1C9A7\"5120share155450721500304986155450721501401015Fri, 05 Apr 2019 23:33:35 GMT\"0x8D6BA1F1F3B0AC4\"5120share155450723565205687Fri, 05 Apr 2019 23:33:55 GMT\"0x8D6BA1F2B915C1A\"5120share155450723699404950155450723715203892Fri, 05 Apr 2019 23:33:57 GMT\"0x8D6BA1F2C75D972\"5120share155450725970402513Fri, 05 Apr 2019 23:34:19 GMT\"0x8D6BA1F39F24B22\"5120share155450726283508715155450726290803053Fri, 05 Apr 2019 23:34:22 GMT\"0x8D6BA1F3BCFD9DC\"5120share155450726513503694155450726563200936Fri, 05 Apr 2019 23:34:25 GMT\"0x8D6BA1F3D7AC203\"5120share155450727207609930Fri, 05 Apr 2019 23:34:32 GMT\"0x8D6BA1F41534271\"5120share155450727922609714155450727958205410Fri, 05 Apr 2019 23:34:39 GMT\"0x8D6BA1F45CC16E6\"5120share155450733725309323155450733743205575Fri, 05 Apr 2019 23:35:37 GMT\"0x8D6BA1F6846EA8D\"5120share155450734617001592155450734634609388Fri, 05 Apr 2019 23:35:46 GMT\"0x8D6BA1F6D9695C7\"5120share155450734842906139Fri, 05 Apr 2019 23:35:48 GMT\"0x8D6BA1F6ED3E9EB\"5120share155450742258608562Fri, 05 Apr 2019 23:37:02 GMT\"0x8D6BA1F9B09A541\"5120share155450742569208984155450742607303636Fri, 05 Apr 2019 23:37:06 GMT\"0x8D6BA1F9D1D3464\"5120share155450744472700868Fri, 05 Apr 2019 23:37:24 GMT\"0x8D6BA1FA82F5670\"5120share155450744593006925155450744607706074Fri, 05 Apr 2019 23:37:26 GMT\"0x8D6BA1FA8FC7868\"5120share155450747510800614155450747527906197Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA713357\"5120share155450747548302917Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBA7F4359\"5120share155450747575808787155450747579202058Fri, 05 Apr 2019 23:37:55 GMT\"0x8D6BA1FBAAE83B9\"5120share155450747736603095Fri, 05 Apr 2019 23:37:57 GMT\"0x8D6BA1FBBAF6736\"5120share155450748251605008155450748258604151Fri, 05 Apr 2019 23:38:02 GMT\"0x8D6BA1FBEBF5C9B\"5120share155450749504400705155450749505903928Fri, 05 Apr 2019 23:38:15 GMT\"0x8D6BA1FC62A2BA2\"5120share155450760451008357Fri, 05 Apr 2019 23:40:04 GMT\"0x8D6BA2007A48FAD\"5120share155450760659201465155450760677709688Fri, 05 Apr 2019 23:40:06 GMT\"0x8D6BA2008C3F78F\"5120share155450763616301901155450763625402397Fri, 05 Apr 2019 23:40:36 GMT\"0x8D6BA201A5587BA\"5120share155450767398804735Fri, 05 Apr 2019 23:41:14 GMT\"0x8D6BA2030E0F998\"5120share155450767687501371155450767723001004Fri, 05 Apr 2019 23:41:17 GMT\"0x8D6BA2032CF2C21\"5120share155450768181709200Fri, 05 Apr 2019 23:41:21 GMT\"0x8D6BA203578C02D\"5120share155450768212709613155450768216705364Fri, 05 Apr 2019 23:41:22 GMT\"0x8D6BA2035AE5139\"5120share155450769705407367155450769707502753Fri, 05 Apr 2019 23:41:37 GMT\"0x8D6BA203E92115E\"5120share155450772138102188155450772155202852Fri, 05 Apr 2019 23:42:01 GMT\"0x8D6BA204D39B2D4\"5120share155450801204005122Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FA4F43AE\"5120share155450801255709661155450801263508848Fri, 05 Apr 2019 23:46:52 GMT\"0x8D6BA20FAA8983A\"5120share155450802691409764Fri, 05 Apr 2019 23:47:07 GMT\"0x8D6BA21033DB1FF\"5120share155450802978608176155450803012905948Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA2105282DF6\"5120share155450803003906718155450803005501595Fri, 05 Apr 2019 23:47:10 GMT\"0x8D6BA21050CE429\"5120share155450809390401175155450809407503147Fri, 05 Apr 2019 23:48:14 GMT\"0x8D6BA212B44E111\"5120share155450809631304992Fri, 05 Apr 2019 23:48:16 GMT\"0x8D6BA212C9A8C70\"5120share155450835062406317Fri, 05 Apr 2019 23:52:30 GMT\"0x8D6BA21C41F92FF\"5120share155450835114801235155450835119504382Fri, 05 Apr 2019 23:52:31 GMT\"0x8D6BA21C4752A4A\"5120share155450837123609062155450837126705425Fri, 05 Apr 2019 23:52:51 GMT\"0x8D6BA21D07164A3\"5120share155450840245807900Fri, 05 Apr 2019 23:53:22 GMT\"0x8D6BA21E317E558\"5120share155450840337301064155450840345909388Fri, 05 Apr 2019 23:53:23 GMT\"0x8D6BA21E39CD3E2\"5120share155450840768303182Fri, 05 Apr 2019 23:53:27 GMT\"0x8D6BA21E62882AB\"5120share155450841052005025155450841059707716Fri, 05 Apr 2019 23:53:30 GMT\"0x8D6BA21E7DD6900\"5120share155450841851004197Fri, 05 Apr 2019 23:53:38 GMT\"0x8D6BA21ECC11C45\"5120share155450842103808621155450842121207447Fri, 05 Apr 2019 23:53:41 GMT\"0x8D6BA21EE368AE8\"5120share155450842920007413155450842923904127Fri, 05 Apr 2019 23:53:49 GMT\"0x8D6BA21F2FA9CC4\"5120share155450843104607551155450843108509471Fri, 05 Apr 2019 23:53:51 GMT\"0x8D6BA21F413AFEC\"5120share155450844155207718Fri, 05 Apr 2019 23:54:01 GMT\"0x8D6BA21FA5815A9\"5120share155450844282908330155450844331103212Fri, 05 Apr 2019 23:54:03 GMT\"0x8D6BA21FB639CB6\"5120share155450844875104105155450844883200097Fri, 05 Apr 2019 23:54:08 GMT\"0x8D6BA21FEACF9CB\"5120share155450845060900434Fri, 05 Apr 2019 23:54:10 GMT\"0x8D6BA21FFBCFD3F\"5120share155450845196808630155450845212609494Fri, 05 Apr 2019 23:54:12 GMT\"0x8D6BA2200A3BDAF\"5120share155450846016604225Fri, 05 Apr 2019 23:54:20 GMT\"0x8D6BA22057F80F4\"5120share155450846187100703155450846204104941Fri, 05 Apr 2019 23:54:22 GMT\"0x8D6BA22068C649F\"5120share155450846856009396Fri, 05 Apr 2019 23:54:28 GMT\"0x8D6BA220A7BBF54\"5120share155450846936604658155450846944104091Fri, 05 Apr 2019 23:54:29 GMT\"0x8D6BA220AF68482\"5120share155450847116604019155450847149003909Fri, 05 Apr 2019 23:54:31 GMT\"0x8D6BA220C39EFB8\"5120share155450847641908239155450847649506792Fri, 05 Apr 2019 23:54:36 GMT\"0x8D6BA220F2B0EA4\"5120share155450849046701837155450849055008593Fri, 05 Apr 2019 23:54:50 GMT\"0x8D6BA22178AC280\"5120share155450850415909079Fri, 05 Apr 2019 23:55:04 GMT\"0x8D6BA221FB3AAB9\"5120share155450851125605816155450851158907529Fri, 05 Apr 2019 23:55:11 GMT\"0x8D6BA22242151E0\"5120share155450851537705193155450851553601973Fri, 05 Apr 2019 23:55:15 GMT\"0x8D6BA22267C4CE5\"5120share155450856236209066155450856252401476Fri, 05 Apr 2019 23:56:02 GMT\"0x8D6BA22427D2E00\"5120share155450862834406147Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269A65E65\"5120share155450862883803086155450862886608104Fri, 05 Apr 2019 23:57:08 GMT\"0x8D6BA2269F5A23B\"5120share155450864251402420155450864252701754Fri, 05 Apr 2019 23:57:22 GMT\"0x8D6BA22721A880A\"5120share155450864903202606Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA2275FA1279\"5120share155450864954709486155450864958906033Fri, 05 Apr 2019 23:57:29 GMT\"0x8D6BA22764EE2F0\"5120share155450866038209758Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CBDD706\"5120share155450866063104429155450866065900649Fri, 05 Apr 2019 23:57:40 GMT\"0x8D6BA227CE83100\"5120share155450866548101600Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA227FC7B940\"5120share155450866584902851155450866589506222Fri, 05 Apr 2019 23:57:45 GMT\"0x8D6BA2280078687\"5120share155450866820907466155450866822802518Fri, 05 Apr 2019 23:57:48 GMT\"0x8D6BA22816B2857\"5120share155450867294701404155450867296303231Fri, 05 Apr 2019 23:57:52 GMT\"0x8D6BA22843DBAEB\"5120share155450868069300530155450868071108529Fri, 05 Apr 2019 23:58:00 GMT\"0x8D6BA2288DC0D3B\"5120share155450868782705751Fri, 05 Apr 2019 23:58:07 GMT\"0x8D6BA228D180092\"5120share155450868808904026155450868812002523Fri, 05 Apr 2019 23:58:08 GMT\"0x8D6BA228D44C727\"5120share155450871227906499155450871229407636Fri, 05 Apr 2019 23:58:32 GMT\"0x8D6BA229BAD64DF\"5120share155450871361608008Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229C791D3B\"5120share155450871385801053155450871389501438Fri, 05 Apr 2019 23:58:33 GMT\"0x8D6BA229CA39DFC\"5120share155450873724609408Fri, 05 Apr 2019 23:58:57 GMT\"0x8D6BA22AA95EBE5\"5120share155450873839703983155450873841108209Fri, 05 Apr 2019 23:58:58 GMT\"0x8D6BA22AB408136\"5120share155450874069500459155450874084406201Fri, 05 Apr 2019 23:59:00 GMT\"0x8D6BA22ACBA5BA0\"5120share155450876383501957Fri, 05 Apr 2019 23:59:23 GMT\"0x8D6BA22BA6B0364\"5120share155450876420103676155450876424202873Fri, 05 Apr 2019 23:59:24 GMT\"0x8D6BA22BAA94C79\"5120share155450876624500743155450876631905818Fri, 05 Apr 2019 23:59:26 GMT\"0x8D6BA22BBEA05FA\"5120share155450877756001573155450877757609108Fri, 05 Apr 2019 23:59:37 GMT\"0x8D6BA22C29CC4C5\"5120share155450882020705387Sat, 06 Apr 2019 00:00:20 GMT\"0x8D6BA22DC1C7B9C\"5120share155450882137802100Sat, 06 Apr 2019 00:00:21 GMT\"0x8D6BA22DCD2061E\"5120share155450882195307893155450882213805256Sat, 06 Apr 2019 00:00:22 GMT\"0x8D6BA22DD2D9ECA\"5120share155450882311802623155450882330007566Sat, 06 Apr 2019 00:00:23 GMT\"0x8D6BA22DDDEDD23\"5120share155450882821300470Sat, 06 Apr 2019 00:00:28 GMT\"0x8D6BA22E0DF07E4\"5120share155450883001207093155450883019705028Sat, 06 Apr 2019 00:00:30 GMT\"0x8D6BA22E1FA959D\"5120share155450883989300008Sat, 06 Apr 2019 00:00:40 GMT\"0x8D6BA22E7D7D05F\"5120share155450884162700155155450884180600899Sat, 06 Apr 2019 00:00:41 GMT\"0x8D6BA22E8E8FF71\"5120share155450884268207091Sat, 06 Apr 2019 00:00:42 GMT\"0x8D6BA22E96E6A00\"5120share155450884356404649Sat, 06 Apr 2019 00:00:43 GMT\"0x8D6BA22E9F4B2C9\"5120share155450884498208133155450884512500427Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE362BF\"5120share155450884499902681155450884517006830Sat, 06 Apr 2019 00:00:45 GMT\"0x8D6BA22EAE9C669\"5120share155450885006502697Sat, 06 Apr 2019 00:00:50 GMT\"0x8D6BA22EDD441D0\"5120share155450885123403166155450885138009119Sat, 06 Apr 2019 00:00:51 GMT\"0x8D6BA22EE9C855E\"5120share155450886053709029155450886062900785Sat, 06 Apr 2019 00:01:00 GMT\"0x8D6BA22F41E59AA\"5120share155450886352605826155450886361609698Sat, 06 Apr 2019 00:01:03 GMT\"0x8D6BA22F5E5BDEF\"5120share155450886885106257155450886894004615Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9152485\"5120share155450886979200994155450886987409280Sat, 06 Apr 2019 00:01:09 GMT\"0x8D6BA22F9A35201\"5120share155450887070605058155450887079709480Sat, 06 Apr 2019 00:01:10 GMT\"0x8D6BA22FA2DEE8F\"5120share155450887606108840155450887613402442Sat, 06 Apr 2019 00:01:16 GMT\"0x8D6BA22FD5FAA74\"5120share155450888143406931155450888150903424Sat, 06 Apr 2019 00:01:21 GMT\"0x8D6BA2300968F6A\"5120share155450895779305071Sat, 06 Apr 2019 00:02:37 GMT\"0x8D6BA232E0E05CE\"5120share155450895868406976155450895876908256Sat, 06 Apr 2019 00:02:38 GMT\"0x8D6BA232E9B57E4\"5120share155450898000001813Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233B47BB36\"5120share155450898063507347155450898067608520Sat, 06 Apr 2019 00:03:00 GMT\"0x8D6BA233BAA5F73\"5120share155450898125502623155450898141009080Sat, 06 Apr 2019 00:03:01 GMT\"0x8D6BA233C1EEFA4\"5120share155450900601408874155450900609504434Sat, 06 Apr 2019 00:03:26 GMT\"0x8D6BA234AD4C326\"5120share155450900703406798Sat, 06 Apr 2019 00:03:27 GMT\"0x8D6BA234B65E99F\"5120share155450900831008513155450900847507161Sat, 06 Apr 2019 00:03:28 GMT\"0x8D6BA234C410CF0\"5120share155450901777606467Sat, 06 Apr 2019 00:03:37 GMT\"0x8D6BA2351D7DB67\"5120share155450902063908068155450902099303010Sat, 06 Apr 2019 00:03:41 GMT\"0x8D6BA2353C27F44\"5120share155450905240000338155450905247805038Sat, 06 Apr 2019 00:04:12 GMT\"0x8D6BA23667B7ACC\"5120share155450905342403029Sat, 06 Apr 2019 00:04:13 GMT\"0x8D6BA23670BD557\"5120share155450905771401894Sat, 06 Apr 2019 00:04:17 GMT\"0x8D6BA2369922D87\"5120share155450905806600718155450905814001944Sat, 06 Apr 2019 00:04:18 GMT\"0x8D6BA2369D3DADF\"5120share155450907199909959155450907217402075Sat, 06 Apr 2019 00:04:32 GMT\"0x8D6BA2372444079\"5120share155450907299303524155450907301007717Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372AFED38\"5120share155450907320209730Sat, 06 Apr 2019 00:04:33 GMT\"0x8D6BA2372CDC3C2\"5120share155450907429301310Sat, 06 Apr 2019 00:04:34 GMT\"0x8D6BA237386F930\"5120share155450918499009383Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B56FB9BC\"5120share155450918538502508155450918541508822Sat, 06 Apr 2019 00:06:25 GMT\"0x8D6BA23B5B05ACA\"5120share155450918955508214Sat, 06 Apr 2019 00:06:29 GMT\"0x8D6BA23B828D8E1\"5120share155450919005601653155450919008702158Sat, 06 Apr 2019 00:06:30 GMT\"0x8D6BA23B87B8E05\"5120share155450919954305187155450919955905775Sat, 06 Apr 2019 00:06:39 GMT\"0x8D6BA23BE1F0A40\"5120share155450920152404636Sat, 06 Apr 2019 00:06:41 GMT\"0x8D6BA23BF4B17E9\"5120share155450920199201367155450920203905870Sat, 06 Apr 2019 00:06:42 GMT\"0x8D6BA23BF9A7486\"5120share155450920623205720155450920624702973Sat, 06 Apr 2019 00:06:46 GMT\"0x8D6BA23C21AC1E2\"5120share155450924082004282Sat, 06 Apr 2019 00:07:20 GMT\"0x8D6BA23D6BC0D50\"5120share155450924241004753155450924255406031Sat, 06 Apr 2019 00:07:22 GMT\"0x8D6BA23D7C6027C\"5120share155450924628704211155450924631809175Sat, 06 Apr 2019 00:07:26 GMT\"0x8D6BA23D9FEA927\"5120share155450925060607872Sat, 06 Apr 2019 00:07:30 GMT\"0x8D6BA23DC8D0299\"5120share155450927396309525155450927403505482Sat, 06 Apr 2019 00:07:54 GMT\"0x8D6BA23EA89D004\"5120share155450930131800809Sat, 06 Apr 2019 00:08:21 GMT\"0x8D6BA23FAC97B82\"5120share155450930223305549Sat, 06 Apr 2019 00:08:22 GMT\"0x8D6BA23FB6A1C88\"5120share155450930399707774155450930404407997Sat, 06 Apr 2019 00:08:24 GMT\"0x8D6BA23FC696BBF\"5120share155450930644903497155450930664407626Sat, 06 Apr 2019 00:08:26 GMT\"0x8D6BA23FDF86C39\"5120share155450932165308081155450932166908411Sat, 06 Apr 2019 00:08:41 GMT\"0x8D6BA2406EA8B70\"5120share155450932590204669Sat, 06 Apr 2019 00:08:45 GMT\"0x8D6BA24096F0B87\"5120share155450934809308249155450934819701838Sat, 06 Apr 2019 00:09:08 GMT\"0x8D6BA2416BC420A\"5120share155450936482907697Sat, 06 Apr 2019 00:09:24 GMT\"0x8D6BA2420A30B03\"5120share155450936723600352155450936728205502Sat, 06 Apr 2019 00:09:27 GMT\"0x8D6BA242219106F\"5120share155450938968201470155450938969801065Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F762161\"5120share155450938994808156Sat, 06 Apr 2019 00:09:49 GMT\"0x8D6BA242F9C244A\"5120share155450940497500812Sat, 06 Apr 2019 00:10:05 GMT\"0x8D6BA2438A0813C\"5120share155450940788404093155450940823202737Sat, 06 Apr 2019 00:10:08 GMT\"0x8D6BA243A92205E\"5120share155450946766609807155450946784508785Sat, 06 Apr 2019 00:11:07 GMT\"0x8D6BA245E19BEB2\"5120share155450948165108070Sat, 06 Apr 2019 00:11:21 GMT\"0x8D6BA246649B23E\"5120share155450948277804103Sat, 06 Apr 2019 00:11:22 GMT\"0x8D6BA2466F099EF\"5120share155450948289903394155450948305505870Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA2467204A8D\"5120share155450948326908679155450948331603975Sat, 06 Apr 2019 00:11:23 GMT\"0x8D6BA24674309DA\"5120share155450949731107750155450949732809022Sat, 06 Apr 2019 00:11:37 GMT\"0x8D6BA246F9D65C7\"5120share155450950843203078155450950850801708Sat, 06 Apr 2019 00:11:48 GMT\"0x8D6BA24764BB930\"5120share155450953189902571Sat, 06 Apr 2019 00:12:11 GMT\"0x8D6BA2484354864\"5120share155450953258300666155450953264607609Sat, 06 Apr 2019 00:12:12 GMT\"0x8D6BA2484A7702E\"5120share155450955735903361155450955739009034Sat, 06 Apr 2019 00:12:37 GMT\"0x8D6BA24936708EF\"5120share155450960711502044Sat, 06 Apr 2019 00:13:27 GMT\"0x8D6BA24B10EA364\"5120share155450960791406846155450960797603649Sat, 06 Apr 2019 00:13:28 GMT\"0x8D6BA24B1928131\"5120share155450962624205044155450962625707564Sat, 06 Apr 2019 00:13:46 GMT\"0x8D6BA24BC772178\"5120share155450967842007452Sat, 06 Apr 2019 00:14:38 GMT\"0x8D6BA24DB8C77C7\"5120share155450967919905734155450967927702876Sat, 06 Apr 2019 00:14:39 GMT\"0x8D6BA24DC0EF540\"5120share155450970297003568155450970300202266Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA32E63F\"5120share155450970326709180Sat, 06 Apr 2019 00:15:03 GMT\"0x8D6BA24EA5D2ABB\"5120share155450977967008646Sat, 06 Apr 2019 00:16:19 GMT\"0x8D6BA2517F39453\"5120share155450978396408978155450978431501712Sat, 06 Apr 2019 00:16:24 GMT\"0x8D6BA251AB90FA7\"5120share155450980055002844Sat, 06 Apr 2019 00:16:40 GMT\"0x8D6BA25248D32DD\"5120share155450980160103293155450980168109906Sat, 06 Apr 2019 00:16:41 GMT\"0x8D6BA252504B519\"5120share155450980240304921Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA252575098D\"5120share155450980285700319155450980290408762Sat, 06 Apr 2019 00:16:42 GMT\"0x8D6BA2525C03A80\"5120share155450982099301254155450982103507530Sat, 06 Apr 2019 00:17:01 GMT\"0x8D6BA25308DFC9F\"5120share155450982239706333155450982242802612Sat, 06 Apr 2019 00:17:02 GMT\"0x8D6BA253161E133\"5120share155450982326409248Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA2531E1702E\"5120share155450982377200032155450982381908623Sat, 06 Apr 2019 00:17:03 GMT\"0x8D6BA253235B775\"5120share155450983221207344155450983239108932Sat, 06 Apr 2019 00:17:12 GMT\"0x8D6BA25375FFDF8\"5120share155450984103402224155450984105001780Sat, 06 Apr 2019 00:17:21 GMT\"0x8D6BA253C7B623A\"5120share155450984926706623Sat, 06 Apr 2019 00:17:29 GMT\"0x8D6BA254167CF27\"5120share155450985060401468155450985076906420Sat, 06 Apr 2019 00:17:30 GMT\"0x8D6BA25424D06B7\"5120share155450987283404018Sat, 06 Apr 2019 00:17:52 GMT\"0x8D6BA254F6D3BD3\"5120share155450987324207460155450987328900070Sat, 06 Apr 2019 00:17:53 GMT\"0x8D6BA254FB23BEA\"5120share155450988425404386155450988434009985Sat, 06 Apr 2019 00:18:04 GMT\"0x8D6BA25564F576F\"5120share155450990977005805155450990980103826Sat, 06 Apr 2019 00:18:29 GMT\"0x8D6BA2565767B1F\"5120share155450991059304960Sat, 06 Apr 2019 00:18:30 GMT\"0x8D6BA2565EF5040\"5120share155450992091205316Sat, 06 Apr 2019 00:18:40 GMT\"0x8D6BA256C15A12E\"5120share155450992133707934155450992138405768Sat, 06 Apr 2019 00:18:41 GMT\"0x8D6BA256C5D5BE6\"5120share155450993652908385155450993654507033Sat, 06 Apr 2019 00:18:56 GMT\"0x8D6BA257568A573\"5120share155451001151002509Sat, 06 Apr 2019 00:20:11 GMT\"0x8D6BA25A216A444\"5120share155451001331709024155451001342603666Sat, 06 Apr 2019 00:20:13 GMT\"0x8D6BA25A33B3030\"5120share155451003402004419Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AF7D5D23\"5120share155451003447503066155451003449001699Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFCA6E52\"5120share155451003461203815155451003464101209Sat, 06 Apr 2019 00:20:34 GMT\"0x8D6BA25AFDC0A77\"5120share155451004913305591155451004914706703Sat, 06 Apr 2019 00:20:49 GMT\"0x8D6BA25B8815310\"5120share155451006286305875Sat, 06 Apr 2019 00:21:03 GMT\"0x8D6BA25C0C2AC3D\"5120share155451006587801793155451006655805276Sat, 06 Apr 2019 00:21:06 GMT\"0x8D6BA25C2F65D6A\"5120share155451007935501496Sat, 06 Apr 2019 00:21:19 GMT\"0x8D6BA25CA83F82F\"5120share155451008094100931155451008097909868Sat, 06 Apr 2019 00:21:20 GMT\"0x8D6BA25CB7B405F\"5120share155451009799605496155451009801500934Sat, 06 Apr 2019 00:21:38 GMT\"0x8D6BA25D5A2FE93\"5120share155451010434701890Sat, 06 Apr 2019 00:21:44 GMT\"0x8D6BA25D96B2BB1\"5120share155451010497507200155451010502204375Sat, 06 Apr 2019 00:21:45 GMT\"0x8D6BA25D9D0C00D\"5120share155451012085406616155451012088502597Sat, 06 Apr 2019 00:22:00 GMT\"0x8D6BA25E3447924\"5120share155451012285704842155451012303302464Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E49FB50A\"5120share155451012387505140Sat, 06 Apr 2019 00:22:03 GMT\"0x8D6BA25E51229CB\"5120share155451012515600375Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5E37446\"5120share155451012525500379Sat, 06 Apr 2019 00:22:05 GMT\"0x8D6BA25E5F3B302\"5120share155451013078900595155451013114407433Sat, 06 Apr 2019 00:22:11 GMT\"0x8D6BA25E975BF7D\"5120share155451015216004737Sat, 06 Apr 2019 00:22:32 GMT\"0x8D6BA25F606E077\"5120share155451016043402131155451016065606655Sat, 06 Apr 2019 00:22:40 GMT\"0x8D6BA25FB00E780\"5120share155451019103604148Sat, 06 Apr 2019 00:23:11 GMT\"0x8D6BA260D2905C6\"5120share155451019400305212155451019445908505Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F336BC3\"5120share155451019474708654155451019483801215Sat, 06 Apr 2019 00:23:14 GMT\"0x8D6BA260F604E98\"5120share155451024414405592155451024432401508Sat, 06 Apr 2019 00:24:04 GMT\"0x8D6BA262CEE5C5A\"5120share155451024648109782Sat, 06 Apr 2019 00:24:06 GMT\"0x8D6BA262E364BFA\"5120share155451026312808867Sat, 06 Apr 2019 00:24:23 GMT\"0x8D6BA263819560F\"5120share155451026594805847155451026630100644Sat, 06 Apr 2019 00:24:26 GMT\"0x8D6BA263A03DD68\"5120share155451027535308543Sat, 06 Apr 2019 00:24:35 GMT\"0x8D6BA263F5E1C93\"5120share155451027671107727155451027693505092Sat, 06 Apr 2019 00:24:36 GMT\"0x8D6BA26404F9858\"5120share155451030987309732155451030994904457Sat, 06 Apr 2019 00:25:10 GMT\"0x8D6BA2653FCB879\"5120share155451031458704130155451031476206543Sat, 06 Apr 2019 00:25:14 GMT\"0x8D6BA2656E64927\"5120share155451033026507785155451033046408034Sat, 06 Apr 2019 00:25:30 GMT\"0x8D6BA266042FECB\"5120share155451033290203875Sat, 06 Apr 2019 00:25:33 GMT\"0x8D6BA2661B6D672\"5120share155451039774203928Sat, 06 Apr 2019 00:26:37 GMT\"0x8D6BA26885D80E0\"5120share155451040675108359155451040711307532Sat, 06 Apr 2019 00:26:47 GMT\"0x8D6BA268DF41351\"5120share155451044021806016Sat, 06 Apr 2019 00:27:20 GMT\"0x8D6BA26A19C5201\"5120share155451044457806734155451044462505131Sat, 06 Apr 2019 00:27:24 GMT\"0x8D6BA26A43D1239\"5120share155451046010701737155451046028403533Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADA4C4A5\"5120share155451046052208614155451046053805603Sat, 06 Apr 2019 00:27:40 GMT\"0x8D6BA26ADB9B622\"5120share155451053178206847Sat, 06 Apr 2019 00:28:51 GMT\"0x8D6BA26D842A55A\"5120share155451053666705392155451053702506968Sat, 06 Apr 2019 00:28:57 GMT\"0x8D6BA26DB62BDD5\"5120share155451058205803975155451058223403053Sat, 06 Apr 2019 00:29:42 GMT\"0x8D6BA26F654675F\"5120share155451060995602506Sat, 06 Apr 2019 00:30:09 GMT\"0x8D6BA2706C9A66E\"5120share155451061041100503155451061045903286Sat, 06 Apr 2019 00:30:10 GMT\"0x8D6BA270716A7C2\"5120share155451061899608264Sat, 06 Apr 2019 00:30:19 GMT\"0x8D6BA270C3E72F4\"5120share155451062180801032155451062216207210Sat, 06 Apr 2019 00:30:22 GMT\"0x8D6BA270E371CFB\"5120share155451062599208929155451062602402703Sat, 06 Apr 2019 00:30:26 GMT\"0x8D6BA27105DB358\"5120share155451065149503106Sat, 06 Apr 2019 00:30:51 GMT\"0x8D6BA271F9DF425\"5120share155451065440007212155451065475805277Sat, 06 Apr 2019 00:30:54 GMT\"0x8D6BA27218EBAA7\"5120share155451067046206752155451067063709328Sat, 06 Apr 2019 00:31:10 GMT\"0x8D6BA272B05F0AB\"5120share155451067351206150Sat, 06 Apr 2019 00:31:13 GMT\"0x8D6BA272CBC787A\"5120share155451069512502349Sat, 06 Apr 2019 00:31:35 GMT\"0x8D6BA27399F8CE9\"5120share155451069801607826155451069838102692Sat, 06 Apr 2019 00:31:38 GMT\"0x8D6BA273B8F91C6\"5120share155451071238103796155451071255407273Sat, 06 Apr 2019 00:31:52 GMT\"0x8D6BA274400B20F\"5120share155451074926809802155451074945008417Sat, 06 Apr 2019 00:32:29 GMT\"0x8D6BA275A00C68D\"5120share155451081018006165Sat, 06 Apr 2019 00:33:30 GMT\"0x8D6BA277E323318\"5120share155451081825002323155451081865306002Sat, 06 Apr 2019 00:33:38 GMT\"0x8D6BA27833EA922\"5120share155451087278806395155451087296101648Sat, 06 Apr 2019 00:34:33 GMT\"0x8D6BA27A39DA7AE\"5120share155451091917101975Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF194E41\"5120share155451091975006455155451091979708946Sat, 06 Apr 2019 00:35:19 GMT\"0x8D6BA27BF7783A5\"5120share155451093201009705Sat, 06 Apr 2019 00:35:32 GMT\"0x8D6BA27C6D1EEBA\"5120share155451093563503307155451093598603844Sat, 06 Apr 2019 00:35:36 GMT\"0x8D6BA27C93050B6\"5120share155451094024104628155451094025709756Sat, 06 Apr 2019 00:35:40 GMT\"0x8D6BA27CBA9E989\"5120share155451094222108360Sat, 06 Apr 2019 00:35:42 GMT\"0x8D6BA27CCE6E2AE\"5120share155451095174303054Sat, 06 Apr 2019 00:35:51 GMT\"0x8D6BA27D293DAE5\"5120share155451096975508163155451097010409134Sat, 06 Apr 2019 00:36:10 GMT\"0x8D6BA27DD8557B2\"5120share155451100262501336155451100279500059Sat, 06 Apr 2019 00:36:42 GMT\"0x8D6BA27F1023A5B\"5120share155451101045503556Sat, 06 Apr 2019 00:36:50 GMT\"0x8D6BA27F5925154\"5120share155451101779403542Sat, 06 Apr 2019 00:36:57 GMT\"0x8D6BA27F9F0E2AC\"5120share155451102398103108155451102432601506Sat, 06 Apr 2019 00:37:04 GMT\"0x8D6BA27FDD5B5CD\"5120share155451103057604216155451103077302829Sat, 06 Apr 2019 00:37:10 GMT\"0x8D6BA2801AE1B69\"5120share155451107565307966155451107582903915Sat, 06 Apr 2019 00:37:55 GMT\"0x8D6BA281C81B459\"5120share155451107800700624Sat, 06 Apr 2019 00:37:58 GMT\"0x8D6BA281DD4A225\"5120share155451126138807949Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B1534BE\"5120share155451126184309606155451126189002896Sat, 06 Apr 2019 00:41:01 GMT\"0x8D6BA288B6050DF\"5120share155451128370804279155451128372404816Sat, 06 Apr 2019 00:41:23 GMT\"0x8D6BA289862C628\"5120share155451152420208713Sat, 06 Apr 2019 00:45:24 GMT\"0x8D6BA2927C9F8B5\"5120share155451152742606446155451152779007713Sat, 06 Apr 2019 00:45:27 GMT\"0x8D6BA2929ED230E\"5120share155451157395300009155451157412506533Sat, 06 Apr 2019 00:46:14 GMT\"0x8D6BA29458B232D\"5120share155451187530500180Sat, 06 Apr 2019 00:51:15 GMT\"0x8D6BA29F90FCDB8\"5120share155451187884703798155451187920608231Sat, 06 Apr 2019 00:51:19 GMT\"0x8D6BA29FB62AF79\"5120share155451192903001020155451192920801667Sat, 06 Apr 2019 00:52:09 GMT\"0x8D6BA2A19307FA2\"5120share155451219945604870Sat, 06 Apr 2019 00:56:39 GMT\"0x8D6BA2ABA44B832\"5120share155451220515403772155451220563409688Sat, 06 Apr 2019 00:56:45 GMT\"0x8D6BA2ABDF348B2\"5120share155451225732003773155451225782103672Sat, 06 Apr 2019 00:57:37 GMT\"0x8D6BA2ADD0DFEA0\"5120share155452505698609307Sat, 06 Apr 2019 04:30:57 GMT\"0x8D6BA48A9F5DE57\"5120share155452506110609930155452506145800907Sat, 06 Apr 2019 04:31:01 GMT\"0x8D6BA48ACA0E8F8\"5120share155452513264602392155452513309504994Sat, 06 Apr 2019 04:32:13 GMT\"0x8D6BA48D79F82A6\"5120share155452543747102987Sat, 06 Apr 2019 04:37:17 GMT\"0x8D6BA498CBEAA1B\"5120share155452544135102672155452544170203677Sat, 06 Apr 2019 04:37:21 GMT\"0x8D6BA498F43FB3B\"5120share155452550801609564155452550819303558Sat, 06 Apr 2019 04:38:28 GMT\"0x8D6BA49B6E5E139\"5120share155454851835207560Sat, 06 Apr 2019 11:01:58 GMT\"0x8D6BA7F4A19677D\"5120share155454851991506574155454852000406631Sat, 06 Apr 2019 11:02:00 GMT\"0x8D6BA7F4AF0A38D\"5120share155454854416906947155454854421503134Sat, 06 Apr 2019 11:02:24 GMT\"0x8D6BA7F595F9CD8\"5120share155454856025203639Sat, 06 Apr 2019 11:02:40 GMT\"0x8D6BA7F62F33568\"5120share155454856374007043155454856420309335Sat, 06 Apr 2019 11:02:44 GMT\"0x8D6BA7F6571B186\"5120share155454863664803017155454863675304589Sat, 06 Apr 2019 11:03:58 GMT\"0x8D6BA7F91B54D0B\"5120share155454912150008169Sat, 06 Apr 2019 11:12:01 GMT\"0x8D6BA80B1733B1B\"5120share155454912228807007155454912232402707Sat, 06 Apr 2019 11:12:02 GMT\"0x8D6BA80B1F0CB36\"5120share155454913968401147155454913969709976Sat, 06 Apr 2019 11:12:19 GMT\"0x8D6BA80BC4BC1C8\"5120share155454926160403595Sat, 06 Apr 2019 11:14:21 GMT\"0x8D6BA81050A4FBB\"5120share155454926433302536155454926451103683Sat, 06 Apr 2019 11:14:24 GMT\"0x8D6BA8106B9DBA1\"5120share155454931280409044155454931334904873Sat, 06 Apr 2019 11:15:13 GMT\"0x8D6BA8123FE09BD\"5120share155454933450607945Sat, 06 Apr 2019 11:15:34 GMT\"0x8D6BA813098712B\"5120share155454933671902848155454933688908536Sat, 06 Apr 2019 11:15:36 GMT\"0x8D6BA8131D928E7\"5120share155454936568509955155454936576802176Sat, 06 Apr 2019 11:16:05 GMT\"0x8D6BA81430FF71B\"5120share155454960213904133Sat, 06 Apr 2019 11:20:03 GMT\"0x8D6BA81D0FF2B38\"5120share155454960927909543155454960991001612Sat, 06 Apr 2019 11:20:09 GMT\"0x8D6BA81D49808FE\"5120share155454966009002609155454966016603370Sat, 06 Apr 2019 11:21:00 GMT\"0x8D6BA81F28BD0E3\"5120share155455002704708537Sat, 06 Apr 2019 11:27:07 GMT\"0x8D6BA82CD34741E\"5120share155455002903800007155455003017403219Sat, 06 Apr 2019 11:27:10 GMT\"0x8D6BA82CF125048\"5120share155455006267108464155455006268701770Sat, 06 Apr 2019 11:27:42 GMT\"0x8D6BA82E273923F\"5120share155455037679603457Sat, 06 Apr 2019 11:32:56 GMT\"0x8D6BA839DAF3E6C\"5120share155455037983204788155455037987900489Sat, 06 Apr 2019 11:33:00 GMT\"0x8D6BA839F95A777\"5120share155455040595703142155455040597208498Sat, 06 Apr 2019 11:33:26 GMT\"0x8D6BA83AF12FF0F\"5120share155455072732002603Sat, 06 Apr 2019 11:38:47 GMT\"0x8D6BA846E9C4E9D\"5120share155455073081809895155455073086206096Sat, 06 Apr 2019 11:38:50 GMT\"0x8D6BA8470B704B1\"5120share155455075763207537155455075766305509Sat, 06 Apr 2019 11:39:17 GMT\"0x8D6BA8480B04FE4\"5120share155455102062606131Sat, 06 Apr 2019 11:43:40 GMT\"0x8D6BA851D7C3230\"5120share155455102361801934155455102394805763Sat, 06 Apr 2019 11:43:44 GMT\"0x8D6BA851F770C29\"5120share155455107457700114155455107474000652Sat, 06 Apr 2019 11:44:34 GMT\"0x8D6BA853DBD1411\"5120share155455133006908547Sat, 06 Apr 2019 11:48:50 GMT\"0x8D6BA85D5EB98F7\"5120share155455133279009813155455133361801233Sat, 06 Apr 2019 11:48:53 GMT\"0x8D6BA85D80A2CF8\"5120share155455139513901690155455139530102243Sat, 06 Apr 2019 11:49:55 GMT\"0x8D6BA85FCCC3693\"5120share155455164872603077Sat, 06 Apr 2019 11:54:08 GMT\"0x8D6BA8693DC07CC\"5120share155455165151009405155455165183509790Sat, 06 Apr 2019 11:54:11 GMT\"0x8D6BA8695B65D2B\"5120share155455170470509656155455170486300406Sat, 06 Apr 2019 11:55:04 GMT\"0x8D6BA86B550F686\"5120share155456291103108645Sat, 06 Apr 2019 15:01:51 GMT\"0x8D6BAA0CCB4D2E2\"5120share155456291365506380155456291374109855Sat, 06 Apr 2019 15:01:53 GMT\"0x8D6BAA0CE464446\"5120share155456293709907330155456293714005519Sat, 06 Apr 2019 15:02:17 GMT\"0x8D6BAA0DC390444\"5120share155456294559204683Sat, 06 Apr 2019 15:02:25 GMT\"0x8D6BAA0E14877DB\"5120share155456296486809631155456297245203735Sat, 06 Apr 2019 15:02:52 GMT\"0x8D6BAA0F17779CF\"5120share155456305871209606155456305879302124Sat, 06 Apr 2019 15:04:20 GMT\"0x8D6BAA125F07843\"5120share155456314143103789Sat, 06 Apr 2019 15:05:41 GMT\"0x8D6BAA155FBBE27\"5120share155456314336103571155456314749309901Sat, 06 Apr 2019 15:05:47 GMT\"0x8D6BAA159999031\"5120share155456316334404827155456316335906378Sat, 06 Apr 2019 15:06:03 GMT\"0x8D6BAA1630E3598\"5120share155456326179402090Sat, 06 Apr 2019 15:07:42 GMT\"0x8D6BAA19DFB7C6A\"5120share155456326397304242155456326415604577Sat, 06 Apr 2019 15:07:44 GMT\"0x8D6BAA19F25D734\"5120share155456329369701279155456329378504366Sat, 06 Apr 2019 15:08:13 GMT\"0x8D6BAA1B0D0D651\"5120share155456330364409045Sat, 06 Apr 2019 15:08:23 GMT\"0x8D6BAA1B6B2CD98\"5120share155456330666705978155456330683803375Sat, 06 Apr 2019 15:08:26 GMT\"0x8D6BAA1B89A16F1\"5120share155456335030501527155456335038302819Sat, 06 Apr 2019 15:09:10 GMT\"0x8D6BAA1D28E562B\"5120share155456356368008804Sat, 06 Apr 2019 15:12:43 GMT\"0x8D6BAA251C17F8D\"5120share155456356557907464155456356574100518Sat, 06 Apr 2019 15:12:45 GMT\"0x8D6BAA252EBFAC4\"5120share155456361116402960155456361124207850Sat, 06 Apr 2019 15:13:31 GMT\"0x8D6BAA26E0A1CA8\"5120share155456390636203241Sat, 06 Apr 2019 15:18:26 GMT\"0x8D6BAA31DEBCDB0\"5120share155456390705601565155456390711901935Sat, 06 Apr 2019 15:18:27 GMT\"0x8D6BAA31E5E4748\"5120share155456393417709590155456393420808701Sat, 06 Apr 2019 15:18:54 GMT\"0x8D6BAA32E84237D\"5120share155456424217209961Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E61500A8\"5120share155456424278208936155456424284407266Sat, 06 Apr 2019 15:24:02 GMT\"0x8D6BAA3E67AB1A3\"5120share155456427211205549155456427214304496Sat, 06 Apr 2019 15:24:32 GMT\"0x8D6BAA3F7F20D47\"5120share155456458404204500Sat, 06 Apr 2019 15:29:44 GMT\"0x8D6BAA4B24CBF76\"5120share155456458547707918155456458552404411Sat, 06 Apr 2019 15:29:45 GMT\"0x8D6BAA4B2BB862F\"5120share155456460765406585155456460766908685Sat, 06 Apr 2019 15:30:07 GMT\"0x8D6BAA4BFFF1981\"5120share155456482465103461Sat, 06 Apr 2019 15:33:44 GMT\"0x8D6BAA541550649\"5120share155456482775006921155456482810700538Sat, 06 Apr 2019 15:33:48 GMT\"0x8D6BAA543636C8E\"5120share155456487704408556155456487721609007Sat, 06 Apr 2019 15:34:37 GMT\"0x8D6BAA560A9C832\"5120share155456514392700848Sat, 06 Apr 2019 15:39:04 GMT\"0x8D6BAA5FFA2DBB2\"5120share155456514730004864155456514765000848Sat, 06 Apr 2019 15:39:07 GMT\"0x8D6BAA601DAC90B\"5120share155456520851004581155456520868606444Sat, 06 Apr 2019 15:40:08 GMT\"0x8D6BAA6263B64FB\"5120share155456546078104638Sat, 06 Apr 2019 15:44:20 GMT\"0x8D6BAA6BC7EC485\"5120share155456546379202191155456546415004803Sat, 06 Apr 2019 15:44:24 GMT\"0x8D6BAA6BE80FE20\"5120share155456552100308222155456552118109485Sat, 06 Apr 2019 15:45:21 GMT\"0x8D6BAA6E07EA3E7\"5120share155457982586404577Sat, 06 Apr 2019 19:43:46 GMT\"0x8D6BAC82F06C604\"5120share155457982895209863Sat, 06 Apr 2019 19:43:49 GMT\"0x8D6BAC830B0EE27\"5120share155457983004307662155457983013006641Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC8313A9F6D\"5120share155457983034605061155457983042907122Sat, 06 Apr 2019 19:43:50 GMT\"0x8D6BAC831687914\"5120share155457984096304815Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC837B800A3\"5120share155457984173004573155457984181103859Sat, 06 Apr 2019 19:44:01 GMT\"0x8D6BAC8382FCF4E\"5120share155457985251106506155457985255200019Sat, 06 Apr 2019 19:44:12 GMT\"0x8D6BAC83E977E11\"5120share155457985352004043Sat, 06 Apr 2019 19:44:13 GMT\"0x8D6BAC83F308A2E\"5120share155457985759203693155457985763202694Sat, 06 Apr 2019 19:44:17 GMT\"0x8D6BAC8419E8708\"5120share155457985858407808155457985874206967Sat, 06 Apr 2019 19:44:18 GMT\"0x8D6BAC8424DC6E7\"5120share155457986070109185Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC84378C35C\"5120share155457986084203249155457986088206247Sat, 06 Apr 2019 19:44:20 GMT\"0x8D6BAC8438DCAFB\"5120share155457986667402248155457986683304389Sat, 06 Apr 2019 19:44:26 GMT\"0x8D6BAC8471F8EC3\"5120share155457988211302188Sat, 06 Apr 2019 19:44:42 GMT\"0x8D6BAC8503B5D5B\"5120share155457988657106116155457988672406764Sat, 06 Apr 2019 19:44:46 GMT\"0x8D6BAC852FAA3CB\"5120share155457991716301226155457991723809979Sat, 06 Apr 2019 19:45:17 GMT\"0x8D6BAC8652A9515\"5120share155457992830806739155457992838808802Sat, 06 Apr 2019 19:45:28 GMT\"0x8D6BAC86BD00E83\"5120share155457993006407987155457993013800523Sat, 06 Apr 2019 19:45:30 GMT\"0x8D6BAC86CDBF17B\"5120share155458006152502178Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB245AB2\"5120share155458006186305147155458006188804437Sat, 06 Apr 2019 19:47:41 GMT\"0x8D6BAC8BB5BDA66\"5120share155458006815304344Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF182EA3\"5120share155458006841500789155458006844408143Sat, 06 Apr 2019 19:47:48 GMT\"0x8D6BAC8BF44D44C\"5120share155458007310109701Sat, 06 Apr 2019 19:47:53 GMT\"0x8D6BAC8C20A6A25\"5120share155458007402802136155458007406500109Sat, 06 Apr 2019 19:47:54 GMT\"0x8D6BAC8C29DD3C2\"5120share155458007691004618155458007692300930Sat, 06 Apr 2019 19:47:56 GMT\"0x8D6BAC8C4519872\"5120share155458008613907463155458008615102861Sat, 06 Apr 2019 19:48:06 GMT\"0x8D6BAC8C9D2A25A\"5120share155458008826101632155458008827508306Sat, 06 Apr 2019 19:48:08 GMT\"0x8D6BAC8CB1643CF\"5120share155458014101009988Sat, 06 Apr 2019 19:49:01 GMT\"0x8D6BAC8EA8C6116\"5120share155458014235102252155458014250500129Sat, 06 Apr 2019 19:49:02 GMT\"0x8D6BAC8EB7022BC\"5120share155458015065204785Sat, 06 Apr 2019 19:49:10 GMT\"0x8D6BAC8F04B6245\"5120share155458015190606244155458015235108989Sat, 06 Apr 2019 19:49:12 GMT\"0x8D6BAC8F14EC812\"5120share155458015912000641Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F54FD2BF\"5120share155458015954701668155458015960006118Sat, 06 Apr 2019 19:49:19 GMT\"0x8D6BAC8F5991DFB\"5120share155458017311406556Sat, 06 Apr 2019 19:49:33 GMT\"0x8D6BAC8FDD44158\"5120share155458017502707203155458017520806739Sat, 06 Apr 2019 19:49:35 GMT\"0x8D6BAC8FEECDAA4\"5120share155458018062700692155458018064406305Sat, 06 Apr 2019 19:49:40 GMT\"0x8D6BAC90223AD3D\"5120share155458018255202912155458018262607543Sat, 06 Apr 2019 19:49:42 GMT\"0x8D6BAC9035A963E\"5120share155458018446401092Sat, 06 Apr 2019 19:49:44 GMT\"0x8D6BAC9048A9A28\"5120share155458018639607522155458018647205168Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905A4A03A\"5120share155458018651709847155458018670403556Sat, 06 Apr 2019 19:49:46 GMT\"0x8D6BAC905C6C316\"5120share155458018905808134Sat, 06 Apr 2019 19:49:49 GMT\"0x8D6BAC90745C0AB\"5120share155458019083402862155458019101607549Sat, 06 Apr 2019 19:49:51 GMT\"0x8D6BAC9085921C4\"5120share155458020474801587155458020483701287Sat, 06 Apr 2019 19:50:04 GMT\"0x8D6BAC910954F65\"5120share155458021677705412155458021686508820Sat, 06 Apr 2019 19:50:16 GMT\"0x8D6BAC917C0BA92\"5120share155458022255403756155458022264606904Sat, 06 Apr 2019 19:50:22 GMT\"0x8D6BAC91B330179\"5120share155458035799600985Sat, 06 Apr 2019 19:52:38 GMT\"0x8D6BAC96BE13B37\"5120share155458035959302421155458035975506801Sat, 06 Apr 2019 19:52:39 GMT\"0x8D6BAC96CED2845\"5120share155458038999101821155458039006205821Sat, 06 Apr 2019 19:53:10 GMT\"0x8D6BAC97EFDC8C7\"5120share155458039197306757Sat, 06 Apr 2019 19:53:11 GMT\"0x8D6BAC98019052A\"5120share155458039235409027155458039240007658Sat, 06 Apr 2019 19:53:12 GMT\"0x8D6BAC98059AA63\"5120share155458041594507958Sat, 06 Apr 2019 19:53:35 GMT\"0x8D6BAC98E61B10E\"5120share155458041624503349155458041700409251Sat, 06 Apr 2019 19:53:37 GMT\"0x8D6BAC98F0326CA\"5120share155458042414602394155458042416208280Sat, 06 Apr 2019 19:53:44 GMT\"0x8D6BAC993487273\"5120share155458044008906271155458044010601423Sat, 06 Apr 2019 19:54:00 GMT\"0x8D6BAC99CC83FC7\"5120share155458071334509447Sat, 06 Apr 2019 19:58:33 GMT\"0x8D6BACA3FA8FF44\"5120share155458071605707178155458071610409296Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA414C424C\"5120share155458071612107980Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA4152C3C2\"5120share155458071677203776155458071680408599Sat, 06 Apr 2019 19:58:36 GMT\"0x8D6BACA41BB0E81\"5120share155458072009502050Sat, 06 Apr 2019 19:58:40 GMT\"0x8D6BACA43B031EA\"5120share155458072094509702155458072099206957Sat, 06 Apr 2019 19:58:41 GMT\"0x8D6BACA44380FE8\"5120share155458073543006878155458073544508077Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CD4E02B\"5120share155458073563000516155458073564602564Sat, 06 Apr 2019 19:58:55 GMT\"0x8D6BACA4CF58E47\"5120share155458074693207901155458074696307244Sat, 06 Apr 2019 19:59:06 GMT\"0x8D6BACA53B06581\"5120share155458102730709783Sat, 06 Apr 2019 20:03:47 GMT\"0x8D6BACAFACB81F1\"5120share155458102868202572155458102871409986Sat, 06 Apr 2019 20:03:48 GMT\"0x8D6BACAFBA2E15D\"5120share155458104633001221Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB06231A4E\"5120share155458104667302506155458104672106680Sat, 06 Apr 2019 20:04:06 GMT\"0x8D6BACB065D6388\"5120share155458104813808363155458104815404525Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB0738F2A1\"5120share155458104870802288Sat, 06 Apr 2019 20:04:08 GMT\"0x8D6BACB078DCFAB\"5120share155458104914903079155458104919602010Sat, 06 Apr 2019 20:04:09 GMT\"0x8D6BACB07D61BEF\"5120share155458106288101112155458106289700342Sat, 06 Apr 2019 20:04:22 GMT\"0x8D6BACB100374B8\"5120share155458106650506749155458106652108155Sat, 06 Apr 2019 20:04:26 GMT\"0x8D6BACB122B752A\"5120share155458133184000378Sat, 06 Apr 2019 20:08:51 GMT\"0x8D6BACBB05075D8\"5120share155458133237405814155458133243702319Sat, 06 Apr 2019 20:08:52 GMT\"0x8D6BACBB0AD6CF8\"5120share155458135318509099155458135320106042Sat, 06 Apr 2019 20:09:13 GMT\"0x8D6BACBBD0CD3EE\"5120share155458137219602215Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC85F8649\"5120share155458137264904053155458137284004781Sat, 06 Apr 2019 20:09:32 GMT\"0x8D6BACBC8C02510\"5120share155458139529801458155458139532905081Sat, 06 Apr 2019 20:09:55 GMT\"0x8D6BACBD628A6F5\"5120share155458143191307130Sat, 06 Apr 2019 20:10:31 GMT\"0x8D6BACBEBF72FED\"5120share155458143725704549155458143733108923Sat, 06 Apr 2019 20:10:37 GMT\"0x8D6BACBEF3235D6\"5120share155458145614707996155458145617801962Sat, 06 Apr 2019 20:10:56 GMT\"0x8D6BACBFA6C641E\"5120share155458157026004284Sat, 06 Apr 2019 20:12:50 GMT\"0x8D6BACC3E7D2E73\"5120share155458157513606057155458157549200058Sat, 06 Apr 2019 20:12:55 GMT\"0x8D6BACC419AACAA\"5120share155458161551504918Sat, 06 Apr 2019 20:13:35 GMT\"0x8D6BACC5975976A\"5120share155458161852508767155458161888204990Sat, 06 Apr 2019 20:13:39 GMT\"0x8D6BACC5B77718A\"5120share155458163270608429155458163288707708Sat, 06 Apr 2019 20:13:53 GMT\"0x8D6BACC63D077C5\"5120share155458166740801992155458166758400322Sat, 06 Apr 2019 20:14:27 GMT\"0x8D6BACC787E2CBC\"5120share155458167410204473Sat, 06 Apr 2019 20:14:34 GMT\"0x8D6BACC7C6268AB\"5120share155458167745609182155458167783502969Sat, 06 Apr 2019 20:14:37 GMT\"0x8D6BACC7E9B98C5\"5120share155458172754102886155458172771207718Sat, 06 Apr 2019 20:15:27 GMT\"0x8D6BACC9C55C2B9\"5120share155458172981008762Sat, 06 Apr 2019 20:15:29 GMT\"0x8D6BACC9D95FF89\"5120share155458194149704710Sat, 06 Apr 2019 20:19:01 GMT\"0x8D6BACD1BC47F5F\"5120share155458194536607732155458194571702324Sat, 06 Apr 2019 20:19:05 GMT\"0x8D6BACD1E4806C2\"5120share155458197308200274Sat, 06 Apr 2019 20:19:33 GMT\"0x8D6BACD2E9741B8\"5120share155458197591001668155458197626104855Sat, 06 Apr 2019 20:19:36 GMT\"0x8D6BACD307C412D\"5120share155458199527007624155458199545704317Sat, 06 Apr 2019 20:19:55 GMT\"0x8D6BACD3BED41C6\"5120share155458202598109235155458202659403874Sat, 06 Apr 2019 20:20:26 GMT\"0x8D6BACD4E7C35E1\"5120share155458206169602649Sat, 06 Apr 2019 20:21:01 GMT\"0x8D6BACD636BD2BB\"5120share155458206454303760155458206491202053Sat, 06 Apr 2019 20:21:05 GMT\"0x8D6BACD6555FC37\"5120share155458211197207585155458211214304698Sat, 06 Apr 2019 20:21:52 GMT\"0x8D6BACD817C81F1\"5120share155458230574404260Sat, 06 Apr 2019 20:25:05 GMT\"0x8D6BACDF4DE1EAA\"5120share155458230851000916155458230885607635Sat, 06 Apr 2019 20:25:08 GMT\"0x8D6BACDF6B8F6B6\"5120share155458232013504419Sat, 06 Apr 2019 20:25:20 GMT\"0x8D6BACDFD730512\"5120share155458232597200069155458232631800473Sat, 06 Apr 2019 20:25:26 GMT\"0x8D6BACE015C4984\"5120share155458235978104772155458235995602616Sat, 06 Apr 2019 20:26:00 GMT\"0x8D6BACE152F2C77\"5120share155458238152204275155458238169302315Sat, 06 Apr 2019 20:26:21 GMT\"0x8D6BACE22234B1D\"5120share155458246813501241Sat, 06 Apr 2019 20:27:48 GMT\"0x8D6BACE55AA8392\"5120share155458247096107198155458247130607430Sat, 06 Apr 2019 20:27:51 GMT\"0x8D6BACE578E5D67\"5120share155458252434803407155458252452009632Sat, 06 Apr 2019 20:28:44 GMT\"0x8D6BACE77450DDD\"5120share155463491867809931Sun, 07 Apr 2019 11:01:59 GMT\"0x8D6BB4874C1FA32\"5120share155463492805505485155463492814004375Sun, 07 Apr 2019 11:02:08 GMT\"0x8D6BB487A32EA36\"5120share155463495415400624Sun, 07 Apr 2019 11:02:34 GMT\"0x8D6BB4889FB36E2\"5120share155463495863003716155463495867103980Sun, 07 Apr 2019 11:02:38 GMT\"0x8D6BB488C65A2A9\"5120share155463496549001120155463496566809518Sun, 07 Apr 2019 11:02:45 GMT\"0x8D6BB489096CC90\"5120share155463510566206731155463512465407451Sun, 07 Apr 2019 11:05:26 GMT\"0x8D6BB48F0B165EF\"5120share155463540364902833Sun, 07 Apr 2019 11:10:03 GMT\"0x8D6BB49959E6F6C\"5120share155463540439609115155463540442904248Sun, 07 Apr 2019 11:10:04 GMT\"0x8D6BB4996153B3E\"5120share155463542848406129155463542849807262Sun, 07 Apr 2019 11:10:28 GMT\"0x8D6BB49A46DA670\"5120share155463565576604805Sun, 07 Apr 2019 11:14:15 GMT\"0x8D6BB4A2BE4C75B\"5120share155463565789508788155463565794000776Sun, 07 Apr 2019 11:14:18 GMT\"0x8D6BB4A2D664C95\"5120share155463571312806839Sun, 07 Apr 2019 11:15:13 GMT\"0x8D6BB4A4E324D5F\"5120share155463571500609630155463571519400757Sun, 07 Apr 2019 11:15:15 GMT\"0x8D6BB4A4F562BB4\"5120share155463572717801277155463572720009526Sun, 07 Apr 2019 11:15:31 GMT\"0x8D6BB4A593E4806\"5120share155463574903407014155463574912207563Sun, 07 Apr 2019 11:15:49 GMT\"0x8D6BB4A638F50FD\"5120share155463593650002394Sun, 07 Apr 2019 11:18:56 GMT\"0x8D6BB4AD35DE04B\"5120share155463593894103435155463594176804206Sun, 07 Apr 2019 11:19:07 GMT\"0x8D6BB4ADA0C57A9\"5120share155463599400903836155463599403308912Sun, 07 Apr 2019 11:19:54 GMT\"0x8D6BB4AF583B2DB\"5120share155463628106804246Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA09C1EE3\"5120share155463628181805431155463628188001817Sun, 07 Apr 2019 11:24:41 GMT\"0x8D6BB4BA1175DD3\"5120share155463632163502826155463632187607182Sun, 07 Apr 2019 11:25:22 GMT\"0x8D6BB4BB9036F9B\"5120share155463662044706147Sun, 07 Apr 2019 11:30:20 GMT\"0x8D6BB4C6B2196F0\"5120share155463662176402509155463662181106263Sun, 07 Apr 2019 11:30:21 GMT\"0x8D6BB4C6BB51156\"5120share155463666487909340155463666491409324Sun, 07 Apr 2019 11:31:05 GMT\"0x8D6BB4C8583DD48\"5120share155463698405401209Sun, 07 Apr 2019 11:36:24 GMT\"0x8D6BB4D439ECDDA\"5120share155463698541606800155463698546901035Sun, 07 Apr 2019 11:36:25 GMT\"0x8D6BB4D44771EE6\"5120share155463702978505155155463702979104132Sun, 07 Apr 2019 11:37:09 GMT\"0x8D6BB4D5EE448FE\"5120share155463723950700465Sun, 07 Apr 2019 11:40:39 GMT\"0x8D6BB4DDBF3ADCB\"5120share155463724312503743155463724347607443Sun, 07 Apr 2019 11:40:43 GMT\"0x8D6BB4DDE528D42\"5120share155463729758500306155463729776203740Sun, 07 Apr 2019 11:41:37 GMT\"0x8D6BB4DFEAC4DF1\"5120share155463755748302900Sun, 07 Apr 2019 11:45:57 GMT\"0x8D6BB4E9978E2D2\"5120share155463756042003553155463756079202168Sun, 07 Apr 2019 11:46:00 GMT\"0x8D6BB4E9B7177A8\"5120share155463761358100594155463761375307174Sun, 07 Apr 2019 11:46:53 GMT\"0x8D6BB4EBB02650C\"5120share155463787959207794Sun, 07 Apr 2019 11:51:19 GMT\"0x8D6BB4F59763A07\"5120share155463788290501414155463788325100200Sun, 07 Apr 2019 11:51:23 GMT\"0x8D6BB4F5BA54F45\"5120share155463793259303870155463793276700570Sun, 07 Apr 2019 11:52:12 GMT\"0x8D6BB4F79276239\"5120share155471159410101775Mon, 08 Apr 2019 08:19:54 GMT\"0x8D6BBFAFADBE5E4\"5120share155471159557103774155471159565300748Mon, 08 Apr 2019 08:19:55 GMT\"0x8D6BBFAFB99CD19\"5120share155471159719406945Mon, 08 Apr 2019 08:19:57 GMT\"0x8D6BBFAFCB663A2\"5120share155471159844901546155471159853504786Mon, 08 Apr 2019 08:19:58 GMT\"0x8D6BBFAFD5170F5\"5120share155471161541409992Mon, 08 Apr 2019 08:20:16 GMT\"0x8D6BBFB081F5FB5\"5120share155471161759002308155471161771900228Mon, 08 Apr 2019 08:20:17 GMT\"0x8D6BBFB08C05564\"5120share155471161851605440155471161855706599Mon, 08 Apr 2019 08:20:18 GMT\"0x8D6BBFB0940AA1F\"5120share155471162639902600Mon, 08 Apr 2019 08:20:26 GMT\"0x8D6BBFB0DF3D044\"5120share155471163431809410155471163513501817Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15375AD4\"5120share155471163659409852155471163663305916Mon, 08 Apr 2019 08:20:36 GMT\"0x8D6BBFB140672E7\"5120share155471163879403305155471163883506224Mon, 08 Apr 2019 08:20:38 GMT\"0x8D6BBFB15570427\"5120share155471164795407473Mon, 08 Apr 2019 08:20:48 GMT\"0x8D6BBFB1ACB17DC\"5120share155471165623109994Mon, 08 Apr 2019 08:20:56 GMT\"0x8D6BBFB1FC3F719\"5120share155471166012804668155471166031308328Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB24406110\"5120share155471166089903157155471166123608644Mon, 08 Apr 2019 08:21:03 GMT\"0x8D6BBFB241F036D\"5120share155471172995905724155471173080508446Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C37952A\"5120share155471173051409365155471173059005298Mon, 08 Apr 2019 08:22:10 GMT\"0x8D6BBFB4C0C5968\"5120share155471174333302070155471174341105069Mon, 08 Apr 2019 08:22:23 GMT\"0x8D6BBFB53D3A9B7\"5120share155471182434808256Mon, 08 Apr 2019 08:23:44 GMT\"0x8D6BBFB83E86CA9\"5120share155471182515205917155471182519308076Mon, 08 Apr 2019 08:23:45 GMT\"0x8D6BBFB8469258F\"5120share155471183792306366Mon, 08 Apr 2019 08:23:57 GMT\"0x8D6BBFB8BFDA647\"5120share155471183836601440155471183839808059Mon, 08 Apr 2019 08:23:58 GMT\"0x8D6BBFB8C45ED59\"5120share155471184549402743Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB9081965D\"5120share155471184577508341155471184580705566Mon, 08 Apr 2019 08:24:05 GMT\"0x8D6BBFB90B0FDD6\"5120share155471184862508408155471184864008538Mon, 08 Apr 2019 08:24:08 GMT\"0x8D6BBFB926308AD\"5120share155471185496004282155471185497309494Mon, 08 Apr 2019 08:24:14 GMT\"0x8D6BBFB96272195\"5120share155471186424807606155471186426203954Mon, 08 Apr 2019 08:24:24 GMT\"0x8D6BBFB9BB131A5\"5120share155471193314004724Mon, 08 Apr 2019 08:25:33 GMT\"0x8D6BBFBC4C751E1\"5120share155471193593408635155471193764704577Mon, 08 Apr 2019 08:25:37 GMT\"0x8D6BBFBC776A651\"5120share155471194397407124Mon, 08 Apr 2019 08:25:44 GMT\"0x8D6BBFBCB3C2379\"5120share155471194555807811155471194571401786Mon, 08 Apr 2019 08:25:47 GMT\"0x8D6BBFBCD737F4F\"5120share155471194946302657Mon, 08 Apr 2019 08:25:49 GMT\"0x8D6BBFBCEC19047\"5120share155471195223406412155471195241808309Mon, 08 Apr 2019 08:25:52 GMT\"0x8D6BBFBD043CA23\"5120share155471195442005853Mon, 08 Apr 2019 08:25:54 GMT\"0x8D6BBFBD1932F7D\"5120share155471195678502043155471195696904048Mon, 08 Apr 2019 08:25:57 GMT\"0x8D6BBFBD2F92138\"5120share155471195874606540Mon, 08 Apr 2019 08:25:58 GMT\"0x8D6BBFBD402CCA4\"5120share155471196273505067155471196279008024Mon, 08 Apr 2019 08:26:02 GMT\"0x8D6BBFBD66C3E32\"5120share155471196687506253Mon, 08 Apr 2019 08:26:07 GMT\"0x8D6BBFBD8F28488\"5120share155471196866402199155471196884600096Mon, 08 Apr 2019 08:26:08 GMT\"0x8D6BBFBDA0C5FC2\"5120share155471197493802599155471197525806627Mon, 08 Apr 2019 08:26:15 GMT\"0x8D6BBFBDDE17260\"5120share155471198776902969155471198787408405Mon, 08 Apr 2019 08:26:27 GMT\"0x8D6BBFBE56583EC\"5120share155471198949002768155471198957504390Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE66A3DE2\"5120share155471198959605149155471198986208091Mon, 08 Apr 2019 08:26:29 GMT\"0x8D6BBFBE6954C17\"5120share155471199019804683155471199021904269Mon, 08 Apr 2019 08:26:30 GMT\"0x8D6BBFBE6C605AD\"5120share155471199895909131155471199904807398Mon, 08 Apr 2019 08:26:39 GMT\"0x8D6BBFBEC0C669D\"5120share155471216392807544Mon, 08 Apr 2019 08:29:23 GMT\"0x8D6BBFC4E4F47FC\"5120share155471216452709732155471216456902840Mon, 08 Apr 2019 08:29:26 GMT\"0x8D6BBFC4FC7CD1D\"5120share155471217136404726Mon, 08 Apr 2019 08:29:31 GMT\"0x8D6BBFC52BDE426\"5120share155471217222402240155471217226106507Mon, 08 Apr 2019 08:29:32 GMT\"0x8D6BBFC53470269\"5120share155471218247602987Mon, 08 Apr 2019 08:29:42 GMT\"0x8D6BBFC595CC199\"5120share155471218361402387155471218365005312Mon, 08 Apr 2019 08:29:43 GMT\"0x8D6BBFC5A0FE3DD\"5120share155471219940306579155471219942604065Mon, 08 Apr 2019 08:29:59 GMT\"0x8D6BBFC63780FBF\"5120share155471220016802925155471220030607499Mon, 08 Apr 2019 08:30:00 GMT\"0x8D6BBFC63FED675\"5120share155471220290902917155471220293500348Mon, 08 Apr 2019 08:30:02 GMT\"0x8D6BBFC658E59F6\"5120share155471249309900739Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD129316CF\"5120share155471249367802014155471249372503616Mon, 08 Apr 2019 08:34:53 GMT\"0x8D6BBFD12E38F1C\"5120share155471249672508697Mon, 08 Apr 2019 08:34:56 GMT\"0x8D6BBFD14AEB26A\"5120share155471249717808132155471249721001861Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD14F86882\"5120share155471249764407211Mon, 08 Apr 2019 08:34:57 GMT\"0x8D6BBFD153BD7C4\"5120share155471249811307309155471249830109173Mon, 08 Apr 2019 08:34:58 GMT\"0x8D6BBFD15A17797\"5120share155471251563202676155471251564809213Mon, 08 Apr 2019 08:35:15 GMT\"0x8D6BBFD1FF476DC\"5120share155471251726303555155471251727801842Mon, 08 Apr 2019 08:35:17 GMT\"0x8D6BBFD20EF45C5\"5120share155471252286607127155471252289804824Mon, 08 Apr 2019 08:35:22 GMT\"0x8D6BBFD24468D24\"5120share155471280107407056Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA150A06\"5120share155471280122303103Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA2AA85A\"5120share155471280157501884155471280162209736Mon, 08 Apr 2019 08:40:01 GMT\"0x8D6BBFDCA689843\"5120share155471280170901900155471280269609138Mon, 08 Apr 2019 08:40:02 GMT\"0x8D6BBFDCB0B4F94\"5120share155471281860403066Mon, 08 Apr 2019 08:40:18 GMT\"0x8D6BBFDD485DCD0\"5120share155471282020204926155471282024907974Mon, 08 Apr 2019 08:40:20 GMT\"0x8D6BBFDD581C2E6\"5120share155471282773802277155471282776901903Mon, 08 Apr 2019 08:40:27 GMT\"0x8D6BBFDD9FC956E\"5120share155471283070409441155471283071900050Mon, 08 Apr 2019 08:40:30 GMT\"0x8D6BBFDDBC0CC62\"5120share155471284115800709155471284117302223Mon, 08 Apr 2019 08:40:41 GMT\"0x8D6BBFDE1FC0E2A\"5120share155471313076205798Mon, 08 Apr 2019 08:45:30 GMT\"0x8D6BBFE8E985DA6\"5120share155471313135605696155471313140307661Mon, 08 Apr 2019 08:45:31 GMT\"0x8D6BBFE8EFA806E\"5120share155471314247306296Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE9592429E\"5120share155471314285105895155471314289809059Mon, 08 Apr 2019 08:45:42 GMT\"0x8D6BBFE95D17ABD\"5120share155471314655408113Mon, 08 Apr 2019 08:45:46 GMT\"0x8D6BBFE98026629\"5120share155471315036608620155471315039706752Mon, 08 Apr 2019 08:45:53 GMT\"0x8D6BBFE9BFF3E8D\"5120share155471315738800255155471315740403394Mon, 08 Apr 2019 08:45:57 GMT\"0x8D6BBFE9E7A78D8\"5120share155471316127700943155471316129308576Mon, 08 Apr 2019 08:46:01 GMT\"0x8D6BBFEA0CA3EB9\"5120share155471317319209006155471317320803568Mon, 08 Apr 2019 08:46:13 GMT\"0x8D6BBFEA7E52732\"5120share155471338564903682Mon, 08 Apr 2019 08:49:45 GMT\"0x8D6BBFF26965E97\"5120share155471338612201724Mon, 08 Apr 2019 08:49:46 GMT\"0x8D6BBFF26DDC80B\"5120share155471338707501668Mon, 08 Apr 2019 08:49:47 GMT\"0x8D6BBFF276FE91A\"5120share155471338875509216155471338911108778Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28A5CC73\"5120share155471338907003423155471338943607988Mon, 08 Apr 2019 08:49:49 GMT\"0x8D6BBFF28D7C43E\"5120share155471339077005177155471339112707523Mon, 08 Apr 2019 08:49:51 GMT\"0x8D6BBFF29D97BDE\"5120share155471344114607322155471344132404540Mon, 08 Apr 2019 08:50:41 GMT\"0x8D6BBFF47C434F1\"5120share155471344305708178155471344323803707Mon, 08 Apr 2019 08:50:43 GMT\"0x8D6BBFF48E9B6AB\"5120share155471345132108943155471345150106029Mon, 08 Apr 2019 08:50:51 GMT\"0x8D6BBFF4DE3889E\"5120share155471361870008084Mon, 08 Apr 2019 08:53:39 GMT\"0x8D6BBFFB1EEC742\"5120share155471371725508964Mon, 08 Apr 2019 08:55:17 GMT\"0x8D6BBFFEC3CDD7B\"5120share155471371944301810Mon, 08 Apr 2019 08:55:19 GMT\"0x8D6BBFFED8C775F\"5120share155471371991209376Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEDD38528\"5120share155471372018104292155471372052805770Mon, 08 Apr 2019 08:55:20 GMT\"0x8D6BBFFEE2FFA2F\"5120share155471372233805696155471372271708417Mon, 08 Apr 2019 08:55:22 GMT\"0x8D6BBFFEF7F6246\"5120share155471372290109620155471372324904545Mon, 08 Apr 2019 08:55:23 GMT\"0x8D6BBFFEFDE088A\"5120share155471377091005451155471377108904189Mon, 08 Apr 2019 08:56:11 GMT\"0x8D6BC000C53B864\"5120share155471377364408697155471377382002962Mon, 08 Apr 2019 08:56:13 GMT\"0x8D6BC000DF49A62\"5120share155471377523007053155471377540900660Mon, 08 Apr 2019 08:56:15 GMT\"0x8D6BC000EE6C927\"5120share155471402950606676Mon, 08 Apr 2019 09:00:29 GMT\"0x8D6BC00A65AACF7\"5120share155471403233404398155471403270309055Mon, 08 Apr 2019 09:00:32 GMT\"0x8D6BC00A8426D4A\"5120share155471403964001185Mon, 08 Apr 2019 09:00:39 GMT\"0x8D6BC00AC6541C8\"5120share155471404293509573155471404328606393Mon, 08 Apr 2019 09:00:43 GMT\"0x8D6BC00AE906AAF\"5120share155471407955303616155471407972706941Mon, 08 Apr 2019 09:01:19 GMT\"0x8D6BC00C4491574\"5120share155471409885107441155471409902406315Mon, 08 Apr 2019 09:01:39 GMT\"0x8D6BC00CFC9D367\"5120share155471420123407076Mon, 08 Apr 2019 09:03:22 GMT\"0x8D6BC010D28BDE1\"5120share155471420502801318155471420537802414Mon, 08 Apr 2019 09:03:25 GMT\"0x8D6BC010F2CB097\"5120share155471426607204412155471426625208107Mon, 08 Apr 2019 09:04:26 GMT\"0x8D6BC013375377C\"5120share155472160987405653Mon, 08 Apr 2019 11:06:50 GMT\"0x8D6BC124C9978EA\"5120share155472161097000757155472161105208077Mon, 08 Apr 2019 11:06:51 GMT\"0x8D6BC124D3DBF8D\"5120share155472163173801961155472163177609525Mon, 08 Apr 2019 11:07:11 GMT\"0x8D6BC125997DF0C\"5120share155472168232901716Mon, 08 Apr 2019 11:08:02 GMT\"0x8D6BC1277BFA9C8\"5120share155472168374104176155472168446607643Mon, 08 Apr 2019 11:08:04 GMT\"0x8D6BC1279214100\"5120share155472176197105947155472176205007656Mon, 08 Apr 2019 11:09:22 GMT\"0x8D6BC12A74454C3\"5120share155472204199900828Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E191AC7\"5120share155472204277609584155472204280601112Mon, 08 Apr 2019 11:14:02 GMT\"0x8D6BC134E94A044\"5120share155472206496708024155472206498204033Mon, 08 Apr 2019 11:14:25 GMT\"0x8D6BC135BCCCA84\"5120share155472216705901492Mon, 08 Apr 2019 11:16:07 GMT\"0x8D6BC1398D048C8\"5120share155472216898001523155472216916205107Mon, 08 Apr 2019 11:16:09 GMT\"0x8D6BC1399EAA37A\"5120share155472219103107027Mon, 08 Apr 2019 11:16:31 GMT\"0x8D6BC13A6F4AE8C\"5120share155472219425905471155472219440702152Mon, 08 Apr 2019 11:16:34 GMT\"0x8D6BC13A921A1C9\"5120share155472220033004812155472220042206911Mon, 08 Apr 2019 11:16:40 GMT\"0x8D6BC13AC8D206A\"5120share155472224824707837155472224832008824Mon, 08 Apr 2019 11:17:28 GMT\"0x8D6BC13C919E65E\"5120share155472246204805623Mon, 08 Apr 2019 11:21:02 GMT\"0x8D6BC14487717FD\"5120share155472246241309337155472246263507674Mon, 08 Apr 2019 11:21:03 GMT\"0x8D6BC14496CB4D5\"5120share155472249524904748155472249526905903Mon, 08 Apr 2019 11:21:35 GMT\"0x8D6BC145C441D54\"5120share155472278844408698Mon, 08 Apr 2019 11:26:28 GMT\"0x8D6BC150B092C7A\"5120share155472278907008129155472278920004266Mon, 08 Apr 2019 11:26:29 GMT\"0x8D6BC150B7C124C\"5120share155472284254600007155472284256208525Mon, 08 Apr 2019 11:27:22 GMT\"0x8D6BC152B4A911F\"5120share155472312229503604Mon, 08 Apr 2019 11:32:02 GMT\"0x8D6BC15D200E575\"5120share155472312412809123155472312417501747Mon, 08 Apr 2019 11:32:04 GMT\"0x8D6BC15D31D7FAE\"5120share155472315446303765155472315449505989Mon, 08 Apr 2019 11:32:34 GMT\"0x8D6BC15E5302244\"5120share155472345996309413Mon, 08 Apr 2019 11:37:39 GMT\"0x8D6BC169B4675F7\"5120share155472346051206066155472346057508799Mon, 08 Apr 2019 11:37:40 GMT\"0x8D6BC169BA35295\"5120share155472348747305567155472348748800979Mon, 08 Apr 2019 11:38:07 GMT\"0x8D6BC16ABADD753\"5120share155472371337200587Mon, 08 Apr 2019 11:41:53 GMT\"0x8D6BC1732641149\"5120share155472371674603033155472371719309773Mon, 08 Apr 2019 11:41:57 GMT\"0x8D6BC1734C4AD1D\"5120share155472377588104348155472377613206149Mon, 08 Apr 2019 11:42:56 GMT\"0x8D6BC1757CB4FB5\"5120share155472411306702730Mon, 08 Apr 2019 11:48:33 GMT\"0x8D6BC1820A06135\"5120share155472411721604937155472411760505391Mon, 08 Apr 2019 11:48:37 GMT\"0x8D6BC1823541FBE\"5120share155472417274301118155472417291606860Mon, 08 Apr 2019 11:49:33 GMT\"0x8D6BC18444D2432\"5120share155472448089705120Mon, 08 Apr 2019 11:54:41 GMT\"0x8D6BC18FBDED986\"5120share155472448370807083155472448406101169Mon, 08 Apr 2019 11:54:44 GMT\"0x8D6BC18FDC115E2\"5120share155472453427508600155472453444907889Mon, 08 Apr 2019 11:55:34 GMT\"0x8D6BC191BCCB9BF\"5120share155472855094705964Mon, 08 Apr 2019 13:02:31 GMT\"0x8D6BC2275D7C473\"5120share155472855239009959155472855247404733Mon, 08 Apr 2019 13:02:32 GMT\"0x8D6BC2276A627CE\"5120share155472856032008076Mon, 08 Apr 2019 13:02:41 GMT\"0x8D6BC227BD9467D\"5120share155472856217809292155472856226408487Mon, 08 Apr 2019 13:02:42 GMT\"0x8D6BC227C7D2423\"5120share155472856366803949Mon, 08 Apr 2019 13:02:43 GMT\"0x8D6BC227D692AC9\"5120share155472856528205546155472856545204869Mon, 08 Apr 2019 13:02:45 GMT\"0x8D6BC227E67D1EF\"5120share155472857573303054155472857578001261Mon, 08 Apr 2019 13:02:55 GMT\"0x8D6BC22848AC2B9\"5120share155472858718602344155472858722904206Mon, 08 Apr 2019 13:03:07 GMT\"0x8D6BC228B5EA846\"5120share155472859275800578Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EB057C8\"5120share155472859281003726155472859289304102Mon, 08 Apr 2019 13:03:12 GMT\"0x8D6BC228EC2C83E\"5120share155472859438304193155472859454102545Mon, 08 Apr 2019 13:03:14 GMT\"0x8D6BC228FBFC6F4\"5120share155472859997408060Mon, 08 Apr 2019 13:03:20 GMT\"0x8D6BC2293079122\"5120share155472860456904599155472860489607509Mon, 08 Apr 2019 13:03:25 GMT\"0x8D6BC2295F5DA07\"5120share155472861037200948Mon, 08 Apr 2019 13:03:30 GMT\"0x8D6BC229939EC8D\"5120share155472861305108945155472861338108485Mon, 08 Apr 2019 13:03:36 GMT\"0x8D6BC229CA157C0\"5120share155472865853408678155472865861303126Mon, 08 Apr 2019 13:04:18 GMT\"0x8D6BC22B5EF8CF3\"5120share155472868380603467155472868396900550Mon, 08 Apr 2019 13:04:44 GMT\"0x8D6BC22C517F4B3\"5120share155472868557503999155472868576501705Mon, 08 Apr 2019 13:04:45 GMT\"0x8D6BC22C62A39FA\"5120share155472879121104691Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC2304F03B40\"5120share155472879189403290155472879193803545Mon, 08 Apr 2019 13:06:31 GMT\"0x8D6BC23055F2961\"5120share155472879243008995Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305AC7850\"5120share155472879280808188155472879284409230Mon, 08 Apr 2019 13:06:32 GMT\"0x8D6BC2305EC7325\"5120share155472880698205090155472880699806109Mon, 08 Apr 2019 13:06:47 GMT\"0x8D6BC230E58A3F5\"5120share155472880814103146155472880815505990Mon, 08 Apr 2019 13:06:48 GMT\"0x8D6BC230F0B9BFB\"5120share155472881234807755Mon, 08 Apr 2019 13:06:52 GMT\"0x8D6BC2311884B12\"5120share155472881340207390155472881350205618Mon, 08 Apr 2019 13:06:53 GMT\"0x8D6BC2312387E17\"5120share155472883072301392155472883073803010Mon, 08 Apr 2019 13:07:10 GMT\"0x8D6BC231C7E23F5\"5120share155472885337806659Mon, 08 Apr 2019 13:07:33 GMT\"0x8D6BC232A11D740\"5120share155472885613805171155472885646702766Mon, 08 Apr 2019 13:07:36 GMT\"0x8D6BC232BEA3B02\"5120share155472889661305776Mon, 08 Apr 2019 13:08:16 GMT\"0x8D6BC2343CAEEAB\"5120share155472889788009681155472889803300893Mon, 08 Apr 2019 13:08:18 GMT\"0x8D6BC2344A41FDF\"5120share155472891001406580Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BDA3B1D\"5120share155472891007702393155472891023709481Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234BF5BF5B\"5120share155472891025302439Mon, 08 Apr 2019 13:08:30 GMT\"0x8D6BC234C02A1DD\"5120share155472891190208427155472891208509099Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D02D031\"5120share155472891198206893155472891216501231Mon, 08 Apr 2019 13:08:32 GMT\"0x8D6BC234D0EF9AB\"5120share155472891445805441Mon, 08 Apr 2019 13:08:34 GMT\"0x8D6BC234E6E1621\"5120share155472891568202078155472891586502301Mon, 08 Apr 2019 13:08:35 GMT\"0x8D6BC234F44AFC9\"5120share155472893112604559155472893120100232Mon, 08 Apr 2019 13:08:51 GMT\"0x8D6BC23586881C1\"5120share155472893354909897Mon, 08 Apr 2019 13:08:53 GMT\"0x8D6BC2359E9B5A9\"5120share155472893564809628155472893583008434Mon, 08 Apr 2019 13:08:55 GMT\"0x8D6BC235B2AEAA9\"5120share155472893953307706155472893962206298Mon, 08 Apr 2019 13:08:59 GMT\"0x8D6BC235D6C870E\"5120share155472894318507838155472894330704679Mon, 08 Apr 2019 13:09:03 GMT\"0x8D6BC235F9E8958\"5120share155472894681003497155472894688800449Mon, 08 Apr 2019 13:09:06 GMT\"0x8D6BC2361C272A0\"5120share155472897035005236155472897043802002Mon, 08 Apr 2019 13:09:30 GMT\"0x8D6BC236FCB801E\"5120share155472912188008460Mon, 08 Apr 2019 13:12:01 GMT\"0x8D6BC23CA09833E\"5120share155472912242309883155472912246805247Mon, 08 Apr 2019 13:12:02 GMT\"0x8D6BC23CA64647F\"5120share155472912938903083Mon, 08 Apr 2019 13:12:09 GMT\"0x8D6BC23CE8AD1E7\"5120share155472913061307138155472913077708600Mon, 08 Apr 2019 13:12:10 GMT\"0x8D6BC23CF5DF0BD\"5120share155472913125601489Mon, 08 Apr 2019 13:12:11 GMT\"0x8D6BC23CFA730AD\"5120share155472913283609927155472913298509950Mon, 08 Apr 2019 13:12:13 GMT\"0x8D6BC23D0AE8C17\"5120share155472915487105003155472915489100854Mon, 08 Apr 2019 13:12:34 GMT\"0x8D6BC23DDB68675\"5120share155472916544804385155472916552306014Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4134A09\"5120share155472916548503832155472916556105425Mon, 08 Apr 2019 13:12:45 GMT\"0x8D6BC23E4197E02\"5120share155472946012606736Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2493A69CE5\"5120share155472946068908993155472946073508657Mon, 08 Apr 2019 13:17:40 GMT\"0x8D6BC2494053C3E\"5120share155472949633202046155472949636407118Mon, 08 Apr 2019 13:18:16 GMT\"0x8D6BC24A93FE744\"5120share155472953229106299Mon, 08 Apr 2019 13:18:52 GMT\"0x8D6BC24BEB4AF41\"5120share155472953357501863155472953373103768Mon, 08 Apr 2019 13:18:53 GMT\"0x8D6BC24BF90D02A\"5120share155472956713506493155472956721301657Mon, 08 Apr 2019 13:19:27 GMT\"0x8D6BC24D386476F\"5120share155472966502508606Mon, 08 Apr 2019 13:21:05 GMT\"0x8D6BC250DCA4603\"5120share155472966597907744155472966604202953Mon, 08 Apr 2019 13:21:06 GMT\"0x8D6BC250E645809\"5120share155472968498508655155472968500103917Mon, 08 Apr 2019 13:21:25 GMT\"0x8D6BC2519AFE985\"5120share155472988433902736Mon, 08 Apr 2019 13:24:44 GMT\"0x8D6BC25909324BE\"5120share155472988724409985155472988760204301Mon, 08 Apr 2019 13:24:47 GMT\"0x8D6BC2592849B4B\"5120share155472993030607011Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25ABE51EAD\"5120share155472993075507215155472993080206083Mon, 08 Apr 2019 13:25:30 GMT\"0x8D6BC25AC3328A7\"5120share155472993914402363155472993931800672Mon, 08 Apr 2019 13:25:39 GMT\"0x8D6BC25B1574FAE\"5120share155472994748901085155472994750403825Mon, 08 Apr 2019 13:25:47 GMT\"0x8D6BC25B6263F7C\"5120share155473001947302004Mon, 08 Apr 2019 13:26:59 GMT\"0x8D6BC25E10CE3BC\"5120share155473002051606362155473002054908313Mon, 08 Apr 2019 13:27:00 GMT\"0x8D6BC25E1B35EC4\"5120share155473004648705855155473004649703999Mon, 08 Apr 2019 13:27:26 GMT\"0x8D6BC25F12ABCA1\"5120share155473016072107034Mon, 08 Apr 2019 13:29:20 GMT\"0x8D6BC26354F9473\"5120share155473016364503276155473016400103009Mon, 08 Apr 2019 13:29:24 GMT\"0x8D6BC263743A815\"5120share155473021339603603Mon, 08 Apr 2019 13:30:13 GMT\"0x8D6BC2654B5158C\"5120share155473021424106750155473021441604785Mon, 08 Apr 2019 13:30:14 GMT\"0x8D6BC2655503B1E\"5120share155473021650606398155473021685603088Mon, 08 Apr 2019 13:30:17 GMT\"0x8D6BC2656CD882A\"5120share155473026269308380155473026286901426Mon, 08 Apr 2019 13:31:03 GMT\"0x8D6BC267231CA94\"5120share155473035103103790Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6AA97EE\"5120share155473035153304048155473035158009118Mon, 08 Apr 2019 13:32:31 GMT\"0x8D6BC26A6FEFB2F\"5120share155473037272506388155473037274004114Mon, 08 Apr 2019 13:32:52 GMT\"0x8D6BC26B39B5FAF\"5120share155473049819605040Mon, 08 Apr 2019 13:34:58 GMT\"0x8D6BC26FE7673E3\"5120share155473050103008382155473050142509037Mon, 08 Apr 2019 13:35:01 GMT\"0x8D6BC2700635DFF\"5120share155473054025008839Mon, 08 Apr 2019 13:35:40 GMT\"0x8D6BC27178337FC\"5120share155473054308605886155473054343906261Mon, 08 Apr 2019 13:35:43 GMT\"0x8D6BC27196A1851\"5120share155473054870903343155473054888203021Mon, 08 Apr 2019 13:35:49 GMT\"0x8D6BC271CAB8110\"5120share155473059007607327Mon, 08 Apr 2019 13:36:30 GMT\"0x8D6BC27353A326A\"5120share155473059366105315155473059402501772Mon, 08 Apr 2019 13:36:34 GMT\"0x8D6BC273791DA87\"5120share155473060266605803155473060284208896Mon, 08 Apr 2019 13:36:42 GMT\"0x8D6BC273CD2198E\"5120share155473064357606911155473064435408339Mon, 08 Apr 2019 13:37:24 GMT\"0x8D6BC27559218D8\"5120share155473082374108141Mon, 08 Apr 2019 13:40:23 GMT\"0x8D6BC27C07F8583\"5120share155473082651508300155473082686007339Mon, 08 Apr 2019 13:40:27 GMT\"0x8D6BC27C25B3DFF\"5120share155473087260606566155473087278203141Mon, 08 Apr 2019 13:41:12 GMT\"0x8D6BC27DDBAB773\"5120share155473091696409658Mon, 08 Apr 2019 13:41:57 GMT\"0x8D6BC27F8105DF2\"5120share155473092104706246155473092139602510Mon, 08 Apr 2019 13:42:01 GMT\"0x8D6BC27FAB44C17\"5120share155473103328506254155473103346108302Mon, 08 Apr 2019 13:43:53 GMT\"0x8D6BC283D8145CD\"5120share155473133348900275Mon, 08 Apr 2019 13:48:53 GMT\"0x8D6BC28F0562800\"5120share155473133641905218155473133676805608Mon, 08 Apr 2019 13:48:56 GMT\"0x8D6BC28F24A93FA\"5120share155473138457402066155473138474908082Mon, 08 Apr 2019 13:49:45 GMT\"0x8D6BC290EF52FE8\"5120share155473419080304153Mon, 08 Apr 2019 14:36:30 GMT\"0x8D6BC2F97732CFC\"5120share155473419365800817155473419382602756Mon, 08 Apr 2019 14:36:33 GMT\"0x8D6BC2F992DFF3C\"5120share155473421466607871Mon, 08 Apr 2019 14:36:54 GMT\"0x8D6BC2FA5BA6AEB\"5120share155473421635506352155473421652306205Mon, 08 Apr 2019 14:36:56 GMT\"0x8D6BC2FA6B4853A\"5120share155473422402809012155473422411202007Mon, 08 Apr 2019 14:37:04 GMT\"0x8D6BC2FAB3B4F2B\"5120share155473423347103300Mon, 08 Apr 2019 14:37:14 GMT\"0x8D6BC2FB1A4AC26\"5120share155473423963007764155473423996109344Mon, 08 Apr 2019 14:37:20 GMT\"0x8D6BC2FB4B923A2\"5120share155473424644901018155473424653402397Mon, 08 Apr 2019 14:37:26 GMT\"0x8D6BC2FB897E295\"5120share155473425057902422Mon, 08 Apr 2019 14:37:30 GMT\"0x8D6BC2FBB0CFAC3\"5120share155473425521309931155473425553507393Mon, 08 Apr 2019 14:37:35 GMT\"0x8D6BC2FBE0153D1\"5120share155473428819308505155473428835809325Mon, 08 Apr 2019 14:38:08 GMT\"0x8D6BC2FD191EC8D\"5120share155473430398307530155473430415601116Mon, 08 Apr 2019 14:38:24 GMT\"0x8D6BC2FDAFCD3CA\"5120share155473444829502736Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC3030D3FEF9\"5120share155473444885204661155473444888103257Mon, 08 Apr 2019 14:40:48 GMT\"0x8D6BC30312D73D3\"5120share155473446739109486155473446744407340Mon, 08 Apr 2019 14:41:07 GMT\"0x8D6BC303C3F7578\"5120share155473447118803434Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303E792FBD\"5120share155473447149009693155473447154508068Mon, 08 Apr 2019 14:41:11 GMT\"0x8D6BC303EAFF271\"5120share155473448801104504155473448802709932Mon, 08 Apr 2019 14:41:28 GMT\"0x8D6BC304883AF71\"5120share155473450198203199Mon, 08 Apr 2019 14:41:42 GMT\"0x8D6BC3050E61990\"5120share155473450471305879155473450503806574Mon, 08 Apr 2019 14:41:45 GMT\"0x8D6BC3052B8A414\"5120share155473450704204579Mon, 08 Apr 2019 14:41:47 GMT\"0x8D6BC3053DEF142\"5120share155473450855306043155473450872307814Mon, 08 Apr 2019 14:41:48 GMT\"0x8D6BC3054DF5FA3\"5120share155473452656102693Mon, 08 Apr 2019 14:42:06 GMT\"0x8D6BC305F832E74\"5120share155473452751203866155473452759608707Mon, 08 Apr 2019 14:42:07 GMT\"0x8D6BC306019B7BE\"5120share155473453016401763Mon, 08 Apr 2019 14:42:10 GMT\"0x8D6BC3061A718A5\"5120share155473453144608682155473453159403269Mon, 08 Apr 2019 14:42:11 GMT\"0x8D6BC306280AC92\"5120share155473453662701273155473453671007534Mon, 08 Apr 2019 14:42:16 GMT\"0x8D6BC30658DA53B\"5120share155473454493806127Mon, 08 Apr 2019 14:42:25 GMT\"0x8D6BC306A80FFCA\"5120share155473454766406718155473454798605644Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306C526A63\"5120share155473454885408589155473454889408297Mon, 08 Apr 2019 14:42:28 GMT\"0x8D6BC306CCBAC1B\"5120share155473455531307272155473455547503726Mon, 08 Apr 2019 14:42:35 GMT\"0x8D6BC3070C880EF\"5120share155473456298508198155473456305604832Mon, 08 Apr 2019 14:42:43 GMT\"0x8D6BC30754176D8\"5120share155473457035304465Mon, 08 Apr 2019 14:42:50 GMT\"0x8D6BC3079AD1280\"5120share155473457207902291155473457226309592Mon, 08 Apr 2019 14:42:52 GMT\"0x8D6BC307ABD6939\"5120share155473457381405301Mon, 08 Apr 2019 14:42:53 GMT\"0x8D6BC307BA554F0\"5120share155473457424906501155473457433400772Mon, 08 Apr 2019 14:42:54 GMT\"0x8D6BC307BF5A02B\"5120share155473459079300332155473459095407127Mon, 08 Apr 2019 14:43:11 GMT\"0x8D6BC3085EEA6C0\"5120share155473459710804634155473459712507679Mon, 08 Apr 2019 14:43:17 GMT\"0x8D6BC3089893A07\"5120share155473460239208483155473460248307905Mon, 08 Apr 2019 14:43:22 GMT\"0x8D6BC308CC03D5B\"5120share155473460627301747Mon, 08 Apr 2019 14:43:26 GMT\"0x8D6BC308F166326\"5120share155473461191303184155473461215007685Mon, 08 Apr 2019 14:43:32 GMT\"0x8D6BC309283A21C\"5120share155473465896305363155473465905601441Mon, 08 Apr 2019 14:44:19 GMT\"0x8D6BC30AE7954B9\"5120share155473475957902774Mon, 08 Apr 2019 14:45:59 GMT\"0x8D6BC30EA6481FA\"5120share155473476083109353155473476097609742Mon, 08 Apr 2019 14:46:01 GMT\"0x8D6BC30EB39884A\"5120share155473476726807566Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EEF33FDC\"5120share155473476746100635Mon, 08 Apr 2019 14:46:07 GMT\"0x8D6BC30EF23300D\"5120share155473477012302696155473477045003815Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F0EB24C0\"5120share155473477072405685Mon, 08 Apr 2019 14:46:10 GMT\"0x8D6BC30F11D1338\"5120share155473477140802459155473477144704421Mon, 08 Apr 2019 14:46:11 GMT\"0x8D6BC30F170F086\"5120share155473477249206448155473477266401927Mon, 08 Apr 2019 14:46:12 GMT\"0x8D6BC30F2329512\"5120share155473478823203814155473478825205786Mon, 08 Apr 2019 14:46:28 GMT\"0x8D6BC30FB75293E\"5120share155473479136803374Mon, 08 Apr 2019 14:46:31 GMT\"0x8D6BC30FD57C6D6\"5120share155473479266204971155473479281803186Mon, 08 Apr 2019 14:46:32 GMT\"0x8D6BC30FE3534B2\"5120share155473480100304003155473480112603676Mon, 08 Apr 2019 14:46:41 GMT\"0x8D6BC310329D9D4\"5120share155473480306601561155473480314406594Mon, 08 Apr 2019 14:46:43 GMT\"0x8D6BC31045BEA29\"5120share155473480640000894Mon, 08 Apr 2019 14:46:46 GMT\"0x8D6BC3106588942\"5120share155473480909907513155473480941802582Mon, 08 Apr 2019 14:46:49 GMT\"0x8D6BC3108258412\"5120share155473482284601258155473482302000606Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC3110403003\"5120share155473482346807389155473482354003411Mon, 08 Apr 2019 14:47:03 GMT\"0x8D6BC311084DD46\"5120share155473486075707188155473486108207129Mon, 08 Apr 2019 14:47:41 GMT\"0x8D6BC3126EFFE93\"5120share155473491634009737Mon, 08 Apr 2019 14:48:36 GMT\"0x8D6BC3148074DE4\"5120share155473491776103356Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC3149271C83\"5120share155473491829107624155473491848606435Mon, 08 Apr 2019 14:48:38 GMT\"0x8D6BC31491B7485\"5120share155473492039605902155473492058008609Mon, 08 Apr 2019 14:48:40 GMT\"0x8D6BC314A5A3B77\"5120share155473494644803778155473494654101281Mon, 08 Apr 2019 14:49:06 GMT\"0x8D6BC3159D3BB81\"5120share155473494988505571155473494997503463Mon, 08 Apr 2019 14:49:10 GMT\"0x8D6BC315BDF5889\"5120share155473504589508380Mon, 08 Apr 2019 14:50:45 GMT\"0x8D6BC31950DBB93\"5120share155473504755106401155473504772905196Mon, 08 Apr 2019 14:50:47 GMT\"0x8D6BC319625F582\"5120share155473507333906486155473507341004547Mon, 08 Apr 2019 14:51:13 GMT\"0x8D6BC31A5735C1B\"5120share155473508082805354Mon, 08 Apr 2019 14:51:20 GMT\"0x8D6BC31A9EAA61F\"5120share155473508343703505155473508378405955Mon, 08 Apr 2019 14:51:23 GMT\"0x8D6BC31ABAE240D\"5120share155473511673807490Mon, 08 Apr 2019 14:51:56 GMT\"0x8D6BC31BF405B40\"5120share155473511726907503155473511731603497Mon, 08 Apr 2019 14:51:57 GMT\"0x8D6BC31BF9744D7\"5120share155473512676901896Mon, 08 Apr 2019 14:52:06 GMT\"0x8D6BC31C545BA7B\"5120share155473512807902236155473512825108944Mon, 08 Apr 2019 14:52:08 GMT\"0x8D6BC31C6275C62\"5120share155473513050407263155473513067905072Mon, 08 Apr 2019 14:52:10 GMT\"0x8D6BC31C7A1FF9F\"5120share155473513462203992155473513463806811Mon, 08 Apr 2019 14:52:14 GMT\"0x8D6BC31C9EB6C87\"5120share155473515791202563155473515797500387Mon, 08 Apr 2019 14:52:38 GMT\"0x8D6BC31D7E08B0F\"5120share155473540087503802Mon, 08 Apr 2019 14:56:40 GMT\"0x8D6BC32689704D3\"5120share155473540135308638155473540140007991Mon, 08 Apr 2019 14:56:41 GMT\"0x8D6BC3268E7DC90\"5120share155473541865302883Mon, 08 Apr 2019 14:56:58 GMT\"0x8D6BC32734A2927\"5120share155473542133905271155473542168206950Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC32751882E8\"5120share155473542163709330155473542168408080Mon, 08 Apr 2019 14:57:01 GMT\"0x8D6BC3274FF8FE4\"5120share155473545874807881Mon, 08 Apr 2019 14:57:38 GMT\"0x8D6BC328B1BFAF9\"5120share155473545934304563155473545945208605Mon, 08 Apr 2019 14:57:39 GMT\"0x8D6BC328B8BF073\"5120share155473546811406701155473546830200544Mon, 08 Apr 2019 14:57:48 GMT\"0x8D6BC3290E73592\"5120share155473546996700257Mon, 08 Apr 2019 14:57:49 GMT\"0x8D6BC3291C9FD28\"5120share155473547032804613155473547035904086Mon, 08 Apr 2019 14:57:50 GMT\"0x8D6BC329207D3FE\"5120share155473547643107314155473547644703911Mon, 08 Apr 2019 14:57:56 GMT\"0x8D6BC3295A9340F\"5120share155473550717605678155473550719206836Mon, 08 Apr 2019 14:58:27 GMT\"0x8D6BC32A7FBCAFA\"5120share155473570285307598Mon, 08 Apr 2019 15:01:42 GMT\"0x8D6BC331CA187F6\"5120share155473570414402008155473570428906711Mon, 08 Apr 2019 15:01:44 GMT\"0x8D6BC331D7C0D0A\"5120share155473573312304189155473573318500333Mon, 08 Apr 2019 15:02:13 GMT\"0x8D6BC332EB6100B\"5120share155473576580407113Mon, 08 Apr 2019 15:02:45 GMT\"0x8D6BC33421F5A27\"5120share155473576613205186155473576618304618Mon, 08 Apr 2019 15:02:46 GMT\"0x8D6BC334258F41B\"5120share155473578765705355155473578767306787Mon, 08 Apr 2019 15:03:07 GMT\"0x8D6BC334F2922D1\"5120share155473578934909083Mon, 08 Apr 2019 15:03:09 GMT\"0x8D6BC33503B037A\"5120share155473579710504080155473579792000573Mon, 08 Apr 2019 15:03:18 GMT\"0x8D6BC3355570EAD\"5120share155473581512706676Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335F851F43\"5120share155473581554903183155473581559605594Mon, 08 Apr 2019 15:03:35 GMT\"0x8D6BC335FCD21A0\"5120share155473583169403864155473583171007928Mon, 08 Apr 2019 15:03:51 GMT\"0x8D6BC336968FE48\"5120share155473584151407616155473584166900204Mon, 08 Apr 2019 15:04:01 GMT\"0x8D6BC336F6BEF3F\"5120share155473599014106282Mon, 08 Apr 2019 15:06:30 GMT\"0x8D6BC33C7EA549A\"5120share155473599315900980155473599355000904Mon, 08 Apr 2019 15:06:33 GMT\"0x8D6BC33C9F29249\"5120share155473604520700164155473604539400204Mon, 08 Apr 2019 15:07:25 GMT\"0x8D6BC33E8F9FDB7\"5120share155473606941100702Mon, 08 Apr 2019 15:07:49 GMT\"0x8D6BC33F7280CEB\"5120share155473607238805976155473607274809222Mon, 08 Apr 2019 15:07:52 GMT\"0x8D6BC33F9249098\"5120share155473611057600702Mon, 08 Apr 2019 15:08:30 GMT\"0x8D6BC340FA2E13C\"5120share155473611092106791155473611096707735Mon, 08 Apr 2019 15:08:31 GMT\"0x8D6BC340FDDE96B\"5120share155473612535100765155473612556701005Mon, 08 Apr 2019 15:08:45 GMT\"0x8D6BC3418A091D9\"5120share155473612778602729155473612781702150Mon, 08 Apr 2019 15:08:47 GMT\"0x8D6BC3419E8023E\"5120share155473635249902796Mon, 08 Apr 2019 15:12:32 GMT\"0x8D6BC349FE5CFD9\"5120share155473635542207038155473635579507042Mon, 08 Apr 2019 15:12:35 GMT\"0x8D6BC34A1DBD6B1\"5120share155473637099800926Mon, 08 Apr 2019 15:12:51 GMT\"0x8D6BC34AAE96E2A\"5120share155473637336209277155473637364305088Mon, 08 Apr 2019 15:12:53 GMT\"0x8D6BC34AC7D5496\"5120share155473640657006048155473640674303374Mon, 08 Apr 2019 15:13:26 GMT\"0x8D6BC34C038E5B6\"5120share155473640789802199Mon, 08 Apr 2019 15:13:28 GMT\"0x8D6BC34C0E9E276\"5120share155473641079805966155473641115205580Mon, 08 Apr 2019 15:13:31 GMT\"0x8D6BC34C2DA977F\"5120share155473642254503233155473642270104923Mon, 08 Apr 2019 15:13:42 GMT\"0x8D6BC34C9BA4706\"5120share155473647554301408Mon, 08 Apr 2019 15:14:35 GMT\"0x8D6BC34E93D7C8F\"5120share155473647857300940155473647893707155Mon, 08 Apr 2019 15:14:39 GMT\"0x8D6BC34EB4276BE\"5120share155473652457008250155473652474903372Mon, 08 Apr 2019 15:15:24 GMT\"0x8D6BC350690B81C\"5120share155473652560500457155473652577809590Mon, 08 Apr 2019 15:15:25 GMT\"0x8D6BC35072D5459\"5120share155473670806203485Mon, 08 Apr 2019 15:18:28 GMT\"0x8D6BC3573D380A0\"5120share155473671095607303155473671130406741Mon, 08 Apr 2019 15:18:31 GMT\"0x8D6BC3575C2A2FC\"5120share155473674273801051Mon, 08 Apr 2019 15:19:02 GMT\"0x8D6BC35887F7270\"5120share155473674601006727155473674636602284Mon, 08 Apr 2019 15:19:06 GMT\"0x8D6BC358AA8C28E\"5120share155473676553905931155473676583602877Mon, 08 Apr 2019 15:19:25 GMT\"0x8D6BC359642887A\"5120share155473679548202593155473679565909714Mon, 08 Apr 2019 15:19:55 GMT\"0x8D6BC35A80AE264\"5120share155473686802409334Mon, 08 Apr 2019 15:21:08 GMT\"0x8D6BC35D32BE4F1\"5120share155473687084103771155473687119904765Mon, 08 Apr 2019 15:21:11 GMT\"0x8D6BC35D51023E2\"5120share155473689718209043Mon, 08 Apr 2019 15:21:37 GMT\"0x8D6BC35E48C5A6E\"5120share155473690003202575155473690038306662Mon, 08 Apr 2019 15:21:40 GMT\"0x8D6BC35E6753C30\"5120share155473692570603487155473692589603604Mon, 08 Apr 2019 15:22:06 GMT\"0x8D6BC35F5A9C8C6\"5120share155473694547006047155473694564405606Mon, 08 Apr 2019 15:22:25 GMT\"0x8D6BC36016FD1FA\"5120share155473710422903975Mon, 08 Apr 2019 15:25:04 GMT\"0x8D6BC365FF3A44B\"5120share155473710726803348155473710762206301Mon, 08 Apr 2019 15:25:07 GMT\"0x8D6BC3661FA21A2\"5120share155473712980409197Mon, 08 Apr 2019 15:25:29 GMT\"0x8D6BC366F335D07\"5120share155473713295307278155473713334900217Mon, 08 Apr 2019 15:25:33 GMT\"0x8D6BC367150A1CF\"5120share155473715357508120155473715375103679Mon, 08 Apr 2019 15:25:53 GMT\"0x8D6BC367D773379\"5120share155473717923909016155473717941808839Mon, 08 Apr 2019 15:26:19 GMT\"0x8D6BC368CC5F34E\"5120share155473747769904699Mon, 08 Apr 2019 15:31:17 GMT\"0x8D6BC373E93904E\"5120share155473748071405205155473748108105811Mon, 08 Apr 2019 15:31:21 GMT\"0x8D6BC374095A2E4\"5120share155473753005202135155473753023108048Mon, 08 Apr 2019 15:32:10 GMT\"0x8D6BC375DE09D13\"5120share155473948835202134Mon, 08 Apr 2019 16:04:48 GMT\"0x8D6BC3BECF939E7\"5120share155473948933109534155473948941307935Mon, 08 Apr 2019 16:04:49 GMT\"0x8D6BC3BED92E329\"5120share155473949761606382Mon, 08 Apr 2019 16:04:57 GMT\"0x8D6BC3BF2732BBE\"5120share155473949799001145155473949801708441Mon, 08 Apr 2019 16:04:58 GMT\"0x8D6BC3BF2B07273\"5120share155473951017007937155473951025903980Mon, 08 Apr 2019 16:05:10 GMT\"0x8D6BC3BF9FFE66B\"5120share155473951340407009155473951341609626Mon, 08 Apr 2019 16:05:13 GMT\"0x8D6BC3BFBDE60C8\"5120share155473953991108413Mon, 08 Apr 2019 16:05:40 GMT\"0x8D6BC3C0BDC1FB6\"5120share155473954320004620155473954353308452Mon, 08 Apr 2019 16:05:43 GMT\"0x8D6BC3C0DE76705\"5120share155473954799505772Mon, 08 Apr 2019 16:05:49 GMT\"0x8D6BC3C1150A660\"5120share155473955429103705155473955617200174Mon, 08 Apr 2019 16:05:56 GMT\"0x8D6BC3C15706272\"5120share155473959536203873155473959553202967Mon, 08 Apr 2019 16:06:35 GMT\"0x8D6BC3C2CE5AEE3\"5120share155473960405107051155473960421504781Mon, 08 Apr 2019 16:06:44 GMT\"0x8D6BC3C3211DE08\"5120share155473971175505074Mon, 08 Apr 2019 16:08:31 GMT\"0x8D6BC3C7231FB97\"5120share155473971336305849155473971356703112Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C73351960\"5120share155473971348402768Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7320D102\"5120share155473971380809201155473971384101973Mon, 08 Apr 2019 16:08:33 GMT\"0x8D6BC3C7357062C\"5120share155473972746708476155473972748002650Mon, 08 Apr 2019 16:08:47 GMT\"0x8D6BC3C7B78115A\"5120share155473974796501931155473974804802831Mon, 08 Apr 2019 16:09:08 GMT\"0x8D6BC3C87C1A66B\"5120share155473982991308873Mon, 08 Apr 2019 16:10:30 GMT\"0x8D6BC3CB89EEB4F\"5120share155473983165307311155473983183507080Mon, 08 Apr 2019 16:10:31 GMT\"0x8D6BC3CB9B09319\"5120share155473987452302874Mon, 08 Apr 2019 16:11:14 GMT\"0x8D6BC3CD336A0D3\"5120share155473987630005857155473987648508819Mon, 08 Apr 2019 16:11:16 GMT\"0x8D6BC3CD44B29DE\"5120share155473988002501138155473988011500836Mon, 08 Apr 2019 16:11:20 GMT\"0x8D6BC3CD6770663\"5120share155473990554307953155473990563408863Mon, 08 Apr 2019 16:11:45 GMT\"0x8D6BC3CE5AAB38B\"5120share155473992325308801Mon, 08 Apr 2019 16:12:03 GMT\"0x8D6BC3CF02FD95D\"5120share155473992552700191155473992579406764Mon, 08 Apr 2019 16:12:05 GMT\"0x8D6BC3CF1B3CFCD\"5120share155473995701903272155473995709800218Mon, 08 Apr 2019 16:12:37 GMT\"0x8D6BC3D045BF61B\"5120share155473996033701859Mon, 08 Apr 2019 16:12:40 GMT\"0x8D6BC3D065500D9\"5120share155473996306703342155473996338809095Mon, 08 Apr 2019 16:12:43 GMT\"0x8D6BC3D08273FBB\"5120share155474001203201466155474001219306818Mon, 08 Apr 2019 16:13:32 GMT\"0x8D6BC3D253ECF12\"5120share155474022752502668Mon, 08 Apr 2019 16:17:07 GMT\"0x8D6BC3DA58B4EC3\"5120share155474022883807337155474022899102360Mon, 08 Apr 2019 16:17:09 GMT\"0x8D6BC3DA66B413A\"5120share155474026368506311155474026376001016Mon, 08 Apr 2019 16:17:43 GMT\"0x8D6BC3DBB2470FF\"5120share155474027191009670Mon, 08 Apr 2019 16:17:51 GMT\"0x8D6BC3DC00037D1\"5120share155474027317107051155474027345603228Mon, 08 Apr 2019 16:17:53 GMT\"0x8D6BC3DC0EC5C98\"5120share155474030699904722155474030707806924Mon, 08 Apr 2019 16:18:27 GMT\"0x8D6BC3DD4F722C0\"5120share155474058573208591Mon, 08 Apr 2019 16:23:05 GMT\"0x8D6BC3E7B07EC34\"5120share155474058631100433155474058635707803Mon, 08 Apr 2019 16:23:06 GMT\"0x8D6BC3E7B67E06E\"5120share155474060436006648155474060439106751Mon, 08 Apr 2019 16:23:24 GMT\"0x8D6BC3E86265EA1\"5120share155474064796409027Mon, 08 Apr 2019 16:24:07 GMT\"0x8D6BC3EA0201A02\"5120share155474064840309943155474064844902242Mon, 08 Apr 2019 16:24:08 GMT\"0x8D6BC3EA06B5B8D\"5120share155474067289302482155474067292503013Mon, 08 Apr 2019 16:24:32 GMT\"0x8D6BC3EAF00AFEE\"5120share155474086901801882Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F23E282B1\"5120share155474086954109748155474086958803624Mon, 08 Apr 2019 16:27:49 GMT\"0x8D6BC3F24374811\"5120share155474088621300424155474088622906592Mon, 08 Apr 2019 16:28:06 GMT\"0x8D6BC3F2E2332FA\"5120share155474093395702129Mon, 08 Apr 2019 16:28:54 GMT\"0x8D6BC3F4A9D178A\"5120share155474093519404097155474093535009888Mon, 08 Apr 2019 16:28:55 GMT\"0x8D6BC3F4B7159A6\"5120share155474096256205947155474096264104492Mon, 08 Apr 2019 16:29:22 GMT\"0x8D6BC3F5BB55B22\"5120share155474120234905361Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEA8F38F7\"5120share155474120277303521155474120282004590Mon, 08 Apr 2019 16:33:22 GMT\"0x8D6BC3FEAD6B1F4\"5120share155474122235007706155474122238101841Mon, 08 Apr 2019 16:33:42 GMT\"0x8D6BC3FF67E28D8\"5120share155474130460202574Mon, 08 Apr 2019 16:35:04 GMT\"0x8D6BC4027827D1E\"5120share155474130505607014155474130510207894Mon, 08 Apr 2019 16:35:05 GMT\"0x8D6BC4027CE6AB0\"5120share155474132647203580155474132648706944Mon, 08 Apr 2019 16:35:26 GMT\"0x8D6BC40348D5AE5\"5120share155474145926306657Mon, 08 Apr 2019 16:37:39 GMT\"0x8D6BC4083C48D46\"5120share155474146223405247155474146260700472Mon, 08 Apr 2019 16:37:42 GMT\"0x8D6BC4085C2BC8D\"5120share155474150898003062155474150915407050Mon, 08 Apr 2019 16:38:29 GMT\"0x8D6BC40A17F8E16\"5120share155474154328005331Mon, 08 Apr 2019 16:39:03 GMT\"0x8D6BC40B5D7588F\"5120share155474154615909592155474154651809449Mon, 08 Apr 2019 16:39:06 GMT\"0x8D6BC40B7C61D1A\"5120share155474160184400659155474160202305300Mon, 08 Apr 2019 16:40:02 GMT\"0x8D6BC40D8D9D9ED\"5120share155474185416600555Mon, 08 Apr 2019 16:44:14 GMT\"0x8D6BC416F233C68\"5120share155474185723002510155474185758501557Mon, 08 Apr 2019 16:44:17 GMT\"0x8D6BC41712CFFA6\"5120share155474190327502820155474190345208840Mon, 08 Apr 2019 16:45:03 GMT\"0x8D6BC418C848342\"5120share155474190490704897Mon, 08 Apr 2019 16:45:05 GMT\"0x8D6BC418D621561\"5120share155474190776907277155474190812601855Mon, 08 Apr 2019 16:45:08 GMT\"0x8D6BC418F4CE08B\"5120share155474196241703778155474196259800062Mon, 08 Apr 2019 16:46:02 GMT\"0x8D6BC41AFC3DCE9\"5120share155474220129806013Mon, 08 Apr 2019 16:50:01 GMT\"0x8D6BC423E133CD2\"5120share155474220456406280155474220494907802Mon, 08 Apr 2019 16:50:05 GMT\"0x8D6BC42403CC9EA\"5120share155474225992109422155474226010703254Mon, 08 Apr 2019 16:51:00 GMT\"0x8D6BC42611C57BE\"5120share155474226931208866Mon, 08 Apr 2019 16:51:09 GMT\"0x8D6BC4266952B13\"5120share155474227223302689155474227258508558Mon, 08 Apr 2019 16:51:12 GMT\"0x8D6BC4268893BA8\"5120share155474232327306240155474232345203219Mon, 08 Apr 2019 16:52:03 GMT\"0x8D6BC4286D91D07\"5120share155474395428107727Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652D4C42C\"5120share155474395452802100155474395455608057Mon, 08 Apr 2019 17:19:14 GMT\"0x8D6BC4652FEBFA5\"5120share155474397065201372155474397066502723Mon, 08 Apr 2019 17:19:30 GMT\"0x8D6BC465C9898E6\"5120share155474400115800733Mon, 08 Apr 2019 17:20:01 GMT\"0x8D6BC466ECED480\"5120share155474400363001910155474400379000022Mon, 08 Apr 2019 17:20:03 GMT\"0x8D6BC4670608DBE\"5120share155474403669903880155474403677708604Mon, 08 Apr 2019 17:20:36 GMT\"0x8D6BC4684093633\"5120share155474419672100811Mon, 08 Apr 2019 17:23:16 GMT\"0x8D6BC46E3613195\"5120share155474419764009306155474419772402506Mon, 08 Apr 2019 17:23:17 GMT\"0x8D6BC46E3F21E5B\"5120share155474422388106104155474422392207070Mon, 08 Apr 2019 17:23:43 GMT\"0x8D6BC46F38FA2DB\"5120share155474423646003586Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB075CAA\"5120share155474423673307035155474423676300424Mon, 08 Apr 2019 17:23:56 GMT\"0x8D6BC46FB346115\"5120share155474424402506390Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FF8AB361\"5120share155474424449101262155474424456708485Mon, 08 Apr 2019 17:24:04 GMT\"0x8D6BC46FFDCA1DF\"5120share155474425601609100155474425602909189Mon, 08 Apr 2019 17:24:16 GMT\"0x8D6BC4706B02D7E\"5120share155474427118802638155474427121009813Mon, 08 Apr 2019 17:24:31 GMT\"0x8D6BC470FBE0D2D\"5120share155474428001309991Mon, 08 Apr 2019 17:24:40 GMT\"0x8D6BC4715045886\"5120share155474428159504724155474428175001137Mon, 08 Apr 2019 17:24:41 GMT\"0x8D6BC47160D398B\"5120share155474431811601666155474431819004651Mon, 08 Apr 2019 17:25:18 GMT\"0x8D6BC472BC57B36\"5120share155474441621600039Mon, 08 Apr 2019 17:26:56 GMT\"0x8D6BC47664CFDB3\"5120share155474441808000887155474441826501887Mon, 08 Apr 2019 17:26:58 GMT\"0x8D6BC47676B5E28\"5120share155474444280401127Mon, 08 Apr 2019 17:27:22 GMT\"0x8D6BC4776037219\"5120share155474444312107191155474444315009298Mon, 08 Apr 2019 17:27:23 GMT\"0x8D6BC477638688C\"5120share155474444907607144155474444916600860Mon, 08 Apr 2019 17:27:29 GMT\"0x8D6BC4779D51767\"5120share155474446097609507155474446099204230Mon, 08 Apr 2019 17:27:41 GMT\"0x8D6BC4780DAFC9D\"5120share155474446503807882Mon, 08 Apr 2019 17:27:45 GMT\"0x8D6BC478357DE0F\"5120share155474446772807781155474446805003083Mon, 08 Apr 2019 17:27:48 GMT\"0x8D6BC47852352EF\"5120share155474453274207529155474453290606263Mon, 08 Apr 2019 17:28:53 GMT\"0x8D6BC47ABCD89D2\"5120share155474456707309057Mon, 08 Apr 2019 17:29:27 GMT\"0x8D6BC47C01E9B8E\"5120share155474456856906969155474456873102857Mon, 08 Apr 2019 17:29:28 GMT\"0x8D6BC47C11BABE1\"5120share155474459866304821155474459879204899Mon, 08 Apr 2019 17:29:58 GMT\"0x8D6BC47D30694D4\"5120share155474460938005724Mon, 08 Apr 2019 17:30:09 GMT\"0x8D6BC47D9696D4A\"5120share155474461109303504155474461129505111Mon, 08 Apr 2019 17:30:11 GMT\"0x8D6BC47DA77FFFD\"5120share155474464325008544155474464333905921Mon, 08 Apr 2019 17:30:43 GMT\"0x8D6BC47ED91A19C\"5120share155474476466104389Mon, 08 Apr 2019 17:32:44 GMT\"0x8D6BC4835E350D0\"5120share155474476781604399155474476797007813Mon, 08 Apr 2019 17:32:48 GMT\"0x8D6BC4837DC08B7\"5120share155474480038605885155474480046100073Mon, 08 Apr 2019 17:33:20 GMT\"0x8D6BC484B3A3D4F\"5120share155474492660408902Mon, 08 Apr 2019 17:35:26 GMT\"0x8D6BC48966A5D95\"5120share155474492789003702155474492806209895Mon, 08 Apr 2019 17:35:28 GMT\"0x8D6BC4897485BA7\"5120share155474495477607990155474495485501755Mon, 08 Apr 2019 17:35:54 GMT\"0x8D6BC48A7424CAA\"5120share155474510686309923Mon, 08 Apr 2019 17:38:26 GMT\"0x8D6BC4901D74A82\"5120share155474510733205807155474510739507235Mon, 08 Apr 2019 17:38:27 GMT\"0x8D6BC4902289FBC\"5120share155474512958602801155474512961701409Mon, 08 Apr 2019 17:38:49 GMT\"0x8D6BC490F660BF7\"5120share155474528378801613Mon, 08 Apr 2019 17:41:23 GMT\"0x8D6BC496B4DCE46\"5120share155474528428104775155474528432801850Mon, 08 Apr 2019 17:41:24 GMT\"0x8D6BC496B9F1952\"5120share155474530034400913155474530037609036Mon, 08 Apr 2019 17:41:40 GMT\"0x8D6BC4975307733\"5120share155474532759507612Mon, 08 Apr 2019 17:42:07 GMT\"0x8D6BC498570D5C7\"5120share155474532839002825155474532846907369Mon, 08 Apr 2019 17:42:08 GMT\"0x8D6BC4985EBDD8C\"5120share155474535921501065155474535929800232Mon, 08 Apr 2019 17:42:39 GMT\"0x8D6BC49984C13E3\"5120share155474537100109299Mon, 08 Apr 2019 17:42:51 GMT\"0x8D6BC499F4C10CA\"5120share155474537235108861155474537250407032Mon, 08 Apr 2019 17:42:52 GMT\"0x8D6BC49A0305CFF\"5120share155474541020101924155474541028002160Mon, 08 Apr 2019 17:43:30 GMT\"0x8D6BC49B6B4AF7E\"5120share155474544328204718Mon, 08 Apr 2019 17:44:03 GMT\"0x8D6BC49CA608EEF\"5120share155474544450809675155474544464306068Mon, 08 Apr 2019 17:44:04 GMT\"0x8D6BC49CB30EE65\"5120share155474547397901682155474547404107590Mon, 08 Apr 2019 17:44:34 GMT\"0x8D6BC49DCB70CEE\"5120share155474556387801910Mon, 08 Apr 2019 17:46:04 GMT\"0x8D6BC4A125905BF\"5120share155474556547705866155474556565103636Mon, 08 Apr 2019 17:46:05 GMT\"0x8D6BC4A135404E9\"5120share155474560156806705155474560165207088Mon, 08 Apr 2019 17:46:41 GMT\"0x8D6BC4A28C98302\"5120share155474560980908891Mon, 08 Apr 2019 17:46:49 GMT\"0x8D6BC4A2DA3B8E2\"5120share155474561182205540155474561197600824Mon, 08 Apr 2019 17:46:52 GMT\"0x8D6BC4A2EEE39CE\"5120share155474564080602364155474564088209498Mon, 08 Apr 2019 17:47:20 GMT\"0x8D6BC4A40288917\"5120share155474566731408854Mon, 08 Apr 2019 17:47:47 GMT\"0x8D6BC4A4FEA5939\"5120share155474566853502348155474566872402545Mon, 08 Apr 2019 17:47:48 GMT\"0x8D6BC4A50BFC502\"5120share155474569590807294155474569598604999Mon, 08 Apr 2019 17:48:16 GMT\"0x8D6BC4A60FFBEB6\"5120share155474604565500976Mon, 08 Apr 2019 17:54:05 GMT\"0x8D6BC4B3166FA66\"5120share155474604628207297155474604631306384Mon, 08 Apr 2019 17:54:06 GMT\"0x8D6BC4B31CABCDE\"5120share155474606600908658155474606602509076Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3D89E538\"5120share155474606603205608Mon, 08 Apr 2019 17:54:26 GMT\"0x8D6BC4B3DA28FD4\"5120share155474606780105190155474606799103841Mon, 08 Apr 2019 17:54:28 GMT\"0x8D6BC4B3EBA25ED\"5120share155474610134800398155474610144002605Mon, 08 Apr 2019 17:55:01 GMT\"0x8D6BC4B52AA1A8E\"5120share155474619445207539Mon, 08 Apr 2019 17:56:34 GMT\"0x8D6BC4B8A26DB79\"5120share155474619701203581155474619733105936Mon, 08 Apr 2019 17:56:37 GMT\"0x8D6BC4B8BDEA41E\"5120share155474624396206673155474624412309828Mon, 08 Apr 2019 17:57:24 GMT\"0x8D6BC4BA7C2EA49\"5120share155474635564303302Mon, 08 Apr 2019 17:59:15 GMT\"0x8D6BC4BEA3C58B3\"5120share155474635860300315155474635896907344Mon, 08 Apr 2019 17:59:19 GMT\"0x8D6BC4BEC382947\"5120share155474640507900921155474640526006359Mon, 08 Apr 2019 18:00:05 GMT\"0x8D6BC4C07C7F4A3\"5120share155474645415109948Mon, 08 Apr 2019 18:00:54 GMT\"0x8D6BC4C24EC0921\"5120share155474645495200953155474645503501899Mon, 08 Apr 2019 18:00:55 GMT\"0x8D6BC4C25682D46\"5120share155474647318704154155474647322607411Mon, 08 Apr 2019 18:01:13 GMT\"0x8D6BC4C304039B7\"5120share155474654875803895Mon, 08 Apr 2019 18:02:28 GMT\"0x8D6BC4C5D4572AB\"5120share155474654921902498155474654926509052Mon, 08 Apr 2019 18:02:29 GMT\"0x8D6BC4C5D91BE8E\"5120share155474656399405825155474656401705254Mon, 08 Apr 2019 18:02:44 GMT\"0x8D6BC4C665CCFF1\"5120share155474663529602310Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C90D93648\"5120share155474663583606041155474663588408448Mon, 08 Apr 2019 18:03:55 GMT\"0x8D6BC4C9132CC5D\"5120share155474665477303348155474665479205559Mon, 08 Apr 2019 18:04:14 GMT\"0x8D6BC4C9C77182B\"5120share155474669690608062Mon, 08 Apr 2019 18:04:57 GMT\"0x8D6BC4CB5AC4D07\"5120share155474669879809471155474669896601486Mon, 08 Apr 2019 18:04:59 GMT\"0x8D6BC4CB6D26C35\"5120share155474672916802677Mon, 08 Apr 2019 18:05:29 GMT\"0x8D6BC4CC8E553A9\"5120share155474673083607637155474673100708355Mon, 08 Apr 2019 18:05:31 GMT\"0x8D6BC4CC9EC2AC2\"5120share155474673381104012155474673389309631Mon, 08 Apr 2019 18:05:33 GMT\"0x8D6BC4CCBA3AC18\"5120share155474676371808387155474676380208185Mon, 08 Apr 2019 18:06:03 GMT\"0x8D6BC4CDD786B55\"5120share155474679470603196Mon, 08 Apr 2019 18:06:34 GMT\"0x8D6BC4CEFEF94B0\"5120share155474679772603000155474679809202072Mon, 08 Apr 2019 18:06:38 GMT\"0x8D6BC4CF1F46892\"5120share155474680013008562Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3197928\"5120share155474680057503718155474680062404689Mon, 08 Apr 2019 18:06:40 GMT\"0x8D6BC4CF3641213\"5120share155474681409208639Mon, 08 Apr 2019 18:06:54 GMT\"0x8D6BC4CFB756E96\"5120share155474681491505363155474681500105289Mon, 08 Apr 2019 18:06:55 GMT\"0x8D6BC4CFBF71FC4\"5120share155474681788207900155474681791008047Mon, 08 Apr 2019 18:06:57 GMT\"0x8D6BC4CFDB1BD22\"5120share155474683477100690155474683481200041Mon, 08 Apr 2019 18:07:14 GMT\"0x8D6BC4D07C681B1\"5120share155474684393709385155474684411407379Mon, 08 Apr 2019 18:07:24 GMT\"0x8D6BC4D0D63FA6E\"5120share155474686284305068Mon, 08 Apr 2019 18:07:42 GMT\"0x8D6BC4D188C7C32\"5120share155474686561509852155474686593903986Mon, 08 Apr 2019 18:07:46 GMT\"0x8D6BC4D1A6403C0\"5120share155474690869707233155474690886001558Mon, 08 Apr 2019 18:08:29 GMT\"0x8D6BC4D33F9C1DF\"5120share155474696608300776Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56048CF2\"5120share155474696666108703155474696672401866Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D56667A7D\"5120share155474696667806001Mon, 08 Apr 2019 18:09:26 GMT\"0x8D6BC4D565D032B\"5120share155474696710902421155474696715108905Mon, 08 Apr 2019 18:09:27 GMT\"0x8D6BC4D56A57B13\"5120share155474698267801977155474698269406976Mon, 08 Apr 2019 18:09:42 GMT\"0x8D6BC4D5FE9CFEB\"5120share155474698299707221155474698301501809Mon, 08 Apr 2019 18:09:43 GMT\"0x8D6BC4D6019DBEC\"5120share155474704723809460Mon, 08 Apr 2019 18:10:47 GMT\"0x8D6BC4D86616E64\"5120share155474704881708545155474704884801268Mon, 08 Apr 2019 18:10:48 GMT\"0x8D6BC4D875756B5\"5120share155474707588406604155474707589701120Mon, 08 Apr 2019 18:11:15 GMT\"0x8D6BC4D9776A8E6\"5120share155474710586101865Mon, 08 Apr 2019 18:11:46 GMT\"0x8D6BC4DA96742CF\"5120share155474710874902656155474710916109774Mon, 08 Apr 2019 18:11:49 GMT\"0x8D6BC4DAB5EA4FD\"5120share155474714764003348Mon, 08 Apr 2019 18:12:27 GMT\"0x8D6BC4DC2406D42\"5120share155474714885103041155474714908804672Mon, 08 Apr 2019 18:12:29 GMT\"0x8D6BC4DC31DB2D0\"5120share155474715492307420155474715509608519Mon, 08 Apr 2019 18:12:35 GMT\"0x8D6BC4DC6BE914E\"5120share155474717400802142155474717408307060Mon, 08 Apr 2019 18:12:54 GMT\"0x8D6BC4DD203F71A\"5120share155474719947106777Mon, 08 Apr 2019 18:13:19 GMT\"0x8D6BC4DE1259CEC\"5120share155474720071400394155474720086808994Mon, 08 Apr 2019 18:13:20 GMT\"0x8D6BC4DE1FB2C1C\"5120share155474722844105131155474722851407454Mon, 08 Apr 2019 18:13:48 GMT\"0x8D6BC4DF275C194\"5120share155474724530509593Mon, 08 Apr 2019 18:14:05 GMT\"0x8D6BC4DFC812038\"5120share155474724621607823155474724633006743Mon, 08 Apr 2019 18:14:06 GMT\"0x8D6BC4DFD13BB0C\"5120share155474726666905801155474726671207462Mon, 08 Apr 2019 18:14:26 GMT\"0x8D6BC4E093975C6\"5120share155474727008806902Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B35A990\"5120share155474727036204896155474727039307966Mon, 08 Apr 2019 18:14:30 GMT\"0x8D6BC4E0B643FD7\"5120share155474728638006622155474728639406421Mon, 08 Apr 2019 18:14:46 GMT\"0x8D6BC4E14EDE4DD\"5120share155474729223702314Mon, 08 Apr 2019 18:14:52 GMT\"0x8D6BC4E1883AF97\"5120share155474729398209223155474729415606986Mon, 08 Apr 2019 18:14:54 GMT\"0x8D6BC4E1996C534\"5120share155474732221000573155474732230701553Mon, 08 Apr 2019 18:15:22 GMT\"0x8D6BC4E2A5ED5C9\"5120share155474751582509818Mon, 08 Apr 2019 18:18:35 GMT\"0x8D6BC4E9DC20155\"5120share155474751847902848155474751880304541Mon, 08 Apr 2019 18:18:38 GMT\"0x8D6BC4E9F8866A6\"5120share155474756081401285155474756097802660Mon, 08 Apr 2019 18:19:21 GMT\"0x8D6BC4EB8AB9F43\"5120share155474764980601427Mon, 08 Apr 2019 18:20:49 GMT\"0x8D6BC4EED934290\"5120share155474765102608011155474765118001858Mon, 08 Apr 2019 18:20:51 GMT\"0x8D6BC4EEE645AD6\"5120share155474767844107090155474767851403828Mon, 08 Apr 2019 18:21:18 GMT\"0x8D6BC4EFEAFA117\"5120share155474777133007169Mon, 08 Apr 2019 18:22:51 GMT\"0x8D6BC4F360D39E0\"5120share155474777420508076155474777458205278Mon, 08 Apr 2019 18:22:54 GMT\"0x8D6BC4F37FD9082\"5120share155474782123305443155474782141203648Mon, 08 Apr 2019 18:23:41 GMT\"0x8D6BC4F53E76F8F\"5120share155474792521906873Mon, 08 Apr 2019 18:25:25 GMT\"0x8D6BC4F91C00B2D\"5120share155474792672406349155474792689607120Mon, 08 Apr 2019 18:25:26 GMT\"0x8D6BC4F92BF41A5\"5120share155474795499605887155474795507404540Mon, 08 Apr 2019 18:25:55 GMT\"0x8D6BC4FA38B9AA0\"5120share155474822362107235Mon, 08 Apr 2019 18:30:23 GMT\"0x8D6BC5043ABE5D7\"5120share155474822547905552155474822566503828Mon, 08 Apr 2019 18:30:25 GMT\"0x8D6BC5044CCFF4D\"5120share155474825450002272Mon, 08 Apr 2019 18:30:54 GMT\"0x8D6BC505606CF1A\"5120share155474825533607080155474825542104437Mon, 08 Apr 2019 18:30:55 GMT\"0x8D6BC505686D3D6\"5120share155474826343607595155474826352605234Mon, 08 Apr 2019 18:31:03 GMT\"0x8D6BC505B5DE52C\"5120share155474827685603862155474827689907496Mon, 08 Apr 2019 18:31:16 GMT\"0x8D6BC5063545C5E\"5120share155474842455807202Mon, 08 Apr 2019 18:33:44 GMT\"0x8D6BC50BB5C6059\"5120share155474842593805305155474842618709355Mon, 08 Apr 2019 18:33:46 GMT\"0x8D6BC50BC548613\"5120share155474845712203961155474845720102349Mon, 08 Apr 2019 18:34:17 GMT\"0x8D6BC50CED0751B\"5120share155474851989103047Mon, 08 Apr 2019 18:35:20 GMT\"0x8D6BC50F439CEBD\"5120share155474852265103180155474852297608630Mon, 08 Apr 2019 18:35:23 GMT\"0x8D6BC50F60FE06F\"5120share155474856529703557155474856545809970Mon, 08 Apr 2019 18:36:05 GMT\"0x8D6BC510F628BE7\"5120share155474862305404605Mon, 08 Apr 2019 18:37:03 GMT\"0x8D6BC5131BE75BB\"5120share155474862481702492155474862500803609Mon, 08 Apr 2019 18:37:05 GMT\"0x8D6BC5132D530CA\"5120share155474865512509351155474865521506832Mon, 08 Apr 2019 18:37:35 GMT\"0x8D6BC5144D5E753\"5120share155474870412106342Mon, 08 Apr 2019 18:38:24 GMT\"0x8D6BC5162083EB9\"5120share155474870684104116155474870719906918Mon, 08 Apr 2019 18:38:27 GMT\"0x8D6BC5163DEAE18\"5120share155474875502604717Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC518068CB51\"5120share155474875557809078155474875573600049Mon, 08 Apr 2019 18:39:15 GMT\"0x8D6BC5180CD01EA\"5120share155474875683104451155474875706500491Mon, 08 Apr 2019 18:39:17 GMT\"0x8D6BC51818B1C32\"5120share155474876604802975Mon, 08 Apr 2019 18:39:26 GMT\"0x8D6BC5186FB8011\"5120share155474876778709469155474876797603028Mon, 08 Apr 2019 18:39:28 GMT\"0x8D6BC51880D150D\"5120share155474877226205113Mon, 08 Apr 2019 18:39:32 GMT\"0x8D6BC518AA58C3A\"5120share155474877988808105155474878023800882Mon, 08 Apr 2019 18:39:40 GMT\"0x8D6BC518F67A761\"5120share155474878504902158155474878514102127Mon, 08 Apr 2019 18:39:45 GMT\"0x8D6BC51924743E0\"5120share155474879904507665155474879913808712Mon, 08 Apr 2019 18:39:59 GMT\"0x8D6BC519A9FFA28\"5120share155474883971704235155474883989002060Mon, 08 Apr 2019 18:40:40 GMT\"0x8D6BC51B2F5410B\"5120share155474895443200422Mon, 08 Apr 2019 18:42:34 GMT\"0x8D6BC51F7300E6A\"5120share155474895566809136155474895588301714Mon, 08 Apr 2019 18:42:35 GMT\"0x8D6BC51F80D6C4C\"5120share155474896838202554Mon, 08 Apr 2019 18:42:48 GMT\"0x8D6BC51FF835B22\"5120share155474896915009736155474896928809624Mon, 08 Apr 2019 18:42:49 GMT\"0x8D6BC520005E534\"5120share155474898685302363155474898693207903Mon, 08 Apr 2019 18:43:06 GMT\"0x8D6BC520A8EDD71\"5120share155474899671807820155474899675701753Mon, 08 Apr 2019 18:43:16 GMT\"0x8D6BC521064BB0E\"5120share155474900170804980Mon, 08 Apr 2019 18:43:21 GMT\"0x8D6BC5213688AEE\"5120share155474900446104881155474900478303498Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC52153F290F\"5120share155474900478202392Mon, 08 Apr 2019 18:43:24 GMT\"0x8D6BC521534B0CD\"5120share155474900621503198155474900638807694Mon, 08 Apr 2019 18:43:26 GMT\"0x8D6BC521621F4B4\"5120share155474903093006954155474903096909495Mon, 08 Apr 2019 18:43:50 GMT\"0x8D6BC5224C88087\"5120share155474905171200031155474905187104138Mon, 08 Apr 2019 18:44:12 GMT\"0x8D6BC52314F5A13\"5120share155474913858202107Mon, 08 Apr 2019 18:45:38 GMT\"0x8D6BC5264FECE1C\"5120share155474914273604018155474914312306205Mon, 08 Apr 2019 18:45:43 GMT\"0x8D6BC5267B555AF\"5120share155474914489100606Mon, 08 Apr 2019 18:45:45 GMT\"0x8D6BC5268C1F87E\"5120share155474914750802214155474914783504293Mon, 08 Apr 2019 18:45:47 GMT\"0x8D6BC526A82A433\"5120share155474919136809108155474919154203324Mon, 08 Apr 2019 18:46:31 GMT\"0x8D6BC52848F8344\"5120share155474919327503331155474919343404304Mon, 08 Apr 2019 18:46:33 GMT\"0x8D6BC5285B0D968\"5120share155474927082201518Mon, 08 Apr 2019 18:47:50 GMT\"0x8D6BC52B3BE1A62\"5120share155474927121603014155474927124704852Mon, 08 Apr 2019 18:47:51 GMT\"0x8D6BC52B3FE94D0\"5120share155474929649300500155474929650801830Mon, 08 Apr 2019 18:48:16 GMT\"0x8D6BC52C30DA197\"5120share155475022991701076Mon, 08 Apr 2019 19:03:49 GMT\"0x8D6BC54EF66AE7B\"5120share155475023045507997155475023060306179Mon, 08 Apr 2019 19:03:50 GMT\"0x8D6BC54EFCF3C54\"5120share155475024473800763155475024475203535Mon, 08 Apr 2019 19:04:04 GMT\"0x8D6BC54F83E4AA6\"5120share155475027927205466Mon, 08 Apr 2019 19:04:39 GMT\"0x8D6BC550CEAF817\"5120share155475028090305599155475028109407948Mon, 08 Apr 2019 19:04:41 GMT\"0x8D6BC550DEFBA30\"5120share155475030796503201155475030805008793Mon, 08 Apr 2019 19:05:08 GMT\"0x8D6BC551E00631C\"5120share155475041406903684Mon, 08 Apr 2019 19:06:54 GMT\"0x8D6BC555D34B450\"5120share155475041790102406155475041806802740Mon, 08 Apr 2019 19:06:58 GMT\"0x8D6BC555F9662A7\"5120share155475042680803797Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC5564E7657C\"5120share155475042776807591155475042785606789Mon, 08 Apr 2019 19:07:07 GMT\"0x8D6BC556566798D\"5120share155475044710607711155475044714607622Mon, 08 Apr 2019 19:07:27 GMT\"0x8D6BC5570E5E30C\"5120share155475044970802609155475044979502269Mon, 08 Apr 2019 19:07:29 GMT\"0x8D6BC55727FE091\"5120share155475046331802443Mon, 08 Apr 2019 19:07:43 GMT\"0x8D6BC557A99FD7F\"5120share155475046684305327155475046716402258Mon, 08 Apr 2019 19:07:47 GMT\"0x8D6BC557CE43085\"5120share155475051216806431155475051232806509Mon, 08 Apr 2019 19:08:32 GMT\"0x8D6BC5597CF5D98\"5120share155475052082206243Mon, 08 Apr 2019 19:08:40 GMT\"0x8D6BC559CCBD36E\"5120share155475052121006971155475052126009148Mon, 08 Apr 2019 19:08:41 GMT\"0x8D6BC559D0FA15E\"5120share155475053797404148155475053799109901Mon, 08 Apr 2019 19:08:58 GMT\"0x8D6BC55A707AA78\"5120share155475064935803078Mon, 08 Apr 2019 19:10:49 GMT\"0x8D6BC55E974E3CA\"5120share155475065067109845155475065082904481Mon, 08 Apr 2019 19:10:51 GMT\"0x8D6BC55EA83DF98\"5120share155475067910702988155475067918501299Mon, 08 Apr 2019 19:11:19 GMT\"0x8D6BC55FB3A3AE2\"5120share155475081055106395Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC56497CE6DB\"5120share155475081080107024155475081083204956Mon, 08 Apr 2019 19:13:30 GMT\"0x8D6BC5649A8202F\"5120share155475081569107427Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C9015C3\"5120share155475081569802024Mon, 08 Apr 2019 19:13:35 GMT\"0x8D6BC564C8F31AE\"5120share155475081617607337155475081622403546Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CDFB128\"5120share155475081618505278155475081626106049Mon, 08 Apr 2019 19:13:36 GMT\"0x8D6BC564CE50201\"5120share155475082599504520155475082600900773Mon, 08 Apr 2019 19:13:46 GMT\"0x8D6BC5652B3E1EF\"5120share155475083332106209155475083333306719Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC565711BB33\"5120share155475083390106843155475083391701671Mon, 08 Apr 2019 19:13:53 GMT\"0x8D6BC56576DD44F\"5120share155475083645708180Mon, 08 Apr 2019 19:13:56 GMT\"0x8D6BC5658EE78DA\"5120share155475083689607668155475083700804756Mon, 08 Apr 2019 19:13:57 GMT\"0x8D6BC5659439F5E\"5120share155475085287202953155475085288703129Mon, 08 Apr 2019 19:14:12 GMT\"0x8D6BC5662BB07BF\"5120share155475087749608350Mon, 08 Apr 2019 19:14:37 GMT\"0x8D6BC56716BAEB9\"5120share155475087884808160155475087899302295Mon, 08 Apr 2019 19:14:39 GMT\"0x8D6BC56724FB73E\"5120share155475091031104271155475091038301022Mon, 08 Apr 2019 19:15:10 GMT\"0x8D6BC568505E596\"5120share155475096394205285Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A4F4A602\"5120share155475096470307204155475096478702363Mon, 08 Apr 2019 19:16:04 GMT\"0x8D6BC56A56DE803\"5120share155475098339807861155475098343901197Mon, 08 Apr 2019 19:16:23 GMT\"0x8D6BC56B08C0771\"5120share155475101810205521Mon, 08 Apr 2019 19:16:58 GMT\"0x8D6BC56C54664DF\"5120share155475102072309609155475102105008976Mon, 08 Apr 2019 19:17:01 GMT\"0x8D6BC56C707C7F1\"5120share155475104896402625Mon, 08 Apr 2019 19:17:29 GMT\"0x8D6BC56D7A1CC67\"5120share155475105033406728155475105050302656Mon, 08 Apr 2019 19:17:30 GMT\"0x8D6BC56D88BFADB\"5120share155475106334602588155475106350800134Mon, 08 Apr 2019 19:17:43 GMT\"0x8D6BC56E0562F3A\"5120share155475107891507083Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56E9858D34\"5120share155475107976101708155475107983704150Mon, 08 Apr 2019 19:17:59 GMT\"0x8D6BC56EA082039\"5120share155475108198903031155475108234608862Mon, 08 Apr 2019 19:18:02 GMT\"0x8D6BC56EB914CA9\"5120share155475113337406588155475113355001458Mon, 08 Apr 2019 19:18:53 GMT\"0x8D6BC570A17FF54\"5120share155475132543106986Mon, 08 Apr 2019 19:22:05 GMT\"0x8D6BC577C7B6BF7\"5120share155475132721406393155475132740306801Mon, 08 Apr 2019 19:22:07 GMT\"0x8D6BC577D94ECD7\"5120share155475135811801394155475135820700395Mon, 08 Apr 2019 19:22:38 GMT\"0x8D6BC578FF0D032\"5120share155475144214904808Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C1F69171\"5120share155475144238308286155475144241802464Mon, 08 Apr 2019 19:24:02 GMT\"0x8D6BC57C21F2B49\"5120share155475145575504179155475145577002338Mon, 08 Apr 2019 19:24:15 GMT\"0x8D6BC57CA1458DE\"5120share155475158692104863Mon, 08 Apr 2019 19:26:26 GMT\"0x8D6BC5818465E4B\"5120share155475158825308616155475158840903597Mon, 08 Apr 2019 19:26:28 GMT\"0x8D6BC5819294CE9\"5120share155475161465508511155475161473400769Mon, 08 Apr 2019 19:26:54 GMT\"0x8D6BC5828D99E92\"5120share155475165136906994Mon, 08 Apr 2019 19:27:31 GMT\"0x8D6BC583EB028AA\"5120share155475165285408363155475165294303910Mon, 08 Apr 2019 19:27:33 GMT\"0x8D6BC583F9ED9D5\"5120share155475167393207326155475167397601633Mon, 08 Apr 2019 19:27:54 GMT\"0x8D6BC584C286C71\"5120share155475175592100687Mon, 08 Apr 2019 19:29:15 GMT\"0x8D6BC587CF96950\"5120share155475175636203447155475175640405227Mon, 08 Apr 2019 19:29:16 GMT\"0x8D6BC587D42FD4F\"5120share155475176719708693Mon, 08 Apr 2019 19:29:27 GMT\"0x8D6BC5883C4F6C6\"5120share155475176988007936155475177020206087Mon, 08 Apr 2019 19:29:30 GMT\"0x8D6BC58858F57AB\"5120share155475177157408884155475177159107897Mon, 08 Apr 2019 19:29:31 GMT\"0x8D6BC58864FCD93\"5120share155475178911403525Mon, 08 Apr 2019 19:29:49 GMT\"0x8D6BC5890DFD41D\"5120share155475179097306468155475179114007955Mon, 08 Apr 2019 19:29:51 GMT\"0x8D6BC5891FEE1D4\"5120share155475181212203235155475181227802967Mon, 08 Apr 2019 19:30:12 GMT\"0x8D6BC589EA3450E\"5120share155475181868403345155475181884608003Mon, 08 Apr 2019 19:30:18 GMT\"0x8D6BC58A282B48C\"5120share155475184138600177Mon, 08 Apr 2019 19:30:41 GMT\"0x8D6BC58AFF32AE1\"5120share155475184266206951155475184281907009Mon, 08 Apr 2019 19:30:42 GMT\"0x8D6BC58B0CDFAAB\"5120share155475186824404656155475186831303601Mon, 08 Apr 2019 19:31:08 GMT\"0x8D6BC58C0003811\"5120share155475189858508025Mon, 08 Apr 2019 19:31:38 GMT\"0x8D6BC58D21CC15D\"5120share155475190034402522155475190052901131Mon, 08 Apr 2019 19:31:40 GMT\"0x8D6BC58D33259C3\"5120share155475193157504293155475193166407423Mon, 08 Apr 2019 19:32:11 GMT\"0x8D6BC58E5C0D84B\"5120share155475193557900473Mon, 08 Apr 2019 19:32:15 GMT\"0x8D6BC58E8124881\"5120share155475193600802252155475193605500784Mon, 08 Apr 2019 19:32:16 GMT\"0x8D6BC58E85C58C2\"5120share155475195335000537155475195365007547Mon, 08 Apr 2019 19:32:33 GMT\"0x8D6BC58F2D89C12\"5120share155475198066706131Mon, 08 Apr 2019 19:33:00 GMT\"0x8D6BC59030705B8\"5120share155475198240705556155475198259005644Mon, 08 Apr 2019 19:33:02 GMT\"0x8D6BC590419D5AA\"5120share155475201169004998155475201178007996Mon, 08 Apr 2019 19:33:31 GMT\"0x8D6BC59157FA1C2\"5120share155475202704707777Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591E9818F7\"5120share155475202754808460155475202759505045Mon, 08 Apr 2019 19:33:47 GMT\"0x8D6BC591EEAE023\"5120share155475204632303570155475204635506063Mon, 08 Apr 2019 19:34:06 GMT\"0x8D6BC592A15D46F\"5120share155475205353305046Mon, 08 Apr 2019 19:34:13 GMT\"0x8D6BC592E644230\"5120share155475205475905531155475205490801744Mon, 08 Apr 2019 19:34:14 GMT\"0x8D6BC592F35CD8D\"5120share155475208511309322155475208519000035Mon, 08 Apr 2019 19:34:45 GMT\"0x8D6BC594142FC2C\"5120share155475213197909445Mon, 08 Apr 2019 19:35:32 GMT\"0x8D6BC595D68D14F\"5120share155475213367802891155475213384803713Mon, 08 Apr 2019 19:35:33 GMT\"0x8D6BC595E447A15\"5120share155475213707206020Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59602A0370\"5120share155475213744706822155475213752509985Mon, 08 Apr 2019 19:35:37 GMT\"0x8D6BC59606FB8B2\"5120share155475214794702930Mon, 08 Apr 2019 19:35:47 GMT\"0x8D6BC5966A3EC22\"5120share155475214823505337155475214829508671Mon, 08 Apr 2019 19:35:48 GMT\"0x8D6BC5966D92988\"5120share155475215298705094155475215300205553Mon, 08 Apr 2019 19:35:53 GMT\"0x8D6BC5969A95A5A\"5120share155475216173403949155475216180802232Mon, 08 Apr 2019 19:36:01 GMT\"0x8D6BC596EEEDADE\"5120share155475217121403125155475217122800002Mon, 08 Apr 2019 19:36:11 GMT\"0x8D6BC597484D027\"5120share155475217263204833Mon, 08 Apr 2019 19:36:12 GMT\"0x8D6BC597561BC6F\"5120share155475217387007369155475217401507088Mon, 08 Apr 2019 19:36:14 GMT\"0x8D6BC59763481F4\"5120share155475220552708755155475220560608322Mon, 08 Apr 2019 19:36:45 GMT\"0x8D6BC5989084A76\"5120share155475220774803407Mon, 08 Apr 2019 19:36:47 GMT\"0x8D6BC598A5B8D28\"5120share155475221071605263155475221106301392Mon, 08 Apr 2019 19:36:51 GMT\"0x8D6BC598C54F1AF\"5120share155475225507606471155475225524909246Mon, 08 Apr 2019 19:37:35 GMT\"0x8D6BC59A6AAE3BB\"5120share155475230698007235Mon, 08 Apr 2019 19:38:27 GMT\"0x8D6BC59C588E150\"5120share155475230871003676155475230890106141Mon, 08 Apr 2019 19:38:28 GMT\"0x8D6BC59C699F151\"5120share155475233776008655155475233785005541Mon, 08 Apr 2019 19:38:57 GMT\"0x8D6BC59D7DAC197\"5120share155475235014304485Mon, 08 Apr 2019 19:39:10 GMT\"0x8D6BC59DF430BEF\"5120share155475235212806665155475235231203279Mon, 08 Apr 2019 19:39:12 GMT\"0x8D6BC59E0797740\"5120share155475238276207561155475238285300495Mon, 08 Apr 2019 19:39:42 GMT\"0x8D6BC59F2ADC82F\"5120share155475238729909241Mon, 08 Apr 2019 19:39:47 GMT\"0x8D6BC59F55FF731\"5120share155475239006203805155475239039302086Mon, 08 Apr 2019 19:39:50 GMT\"0x8D6BC59F738D496\"5120share155475243544901771155475243561206398Mon, 08 Apr 2019 19:40:35 GMT\"0x8D6BC5A122D2328\"5120share155475245648505760Mon, 08 Apr 2019 19:40:56 GMT\"0x8D6BC5A1E9DD271\"5120share155475245916604643155475245966500634Mon, 08 Apr 2019 19:40:59 GMT\"0x8D6BC5A20829ADA\"5120share155475250195404339Mon, 08 Apr 2019 19:41:42 GMT\"0x8D6BC5A39ACF55C\"5120share155475250300606728155475250316308808Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A705901\"5120share155475250327007723155475250342102216Mon, 08 Apr 2019 19:41:43 GMT\"0x8D6BC5A3A8CC037\"5120share155475252973307394155475252980700184Mon, 08 Apr 2019 19:42:09 GMT\"0x8D6BC5A4A465B88\"5120share155475253579801114Mon, 08 Apr 2019 19:42:15 GMT\"0x8D6BC5A4DD3360A\"5120share155475253615908936155475253620602585Mon, 08 Apr 2019 19:42:16 GMT\"0x8D6BC5A4E0F8242\"5120share155475255423200173155475255424804170Mon, 08 Apr 2019 19:42:34 GMT\"0x8D6BC5A58D20D20\"5120share155475256918201765Mon, 08 Apr 2019 19:42:49 GMT\"0x8D6BC5A61D20C03\"5120share155475257313200562155475257330407326Mon, 08 Apr 2019 19:42:53 GMT\"0x8D6BC5A643484DF\"5120share155475261648802468155475261657200328Mon, 08 Apr 2019 19:43:36 GMT\"0x8D6BC5A7DFE66EB\"5120share155475284537903436Mon, 08 Apr 2019 19:47:25 GMT\"0x8D6BC5B0671E77C\"5120share155475284722006303155475284740403036Mon, 08 Apr 2019 19:47:27 GMT\"0x8D6BC5B0792CDEB\"5120share155475287947008358155475287956001391Mon, 08 Apr 2019 19:47:59 GMT\"0x8D6BC5B1ABD463D\"5120share155475290653907313Mon, 08 Apr 2019 19:48:27 GMT\"0x8D6BC5B2B35A0B0\"5120share155475290863102164155475290878704952Mon, 08 Apr 2019 19:48:28 GMT\"0x8D6BC5B2C2B8A11\"5120share155475293499502985155475293507401792Mon, 08 Apr 2019 19:48:55 GMT\"0x8D6BC5B3BD5D6EB\"5120share155475295976004766Mon, 08 Apr 2019 19:49:19 GMT\"0x8D6BC5B4A860251\"5120share155475296021608512155475296026303878Mon, 08 Apr 2019 19:49:20 GMT\"0x8D6BC5B4AD3697B\"5120share155475296820309510Mon, 08 Apr 2019 19:49:28 GMT\"0x8D6BC5B4F93EA28\"5120share155475296939401595155475296953503138Mon, 08 Apr 2019 19:49:29 GMT\"0x8D6BC5B505FC795\"5120share155475297470107004Mon, 08 Apr 2019 19:49:34 GMT\"0x8D6BC5B5373961F\"5120share155475297592101018155475297607704854Mon, 08 Apr 2019 19:49:36 GMT\"0x8D6BC5B5445CD04\"5120share155475297876605841155475297878208632Mon, 08 Apr 2019 19:49:38 GMT\"0x8D6BC5B55DBFE86\"5120share155475299397906992155475299405708891Mon, 08 Apr 2019 19:49:54 GMT\"0x8D6BC5B5EFC6E6E\"5120share155475299913707337Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B61FEA3A6\"5120share155475299946601316155475299949700439Mon, 08 Apr 2019 19:49:59 GMT\"0x8D6BC5B6235EEB4\"5120share155475300396100954155475300404004479Mon, 08 Apr 2019 19:50:04 GMT\"0x8D6BC5B64F0C1CC\"5120share155475301402209522155475301403805856Mon, 08 Apr 2019 19:50:14 GMT\"0x8D6BC5B6ADF6C51\"5120share155475316409304389Mon, 08 Apr 2019 19:52:44 GMT\"0x8D6BC5BC45FB105\"5120share155475316701500838155475316738004973Mon, 08 Apr 2019 19:52:47 GMT\"0x8D6BC5BC655866D\"5120share155475317539403995Mon, 08 Apr 2019 19:52:55 GMT\"0x8D6BC5BCB1EA12B\"5120share155475317800909177155475317833200173Mon, 08 Apr 2019 19:52:58 GMT\"0x8D6BC5BCCDF148B\"5120share155475319784700002Mon, 08 Apr 2019 19:53:18 GMT\"0x8D6BC5BD890AFBA\"5120share155475320035305710155475320054604653Mon, 08 Apr 2019 19:53:20 GMT\"0x8D6BC5BDA120C7D\"5120share155475321453709711155475321471603175Mon, 08 Apr 2019 19:53:34 GMT\"0x8D6BC5BE28AC8EF\"5120share155475322026008825155475322041805575Mon, 08 Apr 2019 19:53:40 GMT\"0x8D6BC5BE5F49E4E\"5120share155475323941203708155475323950603607Mon, 08 Apr 2019 19:53:59 GMT\"0x8D6BC5BF14A51A0\"5120share155475325634904509Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB4EC9A6\"5120share155475325670909242155475325677202784Mon, 08 Apr 2019 19:54:16 GMT\"0x8D6BC5BFB8F5645\"5120share155475326611306943Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C011FE6E9\"5120share155475326661501159155475326664604503Mon, 08 Apr 2019 19:54:26 GMT\"0x8D6BC5C01716DB6\"5120share155475327189403526155475327191304764Mon, 08 Apr 2019 19:54:31 GMT\"0x8D6BC5C04937E60\"5120share155475327494604322Mon, 08 Apr 2019 19:54:34 GMT\"0x8D6BC5C0663AE38\"5120share155475327530806721155475327535508149Mon, 08 Apr 2019 19:54:35 GMT\"0x8D6BC5C06A1DC9B\"5120share155475328255505049155475328257006085Mon, 08 Apr 2019 19:54:42 GMT\"0x8D6BC5C0AEF7766\"5120share155475328863109159Mon, 08 Apr 2019 19:54:48 GMT\"0x8D6BC5C0E8D4F9D\"5120share155475328904001164155475328914908575Mon, 08 Apr 2019 19:54:49 GMT\"0x8D6BC5C0EDA736C\"5120share155475329036209298155475329037705496Mon, 08 Apr 2019 19:54:50 GMT\"0x8D6BC5C0F96FA2F\"5120share155475331642907508155475331644500640Mon, 08 Apr 2019 19:55:16 GMT\"0x8D6BC5C1F1F4508\"5120share155475345988903733Mon, 08 Apr 2019 19:57:39 GMT\"0x8D6BC5C74A83E08\"5120share155475346120203269155475346137401701Mon, 08 Apr 2019 19:57:41 GMT\"0x8D6BC5C75A1910E\"5120share155475348842001284155475348849801789Mon, 08 Apr 2019 19:58:08 GMT\"0x8D6BC5C85B7559C\"5120share155475350558503873Mon, 08 Apr 2019 19:58:25 GMT\"0x8D6BC5C8FEF8036\"5120share155475350851006247155475350887009432Mon, 08 Apr 2019 19:58:29 GMT\"0x8D6BC5C91E416E1\"5120share155475351180102812Mon, 08 Apr 2019 19:58:31 GMT\"0x8D6BC5C93A41FBD\"5120share155475351470507341155475351506502543Mon, 08 Apr 2019 19:58:35 GMT\"0x8D6BC5C959AFCFD\"5120share155475352932808685Mon, 08 Apr 2019 19:58:49 GMT\"0x8D6BC5C9E145DFA\"5120share155475353242702891155475353278206163Mon, 08 Apr 2019 19:58:52 GMT\"0x8D6BC5CA0242D42\"5120share155475353346905524Mon, 08 Apr 2019 19:58:53 GMT\"0x8D6BC5CA08349F0\"5120share155475353468900913155475353483008374Mon, 08 Apr 2019 19:58:54 GMT\"0x8D6BC5CA1533041\"5120share155475355857203059155475355874901945Mon, 08 Apr 2019 19:59:18 GMT\"0x8D6BC5CAF9F1851\"5120share155475356174100226155475356192106373Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB1835DA5\"5120share155475356209400777155475356216307366Mon, 08 Apr 2019 19:59:22 GMT\"0x8D6BC5CB19D9B99\"5120share155475358049205317155475358066509885Mon, 08 Apr 2019 19:59:40 GMT\"0x8D6BC5CBCACA7C2\"5120share155475366230302044Mon, 08 Apr 2019 20:01:02 GMT\"0x8D6BC5CED591D8A\"5120share155475366364804933Mon, 08 Apr 2019 20:01:03 GMT\"0x8D6BC5CEE27F678\"5120share155475366490103025155475366523205132Mon, 08 Apr 2019 20:01:05 GMT\"0x8D6BC5CEF191387\"5120share155475366655601285155475366688603242Mon, 08 Apr 2019 20:01:07 GMT\"0x8D6BC5CF0154CEF\"5120share155475370842304942155475370858108299Mon, 08 Apr 2019 20:01:48 GMT\"0x8D6BC5D08EF6C61\"5120share155475371008508000155475371025709092Mon, 08 Apr 2019 20:01:50 GMT\"0x8D6BC5D09EE9A90\"5120share155475383362102478Mon, 08 Apr 2019 20:03:53 GMT\"0x8D6BC5D536638B9\"5120share155475383401206068155475383407402017Mon, 08 Apr 2019 20:03:54 GMT\"0x8D6BC5D53A849FD\"5120share155475384949101413155475384950602486Mon, 08 Apr 2019 20:04:09 GMT\"0x8D6BC5D5CDC57E0\"5120share155475388168501173Mon, 08 Apr 2019 20:04:41 GMT\"0x8D6BC5D7007708F\"5120share155475388206306306155475388212605083Mon, 08 Apr 2019 20:04:42 GMT\"0x8D6BC5D704B932A\"5120share155475389763505601155475389765100894Mon, 08 Apr 2019 20:04:57 GMT\"0x8D6BC5D798CE485\"5120share155475394309608718Mon, 08 Apr 2019 20:05:43 GMT\"0x8D6BC5D94B5C048\"5120share155475394595108491155475394631101470Mon, 08 Apr 2019 20:05:46 GMT\"0x8D6BC5D969F99F7\"5120share155475396399505138Mon, 08 Apr 2019 20:06:04 GMT\"0x8D6BC5DA12A25B4\"5120share155475396692905515155475396728907571Mon, 08 Apr 2019 20:06:07 GMT\"0x8D6BC5DA320C5CE\"5120share155475398380104275Mon, 08 Apr 2019 20:06:23 GMT\"0x8D6BC5DACF9BC9C\"5120share155475398671802297155475398707107942Mon, 08 Apr 2019 20:06:27 GMT\"0x8D6BC5DAEEC42B4\"5120share155475399277409298155475399295700576Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB26E2AAC\"5120share155475399378204371Mon, 08 Apr 2019 20:06:33 GMT\"0x8D6BC5DB2DB163E\"5120share155475399491706243155475399496401759Mon, 08 Apr 2019 20:06:35 GMT\"0x8D6BC5DB3906F40\"5120share155475401103303929155475401106408627Mon, 08 Apr 2019 20:06:51 GMT\"0x8D6BC5DBD28D693\"5120share155475401467406311155475401485002516Mon, 08 Apr 2019 20:06:54 GMT\"0x8D6BC5DBF7A1537\"5120share155475403593209731155475403610809563Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC24D966\"5120share155475403681604817Mon, 08 Apr 2019 20:07:16 GMT\"0x8D6BC5DCC856477\"5120share155475403804608586155475403819608497Mon, 08 Apr 2019 20:07:18 GMT\"0x8D6BC5DCD596CBF\"5120share155475406417706107155475406425506743Mon, 08 Apr 2019 20:07:44 GMT\"0x8D6BC5DDCE0E7F3\"5120share155475409067409281Mon, 08 Apr 2019 20:08:10 GMT\"0x8D6BC5DECA1EDC3\"5120share155475409203700405155475409217902614Mon, 08 Apr 2019 20:08:12 GMT\"0x8D6BC5DED85E721\"5120share155475411773004926155475411779200834Mon, 08 Apr 2019 20:08:37 GMT\"0x8D6BC5DFCCBABB5\"5120share155475427414200264Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E59F4C683\"5120share155475427489601007155475427495901119Mon, 08 Apr 2019 20:11:14 GMT\"0x8D6BC5E5A70C1F9\"5120share155475429027905961155475429029507552Mon, 08 Apr 2019 20:11:30 GMT\"0x8D6BC5E6395892F\"5120share155475435022204571Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E874CA5F0\"5120share155475435063303249155475435069506502Mon, 08 Apr 2019 20:12:30 GMT\"0x8D6BC5E87947DCC\"5120share155475436927404231155475436930502552Mon, 08 Apr 2019 20:12:49 GMT\"0x8D6BC5E92ADD1DA\"5120share155475439671008450Mon, 08 Apr 2019 20:13:16 GMT\"0x8D6BC5EA316E7EB\"5120share155475439953407644155475439988507010Mon, 08 Apr 2019 20:13:20 GMT\"0x8D6BC5EA4F9D7E0\"5120share155475444598308995155475444616001311Mon, 08 Apr 2019 20:14:06 GMT\"0x8D6BC5EC08F21C4\"5120share155475446176702336Mon, 08 Apr 2019 20:14:21 GMT\"0x8D6BC5EC9DCAA60\"5120share155475446353703583Mon, 08 Apr 2019 20:14:23 GMT\"0x8D6BC5ECAD67D62\"5120share155475446417801472155475446422504881Mon, 08 Apr 2019 20:14:24 GMT\"0x8D6BC5ECB4098FA\"5120share155475446457701072155475446492200309Mon, 08 Apr 2019 20:14:25 GMT\"0x8D6BC5ECBBDD5EB\"5120share155475446793804231Mon, 08 Apr 2019 20:14:28 GMT\"0x8D6BC5ECD898BFE\"5120share155475447083302210155475447120206734Mon, 08 Apr 2019 20:14:31 GMT\"0x8D6BC5ECF7C80C3\"5120share155475447390505685Mon, 08 Apr 2019 20:14:34 GMT\"0x8D6BC5ED118A561\"5120share155475447650205596155475447683107189Mon, 08 Apr 2019 20:14:36 GMT\"0x8D6BC5ED2D6B049\"5120share155475448038305903155475448041405576Mon, 08 Apr 2019 20:14:40 GMT\"0x8D6BC5ED4E6924A\"5120share155475450906908487155475450924302789Mon, 08 Apr 2019 20:15:09 GMT\"0x8D6BC5EE6288199\"5120share155475451925508933155475451943306507Mon, 08 Apr 2019 20:15:19 GMT\"0x8D6BC5EEC3A48AC\"5120share155475452102206244155475452117803090Mon, 08 Apr 2019 20:15:21 GMT\"0x8D6BC5EED45148F\"5120share155475458349904294Mon, 08 Apr 2019 20:16:23 GMT\"0x8D6BC5F126BFD9D\"5120share155475458633807389155475458669001847Mon, 08 Apr 2019 20:16:26 GMT\"0x8D6BC5F1451C2E6\"5120share155475463230409183155475463249501576Mon, 08 Apr 2019 20:17:12 GMT\"0x8D6BC5F2F9EB0AB\"5120share155475465763009191Mon, 08 Apr 2019 20:17:37 GMT\"0x8D6BC5F3E888648\"5120share155475465803604070155475465806806197Mon, 08 Apr 2019 20:17:38 GMT\"0x8D6BC5F3ECB7D61\"5120share155475467401603495155475467403109929Mon, 08 Apr 2019 20:17:54 GMT\"0x8D6BC5F484F4C93\"5120share155475470031000609Mon, 08 Apr 2019 20:18:20 GMT\"0x8D6BC5F5808BA98\"5120share155475470316101418155475470351307709Mon, 08 Apr 2019 20:18:23 GMT\"0x8D6BC5F59F0FF39\"5120share155475475094605443155475475112102208Mon, 08 Apr 2019 20:19:11 GMT\"0x8D6BC5F76528B41\"5120share155475475941800301Mon, 08 Apr 2019 20:19:19 GMT\"0x8D6BC5F7B45E4E8\"5120share155475476223909847155475476259506792Mon, 08 Apr 2019 20:19:22 GMT\"0x8D6BC5F7D2A69E0\"5120share155475477308706566Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F835A1E32\"5120share155475477343104020155475477346201298Mon, 08 Apr 2019 20:19:33 GMT\"0x8D6BC5F839403BF\"5120share155475478842801827155475478845901923Mon, 08 Apr 2019 20:19:48 GMT\"0x8D6BC5F8C835D24\"5120share155475480525700178Mon, 08 Apr 2019 20:20:05 GMT\"0x8D6BC5F96990DF2\"5120share155475480688709905155475480706700743Mon, 08 Apr 2019 20:20:07 GMT\"0x8D6BC5F97ACA80F\"5120share155475480855303004155475480891408138Mon, 08 Apr 2019 20:20:09 GMT\"0x8D6BC5F98C6A7B8\"5120share155475485447703891Mon, 08 Apr 2019 20:20:54 GMT\"0x8D6BC5FB3EC13D7\"5120share155475485733007299155475485750201983Mon, 08 Apr 2019 20:20:57 GMT\"0x8D6BC5FB5BBFA8C\"5120share155475485742005482155475485881007383Mon, 08 Apr 2019 20:20:58 GMT\"0x8D6BC5FB681758A\"5120share155475490613807301155475490631909875Mon, 08 Apr 2019 20:21:46 GMT\"0x8D6BC5FD2D493F0\"5120share155475491107004753Mon, 08 Apr 2019 20:21:51 GMT\"0x8D6BC5FD5AAA68E\"5120share155475491390609459155475491425402551Mon, 08 Apr 2019 20:21:54 GMT\"0x8D6BC5FD7906574\"5120share155475494829505353Mon, 08 Apr 2019 20:22:28 GMT\"0x8D6BC5FEBDAB205\"5120share155475495142602901155475495180000859Mon, 08 Apr 2019 20:22:31 GMT\"0x8D6BC5FEDF2097C\"5120share155475496856303648155475496873906374Mon, 08 Apr 2019 20:22:48 GMT\"0x8D6BC5FF809FBAD\"5120share155475502329509281Mon, 08 Apr 2019 20:23:43 GMT\"0x8D6BC60188F5C28\"5120share155475502686502140155475502722501031Mon, 08 Apr 2019 20:23:47 GMT\"0x8D6BC601AE7E933\"5120share155475503648203085155475503665708653Mon, 08 Apr 2019 20:23:57 GMT\"0x8D6BC6020A88DA4\"5120share155475507644605686155475507662104771Mon, 08 Apr 2019 20:24:36 GMT\"0x8D6BC603856E563\"5120share155475508896100844Mon, 08 Apr 2019 20:24:49 GMT\"0x8D6BC603FB84260\"5120share155475509358209217155475509401301874Mon, 08 Apr 2019 20:24:54 GMT\"0x8D6BC6042BB49CF\"5120share155475510662301217Mon, 08 Apr 2019 20:25:06 GMT\"0x8D6BC604A3D84CA\"5120share155475511009707995155475511051903727Mon, 08 Apr 2019 20:25:10 GMT\"0x8D6BC604C8FF2EE\"5120share155475514818002641155475514839702872Mon, 08 Apr 2019 20:25:48 GMT\"0x8D6BC606325B5A5\"5120share155475516302805972155475516324601842Mon, 08 Apr 2019 20:26:03 GMT\"0x8D6BC606BFD9DFF\"5120share155475518456808035Mon, 08 Apr 2019 20:26:24 GMT\"0x8D6BC6078B50416\"5120share155475518802906635155475518844705589Mon, 08 Apr 2019 20:26:28 GMT\"0x8D6BC607B0588B4\"5120share155475520133703444Mon, 08 Apr 2019 20:26:41 GMT\"0x8D6BC6082ADE91A\"5120share155475520414501691155475520449405158Mon, 08 Apr 2019 20:26:44 GMT\"0x8D6BC6084900BC9\"5120share155475524512000654155475524532709861Mon, 08 Apr 2019 20:27:25 GMT\"0x8D6BC609CEC662B\"5120share155475525216501306155475525233808863Mon, 08 Apr 2019 20:27:32 GMT\"0x8D6BC60A1135FEA\"5120share155475527372805529Mon, 08 Apr 2019 20:27:53 GMT\"0x8D6BC60ADD497F0\"5120share155475527768705135155475527803906164Mon, 08 Apr 2019 20:27:58 GMT\"0x8D6BC60B0668E79\"5120share155475537776009466155475537793501077Mon, 08 Apr 2019 20:29:38 GMT\"0x8D6BC60EBF138A0\"5120share155475538742205629Mon, 08 Apr 2019 20:29:47 GMT\"0x8D6BC60F19A097B\"5120share155475539026708478155475539062007850Mon, 08 Apr 2019 20:29:50 GMT\"0x8D6BC60F380F4B0\"5120share155475540318203360Mon, 08 Apr 2019 20:30:03 GMT\"0x8D6BC60FAFB33F1\"5120share155475540605901231155475540642605751Mon, 08 Apr 2019 20:30:06 GMT\"0x8D6BC60FCEA6E84\"5120share155475540935609132Mon, 08 Apr 2019 20:30:09 GMT\"0x8D6BC60FEAAF1B2\"5120share155475541165701615Mon, 08 Apr 2019 20:30:11 GMT\"0x8D6BC61000A3447\"5120share155475541229609722155475541264808030Mon, 08 Apr 2019 20:30:12 GMT\"0x8D6BC6100A0EB7D\"5120share155475541445806778155475541480407617Mon, 08 Apr 2019 20:30:14 GMT\"0x8D6BC6101EAA0A5\"5120share155475545304702291155475545323602346Mon, 08 Apr 2019 20:30:53 GMT\"0x8D6BC6118D0CFEE\"5120share155475547204003265155475547222409343Mon, 08 Apr 2019 20:31:12 GMT\"0x8D6BC6124248E6D\"5120share155475550139503230Mon, 08 Apr 2019 20:31:41 GMT\"0x8D6BC61358A8091\"5120share155475550433101922155475550468409391Mon, 08 Apr 2019 20:31:44 GMT\"0x8D6BC61377F2EA8\"5120share155475551150500012155475551168404026Mon, 08 Apr 2019 20:31:51 GMT\"0x8D6BC613BA9A20E\"5120share155475555173507633155475555190705054Mon, 08 Apr 2019 20:32:32 GMT\"0x8D6BC6153A5066E\"5120share155475562140308052155475562157505328Mon, 08 Apr 2019 20:33:41 GMT\"0x8D6BC617D2807D9\"5120share155475595155305925Mon, 08 Apr 2019 20:39:11 GMT\"0x8D6BC6241D790AF\"5120share155475595442704890155475595478105510Mon, 08 Apr 2019 20:39:14 GMT\"0x8D6BC6243C413DB\"5120share155475599014108328Mon, 08 Apr 2019 20:39:50 GMT\"0x8D6BC6258D71A83\"5120share155475599293303057155475599328109216Mon, 08 Apr 2019 20:39:53 GMT\"0x8D6BC625AB638B0\"5120share155475600155209426155475600172406148Mon, 08 Apr 2019 20:40:01 GMT\"0x8D6BC625FBFBBDC\"5120share155475603777709591155475603795107803Mon, 08 Apr 2019 20:40:38 GMT\"0x8D6BC62754F3FCA\"5120share155475606085105940Mon, 08 Apr 2019 20:41:00 GMT\"0x8D6BC6282FD809D\"5120share155475606369901916155475606405808018Mon, 08 Apr 2019 20:41:04 GMT\"0x8D6BC6284E6446A\"5120share155475611064800671155475611082309772Mon, 08 Apr 2019 20:41:50 GMT\"0x8D6BC62A0C63CDA\"5120share155475734977303059Mon, 08 Apr 2019 21:02:29 GMT\"0x8D6BC658346E681\"5120share155475735146501880155475735163208336Mon, 08 Apr 2019 21:02:31 GMT\"0x8D6BC65844D98C1\"5120share155475736263304813Mon, 08 Apr 2019 21:02:42 GMT\"0x8D6BC658AEE618F\"5120share155475736356107285155475736367500363Mon, 08 Apr 2019 21:02:43 GMT\"0x8D6BC658B76B901\"5120share155475737807009819155475737815207269Mon, 08 Apr 2019 21:02:58 GMT\"0x8D6BC65941C41E8\"5120share155475738194004164155475738198006296Mon, 08 Apr 2019 21:03:02 GMT\"0x8D6BC65965FBEA6\"5120share155475738961001284Mon, 08 Apr 2019 21:03:09 GMT\"0x8D6BC659AF2EC40\"5120share155475739148002318155475739164502260Mon, 08 Apr 2019 21:03:11 GMT\"0x8D6BC659C28D7F4\"5120share155475740405903976Mon, 08 Apr 2019 21:03:24 GMT\"0x8D6BC65A3998949\"5120share155475740686303089155475740718404146Mon, 08 Apr 2019 21:03:27 GMT\"0x8D6BC65A575FA2E\"5120share155475742006802357155475742014108948Mon, 08 Apr 2019 21:03:40 GMT\"0x8D6BC65AD253223\"5120share155475744922504325155475744938400415Mon, 08 Apr 2019 21:04:09 GMT\"0x8D6BC65BE9D9B9B\"5120share155475758392808763Mon, 08 Apr 2019 21:06:23 GMT\"0x8D6BC660EBDADB1\"5120share155475758496902188155475758505300339Mon, 08 Apr 2019 21:06:25 GMT\"0x8D6BC660F6D1FE1\"5120share155475758824600049Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC66114F3747\"5120share155475758856706019155475758859504581Mon, 08 Apr 2019 21:06:28 GMT\"0x8D6BC6611840340\"5120share155475759971409268155475759983105439Mon, 08 Apr 2019 21:06:39 GMT\"0x8D6BC6618387002\"5120share155475760299604525155475760301209424Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A1C73AD\"5120share155475760350309302Mon, 08 Apr 2019 21:06:43 GMT\"0x8D6BC661A70A858\"5120share155475760563302047155475760578902124Mon, 08 Apr 2019 21:06:45 GMT\"0x8D6BC661BCD2289\"5120share155475763254801465155475763262302940Mon, 08 Apr 2019 21:07:12 GMT\"0x8D6BC662BCAF1CE\"5120share155475767636102884Mon, 08 Apr 2019 21:07:56 GMT\"0x8D6BC6645E705FF\"5120share155475767891206281155475767922900229Mon, 08 Apr 2019 21:07:59 GMT\"0x8D6BC66479D03D9\"5120share155475772689703202155475772705609708Mon, 08 Apr 2019 21:08:47 GMT\"0x8D6BC66641EE5E0\"5120share155475776495606014Mon, 08 Apr 2019 21:09:25 GMT\"0x8D6BC667ABDD0A0\"5120share155475776677207052155475776709704200Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667BF13218\"5120share155475776709205233Mon, 08 Apr 2019 21:09:27 GMT\"0x8D6BC667C03C80F\"5120share155475776887404869155475776905403906Mon, 08 Apr 2019 21:09:29 GMT\"0x8D6BC667D1B6282\"5120share155475779606308901155475779615309916Mon, 08 Apr 2019 21:09:56 GMT\"0x8D6BC668D423AEA\"5120share155475779701304538155475779710407082Mon, 08 Apr 2019 21:09:57 GMT\"0x8D6BC668DD31352\"5120share155475791746104367Mon, 08 Apr 2019 21:11:57 GMT\"0x8D6BC66D59D0D93\"5120share155475792025605706155475792060301532Mon, 08 Apr 2019 21:12:00 GMT\"0x8D6BC66D77CF3D7\"5120share155475794486001708Mon, 08 Apr 2019 21:12:24 GMT\"0x8D6BC66E5E653D2\"5120share155475794611908909155475794627300186Mon, 08 Apr 2019 21:12:26 GMT\"0x8D6BC66E6BE37DF\"5120share155475796274909993155475796290807279Mon, 08 Apr 2019 21:12:43 GMT\"0x8D6BC66F0B39849\"5120share155475797592301938155475797599809651Mon, 08 Apr 2019 21:12:56 GMT\"0x8D6BC66F87694C9\"5120share155475826695006340Mon, 08 Apr 2019 21:17:46 GMT\"0x8D6BC67A5DD6DE4\"5120share155475826745207634155475826751406389Mon, 08 Apr 2019 21:17:47 GMT\"0x8D6BC67A632C490\"5120share155475828346608712155475828348203315Mon, 08 Apr 2019 21:18:03 GMT\"0x8D6BC67AFB7F63D\"5120share155475830359005133Mon, 08 Apr 2019 21:18:23 GMT\"0x8D6BC67BBB396A8\"5120share155475830426407161155475830431009918Mon, 08 Apr 2019 21:18:24 GMT\"0x8D6BC67BC1F40C0\"5120share155475831901901358155475831903400803Mon, 08 Apr 2019 21:18:39 GMT\"0x8D6BC67C4E67C93\"5120share155475857087801674Mon, 08 Apr 2019 21:22:50 GMT\"0x8D6BC685B03A4C2\"5120share155475857508204962155475857512904633Mon, 08 Apr 2019 21:22:55 GMT\"0x8D6BC685D8A4EE5\"5120share155475859715608328155475859718707845Mon, 08 Apr 2019 21:23:17 GMT\"0x8D6BC686AB018A0\"5120share155475862743005093Mon, 08 Apr 2019 21:23:47 GMT\"0x8D6BC687CBE4A2C\"5120share155475863073504871155475863089109018Mon, 08 Apr 2019 21:23:50 GMT\"0x8D6BC687ED0B4FA\"5120share155475866128905048155475866136704161Mon, 08 Apr 2019 21:24:21 GMT\"0x8D6BC6890F95653\"5120share155475866224208442Mon, 08 Apr 2019 21:24:22 GMT\"0x8D6BC68917EC28A\"5120share155475892444006125Mon, 08 Apr 2019 21:28:44 GMT\"0x8D6BC692DBEBA4E\"5120share155475892501907639155475892506500510Mon, 08 Apr 2019 21:28:45 GMT\"0x8D6BC692E1EED0A\"5120share155475894509709349155475894511200899Mon, 08 Apr 2019 21:29:05 GMT\"0x8D6BC693A11C854\"5120share155475901098902468Mon, 08 Apr 2019 21:30:11 GMT\"0x8D6BC696156D3C6\"5120share155475901336906263155475901340008777Mon, 08 Apr 2019 21:30:13 GMT\"0x8D6BC6962C7EDA7\"5120share155475903030807257155475903032309131Mon, 08 Apr 2019 21:30:30 GMT\"0x8D6BC696CDCEF37\"5120share155475917334807763Mon, 08 Apr 2019 21:32:53 GMT\"0x8D6BC69C22F94D0\"5120share155475917631504782155475917666903878Mon, 08 Apr 2019 21:32:56 GMT\"0x8D6BC69C429719B\"5120share155475922224509444155475922241807908Mon, 08 Apr 2019 21:33:42 GMT\"0x8D6BC69DF6E444A\"5120share155475925602205483Mon, 08 Apr 2019 21:34:16 GMT\"0x8D6BC69F375195C\"5120share155475926493206859155475926529100433Mon, 08 Apr 2019 21:34:25 GMT\"0x8D6BC69F92DED3F\"5120share155475931150207051155475931168006048Mon, 08 Apr 2019 21:35:11 GMT\"0x8D6BC6A14A09252\"5120share155475977936309871Mon, 08 Apr 2019 21:42:59 GMT\"0x8D6BC6B2B5BC0D0\"5120share155475978025201878155475978034602234Mon, 08 Apr 2019 21:43:00 GMT\"0x8D6BC6B2BE9A5D2\"5120share155475979938003003155475979942008091Mon, 08 Apr 2019 21:43:19 GMT\"0x8D6BC6B37480077\"5120share155475989025605514Mon, 08 Apr 2019 21:44:50 GMT\"0x8D6BC6B6D7332B1\"5120share155475989171106337155475989187403284Mon, 08 Apr 2019 21:44:51 GMT\"0x8D6BC6B6E6949D0\"5120share155475989380904279Mon, 08 Apr 2019 21:44:53 GMT\"0x8D6BC6B6F96205A\"5120share155475989459601580155475989469503324Mon, 08 Apr 2019 21:44:54 GMT\"0x8D6BC6B7012C9AE\"5120share155475990723502169Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77880AB0\"5120share155475990745006088155475990751106761Mon, 08 Apr 2019 21:45:07 GMT\"0x8D6BC6B77B1CA53\"5120share155475991324407391155475991328309141Mon, 08 Apr 2019 21:45:13 GMT\"0x8D6BC6B7B26E28D\"5120share155475991799108400155475991806701120Mon, 08 Apr 2019 21:45:18 GMT\"0x8D6BC6B7E059CFB\"5120share155475992088305591155475992089400834Mon, 08 Apr 2019 21:45:20 GMT\"0x8D6BC6B7FAC1DF3\"5120share155475995154906475Mon, 08 Apr 2019 21:45:51 GMT\"0x8D6BC6B92073E46\"5120share155475995424405105155475995457206560Mon, 08 Apr 2019 21:45:54 GMT\"0x8D6BC6B93D4CF64\"5120share155476000575809494155476000592307413Mon, 08 Apr 2019 21:46:46 GMT\"0x8D6BC6BB26FC664\"5120share155476000809002219Mon, 08 Apr 2019 21:46:48 GMT\"0x8D6BC6BB3BAA531\"5120share155476003381902159Mon, 08 Apr 2019 21:47:13 GMT\"0x8D6BC6BC3033DC1\"5120share155476003538801520155476003554406911Mon, 08 Apr 2019 21:47:15 GMT\"0x8D6BC6BC40AEB35\"5120share155476006367901271155476006375105324Mon, 08 Apr 2019 21:47:43 GMT\"0x8D6BC6BD4DA4CF3\"5120share155476006464706612Mon, 08 Apr 2019 21:47:44 GMT\"0x8D6BC6BD562C52B\"5120share155476020596003587Mon, 08 Apr 2019 21:50:05 GMT\"0x8D6BC6C2995BB9F\"5120share155476020640509691155476020643607403Mon, 08 Apr 2019 21:50:06 GMT\"0x8D6BC6C29DE43BA\"5120share155476022213002952155476022214307559Mon, 08 Apr 2019 21:50:22 GMT\"0x8D6BC6C333B110F\"5120share155476025129303157Mon, 08 Apr 2019 21:50:51 GMT\"0x8D6BC6C44A3EB6D\"5120share155476025257708167155476025273004331Mon, 08 Apr 2019 21:50:52 GMT\"0x8D6BC6C457F6F89\"5120share155476026709207569Mon, 08 Apr 2019 21:51:07 GMT\"0x8D6BC6C4E0EDB9C\"5120share155476026842807935155476026858005332Mon, 08 Apr 2019 21:51:08 GMT\"0x8D6BC6C4EF0F085\"5120share155476028011706632155476028019200644Mon, 08 Apr 2019 21:51:20 GMT\"0x8D6BC6C55DD40E8\"5120share155476028733301755Mon, 08 Apr 2019 21:51:27 GMT\"0x8D6BC6C5A2B1164\"5120share155476028990007932155476029022300298Mon, 08 Apr 2019 21:51:30 GMT\"0x8D6BC6C5BE4364F\"5120share155476029409203644155476029417004479Mon, 08 Apr 2019 21:51:34 GMT\"0x8D6BC6C5E323F08\"5120share155476033140808210155476033156802521Mon, 08 Apr 2019 21:52:11 GMT\"0x8D6BC6C74881F50\"5120share155476034088907107Mon, 08 Apr 2019 21:52:20 GMT\"0x8D6BC6C7A02E996\"5120share155476034117100915155476034120003425Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A32BF58\"5120share155476034139001386Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A524E51\"5120share155476034165201091155476034168404201Mon, 08 Apr 2019 21:52:21 GMT\"0x8D6BC6C7A7F5C77\"5120share155476035937201981155476035938600086Mon, 08 Apr 2019 21:52:39 GMT\"0x8D6BC6C850C4063\"5120share155476036421402002155476036422702027Mon, 08 Apr 2019 21:52:44 GMT\"0x8D6BC6C87EC265B\"5120share155476048267109256Mon, 08 Apr 2019 21:54:42 GMT\"0x8D6BC6CCE99472D\"5120share155476048527507829155476048559500422Mon, 08 Apr 2019 21:54:45 GMT\"0x8D6BC6CD0571965\"5120share155476048713809104Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD136D3F0\"5120share155476048740007315Mon, 08 Apr 2019 21:54:47 GMT\"0x8D6BC6CD171D0C6\"5120share155476048839103036155476048854303354Mon, 08 Apr 2019 21:54:48 GMT\"0x8D6BC6CD20D2221\"5120share155476048911309646155476048929702628Mon, 08 Apr 2019 21:54:49 GMT\"0x8D6BC6CD27FCECC\"5120share155476051277403297Mon, 08 Apr 2019 21:55:12 GMT\"0x8D6BC6CE0906704\"5120share155476051454002744155476051472201385Mon, 08 Apr 2019 21:55:14 GMT\"0x8D6BC6CE1A6B524\"5120share155476051662706835155476051671905991Mon, 08 Apr 2019 21:55:16 GMT\"0x8D6BC6CE2D7A3CA\"5120share155476051701609760155476051709206998Mon, 08 Apr 2019 21:55:17 GMT\"0x8D6BC6CE310B624\"5120share155476052779709407155476052795604667Mon, 08 Apr 2019 21:55:28 GMT\"0x8D6BC6CE9963684\"5120share155476054363301934155476054372205907Mon, 08 Apr 2019 21:55:43 GMT\"0x8D6BC6CF2EF3F18\"5120share155476054757102427Mon, 08 Apr 2019 21:55:48 GMT\"0x8D6BC6CF5881A20\"5120share155476054966904265155476054985500146Mon, 08 Apr 2019 21:55:49 GMT\"0x8D6BC6CF69A57B2\"5120share155476058378901492155476058388001989Mon, 08 Apr 2019 21:56:23 GMT\"0x8D6BC6D0AE1689F\"5120share155476063180009911Mon, 08 Apr 2019 21:57:11 GMT\"0x8D6BC6D277B622E\"5120share155476063439108000155476063471007018Mon, 08 Apr 2019 21:57:14 GMT\"0x8D6BC6D2937A4ED\"5120share155476067663009343155476067679203410Mon, 08 Apr 2019 21:57:56 GMT\"0x8D6BC6D424D09B8\"5120share155476081678509800Mon, 08 Apr 2019 22:00:16 GMT\"0x8D6BC6D95AD4D03\"5120share155476081824207433155476081838207562Mon, 08 Apr 2019 22:00:18 GMT\"0x8D6BC6D96A86EE7\"5120share155476083644003555155476083645604348Mon, 08 Apr 2019 22:00:36 GMT\"0x8D6BC6DA167B245\"5120share155476088823106626Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC042AE74\"5120share155476088871505002155476088876204939Mon, 08 Apr 2019 22:01:28 GMT\"0x8D6BC6DC093FF80\"5120share155476090573808731155476090575302750Mon, 08 Apr 2019 22:01:45 GMT\"0x8D6BC6DCAB58E0F\"5120share155476090608205029Mon, 08 Apr 2019 22:01:46 GMT\"0x8D6BC6DCAEA4D12\"5120share155476104985707487Mon, 08 Apr 2019 22:04:09 GMT\"0x8D6BC6E20AA4FBE\"5120share155476105287802955155476105322102107Mon, 08 Apr 2019 22:04:13 GMT\"0x8D6BC6E22A9F4B3\"5120share155476109777803762155476109795103407Mon, 08 Apr 2019 22:04:58 GMT\"0x8D6BC6E3D53CC69\"5120share155476116954300139Mon, 08 Apr 2019 22:06:09 GMT\"0x8D6BC6E67F1DB21\"5120share155476117009004633155476117021501167Mon, 08 Apr 2019 22:06:10 GMT\"0x8D6BC6E68551F94\"5120share155476118869803387155476118871409122Mon, 08 Apr 2019 22:06:28 GMT\"0x8D6BC6E735CD088\"5120share155476118922903105Mon, 08 Apr 2019 22:06:29 GMT\"0x8D6BC6E73AB5632\"5120share155476120533605556Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D484823\"5120share155476120585307909155476120590002418Mon, 08 Apr 2019 22:06:45 GMT\"0x8D6BC6E7D9DE244\"5120share155476122658302898155476122661407484Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E89F48854\"5120share155476122685003701Mon, 08 Apr 2019 22:07:06 GMT\"0x8D6BC6E8A18FF0E\"5120share155476145760800341Mon, 08 Apr 2019 22:10:57 GMT\"0x8D6BC6F13A3C9CB\"5120share155476145803208912155476145807803209Mon, 08 Apr 2019 22:10:58 GMT\"0x8D6BC6F13EB7CEC\"5120share155476148487709874155476148490906559Mon, 08 Apr 2019 22:11:24 GMT\"0x8D6BC6F23E92BC9\"5120share155476150918404287Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32619FF1\"5120share155476150970200428155476150978009839Mon, 08 Apr 2019 22:11:49 GMT\"0x8D6BC6F32BA401F\"5120share155476153188200423155476153189701570Mon, 08 Apr 2019 22:12:11 GMT\"0x8D6BC6F3FEAA305\"5120share155476153428008605Mon, 08 Apr 2019 22:12:14 GMT\"0x8D6BC6F41575DF5\"5120share155476153904907363155476153915900604Mon, 08 Apr 2019 22:12:19 GMT\"0x8D6BC6F443F53F5\"5120share155476155793708877155476155795200051Mon, 08 Apr 2019 22:12:37 GMT\"0x8D6BC6F4F73AFB9\"5120share155476176301401148Mon, 08 Apr 2019 22:16:03 GMT\"0x8D6BC6FC9C05EB2\"5120share155476176664806384155476176701407346Mon, 08 Apr 2019 22:16:07 GMT\"0x8D6BC6FCC22FF4A\"5120share155476178788303535Mon, 08 Apr 2019 22:16:28 GMT\"0x8D6BC6FD88E9FB5\"5120share155476179080407360155476179117205282Mon, 08 Apr 2019 22:16:31 GMT\"0x8D6BC6FDA83FC62\"5120share155476180179506672Mon, 08 Apr 2019 22:16:41 GMT\"0x8D6BC6FE0C9A087\"5120share155476180220305217155476180225001346Mon, 08 Apr 2019 22:16:42 GMT\"0x8D6BC6FE10E33F9\"5120share155476181531205041155476181549305114Mon, 08 Apr 2019 22:16:55 GMT\"0x8D6BC6FE9072FB1\"5120share155476181728704394155476181730207146Mon, 08 Apr 2019 22:16:57 GMT\"0x8D6BC6FEA07A689\"5120share155476183783003117155476183801406829Mon, 08 Apr 2019 22:17:18 GMT\"0x8D6BC6FF66FC70E\"5120share155476231957209906Mon, 08 Apr 2019 22:25:19 GMT\"0x8D6BC71157A027C\"5120share155476232290905918Mon, 08 Apr 2019 22:25:23 GMT\"0x8D6BC7117762E7A\"5120share155476232357801883155476232395803880Mon, 08 Apr 2019 22:25:24 GMT\"0x8D6BC7118168C9C\"5120share155476232681309939155476232720800252Mon, 08 Apr 2019 22:25:27 GMT\"0x8D6BC711A0853B4\"5120share155476234459508335Mon, 08 Apr 2019 22:25:44 GMT\"0x8D6BC7124629DF4\"5120share155476234817303197155476234856203585Mon, 08 Apr 2019 22:25:48 GMT\"0x8D6BC7126BFE461\"5120share155476237480606920155476237498603572Mon, 08 Apr 2019 22:26:15 GMT\"0x8D6BC713680FDE6\"5120share155476237658903468155476237676503841Mon, 08 Apr 2019 22:26:16 GMT\"0x8D6BC71378F70E6\"5120share155476241034103932155476241051700267Mon, 08 Apr 2019 22:26:50 GMT\"0x8D6BC714BAD96A2\"5120share155476265660405974Mon, 08 Apr 2019 22:30:56 GMT\"0x8D6BC71DE5CE7CE\"5120share155476265960100490155476266001400047Mon, 08 Apr 2019 22:31:00 GMT\"0x8D6BC71E065AD79\"5120share155476269189900873Mon, 08 Apr 2019 22:31:32 GMT\"0x8D6BC71F3676FEC\"5120share155476269493900402155476269529509546Mon, 08 Apr 2019 22:31:35 GMT\"0x8D6BC71F56D2517\"5120share155476270675209985155476270693002780Mon, 08 Apr 2019 22:31:47 GMT\"0x8D6BC71FC5C8895\"5120share155476273714203829Mon, 08 Apr 2019 22:32:17 GMT\"0x8D6BC720E5D5600\"5120share155476273998201037155476274034707959Mon, 08 Apr 2019 22:32:20 GMT\"0x8D6BC7210466419\"5120share155476274839705508155476274856902425Mon, 08 Apr 2019 22:32:28 GMT\"0x8D6BC72152D7B73\"5120share155476278819401875155476278836408722Mon, 08 Apr 2019 22:33:08 GMT\"0x8D6BC722CE4B9A9\"5120share155476279250304492Mon, 08 Apr 2019 22:33:12 GMT\"0x8D6BC722F5C173B\"5120share155476310454401084Mon, 08 Apr 2019 22:38:24 GMT\"0x8D6BC72E95AF3E9\"5120share155476310739905326155476310787807773Mon, 08 Apr 2019 22:38:28 GMT\"0x8D6BC72EB57CD23\"5120share155476315509400354155476315527009713Mon, 08 Apr 2019 22:39:15 GMT\"0x8D6BC7307973941\"5120share155476431696300605Mon, 08 Apr 2019 22:58:37 GMT\"0x8D6BC75BBFA0376\"5120share155476431803903555155476431812608836Mon, 08 Apr 2019 22:58:38 GMT\"0x8D6BC75BCA40F40\"5120share155476434449006187155476434453202288Mon, 08 Apr 2019 22:59:04 GMT\"0x8D6BC75CC615763\"5120share155476439619101391Mon, 08 Apr 2019 22:59:56 GMT\"0x8D6BC75EB339992\"5120share155476439708209578155476439716101466Mon, 08 Apr 2019 22:59:57 GMT\"0x8D6BC75EBBF56A2\"5120share155476440391303860Mon, 08 Apr 2019 23:00:03 GMT\"0x8D6BC75EFC59254\"5120share155476441919809882Mon, 08 Apr 2019 23:00:19 GMT\"0x8D6BC75F8E84132\"5120share155476442078600281155476442100203874Mon, 08 Apr 2019 23:00:21 GMT\"0x8D6BC75F9FB98CD\"5120share155476445648205993Mon, 08 Apr 2019 23:00:56 GMT\"0x8D6BC760F317FE7\"5120share155476445803400883155476445823708321Mon, 08 Apr 2019 23:00:58 GMT\"0x8D6BC76102C0ED4\"5120share155476448512502130155476448520901124Mon, 08 Apr 2019 23:01:25 GMT\"0x8D6BC76203FC0A1\"5120share155476449148305636155476449156002875Mon, 08 Apr 2019 23:01:31 GMT\"0x8D6BC76240A4F5B\"5120share155476451224507051Mon, 08 Apr 2019 23:01:52 GMT\"0x8D6BC763071C475\"5120share155476451387005113155476451409200862Mon, 08 Apr 2019 23:01:54 GMT\"0x8D6BC7631766C6A\"5120share155476454247600113155476454255808131Mon, 08 Apr 2019 23:02:22 GMT\"0x8D6BC76426E1E01\"5120share155476454745500618Mon, 08 Apr 2019 23:02:27 GMT\"0x8D6BC764565FA5E\"5120share155476455021607446155476455057102446Mon, 08 Apr 2019 23:02:30 GMT\"0x8D6BC7647417689\"5120share155476458716904340Mon, 08 Apr 2019 23:03:07 GMT\"0x8D6BC765D11F2F7\"5120share155476459201807048155476459234206562Mon, 08 Apr 2019 23:03:12 GMT\"0x8D6BC766026741C\"5120share155476460868908204155476460885205375Mon, 08 Apr 2019 23:03:28 GMT\"0x8D6BC7669FDEE7E\"5120share155476464610301226155476464626505345Mon, 08 Apr 2019 23:04:06 GMT\"0x8D6BC76804A1D2B\"5120share155476509552004112Mon, 08 Apr 2019 23:11:35 GMT\"0x8D6BC778C11DA05\"5120share155476509649000318155476509657002600Mon, 08 Apr 2019 23:11:36 GMT\"0x8D6BC778CA0CB2B\"5120share155476511542304387155476511546309152Mon, 08 Apr 2019 23:11:55 GMT\"0x8D6BC7797E39BEB\"5120share155476517413101344Mon, 08 Apr 2019 23:12:54 GMT\"0x8D6BC77BAEEAA8D\"5120share155476517496105311155476517504207003Mon, 08 Apr 2019 23:12:55 GMT\"0x8D6BC77BB67D830\"5120share155476519430301159155476519441608194Mon, 08 Apr 2019 23:13:14 GMT\"0x8D6BC77C6F3A3F7\"5120share155476521415002140Mon, 08 Apr 2019 23:13:34 GMT\"0x8D6BC77D2BCBED8\"5120share155476521551909754155476521567608139Mon, 08 Apr 2019 23:13:35 GMT\"0x8D6BC77D3A540D1\"5120share155476522814705024Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB0AE947\"5120share155476522860004891155476522870301250Mon, 08 Apr 2019 23:13:48 GMT\"0x8D6BC77DB5F942D\"5120share155476524157100256155476524158202664Mon, 08 Apr 2019 23:14:01 GMT\"0x8D6BC77E30CE333\"5120share155476524350705464155476524358205357Mon, 08 Apr 2019 23:14:03 GMT\"0x8D6BC77E4460746\"5120share155476526115609987Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EEBA1057\"5120share155476526161606511155476526168506405Mon, 08 Apr 2019 23:14:21 GMT\"0x8D6BC77EF0AB4DE\"5120share155476528567704891155476528569706277Mon, 08 Apr 2019 23:14:47 GMT\"0x8D6BC77FEAC6C77\"5120share155476541308600173Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC784947CC5E\"5120share155476541336401605155476541343509475Mon, 08 Apr 2019 23:16:53 GMT\"0x8D6BC78497D6CB2\"5120share155476541862407549Mon, 08 Apr 2019 23:16:58 GMT\"0x8D6BC784CA7ADBF\"5120share155476542140001121155476542174500634Mon, 08 Apr 2019 23:17:01 GMT\"0x8D6BC784E84DC17\"5120share155476542538504885Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC78509D81DB\"5120share155476542565004895155476542568006667Mon, 08 Apr 2019 23:17:05 GMT\"0x8D6BC7850CA2738\"5120share155476543241701826155476543243201196Mon, 08 Apr 2019 23:17:12 GMT\"0x8D6BC7854D01156\"5120share155476544273008434155476544274305609Mon, 08 Apr 2019 23:17:22 GMT\"0x8D6BC785AF5E27A\"5120share155476544945600830Mon, 08 Apr 2019 23:17:29 GMT\"0x8D6BC785EFC69FE\"5120share155476545069609500155476545084404529Mon, 08 Apr 2019 23:17:30 GMT\"0x8D6BC785FD05CC7\"5120share155476546513001319155476546528907473Mon, 08 Apr 2019 23:17:45 GMT\"0x8D6BC78687868BA\"5120share155476547764302784Mon, 08 Apr 2019 23:17:57 GMT\"0x8D6BC786FD65928\"5120share155476547797509162155476547804708222Mon, 08 Apr 2019 23:17:58 GMT\"0x8D6BC787006AD8B\"5120share155476548004608178Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC787149A8DB\"5120share155476548025600059155476548057608757Mon, 08 Apr 2019 23:18:00 GMT\"0x8D6BC7871955A28\"5120share155476548161101583155476548178500635Mon, 08 Apr 2019 23:18:01 GMT\"0x8D6BC7872415487\"5120share155476551017200699155476551025501651Mon, 08 Apr 2019 23:18:30 GMT\"0x8D6BC788339C452\"5120share155476553000100349155476553016007964Mon, 08 Apr 2019 23:18:50 GMT\"0x8D6BC788F23E794\"5120share155476553515703995Mon, 08 Apr 2019 23:18:55 GMT\"0x8D6BC78921E3A6B\"5120share155476555499605553Mon, 08 Apr 2019 23:19:15 GMT\"0x8D6BC789DE8981A\"5120share155476555791006568155476555799506397Mon, 08 Apr 2019 23:19:18 GMT\"0x8D6BC789FAA847D\"5120share155476556319001694Mon, 08 Apr 2019 23:19:23 GMT\"0x8D6BC78A2D231F0\"5120share155476556594909048155476556627906331Mon, 08 Apr 2019 23:19:26 GMT\"0x8D6BC78A4AA425C\"5120share155476557993103090155476557997202286Mon, 08 Apr 2019 23:19:40 GMT\"0x8D6BC78ACC4513F\"5120share155476561235504876Mon, 08 Apr 2019 23:20:12 GMT\"0x8D6BC78C0167F8D\"5120share155476561420206269155476561435307087Mon, 08 Apr 2019 23:20:14 GMT\"0x8D6BC78C1459AB0\"5120share155476563307809610155476563323908472Mon, 08 Apr 2019 23:20:33 GMT\"0x8D6BC78CC9356F8\"5120share155476563525700309Mon, 08 Apr 2019 23:20:35 GMT\"0x8D6BC78CDC75B1D\"5120share155476565186800149155476565194201836Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D7ACF537\"5120share155476565288908553Mon, 08 Apr 2019 23:20:52 GMT\"0x8D6BC78D83D9739\"5120share155476566702204764Mon, 08 Apr 2019 23:21:07 GMT\"0x8D6BC78E0AB5059\"5120share155476566888408884155476566903301978Mon, 08 Apr 2019 23:21:09 GMT\"0x8D6BC78E1DDFA2F\"5120share155476569754601439Mon, 08 Apr 2019 23:21:37 GMT\"0x8D6BC78F2DE4CD2\"5120share155476569837207565155476569846005813Mon, 08 Apr 2019 23:21:38 GMT\"0x8D6BC78F36203BE\"5120share155476571075507322155476571082803282Mon, 08 Apr 2019 23:21:50 GMT\"0x8D6BC78FAC64BC5\"5120share155476573561205412155476573565403349Mon, 08 Apr 2019 23:22:15 GMT\"0x8D6BC79098D6F9D\"5120share155476582496201150Mon, 08 Apr 2019 23:23:44 GMT\"0x8D6BC793EC6F190\"5120share155476582523001983155476582525909945Mon, 08 Apr 2019 23:23:45 GMT\"0x8D6BC793EF41688\"5120share155476582743106751Mon, 08 Apr 2019 23:23:48 GMT\"0x8D6BC79409CAE41\"5120share155476582980100852155476582998703282Mon, 08 Apr 2019 23:23:50 GMT\"0x8D6BC7941CAE726\"5120share155476583944109368155476583945505070Mon, 08 Apr 2019 23:23:59 GMT\"0x8D6BC79476A6827\"5120share155476586034200225Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC7953DD5231\"5120share155476586061108739155476586063802574Mon, 08 Apr 2019 23:24:20 GMT\"0x8D6BC795409FE33\"5120share155476586220706650155476586229602787Mon, 08 Apr 2019 23:24:22 GMT\"0x8D6BC79550CEB70\"5120share155476587455908529155476587457305551Mon, 08 Apr 2019 23:24:34 GMT\"0x8D6BC795C58879C\"5120share155476590826505721Mon, 08 Apr 2019 23:25:08 GMT\"0x8D6BC7970761A7D\"5120share155476590973604504155476590989309631Mon, 08 Apr 2019 23:25:09 GMT\"0x8D6BC79716D4AFA\"5120share155476591033707299Mon, 08 Apr 2019 23:25:10 GMT\"0x8D6BC7971B27D00\"5120share155476591170101125155476591185309922Mon, 08 Apr 2019 23:25:11 GMT\"0x8D6BC797299505C\"5120share155476593861309453155476593868502630Mon, 08 Apr 2019 23:25:38 GMT\"0x8D6BC798296DD7A\"5120share155476594539707363155476594547109339Mon, 08 Apr 2019 23:25:45 GMT\"0x8D6BC7986A2BCA7\"5120share155476597286003203Mon, 08 Apr 2019 23:26:13 GMT\"0x8D6BC799708A3BD\"5120share155476597464003206155476597484603390Mon, 08 Apr 2019 23:26:14 GMT\"0x8D6BC79982362D7\"5120share155476598426402793Mon, 08 Apr 2019 23:26:24 GMT\"0x8D6BC799DD3927D\"5120share155476598818205759155476598845002383Mon, 08 Apr 2019 23:26:28 GMT\"0x8D6BC79A03EE25F\"5120share155476600772007187155476600781306046Mon, 08 Apr 2019 23:26:47 GMT\"0x8D6BC79ABC9C020\"5120share155476603512906240155476603522107811Mon, 08 Apr 2019 23:27:15 GMT\"0x8D6BC79BC2077CD\"5120share155476612857004763Mon, 08 Apr 2019 23:28:48 GMT\"0x8D6BC79F3D10E56\"5120share155476613124503640155476613162501568Mon, 08 Apr 2019 23:28:51 GMT\"0x8D6BC79F5BF108E\"5120share155476613867709497Mon, 08 Apr 2019 23:28:58 GMT\"0x8D6BC79F9D73AD3\"5120share155476614130107770155476614162206344Mon, 08 Apr 2019 23:29:01 GMT\"0x8D6BC79FB98B873\"5120share155476615325105499Mon, 08 Apr 2019 23:29:13 GMT\"0x8D6BC7A0285F585\"5120share155476615587201364155476615619704021Mon, 08 Apr 2019 23:29:16 GMT\"0x8D6BC7A04482DC2\"5120share155476617256702013Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0DF70F50\"5120share155476617286708690155476617290000740Mon, 08 Apr 2019 23:29:32 GMT\"0x8D6BC7A0E2A3672\"5120share155476617631503794155476617647401574Mon, 08 Apr 2019 23:29:36 GMT\"0x8D6BC7A105D6D5F\"5120share155476618593504384155476618610007906Mon, 08 Apr 2019 23:29:46 GMT\"0x8D6BC7A161CED7E\"5120share155476619533401752155476619534705354Mon, 08 Apr 2019 23:29:55 GMT\"0x8D6BC7A1B8B2A6E\"5120share155476619683806353Mon, 08 Apr 2019 23:29:56 GMT\"0x8D6BC7A1C6D46CC\"5120share155476619725105811155476619728102750Mon, 08 Apr 2019 23:29:57 GMT\"0x8D6BC7A1CB038C9\"5120share155476621071307980155476621087208340Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A24DEA06B\"5120share155476621179405773155476621180801024Mon, 08 Apr 2019 23:30:11 GMT\"0x8D6BC7A25599C50\"5120share155476632270408100Mon, 08 Apr 2019 23:32:02 GMT\"0x8D6BC7A6773D7C7\"5120share155476632303800675155476632307907455Mon, 08 Apr 2019 23:32:03 GMT\"0x8D6BC7A67AC9E05\"5120share155476632430706264Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A6864C391\"5120share155476632463506544155476632466702328Mon, 08 Apr 2019 23:32:04 GMT\"0x8D6BC7A689BC5FA\"5120share155476633626802696Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6F8AE711\"5120share155476633665402270155476633669409143Mon, 08 Apr 2019 23:32:16 GMT\"0x8D6BC7A6FCB6F75\"5120share155476633819602071155476633821109901Mon, 08 Apr 2019 23:32:18 GMT\"0x8D6BC7A70AEB4F1\"5120share155476634347500960155476634349303762Mon, 08 Apr 2019 23:32:23 GMT\"0x8D6BC7A73D7BC04\"5120share155476635498803205155476635500704670Mon, 08 Apr 2019 23:32:35 GMT\"0x8D6BC7A7AB5DD31\"5120share155476636740102128Mon, 08 Apr 2019 23:32:47 GMT\"0x8D6BC7A8217ACEF\"5120share155476636799001553155476636802902322Mon, 08 Apr 2019 23:32:48 GMT\"0x8D6BC7A827742AF\"5120share155476640407007925155476640408806067Mon, 08 Apr 2019 23:33:24 GMT\"0x8D6BC7A97F5475C\"5120share155476642228906194Mon, 08 Apr 2019 23:33:42 GMT\"0x8D6BC7AA2E851DD\"5120share155476642406903205155476642428706870Mon, 08 Apr 2019 23:33:44 GMT\"0x8D6BC7AA405A02A\"5120share155476643556600842Mon, 08 Apr 2019 23:33:55 GMT\"0x8D6BC7AAAD375CF\"5120share155476643735007209155476643755301972Mon, 08 Apr 2019 23:33:57 GMT\"0x8D6BC7AABEFBA98\"5120share155476646013804921155476646023001703Mon, 08 Apr 2019 23:34:20 GMT\"0x8D6BC7AB9720C36\"5120share155476646603504862155476646612508671Mon, 08 Apr 2019 23:34:26 GMT\"0x8D6BC7ABCF7B99B\"5120share155476651939008948Mon, 08 Apr 2019 23:35:19 GMT\"0x8D6BC7ADCB724D3\"5120share155476652060209660155476652075001950Mon, 08 Apr 2019 23:35:20 GMT\"0x8D6BC7ADD868F16\"5120share155476652313402499Mon, 08 Apr 2019 23:35:23 GMT\"0x8D6BC7ADEF47E76\"5120share155476652445009512155476652460906173Mon, 08 Apr 2019 23:35:24 GMT\"0x8D6BC7ADFD4BF9F\"5120share155476653877105120Mon, 08 Apr 2019 23:35:38 GMT\"0x8D6BC7AE85715BC\"5120share155476654052606040155476654075704405Mon, 08 Apr 2019 23:35:40 GMT\"0x8D6BC7AE9734F6D\"5120share155476654689703476155476654698507157Mon, 08 Apr 2019 23:35:47 GMT\"0x8D6BC7AED294572\"5120share155476655472405591155476655481808374Mon, 08 Apr 2019 23:35:54 GMT\"0x8D6BC7AF1D649CF\"5120share155476656612708539Mon, 08 Apr 2019 23:36:06 GMT\"0x8D6BC7AF8A51350\"5120share155476657143404230155476657152808653Mon, 08 Apr 2019 23:36:11 GMT\"0x8D6BC7AFBCA17D2\"5120share155476657399703964155476657419709569Mon, 08 Apr 2019 23:36:14 GMT\"0x8D6BC7AFD60C4A1\"5120share155476661766108474155476661775202619Mon, 08 Apr 2019 23:36:57 GMT\"0x8D6BC7B17564BAD\"5120share155476673272406010Mon, 08 Apr 2019 23:38:52 GMT\"0x8D6BC7B5BF0E3A1\"5120share155476673504406253155476673542105732Mon, 08 Apr 2019 23:38:55 GMT\"0x8D6BC7B5D7931DB\"5120share155476675253901113Mon, 08 Apr 2019 23:39:12 GMT\"0x8D6BC7B67A8B452\"5120share155476675296209288155476675300907031Mon, 08 Apr 2019 23:39:13 GMT\"0x8D6BC7B67F08B7B\"5120share155476676945407999155476676947003222Mon, 08 Apr 2019 23:39:29 GMT\"0x8D6BC7B71C055F1\"5120share155476677410400733155476677419608768Mon, 08 Apr 2019 23:39:34 GMT\"0x8D6BC7B7495E848\"5120share155476678595409185Mon, 08 Apr 2019 23:39:46 GMT\"0x8D6BC7B7BA54AF6\"5120share155476678702907493Mon, 08 Apr 2019 23:39:47 GMT\"0x8D6BC7B7C3787CB\"5120share155476678942303133155476678947007472Mon, 08 Apr 2019 23:39:49 GMT\"0x8D6BC7B7DACAD5C\"5120share155476679257406842155476679289807813Mon, 08 Apr 2019 23:39:53 GMT\"0x8D6BC7B7FC83C47\"5120share155476681265205823155476681268306939Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8B81FC62\"5120share155476681295008223Mon, 08 Apr 2019 23:40:12 GMT\"0x8D6BC7B8BAA029D\"5120share155476683674701439Mon, 08 Apr 2019 23:40:36 GMT\"0x8D6BC7B99EB0399\"5120share155476683691105172Mon, 08 Apr 2019 23:40:37 GMT\"0x8D6BC7B9A04190A\"5120share155476683938408044155476683970607122Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BAF0AC6\"5120share155476683954506999155476683986401108Mon, 08 Apr 2019 23:40:39 GMT\"0x8D6BC7B9BC6BC86\"5120share155476684955901192155476684971705447Mon, 08 Apr 2019 23:40:49 GMT\"0x8D6BC7BA1A68C4A\"5120share155476689429503310155476689446302908Mon, 08 Apr 2019 23:41:34 GMT\"0x8D6BC7BBC523411\"5120share155476689486309119155476689502109811Mon, 08 Apr 2019 23:41:35 GMT\"0x8D6BC7BBCA78283\"5120share155476689848406446Mon, 08 Apr 2019 23:41:38 GMT\"0x8D6BC7BBEA6DEF5\"5120share155476690144000750155476690147105650Mon, 08 Apr 2019 23:41:41 GMT\"0x8D6BC7BC06D6BFE\"5120share155476692550408281155476692552006307Mon, 08 Apr 2019 23:42:05 GMT\"0x8D6BC7BCEC2E737\"5120share155476701310301365Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C02F81A4A\"5120share155476701354009909155476701358700586Mon, 08 Apr 2019 23:43:33 GMT\"0x8D6BC7C0341217E\"5120share155476703054701901155476703056303132Mon, 08 Apr 2019 23:43:50 GMT\"0x8D6BC7C0D5E5EF4\"5120share155476705263308527Mon, 08 Apr 2019 23:44:12 GMT\"0x8D6BC7C1A874F4E\"5120share155476705313403501155476705324309452Mon, 08 Apr 2019 23:44:13 GMT\"0x8D6BC7C1AE43384\"5120share155476707854907462155476707856501775Mon, 08 Apr 2019 23:44:38 GMT\"0x8D6BC7C29FBFD59\"5120share155476708292203055Mon, 08 Apr 2019 23:44:42 GMT\"0x8D6BC7C2C965437\"5120share155476718097200661Mon, 08 Apr 2019 23:46:21 GMT\"0x8D6BC7C67140ED4\"5120share155476718511307033155476718528507060Mon, 08 Apr 2019 23:46:25 GMT\"0x8D6BC7C69A5A008\"5120share155476720906609619Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C77C48EEA\"5120share155476720947601374155476720952302768Mon, 08 Apr 2019 23:46:49 GMT\"0x8D6BC7C780AB178\"5120share155476721652702563155476721660503614Mon, 08 Apr 2019 23:46:56 GMT\"0x8D6BC7C7C4FF562\"5120share155476722456803338155476722458406433Mon, 08 Apr 2019 23:47:04 GMT\"0x8D6BC7C8105A53E\"5120share155476731188105124Mon, 08 Apr 2019 23:48:31 GMT\"0x8D6BC7CB50D9313\"5120share155476731224201118155476731228901281Mon, 08 Apr 2019 23:48:32 GMT\"0x8D6BC7CB54D3B10\"5120share155476733008504443155476733011603577Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CBFEB1452\"5120share155476733031901975Mon, 08 Apr 2019 23:48:50 GMT\"0x8D6BC7CC00B25BF\"5120share155476737686900592Mon, 08 Apr 2019 23:49:36 GMT\"0x8D6BC7CDBCC5422\"5120share155476737934703176155476737939509803Mon, 08 Apr 2019 23:49:39 GMT\"0x8D6BC7CDD4CCB9A\"5120share155476740063206317Mon, 08 Apr 2019 23:50:00 GMT\"0x8D6BC7CE9F6D928\"5120share155476740105301968155476740110108620Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA3DC4B9\"5120share155476740160309274155476740163408658Mon, 08 Apr 2019 23:50:01 GMT\"0x8D6BC7CEA8EBD5D\"5120share155476740389005761Mon, 08 Apr 2019 23:50:03 GMT\"0x8D6BC7CEBE693B3\"5120share155476741944107110155476741947208866Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF5306B3B\"5120share155476741973801348Mon, 08 Apr 2019 23:50:19 GMT\"0x8D6BC7CF55AA35D\"5120share155476751993603097Mon, 08 Apr 2019 23:51:59 GMT\"0x8D6BC7D310FD6F9\"5120share155476752034209234155476752038903373Mon, 08 Apr 2019 23:52:00 GMT\"0x8D6BC7D3154EB7F\"5120share155476753773308525155476753774900804Mon, 08 Apr 2019 23:52:17 GMT\"0x8D6BC7D3BAF1D7C\"5120share155476755968506518Mon, 08 Apr 2019 23:52:39 GMT\"0x8D6BC7D48C2D945\"5120share155476756025704914155476756030408293Mon, 08 Apr 2019 23:52:40 GMT\"0x8D6BC7D4920F1BB\"5120share155476757927403262155476757930605206Mon, 08 Apr 2019 23:52:59 GMT\"0x8D6BC7D5477C4FD\"5120share155476758886800802Mon, 08 Apr 2019 23:53:08 GMT\"0x8D6BC7D5A295568\"5120share155476759612809724Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5E7A3CE8\"5120share155476759675809547155476759678907586Mon, 08 Apr 2019 23:53:16 GMT\"0x8D6BC7D5EDFE197\"5120share155476761379605068155476761381206318Mon, 08 Apr 2019 23:53:33 GMT\"0x8D6BC7D6904C3BC\"5120share155476769451707014Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D991E2C56\"5120share155476769492305905155476769495502323Mon, 08 Apr 2019 23:54:54 GMT\"0x8D6BC7D9962B197\"5120share155476771291006498155476771292504957Mon, 08 Apr 2019 23:55:12 GMT\"0x8D6BC7DA4180F06\"5120share155476773060003911Mon, 08 Apr 2019 23:55:30 GMT\"0x8D6BC7DAEA17CC4\"5120share155476773118005704155476773135203965Mon, 08 Apr 2019 23:55:31 GMT\"0x8D6BC7DAF1378A6\"5120share155476775106100021155476775109309106Mon, 08 Apr 2019 23:55:51 GMT\"0x8D6BC7DBAD731E5\"5120share155476781685606946Mon, 08 Apr 2019 23:56:56 GMT\"0x8D6BC7DE20E7957\"5120share155476781732000128155476781738302450Mon, 08 Apr 2019 23:56:57 GMT\"0x8D6BC7DE2600C71\"5120share155476783345303757155476783346907719Mon, 08 Apr 2019 23:57:13 GMT\"0x8D6BC7DEBF7156B\"5120share155476791347300669Mon, 08 Apr 2019 23:58:33 GMT\"0x8D6BC7E1BA54903\"5120share155476791386402913155476791406106541Mon, 08 Apr 2019 23:58:34 GMT\"0x8D6BC7E1BFCC039\"5120share155476793045906102155476793049006057Mon, 08 Apr 2019 23:58:50 GMT\"0x8D6BC7E25C76D52\"5120share155476802704709159Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F561B0D\"5120share155476802747007068155476802751704585Tue, 09 Apr 2019 00:00:27 GMT\"0x8D6BC7E5F9E2732\"5120share155476804346803478155476804349905857Tue, 09 Apr 2019 00:00:43 GMT\"0x8D6BC7E692437A6\"5120share155476804670501417Tue, 09 Apr 2019 00:00:46 GMT\"0x8D6BC7E6B0C980A\"5120share155476804729208533155476804732304485Tue, 09 Apr 2019 00:00:47 GMT\"0x8D6BC7E6B6BE551\"5120share155476806792107870155476806795006572Tue, 09 Apr 2019 00:01:07 GMT\"0x8D6BC7E77B59043\"5120share155476809524706138Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E87FA6EFD\"5120share155476809559505969Tue, 09 Apr 2019 00:01:35 GMT\"0x8D6BC7E883E0CC1\"5120share155476809573102733155476809608507721Tue, 09 Apr 2019 00:01:36 GMT\"0x8D6BC7E8878E2E0\"5120share155476809796808728Tue, 09 Apr 2019 00:01:37 GMT\"0x8D6BC7E8998569D\"5120share155476810291301609155476810326803401Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CD0D20B\"5120share155476810304900799155476810314308687Tue, 09 Apr 2019 00:01:43 GMT\"0x8D6BC7E8CAE4EE9\"5120share155476811609008652155476811612104405Tue, 09 Apr 2019 00:01:56 GMT\"0x8D6BC7E94697D23\"5120share155476811931604393155476811933200724Tue, 09 Apr 2019 00:01:59 GMT\"0x8D6BC7E9653421D\"5120share155476812170804393Tue, 09 Apr 2019 00:02:01 GMT\"0x8D6BC7E97C041CC\"5120share155476814743406883Tue, 09 Apr 2019 00:02:27 GMT\"0x8D6BC7EA7272A92\"5120share155476815440005091155476815476601339Tue, 09 Apr 2019 00:02:34 GMT\"0x8D6BC7EAB862619\"5120share155476815597205023155476815615103123Tue, 09 Apr 2019 00:02:36 GMT\"0x8D6BC7EAC554CE6\"5120share155476820193208970Tue, 09 Apr 2019 00:03:22 GMT\"0x8D6BC7EC7A0122F\"5120share155476820878406771155476820896404753Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBD4210C\"5120share155476820883700691155476820924100125Tue, 09 Apr 2019 00:03:29 GMT\"0x8D6BC7ECBFA99BF\"5120share155476821108601306Tue, 09 Apr 2019 00:03:31 GMT\"0x8D6BC7ECD176585\"5120share155476825711807119155476825729204921Tue, 09 Apr 2019 00:04:17 GMT\"0x8D6BC7EE89EA8B2\"5120share155476825945705044Tue, 09 Apr 2019 00:04:19 GMT\"0x8D6BC7EE9E8E0CB\"5120share155476834740803120Tue, 09 Apr 2019 00:05:47 GMT\"0x8D6BC7F1E4777AF\"5120share155476834984008859155476834988702992Tue, 09 Apr 2019 00:05:49 GMT\"0x8D6BC7F1FC39553\"5120share155476836605404360155476836607004655Tue, 09 Apr 2019 00:06:06 GMT\"0x8D6BC7F29689397\"5120share155476838809206589Tue, 09 Apr 2019 00:06:28 GMT\"0x8D6BC7F3699A514\"5120share155476839198303786155476839234803107Tue, 09 Apr 2019 00:06:32 GMT\"0x8D6BC7F39223C76\"5120share155476843986900491Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F557ECA14\"5120share155476844021800627155476844024600583Tue, 09 Apr 2019 00:07:20 GMT\"0x8D6BC7F55B9A5DF\"5120share155476845378709296155476845396806652Tue, 09 Apr 2019 00:07:34 GMT\"0x8D6BC7F5DDC13C9\"5120share155476845593902321155476845597001638Tue, 09 Apr 2019 00:07:36 GMT\"0x8D6BC7F5F180369\"5120share155476849626305945Tue, 09 Apr 2019 00:08:16 GMT\"0x8D6BC7F77117C82\"5120share155476849880105820Tue, 09 Apr 2019 00:08:18 GMT\"0x8D6BC7F7885AA01\"5120share155476849915307469155476850553606138Tue, 09 Apr 2019 00:08:25 GMT\"0x8D6BC7F7C976A4D\"5120share155476850592804706155476850599107187Tue, 09 Apr 2019 00:08:26 GMT\"0x8D6BC7F7CCF6C1B\"5120share155476852757806473155476852759309641Tue, 09 Apr 2019 00:08:47 GMT\"0x8D6BC7F89B00F3A\"5120share155476852980102365Tue, 09 Apr 2019 00:08:49 GMT\"0x8D6BC7F8B005BF0\"5120share155476856656600292155476856674507959Tue, 09 Apr 2019 00:09:26 GMT\"0x8D6BC7FA112F732\"5120share155476856885709152Tue, 09 Apr 2019 00:09:28 GMT\"0x8D6BC7FA2557BB5\"5120share155476863244904949Tue, 09 Apr 2019 00:10:32 GMT\"0x8D6BC7FC83EFA77\"5120share155476863535008494155476863570305271Tue, 09 Apr 2019 00:10:35 GMT\"0x8D6BC7FCA2FC926\"5120share155476865943308691Tue, 09 Apr 2019 00:10:59 GMT\"0x8D6BC7FD853FF98\"5120share155476866240807893155476866276704727Tue, 09 Apr 2019 00:11:02 GMT\"0x8D6BC7FDA5082D2\"5120share155476868218009780155476868235304727Tue, 09 Apr 2019 00:11:22 GMT\"0x8D6BC7FE5FCE9DC\"5120share155476868800600510Tue, 09 Apr 2019 00:11:28 GMT\"0x8D6BC7FE95CAD94\"5120share155476869091401136155476869126508601Tue, 09 Apr 2019 00:11:31 GMT\"0x8D6BC7FEB4D0822\"5120share155476871168505595155476871185701462Tue, 09 Apr 2019 00:11:51 GMT\"0x8D6BC7FF7927E16\"5120share155476874475805006155476874493808659Tue, 09 Apr 2019 00:12:25 GMT\"0x8D6BC800B4A745E\"5120share155476874690105242Tue, 09 Apr 2019 00:12:27 GMT\"0x8D6BC800C75C565\"5120share155476875206001092155476875241409773Tue, 09 Apr 2019 00:12:32 GMT\"0x8D6BC800FBFA200\"5120share155476880248305317Tue, 09 Apr 2019 00:13:22 GMT\"0x8D6BC802D993DFF\"5120share155476880545306177155476880583203834Tue, 09 Apr 2019 00:13:25 GMT\"0x8D6BC802F965397\"5120share155476888864505928155476888881909462Tue, 09 Apr 2019 00:14:48 GMT\"0x8D6BC80610D3090\"5120share155476899293006933155476899311001721Tue, 09 Apr 2019 00:16:33 GMT\"0x8D6BC809F369DB0\"5120share155476908548709722Tue, 09 Apr 2019 00:18:05 GMT\"0x8D6BC80D645612F\"5120share155476908868904195155476908904003064Tue, 09 Apr 2019 00:18:09 GMT\"0x8D6BC80D863A958\"5120share155476909980609434Tue, 09 Apr 2019 00:18:19 GMT\"0x8D6BC80DECE268E\"5120share155476910281904976155476910319003432Tue, 09 Apr 2019 00:18:23 GMT\"0x8D6BC80E0D4235F\"5120share155476913684100960Tue, 09 Apr 2019 00:18:56 GMT\"0x8D6BC80F4E4E108\"5120share155476913787408958Tue, 09 Apr 2019 00:18:58 GMT\"0x8D6BC80F5820C56\"5120share155476913976300123155476914012502697Tue, 09 Apr 2019 00:19:00 GMT\"0x8D6BC80F6D9D174\"5120share155476914067107913155476914401701060Tue, 09 Apr 2019 00:19:04 GMT\"0x8D6BC80F92C192D\"5120share155476914792003023155476914809807978Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FB98086D\"5120share155476914816001450Tue, 09 Apr 2019 00:19:08 GMT\"0x8D6BC80FBA21BE5\"5120share155476915097103659155476915132003837Tue, 09 Apr 2019 00:19:11 GMT\"0x8D6BC80FD83B8C9\"5120share155476917672903935Tue, 09 Apr 2019 00:19:36 GMT\"0x8D6BC810CA71295\"5120share155476917952009763155476917987301193Tue, 09 Apr 2019 00:19:40 GMT\"0x8D6BC810E86FF1C\"5120share155476919071804890155476919089106036Tue, 09 Apr 2019 00:19:51 GMT\"0x8D6BC8115191B5D\"5120share155476919296302859Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC811655430E\"5120share155476919319101764155476919336803669Tue, 09 Apr 2019 00:19:53 GMT\"0x8D6BC81169511B5\"5120share155476919545308814Tue, 09 Apr 2019 00:19:55 GMT\"0x8D6BC8117D2A35B\"5120share155476919567900532155476919585804561Tue, 09 Apr 2019 00:19:56 GMT\"0x8D6BC811811F934\"5120share155476920649006874155476920666505869Tue, 09 Apr 2019 00:20:06 GMT\"0x8D6BC811E81595E\"5120share155476922893709128155476922911208955Tue, 09 Apr 2019 00:20:29 GMT\"0x8D6BC812BE07699\"5120share155476923318404372Tue, 09 Apr 2019 00:20:33 GMT\"0x8D6BC812E4D5E21\"5120share155476925059001794Tue, 09 Apr 2019 00:20:50 GMT\"0x8D6BC8138ADF463\"5120share155476925356004440155476925393103687Tue, 09 Apr 2019 00:20:54 GMT\"0x8D6BC813AABBC7A\"5120share155476929764201056Tue, 09 Apr 2019 00:21:37 GMT\"0x8D6BC8154B9AB1E\"5120share155476929921903613155476929939207757Tue, 09 Apr 2019 00:21:41 GMT\"0x8D6BC8156F5F171\"5120share155476930455706190155476930492200920Tue, 09 Apr 2019 00:21:45 GMT\"0x8D6BC81591155FA\"5120share155476939253408398155476939270804066Tue, 09 Apr 2019 00:23:12 GMT\"0x8D6BC818D634979\"5120share155476946740007208Tue, 09 Apr 2019 00:24:27 GMT\"0x8D6BC81B9E9110E\"5120share155476947019106284155476947055502266Tue, 09 Apr 2019 00:24:30 GMT\"0x8D6BC81BBCA3C83\"5120share155476950493004815Tue, 09 Apr 2019 00:25:05 GMT\"0x8D6BC81D0474349\"5120share155476950777909601155476950813509107Tue, 09 Apr 2019 00:25:08 GMT\"0x8D6BC81D2310748\"5120share155476951815408266155476953409009620Tue, 09 Apr 2019 00:25:34 GMT\"0x8D6BC81E1A8547E\"5120share155476954514209563Tue, 09 Apr 2019 00:25:45 GMT\"0x8D6BC81E842D7B4\"5120share155476954794902021155476954830307106Tue, 09 Apr 2019 00:25:48 GMT\"0x8D6BC81EA248BAB\"5120share155476955580001453155476955597302370Tue, 09 Apr 2019 00:25:56 GMT\"0x8D6BC81EEB44D5D\"5120share155476958659300969Tue, 09 Apr 2019 00:26:26 GMT\"0x8D6BC8200F1D32F\"5120share155476958941003585155476958975801940Tue, 09 Apr 2019 00:26:29 GMT\"0x8D6BC8202D4FE31\"5120share155476964114307488155476964131504685Tue, 09 Apr 2019 00:27:21 GMT\"0x8D6BC822194155D\"5120share155476968411306454155476968428403769Tue, 09 Apr 2019 00:28:04 GMT\"0x8D6BC823B2BFB08\"5120share155476971626808737Tue, 09 Apr 2019 00:28:36 GMT\"0x8D6BC824E3EA287\"5120share155476972105905786155476972140705576Tue, 09 Apr 2019 00:28:41 GMT\"0x8D6BC82514F8A17\"5120share155476976555505046155476976573004607Tue, 09 Apr 2019 00:29:25 GMT\"0x8D6BC826BBAEF5D\"5120share155476977380801891Tue, 09 Apr 2019 00:29:33 GMT\"0x8D6BC82708B5AA2\"5120share155476995717807831Tue, 09 Apr 2019 00:32:37 GMT\"0x8D6BC82DDD891C2\"5120share155476995999104481155476996033909155Tue, 09 Apr 2019 00:32:40 GMT\"0x8D6BC82DFBAE58B\"5120share155477000943707763155477000964807043Tue, 09 Apr 2019 00:33:29 GMT\"0x8D6BC82FD1F5667\"5120share155480772852505654Tue, 09 Apr 2019 11:02:08 GMT\"0x8D6BCDACF62C049\"5120share155480773110506552155480773127501332Tue, 09 Apr 2019 11:02:11 GMT\"0x8D6BCDAD0E9ACB2\"5120share155480776409606766155480776417904835Tue, 09 Apr 2019 11:02:44 GMT\"0x8D6BCDAE4867510\"5120share155480776694805660Tue, 09 Apr 2019 11:02:49 GMT\"0x8D6BCDAE7B2553B\"5120share155480777833501686155480777940002178Tue, 09 Apr 2019 11:02:59 GMT\"0x8D6BCDAEDA584FA\"5120share155480794441908831155480794614402045Tue, 09 Apr 2019 11:05:46 GMT\"0x8D6BCDB511E3A7E\"5120share155480838272308971Tue, 09 Apr 2019 11:13:02 GMT\"0x8D6BCDC55308631\"5120share155480838569107929155480838575305746Tue, 09 Apr 2019 11:13:05 GMT\"0x8D6BCDC56FF7011\"5120share155480840927004361155480840928909324Tue, 09 Apr 2019 11:13:29 GMT\"0x8D6BCDC6506EC70\"5120share155480861063907178Tue, 09 Apr 2019 11:16:50 GMT\"0x8D6BCDCDD0822AE\"5120share155480862463105296Tue, 09 Apr 2019 11:17:04 GMT\"0x8D6BCDCE57D7B96\"5120share155480862643008694155480862661203489Tue, 09 Apr 2019 11:17:06 GMT\"0x8D6BCDCE6936C52\"5120share155480862803409284155480862810302824Tue, 09 Apr 2019 11:17:08 GMT\"0x8D6BCDCE770CC18\"5120share155480865812101922155480865821104214Tue, 09 Apr 2019 11:17:38 GMT\"0x8D6BCDCF96916EB\"5120share155480868606501887155480868609406416Tue, 09 Apr 2019 11:18:06 GMT\"0x8D6BCDD0A00E67C\"5120share155480889003904019Tue, 09 Apr 2019 11:21:32 GMT\"0x8D6BCDD84F6F82E\"5120share155480889568307939155480889583203255Tue, 09 Apr 2019 11:21:35 GMT\"0x8D6BCDD870F6BA3\"5120share155480897029709318155480897037300585Tue, 09 Apr 2019 11:22:50 GMT\"0x8D6BCDDB37953D4\"5120share155480906424102615Tue, 09 Apr 2019 11:24:24 GMT\"0x8D6BCDDEB6B81B1\"5120share155480930375303643Tue, 09 Apr 2019 11:28:23 GMT\"0x8D6BCDE7A28B8DB\"5120share155480930894709325155480930937004652Tue, 09 Apr 2019 11:28:29 GMT\"0x8D6BCDE7D818C36\"5120share155480933774208533155480933783509305Tue, 09 Apr 2019 11:28:57 GMT\"0x8D6BCDE8E7BF8F9\"5120share155480969517400844Tue, 09 Apr 2019 11:34:55 GMT\"0x8D6BCDF63A050C3\"5120share155480969888707795155480969893306849Tue, 09 Apr 2019 11:34:58 GMT\"0x8D6BCDF65B54921\"5120share155480974335804699155480974338902814Tue, 09 Apr 2019 11:35:43 GMT\"0x8D6BCDF8036DDF6\"5120share155481008340704248Tue, 09 Apr 2019 11:41:23 GMT\"0x8D6BCE04ADDD8A2\"5120share155481008549406718155481008554100937Tue, 09 Apr 2019 11:41:27 GMT\"0x8D6BCE04D31B524\"5120share155481012778602365155481012781701628Tue, 09 Apr 2019 11:42:07 GMT\"0x8D6BCE06555DFCE\"5120share155481034990901641Tue, 09 Apr 2019 11:45:50 GMT\"0x8D6BCE0E9CADC7F\"5120share155481035603904965155481035641604476Tue, 09 Apr 2019 11:45:56 GMT\"0x8D6BCE0EDAB9351\"5120share155481041106406083155481041124001246Tue, 09 Apr 2019 11:46:51 GMT\"0x8D6BCE10E67C485\"5120share155481070004408686Tue, 09 Apr 2019 11:51:40 GMT\"0x8D6BCE1BA7CCA86\"5120share155481070331300500155481070366508716Tue, 09 Apr 2019 11:51:43 GMT\"0x8D6BCE1BCA4D32F\"5120share155481077062801299155481077080301740Tue, 09 Apr 2019 11:52:50 GMT\"0x8D6BCE1E4A8AC5E\"5120share155481104696407257Tue, 09 Apr 2019 11:57:27 GMT\"0x8D6BCE28944219B\"5120share155481105069503376155481105104709050Tue, 09 Apr 2019 11:57:31 GMT\"0x8D6BCE28BB2F5EB\"5120share155481110393104766155481110410301124Tue, 09 Apr 2019 11:58:24 GMT\"0x8D6BCE2AB5E84AC\"5120share155489412862807371Wed, 10 Apr 2019 11:02:08 GMT\"0x8D6BDA3F9C8FD9B\"5120share155489413277909619155489413286706477Wed, 10 Apr 2019 11:02:12 GMT\"0x8D6BDA3FC41DB4E\"5120share155489415671304108155489415677606190Wed, 10 Apr 2019 11:02:36 GMT\"0x8D6BDA40A819FF1\"5120share155489416756705091Wed, 10 Apr 2019 11:02:47 GMT\"0x8D6BDA410EF2DA1\"5120share155489416916801489155489416921506591Wed, 10 Apr 2019 11:02:49 GMT\"0x8D6BDA412270A05\"5120share155489422601500459155489422611702482Wed, 10 Apr 2019 11:03:46 GMT\"0x8D6BDA433D48934\"5120share155489422827708423Wed, 10 Apr 2019 11:03:48 GMT\"0x8D6BDA4351DC470\"5120share155489454656606719Wed, 10 Apr 2019 11:09:06 GMT\"0x8D6BDA4F2FC5650\"5120share155489455422603360155489455439702529Wed, 10 Apr 2019 11:09:14 GMT\"0x8D6BDA4F782E06A\"5120share155489458258002289155489458262309243Wed, 10 Apr 2019 11:09:42 GMT\"0x8D6BDA50855B498\"5120share155489482947807877Wed, 10 Apr 2019 11:13:53 GMT\"0x8D6BDA59DEC0FEB\"5120share155489483786706760155489483837601083Wed, 10 Apr 2019 11:14:00 GMT\"0x8D6BDA5A1B99935\"5120share155489488327604413155489488334906059Wed, 10 Apr 2019 11:14:43 GMT\"0x8D6BDA5BB9978AF\"5120share155489492123309454Wed, 10 Apr 2019 11:15:21 GMT\"0x8D6BDA5D248D84A\"5120share155489492507607432155489492526001236Wed, 10 Apr 2019 11:15:25 GMT\"0x8D6BDA5D4933469\"5120share155489496225207071155489496234109679Wed, 10 Apr 2019 11:16:02 GMT\"0x8D6BDA5EAAD1456\"5120share155489509528801814Wed, 10 Apr 2019 11:18:15 GMT\"0x8D6BDA63A229516\"5120share155489509735407356155489510215103908Wed, 10 Apr 2019 11:18:22 GMT\"0x8D6BDA63E2E9C02\"5120share155489515091603004155489515099201262Wed, 10 Apr 2019 11:19:11 GMT\"0x8D6BDA65B20F8F3\"5120share155489547884803269Wed, 10 Apr 2019 11:24:38 GMT\"0x8D6BDA71E86E5E0\"5120share155489548454903275155489548483004021Wed, 10 Apr 2019 11:24:44 GMT\"0x8D6BDA722179E7F\"5120share155489552181808130155489552185003544Wed, 10 Apr 2019 11:25:22 GMT\"0x8D6BDA73872431F\"5120share155489582839504190Wed, 10 Apr 2019 11:30:28 GMT\"0x8D6BDA7EEDEBFDD\"5120share155489582984702446155489583159500319Wed, 10 Apr 2019 11:30:31 GMT\"0x8D6BDA7F0C46DE4\"5120share155489586173909876155489586175402656Wed, 10 Apr 2019 11:31:02 GMT\"0x8D6BDA802F14681\"5120share155489619289500492Wed, 10 Apr 2019 11:36:32 GMT\"0x8D6BDA8C8219F23\"5120share155489619393006230155489619397709077Wed, 10 Apr 2019 11:36:34 GMT\"0x8D6BDA8C8C592C3\"5120share155489622564303022155489622565908804Wed, 10 Apr 2019 11:37:05 GMT\"0x8D6BDA8DBD04781\"5120share155489646131309214Wed, 10 Apr 2019 11:41:01 GMT\"0x8D6BDA9682F9333\"5120share155489646684205145155489646750301265Wed, 10 Apr 2019 11:41:07 GMT\"0x8D6BDA96BE064BB\"5120share155489652175004438155489652192700531Wed, 10 Apr 2019 11:42:02 GMT\"0x8D6BDA98C503695\"5120share155489681486003455Wed, 10 Apr 2019 11:46:54 GMT\"0x8D6BDAA3AE74A21\"5120share155489681884608063155489681919608330Wed, 10 Apr 2019 11:46:59 GMT\"0x8D6BDAA3D7CB218\"5120share155489687019401343155489687037106917Wed, 10 Apr 2019 11:47:50 GMT\"0x8D6BDAA5BFCC6A5\"5120share155489714481609238Wed, 10 Apr 2019 11:52:24 GMT\"0x8D6BDAAFF95A52E\"5120share155489714807504789155489714842701455Wed, 10 Apr 2019 11:52:28 GMT\"0x8D6BDAB01BBB9AA\"5120share155489720343801332155489720361300530Wed, 10 Apr 2019 11:53:23 GMT\"0x8D6BDAB22A213DA\"5120share155498052189005973Thu, 11 Apr 2019 11:02:03 GMT\"0x8D6BE6D20C5A27A\"5120share155498052486307452155498052494601328Thu, 11 Apr 2019 11:02:04 GMT\"0x8D6BE6D21F3FD4A\"5120share155498054458201295155498054462607374Thu, 11 Apr 2019 11:02:24 GMT\"0x8D6BE6D2DAF2F37\"5120share155498057256409560Thu, 11 Apr 2019 11:02:52 GMT\"0x8D6BE6D3E5B0100\"5120share155498057900203212155498058058503101Thu, 11 Apr 2019 11:03:00 GMT\"0x8D6BE6D4322EAB8\"5120share155498066045708716155498066054002568Thu, 11 Apr 2019 11:04:20 GMT\"0x8D6BE6D72CA6F35\"5120share155498100392305925Thu, 11 Apr 2019 11:10:03 GMT\"0x8D6BE6E3F6D7332\"5120share155498100486605985155498100492408541Thu, 11 Apr 2019 11:10:04 GMT\"0x8D6BE6E400669DB\"5120share155498102575801912155498102577004454Thu, 11 Apr 2019 11:10:25 GMT\"0x8D6BE6E4C72FBE0\"5120share155498118716109200Thu, 11 Apr 2019 11:13:07 GMT\"0x8D6BE6EACAE6539\"5120share155498119088009096155498119109803405Thu, 11 Apr 2019 11:13:11 GMT\"0x8D6BE6EAF0745E6\"5120share155498123278401216Thu, 11 Apr 2019 11:13:53 GMT\"0x8D6BE6EC7F7A018\"5120share155498123486100245155498123504606077Thu, 11 Apr 2019 11:13:55 GMT\"0x8D6BE6EC937DC9E\"5120share155498125173204844155498125181103614Thu, 11 Apr 2019 11:14:11 GMT\"0x8D6BE6ED337568F\"5120share155498127070203605155498127090200772Thu, 11 Apr 2019 11:14:30 GMT\"0x8D6BE6EDE96DD2C\"5120share155498149053803558Thu, 11 Apr 2019 11:18:13 GMT\"0x8D6BE6F632FC122\"5120share155498149486704484155498149491504102Thu, 11 Apr 2019 11:18:15 GMT\"0x8D6BE6F644A9B3B\"5120share155498155460200751155498155462406088Thu, 11 Apr 2019 11:19:14 GMT\"0x8D6BE6F87ADF271\"5120share155498183671704701Thu, 11 Apr 2019 11:23:55 GMT\"0x8D6BE702ECFDF92\"5120share155498183865606144155498183870405710Thu, 11 Apr 2019 11:23:57 GMT\"0x8D6BE702FFE177F\"5120share155498188735506358155498188738804227Thu, 11 Apr 2019 11:24:47 GMT\"0x8D6BE704DFE05C3\"5120share155498217286508991Thu, 11 Apr 2019 11:29:32 GMT\"0x8D6BE70F82F0421\"5120share155498217391907065155498217398104387Thu, 11 Apr 2019 11:29:34 GMT\"0x8D6BE70F8D9643C\"5120share155498221400709049155498221402206456Thu, 11 Apr 2019 11:30:14 GMT\"0x8D6BE7110E9F384\"5120share155498253737503811Thu, 11 Apr 2019 11:35:37 GMT\"0x8D6BE71D1727116\"5120share155498253857505289155498253935506389Thu, 11 Apr 2019 11:35:39 GMT\"0x8D6BE71D29F6801\"5120share155498256201107590155498256205807686Thu, 11 Apr 2019 11:36:02 GMT\"0x8D6BE71E0282811\"5120share155498278528305699Thu, 11 Apr 2019 11:39:45 GMT\"0x8D6BE7265497F4F\"5120share155498278829705785155498278865706979Thu, 11 Apr 2019 11:39:48 GMT\"0x8D6BE72674C1598\"5120share155498284418801730155498284436204192Thu, 11 Apr 2019 11:40:44 GMT\"0x8D6BE72887F563D\"5120share155498314636609246Thu, 11 Apr 2019 11:45:46 GMT\"0x8D6BE733C80D62F\"5120share155498314958405145155498314993401182Thu, 11 Apr 2019 11:45:50 GMT\"0x8D6BE733EB4DDC6\"5120share155498320380202916155498320397803097Thu, 11 Apr 2019 11:46:44 GMT\"0x8D6BE735ED74285\"5120share155498348631909500Thu, 11 Apr 2019 11:51:26 GMT\"0x8D6BE740722A624\"5120share155498349006200479155498349041201049Thu, 11 Apr 2019 11:51:30 GMT\"0x8D6BE7409936A5D\"5120share155498355074904797155498355091806030Thu, 11 Apr 2019 11:52:31 GMT\"0x8D6BE742DA3712E\"5120share155506715001008005Fri, 12 Apr 2019 11:05:50 GMT\"0x8D6BF36D280C86E\"5120share155506715554809020Fri, 12 Apr 2019 11:05:58 GMT\"0x8D6BF36D7A9DABD\"5120share155506716051807380155506716056903734Fri, 12 Apr 2019 11:06:00 GMT\"0x8D6BF36D8CB60FE\"5120share155506716156004041155506716164300511Fri, 12 Apr 2019 11:06:01 GMT\"0x8D6BF36D972DBD5\"5120share155506718476800145155506718480807242Fri, 12 Apr 2019 11:06:24 GMT\"0x8D6BF36E7419A66\"5120share155506724070107848155506724072501640Fri, 12 Apr 2019 11:07:20 GMT\"0x8D6BF3708928851\"5120share155506760045707115Fri, 12 Apr 2019 11:13:20 GMT\"0x8D6BF37DEFC3BC5\"5120share155506760361709232155506760364602112Fri, 12 Apr 2019 11:13:23 GMT\"0x8D6BF37E0E27E8F\"5120share155506762550205666155506762551700839Fri, 12 Apr 2019 11:13:45 GMT\"0x8D6BF37EDEBB5ED\"5120share155506775710503556Fri, 12 Apr 2019 11:15:57 GMT\"0x8D6BF383C5BE969\"5120share155506775914206834155506775939104602Fri, 12 Apr 2019 11:15:59 GMT\"0x8D6BF383DD9C789\"5120share155506780025406685155506780027400077Fri, 12 Apr 2019 11:16:43 GMT\"0x8D6BF3857EB4AAC\"5120share155506782349400072Fri, 12 Apr 2019 11:17:03 GMT\"0x8D6BF3864075C02\"5120share155506782529308699155506782548108688Fri, 12 Apr 2019 11:17:05 GMT\"0x8D6BF3865239620\"5120share155506785583100253155506785592602106Fri, 12 Apr 2019 11:17:35 GMT\"0x8D6BF387748C0B8\"5120share155506798629003189Fri, 12 Apr 2019 11:19:46 GMT\"0x8D6BF38C50D041D\"5120share155506798697509537155506798958607431Fri, 12 Apr 2019 11:19:49 GMT\"0x8D6BF38C715AB43\"5120share155506802218702711155506802412507312Fri, 12 Apr 2019 11:20:24 GMT\"0x8D6BF38DB82D2CD\"5120share155506830326102475Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF3981E69A84\"5120share155506830378004443155506830384200380Fri, 12 Apr 2019 11:25:03 GMT\"0x8D6BF39823D8FC2\"5120share155506833333309950155506833336407734Fri, 12 Apr 2019 11:25:33 GMT\"0x8D6BF3993D61B9D\"5120share155506863762208674Fri, 12 Apr 2019 11:30:37 GMT\"0x8D6BF3A4930319C\"5120share155506863833206169155506863837809068Fri, 12 Apr 2019 11:30:38 GMT\"0x8D6BF3A49A59306\"5120share155506866511003689155506866514106110Fri, 12 Apr 2019 11:31:05 GMT\"0x8D6BF3A5997F3BE\"5120share155506897142509196Fri, 12 Apr 2019 11:36:11 GMT\"0x8D6BF3B102C6967\"5120share155506897230405925155506897235101961Fri, 12 Apr 2019 11:36:12 GMT\"0x8D6BF3B10B83AAD\"5120share155506900156507816155506900158101898Fri, 12 Apr 2019 11:36:41 GMT\"0x8D6BF3B2225FF10\"5120share155506922733502087Fri, 12 Apr 2019 11:40:27 GMT\"0x8D6BF3BA8C23585\"5120share155506923038104120155506923074402676Fri, 12 Apr 2019 11:40:30 GMT\"0x8D6BF3BAACA866A\"5120share155506928568601336155506928586704986Fri, 12 Apr 2019 11:41:25 GMT\"0x8D6BF3BCBA3278F\"5120share155506957242005394Fri, 12 Apr 2019 11:46:12 GMT\"0x8D6BF3C767049A5\"5120share155506957743506847155506957779804584Fri, 12 Apr 2019 11:46:17 GMT\"0x8D6BF3C79A3E022\"5120share155506963326709082155506963344002439Fri, 12 Apr 2019 11:47:13 GMT\"0x8D6BF3C9ACD0D96\"5120share155506990427401355Fri, 12 Apr 2019 11:51:44 GMT\"0x8D6BF3D3C3FB7D7\"5120share155506990726700768155506990858704284Fri, 12 Apr 2019 11:51:48 GMT\"0x8D6BF3D3ED1EDD2\"5120share155506996647800617155506996664704791Fri, 12 Apr 2019 11:52:46 GMT\"0x8D6BF3D616C706B\"5120share155512644720907744Sat, 13 Apr 2019 03:34:07 GMT\"0x8D6BFC0E2A1A83B\"5120share155512645443804909155512645573404643Sat, 13 Apr 2019 03:34:16 GMT\"0x8D6BFC0E7C4CE99\"5120share155512656455209259155512656522205112Sat, 13 Apr 2019 03:36:05 GMT\"0x8D6BFC128E570AB\"5120share155512679757904247Sat, 13 Apr 2019 03:39:57 GMT\"0x8D6BFC1B3655FDB\"5120share155515332953602339Sat, 13 Apr 2019 11:02:09 GMT\"0x8D6BFFF797F7F67\"5120share155515333132005839155515333134603307Sat, 13 Apr 2019 11:02:11 GMT\"0x8D6BFFF7A9394FF\"5120share155515334716009504155515334717208600Sat, 13 Apr 2019 11:02:27 GMT\"0x8D6BFFF84025D13\"5120share155515337211202917Sat, 13 Apr 2019 11:02:52 GMT\"0x8D6BFFF93019996\"5120share155515337799207116155515337815203201Sat, 13 Apr 2019 11:02:58 GMT\"0x8D6BFFF9682A8F3\"5120share155515343857608004155515343865600233Sat, 13 Apr 2019 11:03:58 GMT\"0x8D6BFFFBAAECD7F\"5120share155515373957208433Sat, 13 Apr 2019 11:08:59 GMT\"0x8D6C0006DE70B38\"5120share155515375889701481155515375893402001Sat, 13 Apr 2019 11:09:18 GMT\"0x8D6C00079709685\"5120share155515379789204290155515379790606876Sat, 13 Apr 2019 11:09:57 GMT\"0x8D6C00090AA0CB1\"5120share155515394778104787Sat, 13 Apr 2019 11:12:27 GMT\"0x8D6C000EA00F332\"5120share155515394918607154155515394934805953Sat, 13 Apr 2019 11:12:29 GMT\"0x8D6C000EB2187B3\"5120share155515397662402015155515397664207701Sat, 13 Apr 2019 11:12:56 GMT\"0x8D6C000FB3464BC\"5120share155515407173608133Sat, 13 Apr 2019 11:14:31 GMT\"0x8D6C0013400A2AC\"5120share155515407347804860155515407365704793Sat, 13 Apr 2019 11:14:33 GMT\"0x8D6C00135109915\"5120share155515410200606372155515410209601041Sat, 13 Apr 2019 11:15:02 GMT\"0x8D6C001460400F2\"5120share155515419507804760Sat, 13 Apr 2019 11:16:35 GMT\"0x8D6C0017D8E82B7\"5120share155515419609804201155515419614704354Sat, 13 Apr 2019 11:16:36 GMT\"0x8D6C0017E0B210D\"5120share155515423073708967155515423286302712Sat, 13 Apr 2019 11:17:12 GMT\"0x8D6C00193ED63DD\"5120share155515451710102731Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023D5909E7\"5120share155515451771906465155515451778307619Sat, 13 Apr 2019 11:21:57 GMT\"0x8D6C0023DC196A4\"5120share155515455158703949155515455160200624Sat, 13 Apr 2019 11:22:31 GMT\"0x8D6C00251EA8AEC\"5120share155515484116005106Sat, 13 Apr 2019 11:27:21 GMT\"0x8D6C002FE7F89F9\"5120share155515484246808118155515484251102561Sat, 13 Apr 2019 11:27:22 GMT\"0x8D6C002FF4D9836\"5120share155515486366505500155515486369609506Sat, 13 Apr 2019 11:27:43 GMT\"0x8D6C0030BEE82E6\"5120share155515518956908415Sat, 13 Apr 2019 11:33:09 GMT\"0x8D6C003CE2CBFF5\"5120share155515519023504740155515519028205997Sat, 13 Apr 2019 11:33:10 GMT\"0x8D6C003CE995C00\"5120share155515521208103058155515521209704227Sat, 13 Apr 2019 11:33:32 GMT\"0x8D6C003DB994D13\"5120share155515544412001539Sat, 13 Apr 2019 11:37:24 GMT\"0x8D6C00465F85EFF\"5120share155515544701403547155515544736709856Sat, 13 Apr 2019 11:37:27 GMT\"0x8D6C00467E74ACD\"5120share155515549960109573155515549977503756Sat, 13 Apr 2019 11:38:19 GMT\"0x8D6C0048723AF04\"5120share155515575696104941Sat, 13 Apr 2019 11:42:37 GMT\"0x8D6C005207046CB\"5120share155515576002205864155515576037106690Sat, 13 Apr 2019 11:42:40 GMT\"0x8D6C00522778CA6\"5120share155515581335804060155515581353108782Sat, 13 Apr 2019 11:43:33 GMT\"0x8D6C0054226BC2D\"5120share155515609277909871Sat, 13 Apr 2019 11:48:12 GMT\"0x8D6C005E899CD33\"5120share155515609680009591155515609726705954Sat, 13 Apr 2019 11:48:17 GMT\"0x8D6C005EB46D13E\"5120share155515614666004322155515614683202492Sat, 13 Apr 2019 11:49:06 GMT\"0x8D6C00608D0D7EA\"5120share155523972563402918Sun, 14 Apr 2019 11:02:05 GMT\"0x8D6C0C8A1A57EE1\"5120share155523972846006428155523972854309146Sun, 14 Apr 2019 11:02:08 GMT\"0x8D6C0C8A354D131\"5120share155523975181800309155523975186002763Sun, 14 Apr 2019 11:02:31 GMT\"0x8D6C0C8B13AAB29\"5120share155523975476009841Sun, 14 Apr 2019 11:02:34 GMT\"0x8D6C0C8B2FACE38\"5120share155523975786403226155523975946205362Sun, 14 Apr 2019 11:02:39 GMT\"0x8D6C0C8B5C89023\"5120share155523982133602164155523982216202749Sun, 14 Apr 2019 11:03:42 GMT\"0x8D6C0C8DB30CFE3\"5120share155524013107906841Sun, 14 Apr 2019 11:08:51 GMT\"0x8D6C0C99340BE58\"5120share155524013345703248155524013348709767Sun, 14 Apr 2019 11:08:53 GMT\"0x8D6C0C994B03BFC\"5120share155524015095705974155524015097103470Sun, 14 Apr 2019 11:09:10 GMT\"0x8D6C0C99F1C0B9E\"5120share155524021269704125Sun, 14 Apr 2019 11:10:13 GMT\"0x8D6C0C9C4622350\"5120share155524021719509152155524021734908307Sun, 14 Apr 2019 11:10:17 GMT\"0x8D6C0C9C6AD286E\"5120share155524024923607696155524024925705826Sun, 14 Apr 2019 11:10:49 GMT\"0x8D6C0C9D9E7B704\"5120share155524026327306963Sun, 14 Apr 2019 11:11:03 GMT\"0x8D6C0C9E2405917\"5120share155524026548904913155524026567204179Sun, 14 Apr 2019 11:11:05 GMT\"0x8D6C0C9E37E967B\"5120share155524030632607257155524030641508963Sun, 14 Apr 2019 11:11:46 GMT\"0x8D6C0C9FBC7E024\"5120share155524044965804361Sun, 14 Apr 2019 11:14:09 GMT\"0x8D6C0CA51246B8E\"5120share155524045120102941155524045134606678Sun, 14 Apr 2019 11:14:11 GMT\"0x8D6C0CA5225F523\"5120share155524047915003736155524047977906720Sun, 14 Apr 2019 11:14:39 GMT\"0x8D6C0CA63182CCB\"5120share155524078617101300Sun, 14 Apr 2019 11:19:46 GMT\"0x8D6C0CB19B96C89\"5120share155524078937808496155524079027604566Sun, 14 Apr 2019 11:19:51 GMT\"0x8D6C0CB1CB6CC02\"5120share155524083480905582155524083484002684Sun, 14 Apr 2019 11:20:34 GMT\"0x8D6C0CB36BA42E2\"5120share155524114771102323Sun, 14 Apr 2019 11:25:47 GMT\"0x8D6C0CBF136A11B\"5120share155524115650204611155524115676003349Sun, 14 Apr 2019 11:25:56 GMT\"0x8D6C0CBF69A9C67\"5120share155524118633505833155524118636606794Sun, 14 Apr 2019 11:26:26 GMT\"0x8D6C0CC08422CA2\"5120share155524152984609186Sun, 14 Apr 2019 11:32:09 GMT\"0x8D6C0CCD4FD31E8\"5120share155524153899407575155524153904106704Sun, 14 Apr 2019 11:32:19 GMT\"0x8D6C0CCDA7676BB\"5120share155524156472600266155524156474206614Sun, 14 Apr 2019 11:32:44 GMT\"0x8D6C0CCE9C9F816\"5120share155524179352704148Sun, 14 Apr 2019 11:36:33 GMT\"0x8D6C0CD7239EB5A\"5120share155524179753806035155524179820702547Sun, 14 Apr 2019 11:36:38 GMT\"0x8D6C0CD7503C6AF\"5120share155524184816604357155524185379908254Sun, 14 Apr 2019 11:37:33 GMT\"0x8D6C0CD9626119F\"5120share155524215012701349Sun, 14 Apr 2019 11:42:30 GMT\"0x8D6C0CE46C6E1CD\"5120share155524215367607082155524215405106431Sun, 14 Apr 2019 11:42:34 GMT\"0x8D6C0CE491D1AD7\"5120share155524220627609881155524220645007845Sun, 14 Apr 2019 11:43:26 GMT\"0x8D6C0CE6857F2F2\"5120share155524250457408298Sun, 14 Apr 2019 11:48:24 GMT\"0x8D6C0CF1A0B4445\"5120share155524250759003260155524250794109789Sun, 14 Apr 2019 11:48:28 GMT\"0x8D6C0CF1C0D1857\"5120share155524256514106448155524256531804718Sun, 14 Apr 2019 11:49:25 GMT\"0x8D6C0CF3E3FA6CF\"5120share155532613122901412Mon, 15 Apr 2019 11:02:11 GMT\"0x8D6C191CF62EDAB\"5120share155532613225806589155532613234400258Mon, 15 Apr 2019 11:02:12 GMT\"0x8D6C191D0022A3A\"5120share155532615554502997155532615558408768Mon, 15 Apr 2019 11:02:35 GMT\"0x8D6C191DDDC8A54\"5120share155532623242907675Mon, 15 Apr 2019 11:03:52 GMT\"0x8D6C1920BE8AECE\"5120share155532623985301138155532624014404643Mon, 15 Apr 2019 11:04:00 GMT\"0x8D6C19210603437\"5120share155532630302204772155532630304602475Mon, 15 Apr 2019 11:05:03 GMT\"0x8D6C19235C07054\"5120share155532649710009530Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A96854B0\"5120share155532649744806724155532649747405217Mon, 15 Apr 2019 11:08:17 GMT\"0x8D6C192A9A16765\"5120share155532651230505127155532651232109373Mon, 15 Apr 2019 11:08:32 GMT\"0x8D6C192B27AEBD9\"5120share155532665274909034Mon, 15 Apr 2019 11:10:52 GMT\"0x8D6C193063828B5\"5120share155532665779301144155532665795305505Mon, 15 Apr 2019 11:10:58 GMT\"0x8D6C1930953F71B\"5120share155532668636605451Mon, 15 Apr 2019 11:11:26 GMT\"0x8D6C1931A84E0CB\"5120share155532668851001958155532668869708221Mon, 15 Apr 2019 11:11:28 GMT\"0x8D6C1931BA311FF\"5120share155532671950203165155532671991908048Mon, 15 Apr 2019 11:11:59 GMT\"0x8D6C1932E4225E0\"5120share155532672415401526155532672424500176Mon, 15 Apr 2019 11:12:04 GMT\"0x8D6C19330D46F6E\"5120share155532694866104349Mon, 15 Apr 2019 11:15:48 GMT\"0x8D6C193B697FC01\"5120share155532695096608028155532695134004095Mon, 15 Apr 2019 11:15:51 GMT\"0x8D6C193B8453E7E\"5120share155532699549303169155532699571103064Mon, 15 Apr 2019 11:16:35 GMT\"0x8D6C193D2A2FBE2\"5120share155532730686902441Mon, 15 Apr 2019 11:21:46 GMT\"0x8D6C1948C14A8A2\"5120share155532730821207416155532730887801551Mon, 15 Apr 2019 11:21:48 GMT\"0x8D6C1948D44F25C\"5120share155532733547106330155532733548702182Mon, 15 Apr 2019 11:22:15 GMT\"0x8D6C1949D227707\"5120share155532762909302194Mon, 15 Apr 2019 11:27:09 GMT\"0x8D6C1954C23E6E5\"5120share155532762993901249155532762998607585Mon, 15 Apr 2019 11:27:10 GMT\"0x8D6C1954CACBB19\"5120share155532766217804204155532766220901342Mon, 15 Apr 2019 11:27:42 GMT\"0x8D6C1955FE09561\"5120share155532798608100078Mon, 15 Apr 2019 11:33:06 GMT\"0x8D6C196211E0513\"5120share155532798786104582155532798790801989Mon, 15 Apr 2019 11:33:08 GMT\"0x8D6C19622172228\"5120share155532801332005290155532801333506642Mon, 15 Apr 2019 11:33:33 GMT\"0x8D6C196312AE129\"5120share155532825264602754Mon, 15 Apr 2019 11:37:32 GMT\"0x8D6C196BFDE354E\"5120share155532825615400146155532825651301297Mon, 15 Apr 2019 11:37:36 GMT\"0x8D6C196C22BF7C8\"5120share155532830944004051155532830962109665Mon, 15 Apr 2019 11:38:29 GMT\"0x8D6C196E1D4B3D6\"5120share155532860283705934Mon, 15 Apr 2019 11:43:23 GMT\"0x8D6C19790B85279\"5120share155532860591402599155532860626203748Mon, 15 Apr 2019 11:43:26 GMT\"0x8D6C19792C39B8A\"5120share155532865928107481155532865946409770Mon, 15 Apr 2019 11:44:19 GMT\"0x8D6C197B25D3B4C\"5120share155532894816307878Mon, 15 Apr 2019 11:49:08 GMT\"0x8D6C1985E709657\"5120share155532895115005912155532895150108737Mon, 15 Apr 2019 11:49:11 GMT\"0x8D6C198606E1B49\"5120share155532900519604536155532900537002394Mon, 15 Apr 2019 11:50:05 GMT\"0x8D6C1988089C37B\"5120share155541254266906758Tue, 16 Apr 2019 11:02:24 GMT\"0x8D6C25B01E63294\"5120share155541254704901514155541254722205184Tue, 16 Apr 2019 11:02:27 GMT\"0x8D6C25B034F0342\"5120share155541257726609606155541257735100960Tue, 16 Apr 2019 11:02:57 GMT\"0x8D6C25B154451E5\"5120share155541258394001344Tue, 16 Apr 2019 11:03:06 GMT\"0x8D6C25B1A99310F\"5120share155541259331901356155541259718300665Tue, 16 Apr 2019 11:03:17 GMT\"0x8D6C25B21238E58\"5120share155541275463405342155541275509408341Tue, 16 Apr 2019 11:05:56 GMT\"0x8D6C25B7FDAE42C\"5120share155541332218001340Tue, 16 Apr 2019 11:15:22 GMT\"0x8D6C25CD1313106\"5120share155541333391202994155541333394201763Tue, 16 Apr 2019 11:15:33 GMT\"0x8D6C25CD833D6F8\"5120share155541336698403997155541336700200957Tue, 16 Apr 2019 11:16:07 GMT\"0x8D6C25CEBE8BE26\"5120share155541340019809612Tue, 16 Apr 2019 11:16:42 GMT\"0x8D6C25D00C4E301\"5120share155541340431404906155541340450501927Tue, 16 Apr 2019 11:16:45 GMT\"0x8D6C25D029765BC\"5120share155541351620901519155541351633009731Tue, 16 Apr 2019 11:18:36 GMT\"0x8D6C25D44F2CB83\"5120share155541365388401666Tue, 16 Apr 2019 11:20:54 GMT\"0x8D6C25D97184EBA\"5120share155541365734901246155541365753206510Tue, 16 Apr 2019 11:20:57 GMT\"0x8D6C25D99195E68\"5120share155541368795303261155541368804508446Tue, 16 Apr 2019 11:21:28 GMT\"0x8D6C25DAB4935EB\"5120share155541380951505125Tue, 16 Apr 2019 11:23:30 GMT\"0x8D6C25DF41B7633\"5120share155541381521101270155541381537608334Tue, 16 Apr 2019 11:23:35 GMT\"0x8D6C25DF78136DD\"5120share155541389134901136155541389142503336Tue, 16 Apr 2019 11:24:52 GMT\"0x8D6C25E24E9DEEC\"5120share155541423557305011Tue, 16 Apr 2019 11:30:35 GMT\"0x8D6C25EF1A0EFED\"5120share155541424210207450155541424307606173Tue, 16 Apr 2019 11:30:43 GMT\"0x8D6C25EF61A1F1E\"5120share155541428387009705155541428390104095Tue, 16 Apr 2019 11:31:24 GMT\"0x8D6C25F0EA4F648\"5120share155541460901500620Tue, 16 Apr 2019 11:36:49 GMT\"0x8D6C25FD0587C69\"5120share155541460989209750155541460997003508Tue, 16 Apr 2019 11:36:50 GMT\"0x8D6C25FD0ECE125\"5120share155541463453808516155541463456909627Tue, 16 Apr 2019 11:37:14 GMT\"0x8D6C25FDF70CD23\"5120share155541495149601147Tue, 16 Apr 2019 11:42:31 GMT\"0x8D6C2609C597458\"5120share155541495234103609155541495238807035Tue, 16 Apr 2019 11:42:32 GMT\"0x8D6C2609CDFEC22\"5120share155541498022705756155541498024304069Tue, 16 Apr 2019 11:43:00 GMT\"0x8D6C260AD7AF75C\"5120share155541521993507818Tue, 16 Apr 2019 11:47:00 GMT\"0x8D6C2613C6CE4FD\"5120share155541522302504398155541522343008691Tue, 16 Apr 2019 11:47:03 GMT\"0x8D6C2613E8133C2\"5120share155541528560504973155541528889003453Tue, 16 Apr 2019 11:48:09 GMT\"0x8D6C26165851668\"5120share155541557757802202Tue, 16 Apr 2019 11:52:57 GMT\"0x8D6C26211976A21\"5120share155541558548808426155541558584407224Tue, 16 Apr 2019 11:53:05 GMT\"0x8D6C2621684B2B8\"5120share155541563573506420155541563590907833Tue, 16 Apr 2019 11:53:56 GMT\"0x8D6C262348D397D\"5120share155541593216004589Tue, 16 Apr 2019 11:58:52 GMT\"0x8D6C262E4F09A4B\"5120share155541593570005076155541593605107442Tue, 16 Apr 2019 11:58:56 GMT\"0x8D6C262E742269D\"5120share155541599013809500155541599031301890Tue, 16 Apr 2019 11:59:50 GMT\"0x8D6C26307993211\"5120share155549893423105655Wed, 17 Apr 2019 11:02:16 GMT\"0x8D6C324271BAA36\"5120share155549893951306087155549893970607676Wed, 17 Apr 2019 11:02:19 GMT\"0x8D6C324293F0208\"5120share155549897171300831Wed, 17 Apr 2019 11:02:52 GMT\"0x8D6C3243CF9A634\"5120share155549897401609400155549897410205483Wed, 17 Apr 2019 11:02:54 GMT\"0x8D6C3243DBFA4FC\"5120share155549897546703999155549897569707719Wed, 17 Apr 2019 11:02:55 GMT\"0x8D6C3243EB9C89B\"5120share155549906322000959155549906330109486Wed, 17 Apr 2019 11:04:23 GMT\"0x8D6C32472F134A6\"5120share155549965941700512Wed, 17 Apr 2019 11:14:19 GMT\"0x8D6C325D63A5B3F\"5120share155549966157400319155549966175200315Wed, 17 Apr 2019 11:14:21 GMT\"0x8D6C325D79DA5B7\"5120share155549971518608598155549971561404891Wed, 17 Apr 2019 11:15:15 GMT\"0x8D6C325F7B8AFA3\"5120share155549978405302833Wed, 17 Apr 2019 11:16:24 GMT\"0x8D6C326207DB3DC\"5120share155549978511702131155549978517806033Wed, 17 Apr 2019 11:16:25 GMT\"0x8D6C32621294535\"5120share155549980131605649155549980133103239Wed, 17 Apr 2019 11:16:41 GMT\"0x8D6C3262ACA3D2C\"5120share155550002738005277Wed, 17 Apr 2019 11:20:27 GMT\"0x8D6C326B1A24665\"5120share155550002983909494155550003002100264Wed, 17 Apr 2019 11:20:30 GMT\"0x8D6C326B31EBAA7\"5120share155550006142202418155550006151604324Wed, 17 Apr 2019 11:21:01 GMT\"0x8D6C326C5E429E5\"5120share155550009606909758Wed, 17 Apr 2019 11:21:36 GMT\"0x8D6C326DA7D5D08\"5120share155550009760705130155550011425007819Wed, 17 Apr 2019 11:21:54 GMT\"0x8D6C326E553CE47\"5120share155550015985409525155550015992505947Wed, 17 Apr 2019 11:22:39 GMT\"0x8D6C327008D05C8\"5120share155550051259905095Wed, 17 Apr 2019 11:28:32 GMT\"0x8D6C327D2EAB6BB\"5120share155550051502006429155550051529202610Wed, 17 Apr 2019 11:28:35 GMT\"0x8D6C327D459D250\"5120share155550055250105787155550055253306514Wed, 17 Apr 2019 11:29:12 GMT\"0x8D6C327EAA8ACA5\"5120share155550088263301102Wed, 17 Apr 2019 11:34:42 GMT\"0x8D6C328AF698573\"5120share155550088987503055155550088992208325Wed, 17 Apr 2019 11:34:50 GMT\"0x8D6C328B3C5CE25\"5120share155550092694403401155550092964703585Wed, 17 Apr 2019 11:35:29 GMT\"0x8D6C328CB52F6FE\"5120share155550128719404242Wed, 17 Apr 2019 11:41:27 GMT\"0x8D6C329A06FBC14\"5120share155550128869409229155550128926507283Wed, 17 Apr 2019 11:41:29 GMT\"0x8D6C329A1ABFF33\"5120share155550132367805226155550132369307996Wed, 17 Apr 2019 11:42:03 GMT\"0x8D6C329B631B774\"5120share155550156726204845Wed, 17 Apr 2019 11:46:07 GMT\"0x8D6C32A4770EF93\"5120share155550157040602071155550157076409850Wed, 17 Apr 2019 11:46:10 GMT\"0x8D6C32A4985D59F\"5120share155550163293808211155550163312201213Wed, 17 Apr 2019 11:47:13 GMT\"0x8D6C32A6EB141F0\"5120share155550197119504850Wed, 17 Apr 2019 11:52:51 GMT\"0x8D6C32B3833750F\"5120share155550197461700480155550197501504695Wed, 17 Apr 2019 11:52:55 GMT\"0x8D6C32B3A7AC857\"5120share155550203363000262155550203381302772Wed, 17 Apr 2019 11:53:53 GMT\"0x8D6C32B5D8624BF\"5120share155550242341102516Wed, 17 Apr 2019 12:00:23 GMT\"0x8D6C32C45BDF478\"5120share155550242674407416155550242710704735Wed, 17 Apr 2019 12:00:27 GMT\"0x8D6C32C47F1FD5B\"5120share155550248691308149155550248709006105Wed, 17 Apr 2019 12:01:27 GMT\"0x8D6C32C6BB1D387\"5120share155552560545404292Wed, 17 Apr 2019 18:26:45 GMT\"0x8D6C3623F6E51E9\"5120share155552560809403357155552560834301039Wed, 17 Apr 2019 18:26:48 GMT\"0x8D6C36241013AA2\"5120share155552564907209438155552564919503843Wed, 17 Apr 2019 18:27:29 GMT\"0x8D6C362595AC1D4\"5120share155552565476607413Wed, 17 Apr 2019 18:27:35 GMT\"0x8D6C3625D267F23\"5120share155552566303103495155552566351701314Wed, 17 Apr 2019 18:27:43 GMT\"0x8D6C36261F69DD9\"5120share155552578011908260155552578062307634Wed, 17 Apr 2019 18:29:40 GMT\"0x8D6C362A7C38020\"5120share155552614480001295Wed, 17 Apr 2019 18:35:47 GMT\"0x8D6C363823B7554\"5120share155552615120901855155552615136405806Wed, 17 Apr 2019 18:35:51 GMT\"0x8D6C36384A975B8\"5120share155552615366401269Wed, 17 Apr 2019 18:35:53 GMT\"0x8D6C36385FEA70C\"5120share155552615404704286155552615408701313Wed, 17 Apr 2019 18:35:54 GMT\"0x8D6C363863FE0E9\"5120share155552617174909395155552617176307704Wed, 17 Apr 2019 18:36:11 GMT\"0x8D6C36390C91C6B\"5120share155552622852006858155552622859402876Wed, 17 Apr 2019 18:37:08 GMT\"0x8D6C363B2B0CA30\"5120share155552628740508216Wed, 17 Apr 2019 18:38:07 GMT\"0x8D6C363D5F22384\"5120share155552629053208133155552629074209107Wed, 17 Apr 2019 18:38:10 GMT\"0x8D6C363D7BAB6CF\"5120share155552633147703067155552633156701774Wed, 17 Apr 2019 18:38:51 GMT\"0x8D6C363F00FF2E5\"5120share155552648726709764Wed, 17 Apr 2019 18:41:27 GMT\"0x8D6C3644D075E26\"5120share155552649436202173155552649474208215Wed, 17 Apr 2019 18:41:35 GMT\"0x8D6C364517CAEBD\"5120share155552656168000918155552656187209904Wed, 17 Apr 2019 18:42:42 GMT\"0x8D6C36479618E75\"5120share155552693163608945Wed, 17 Apr 2019 18:48:52 GMT\"0x8D6C36556520750\"5120share155552693446204528155552693463308719Wed, 17 Apr 2019 18:48:54 GMT\"0x8D6C3655786650B\"5120share155552697993108967155552698000907445Wed, 17 Apr 2019 18:49:40 GMT\"0x8D6C36572A9F003\"5120share155552729425804271Wed, 17 Apr 2019 18:54:54 GMT\"0x8D6C3662DE20556\"5120share155552729598803339155552729614405737Wed, 17 Apr 2019 18:54:56 GMT\"0x8D6C3662F0A9030\"5120share155552733112600872155552733118908362Wed, 17 Apr 2019 18:55:31 GMT\"0x8D6C36643E5922E\"5120share155552772564603671Wed, 17 Apr 2019 19:02:05 GMT\"0x8D6C3672EF935F7\"5120share155552772624901917155552772628004531Wed, 17 Apr 2019 19:02:06 GMT\"0x8D6C3672F5BF35A\"5120share155552775724706421155552775727802514Wed, 17 Apr 2019 19:02:37 GMT\"0x8D6C36741D4B9B6\"5120share155552802670503142Wed, 17 Apr 2019 19:07:06 GMT\"0x8D6C367E2807ADC\"5120share155552803282203340155552803318603518Wed, 17 Apr 2019 19:07:13 GMT\"0x8D6C367E65B28E5\"5120share155552809032904944155552809090908066Wed, 17 Apr 2019 19:08:11 GMT\"0x8D6C36808C39DB8\"5120share155552838825607453Wed, 17 Apr 2019 19:13:08 GMT\"0x8D6C368B9FE54F7\"5120share155552839148508358155552839193408320Wed, 17 Apr 2019 19:13:12 GMT\"0x8D6C368BC2F9AEA\"5120share155552844815104394155552844833406262Wed, 17 Apr 2019 19:14:08 GMT\"0x8D6C368DDCD31FD\"5120share155552878402607069Wed, 17 Apr 2019 19:19:44 GMT\"0x8D6C369A5E49D58\"5120share155552878826702128155552878862507316Wed, 17 Apr 2019 19:19:48 GMT\"0x8D6C369A8A22518\"5120share155552884129007821155552884146501049Wed, 17 Apr 2019 19:20:41 GMT\"0x8D6C369C81F98C8\"5120share155558533127600563Thu, 18 Apr 2019 11:02:11 GMT\"0x8D6C3ED4EB5FE06\"5120share155558533326108913155558533341701278Thu, 18 Apr 2019 11:02:13 GMT\"0x8D6C3ED4FE7D39E\"5120share155558536029301808155558536036603046Thu, 18 Apr 2019 11:02:40 GMT\"0x8D6C3ED5FF94117\"5120share155558537329802053Thu, 18 Apr 2019 11:02:53 GMT\"0x8D6C3ED67E43F37\"5120share155558537790904707155558537838909948Thu, 18 Apr 2019 11:02:59 GMT\"0x8D6C3ED6B35010E\"5120share155558553437606602155558553452403381Thu, 18 Apr 2019 11:05:35 GMT\"0x8D6C3EDC8567F8E\"5120share155558600311408161Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF0CB075\"5120share155558600376909016155558600379609735Thu, 18 Apr 2019 11:13:23 GMT\"0x8D6C3EEDF74C41A\"5120share155558601862101564155558601863401502Thu, 18 Apr 2019 11:13:38 GMT\"0x8D6C3EEE84CEB0A\"5120share155558617728402366Thu, 18 Apr 2019 11:16:17 GMT\"0x8D6C3EF46E0E671\"5120share155558617963201324155558617967308167Thu, 18 Apr 2019 11:16:19 GMT\"0x8D6C3EF484A4F65\"5120share155558622185704428Thu, 18 Apr 2019 11:17:02 GMT\"0x8D6C3EF61870C3D\"5120share155558622374608647155558622393206409Thu, 18 Apr 2019 11:17:03 GMT\"0x8D6C3EF62B0BF15\"5120share155558626297903235155558626308203729Thu, 18 Apr 2019 11:17:43 GMT\"0x8D6C3EF7A065E48\"5120share155558627287602013155558627333600766Thu, 18 Apr 2019 11:17:54 GMT\"0x8D6C3EF80C86890\"5120share155558650337201708Thu, 18 Apr 2019 11:21:43 GMT\"0x8D6C3F009423CB2\"5120share155558651265101014155558651330107985Thu, 18 Apr 2019 11:21:53 GMT\"0x8D6C3F00F2DD147\"5120share155558657593309443155558657601100869Thu, 18 Apr 2019 11:22:56 GMT\"0x8D6C3F0348FD711\"5120share155558692134205333Thu, 18 Apr 2019 11:28:41 GMT\"0x8D6C3F1025B7B05\"5120share155558692763501858155558692941807357Thu, 18 Apr 2019 11:28:49 GMT\"0x8D6C3F1072BC065\"5120share155558696820601017155558696822107945Thu, 18 Apr 2019 11:29:28 GMT\"0x8D6C3F11E4E16A8\"5120share155558731013204298Thu, 18 Apr 2019 11:35:10 GMT\"0x8D6C3F1EA195BC8\"5120share155558731124900977155558731129604089Thu, 18 Apr 2019 11:35:11 GMT\"0x8D6C3F1EAC9CFC1\"5120share155558735412207891155558735415409398Thu, 18 Apr 2019 11:35:54 GMT\"0x8D6C3F204555DC8\"5120share155558766508405728Thu, 18 Apr 2019 11:41:05 GMT\"0x8D6C3F2BDA95065\"5120share155558766914207910155558767009601245Thu, 18 Apr 2019 11:41:10 GMT\"0x8D6C3F2C0A65C74\"5120share155558770515003967155558770518109064Thu, 18 Apr 2019 11:41:45 GMT\"0x8D6C3F2D58FB3EA\"5120share155558793089708251Thu, 18 Apr 2019 11:45:31 GMT\"0x8D6C3F35C2C9F38\"5120share155558793444503290155558793481008090Thu, 18 Apr 2019 11:45:34 GMT\"0x8D6C3F35E81F9AC\"5120share155558799946700102155558799964409447Thu, 18 Apr 2019 11:46:39 GMT\"0x8D6C3F38527F5EE\"5120share155558831554006522Thu, 18 Apr 2019 11:51:55 GMT\"0x8D6C3F441761EFC\"5120share155558831880805187155558831916801086Thu, 18 Apr 2019 11:51:59 GMT\"0x8D6C3F4439C8AC2\"5120share155558837917309951155558837934900091Thu, 18 Apr 2019 11:52:59 GMT\"0x8D6C3F4677C5E1C\"5120share155558870281601956Thu, 18 Apr 2019 11:58:22 GMT\"0x8D6C3F528477EB6\"5120share155558870609201875155558870644608087Thu, 18 Apr 2019 11:58:26 GMT\"0x8D6C3F52A718909\"5120share155558875844500911155558875952009938Thu, 18 Apr 2019 11:59:19 GMT\"0x8D6C3F54A13F0B6\"5120share155567192576105879Fri, 19 Apr 2019 11:05:25 GMT\"0x8D6C4B6ECF03F32\"5120share155567192759500710155567192762400666Fri, 19 Apr 2019 11:05:27 GMT\"0x8D6C4B6EE0C32F4\"5120share155567194474605632155567194476809595Fri, 19 Apr 2019 11:05:44 GMT\"0x8D6C4B6F844366E\"5120share155567208446902690Fri, 19 Apr 2019 11:08:04 GMT\"0x8D6C4B74B91AD3E\"5120share155567209577205738155567209649502753Fri, 19 Apr 2019 11:08:16 GMT\"0x8D6C4B752BC478C\"5120share155567223020006989155567223027903712Fri, 19 Apr 2019 11:10:30 GMT\"0x8D6C4B7A27B037E\"5120share155567267214700785Fri, 19 Apr 2019 11:17:52 GMT\"0x8D6C4B8A9D19C03\"5120share155567267430107959155567267433708579Fri, 19 Apr 2019 11:17:54 GMT\"0x8D6C4B8AB1F421E\"5120share155567269138909553155567269140307566Fri, 19 Apr 2019 11:18:11 GMT\"0x8D6C4B8B54B0ED2\"5120share155567311897109020Fri, 19 Apr 2019 11:25:21 GMT\"0x8D6C4B9B58B66CA\"5120share155567312405708614155567312410100368Fri, 19 Apr 2019 11:25:24 GMT\"0x8D6C4B9B734CF1F\"5120share155567319408508398155567319411202788Fri, 19 Apr 2019 11:26:34 GMT\"0x8D6C4B9E0EFEFA2\"5120share155567325083704762Fri, 19 Apr 2019 11:27:31 GMT\"0x8D6C4BA02E60255\"5120share155567325320707587155567325338705102Fri, 19 Apr 2019 11:27:33 GMT\"0x8D6C4BA044A5A30\"5120share155567328437209547155567328446100050Fri, 19 Apr 2019 11:28:04 GMT\"0x8D6C4BA16CFBDB9\"5120share155567352544707619Fri, 19 Apr 2019 11:32:05 GMT\"0x8D6C4BAA674C7F0\"5120share155567352744206930155567352797607965Fri, 19 Apr 2019 11:32:08 GMT\"0x8D6C4BAA7F7D44D\"5120share155567358442406268155567358449406827Fri, 19 Apr 2019 11:33:04 GMT\"0x8D6C4BAC9A6DF39\"5120share155567398217802006Fri, 19 Apr 2019 11:39:42 GMT\"0x8D6C4BBB6AA75A8\"5120share155567398279006805155567398336005585Fri, 19 Apr 2019 11:39:43 GMT\"0x8D6C4BBB75F5426\"5120share155567403918702123155567403920200268Fri, 19 Apr 2019 11:40:39 GMT\"0x8D6C4BBD8C14626\"5120share155567436933209556Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9D6CD427\"5120share155567436990601250155567436996805574Fri, 19 Apr 2019 11:46:09 GMT\"0x8D6C4BC9DCD2726\"5120share155567440869506659155567440872700843Fri, 19 Apr 2019 11:46:48 GMT\"0x8D6C4BCB4E71856\"5120share155567477936602481Fri, 19 Apr 2019 11:52:59 GMT\"0x8D6C4BD91D41C09\"5120share155567478479206922155567478714104050Fri, 19 Apr 2019 11:53:07 GMT\"0x8D6C4BD968E8C03\"5120share155567481531606023155567481533203351Fri, 19 Apr 2019 11:53:35 GMT\"0x8D6C4BDA7451072\"5120share155567506263900872Fri, 19 Apr 2019 11:57:42 GMT\"0x8D6C4BE3ABC6304\"5120share155567506733803203155567506770005241Fri, 19 Apr 2019 11:57:47 GMT\"0x8D6C4BE3DC05814\"5120share155567519626500535155567519644501571Fri, 19 Apr 2019 11:59:56 GMT\"0x8D6C4BE8A7EB645\"5120share155567584657607063Fri, 19 Apr 2019 12:10:46 GMT\"0x8D6C4C00E00A781\"5120share155567585010305443155567585045601848Fri, 19 Apr 2019 12:10:50 GMT\"0x8D6C4C010509D14\"5120share155567590683409611155567590701101754Fri, 19 Apr 2019 12:11:47 GMT\"0x8D6C4C032053E4B\"5120share155567688970409248Fri, 19 Apr 2019 12:28:09 GMT\"0x8D6C4C27BC18845\"5120share155567689280005270155567689317004914Fri, 19 Apr 2019 12:28:13 GMT\"0x8D6C4C27DD2C5F7\"5120share155567696352901093155567696370407818Fri, 19 Apr 2019 12:29:23 GMT\"0x8D6C4C2A7DC5137\"5120share155575813209600793Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA3EA15F5\"5120share155575813264103256155575813266909560Sat, 20 Apr 2019 11:02:12 GMT\"0x8D6C57FA4415492\"5120share155575814769709529155575814770902003Sat, 20 Apr 2019 11:02:27 GMT\"0x8D6C57FAD385350\"5120share155575815857904679Sat, 20 Apr 2019 11:02:38 GMT\"0x8D6C57FB3BCDF46\"5120share155575817852406107155575817915105783Sat, 20 Apr 2019 11:03:03 GMT\"0x8D6C57FC27AAC57\"5120share155575831923009371155575831931206134Sat, 20 Apr 2019 11:05:19 GMT\"0x8D6C580138A3A10\"5120share155575871359605018Sat, 20 Apr 2019 11:11:53 GMT\"0x8D6C580FE86A046\"5120share155575871428702299155575871431604033Sat, 20 Apr 2019 11:11:54 GMT\"0x8D6C580FEF3F7FC\"5120share155575873394302965155575873395709603Sat, 20 Apr 2019 11:12:13 GMT\"0x8D6C5810AA9800A\"5120share155575904781202748Sat, 20 Apr 2019 11:17:27 GMT\"0x8D6C581C5BB254F\"5120share155575905097005719155575905332806542Sat, 20 Apr 2019 11:17:33 GMT\"0x8D6C581C905325C\"5120share155575910684707057155575912204309650Sat, 20 Apr 2019 11:18:42 GMT\"0x8D6C581F1FB2C81\"5120share155575929713003223Sat, 20 Apr 2019 11:21:37 GMT\"0x8D6C5825A82DE07\"5120share155575930016402563155575930034609381Sat, 20 Apr 2019 11:21:40 GMT\"0x8D6C5825C478AF6\"5120share155575933047808006155575933058505517Sat, 20 Apr 2019 11:22:10 GMT\"0x8D6C5826E4D4AC9\"5120share155575961124103208Sat, 20 Apr 2019 11:26:51 GMT\"0x8D6C58315971DC5\"5120share155575961493403601155575961508806582Sat, 20 Apr 2019 11:26:55 GMT\"0x8D6C58317E6D1EC\"5120share155575966068000148155575966075709229Sat, 20 Apr 2019 11:27:40 GMT\"0x8D6C583331B0E83\"5120share155576000656408070Sat, 20 Apr 2019 11:33:26 GMT\"0x8D6C5840134EA85\"5120share155576001064302171155576001069108351Sat, 20 Apr 2019 11:33:30 GMT\"0x8D6C58403AA5B27\"5120share155576004937104562155576004940203313Sat, 20 Apr 2019 11:34:09 GMT\"0x8D6C5841ABAC530\"5120share155576033542302706Sat, 20 Apr 2019 11:38:55 GMT\"0x8D6C584C5354597\"5120share155576033677709710155576033682404294Sat, 20 Apr 2019 11:38:56 GMT\"0x8D6C584C60DB453\"5120share155576037504501320155576037507605550Sat, 20 Apr 2019 11:39:35 GMT\"0x8D6C584DCE2AFE2\"5120share155576068931400284Sat, 20 Apr 2019 11:44:49 GMT\"0x8D6C585982564A9\"5120share155576069062801352155576069065903568Sat, 20 Apr 2019 11:44:51 GMT\"0x8D6C585994219A7\"5120share155576075382903825155576075386008717Sat, 20 Apr 2019 11:45:53 GMT\"0x8D6C585BE9D2593\"5120share155576098915806721Sat, 20 Apr 2019 11:49:49 GMT\"0x8D6C5864AF0A797\"5120share155576099300703611155576099338008677Sat, 20 Apr 2019 11:49:53 GMT\"0x8D6C5864D76F52D\"5120share155576105534303557155576105551705906Sat, 20 Apr 2019 11:50:55 GMT\"0x8D6C586727DB775\"5120share155576136666205450Sat, 20 Apr 2019 11:56:06 GMT\"0x8D6C5872BF160EF\"5120share155576137051407415155576137301709295Sat, 20 Apr 2019 11:56:13 GMT\"0x8D6C5872FBBC94D\"5120share155576143359509198155576143377401809Sat, 20 Apr 2019 11:57:13 GMT\"0x8D6C58753F17AFE\"5120share155576172918400030Sat, 20 Apr 2019 12:02:09 GMT\"0x8D6C5880406BE99\"5120share155576173298002686155576173333000239Sat, 20 Apr 2019 12:02:13 GMT\"0x8D6C588067FC714\"5120share155576178810706053155576178828603693Sat, 20 Apr 2019 12:03:08 GMT\"0x8D6C58827406073\"5120share155584483815008730Sun, 21 Apr 2019 11:07:18 GMT\"0x8D6C64984C018B8\"5120share155584483913106938155584483917002424Sun, 21 Apr 2019 11:07:19 GMT\"0x8D6C649855BB84F\"5120share155584487226303315155584487227607551Sun, 21 Apr 2019 11:07:52 GMT\"0x8D6C64999173F81\"5120share155584489837205915Sun, 21 Apr 2019 11:08:19 GMT\"0x8D6C649A94749C7\"5120share155584492483905097155584492529203389Sun, 21 Apr 2019 11:08:46 GMT\"0x8D6C649B94E828D\"5120share155584508629703911155584508639100082Sun, 21 Apr 2019 11:11:30 GMT\"0x8D6C64A1B29FBA9\"5120share155584535534508096Sun, 21 Apr 2019 11:15:55 GMT\"0x8D6C64AB90607D2\"5120share155584535712303421155584535715808285Sun, 21 Apr 2019 11:15:57 GMT\"0x8D6C64ABA1AD765\"5120share155584537564003660155584537565301698Sun, 21 Apr 2019 11:16:15 GMT\"0x8D6C64AC520BC40\"5120share155584552829803240Sun, 21 Apr 2019 11:18:48 GMT\"0x8D6C64B201CB521\"5120share155584552946009061155584554426607097Sun, 21 Apr 2019 11:19:06 GMT\"0x8D6C64B2B0D789C\"5120share155584553254601653Sun, 21 Apr 2019 11:18:53 GMT\"0x8D6C64B22F5D3B0\"5120share155584553557203477155584553577408184Sun, 21 Apr 2019 11:18:55 GMT\"0x8D6C64B2498A2CE\"5120share155584556555008565155584556563806071Sun, 21 Apr 2019 11:19:25 GMT\"0x8D6C64B366554AE\"5120share155584560929207735155584560949607694Sun, 21 Apr 2019 11:20:09 GMT\"0x8D6C64B50866103\"5120share155584582875408540Sun, 21 Apr 2019 11:23:48 GMT\"0x8D6C64BD333A510\"5120share155584583143306682155584584392603919Sun, 21 Apr 2019 11:24:03 GMT\"0x8D6C64BDC3E8F63\"5120share155584589004107281155584589129507420Sun, 21 Apr 2019 11:24:51 GMT\"0x8D6C64BF87B2D1D\"5120share155584619907809616Sun, 21 Apr 2019 11:29:59 GMT\"0x8D6C64CAFF29B0C\"5120share155584620077203477155584620081900983Sun, 21 Apr 2019 11:30:00 GMT\"0x8D6C64CB0FB2BB9\"5120share155584623589400987155584623591001043Sun, 21 Apr 2019 11:30:35 GMT\"0x8D6C64CC5E519E6\"5120share155584655048200003Sun, 21 Apr 2019 11:35:53 GMT\"0x8D6C64D8343C259\"5120share155584655633605681155584655639907723Sun, 21 Apr 2019 11:35:56 GMT\"0x8D6C64D84E9D13D\"5120share155584659190504598155584659192105319Sun, 21 Apr 2019 11:36:31 GMT\"0x8D6C64D9A18FF60\"5120share155584692147804243Sun, 21 Apr 2019 11:42:01 GMT\"0x8D6C64E5E8615DE\"5120share155584692283204299155584692376504004Sun, 21 Apr 2019 11:42:03 GMT\"0x8D6C64E5FE23BA9\"5120share155584695869900110155584695871401997Sun, 21 Apr 2019 11:42:38 GMT\"0x8D6C64E74BA5B84\"5120share155584718460302343Sun, 21 Apr 2019 11:46:24 GMT\"0x8D6C64EFB6D686F\"5120share155584718782904821155584718821201794Sun, 21 Apr 2019 11:46:28 GMT\"0x8D6C64EFD94206B\"5120share155584725834704516155584725852403365Sun, 21 Apr 2019 11:47:38 GMT\"0x8D6C64F277DF7FC\"5120share155584757053309896Sun, 21 Apr 2019 11:52:50 GMT\"0x8D6C64FE176D8CF\"5120share155584757505503064155584757541600155Sun, 21 Apr 2019 11:52:55 GMT\"0x8D6C64FE4600590\"5120share155584763371702792155584763389403930Sun, 21 Apr 2019 11:53:54 GMT\"0x8D6C6500739DD6C\"5120share155584792739507966Sun, 21 Apr 2019 11:58:47 GMT\"0x8D6C650B62BD0F2\"5120share155584793112701333155584793148805328Sun, 21 Apr 2019 11:58:51 GMT\"0x8D6C650B89C9524\"5120share155584800506102766155584800524503368Sun, 21 Apr 2019 12:00:05 GMT\"0x8D6C650E491C775\"5120share155593096078609193Mon, 22 Apr 2019 11:02:40 GMT\"0x8D6C71209D6C3BA\"5120share155593096298307999155593096301000561Mon, 22 Apr 2019 11:02:43 GMT\"0x8D6C7120B29E7BB\"5120share155593098099104006155593098100306183Mon, 22 Apr 2019 11:03:01 GMT\"0x8D6C71215E3536B\"5120share155593098197300518Mon, 22 Apr 2019 11:03:02 GMT\"0x8D6C712169857BE\"5120share155593098884206175155593098950004812Mon, 22 Apr 2019 11:03:10 GMT\"0x8D6C7121B6CDB45\"5120share155593107350404511155593108535905887Mon, 22 Apr 2019 11:04:46 GMT\"0x8D6C71254C6DD40\"5120share155593187228406566Mon, 22 Apr 2019 11:17:52 GMT\"0x8D6C71429239B1A\"5120share155593187548705538155593187551807000Mon, 22 Apr 2019 11:17:55 GMT\"0x8D6C7142B1136FA\"5120share155593189155809001155593189157302927Mon, 22 Apr 2019 11:18:11 GMT\"0x8D6C71434A30A5F\"5120share155593202492008030Mon, 22 Apr 2019 11:20:24 GMT\"0x8D6C714841EDC26\"5120share155593202751103090155593202784104281Mon, 22 Apr 2019 11:20:27 GMT\"0x8D6C71485DE1B0F\"5120share155593207543600336155593207545703779Mon, 22 Apr 2019 11:21:15 GMT\"0x8D6C714A262740F\"5120share155593213752903864Mon, 22 Apr 2019 11:22:17 GMT\"0x8D6C714C77B439D\"5120share155593214175802480155593214194204117Mon, 22 Apr 2019 11:22:22 GMT\"0x8D6C714C9E5568C\"5120share155593217374306324155593217383308863Mon, 22 Apr 2019 11:22:53 GMT\"0x8D6C714DCE6FB7D\"5120share155593233053705628Mon, 22 Apr 2019 11:25:30 GMT\"0x8D6C7153A7C32B3\"5120share155593233509907850155593233525106736Mon, 22 Apr 2019 11:25:35 GMT\"0x8D6C7153D3A2D50\"5120share155593239746800061155593239754102567Mon, 22 Apr 2019 11:26:37 GMT\"0x8D6C7156253852F\"5120share155593275709608855Mon, 22 Apr 2019 11:32:37 GMT\"0x8D6C71638886EDC\"5120share155593275807707570155593275832501960Mon, 22 Apr 2019 11:32:39 GMT\"0x8D6C71639ADE4C8\"5120share155593280226001839155593280227604616Mon, 22 Apr 2019 11:33:22 GMT\"0x8D6C71653770F3F\"5120share155593312109201415Mon, 22 Apr 2019 11:38:41 GMT\"0x8D6C71711A05C0C\"5120share155593312234201386155593312237305833Mon, 22 Apr 2019 11:38:42 GMT\"0x8D6C7171243F50B\"5120share155593315645808354155593315648906679Mon, 22 Apr 2019 11:39:16 GMT\"0x8D6C71726973AD4\"5120share155593348908406819Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ECD4BBBC\"5120share155593348980708356155593348983905096Mon, 22 Apr 2019 11:44:49 GMT\"0x8D6C717ED49C492\"5120share155593351527207735155593351528809934Mon, 22 Apr 2019 11:45:15 GMT\"0x8D6C717FC746FC6\"5120share155593373839009889Mon, 22 Apr 2019 11:48:58 GMT\"0x8D6C7188186D480\"5120share155593374213504623155593374249506463Mon, 22 Apr 2019 11:49:02 GMT\"0x8D6C71883F98B78\"5120share155593379929509326155593379947408779Mon, 22 Apr 2019 11:49:59 GMT\"0x8D6C718A5EF42C6\"5120share155593408284009033Mon, 22 Apr 2019 11:54:42 GMT\"0x8D6C7194ECC93B8\"5120share155593408602509047155593408638809789Mon, 22 Apr 2019 11:54:46 GMT\"0x8D6C71950EB127C\"5120share155593413980507194155593414004706529Mon, 22 Apr 2019 11:55:40 GMT\"0x8D6C71970E5C28A\"5120share155593443340907715Mon, 22 Apr 2019 12:00:33 GMT\"0x8D6C71A1FC13E8B\"5120share155593443670003038155593443705707580Mon, 22 Apr 2019 12:00:37 GMT\"0x8D6C71A21EEA00E\"5120share155593450016401961155593450034004099Mon, 22 Apr 2019 12:01:40 GMT\"0x8D6C71A47A53FCD\"5120share155599352898709431Tue, 23 Apr 2019 04:25:29 GMT\"0x8D6C7A3B77ECE95\"5120share155599353457303882Tue, 23 Apr 2019 04:25:38 GMT\"0x8D6C7A3BD362BCE\"5120share155599357366009924Tue, 23 Apr 2019 04:26:14 GMT\"0x8D6C7A3D2727D00\"5120share155599357721408169155599357752002160Tue, 23 Apr 2019 04:26:17 GMT\"0x8D6C7A3D4608808\"5120share155599358411903550Tue, 23 Apr 2019 04:26:24 GMT\"0x8D6C7A3D84ECE0A\"5120share155601731922303609Tue, 23 Apr 2019 11:01:59 GMT\"0x8D6C7DB1B9B74FB\"5120share155601732131001910155601732139106746Tue, 23 Apr 2019 11:02:01 GMT\"0x8D6C7DB1CC9BFC1\"5120share155601735054109201155601735057901414Tue, 23 Apr 2019 11:02:30 GMT\"0x8D6C7DB2E2F2F3A\"5120share155601736064400159Tue, 23 Apr 2019 11:02:40 GMT\"0x8D6C7DB3434ABFD\"5120share155601736424105355155601736465802495Tue, 23 Apr 2019 11:02:44 GMT\"0x8D6C7DB369991DE\"5120share155601744325107728155601744394209405Tue, 23 Apr 2019 11:04:04 GMT\"0x8D6C7DB65FC1A07\"5120share155601797649807068Tue, 23 Apr 2019 11:12:56 GMT\"0x8D6C7DCA3413305\"5120share155601797996201913155601798001404152Tue, 23 Apr 2019 11:13:00 GMT\"0x8D6C7DCA558E9FD\"5120share155601800320103700155601800321509380Tue, 23 Apr 2019 11:13:23 GMT\"0x8D6C7DCB32D5623\"5120share155601828484808138Tue, 23 Apr 2019 11:18:04 GMT\"0x8D6C7DD5B19C912\"5120share155601830009206641155601830015809234Tue, 23 Apr 2019 11:18:20 GMT\"0x8D6C7DD642B7506\"5120share155601834565900993155601834931903550Tue, 23 Apr 2019 11:19:09 GMT\"0x8D6C7DD819C3AD4\"5120share155601852383804224Tue, 23 Apr 2019 11:22:04 GMT\"0x8D6C7DDE9B3E6DA\"5120share155601852622609962155601852640709853Tue, 23 Apr 2019 11:22:06 GMT\"0x8D6C7DDEB0C7811\"5120share155601855610505401155601855619203211Tue, 23 Apr 2019 11:22:36 GMT\"0x8D6C7DDFCCD22F6\"5120share155601888818908038Tue, 23 Apr 2019 11:28:08 GMT\"0x8D6C7DEC2BD7575\"5120share155601889047405602155601889063207953Tue, 23 Apr 2019 11:28:10 GMT\"0x8D6C7DEC427062C\"5120share155601893832208908155601893844503340Tue, 23 Apr 2019 11:28:58 GMT\"0x8D6C7DEE0A87BA4\"5120share155601928936605407Tue, 23 Apr 2019 11:34:50 GMT\"0x8D6C7DFB2302469\"5120share155601929224401788155601929230605391Tue, 23 Apr 2019 11:34:52 GMT\"0x8D6C7DFB3AF6083\"5120share155601933534601457155601933537709705Tue, 23 Apr 2019 11:35:35 GMT\"0x8D6C7DFCD3678E6\"5120share155601964760005256Tue, 23 Apr 2019 11:40:47 GMT\"0x8D6C7E0874F4DEB\"5120share155601964910409011155601964915104348Tue, 23 Apr 2019 11:40:49 GMT\"0x8D6C7E0883CE94E\"5120share155601967123504480155601967126608975Tue, 23 Apr 2019 11:41:11 GMT\"0x8D6C7E095689CAA\"5120share155601999601804030Tue, 23 Apr 2019 11:46:36 GMT\"0x8D6C7E156FB9962\"5120share155601999694701777155601999697800251Tue, 23 Apr 2019 11:46:37 GMT\"0x8D6C7E1578EF47C\"5120share155602003749501427155602003751005370Tue, 23 Apr 2019 11:47:17 GMT\"0x8D6C7E16FB7BDC9\"5120share155602026583107985Tue, 23 Apr 2019 11:51:06 GMT\"0x8D6C7E1F810D790\"5120share155602026979301983155602027015406851Tue, 23 Apr 2019 11:51:10 GMT\"0x8D6C7E1FA73F564\"5120share155602032674702563155602032692105302Tue, 23 Apr 2019 11:52:07 GMT\"0x8D6C7E21C49318C\"5120share155602060207403254Tue, 23 Apr 2019 11:56:42 GMT\"0x8D6C7E2C04BE483\"5120share155602060511200179155602060546204061Tue, 23 Apr 2019 11:56:45 GMT\"0x8D6C7E2C2510A92\"5120share155602066032001106155602066050002052Tue, 23 Apr 2019 11:57:40 GMT\"0x8D6C7E2E31DC1E8\"5120share155602095578105524Tue, 23 Apr 2019 12:02:35 GMT\"0x8D6C7E3931EFFB4\"5120share155602095889002587155602095924407097Tue, 23 Apr 2019 12:02:39 GMT\"0x8D6C7E3952F966C\"5120share155602101006809941155602101024502287Tue, 23 Apr 2019 12:03:30 GMT\"0x8D6C7E3B399D7B3\"5120share155610372895102469Wed, 24 Apr 2019 11:02:09 GMT\"0x8D6C8A44BCFB0DA\"5120share155610373141006923155610373157605228Wed, 24 Apr 2019 11:02:11 GMT\"0x8D6C8A44D4985F7\"5120share155610376132904883155610376146100818Wed, 24 Apr 2019 11:02:41 GMT\"0x8D6C8A45F19FA18\"5120share155610377385900915Wed, 24 Apr 2019 11:02:54 GMT\"0x8D6C8A466A7CC33\"5120share155610377782705835155610378034305705Wed, 24 Apr 2019 11:03:00 GMT\"0x8D6C8A46A67BD59\"5120share155610388905308117155610388957707151Wed, 24 Apr 2019 11:04:50 GMT\"0x8D6C8A4ABC619F7\"5120share155610456973902277Wed, 24 Apr 2019 11:16:09 GMT\"0x8D6C8A640D89AA5\"5120share155610457043809446155610457046601023Wed, 24 Apr 2019 11:16:10 GMT\"0x8D6C8A64147924C\"5120share155610458625908819155610458627309878Wed, 24 Apr 2019 11:16:26 GMT\"0x8D6C8A64AB3985E\"5120share155610462696100101Wed, 24 Apr 2019 11:17:07 GMT\"0x8D6C8A662FC6D3F\"5120share155610462999806911155610463015401595Wed, 24 Apr 2019 11:17:10 GMT\"0x8D6C8A664E29738\"5120share155610468071108459155610468115706117Wed, 24 Apr 2019 11:18:01 GMT\"0x8D6C8A68364A313\"5120share155610499531404329Wed, 24 Apr 2019 11:23:15 GMT\"0x8D6C8A73EAA18BB\"5120share155610499885203420155610499903406227Wed, 24 Apr 2019 11:23:19 GMT\"0x8D6C8A740BF6EDE\"5120share155610503301507245155610503310502140Wed, 24 Apr 2019 11:23:53 GMT\"0x8D6C8A7550DF88E\"5120share155610517124802137Wed, 24 Apr 2019 11:26:11 GMT\"0x8D6C8A7A77428B8\"5120share155610517614001829155610517647303310Wed, 24 Apr 2019 11:26:16 GMT\"0x8D6C8A7AA918E67\"5120share155610523911605564155610523927805669Wed, 24 Apr 2019 11:27:19 GMT\"0x8D6C8A7D000A492\"5120share155610570355307500Wed, 24 Apr 2019 11:35:03 GMT\"0x8D6C8A8E4A92FB7\"5120share155610570429201962155610570433905439Wed, 24 Apr 2019 11:35:04 GMT\"0x8D6C8A8E5200830\"5120share155610572587302298155610572588801633Wed, 24 Apr 2019 11:35:25 GMT\"0x8D6C8A8F1F7F005\"5120share155610606038909851Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B95AA90B\"5120share155610606079502400155610606095109923Wed, 24 Apr 2019 11:41:00 GMT\"0x8D6C8A9B9AF5E68\"5120share155610608625503151155610608826000711Wed, 24 Apr 2019 11:41:28 GMT\"0x8D6C8A9C9F7404E\"5120share155610640694708896Wed, 24 Apr 2019 11:46:46 GMT\"0x8D6C8AA87EAE40C\"5120share155610640743200430155610640746309870Wed, 24 Apr 2019 11:46:47 GMT\"0x8D6C8AA88399124\"5120share155610643185205970155610643188305732Wed, 24 Apr 2019 11:47:11 GMT\"0x8D6C8AA96C7293A\"5120share155610665402600230Wed, 24 Apr 2019 11:50:54 GMT\"0x8D6C8AB1B4115E5\"5120share155610665693707025155610665730204127Wed, 24 Apr 2019 11:50:57 GMT\"0x8D6C8AB1D34D1EF\"5120share155610671076000970155610671093301855Wed, 24 Apr 2019 11:51:51 GMT\"0x8D6C8AB3D2C0DC2\"5120share155610697735704561Wed, 24 Apr 2019 11:56:17 GMT\"0x8D6C8ABDBFFAE7E\"5120share155610698173903526155610698219604859Wed, 24 Apr 2019 11:56:22 GMT\"0x8D6C8ABDF05278A\"5120share155610705059501406155610705081607565Wed, 24 Apr 2019 11:57:31 GMT\"0x8D6C8AC07CA5BB5\"5120share155623732891804592Fri, 26 Apr 2019 00:08:49 GMT\"0x8D6C9DB5B862C5D\"5120share155623733027107547155623733037204155Fri, 26 Apr 2019 00:08:50 GMT\"0x8D6C9DB5C5B5406\"5120share155623735144201549155623735148500368Fri, 26 Apr 2019 00:09:11 GMT\"0x8D6C9DB68F1020B\"5120share155623737838109944Fri, 26 Apr 2019 00:09:38 GMT\"0x8D6C9DB7936BAF7\"5120share155623738288508731155623738455404746Fri, 26 Apr 2019 00:09:44 GMT\"0x8D6C9DB7CA57C80\"5120share155623744517805440155623744597007766Fri, 26 Apr 2019 00:10:46 GMT\"0x8D6C9DBA14DB1B3\"5120share155623755450705158Fri, 26 Apr 2019 00:12:34 GMT\"0x8D6C9DBE1F1FFF8\"5120share155623755587909563155623755590803223Fri, 26 Apr 2019 00:12:35 GMT\"0x8D6C9DBE2C79C01\"5120share155623757295200043155623757297408285Fri, 26 Apr 2019 00:12:52 GMT\"0x8D6C9DBECF3FFFF\"5120share155623764038304012Fri, 26 Apr 2019 00:14:00 GMT\"0x8D6C9DC15291A2E\"5120share155623764463006380155623764498701545Fri, 26 Apr 2019 00:14:05 GMT\"0x8D6C9DC17E67B86\"5120share155623767900208026Fri, 26 Apr 2019 00:14:39 GMT\"0x8D6C9DC2C6DC062\"5120share155623768121705378155623768144401475Fri, 26 Apr 2019 00:14:41 GMT\"0x8D6C9DC2DA138D7\"5120share155623770790608406155623770798308113Fri, 26 Apr 2019 00:15:08 GMT\"0x8D6C9DC3DE529E3\"5120share155623771326307149155623771335209876Fri, 26 Apr 2019 00:15:13 GMT\"0x8D6C9DC40A5ECF5\"5120share155623792442708756Fri, 26 Apr 2019 00:18:45 GMT\"0x8D6C9DCBF06374F\"5120share155623793181801460155623793198609694Fri, 26 Apr 2019 00:18:52 GMT\"0x8D6C9DCC2F836BF\"5120share155623798478509855155623798814506187Fri, 26 Apr 2019 00:19:48 GMT\"0x8D6C9DCE4717D91\"5120share155623832375704220Fri, 26 Apr 2019 00:25:24 GMT\"0x8D6C9DDACAB7093\"5120share155623832601806869155623832606500404Fri, 26 Apr 2019 00:25:26 GMT\"0x8D6C9DDADEF34D4\"5120share155623837314701043155623837317801578Fri, 26 Apr 2019 00:26:13 GMT\"0x8D6C9DDC9E942F0\"5120share155623869536605908Fri, 26 Apr 2019 00:31:35 GMT\"0x8D6C9DE89F690C1\"5120share155623869692506630155623869703507429Fri, 26 Apr 2019 00:31:38 GMT\"0x8D6C9DE8BABE860\"5120share155623873038809966155623873039609717Fri, 26 Apr 2019 00:32:10 GMT\"0x8D6C9DE9ED7D76B\"5120share155623905177506822Fri, 26 Apr 2019 00:37:32 GMT\"0x8D6C9DF5EDF8E0E\"5120share155623905428205423155623905432903078Fri, 26 Apr 2019 00:37:34 GMT\"0x8D6C9DF5FE97AD0\"5120share155623907919403170155623907921004777Fri, 26 Apr 2019 00:37:59 GMT\"0x8D6C9DF6EBEF0ED\"5120share155623930187103764Fri, 26 Apr 2019 00:41:42 GMT\"0x8D6C9DFF388E129\"5120share155623930513305176155623930549908292Fri, 26 Apr 2019 00:41:45 GMT\"0x8D6C9DFF5B1FE97\"5120share155623936041106457155623936058402454Fri, 26 Apr 2019 00:42:40 GMT\"0x8D6C9E01686D42E\"5120share155623965181508872Fri, 26 Apr 2019 00:47:31 GMT\"0x8D6C9E0C41C0913\"5120share155623965814908055155623965849804647Fri, 26 Apr 2019 00:47:38 GMT\"0x8D6C9E0C8179EAE\"5120share155623971877107111155623971894601634Fri, 26 Apr 2019 00:48:39 GMT\"0x8D6C9E0EC1F66C0\"5120share155623999367701297Fri, 26 Apr 2019 00:53:13 GMT\"0x8D6C9E18FE27E33\"5120share155623999669908933155623999707001906Fri, 26 Apr 2019 00:53:17 GMT\"0x8D6C9E191E779F4\"5120share155624004674705383155624004692205374Fri, 26 Apr 2019 00:54:07 GMT\"0x8D6C9E1AF9E5DDC\"5120share155627655546209352Fri, 26 Apr 2019 11:02:35 GMT\"0x8D6CA36B06A47B2\"5120share155627655662206597155627655670705250Fri, 26 Apr 2019 11:02:36 GMT\"0x8D6CA36B114913C\"5120share155627658542903811155627658546904920Fri, 26 Apr 2019 11:03:05 GMT\"0x8D6CA36C2391779\"5120share155627659597101297Fri, 26 Apr 2019 11:03:16 GMT\"0x8D6CA36C882B597\"5120share155627660756501821155627660772707059Fri, 26 Apr 2019 11:03:27 GMT\"0x8D6CA36CF829BD7\"5120share155627670486708425155627670494603621Fri, 26 Apr 2019 11:05:05 GMT\"0x8D6CA370975980E\"5120share155627694374906331Fri, 26 Apr 2019 11:09:03 GMT\"0x8D6CA3797C4398A\"5120share155627694423009151155627694426207429Fri, 26 Apr 2019 11:09:04 GMT\"0x8D6CA3798128F99\"5120share155627695938700440155627695940105765Fri, 26 Apr 2019 11:09:19 GMT\"0x8D6CA37A118F618\"5120share155627701727507398Fri, 26 Apr 2019 11:10:17 GMT\"0x8D6CA37C39D4D86\"5120share155627702477907204155627702804807647Fri, 26 Apr 2019 11:10:28 GMT\"0x8D6CA37CA09AA23\"5120share155627706697307525Fri, 26 Apr 2019 11:11:07 GMT\"0x8D6CA37E1554966\"5120share155627706891503515155627706910004461Fri, 26 Apr 2019 11:11:09 GMT\"0x8D6CA37E27FB75E\"5120share155627709688305697155627709695909311Fri, 26 Apr 2019 11:11:37 GMT\"0x8D6CA37F31CAB75\"5120share155627709845403603155627709854409593Fri, 26 Apr 2019 11:11:38 GMT\"0x8D6CA37F40BF3D2\"5120share155627730105807426Fri, 26 Apr 2019 11:15:01 GMT\"0x8D6CA386CDB63C8\"5120share155627730309507258155627730356805784Fri, 26 Apr 2019 11:15:03 GMT\"0x8D6CA386E424D8B\"5120share155627734275903465155627734284806618Fri, 26 Apr 2019 11:15:42 GMT\"0x8D6CA3885AC0F9C\"5120share155627766425003035Fri, 26 Apr 2019 11:21:04 GMT\"0x8D6CA39453834A2\"5120share155627766494105062155627766500403555Fri, 26 Apr 2019 11:21:05 GMT\"0x8D6CA3945AB0111\"5120share155627770481402091155627770482907277Fri, 26 Apr 2019 11:21:44 GMT\"0x8D6CA395D6953A6\"5120share155627804685303536Fri, 26 Apr 2019 11:27:26 GMT\"0x8D6CA3A29472252\"5120share155627804758302119155627804764505614Fri, 26 Apr 2019 11:27:27 GMT\"0x8D6CA3A29BF734D\"5120share155627807828907816155627807830400346Fri, 26 Apr 2019 11:27:58 GMT\"0x8D6CA3A3C076B67\"5120share155627840936602595Fri, 26 Apr 2019 11:33:29 GMT\"0x8D6CA3B01571EF8\"5120share155627841049404780155627841054104290Fri, 26 Apr 2019 11:33:30 GMT\"0x8D6CA3B020AFB2D\"5120share155627843893800591155627843896903734Fri, 26 Apr 2019 11:33:58 GMT\"0x8D6CA3B12FC3750\"5120share155627866038509839Fri, 26 Apr 2019 11:37:40 GMT\"0x8D6CA3B97093C05\"5120share155627866361804142155627866397604669Fri, 26 Apr 2019 11:37:44 GMT\"0x8D6CA3B99307069\"5120share155627871539803949155627871557200833Fri, 26 Apr 2019 11:38:35 GMT\"0x8D6CA3BB7ED9B1B\"5120share155627897921406881Fri, 26 Apr 2019 11:42:59 GMT\"0x8D6CA3C550FFD26\"5120share155627898303104907155627898338702902Fri, 26 Apr 2019 11:43:03 GMT\"0x8D6CA3C578C73FF\"5120share155627903179604081155627903196604939Fri, 26 Apr 2019 11:43:52 GMT\"0x8D6CA3C748107A4\"5120share155627930048909745Fri, 26 Apr 2019 11:48:20 GMT\"0x8D6CA3D148FB137\"5120share155627930331508322155627930366602874Fri, 26 Apr 2019 11:48:23 GMT\"0x8D6CA3D16742F20\"5120share155627935619404978155627935636908313Fri, 26 Apr 2019 11:49:16 GMT\"0x8D6CA3D35E11682\"5120share155636293594402398Sat, 27 Apr 2019 11:02:16 GMT\"0x8D6CAFFCF4CB732\"5120share155636294209207737155636294218409788Sat, 27 Apr 2019 11:02:22 GMT\"0x8D6CAFFD2D59768\"5120share155636296650104845155636296654305259Sat, 27 Apr 2019 11:02:46 GMT\"0x8D6CAFFE15A8482\"5120share155636297924406992Sat, 27 Apr 2019 11:02:59 GMT\"0x8D6CAFFE8F23428\"5120share155636298688802927155636298754402979Sat, 27 Apr 2019 11:03:07 GMT\"0x8D6CAFFEDE481F8\"5120share155636310874309965155636310912301666Sat, 27 Apr 2019 11:05:09 GMT\"0x8D6CB00368CD9D5\"5120share155636326147602000Sat, 27 Apr 2019 11:07:41 GMT\"0x8D6CB009122AE26\"5120share155636326266702413155636326270508552Sat, 27 Apr 2019 11:07:42 GMT\"0x8D6CB0091DE490E\"5120share155636327915904071155636327917502788Sat, 27 Apr 2019 11:07:59 GMT\"0x8D6CB009BAF4751\"5120share155636338442205521Sat, 27 Apr 2019 11:09:44 GMT\"0x8D6CB00DAA2539F\"5120share155636338760401291155636338801401685Sat, 27 Apr 2019 11:09:48 GMT\"0x8D6CB00DC90FC6E\"5120share155636339103301366Sat, 27 Apr 2019 11:09:51 GMT\"0x8D6CB00DE64F2D7\"5120share155636340189203340155636340204505572Sat, 27 Apr 2019 11:10:02 GMT\"0x8D6CB00E529D7E4\"5120share155636341638503442155636341647401339Sat, 27 Apr 2019 11:10:16 GMT\"0x8D6CB00ED87C86E\"5120share155636348710505241155636348740800132Sat, 27 Apr 2019 11:11:27 GMT\"0x8D6CB0117D75DD7\"5120share155636370747500177Sat, 27 Apr 2019 11:15:07 GMT\"0x8D6CB019AF99906\"5120share155636371788904389155636371833704937Sat, 27 Apr 2019 11:15:18 GMT\"0x8D6CB01A1795C75\"5120share155636375971900820155636375974102788Sat, 27 Apr 2019 11:15:59 GMT\"0x8D6CB01BA214C10\"5120share155636404658507340Sat, 27 Apr 2019 11:20:46 GMT\"0x8D6CB02651C2C4D\"5120share155636404754602274155636404759307889Sat, 27 Apr 2019 11:20:47 GMT\"0x8D6CB0265B75164\"5120share155636409293907234155636409297202379Sat, 27 Apr 2019 11:21:33 GMT\"0x8D6CB0280E10E7F\"5120share155636438375103933Sat, 27 Apr 2019 11:26:24 GMT\"0x8D6CB032E483A34\"5120share155636438637507161155636438643804713Sat, 27 Apr 2019 11:26:26 GMT\"0x8D6CB032FAD2908\"5120share155636441656900776155636441658409038Sat, 27 Apr 2019 11:26:56 GMT\"0x8D6CB0341A57816\"5120share155636472346501628Sat, 27 Apr 2019 11:32:03 GMT\"0x8D6CB03F88E3C4E\"5120share155636472425706537155636472447104080Sat, 27 Apr 2019 11:32:04 GMT\"0x8D6CB03F927C11D\"5120share155636475254502016155636475256005895Sat, 27 Apr 2019 11:32:32 GMT\"0x8D6CB0409E56AB9\"5120share155636497418300656Sat, 27 Apr 2019 11:36:14 GMT\"0x8D6CB048E114492\"5120share155636497943200113155636497978301385Sat, 27 Apr 2019 11:36:21 GMT\"0x8D6CB0492365296\"5120share155636503124305582155636503142000787Sat, 27 Apr 2019 11:37:11 GMT\"0x8D6CB04B02F21E0\"5120share155636531384701457Sat, 27 Apr 2019 11:41:53 GMT\"0x8D6CB0558855034\"5120share155636531744608387155636531778207039Sat, 27 Apr 2019 11:41:57 GMT\"0x8D6CB055ADE2BE2\"5120share155636537787408049155636537803908356Sat, 27 Apr 2019 11:42:58 GMT\"0x8D6CB057EC9031B\"5120share155636563637206666Sat, 27 Apr 2019 11:47:16 GMT\"0x8D6CB0618C15632\"5120share155636563945001802155636563979208633Sat, 27 Apr 2019 11:47:19 GMT\"0x8D6CB061ACB80AE\"5120share155636569017104410155636569054205200Sat, 27 Apr 2019 11:48:10 GMT\"0x8D6CB06390B4503\"5120share155644932510206948Sun, 28 Apr 2019 11:02:05 GMT\"0x8D6CBC8F33F4F50\"5120share155644932748704938155644932757008051Sun, 28 Apr 2019 11:02:07 GMT\"0x8D6CBC8F488D88D\"5120share155644935294603187155644935298508210Sun, 28 Apr 2019 11:02:33 GMT\"0x8D6CBC903AF01F5\"5120share155644937631305965Sun, 28 Apr 2019 11:02:56 GMT\"0x8D6CBC911A89607\"5120share155644938305805342155644938336808846Sun, 28 Apr 2019 11:03:03 GMT\"0x8D6CBC915D0B517\"5120share155644946809502187155644946853904496Sun, 28 Apr 2019 11:04:28 GMT\"0x8D6CBC948948A14\"5120share155644965647507163Sun, 28 Apr 2019 11:07:36 GMT\"0x8D6CBC9B892BC76\"5120share155644965767401410155644965771100036Sun, 28 Apr 2019 11:07:37 GMT\"0x8D6CBC9B94F3564\"5120share155644967154503320155644967155906675Sun, 28 Apr 2019 11:07:51 GMT\"0x8D6CBC9C19086AD\"5120share155644973212306904Sun, 28 Apr 2019 11:08:52 GMT\"0x8D6CBC9E5A93F5C\"5120share155644973882903017155644973920408561Sun, 28 Apr 2019 11:09:00 GMT\"0x8D6CBC9EAABEAEE\"5120share155644976525108519Sun, 28 Apr 2019 11:09:26 GMT\"0x8D6CBC9FA307340\"5120share155644976922907290155644976940302741Sun, 28 Apr 2019 11:09:29 GMT\"0x8D6CBC9FBE7085A\"5120share155644979827502553155644979837106210Sun, 28 Apr 2019 11:09:58 GMT\"0x8D6CBCA0D2B87E0\"5120share155644980349600078155644980351709665Sun, 28 Apr 2019 11:10:03 GMT\"0x8D6CBCA104756D4\"5120share155644999479203413Sun, 28 Apr 2019 11:13:15 GMT\"0x8D6CBCA828B03A9\"5120share155644999911401572155644999927007263Sun, 28 Apr 2019 11:13:19 GMT\"0x8D6CBCA84EC87C0\"5120share155645007015108648155645007022406098Sun, 28 Apr 2019 11:14:30 GMT\"0x8D6CBCAAF35F083\"5120share155645038821502058Sun, 28 Apr 2019 11:19:48 GMT\"0x8D6CBCB6CBB520C\"5120share155645039457909794155645039491507393Sun, 28 Apr 2019 11:19:54 GMT\"0x8D6CBCB70BAA07B\"5120share155645044044006110155645044045503760Sun, 28 Apr 2019 11:20:40 GMT\"0x8D6CBCB8BE03321\"5120share155645073350300763Sun, 28 Apr 2019 11:25:33 GMT\"0x8D6CBCC3A89465E\"5120share155645073665802364155645073670507236Sun, 28 Apr 2019 11:25:36 GMT\"0x8D6CBCC3C897A23\"5120share155645077349800986155645077373300831Sun, 28 Apr 2019 11:26:14 GMT\"0x8D6CBCC52AB7AA9\"5120share155645108771203834Sun, 28 Apr 2019 11:31:27 GMT\"0x8D6CBCD0DA80040\"5120share155645108842007256155645108846705458Sun, 28 Apr 2019 11:31:30 GMT\"0x8D6CBCD0F84E607\"5120share155645112599605004155645112601107894Sun, 28 Apr 2019 11:32:06 GMT\"0x8D6CBCD247D05DA\"5120share155645134678507922Sun, 28 Apr 2019 11:35:46 GMT\"0x8D6CBCDA8286EE2\"5120share155645135233807971155645135268200427Sun, 28 Apr 2019 11:35:52 GMT\"0x8D6CBCDABAB030C\"5120share155645140915409987155645140933104898Sun, 28 Apr 2019 11:36:49 GMT\"0x8D6CBCDCD6E541E\"5120share155645167679104190Sun, 28 Apr 2019 11:41:16 GMT\"0x8D6CBCE6CD9127F\"5120share155645168014803993155645168050106913Sun, 28 Apr 2019 11:41:20 GMT\"0x8D6CBCE6F0F1955\"5120share155645174549400184155645174566908155Sun, 28 Apr 2019 11:42:25 GMT\"0x8D6CBCE95E5E14E\"5120share155645201297401853Sun, 28 Apr 2019 11:46:53 GMT\"0x8D6CBCF353A36B6\"5120share155645201855801952155645201890306019Sun, 28 Apr 2019 11:46:59 GMT\"0x8D6CBCF38C1EC3D\"5120share155645207253909424155645207271407048Sun, 28 Apr 2019 11:47:52 GMT\"0x8D6CBCF58D7EB4A\"5120share155653571241303167Mon, 29 Apr 2019 11:01:52 GMT\"0x8D6CC921605B941\"5120share155653571553502874155653571570705735Mon, 29 Apr 2019 11:01:55 GMT\"0x8D6CC9217E55B90\"5120share155653575241605337155653575249808322Mon, 29 Apr 2019 11:02:32 GMT\"0x8D6CC922DD35559\"5120share155653577934505481Mon, 29 Apr 2019 11:02:59 GMT\"0x8D6CC923DEABFFA\"5120share155653578834309441155653578850403282Mon, 29 Apr 2019 11:03:10 GMT\"0x8D6CC924424B8C3\"5120share155653590972103271155653591043700129Mon, 29 Apr 2019 11:05:10 GMT\"0x8D6CC928C0E5277\"5120share155653601676308435Mon, 29 Apr 2019 11:06:56 GMT\"0x8D6CC92CB50C4B1\"5120share155653602334209812155653602337104476Mon, 29 Apr 2019 11:07:03 GMT\"0x8D6CC92CF41462C\"5120share155653604017309897155653604018606464Mon, 29 Apr 2019 11:07:20 GMT\"0x8D6CC92D946F89F\"5120share155653618592007839Mon, 29 Apr 2019 11:09:45 GMT\"0x8D6CC9330238214\"5120share155653619244001987155653619249201263Mon, 29 Apr 2019 11:09:52 GMT\"0x8D6CC93340ED683\"5120share155653621618908520Mon, 29 Apr 2019 11:10:16 GMT\"0x8D6CC93425E266B\"5120share155653622019402299155653622037605069Mon, 29 Apr 2019 11:10:20 GMT\"0x8D6CC9344B3281A\"5120share155653624157605476155653624159605059Mon, 29 Apr 2019 11:10:41 GMT\"0x8D6CC93515DF82D\"5120share155653624964608827155653624973108032Mon, 29 Apr 2019 11:10:49 GMT\"0x8D6CC935631C474\"5120share155653644599604856Mon, 29 Apr 2019 11:14:06 GMT\"0x8D6CC93CB301827\"5120share155653644757300517155653644791500188Mon, 29 Apr 2019 11:14:08 GMT\"0x8D6CC93CC5D3074\"5120share155653651368305124155653651389303803Mon, 29 Apr 2019 11:15:14 GMT\"0x8D6CC93F3F84157\"5120share155653687079804910Mon, 29 Apr 2019 11:21:10 GMT\"0x8D6CC94C85EA8A0\"5120share155653687448704090155653687453303137Mon, 29 Apr 2019 11:21:14 GMT\"0x8D6CC94CA98A23B\"5120share155653693368406248155653693371508138Mon, 29 Apr 2019 11:22:13 GMT\"0x8D6CC94EDDEEAB8\"5120share155653721781601183Mon, 29 Apr 2019 11:26:57 GMT\"0x8D6CC95973262CD\"5120share155653721868605873155653721871704867Mon, 29 Apr 2019 11:26:58 GMT\"0x8D6CC9597BD86B3\"5120share155653725116303221155653725119400771Mon, 29 Apr 2019 11:27:31 GMT\"0x8D6CC95AB1726F4\"5120share155653756837900142Mon, 29 Apr 2019 11:32:48 GMT\"0x8D6CC96682633DD\"5120share155653756922307466155653756927008693Mon, 29 Apr 2019 11:32:54 GMT\"0x8D6CC966C065569\"5120share155653760887103690155653760948407436Mon, 29 Apr 2019 11:33:29 GMT\"0x8D6CC9680A6DADA\"5120share155653784322202515Mon, 29 Apr 2019 11:37:23 GMT\"0x8D6CC970C0B3287\"5120share155653784638108302155653784673304272Mon, 29 Apr 2019 11:37:26 GMT\"0x8D6CC970E22A6D4\"5120share155653790378102510155653790395501719Mon, 29 Apr 2019 11:38:24 GMT\"0x8D6CC97303F6982\"5120share155653796678404923Mon, 29 Apr 2019 11:39:26 GMT\"0x8D6CC9755B12EA8\"5120share155655223577604668Mon, 29 Apr 2019 15:37:15 GMT\"0x8D6CCB88EA9F634\"5120share155655223976807043155655224012408138Mon, 29 Apr 2019 15:37:20 GMT\"0x8D6CCB891420921\"5120share155655231503303385155655231520308001Mon, 29 Apr 2019 15:38:35 GMT\"0x8D6CCB8BE00A1CF\"5120share155655260533801192Mon, 29 Apr 2019 15:43:25 GMT\"0x8D6CCB96AF563A3\"5120share155655261383606228155655261419000264Mon, 29 Apr 2019 15:43:34 GMT\"0x8D6CCB9703B468D\"5120share155655268067203640155655268083707211Mon, 29 Apr 2019 15:44:41 GMT\"0x8D6CCB99818556D\"5120share155659382718902556Tue, 30 Apr 2019 03:10:27 GMT\"0x8D6CD196533E1AF\"5120share155659383304609639Tue, 30 Apr 2019 03:10:35 GMT\"0x8D6CD196A00F093\"5120share155659388399506155Tue, 30 Apr 2019 03:11:27 GMT\"0x8D6CD1988E5EB19\"5120share155662576226807025Tue, 30 Apr 2019 12:02:42 GMT\"0x8D6CD63BFD75BAB\"5120share155662578862004497155662578987503857Tue, 30 Apr 2019 12:03:09 GMT\"0x8D6CD63D04B064F\"5120share155662595995907858155662596004306578Tue, 30 Apr 2019 12:06:01 GMT\"0x8D6CD64364895F9\"5120share155662625450703255Tue, 30 Apr 2019 12:10:54 GMT\"0x8D6CD64E539C9F6\"5120share155662626147407940155662626175004337Tue, 30 Apr 2019 12:11:01 GMT\"0x8D6CD64E98CBD1A\"5120share155662637743605609155662637751001358Tue, 30 Apr 2019 12:12:57 GMT\"0x8D6CD652E8B6208\"5120share155662664173006358Tue, 30 Apr 2019 12:17:37 GMT\"0x8D6CD65D570BAE4\"5120share155662666338005352155662666389602684Tue, 30 Apr 2019 12:17:44 GMT\"0x8D6CD65D94AD41C\"5120share155662673728706029155662673745005608Tue, 30 Apr 2019 12:18:57 GMT\"0x8D6CD6605302FBE\"5120share155662707247701032Tue, 30 Apr 2019 12:24:32 GMT\"0x8D6CD66CCC187EA\"5120share155662707361008960155662707365704124Tue, 30 Apr 2019 12:24:33 GMT\"0x8D6CD66CD765BFF\"5120share155662716148504682155662716150008465Tue, 30 Apr 2019 12:26:02 GMT\"0x8D6CD67028527F9\"5120share155662746913406574Tue, 30 Apr 2019 12:31:11 GMT\"0x8D6CD67BADEDA4F\"5120share155662747408409967155662747413109639Tue, 30 Apr 2019 12:31:14 GMT\"0x8D6CD67BC2793BC\"5120share155662753834000600155662753837109223Tue, 30 Apr 2019 12:32:18 GMT\"0x8D6CD67E2719161\"5120share155662782303806877Tue, 30 Apr 2019 12:37:03 GMT\"0x8D6CD688C26F771\"5120share155662782452500893155662782457200278Tue, 30 Apr 2019 12:37:04 GMT\"0x8D6CD688D08A81D\"5120share155662788739300296155662789097705707Tue, 30 Apr 2019 12:38:11 GMT\"0x8D6CD68B49E2A48\"5120share155662816931104925Tue, 30 Apr 2019 12:42:49 GMT\"0x8D6CD695A962540\"5120share155662817225203479155662817259701968Tue, 30 Apr 2019 12:42:52 GMT\"0x8D6CD695C8BE154\"5120share155662823632807785155662823650306985Tue, 30 Apr 2019 12:43:56 GMT\"0x8D6CD6982AA192A\"5120share155662852342303617Tue, 30 Apr 2019 12:48:43 GMT\"0x8D6CD6A2DA687BC\"5120share155662852632405178155662852666909684Tue, 30 Apr 2019 12:48:47 GMT\"0x8D6CD6A2FBA14B9\"5120share155662860501305569155662860518207641Tue, 30 Apr 2019 12:50:05 GMT\"0x8D6CD6A5E636EF3\"5120share155662894578001193Tue, 30 Apr 2019 12:55:45 GMT\"0x8D6CD6B29672058\"5120share155662895018903930155662895095603460Tue, 30 Apr 2019 12:55:51 GMT\"0x8D6CD6B2C7C5D7B\"5120share155662900943409472155662900960307176Tue, 30 Apr 2019 12:56:50 GMT\"0x8D6CD6B4FE5F4B3\"5120share155664499555006401Tue, 30 Apr 2019 17:23:15 GMT\"0x8D6CD9087D53DCE\"5120share155664500031506296155664500092002935Tue, 30 Apr 2019 17:23:21 GMT\"0x8D6CD908B0B0AB0\"5120share155664508065306771155664508094803912Tue, 30 Apr 2019 17:24:41 GMT\"0x8D6CD90BAD270FA\"5120share155664729753300465Tue, 30 Apr 2019 18:01:37 GMT\"0x8D6CD95E3DF1B96\"5120share155664729867207955155664729876102123Tue, 30 Apr 2019 18:01:38 GMT\"0x8D6CD95E48EE467\"5120share155664731878008733155664731884404353Tue, 30 Apr 2019 18:01:58 GMT\"0x8D6CD95F087C514\"5120share155664734750706036Tue, 30 Apr 2019 18:02:27 GMT\"0x8D6CD9601AFBA38\"5120share155664735518802651155664735553702970Tue, 30 Apr 2019 18:02:35 GMT\"0x8D6CD960677C084\"5120share155664741133907881155664741150805603Tue, 30 Apr 2019 18:03:31 GMT\"0x8D6CD9627D4A3AC\"5120share155664751804804784Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD96674224E9\"5120share155664751843009437155664751845909347Tue, 30 Apr 2019 18:05:18 GMT\"0x8D6CD9667809BA2\"5120share155664753608406512155664753609800054Tue, 30 Apr 2019 18:05:36 GMT\"0x8D6CD9672048402\"5120share155664764384909412Tue, 30 Apr 2019 18:07:23 GMT\"0x8D6CD96B2454BD0\"5120share155664764698903499155664764714205317Tue, 30 Apr 2019 18:07:27 GMT\"0x8D6CD96B43BC703\"5120share155664765964800730Tue, 30 Apr 2019 18:07:39 GMT\"0x8D6CD96BBBFDCC8\"5120share155664766156408443155664766175003678Tue, 30 Apr 2019 18:07:41 GMT\"0x8D6CD96BCEDE474\"5120share155664769075803387155664769083909474Tue, 30 Apr 2019 18:08:10 GMT\"0x8D6CD96CE471D93\"5120share155664769177107055155664769186807969Tue, 30 Apr 2019 18:08:11 GMT\"0x8D6CD96CEE0C32A\"5120share155664793047508046Tue, 30 Apr 2019 18:12:10 GMT\"0x8D6CD975D4445D7\"5120share155664793370707151155664793406201058Tue, 30 Apr 2019 18:12:14 GMT\"0x8D6CD975F4C0554\"5120share155664799626609967155664799642702708Tue, 30 Apr 2019 18:13:16 GMT\"0x8D6CD9784779BE8\"5120share155664838986009857Tue, 30 Apr 2019 18:19:49 GMT\"0x8D6CD986EE87FD0\"5120share155664839086109048155664839098605053Tue, 30 Apr 2019 18:19:51 GMT\"0x8D6CD986F92A6B3\"5120share155664842125701349155664842128800633Tue, 30 Apr 2019 18:20:21 GMT\"0x8D6CD9881A2AE3F\"5120share155664868924306988Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD99215836D8\"5120share155664868974301919155664868979002138Tue, 30 Apr 2019 18:24:49 GMT\"0x8D6CD9921ABFC41\"5120share155664871026409718155664871028006183Tue, 30 Apr 2019 18:25:10 GMT\"0x8D6CD992DE35FBF\"5120share155664898661000493Tue, 30 Apr 2019 18:29:46 GMT\"0x8D6CD99D296CAAF\"5120share155664898736908027155664898743200061Tue, 30 Apr 2019 18:29:47 GMT\"0x8D6CD99D3145F33\"5120share155664901169000941155664901170603802Tue, 30 Apr 2019 18:30:11 GMT\"0x8D6CD99E18D8D3A\"5120share155664925468906460Tue, 30 Apr 2019 18:34:14 GMT\"0x8D6CD9A727390DC\"5120share155664925774602647155664925810605219Tue, 30 Apr 2019 18:34:18 GMT\"0x8D6CD9A747D51E0\"5120share155664930886300488155664930904704833Tue, 30 Apr 2019 18:35:09 GMT\"0x8D6CD9A92DA3BDA\"5120share155664963621608083Tue, 30 Apr 2019 18:40:36 GMT\"0x8D6CD9B55D88CCD\"5120share155664963911207885155664963950503259Tue, 30 Apr 2019 18:40:39 GMT\"0x8D6CD9B57CF9546\"5120share155664969424905803155664969442504330Tue, 30 Apr 2019 18:41:34 GMT\"0x8D6CD9B788A90C3\"5120share155664997888009788Tue, 30 Apr 2019 18:46:19 GMT\"0x8D6CD9C221B0DD3\"5120share155664998171908903155664998207603735Tue, 30 Apr 2019 18:46:22 GMT\"0x8D6CD9C2401C1B8\"5120share155665003183508772155665003201904018Tue, 30 Apr 2019 18:47:12 GMT\"0x8D6CD9C41C62EB3\"5120share155671217179407304Wed, 01 May 2019 12:02:52 GMT\"0x8D6CE2CF043E9FA\"5120share155671219172008472155671219276209289Wed, 01 May 2019 12:03:12 GMT\"0x8D6CE2CFC6D505C\"5120share155671230723401763155671230731502440Wed, 01 May 2019 12:05:25 GMT\"0x8D6CE2D4BA1AB19\"5120share155671263721209422Wed, 01 May 2019 12:10:37 GMT\"0x8D6CE2E056F7E3B\"5120share155671264204707108155671264210803004Wed, 01 May 2019 12:10:44 GMT\"0x8D6CE2E0984E095\"5120share155671270574801389155671270577303687Wed, 01 May 2019 12:11:46 GMT\"0x8D6CE2E2E5FFEA7\"5120share155671293848409824Wed, 01 May 2019 12:15:38 GMT\"0x8D6CE2EB8E7FA6A\"5120share155671294574507278155671294591804702Wed, 01 May 2019 12:15:45 GMT\"0x8D6CE2EBD562533\"5120share155671299611306212155671299620008258Wed, 01 May 2019 12:16:36 GMT\"0x8D6CE2EDB507203\"5120share155671332385803714Wed, 01 May 2019 12:22:03 GMT\"0x8D6CE2F9E969558\"5120share155671332469602305155671332475802993Wed, 01 May 2019 12:22:04 GMT\"0x8D6CE2F9F1EB9A5\"5120share155671338502005314155671338504303235Wed, 01 May 2019 12:23:05 GMT\"0x8D6CE2FC30DC95C\"5120share155671367854104869Wed, 01 May 2019 12:27:58 GMT\"0x8D6CE3071FE1598\"5120share155671368223303911155671368228005487Wed, 01 May 2019 12:28:02 GMT\"0x8D6CE307437A4C7\"5120share155671372645003038155671372648200546Wed, 01 May 2019 12:28:46 GMT\"0x8D6CE308E900339\"5120share155671404138101116Wed, 01 May 2019 12:34:01 GMT\"0x8D6CE314A41DD35\"5120share155671404388202871155671404392901060Wed, 01 May 2019 12:34:04 GMT\"0x8D6CE314BD70619\"5120share155671408392004967155671408393609922Wed, 01 May 2019 12:34:43 GMT\"0x8D6CE31639EBF99\"5120share155671434293808392Wed, 01 May 2019 12:39:03 GMT\"0x8D6CE31FE12032E\"5120share155671434836109290155671434872703442Wed, 01 May 2019 12:39:08 GMT\"0x8D6CE3201860597\"5120share155671442401704240155671442418902164Wed, 01 May 2019 12:40:24 GMT\"0x8D6CE322E80240E\"5120share155671476356403284Wed, 01 May 2019 12:46:03 GMT\"0x8D6CE32F8C8A3B2\"5120share155671476641602095155671476677406690Wed, 01 May 2019 12:46:06 GMT\"0x8D6CE32FAB3AA06\"5120share155671483047608209155671483064500413Wed, 01 May 2019 12:47:10 GMT\"0x8D6CE3320C4FF5D\"5120share155671512949600352Wed, 01 May 2019 12:52:09 GMT\"0x8D6CE33D2E5C47A\"5120share155671513373803608155671513408501729Wed, 01 May 2019 12:52:14 GMT\"0x8D6CE33D5A1A8D5\"5120share155671521609705567155671521626506310Wed, 01 May 2019 12:53:36 GMT\"0x8D6CE34069D5F27\"5120share155679851816408368Thu, 02 May 2019 12:01:58 GMT\"0x8D6CEF5FA732A7E\"5120share155679852596202541155679852613202884Thu, 02 May 2019 12:02:06 GMT\"0x8D6CEF5FF1D8624\"5120share155679856288905424Thu, 02 May 2019 12:02:42 GMT\"0x8D6CEF615076CF4\"5120share155679856731700115155679856740204877Thu, 02 May 2019 12:02:47 GMT\"0x8D6CEF617B700B9\"5120share155679857660207760155679857980906085Thu, 02 May 2019 12:02:59 GMT\"0x8D6CEF61F1D286E\"5120share155679874854605896Thu, 02 May 2019 12:05:48 GMT\"0x8D6CEF683A96E62\"5120share155679875030503823155679875033905411Thu, 02 May 2019 12:05:50 GMT\"0x8D6CEF684BA9C31\"5120share155679875254404441155679875263609138Thu, 02 May 2019 12:05:52 GMT\"0x8D6CEF68627C0FE\"5120share155679878089708047155679878091104872Thu, 02 May 2019 12:06:20 GMT\"0x8D6CEF696F37671\"5120share155679888243000820Thu, 02 May 2019 12:08:02 GMT\"0x8D6CEF6D39120A5\"5120share155679888489108376155679888509305780Thu, 02 May 2019 12:08:05 GMT\"0x8D6CEF6D5116F1C\"5120share155679891500506869155679891509202475Thu, 02 May 2019 12:08:35 GMT\"0x8D6CEF6E6F24819\"5120share155679901664001965Thu, 02 May 2019 12:10:16 GMT\"0x8D6CEF7237BEB8F\"5120share155679901953206038155679902425602748Thu, 02 May 2019 12:10:24 GMT\"0x8D6CEF728061FF4\"5120share155679910591802857155679910636900773Thu, 02 May 2019 12:11:46 GMT\"0x8D6CEF758F85617\"5120share155679935112105642Thu, 02 May 2019 12:15:51 GMT\"0x8D6CEF7EAD9AD30\"5120share155679935445705900155679935476905533Thu, 02 May 2019 12:15:54 GMT\"0x8D6CEF7ED06EB5C\"5120share155679940493802391155679940501507356Thu, 02 May 2019 12:16:45 GMT\"0x8D6CEF80B0518C8\"5120share155679976286209168Thu, 02 May 2019 12:22:42 GMT\"0x8D6CEF8E03E8D0B\"5120share155679976761202757155679976767408999Thu, 02 May 2019 12:22:47 GMT\"0x8D6CEF8E31CD0FB\"5120share155679983878804165155679983889806932Thu, 02 May 2019 12:23:59 GMT\"0x8D6CEF90DE7DBE3\"5120share155680012729001345Thu, 02 May 2019 12:28:47 GMT\"0x8D6CEF9B9744EEA\"5120share155680013089802177155680013343604362Thu, 02 May 2019 12:28:53 GMT\"0x8D6CEF9BD1E87AD\"5120share155680018545607819155680018548802519Thu, 02 May 2019 12:29:45 GMT\"0x8D6CEF9DC25C797\"5120share155680048628307191Thu, 02 May 2019 12:34:46 GMT\"0x8D6CEFA8F6FA5B5\"5120share155680048735201308155680048752503263Thu, 02 May 2019 12:34:47 GMT\"0x8D6CEFA902BEFD4\"5120share155680054059502575155680054078208504Thu, 02 May 2019 12:35:40 GMT\"0x8D6CEFAAFE99E08\"5120share155680079259409152Thu, 02 May 2019 12:39:52 GMT\"0x8D6CEFB46144212\"5120share155680079603008692155680079638802080Thu, 02 May 2019 12:39:56 GMT\"0x8D6CEFB48576A5A\"5120share155680086324003170155680086341609400Thu, 02 May 2019 12:41:09 GMT\"0x8D6CEFB73F4191B\"5120share155680116366608240Thu, 02 May 2019 12:46:03 GMT\"0x8D6CEFC2342610F\"5120share155680116692407772155680116726106116Thu, 02 May 2019 12:46:07 GMT\"0x8D6CEFC256671DA\"5120share155680123263107271155680123280607055Thu, 02 May 2019 12:47:18 GMT\"0x8D6CEFC4FB84B61\"5120share155680152893405622Thu, 02 May 2019 12:52:09 GMT\"0x8D6CEFCFCF8ACC9\"5120share155680153196607938155680153229901822Thu, 02 May 2019 12:52:12 GMT\"0x8D6CEFCFEFAC75D\"5120share155680158878107344155680158894804284Thu, 02 May 2019 12:53:09 GMT\"0x8D6CEFD20BEBDCF\"5120share155788306352807730Wed, 15 May 2019 01:16:54 GMT\"0x8D6D8D304A61904\"5120share155788308062108596155788308209308631Wed, 15 May 2019 01:17:12 GMT\"0x8D6D8D30F58BE3B\"5120share155788323499401022155788323520406093Wed, 15 May 2019 01:19:45 GMT\"0x8D6D8D36A9B0AAD\"5120share155788333682509501Wed, 15 May 2019 01:21:28 GMT\"0x8D6D8D3A7AA96CE\"5120share155788334149705660155788334173503747Wed, 15 May 2019 01:21:32 GMT\"0x8D6D8D3AA0A1813\"5120share155788339703307533155788339713500051Wed, 15 May 2019 01:22:27 GMT\"0x8D6D8D3CB0FBFB8\"5120share155789851622202118Wed, 15 May 2019 05:34:26 GMT\"0x8D6D8F6FED7E33B\"5120share155789852650301614155789852729008793Wed, 15 May 2019 05:34:36 GMT\"0x8D6D8F704DEAC59\"5120share155789877173604070155789877195804743Wed, 15 May 2019 05:38:42 GMT\"0x8D6D8F7975258B5\"5120share155789882274109457Wed, 15 May 2019 05:39:32 GMT\"0x8D6D8F7B501C0A1\"5120share155789920646404319Wed, 15 May 2019 05:45:59 GMT\"0x8D6D8F89B713B5D\"5120share155789922333106193155789922594104272Wed, 15 May 2019 05:46:15 GMT\"0x8D6D8F8A55DC48A\"5120share155789948872909427155789948893408867Wed, 15 May 2019 05:50:38 GMT\"0x8D6D8F9421EA77F\"5120share155796534745905625Thu, 16 May 2019 00:08:16 GMT\"0x8D6D99298888C0B\"5120share155796535227408872155796535309403957Thu, 16 May 2019 00:08:22 GMT\"0x8D6D9929BC764A5\"5120share155796549374907408155796549948205145Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F307D6FA\"5120share155796549944801755Thu, 16 May 2019 00:10:48 GMT\"0x8D6D992F30D0787\"5120share155796550181401739155796550203008148Thu, 16 May 2019 00:10:50 GMT\"0x8D6D992F47EA761\"5120share155796558852701870155796558863206075Thu, 16 May 2019 00:12:17 GMT\"0x8D6D993281B7B69\"5120share155936613426202671Sat, 01 Jun 2019 05:15:34 GMT\"0x8D6E6502D1AE146\"5120share155936613752107952Sat, 01 Jun 2019 05:15:37 GMT\"0x8D6E6502EE0D225\"5120share155936617309807358Sat, 01 Jun 2019 05:16:13 GMT\"0x8D6E6504414E154\"5120share155936618248102291155936618773106962Sat, 01 Jun 2019 05:16:28 GMT\"0x8D6E6504CF96712\"5120share155936622317002439155936622805600133Sat, 01 Jun 2019 05:17:08 GMT\"0x8D6E65064DD022F\"5120share156044249615306731Thu, 13 Jun 2019 09:14:41 GMT\"0x8D6EFDF9176E0E5\"5120share156044250900802249156044253597605999Thu, 13 Jun 2019 09:15:22 GMT\"0x8D6EFDFA9A9531B\"5120share156044266032103683156044267037809103Thu, 13 Jun 2019 09:17:35 GMT\"0x8D6EFDFF9363F4C\"5120share156044276915301025Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE033D4F921\"5120share156044276965805452Thu, 13 Jun 2019 09:19:14 GMT\"0x8D6EFE0343C5600\"5120share156044277102604377Thu, 13 Jun 2019 09:19:16 GMT\"0x8D6EFE035871718\"5120share156044298388703236Thu, 13 Jun 2019 09:22:48 GMT\"0x8D6EFE0B3DB9142\"5120share156044298446703223Thu, 13 Jun 2019 09:22:51 GMT\"0x8D6EFE0B52FECF1\"5120share156044298734500432Thu, 13 Jun 2019 09:22:53 GMT\"0x8D6EFE0B6A74968\"5120share156044329310003703Thu, 13 Jun 2019 09:27:57 GMT\"0x8D6EFE16C0FE7C8\"5120share156044329582502409156044329609304478Thu, 13 Jun 2019 09:28:00 GMT\"0x8D6EFE16DD7D891\"5120share156044333581504082156044333594304550Thu, 13 Jun 2019 09:28:40 GMT\"0x8D6EFE18597B0BF\"5120share156047994662102881Thu, 13 Jun 2019 19:38:52 GMT\"0x8D6F036C3BB8F7A\"5120share156047995819502850156047995909100189Thu, 13 Jun 2019 19:39:04 GMT\"0x8D6F036CAE76E07\"5120share156047996126702672Thu, 13 Jun 2019 19:39:06 GMT\"0x8D6F036CC7545BB\"5120share156050177866005230Fri, 14 Jun 2019 08:42:59 GMT\"0x8D6F0A44DE68AA5\"5120share156050179006706031156050179077805344Fri, 14 Jun 2019 08:43:16 GMT\"0x8D6F0A458405A55\"5120share156050191303808333156050191327404367Fri, 14 Jun 2019 08:45:13 GMT\"0x8D6F0A49E21DA4E\"5120share156050211559604917Fri, 14 Jun 2019 08:48:35 GMT\"0x8D6F0A516A83543\"5120share156050211822900505156050211858909038Fri, 14 Jun 2019 08:48:39 GMT\"0x8D6F0A51878DD30\"5120share156050215766705740156050215780300373Fri, 14 Jun 2019 08:49:18 GMT\"0x8D6F0A52FCE0BA5\"5120share156081550348009414Mon, 17 Jun 2019 23:51:43 GMT\"0x8D6F37EC0388A3B\"5120share156081550608509127156081550638505882Mon, 17 Jun 2019 23:51:46 GMT\"0x8D6F37EC1F298C1\"5120share156081551027804881Mon, 17 Jun 2019 23:51:50 GMT\"0x8D6F37EC4450BAA\"5120share156081556306007728Mon, 17 Jun 2019 23:52:43 GMT\"0x8D6F37EE3D2AAA3\"5120share156081556994202082156081557055908986Mon, 17 Jun 2019 23:52:50 GMT\"0x8D6F37EE84AF3FE\"5120share156090518844708126Wed, 19 Jun 2019 00:46:28 GMT\"0x8D6F44F90A73876\"5120share156090519369309751156090519401906943Wed, 19 Jun 2019 00:46:34 GMT\"0x8D6F44F93F136E5\"5120share156090520433402869Wed, 19 Jun 2019 00:46:44 GMT\"0x8D6F44F9A304B8F\"5120share156090520600501278156090520631804345Wed, 19 Jun 2019 00:46:46 GMT\"0x8D6F44F9B45D8A0\"5120share156090521027006703156090521090304895Wed, 19 Jun 2019 00:46:51 GMT\"0x8D6F44F9E1A4964\"5120share156090523484208035156090523547500820Wed, 19 Jun 2019 00:47:15 GMT\"0x8D6F44FACBF2574\"5120share156090528884503768x1Wed, 19 Jun 2019 00:48:08 GMT\"0x8D6F44FCC769E92\"5120share156090528884503768x2Wed, 19 Jun 2019 00:48:09 GMT\"0x8D6F44FCC8DD448\"5120share156090529119103354156090529134104591Wed, 19 Jun 2019 00:48:11 GMT\"0x8D6F44FCDF3714A\"5120share156090529870502984156090529885103119Wed, 19 Jun 2019 00:48:18 GMT\"0x8D6F44FD26D1E09\"5120share156090538248003758x1Wed, 19 Jun 2019 00:49:42 GMT\"0x8D6F450045EF089\"5120share156090538248003758x2Wed, 19 Jun 2019 00:49:43 GMT\"0x8D6F4500495B8E3\"5120share156090539724300720156090539754505732Wed, 19 Jun 2019 00:49:57 GMT\"0x8D6F4500D580E83\"5120share156090541332209451156090541362901101Wed, 19 Jun 2019 00:50:13 GMT\"0x8D6F45016EFF17A\"5120share156090550949505668Wed, 19 Jun 2019 00:51:49 GMT\"0x8D6F450500368A9\"5120share156090551212302217156090551242708665Wed, 19 Jun 2019 00:51:52 GMT\"0x8D6F45051BA1314\"5120share156090553013901551Wed, 19 Jun 2019 00:52:10 GMT\"0x8D6F4505C618D79\"5120share156090553593709437156090553653902128Wed, 19 Jun 2019 00:52:16 GMT\"0x8D6F4506031358A\"5120share156090558100103645156090558115508952Wed, 19 Jun 2019 00:53:01 GMT\"0x8D6F4507AB22B77\"5120share156090564524803767156090564556104448Wed, 19 Jun 2019 00:54:05 GMT\"0x8D6F450A12D0E82\"5120share156099883086407809156099883149506226Thu, 20 Jun 2019 02:47:11 GMT\"0x8D6F5299855BC7B\"5120share156099893196906529156099893228004620Thu, 20 Jun 2019 02:48:52 GMT\"0x8D6F529D44FD103\"5120share156114311216300057Fri, 21 Jun 2019 18:51:52 GMT\"0x8D6F679864F385C\"5120share156114311890203576156114312002500579Fri, 21 Jun 2019 18:52:00 GMT\"0x8D6F6798AFE085E\"5120share156114333879907132156114334191903810Fri, 21 Jun 2019 18:55:42 GMT\"0x8D6F67A0F3FCF92\"5120share156114371848307278Fri, 21 Jun 2019 19:01:58 GMT\"0x8D6F67AEFA2AFE2\"5120share156114372136304633156114372167008416Fri, 21 Jun 2019 19:02:01 GMT\"0x8D6F67AF180FD23\"5120share156114379998900636156114380014204580Fri, 21 Jun 2019 19:03:20 GMT\"0x8D6F67B204707DA\"5120share156114474439505812Fri, 21 Jun 2019 19:19:04 GMT\"0x8D6F67D53314453\"5120share156114475387905810156114475448908574Fri, 21 Jun 2019 19:19:14 GMT\"0x8D6F67D5933C9C3\"5120share156114486321303028Fri, 21 Jun 2019 19:21:05 GMT\"0x8D6F67D9B61B33C\"5120share156115946574701846Fri, 21 Jun 2019 23:24:26 GMT\"0x8D6F69F99CE4B71\"5120share156115947141807982156115947224806986Fri, 21 Jun 2019 23:24:33 GMT\"0x8D6F69F9E1B1F7F\"5120share156115960121602365156115960188507490Fri, 21 Jun 2019 23:26:42 GMT\"0x8D6F69FEAF28A6C\"5120share156141635490400684Mon, 24 Jun 2019 22:45:55 GMT\"0x8D6F8F5B7AD250A\"5120share156141636264601764156141636329409650Mon, 24 Jun 2019 22:46:03 GMT\"0x8D6F8F5BCACA818\"5120share156141658460702995156141658490004575Mon, 24 Jun 2019 22:49:45 GMT\"0x8D6F8F641081F82\"5120share156141756433309618Mon, 24 Jun 2019 23:06:04 GMT\"0x8D6F8F8887D6188\"5120share156141756733002751156141756763204721Mon, 24 Jun 2019 23:06:07 GMT\"0x8D6F8F88A6C6C2A\"5120share156141764119603193156141764134701828Mon, 24 Jun 2019 23:07:21 GMT\"0x8D6F8F8B65C39CE\"5120share156141919236706702Mon, 24 Jun 2019 23:33:12 GMT\"0x8D6F8FC52EED154\"5120share156141919803003350156141919865801147Mon, 24 Jun 2019 23:33:19 GMT\"0x8D6F8FC56F4BD05\"5120share156141931966501774Mon, 24 Jun 2019 23:35:29 GMT\"0x8D6F8FCA4BD683F\"5120share156149970911905568Tue, 25 Jun 2019 21:55:09 GMT\"0x8D6F9B7CAAB4B3B\"5120share156149972253205524156149972575804451Tue, 25 Jun 2019 21:55:26 GMT\"0x8D6F9B7D492BDAF\"5120share156149997853501630156149997896706693Tue, 25 Jun 2019 21:59:39 GMT\"0x8D6F9B86B7E9EF8\"5120share156150112617009272Tue, 25 Jun 2019 22:18:46 GMT\"0x8D6F9BB17479CEF\"5120share156150115930800713156150115992806338Tue, 25 Jun 2019 22:19:23 GMT\"0x8D6F9BB2D3E52CB\"5120share156150134120204800156150134149206717Tue, 25 Jun 2019 22:22:21 GMT\"0x8D6F9BB979CFC8C\"5120share156150280108408199Tue, 25 Jun 2019 22:46:44 GMT\"0x8D6F9BEFF7465E5\"5120share156150281047001733156150281108602477Tue, 25 Jun 2019 22:46:52 GMT\"0x8D6F9BF0439157D\"5120share156150296438905506156150296523603401Tue, 25 Jun 2019 22:49:25 GMT\"0x8D6F9BF5F712922\"5120share156150354167103800156150354327804409Tue, 25 Jun 2019 22:59:03 GMT\"0x8D6F9C0B7FD48A0\"5120share156150384087807265156150384183008054Tue, 25 Jun 2019 23:04:02 GMT\"0x8D6F9C169F185B4\"5120share156150415783302542Tue, 25 Jun 2019 23:09:18 GMT\"0x8D6F9C2264959E1\"5120share156150416320803571156150416383902503Tue, 25 Jun 2019 23:09:24 GMT\"0x8D6F9C229DED148\"5120share156150416632503534Tue, 25 Jun 2019 23:09:26 GMT\"0x8D6F9C22B5A1E25\"5120share156150422332508880Tue, 25 Jun 2019 23:10:23 GMT\"0x8D6F9C24D8C96B5\"5120share156150423181005284156150423381304793Tue, 25 Jun 2019 23:10:34 GMT\"0x8D6F9C253961894\"5120share156150438077300288156150438106805729Tue, 25 Jun 2019 23:13:01 GMT\"0x8D6F9C2AB5763ED\"5120share156150520304506733Tue, 25 Jun 2019 23:26:43 GMT\"0x8D6F9C49531803B\"5120share156150520603800440156150520635102181Tue, 25 Jun 2019 23:26:46 GMT\"0x8D6F9C49729170A\"5120share156150526941308420156150526956606178Tue, 25 Jun 2019 23:27:49 GMT\"0x8D6F9C4BCD6B148\"5120share156150541781105471Tue, 25 Jun 2019 23:30:19 GMT\"0x8D6F9C5160C2833\"5120share156150542478109368156150542584804338Tue, 25 Jun 2019 23:30:37 GMT\"0x8D6F9C52095C85F\"5120share156150558874106308156150558905705627Tue, 25 Jun 2019 23:33:09 GMT\"0x8D6F9C57B5D00F3\"5120share156157755122201050Wed, 26 Jun 2019 19:32:31 GMT\"0x8D6FA6D08281E56\"5120share156157755835801351156157755918206381Wed, 26 Jun 2019 19:32:39 GMT\"0x8D6FA6D0CE6B185\"5120share156157776706008729156157776740003937Wed, 26 Jun 2019 19:36:14 GMT\"0x8D6FA6D8D07CBC0\"5120share156157812713009290Wed, 26 Jun 2019 19:42:07 GMT\"0x8D6FA6E5F5F6986\"5120share156157812988709797156157813019607970Wed, 26 Jun 2019 19:42:10 GMT\"0x8D6FA6E612A2BD2\"5120share156157821222404773156157821237603967Wed, 26 Jun 2019 19:43:32 GMT\"0x8D6FA6E92266E42\"5120share156167171825304089Thu, 27 Jun 2019 21:41:58 GMT\"0x8D6FB48481B1DF6\"5120share156167172740008077156167172801302454Thu, 27 Jun 2019 21:42:08 GMT\"0x8D6FB484DE5E19C\"5120share156167191200305174156167191230909547Thu, 27 Jun 2019 21:45:12 GMT\"0x8D6FB48BBC154DE\"5120share156167460291803910Thu, 27 Jun 2019 22:30:03 GMT\"0x8D6FB4EFF7A1EAB\"5120share156167460920009706156167461055105084Thu, 27 Jun 2019 22:30:10 GMT\"0x8D6FB4F0406A952\"5120share156167483668108415156167483697101782Thu, 27 Jun 2019 22:33:57 GMT\"0x8D6FB4F8AF84BB3\"5120share156167490290503731Thu, 27 Jun 2019 22:35:03 GMT\"0x8D6FB4FB24F4DB6\"5120share156167517153904038Thu, 27 Jun 2019 22:39:31 GMT\"0x8D6FB5052662917\"5120share156167517755505158156167517815603075Thu, 27 Jun 2019 22:39:38 GMT\"0x8D6FB505657EC7B\"5120share156167529252904292Thu, 27 Jun 2019 22:41:32 GMT\"0x8D6FB509A8275B8\"5120share156167529751905905156167529813604333Thu, 27 Jun 2019 22:41:38 GMT\"0x8D6FB509DDF4A1C\"5120share156167535503401963156167535664305424Thu, 27 Jun 2019 22:42:36 GMT\"0x8D6FB50C0B9F400\"5120share156167548673805809156167548704303995Thu, 27 Jun 2019 22:44:47 GMT\"0x8D6FB510E74D338\"5120share156167575224402351Thu, 27 Jun 2019 22:49:13 GMT\"0x8D6FB51AD55C8EC\"5120share156167575668805627156167575698309768Thu, 27 Jun 2019 22:49:17 GMT\"0x8D6FB51AF41D019\"5120share156167585826101254156167585840800011Thu, 27 Jun 2019 22:50:58 GMT\"0x8D6FB51EBB6085E\"5120share156167585874706565Thu, 27 Jun 2019 22:50:58 GMT\"0x8D6FB51EBF43F39\"5120share156167586149509643156167586180205309Thu, 27 Jun 2019 22:51:01 GMT\"0x8D6FB51EDBC8264\"5120share156167594459405776156167594474804048Thu, 27 Jun 2019 22:52:24 GMT\"0x8D6FB521F2CBE75\"5120share156176588854206400Fri, 28 Jun 2019 23:51:28 GMT\"0x8D6FC2389F2FD5F\"5120share156176589692808078156176589875202991Fri, 28 Jun 2019 23:51:39 GMT\"0x8D6FC2390091D0C\"5120share156176612791506715156176612845900962Fri, 28 Jun 2019 23:55:28 GMT\"0x8D6FC2418F32307\"5120share156176661221508658Sat, 29 Jun 2019 00:03:32 GMT\"0x8D6FC25393BF65C\"5120share156176661487103961156176661517807686Sat, 29 Jun 2019 00:03:35 GMT\"0x8D6FC253AF764BB\"5120share156176668751909920156176668767309446Sat, 29 Jun 2019 00:04:47 GMT\"0x8D6FC25662D145D\"5120share156177023776708978Sat, 29 Jun 2019 01:03:58 GMT\"0x8D6FC2DAA4A1A42\"5120share156177024605000436156177024667302449Sat, 29 Jun 2019 01:04:06 GMT\"0x8D6FC2DAF998949\"5120share156177042209209997156177042240202417Sat, 29 Jun 2019 01:07:03 GMT\"0x8D6FC2E18AEB71F\"5120share156177068029709510Sat, 29 Jun 2019 01:11:20 GMT\"0x8D6FC2EB2452A8E\"5120share156177108587708981Sat, 29 Jun 2019 01:18:06 GMT\"0x8D6FC2FA3CD6CFD\"5120share156177109100203434156177109234108792Sat, 29 Jun 2019 01:18:12 GMT\"0x8D6FC2FA7A7F20B\"5120share156177126386102063156177126416701790Sat, 29 Jun 2019 01:21:04 GMT\"0x8D6FC300E141B68\"5120share156177157004405781Sat, 29 Jun 2019 01:26:10 GMT\"0x8D6FC30C4564E17\"5120share156177157326602320156177157357705545Sat, 29 Jun 2019 01:26:13 GMT\"0x8D6FC30C6667968\"5120share156177167269006770156177167284101453Sat, 29 Jun 2019 01:27:52 GMT\"0x8D6FC3101913AD8\"5120share156177469626603145Sat, 29 Jun 2019 02:18:16 GMT\"0x8D6FC380BC83BDF\"5120share156177470315208729156177470382406252Sat, 29 Jun 2019 02:18:24 GMT\"0x8D6FC381047E20A\"5120share156177472919901773Sat, 29 Jun 2019 02:18:49 GMT\"0x8D6FC381F584D02\"5120share156177473180705592156177473220704006Sat, 29 Jun 2019 02:18:52 GMT\"0x8D6FC38211C3AAC\"5120share156177482350209179156177482366504341Sat, 29 Jun 2019 02:20:23 GMT\"0x8D6FC3857A1619F\"5120share156177490141105742156177490170506946Sat, 29 Jun 2019 02:21:41 GMT\"0x8D6FC3886390919\"5120share156177951451406115Sat, 29 Jun 2019 03:38:34 GMT\"0x8D6FC43439D378B\"5120share156177951760805777156177951791004817Sat, 29 Jun 2019 03:38:38 GMT\"0x8D6FC43459AE940\"5120share156177961130904126156177961145900274Sat, 29 Jun 2019 03:40:11 GMT\"0x8D6FC437D5CE11B\"5120share156177962099703328Sat, 29 Jun 2019 03:40:21 GMT\"0x8D6FC438323D4D6\"5120share156177962626905243156177962687601520Sat, 29 Jun 2019 03:40:27 GMT\"0x8D6FC4386A59F02\"5120share156177980235602599156177980271008212Sat, 29 Jun 2019 03:43:22 GMT\"0x8D6FC43EF7580DF\"5120share156178043308106756Sat, 29 Jun 2019 03:53:53 GMT\"0x8D6FC45672EBCB7\"5120share156178044109601036156178044405202385Sat, 29 Jun 2019 03:54:04 GMT\"0x8D6FC456DB97AC1\"5120share156178059543401946156178059574602059Sat, 29 Jun 2019 03:56:36 GMT\"0x8D6FC45C8249C7D\"5120share156178091162507491Sat, 29 Jun 2019 04:01:51 GMT\"0x8D6FC46845B0D9D\"5120share156178091451304496156178091485309844Sat, 29 Jun 2019 04:01:54 GMT\"0x8D6FC46863F3036\"5120share156178099001300190156178099016701486Sat, 29 Jun 2019 04:03:10 GMT\"0x8D6FC46B323714E\"5120share156178142948204908Sat, 29 Jun 2019 04:10:29 GMT\"0x8D6FC47B9168334\"5120share156178143550309403156178143614409599Sat, 29 Jun 2019 04:10:36 GMT\"0x8D6FC47BD0E529E\"5120share156178160047603098156178160079104912Sat, 29 Jun 2019 04:13:21 GMT\"0x8D6FC481F31D660\"5120share156178190941705261Sat, 29 Jun 2019 04:18:29 GMT\"0x8D6FC48D715A7E2\"5120share156178191220406874156178191253009117Sat, 29 Jun 2019 04:18:32 GMT\"0x8D6FC48D8E84DDF\"5120share156178199943507208156178199959100376Sat, 29 Jun 2019 04:19:59 GMT\"0x8D6FC490CCCD1C7\"5120share156178233670809699Sat, 29 Jun 2019 04:25:36 GMT\"0x8D6FC49D5D3D2D0\"5120share156178234404900051156178234466308412Sat, 29 Jun 2019 04:25:44 GMT\"0x8D6FC49DA92C37A\"5120share156178249561208336156178249592108353Sat, 29 Jun 2019 04:28:16 GMT\"0x8D6FC4A34BAC565\"5120share156178282083104414Sat, 29 Jun 2019 04:33:40 GMT\"0x8D6FC4AF65347A2\"5120share156178282342607712156178282374108656Sat, 29 Jun 2019 04:33:43 GMT\"0x8D6FC4AF806C3F2\"5120share156178290648809286156178290664105286Sat, 29 Jun 2019 04:35:06 GMT\"0x8D6FC4B2970520B\"5120share156209045418202620Tue, 02 Jul 2019 18:00:54 GMT\"0x8D6FF173A17ABAD\"5120share156209045801807638156209045832101928Tue, 02 Jul 2019 18:00:58 GMT\"0x8D6FF173C84D6F5\"5120share156209054180307181156209054195007711Tue, 02 Jul 2019 18:02:22 GMT\"0x8D6FF176E5E22FB\"5120share156209140050808358Tue, 02 Jul 2019 18:16:40 GMT\"0x8D6FF196E1C5418\"5120share156209140773706831156209140806700148Tue, 02 Jul 2019 18:16:48 GMT\"0x8D6FF19729D5426\"5120share156209149173604503Tue, 02 Jul 2019 18:18:11 GMT\"0x8D6FF19A47CE5C9\"5120share156209150062107911Tue, 02 Jul 2019 18:18:20 GMT\"0x8D6FF19A9C95F33\"5120share156209150161906860Tue, 02 Jul 2019 18:18:21 GMT\"0x8D6FF19AA60FF8F\"5120share156209150362904138Tue, 02 Jul 2019 18:18:23 GMT\"0x8D6FF19AB943870\"5120share156209151062007814156209151093907660Tue, 02 Jul 2019 18:18:31 GMT\"0x8D6FF19AFF04559\"5120share156209163860907298156209163869100249Tue, 02 Jul 2019 18:20:38 GMT\"0x8D6FF19FC158AC7\"5120share156209262959905903Tue, 02 Jul 2019 18:37:09 GMT\"0x8D6FF1C4ABB598E\"5120share156209263284701221156209263318101643Tue, 02 Jul 2019 18:37:13 GMT\"0x8D6FF1C4CDAA468\"5120share156209271989109678156209272004309150Tue, 02 Jul 2019 18:38:40 GMT\"0x8D6FF1C809ED6B1\"5120share156209413129503258Tue, 02 Jul 2019 19:02:11 GMT\"0x8D6FF1FC9CE25F4\"5120share156209413410100352156209413444300660Tue, 02 Jul 2019 19:02:14 GMT\"0x8D6FF1FCBAB2C1D\"5120share156209421373100442156209421388600024Tue, 02 Jul 2019 19:03:33 GMT\"0x8D6FF1FFB048779\"5120share156211344223601381Wed, 03 Jul 2019 00:24:03 GMT\"0x8D6FF4CC09B517D\"5120share156211345052800751156211345085407338Wed, 03 Jul 2019 00:24:10 GMT\"0x8D6FF4CC52456C4\"5120share156211355859507687156211355874906732Wed, 03 Jul 2019 00:25:58 GMT\"0x8D6FF4D05733B63\"5120share156211364297402499Wed, 03 Jul 2019 00:27:23 GMT\"0x8D6FF4D37B571C4\"5120share156211364663002865156211364697106726Wed, 03 Jul 2019 00:27:27 GMT\"0x8D6FF4D3A08FDA1\"5120share156211371733002692Wed, 03 Jul 2019 00:28:37 GMT\"0x8D6FF4D63F8E76C\"5120share156212461746306413Wed, 03 Jul 2019 03:30:20 GMT\"0x8D6FF66C6B8100D\"5120share156213687152200429Wed, 03 Jul 2019 06:54:31 GMT\"0x8D6FF834D09DC5F\"5120share156213687716309858156213687911502031Wed, 03 Jul 2019 06:54:40 GMT\"0x8D6FF8352682B7A\"5120share156213710134509748156213710163505227Wed, 03 Jul 2019 06:58:21 GMT\"0x8D6FF83D6304B29\"5120share156213751141404247Wed, 03 Jul 2019 07:05:11 GMT\"0x8D6FF84CA613365\"5120share156213751711501416156213751742502505Wed, 03 Jul 2019 07:05:17 GMT\"0x8D6FF84CDEE809B\"5120share156213761217404186156213761232805502Wed, 03 Jul 2019 07:06:52 GMT\"0x8D6FF85067F3A1B\"5120share156218810291401426Wed, 03 Jul 2019 21:08:22 GMT\"0x8D6FFFA9532D208\"5120share156218810468207949156218810487006588Wed, 03 Jul 2019 21:08:24 GMT\"0x8D6FFFA965831B1\"5120share156218812908705961Wed, 03 Jul 2019 21:08:49 GMT\"0x8D6FFFAA4D292BB\"5120share156218813041600866156218813055409998Wed, 03 Jul 2019 21:08:50 GMT\"0x8D6FFFAA5AE268A\"5120share156218814722609250Wed, 03 Jul 2019 21:09:07 GMT\"0x8D6FFFAAFDC8959\"5120share156218815025601809Wed, 03 Jul 2019 21:09:10 GMT\"0x8D6FFFAB1B662C6\"5120share156218815516802793156218815547409064Wed, 03 Jul 2019 21:09:15 GMT\"0x8D6FFFAB490A7D1\"5120share156218815900805852156218815937704660Wed, 03 Jul 2019 21:09:19 GMT\"0x8D6FFFAB6E59FD2\"5120share156218817232201852156218817241505518Wed, 03 Jul 2019 21:09:32 GMT\"0x8D6FFFABE9A4D1A\"5120share156218817290904315156218817297806780Wed, 03 Jul 2019 21:09:33 GMT\"0x8D6FFFABEF76899\"5120share156218820962001887Wed, 03 Jul 2019 21:10:09 GMT\"0x8D6FFFAD4D532E7\"5120share156218821483707713156218821509303999Wed, 03 Jul 2019 21:10:15 GMT\"0x8D6FFFAD856E686\"5120share156218823882803659Wed, 03 Jul 2019 21:10:38 GMT\"0x8D6FFFAE633664D\"5120share156218823914106773156218823916905995Wed, 03 Jul 2019 21:10:39 GMT\"0x8D6FFFAE6670284\"5120share156218825240502808Wed, 03 Jul 2019 21:10:52 GMT\"0x8D6FFFAEE5DF2A7\"5120share156218825669506210156218825741204460Wed, 03 Jul 2019 21:10:57 GMT\"0x8D6FFFAF1570382\"5120share156218826132309948156218826133709479Wed, 03 Jul 2019 21:11:01 GMT\"0x8D6FFFAF39DC3D8\"5120share156218829213102166Wed, 03 Jul 2019 21:11:32 GMT\"0x8D6FFFB060A08EE\"5120share156218829518907971156218829555101799Wed, 03 Jul 2019 21:11:35 GMT\"0x8D6FFFB08137C33\"5120share156218831500000627Wed, 03 Jul 2019 21:11:56 GMT\"0x8D6FFFB1466BE78\"5120share156218831717903607Wed, 03 Jul 2019 21:11:57 GMT\"0x8D6FFFB1519472A\"5120share156218831961007345156218831986006674Wed, 03 Jul 2019 21:11:59 GMT\"0x8D6FFFB168E3CE1\"5120share156218831995406220156218832013004958Wed, 03 Jul 2019 21:12:00 GMT\"0x8D6FFFB16BBD432\"5120share156218832322505768156218832360504806Wed, 03 Jul 2019 21:12:03 GMT\"0x8D6FFFB18D15BD5\"5120share156218832585509445156218832597406290Wed, 03 Jul 2019 21:12:06 GMT\"0x8D6FFFB1A82458C\"5120share156218832948805012Wed, 03 Jul 2019 21:12:09 GMT\"0x8D6FFFB1C44B0D5\"5120share156218833091207561156218833113306069Wed, 03 Jul 2019 21:12:11 GMT\"0x8D6FFFB1D3C360D\"5120share156218833386004348Wed, 03 Jul 2019 21:12:13 GMT\"0x8D6FFFB1EE6F4FD\"5120share156218833674506705156218833699206689Wed, 03 Jul 2019 21:12:17 GMT\"0x8D6FFFB20C16DFA\"5120share156218834528400186Wed, 03 Jul 2019 21:12:25 GMT\"0x8D6FFFB25BE9F0D\"5120share156218834612207343Wed, 03 Jul 2019 21:12:26 GMT\"0x8D6FFFB263BBCE2\"5120share156218834617001877156218834628006676Wed, 03 Jul 2019 21:12:26 GMT\"0x8D6FFFB264B52D3\"5120share156218835028206540156218835073104336Wed, 03 Jul 2019 21:12:30 GMT\"0x8D6FFFB28FD79E9\"5120share156218835139908756156218835177900834Wed, 03 Jul 2019 21:12:31 GMT\"0x8D6FFFB299B2B6B\"5120share156218835272703433Wed, 03 Jul 2019 21:12:32 GMT\"0x8D6FFFB2A2A6487\"5120share156218835572304653156218835607804212Wed, 03 Jul 2019 21:12:36 GMT\"0x8D6FFFB2C231A86\"5120share156218836398703778Wed, 03 Jul 2019 21:12:44 GMT\"0x8D6FFFB30E48952\"5120share156218836991705023156218837029301532Wed, 03 Jul 2019 21:12:50 GMT\"0x8D6FFFB34A60D81\"5120share156218837181303014156218837188008392Wed, 03 Jul 2019 21:12:51 GMT\"0x8D6FFFB3585B4F9\"5120share156218837714701290Wed, 03 Jul 2019 21:12:57 GMT\"0x8D6FFFB38B00F58\"5120share156218838012709231156218838047802729Wed, 03 Jul 2019 21:13:00 GMT\"0x8D6FFFB3AAD01D6\"5120share156218839475408224156218839489503159Wed, 03 Jul 2019 21:13:15 GMT\"0x8D6FFFB4347B10F\"5120share156218839740101454156218839757505743Wed, 03 Jul 2019 21:13:17 GMT\"0x8D6FFFB45000204\"5120share156218841214004326156218841228207684Wed, 03 Jul 2019 21:13:32 GMT\"0x8D6FFFB4DA194AF\"5120share156218841648107657156218841668401663Wed, 03 Jul 2019 21:13:36 GMT\"0x8D6FFFB504C394E\"5120share156218842260304645156218842278100435Wed, 03 Jul 2019 21:13:43 GMT\"0x8D6FFFB5409FC14\"5120share156218843258804455Wed, 03 Jul 2019 21:13:52 GMT\"0x8D6FFFB59BB62BC\"5120share156218843643503489156218843662309630Wed, 03 Jul 2019 21:13:56 GMT\"0x8D6FFFB5C1E7889\"5120share156218844878908228Wed, 03 Jul 2019 21:14:08 GMT\"0x8D6FFFB6359C822\"5120share156218844954006738156218844974407220Wed, 03 Jul 2019 21:14:09 GMT\"0x8D6FFFB64032FDE\"5120share156218844983208549156218844989500803Wed, 03 Jul 2019 21:14:09 GMT\"0x8D6FFFB640086A1\"5120share156218845655108128156218845677103763Wed, 03 Jul 2019 21:14:16 GMT\"0x8D6FFFB682FC4C9\"5120share156218846219004443156218846237805474Wed, 03 Jul 2019 21:14:22 GMT\"0x8D6FFFB6B89539C\"5120share156218848880205915Wed, 03 Jul 2019 21:14:48 GMT\"0x8D6FFFB7B4753B8\"5120share156218849152809196156218849155802229Wed, 03 Jul 2019 21:14:51 GMT\"0x8D6FFFB7CD59146\"5120share156218849195805511156218849235208433Wed, 03 Jul 2019 21:14:52 GMT\"0x8D6FFFB7D652EF2\"5120share156218850123302360156218850132304233Wed, 03 Jul 2019 21:15:01 GMT\"0x8D6FFFB82AEA7C7\"5120share156218850481906018156218850499900800Wed, 03 Jul 2019 21:15:05 GMT\"0x8D6FFFB84E44DC7\"5120share156218853813008418156218853830609828Wed, 03 Jul 2019 21:15:38 GMT\"0x8D6FFFB98C73617\"5120share156218859838802801156218859858309191Wed, 03 Jul 2019 21:16:38 GMT\"0x8D6FFFBBCB6FBE6\"5120share156218868254009744Wed, 03 Jul 2019 21:18:02 GMT\"0x8D6FFFBEEC542A6\"5120share156218868563906402156218868604709782Wed, 03 Jul 2019 21:18:06 GMT\"0x8D6FFFBF0E10AA5\"5120share156218878496804020156218878515609001Wed, 03 Jul 2019 21:19:45 GMT\"0x8D6FFFC2BEF90FA\"5120share156218880289800080Wed, 03 Jul 2019 21:20:03 GMT\"0x8D6FFFC36F62EC7\"5120share156218880591300297156218880619406805Wed, 03 Jul 2019 21:20:06 GMT\"0x8D6FFFC38717939\"5120share156218886001402354Wed, 03 Jul 2019 21:21:00 GMT\"0x8D6FFFC5876D7CC\"5120share156218886098409655156218886114109710Wed, 03 Jul 2019 21:21:01 GMT\"0x8D6FFFC592507E7\"5120share156218887727908032Wed, 03 Jul 2019 21:21:17 GMT\"0x8D6FFFC62D1A190\"5120share156218888019300356156218888057705578Wed, 03 Jul 2019 21:21:20 GMT\"0x8D6FFFC64C8E1BC\"5120share156218888051108068156218888066002214Wed, 03 Jul 2019 21:21:20 GMT\"0x8D6FFFC64D255F1\"5120share156218890389206427156218890395502850Wed, 03 Jul 2019 21:21:44 GMT\"0x8D6FFFC72AB7A2F\"5120share156218896990405494156218897008409212Wed, 03 Jul 2019 21:22:50 GMT\"0x8D6FFFC9A22E9C8\"5120share156218898886706826Wed, 03 Jul 2019 21:23:11 GMT\"0x8D6FFFCA70965DC\"5120share156224220514003209Thu, 04 Jul 2019 12:10:05 GMT\"0x8D700788CA930DA\"5120share156224221168003209156224221187202741Thu, 04 Jul 2019 12:10:11 GMT\"0x8D7007890A808BA\"5120share156224223072602141Thu, 04 Jul 2019 12:10:30 GMT\"0x8D700789BE91D51\"5120share156224223403605632156224223417508519Thu, 04 Jul 2019 12:10:34 GMT\"0x8D700789DF35623\"5120share156224224734905597156224224744009530Thu, 04 Jul 2019 12:10:47 GMT\"0x8D70078A5DB9BAB\"5120share156224226591307148156224226598304177Thu, 04 Jul 2019 12:11:06 GMT\"0x8D70078B0E80D37\"5120share156224235782704154Thu, 04 Jul 2019 12:12:37 GMT\"0x8D70078E7A15EDC\"5120share156224235834008863156224235840103952Thu, 04 Jul 2019 12:12:38 GMT\"0x8D70078E7F868A2\"5120share156224238470400606156224238471805028Thu, 04 Jul 2019 12:13:04 GMT\"0x8D70078F7A7DA3D\"5120share156224247330208559Thu, 04 Jul 2019 12:14:33 GMT\"0x8D700792CAE94DE\"5120share156224249135903122156224249173204851Thu, 04 Jul 2019 12:14:52 GMT\"0x8D7007937B4CEC6\"5120share156224255226708186Thu, 04 Jul 2019 12:15:53 GMT\"0x8D700795BF5C771\"5120share156224256383902281Thu, 04 Jul 2019 12:16:04 GMT\"0x8D700796289E86C\"5120share156224257178705012156224257221704098Thu, 04 Jul 2019 12:16:12 GMT\"0x8D70079677E5FE9\"5120share156224257606104557Thu, 04 Jul 2019 12:16:16 GMT\"0x8D7007969CA5F19\"5120share156224258041207453156224258065100730Thu, 04 Jul 2019 12:16:20 GMT\"0x8D700796C803AB5\"5120share156224258996006659156224259070909486Thu, 04 Jul 2019 12:16:30 GMT\"0x8D70079727CFC4F\"5120share156224260539401271Thu, 04 Jul 2019 12:16:45 GMT\"0x8D700797B474402\"5120share156224260920908795156224260966301711Thu, 04 Jul 2019 12:16:49 GMT\"0x8D700797DD2187C\"5120share156224264676100256156224264699304421Thu, 04 Jul 2019 12:17:27 GMT\"0x8D7007994099985\"5120share156224268859000186Thu, 04 Jul 2019 12:18:08 GMT\"0x8D70079ACDC46B9\"5120share156224270442304790156224271205103200Thu, 04 Jul 2019 12:18:32 GMT\"0x8D70079BAE1397C\"5120share156224271948708081156224271966204422Thu, 04 Jul 2019 12:18:39 GMT\"0x8D70079BF6056C5\"5120share156224272974807413156224272988205303Thu, 04 Jul 2019 12:18:49 GMT\"0x8D70079C57394E5\"5120share156224274677505541156224275949809089Thu, 04 Jul 2019 12:19:19 GMT\"0x8D70079D71A6F45\"5120share156224283062005561156224285810205191Thu, 04 Jul 2019 12:20:58 GMT\"0x8D7007A11E160A6\"5120share156224283258006241Thu, 04 Jul 2019 12:20:32 GMT\"0x8D7007A02B1D684\"5120share156224284013904358156224284127107016Thu, 04 Jul 2019 12:20:41 GMT\"0x8D7007A07E0F19F\"5120share156224284346904220156224284365206788Thu, 04 Jul 2019 12:20:43 GMT\"0x8D7007A096706C2\"5120share156224291713606722156224291733909552Thu, 04 Jul 2019 12:21:57 GMT\"0x8D7007A3536480B\"5120share156224300556207548Thu, 04 Jul 2019 12:23:25 GMT\"0x8D7007A69D54B6C\"5120share156224300873302977156224300906107453Thu, 04 Jul 2019 12:23:29 GMT\"0x8D7007A6BDA28FA\"5120share156224306936202467156224306951908123Thu, 04 Jul 2019 12:24:29 GMT\"0x8D7007A8FE5B92D\"5120share156224319870301619Thu, 04 Jul 2019 12:26:38 GMT\"0x8D7007ADCED3731\"5120share156224320354301960156224320393504495Thu, 04 Jul 2019 12:26:44 GMT\"0x8D7007AE00BF3F5\"5120share156224326458804394156224326479203755Thu, 04 Jul 2019 12:27:44 GMT\"0x8D7007B0450B069\"5120share156232841613508319Fri, 05 Jul 2019 12:06:56 GMT\"0x8D70141466C2B64\"5120share156232841861208282156232841879807673Fri, 05 Jul 2019 12:06:58 GMT\"0x8D7014147FE10C6\"5120share156232844168506704Fri, 05 Jul 2019 12:07:21 GMT\"0x8D7014155A4AD97\"5120share156232844386907637156232844401307651Fri, 05 Jul 2019 12:07:24 GMT\"0x8D701415703F68A\"5120share156232845753707554156232845762800912Fri, 05 Jul 2019 12:07:38 GMT\"0x8D701415F646150\"5120share156232847764404417156232847770606191Fri, 05 Jul 2019 12:07:57 GMT\"0x8D701416B192B69\"5120share156232850414608580Fri, 05 Jul 2019 12:08:24 GMT\"0x8D701417AE586D6\"5120share156232850675609065Fri, 05 Jul 2019 12:08:27 GMT\"0x8D701417CAD06D7\"5120share156232851804601744Fri, 05 Jul 2019 12:08:38 GMT\"0x8D701418320B741\"5120share156232851810906256Fri, 05 Jul 2019 12:08:38 GMT\"0x8D701418329B98D\"5120share156232851844806823156232851848405216Fri, 05 Jul 2019 12:08:38 GMT\"0x8D70141836354F3\"5120share156232852424601536156232852458902443Fri, 05 Jul 2019 12:08:44 GMT\"0x8D701418714C45A\"5120share156232853154900982Fri, 05 Jul 2019 12:08:51 GMT\"0x8D701418B41BA0E\"5120share156232853229105920156232853403607477Fri, 05 Jul 2019 12:08:54 GMT\"0x8D701418D2AAF5E\"5120share156232853464309443156232853465701570Fri, 05 Jul 2019 12:08:54 GMT\"0x8D701418D072F58\"5120share156232854044800518156232854082104810Fri, 05 Jul 2019 12:09:01 GMT\"0x8D7014190D10C8C\"5120share156232856511904283Fri, 05 Jul 2019 12:09:25 GMT\"0x8D701419F4A85DC\"5120share156232857881806424156232857928009105Fri, 05 Jul 2019 12:09:39 GMT\"0x8D70141A7B73541\"5120share156232857892808238Fri, 05 Jul 2019 12:09:40 GMT\"0x8D70141A80B4DD8\"5120share156232858344102166156232858639902242Fri, 05 Jul 2019 12:09:47 GMT\"0x8D70141ACA89FB6\"5120share156232859029501162Fri, 05 Jul 2019 12:09:50 GMT\"0x8D70141AE446A35\"5120share156232859892701334156232859953306110Fri, 05 Jul 2019 12:09:59 GMT\"0x8D70141B3C6940C\"5120share156232863064505686156232863078706867Fri, 05 Jul 2019 12:10:30 GMT\"0x8D70141C6636CC6\"5120share156232864865505253156232864883208593Fri, 05 Jul 2019 12:10:48 GMT\"0x8D70141D1293D2A\"5120share156232865619904092156232865631708641Fri, 05 Jul 2019 12:10:56 GMT\"0x8D70141D5D3EDE2\"5120share156232866820908467156232866832807932Fri, 05 Jul 2019 12:11:08 GMT\"0x8D70141DCC375AE\"5120share156232870555103531156232870572709019Fri, 05 Jul 2019 12:11:45 GMT\"0x8D70141F3116C76\"5120share156232877541102280156232877559904486Fri, 05 Jul 2019 12:12:55 GMT\"0x8D701421CB17A4A\"5120share156232879380203184Fri, 05 Jul 2019 12:13:13 GMT\"0x8D70142278F5E93\"5120share156232879576504146Fri, 05 Jul 2019 12:13:15 GMT\"0x8D7014228A8F8C5\"5120share156232879619509129156232879647601822Fri, 05 Jul 2019 12:13:16 GMT\"0x8D7014229257797\"5120share156232879629701739156232879632809084Fri, 05 Jul 2019 12:13:16 GMT\"0x8D7014229000525\"5120share156232882553006958156232882554604883Fri, 05 Jul 2019 12:13:45 GMT\"0x8D701423A6861AC\"5120share156232884964601059Fri, 05 Jul 2019 12:14:09 GMT\"0x8D7014248D5E082\"5120share156232885045607572156232885050306087Fri, 05 Jul 2019 12:14:10 GMT\"0x8D70142494919B0\"5120share156232886722907465156232886733805736Fri, 05 Jul 2019 12:14:27 GMT\"0x8D70142535F0DCF\"5120share156232888680606023156232888682107821Fri, 05 Jul 2019 12:14:46 GMT\"0x8D701425EEF1DA7\"5120share156241462907307660Sat, 06 Jul 2019 12:03:49 GMT\"0x8D7020A015725F3\"5120share156241463143207723156241463162309308Sat, 06 Jul 2019 12:03:51 GMT\"0x8D7020A02D86627\"5120share156241464716007409Sat, 06 Jul 2019 12:04:07 GMT\"0x8D7020A0C24AE28\"5120share156241465549807570156241465588401078Sat, 06 Jul 2019 12:04:16 GMT\"0x8D7020A1191F4BD\"5120share156241465573602212Sat, 06 Jul 2019 12:04:17 GMT\"0x8D7020A11EFA595\"5120share156241466446407898156241466484306382Sat, 06 Jul 2019 12:04:25 GMT\"0x8D7020A16DE1800\"5120share156241466677505994Sat, 06 Jul 2019 12:04:36 GMT\"0x8D7020A1D67EDD1\"5120share156241467245803112Sat, 06 Jul 2019 12:04:32 GMT\"0x8D7020A1B324653\"5120share156241467480109923156241467495504586Sat, 06 Jul 2019 12:04:35 GMT\"0x8D7020A1CAB203A\"5120share156241468714300719156241468794107214Sat, 06 Jul 2019 12:04:48 GMT\"0x8D7020A247690F2\"5120share156241469141502244156241469150603069Sat, 06 Jul 2019 12:04:51 GMT\"0x8D7020A268A0834\"5120share156241470391902233Sat, 06 Jul 2019 12:05:05 GMT\"0x8D7020A2EECF18F\"5120share156241470668007254Sat, 06 Jul 2019 12:05:07 GMT\"0x8D7020A3025D50B\"5120share156241470920202907156241470927200006Sat, 06 Jul 2019 12:05:09 GMT\"0x8D7020A311F4B11\"5120share156241471423104607156241471451708135Sat, 06 Jul 2019 12:05:15 GMT\"0x8D7020A34F7E298\"5120share156241471865309980156241471938400766Sat, 06 Jul 2019 12:05:19 GMT\"0x8D7020A37301FBC\"5120share156241473553307854Sat, 06 Jul 2019 12:05:35 GMT\"0x8D7020A40D154D0\"5120share156241474399800621156241475203003406Sat, 06 Jul 2019 12:05:52 GMT\"0x8D7020A4AA62845\"5120share156241476635507633Sat, 06 Jul 2019 12:06:06 GMT\"0x8D7020A532BABAF\"5120share156241476806208009156241476820708153Sat, 06 Jul 2019 12:06:08 GMT\"0x8D7020A5441C3D2\"5120share156241476957902450156241477324300930Sat, 06 Jul 2019 12:06:13 GMT\"0x8D7020A574E56CE\"5120share156241477678600629Sat, 06 Jul 2019 12:06:16 GMT\"0x8D7020A596589BC\"5120share156241477992209683156241478018703876Sat, 06 Jul 2019 12:06:23 GMT\"0x8D7020A5D94E01F\"5120share156241478428406864Sat, 06 Jul 2019 12:06:24 GMT\"0x8D7020A5DE1B58B\"5120share156241478864206174156241478892305093Sat, 06 Jul 2019 12:06:29 GMT\"0x8D7020A60A40148\"5120share156241479444801776156241479450906381Sat, 06 Jul 2019 12:06:34 GMT\"0x8D7020A63EEC43C\"5120share156241480058905841156241480076800282Sat, 06 Jul 2019 12:06:40 GMT\"0x8D7020A67B6AF10\"5120share156241481893904973156241481906902159Sat, 06 Jul 2019 12:06:59 GMT\"0x8D7020A729BB31E\"5120share156241482020100867156241482032506205Sat, 06 Jul 2019 12:07:00 GMT\"0x8D7020A73586872\"5120share156241482662101250156241482674208134Sat, 06 Jul 2019 12:07:06 GMT\"0x8D7020A772C53E0\"5120share156241483326708529156241483442001894Sat, 06 Jul 2019 12:07:14 GMT\"0x8D7020A7BC54DB3\"5120share156241483936806622156241483947702143Sat, 06 Jul 2019 12:07:19 GMT\"0x8D7020A7EC76FB3\"5120share156241485300207887Sat, 06 Jul 2019 12:07:33 GMT\"0x8D7020A86D24BF8\"5120share156241485513001519156241485538005300Sat, 06 Jul 2019 12:07:35 GMT\"0x8D7020A8840C749\"5120share156241485930305951156241485941207924Sat, 06 Jul 2019 12:07:39 GMT\"0x8D7020A8AA7B377\"5120share156241491919600593156241491933604336Sat, 06 Jul 2019 12:08:39 GMT\"0x8D7020AAE601D7B\"5120share156250100905700759Sun, 07 Jul 2019 12:03:29 GMT\"0x8D702D31FD2BAC7\"5120share156250101131204371156250101149606821Sun, 07 Jul 2019 12:03:31 GMT\"0x8D702D32141F754\"5120share156250102609105498Sun, 07 Jul 2019 12:03:46 GMT\"0x8D702D32A5183CE\"5120share156250103822709207Sun, 07 Jul 2019 12:03:58 GMT\"0x8D702D3313F1B15\"5120share156250103849800271156250104500405514Sun, 07 Jul 2019 12:04:05 GMT\"0x8D702D33549247B\"5120share156250104413408197156250104467807375Sun, 07 Jul 2019 12:04:04 GMT\"0x8D702D335174307\"5120share156250104450205064Sun, 07 Jul 2019 12:04:04 GMT\"0x8D702D334FDAAF5\"5120share156250104784808726156250104794006612Sun, 07 Jul 2019 12:04:07 GMT\"0x8D702D336FAFA4C\"5120share156250106252307155156250107144202359Sun, 07 Jul 2019 12:04:31 GMT\"0x8D702D3451982E6\"5120share156250106360804485Sun, 07 Jul 2019 12:04:23 GMT\"0x8D702D34052DB43\"5120share156250106526600919156250106538609624Sun, 07 Jul 2019 12:04:25 GMT\"0x8D702D3415EAF31\"5120share156250107494008392Sun, 07 Jul 2019 12:04:35 GMT\"0x8D702D34727B468\"5120share156250107776200036Sun, 07 Jul 2019 12:04:37 GMT\"0x8D702D348CBEB95\"5120share156250108247608928156250108274206566Sun, 07 Jul 2019 12:04:43 GMT\"0x8D702D34BFED761\"5120share156250108674401926156250108699800231Sun, 07 Jul 2019 12:04:47 GMT\"0x8D702D34E59D36B\"5120share156250109234709676Sun, 07 Jul 2019 12:04:52 GMT\"0x8D702D3517DB31B\"5120share156250109324109070156250109330605800Sun, 07 Jul 2019 12:04:53 GMT\"0x8D702D352039087\"5120share156250110105509410156250110176402446Sun, 07 Jul 2019 12:05:01 GMT\"0x8D702D357167157\"5120share156250114604802333Sun, 07 Jul 2019 12:05:46 GMT\"0x8D702D3717B4BA2\"5120share156250114966802007Sun, 07 Jul 2019 12:05:49 GMT\"0x8D702D373A48677\"5120share156250115074604410156250115102804974Sun, 07 Jul 2019 12:05:51 GMT\"0x8D702D374F14CFC\"5120share156250115102209658156250115117105313Sun, 07 Jul 2019 12:05:51 GMT\"0x8D702D3748460C9\"5120share156250116339103851156250116361904081Sun, 07 Jul 2019 12:06:03 GMT\"0x8D702D37BFCC26C\"5120share156250117362100690156250117380109971Sun, 07 Jul 2019 12:06:13 GMT\"0x8D702D3820E55C6\"5120share156250117815406735156250117891508882Sun, 07 Jul 2019 12:06:19 GMT\"0x8D702D38527156B\"5120share156250118098202263156250118105907325Sun, 07 Jul 2019 12:06:21 GMT\"0x8D702D386552F65\"5120share156250119293202513156250119397206915Sun, 07 Jul 2019 12:06:34 GMT\"0x8D702D38E0BBA94\"5120share156250119293507178156250119334305374Sun, 07 Jul 2019 12:06:33 GMT\"0x8D702D38DAC3A41\"5120share156250119976800444156250119988505678Sun, 07 Jul 2019 12:06:40 GMT\"0x8D702D39194A072\"5120share156250120491103313156250120505409294Sun, 07 Jul 2019 12:06:45 GMT\"0x8D702D394A85137\"5120share156250127098807616Sun, 07 Jul 2019 12:07:51 GMT\"0x8D702D3BBF90D9F\"5120share156250127466608937156250127492806261Sun, 07 Jul 2019 12:07:55 GMT\"0x8D702D3BE55578B\"5120share156250128948301874Sun, 07 Jul 2019 12:08:09 GMT\"0x8D702D3C6FE6D27\"5120share156250129584606945156250129800307120Sun, 07 Jul 2019 12:08:18 GMT\"0x8D702D3CC0E6E75\"5120share156250134899209853156250134911704679Sun, 07 Jul 2019 12:09:09 GMT\"0x8D702D3EA87D137\"5120share156250135806603788156250135820804089Sun, 07 Jul 2019 12:09:18 GMT\"0x8D702D3EFF4C8B6\"5120share156258740987602978Mon, 08 Jul 2019 12:03:29 GMT\"0x8D7039C4AB74459\"5120share156258741555502574156258741583103690Mon, 08 Jul 2019 12:03:35 GMT\"0x8D7039C4E3F08D1\"5120share156258744853302097156258744874900898Mon, 08 Jul 2019 12:04:08 GMT\"0x8D7039C61DE5A61\"5120share156258745221706038Mon, 08 Jul 2019 12:04:12 GMT\"0x8D7039C63FE507F\"5120share156258745295400235Mon, 08 Jul 2019 12:04:13 GMT\"0x8D7039C64800581\"5120share156258745652307905Mon, 08 Jul 2019 12:04:16 GMT\"0x8D7039C66B48BFC\"5120share156258746104403992156258746235003162Mon, 08 Jul 2019 12:04:22 GMT\"0x8D7039C6A2876E9\"5120share156258746492406462156258746528209168Mon, 08 Jul 2019 12:04:25 GMT\"0x8D7039C6BDA2C73\"5120share156258746709606078Mon, 08 Jul 2019 12:04:27 GMT\"0x8D7039C6CD1CA80\"5120share156258746736408165156258746773500387Mon, 08 Jul 2019 12:04:27 GMT\"0x8D7039C6D5003BD\"5120share156258746999407556156258747011903067Mon, 08 Jul 2019 12:04:30 GMT\"0x8D7039C6E9BB9B8\"5120share156258749072506230Mon, 08 Jul 2019 12:04:51 GMT\"0x8D7039C7B38EDC5\"5120share156258749528708946Mon, 08 Jul 2019 12:04:55 GMT\"0x8D7039C7DAE4D20\"5120share156258749774903714Mon, 08 Jul 2019 12:04:58 GMT\"0x8D7039C7F7DDD00\"5120share156258750074106668156258750111903572Mon, 08 Jul 2019 12:05:01 GMT\"0x8D7039C8131FB1E\"5120share156258750138106945156258750659005350Mon, 08 Jul 2019 12:05:06 GMT\"0x8D7039C846B272F\"5120share156258750417901966156258750456501518Mon, 08 Jul 2019 12:05:18 GMT\"0x8D7039C8B46B6D4\"5120share156258750950908228156258750957106940Mon, 08 Jul 2019 12:05:09 GMT\"0x8D7039C861ED6F0\"5120share156258756280903372Mon, 08 Jul 2019 12:06:02 GMT\"0x8D7039CA5D91387\"5120share156258756411507953156258756420200289Mon, 08 Jul 2019 12:06:04 GMT\"0x8D7039CA6ACB69C\"5120share156258758476004106156258758530900916Mon, 08 Jul 2019 12:06:25 GMT\"0x8D7039CB3528E37\"5120share156258758737301687156258759405708643Mon, 08 Jul 2019 12:06:34 GMT\"0x8D7039CB8A40706\"5120share156258758912803964156258758914305320Mon, 08 Jul 2019 12:06:29 GMT\"0x8D7039CB58AF1AD\"5120share156258759656101853156258759676406743Mon, 08 Jul 2019 12:06:39 GMT\"0x8D7039CBB85C74E\"5120share156258760081704035156258760104802645Mon, 08 Jul 2019 12:06:41 GMT\"0x8D7039CBCC5E0AA\"5120share156258760855008802Mon, 08 Jul 2019 12:06:49 GMT\"0x8D7039CC173220F\"5120share156258761027304149156258761032007505Mon, 08 Jul 2019 12:06:50 GMT\"0x8D7039CC2286DD7\"5120share156258761317700150156258761449504089Mon, 08 Jul 2019 12:06:54 GMT\"0x8D7039CC4BAAB9F\"5120share156258761485209592156258761543105879Mon, 08 Jul 2019 12:06:55 GMT\"0x8D7039CC5793E90\"5120share156258766018105200156258766019707308Mon, 08 Jul 2019 12:07:40 GMT\"0x8D7039CDFE2765B\"5120share156258779698509369Mon, 08 Jul 2019 12:09:57 GMT\"0x8D7039D318DF19A\"5120share156258780105706428156258780145003324Mon, 08 Jul 2019 12:10:01 GMT\"0x8D7039D342A72F5\"5120share156258780898803221Mon, 08 Jul 2019 12:10:09 GMT\"0x8D7039D38AA222D\"5120share156258781453406420156258781492607402Mon, 08 Jul 2019 12:10:15 GMT\"0x8D7039D3C462D37\"5120share156258787061901201156258787080701165Mon, 08 Jul 2019 12:11:10 GMT\"0x8D7039D5D832C7D\"5120share156258788190408297156258788210101955Mon, 08 Jul 2019 12:11:22 GMT\"0x8D7039D643DE3B1\"5120share156264825395605887Tue, 09 Jul 2019 04:57:34 GMT\"0x8D70429F49F0F26\"5120share156264825601509637156264825620206242Tue, 09 Jul 2019 04:57:36 GMT\"0x8D70429F5F0FA8C\"5120share156264827030709689Tue, 09 Jul 2019 04:57:50 GMT\"0x8D70429FE652D02\"5120share156264827615609337156264827650900123Tue, 09 Jul 2019 04:57:56 GMT\"0x8D7042A0217ABCF\"5120share156264829474303904Tue, 09 Jul 2019 04:58:14 GMT\"0x8D7042A0CF840BE\"5120share156264829868206276Tue, 09 Jul 2019 04:58:18 GMT\"0x8D7042A0F4DECE3\"5120share156264830294101292156264830329907328Tue, 09 Jul 2019 04:58:23 GMT\"0x8D7042A1211680D\"5120share156264830669702353156264830700800542Tue, 09 Jul 2019 04:58:27 GMT\"0x8D7042A14478099\"5120share156264831039009965Tue, 09 Jul 2019 04:58:30 GMT\"0x8D7042A163E8DE6\"5120share156264831160104143156264831173100032Tue, 09 Jul 2019 04:58:31 GMT\"0x8D7042A17087F23\"5120share156264831254601214156264831263608619Tue, 09 Jul 2019 04:58:32 GMT\"0x8D7042A17939792\"5120share156264832860103936Tue, 09 Jul 2019 04:58:48 GMT\"0x8D7042A211E1D48\"5120share156264833218803431156264833302005048Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27B8BFE0\"5120share156264833942109584Tue, 09 Jul 2019 04:58:59 GMT\"0x8D7042A27941007\"5120share156264834216007262156264834242800932Tue, 09 Jul 2019 04:59:02 GMT\"0x8D7042A295C8410\"5120share156264835293103419156264835299708634Tue, 09 Jul 2019 04:59:13 GMT\"0x8D7042A2FA0EABB\"5120share156264839687207627Tue, 09 Jul 2019 04:59:56 GMT\"0x8D7042A49D33E71\"5120share156264839933907378156264839954606075Tue, 09 Jul 2019 04:59:59 GMT\"0x8D7042A4B63D2AA\"5120share156264843680708943156264843702104397Tue, 09 Jul 2019 05:00:37 GMT\"0x8D7042A61C2A310\"5120share156264845230102818156264845240405412Tue, 09 Jul 2019 05:00:52 GMT\"0x8D7042A6AE665B4\"5120share156264845339405267156264845357208004Tue, 09 Jul 2019 05:00:53 GMT\"0x8D7042A6BA26B29\"5120share156264845432602840156264845444807706Tue, 09 Jul 2019 05:00:54 GMT\"0x8D7042A6C253153\"5120share156264847886301688156264847968405382Tue, 09 Jul 2019 05:01:19 GMT\"0x8D7042A7B3077A7\"5120share156264848339806724156264848351300403Tue, 09 Jul 2019 05:01:23 GMT\"0x8D7042A7D7706DE\"5120share156264870344303834Tue, 09 Jul 2019 05:05:03 GMT\"0x8D7042B00911645\"5120share156264870634702467156264870669504827Tue, 09 Jul 2019 05:05:06 GMT\"0x8D7042B02815284\"5120share156264880414102699156264880432308948Tue, 09 Jul 2019 05:06:44 GMT\"0x8D7042B3CB1E23B\"5120share156264886794000718Tue, 09 Jul 2019 05:07:48 GMT\"0x8D7042B62997F6B\"5120share156264887048101342156264887079300099Tue, 09 Jul 2019 05:07:50 GMT\"0x8D7042B644C4F44\"5120share156264893656607140156264893669107996Tue, 09 Jul 2019 05:08:56 GMT\"0x8D7042B8B94A653\"5120share156264895731108711Tue, 09 Jul 2019 05:09:17 GMT\"0x8D7042B97D18B17\"5120share156264895805304396156264895808507570Tue, 09 Jul 2019 05:09:18 GMT\"0x8D7042B9847C935\"5120share156264901143100039156264901146206574Tue, 09 Jul 2019 05:10:11 GMT\"0x8D7042BB818914C\"5120share156265158976005909Tue, 09 Jul 2019 05:53:09 GMT\"0x8D70431B8F6A179\"5120share156265159410309196156265159448605628Tue, 09 Jul 2019 05:53:14 GMT\"0x8D70431BBC89463\"5120share156265173847000361156265174664207252Tue, 09 Jul 2019 05:55:46 GMT\"0x8D704321678A633\"5120share156267382937802805Tue, 09 Jul 2019 12:03:49 GMT\"0x8D7046580BF270F\"5120share156267383106607518156267383125703217Tue, 09 Jul 2019 12:03:51 GMT\"0x8D7046581D92E96\"5120share156267385420103328Tue, 09 Jul 2019 12:04:14 GMT\"0x8D704658F9D0561\"5120share156267386263002254156267386272003008Tue, 09 Jul 2019 12:04:22 GMT\"0x8D704659499F5DC\"5120share156267386638805348156267386700004645Tue, 09 Jul 2019 12:04:27 GMT\"0x8D7046597347EC9\"5120share156267386842006357Tue, 09 Jul 2019 12:04:28 GMT\"0x8D7046598122B4B\"5120share156267387622209939Tue, 09 Jul 2019 12:04:36 GMT\"0x8D704659CC178E4\"5120share156267388151109279156267388258706390Tue, 09 Jul 2019 12:04:49 GMT\"0x8D70465A487AF0B\"5120share156267388788009954Tue, 09 Jul 2019 12:04:47 GMT\"0x8D70465A3976346\"5120share156267388904803373156267388912802041Tue, 09 Jul 2019 12:04:49 GMT\"0x8D70465A4557E6C\"5120share156267389618201873156267389674405076Tue, 09 Jul 2019 12:04:56 GMT\"0x8D70465A8F24B76\"5120share156267390160807839Tue, 09 Jul 2019 12:05:01 GMT\"0x8D70465ABF10479\"5120share156267390767105471156267390780804887Tue, 09 Jul 2019 12:05:07 GMT\"0x8D70465AF7C012B\"5120share156267391027602427156267391030900795Tue, 09 Jul 2019 12:05:10 GMT\"0x8D70465B0F5D470\"5120share156267392495703472Tue, 09 Jul 2019 12:05:26 GMT\"0x8D70465BA6C6E8B\"5120share156267393578505816156267393640503491Tue, 09 Jul 2019 12:05:57 GMT\"0x8D70465CD09B7D7\"5120share156267394092302007Tue, 09 Jul 2019 12:05:40 GMT\"0x8D70465C33999B0\"5120share156267394988608119156267395219808454Tue, 09 Jul 2019 12:05:52 GMT\"0x8D70465C9F09311\"5120share156267397869900938Tue, 09 Jul 2019 12:06:18 GMT\"0x8D70465D9B9B7C3\"5120share156267397932400414156267397936504402Tue, 09 Jul 2019 12:06:19 GMT\"0x8D70465DA1EA679\"5120share156267399095807060Tue, 09 Jul 2019 12:06:31 GMT\"0x8D70465E1153B1E\"5120share156267399380203874156267399405209221Tue, 09 Jul 2019 12:06:34 GMT\"0x8D70465E2F19B6B\"5120share156267400206508827156267400224402131Tue, 09 Jul 2019 12:06:42 GMT\"0x8D70465E7CFA065\"5120share156267400292404441156267400293809559Tue, 09 Jul 2019 12:06:42 GMT\"0x8D70465E82B783A\"5120share156267402099901752156267402117500045Tue, 09 Jul 2019 12:07:01 GMT\"0x8D70465F3525FC9\"5120share156267402163508973Tue, 09 Jul 2019 12:07:01 GMT\"0x8D70465F35FCCDD\"5120share156267402334704573156267402429308287Tue, 09 Jul 2019 12:07:04 GMT\"0x8D70465F4E96B80\"5120share156267402973601025156267404161107892Tue, 09 Jul 2019 12:07:21 GMT\"0x8D70465FF45D3DC\"5120share156267404318301876156267404324504524Tue, 09 Jul 2019 12:07:23 GMT\"0x8D704660036E9E7\"5120share156267405388702579156267405395801395Tue, 09 Jul 2019 12:07:34 GMT\"0x8D704660698D51E\"5120share156267408134902571156267408149000302Tue, 09 Jul 2019 12:08:01 GMT\"0x8D704661709F5A9\"5120share156267411142406435156267411197706768Tue, 09 Jul 2019 12:08:33 GMT\"0x8D704662A3DC0BA\"5120share156267414202202918156267414220106985Tue, 09 Jul 2019 12:09:02 GMT\"0x8D704663B3F1F50\"5120share156267423779203874Tue, 09 Jul 2019 12:10:37 GMT\"0x8D704667439D991\"5120share156267424005608615156267424053801889Tue, 09 Jul 2019 12:10:40 GMT\"0x8D7046675DB062A\"5120share156267430833406636156267430847403205Tue, 09 Jul 2019 12:11:48 GMT\"0x8D704669E5A80CE\"5120share156269481666907108Tue, 09 Jul 2019 17:53:36 GMT\"0x8D704965E24C3F6\"5120share156269481774401596Tue, 09 Jul 2019 17:53:37 GMT\"0x8D704965ECC7BD7\"5120share156269481871608819156269481890008616Tue, 09 Jul 2019 17:53:38 GMT\"0x8D704965F756D29\"5120share156269481951002984156269481966409713Tue, 09 Jul 2019 17:53:39 GMT\"0x8D704965FED94BD\"5120share156269486344509309156269486351807885Tue, 09 Jul 2019 17:54:23 GMT\"0x8D704967A10ECF9\"5120share156269487459200150156269487468500799Tue, 09 Jul 2019 17:54:34 GMT\"0x8D7049680B41C71\"5120share156269488218400048Tue, 09 Jul 2019 17:54:42 GMT\"0x8D7049685540F31\"5120share156269488554504172156269488584604383Tue, 09 Jul 2019 17:54:45 GMT\"0x8D70496876D744B\"5120share156269499994903691Tue, 09 Jul 2019 17:56:40 GMT\"0x8D70496CB6D3890\"5120share156269500174105375156269500194408040Tue, 09 Jul 2019 17:56:42 GMT\"0x8D70496CC9684E7\"5120share156269500211602290Tue, 09 Jul 2019 17:56:42 GMT\"0x8D70496CCB49BC0\"5120share156269500921907889156269500953107665Tue, 09 Jul 2019 17:56:49 GMT\"0x8D70496D11E4388\"5120share156269503458108079156269503471608767Tue, 09 Jul 2019 17:57:14 GMT\"0x8D70496E02386A6\"5120share156269504393805899Tue, 09 Jul 2019 17:57:24 GMT\"0x8D70496E5A7C018\"5120share156269504913309821156269505036706085Tue, 09 Jul 2019 17:57:30 GMT\"0x8D70496E97A77CF\"5120share156269505856108339156269505866104026Tue, 09 Jul 2019 17:57:38 GMT\"0x8D70496EE643DE7\"5120share156269506490101211Tue, 09 Jul 2019 17:57:44 GMT\"0x8D70496F21FD37B\"5120share156269506743709158156269507428003869Tue, 09 Jul 2019 17:57:54 GMT\"0x8D70496F7BA82A4\"5120share156269512310706325156269512321701219Tue, 09 Jul 2019 17:58:43 GMT\"0x8D7049714E2AA9B\"5120share156269513740908579Tue, 09 Jul 2019 17:58:57 GMT\"0x8D704971D5ACEB8\"5120share156269514106605087156269514142005085Tue, 09 Jul 2019 17:59:01 GMT\"0x8D704971FBE3CC6\"5120share156269517588705870156269517600500120Tue, 09 Jul 2019 17:59:36 GMT\"0x8D7049734592D4E\"5120share156269518824809389Tue, 09 Jul 2019 17:59:48 GMT\"0x8D704973BA6EA7C\"5120share156269519000603461156269519018004450Tue, 09 Jul 2019 17:59:50 GMT\"0x8D704973CCEF4D7\"5120share156269519155500673156269519198205854Tue, 09 Jul 2019 17:59:52 GMT\"0x8D704973DE0CD8A\"5120share156269519891300643Tue, 09 Jul 2019 17:59:58 GMT\"0x8D7049741FC1B24\"5120share156269519916100036Tue, 09 Jul 2019 17:59:59 GMT\"0x8D70497421ADA7A\"5120share156269519952105514156269519956804456Tue, 09 Jul 2019 17:59:59 GMT\"0x8D704974259355F\"5120share156269520032305950156269520043202300Tue, 09 Jul 2019 18:00:00 GMT\"0x8D7049742E5A6F9\"5120share156269520939206183Tue, 09 Jul 2019 18:00:09 GMT\"0x8D704974833FA50\"5120share156269520991200049156269520997506679Tue, 09 Jul 2019 18:00:09 GMT\"0x8D70497488C5B30\"5120share156269524252704604156269524255803226Tue, 09 Jul 2019 18:00:42 GMT\"0x8D704975BF7A559\"5120share156269524506108742156269524523701147Tue, 09 Jul 2019 18:00:45 GMT\"0x8D704975D9FC0AC\"5120share156269524595202445156269524596802315Tue, 09 Jul 2019 18:00:45 GMT\"0x8D704975E01E8D8\"5120share156269525920901242156269525925602502Tue, 09 Jul 2019 18:00:59 GMT\"0x8D7049765F15F09\"5120share156269528622009741156269528639406414Tue, 09 Jul 2019 18:01:26 GMT\"0x8D704977627359E\"5120share156276024471306601Wed, 10 Jul 2019 12:04:04 GMT\"0x8D7052EB45EFA1D\"5120share156276024676203006156276024695503930Wed, 10 Jul 2019 12:04:07 GMT\"0x8D7052EB5B10BFF\"5120share156276026448203000Wed, 10 Jul 2019 12:04:24 GMT\"0x8D7052EC01D6898\"5120share156276027457101672156276027510905851Wed, 10 Jul 2019 12:04:35 GMT\"0x8D7052EC674C697\"5120share156276028198907169Wed, 10 Jul 2019 12:04:42 GMT\"0x8D7052ECA8EEAD9\"5120share156276028682705005156276028691704279Wed, 10 Jul 2019 12:04:47 GMT\"0x8D7052ECD82BD21\"5120share156276029853807529Wed, 10 Jul 2019 12:04:58 GMT\"0x8D7052ED4645783\"5120share156276030047405035156276030061606603Wed, 10 Jul 2019 12:05:00 GMT\"0x8D7052ED59C9D55\"5120share156276030266702424156276030302804291Wed, 10 Jul 2019 12:05:03 GMT\"0x8D7052ED731DBE7\"5120share156276032906902074Wed, 10 Jul 2019 12:05:29 GMT\"0x8D7052EE69D13A4\"5120share156276033157309190156276033164908171Wed, 10 Jul 2019 12:05:31 GMT\"0x8D7052EE81CB902\"5120share156276033562509518156276033659404731Wed, 10 Jul 2019 12:05:36 GMT\"0x8D7052EEB20A5AB\"5120share156276033830001281Wed, 10 Jul 2019 12:05:38 GMT\"0x8D7052EEC1F1ABF\"5120share156276033958001304Wed, 10 Jul 2019 12:05:40 GMT\"0x8D7052EED83AF49\"5120share156276034664503206156276034689006793Wed, 10 Jul 2019 12:05:46 GMT\"0x8D7052EF139B5D3\"5120share156276034755902460156276034804700817Wed, 10 Jul 2019 12:05:48 GMT\"0x8D7052EF1DCBB97\"5120share156276040175400112Wed, 10 Jul 2019 12:06:41 GMT\"0x8D7052F11DFE4E5\"5120share156276040285306763156276040291506572Wed, 10 Jul 2019 12:06:42 GMT\"0x8D7052F12901AC6\"5120share156276040980803006156276041046800087Wed, 10 Jul 2019 12:06:50 GMT\"0x8D7052F1721071A\"5120share156276041563101377Wed, 10 Jul 2019 12:06:55 GMT\"0x8D7052F1A4EAD7E\"5120share156276042078002479156276042114104929Wed, 10 Jul 2019 12:07:01 GMT\"0x8D7052F1D7FA012\"5120share156276042938905567156276042940302274Wed, 10 Jul 2019 12:07:09 GMT\"0x8D7052F225A1B85\"5120share156276043918008101156276043920405500Wed, 10 Jul 2019 12:07:19 GMT\"0x8D7052F2832D8DA\"5120share156276045008105985156276045025600694Wed, 10 Jul 2019 12:07:30 GMT\"0x8D7052F2EDA6A88\"5120share156276045469704064156276045487606342Wed, 10 Jul 2019 12:07:34 GMT\"0x8D7052F3198463C\"5120share156276049212101017156276049226201075Wed, 10 Jul 2019 12:08:12 GMT\"0x8D7052F47E18EDB\"5120share156276051346001215156276051364805772Wed, 10 Jul 2019 12:08:33 GMT\"0x8D7052F54A636AC\"5120share156276065213100863Wed, 10 Jul 2019 12:10:52 GMT\"0x8D7052FA736C715\"5120share156276065530508298156276065588503507Wed, 10 Jul 2019 12:10:56 GMT\"0x8D7052FA9734E68\"5120share156276071223604483Wed, 10 Jul 2019 12:11:52 GMT\"0x8D7052FCB060187\"5120share156276071627204278156276071666207325Wed, 10 Jul 2019 12:11:56 GMT\"0x8D7052FCDAB0B5C\"5120share156276071914102683156276071933208829Wed, 10 Jul 2019 12:11:59 GMT\"0x8D7052FCF467034\"5120share156276075652402103Wed, 10 Jul 2019 12:12:36 GMT\"0x8D7052FE56D3DA1\"5120share156276076031005147156276076068505489Wed, 10 Jul 2019 12:12:40 GMT\"0x8D7052FE7E8FCAE\"5120share156276080139603434156276080158309239Wed, 10 Jul 2019 12:13:21 GMT\"0x8D70530004AA38F\"5120share156276082153609552156276082172301656Wed, 10 Jul 2019 12:13:41 GMT\"0x8D705300C4B330B\"5120share156284668037507136Thu, 11 Jul 2019 12:04:40 GMT\"0x8D705F7F3FB4FC4\"5120share156284668216509162156284668234804956Thu, 11 Jul 2019 12:04:42 GMT\"0x8D705F7F5249B99\"5120share156284672179906252156284672189107332Thu, 11 Jul 2019 12:05:21 GMT\"0x8D705F80CB6436E\"5120share156284675284000725Thu, 11 Jul 2019 12:05:52 GMT\"0x8D705F81F2C3F8C\"5120share156284675422306423156284675438802255Thu, 11 Jul 2019 12:05:54 GMT\"0x8D705F820145900\"5120share156284678934007924156284678946803004Thu, 11 Jul 2019 12:06:29 GMT\"0x8D705F834FC9E61\"5120share156284679465007438Thu, 11 Jul 2019 12:06:34 GMT\"0x8D705F83828B3DF\"5120share156284682389805312Thu, 11 Jul 2019 12:07:10 GMT\"0x8D705F84D7B3601\"5120share156284682731604212156284683279200733Thu, 11 Jul 2019 12:07:13 GMT\"0x8D705F84F50B06E\"5120share156284684240607060156284684702200879Thu, 11 Jul 2019 12:07:30 GMT\"0x8D705F85920698D\"5120share156284686433608395Thu, 11 Jul 2019 12:07:44 GMT\"0x8D705F861A6AD6F\"5120share156284686551403323Thu, 11 Jul 2019 12:08:01 GMT\"0x8D705F86BACFDBF\"5120share156284687552800153Thu, 11 Jul 2019 12:07:55 GMT\"0x8D705F868567D42\"5120share156284688199404141Thu, 11 Jul 2019 12:08:02 GMT\"0x8D705F86C2D9B7D\"5120share156284688337001091156284688441708930Thu, 11 Jul 2019 12:08:04 GMT\"0x8D705F86D9CFB93\"5120share156284688427600609156284688447804794Thu, 11 Jul 2019 12:08:04 GMT\"0x8D705F86DA22FB1\"5120share156284689835506392156284689872309676Thu, 11 Jul 2019 12:08:18 GMT\"0x8D705F8762FFC67\"5120share156284690869200169156284691292707857Thu, 11 Jul 2019 12:08:33 GMT\"0x8D705F87EA02C63\"5120share156284692020403086156284692030509401Thu, 11 Jul 2019 12:08:40 GMT\"0x8D705F882FD0D9E\"5120share156284692532003791Thu, 11 Jul 2019 12:08:45 GMT\"0x8D705F886043A2C\"5120share156284692949900506156284693089704122Thu, 11 Jul 2019 12:08:51 GMT\"0x8D705F88957B8B3\"5120share156284697895600901156284698259801414Thu, 11 Jul 2019 12:09:42 GMT\"0x8D705F8A824CD01\"5120share156284700841103489156284700853001140Thu, 11 Jul 2019 12:10:08 GMT\"0x8D705F8B798D7CF\"5120share156284703798801923156284703814009602Thu, 11 Jul 2019 12:10:40 GMT\"0x8D705F8CA95C9AC\"5120share156284704313102565156284706870706322Thu, 11 Jul 2019 12:11:08 GMT\"0x8D705F8DB7C332C\"5120share156284706382607415156284706395409560Thu, 11 Jul 2019 12:11:04 GMT\"0x8D705F8D8A47857\"5120share156284710964404824156284710982005587Thu, 11 Jul 2019 12:11:50 GMT\"0x8D705F8F453F436\"5120share156284720527906023Thu, 11 Jul 2019 12:13:25 GMT\"0x8D705F92CE4FF8C\"5120share156284720572807369Thu, 11 Jul 2019 12:13:25 GMT\"0x8D705F92D2B8D67\"5120share156284720837703088156284720878207224Thu, 11 Jul 2019 12:13:28 GMT\"0x8D705F92EFB7D4C\"5120share156284720984402444156284721023505601Thu, 11 Jul 2019 12:13:30 GMT\"0x8D705F92FDC21B9\"5120share156284721535906185Thu, 11 Jul 2019 12:13:35 GMT\"0x8D705F932D33B2B\"5120share156284722348709213156284722353409244Thu, 11 Jul 2019 12:13:43 GMT\"0x8D705F937B2C073\"5120share156284726302300149156284726303905255Thu, 11 Jul 2019 12:14:23 GMT\"0x8D705F94F4182BA\"5120share156284727929601072156284727948307392Thu, 11 Jul 2019 12:14:39 GMT\"0x8D705F9592218DF\"5120share156284728969603863156284728988909815Thu, 11 Jul 2019 12:14:50 GMT\"0x8D705F95F539391\"5120share156293304651707693Fri, 12 Jul 2019 12:04:06 GMT\"0x8D706C10A35DEEB\"5120share156293304924808084156293304943405751Fri, 12 Jul 2019 12:04:09 GMT\"0x8D706C10BEF3853\"5120share156293307733706256Fri, 12 Jul 2019 12:04:42 GMT\"0x8D706C11F78A885\"5120share156293308571507928156293308581107949Fri, 12 Jul 2019 12:04:45 GMT\"0x8D706C1219DF2A7\"5120share156293310602509428156293311962402875Fri, 12 Jul 2019 12:05:19 GMT\"0x8D706C135D265D6\"5120share156293313503300122Fri, 12 Jul 2019 12:05:37 GMT\"0x8D706C140568E63\"5120share156293314765607855Fri, 12 Jul 2019 12:05:47 GMT\"0x8D706C14680F9E9\"5120share156293315856305134156293315878700923Fri, 12 Jul 2019 12:05:59 GMT\"0x8D706C14D3B6977\"5120share156293316541103618156293317273105986Fri, 12 Jul 2019 12:06:12 GMT\"0x8D706C15582348E\"5120share156293316608500161Fri, 12 Jul 2019 12:06:06 GMT\"0x8D706C15180F2BA\"5120share156293317040703835156293317067903250Fri, 12 Jul 2019 12:06:11 GMT\"0x8D706C154A482A8\"5120share156293319478808237Fri, 12 Jul 2019 12:06:34 GMT\"0x8D706C162A1842D\"5120share156293319842208167156293319898101543Fri, 12 Jul 2019 12:06:39 GMT\"0x8D706C1651FCFF8\"5120share156293320457407481Fri, 12 Jul 2019 12:06:44 GMT\"0x8D706C168619F9C\"5120share156293320493701363156293320497005447Fri, 12 Jul 2019 12:06:44 GMT\"0x8D706C1689E3E74\"5120share156293322212601587156293322214107971Fri, 12 Jul 2019 12:07:02 GMT\"0x8D706C172D9BF11\"5120share156293328380100793156293328398109292Fri, 12 Jul 2019 12:08:04 GMT\"0x8D706C197EF5F32\"5120share156293328585706842156293328599106026Fri, 12 Jul 2019 12:08:06 GMT\"0x8D706C198F86598\"5120share156293329931408702156293329990901500Fri, 12 Jul 2019 12:08:20 GMT\"0x8D706C1A1455C1B\"5120share156293330030404009Fri, 12 Jul 2019 12:08:20 GMT\"0x8D706C1A18DB747\"5120share156293330845502484156293330917203405Fri, 12 Jul 2019 12:08:29 GMT\"0x8D706C1A6CC1811\"5120share156293333199309318156293333213601452Fri, 12 Jul 2019 12:08:52 GMT\"0x8D706C1B4766C3F\"5120share156293336653503281156293336672106581Fri, 12 Jul 2019 12:09:26 GMT\"0x8D706C1C91A4B59\"5120share156293341763006205156293341781707141Fri, 12 Jul 2019 12:10:19 GMT\"0x8D706C1E86EEF19\"5120share156293343589500617Fri, 12 Jul 2019 12:10:35 GMT\"0x8D706C1F242DAA7\"5120share156293349368603322156293349371700170Fri, 12 Jul 2019 12:11:33 GMT\"0x8D706C214B9A09E\"5120share156293350490608175Fri, 12 Jul 2019 12:11:44 GMT\"0x8D706C21B66A834\"5120share156293357236706856Fri, 12 Jul 2019 12:12:52 GMT\"0x8D706C243B18AE6\"5120share156293358033802677156293358073504696Fri, 12 Jul 2019 12:13:00 GMT\"0x8D706C248AE2765\"5120share156293358770801078Fri, 12 Jul 2019 12:13:07 GMT\"0x8D706C24CD5CA0E\"5120share156293359352309132156293359392105456Fri, 12 Jul 2019 12:13:14 GMT\"0x8D706C2508C4620\"5120share156293366218106398156293366236906254Fri, 12 Jul 2019 12:14:22 GMT\"0x8D706C2795CD678\"5120share156293366305206503156293366324008335Fri, 12 Jul 2019 12:14:23 GMT\"0x8D706C279DCCD63\"5120share156293592221306134Fri, 12 Jul 2019 12:52:02 GMT\"0x8D706C7BC3E526C\"5120share156293592363900198156293592372403627Fri, 12 Jul 2019 12:52:03 GMT\"0x8D706C7BD230F47\"5120share156293596613004759156293596616409593Fri, 12 Jul 2019 12:52:46 GMT\"0x8D706C7D66E7522\"5120share156443497557209843156443497679504009Mon, 29 Jul 2019 21:16:17 GMT\"0x8D71469FED7E9EB\"5120share156443518517202946156443518547404946Mon, 29 Jul 2019 21:19:45 GMT\"0x8D7146A7AE77E02\"5120share156443528885102286Mon, 29 Jul 2019 21:21:29 GMT\"0x8D7146AB8875644\"5120share156443559581809213156443559650800907Mon, 29 Jul 2019 21:26:36 GMT\"0x8D7146B6FE70FCF\"5120share156443560752902157Mon, 29 Jul 2019 21:26:50 GMT\"0x8D7146B78363F72\"5120share156443580562103343Mon, 29 Jul 2019 21:30:06 GMT\"0x8D7146BECA4F083\"5120share156443645783001872Mon, 29 Jul 2019 21:40:59 GMT\"0x8D7146D71D8121C\"5120share156455491506002122Wed, 31 Jul 2019 06:35:15 GMT\"0x8D715813F4DAFF7\"5120share156455491542105553Wed, 31 Jul 2019 06:35:15 GMT\"0x8D715813FAA3EFE\"5120share156455492605607882Wed, 31 Jul 2019 06:35:26 GMT\"0x8D7158145CBBC33\"5120share156455492627700016Wed, 31 Jul 2019 06:35:28 GMT\"0x8D715814746BF70\"5120share156503777207109642Mon, 05 Aug 2019 20:42:52 GMT\"0x8D719E57C728E09\"5120share156503777229203610Mon, 05 Aug 2019 20:42:52 GMT\"0x8D719E57C8E693E\"5120share156503777296709436Mon, 05 Aug 2019 20:42:53 GMT\"0x8D719E57CF37F0A\"5120share156503777313707758Mon, 05 Aug 2019 20:42:53 GMT\"0x8D719E57D15A1EF\"5120share156503777579109926156503777610008641Mon, 05 Aug 2019 20:42:56 GMT\"0x8D719E57ED02997\"5120share156503777711407911156503777749205150Mon, 05 Aug 2019 20:42:57 GMT\"0x8D719E57FA6FB6F\"5120share156503784160207578156503784175006804Mon, 05 Aug 2019 20:44:01 GMT\"0x8D719E5A5F18D5B\"5120share156503784199201525156503784214407588Mon, 05 Aug 2019 20:44:02 GMT\"0x8D719E5A62DFED0\"5120share156503793096605065Mon, 05 Aug 2019 20:45:31 GMT\"0x8D719E5DB203786\"5120share156503793125208426Mon, 05 Aug 2019 20:45:31 GMT\"0x8D719E5DB4D4324\"5120share156503793384000505156503793436103503Mon, 05 Aug 2019 20:45:34 GMT\"0x8D719E5DD6D6D3B\"5120share156503793384908148Mon, 05 Aug 2019 20:45:33 GMT\"0x8D719E5DCD7D4D4\"5120share156503793404201821Mon, 05 Aug 2019 20:45:34 GMT\"0x8D719E5DCF7758F\"5120share156503793702908569156503793737309049Mon, 05 Aug 2019 20:45:37 GMT\"0x8D719E5DEF22F35\"5120share156503800690001818156503800708004406Mon, 05 Aug 2019 20:46:47 GMT\"0x8D719E6087E37C6\"5120share156503800826304913156503800843705580Mon, 05 Aug 2019 20:46:48 GMT\"0x8D719E6094E92CA\"5120share156503905340304281Mon, 05 Aug 2019 21:04:13 GMT\"0x8D719E87826040F\"5120share156503905356706765Mon, 05 Aug 2019 21:04:13 GMT\"0x8D719E8783FAB2C\"5120share156503905631403785156503905663109066Mon, 05 Aug 2019 21:04:16 GMT\"0x8D719E87A13113E\"5120share156503912366506337156503912381704354Mon, 05 Aug 2019 21:05:23 GMT\"0x8D719E8A21E540C\"5120share156503981084709284Mon, 05 Aug 2019 21:16:50 GMT\"0x8D719EA3BA2A2A6\"5120share156503981108301511Mon, 05 Aug 2019 21:16:51 GMT\"0x8D719EA3BD8AACD\"5120share156503981407700450156503981439700715Mon, 05 Aug 2019 21:16:54 GMT\"0x8D719EA3DBC683A\"5120share156503982610509793Mon, 05 Aug 2019 21:17:06 GMT\"0x8D719EA44B6A42E\"5120share156503982628905100Mon, 05 Aug 2019 21:17:06 GMT\"0x8D719EA44D356B9\"5120share156503982901606978156503982936700992Mon, 05 Aug 2019 21:17:09 GMT\"0x8D719EA46A8BF40\"5120share156503988725003487156503988741604804Mon, 05 Aug 2019 21:18:07 GMT\"0x8D719EA6941EDF0\"5120share156503989517109237156503989532708533Mon, 05 Aug 2019 21:18:15 GMT\"0x8D719EA6DF8C7C2\"5120share156599411621105125Fri, 16 Aug 2019 22:21:56 GMT\"0x8D722982607FD87\"5120share156599411655707990Fri, 16 Aug 2019 22:21:58 GMT\"0x8D7229827143F68\"5120share156599412768507077156599412880408374Fri, 16 Aug 2019 22:22:09 GMT\"0x8D722982D8A11A1\"5120share156599439521709198156599440225504948Fri, 16 Aug 2019 22:26:42 GMT\"0x8D72298D087A067\"5120", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '339f38d0-201a-0032-10ae-2b2241000000', + '847dbb01-401a-004f-3181-54be89000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:05 GMT', + 'Fri, 16 Aug 2019 22:28:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file.js b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file.js index 65adcf761f1b..48f58f639d85 100644 --- a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file.js +++ b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file.js @@ -1,75 +1,75 @@ let nock = require('nock'); -module.exports.testInfo = {"undefined":"2019-06-25T23:34:09.924Z","share":"share156150564992401985","dir":"dir156150565021704300","file":"file156150565053903613"} +module.exports.testInfo = {"undefined":"2019-08-16T22:28:23.409Z","share":"share156599450340907616","dir":"dir156599450370506741","file":"file156599450400004167"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564992401985') + .put('/share156599450340907616') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:23 GMT', 'ETag', - '"0x8D6F9C59FA2A34C"', + '"0x8D722990CD0657E"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '97befd49-b01a-0037-54ae-2bd63e000000', + 'c7054455-501a-005b-4281-547ded000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564992401985/dir156150565021704300') + .put('/share156599450340907616/dir156599450370506741') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:23 GMT', 'ETag', - '"0x8D6F9C59FCF1098"', + '"0x8D722990CFD2026"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '263ab676-f01a-0056-20ae-2b92e1000000', + 'ee0d25b8-a01a-00ab-0481-54ad83000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564992401985/dir156150565021704300/file156150565053903613') + .put('/share156599450340907616/dir156599450370506741/file156599450400004167') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:24 GMT', 'ETag', - '"0x8D6F9C5A0051E8F"', + '"0x8D722990D2B3D5A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '00668dd0-501a-009c-1fae-2b012c000000', + '240c3246-101a-00b9-3b81-54999f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/share156150564992401985/dir156150565021704300/file156150565053903613') + .head('/share156599450340907616/dir156599450370506741/file156599450400004167') .query(true) .reply(200, [], [ 'Cache-Control', 'cache-control-override', @@ -82,15 +82,15 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Content-Language', 'content-language-override', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:24 GMT', 'ETag', - '"0x8D6F9C5A0051E8F"', + '"0x8D722990D2B3D5A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e65da29b-801a-00da-42ae-2bdfba000000', + '78e3a1bb-c01a-0011-7081-544d8a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'Content-Disposition', @@ -102,24 +102,24 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150564992401985') + .delete('/share156599450340907616') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8a4ddec1-c01a-0099-0cae-2bf553000000', + '1ef8868b-701a-002a-7e81-540fd4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:10 GMT', + 'Fri, 16 Aug 2019 22:28:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file_with_access_policy.js b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file_with_access_policy.js index 48d6ff5263be..8314b298927b 100644 --- a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file_with_access_policy.js +++ b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_file_with_access_policy.js @@ -1,130 +1,130 @@ let nock = require('nock'); -module.exports.testInfo = {"undefined":"2019-06-25T23:34:11.780Z","share":"share156150565178004980","dir":"dir156150565207108272","file":"file156150565238504865"} +module.exports.testInfo = {"undefined":"2019-08-16T22:28:24.925Z","share":"share156599450492509977","dir":"dir156599450973109667","file":"file156599451003905141"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565178004980') + .put('/share156599450492509977') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:12 GMT', + 'Fri, 16 Aug 2019 22:28:28 GMT', 'ETag', - '"0x8D6F9C5A0BD4504"', + '"0x8D722990F90F903"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16eca7ab-201a-0076-19ae-2bfe2d000000', + '46ad4c74-601a-00d0-1a81-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:11 GMT', + 'Fri, 16 Aug 2019 22:28:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565178004980/dir156150565207108272') + .put('/share156599450492509977/dir156599450973109667') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:12 GMT', + 'Fri, 16 Aug 2019 22:28:29 GMT', 'ETag', - '"0x8D6F9C5A0ED5EDB"', + '"0x8D722991096CAB1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '400bd5b8-e01a-0085-1bae-2b2d44000000', + 'a3b12ebe-401a-0088-3381-54c248000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:11 GMT', + 'Fri, 16 Aug 2019 22:28:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565178004980/dir156150565207108272/file156150565238504865') + .put('/share156599450492509977/dir156599450973109667/file156599451003905141') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:12 GMT', + 'Fri, 16 Aug 2019 22:28:30 GMT', 'ETag', - '"0x8D6F9C5A119CE0C"', + '"0x8D7229910C360E5"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fea5191f-301a-008c-12ae-2b37ca000000', + 'c8ffbfd8-b01a-0073-6281-540a52000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:12 GMT', + 'Fri, 16 Aug 2019 22:28:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150565178004980', "unique-id2019-06-25T23:29:11.7800000Z2019-06-26T23:34:11.7800000Zrcwdl") + .put('/share156599450492509977', "unique-id2019-08-16T22:23:24.9250000Z2019-08-17T22:28:24.9250000Zrcwdl") .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:13 GMT', + 'Fri, 16 Aug 2019 22:28:31 GMT', 'ETag', - '"0x8D6F9C5A17DFC40"', + '"0x8D72299119233C1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b003fcca-901a-0046-27ae-2ba407000000', + 'ebfbb089-401a-006d-4e81-54d0bf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:13 GMT', + 'Fri, 16 Aug 2019 22:28:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150565178004980/') + .get('/share156599450492509977/') .query(true) - .reply(200, "dir156150565207108272", [ 'Transfer-Encoding', + .reply(200, "dir156599450973109667", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4ac50933-701a-002a-53ae-2b0fd4000000', + '426ae8e2-201a-001b-0981-545403000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:13 GMT', + 'Fri, 16 Aug 2019 22:28:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150565178004980') + .delete('/share156599450492509977') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b385dc04-d01a-00c2-58ae-2bf22f000000', + 'def4264f-901a-00a8-3f81-54ae84000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:13 GMT', + 'Fri, 16 Aug 2019 22:28:32 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_share.js b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_share.js index 32a36de2d369..f637c851eb25 100644 --- a/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_share.js +++ b/sdk/storage/storage-file/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatefilesasqueryparameters_should_work_for_share.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"undefined":"2019-06-25T23:34:08.454Z","share":"share156150564845405463"} +module.exports.testInfo = {"undefined":"2019-08-16T22:28:22.499Z","share":"share156599450249903376"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/share156150564845405463') + .put('/share156599450249903376') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:08 GMT', + 'Fri, 16 Aug 2019 22:28:22 GMT', 'ETag', - '"0x8D6F9C59EC284F1"', + '"0x8D722990C44FC54"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '263ab671-f01a-0056-1fae-2b92e1000000', + '345f36a3-d01a-0027-6481-54e0d8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:08 GMT', + 'Fri, 16 Aug 2019 22:28:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/share156150564845405463/') + .get('/share156599450249903376/') .query(true) - .reply(200, "", [ 'Transfer-Encoding', + .reply(200, "", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '339f38d8-201a-0032-11ae-2b2241000000', + '2c6e7bf5-901a-00e7-4b81-546a9c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:34:08 GMT', + 'Fri, 16 Aug 2019 22:28:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/share156150564845405463') + .delete('/share156599450249903376') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e65da297-801a-00da-41ae-2bdfba000000', + '2126fec0-901a-006f-3c81-54d245000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:09 GMT', + 'Fri, 16 Aug 2019 22:28:22 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_after_all_hook.js b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_after_all_hook.js index d26c1854963c..8bd2e429e85c 100644 --- a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_after_all_hook.js +++ b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_after_all_hook.js @@ -3,18 +3,18 @@ let nock = require('nock'); module.exports.testInfo = {} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/1share-with-dash156150566185403878') + .delete('/1share-with-dash156599452216203149') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3aad51a4-e01a-002f-13ae-2bfbab000000', + 'fd8aa5a1-301a-0087-6981-542fbe000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:23 GMT', + 'Fri, 16 Aug 2019 22:28:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_before_all_hook.js b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_before_all_hook.js index 8608411c2b4c..3399d38771c9 100644 --- a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_before_all_hook.js +++ b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_before_all_hook.js @@ -1,24 +1,24 @@ let nock = require('nock'); -module.exports.testInfo = {"1share-with-dash":"1share-with-dash156150566185403878"} +module.exports.testInfo = {"1share-with-dash":"1share-with-dash156599452216203149"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150566185403878') + .put('/1share-with-dash156599452216203149') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:22 GMT', + 'Fri, 16 Aug 2019 22:28:42 GMT', 'ETag', - '"0x8D6F9C5A6BF5865"', + '"0x8D7229917FCC4B4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5f14657b-401a-0083-50ae-2bda3c000000', + '8583dfb7-501a-0014-7d81-54b9f5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:34:21 GMT', + 'Fri, 16 Aug 2019 22:28:41 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_uppercase.js b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_uppercase.js index d5bac8285b14..0bc436895b1f 100644 --- a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_uppercase.js +++ b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_uppercase.js @@ -1,48 +1,48 @@ let nock = require('nock'); -module.exports.testInfo = {"Dir empty":"Dir empty156150566283402389","Upper_another":"Upper_another156150566313109069"} +module.exports.testInfo = {"Dir empty":"Dir empty156599452316406430","Upper_another":"Upper_another156599452347809676"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150566185403878/Dir%20empty156150566283402389') + .put('/1share-with-dash156599452216203149/Dir%20empty156599452316406430') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:23 GMT', + 'Fri, 16 Aug 2019 22:28:43 GMT', 'ETag', - '"0x8D6F9C5A754DEB9"', + '"0x8D7229918992D35"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '00668e04-501a-009c-39ae-2b012c000000', + '28bfb245-c01a-00d6-1281-54314b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:22 GMT', + 'Fri, 16 Aug 2019 22:28:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150566185403878/Dir%20empty156150566283402389/Upper_another156150566313109069') + .put('/1share-with-dash156599452216203149/Dir%20empty156599452316406430/Upper_another156599452347809676') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:23 GMT', + 'Fri, 16 Aug 2019 22:28:43 GMT', 'ETag', - '"0x8D6F9C5A783985F"', + '"0x8D7229918C65FC6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5147174e-401a-0000-0fae-2b7a91000000', + 'c7de6bc3-701a-008b-1181-54c14f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:23 GMT', + 'Fri, 16 Aug 2019 22:28:43 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_with_spaces.js b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_with_spaces.js index bd93bfdf8dea..523fe949af6a 100644 --- a/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_with_spaces.js +++ b/sdk/storage/storage-file/recordings/node/sharedkeycredentialpolicy_nodejs_only/recording_sharedkeycredentialpolicy_should_work_with_special_share_and_file_names_with_spaces.js @@ -1,48 +1,48 @@ let nock = require('nock'); -module.exports.testInfo = {"dir empty":"dir empty156150566215102798","file empty":"file empty156150566251305521"} +module.exports.testInfo = {"dir empty":"dir empty156599452245501301","file empty":"file empty156599452283103120"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150566185403878/dir%20empty156150566215102798') + .put('/1share-with-dash156599452216203149/dir%20empty156599452245501301') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:22 GMT', + 'Fri, 16 Aug 2019 22:28:42 GMT', 'ETag', - '"0x8D6F9C5A6F60BAA"', + '"0x8D722991833F0AD"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1454c835-201a-007d-49ae-2be659000000', + '0a6c971e-f01a-0019-4481-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:22 GMT', + 'Fri, 16 Aug 2019 22:28:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150566185403878/dir%20empty156150566215102798/file%20empty156150566251305521') + .put('/1share-with-dash156599452216203149/dir%20empty156599452245501301/file%20empty156599452283103120') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:34:22 GMT', + 'Fri, 16 Aug 2019 22:28:43 GMT', 'ETag', - '"0x8D6F9C5A72428EF"', + '"0x8D7229918689EA7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '292f763b-601a-0053-3cae-2b669e000000', + '8609982c-d01a-00af-0881-545801000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:34:21 GMT', + 'Fri, 16 Aug 2019 22:28:42 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_after_all_hook.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_after_all_hook.js index 35be1882694f..2cb913d79fc6 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_after_all_hook.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_after_all_hook.js @@ -3,18 +3,18 @@ let nock = require('nock'); module.exports.testInfo = {} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/1share-with-dash156150560028600902') + .delete('/1share-with-dash156599443605003202') .query(true) .reply(202, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6c8d950d-401a-0022-2aae-2b14a7000000', + '82bd96ce-401a-00e5-5a81-546866000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:39 GMT', + 'Fri, 16 Aug 2019 22:27:38 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_before_all_hook.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_before_all_hook.js index 622bd2224225..5421fcc31fee 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_before_all_hook.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_before_all_hook.js @@ -1,47 +1,47 @@ let nock = require('nock'); -module.exports.testInfo = {"1share-with-dash":"1share-with-dash156150560028600902","dir":"dir156150560028601268"} +module.exports.testInfo = {"1share-with-dash":"1share-with-dash156599443605003202","dir":"dir156599443605100762"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902') + .put('/1share-with-dash156599443605003202') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:20 GMT', + 'Fri, 16 Aug 2019 22:27:19 GMT', 'ETag', - '"0x8D6F9C5820C1902"', + '"0x8D72298E69ABC8D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '82444894-b01a-0078-41ae-2b1226000000', + '2ce9141a-c01a-00dd-6f81-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Date', - 'Tue, 25 Jun 2019 23:33:19 GMT', + 'Fri, 16 Aug 2019 22:27:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268') + .put('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:20 GMT', + 'Fri, 16 Aug 2019 22:27:21 GMT', 'ETag', - '"0x8D6F9C5823E5E2C"', + '"0x8D72298E7B95E2A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e2c4c545-f01a-00de-10ae-2b2a38000000', + 'd6199408-801a-0052-2681-546763000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:20 GMT', + 'Fri, 16 Aug 2019 22:27:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.js index 592e50b75a0f..05cbba78b8fe 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"Upper file empty another":"Upper file empty another156150560212108127"} +module.exports.testInfo = {"Upper file empty another":"Upper file empty another156599444305508124"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another156150560212108127') + .put('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another156599444305508124') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:22 GMT', + 'Fri, 16 Aug 2019 22:27:23 GMT', 'ETag', - '"0x8D6F9C583247B40"', + '"0x8D72298E8D8BD4D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3aad5134-e01a-002f-6bae-2bfbab000000', + '2ce91437-c01a-00dd-8081-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:21 GMT', + 'Fri, 16 Aug 2019 22:27:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another156150560212108127') + .head('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another156599444305508124') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:22 GMT', + 'Fri, 16 Aug 2019 22:27:23 GMT', 'ETag', - '"0x8D6F9C583247B40"', + '"0x8D72298E8D8BD4D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2e310219-501a-00d3-3cae-2bc534000000', + '46ad4c0c-601a-00d0-7981-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:22 GMT', + 'Fri, 16 Aug 2019 22:27:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "Upper file empty another156150560212108127Upper file empty another15615056021210812710", [ 'Transfer-Encoding', + .reply(200, "Upper file empty another156599444305508124Upper file empty another15659944430550812410", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '292f75ea-601a-0053-2cae-2b669e000000', + '29bfbc2c-701a-0003-5881-547996000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:22 GMT', + 'Fri, 16 Aug 2019 22:27:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.js index 677ddf51c354..4593cb9d4365 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_uppercase_in_url_string.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"Upper file empty another":"Upper file empty another156150560300502586"} +module.exports.testInfo = {"Upper file empty another":"Upper file empty another156599444398807275"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another156150560300502586') + .put('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another156599444398807275') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:23 GMT', + 'Fri, 16 Aug 2019 22:27:24 GMT', 'ETag', - '"0x8D6F9C583AC618B"', + '"0x8D72298E96845C6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3aad513b-e01a-002f-6eae-2bfbab000000', + '7835c520-301a-008c-1481-5437ca000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:22 GMT', + 'Fri, 16 Aug 2019 22:27:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another156150560300502586') + .head('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another156599444398807275') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:23 GMT', + 'Fri, 16 Aug 2019 22:27:24 GMT', 'ETag', - '"0x8D6F9C583AC618B"', + '"0x8D72298E96845C6"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e0819e60-001a-0043-12ae-2b5078000000', + 'c8ffbecc-b01a-0073-3081-540a52000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:22 GMT', + 'Fri, 16 Aug 2019 22:27:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "Upper file empty another156150560300502586Upper file empty another15615056030050258610", [ 'Transfer-Encoding', + .reply(200, "Upper file empty another156599444398807275Upper file empty another15659944439880727510", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '08537ce3-d01a-00af-55ae-2b5801000000', + 'bf7034a6-f01a-0074-6781-54fcd7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:23 GMT', + 'Fri, 16 Aug 2019 22:27:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.js index f30a1a125728..0f4160c6faf2 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces.js @@ -1,48 +1,48 @@ let nock = require('nock'); -module.exports.testInfo = {"file empty":"file empty156150560091804391"} +module.exports.testInfo = {"file empty":"file empty156599444156000501"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/file%20empty156150560091804391') + .put('/1share-with-dash156599443605003202/dir156599443605100762/file%20empty156599444156000501') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:21 GMT', + 'Fri, 16 Aug 2019 22:27:21 GMT', 'ETag', - '"0x8D6F9C5826DDB45"', + '"0x8D72298E7F5608D"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd03608af-901a-008a-25ae-2bc0b2000000', + 'c9a3e5f6-e01a-00ca-7f81-54e95c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:20 GMT', + 'Fri, 16 Aug 2019 22:27:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "file empty156150560091804391file empty15615056009180439110", [ 'Transfer-Encoding', + .reply(200, "file empty156599444156000501file empty15659944415600050110", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4a307739-601a-003e-26ae-2bccb0000000', + 'ef5a6299-301a-0062-7981-543d49000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:20 GMT', + 'Fri, 16 Aug 2019 22:27:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.js index 70e02d449d1b..696d12d765e2 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_container_and_file_names_with_spaces_in_url_string.js @@ -1,48 +1,48 @@ let nock = require('nock'); -module.exports.testInfo = {"file empty":"file empty156150560152504922"} +module.exports.testInfo = {"file empty":"file empty156599444219206068"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/file%20empty156150560152504922') + .put('/1share-with-dash156599443605003202/dir156599443605100762/file%20empty156599444219206068') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:21 GMT', + 'Fri, 16 Aug 2019 22:27:22 GMT', 'ETag', - '"0x8D6F9C582C9EEBC"', + '"0x8D72298E854A8A1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '793e5a12-201a-005f-1fae-2b886f000000', + '44b16a93-a01a-0082-0181-54dbc1000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:21 GMT', + 'Fri, 16 Aug 2019 22:27:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "file empty156150560152504922file empty15615056015250492210", [ 'Transfer-Encoding', + .reply(200, "file empty156599444219206068file empty15659944421920606810", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2c673f7-801a-0095-2fae-2b1ba2000000', + '82bd96b7-401a-00e5-5481-546866000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:22 GMT', + 'Fri, 16 Aug 2019 22:27:22 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters.js index 9e391c68c646..0b67cfd03274 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560782700966"} +module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444866705585"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560782700966') + .put('/1share-with-dash156599443605003202/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444866705585') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:28 GMT', + 'Fri, 16 Aug 2019 22:27:28 GMT', 'ETag', - '"0x8D6F9C5868C397F"', + '"0x8D72298EC3182A1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '37127309-c01a-0038-70ae-2b3bc8000000', + '2083bfc9-f01a-003b-7d81-5438cf000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:27 GMT', + 'Fri, 16 Aug 2019 22:27:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560782700966') + .get('/1share-with-dash156599443605003202/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444866705585') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:28 GMT', + 'Fri, 16 Aug 2019 22:27:28 GMT', 'ETag', - '"0x8D6F9C5868C397F"', + '"0x8D72298EC3182A1"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bdc8aff4-d01a-0086-5bae-2b2e43000000', + '9a0e8d48-e01a-00e3-5d81-549f1e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', @@ -47,30 +47,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:27 GMT', + 'Fri, 16 Aug 2019 22:27:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/') + .get('/1share-with-dash156599443605003202/') .query(true) - .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560782700966汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560782700966", [ 'Transfer-Encoding', + .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444866705585汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444866705585", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '84bc3817-501a-0036-0fae-2bd7c3000000', + '1f22415a-a01a-00a0-6681-54b5f7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:28 GMT', + 'Fri, 16 Aug 2019 22:27:29 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.js index db6f4f89d385..c8691743ef67 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_directory_name_characters_in_url_string.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560887107081"} +module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444958306966"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560887107081') + .put('/1share-with-dash156599443605003202/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444958306966') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:29 GMT', + 'Fri, 16 Aug 2019 22:27:29 GMT', 'ETag', - '"0x8D6F9C5872DEDEA"', + '"0x8D72298ECBC9D70"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ba7a8d1b-f01a-0030-27ae-2b20bb000000', + '3112982f-301a-0004-5281-548f13000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:28 GMT', + 'Fri, 16 Aug 2019 22:27:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560887107081') + .get('/1share-with-dash156599443605003202/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444958306966') .query(true) .reply(200, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:29 GMT', + 'Fri, 16 Aug 2019 22:27:29 GMT', 'ETag', - '"0x8D6F9C5872DEDEA"', + '"0x8D72298ECBC9D70"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e5ce07e2-e01a-00e3-27ae-2b9f1e000000', + 'f46476c4-c01a-0055-7d81-5491e6000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-server-encrypted', 'true', 'Access-Control-Expose-Headers', @@ -47,30 +47,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:28 GMT', + 'Fri, 16 Aug 2019 22:27:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/') + .get('/1share-with-dash156599443605003202/') .query(true) - .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560887107081汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560887107081", [ 'Transfer-Encoding', + .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444958306966汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444958306966", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '47d22d00-001a-0007-4eae-2b8c14000000', + '9855ec4a-601a-009f-2c81-54022b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:29 GMT', + 'Fri, 16 Aug 2019 22:27:30 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic.js index a0e24652a161..06177f6931e2 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"عربيعربى":"عربيعربى156150561451503776"} +module.exports.testInfo = {"عربيعربى":"عربيعربى156599445419303256"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150561451503776') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599445419303256') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:34 GMT', + 'Fri, 16 Aug 2019 22:27:34 GMT', 'ETag', - '"0x8D6F9C58A883C3E"', + '"0x8D72298EF7B29D7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '136b83fb-401a-0044-05ae-2ba6fd000000', + '2ce91454-c01a-00dd-0781-54293f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:34 GMT', + 'Fri, 16 Aug 2019 22:27:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150561451503776') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599445419303256') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:34 GMT', + 'Fri, 16 Aug 2019 22:27:34 GMT', 'ETag', - '"0x8D6F9C58A883C3E"', + '"0x8D72298EF7B29D7"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '11fe220a-101a-0018-0aae-2b5704000000', + 'ad8f345b-901a-0064-6281-54ca31000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:34 GMT', + 'Fri, 16 Aug 2019 22:27:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "عربيعربى156150561451503776عربيعربى15615056145150377610", [ 'Transfer-Encoding', + .reply(200, "عربيعربى156599445419303256عربيعربى15659944541930325610", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7cad3050-001a-0025-6fae-2be222000000', + 'a0c8274f-201a-0076-5581-54fe2d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:35 GMT', + 'Fri, 16 Aug 2019 22:27:35 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.js index feff0d77c17d..837a6346744b 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_in_url_string.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"عربيعربى":"عربيعربى156150561542308746"} +module.exports.testInfo = {"عربيعربى":"عربيعربى156599445513005499"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150561542308746') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599445513005499') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:35 GMT', + 'Fri, 16 Aug 2019 22:27:35 GMT', 'ETag', - '"0x8D6F9C58B12E23C"', + '"0x8D72298F00AD95B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '24b1d845-f01a-007f-4eae-2be4a3000000', + '36af0df9-501a-003d-7681-54cfb7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:34 GMT', + 'Fri, 16 Aug 2019 22:27:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156150561542308746') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%D8%B9%D8%B1%D8%A8%D9%8A%D8%B9%D8%B1%D8%A8%D9%89156599445513005499') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:35 GMT', + 'Fri, 16 Aug 2019 22:27:35 GMT', 'ETag', - '"0x8D6F9C58B12E23C"', + '"0x8D72298F00AD95B"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9ee5c34-901a-0064-79ae-2bca31000000', + '45ad28e5-d01a-0086-0881-542e43000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:35 GMT', + 'Fri, 16 Aug 2019 22:27:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "عربيعربى156150561542308746عربيعربى15615056154230874610", [ 'Transfer-Encoding', + .reply(200, "عربيعربى156599445513005499عربيعربى15659944551300549910", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aafa6c6f-001a-00cb-09ae-2be8a1000000', + '15865d20-001a-0025-0581-54e222000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:35 GMT', + 'Fri, 16 Aug 2019 22:27:35 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.js index 5edb98fd8af8..51f33559e166 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_arabic_uri_encoded.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"عربي/عربى":"عربي/عربى156150561359803032"} +module.exports.testInfo = {"عربي/عربى":"عربي/عربى156599445326707029"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150561359803032') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156599445326707029') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:33 GMT', + 'Fri, 16 Aug 2019 22:27:33 GMT', 'ETag', - '"0x8D6F9C589FB4BEE"', + '"0x8D72298EEF05D37"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9f3d89ac-901a-0002-07ae-2b786b000000', + 'bd8f9485-301a-002d-4a81-54f951000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:33 GMT', + 'Fri, 16 Aug 2019 22:27:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156150561359803032') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%25D8%25B9%25D8%25B1%25D8%25A8%25D9%258A%252F%25D8%25B9%25D8%25B1%25D8%25A8%25D9%2589156599445326707029') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:33 GMT', + 'Fri, 16 Aug 2019 22:27:33 GMT', 'ETag', - '"0x8D6F9C589FB4BEE"', + '"0x8D72298EEF05D37"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cc04cdf7-901a-0009-25ae-2b601f000000', + '46ad4c1f-601a-00d0-0181-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:33 GMT', + 'Fri, 16 Aug 2019 22:27:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156150561359803032%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%8915615056135980303210", [ 'Transfer-Encoding', + .reply(200, "%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%89156599445326707029%D8%B9%D8%B1%D8%A8%D9%8A%2F%D8%B9%D8%B1%D8%A8%D9%8915659944532670702910", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ac7510a7-f01a-009a-0eae-2bf654000000', + '4fe352ed-601a-003e-2481-54ccb0000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:34 GMT', + 'Fri, 16 Aug 2019 22:27:33 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters.js index 1cf3137f6219..a3755f559823 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560570601021"} +module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444679501031"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560570601021') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444679501031') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:25 GMT', + 'Fri, 16 Aug 2019 22:27:27 GMT', 'ETag', - '"0x8D6F9C585472248"', + '"0x8D72298EB135C1F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'aa8d2877-601a-00b6-2dae-2b7469000000', + '46ad4c16-601a-00d0-7d81-54c633000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:25 GMT', + 'Fri, 16 Aug 2019 22:27:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560570601021') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444679501031') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:25 GMT', + 'Fri, 16 Aug 2019 22:27:27 GMT', 'ETag', - '"0x8D6F9C585472248"', + '"0x8D72298EB135C1F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f4e46a87-901a-004d-6eae-2bbc73000000', + '8ced440d-b01a-0096-3681-5418a5000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:25 GMT', + 'Fri, 16 Aug 2019 22:27:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560570601021汉字. special ~!@#$%^&()_+`1234567890-={}[];','15615056057060102110", [ 'Transfer-Encoding', + .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444679501031汉字. special ~!@#$%^&()_+`1234567890-={}[];','15659944467950103110", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fcd4dcb8-501a-0050-4aae-2b6599000000', + '45ad28d9-d01a-0086-0581-542e43000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:25 GMT', + 'Fri, 16 Aug 2019 22:27:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.js index 4d8cbbaa35a6..378ac8619557 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_characters_in_url_string.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560665607408"} +module.exports.testInfo = {"汉字. special ~!@#$%^&()_+`1234567890-={}[];','":"汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444774005968"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560665607408') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444774005968') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:26 GMT', + 'Fri, 16 Aug 2019 22:27:27 GMT', 'ETag', - '"0x8D6F9C585D943AE"', + '"0x8D72298EBA2E483"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9bd08310-901a-00a3-3aae-2bb6f0000000', + '734d66de-f01a-00b3-6981-548016000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:26 GMT', + 'Fri, 16 Aug 2019 22:27:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156150560665607408') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%E6%B1%89%E5%AD%97.%20special%20~!%40%23%24%25%5E%26()_%2B%601234567890-%3D%7B%7D%5B%5D%3B%27%2C%27156599444774005968') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:26 GMT', + 'Fri, 16 Aug 2019 22:27:27 GMT', 'ETag', - '"0x8D6F9C585D943AE"', + '"0x8D72298EBA2E483"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f4e46a8b-901a-004d-6fae-2bbc73000000', + '82bd96bf-401a-00e5-5781-546866000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:26 GMT', + 'Fri, 16 Aug 2019 22:27:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156150560665607408汉字. special ~!@#$%^&()_+`1234567890-={}[];','15615056066560740810", [ 'Transfer-Encoding', + .reply(200, "汉字. special ~!@#$%^&()_+`1234567890-={}[];','156599444774005968汉字. special ~!@#$%^&()_+`1234567890-={}[];','15659944477400596810", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '10fa7324-801a-009e-41ae-2b03d6000000', + '6ece527b-001a-0061-4881-543e4e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:27 GMT', + 'Fri, 16 Aug 2019 22:27:28 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese.js index ce39a50308e9..0c3e0598e043 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"にっぽんごにほんご":"にっぽんごにほんご156150561723808585"} +module.exports.testInfo = {"にっぽんごにほんご":"にっぽんごにほんご156599445723906821"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150561723808585') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599445723906821') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:37 GMT', + 'Fri, 16 Aug 2019 22:27:37 GMT', 'ETag', - '"0x8D6F9C58C282E1C"', + '"0x8D72298F14CE1FC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd4a96d3-a01a-00c6-0aae-2b07ad000000', + '47ff8b6a-901a-0020-2b81-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:37 GMT', + 'Fri, 16 Aug 2019 22:27:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150561723808585') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599445723906821') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:37 GMT', + 'Fri, 16 Aug 2019 22:27:37 GMT', 'ETag', - '"0x8D6F9C58C282E1C"', + '"0x8D72298F14CE1FC"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9717b8cb-c01a-00d6-19ae-2b314b000000', + '47ff8b6c-901a-0020-2c81-54165d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:37 GMT', + 'Fri, 16 Aug 2019 22:27:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "にっぽんごにほんご156150561723808585にっぽんごにほんご15615056172380858510", [ 'Transfer-Encoding', + .reply(200, "にっぽんごにほんご156599445723906821にっぽんごにほんご15659944572390682110", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e9af33ea-401a-0088-7cae-2bc248000000', + 'cb578009-001a-0048-6d81-54480c000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:37 GMT', + 'Fri, 16 Aug 2019 22:27:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.js index 8ce6edb844b0..517bdb181a34 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_in_url_string.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"にっぽんごにほんご":"にっぽんごにほんご156150561814109063"} +module.exports.testInfo = {"にっぽんごにほんご":"にっぽんごにほんご156599445808703943"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150561814109063') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599445808703943') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:38 GMT', + 'Fri, 16 Aug 2019 22:27:38 GMT', 'ETag', - '"0x8D6F9C58CB51E4F"', + '"0x8D72298F1CED362"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '97a78c87-101a-0057-14ae-2b931c000000', + '3de7f932-501a-001f-3581-54a181000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:37 GMT', + 'Fri, 16 Aug 2019 22:27:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150561814109063') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599445808703943') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:38 GMT', + 'Fri, 16 Aug 2019 22:27:38 GMT', 'ETag', - '"0x8D6F9C58CB51E4F"', + '"0x8D72298F1CED362"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e05309fe-f01a-00b8-58ae-2b9862000000', + '9d71c941-801a-0016-3d81-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:38 GMT', + 'Fri, 16 Aug 2019 22:27:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "にっぽんごにほんご156150561814109063にっぽんごにほんご15615056181410906310", [ 'Transfer-Encoding', + .reply(200, "にっぽんごにほんご156599445808703943にっぽんごにほんご15659944580870394310", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b54c7b04-b01a-00d2-35ae-2bc4c9000000', + '0bd3eeb6-b01a-00b4-0581-547693000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:38 GMT', + 'Fri, 16 Aug 2019 22:27:38 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.js index 90d511d50931..4672cddb8ef9 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_japanese_uri_encoded.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"にっぽんごにほんご":"にっぽんごにほんご156150561634707076"} +module.exports.testInfo = {"にっぽんごにほんご":"にっぽんごにほんご156599445629905235"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150561634707076') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156599445629905235') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:36 GMT', + 'Fri, 16 Aug 2019 22:27:36 GMT', 'ETag', - '"0x8D6F9C58B9FAB7D"', + '"0x8D72298F0BDA7A4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ceccc953-001a-00e2-05ae-2b9ee3000000', + 'ad8f3464-901a-0064-6581-54ca31000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:36 GMT', + 'Fri, 16 Aug 2019 22:27:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156150561634707076') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%25E3%2581%25AB%25E3%2581%25A3%25E3%2581%25BD%25E3%2582%2593%25E3%2581%2594%25E3%2581%25AB%25E3%2581%25BB%25E3%2582%2593%25E3%2581%2594156599445629905235') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:36 GMT', + 'Fri, 16 Aug 2019 22:27:36 GMT', 'ETag', - '"0x8D6F9C58B9FAB7D"', + '"0x8D72298F0BDA7A4"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6eff1cb5-401a-004f-7fae-2bbe89000000', + '26ee9f6f-401a-00aa-4181-54ac7e000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:36 GMT', + 'Fri, 16 Aug 2019 22:27:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156150561634707076%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%9415615056163470707610", [ 'Transfer-Encoding', + .reply(200, "%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%94156599445629905235%E3%81%AB%E3%81%A3%E3%81%BD%E3%82%93%E3%81%94%E3%81%AB%E3%81%BB%E3%82%93%E3%81%9415659944562990523510", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '523cfcdb-001a-00c0-08ae-2bf0d5000000', + '60d7ff67-301a-0069-6a81-54253d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:36 GMT', + 'Fri, 16 Aug 2019 22:27:36 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian.js index d2cc3fa4fce2..95666f275c97 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156150561070701065"} +module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156599445137904614"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150561070701065') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599445137904614') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:30 GMT', + 'Fri, 16 Aug 2019 22:27:31 GMT', 'ETag', - '"0x8D6F9C588470B27"', + '"0x8D72298EDCF9E29"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '263ab639-f01a-0056-15ae-2b92e1000000', + '36af0df3-501a-003d-7581-54cfb7000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:30 GMT', + 'Fri, 16 Aug 2019 22:27:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150561070701065') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599445137904614') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:30 GMT', + 'Fri, 16 Aug 2019 22:27:31 GMT', 'ETag', - '"0x8D6F9C588470B27"', + '"0x8D72298EDCF9E29"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1e432949-e01a-0060-73ae-2b3fb3000000', + '571b42e7-001a-008f-6181-5434cd000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:30 GMT', + 'Fri, 16 Aug 2019 22:27:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "ру́сский язы́к156150561070701065ру́сский язы́к15615056107070106510", [ 'Transfer-Encoding', + .reply(200, "ру́сский язы́к156599445137904614ру́сский язы́к15659944513790461410", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '061ed3f2-101a-003a-63ae-2b3932000000', + 'becd3e8f-d01a-00eb-6781-54846d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:31 GMT', + 'Fri, 16 Aug 2019 22:27:31 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.js index 9a8a023fbb31..3b321442ba7d 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_in_url_string.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156150561242802668"} +module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156599445231604177"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150561242802668') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599445231604177') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:32 GMT', + 'Fri, 16 Aug 2019 22:27:32 GMT', 'ETag', - '"0x8D6F9C5894940D4"', + '"0x8D72298EE60868A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ac7510a4-f01a-009a-0dae-2bf654000000', + 'd761f451-b01a-005a-2c81-547c10000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:32 GMT', + 'Fri, 16 Aug 2019 22:27:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150561242802668') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599445231604177') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:32 GMT', + 'Fri, 16 Aug 2019 22:27:32 GMT', 'ETag', - '"0x8D6F9C5894940D4"', + '"0x8D72298EE60868A"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b6c2f6a5-a01a-000a-3cae-2b6318000000', + '2220b918-701a-00e6-3e81-546b61000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:32 GMT', + 'Fri, 16 Aug 2019 22:27:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "ру́сский язы́к156150561242802668ру́сский язы́к15615056124280266810", [ 'Transfer-Encoding', + .reply(200, "ру́сский язы́к156599445231604177ру́сский язы́к15659944523160417710", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3d4940f2-d01a-0041-2dae-2b5282000000', + 'f853165f-601a-0071-7b81-5408a8000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:33 GMT', + 'Fri, 16 Aug 2019 22:27:32 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.js index 61db03bc38a0..54231c381673 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_name_russian_uri_encoded.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156150560981800780"} +module.exports.testInfo = {"ру́сский язы́к":"ру́сский язы́к156599445052306054"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150560981800780') + .put('/1share-with-dash156599443605003202/dir156599443605100762/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156599445052306054') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:30 GMT', + 'Fri, 16 Aug 2019 22:27:30 GMT', 'ETag', - '"0x8D6F9C587BB5388"', + '"0x8D72298ED423907"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7cad3047-001a-0025-6cae-2be222000000', + '9855ec4e-601a-009f-2d81-54022b000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:29 GMT', + 'Fri, 16 Aug 2019 22:27:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156150560981800780') + .head('/1share-with-dash156599443605003202/dir156599443605100762/%25D1%2580%25D1%2583%25CC%2581%25D1%2581%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2520%25D1%258F%25D0%25B7%25D1%258B%25CC%2581%25D0%25BA156599445052306054') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:30 GMT', + 'Fri, 16 Aug 2019 22:27:30 GMT', 'ETag', - '"0x8D6F9C587BB5388"', + '"0x8D72298ED423907"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b6c2f69b-a01a-000a-39ae-2b6318000000', + '3d43dc7f-301a-00c3-5181-54f3d2000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:29 GMT', + 'Fri, 16 Aug 2019 22:27:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156150560981800780%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA15615056098180078010", [ 'Transfer-Encoding', + .reply(200, "%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA156599445052306054%D1%80%D1%83%CC%81%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%CC%81%D0%BA15659944505230605410", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1454c7d0-201a-007d-25ae-2be659000000', + 'efd5555d-501a-0036-0881-54d7c3000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:30 GMT', + 'Fri, 16 Aug 2019 22:27:30 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.js index 6f583d2c46e2..ed88c2d0761b 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"Upper file empty another 汉字":"Upper file empty another 汉字156150560389708791"} +module.exports.testInfo = {"Upper file empty another 汉字":"Upper file empty another 汉字156599444493004888"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150560389708791') + .put('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599444493004888') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:24 GMT', + 'Fri, 16 Aug 2019 22:27:25 GMT', 'ETag', - '"0x8D6F9C5843420A3"', + '"0x8D72298E9F6BCBA"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'dd27392d-701a-00ed-4fae-2b7315000000', + 'dc068831-601a-00bd-1481-546c1d000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:23 GMT', + 'Fri, 16 Aug 2019 22:27:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150560389708791') + .head('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599444493004888') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:24 GMT', + 'Fri, 16 Aug 2019 22:27:25 GMT', 'ETag', - '"0x8D6F9C5843420A3"', + '"0x8D72298E9F6BCBA"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '06d91916-c01a-00dd-29ae-2b293f000000', + '50620220-601a-0035-1e81-54d4c4000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:24 GMT', + 'Fri, 16 Aug 2019 22:27:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "Upper file empty another 汉字156150560389708791Upper file empty another 汉字15615056038970879110", [ 'Transfer-Encoding', + .reply(200, "Upper file empty another 汉字156599444493004888Upper file empty another 汉字15659944449300488810", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9bd082ff-901a-00a3-2eae-2bb6f0000000', + '0a6c96af-f01a-0019-2781-5456f9000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:23 GMT', + 'Fri, 16 Aug 2019 22:27:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.js b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.js index 1eb4a4f388a3..8b9ec415a2c7 100644 --- a/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.js +++ b/sdk/storage/storage-file/recordings/node/special_naming_tests/recording_should_work_with_special_file_names_chinese_characters_in_url_string.js @@ -1,45 +1,45 @@ let nock = require('nock'); -module.exports.testInfo = {"Upper file empty another 汉字":"Upper file empty another 汉字156150560481907020"} +module.exports.testInfo = {"Upper file empty another 汉字":"Upper file empty another 汉字156599444586602856"} nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .put('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150560481907020') + .put('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599444586602856') .reply(201, "", [ 'Content-Length', '0', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:25 GMT', + 'Fri, 16 Aug 2019 22:27:26 GMT', 'ETag', - '"0x8D6F9C584C110FB"', + '"0x8D72298EA861E0F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7b7c1ccc-f01a-0019-06ae-2b56f9000000', + '9d71c933-801a-0016-3881-54bb0f000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-request-server-encrypted', 'true', 'Date', - 'Tue, 25 Jun 2019 23:33:24 GMT', + 'Fri, 16 Aug 2019 22:27:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .head('/1share-with-dash156150560028600902/dir156150560028601268/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156150560481907020') + .head('/1share-with-dash156599443605003202/dir156599443605100762/Upper%20file%20empty%20another%20%E6%B1%89%E5%AD%97156599444586602856') .reply(200, "", [ 'Content-Length', '10', 'Content-Type', 'application/octet-stream', 'Last-Modified', - 'Tue, 25 Jun 2019 23:33:25 GMT', + 'Fri, 16 Aug 2019 22:27:26 GMT', 'ETag', - '"0x8D6F9C584C110FB"', + '"0x8D72298EA861E0F"', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '16eca762-201a-0076-0bae-2bfe2d000000', + '7d7fc2fb-b01a-003c-6181-54ce4a000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'x-ms-type', 'File', 'x-ms-server-encrypted', @@ -49,30 +49,30 @@ nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParam 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:24 GMT', + 'Fri, 16 Aug 2019 22:27:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.file.core.windows.net:443', {"encodedQueryParams":true}) - .get('/1share-with-dash156150560028600902/dir156150560028601268') + .get('/1share-with-dash156599443605003202/dir156599443605100762') .query(true) - .reply(200, "Upper file empty another 汉字156150560481907020Upper file empty another 汉字15615056048190702010", [ 'Transfer-Encoding', + .reply(200, "Upper file empty another 汉字156599444586602856Upper file empty another 汉字15659944458660285610", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b64f8e84-101a-007e-57ae-2be55e000000', + '734d66ce-f01a-00b3-5f81-548016000000', 'x-ms-version', - '2018-03-28', + '2018-11-09', 'Access-Control-Expose-Headers', 'x-ms-request-id,Server,x-ms-version,Content-Type,Content-Length,Date,Transfer-Encoding', 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 23:33:24 GMT', + 'Fri, 16 Aug 2019 22:27:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-file/rollup.base.config.js b/sdk/storage/storage-file/rollup.base.config.js index e3e11bf4e92b..d5516a1e9af1 100644 --- a/sdk/storage/storage-file/rollup.base.config.js +++ b/sdk/storage/storage-file/rollup.base.config.js @@ -113,12 +113,9 @@ export function browserConfig(test = false, production = false) { preferBuiltins: false }), cjs({ - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 namedExports: { - "events/": ["EventEmitter"], - "assert/": [ + events: ["EventEmitter"], + assert: [ "ok", "deepEqual", "equal", diff --git a/sdk/storage/storage-file/samples/javascript/advanced.js b/sdk/storage/storage-file/samples/javascript/advanced.js index 6c3bd6b5fd53..99df94cfb758 100644 --- a/sdk/storage/storage-file/samples/javascript/advanced.js +++ b/sdk/storage/storage-file/samples/javascript/advanced.js @@ -45,7 +45,11 @@ async function main() { // logger: MyLogger, // A customized logger implementing IHttpPipelineLogger interface logger: new ConsoleHttpPipelineLogger(HttpPipelineLogLevel.INFO), retryOptions: { maxTries: 4 }, // Retry options - telemetry: { value: "AdvancedSample V1.0.0" } // Customized telemetry string + telemetry: { value: "AdvancedSample V1.0.0" }, // Customized telemetry string + keepAliveOptions: { + // Keep alive is enabled by default, disable keep alive by setting false + enable: false + } }); const serviceClient = new FileServiceClient( diff --git a/sdk/storage/storage-file/samples/typescript/advanced.ts b/sdk/storage/storage-file/samples/typescript/advanced.ts index 6649c9d1535b..4b6679c12e3f 100644 --- a/sdk/storage/storage-file/samples/typescript/advanced.ts +++ b/sdk/storage/storage-file/samples/typescript/advanced.ts @@ -46,7 +46,11 @@ async function main() { // logger: MyLogger, // A customized logger implementing IHttpPipelineLogger interface logger: new ConsoleHttpPipelineLogger(HttpPipelineLogLevel.INFO), retryOptions: { maxTries: 4 }, // Retry options - telemetry: { value: "AdvancedSample V1.0.0" } // Customized telemetry string + telemetry: { value: "AdvancedSample V1.0.0" }, // Customized telemetry string + keepAliveOptions: { + // Keep alive is enabled by default, disable keep alive by setting false + enable: false + } }); const serviceClient = new FileServiceClient( diff --git a/sdk/storage/storage-file/src/Aborter.ts b/sdk/storage/storage-file/src/Aborter.ts index c6674fb5ce45..d06269bfa75f 100644 --- a/sdk/storage/storage-file/src/Aborter.ts +++ b/sdk/storage/storage-file/src/Aborter.ts @@ -43,7 +43,6 @@ import { AbortSignalLike, isNode } from "@azure/core-http"; * @class Aborter * @implements {AbortSignalLike} */ - export class Aborter implements AbortSignalLike { /** * Status of whether aborted or not. @@ -86,14 +85,14 @@ export class Aborter implements AbortSignalLike { * * @memberof Aborter */ - public onabort?: (ev?: Event) => any; + public onabort: ((this: AbortSignalLike, ev: any) => any) | null = null; // tslint:disable-next-line:variable-name private _aborted: boolean = false; private timer?: any; private readonly parent?: Aborter; private readonly children: Aborter[] = []; // When child object calls dispose(), remove child from here - private readonly abortEventListeners: Array<(this: AbortSignalLike, ev?: any) => any> = []; + private readonly abortEventListeners: ((this: AbortSignalLike, ev?: any) => any)[] = []; // Pipeline proxies need to use "abortSignal as Aborter" in order to access non AbortSignalLike methods // immutable primitive types private readonly key?: string; @@ -207,11 +206,11 @@ export class Aborter implements AbortSignalLike { this.cancelTimer(); if (this.onabort) { - this.onabort.call(this); + this.onabort.call(this, { type: "abort" } as any); } this.abortEventListeners.forEach((listener) => { - listener.call(this); + listener.call(this, { type: "abort" } as any); }); this.children.forEach((child) => child.cancelByParent()); @@ -270,6 +269,10 @@ export class Aborter implements AbortSignalLike { } } + public dispatchEvent(): boolean { + throw new Error("Method not implemented."); + } + private cancelByParent() { // if (!this.disposed) { this.abort(); diff --git a/sdk/storage/storage-file/src/DirectoryClient.ts b/sdk/storage/storage-file/src/DirectoryClient.ts index a0c3b45f7d5e..4e4501c102ac 100644 --- a/sdk/storage/storage-file/src/DirectoryClient.ts +++ b/sdk/storage/storage-file/src/DirectoryClient.ts @@ -2,8 +2,8 @@ // Licensed under the MIT License. import { AbortSignalLike, AbortSignal } from "@azure/abort-controller"; -import * as Models from "./generated/lib/models"; -import { Directory } from "./generated/lib/operations"; +import * as Models from "./generated/src/models"; +import { Directory } from "./generated/src/operations"; import { Metadata } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; import { StorageClient } from "./StorageClient"; @@ -148,6 +148,81 @@ export interface DirectorySetMetadataOptions { abortSignal?: AbortSignalLike; } +/** + * Options to configure Directory - List Handles Segment. + * + * @export + * @interface DirectoryListHandlesSegmentOptions + */ +export interface DirectoryListHandlesSegmentOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof DirectoryListHandlesSegmentOptions + */ + abortSignal?: AbortSignalLike; + /** + * Specifies the maximum number of entries to return. If the request does not specify maxresults, + * or specifies a value greater than 5,000, the server will return up to 5,000 items. + * + * @type {number} + * @memberof DirectoryListHandlesSegmentOptions + */ + maxresults?: number; + /** + * Specifies operation should apply to the directory specified in the URI, its files, its + * subdirectories and their files. + * + * @type {boolean} + * @memberof DirectoryListHandlesSegmentOptions + */ + recursive?: boolean; +} + +/** + * Options to configure Directory - Force Close Handles Segment. + * + * @export + * @interface DirectoryForceCloseHandlesSegmentOptions + */ +export interface DirectoryForceCloseHandlesSegmentOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof DirectoryForceCloseHandlesSegmentOptions + */ + abortSignal?: AbortSignalLike; + /** + * Specifies operation should apply to the directory specified in the URI, its files, its + * subdirectories and their files. + * + * @type {boolean} + * @memberof DirectoryForceCloseHandlesSegmentOptions + */ + recursive?: boolean; +} + +/** + * Options to configure Directory - Force Close Handles. + * + * @export + * @interface DirectoryForceCloseHandlesOptions + */ +export interface DirectoryForceCloseHandlesOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof DirectoryForceCloseHandlesOptions + */ + abortSignal?: AbortSignalLike; +} + /** * A DirectoryClient represents a URL to the Azure Storage directory allowing you to manipulate its files and directories. * @@ -590,4 +665,94 @@ export class DirectoryClient extends StorageClient { ...options }); } + + /** + * Lists handles for a directory. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/list-handles + * + * @param {Aborter} aborter Create a new Aborter instance with Aborter.none or Aborter.timeout(), + * goto documents of Aborter for more examples about request cancellation + * @param {string} [marker] Optional. A string value that identifies the portion of the list to be + * returned with the next list handles operation. The operation returns a + * marker value within the response body if the list returned was not complete. + * The marker value may then be used in a subsequent call to request the next + * set of list items. + * @param {DirectoryListHandlesSegmentOptions} [options={}] + * @returns {Promise} + * @memberof DirectoryClient + */ + public async listHandlesSegment( + marker?: string, + options: DirectoryListHandlesSegmentOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + marker = marker === "" ? undefined : marker; + const response = await this.context.listHandles({ + abortSignal: aborter, + marker, + ...options + }); + + // TODO: Protocol layer issue that when handle list is in returned XML + // response.handleList is an empty string + if ((response.handleList as any) === "") { + response.handleList = undefined; + } + return response; + } + /** + * Force close all handles for a directory. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles + * + * @param {Aborter} aborter Create a new Aborter instance with Aborter.none or Aborter.timeout(), + * goto documents of Aborter for more examples about request cancellation + * @param {string} [marker] Optional. A string value that identifies the position of handles that will + * be closed with the next force close handles operation. + * The operation returns a marker value within the response + * body if there are more handles to close. The marker value + * may then be used in a subsequent call to close the next set of handles. + * @param {DirectoryForceCloseHandlesSegmentOptions} [options={}] + * @returns {Promise} + * @memberof DirectoryClient + */ + public async forceCloseHandlesSegment( + marker?: string, + options: DirectoryForceCloseHandlesSegmentOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + marker = marker === "" ? undefined : marker; + return this.context.forceCloseHandles("*", { + abortSignal: aborter, + marker, + ...options + }); + } + + /** + * Force close a specific handle for a directory. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles + * + * @param {Aborter} aborter Create a new Aborter instance with Aborter.none or Aborter.timeout(), + * goto documents of Aborter for more examples about request cancellation + * @param {string} handleId Specific handle ID, cannot be asterisk "*". + * Use forceCloseHandlesSegment() to close all handles. + * @param {DirectoryForceCloseHandlesOptions} [options={}] + * @returns {Promise} + * @memberof DirectoryClient + */ + public async forceCloseHandle( + handleId: string, + options: DirectoryForceCloseHandlesOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + if (handleId === "*") { + throw new RangeError( + `Parameter handleID should be a specified handle ID. Use forceCloseHandlesSegment() to close all handles.` + ); + } + + return this.context.forceCloseHandles(handleId, { + abortSignal: aborter + }); + } } diff --git a/sdk/storage/storage-file/src/FileClient.ts b/sdk/storage/storage-file/src/FileClient.ts index c44a8b15c77a..3edc74ae7b96 100644 --- a/sdk/storage/storage-file/src/FileClient.ts +++ b/sdk/storage/storage-file/src/FileClient.ts @@ -5,8 +5,8 @@ import * as fs from "fs"; import { HttpRequestBody, HttpResponse, isNode, TransferProgressEvent } from "@azure/core-http"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; import { FileDownloadResponse } from "./FileDownloadResponse"; -import * as Models from "./generated/lib/models"; -import { File } from "./generated/lib/operations"; +import * as Models from "./generated/src/models"; +import { File } from "./generated/src/operations"; import { Range, rangeToString } from "./Range"; import { FileHTTPHeaders, Metadata } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; @@ -340,6 +340,47 @@ export interface FileClearRangeOptions { abortSignal?: AbortSignalLike; } +/** + * Options to configure File - File List Handles Segment. + * + * @export + * @interface FileListHandlesSegmentOptions + */ +export interface FileListHandlesSegmentOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof FileClearRangeOptions + */ + abortSignal?: AbortSignalLike; + /** + * Specifies the maximum number of entries to return. If the request does not specify maxresults, + * or specifies a value greater than 5,000, the server will return up to 5,000 items. + * + * @type {number} + * @memberof FileListHandlesSegmentOptions + */ + maxresults?: number; +} + +/** + * Options to configure File - File Force Close Handles Options. + * + * @export + * @interface FileForceCloseHandlesOptions + */ +export interface FileForceCloseHandlesOptions { + /** + * An implementation of the `AbortSignalLike` interface to signal the request to cancel the operation. + * For example, use the @azure/abort-controller to create an `AbortSignal`. + * + * @type {AbortSignalLike} + * @memberof FileForceCloseHandlesOptions + */ + abortSignal?: AbortSignalLike; +} /** * Option interface for FileClient.uploadStream(). * @@ -586,7 +627,7 @@ export class FileClient extends StorageClient { options.fileHTTPHeaders = options.fileHTTPHeaders || {}; return this.context.create(size, { abortSignal: aborter, - ...options.fileHTTPHeaders, + fileHTTPHeaders: options.fileHTTPHeaders, metadata: options.metadata }); } @@ -737,7 +778,7 @@ export class FileClient extends StorageClient { const aborter = options.abortSignal || AbortSignal.none; return this.context.setHTTPHeaders({ abortSignal: aborter, - ...fileHTTPHeaders + fileHTTPHeaders }); } @@ -1179,8 +1220,12 @@ export class FileClient extends StorageClient { const batch = new Batch(options.parallelism); for (let off = offset; off < offset + count; off = off + options.rangeSize) { batch.addOperation(async () => { - const chunkEnd = off + options.rangeSize! < count! ? off + options.rangeSize! : count!; - const response = await this.download(off, chunkEnd - off + 1, { + // Exclusive chunk end position + let chunkEnd = offset + count!; + if (off + options.rangeSize! < chunkEnd) { + chunkEnd = off + options.rangeSize!; + } + const response = await this.download(off, chunkEnd - off, { abortSignal: aborter, maxRetryRequests: options.maxRetryRequestsPerRange }); @@ -1309,4 +1354,88 @@ export class FileClient extends StorageClient { (response as any).fileDownloadStream = undefined; return response; } + + /** + * Lists handles for a file. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/list-handles + * + * @param {string} [marker] Optional. A string value that identifies the portion of the list to be + * returned with the next list handles operation. The operation returns a + * marker value within the response body if the list returned was not complete. + * The marker value may then be used in a subsequent call to request the next + * set of list items. + * @param {FileListHandlesSegmentOptions} [options={}] + * @returns {Promise} + * @memberof FileURL + */ + public async listHandlesSegment( + marker?: string, + options: FileListHandlesSegmentOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + marker = marker === "" ? undefined : marker; + const response = await this.context.listHandles({ + abortSignal: aborter, + marker, + ...options + }); + + // TODO: Protocol layer issue that when handle list is in returned XML + // response.handleList is an empty string + if ((response.handleList as any) === "") { + response.handleList = undefined; + } + return response; + } + + /** + * Force close all handles for a file. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles + * + * @param {string} [marker] Optional. A string value that identifies the position of handles that will + * be closed with the next force close handles operation. + * The operation returns a marker value within the response + * body if there are more handles to close. The marker value + * may then be used in a subsequent call to close the next set of handles. + * @returns {Promise} + * @memberof FileURL + */ + public async forceCloseHandlesSegment( + marker?: string, + options: FileForceCloseHandlesOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + marker = marker === "" ? undefined : marker; + return this.context.forceCloseHandles("*", { + abortSignal: aborter, + marker + }); + } + + /** + * Force close a specific handle for a file. + * @see https://docs.microsoft.com/en-us/rest/api/storageservices/force-close-handles + * + * @param {Aborter} aborter Create a new Aborter instance with Aborter.none or Aborter.timeout(), + * goto documents of Aborter for more examples about request cancellation + * @param {string} handleId Specific handle ID, cannot be asterisk "*". + * Use forceCloseHandlesSegment() to close all handles. + * @returns {Promise} + * @memberof FileURL + */ + public async forceCloseHandle( + handleId: string, + options: FileForceCloseHandlesOptions = {} + ): Promise { + const aborter = options.abortSignal || AbortSignal.none; + if (handleId === "*") { + throw new RangeError( + `Parameter handleID should be a specified handle ID. Use forceCloseHandlesSegment() to close all handles.` + ); + } + + return this.context.forceCloseHandles(handleId, { + abortSignal: aborter + }); + } } diff --git a/sdk/storage/storage-file/src/FileDownloadResponse.ts b/sdk/storage/storage-file/src/FileDownloadResponse.ts index 05bcafbd1627..5857bfd32869 100644 --- a/sdk/storage/storage-file/src/FileDownloadResponse.ts +++ b/sdk/storage/storage-file/src/FileDownloadResponse.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. import { HttpResponse, isNode } from "@azure/core-http"; -import * as Models from "./generated/lib/models"; +import * as Models from "./generated/src/models"; import { Metadata } from "./models"; import { ReadableStreamGetter, diff --git a/sdk/storage/storage-file/src/FileServiceClient.ts b/sdk/storage/storage-file/src/FileServiceClient.ts index b2c64dd33fa7..b970a99e4240 100644 --- a/sdk/storage/storage-file/src/FileServiceClient.ts +++ b/sdk/storage/storage-file/src/FileServiceClient.ts @@ -1,9 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import * as Models from "./generated/lib/models"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; -import { Service } from "./generated/lib/operations"; +import * as Models from "./generated/src/models"; +import { Service } from "./generated/src/operations"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; import { StorageClient } from "./StorageClient"; import { ShareClient, ShareCreateOptions, ShareDeleteMethodOptions } from "./ShareClient"; diff --git a/sdk/storage/storage-file/src/KeepAlivePolicyFactory.ts b/sdk/storage/storage-file/src/KeepAlivePolicyFactory.ts new file mode 100644 index 000000000000..d882b22350fd --- /dev/null +++ b/sdk/storage/storage-file/src/KeepAlivePolicyFactory.ts @@ -0,0 +1,34 @@ +import { RequestPolicy, RequestPolicyFactory, RequestPolicyOptions } from "@azure/core-http"; + +import { KeepAlivePolicy } from "./policies/KeepAlivePolicy"; + +/** + * Interface of KeepAlivePolicy options. + * + * @export + * @interface KeepAliveOptions + */ +export interface KeepAliveOptions { + enable: boolean; +} + +/** + * KeepAlivePolicyFactory is a factory class helping generating KeepAlivePolicy objects. + * + * @export + * @class KeepAlivePolicyFactory + * @implements {RequestPolicyFactory} + */ +export class KeepAlivePolicyFactory implements RequestPolicyFactory { + /** + * Creates an instance of KeepAlivePolicyFactory. + * + * @param {IKeepAliveOptions} [telemetry] + * @memberof KeepAlivePolicyFactory + */ + constructor(private readonly keepAliveOptions: KeepAliveOptions = { enable: true }) {} + + public create(nextPolicy: RequestPolicy, options: RequestPolicyOptions): KeepAlivePolicy { + return new KeepAlivePolicy(nextPolicy, options, this.keepAliveOptions); + } +} diff --git a/sdk/storage/storage-file/src/Pipeline.ts b/sdk/storage/storage-file/src/Pipeline.ts index 56b2d6aacc8e..c075d623b58c 100644 --- a/sdk/storage/storage-file/src/Pipeline.ts +++ b/sdk/storage/storage-file/src/Pipeline.ts @@ -25,6 +25,7 @@ import { LoggingPolicyFactory } from "./LoggingPolicyFactory"; import { RetryOptions, RetryPolicyFactory } from "./RetryPolicyFactory"; import { TelemetryOptions, TelemetryPolicyFactory } from "./TelemetryPolicyFactory"; import { UniqueRequestIDPolicyFactory } from "./UniqueRequestIDPolicyFactory"; +import { KeepAlivePolicyFactory, KeepAliveOptions } from "./KeepAlivePolicyFactory"; // Export following interfaces and types for customers who want to implement their // own RequestPolicy or HTTPClient @@ -164,7 +165,13 @@ export interface NewPipelineOptions { * @memberof NewPipelineOptions */ retryOptions?: RetryOptions; - + /** + * Keep alive configurations. Default keep-alive is enabled. + * + * @type {KeepAliveOptions} + * @memberof NewPipelineOptions + */ + keepAliveOptions?: KeepAliveOptions; /** * Configures the HTTP pipeline logger. * @@ -198,6 +205,7 @@ export function newPipeline( // The credential's policy factory must appear close to the wire so it can sign any // changes made by other factories (like UniqueRequestIDPolicyFactory) const factories: RequestPolicyFactory[] = [ + new KeepAlivePolicyFactory(pipelineOptions.keepAliveOptions), new TelemetryPolicyFactory(pipelineOptions.telemetry), new UniqueRequestIDPolicyFactory(), new BrowserPolicyFactory(), diff --git a/sdk/storage/storage-file/src/RetryPolicyFactory.ts b/sdk/storage/storage-file/src/RetryPolicyFactory.ts index 3604674d71c6..388632416cc9 100644 --- a/sdk/storage/storage-file/src/RetryPolicyFactory.ts +++ b/sdk/storage/storage-file/src/RetryPolicyFactory.ts @@ -4,6 +4,8 @@ import { RequestPolicy, RequestPolicyFactory, RequestPolicyOptions } from "@azure/core-http"; import { RetryPolicy, RetryPolicyType } from "./policies/RetryPolicy"; +export { RetryPolicyType } from "./policies/RetryPolicy"; + /** * Retry options interface. * diff --git a/sdk/storage/storage-file/src/ShareClient.ts b/sdk/storage/storage-file/src/ShareClient.ts index 1b2460dbb1b2..f18ecb1909cd 100644 --- a/sdk/storage/storage-file/src/ShareClient.ts +++ b/sdk/storage/storage-file/src/ShareClient.ts @@ -3,8 +3,8 @@ import { HttpResponse, isNode } from "@azure/core-http"; import { AbortSignal, AbortSignalLike } from "@azure/abort-controller"; -import * as Models from "./generated/lib/models"; -import { Share } from "./generated/lib/operations"; +import * as Models from "./generated/src/models"; +import { Share } from "./generated/src/operations"; import { Metadata } from "./models"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; import { StorageClient } from "./StorageClient"; @@ -259,6 +259,25 @@ export interface ShareCreateSnapshotOptions { metadata?: { [propertyName: string]: string }; } +/** + * Response - Share Get Statistics Operation. + * + * @export + * @interface ShareGetStatisticsResponse + */ +export type ShareGetStatisticsResponse = Models.ShareGetStatisticsResponse & { + /** + * @deprecated shareUsage is going to be deprecated. Please use ShareUsageBytes instead. + * + * The approximate size of the data stored on the share, rounded up to the nearest gigabyte. Note + * that this value may not include all recently created or recently resized files. + * + * @type {number} + * @memberof ShareGetStatisticsResponse + */ + shareUsage: number; +}; + /** * A ShareClient represents a URL to the Azure Storage share allowing you to manipulate its directories and files. * @@ -703,15 +722,16 @@ export class ShareClient extends StorageClient { * Retrieves statistics related to the share. * * @param {ShareGetStatisticsOptions} [option] Options to Share Get Statistics operation. - * @returns {Promise} Response data for the Share Get Statistics operation. + * @returns {Promise} Response data for the Share Get Statistics operation. * @memberof ShareClient */ public async getStatistics( options: ShareGetStatisticsOptions = {} - ): Promise { + ): Promise { const aborter = options.abortSignal || AbortSignal.none; - return this.context.getStatistics({ - abortSignal: aborter - }); + const response = await this.context.getStatistics({ abortSignal: aborter }); + + const GBBytes = 1024 * 1024 * 1024; + return { ...response, shareUsage: Math.ceil(response.shareUsageBytes / GBBytes) }; } } diff --git a/sdk/storage/storage-file/src/StorageClient.ts b/sdk/storage/storage-file/src/StorageClient.ts index f795a80ff272..d43c1ee25720 100644 --- a/sdk/storage/storage-file/src/StorageClient.ts +++ b/sdk/storage/storage-file/src/StorageClient.ts @@ -1,10 +1,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -import { StorageClientContext } from "./generated/lib/storageClientContext"; +import { StorageClientContext } from "./generated/src/storageClientContext"; import { Pipeline } from "./Pipeline"; import { escapeURLPath } from "./utils/utils.common"; - +import { SERVICE_VERSION } from "./utils/constants"; /** * A StorageClient represents a base client class for ServiceClient, ContainerClient and etc. * @@ -52,6 +52,7 @@ export abstract class StorageClient { this.pipeline = pipeline; this.storageClientContext = new StorageClientContext( + SERVICE_VERSION, this.url, pipeline.toServiceClientOptions() ); diff --git a/sdk/storage/storage-file/src/generated/lib/operations/directory.ts b/sdk/storage/storage-file/src/generated/lib/operations/directory.ts deleted file mode 100644 index b8ef932790ba..000000000000 --- a/sdk/storage/storage-file/src/generated/lib/operations/directory.ts +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. - */ - -import * as coreHttp from "@azure/core-http"; -import * as Models from "../models"; -import * as Mappers from "../models/directoryMappers"; -import * as Parameters from "../models/parameters"; -import { StorageClientContext } from "../storageClientContext"; - -/** Class representing a Directory. */ -export class Directory { - private readonly client: StorageClientContext; - - /** - * Create a Directory. - * @param {StorageClientContext} client Reference to the service client. - */ - constructor(client: StorageClientContext) { - this.client = client; - } - - /** - * Creates a new directory under the specified share or parent directory. - * @param [options] The optional parameters - * @returns Promise - */ - create(options?: Models.DirectoryCreateOptionalParams): Promise; - /** - * @param callback The callback - */ - create(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - create(options: Models.DirectoryCreateOptionalParams, callback: coreHttp.ServiceCallback): void; - create(options?: Models.DirectoryCreateOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - createOperationSpec, - callback) as Promise; - } - - /** - * Returns all system properties for the specified directory, and can also be used to check the - * existence of a directory. The data returned does not include the files in the directory or any - * subdirectories. - * @param [options] The optional parameters - * @returns Promise - */ - getProperties(options?: Models.DirectoryGetPropertiesOptionalParams): Promise; - /** - * @param callback The callback - */ - getProperties(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - getProperties(options: Models.DirectoryGetPropertiesOptionalParams, callback: coreHttp.ServiceCallback): void; - getProperties(options?: Models.DirectoryGetPropertiesOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - getPropertiesOperationSpec, - callback) as Promise; - } - - /** - * Removes the specified empty directory. Note that the directory must be empty before it can be - * deleted. - * @param [options] The optional parameters - * @returns Promise - */ - deleteMethod(options?: Models.DirectoryDeleteMethodOptionalParams): Promise; - /** - * @param callback The callback - */ - deleteMethod(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - deleteMethod(options: Models.DirectoryDeleteMethodOptionalParams, callback: coreHttp.ServiceCallback): void; - deleteMethod(options?: Models.DirectoryDeleteMethodOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - deleteMethodOperationSpec, - callback) as Promise; - } - - /** - * Updates user defined metadata for the specified directory. - * @param [options] The optional parameters - * @returns Promise - */ - setMetadata(options?: Models.DirectorySetMetadataOptionalParams): Promise; - /** - * @param callback The callback - */ - setMetadata(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - setMetadata(options: Models.DirectorySetMetadataOptionalParams, callback: coreHttp.ServiceCallback): void; - setMetadata(options?: Models.DirectorySetMetadataOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - setMetadataOperationSpec, - callback) as Promise; - } - - /** - * Returns a list of files or directories under the specified share or directory. It lists the - * contents only for a single level of the directory hierarchy. - * @param [options] The optional parameters - * @returns Promise - */ - listFilesAndDirectoriesSegment(options?: Models.DirectoryListFilesAndDirectoriesSegmentOptionalParams): Promise; - /** - * @param callback The callback - */ - listFilesAndDirectoriesSegment(callback: coreHttp.ServiceCallback): void; - /** - * @param options The optional parameters - * @param callback The callback - */ - listFilesAndDirectoriesSegment(options: Models.DirectoryListFilesAndDirectoriesSegmentOptionalParams, callback: coreHttp.ServiceCallback): void; - listFilesAndDirectoriesSegment(options?: Models.DirectoryListFilesAndDirectoriesSegmentOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - options - }, - listFilesAndDirectoriesSegmentOperationSpec, - callback) as Promise; - } - - /** - * Returns a list of files or directories under the specified share or directory. It lists the - * contents only for a single level of the directory hierarchy. - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param [options] The optional parameters - * @returns Promise - */ - listFilesAndDirectoriesSegmentNext(nextPageLink: string, options?: coreHttp.RequestOptionsBase): Promise; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param callback The callback - */ - listFilesAndDirectoriesSegmentNext(nextPageLink: string, callback: coreHttp.ServiceCallback): void; - /** - * @param nextPageLink The NextLink from the previous successful call to List operation. - * @param options The optional parameters - * @param callback The callback - */ - listFilesAndDirectoriesSegmentNext(nextPageLink: string, options: coreHttp.RequestOptionsBase, callback: coreHttp.ServiceCallback): void; - listFilesAndDirectoriesSegmentNext(nextPageLink: string, options?: coreHttp.RequestOptionsBase | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { - return this.client.sendOperationRequest( - { - nextPageLink, - options - }, - listFilesAndDirectoriesSegmentNextOperationSpec, - callback) as Promise; - } -} - -// Operation Specifications -const serializer = new coreHttp.Serializer(Mappers, true); -const createOperationSpec: coreHttp.OperationSpec = { - httpMethod: "PUT", - path: "{shareName}/{directory}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.restype2 - ], - headerParameters: [ - Parameters.metadata, - Parameters.version - ], - responses: { - 201: { - headersMapper: Mappers.DirectoryCreateHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const getPropertiesOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - path: "{shareName}/{directory}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.sharesnapshot, - Parameters.timeout, - Parameters.restype2 - ], - headerParameters: [ - Parameters.version - ], - responses: { - 200: { - headersMapper: Mappers.DirectoryGetPropertiesHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const deleteMethodOperationSpec: coreHttp.OperationSpec = { - httpMethod: "DELETE", - path: "{shareName}/{directory}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.restype2 - ], - headerParameters: [ - Parameters.version - ], - responses: { - 202: { - headersMapper: Mappers.DirectoryDeleteHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const setMetadataOperationSpec: coreHttp.OperationSpec = { - httpMethod: "PUT", - path: "{shareName}/{directory}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.restype2, - Parameters.comp3 - ], - headerParameters: [ - Parameters.metadata, - Parameters.version - ], - responses: { - 200: { - headersMapper: Mappers.DirectorySetMetadataHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const listFilesAndDirectoriesSegmentOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - path: "{shareName}/{directory}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.prefix, - Parameters.sharesnapshot, - Parameters.marker, - Parameters.maxresults, - Parameters.timeout, - Parameters.restype2, - Parameters.comp1 - ], - headerParameters: [ - Parameters.version - ], - responses: { - 200: { - bodyMapper: Mappers.ListFilesAndDirectoriesSegmentResponse, - headersMapper: Mappers.DirectoryListFilesAndDirectoriesSegmentHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; - -const listFilesAndDirectoriesSegmentNextOperationSpec: coreHttp.OperationSpec = { - httpMethod: "GET", - baseUrl: "{url}", - path: "{nextLink}", - urlParameters: [ - Parameters.nextPageLink - ], - headerParameters: [ - Parameters.version - ], - responses: { - 200: { - bodyMapper: Mappers.ListFilesAndDirectoriesSegmentResponse, - headersMapper: Mappers.DirectoryListFilesAndDirectoriesSegmentHeaders - }, - default: { - bodyMapper: Mappers.StorageError - } - }, - isXML: true, - serializer -}; diff --git a/sdk/storage/storage-file/src/generated/lib/models/directoryMappers.ts b/sdk/storage/storage-file/src/generated/src/models/directoryMappers.ts similarity index 86% rename from sdk/storage/storage-file/src/generated/lib/models/directoryMappers.ts rename to sdk/storage/storage-file/src/generated/src/models/directoryMappers.ts index 15e7e8c122a9..cd0a1c81b941 100644 --- a/sdk/storage/storage-file/src/generated/lib/models/directoryMappers.ts +++ b/sdk/storage/storage-file/src/generated/src/models/directoryMappers.ts @@ -12,10 +12,14 @@ export { DirectoryGetPropertiesHeaders, DirectoryItem, DirectoryListFilesAndDirectoriesSegmentHeaders, + DirectoryListHandlesHeaders, DirectorySetMetadataHeaders, + DirectoryForceCloseHandlesHeaders, FileItem, FileProperty, FilesAndDirectoriesListSegment, + HandleItem, ListFilesAndDirectoriesSegmentResponse, + ListHandlesResponse, StorageError } from "../models/mappers"; diff --git a/sdk/storage/storage-file/src/generated/lib/models/fileMappers.ts b/sdk/storage/storage-file/src/generated/src/models/fileMappers.ts similarity index 86% rename from sdk/storage/storage-file/src/generated/lib/models/fileMappers.ts rename to sdk/storage/storage-file/src/generated/src/models/fileMappers.ts index c5e7f30ffe93..a95c7f70f987 100644 --- a/sdk/storage/storage-file/src/generated/lib/models/fileMappers.ts +++ b/sdk/storage/storage-file/src/generated/src/models/fileMappers.ts @@ -11,12 +11,16 @@ export { FileCreateHeaders, FileDeleteHeaders, FileDownloadHeaders, + FileForceCloseHandlesHeaders, FileGetPropertiesHeaders, FileGetRangeListHeaders, + FileListHandlesHeaders, FileSetHTTPHeadersHeaders, FileSetMetadataHeaders, FileStartCopyHeaders, FileUploadRangeHeaders, + HandleItem, + ListHandlesResponse, Range, StorageError } from "../models/mappers"; diff --git a/sdk/storage/storage-file/src/generated/lib/models/index.ts b/sdk/storage/storage-file/src/generated/src/models/index.ts similarity index 78% rename from sdk/storage/storage-file/src/generated/lib/models/index.ts rename to sdk/storage/storage-file/src/generated/src/models/index.ts index e1384a35bae2..db608acec0c4 100644 --- a/sdk/storage/storage-file/src/generated/lib/models/index.ts +++ b/sdk/storage/storage-file/src/generated/src/models/index.ts @@ -6,9 +6,9 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ - import * as coreHttp from "@azure/core-http"; + /** * An Access policy. */ @@ -101,6 +101,44 @@ export interface FilesAndDirectoriesListSegment { fileItems: FileItem[]; } +/** + * A listed Azure Storage handle item. + */ +export interface HandleItem { + /** + * XSMB service handle ID + */ + handleId: string; + /** + * File or directory name including full path starting from share root + */ + path: string; + /** + * FileId uniquely identifies the file or directory. + */ + fileId: string; + /** + * ParentId uniquely identifies the parent directory of the object. + */ + parentId?: string; + /** + * SMB session ID in context of which the file handle was opened + */ + sessionId: string; + /** + * Client IP that opened the handle + */ + clientIp: string; + /** + * Time when the session that previously opened the handle has last been reconnected. (UTC) + */ + openTime: Date; + /** + * Time handle was last connected to (UTC) + */ + lastReconnectTime?: Date; +} + /** * An enumeration of directories and files. */ @@ -116,6 +154,14 @@ export interface ListFilesAndDirectoriesSegmentResponse { nextMarker: string; } +/** + * An enumeration of handles. + */ +export interface ListHandlesResponse { + handleList?: HandleItem[]; + nextMarker: string; +} + /** * Properties of a share. */ @@ -209,10 +255,10 @@ export interface StorageError { */ export interface ShareStats { /** - * The approximate size of the data stored on the share, rounded up to the nearest gigabyte. Note - * that this value may not include all recently created or recently resized files. + * The approximate size of the data stored in bytes. Note that this value may not include all + * recently created or recently resized files. */ - shareUsage: number; + shareUsageBytes: number; } /** @@ -247,6 +293,37 @@ export interface StorageServiceProperties { cors?: CorsRule[]; } +/** + * Additional parameters for a set of operations, such as: File_create, File_setHTTPHeaders. + */ +export interface FileHTTPHeaders { + /** + * Sets the MIME content type of the file. The default type is 'application/octet-stream'. + */ + fileContentType?: string; + /** + * Specifies which content encodings have been applied to the file. + */ + fileContentEncoding?: string; + /** + * Specifies the natural languages used by this resource. + */ + fileContentLanguage?: string; + /** + * Sets the file's cache control. The File service stores this value but does not use or modify + * it. + */ + fileCacheControl?: string; + /** + * Sets the file's MD5 hash. + */ + fileContentMD5?: Uint8Array; + /** + * Sets the file's Content-Disposition header. + */ + fileContentDisposition?: string; +} + /** * Optional Parameters. */ @@ -514,7 +591,8 @@ export interface DirectorySetMetadataOptionalParams extends coreHttp.RequestOpti /** * Optional Parameters. */ -export interface DirectoryListFilesAndDirectoriesSegmentOptionalParams extends coreHttp.RequestOptionsBase { +export interface DirectoryListFilesAndDirectoriesSegmentOptionalParams + extends coreHttp.RequestOptionsBase { /** * Filters the results to return only entries whose name begins with the specified prefix. */ @@ -547,7 +625,19 @@ export interface DirectoryListFilesAndDirectoriesSegmentOptionalParams extends c /** * Optional Parameters. */ -export interface FileCreateOptionalParams extends coreHttp.RequestOptionsBase { +export interface DirectoryListHandlesOptionalParams extends coreHttp.RequestOptionsBase { + /** + * A string value that identifies the portion of the list to be returned with the next list + * operation. The operation returns a marker value within the response body if the list returned + * was not complete. The marker value may then be used in a subsequent call to request the next + * set of list items. The marker value is opaque to the client. + */ + marker?: string; + /** + * Specifies the maximum number of entries to return. If the request does not specify maxresults, + * or specifies a value greater than 5,000, the server will return up to 5,000 items. + */ + maxresults?: number; /** * The timeout parameter is expressed in seconds. For more information, see Setting @@ -555,34 +645,64 @@ export interface FileCreateOptionalParams extends coreHttp.RequestOptionsBase { */ timeoutParameter?: number; /** - * Sets the MIME content type of the file. The default type is 'application/octet-stream'. + * The snapshot parameter is an opaque DateTime value that, when present, specifies the share + * snapshot to query. */ - fileContentType?: string; + sharesnapshot?: string; /** - * Specifies which content encodings have been applied to the file. + * Specifies operation should apply to the directory specified in the URI, its files, its + * subdirectories and their files. */ - fileContentEncoding?: string; + recursive?: boolean; +} + +/** + * Optional Parameters. + */ +export interface DirectoryForceCloseHandlesOptionalParams extends coreHttp.RequestOptionsBase { /** - * Specifies the natural languages used by this resource. + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for File Service Operations. */ - fileContentLanguage?: string; + timeoutParameter?: number; /** - * Sets the file's cache control. The File service stores this value but does not use or modify - * it. + * A string value that identifies the portion of the list to be returned with the next list + * operation. The operation returns a marker value within the response body if the list returned + * was not complete. The marker value may then be used in a subsequent call to request the next + * set of list items. The marker value is opaque to the client. */ - fileCacheControl?: string; + marker?: string; /** - * Sets the file's MD5 hash. + * The snapshot parameter is an opaque DateTime value that, when present, specifies the share + * snapshot to query. */ - fileContentMD5?: Uint8Array; + sharesnapshot?: string; /** - * Sets the file's Content-Disposition header. + * Specifies operation should apply to the directory specified in the URI, its files, its + * subdirectories and their files. */ - fileContentDisposition?: string; + recursive?: boolean; +} + +/** + * Optional Parameters. + */ +export interface FileCreateOptionalParams extends coreHttp.RequestOptionsBase { + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for File Service Operations. + */ + timeoutParameter?: number; /** * A name-value pair to associate with a file storage object. */ metadata?: { [propertyName: string]: string }; + /** + * Additional parameters for the operation + */ + fileHTTPHeaders?: FileHTTPHeaders; } /** @@ -652,30 +772,9 @@ export interface FileSetHTTPHeadersOptionalParams extends coreHttp.RequestOption */ fileContentLength?: number; /** - * Sets the MIME content type of the file. The default type is 'application/octet-stream'. + * Additional parameters for the operation */ - fileContentType?: string; - /** - * Specifies which content encodings have been applied to the file. - */ - fileContentEncoding?: string; - /** - * Specifies the natural languages used by this resource. - */ - fileContentLanguage?: string; - /** - * Sets the file's cache control. The File service stores this value but does not use or modify - * it. - */ - fileCacheControl?: string; - /** - * Sets the file's MD5 hash. - */ - fileContentMD5?: Uint8Array; - /** - * Sets the file's Content-Disposition header. - */ - fileContentDisposition?: string; + fileHTTPHeaders?: FileHTTPHeaders; } /** @@ -766,6 +865,112 @@ export interface FileAbortCopyOptionalParams extends coreHttp.RequestOptionsBase timeoutParameter?: number; } +/** + * Optional Parameters. + */ +export interface FileListHandlesOptionalParams extends coreHttp.RequestOptionsBase { + /** + * A string value that identifies the portion of the list to be returned with the next list + * operation. The operation returns a marker value within the response body if the list returned + * was not complete. The marker value may then be used in a subsequent call to request the next + * set of list items. The marker value is opaque to the client. + */ + marker?: string; + /** + * Specifies the maximum number of entries to return. If the request does not specify maxresults, + * or specifies a value greater than 5,000, the server will return up to 5,000 items. + */ + maxresults?: number; + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for File Service Operations. + */ + timeoutParameter?: number; + /** + * The snapshot parameter is an opaque DateTime value that, when present, specifies the share + * snapshot to query. + */ + sharesnapshot?: string; +} + +/** + * Optional Parameters. + */ +export interface FileForceCloseHandlesOptionalParams extends coreHttp.RequestOptionsBase { + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for File Service Operations. + */ + timeoutParameter?: number; + /** + * A string value that identifies the portion of the list to be returned with the next list + * operation. The operation returns a marker value within the response body if the list returned + * was not complete. The marker value may then be used in a subsequent call to request the next + * set of list items. The marker value is opaque to the client. + */ + marker?: string; + /** + * The snapshot parameter is an opaque DateTime value that, when present, specifies the share + * snapshot to query. + */ + sharesnapshot?: string; +} + +/** + * Optional Parameters. + */ +export interface FileListHandlesOptionalParams extends coreHttp.RequestOptionsBase { + /** + * A string value that identifies the portion of the list to be returned with the next list + * operation. The operation returns a marker value within the response body if the list returned + * was not complete. The marker value may then be used in a subsequent call to request the next + * set of list items. The marker value is opaque to the client. + */ + marker?: string; + /** + * Specifies the maximum number of entries to return. If the request does not specify maxresults, + * or specifies a value greater than 5,000, the server will return up to 5,000 items. + */ + maxresults?: number; + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for File Service Operations. + */ + timeoutParameter?: number; + /** + * The snapshot parameter is an opaque DateTime value that, when present, specifies the share + * snapshot to query. + */ + sharesnapshot?: string; +} + +/** + * Optional Parameters. + */ +export interface FileForceCloseHandlesOptionalParams extends coreHttp.RequestOptionsBase { + /** + * The timeout parameter is expressed in seconds. For more information, see Setting + * Timeouts for File Service Operations. + */ + timeoutParameter?: number; + /** + * A string value that identifies the portion of the list to be returned with the next list + * operation. The operation returns a marker value within the response body if the list returned + * was not complete. The marker value may then be used in a subsequent call to request the next + * set of list items. The marker value is opaque to the client. + */ + marker?: string; + /** + * The snapshot parameter is an opaque DateTime value that, when present, specifies the share + * snapshot to query. + */ + sharesnapshot?: string; +} + /** * Defines headers for SetProperties operation. */ @@ -1250,6 +1455,62 @@ export interface DirectoryListFilesAndDirectoriesSegmentHeaders { errorCode?: string; } +/** + * Defines headers for ListHandles operation. + */ +export interface DirectoryListHandlesHeaders { + /** + * Specifies the format in which the results are returned. Currently this value is + * 'application/xml'. + */ + contentType?: string; + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the File service used to execute the request. + */ + version?: string; + /** + * A UTC date/time value generated by the service that indicates the time at which the response + * was initiated. + */ + date?: Date; + errorCode?: string; +} + +/** + * Defines headers for ForceCloseHandles operation. + */ +export interface DirectoryForceCloseHandlesHeaders { + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the File service used to execute the request. + */ + version?: string; + /** + * A UTC date/time value generated by the service that indicates the time at which the response + * was initiated. + */ + date?: Date; + /** + * A string describing next handle to be closed. It is returned when more handles need to be + * closed to complete the request. + */ + marker?: string; + /** + * Contains count of number of handles closed. + */ + numberOfHandlesClosed?: number; + errorCode?: string; +} + /** * Defines headers for Create operation. */ @@ -1735,6 +1996,62 @@ export interface FileAbortCopyHeaders { errorCode?: string; } +/** + * Defines headers for ListHandles operation. + */ +export interface FileListHandlesHeaders { + /** + * Specifies the format in which the results are returned. Currently this value is + * 'application/xml'. + */ + contentType?: string; + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the File service used to execute the request. + */ + version?: string; + /** + * A UTC date/time value generated by the service that indicates the time at which the response + * was initiated. + */ + date?: Date; + errorCode?: string; +} + +/** + * Defines headers for ForceCloseHandles operation. + */ +export interface FileForceCloseHandlesHeaders { + /** + * This header uniquely identifies the request that was made and can be used for troubleshooting + * the request. + */ + requestId?: string; + /** + * Indicates the version of the File service used to execute the request. + */ + version?: string; + /** + * A UTC date/time value generated by the service that indicates the time at which the response + * was initiated. + */ + date?: Date; + /** + * A string describing next handle to be closed. It is returned when more handles need to be + * closed to complete the request. + */ + marker?: string; + /** + * Contains count of number of handles closed. + */ + numberOfHandlesClosed?: number; + errorCode?: string; +} + /** * Defines values for StorageErrorCode. * Possible values include: 'AccountAlreadyExists', 'AccountBeingCreated', 'AccountIsDisabled', @@ -1756,7 +2073,67 @@ export interface FileAbortCopyHeaders { * @readonly * @enum {string} */ -export type StorageErrorCode = 'AccountAlreadyExists' | 'AccountBeingCreated' | 'AccountIsDisabled' | 'AuthenticationFailed' | 'AuthorizationFailure' | 'ConditionHeadersNotSupported' | 'ConditionNotMet' | 'EmptyMetadataKey' | 'InsufficientAccountPermissions' | 'InternalError' | 'InvalidAuthenticationInfo' | 'InvalidHeaderValue' | 'InvalidHttpVerb' | 'InvalidInput' | 'InvalidMd5' | 'InvalidMetadata' | 'InvalidQueryParameterValue' | 'InvalidRange' | 'InvalidResourceName' | 'InvalidUri' | 'InvalidXmlDocument' | 'InvalidXmlNodeValue' | 'Md5Mismatch' | 'MetadataTooLarge' | 'MissingContentLengthHeader' | 'MissingRequiredQueryParameter' | 'MissingRequiredHeader' | 'MissingRequiredXmlNode' | 'MultipleConditionHeadersNotSupported' | 'OperationTimedOut' | 'OutOfRangeInput' | 'OutOfRangeQueryParameterValue' | 'RequestBodyTooLarge' | 'ResourceTypeMismatch' | 'RequestUrlFailedToParse' | 'ResourceAlreadyExists' | 'ResourceNotFound' | 'ServerBusy' | 'UnsupportedHeader' | 'UnsupportedXmlNode' | 'UnsupportedQueryParameter' | 'UnsupportedHttpVerb' | 'CannotDeleteFileOrDirectory' | 'ClientCacheFlushDelay' | 'DeletePending' | 'DirectoryNotEmpty' | 'FileLockConflict' | 'InvalidFileOrDirectoryPathName' | 'ParentNotFound' | 'ReadOnlyAttribute' | 'ShareAlreadyExists' | 'ShareBeingDeleted' | 'ShareDisabled' | 'ShareNotFound' | 'SharingViolation' | 'ShareSnapshotInProgress' | 'ShareSnapshotCountExceeded' | 'ShareSnapshotOperationNotSupported' | 'ShareHasSnapshots' | 'ContainerQuotaDowngradeNotAllowed'; +export type StorageErrorCode = + | "AccountAlreadyExists" + | "AccountBeingCreated" + | "AccountIsDisabled" + | "AuthenticationFailed" + | "AuthorizationFailure" + | "ConditionHeadersNotSupported" + | "ConditionNotMet" + | "EmptyMetadataKey" + | "InsufficientAccountPermissions" + | "InternalError" + | "InvalidAuthenticationInfo" + | "InvalidHeaderValue" + | "InvalidHttpVerb" + | "InvalidInput" + | "InvalidMd5" + | "InvalidMetadata" + | "InvalidQueryParameterValue" + | "InvalidRange" + | "InvalidResourceName" + | "InvalidUri" + | "InvalidXmlDocument" + | "InvalidXmlNodeValue" + | "Md5Mismatch" + | "MetadataTooLarge" + | "MissingContentLengthHeader" + | "MissingRequiredQueryParameter" + | "MissingRequiredHeader" + | "MissingRequiredXmlNode" + | "MultipleConditionHeadersNotSupported" + | "OperationTimedOut" + | "OutOfRangeInput" + | "OutOfRangeQueryParameterValue" + | "RequestBodyTooLarge" + | "ResourceTypeMismatch" + | "RequestUrlFailedToParse" + | "ResourceAlreadyExists" + | "ResourceNotFound" + | "ServerBusy" + | "UnsupportedHeader" + | "UnsupportedXmlNode" + | "UnsupportedQueryParameter" + | "UnsupportedHttpVerb" + | "CannotDeleteFileOrDirectory" + | "ClientCacheFlushDelay" + | "DeletePending" + | "DirectoryNotEmpty" + | "FileLockConflict" + | "InvalidFileOrDirectoryPathName" + | "ParentNotFound" + | "ReadOnlyAttribute" + | "ShareAlreadyExists" + | "ShareBeingDeleted" + | "ShareDisabled" + | "ShareNotFound" + | "SharingViolation" + | "ShareSnapshotInProgress" + | "ShareSnapshotCountExceeded" + | "ShareSnapshotOperationNotSupported" + | "ShareHasSnapshots" + | "ContainerQuotaDowngradeNotAllowed"; /** * Defines values for DeleteSnapshotsOptionType. @@ -1764,7 +2141,7 @@ export type StorageErrorCode = 'AccountAlreadyExists' | 'AccountBeingCreated' | * @readonly * @enum {string} */ -export type DeleteSnapshotsOptionType = 'include'; +export type DeleteSnapshotsOptionType = "include"; /** * Defines values for ListSharesIncludeType. @@ -1772,7 +2149,7 @@ export type DeleteSnapshotsOptionType = 'include'; * @readonly * @enum {string} */ -export type ListSharesIncludeType = 'snapshots' | 'metadata'; +export type ListSharesIncludeType = "snapshots" | "metadata"; /** * Defines values for CopyStatusType. @@ -1780,7 +2157,7 @@ export type ListSharesIncludeType = 'snapshots' | 'metadata'; * @readonly * @enum {string} */ -export type CopyStatusType = 'pending' | 'success' | 'aborted' | 'failed'; +export type CopyStatusType = "pending" | "success" | "aborted" | "failed"; /** * Defines values for FileRangeWriteType. @@ -1788,7 +2165,7 @@ export type CopyStatusType = 'pending' | 'success' | 'aborted' | 'failed'; * @readonly * @enum {string} */ -export type FileRangeWriteType = 'update' | 'clear'; +export type FileRangeWriteType = "update" | "clear"; /** * Defines values for FileType. @@ -1796,7 +2173,7 @@ export type FileRangeWriteType = 'update' | 'clear'; * @readonly * @enum {string} */ -export type FileType = 'File'; +export type FileType = "File"; /** * Contains response data for the setProperties operation. @@ -1806,21 +2183,22 @@ export type ServiceSetPropertiesResponse = ServiceSetPropertiesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ServiceSetPropertiesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ServiceSetPropertiesHeaders; + }; }; /** * Contains response data for the getProperties operation. */ -export type ServiceGetPropertiesResponse = StorageServiceProperties & ServiceGetPropertiesHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ServiceGetPropertiesResponse = StorageServiceProperties & + ServiceGetPropertiesHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -1836,16 +2214,17 @@ export type ServiceGetPropertiesResponse = StorageServiceProperties & ServiceGet */ parsedBody: StorageServiceProperties; }; -}; + }; /** * Contains response data for the listSharesSegment operation. */ -export type ServiceListSharesSegmentResponse = ListSharesResponse & ServiceListSharesSegmentHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ServiceListSharesSegmentResponse = ListSharesResponse & + ServiceListSharesSegmentHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -1861,7 +2240,7 @@ export type ServiceListSharesSegmentResponse = ListSharesResponse & ServiceListS */ parsedBody: ListSharesResponse; }; -}; + }; /** * Contains response data for the create operation. @@ -1871,11 +2250,11 @@ export type ShareCreateResponse = ShareCreateHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ShareCreateHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ShareCreateHeaders; + }; }; /** @@ -1886,11 +2265,11 @@ export type ShareGetPropertiesResponse = ShareGetPropertiesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ShareGetPropertiesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ShareGetPropertiesHeaders; + }; }; /** @@ -1901,11 +2280,11 @@ export type ShareDeleteResponse = ShareDeleteHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ShareDeleteHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ShareDeleteHeaders; + }; }; /** @@ -1916,11 +2295,11 @@ export type ShareCreateSnapshotResponse = ShareCreateSnapshotHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ShareCreateSnapshotHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ShareCreateSnapshotHeaders; + }; }; /** @@ -1931,11 +2310,11 @@ export type ShareSetQuotaResponse = ShareSetQuotaHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ShareSetQuotaHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ShareSetQuotaHeaders; + }; }; /** @@ -1946,21 +2325,22 @@ export type ShareSetMetadataResponse = ShareSetMetadataHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ShareSetMetadataHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ShareSetMetadataHeaders; + }; }; /** * Contains response data for the getAccessPolicy operation. */ -export type ShareGetAccessPolicyResponse = Array & ShareGetAccessPolicyHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ShareGetAccessPolicyResponse = SignedIdentifier[] & + ShareGetAccessPolicyHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -1976,7 +2356,7 @@ export type ShareGetAccessPolicyResponse = Array & ShareGetAcc */ parsedBody: SignedIdentifier[]; }; -}; + }; /** * Contains response data for the setAccessPolicy operation. @@ -1986,21 +2366,22 @@ export type ShareSetAccessPolicyResponse = ShareSetAccessPolicyHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: ShareSetAccessPolicyHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: ShareSetAccessPolicyHeaders; + }; }; /** * Contains response data for the getStatistics operation. */ -export type ShareGetStatisticsResponse = ShareStats & ShareGetStatisticsHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type ShareGetStatisticsResponse = ShareStats & + ShareGetStatisticsHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -2016,7 +2397,7 @@ export type ShareGetStatisticsResponse = ShareStats & ShareGetStatisticsHeaders */ parsedBody: ShareStats; }; -}; + }; /** * Contains response data for the create operation. @@ -2026,11 +2407,11 @@ export type DirectoryCreateResponse = DirectoryCreateHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: DirectoryCreateHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: DirectoryCreateHeaders; + }; }; /** @@ -2041,11 +2422,11 @@ export type DirectoryGetPropertiesResponse = DirectoryGetPropertiesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: DirectoryGetPropertiesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: DirectoryGetPropertiesHeaders; + }; }; /** @@ -2056,11 +2437,11 @@ export type DirectoryDeleteResponse = DirectoryDeleteHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: DirectoryDeleteHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: DirectoryDeleteHeaders; + }; }; /** @@ -2071,21 +2452,22 @@ export type DirectorySetMetadataResponse = DirectorySetMetadataHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: DirectorySetMetadataHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: DirectorySetMetadataHeaders; + }; }; /** * Contains response data for the listFilesAndDirectoriesSegment operation. */ -export type DirectoryListFilesAndDirectoriesSegmentResponse = ListFilesAndDirectoriesSegmentResponse & DirectoryListFilesAndDirectoriesSegmentHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type DirectoryListFilesAndDirectoriesSegmentResponse = ListFilesAndDirectoriesSegmentResponse & + DirectoryListFilesAndDirectoriesSegmentHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -2101,6 +2483,47 @@ export type DirectoryListFilesAndDirectoriesSegmentResponse = ListFilesAndDirect */ parsedBody: ListFilesAndDirectoriesSegmentResponse; }; + }; + +/** + * Contains response data for the listHandles operation. + */ +export type DirectoryListHandlesResponse = ListHandlesResponse & + DirectoryListHandlesHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: DirectoryListHandlesHeaders; + + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ListHandlesResponse; + }; + }; + +/** + * Contains response data for the forceCloseHandles operation. + */ +export type DirectoryForceCloseHandlesResponse = DirectoryForceCloseHandlesHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: DirectoryForceCloseHandlesHeaders; + }; }; /** @@ -2111,11 +2534,11 @@ export type FileCreateResponse = FileCreateHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileCreateHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileCreateHeaders; + }; }; /** @@ -2142,11 +2565,11 @@ export type FileDownloadResponse = FileDownloadHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileDownloadHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileDownloadHeaders; + }; }; /** @@ -2157,11 +2580,11 @@ export type FileGetPropertiesResponse = FileGetPropertiesHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileGetPropertiesHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileGetPropertiesHeaders; + }; }; /** @@ -2172,11 +2595,11 @@ export type FileDeleteResponse = FileDeleteHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileDeleteHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileDeleteHeaders; + }; }; /** @@ -2187,11 +2610,11 @@ export type FileSetHTTPHeadersResponse = FileSetHTTPHeadersHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileSetHTTPHeadersHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileSetHTTPHeadersHeaders; + }; }; /** @@ -2202,11 +2625,11 @@ export type FileSetMetadataResponse = FileSetMetadataHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileSetMetadataHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileSetMetadataHeaders; + }; }; /** @@ -2217,21 +2640,22 @@ export type FileUploadRangeResponse = FileUploadRangeHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileUploadRangeHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileUploadRangeHeaders; + }; }; /** * Contains response data for the getRangeList operation. */ -export type FileGetRangeListResponse = Array & FileGetRangeListHeaders & { - /** - * The underlying HTTP response. - */ - _response: coreHttp.HttpResponse & { +export type FileGetRangeListResponse = Range[] & + FileGetRangeListHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ @@ -2247,7 +2671,7 @@ export type FileGetRangeListResponse = Array & FileGetRangeListHeaders & */ parsedBody: Range[]; }; -}; + }; /** * Contains response data for the startCopy operation. @@ -2257,11 +2681,11 @@ export type FileStartCopyResponse = FileStartCopyHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { - /** - * The parsed HTTP response headers. - */ - parsedHeaders: FileStartCopyHeaders; - }; + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileStartCopyHeaders; + }; }; /** @@ -2272,9 +2696,50 @@ export type FileAbortCopyResponse = FileAbortCopyHeaders & { * The underlying HTTP response. */ _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileAbortCopyHeaders; + }; +}; + +/** + * Contains response data for the listHandles operation. + */ +export type FileListHandlesResponse = ListHandlesResponse & + FileListHandlesHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { /** * The parsed HTTP response headers. */ - parsedHeaders: FileAbortCopyHeaders; + parsedHeaders: FileListHandlesHeaders; + + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: ListHandlesResponse; }; + }; + +/** + * Contains response data for the forceCloseHandles operation. + */ +export type FileForceCloseHandlesResponse = FileForceCloseHandlesHeaders & { + /** + * The underlying HTTP response. + */ + _response: coreHttp.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: FileForceCloseHandlesHeaders; + }; }; diff --git a/sdk/storage/storage-file/src/generated/lib/models/mappers.ts b/sdk/storage/storage-file/src/generated/src/models/mappers.ts similarity index 86% rename from sdk/storage/storage-file/src/generated/lib/models/mappers.ts rename to sdk/storage/storage-file/src/generated/src/models/mappers.ts index 28ae69a3f06d..9e9acc9b7412 100644 --- a/sdk/storage/storage-file/src/generated/lib/models/mappers.ts +++ b/sdk/storage/storage-file/src/generated/src/models/mappers.ts @@ -199,6 +199,79 @@ export const FilesAndDirectoriesListSegment: coreHttp.CompositeMapper = { } }; +export const HandleItem: coreHttp.CompositeMapper = { + xmlName: "Handle", + serializedName: "HandleItem", + type: { + name: "Composite", + className: "HandleItem", + modelProperties: { + handleId: { + xmlName: "HandleId", + required: true, + serializedName: "HandleId", + type: { + name: "String" + } + }, + path: { + xmlName: "Path", + required: true, + serializedName: "Path", + type: { + name: "String" + } + }, + fileId: { + xmlName: "FileId", + required: true, + serializedName: "FileId", + type: { + name: "String" + } + }, + parentId: { + xmlName: "ParentId", + serializedName: "ParentId", + type: { + name: "String" + } + }, + sessionId: { + xmlName: "SessionId", + required: true, + serializedName: "SessionId", + type: { + name: "String" + } + }, + clientIp: { + xmlName: "ClientIp", + required: true, + serializedName: "ClientIp", + type: { + name: "String" + } + }, + openTime: { + xmlName: "OpenTime", + required: true, + serializedName: "OpenTime", + type: { + name: "DateTimeRfc1123" + } + }, + lastReconnectTime: { + xmlName: "LastReconnectTime", + serializedName: "LastReconnectTime", + type: { + name: "DateTimeRfc1123" + } + } + } + } +}; + export const ListFilesAndDirectoriesSegmentResponse: coreHttp.CompositeMapper = { xmlName: "EnumerationResults", serializedName: "ListFilesAndDirectoriesSegmentResponse", @@ -284,6 +357,40 @@ export const ListFilesAndDirectoriesSegmentResponse: coreHttp.CompositeMapper = } }; +export const ListHandlesResponse: coreHttp.CompositeMapper = { + xmlName: "EnumerationResults", + serializedName: "ListHandlesResponse", + type: { + name: "Composite", + className: "ListHandlesResponse", + modelProperties: { + handleList: { + xmlIsWrapped: true, + xmlName: "Entries", + xmlElementName: "Handle", + serializedName: "HandleList", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "HandleItem" + } + } + } + }, + nextMarker: { + xmlName: "NextMarker", + required: true, + serializedName: "NextMarker", + type: { + name: "String" + } + } + } + } +}; + export const ShareProperties: coreHttp.CompositeMapper = { serializedName: "ShareProperties", type: { @@ -548,10 +655,10 @@ export const ShareStats: coreHttp.CompositeMapper = { name: "Composite", className: "ShareStats", modelProperties: { - shareUsage: { - xmlName: "ShareUsage", + shareUsageBytes: { + xmlName: "ShareUsageBytes", required: true, - serializedName: "ShareUsage", + serializedName: "ShareUsageBytes", type: { name: "Number" } @@ -627,6 +734,52 @@ export const StorageServiceProperties: coreHttp.CompositeMapper = { } }; +export const FileHTTPHeaders: coreHttp.CompositeMapper = { + xmlName: "file-HTTP-headers", + type: { + name: "Composite", + className: "FileHTTPHeaders", + modelProperties: { + fileContentType: { + xmlName: "fileContentType", + type: { + name: "String" + } + }, + fileContentEncoding: { + xmlName: "fileContentEncoding", + type: { + name: "String" + } + }, + fileContentLanguage: { + xmlName: "fileContentLanguage", + type: { + name: "String" + } + }, + fileCacheControl: { + xmlName: "fileCacheControl", + type: { + name: "String" + } + }, + fileContentMD5: { + xmlName: "fileContentMD5", + type: { + name: "ByteArray" + } + }, + fileContentDisposition: { + xmlName: "fileContentDisposition", + type: { + name: "String" + } + } + } + } +}; + export const ServiceSetPropertiesHeaders: coreHttp.CompositeMapper = { serializedName: "service-setproperties-headers", type: { @@ -1373,6 +1526,92 @@ export const DirectoryListFilesAndDirectoriesSegmentHeaders: coreHttp.CompositeM } }; +export const DirectoryListHandlesHeaders: coreHttp.CompositeMapper = { + serializedName: "directory-listhandles-headers", + type: { + name: "Composite", + className: "DirectoryListHandlesHeaders", + modelProperties: { + contentType: { + serializedName: "content-type", + type: { + name: "String" + } + }, + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; + +export const DirectoryForceCloseHandlesHeaders: coreHttp.CompositeMapper = { + serializedName: "directory-forceclosehandles-headers", + type: { + name: "Composite", + className: "DirectoryForceCloseHandlesHeaders", + modelProperties: { + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + marker: { + serializedName: "x-ms-marker", + type: { + name: "String" + } + }, + numberOfHandlesClosed: { + serializedName: "x-ms-number-of-handles-closed", + type: { + name: "Number" + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; + export const FileCreateHeaders: coreHttp.CompositeMapper = { serializedName: "file-create-headers", type: { @@ -2084,3 +2323,89 @@ export const FileAbortCopyHeaders: coreHttp.CompositeMapper = { } } }; + +export const FileListHandlesHeaders: coreHttp.CompositeMapper = { + serializedName: "file-listhandles-headers", + type: { + name: "Composite", + className: "FileListHandlesHeaders", + modelProperties: { + contentType: { + serializedName: "content-type", + type: { + name: "String" + } + }, + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; + +export const FileForceCloseHandlesHeaders: coreHttp.CompositeMapper = { + serializedName: "file-forceclosehandles-headers", + type: { + name: "Composite", + className: "FileForceCloseHandlesHeaders", + modelProperties: { + requestId: { + serializedName: "x-ms-request-id", + type: { + name: "String" + } + }, + version: { + serializedName: "x-ms-version", + type: { + name: "String" + } + }, + date: { + serializedName: "date", + type: { + name: "DateTimeRfc1123" + } + }, + marker: { + serializedName: "x-ms-marker", + type: { + name: "String" + } + }, + numberOfHandlesClosed: { + serializedName: "x-ms-number-of-handles-closed", + type: { + name: "Number" + } + }, + errorCode: { + serializedName: "x-ms-error-code", + type: { + name: "String" + } + } + } + } +}; diff --git a/sdk/storage/storage-file/src/generated/lib/models/parameters.ts b/sdk/storage/storage-file/src/generated/src/models/parameters.ts similarity index 78% rename from sdk/storage/storage-file/src/generated/lib/models/parameters.ts rename to sdk/storage/storage-file/src/generated/src/models/parameters.ts index 0d42dc06cf6a..a4252da3c616 100644 --- a/sdk/storage/storage-file/src/generated/lib/models/parameters.ts +++ b/sdk/storage/storage-file/src/generated/src/models/parameters.ts @@ -16,7 +16,7 @@ export const comp0: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'properties', + defaultValue: "properties", type: { name: "String" } @@ -28,7 +28,19 @@ export const comp1: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'list', + defaultValue: "list", + type: { + name: "String" + } + } +}; +export const comp10: coreHttp.OperationQueryParameter = { + parameterPath: "comp", + mapper: { + required: true, + isConstant: true, + serializedName: "comp", + defaultValue: "copy", type: { name: "String" } @@ -40,7 +52,7 @@ export const comp2: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'snapshot', + defaultValue: "snapshot", type: { name: "String" } @@ -52,7 +64,7 @@ export const comp3: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'metadata', + defaultValue: "metadata", type: { name: "String" } @@ -64,7 +76,7 @@ export const comp4: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'acl', + defaultValue: "acl", type: { name: "String" } @@ -76,7 +88,7 @@ export const comp5: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'stats', + defaultValue: "stats", type: { name: "String" } @@ -88,7 +100,7 @@ export const comp6: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'range', + defaultValue: "listhandles", type: { name: "String" } @@ -100,7 +112,7 @@ export const comp7: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'rangelist', + defaultValue: "forceclosehandles", type: { name: "String" } @@ -112,7 +124,19 @@ export const comp8: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "comp", - defaultValue: 'copy', + defaultValue: "range", + type: { + name: "String" + } + } +}; +export const comp9: coreHttp.OperationQueryParameter = { + parameterPath: "comp", + mapper: { + required: true, + isConstant: true, + serializedName: "comp", + defaultValue: "rangelist", type: { name: "String" } @@ -129,10 +153,7 @@ export const contentLength: coreHttp.OperationParameter = { } }; export const contentMD5: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "contentMD5" - ], + parameterPath: ["options", "contentMD5"], mapper: { serializedName: "Content-MD5", type: { @@ -146,7 +167,7 @@ export const copyActionAbortConstant: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-copy-action", - defaultValue: 'abort', + defaultValue: "abort", type: { name: "String" } @@ -173,25 +194,17 @@ export const copySource: coreHttp.OperationParameter = { } }; export const deleteSnapshots: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "deleteSnapshots" - ], + parameterPath: ["options", "deleteSnapshots"], mapper: { serializedName: "x-ms-delete-snapshots", type: { name: "Enum", - allowedValues: [ - "include" - ] + allowedValues: ["include"] } } }; export const fileCacheControl: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "fileCacheControl" - ], + parameterPath: ["options", "fileHTTPHeaders", "fileCacheControl"], mapper: { serializedName: "x-ms-cache-control", type: { @@ -200,10 +213,7 @@ export const fileCacheControl: coreHttp.OperationParameter = { } }; export const fileContentDisposition: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "fileContentDisposition" - ], + parameterPath: ["options", "fileHTTPHeaders", "fileContentDisposition"], mapper: { serializedName: "x-ms-content-disposition", type: { @@ -212,10 +222,7 @@ export const fileContentDisposition: coreHttp.OperationParameter = { } }; export const fileContentEncoding: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "fileContentEncoding" - ], + parameterPath: ["options", "fileHTTPHeaders", "fileContentEncoding"], mapper: { serializedName: "x-ms-content-encoding", type: { @@ -224,10 +231,7 @@ export const fileContentEncoding: coreHttp.OperationParameter = { } }; export const fileContentLanguage: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "fileContentLanguage" - ], + parameterPath: ["options", "fileHTTPHeaders", "fileContentLanguage"], mapper: { serializedName: "x-ms-content-language", type: { @@ -246,10 +250,7 @@ export const fileContentLength0: coreHttp.OperationParameter = { } }; export const fileContentLength1: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "fileContentLength" - ], + parameterPath: ["options", "fileContentLength"], mapper: { serializedName: "x-ms-content-length", type: { @@ -258,10 +259,7 @@ export const fileContentLength1: coreHttp.OperationParameter = { } }; export const fileContentMD5: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "fileContentMD5" - ], + parameterPath: ["options", "fileHTTPHeaders", "fileContentMD5"], mapper: { serializedName: "x-ms-content-md5", type: { @@ -270,10 +268,7 @@ export const fileContentMD5: coreHttp.OperationParameter = { } }; export const fileContentType: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "fileContentType" - ], + parameterPath: ["options", "fileHTTPHeaders", "fileContentType"], mapper: { serializedName: "x-ms-content-type", type: { @@ -286,13 +281,10 @@ export const fileRangeWrite: coreHttp.OperationParameter = { mapper: { required: true, serializedName: "x-ms-write", - defaultValue: 'update', + defaultValue: "update", type: { name: "Enum", - allowedValues: [ - "update", - "clear" - ] + allowedValues: ["update", "clear"] } } }; @@ -302,17 +294,24 @@ export const fileTypeConstant: coreHttp.OperationParameter = { required: true, isConstant: true, serializedName: "x-ms-type", - defaultValue: 'file', + defaultValue: "file", + type: { + name: "String" + } + } +}; +export const handleId: coreHttp.OperationParameter = { + parameterPath: "handleId", + mapper: { + required: true, + serializedName: "x-ms-handle-id", type: { name: "String" } } }; export const include: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "include" - ], + parameterPath: ["options", "include"], mapper: { serializedName: "include", type: { @@ -320,10 +319,7 @@ export const include: coreHttp.OperationQueryParameter = { element: { type: { name: "Enum", - allowedValues: [ - "snapshots", - "metadata" - ] + allowedValues: ["snapshots", "metadata"] } } } @@ -331,10 +327,7 @@ export const include: coreHttp.OperationQueryParameter = { collectionFormat: coreHttp.QueryCollectionFormat.Csv }; export const marker: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "marker" - ], + parameterPath: ["options", "marker"], mapper: { serializedName: "marker", type: { @@ -343,10 +336,7 @@ export const marker: coreHttp.OperationQueryParameter = { } }; export const maxresults: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "maxresults" - ], + parameterPath: ["options", "maxresults"], mapper: { serializedName: "maxresults", constraints: { @@ -358,10 +348,7 @@ export const maxresults: coreHttp.OperationQueryParameter = { } }; export const metadata: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "metadata" - ], + parameterPath: ["options", "metadata"], mapper: { serializedName: "x-ms-meta", type: { @@ -387,10 +374,7 @@ export const nextPageLink: coreHttp.OperationURLParameter = { skipEncoding: true }; export const prefix: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "prefix" - ], + parameterPath: ["options", "prefix"], mapper: { serializedName: "prefix", type: { @@ -399,10 +383,7 @@ export const prefix: coreHttp.OperationQueryParameter = { } }; export const quota: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "quota" - ], + parameterPath: ["options", "quota"], mapper: { serializedName: "x-ms-share-quota", constraints: { @@ -414,10 +395,7 @@ export const quota: coreHttp.OperationParameter = { } }; export const range0: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "range" - ], + parameterPath: ["options", "range"], mapper: { serializedName: "x-ms-range", type: { @@ -436,10 +414,7 @@ export const range1: coreHttp.OperationParameter = { } }; export const rangeGetContentMD5: coreHttp.OperationParameter = { - parameterPath: [ - "options", - "rangeGetContentMD5" - ], + parameterPath: ["options", "rangeGetContentMD5"], mapper: { serializedName: "x-ms-range-get-content-md5", type: { @@ -447,13 +422,22 @@ export const rangeGetContentMD5: coreHttp.OperationParameter = { } } }; +export const recursive: coreHttp.OperationParameter = { + parameterPath: ["options", "recursive"], + mapper: { + serializedName: "x-ms-recursive", + type: { + name: "Boolean" + } + } +}; export const restype0: coreHttp.OperationQueryParameter = { parameterPath: "restype", mapper: { required: true, isConstant: true, serializedName: "restype", - defaultValue: 'service', + defaultValue: "service", type: { name: "String" } @@ -465,7 +449,7 @@ export const restype1: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "restype", - defaultValue: 'share', + defaultValue: "share", type: { name: "String" } @@ -477,17 +461,14 @@ export const restype2: coreHttp.OperationQueryParameter = { required: true, isConstant: true, serializedName: "restype", - defaultValue: 'directory', + defaultValue: "directory", type: { name: "String" } } }; export const sharesnapshot: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "sharesnapshot" - ], + parameterPath: ["options", "sharesnapshot"], mapper: { serializedName: "sharesnapshot", type: { @@ -496,10 +477,7 @@ export const sharesnapshot: coreHttp.OperationQueryParameter = { } }; export const timeout: coreHttp.OperationQueryParameter = { - parameterPath: [ - "options", - "timeout" - ], + parameterPath: ["options", "timeout"], mapper: { serializedName: "timeout", constraints: { @@ -515,7 +493,7 @@ export const url: coreHttp.OperationURLParameter = { mapper: { required: true, serializedName: "url", - defaultValue: '', + defaultValue: "", type: { name: "String" } @@ -526,9 +504,7 @@ export const version: coreHttp.OperationParameter = { parameterPath: "version", mapper: { required: true, - isConstant: true, serializedName: "x-ms-version", - defaultValue: '2018-03-28', type: { name: "String" } diff --git a/sdk/storage/storage-file/src/generated/lib/models/serviceMappers.ts b/sdk/storage/storage-file/src/generated/src/models/serviceMappers.ts similarity index 100% rename from sdk/storage/storage-file/src/generated/lib/models/serviceMappers.ts rename to sdk/storage/storage-file/src/generated/src/models/serviceMappers.ts diff --git a/sdk/storage/storage-file/src/generated/lib/models/shareMappers.ts b/sdk/storage/storage-file/src/generated/src/models/shareMappers.ts similarity index 100% rename from sdk/storage/storage-file/src/generated/lib/models/shareMappers.ts rename to sdk/storage/storage-file/src/generated/src/models/shareMappers.ts diff --git a/sdk/storage/storage-file/src/generated/src/operations/directory.ts b/sdk/storage/storage-file/src/generated/src/operations/directory.ts new file mode 100644 index 000000000000..e3244fb2aad3 --- /dev/null +++ b/sdk/storage/storage-file/src/generated/src/operations/directory.ts @@ -0,0 +1,426 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as coreHttp from "@azure/core-http"; +import * as Models from "../models"; +import * as Mappers from "../models/directoryMappers"; +import * as Parameters from "../models/parameters"; +import { StorageClientContext } from "../storageClientContext"; + +/** Class representing a Directory. */ +export class Directory { + private readonly client: StorageClientContext; + + /** + * Create a Directory. + * @param {StorageClientContext} client Reference to the service client. + */ + constructor(client: StorageClientContext) { + this.client = client; + } + + /** + * Creates a new directory under the specified share or parent directory. + * @param [options] The optional parameters + * @returns Promise + */ + create(options?: Models.DirectoryCreateOptionalParams): Promise; + /** + * @param callback The callback + */ + create(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + create( + options: Models.DirectoryCreateOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + create( + options?: Models.DirectoryCreateOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + createOperationSpec, + callback + ) as Promise; + } + + /** + * Returns all system properties for the specified directory, and can also be used to check the + * existence of a directory. The data returned does not include the files in the directory or any + * subdirectories. + * @param [options] The optional parameters + * @returns Promise + */ + getProperties( + options?: Models.DirectoryGetPropertiesOptionalParams + ): Promise; + /** + * @param callback The callback + */ + getProperties(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + getProperties( + options: Models.DirectoryGetPropertiesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + getProperties( + options?: Models.DirectoryGetPropertiesOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + getPropertiesOperationSpec, + callback + ) as Promise; + } + + /** + * Removes the specified empty directory. Note that the directory must be empty before it can be + * deleted. + * @param [options] The optional parameters + * @returns Promise + */ + deleteMethod( + options?: Models.DirectoryDeleteMethodOptionalParams + ): Promise; + /** + * @param callback The callback + */ + deleteMethod(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + deleteMethod( + options: Models.DirectoryDeleteMethodOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + deleteMethod( + options?: Models.DirectoryDeleteMethodOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + deleteMethodOperationSpec, + callback + ) as Promise; + } + + /** + * Updates user defined metadata for the specified directory. + * @param [options] The optional parameters + * @returns Promise + */ + setMetadata( + options?: Models.DirectorySetMetadataOptionalParams + ): Promise; + /** + * @param callback The callback + */ + setMetadata(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + setMetadata( + options: Models.DirectorySetMetadataOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + setMetadata( + options?: Models.DirectorySetMetadataOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + setMetadataOperationSpec, + callback + ) as Promise; + } + + /** + * Returns a list of files or directories under the specified share or directory. It lists the + * contents only for a single level of the directory hierarchy. + * @param [options] The optional parameters + * @returns Promise + */ + listFilesAndDirectoriesSegment( + options?: Models.DirectoryListFilesAndDirectoriesSegmentOptionalParams + ): Promise; + /** + * @param callback The callback + */ + listFilesAndDirectoriesSegment( + callback: coreHttp.ServiceCallback + ): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listFilesAndDirectoriesSegment( + options: Models.DirectoryListFilesAndDirectoriesSegmentOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + listFilesAndDirectoriesSegment( + options?: + | Models.DirectoryListFilesAndDirectoriesSegmentOptionalParams + | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + listFilesAndDirectoriesSegmentOperationSpec, + callback + ) as Promise; + } + + /** + * Lists handles for directory. + * @param [options] The optional parameters + * @returns Promise + */ + listHandles( + options?: Models.DirectoryListHandlesOptionalParams + ): Promise; + /** + * @param callback The callback + */ + listHandles(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listHandles( + options: Models.DirectoryListHandlesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + listHandles( + options?: + | Models.DirectoryListHandlesOptionalParams + | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + listHandlesOperationSpec, + callback + ) as Promise; + } + + /** + * Closes all handles open for given directory. + * @param handleId Specifies handle ID opened on the file or directory to be closed. Asterix (‘*’) + * is a wildcard that specifies all handles. + * @param [options] The optional parameters + * @returns Promise + */ + forceCloseHandles( + handleId: string, + options?: Models.DirectoryForceCloseHandlesOptionalParams + ): Promise; + /** + * @param handleId Specifies handle ID opened on the file or directory to be closed. Asterix (‘*’) + * is a wildcard that specifies all handles. + * @param callback The callback + */ + forceCloseHandles(handleId: string, callback: coreHttp.ServiceCallback): void; + /** + * @param handleId Specifies handle ID opened on the file or directory to be closed. Asterix (‘*’) + * is a wildcard that specifies all handles. + * @param options The optional parameters + * @param callback The callback + */ + forceCloseHandles( + handleId: string, + options: Models.DirectoryForceCloseHandlesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + forceCloseHandles( + handleId: string, + options?: Models.DirectoryForceCloseHandlesOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + handleId, + options + }, + forceCloseHandlesOperationSpec, + callback + ) as Promise; + } +} + +// Operation Specifications +const serializer = new coreHttp.Serializer(Mappers, true); +const createOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{shareName}/{directory}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.restype2], + headerParameters: [Parameters.metadata, Parameters.version], + responses: { + 201: { + headersMapper: Mappers.DirectoryCreateHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const getPropertiesOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "{shareName}/{directory}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.sharesnapshot, Parameters.timeout, Parameters.restype2], + headerParameters: [Parameters.version], + responses: { + 200: { + headersMapper: Mappers.DirectoryGetPropertiesHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const deleteMethodOperationSpec: coreHttp.OperationSpec = { + httpMethod: "DELETE", + path: "{shareName}/{directory}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.restype2], + headerParameters: [Parameters.version], + responses: { + 202: { + headersMapper: Mappers.DirectoryDeleteHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const setMetadataOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{shareName}/{directory}", + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.restype2, Parameters.comp3], + headerParameters: [Parameters.metadata, Parameters.version], + responses: { + 200: { + headersMapper: Mappers.DirectorySetMetadataHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const listFilesAndDirectoriesSegmentOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "{shareName}/{directory}", + urlParameters: [Parameters.url], + queryParameters: [ + Parameters.prefix, + Parameters.sharesnapshot, + Parameters.marker, + Parameters.maxresults, + Parameters.timeout, + Parameters.restype2, + Parameters.comp1 + ], + headerParameters: [Parameters.version], + responses: { + 200: { + bodyMapper: Mappers.ListFilesAndDirectoriesSegmentResponse, + headersMapper: Mappers.DirectoryListFilesAndDirectoriesSegmentHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const listHandlesOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "{shareName}/{directory}", + urlParameters: [Parameters.url], + queryParameters: [ + Parameters.marker, + Parameters.maxresults, + Parameters.timeout, + Parameters.sharesnapshot, + Parameters.comp6 + ], + headerParameters: [Parameters.recursive, Parameters.version], + responses: { + 200: { + bodyMapper: Mappers.ListHandlesResponse, + headersMapper: Mappers.DirectoryListHandlesHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const forceCloseHandlesOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{shareName}/{directory}", + urlParameters: [Parameters.url], + queryParameters: [ + Parameters.timeout, + Parameters.marker, + Parameters.sharesnapshot, + Parameters.comp7 + ], + headerParameters: [Parameters.handleId, Parameters.recursive, Parameters.version], + responses: { + 200: { + headersMapper: Mappers.DirectoryForceCloseHandlesHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; diff --git a/sdk/storage/storage-file/src/generated/lib/operations/file.ts b/sdk/storage/storage-file/src/generated/src/operations/file.ts similarity index 62% rename from sdk/storage/storage-file/src/generated/lib/operations/file.ts rename to sdk/storage/storage-file/src/generated/src/operations/file.ts index f585f3ea017a..ef21a4ed3f0e 100644 --- a/sdk/storage/storage-file/src/generated/lib/operations/file.ts +++ b/sdk/storage/storage-file/src/generated/src/operations/file.ts @@ -32,7 +32,10 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - create(fileContentLength: number, options?: Models.FileCreateOptionalParams): Promise; + create( + fileContentLength: number, + options?: Models.FileCreateOptionalParams + ): Promise; /** * @param fileContentLength Specifies the maximum size for the file, up to 1 TB. * @param callback The callback @@ -43,15 +46,24 @@ export class File { * @param options The optional parameters * @param callback The callback */ - create(fileContentLength: number, options: Models.FileCreateOptionalParams, callback: coreHttp.ServiceCallback): void; - create(fileContentLength: number, options?: Models.FileCreateOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + create( + fileContentLength: number, + options: Models.FileCreateOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + create( + fileContentLength: number, + options?: Models.FileCreateOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { fileContentLength, options }, createOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -68,14 +80,21 @@ export class File { * @param options The optional parameters * @param callback The callback */ - download(options: Models.FileDownloadOptionalParams, callback: coreHttp.ServiceCallback): void; - download(options?: Models.FileDownloadOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + download( + options: Models.FileDownloadOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + download( + options?: Models.FileDownloadOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, downloadOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -84,7 +103,9 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - getProperties(options?: Models.FileGetPropertiesOptionalParams): Promise; + getProperties( + options?: Models.FileGetPropertiesOptionalParams + ): Promise; /** * @param callback The callback */ @@ -93,14 +114,21 @@ export class File { * @param options The optional parameters * @param callback The callback */ - getProperties(options: Models.FileGetPropertiesOptionalParams, callback: coreHttp.ServiceCallback): void; - getProperties(options?: Models.FileGetPropertiesOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + getProperties( + options: Models.FileGetPropertiesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + getProperties( + options?: Models.FileGetPropertiesOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, getPropertiesOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -117,14 +145,21 @@ export class File { * @param options The optional parameters * @param callback The callback */ - deleteMethod(options: Models.FileDeleteMethodOptionalParams, callback: coreHttp.ServiceCallback): void; - deleteMethod(options?: Models.FileDeleteMethodOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + deleteMethod( + options: Models.FileDeleteMethodOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + deleteMethod( + options?: Models.FileDeleteMethodOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, deleteMethodOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -132,7 +167,9 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - setHTTPHeaders(options?: Models.FileSetHTTPHeadersOptionalParams): Promise; + setHTTPHeaders( + options?: Models.FileSetHTTPHeadersOptionalParams + ): Promise; /** * @param callback The callback */ @@ -141,14 +178,21 @@ export class File { * @param options The optional parameters * @param callback The callback */ - setHTTPHeaders(options: Models.FileSetHTTPHeadersOptionalParams, callback: coreHttp.ServiceCallback): void; - setHTTPHeaders(options?: Models.FileSetHTTPHeadersOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + setHTTPHeaders( + options: Models.FileSetHTTPHeadersOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + setHTTPHeaders( + options?: Models.FileSetHTTPHeadersOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, setHTTPHeadersOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -156,7 +200,9 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - setMetadata(options?: Models.FileSetMetadataOptionalParams): Promise; + setMetadata( + options?: Models.FileSetMetadataOptionalParams + ): Promise; /** * @param callback The callback */ @@ -165,14 +211,21 @@ export class File { * @param options The optional parameters * @param callback The callback */ - setMetadata(options: Models.FileSetMetadataOptionalParams, callback: coreHttp.ServiceCallback): void; - setMetadata(options?: Models.FileSetMetadataOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + setMetadata( + options: Models.FileSetMetadataOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + setMetadata( + options?: Models.FileSetMetadataOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, setMetadataOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -193,7 +246,12 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - uploadRange(range: string, fileRangeWrite: Models.FileRangeWriteType, contentLength: number, options?: Models.FileUploadRangeOptionalParams): Promise; + uploadRange( + range: string, + fileRangeWrite: Models.FileRangeWriteType, + contentLength: number, + options?: Models.FileUploadRangeOptionalParams + ): Promise; /** * @param range Specifies the range of bytes to be written. Both the start and end of the range * must be specified. For an update operation, the range can be up to 4 MB in size. For a clear @@ -210,7 +268,12 @@ export class File { * the x-ms-write header is set to clear, the value of this header must be set to zero. * @param callback The callback */ - uploadRange(range: string, fileRangeWrite: Models.FileRangeWriteType, contentLength: number, callback: coreHttp.ServiceCallback): void; + uploadRange( + range: string, + fileRangeWrite: Models.FileRangeWriteType, + contentLength: number, + callback: coreHttp.ServiceCallback + ): void; /** * @param range Specifies the range of bytes to be written. Both the start and end of the range * must be specified. For an update operation, the range can be up to 4 MB in size. For a clear @@ -228,8 +291,20 @@ export class File { * @param options The optional parameters * @param callback The callback */ - uploadRange(range: string, fileRangeWrite: Models.FileRangeWriteType, contentLength: number, options: Models.FileUploadRangeOptionalParams, callback: coreHttp.ServiceCallback): void; - uploadRange(range: string, fileRangeWrite: Models.FileRangeWriteType, contentLength: number, options?: Models.FileUploadRangeOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + uploadRange( + range: string, + fileRangeWrite: Models.FileRangeWriteType, + contentLength: number, + options: Models.FileUploadRangeOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + uploadRange( + range: string, + fileRangeWrite: Models.FileRangeWriteType, + contentLength: number, + options?: Models.FileUploadRangeOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { range, @@ -238,7 +313,8 @@ export class File { options }, uploadRangeOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -246,7 +322,9 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - getRangeList(options?: Models.FileGetRangeListOptionalParams): Promise; + getRangeList( + options?: Models.FileGetRangeListOptionalParams + ): Promise; /** * @param callback The callback */ @@ -255,14 +333,21 @@ export class File { * @param options The optional parameters * @param callback The callback */ - getRangeList(options: Models.FileGetRangeListOptionalParams, callback: coreHttp.ServiceCallback): void; - getRangeList(options?: Models.FileGetRangeListOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + getRangeList( + options: Models.FileGetRangeListOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + getRangeList( + options?: Models.FileGetRangeListOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { options }, getRangeListOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -277,7 +362,10 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - startCopy(copySource: string, options?: Models.FileStartCopyOptionalParams): Promise; + startCopy( + copySource: string, + options?: Models.FileStartCopyOptionalParams + ): Promise; /** * @param copySource Specifies the URL of the source file or blob, up to 2 KB in length. To copy a * file to another file within the same storage account, you may use Shared Key to authenticate the @@ -300,15 +388,24 @@ export class File { * @param options The optional parameters * @param callback The callback */ - startCopy(copySource: string, options: Models.FileStartCopyOptionalParams, callback: coreHttp.ServiceCallback): void; - startCopy(copySource: string, options?: Models.FileStartCopyOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + startCopy( + copySource: string, + options: Models.FileStartCopyOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + startCopy( + copySource: string, + options?: Models.FileStartCopyOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { copySource, options }, startCopyOperationSpec, - callback) as Promise; + callback + ) as Promise; } /** @@ -319,7 +416,10 @@ export class File { * @param [options] The optional parameters * @returns Promise */ - abortCopy(copyId: string, options?: Models.FileAbortCopyOptionalParams): Promise; + abortCopy( + copyId: string, + options?: Models.FileAbortCopyOptionalParams + ): Promise; /** * @param copyId The copy identifier provided in the x-ms-copy-id header of the original Copy File * operation. @@ -332,15 +432,102 @@ export class File { * @param options The optional parameters * @param callback The callback */ - abortCopy(copyId: string, options: Models.FileAbortCopyOptionalParams, callback: coreHttp.ServiceCallback): void; - abortCopy(copyId: string, options?: Models.FileAbortCopyOptionalParams | coreHttp.ServiceCallback, callback?: coreHttp.ServiceCallback): Promise { + abortCopy( + copyId: string, + options: Models.FileAbortCopyOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + abortCopy( + copyId: string, + options?: Models.FileAbortCopyOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { return this.client.sendOperationRequest( { copyId, options }, abortCopyOperationSpec, - callback) as Promise; + callback + ) as Promise; + } + + /** + * Lists handles for file + * @param [options] The optional parameters + * @returns Promise + */ + listHandles( + options?: Models.FileListHandlesOptionalParams + ): Promise; + /** + * @param callback The callback + */ + listHandles(callback: coreHttp.ServiceCallback): void; + /** + * @param options The optional parameters + * @param callback The callback + */ + listHandles( + options: Models.FileListHandlesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + listHandles( + options?: + | Models.FileListHandlesOptionalParams + | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + options + }, + listHandlesOperationSpec, + callback + ) as Promise; + } + + /** + * Closes all handles open for given file + * @param handleId Specifies handle ID opened on the file or directory to be closed. Asterix (‘*’) + * is a wildcard that specifies all handles. + * @param [options] The optional parameters + * @returns Promise + */ + forceCloseHandles( + handleId: string, + options?: Models.FileForceCloseHandlesOptionalParams + ): Promise; + /** + * @param handleId Specifies handle ID opened on the file or directory to be closed. Asterix (‘*’) + * is a wildcard that specifies all handles. + * @param callback The callback + */ + forceCloseHandles(handleId: string, callback: coreHttp.ServiceCallback): void; + /** + * @param handleId Specifies handle ID opened on the file or directory to be closed. Asterix (‘*’) + * is a wildcard that specifies all handles. + * @param options The optional parameters + * @param callback The callback + */ + forceCloseHandles( + handleId: string, + options: Models.FileForceCloseHandlesOptionalParams, + callback: coreHttp.ServiceCallback + ): void; + forceCloseHandles( + handleId: string, + options?: Models.FileForceCloseHandlesOptionalParams | coreHttp.ServiceCallback, + callback?: coreHttp.ServiceCallback + ): Promise { + return this.client.sendOperationRequest( + { + handleId, + options + }, + forceCloseHandlesOperationSpec, + callback + ) as Promise; } } @@ -349,23 +536,19 @@ const serializer = new coreHttp.Serializer(Mappers, true); const createOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout], headerParameters: [ Parameters.version, Parameters.fileContentLength0, Parameters.fileTypeConstant, + Parameters.metadata, Parameters.fileContentType, Parameters.fileContentEncoding, Parameters.fileContentLanguage, Parameters.fileCacheControl, Parameters.fileContentMD5, - Parameters.fileContentDisposition, - Parameters.metadata + Parameters.fileContentDisposition ], responses: { 201: { @@ -382,17 +565,9 @@ const createOperationSpec: coreHttp.OperationSpec = { const downloadOperationSpec: coreHttp.OperationSpec = { httpMethod: "GET", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout - ], - headerParameters: [ - Parameters.version, - Parameters.range0, - Parameters.rangeGetContentMD5 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout], + headerParameters: [Parameters.version, Parameters.range0, Parameters.rangeGetContentMD5], responses: { 200: { bodyMapper: { @@ -423,16 +598,9 @@ const downloadOperationSpec: coreHttp.OperationSpec = { const getPropertiesOperationSpec: coreHttp.OperationSpec = { httpMethod: "HEAD", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.sharesnapshot, - Parameters.timeout - ], - headerParameters: [ - Parameters.version - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.sharesnapshot, Parameters.timeout], + headerParameters: [Parameters.version], responses: { 200: { headersMapper: Mappers.FileGetPropertiesHeaders @@ -448,15 +616,9 @@ const getPropertiesOperationSpec: coreHttp.OperationSpec = { const deleteMethodOperationSpec: coreHttp.OperationSpec = { httpMethod: "DELETE", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout - ], - headerParameters: [ - Parameters.version - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout], + headerParameters: [Parameters.version], responses: { 202: { headersMapper: Mappers.FileDeleteHeaders @@ -472,13 +634,8 @@ const deleteMethodOperationSpec: coreHttp.OperationSpec = { const setHTTPHeadersOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp0 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp0], headerParameters: [ Parameters.version, Parameters.fileContentLength1, @@ -504,17 +661,9 @@ const setHTTPHeadersOperationSpec: coreHttp.OperationSpec = { const setMetadataOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp3 - ], - headerParameters: [ - Parameters.metadata, - Parameters.version - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp3], + headerParameters: [Parameters.metadata, Parameters.version], responses: { 200: { headersMapper: Mappers.FileSetMetadataHeaders @@ -530,13 +679,8 @@ const setMetadataOperationSpec: coreHttp.OperationSpec = { const uploadRangeOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout, - Parameters.comp6 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout, Parameters.comp8], headerParameters: [ Parameters.range1, Parameters.fileRangeWrite, @@ -545,10 +689,7 @@ const uploadRangeOperationSpec: coreHttp.OperationSpec = { Parameters.version ], requestBody: { - parameterPath: [ - "options", - "optionalbody" - ], + parameterPath: ["options", "optionalbody"], mapper: { serializedName: "optionalbody", type: { @@ -572,18 +713,9 @@ const uploadRangeOperationSpec: coreHttp.OperationSpec = { const getRangeListOperationSpec: coreHttp.OperationSpec = { httpMethod: "GET", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.sharesnapshot, - Parameters.timeout, - Parameters.comp7 - ], - headerParameters: [ - Parameters.version, - Parameters.range0 - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.sharesnapshot, Parameters.timeout, Parameters.comp9], + headerParameters: [Parameters.version, Parameters.range0], responses: { 200: { bodyMapper: { @@ -612,17 +744,9 @@ const getRangeListOperationSpec: coreHttp.OperationSpec = { const startCopyOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], - queryParameters: [ - Parameters.timeout - ], - headerParameters: [ - Parameters.version, - Parameters.metadata, - Parameters.copySource - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.timeout], + headerParameters: [Parameters.version, Parameters.metadata, Parameters.copySource], responses: { 202: { headersMapper: Mappers.FileStartCopyHeaders @@ -638,21 +762,60 @@ const startCopyOperationSpec: coreHttp.OperationSpec = { const abortCopyOperationSpec: coreHttp.OperationSpec = { httpMethod: "PUT", path: "{shareName}/{directory}/{fileName}", - urlParameters: [ - Parameters.url - ], + urlParameters: [Parameters.url], + queryParameters: [Parameters.copyId, Parameters.timeout, Parameters.comp10], + headerParameters: [Parameters.copyActionAbortConstant, Parameters.version], + responses: { + 204: { + headersMapper: Mappers.FileAbortCopyHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const listHandlesOperationSpec: coreHttp.OperationSpec = { + httpMethod: "GET", + path: "{shareName}/{directory}/{fileName}", + urlParameters: [Parameters.url], queryParameters: [ - Parameters.copyId, + Parameters.marker, + Parameters.maxresults, Parameters.timeout, - Parameters.comp8 + Parameters.sharesnapshot, + Parameters.comp6 ], - headerParameters: [ - Parameters.copyActionAbortConstant, - Parameters.version + headerParameters: [Parameters.version], + responses: { + 200: { + bodyMapper: Mappers.ListHandlesResponse, + headersMapper: Mappers.FileListHandlesHeaders + }, + default: { + bodyMapper: Mappers.StorageError + } + }, + isXML: true, + serializer +}; + +const forceCloseHandlesOperationSpec: coreHttp.OperationSpec = { + httpMethod: "PUT", + path: "{shareName}/{directory}/{fileName}", + urlParameters: [Parameters.url], + queryParameters: [ + Parameters.timeout, + Parameters.marker, + Parameters.sharesnapshot, + Parameters.comp7 ], + headerParameters: [Parameters.handleId, Parameters.version], responses: { - 204: { - headersMapper: Mappers.FileAbortCopyHeaders + 200: { + headersMapper: Mappers.FileForceCloseHandlesHeaders }, default: { bodyMapper: Mappers.StorageError diff --git a/sdk/storage/storage-file/src/generated/lib/operations/index.ts b/sdk/storage/storage-file/src/generated/src/operations/index.ts similarity index 100% rename from sdk/storage/storage-file/src/generated/lib/operations/index.ts rename to sdk/storage/storage-file/src/generated/src/operations/index.ts diff --git a/sdk/storage/storage-file/src/generated/lib/operations/service.ts b/sdk/storage/storage-file/src/generated/src/operations/service.ts similarity index 100% rename from sdk/storage/storage-file/src/generated/lib/operations/service.ts rename to sdk/storage/storage-file/src/generated/src/operations/service.ts diff --git a/sdk/storage/storage-file/src/generated/lib/operations/share.ts b/sdk/storage/storage-file/src/generated/src/operations/share.ts similarity index 100% rename from sdk/storage/storage-file/src/generated/lib/operations/share.ts rename to sdk/storage/storage-file/src/generated/src/operations/share.ts diff --git a/sdk/storage/storage-file/src/generated/lib/storageClient.ts b/sdk/storage/storage-file/src/generated/src/storageClient.ts similarity index 80% rename from sdk/storage/storage-file/src/generated/lib/storageClient.ts rename to sdk/storage/storage-file/src/generated/src/storageClient.ts index 82f6af41ecc4..feb0f1832199 100644 --- a/sdk/storage/storage-file/src/generated/lib/storageClient.ts +++ b/sdk/storage/storage-file/src/generated/src/storageClient.ts @@ -23,12 +23,13 @@ class StorageClient extends StorageClientContext { /** * Initializes a new instance of the StorageClient class. + * @param version Specifies the version of the operation to use for this request. * @param url The URL of the service account, share, directory or file that is the target of the * desired operation. * @param [options] The parameter options */ - constructor(url: string, options?: coreHttp.ServiceClientOptions) { - super(url, options); + constructor(version: string, url: string, options?: coreHttp.ServiceClientOptions) { + super(version, url, options); this.service = new operations.Service(this); this.share = new operations.Share(this); this.directory = new operations.Directory(this); @@ -38,10 +39,5 @@ class StorageClient extends StorageClientContext { // Operation Specifications -export { - StorageClient, - StorageClientContext, - Models as StorageModels, - Mappers as StorageMappers -}; +export { StorageClient, StorageClientContext, Models as StorageModels, Mappers as StorageMappers }; export * from "./operations"; diff --git a/sdk/storage/storage-file/src/generated/lib/storageClientContext.ts b/sdk/storage/storage-file/src/generated/src/storageClientContext.ts similarity index 81% rename from sdk/storage/storage-file/src/generated/lib/storageClientContext.ts rename to sdk/storage/storage-file/src/generated/src/storageClientContext.ts index 2dc21b4a1eba..4332abcdfe15 100644 --- a/sdk/storage/storage-file/src/generated/lib/storageClientContext.ts +++ b/sdk/storage/storage-file/src/generated/src/storageClientContext.ts @@ -19,11 +19,15 @@ export class StorageClientContext extends coreHttp.ServiceClient { /** * Initializes a new instance of the StorageClientContext class. + * @param version Specifies the version of the operation to use for this request. * @param url The URL of the service account, share, directory or file that is the target of the * desired operation. * @param [options] The parameter options */ - constructor(url: string, options?: coreHttp.ServiceClientOptions) { + constructor(version: string, url: string, options?: coreHttp.ServiceClientOptions) { + if (version == undefined) { + throw new Error("'version' cannot be null."); + } if (url == undefined) { throw new Error("'url' cannot be null."); } @@ -39,9 +43,9 @@ export class StorageClientContext extends coreHttp.ServiceClient { super(undefined, options); - this.version = '2018-03-28'; this.baseUri = "{url}"; this.requestContentType = "application/json; charset=utf-8"; + this.version = version; this.url = url; } } diff --git a/sdk/storage/storage-file/src/index.browser.ts b/sdk/storage/storage-file/src/index.browser.ts index 835fd0b9b725..180565d29cc0 100644 --- a/sdk/storage/storage-file/src/index.browser.ts +++ b/sdk/storage/storage-file/src/index.browser.ts @@ -3,7 +3,7 @@ import { RestError } from "@azure/core-http"; -import * as Models from "../src/generated/lib/models"; +import * as Models from "./generated/src/models"; export * from "./ShareClient"; export * from "./DirectoryClient"; diff --git a/sdk/storage/storage-file/src/index.ts b/sdk/storage/storage-file/src/index.ts index f96c6bc19c09..32e972b5b719 100644 --- a/sdk/storage/storage-file/src/index.ts +++ b/sdk/storage/storage-file/src/index.ts @@ -3,7 +3,7 @@ import { RestError } from "@azure/core-http"; -import * as Models from "../src/generated/lib/models"; +import * as Models from "./generated/src/models"; export * from "./AccountSASPermissions"; export * from "./AccountSASResourceTypes"; diff --git a/sdk/storage/storage-file/src/policies/KeepAlivePolicy.ts b/sdk/storage/storage-file/src/policies/KeepAlivePolicy.ts new file mode 100644 index 000000000000..dbae734f58d4 --- /dev/null +++ b/sdk/storage/storage-file/src/policies/KeepAlivePolicy.ts @@ -0,0 +1,45 @@ +import { + BaseRequestPolicy, + HttpOperationResponse, + RequestPolicy, + RequestPolicyOptions, + WebResource +} from "@azure/core-http"; + +import { KeepAliveOptions } from "../KeepAlivePolicyFactory"; + +/** + * KeepAlivePolicy is a policy used to control keep alive settings for every request. + * + * @class KeepAlivePolicy + * @extends {BaseRequestPolicy} + */ +export class KeepAlivePolicy extends BaseRequestPolicy { + /** + * Creates an instance of KeepAlivePolicy. + * + * @param {RequestPolicy} nextPolicy + * @param {RequestPolicyOptions} options + * @param {IKeepAliveOptions} [keepAliveOptions] + * @memberof KeepAlivePolicy + */ + constructor( + nextPolicy: RequestPolicy, + options: RequestPolicyOptions, + private readonly keepAliveOptions: KeepAliveOptions + ) { + super(nextPolicy, options); + } + + /** + * Sends out request. + * + * @param {WebResource} request + * @returns {Promise} + * @memberof KeepAlivePolicy + */ + public async sendRequest(request: WebResource): Promise { + request.keepAlive = this.keepAliveOptions.enable; + return this._nextPolicy.sendRequest(request); + } +} diff --git a/sdk/storage/storage-file/src/policies/RetryPolicy.ts b/sdk/storage/storage-file/src/policies/RetryPolicy.ts index ab3cfbf4765d..1c334a124dcd 100644 --- a/sdk/storage/storage-file/src/policies/RetryPolicy.ts +++ b/sdk/storage/storage-file/src/policies/RetryPolicy.ts @@ -2,8 +2,8 @@ // Licensed under the MIT License. import { + AbortSignalLike, BaseRequestPolicy, - delay, HttpOperationResponse, HttpPipelineLogLevel, RequestPolicy, @@ -15,7 +15,7 @@ import { import { RetryOptions } from "../RetryPolicyFactory"; import { URLConstants } from "../utils/constants"; -import { setURLParameter } from "../utils/utils.common"; +import { delay, setURLParameter } from "../utils/utils.common"; /** * A factory method used to generated a RetryPolicy factory. @@ -58,6 +58,8 @@ const DEFAULT_RETRY_OPTIONS: RetryOptions = { tryTimeoutInMs: undefined // Use server side default timeout strategy }; +const RETRY_ABORT_ERROR = new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR); + /** * Retry policy with exponential retry and linear retry implemented. * @@ -187,7 +189,7 @@ export class RetryPolicy extends BaseRequestPolicy { } } - await this.delay(isPrimaryRetry, attempt); + await this.delay(isPrimaryRetry, attempt, request.abortSignal); return await this.attemptSendRequest(request, secondaryHas404, ++attempt); } @@ -234,7 +236,7 @@ export class RetryPolicy extends BaseRequestPolicy { if ( err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || - (err.code && err.code.toUpperCase().includes(retriableError)) + (err.code && err.code.toString().toUpperCase().includes(retriableError)) ) { this.logf( HttpPipelineLogLevel.INFO, @@ -288,10 +290,11 @@ export class RetryPolicy extends BaseRequestPolicy { * @private * @param {boolean} isPrimaryRetry * @param {number} attempt + * @param {AbortSignalLike} [abortSignal] * @returns * @memberof RetryPolicy */ - private async delay(isPrimaryRetry: boolean, attempt: number) { + private async delay(isPrimaryRetry: boolean, attempt: number, abortSignal?: AbortSignalLike) { let delayTimeInMs: number = 0; if (isPrimaryRetry) { @@ -311,6 +314,6 @@ export class RetryPolicy extends BaseRequestPolicy { } this.logf(HttpPipelineLogLevel.INFO, `RetryPolicy: Delay for ${delayTimeInMs}ms`); - return delay(delayTimeInMs); + return delay(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR); } } diff --git a/sdk/storage/storage-file/src/utils/RetriableReadableStream.ts b/sdk/storage/storage-file/src/utils/RetriableReadableStream.ts index 19d7f1e63859..f259a9c27a89 100644 --- a/sdk/storage/storage-file/src/utils/RetriableReadableStream.ts +++ b/sdk/storage/storage-file/src/utils/RetriableReadableStream.ts @@ -39,6 +39,8 @@ export interface RetriableReadableStreamOptions { doInjectErrorOnce?: boolean; } +const ABORT_ERROR = new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR); + /** * ONLY AVAILABLE IN NODE.JS RUNTIME. * @@ -58,6 +60,10 @@ export class RetriableReadableStream extends Readable { private maxRetryRequests: number; private progress?: (progress: TransferProgressEvent) => void; private options: RetriableReadableStreamOptions; + private abortHandler = () => { + this.source.pause(); + this.emit("error", ABORT_ERROR); + }; /** * Creates an instance of RetriableReadableStream. @@ -90,10 +96,7 @@ export class RetriableReadableStream extends Readable { this.progress = options.progress; this.options = options; - aborter.addEventListener("abort", () => { - this.source.pause(); - this.emit("error", new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR)); - }); + aborter.addEventListener("abort", this.abortHandler); this.setSourceDataHandler(); this.setSourceEndHandler(); @@ -137,6 +140,7 @@ export class RetriableReadableStream extends Readable { // }, dest end : ${this.end}` // ); if (this.offset - 1 === this.end) { + this.aborter.removeEventListener("abort", this.abortHandler); this.push(null); } else if (this.offset <= this.end) { // console.log( diff --git a/sdk/storage/storage-file/src/utils/constants.ts b/sdk/storage/storage-file/src/utils/constants.ts index 9ea0004dd8df..967216f7f131 100644 --- a/sdk/storage/storage-file/src/utils/constants.ts +++ b/sdk/storage/storage-file/src/utils/constants.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. export const SDK_VERSION: string = "12.0.0-preview.2"; -export const SERVICE_VERSION: string = "2018-03-28"; +export const SERVICE_VERSION: string = "2018-11-09"; export const FILE_MAX_SIZE_BYTES: number = 1024 * 1024 * 1024 * 1024; // 1TB export const FILE_RANGE_MAX_SIZE_BYTES: number = 4 * 1024 * 1024; // 4MB diff --git a/sdk/storage/storage-file/src/utils/utils.common.ts b/sdk/storage/storage-file/src/utils/utils.common.ts index 1074b8441d08..b73775fd7a7d 100644 --- a/sdk/storage/storage-file/src/utils/utils.common.ts +++ b/sdk/storage/storage-file/src/utils/utils.common.ts @@ -2,6 +2,7 @@ // Licensed under the MIT License. import * as fs from "fs"; +import { AbortSignalLike } from "@azure/abort-controller"; import { HttpHeaders, isNode, URLBuilder } from "@azure/core-http"; import { HeaderConstants, URLConstants } from "./constants"; @@ -258,7 +259,7 @@ export function getURLQueries(url: string): { [key: string]: string } { const indexOfEqual = value.indexOf("="); const lastIndexOfEqual = value.lastIndexOf("="); return ( - indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual && lastIndexOfEqual < value.length - 1 + indexOfEqual > 0 && indexOfEqual === lastIndexOfEqual ); }); @@ -313,6 +314,39 @@ export function base64decode(encodedString: string): string { return !isNode ? atob(encodedString) : Buffer.from(encodedString, "base64").toString(); } +/** + * Delay specified time interval. + * + * @export + * @param {number} timeInMs + * @param {AbortSignalLike} [aborter] + * @param {Error} [abortError] + */ +export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error) { + return new Promise((resolve, reject) => { + let timeout: any; + + const abortHandler = () => { + if (timeout !== undefined) { + clearTimeout(timeout); + } + reject(abortError); + }; + + const resolveHandler = () => { + if (aborter !== undefined) { + aborter.removeEventListener("abort", abortHandler); + } + resolve(); + }; + + timeout = setTimeout(resolveHandler, timeInMs); + if (aborter !== undefined) { + aborter.addEventListener("abort", abortHandler); + } + }); +} + /** * String.prototype.padStart() * diff --git a/sdk/storage/storage-file/swagger/README.md b/sdk/storage/storage-file/swagger/README.md index 152613baed77..496db2595f36 100644 --- a/sdk/storage/storage-file/swagger/README.md +++ b/sdk/storage/storage-file/swagger/README.md @@ -10,7 +10,7 @@ enable-xml: true generate-metadata: false license-header: MICROSOFT_MIT_NO_VERSION output-folder: ../src/generated -input-file: ./file-storage-2018-03-28.json +input-file: ./file-storage-2018-11-09.json model-date-time-as-string: true optional-response-headers: true ``` diff --git a/sdk/storage/storage-file/test/directoryclient.spec.ts b/sdk/storage/storage-file/test/directoryclient.spec.ts index 95ebd67ef734..7380883e1858 100644 --- a/sdk/storage/storage-file/test/directoryclient.spec.ts +++ b/sdk/storage/storage-file/test/directoryclient.spec.ts @@ -3,6 +3,7 @@ import { getBSU } from "./utils"; import * as dotenv from "dotenv"; import { ShareClient, DirectoryClient } from "../src"; import { record } from "./utils/recorder"; +import { DirectoryForceCloseHandlesResponse } from "../src/generated/src/models"; dotenv.config({ path: "../.env" }); describe("DirectoryClient", () => { @@ -260,7 +261,7 @@ describe("DirectoryClient", () => { subFileClients.push(subFileClient); } - let iter = await rootDirClient.listFilesAndDirectories({ prefix }); + const iter = await rootDirClient.listFilesAndDirectories({ prefix }); let entity = (await iter.next()).value; assert.ok(entity.name.startsWith(prefix)); if (entity.kind == "file") { @@ -436,4 +437,45 @@ describe("DirectoryClient", () => { } await subDirClient.delete(); }); + + it("listHandles should work", async () => { + // TODO: Open or create a handle; Currently can only be done manually; No REST APIs for creating handles + + const result = await dirClient.listHandlesSegment(undefined); + if (result.handleList !== undefined && result.handleList.length > 0) { + const handle = result.handleList[0]; + assert.notDeepStrictEqual(handle.handleId, undefined); + assert.notDeepStrictEqual(handle.path, undefined); + assert.notDeepStrictEqual(handle.fileId, undefined); + assert.notDeepStrictEqual(handle.sessionId, undefined); + assert.notDeepStrictEqual(handle.clientIp, undefined); + assert.notDeepStrictEqual(handle.openTime, undefined); + } + }); + + it("forceCloseHandlesSegment should work", async () => { + // TODO: Open or create a handle; Currently can only be done manually; No REST APIs for creating handles + + let marker: string | undefined = ""; + + do { + const response: DirectoryForceCloseHandlesResponse = await dirClient.forceCloseHandlesSegment( + marker, + { + recursive: true + } + ); + marker = response.marker; + } while (marker); + }); + + it("forceCloseHandle should work", async () => { + // TODO: Open or create a handle; Currently can only be done manually; No REST APIs for creating handles + + const result = await dirClient.listHandlesSegment(undefined); + if (result.handleList !== undefined && result.handleList.length > 0) { + const handle = result.handleList[0]; + await dirClient.forceCloseHandle(handle.handleId); + } + }); }); diff --git a/sdk/storage/storage-file/test/fileclient.spec.ts b/sdk/storage/storage-file/test/fileclient.spec.ts index 9a4fae4bb1d9..1e4deac28b88 100644 --- a/sdk/storage/storage-file/test/fileclient.spec.ts +++ b/sdk/storage/storage-file/test/fileclient.spec.ts @@ -5,6 +5,7 @@ import { record, delay } from "./utils/recorder"; import * as dotenv from "dotenv"; import { ShareClient, DirectoryClient, FileClient } from "../src"; import { getBSU, bodyToString } from "./utils"; +import { FileForceCloseHandlesResponse } from "../src/generated/src/models"; dotenv.config({ path: "../.env" }); describe("FileClient", () => { @@ -261,6 +262,16 @@ describe("FileClient", () => { assert.deepStrictEqual(await bodyToString(result, content.length), content); }); + it("download should not have aborted error after download finishes", async () => { + await fileClient.create(content.length); + await fileClient.uploadRange(content, 0, content.length); + + const aborter = new AbortController(); + const result = await fileClient.download(0, undefined, { abortSignal: aborter.signal }); + assert.deepStrictEqual(await bodyToString(result, content.length), content); + aborter.abort(); + }); + it("download all parameters set", async () => { await fileClient.create(content.length); await fileClient.uploadRange(content, 0, content.length); @@ -311,4 +322,46 @@ describe("FileClient", () => { } catch (err) {} assert.ok(eventTriggered); }); + + it("listHandles should work", async () => { + await fileClient.create(10); + + const result = await fileClient.listHandlesSegment(undefined); + if (result.handleList !== undefined && result.handleList.length > 0) { + const handle = result.handleList[0]; + assert.notDeepStrictEqual(handle.handleId, undefined); + assert.notDeepStrictEqual(handle.path, undefined); + assert.notDeepStrictEqual(handle.fileId, undefined); + assert.notDeepStrictEqual(handle.sessionId, undefined); + assert.notDeepStrictEqual(handle.clientIp, undefined); + assert.notDeepStrictEqual(handle.openTime, undefined); + } + }); + + it("forceCloseHandlesSegment should work", async () => { + await fileClient.create(10); + + // TODO: Open or create a handle + + let marker: string | undefined = ""; + + do { + const response: FileForceCloseHandlesResponse = await fileClient.forceCloseHandlesSegment( + marker + ); + marker = response.marker; + } while (marker); + }); + + it("forceCloseHandle should work", async () => { + await fileClient.create(10); + + // TODO: Open or create a handle + + const result = await fileClient.listHandlesSegment(undefined); + if (result.handleList !== undefined && result.handleList.length > 0) { + const handle = result.handleList[0]; + await dirClient.forceCloseHandle(handle.handleId); + } + }); }); diff --git a/sdk/storage/storage-file/test/node/highlevel.node.spec.ts b/sdk/storage/storage-file/test/node/highlevel.node.spec.ts index c40f54d608c8..716f07c3de1e 100644 --- a/sdk/storage/storage-file/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-file/test/node/highlevel.node.spec.ts @@ -1,4 +1,5 @@ import * as assert from "assert"; +import * as dotenv from "dotenv"; import * as fs from "fs"; import * as path from "path"; import { AbortController } from "@azure/abort-controller"; @@ -7,7 +8,6 @@ import { RetriableReadableStreamOptions } from "../../src/utils/RetriableReadabl import { ShareClient, DirectoryClient, FileClient } from "../../src"; import { readStreamToLocalFile } from "../../src/utils/utils.common"; import { record } from "../utils/recorder"; -import * as dotenv from "dotenv"; dotenv.config({ path: "../.env" }); // tslint:disable:no-empty @@ -218,6 +218,47 @@ describe("Highlevel Node.js only", () => { assert.ok(localFileContent.equals(buf)); }); + it("fileClient.downloadToBuffer should success when downloading a range inside file", async () => { + await fileClient.create(8); + await fileClient.uploadRange("aaaabbbb", 0, 8); + + const buf = Buffer.alloc(4); + await fileClient.downloadToBuffer(buf, 4, 4, { + rangeSize: 4, + maxRetryRequestsPerRange: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "bbbb"); + + await fileClient.downloadToBuffer(buf, 3, 4, { + rangeSize: 4, + maxRetryRequestsPerRange: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "abbb"); + + await fileClient.downloadToBuffer(buf, 2, 4, { + rangeSize: 4, + maxRetryRequestsPerRange: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "aabb"); + + await fileClient.downloadToBuffer(buf, 1, 4, { + rangeSize: 4, + maxRetryRequestsPerRange: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "aaab"); + + await fileClient.downloadToBuffer(buf, 0, 4, { + rangeSize: 4, + maxRetryRequestsPerRange: 5, + parallelism: 1 + }); + assert.deepStrictEqual(buf.toString(), "aaaa"); + }); + it("downloadToBuffer should abort", async () => { const rs = fs.createReadStream(tempFileLarge); await fileClient.uploadStream(rs, tempFileLargeLength, 4 * 1024 * 1024, 20); diff --git a/sdk/storage/storage-file/test/retrypolicy.spec.ts b/sdk/storage/storage-file/test/retrypolicy.spec.ts index d7764da82ee3..a321c9ac4ae7 100644 --- a/sdk/storage/storage-file/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-file/test/retrypolicy.spec.ts @@ -1,10 +1,12 @@ +import * as dotenv from "dotenv"; import * as assert from "assert"; +import { AbortController } from "@azure/abort-controller"; import { RestError, ShareClient } from "../src"; import { newPipeline, Pipeline } from "../src/Pipeline"; import { getBSU } from "./utils"; import { InjectorPolicyFactory } from "./utils/InjectorPolicyFactory"; import { record } from "./utils/recorder"; -import * as dotenv from "dotenv"; + dotenv.config({ path: "../.env" }); describe("RetryPolicy", () => { @@ -50,6 +52,39 @@ describe("RetryPolicy", () => { assert.deepEqual(result.metadata, metadata); }); + it("Retry Policy should abort when abort event trigger during retry interval", async () => { + let injectCounter = 0; + const injector = new InjectorPolicyFactory(() => { + if (injectCounter < 2) { + injectCounter++; + return new RestError("Server Internal Error", "ServerInternalError", 500); + } + }); + + const factories = (shareClient as any).pipeline.factories.slice(); // clone factories array + factories.push(injector); + const pipeline = new Pipeline(factories); + const injectShareClient = new ShareClient(shareClient.url, pipeline); + + const metadata = { + key0: "val0", + keya: "vala", + keyb: "valb" + }; + + let hasError = false; + try { + // Default exponential retry delay is 4000ms. Wait for 2000ms to abort which makes sure the aborter + // happens between 2 requests + await injectShareClient.setMetadata(metadata, { + abortSignal: AbortController.timeout(2 * 1000) + }); + } catch (err) { + hasError = true; + } + assert.ok(hasError); + }); + it("Retry Policy should fail when requests always fail with 500", async () => { const injector = new InjectorPolicyFactory(() => { return new RestError("Server Internal Error", "ServerInternalError", 500); diff --git a/sdk/storage/storage-file/test/utils/recorder.ts b/sdk/storage/storage-file/test/utils/recorder.ts index 072e18c195b4..dcb6299d97b3 100644 --- a/sdk/storage/storage-file/test/utils/recorder.ts +++ b/sdk/storage/storage-file/test/utils/recorder.ts @@ -1,10 +1,12 @@ +import * as dotenv from "dotenv"; import fs from "fs-extra"; import nise from "nise"; import queryString from "query-string"; + import { getUniqueName, isBrowser } from "../utils"; import { delay as restDelay } from "@azure/core-http"; import { blobToString } from "./index.browser"; -import * as dotenv from "dotenv"; + dotenv.config({ path: "../.env" }); let nock: any; @@ -108,6 +110,12 @@ const skip = [ "browsers/fileclient/recording_uploadrange_with_progress_event.json", // Progress "node/fileclient/recording_download_should_update_progress_and_abort_successfully.js", + // Abort. Nock doesn't record aborted request, should investigate + "node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_large_data.js", + // Abort. Nock doesn't record aborted request, should investigate + "node/highlevel_nodejs_only/recording_uploadfile_should_abort_for_small_data.js", + // Abort. Nock doesn't record aborted request, should investigate + "node/highlevel_nodejs_only/recording_uploadstream_should_abort.js", // Progress, Size (15MB), Tempfile "node/highlevel_nodejs_only/recording_fileclientdownload_should_abort_after_retrys.js", // Size (15MB), Tempfile diff --git a/sdk/storage/storage-queue/ChangeLog.md b/sdk/storage/storage-queue/ChangeLog.md index 6cd0c126ad15..840ace9a77c3 100644 --- a/sdk/storage/storage-queue/ChangeLog.md +++ b/sdk/storage/storage-queue/ChangeLog.md @@ -43,6 +43,17 @@ For release notes and more information please visit https://aka.ms/azure-sdk-preview1-js +### 2019.7 Version 10.2.0 + +- Fixed a bug that `Aborter` cannot work during retry interval. +- Fixed a bug that "err.code.toUpperCase is not a function" when retries in browser. +- Export `RetryPolicyType`. +- `Aborter` doesn't require `dom` as tsconfig lib requirement anymore for `Event` type. +- Updated API version to 2018-11-09. +- Updated HTTP client from axios to node-fetch in Node.js runtime. +- A new option `keepAliveOptions` added to parameter of `StorageURL.newPipeline()` which controls keep-alive configurations. Keep-alive is enabled by default. +- Updated Azure Storage Service API version to [2018-11-09](https://docs.microsoft.com/en-us/rest/api/storageservices/version-2018-11-09). + ### 2019.1 Version 10.1.0 - [Breaking] Updated convenience layer methods enum type parameters into typescript union types, this will help to reduce bundle footprint. diff --git a/sdk/storage/storage-queue/package.json b/sdk/storage/storage-queue/package.json index 36c07f5ac4bb..e284132257ef 100644 --- a/sdk/storage/storage-queue/package.json +++ b/sdk/storage/storage-queue/package.json @@ -33,7 +33,7 @@ "integration-test:node": "nyc mocha --require source-map-support/register --reporter mocha-multi --reporter-options spec=-,mocha-junit-reporter=- --full-trace -t 120000 --retries 2 dist-test/index.node.js", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint -c ../../.eslintrc.json src test samples --ext .ts --fix", - "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o storage-queue-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src test samples --ext .ts -f html -o storage-queue-lintReport.html || exit 0", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "npm run clean && npm run build:test && npm run integration-test:browser", @@ -75,39 +75,38 @@ "homepage": "https://github.com/Azure/azure-sdk-for-js#readme", "sideEffects": false, "dependencies": { - "@azure/abort-controller": "1.0.0-preview.1", - "@azure/core-http": "1.0.0-preview.2", + "@azure/abort-controller": "1.0.0-preview.2", + "@azure/core-http": "1.0.0-preview.3", "@azure/core-paging": "1.0.0-preview.1", "tslib": "^1.9.3" }, "devDependencies": { - "@azure/identity": "1.0.0-preview.2", + "@azure/identity": "1.0.0-preview.3", "@microsoft/api-extractor": "^7.1.5", "@types/dotenv": "^6.1.0", - "@types/fs-extra": "~7.0.0", + "@types/fs-extra": "^8.0.0", "@types/mocha": "^5.2.5", "@types/nise": "^1.4.0", "@types/nock": "^10.0.1", "@types/node": "^8.0.0", "@types/query-string": "6.2.0", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", "cross-env": "^5.2.0", - "dotenv": "^7.0.0", + "dotenv": "^8.0.0", "es6-promise": "^4.2.5", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", - "fs-extra": "~8.0.1", + "fs-extra": "^8.1.0", "gulp": "^4.0.0", - "gulp-zip": "^4.2.0", + "gulp-zip": "^5.0.0", "inherits": "^2.0.3", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", @@ -139,8 +138,8 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^2.0.0", "source-map-support": "^0.5.9", - "ts-node": "^7.0.1", + "ts-node": "^8.3.0", "typescript": "^3.2.2", - "util": "^0.11.1" + "util": "^0.12.1" } } diff --git a/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json b/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json index bde53f2ccafa..71db13da50fa 100644 --- a/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json +++ b/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_after_calling_abort.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651634204981", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428505002625", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a049-a003-00a0-6b99-2bb5f7000000", + "x-ms-request-id": "2b14e5b0-8003-0095-7181-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:56 GMT", + "date": "Fri, 16 Aug 2019 22:24:45 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651634204981", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428505002625", "query": { "timeout": "30" }, @@ -27,15 +27,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a098-a003-00a0-3299-2bb5f7000000", + "x-ms-request-id": "2b14e5dc-8003-0095-1781-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:56 GMT", + "date": "Fri, 16 Aug 2019 22:24:45 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149651634204981" + "queue": "queue156599428505002625" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json b/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json index 90dc84a61526..f540e9477d56 100644 --- a/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json +++ b/sdk/storage/storage-queue/recordings/browsers/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651709705080", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428565402040", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a0dc-a003-00a0-6f99-2bb5f7000000", + "x-ms-request-id": "2b14e60f-8003-0095-4881-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:56 GMT", + "date": "Fri, 16 Aug 2019 22:24:45 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651709705080", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428565402040", "query": { "timeout": "30" }, @@ -27,15 +27,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a133-a003-00a0-3c99-2bb5f7000000", + "x-ms-request-id": "2b14e631-8003-0095-6581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:56 GMT", + "date": "Fri, 16 Aug 2019 22:24:45 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149651709705080" + "queue": "queue156599428565402040" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_delete_message_negative.json b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_delete_message_negative.json index 33acb8e19ee1..9a06e2756165 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_delete_message_negative.json +++ b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_delete_message_negative.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653219003175", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431257900382", "query": { "timeout": "30" }, @@ -10,54 +10,54 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b883-a003-00a0-4799-2bb5f7000000", + "x-ms-request-id": "2b150924-8003-0095-4e81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:12 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653219003175/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431257900382/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "53994ba7-76a4-4e6c-8c1d-bd1bbe29e29fTue, 25 Jun 2019 21:02:12 GMTTue, 02 Jul 2019 21:02:12 GMTAgAAAAMAAAAAAAAAqVWWQpkr1QE=Tue, 25 Jun 2019 21:02:12 GMT", + "response": "b00d7722-6f0e-4391-b4c2-79241f7ee89dFri, 16 Aug 2019 22:25:12 GMTFri, 23 Aug 2019 22:25:12 GMTAgAAAAMAAAAAAAAAgjSbeIFU1QE=Fri, 16 Aug 2019 22:25:12 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:12 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415b8ce-a003-00a0-0c99-2bb5f7000000", + "x-ms-request-id": "2b150946-8003-0095-6e81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653219003175/messages/53994ba7-76a4-4e6c-8c1d-bd1bbe29e29f", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431257900382/messages/b00d7722-6f0e-4391-b4c2-79241f7ee89d", "query": { "popreceipt": "invalid", "timeout": "30" }, "requestBody": null, "status": 400, - "response": "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:6415b91c-a003-00a0-5099-2bb5f7000000\nTime:2019-06-25T21:02:12.5936885ZpopreceiptinvalidInvalid pop receipt format", + "response": "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:2b150985-8003-0095-2881-541ba2000000\nTime:2019-08-16T22:25:12.9761654ZpopreceiptinvalidInvalid pop receipt format", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:12 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "InvalidQueryParameterValue", "content-type": "application/xml", - "x-ms-request-id": "6415b91c-a003-00a0-5099-2bb5f7000000", + "x-ms-request-id": "2b150985-8003-0095-2881-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "417" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653219003175", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431257900382", "query": { "timeout": "30" }, @@ -65,15 +65,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b963-a003-00a0-0f99-2bb5f7000000", + "x-ms-request-id": "2b1509ba-8003-0095-5a81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:12 GMT", + "date": "Fri, 16 Aug 2019 22:25:13 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653219003175" + "queue": "queue156599431257900382" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.json b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.json index 3d3a061f6820..d14f30490612 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651742403875", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428597403899", "query": { "timeout": "30" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a181-a003-00a0-0499-2bb5f7000000", + "x-ms-request-id": "2b14e661-8003-0095-1381-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:56 GMT", + "date": "Fri, 16 Aug 2019 22:24:46 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651742403875/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428597403899/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "e2556fff-33c7-431d-9250-91bdd7418eaaTue, 25 Jun 2019 21:01:57 GMTTue, 02 Jul 2019 21:01:57 GMTAgAAAAMAAAAAAAAAiT/KOZkr1QE=Tue, 25 Jun 2019 21:01:57 GMT", + "response": "fa8a63c8-392a-49b9-bbba-4074ebba5f7fFri, 16 Aug 2019 22:24:46 GMTFri, 23 Aug 2019 22:24:46 GMTAgAAAAMAAAAAAAAAGNPAaIFU1QE=Fri, 16 Aug 2019 22:24:46 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:01:57 GMT", + "date": "Fri, 16 Aug 2019 22:24:46 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415a1b8-a003-00a0-3699-2bb5f7000000", + "x-ms-request-id": "2b14e6a7-8003-0095-4f81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651742403875/messages/e2556fff-33c7-431d-9250-91bdd7418eaa", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428597403899/messages/fa8a63c8-392a-49b9-bbba-4074ebba5f7f", "query": { - "popreceipt": "AgAAAAMAAAAAAAAAiT/KOZkr1QE=", + "popreceipt": "AgAAAAMAAAAAAAAAGNPAaIFU1QE=", "timeout": "30", "visibilitytimeout": "0" }, @@ -47,56 +47,56 @@ "status": 204, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:01:57 GMT", - "x-ms-time-next-visible": "Tue, 25 Jun 2019 21:01:57 GMT", + "date": "Fri, 16 Aug 2019 22:24:46 GMT", + "x-ms-time-next-visible": "Fri, 16 Aug 2019 22:24:46 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "x-ms-request-id": "6415a20d-a003-00a0-0999-2bb5f7000000", + "x-ms-request-id": "2b14e6d2-8003-0095-7881-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "0", - "x-ms-popreceipt": "AwAAAAMAAAAAAAAAeATzOZkr1QEAAAAA" + "x-ms-popreceipt": "AwAAAAMAAAAAAAAAjZPXaIFU1QEAAAAA" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651742403875/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428597403899/messages", "query": { "peekonly": "true", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "e2556fff-33c7-431d-9250-91bdd7418eaaTue, 25 Jun 2019 21:01:57 GMTTue, 02 Jul 2019 21:01:57 GMT0", + "response": "fa8a63c8-392a-49b9-bbba-4074ebba5f7fFri, 16 Aug 2019 22:24:46 GMTFri, 23 Aug 2019 22:24:46 GMT0", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:01:57 GMT", + "date": "Fri, 16 Aug 2019 22:24:46 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415a25e-a003-00a0-5899-2bb5f7000000", + "x-ms-request-id": "2b14e710-8003-0095-3281-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651742403875/messages/e2556fff-33c7-431d-9250-91bdd7418eaa", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428597403899/messages/fa8a63c8-392a-49b9-bbba-4074ebba5f7f", "query": { - "popreceipt": "AwAAAAMAAAAAAAAAeATzOZkr1QEAAAAA", + "popreceipt": "AwAAAAMAAAAAAAAAjZPXaIFU1QEAAAAA", "timeout": "30" }, "requestBody": null, "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a2a0-a003-00a0-1499-2bb5f7000000", + "x-ms-request-id": "2b14e743-8003-0095-6181-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:57 GMT", + "date": "Fri, 16 Aug 2019 22:24:46 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651742403875/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428597403899/messages", "query": { "peekonly": "true", "timeout": "30" @@ -105,18 +105,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:01:57 GMT", + "date": "Fri, 16 Aug 2019 22:24:46 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415a2e2-a003-00a0-5499-2bb5f7000000", + "x-ms-request-id": "2b14e773-8003-0095-0f81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651742403875", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428597403899", "query": { "timeout": "30" }, @@ -124,15 +124,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a313-a003-00a0-0299-2bb5f7000000", + "x-ms-request-id": "2b14e7ba-8003-0095-4e81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:57 GMT", + "date": "Fri, 16 Aug 2019 22:24:47 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149651742403875" + "queue": "queue156599428597403899" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters.json b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters.json index 121f8e371129..5e4377f827c6 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651867904510", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428711804487", "query": { "timeout": "30" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415a34f-a003-00a0-3a99-2bb5f7000000", + "x-ms-request-id": "2b14e7f3-8003-0095-0681-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:01:58 GMT", + "date": "Fri, 16 Aug 2019 22:24:47 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651867904510/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428711804487/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "a1dd32f7-8047-4f97-b3d6-30906d2d05bcTue, 25 Jun 2019 21:01:58 GMTTue, 02 Jul 2019 21:01:58 GMTAgAAAAMAAAAAAAAA4r2HOpkr1QE=Tue, 25 Jun 2019 21:01:58 GMT", + "response": "832afdc5-babb-4559-93f9-fe34344e19e8Fri, 16 Aug 2019 22:24:47 GMTFri, 23 Aug 2019 22:24:47 GMTAgAAAAMAAAAAAAAAUYZtaYFU1QE=Fri, 16 Aug 2019 22:24:47 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:01:58 GMT", + "date": "Fri, 16 Aug 2019 22:24:47 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415a399-a003-00a0-8099-2bb5f7000000", + "x-ms-request-id": "2b14e82e-8003-0095-3e81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651867904510/messages/a1dd32f7-8047-4f97-b3d6-30906d2d05bc", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428711804487/messages/832afdc5-babb-4559-93f9-fe34344e19e8", "query": { - "popreceipt": "AgAAAAMAAAAAAAAA4r2HOpkr1QE=", + "popreceipt": "AgAAAAMAAAAAAAAAUYZtaYFU1QE=", "timeout": "30", "visibilitytimeout": "10" }, @@ -47,18 +47,18 @@ "status": 204, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:01:58 GMT", - "x-ms-time-next-visible": "Tue, 25 Jun 2019 21:02:09 GMT", + "date": "Fri, 16 Aug 2019 22:24:47 GMT", + "x-ms-time-next-visible": "Fri, 16 Aug 2019 22:24:57 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "x-ms-request-id": "6415a3db-a003-00a0-3d99-2bb5f7000000", + "x-ms-request-id": "2b14e872-8003-0095-7f81-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "0", - "x-ms-popreceipt": "AwAAAAMAAAAAAAAAYYaUQJkr1QEAAAAA" + "x-ms-popreceipt": "AwAAAAMAAAAAAAAAoNl5b4FU1QEAAAAA" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651867904510/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428711804487/messages", "query": { "peekonly": "true", "timeout": "30" @@ -67,38 +67,38 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:01:58 GMT", + "date": "Fri, 16 Aug 2019 22:24:47 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415a427-a003-00a0-0299-2bb5f7000000", + "x-ms-request-id": "2b14e8a7-8003-0095-3281-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651867904510/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428711804487/messages", "query": { "peekonly": "true", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "a1dd32f7-8047-4f97-b3d6-30906d2d05bcTue, 25 Jun 2019 21:01:58 GMTTue, 02 Jul 2019 21:01:58 GMT0New Message", + "response": "832afdc5-babb-4559-93f9-fe34344e19e8Fri, 16 Aug 2019 22:24:47 GMTFri, 23 Aug 2019 22:24:47 GMT0New Message", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:09 GMT", + "date": "Fri, 16 Aug 2019 22:24:58 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415b4be-a003-00a0-0c99-2bb5f7000000", + "x-ms-request-id": "2b14f7e5-8003-0095-1d81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149651867904510", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599428711804487", "query": { "timeout": "30" }, @@ -106,15 +106,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b503-a003-00a0-4999-2bb5f7000000", + "x-ms-request-id": "2b14f820-8003-0095-5081-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:09 GMT", + "date": "Fri, 16 Aug 2019 22:24:58 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149651867904510" + "queue": "queue156599428711804487" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.json b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.json index f6298e8c3dcd..34c702d5cb47 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.json +++ b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360221115007385", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599429904701975", "query": { "timeout": "30" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "c07190f3-0003-00c0-18bf-3ef0d5000000", + "x-ms-request-id": "2b14f85a-8003-0095-7f81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 05:56:50 GMT", + "date": "Fri, 16 Aug 2019 22:24:59 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360221115007385/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599429904701975/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "ed686399-61e3-4e86-b798-0665be8a2a4fSat, 20 Jul 2019 05:56:51 GMTSat, 27 Jul 2019 05:56:51 GMTAgAAAAMAAAAAAAAAZo847b8+1QE=Sat, 20 Jul 2019 05:56:51 GMT", + "response": "a1527e53-e6d9-4ab2-80bc-550f16343943Fri, 16 Aug 2019 22:24:59 GMTFri, 23 Aug 2019 22:24:59 GMTAgAAAAMAAAAAAAAAU6yJcIFU1QE=Fri, 16 Aug 2019 22:24:59 GMT", "responseHeaders": { - "date": "Sat, 20 Jul 2019 05:56:50 GMT", + "date": "Fri, 16 Aug 2019 22:24:59 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "c0719100-0003-00c0-23bf-3ef0d5000000", + "x-ms-request-id": "2b14f895-8003-0095-3181-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360221115007385/messages/ed686399-61e3-4e86-b798-0665be8a2a4f", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599429904701975/messages/a1527e53-e6d9-4ab2-80bc-550f16343943", "query": { - "popreceipt": "AgAAAAMAAAAAAAAAZo847b8+1QE=", + "popreceipt": "AgAAAAMAAAAAAAAAU6yJcIFU1QE=", "timeout": "30", "visibilitytimeout": "10" }, @@ -47,18 +47,18 @@ "status": 204, "response": "", "responseHeaders": { - "date": "Sat, 20 Jul 2019 05:56:51 GMT", - "x-ms-time-next-visible": "Sat, 20 Jul 2019 05:57:01 GMT", + "date": "Fri, 16 Aug 2019 22:24:59 GMT", + "x-ms-time-next-visible": "Fri, 16 Aug 2019 22:25:09 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "x-ms-request-id": "c0719128-0003-00c0-46bf-3ef0d5000000", + "x-ms-request-id": "2b14f8ed-8003-0095-7e81-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "0", - "x-ms-popreceipt": "AwAAAAMAAAAAAAAAwmVI878+1QEAAAAA" + "x-ms-popreceipt": "AwAAAAMAAAAAAAAAaV+XdoFU1QEAAAAA" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360221115007385/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599429904701975/messages", "query": { "peekonly": "true", "timeout": "30" @@ -67,38 +67,38 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Sat, 20 Jul 2019 05:56:51 GMT", + "date": "Fri, 16 Aug 2019 22:24:59 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "c071914b-0003-00c0-67bf-3ef0d5000000", + "x-ms-request-id": "2b14f94c-8003-0095-4d81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360221115007385/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599429904701975/messages", "query": { "peekonly": "true", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "ed686399-61e3-4e86-b798-0665be8a2a4fSat, 20 Jul 2019 05:56:51 GMTSat, 27 Jul 2019 05:56:51 GMT0New Message", + "response": "a1527e53-e6d9-4ab2-80bc-550f16343943Fri, 16 Aug 2019 22:24:59 GMTFri, 23 Aug 2019 22:24:59 GMT0New Message", "responseHeaders": { - "date": "Sat, 20 Jul 2019 05:57:02 GMT", + "date": "Fri, 16 Aug 2019 22:25:10 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "c071a1c3-0003-00c0-2fbf-3ef0d5000000", + "x-ms-request-id": "2b15073f-8003-0095-1381-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360221115007385", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599429904701975", "query": { "timeout": "30" }, @@ -106,15 +106,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "c071a1e4-0003-00c0-4dbf-3ef0d5000000", + "x-ms-request-id": "2b150762-8003-0095-3281-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 05:57:02 GMT", + "date": "Fri, 16 Aug 2019 22:25:10 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156360221115007385" + "queue": "queue156599429904701975" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.json b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.json index a7f4a156a24c..b2289aa46553 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.json +++ b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653157800202", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431196902901", "query": { "timeout": "30" }, @@ -10,55 +10,55 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b75c-a003-00a0-3099-2bb5f7000000", + "x-ms-request-id": "2b1508a4-8003-0095-5c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:12 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653157800202/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431196902901/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "3266114c-1ebb-4674-8405-56f49a6ea579Tue, 25 Jun 2019 21:02:11 GMTTue, 02 Jul 2019 21:02:11 GMTAgAAAAMAAAAAAAAA74I3Qpkr1QE=Tue, 25 Jun 2019 21:02:11 GMT", + "response": "ec8d95ad-c993-440c-9dbc-c27b28e50534Fri, 16 Aug 2019 22:25:12 GMTFri, 23 Aug 2019 22:25:12 GMTAgAAAAMAAAAAAAAAoP08eIFU1QE=Fri, 16 Aug 2019 22:25:12 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:12 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415b7a1-a003-00a0-7299-2bb5f7000000", + "x-ms-request-id": "2b1508cb-8003-0095-7c81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653157800202/messages/3266114c-1ebb-4674-8405-56f49a6ea579", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431196902901/messages/ec8d95ad-c993-440c-9dbc-c27b28e50534", "query": { - "popreceipt": "AgAAAAMAAAAAAAAA74I3Qpkr1QE=", + "popreceipt": "AgAAAAMAAAAAAAAAoP08eIFU1QE=", "timeout": "30", "visibilitytimeout": "0" }, "requestBody": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "status": 413, - "response": "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:6415b7ec-a003-00a0-3a99-2bb5f7000000\nTime:2019-06-25T21:02:11.9712340Z65536", + "response": "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:2b1508ed-8003-0095-1a81-541ba2000000\nTime:2019-08-16T22:25:12.3717312Z65536", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:12 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "RequestBodyTooLarge", "content-type": "application/xml", - "x-ms-request-id": "6415b7ec-a003-00a0-3a99-2bb5f7000000", + "x-ms-request-id": "2b1508ed-8003-0095-1a81-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "286" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653157800202", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431196902901", "query": { "timeout": "30" }, @@ -66,15 +66,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b849-a003-00a0-1099-2bb5f7000000", + "x-ms-request-id": "2b150911-8003-0095-3c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:12 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653157800202" + "queue": "queue156599431196902901" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.json b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.json index a4bd34de92d3..3d11f2144147 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.json +++ b/sdk/storage/storage-queue/recordings/browsers/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653060209080", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431096705193", "query": { "timeout": "30" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b551-a003-00a0-1199-2bb5f7000000", + "x-ms-request-id": "2b15078a-8003-0095-5781-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:10 GMT", + "date": "Fri, 16 Aug 2019 22:25:11 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653060209080/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431096705193/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "bd6e9e02-051e-4916-b97a-79e4c3f6dc9dTue, 25 Jun 2019 21:02:10 GMTTue, 02 Jul 2019 21:02:10 GMTAgAAAAMAAAAAAAAACLSjQZkr1QE=Tue, 25 Jun 2019 21:02:10 GMT", + "response": "8e259ce6-cb88-48b8-a978-fdbc8ded2eeaFri, 16 Aug 2019 22:25:11 GMTFri, 23 Aug 2019 22:25:11 GMTAgAAAAMAAAAAAAAAFlmnd4FU1QE=Fri, 16 Aug 2019 22:25:11 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:10 GMT", + "date": "Fri, 16 Aug 2019 22:25:11 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415b586-a003-00a0-4299-2bb5f7000000", + "x-ms-request-id": "2b1507a7-8003-0095-7381-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653060209080/messages/bd6e9e02-051e-4916-b97a-79e4c3f6dc9d", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431096705193/messages/8e259ce6-cb88-48b8-a978-fdbc8ded2eea", "query": { - "popreceipt": "AgAAAAMAAAAAAAAACLSjQZkr1QE=", + "popreceipt": "AgAAAAMAAAAAAAAAFlmnd4FU1QE=", "timeout": "30", "visibilitytimeout": "0" }, @@ -47,38 +47,38 @@ "status": 204, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:10 GMT", - "x-ms-time-next-visible": "Tue, 25 Jun 2019 21:02:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:11 GMT", + "x-ms-time-next-visible": "Fri, 16 Aug 2019 22:25:11 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "x-ms-request-id": "6415b5cc-a003-00a0-7a99-2bb5f7000000", + "x-ms-request-id": "2b1507d5-8003-0095-2181-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "0", - "x-ms-popreceipt": "AwAAAAMAAAAAAAAAyPnGQZkr1QEAAAAA" + "x-ms-popreceipt": "AwAAAAMAAAAAAAAAl1TId4FU1QEAAAAA" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653060209080/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431096705193/messages", "query": { "peekonly": "true", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "bd6e9e02-051e-4916-b97a-79e4c3f6dc9dTue, 25 Jun 2019 21:02:10 GMTTue, 02 Jul 2019 21:02:10 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "response": "8e259ce6-cb88-48b8-a978-fdbc8ded2eeaFri, 16 Aug 2019 22:25:11 GMTFri, 23 Aug 2019 22:25:11 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:10 GMT", + "date": "Fri, 16 Aug 2019 22:25:11 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415b64c-a003-00a0-5799-2bb5f7000000", + "x-ms-request-id": "2b15082d-8003-0095-7281-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653060209080", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431096705193", "query": { "timeout": "30" }, @@ -86,15 +86,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b6f1-a003-00a0-5599-2bb5f7000000", + "x-ms-request-id": "2b150882-8003-0095-4581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:10 GMT", + "date": "Fri, 16 Aug 2019 22:25:11 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653060209080" + "queue": "queue156599431096705193" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json index f61dd1f73cca..7935a589e589 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360480042801145", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431960108168", "query": { "timeout": "30" }, @@ -10,34 +10,34 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "076fb1b7-0003-0025-09c5-3ee222000000", + "x-ms-request-id": "2b15127e-8003-0095-7981-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:40:00 GMT", + "date": "Fri, 16 Aug 2019 22:25:19 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360480042801145/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431960108168/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "0de28c44-4168-4608-9f4e-7f7a5d56807aSat, 20 Jul 2019 06:40:01 GMTSat, 27 Jul 2019 06:40:01 GMTAgAAAAMAAAAAAAAAzuSS9MU+1QE=Sat, 20 Jul 2019 06:40:01 GMT", + "response": "f77cb529-d91a-4335-98d0-db6caf07fec2Fri, 16 Aug 2019 22:25:19 GMTFri, 23 Aug 2019 22:25:19 GMTAgAAAAMAAAAAAAAAqDjKfIFU1QE=Fri, 16 Aug 2019 22:25:19 GMT", "responseHeaders": { - "date": "Sat, 20 Jul 2019 06:40:00 GMT", + "date": "Fri, 16 Aug 2019 22:25:19 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "076fb1d3-0003-0025-24c5-3ee222000000", + "x-ms-request-id": "2b1512b7-8003-0095-2b81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360480042801145", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431960108168", "query": { "timeout": "30" }, @@ -45,15 +45,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "076fb1ec-0003-0025-33c5-3ee222000000", + "x-ms-request-id": "2b1512e6-8003-0095-5481-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:40:00 GMT", + "date": "Fri, 16 Aug 2019 22:25:19 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156360480042801145" + "queue": "queue156599431960108168" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json index 441bc9f82290..117f34b24ec4 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360480122604632", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432005304815", "query": { "timeout": "30" }, @@ -10,34 +10,34 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "076fb209-0003-0025-50c5-3ee222000000", + "x-ms-request-id": "2b151326-8003-0095-1081-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:40:00 GMT", + "date": "Fri, 16 Aug 2019 22:25:20 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360480122604632/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432005304815/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "b406836f-c5f4-4594-8efd-7dcc5ba4a2b6Sat, 20 Jul 2019 06:40:01 GMTSat, 27 Jul 2019 06:40:01 GMTAgAAAAMAAAAAAAAAzhrd9MU+1QE=Sat, 20 Jul 2019 06:40:01 GMT", + "response": "d0a7f6f4-b53e-4494-b680-67f146b07375Fri, 16 Aug 2019 22:25:20 GMTFri, 23 Aug 2019 22:25:20 GMTAgAAAAMAAAAAAAAA4dkPfYFU1QE=Fri, 16 Aug 2019 22:25:20 GMT", "responseHeaders": { - "date": "Sat, 20 Jul 2019 06:40:00 GMT", + "date": "Fri, 16 Aug 2019 22:25:20 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "076fb21b-0003-0025-61c5-3ee222000000", + "x-ms-request-id": "2b15135a-8003-0095-4081-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360480122604632", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432005304815", "query": { "timeout": "30" }, @@ -45,15 +45,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "076fb226-0003-0025-6ac5-3ee222000000", + "x-ms-request-id": "2b1513b5-8003-0095-1481-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:40:01 GMT", + "date": "Fri, 16 Aug 2019 22:25:20 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156360480122604632" + "queue": "queue156599432005304815" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.json index 4723868fb1ea..8c052f222e90 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653886408165", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431914605659", "query": { "timeout": "30" }, @@ -10,35 +10,35 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c306-a003-00a0-4099-2bb5f7000000", + "x-ms-request-id": "2b1511d5-8003-0095-5881-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:18 GMT", + "date": "Fri, 16 Aug 2019 22:25:19 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653886408165/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431914605659/messages", "query": { "timeout": "30" }, "requestBody": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "status": 413, - "response": "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:6415c341-a003-00a0-7099-2bb5f7000000\nTime:2019-06-25T21:02:19.1204556Z65536", + "response": "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:2b15120f-8003-0095-0e81-541ba2000000\nTime:2019-08-16T22:25:19.3957700Z65536", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:18 GMT", + "date": "Fri, 16 Aug 2019 22:25:19 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "RequestBodyTooLarge", "content-type": "application/xml", - "x-ms-request-id": "6415c341-a003-00a0-7099-2bb5f7000000", + "x-ms-request-id": "2b15120f-8003-0095-0e81-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "286" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653886408165", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431914605659", "query": { "timeout": "30" }, @@ -46,15 +46,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c37a-a003-00a0-2499-2bb5f7000000", + "x-ms-request-id": "2b151245-8003-0095-4281-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:18 GMT", + "date": "Fri, 16 Aug 2019 22:25:19 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653886408165" + "queue": "queue156599431914605659" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_and_dequeue_negative.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_and_dequeue_negative.json index 1b923bfa0270..bb0b9d1ea769 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_and_dequeue_negative.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_and_dequeue_negative.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653781506221", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431809802696", "query": { "timeout": "30" }, @@ -10,35 +10,35 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c112-a003-00a0-1699-2bb5f7000000", + "x-ms-request-id": "2b15108c-8003-0095-2881-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:17 GMT", + "date": "Fri, 16 Aug 2019 22:25:18 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653781506221/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431809802696/messages", "query": { "messagettl": "40", "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "57320d08-f2b7-4cd6-bc3e-ee5cd823c573Tue, 25 Jun 2019 21:02:18 GMTTue, 25 Jun 2019 21:02:58 GMTAgAAAAMAAAAAAAAAY7bvRZkr1QE=Tue, 25 Jun 2019 21:02:18 GMT", + "response": "d2fe1841-dbb0-4248-b574-b420b6daf6ceFri, 16 Aug 2019 22:25:18 GMTFri, 16 Aug 2019 22:25:58 GMTAgAAAAMAAAAAAAAA297ke4FU1QE=Fri, 16 Aug 2019 22:25:18 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:17 GMT", + "date": "Fri, 16 Aug 2019 22:25:18 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415c152-a003-00a0-4c99-2bb5f7000000", + "x-ms-request-id": "2b1510b5-8003-0095-4f81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653781506221/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431809802696/messages", "query": { "messagettl": "30", "timeout": "30", @@ -46,20 +46,20 @@ }, "requestBody": "Hello World", "status": 400, - "response": "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:6415c194-a003-00a0-0699-2bb5f7000000\nTime:2019-06-25T21:02:18.2097913Zvisibilitytimeout30messagettl must be greater than visibilitytimeout", + "response": "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:2b1510e5-8003-0095-7981-541ba2000000\nTime:2019-08-16T22:25:18.4961244Zvisibilitytimeout30messagettl must be greater than visibilitytimeout", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:17 GMT", + "date": "Fri, 16 Aug 2019 22:25:18 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "InvalidQueryParameterValue", "content-type": "application/xml", - "x-ms-request-id": "6415c194-a003-00a0-0699-2bb5f7000000", + "x-ms-request-id": "2b1510e5-8003-0095-7981-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "442" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653781506221/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431809802696/messages", "query": { "numofmessages": "100", "peekonly": "true", @@ -67,20 +67,20 @@ }, "requestBody": null, "status": 400, - "response": "OutOfRangeQueryParameterValueOne of the query parameters specified in the request URI is outside the permissible range.\nRequestId:6415c1d4-a003-00a0-3b99-2bb5f7000000\nTime:2019-06-25T21:02:18.3578994Znumofmessages100132", + "response": "OutOfRangeQueryParameterValueOne of the query parameters specified in the request URI is outside the permissible range.\nRequestId:2b15110c-8003-0095-1d81-541ba2000000\nTime:2019-08-16T22:25:18.6402279Znumofmessages100132", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:17 GMT", + "date": "Fri, 16 Aug 2019 22:25:18 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "OutOfRangeQueryParameterValue", "content-type": "application/xml", - "x-ms-request-id": "6415c1d4-a003-00a0-3b99-2bb5f7000000", + "x-ms-request-id": "2b15110c-8003-0095-1d81-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "457" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653781506221/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431809802696/messages", "query": { "numofmessages": "2", "peekonly": "true", @@ -88,20 +88,20 @@ }, "requestBody": null, "status": 200, - "response": "57320d08-f2b7-4cd6-bc3e-ee5cd823c573Tue, 25 Jun 2019 21:02:18 GMTTue, 25 Jun 2019 21:02:58 GMT0Hello World", + "response": "d2fe1841-dbb0-4248-b574-b420b6daf6ceFri, 16 Aug 2019 22:25:18 GMTFri, 16 Aug 2019 22:25:58 GMT0Hello World", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:17 GMT", + "date": "Fri, 16 Aug 2019 22:25:18 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415c217-a003-00a0-7499-2bb5f7000000", + "x-ms-request-id": "2b15112b-8003-0095-3a81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653781506221/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431809802696/messages", "query": { "numofmessages": "2", "timeout": "30", @@ -109,20 +109,20 @@ }, "requestBody": null, "status": 200, - "response": "57320d08-f2b7-4cd6-bc3e-ee5cd823c573Tue, 25 Jun 2019 21:02:18 GMTTue, 25 Jun 2019 21:02:58 GMTAgAAAAMAAAAAAAAAiu0hXpkr1QE=Tue, 25 Jun 2019 21:02:58 GMT1Hello World", + "response": "d2fe1841-dbb0-4248-b574-b420b6daf6ceFri, 16 Aug 2019 22:25:18 GMTFri, 16 Aug 2019 22:25:58 GMTAgAAAAMAAAAAAAAALwEYlIFU1QE=Fri, 16 Aug 2019 22:25:58 GMT1Hello World", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:17 GMT", + "date": "Fri, 16 Aug 2019 22:25:18 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415c254-a003-00a0-2599-2bb5f7000000", + "x-ms-request-id": "2b15114f-8003-0095-5b81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653781506221", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431809802696", "query": { "timeout": "30" }, @@ -130,15 +130,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c2ad-a003-00a0-7599-2bb5f7000000", + "x-ms-request-id": "2b151198-8003-0095-1d81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:18 GMT", + "date": "Fri, 16 Aug 2019 22:25:19 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653781506221" + "queue": "queue156599431809802696" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.json index 798746bcbc16..0a1545920149 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415bb5b-a003-00a0-6b99-2bb5f7000000", + "x-ms-request-id": "2b150b48-8003-0095-3c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:14 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145/messages", "query": { "messagettl": "40", "timeout": "30", @@ -27,19 +27,19 @@ }, "requestBody": "Hello World", "status": 201, - "response": "4fa50ad0-999a-48a1-b212-7ede04208d52Tue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:54 GMTAgAAAAMAAAAAAAAAGYusQ5kr1QE=Tue, 25 Jun 2019 21:02:14 GMT", + "response": "56502e2d-7e56-4d71-815f-2e1884eac3f0Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:54 GMTAgAAAAMAAAAAAAAAih6meYFU1QE=Fri, 16 Aug 2019 22:25:14 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:14 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bb87-a003-00a0-1499-2bb5f7000000", + "x-ms-request-id": "2b150b8d-8003-0095-7b81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145/messages", "query": { "messagettl": "40", "timeout": "30", @@ -47,19 +47,19 @@ }, "requestBody": "Hello World", "status": 201, - "response": "3b5cc5c1-7e0e-4e6b-96df-05ce107cb37eTue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:54 GMTAgAAAAMAAAAAAAAAf5O8Q5kr1QE=Tue, 25 Jun 2019 21:02:14 GMT", + "response": "d3258a65-f37c-49c8-a331-e29d0b1cecb9Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:54 GMTAgAAAAMAAAAAAAAAfeCxeYFU1QE=Fri, 16 Aug 2019 22:25:14 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:14 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bbb4-a003-00a0-3f99-2bb5f7000000", + "x-ms-request-id": "2b150bb4-8003-0095-1e81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145/messages", "query": { "messagettl": "10", "timeout": "30", @@ -67,19 +67,19 @@ }, "requestBody": "Hello World", "status": 201, - "response": "1aba8797-669c-4562-942b-3c98089a555aTue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:24 GMTAgAAAAMAAAAAAAAAbGvORpkr1QE=Tue, 25 Jun 2019 21:02:19 GMT", + "response": "97615cad-a35c-41eb-a582-03cc72868223Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:24 GMTAgAAAAMAAAAAAAAAqd/DfIFU1QE=Fri, 16 Aug 2019 22:25:19 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:14 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bbed-a003-00a0-7499-2bb5f7000000", + "x-ms-request-id": "2b150bf2-8003-0095-5781-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145/messages", "query": { "messagettl": "20", "timeout": "30", @@ -87,19 +87,19 @@ }, "requestBody": "Hello World", "status": 201, - "response": "99530656-5589-4a8b-b701-e36fd2476a43Tue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:34 GMTAgAAAAMAAAAAAAAAHwM+T5kr1QE=Tue, 25 Jun 2019 21:02:33 GMT", + "response": "51880b43-7d2b-48d2-b819-e9cf1cc711b9Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:34 GMTAgAAAAMAAAAAAAAAJ9syhYFU1QE=Fri, 16 Aug 2019 22:25:33 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:14 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bc33-a003-00a0-3899-2bb5f7000000", + "x-ms-request-id": "2b150c16-8003-0095-7a81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145/messages", "query": { "numofmessages": "2", "peekonly": "true", @@ -107,20 +107,20 @@ }, "requestBody": null, "status": 200, - "response": "4fa50ad0-999a-48a1-b212-7ede04208d52Tue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:54 GMT0Hello World3b5cc5c1-7e0e-4e6b-96df-05ce107cb37eTue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:54 GMT0Hello World", + "response": "56502e2d-7e56-4d71-815f-2e1884eac3f0Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:54 GMT0Hello Worldd3258a65-f37c-49c8-a331-e29d0b1cecb9Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:54 GMT0Hello World", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:14 GMT", + "date": "Fri, 16 Aug 2019 22:25:15 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bc62-a003-00a0-6699-2bb5f7000000", + "x-ms-request-id": "2b150c52-8003-0095-3081-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145/messages", "query": { "numofmessages": "2", "timeout": "30", @@ -128,20 +128,20 @@ }, "requestBody": null, "status": 200, - "response": "4fa50ad0-999a-48a1-b212-7ede04208d52Tue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:54 GMTAgAAAAMAAAAAAAAAgdkMSpkr1QE=Tue, 25 Jun 2019 21:02:24 GMT1Hello World3b5cc5c1-7e0e-4e6b-96df-05ce107cb37eTue, 25 Jun 2019 21:02:14 GMTTue, 25 Jun 2019 21:02:54 GMTAgAAAAMAAAAAAAAAgdkMSpkr1QE=Tue, 25 Jun 2019 21:02:24 GMT1Hello World", + "response": "56502e2d-7e56-4d71-815f-2e1884eac3f0Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:54 GMTAgAAAAMAAAAAAAAACjEHgIFU1QE=Fri, 16 Aug 2019 22:25:25 GMT1Hello Worldd3258a65-f37c-49c8-a331-e29d0b1cecb9Fri, 16 Aug 2019 22:25:14 GMTFri, 16 Aug 2019 22:25:54 GMTAgAAAAMAAAAAAAAACjEHgIFU1QE=Fri, 16 Aug 2019 22:25:25 GMT1Hello World", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:14 GMT", + "date": "Fri, 16 Aug 2019 22:25:15 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bcb0-a003-00a0-3199-2bb5f7000000", + "x-ms-request-id": "2b150c86-8003-0095-5e81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145/messages", "query": { "peekonly": "true", "timeout": "30" @@ -150,18 +150,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:14 GMT", + "date": "Fri, 16 Aug 2019 22:25:15 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bcf0-a003-00a0-6899-2bb5f7000000", + "x-ms-request-id": "2b150cc3-8003-0095-1981-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653402106759", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431433105145", "query": { "timeout": "30" }, @@ -169,15 +169,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415bd2b-a003-00a0-2199-2bb5f7000000", + "x-ms-request-id": "2b150ce1-8003-0095-3581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:14 GMT", + "date": "Fri, 16 Aug 2019 22:25:15 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653402106759" + "queue": "queue156599431433105145" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.json index e93cd34ebc52..22101d25b912 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785", "query": { "timeout": "30" }, @@ -10,91 +10,91 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415b9a1-a003-00a0-4a99-2bb5f7000000", + "x-ms-request-id": "2b1509e1-8003-0095-7c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:12 GMT", + "date": "Fri, 16 Aug 2019 22:25:13 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "3c19a8cb-49c5-421d-8972-01d1cb868c0fTue, 25 Jun 2019 21:02:13 GMTTue, 02 Jul 2019 21:02:13 GMTAgAAAAMAAAAAAAAAKwXzQpkr1QE=Tue, 25 Jun 2019 21:02:13 GMT", + "response": "a99aefd2-98fa-40fa-9d57-7f4f546a317eFri, 16 Aug 2019 22:25:13 GMTFri, 23 Aug 2019 22:25:13 GMTAgAAAAMAAAAAAAAAoav2eIFU1QE=Fri, 16 Aug 2019 22:25:13 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:12 GMT", + "date": "Fri, 16 Aug 2019 22:25:13 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415b9d6-a003-00a0-7c99-2bb5f7000000", + "x-ms-request-id": "2b150a0c-8003-0095-1c81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785/messages", "query": { "timeout": "30" }, "requestBody": "Hello World", "status": 201, - "response": "5a24acc1-5b26-478e-80f4-596fe0b50ce7Tue, 25 Jun 2019 21:02:13 GMTTue, 02 Jul 2019 21:02:13 GMTAgAAAAMAAAAAAAAAVDz/Qpkr1QE=Tue, 25 Jun 2019 21:02:13 GMT", + "response": "f3e908b4-95b9-4502-9f40-52c7ad8fa899Fri, 16 Aug 2019 22:25:13 GMTFri, 23 Aug 2019 22:25:13 GMTAgAAAAMAAAAAAAAAlW0CeYFU1QE=Fri, 16 Aug 2019 22:25:13 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:12 GMT", + "date": "Fri, 16 Aug 2019 22:25:13 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415b9ef-a003-00a0-1499-2bb5f7000000", + "x-ms-request-id": "2b150a26-8003-0095-3181-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785/messages", "query": { "peekonly": "true", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "3c19a8cb-49c5-421d-8972-01d1cb868c0fTue, 25 Jun 2019 21:02:13 GMTTue, 02 Jul 2019 21:02:13 GMT0Hello World", + "response": "a99aefd2-98fa-40fa-9d57-7f4f546a317eFri, 16 Aug 2019 22:25:13 GMTFri, 23 Aug 2019 22:25:13 GMT0Hello World", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:12 GMT", + "date": "Fri, 16 Aug 2019 22:25:13 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415ba2a-a003-00a0-4b99-2bb5f7000000", + "x-ms-request-id": "2b150a4a-8003-0095-4f81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785/messages", "query": { "timeout": "30" }, "requestBody": null, "status": 200, - "response": "3c19a8cb-49c5-421d-8972-01d1cb868c0fTue, 25 Jun 2019 21:02:13 GMTTue, 02 Jul 2019 21:02:13 GMTAgAAAAMAAAAAAAAA/TgOVZkr1QE=Tue, 25 Jun 2019 21:02:43 GMT1Hello World", + "response": "a99aefd2-98fa-40fa-9d57-7f4f546a317eFri, 16 Aug 2019 22:25:13 GMTFri, 23 Aug 2019 22:25:13 GMTAgAAAAMAAAAAAAAAmwoQi4FU1QE=Fri, 16 Aug 2019 22:25:43 GMT1Hello World", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:12 GMT", + "date": "Fri, 16 Aug 2019 22:25:13 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415ba5a-a003-00a0-7b99-2bb5f7000000", + "x-ms-request-id": "2b150a90-8003-0095-0a81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785/messages", "query": { "timeout": "30" }, @@ -102,16 +102,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415baad-a003-00a0-4a99-2bb5f7000000", + "x-ms-request-id": "2b150aab-8003-0095-2381-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:13 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785/messages", "query": { "peekonly": "true", "timeout": "30" @@ -120,18 +120,18 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:14 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415baf3-a003-00a0-0a99-2bb5f7000000", + "x-ms-request-id": "2b150ad7-8003-0095-4e81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653279801341", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431317802785", "query": { "timeout": "30" }, @@ -139,15 +139,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415bb28-a003-00a0-3899-2bb5f7000000", + "x-ms-request-id": "2b150b11-8003-0095-0681-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:13 GMT", + "date": "Fri, 16 Aug 2019 22:25:14 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653279801341" + "queue": "queue156599431317802785" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.json index 22f8d1156899..3700a7626e15 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653532006767", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431563607706", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415bd59-a003-00a0-4699-2bb5f7000000", + "x-ms-request-id": "2b150cfc-8003-0095-4e81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:14 GMT", + "date": "Fri, 16 Aug 2019 22:25:15 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653532006767/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431563607706/messages", "query": { "messagettl": "40", "timeout": "30", @@ -27,19 +27,19 @@ }, "requestBody": "", "status": 201, - "response": "30193820-8d25-4aad-841c-a6dfef9495d6Tue, 25 Jun 2019 21:02:15 GMTTue, 25 Jun 2019 21:02:55 GMTAgAAAAMAAAAAAAAAo7l0RJkr1QE=Tue, 25 Jun 2019 21:02:15 GMT", + "response": "26b64d3b-6f39-4e49-8d32-eaa3f1ad7c9dFri, 16 Aug 2019 22:25:15 GMTFri, 16 Aug 2019 22:25:55 GMTAgAAAAMAAAAAAAAA1f9teoFU1QE=Fri, 16 Aug 2019 22:25:15 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:14 GMT", + "date": "Fri, 16 Aug 2019 22:25:15 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bd8d-a003-00a0-7299-2bb5f7000000", + "x-ms-request-id": "2b150d36-8003-0095-7b81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653532006767/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431563607706/messages", "query": { "numofmessages": "2", "peekonly": "true", @@ -47,20 +47,20 @@ }, "requestBody": null, "status": 200, - "response": "30193820-8d25-4aad-841c-a6dfef9495d6Tue, 25 Jun 2019 21:02:15 GMTTue, 25 Jun 2019 21:02:55 GMT0", + "response": "26b64d3b-6f39-4e49-8d32-eaa3f1ad7c9dFri, 16 Aug 2019 22:25:15 GMTFri, 16 Aug 2019 22:25:55 GMT0", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:15 GMT", + "date": "Fri, 16 Aug 2019 22:25:15 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bdc9-a003-00a0-2b99-2bb5f7000000", + "x-ms-request-id": "2b150d76-8003-0095-2c81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653532006767/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431563607706/messages", "query": { "numofmessages": "2", "timeout": "30", @@ -68,20 +68,20 @@ }, "requestBody": null, "status": 200, - "response": "30193820-8d25-4aad-841c-a6dfef9495d6Tue, 25 Jun 2019 21:02:15 GMTTue, 25 Jun 2019 21:02:55 GMTAgAAAAMAAAAAAAAAv7eYSpkr1QE=Tue, 25 Jun 2019 21:02:25 GMT1", + "response": "26b64d3b-6f39-4e49-8d32-eaa3f1ad7c9dFri, 16 Aug 2019 22:25:15 GMTFri, 16 Aug 2019 22:25:55 GMTAgAAAAMAAAAAAAAAwmGRgIFU1QE=Fri, 16 Aug 2019 22:25:26 GMT1", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:15 GMT", + "date": "Fri, 16 Aug 2019 22:25:16 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415be0b-a003-00a0-6b99-2bb5f7000000", + "x-ms-request-id": "2b150da5-8003-0095-5281-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653532006767", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431563607706", "query": { "timeout": "30" }, @@ -89,15 +89,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415be3c-a003-00a0-1899-2bb5f7000000", + "x-ms-request-id": "2b150dce-8003-0095-7081-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:15 GMT", + "date": "Fri, 16 Aug 2019 22:25:16 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653532006767" + "queue": "queue156599431563607706" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_special_characters.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_special_characters.json index 169bf249a9c3..bd63f7caf438 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_special_characters.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_special_characters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653608700443", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431639202213", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415be74-a003-00a0-4e99-2bb5f7000000", + "x-ms-request-id": "2b150dfb-8003-0095-1581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:15 GMT", + "date": "Fri, 16 Aug 2019 22:25:16 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653608700443/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431639202213/messages", "query": { "messagettl": "40", "timeout": "30", @@ -27,19 +27,19 @@ }, "requestBody": "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", "status": 201, - "response": "1e2b73db-1d49-4b21-b9b9-f299f92908d4Tue, 25 Jun 2019 21:02:16 GMTTue, 25 Jun 2019 21:02:56 GMTAgAAAAMAAAAAAAAARZPuRJkr1QE=Tue, 25 Jun 2019 21:02:16 GMT", + "response": "00813a39-019c-4261-9db3-f341c7902c8bFri, 16 Aug 2019 22:25:16 GMTFri, 16 Aug 2019 22:25:56 GMTAgAAAAMAAAAAAAAAKqXkeoFU1QE=Fri, 16 Aug 2019 22:25:16 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:15 GMT", + "date": "Fri, 16 Aug 2019 22:25:16 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415be96-a003-00a0-6d99-2bb5f7000000", + "x-ms-request-id": "2b150e37-8003-0095-4381-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653608700443/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431639202213/messages", "query": { "numofmessages": "2", "peekonly": "true", @@ -47,20 +47,20 @@ }, "requestBody": null, "status": 200, - "response": "1e2b73db-1d49-4b21-b9b9-f299f92908d4Tue, 25 Jun 2019 21:02:16 GMTTue, 25 Jun 2019 21:02:56 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", + "response": "00813a39-019c-4261-9db3-f341c7902c8bFri, 16 Aug 2019 22:25:16 GMTFri, 16 Aug 2019 22:25:56 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:15 GMT", + "date": "Fri, 16 Aug 2019 22:25:16 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415becd-a003-00a0-2299-2bb5f7000000", + "x-ms-request-id": "2b150e84-8003-0095-7e81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653608700443/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431639202213/messages", "query": { "numofmessages": "2", "timeout": "30", @@ -68,20 +68,20 @@ }, "requestBody": null, "status": 200, - "response": "1e2b73db-1d49-4b21-b9b9-f299f92908d4Tue, 25 Jun 2019 21:02:16 GMTTue, 25 Jun 2019 21:02:56 GMTAgAAAAMAAAAAAAAA7c0RS5kr1QE=Tue, 25 Jun 2019 21:02:26 GMT1!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", + "response": "00813a39-019c-4261-9db3-f341c7902c8bFri, 16 Aug 2019 22:25:16 GMTFri, 16 Aug 2019 22:25:56 GMTAgAAAAMAAAAAAAAA2z8JgYFU1QE=Fri, 16 Aug 2019 22:25:26 GMT1!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:15 GMT", + "date": "Fri, 16 Aug 2019 22:25:16 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bf0e-a003-00a0-5c99-2bb5f7000000", + "x-ms-request-id": "2b150ec1-8003-0095-2c81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653608700443", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431639202213", "query": { "timeout": "30" }, @@ -89,15 +89,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415bf5b-a003-00a0-1f99-2bb5f7000000", + "x-ms-request-id": "2b150f10-8003-0095-6a81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:16 GMT", + "date": "Fri, 16 Aug 2019 22:25:17 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653608700443" + "queue": "queue156599431639202213" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.json index 8d7e49dcf9e4..58e275ee7e21 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653687801994", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431717308283", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415bfa5-a003-00a0-5c99-2bb5f7000000", + "x-ms-request-id": "2b150f6d-8003-0095-3081-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:16 GMT", + "date": "Fri, 16 Aug 2019 22:25:17 GMT", "content-length": "0" } }, { "method": "POST", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653687801994/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431717308283/messages", "query": { "messagettl": "40", "timeout": "30", @@ -27,19 +27,19 @@ }, "requestBody": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "status": 201, - "response": "5a168d26-24cb-4b80-bead-1fa406b0bf6eTue, 25 Jun 2019 21:02:17 GMTTue, 25 Jun 2019 21:02:57 GMTAgAAAAMAAAAAAAAAUP9jRZkr1QE=Tue, 25 Jun 2019 21:02:17 GMT", + "response": "4c3b6b22-c6a5-45b3-a1de-968a66a48ec3Fri, 16 Aug 2019 22:25:17 GMTFri, 16 Aug 2019 22:25:57 GMTAgAAAAMAAAAAAAAAhxVYe4FU1QE=Fri, 16 Aug 2019 22:25:17 GMT", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:16 GMT", + "date": "Fri, 16 Aug 2019 22:25:17 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415bff1-a003-00a0-1a99-2bb5f7000000", + "x-ms-request-id": "2b150fa1-8003-0095-5c81-541ba2000000", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653687801994/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431717308283/messages", "query": { "numofmessages": "2", "peekonly": "true", @@ -47,20 +47,20 @@ }, "requestBody": null, "status": 200, - "response": "5a168d26-24cb-4b80-bead-1fa406b0bf6eTue, 25 Jun 2019 21:02:17 GMTTue, 25 Jun 2019 21:02:57 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "response": "4c3b6b22-c6a5-45b3-a1de-968a66a48ec3Fri, 16 Aug 2019 22:25:17 GMTFri, 16 Aug 2019 22:25:57 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:16 GMT", + "date": "Fri, 16 Aug 2019 22:25:17 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415c037-a003-00a0-5c99-2bb5f7000000", + "x-ms-request-id": "2b150feb-8003-0095-1a81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653687801994/messages", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431717308283/messages", "query": { "numofmessages": "2", "timeout": "30", @@ -68,20 +68,20 @@ }, "requestBody": null, "status": 200, - "response": "5a168d26-24cb-4b80-bead-1fa406b0bf6eTue, 25 Jun 2019 21:02:17 GMTTue, 25 Jun 2019 21:02:57 GMTAgAAAAMAAAAAAAAAtK2SS5kr1QE=Tue, 25 Jun 2019 21:02:27 GMT1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "response": "4c3b6b22-c6a5-45b3-a1de-968a66a48ec3Fri, 16 Aug 2019 22:25:17 GMTFri, 16 Aug 2019 22:25:57 GMTAgAAAAMAAAAAAAAAvSeGgYFU1QE=Fri, 16 Aug 2019 22:25:27 GMT1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:16 GMT", + "date": "Fri, 16 Aug 2019 22:25:17 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415c08c-a003-00a0-2899-2bb5f7000000", + "x-ms-request-id": "2b15103e-8003-0095-6281-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653687801994", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599431717308283", "query": { "timeout": "30" }, @@ -89,15 +89,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c0d9-a003-00a0-6399-2bb5f7000000", + "x-ms-request-id": "2b15106d-8003-0095-0d81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:17 GMT", + "date": "Fri, 16 Aug 2019 22:25:17 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653687801994" + "queue": "queue156599431717308283" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json index 98dcc32f2be8..5069072875ee 100644 --- a/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json +++ b/sdk/storage/storage-queue/recordings/browsers/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360509955806328", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432050908438", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "5bdef8b0-9003-00a3-60c6-3eb6f0000000", + "x-ms-request-id": "2b1513e9-8003-0095-4781-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:44:59 GMT", + "date": "Fri, 16 Aug 2019 22:25:20 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360509955806328", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432050908438", "query": { "timeout": "30" }, @@ -27,15 +27,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "5bdef8d8-9003-00a3-03c6-3eb6f0000000", + "x-ms-request-id": "2b15140c-8003-0095-6781-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:44:59 GMT", + "date": "Fri, 16 Aug 2019 22:25:20 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156360509955806328" + "queue": "queue156599432050908438" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json index 766cdbf29c97..9141b975d3b9 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534455005291", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432449501401", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "790219bc-0003-00a6-2ec7-3e428f000000", + "x-ms-request-id": "2b1518a4-8003-0095-0c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:49:04 GMT", + "date": "Fri, 16 Aug 2019 22:25:24 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534455005291", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432449501401", "query": { "comp": "metadata", "timeout": "30" @@ -28,10 +28,10 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Sat, 20 Jul 2019 06:49:04 GMT", + "date": "Fri, 16 Aug 2019 22:25:24 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-approximate-messages-count": "0", - "x-ms-request-id": "790219e7-0003-00a6-53c7-3e428f000000", + "x-ms-request-id": "2b1518da-8003-0095-3f81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28", "content-length": "0" @@ -39,7 +39,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534455005291", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432449501401", "query": { "timeout": "30" }, @@ -47,15 +47,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "79021a0b-0003-00a6-73c7-3e428f000000", + "x-ms-request-id": "2b151928-8003-0095-0a81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:49:04 GMT", + "date": "Fri, 16 Aug 2019 22:25:24 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156360534455005291" + "queue": "queue156599432449501401" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json index 61132cc6563b..aa2c7d7e817b 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534527903736", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432494605278", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "79021a2c-0003-00a6-12c7-3e428f000000", + "x-ms-request-id": "2b151958-8003-0095-3981-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:49:04 GMT", + "date": "Fri, 16 Aug 2019 22:25:24 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534527903736", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432494605278", "query": { "comp": "metadata", "timeout": "30" @@ -28,10 +28,10 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Sat, 20 Jul 2019 06:49:04 GMT", + "date": "Fri, 16 Aug 2019 22:25:25 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-approximate-messages-count": "0", - "x-ms-request-id": "79021a4f-0003-00a6-33c7-3e428f000000", + "x-ms-request-id": "2b1519a4-8003-0095-0381-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28", "content-length": "0" @@ -39,7 +39,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534527903736", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432494605278", "query": { "timeout": "30" }, @@ -47,15 +47,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "79021a75-0003-00a6-57c7-3e428f000000", + "x-ms-request-id": "2b1519f4-8003-0095-5181-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:49:05 GMT", + "date": "Fri, 16 Aug 2019 22:25:25 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156360534527903736" + "queue": "queue156599432494605278" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_negative.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_negative.json index dae12af15313..abcde5ba570f 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_negative.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_negative.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654177303230", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432329909029", "query": { "timeout": "30" }, @@ -10,10 +10,10 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c854-a003-00a0-3d99-2bb5f7000000", + "x-ms-request-id": "2b15175c-8003-0095-5981-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:21 GMT", + "date": "Fri, 16 Aug 2019 22:25:23 GMT", "content-length": "0" } }, @@ -25,20 +25,20 @@ }, "requestBody": null, "status": 400, - "response": "InvalidResourceNameThe specifed resource name contains invalid characters.\nRequestId:6415c8a9-a003-00a0-0e99-2bb5f7000000\nTime:2019-06-25T21:02:22.0265756Z", + "response": "InvalidResourceNameThe specifed resource name contains invalid characters.\nRequestId:2b151786-8003-0095-7d81-541ba2000000\nTime:2019-08-16T22:25:23.5397412Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:21 GMT", + "date": "Fri, 16 Aug 2019 22:25:23 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "InvalidResourceName", "content-type": "application/xml", - "x-ms-request-id": "6415c8a9-a003-00a0-0e99-2bb5f7000000", + "x-ms-request-id": "2b151786-8003-0095-7d81-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "243" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654177303230", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432329909029", "query": { "timeout": "30" }, @@ -46,15 +46,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c8e7-a003-00a0-4a99-2bb5f7000000", + "x-ms-request-id": "2b15179c-8003-0095-1381-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:21 GMT", + "date": "Fri, 16 Aug 2019 22:25:23 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654177303230" + "queue": "queue156599432329909029" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_all_parameters.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_all_parameters.json index 5a02348e1852..18fe0ce243d0 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_all_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_all_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654112403023", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432268806198", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c6d3-a003-00a0-7999-2bb5f7000000", + "x-ms-request-id": "2b15166a-8003-0095-0781-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:20 GMT", + "date": "Fri, 16 Aug 2019 22:25:22 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654112403023156149654128100777", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432268806198156599432284607365", "query": { "timeout": "30" }, @@ -27,16 +27,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c730-a003-00a0-4799-2bb5f7000000", + "x-ms-request-id": "2b1516aa-8003-0095-3f81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:20 GMT", + "date": "Fri, 16 Aug 2019 22:25:22 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654112403023156149654128100777", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432268806198156599432284607365", "query": { "comp": "metadata", "timeout": "30" @@ -45,11 +45,11 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:20 GMT", + "date": "Fri, 16 Aug 2019 22:25:23 GMT", "x-ms-meta-key": "value", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-approximate-messages-count": "0", - "x-ms-request-id": "6415c775-a003-00a0-0299-2bb5f7000000", + "x-ms-request-id": "2b1516e5-8003-0095-7481-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28", "content-length": "0" @@ -57,7 +57,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654112403023", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432268806198", "query": { "timeout": "30" }, @@ -65,16 +65,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c7db-a003-00a0-5199-2bb5f7000000", + "x-ms-request-id": "2b151719-8003-0095-2281-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:21 GMT", + "date": "Fri, 16 Aug 2019 22:25:23 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654112403023", - "queue156149654112403023": "queue156149654112403023156149654128100777" + "queue": "queue156599432268806198", + "queue156599432268806198": "queue156599432268806198156599432284607365" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_default_parameters.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_default_parameters.json index 6d3c64928b79..f201df5cd992 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_default_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_create_with_default_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654082203707", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432233506062", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c631-a003-00a0-7199-2bb5f7000000", + "x-ms-request-id": "2b1515fc-8003-0095-2a81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:20 GMT", + "date": "Fri, 16 Aug 2019 22:25:22 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654082203707", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432233506062", "query": { "timeout": "30" }, @@ -27,15 +27,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c667-a003-00a0-2199-2bb5f7000000", + "x-ms-request-id": "2b151630-8003-0095-5581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:20 GMT", + "date": "Fri, 16 Aug 2019 22:25:22 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654082203707" + "queue": "queue156599432233506062" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_delete.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_delete.json index 47a4d640e583..bdb2328997d1 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_delete.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_delete.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654225202981", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432375007508", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c941-a003-00a0-1f99-2bb5f7000000", + "x-ms-request-id": "2b1517cd-8003-0095-4381-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:21 GMT", + "date": "Fri, 16 Aug 2019 22:25:23 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654225202981", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432375007508", "query": { "timeout": "30" }, @@ -27,15 +27,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c98a-a003-00a0-6599-2bb5f7000000", + "x-ms-request-id": "2b1517fb-8003-0095-6d81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:21 GMT", + "date": "Fri, 16 Aug 2019 22:25:23 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654225202981" + "queue": "queue156599432375007508" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_negative.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_negative.json index 2dec4ab2e914..5d8598742fc7 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_negative.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_negative.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654037504335", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432186304965", "query": { "timeout": "30" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c58c-a003-00a0-5999-2bb5f7000000", + "x-ms-request-id": "2b15155d-8003-0095-2081-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:19 GMT", + "date": "Fri, 16 Aug 2019 22:25:21 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654052206946", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432204005279", "query": { "comp": "metadata", "timeout": "30" }, "requestBody": null, "status": 404, - "response": "QueueNotFoundThe specified queue does not exist.\nRequestId:6415c5c9-a003-00a0-0f99-2bb5f7000000\nTime:2019-06-25T21:02:20.6205495Z", + "response": "QueueNotFoundThe specified queue does not exist.\nRequestId:2b15159b-8003-0095-5881-541ba2000000\nTime:2019-08-16T22:25:22.1337312Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:19 GMT", + "date": "Fri, 16 Aug 2019 22:25:22 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "QueueNotFound", "content-type": "application/xml", - "x-ms-request-id": "6415c5c9-a003-00a0-0f99-2bb5f7000000", + "x-ms-request-id": "2b15159b-8003-0095-5881-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "217" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654037504335", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432186304965", "query": { "timeout": "30" }, @@ -47,16 +47,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c608-a003-00a0-4a99-2bb5f7000000", + "x-ms-request-id": "2b1515c1-8003-0095-7981-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:20 GMT", + "date": "Fri, 16 Aug 2019 22:25:22 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654037504335", - "queue2": "queue156149654052206946" + "queue": "queue156599432186304965", + "queue2": "queue156599432204005279" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_with_defaultall_parameters.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_with_defaultall_parameters.json index ae9d73f186e4..48b5d1b87ef2 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_with_defaultall_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_getproperties_with_defaultall_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653992506226", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432141203829", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c4a0-a003-00a0-1e99-2bb5f7000000", + "x-ms-request-id": "2b1514cc-8003-0095-1781-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:19 GMT", + "date": "Fri, 16 Aug 2019 22:25:21 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653992506226", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432141203829", "query": { "comp": "metadata", "timeout": "30" @@ -28,10 +28,10 @@ "status": 200, "response": "", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:19 GMT", + "date": "Fri, 16 Aug 2019 22:25:21 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-approximate-messages-count": "0", - "x-ms-request-id": "6415c4f2-a003-00a0-5d99-2bb5f7000000", + "x-ms-request-id": "2b1514f2-8003-0095-3981-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28", "content-length": "0" @@ -39,7 +39,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653992506226", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432141203829", "query": { "timeout": "30" }, @@ -47,15 +47,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c540-a003-00a0-1999-2bb5f7000000", + "x-ms-request-id": "2b151530-8003-0095-7381-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:19 GMT", + "date": "Fri, 16 Aug 2019 22:25:21 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653992506226" + "queue": "queue156599432141203829" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setaccesspolicy_negative.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setaccesspolicy_negative.json index b7967ff7ac97..de17366e41b6 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setaccesspolicy_negative.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setaccesspolicy_negative.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654256100127", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432405402362", "query": { "timeout": "30" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c9be-a003-00a0-1699-2bb5f7000000", + "x-ms-request-id": "2b151819-8003-0095-0a81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:21 GMT", + "date": "Fri, 16 Aug 2019 22:25:24 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654256100127", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432405402362", "query": { "comp": "acl", "timeout": "30" }, "requestBody": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zrwdl", "status": 400, - "response": "InvalidXmlDocumentXML specified is not syntactically valid.\nRequestId:6415c9ec-a003-00a0-4199-2bb5f7000000\nTime:2019-06-25T21:02:22.8151509Z00", + "response": "InvalidXmlDocumentXML specified is not syntactically valid.\nRequestId:2b151842-8003-0095-2f81-541ba2000000\nTime:2019-08-16T22:25:24.2962842Z00", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:22 GMT", + "date": "Fri, 16 Aug 2019 22:25:24 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "InvalidXmlDocument", "content-type": "application/xml", - "x-ms-request-id": "6415c9ec-a003-00a0-4199-2bb5f7000000", + "x-ms-request-id": "2b151842-8003-0095-2f81-541ba2000000", "x-ms-version": "2018-03-28", "content-length": "294" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654256100127", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432405402362", "query": { "timeout": "30" }, @@ -47,15 +47,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415ca1b-a003-00a0-6f99-2bb5f7000000", + "x-ms-request-id": "2b15186f-8003-0095-5881-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:22 GMT", + "date": "Fri, 16 Aug 2019 22:25:24 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654256100127" + "queue": "queue156599432405402362" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setmetadata.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setmetadata.json index 596989bb5109..7568b91477f8 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setmetadata.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_setmetadata.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653932107146", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432081102796", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c3b9-a003-00a0-5d99-2bb5f7000000", + "x-ms-request-id": "2b151426-8003-0095-7f81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:18 GMT", + "date": "Fri, 16 Aug 2019 22:25:20 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653932107146", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432081102796", "query": { "comp": "metadata", "timeout": "30" @@ -28,16 +28,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c3e2-a003-00a0-0399-2bb5f7000000", + "x-ms-request-id": "2b15144d-8003-0095-2281-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:18 GMT", + "date": "Fri, 16 Aug 2019 22:25:20 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653932107146", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432081102796", "query": { "comp": "metadata", "timeout": "30" @@ -47,11 +47,11 @@ "response": "", "responseHeaders": { "x-ms-meta-keya": "vala", - "date": "Tue, 25 Jun 2019 21:02:19 GMT", + "date": "Fri, 16 Aug 2019 22:25:21 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-approximate-messages-count": "0", "x-ms-meta-keyb": "valb", - "x-ms-request-id": "6415c425-a003-00a0-3c99-2bb5f7000000", + "x-ms-request-id": "2b15146f-8003-0095-4281-541ba2000000", "cache-control": "no-cache", "x-ms-meta-key0": "val0", "x-ms-version": "2018-03-28", @@ -60,7 +60,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149653932107146", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432081102796", "query": { "timeout": "30" }, @@ -68,15 +68,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415c45e-a003-00a0-6b99-2bb5f7000000", + "x-ms-request-id": "2b15148b-8003-0095-5c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:19 GMT", + "date": "Fri, 16 Aug 2019 22:25:21 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149653932107146" + "queue": "queue156599432081102796" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json index 99ade8b98774..27cf0173c462 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534573505662", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432539808569", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "79021a9b-0003-00a6-7dc7-3e428f000000", + "x-ms-request-id": "2b151a5b-8003-0095-3581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:49:05 GMT", + "date": "Fri, 16 Aug 2019 22:25:25 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156360534573505662", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432539808569", "query": { "timeout": "30" }, @@ -27,15 +27,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "79021abb-0003-00a6-17c7-3e428f000000", + "x-ms-request-id": "2b151aae-8003-0095-0581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Sat, 20 Jul 2019 06:49:05 GMT", + "date": "Fri, 16 Aug 2019 22:25:25 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156360534573505662" + "queue": "queue156599432539808569" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.json index 138b9201a806..6c6f144a8430 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.json @@ -12,11 +12,11 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,OPTIONS,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Sat, 20 Jul 2019 07:04:11 GMT", + "date": "Fri, 16 Aug 2019 22:25:38 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6b51f2b5-a003-004e-1ec9-3ebf74000000", + "x-ms-request-id": "2b152998-8003-0095-6b81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_getproperties_with_defaultall_parameters.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_getproperties_with_defaultall_parameters.json index 964b83da95ea..5198be17b6e9 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_getproperties_with_defaultall_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_getproperties_with_defaultall_parameters.json @@ -12,11 +12,11 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,OPTIONS,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:28 GMT", + "date": "Fri, 16 Aug 2019 22:25:32 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415d348-a003-00a0-1899-2bb5f7000000", + "x-ms-request-id": "2b1522ad-8003-0095-8081-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_all_parameters.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_all_parameters.json index 1eb16b5297b5..12c21daf70fc 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_all_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_all_parameters.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654349805669x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432658806952x1", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cad2-a003-00a0-1b99-2bb5f7000000", + "x-ms-request-id": "2b151c53-8003-0095-0b81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:22 GMT", + "date": "Fri, 16 Aug 2019 22:25:26 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654349805669x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432658806952x2", "query": { "timeout": "30" }, @@ -27,10 +27,10 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cb14-a003-00a0-5699-2bb5f7000000", + "x-ms-request-id": "2b151c85-8003-0095-3481-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:23 GMT", + "date": "Fri, 16 Aug 2019 22:25:26 GMT", "content-length": "0" } }, @@ -41,18 +41,18 @@ "comp": "list", "include": "metadata", "maxresults": "1", - "prefix": "queue156149654349805669", + "prefix": "queue156599432658806952", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue1561496543498056691queue156149654349805669x1val/fakestorageaccount/queue156149654349805669x2", + "response": "queue1565994326588069521queue156599432658806952x1val/fakestorageaccount/queue156599432658806952x2", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:23 GMT", + "date": "Fri, 16 Aug 2019 22:25:26 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415cb4b-a003-00a0-0999-2bb5f7000000", + "x-ms-request-id": "2b151cb1-8003-0095-5481-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } @@ -63,27 +63,27 @@ "query": { "comp": "list", "include": "metadata", - "marker": "/fakestorageaccount/queue156149654349805669x2", + "marker": "/fakestorageaccount/queue156599432658806952x2", "maxresults": "1", - "prefix": "queue156149654349805669", + "prefix": "queue156599432658806952", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue156149654349805669/fakestorageaccount/queue156149654349805669x21queue156149654349805669x2val", + "response": "queue156599432658806952/fakestorageaccount/queue156599432658806952x21queue156599432658806952x2val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:23 GMT", + "date": "Fri, 16 Aug 2019 22:25:27 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415cb73-a003-00a0-2f99-2bb5f7000000", + "x-ms-request-id": "2b151cdb-8003-0095-7a81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654349805669x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432658806952x1", "query": { "timeout": "30" }, @@ -91,16 +91,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cb93-a003-00a0-4d99-2bb5f7000000", + "x-ms-request-id": "2b151d08-8003-0095-2081-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:23 GMT", + "date": "Fri, 16 Aug 2019 22:25:27 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654349805669x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432658806952x2", "query": { "timeout": "30" }, @@ -108,15 +108,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cbcc-a003-00a0-0199-2bb5f7000000", + "x-ms-request-id": "2b151d31-8003-0095-4281-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:23 GMT", + "date": "Fri, 16 Aug 2019 22:25:27 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654349805669" + "queue": "queue156599432658806952" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_default_parameters.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_default_parameters.json index 8b382acc0845..ccd3328c9cca 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_default_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_listqueues_with_default_parameters.json @@ -9,13 +9,13 @@ }, "requestBody": null, "status": 200, - "response": "queue155327915263307294155327915289906297queue155327919005109785queue155327975458906463155327975473106484queue155328104390600853155328104406608153queue155328107652108803queue155328127419103686155328127426305056queue155328130119105091queue155328134835701823155328134837307600queue155328137055407925queue155328152388304088155328152396107459queue155328154362800253queue155328202690309701155328202697802864queue155328205151603722queue155328234002703968155328234004607689queue155328235474901210queue155328318380400891155328318387904103queue155328321691309792queue155328325785207377155328325795002437queue155328332554106701155328332561103570queue155328334408408419queue155328338753306805155328338757308230queue155328350830801933155328350838604071queue155328352837206193queue155328357988801273155328357992306437queue155328362888200831155328362891305423queue155328365064104637queue155328369550406828155328369551602378queue155329053015604028155329053031908555queue155329055888609636queue155329060579406525155329060588000879queue155329089471209715155329089472801511queue155329091801907208queue155329096457201205155329096458404216queue155333893785601841155333893793301131queue155333897473705442queue155333901890104190155333901894502388queue155333943468501232155333943729309890queue155333945894000076queue155333950677803985155333950678509710queue155342532999104661155342533070104117queue155342535451402994queue155342539742708392155342539747100027queue155342582572209059155342582575301877queue155342585029201206queue155342589740603818155342589741703036queue155351174096405521155351174104402320queue155351177339208372queue155351181454303568155351181458407402queue155351233566207539155351233567808611queue155351236316804752queue155351241124701462155351241126001850queue155359813688902600155359813696007843queue155359816903500275queue155359821460406300155359821464709490queue155359876889805132155359876897601183queue155359880007508569queue155359884780905748155359884784509628queue155368454573409140155368454581409221queue155368456807102522queue155368461516807669155368461521200377queue155368511252407319155368511254000484queue155368513492508233queue155368518025204754155368518027200216queue155377095350609994155377095363905883queue155377098118602263queue155377103075502972155377103090506753queue155377157049701820155377157052809130queue155377158821001256queue155377163661209862155377163662201131queue155381151692504975155381151709307282queue155381154431004817queue155381170733507552155381170749902842queue155381173279907397queue155381177929102691155381177938208114queue155381210628400876155381210638301688queue155381213092901799queue155381217560504476155381217564506290queue155381245187900061155381245189405295queue155381246921407448queue155381278058706203155381278060304117queue155381279498506772queue155381284018903543155381284020102891queue155381308643506176155381308645000005queue155381311879700559queue155381316424908029155381316426308944queue155381338190205742155381338219305406queue155381341208808152queue155381358205006094155381358236108897queue155381361451807709queue155381366082201741155381366092403417queue155381380648907173155381380678906556queue155381383775408785queue155381388042706728155381388052600509queue155381410852306007155381410868701388queue155381413433607880queue155381428708506008155381428719603948queue155381430485001118queue155381434887008605155381434891402487queue155381449640808256155381449647809654queue155381451569605227queue155381473201207650155381473205409345queue155381496525406969155381496527008357queue155381498284203602queue155381529678705193155381529681909612queue155381531170901272queue155381536094609898155381536095408863queue155381562612507113155381562615606022queue155381564435409275queue155381569121602052155381569122404999queue155381589718702192155381589749505660queue155381592724006148queue155381608172203494155381608201603487queue155381611420208574queue155381615597605202155381615608308119queue155381629886706325155381629904308106queue155381632728603880queue155381637342208430155381637357806476queue155382807487300174155382807495007148queue155382809738704128queue155382824047104910155382824054403961queue155382826176505591queue155382830448705077155382830452705090queue155382844476207025155382844483807001queue155382846671205722queue155382851103509528155382851107906383queue155382872497706478155382872499306385queue155382874472806084queue155382896557002900155382896564107185queue155382898672503846queue155382899626603363155382899628206232queue155382901290503468queue155382906005800986155382906007803205queue155382910567605881155382910569806577queue155382911941601041queue155382924836709584155382924843905923queue155382927055507878queue155382931345204180155382931349509477queue155382931423801968155382931425401767queue155382932824901569queue155382934288801022155382934296405744queue155382936150905949queue155382937081004422155382937082203482queue155382948284701573155382948286803233queue155382950088102771queue155382955864906798155382955868103177queue155382956551506293155382956569102188queue155382958356907869queue155382959021307998queue155382962917506555155382962924703597queue155382964613008153queue155382969086100349155382969090207200queue155382973656503169155382973674503125queue155382976472604561queue155382979914902771155382979916405046queue155382980594103577155382980607101861queue155382981408009822queue155382991006701669155382991009809140queue155382992437902501queue155382993925900695155382993950101001queue155382996349701802queue155383000426804585155383000435605491queue155383006294704528155383006297803473queue155383007603508391queue155383012251301275155383012252304691queue155383013868703189155383013870306259queue155383015125803600queue155383032527804573155383032545509180queue155383035068809857queue155383037617502895155383037619108984queue155383038746204860queue155383043310202214155383043310905306queue155383048610006851155383048627709801queue155383051772100932queue155383062755005712155383062782604187queue155383065637500178155383065655704047queue155383065854007342queue155383068545003425queue155383072652301895155383072661205961queue155383078446604728155383078464900097queue155383081048403783queue155383093332004405155383093349308082queue155383095913207937queue155383099930003626155383099939000292queue155385735092902821155385735108905554queue155385737923600706queue155385742659801102155385742668407404queue155385791830308449155385791831908186queue155385793349707968queue155385797892509009155385797893705715queue155390109929607961155390109937701247queue155390112310706683queue155390126926800910155390126934905665queue155390129051808819queue155390140541707359155390140548906255queue155390142894700027queue155390147403000018155390147415308210queue155390172064502331155390172077401983queue155390173929001957queue155390196320602348155390196323805262queue155390197894403799queue155390221417303131155390221420409705queue155390223368403529queue155390227880209035155390227881508231queue155390249927003677155390249944905924queue155390252895504057queue155390273010906517155390273028507539queue155390275601602628queue155390288755200650155390288775204123queue155390291897608722queue155390296064002688155390296074300827queue155394372550506810155394372557802989queue155394374704505405queue155394378898001667155394378902304424queue155394425837109872155394425840203421queue155394427542907438queue155394431942009787155394431943509425queue155403014095403998155403014103201762queue155403016223203349queue155403020466603033155403020470804586queue155403075665008375155403076681208174queue155403107335703697queue155403111956905834155403111957901374queue155411658388501096155411658395602386queue155411661457005845queue155411665626507120155411665630605076queue155411695856308282155411695857908241queue155411697435904295queue155411702112008950155411702113305528queue155417253821600662155417253826008856queue155417258924506993155417258932405839queue155417261291902702queue155417273233201773155417273240700222queue155417275385701285queue155417282314804732155417282315603422queue155417287450102225155417287452508727queue155417289038309689queue155417295286603363155417295295700205queue155417316754302774155417316755907300queue155417318187708877queue155417340888802094155417340890302558queue155417342568008216queue155417367237402783155417367239406846queue155417368803101636queue155417389503007049155417389521801533queue155417392154209459queue155417405079408427155417405097609657queue155417407800004803queue155417420821809617155417420839203044queue155417423657800183queue155420293288502695155420293290300831queue155420295891700054queue155420300048302050155420300049603489queue155420360627002734155420360628507285queue155420362396504379queue155420367020609108155420367022602710queue155422820960903569155422820969407272queue155422825387803382155422825405800406queue155422828371903086queue155422840919003379155422840934708611queue155422843561007321queue155422844448504825155422844449605734queue155422857253102620155422857269205724queue155422860439901431queue155422882945504976155422882953305877queue155422884974107826queue155422894772209602155422894781503044queue155422908057602085155422908065409968queue155422910291001630queue155422935301601415155422935312408213queue155422936776604568queue155422959270000061155422959287603911queue155422962209806048queue155422977226003838155422977244303587queue155422979932709903queue155422993455806107155422993475902174queue155422996290300336queue155423004328901112155423004337203486queue155423008453502452155423008469805274queue155423010928604217queue155423026001601779155423026009308837queue155423027693900749queue155423029673407225155423029674804742queue155423043763106585155423043770509782queue155423045448002727queue155423048897001932155423048907809167queue155423077850106111155423077866700896queue155423080245908306queue155423107140605087155423107142102467queue155423109079502049queue155423139995902777155423140003702204queue155423141662007871queue155423180606805938155423180626906082queue155423183651708911queue155423206974906793155423206993102954queue155423209657600955queue155423237240304309155423237258509087queue155423239702505124queue155428933687301187155428933691505247queue155428938649401849155428938657401039queue155428941437908857queue155428979919000056queue155428981217503483155428981218709308queue155428996986406986155428996994402115queue155428998723301621queue155429016145105407155429016154107759queue155429030579202320155429030586600356queue155429033077109234queue155429059088006965155429059089609805queue155429060572502677queue155429087342504598155429087382005665queue155429090836300529queue155429119500800378155429119502308772queue155429120973808960queue155429144870108611155429144888003413queue155429147723107304queue155429164217905535155429164238301178queue155429167125501628queue155429184416002346155429184433206568queue155429187591104068queue155437573428409854155437573432501613queue155437578420808142155437578429308507queue155437580981609446queue155437638223603575155437638230807405queue155437640457304805queue155437648051901459155437648053304348queue155437672177901619155437672185307181queue155437674169209827queue155437682268102719155437682277204199queue155437700949501463155437700951006008queue155437702316201126queue155437727772302509155437727775401924queue155437728960404905queue155437757864303999155437757867403405queue155437759386203034queue155437781848005591155437781865705546queue155437784519803024queue155437800014400477155437800031708501queue155437802508804016queue155437817712201961155437817729104291queue155437820232805157queue155440954387105474155440954391109425queue155440959842003337155440959858307247queue155440962553905900queue155440980842503678155440980850804367queue155441015013908765155441015021504661queue155441017139704099queue155441052473107122155441052482407878queue155441057403908782155441057419902173queue155441060467802409queue155441147085306563155441147086904022queue155441148962000233queue155441175595206116155441175606301599queue155441177744303138queue155441205827803113155441205829304456queue155441207316407223queue155441233858706416155441233875804782queue155441236517400061queue155441253159502155155441253176600896queue155441256174804861queue155441272656601082155441272673908595queue155441275240400605queue155446219676100050155446219680501058queue155446225650507831155446225658004126queue155446227909106785queue155446285000400809155446285000903733queue155446309216600107155446309225604867queue155446569701105767155446569717301414queue155446572479600242queue155446588893206999155446588900403667queue155446590792100724queue155446757243406314155446757246504267queue155446758969105834queue155446786308103823155446786309605304queue155446788019609660queue155446815898000701155446815898808767queue155446817914206705queue155446840406205876155446840423906673queue155446843392100157queue155446858942902208155446858960401897queue155446862132702560queue155446877484900379155446877502502077queue155446880156005986queue155450258469202551155450258500202439queue155450262179403479queue155450268349009300155450268364007821queue155454864875809674155454864877106326queue155454865839401414155454865841508191queue155454867582804307queue155454914089407574155454914091605021queue155454915796202892queue155454923394406473155454923394605635queue155454937678304839155454937680404097queue155454939663307333queue155454947323600581155454947331908131queue155454968932606466155454968934205960queue155454970693600486queue155454992934607890155454992940908816queue155454995136308150queue155455032001608962155455032014308518queue155455033529000859queue155455051754508233155455051771104123queue155455054318605260queue155455066312007976155455066327900870queue155455068840701917queue155455080640802907155455080657103022queue155455083069805224queue155463497565509908155463497567001829queue155463504348802762155463504356305973queue155463507398502197queue155463545281505460155463545283500515queue155463547759100312queue155463556148002744155463556149507149queue155463580237503705155463580239400542queue155463582174703142queue155463585579802817155463585588708957queue155463610855007698155463610857002481queue155463612510103030queue155463634705503779155463634708602074queue155463636937603335queue155463661048602480155463661051702587queue155463662604504099queue155463680600508969155463680618103501queue155463683964707887queue155463696024104235155463696041206297queue155463699010409292queue155463710936705724155463710953803334queue155463713378208386queue155472148177404498155472148185801716queue155472165885602619155472165909906195queue155472168750809705queue155472206222705940155472206224706965queue155472206651404031155472206652604566queue155472208043806741queue155472220919009552155472220926209400queue155472222708804190155472222722301225queue155472222949706933queue155472251066805273155472251117107174queue155472253410608563queue155472276269306829155472276270907151queue155472278007304721queue155472300834802689155472300836403510queue155472303036507004queue155472321266605693155472321284005075queue155472324516505430queue155472336785907123155472336803504948queue155472339360508832queue155472351772207738155472351789606693queue155472354325703301queue155475586822201886155475586826906590queue155475593451401611155475593458707350queue155475595397604938queue155475629233408497155475629241606547queue155475632544100219155475632573908099queue155475634838405899queue155475642682803646155475642692009653queue155475648448201204155475648464201198queue155475650836700822queue155475674367403678155475674370605056queue155475675825703699queue155475698377905594155475698393709874queue155475700980201314queue155475726457201407155475726460304403queue155475727755106309queue155475749959901342155475749977706236queue155475752513706032queue155475765178905071155475765197002359queue155475768020601056queue155475793449704509155475793466805528queue155475796132004653queue155476382462500720155476382466803177queue155476387019907330155476387027704267queue155476389167503818queue155476404368308366155476404384703673queue155476405137107647155476405137907550queue155476406735003456queue155476409236002549155476409252100512queue155476411924108002queue155476424514202921155476424521702801queue155476426319206417queue155476428333603563155476428342707421queue155476442099606426155476442107708838queue155476443962709339queue155476466992604443155476466999908551queue155476468902708661queue155476534607204309155476534608803931queue155476535997704780queue155476556918607590155476556921702867queue155476558902700439queue155476607953806451155476607955402657queue155476609726706016queue155476622305601990155476622307108487queue155476623970108386queue155476664750704459155476664751900234queue155476666055702242queue155476669766205950155476669767705644queue155476671121502911queue155476704334800131155476704352604683queue155476707093703554queue155476712742806387155476712760509444queue155476715316801071queue155476742122903736155476742140605306queue155476744627107816queue155476753320801913155476753338208092queue155476755884702662queue155476777230006765155476777247100560queue155476779915908565queue155476791450207218155476791467607339queue155476793712200327queue155480811776203119155480811780403130queue155480822998502744155480823006909720queue155480825114102566queue155480861929102395155480861936703246queue155480864327102177queue155480864520409205155480864528403992queue155480877382402645155480877391500482queue155480879599507925155480879607202553queue155480881935905898queue155480905235308617155480905237302925queue155480907364602384queue155480930407203114155480930410401258queue155480932014808827queue155480962382605740155480962384209583queue155480964066004509queue155480983474107553155480983496309355queue155480986565406785queue155480998880805678155480998898309828queue155481003701604441queue155481015665709235155481015683001716queue155481018695804488queue155489413815107816155489413819300796queue155489418383000990155489418401507279queue155489420791506711queue155489453455807787155489453457003719queue155489469181209678155489469189002389queue155489472127405252queue155489491156308356155489491165203244queue155489504838307977155489504847004070queue155489507124706673queue155489530674807798155489530677905854queue155489532904501247queue155489556342000497155489556348209632queue155489557892006124queue155489583987106348155489584185601264queue155489585735609888queue155489604266207095155489604287200784queue155489606900806165queue155489619329002819155489619346002748queue155489622155201492queue155489634257408712155489634274700594queue155489636830903164queue155498059110503421155498059115608278queue155498066969403519155498066978203835queue155498070039902183queue155498111607101160155498111608403055queue155498111668708064155498111676300901queue155498113914600715queue155498131524702769155498131533508070queue155498133168804296queue155498138474209337155498138483208592queue155498157139309907155498157142406788queue155498158586702424queue155498187437005109155498187438500528queue155498188835102802queue155498213609901026155498213612206311queue155498215094306879queue155498234137909176155498234157602351queue155498236631104502queue155498249751609250155498249769000857queue155498252199002127queue155498264263703651155498264281001211queue155498266752603232queue155506694020409005155506694024600972queue155506698058103772155506698065507711queue155506700131904497queue155506742612600914155506742620206510queue155506744782909049queue155506751489806391155506751490601296queue155506780151401501155506780160409819queue155506781489803917155506781496804681queue155506783624403859queue155506810932709482155506810934305990queue155506812544703855queue155506836085601040155506836087103508queue155506837693305463queue155506861928102890155506861929700613queue155506863777609548queue155506882933101302155506882952206589queue155506885557101168queue155506897720104575155506897737202010queue155506900133303217queue155506913311501989155506913328805575queue155506915795809038queue155510078407803784queue155515346133704144155515346135104571queue155515351432701054155515351434909130queue155515353208700543queue155515396378601327155515396397700252queue155515398656608062queue155515399145406001155515399146306183queue155515413483706243155515413508905629queue155515413778208193155515413787106332queue155515415176207266queue155515437790703376155515437792203581queue155515439380306862queue155515462759207919155515462760600425queue155515464201209713queue155515489510205790155515489535802219queue155515491615104645queue155515510554501560155515510571909711queue155515513194405457queue155515525519904064155515525537103708queue155515528212309823queue155515540365402769155515540382704478queue155515542793004025queue155523978826700838155523978831009641queue155523983874501915155523983895704895queue155523986230203066queue155524015932202258155524015934005298queue155524018197306569queue155524022768003993155524022768704126queue155524029733906509155524029741101412queue155524031608903149queue155524036111403093155524036120400332queue155524054945909927155524054947507836queue155524056879700782queue155524080557001702155524080558604510queue155524082005109184queue155524108923700244155524108926804879queue155524110240301542queue155524129738608769155524129756301799queue155524132320802850queue155524144287802894155524144305008999queue155524146942006124queue155524159121501514155524159138700055queue155524161665906606queue155532628562002902155532628566007909queue155532631289305201155532631296909770queue155532633654303948queue155532665749007778155532665774708388queue155532667974200588queue155532669305000303155532669305204794queue155532681193802641155532681201106912queue155532682641609672155532682650706560queue155532683231205585queue155532706752102431155532706755308580queue155532709580202482queue155532733386209146155532733388202928queue155532735125805613queue155532761324803506155532761326403128queue155532762949905033queue155532782265505568155532782282906163queue155532784852301190queue155532797344900305155532797362207439queue155532800036909053queue155532812081205136155532812098509838queue155532814680204630queue155541255960707831155541255968308693queue155541265111309768155541265113404221queue155541266954903530queue155541326719803474155541326721806026queue155541328782007556queue155541329080503451155541329081704860queue155541354421907995155541354429407967queue155541356371601756queue155541361048305036155541361057200312queue155541386106901946155541386108504067queue155541387503504686queue155541411174305580155541411175802543queue155541412892403730queue155541438431301244155541438432906410queue155541440111402666queue155541459571603831155541459589406207queue155541462450803872queue155541475033308928155541475050508029queue155541477709602963queue155541489670205629155541489687402746queue155541492360009269queue155548497659208158155548497663408307queue155548502488703666155548502504403937queue155548504942003542queue155548517946905950155548517954809983queue155548520485207174queue155548520844001614155548520845706968queue155548533442008477155548533454801686queue155548533556805530155548533570303862queue155548535417307494queue155548562197807876155548562200909725queue155548564382800638queue155548588804707717155548588812505962queue155548590400800440queue155548616905304249155548616906803054queue155548618326506236queue155548636768501846155548636785909822queue155548639476201741queue155548652013604038155548652031104027queue155548654731602172queue155548667372803035155548667390503822queue155548670305106814queue155549894751201277155549894755308924queue155549900015603287155549900032204106queue155549902685607417queue155549967002308638155549967009608579queue155549969184900674queue155549974501100984155549974502802720queue155549996978203064155549996990807237queue155549997045204046155549997054303911queue155549999246801681queue155550031407006299155550031410102827queue155550033050409195queue155550058817505384155550058827508482queue155550060225701519queue155550088327708957155550088337102431queue155550089942602820queue155550109118101729155550109144009843queue155550111629607940queue155550125540604374155550125557903119queue155550128685907477queue155550141511004740155550141528703838queue155550143963304850queue155552581764703954155552581780905779queue155552584824200082queue155552587684903827155552587689006613queue155552610676200536155552610690101157queue155552613981505517queue155552620000402437155552620004709757queue155552627628704932155552627664801025queue155552630282603193queue155552633799308335155552633808509127queue155552659462506849155552659465606431queue155552661011902758queue155552687100303269155552687108207215queue155552689089302050queue155552720089709904155552720092807641queue155552721405608019queue155552744429305875155552744447009216queue155552747154109195queue155552760731106498155552760754501578queue155552763249805434queue155552776589401229155552776607003884queue155552779146301456queue155558539909807702155558539911200124queue155558552600406455155558552626102024queue155558555362508707queue155558602401309216155558602402703313queue155558604746209572155558604753503794queue155558607015509648queue155558634819207794155558634828308183queue155558639877906904155558639879803452queue155558642489606001queue155558667686505344155558667688107596queue155558669169003153queue155558694127209273155558694128708200queue155558695398609465queue155558721866403106155558721868006476queue155558724618201967queue155558743103000571155558743120309941queue155558746018205036queue155558758576103786155558758593407121queue155558760984103145queue155558773392406237155558773409503748queue155558776129303792queue155567173822302470155567173826609836queue155567179211008216155567179213604569queue155567180966103196queue155567242391900791155567242393405110queue155567252704703823155567252706700318queue155567255088205587queue155567298743306403155567298752407756queue155567314946802926155567314953909179queue155567316869107155queue155567355173800126155567355175400108queue155567356591902441queue155567382482503377155567382484109376queue155567384569601809queue155567409885504456155567409886307160queue155567411327206379queue155567429613908873155567429632105147queue155567432599803748queue155567445021305702155567445039102975queue155567447604009369queue155567460229404839155567460246904815queue155567462803905947queue155575814499302174155575814504000464queue155575818105907281155575818113304997queue155575820245709478queue155575878997008384155575879002707602queue155575880592407703queue155575885409806663155575885411301382queue155575935053804803155575935055706047queue155575936534409844queue155575943399904656155575943409009780queue155575982282507281155575982285607095queue155575984482102997queue155576009332603604155576009334209143queue155576010800909451queue155576036265207545155576036266707389queue155576037730704707queue155576056078102855155576056095801562queue155576058756202046queue155576070751903962155576070769406349queue155576073239102143queue155576085573205113155576085590403219queue155576088405109300queue155584453224900548155584453230905216queue155584457135603945155584457153101020queue155584459505500954queue155584502260406187155584502264208546queue155584504697205549queue155584507807500107155584507809007055queue155584543816209202155584543818007808queue155584545524605028queue155584549309200664155584549322701037queue155584580350907097155584580352603707queue155584581992107887queue155584605526309980155584605527807577queue155584607364105914queue155584632977804845155584632985609227queue155584634379805206queue155584652549105407155584652566600580queue155584655130601141queue155584667946905037155584667964105879queue155584670899900602queue155584684773104953155584684791509863queue155584687533704299queue155593109347603716155593109349106816queue155593114351607963155593114359201342queue155593117063804199queue155593197381401782155593197388805554queue155593199524601356queue155593201694102520155593201697902484queue155593228833608868155593228842701735queue155593229465606939155593229475709614queue155593231395403267queue155593257010908277155593257030709537queue155593258519504404queue155593282528006072155593282529607675queue155593283998705709queue155593312309707386155593312322502936queue155593314077508686queue155593332409903160155593332427400917queue155593334980907197queue155593347042604578155593347074309569queue155593349763101977queue155593361888905971155593361912001297queue155593364479108464queue155599369667700014queue155599375563308486155599375579000513queue155601769951109815155601769952401747queue155601776526704269155601776529101546queue155601777895702976queue155601848097904947155601848099408470queue155601851026105839155601851033909680queue155601853322306447queue155601887723207581155601887732101914queue155601893085505888155601893096200687queue155601894848108940queue155601925135003308155601925138101778queue155601927160308493queue155601952201105059155601952204208747queue155601953518107102queue155601978837904358155601978841001122queue155601980127505645queue155601998891905528155601998909409883queue155602001683708010queue155602014072303268155602014090103102queue155602016685708812queue155602029127003368155602029144903240queue155602031608505924queue155604361207109834155604361236402710queue155604365148002319queue155604385350205733155604385380307321queue155604388790007813queue155604442043303194155604442072802793queue155604445944700550queue155610373675309262155610373679307765queue155610379717508029155610379733809733queue155610384781108721queue155610442584509554155610442586303991queue155610453281408805155610453363209062queue155610455014604825queue155610490378509469155610490388005333queue155610503677104281155610503678902580queue155610505494109853queue155610551613806054155610551615408698queue155610553204201780queue155610578978608150155610578981702192queue155610580540200661queue155610606685902632155610606687505977queue155610608210709634queue155610626563505677155610626586208692queue155610629208506224queue155610662098102852155610662148106717queue155610664609006157queue155610677204905371155610677222104242queue155610679868003073queue155623733704506743155623733708700625queue155623738947509790155623738954905283queue155623741125805209queue155623753749501157155623753751804354queue155623756111208664queue155623761398601452155623761400308581queue155623769454605435155623769461707450queue155623771628609196queue155623775371709623155623775381004501queue155623798047900098155623798051109989queue155623799741706528queue155623826799108446155623826800702940queue155623828228205722queue155623857196005322155623857197604659queue155623858599509291queue155623878111500335155623878129200582queue155623880782007891queue155623893725700772155623893743402911queue155623896130009966queue155623909134009162155623909151206221queue155623911946300731queue155627656334703606155627656345007671queue155627666349908196155627666357805622queue155627669273401250queue155627684064106535155627684065702580queue155627692560801859155627692562809719queue155627694247609152queue155627701069403184155627701078406395queue155627708136400442155627708143301281queue155627710419908331queue155627735088302880155627735091404169queue155627736663607476queue155627760397800960155627760400905097queue155627761907205095queue155627786315500534155627786318607412queue155627788361200175queue155627807112601635155627807130200583queue155627809659305779queue155627822502300102155627822519304509queue155627824959706851queue155627838010105754155627838027909033queue155627840906500108queue155636295028105902155636295032104255queue155636299490409239155636299498106902queue155636301712603255queue155636323857106421155636323859202501queue155636324983905943155636324985605373queue155636325902306890queue155636338485206679155636338494000310queue155636339191101364155636339193205130queue155636340887504879queue155636364255307139155636364258403484queue155636365693705150queue155636390292603878155636390294604751queue155636392061905859queue155636417872704321155636417880505826queue155636419332600013queue155636438705709660155636438723100981queue155636441097707348queue155636454611908240155636454629504673queue155636457119402795queue155636469899205632155636469917007682queue155636472432203957queue155644934135100151155644934139908658queue155644938035204196155644938042800206queue155644940380105539queue155644962562806277155644962565002265queue155644963099802072155644963101508476queue155644964806302664queue155644976696407480155644976705402092queue155644977153107087155644977155905160queue155644978685509526queue155644995111809999155644995113408138queue155644996714101730queue155645020529405305155645020562402956queue155645022318501016queue155645049005606334155645049007209171queue155645050586204150queue155645069449302641155645069466803339queue155645072180103261queue155645084632005627155645084653201306queue155645087587905077queue155645100270402760155645100287602319queue155645102741803616queue155653574640806343155653574644908007queue155653577929502744155653577937103354queue155653579825605464queue155653594502805552155653594512101164queue155653596551208562queue155653603552606274155653603554203385queue155653610519204484155653610526207164queue155653612453805560queue155653616917205091155653616925908892queue155653636736701277155653636738307262queue155653638598002623queue155653668478100896155653668479609655queue155653670346208829queue155653697707605752155653697709200962queue155653699217804888queue155653718228807177155653718246100201queue155653722037902479queue155653735057104924155653735074509745queue155653738099309040queue155653751046907604155653751063500195queue155653753565205926queue155661859363408106155661859391102299queue155661862095703796queue155661903903100450155661903911509795queue155661905870103795queue155661919420603058155661919427907377queue155661921537509489queue155661950058205196155661950059703845queue155661951691408833queue155661978956605610155661978959907855queue155661982714602202queue155662005087205276155662005088808747queue155662006558604166queue155662024717103643155662024734108347queue155662027412602307queue155662041127701338155662041144807940queue155662043794603780queue155662057613707713155662057630607020queue155662060314303989queue155664506935203063155664506965501214queue155664510302907511queue155664540611401834155664540627001919queue155664734576705793155664734581406495queue155664739458700668155664739474907345queue155664741902407749queue155664754882001736155664754897907357queue155664757545907568queue155664758875902109155664758877503274queue155664769681901276155664769689504693queue155664771422801056queue155664774783305150155664774792008116queue155664794221403894155664794224604571queue155664795681609599queue155664816758601178155664816761700867queue155664819280805597queue155664843020704269155664843022205534queue155664844655904923queue155664864051407107155664864068900901queue155664866995002432queue155664883243909657155664883261304914queue155664885832801973queue155664898925607055155664898942907110queue155664901846603273queue155670497584709761155670497592600672queue155670504550104911queue155670531234505977155670531236605798queue155670533167102968queue155670555244800749155670555252008765queue155670557493306917queue155670578528404253155670578529909681queue155670581654605273queue155670602595302031155670602596803853queue155670604807708931queue155670627533105364155670627534602363queue155670628899704983queue155670649367504290155670649385106923queue155670652134100563queue155670668976904952155670668994707988queue155670671331901352queue155670687858809580155670687876306871queue155670690982601195queue155679135240605878155679135249405893queue155679140334209935155679140351105265queue155679143564604456queue155679197393007912155679197400702146queue155679199429903374queue155679201391608801155679201393308761queue155679212356907314155679212364209450queue155679214653607932155679214662300011queue155679216760107593queue155679238249102359155679238252308793queue155679240538804076queue155679261282901331155679261286005128queue155679262675007870queue155679285553404414155679285554902811queue155679287109007551queue155679305265502322155679305282707373queue155679308178509650queue155679322163606535155679322182103705queue155679325176904903queue155679339238900550155679339256204847queue155679342225706387queue155897772380308647queue155899016898206742155899016913402401queue155899032392804568155899032407809849queue155899087192505204155899087207303440queue155899291874204632155899291889009873queue155899306556808371155899306579509065queue155899344561709998155899344577007376queue155899415913900818155899415929001421queue155899434333109989155899434347804592queue155899774084004791155899774112907377queue155899778261002937queue155899791824009236155899791838809634queue155899870273608889155899870304509200queue155899874079307976queue155906903475008993155906903510603812queue155907563674908026155907563690407468queue155907596422000065queue155907602113403194queue155907702204305238queue156027473835601089156027473875501295queue156027479125507311queue156027617748905717156027617763806292queue156027618596607593x1queue156027618596607593x2queue156027623442108644156027623457404700queue156029277369909218156029277400106259queue156029281583604276queue156029297297903622156029297313308726queue156029308471800301156029308486905150queue156029316399503608156029316414607564queue156029327023808597156029327038900837queue156029709829106586156029709844302132queue156029727077506609156029727110304224queue156029730975300678queue156029877625609488156029877659104023queue156029881363008182queue156029885386000989156029885400705521queue156044232636105886queue156044461182902758156044461207204796queue156044463739401302156044463762108524queue156044465130302019x1queue156044465130302019x2queue156044467684904507queue156044467734106440queue156044467826807967queue156044511899506987156044511925800946queue156044516824508894queue156044516879005783queue156044516928303925queue156044529393805573156044529421601846queue156045671335801964queue156045688590804726156045688602106014queue156048107874104552queue156048120605205872156048120629802902queue156048124246301160queue156048124292403230queue156048124338703339queue156048157950909568156048157979505182queue156048161778403518queue156048161824005370queue156048161870702993queue156090002250108015156090002280405953queue156090002894107352queue156090011629306045156090011660000859queue156090018355206566queue156090070726605167x0queue156090070726605167x1queue156090070726605167x2queue156090070726605167x3queue156105293368005996queue156114908480400998156114908510202190queue156114916675200379queue156114930229808697156114930244905773queue156115959475908732156115959492909401queue156116061983406826156116062014509447queue156116067706500549queue156141613591409603156141613620505385queue156141621574706758queue156141759164100228156141759178702756queue156141923145904730156141923176308679queue156141930626608627queue156141934532302364156141934547206780queue156143602989007131156143603018605700queue156143610534200222queue156149550144105205156149550174606533queue156149557708300014queue156149654112403023156149654128100777", + "response": "newqueuenewqueue4newqueue4190newqueue420newqueue4590newqueue4890newqueue4890-fxnewqueue490queue155327915263307294155327915289906297queue155327919005109785queue155327975458906463155327975473106484queue155328104390600853155328104406608153queue155328107652108803queue155328127419103686155328127426305056queue155328130119105091queue155328134835701823155328134837307600queue155328137055407925queue155328152388304088155328152396107459queue155328154362800253queue155328202690309701155328202697802864queue155328205151603722queue155328234002703968155328234004607689queue155328235474901210queue155328318380400891155328318387904103queue155328321691309792queue155328325785207377155328325795002437queue155328332554106701155328332561103570queue155328334408408419queue155328338753306805155328338757308230queue155328350830801933155328350838604071queue155328352837206193queue155328357988801273155328357992306437queue155328362888200831155328362891305423queue155328365064104637queue155328369550406828155328369551602378queue155329053015604028155329053031908555queue155329055888609636queue155329060579406525155329060588000879queue155329089471209715155329089472801511queue155329091801907208queue155329096457201205155329096458404216queue155333893785601841155333893793301131queue155333897473705442queue155333901890104190155333901894502388queue155333943468501232155333943729309890queue155333945894000076queue155333950677803985155333950678509710queue155342532999104661155342533070104117queue155342535451402994queue155342539742708392155342539747100027queue155342582572209059155342582575301877queue155342585029201206queue155342589740603818155342589741703036queue155351174096405521155351174104402320queue155351177339208372queue155351181454303568155351181458407402queue155351233566207539155351233567808611queue155351236316804752queue155351241124701462155351241126001850queue155359813688902600155359813696007843queue155359816903500275queue155359821460406300155359821464709490queue155359876889805132155359876897601183queue155359880007508569queue155359884780905748155359884784509628queue155368454573409140155368454581409221queue155368456807102522queue155368461516807669155368461521200377queue155368511252407319155368511254000484queue155368513492508233queue155368518025204754155368518027200216queue155377095350609994155377095363905883queue155377098118602263queue155377103075502972155377103090506753queue155377157049701820155377157052809130queue155377158821001256queue155377163661209862155377163662201131queue155381151692504975155381151709307282queue155381154431004817queue155381170733507552155381170749902842queue155381173279907397queue155381177929102691155381177938208114queue155381210628400876155381210638301688queue155381213092901799queue155381217560504476155381217564506290queue155381245187900061155381245189405295queue155381246921407448queue155381278058706203155381278060304117queue155381279498506772queue155381284018903543155381284020102891queue155381308643506176155381308645000005queue155381311879700559queue155381316424908029155381316426308944queue155381338190205742155381338219305406queue155381341208808152queue155381358205006094155381358236108897queue155381361451807709queue155381366082201741155381366092403417queue155381380648907173155381380678906556queue155381383775408785queue155381388042706728155381388052600509queue155381410852306007155381410868701388queue155381413433607880queue155381428708506008155381428719603948queue155381430485001118queue155381434887008605155381434891402487queue155381449640808256155381449647809654queue155381451569605227queue155381473201207650155381473205409345queue155381496525406969155381496527008357queue155381498284203602queue155381529678705193155381529681909612queue155381531170901272queue155381536094609898155381536095408863queue155381562612507113155381562615606022queue155381564435409275queue155381569121602052155381569122404999queue155381589718702192155381589749505660queue155381592724006148queue155381608172203494155381608201603487queue155381611420208574queue155381615597605202155381615608308119queue155381629886706325155381629904308106queue155381632728603880queue155381637342208430155381637357806476queue155382807487300174155382807495007148queue155382809738704128queue155382824047104910155382824054403961queue155382826176505591queue155382830448705077155382830452705090queue155382844476207025155382844483807001queue155382846671205722queue155382851103509528155382851107906383queue155382872497706478155382872499306385queue155382874472806084queue155382896557002900155382896564107185queue155382898672503846queue155382899626603363155382899628206232queue155382901290503468queue155382906005800986155382906007803205queue155382910567605881155382910569806577queue155382911941601041queue155382924836709584155382924843905923queue155382927055507878queue155382931345204180155382931349509477queue155382931423801968155382931425401767queue155382932824901569queue155382934288801022155382934296405744queue155382936150905949queue155382937081004422155382937082203482queue155382948284701573155382948286803233queue155382950088102771queue155382955864906798155382955868103177queue155382956551506293155382956569102188queue155382958356907869queue155382959021307998queue155382962917506555155382962924703597queue155382964613008153queue155382969086100349155382969090207200queue155382973656503169155382973674503125queue155382976472604561queue155382979914902771155382979916405046queue155382980594103577155382980607101861queue155382981408009822queue155382991006701669155382991009809140queue155382992437902501queue155382993925900695155382993950101001queue155382996349701802queue155383000426804585155383000435605491queue155383006294704528155383006297803473queue155383007603508391queue155383012251301275155383012252304691queue155383013868703189155383013870306259queue155383015125803600queue155383032527804573155383032545509180queue155383035068809857queue155383037617502895155383037619108984queue155383038746204860queue155383043310202214155383043310905306queue155383048610006851155383048627709801queue155383051772100932queue155383062755005712155383062782604187queue155383065637500178155383065655704047queue155383065854007342queue155383068545003425queue155383072652301895155383072661205961queue155383078446604728155383078464900097queue155383081048403783queue155383093332004405155383093349308082queue155383095913207937queue155383099930003626155383099939000292queue155385735092902821155385735108905554queue155385737923600706queue155385742659801102155385742668407404queue155385791830308449155385791831908186queue155385793349707968queue155385797892509009155385797893705715queue155390109929607961155390109937701247queue155390112310706683queue155390126926800910155390126934905665queue155390129051808819queue155390140541707359155390140548906255queue155390142894700027queue155390147403000018155390147415308210queue155390172064502331155390172077401983queue155390173929001957queue155390196320602348155390196323805262queue155390197894403799queue155390221417303131155390221420409705queue155390223368403529queue155390227880209035155390227881508231queue155390249927003677155390249944905924queue155390252895504057queue155390273010906517155390273028507539queue155390275601602628queue155390288755200650155390288775204123queue155390291897608722queue155390296064002688155390296074300827queue155394372550506810155394372557802989queue155394374704505405queue155394378898001667155394378902304424queue155394425837109872155394425840203421queue155394427542907438queue155394431942009787155394431943509425queue155403014095403998155403014103201762queue155403016223203349queue155403020466603033155403020470804586queue155403075665008375155403076681208174queue155403107335703697queue155403111956905834155403111957901374queue155411658388501096155411658395602386queue155411661457005845queue155411665626507120155411665630605076queue155411695856308282155411695857908241queue155411697435904295queue155411702112008950155411702113305528queue155417253821600662155417253826008856queue155417258924506993155417258932405839queue155417261291902702queue155417273233201773155417273240700222queue155417275385701285queue155417282314804732155417282315603422queue155417287450102225155417287452508727queue155417289038309689queue155417295286603363155417295295700205queue155417316754302774155417316755907300queue155417318187708877queue155417340888802094155417340890302558queue155417342568008216queue155417367237402783155417367239406846queue155417368803101636queue155417389503007049155417389521801533queue155417392154209459queue155417405079408427155417405097609657queue155417407800004803queue155417420821809617155417420839203044queue155417423657800183queue155420293288502695155420293290300831queue155420295891700054queue155420300048302050155420300049603489queue155420360627002734155420360628507285queue155420362396504379queue155420367020609108155420367022602710queue155422820960903569155422820969407272queue155422825387803382155422825405800406queue155422828371903086queue155422840919003379155422840934708611queue155422843561007321queue155422844448504825155422844449605734queue155422857253102620155422857269205724queue155422860439901431queue155422882945504976155422882953305877queue155422884974107826queue155422894772209602155422894781503044queue155422908057602085155422908065409968queue155422910291001630queue155422935301601415155422935312408213queue155422936776604568queue155422959270000061155422959287603911queue155422962209806048queue155422977226003838155422977244303587queue155422979932709903queue155422993455806107155422993475902174queue155422996290300336queue155423004328901112155423004337203486queue155423008453502452155423008469805274queue155423010928604217queue155423026001601779155423026009308837queue155423027693900749queue155423029673407225155423029674804742queue155423043763106585155423043770509782queue155423045448002727queue155423048897001932155423048907809167queue155423077850106111155423077866700896queue155423080245908306queue155423107140605087155423107142102467queue155423109079502049queue155423139995902777155423140003702204queue155423141662007871queue155423180606805938155423180626906082queue155423183651708911queue155423206974906793155423206993102954queue155423209657600955queue155423237240304309155423237258509087queue155423239702505124queue155428933687301187155428933691505247queue155428938649401849155428938657401039queue155428941437908857queue155428979919000056queue155428981217503483155428981218709308queue155428996986406986155428996994402115queue155428998723301621queue155429016145105407155429016154107759queue155429030579202320155429030586600356queue155429033077109234queue155429059088006965155429059089609805queue155429060572502677queue155429087342504598155429087382005665queue155429090836300529queue155429119500800378155429119502308772queue155429120973808960queue155429144870108611155429144888003413queue155429147723107304queue155429164217905535155429164238301178queue155429167125501628queue155429184416002346155429184433206568queue155429187591104068queue155437573428409854155437573432501613queue155437578420808142155437578429308507queue155437580981609446queue155437638223603575155437638230807405queue155437640457304805queue155437648051901459155437648053304348queue155437672177901619155437672185307181queue155437674169209827queue155437682268102719155437682277204199queue155437700949501463155437700951006008queue155437702316201126queue155437727772302509155437727775401924queue155437728960404905queue155437757864303999155437757867403405queue155437759386203034queue155437781848005591155437781865705546queue155437784519803024queue155437800014400477155437800031708501queue155437802508804016queue155437817712201961155437817729104291queue155437820232805157queue155440954387105474155440954391109425queue155440959842003337155440959858307247queue155440962553905900queue155440980842503678155440980850804367queue155441015013908765155441015021504661queue155441017139704099queue155441052473107122155441052482407878queue155441057403908782155441057419902173queue155441060467802409queue155441147085306563155441147086904022queue155441148962000233queue155441175595206116155441175606301599queue155441177744303138queue155441205827803113155441205829304456queue155441207316407223queue155441233858706416155441233875804782queue155441236517400061queue155441253159502155155441253176600896queue155441256174804861queue155441272656601082155441272673908595queue155441275240400605queue155446219676100050155446219680501058queue155446225650507831155446225658004126queue155446227909106785queue155446285000400809155446285000903733queue155446309216600107155446309225604867queue155446569701105767155446569717301414queue155446572479600242queue155446588893206999155446588900403667queue155446590792100724queue155446757243406314155446757246504267queue155446758969105834queue155446786308103823155446786309605304queue155446788019609660queue155446815898000701155446815898808767queue155446817914206705queue155446840406205876155446840423906673queue155446843392100157queue155446858942902208155446858960401897queue155446862132702560queue155446877484900379155446877502502077queue155446880156005986queue155450258469202551155450258500202439queue155450262179403479queue155450268349009300155450268364007821queue155454864875809674155454864877106326queue155454865839401414155454865841508191queue155454867582804307queue155454914089407574155454914091605021queue155454915796202892queue155454923394406473155454923394605635queue155454937678304839155454937680404097queue155454939663307333queue155454947323600581155454947331908131queue155454968932606466155454968934205960queue155454970693600486queue155454992934607890155454992940908816queue155454995136308150queue155455032001608962155455032014308518queue155455033529000859queue155455051754508233155455051771104123queue155455054318605260queue155455066312007976155455066327900870queue155455068840701917queue155455080640802907155455080657103022queue155455083069805224queue155463497565509908155463497567001829queue155463504348802762155463504356305973queue155463507398502197queue155463545281505460155463545283500515queue155463547759100312queue155463556148002744155463556149507149queue155463580237503705155463580239400542queue155463582174703142queue155463585579802817155463585588708957queue155463610855007698155463610857002481queue155463612510103030queue155463634705503779155463634708602074queue155463636937603335queue155463661048602480155463661051702587queue155463662604504099queue155463680600508969155463680618103501queue155463683964707887queue155463696024104235155463696041206297queue155463699010409292queue155463710936705724155463710953803334queue155463713378208386queue155472148177404498155472148185801716queue155472165885602619155472165909906195queue155472168750809705queue155472206222705940155472206224706965queue155472206651404031155472206652604566queue155472208043806741queue155472220919009552155472220926209400queue155472222708804190155472222722301225queue155472222949706933queue155472251066805273155472251117107174queue155472253410608563queue155472276269306829155472276270907151queue155472278007304721queue155472300834802689155472300836403510queue155472303036507004queue155472321266605693155472321284005075queue155472324516505430queue155472336785907123155472336803504948queue155472339360508832queue155472351772207738155472351789606693queue155472354325703301queue155475586822201886155475586826906590queue155475593451401611155475593458707350queue155475595397604938queue155475629233408497155475629241606547queue155475632544100219155475632573908099queue155475634838405899queue155475642682803646155475642692009653queue155475648448201204155475648464201198queue155475650836700822queue155475674367403678155475674370605056queue155475675825703699queue155475698377905594155475698393709874queue155475700980201314queue155475726457201407155475726460304403queue155475727755106309queue155475749959901342155475749977706236queue155475752513706032queue155475765178905071155475765197002359queue155475768020601056queue155475793449704509155475793466805528queue155475796132004653queue155476382462500720155476382466803177queue155476387019907330155476387027704267queue155476389167503818queue155476404368308366155476404384703673queue155476405137107647155476405137907550queue155476406735003456queue155476409236002549155476409252100512queue155476411924108002queue155476424514202921155476424521702801queue155476426319206417queue155476428333603563155476428342707421queue155476442099606426155476442107708838queue155476443962709339queue155476466992604443155476466999908551queue155476468902708661queue155476534607204309155476534608803931queue155476535997704780queue155476556918607590155476556921702867queue155476558902700439queue155476607953806451155476607955402657queue155476609726706016queue155476622305601990155476622307108487queue155476623970108386queue155476664750704459155476664751900234queue155476666055702242queue155476669766205950155476669767705644queue155476671121502911queue155476704334800131155476704352604683queue155476707093703554queue155476712742806387155476712760509444queue155476715316801071queue155476742122903736155476742140605306queue155476744627107816queue155476753320801913155476753338208092queue155476755884702662queue155476777230006765155476777247100560queue155476779915908565queue155476791450207218155476791467607339queue155476793712200327queue155480811776203119155480811780403130queue155480822998502744155480823006909720queue155480825114102566queue155480861929102395155480861936703246queue155480864327102177queue155480864520409205155480864528403992queue155480877382402645155480877391500482queue155480879599507925155480879607202553queue155480881935905898queue155480905235308617155480905237302925queue155480907364602384queue155480930407203114155480930410401258queue155480932014808827queue155480962382605740155480962384209583queue155480964066004509queue155480983474107553155480983496309355queue155480986565406785queue155480998880805678155480998898309828queue155481003701604441queue155481015665709235155481015683001716queue155481018695804488queue155489413815107816155489413819300796queue155489418383000990155489418401507279queue155489420791506711queue155489453455807787155489453457003719queue155489469181209678155489469189002389queue155489472127405252queue155489491156308356155489491165203244queue155489504838307977155489504847004070queue155489507124706673queue155489530674807798155489530677905854queue155489532904501247queue155489556342000497155489556348209632queue155489557892006124queue155489583987106348155489584185601264queue155489585735609888queue155489604266207095155489604287200784queue155489606900806165queue155489619329002819155489619346002748queue155489622155201492queue155489634257408712155489634274700594queue155489636830903164queue155498059110503421155498059115608278queue155498066969403519155498066978203835queue155498070039902183queue155498111607101160155498111608403055queue155498111668708064155498111676300901queue155498113914600715queue155498131524702769155498131533508070queue155498133168804296queue155498138474209337155498138483208592queue155498157139309907155498157142406788queue155498158586702424queue155498187437005109155498187438500528queue155498188835102802queue155498213609901026155498213612206311queue155498215094306879queue155498234137909176155498234157602351queue155498236631104502queue155498249751609250155498249769000857queue155498252199002127queue155498264263703651155498264281001211queue155498266752603232queue155506694020409005155506694024600972queue155506698058103772155506698065507711queue155506700131904497queue155506742612600914155506742620206510queue155506744782909049queue155506751489806391155506751490601296queue155506780151401501155506780160409819queue155506781489803917155506781496804681queue155506783624403859queue155506810932709482155506810934305990queue155506812544703855queue155506836085601040155506836087103508queue155506837693305463queue155506861928102890155506861929700613queue155506863777609548queue155506882933101302155506882952206589queue155506885557101168queue155506897720104575155506897737202010queue155506900133303217queue155506913311501989155506913328805575queue155506915795809038queue155510078407803784queue155515346133704144155515346135104571queue155515351432701054155515351434909130queue155515353208700543queue155515396378601327155515396397700252queue155515398656608062queue155515399145406001155515399146306183queue155515413483706243155515413508905629queue155515413778208193155515413787106332queue155515415176207266queue155515437790703376155515437792203581queue155515439380306862queue155515462759207919155515462760600425queue155515464201209713queue155515489510205790155515489535802219queue155515491615104645queue155515510554501560155515510571909711queue155515513194405457queue155515525519904064155515525537103708queue155515528212309823queue155515540365402769155515540382704478queue155515542793004025queue155523978826700838155523978831009641queue155523983874501915155523983895704895queue155523986230203066queue155524015932202258155524015934005298queue155524018197306569queue155524022768003993155524022768704126queue155524029733906509155524029741101412queue155524031608903149queue155524036111403093155524036120400332queue155524054945909927155524054947507836queue155524056879700782queue155524080557001702155524080558604510queue155524082005109184queue155524108923700244155524108926804879queue155524110240301542queue155524129738608769155524129756301799queue155524132320802850queue155524144287802894155524144305008999queue155524146942006124queue155524159121501514155524159138700055queue155524161665906606queue155532628562002902155532628566007909queue155532631289305201155532631296909770queue155532633654303948queue155532665749007778155532665774708388queue155532667974200588queue155532669305000303155532669305204794queue155532681193802641155532681201106912queue155532682641609672155532682650706560queue155532683231205585queue155532706752102431155532706755308580queue155532709580202482queue155532733386209146155532733388202928queue155532735125805613queue155532761324803506155532761326403128queue155532762949905033queue155532782265505568155532782282906163queue155532784852301190queue155532797344900305155532797362207439queue155532800036909053queue155532812081205136155532812098509838queue155532814680204630queue155541255960707831155541255968308693queue155541265111309768155541265113404221queue155541266954903530queue155541326719803474155541326721806026queue155541328782007556queue155541329080503451155541329081704860queue155541354421907995155541354429407967queue155541356371601756queue155541361048305036155541361057200312queue155541386106901946155541386108504067queue155541387503504686queue155541411174305580155541411175802543queue155541412892403730queue155541438431301244155541438432906410queue155541440111402666queue155541459571603831155541459589406207queue155541462450803872queue155541475033308928155541475050508029queue155541477709602963queue155541489670205629155541489687402746queue155541492360009269queue155548497659208158155548497663408307queue155548502488703666155548502504403937queue155548504942003542queue155548517946905950155548517954809983queue155548520485207174queue155548520844001614155548520845706968queue155548533442008477155548533454801686queue155548533556805530155548533570303862queue155548535417307494queue155548562197807876155548562200909725queue155548564382800638queue155548588804707717155548588812505962queue155548590400800440queue155548616905304249155548616906803054queue155548618326506236queue155548636768501846155548636785909822queue155548639476201741queue155548652013604038155548652031104027queue155548654731602172queue155548667372803035155548667390503822queue155548670305106814queue155549894751201277155549894755308924queue155549900015603287155549900032204106queue155549902685607417queue155549967002308638155549967009608579queue155549969184900674queue155549974501100984155549974502802720queue155549996978203064155549996990807237queue155549997045204046155549997054303911queue155549999246801681queue155550031407006299155550031410102827queue155550033050409195queue155550058817505384155550058827508482queue155550060225701519queue155550088327708957155550088337102431queue155550089942602820queue155550109118101729155550109144009843queue155550111629607940queue155550125540604374155550125557903119queue155550128685907477queue155550141511004740155550141528703838queue155550143963304850queue155552581764703954155552581780905779queue155552584824200082queue155552587684903827155552587689006613queue155552610676200536155552610690101157queue155552613981505517queue155552620000402437155552620004709757queue155552627628704932155552627664801025queue155552630282603193queue155552633799308335155552633808509127queue155552659462506849155552659465606431queue155552661011902758queue155552687100303269155552687108207215queue155552689089302050queue155552720089709904155552720092807641queue155552721405608019queue155552744429305875155552744447009216queue155552747154109195queue155552760731106498155552760754501578queue155552763249805434queue155552776589401229155552776607003884queue155552779146301456queue155558539909807702155558539911200124queue155558552600406455155558552626102024queue155558555362508707queue155558602401309216155558602402703313queue155558604746209572155558604753503794queue155558607015509648queue155558634819207794155558634828308183queue155558639877906904155558639879803452queue155558642489606001queue155558667686505344155558667688107596queue155558669169003153queue155558694127209273155558694128708200queue155558695398609465queue155558721866403106155558721868006476queue155558724618201967queue155558743103000571155558743120309941queue155558746018205036queue155558758576103786155558758593407121queue155558760984103145queue155558773392406237155558773409503748queue155558776129303792queue155567173822302470155567173826609836queue155567179211008216155567179213604569queue155567180966103196queue155567242391900791155567242393405110queue155567252704703823155567252706700318queue155567255088205587queue155567298743306403155567298752407756queue155567314946802926155567314953909179queue155567316869107155queue155567355173800126155567355175400108queue155567356591902441queue155567382482503377155567382484109376queue155567384569601809queue155567409885504456155567409886307160queue155567411327206379queue155567429613908873155567429632105147queue155567432599803748queue155567445021305702155567445039102975queue155567447604009369queue155567460229404839155567460246904815queue155567462803905947queue155575814499302174155575814504000464queue155575818105907281155575818113304997queue155575820245709478queue155575878997008384155575879002707602queue155575880592407703queue155575885409806663155575885411301382queue155575935053804803155575935055706047queue155575936534409844queue155575943399904656155575943409009780queue155575982282507281155575982285607095queue155575984482102997queue155576009332603604155576009334209143queue155576010800909451queue155576036265207545155576036266707389queue155576037730704707queue155576056078102855155576056095801562queue155576058756202046queue155576070751903962155576070769406349queue155576073239102143queue155576085573205113155576085590403219queue155576088405109300queue155584453224900548155584453230905216queue155584457135603945155584457153101020queue155584459505500954queue155584502260406187155584502264208546queue155584504697205549queue155584507807500107155584507809007055queue155584543816209202155584543818007808queue155584545524605028queue155584549309200664155584549322701037queue155584580350907097155584580352603707queue155584581992107887queue155584605526309980155584605527807577queue155584607364105914queue155584632977804845155584632985609227queue155584634379805206queue155584652549105407155584652566600580queue155584655130601141queue155584667946905037155584667964105879queue155584670899900602queue155584684773104953155584684791509863queue155584687533704299queue155593109347603716155593109349106816queue155593114351607963155593114359201342queue155593117063804199queue155593197381401782155593197388805554queue155593199524601356queue155593201694102520155593201697902484queue155593228833608868155593228842701735queue155593229465606939155593229475709614queue155593231395403267queue155593257010908277155593257030709537queue155593258519504404queue155593282528006072155593282529607675queue155593283998705709queue155593312309707386155593312322502936queue155593314077508686queue155593332409903160155593332427400917queue155593334980907197queue155593347042604578155593347074309569queue155593349763101977queue155593361888905971155593361912001297queue155593364479108464queue155599369667700014queue155599375563308486155599375579000513queue155601769951109815155601769952401747queue155601776526704269155601776529101546queue155601777895702976queue155601848097904947155601848099408470queue155601851026105839155601851033909680queue155601853322306447queue155601887723207581155601887732101914queue155601893085505888155601893096200687queue155601894848108940queue155601925135003308155601925138101778queue155601927160308493queue155601952201105059155601952204208747queue155601953518107102queue155601978837904358155601978841001122queue155601980127505645queue155601998891905528155601998909409883queue155602001683708010queue155602014072303268155602014090103102queue155602016685708812queue155602029127003368155602029144903240queue155602031608505924queue155604361207109834155604361236402710queue155604365148002319queue155604385350205733155604385380307321queue155604388790007813queue155604442043303194155604442072802793queue155604445944700550queue155610373675309262155610373679307765queue155610379717508029155610379733809733queue155610384781108721queue155610442584509554155610442586303991queue155610453281408805155610453363209062queue155610455014604825queue155610490378509469155610490388005333queue155610503677104281155610503678902580queue155610505494109853queue155610551613806054155610551615408698queue155610553204201780queue155610578978608150155610578981702192queue155610580540200661queue155610606685902632155610606687505977queue155610608210709634queue155610626563505677155610626586208692queue155610629208506224queue155610662098102852155610662148106717queue155610664609006157queue155610677204905371155610677222104242queue155610679868003073queue155623733704506743155623733708700625queue155623738947509790155623738954905283queue155623741125805209queue155623753749501157155623753751804354queue155623756111208664queue155623761398601452155623761400308581queue155623769454605435155623769461707450queue155623771628609196queue155623775371709623155623775381004501queue155623798047900098155623798051109989queue155623799741706528queue155623826799108446155623826800702940queue155623828228205722queue155623857196005322155623857197604659queue155623858599509291queue155623878111500335155623878129200582queue155623880782007891queue155623893725700772155623893743402911queue155623896130009966queue155623909134009162155623909151206221queue155623911946300731queue155627656334703606155627656345007671queue155627666349908196155627666357805622queue155627669273401250queue155627684064106535155627684065702580queue155627692560801859155627692562809719queue155627694247609152queue155627701069403184155627701078406395queue155627708136400442155627708143301281queue155627710419908331queue155627735088302880155627735091404169queue155627736663607476queue155627760397800960155627760400905097queue155627761907205095queue155627786315500534155627786318607412queue155627788361200175queue155627807112601635155627807130200583queue155627809659305779queue155627822502300102155627822519304509queue155627824959706851queue155627838010105754155627838027909033queue155627840906500108queue155636295028105902155636295032104255queue155636299490409239155636299498106902queue155636301712603255queue155636323857106421155636323859202501queue155636324983905943155636324985605373queue155636325902306890queue155636338485206679155636338494000310queue155636339191101364155636339193205130queue155636340887504879queue155636364255307139155636364258403484queue155636365693705150queue155636390292603878155636390294604751queue155636392061905859queue155636417872704321155636417880505826queue155636419332600013queue155636438705709660155636438723100981queue155636441097707348queue155636454611908240155636454629504673queue155636457119402795queue155636469899205632155636469917007682queue155636472432203957queue155644934135100151155644934139908658queue155644938035204196155644938042800206queue155644940380105539queue155644962562806277155644962565002265queue155644963099802072155644963101508476queue155644964806302664queue155644976696407480155644976705402092queue155644977153107087155644977155905160queue155644978685509526queue155644995111809999155644995113408138queue155644996714101730queue155645020529405305155645020562402956queue155645022318501016queue155645049005606334155645049007209171queue155645050586204150queue155645069449302641155645069466803339queue155645072180103261queue155645084632005627155645084653201306queue155645087587905077queue155645100270402760155645100287602319queue155645102741803616queue155653574640806343155653574644908007queue155653577929502744155653577937103354queue155653579825605464queue155653594502805552155653594512101164queue155653596551208562queue155653603552606274155653603554203385queue155653610519204484155653610526207164queue155653612453805560queue155653616917205091155653616925908892queue155653636736701277155653636738307262queue155653638598002623queue155653668478100896155653668479609655queue155653670346208829queue155653697707605752155653697709200962queue155653699217804888queue155653718228807177155653718246100201queue155653722037902479queue155653735057104924155653735074509745queue155653738099309040queue155653751046907604155653751063500195queue155653753565205926queue155661859363408106155661859391102299queue155661862095703796queue155661903903100450155661903911509795queue155661905870103795queue155661919420603058155661919427907377queue155661921537509489queue155661950058205196155661950059703845queue155661951691408833queue155661978956605610155661978959907855queue155661982714602202queue155662005087205276155662005088808747queue155662006558604166queue155662024717103643155662024734108347queue155662027412602307queue155662041127701338155662041144807940queue155662043794603780queue155662057613707713155662057630607020queue155662060314303989queue155664506935203063155664506965501214queue155664510302907511queue155664540611401834155664540627001919queue155664734576705793155664734581406495queue155664739458700668155664739474907345queue155664741902407749queue155664754882001736155664754897907357queue155664757545907568queue155664758875902109155664758877503274queue155664769681901276155664769689504693queue155664771422801056queue155664774783305150155664774792008116queue155664794221403894155664794224604571queue155664795681609599queue155664816758601178155664816761700867queue155664819280805597queue155664843020704269155664843022205534queue155664844655904923queue155664864051407107155664864068900901queue155664866995002432queue155664883243909657155664883261304914queue155664885832801973queue155664898925607055155664898942907110queue155664901846603273queue155670497584709761155670497592600672queue155670504550104911queue155670531234505977155670531236605798queue155670533167102968queue155670555244800749155670555252008765queue155670557493306917queue155670578528404253155670578529909681queue155670581654605273queue155670602595302031155670602596803853queue155670604807708931queue155670627533105364155670627534602363queue155670628899704983queue155670649367504290155670649385106923queue155670652134100563queue155670668976904952155670668994707988queue155670671331901352queue155670687858809580155670687876306871queue155670690982601195queue155679135240605878155679135249405893queue155679140334209935155679140351105265queue155679143564604456queue155679197393007912155679197400702146queue155679199429903374queue155679201391608801155679201393308761queue155679212356907314155679212364209450queue155679214653607932155679214662300011queue155679216760107593queue155679238249102359155679238252308793queue155679240538804076queue155679261282901331155679261286005128queue155679262675007870queue155679285553404414155679285554902811queue155679287109007551queue155679305265502322155679305282707373queue155679308178509650queue155679322163606535155679322182103705queue155679325176904903queue155679339238900550155679339256204847queue155679342225706387queue155897772380308647queue155899016898206742155899016913402401queue155899032392804568155899032407809849queue155899087192505204155899087207303440queue155899291874204632155899291889009873queue155899306556808371155899306579509065queue155899344561709998155899344577007376queue155899415913900818155899415929001421queue155899434333109989155899434347804592queue155899774084004791155899774112907377queue155899778261002937queue155899791824009236155899791838809634queue155899870273608889155899870304509200queue155899874079307976queue155906903475008993155906903510603812queue155907563674908026155907563690407468queue155907596422000065queue155907602113403194queue155907702204305238queue156027473835601089156027473875501295queue156027479125507311queue156027617748905717156027617763806292queue156027618596607593x1queue156027618596607593x2queue156027623442108644156027623457404700queue156029277369909218156029277400106259queue156029281583604276queue156029297297903622156029297313308726queue156029308471800301156029308486905150queue156029316399503608156029316414607564queue156029327023808597156029327038900837queue156029709829106586156029709844302132queue156029727077506609156029727110304224queue156029730975300678queue156029877625609488156029877659104023queue156029881363008182queue156029885386000989156029885400705521queue156044232636105886queue156044461182902758156044461207204796queue156044463739401302156044463762108524queue156044465130302019x1queue156044465130302019x2queue156044467684904507queue156044467734106440queue156044467826807967queue156044511899506987156044511925800946queue156044516824508894queue156044516879005783queue156044516928303925queue156044529393805573156044529421601846queue156045671335801964queue156045688590804726156045688602106014queue156048107874104552queue156048120605205872156048120629802902queue156048124246301160queue156048124292403230queue156048124338703339queue156048157950909568156048157979505182queue156048161778403518queue156048161824005370queue156048161870702993queue156090002250108015156090002280405953queue156090002894107352queue156090011629306045156090011660000859queue156090018355206566queue156090070726605167x0queue156090070726605167x1queue156090070726605167x2queue156090070726605167x3queue156105293368005996queue156114908480400998156114908510202190queue156114916675200379queue156114930229808697156114930244905773queue156115959475908732156115959492909401queue156116061983406826156116062014509447queue156116067706500549queue156141613591409603156141613620505385queue156141621574706758queue156141759164100228156141759178702756queue156141923145904730156141923176308679queue156141930626608627queue156141934532302364156141934547206780queue156143602989007131156143603018605700queue156143610534200222queue156149550144105205156149550174606533queue156149557708300014queue156149654112403023156149654128100777queue156157716554600904156157716584107908queue156157725045905702queue156157728853709868156157728869602199queue156167174911702752156167174940805949queue156167182350008342queue156167186174404914156167186189103348queue156167273050804969156167273081702279queue156167280058207781queue156167286566803843156167286582104255queue156167302974309045156167303003407220queue156167311691804193queue156167315378905613156167315394004333queue156167464610906802156167464642104158queue156167471416807935queue156167475161104556156167475176009132queue156167525459003515156167525488803616queue156167533877601760156167533907102508queue156167533966000942queue156167537648409005156167537665302070queue156167540472002423queue156167544403007162156167544418401449queue156176594396604974156176594427105536queue156176601948402686queue156176636732000401156176636753104718queue156177029101903876156177029131304093queue156177036784501839queue156177040822505730156177040837601958queue156177112971000891156177113089804481queue156177120271502846queue156177123926906128156177123942101047queue156177476277402060156177476313905861queue156177485179103170queue156177486721007778queue156177499344805622156177499359902086queue156177959629406960156177959808704931queue156177967794304194queue156178047904204581156178047933302781queue156178054992609626queue156178059724209923156178059739406850queue156178147016000595156178147046101910queue156178154360703514queue156178158276600612156178158292009398queue156178237818109204156178237848703390queue156178244557902389queue156178249027305009156178249042303858queue156209047856109848156209047870709326queue156209144967308670156209144982507171queue156209275202209593156209275217606506queue156211361400001290156211361415006917queue156213691894603074156213691945603486queue156213699745301515queue156213703887903436156213703902602760queue156223538216808036156223538225807799queue156223540160106103156223540167906535queue156223562886705302queue156223564133108636156223564134509662queue156223574493404772156223574509107457queue156223576699806743156223576763505142queue156223577752600349queue156223579432508800queue156223591424102991156223591438805722queue156223593767109634156223593784701738queue156223593942803301queue156223596933803940queue156223596949304957156223596967208615queue156223601806505037queue156223602143408637156223602160900158queue156223605702608321queue156223616305708780156223616318202702queue156223617768707551156223617779702294queue156223618116703188156223618133903267queue156223618834608930queue156223620236200828queue156223620822806441queue156232224217103306156232224227101203queue156232226642903091156232226648607880queue156232237265800753156232237276808563queue156232239672607134156232239682505613queue156232240109506115156232240122305093queue156232240637601050queue156232243022304408queue156232255583503368156232255603803328queue156232256257507021156232256276801497queue156232257368100084156232257382708042queue156232258164304672156232258181803894queue156232258934208610queue156232259294306324queue156232261209909238queue156232261501903549queue156232282626008195156232282644802241queue156232284366209840156232284386609637queue156232285947505176queue156232286268906242156232286289209654queue156232287818009539queue156232289168805536queue156240824048501164156240824054201694queue156240825455209232156240825464304041queue156240846563809360156240846569604184queue156240857245908927156240857260001261queue156240860744506143queue156240862981705776156240862999405304queue156240863338209566156240863349208031queue156240863604004032156240863621603113queue156240864866404948156240864879400891queue156240865968701964queue156240865982309109queue156240866876501654queue156240867640707748queue156240871774702532156240871792304099queue156240875596905532queue156240887879902154156240887892402200queue156240891907600057queue156240892092901333156240892108603991queue156240894687006802queue156240898986208888156240898997209330queue156240901365906635queue156249384914604283156249384923608465queue156249387975802977156249387993500334queue156249388890808286156249388908705672queue156249389668901596156249389686603076queue156249390629503000156249390635909240queue156249390919404596queue156249390946408287156249390959708533queue156249391767506506156249391780502244queue156249392204109990queue156249392509806790queue156249393561804116queue156249394637009756156249394650007132queue156249394696608709queue156249397203507323queue156249397221204341156249397227604189queue156249399445005221156249399456003042queue156249400842702473156249400855405626queue156249401291100972156249401304005110queue156249401797809237queue156249403366800012queue156249403790309309queue156258139145705934156258139155209139queue156258143701005877156258143708509153queue156258148959004609156258148971107707queue156258150039408649156258150050700262queue156258151662103650156258151669500448queue156258152049103675queue156258152676704238156258152688208170queue156258152968408196queue156258156316805791queue156258163288206379156258163307300630queue156258166328006212queue156258169062108239156258169079404919queue156258171769105510queue156258172057207234156258172074805066queue156258175018301797queue156258184845400454156258184864208154queue156258186202709394156258186224607695queue156258187862307563queue156258189290004751queue156258193802801767156258193823103224queue156258196795904225queue156262646920201562156262646952100290queue156262655142006472queue156262659563606155156262659578706830queue156264886455107247156264886464205469queue156264895138902833156264895145707221queue156264901689208150156264901706907527queue156264901797000572156264901814603591queue156264901950705357156264901963802840queue156264903844301585156264903857802269queue156264905156209965156264905167008730queue156264906738800802queue156264906847308402queue156264907320705688queue156264907454701552queue156264909177302377156264909187401310queue156264909352401027queue156264918904809377156264918922400836queue156264921799608018156264921801202631queue156264923336405236queue156264923611308252queue156264927202609223156264927221401690queue156264927426804307156264927428401412queue156264929281503261queue156264931629103393queue156266752599109098queue156266753873806422156266753875001296queue156266755390600714156266755399502366queue156266787731001255queue156266789229102419156266789230706855queue156266789894903752156266789912306755queue156266790125002515156266790144107855queue156266790683405262156266790700600530queue156266792587605935queue156266792761603221156266792773504616queue156266793148204490queue156266794216907816queue156266795062604759156266795077304051queue156266795063600195queue156266797861406056queue156266806641602662156266806659004122queue156266809963200808queue156266822279000002156266822293008715queue156266824721405485queue156266827704408934156266827716904644queue156266828038405889156266828057305024queue156266829990706123queue156266831349705734queue156269525310200719156269525317501822queue156269542237904123queue156269543797703910156269543799306848queue156269553431503521156269553440608919queue156269555279106116156269555294809710queue156269559104402111156269559111307369queue156269560440102552queue156269562278303639queue156269565912307256156269565922703964queue156269568406806478queue156269582706503243156269582723901209queue156269584100405730156269584118506184queue156269584891700949156269584909502428queue156269587414505338queue156269588515904593queue156269589207807562queue156269594685007315156269594700803980queue156269595954108288156269595974409868queue156269597485005777156269597503702295queue156269599468405076queue156269600652907671queue156269601976208995queue156275429830903010156275429839908123queue156275437234102048156275437240707928queue156275449308108351queue156275450610607768156275450653500381queue156275451008606680156275451010102195queue156275453235503950queue156275461773104389156275461790301466queue156275463228904763156275463242804546queue156275465574906207156275465597606635queue156275465709508523queue156275466016901734queue156275466961700263156275466979308742queue156275468436903846queue156275470166700661queue156275479164308526156275479181906701queue156275481448301478156275481451505696queue156275482479000696queue156275485037109857queue156275497739205194156275497758504263queue156275498562305457156275498581009682queue156275500925802443queue156275501855102850queue156284049934908329156284049943905747queue156284069710603139156284069717706921queue156284078998401591156284079024607879queue156284082694307773queue156284083901307172156284083919801254queue156284084686804386156284084703909105queue156284086035102473156284086037200483queue156284087239004911156284087256701708queue156284087577302879156284087587305992queue156284087666400127queue156284088027703188queue156284088135503101queue156284089030509285156284089041604349queue156284090596000209queue156284091822405333queue156284115115803219156284115134701550queue156284118234206526156284118248309214queue156284118973604994queue156284124235103979queue156284124578206898156284124595904047queue156284128087203831queue156292647106809918156292647116001704queue156292653222603644156292653229502912queue156292659482806778156292659497107394queue156292660479105895156292660492300467queue156292661215902167156292661233500609queue156292662931805706156292662946705536queue156292663455609756queue156292663912000908156292663913606012queue156292664025906174queue156292664551008991queue156292665926800813queue156292666355300215156292666373509197queue156292668919303881156292668937103423queue156292669422003594queue156292672989109295queue156292683815703951156292683828206569queue156292686616702560queue156292694321203890156292694336802433queue156292696997409381queue156292697446605844156292697464504227queue156292700455700688queue156297124570903471156297124601504950queue156297132553509340queue156297637714203987156297637745909729queue156297641238604304156297641268406361queue156297661881301876156297661911005057queue156297690523700792156297690562601784queue156297703859108835156297703888300861queue156297731492500234156297731523903086queue156297780888108567156297780919405067queue156297794610600936156297794642002803queue156297850702800311156297850734000920queue156297868069406669156297868099807146queue156301203901605532156301203946105654queue156301214125902123queue156322750069701811156322750099107747queue156322757943001746queue156322848351000754156322848381500000queue156322855900906547queue156323807109502288queue156323819338502267156323819369007465queue156323826596708277queue156330535392307472queue156330541031409369156330541046808783queue156330541275402320queue156331845532107371queue156332067804503537156332067820201727queue156332155450505224156332155482007753queue156341972370203961156341972401405098queue156341980923300932queue156342111996307582156342112025609846queue156342119476300102queue156349654984406447156349655015305070queue156349663815801655queue156349667564705431156349667580104058queue156360212108601931queue156384116891103922156384116922602231queue156384125172004402queue156384129531302282156384129546506613queue156384293819009227156384293850004221queue156384300876303177queue156384304790308048156384304805401253queue156391530906605689156391530937106452queue156391539221806994queue156391663410801666156391663447109927queue156391671189606629queue156393007997509401queue156408863290303092queue156408869574707260156408869589603053queue156408870894707880156408870909806869queue156408882280207734queue156408909696807997156408909712008896queue156408920302903147156408920318303547queue156408920570104271156408920585803649queue156408922003808936queue156408930138002174queue156408956342802143156408956372105484queue156408969742604677queue156408974131803905156408974147009824queue156409170853803221156409170884803496queue156409182537603153156409182552901444queue156409812873803105156409812906409525queue156409828073204959156409828103603622queue156409829449702217156409829465501039queue156409962183000525156409962213505475queue156409964159809233156409964174805627queue156412571400506068queue156412579336305936156412579366509659queue156412583664009983156412583680303064queue156417643470800997156417643502203332queue156417645308903436156417645324207044queue156417674476806836156417674506805594queue156417675834804073156417675852207048queue156460353687200316queue156460354945706808queue156461616099506717queue156462344925605632queue156462839729603766156462839744209427queue156503779913208071queue156503781950007231queue156503783578602692156503783593400600queue156503785729802667156503785745803247queue156503793670204141queue156503793751304230queue156503797501409501156503797517307934queue156503797644704390156503797661601553queue156503811415506534queue156503811848808857queue156503812047903699queue156503815145609770156503815160903331queue156503816447801309queue156503817389004281queue156503817514508058queue156503918648403816queue156503920261806790queue156503920462402033queue156503920962704900queue156503921222008382queue156503921421504363queue156503922368601322156503922383909034queue156503922744100714queue156503922943207126queue156503924621003508queue156503995606000144queue156503995683802557queue156503999540306642156503999555903832queue156503999649100298156503999666205332queue156598865660003202queue156598871544200433156598871574804089queue156598881470500735queue156598886744204842156598886759505857queue156599412672409889queue156599418602207398156599418635405509queue156599427185901348queue156599432268806198156599432284607365", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:22 GMT", + "date": "Fri, 16 Aug 2019 22:25:26 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415ca4a-a003-00a0-1a99-2bb5f7000000", + "x-ms-request-id": "2b151b16-8003-0095-6c81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_setproperties_with_all_parameters.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_setproperties_with_all_parameters.json index e89a8da02a92..2cfa5ed3cda8 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_setproperties_with_all_parameters.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_setproperties_with_all_parameters.json @@ -12,11 +12,11 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,OPTIONS,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:28 GMT", + "date": "Fri, 16 Aug 2019 22:25:32 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415d382-a003-00a0-5299-2bb5f7000000", + "x-ms-request-id": "2b1522da-8003-0095-2981-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } @@ -33,10 +33,10 @@ "status": 202, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d3b1-a003-00a0-7f99-2bb5f7000000", + "x-ms-request-id": "2b152306-8003-0095-5281-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:29 GMT", + "date": "Fri, 16 Aug 2019 22:25:32 GMT", "content-length": "0" } }, @@ -52,11 +52,11 @@ "status": 200, "response": "1.0truetruetruetrue51.0truetruetrue31.0truetruetrue4DELETE,GET,HEAD,MERGE,POST,OPTIONS,PUT***86400GETexample.com**8888GETexample.com**8888GETexample.com**8888GETexample.com**8888", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:34 GMT", + "date": "Fri, 16 Aug 2019 22:25:37 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415deee-a003-00a0-5e99-2bb5f7000000", + "x-ms-request-id": "2b15295d-8003-0095-3581-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.json index d8719a2032bb..f76188ee8cac 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654442904332x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432748702151x1", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cc02-a003-00a0-3599-2bb5f7000000", + "x-ms-request-id": "2b151d68-8003-0095-6c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:23 GMT", + "date": "Fri, 16 Aug 2019 22:25:27 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654442904332x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432748702151x2", "query": { "timeout": "30" }, @@ -27,10 +27,10 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cc49-a003-00a0-7599-2bb5f7000000", + "x-ms-request-id": "2b151d8c-8003-0095-0981-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:24 GMT", + "date": "Fri, 16 Aug 2019 22:25:27 GMT", "content-length": "0" } }, @@ -40,25 +40,25 @@ "query": { "comp": "list", "include": "metadata", - "prefix": "queue156149654442904332", + "prefix": "queue156599432748702151", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue156149654442904332queue156149654442904332x1valqueue156149654442904332x2val", + "response": "queue156599432748702151queue156599432748702151x1valqueue156599432748702151x2val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:24 GMT", + "date": "Fri, 16 Aug 2019 22:25:27 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415cca1-a003-00a0-4799-2bb5f7000000", + "x-ms-request-id": "2b151dc6-8003-0095-3881-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654442904332x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432748702151x1", "query": { "timeout": "30" }, @@ -66,16 +66,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415ccf1-a003-00a0-1599-2bb5f7000000", + "x-ms-request-id": "2b151df5-8003-0095-5d81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:24 GMT", + "date": "Fri, 16 Aug 2019 22:25:27 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654442904332x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432748702151x2", "query": { "timeout": "30" }, @@ -83,15 +83,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cd24-a003-00a0-4599-2bb5f7000000", + "x-ms-request-id": "2b151e34-8003-0095-1681-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:24 GMT", + "date": "Fri, 16 Aug 2019 22:25:28 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654442904332" + "queue": "queue156599432748702151" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.json index 7c15e3e851db..1773f4dbf878 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x0", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x0", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d0eb-a003-00a0-6599-2bb5f7000000", + "x-ms-request-id": "2b1520fc-8003-0095-6c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:26 GMT", + "date": "Fri, 16 Aug 2019 22:25:30 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x1", "query": { "timeout": "30" }, @@ -27,16 +27,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d111-a003-00a0-0799-2bb5f7000000", + "x-ms-request-id": "2b152129-8003-0095-1481-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:26 GMT", + "date": "Fri, 16 Aug 2019 22:25:30 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x2", "query": { "timeout": "30" }, @@ -44,16 +44,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d143-a003-00a0-3499-2bb5f7000000", + "x-ms-request-id": "2b15214d-8003-0095-3481-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:27 GMT", + "date": "Fri, 16 Aug 2019 22:25:30 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x3", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x3", "query": { "timeout": "30" }, @@ -61,10 +61,10 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d18b-a003-00a0-6f99-2bb5f7000000", + "x-ms-request-id": "2b152176-8003-0095-5b81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:27 GMT", + "date": "Fri, 16 Aug 2019 22:25:31 GMT", "content-length": "0" } }, @@ -75,18 +75,18 @@ "comp": "list", "include": "metadata", "maxresults": "2", - "prefix": "queue156149654742102933", + "prefix": "queue156599433056708591", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue1561496547421029332queue156149654742102933x0valqueue156149654742102933x1val/fakestorageaccount/queue156149654742102933x2", + "response": "queue1565994330567085912queue156599433056708591x0valqueue156599433056708591x1val/fakestorageaccount/queue156599433056708591x2", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:27 GMT", + "date": "Fri, 16 Aug 2019 22:25:31 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415d1d0-a003-00a0-3399-2bb5f7000000", + "x-ms-request-id": "2b15219e-8003-0095-7f81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } @@ -97,27 +97,27 @@ "query": { "comp": "list", "include": "metadata", - "marker": "/fakestorageaccount/queue156149654742102933x2", + "marker": "/fakestorageaccount/queue156599433056708591x2", "maxresults": "10", - "prefix": "queue156149654742102933", + "prefix": "queue156599433056708591", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue156149654742102933/fakestorageaccount/queue156149654742102933x210queue156149654742102933x2valqueue156149654742102933x3val", + "response": "queue156599433056708591/fakestorageaccount/queue156599433056708591x210queue156599433056708591x2valqueue156599433056708591x3val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:27 GMT", + "date": "Fri, 16 Aug 2019 22:25:31 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415d1f8-a003-00a0-5b99-2bb5f7000000", + "x-ms-request-id": "2b1521b9-8003-0095-1981-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x0", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x0", "query": { "timeout": "30" }, @@ -125,16 +125,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d21d-a003-00a0-7f99-2bb5f7000000", + "x-ms-request-id": "2b1521de-8003-0095-3a81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:27 GMT", + "date": "Fri, 16 Aug 2019 22:25:31 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x1", "query": { "timeout": "30" }, @@ -142,16 +142,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d276-a003-00a0-5599-2bb5f7000000", + "x-ms-request-id": "2b152233-8003-0095-0981-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:27 GMT", + "date": "Fri, 16 Aug 2019 22:25:31 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x2", "query": { "timeout": "30" }, @@ -159,16 +159,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d2b5-a003-00a0-0b99-2bb5f7000000", + "x-ms-request-id": "2b152268-8003-0095-3e81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:28 GMT", + "date": "Fri, 16 Aug 2019 22:25:31 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654742102933x3", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433056708591x3", "query": { "timeout": "30" }, @@ -176,15 +176,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d2f8-a003-00a0-4c99-2bb5f7000000", + "x-ms-request-id": "2b152286-8003-0095-5b81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:28 GMT", + "date": "Fri, 16 Aug 2019 22:25:32 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654742102933" + "queue": "queue156599433056708591" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.json index 73eaad0f71d5..eb2dfb3710f6 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x0", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x0", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415ceaf-a003-00a0-4099-2bb5f7000000", + "x-ms-request-id": "2b151f5d-8003-0095-8081-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:25 GMT", + "date": "Fri, 16 Aug 2019 22:25:29 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x1", "query": { "timeout": "30" }, @@ -27,16 +27,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cefd-a003-00a0-0a99-2bb5f7000000", + "x-ms-request-id": "2b151f8a-8003-0095-2881-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:25 GMT", + "date": "Fri, 16 Aug 2019 22:25:29 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x2", "query": { "timeout": "30" }, @@ -44,16 +44,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cf40-a003-00a0-4a99-2bb5f7000000", + "x-ms-request-id": "2b151fbf-8003-0095-5681-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:25 GMT", + "date": "Fri, 16 Aug 2019 22:25:29 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x3", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x3", "query": { "timeout": "30" }, @@ -61,10 +61,10 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cf80-a003-00a0-0899-2bb5f7000000", + "x-ms-request-id": "2b151fef-8003-0095-7e81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:25 GMT", + "date": "Fri, 16 Aug 2019 22:25:29 GMT", "content-length": "0" } }, @@ -75,18 +75,18 @@ "comp": "list", "include": "metadata", "maxresults": "2", - "prefix": "queue156149654593805178", + "prefix": "queue156599432904900930", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue1561496545938051782queue156149654593805178x0valqueue156149654593805178x1val/fakestorageaccount/queue156149654593805178x2", + "response": "queue1565994329049009302queue156599432904900930x0valqueue156599432904900930x1val/fakestorageaccount/queue156599432904900930x2", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:25 GMT", + "date": "Fri, 16 Aug 2019 22:25:29 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415cfc9-a003-00a0-4e99-2bb5f7000000", + "x-ms-request-id": "2b152003-8003-0095-0e81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } @@ -97,27 +97,27 @@ "query": { "comp": "list", "include": "metadata", - "marker": "/fakestorageaccount/queue156149654593805178x2", + "marker": "/fakestorageaccount/queue156599432904900930x2", "maxresults": "2", - "prefix": "queue156149654593805178", + "prefix": "queue156599432904900930", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue156149654593805178/fakestorageaccount/queue156149654593805178x22queue156149654593805178x2valqueue156149654593805178x3val", + "response": "queue156599432904900930/fakestorageaccount/queue156599432904900930x22queue156599432904900930x2valqueue156599432904900930x3val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:26 GMT", + "date": "Fri, 16 Aug 2019 22:25:29 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415cff4-a003-00a0-7899-2bb5f7000000", + "x-ms-request-id": "2b15202b-8003-0095-2f81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x0", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x0", "query": { "timeout": "30" }, @@ -125,16 +125,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d027-a003-00a0-2b99-2bb5f7000000", + "x-ms-request-id": "2b152068-8003-0095-6181-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:26 GMT", + "date": "Fri, 16 Aug 2019 22:25:29 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x1", "query": { "timeout": "30" }, @@ -142,16 +142,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d057-a003-00a0-5a99-2bb5f7000000", + "x-ms-request-id": "2b152099-8003-0095-0e81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:26 GMT", + "date": "Fri, 16 Aug 2019 22:25:30 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x2", "query": { "timeout": "30" }, @@ -159,16 +159,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d089-a003-00a0-0899-2bb5f7000000", + "x-ms-request-id": "2b1520b3-8003-0095-2681-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:26 GMT", + "date": "Fri, 16 Aug 2019 22:25:30 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654593805178x3", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432904900930x3", "query": { "timeout": "30" }, @@ -176,15 +176,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415d0ba-a003-00a0-3799-2bb5f7000000", + "x-ms-request-id": "2b1520d4-8003-0095-4581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:26 GMT", + "date": "Fri, 16 Aug 2019 22:25:30 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654593805178" + "queue": "queue156599432904900930" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.json b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.json index 5ab327d2010f..685701f99b86 100644 --- a/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.json +++ b/sdk/storage/storage-queue/recordings/browsers/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654518805711x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432821602737x1", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cd62-a003-00a0-8099-2bb5f7000000", + "x-ms-request-id": "2b151e63-8003-0095-3c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:24 GMT", + "date": "Fri, 16 Aug 2019 22:25:28 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654518805711x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432821602737x2", "query": { "timeout": "30" }, @@ -27,10 +27,10 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415cda4-a003-00a0-3e99-2bb5f7000000", + "x-ms-request-id": "2b151e8f-8003-0095-5f81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:24 GMT", + "date": "Fri, 16 Aug 2019 22:25:28 GMT", "content-length": "0" } }, @@ -40,25 +40,25 @@ "query": { "comp": "list", "include": "metadata", - "prefix": "queue156149654518805711", + "prefix": "queue156599432821602737", "timeout": "30" }, "requestBody": null, "status": 200, - "response": "queue156149654518805711queue156149654518805711x1valqueue156149654518805711x2val", + "response": "queue156599432821602737queue156599432821602737x1valqueue156599432821602737x2val", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:24 GMT", + "date": "Fri, 16 Aug 2019 22:25:28 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "transfer-encoding": "chunked", "content-type": "application/xml", - "x-ms-request-id": "6415cdea-a003-00a0-0399-2bb5f7000000", + "x-ms-request-id": "2b151eb8-8003-0095-7d81-541ba2000000", "cache-control": "no-cache", "x-ms-version": "2018-03-28" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654518805711x1", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432821602737x1", "query": { "timeout": "30" }, @@ -66,16 +66,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415ce1e-a003-00a0-3599-2bb5f7000000", + "x-ms-request-id": "2b151ee3-8003-0095-1c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:25 GMT", + "date": "Fri, 16 Aug 2019 22:25:28 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149654518805711x2", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599432821602737x2", "query": { "timeout": "30" }, @@ -83,15 +83,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415ce61-a003-00a0-7699-2bb5f7000000", + "x-ms-request-id": "2b151f1d-8003-0095-4c81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:25 GMT", + "date": "Fri, 16 Aug 2019 22:25:28 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149654518805711" + "queue": "queue156599432821602737" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json new file mode 100644 index 000000000000..c1487e7b813e --- /dev/null +++ b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.json @@ -0,0 +1,41 @@ +{ + "recordings": [ + { + "method": "PUT", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433877709409", + "query": { + "timeout": "30" + }, + "requestBody": null, + "status": 201, + "response": "", + "responseHeaders": { + "x-ms-request-id": "2b152a9f-8003-0095-6581-541ba2000000", + "x-ms-version": "2018-03-28", + "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:25:38 GMT", + "content-length": "0" + } + }, + { + "method": "DELETE", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433877709409", + "query": { + "timeout": "30" + }, + "requestBody": null, + "status": 204, + "response": "", + "responseHeaders": { + "x-ms-request-id": "2b152db8-8003-0095-4d81-541ba2000000", + "x-ms-version": "2018-03-28", + "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", + "date": "Fri, 16 Aug 2019 22:25:40 GMT", + "content-length": "0" + } + } + ], + "uniqueTestInfo": { + "queue": "queue156599433877709409" + } +} \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json index 87663845cca8..f2406f42e6e5 100644 --- a/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json +++ b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149655579009439", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599434109607174", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415e0d8-a003-00a0-6499-2bb5f7000000", + "x-ms-request-id": "2b152de0-8003-0095-7581-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:35 GMT", + "date": "Fri, 16 Aug 2019 22:25:41 GMT", "content-length": "0" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149655579009439", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599434109607174", "query": { "timeout": "30" }, @@ -27,15 +27,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415e846-a003-00a0-5099-2bb5f7000000", + "x-ms-request-id": "2b153391-8003-0095-4a81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:39 GMT", + "date": "Fri, 16 Aug 2019 22:25:45 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149655579009439" + "queue": "queue156599434109607174" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json index 163e68fe52d1..28b7fac5ccfb 100644 --- a/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json +++ b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149656013202912", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599434543108150", "query": { "timeout": "30" }, @@ -10,36 +10,36 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415e890-a003-00a0-1899-2bb5f7000000", + "x-ms-request-id": "2b1533b7-8003-0095-6f81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:39 GMT", + "date": "Fri, 16 Aug 2019 22:25:45 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount-secondary.queue.core.windows.net/queue156149656013202912", + "url": "https://fakestorageaccount-secondary.queue.core.windows.net/queue156599434543108150", "query": { "comp": "metadata", "timeout": "30" }, "requestBody": null, "status": 404, - "response": "QueueNotFoundThe specified queue does not exist.\nRequestId:60d640a4-a003-006b-5c99-2b37d2000000\nTime:2019-06-25T21:02:41.0216556Z", + "response": "QueueNotFoundThe specified queue does not exist.\nRequestId:c85fa58c-e003-004e-6781-54af61000000\nTime:2019-08-16T22:25:46.0836716Z", "responseHeaders": { - "date": "Tue, 25 Jun 2019 21:02:40 GMT", + "date": "Fri, 16 Aug 2019 22:25:45 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-error-code": "QueueNotFound", "content-type": "application/xml", - "x-ms-request-id": "60d640a4-a003-006b-5c99-2b37d2000000", + "x-ms-request-id": "c85fa58c-e003-004e-6781-54af61000000", "x-ms-version": "2018-03-28", "content-length": "217" } }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149656013202912", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599434543108150", "query": { "timeout": "30" }, @@ -47,15 +47,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415eab3-a003-00a0-1799-2bb5f7000000", + "x-ms-request-id": "2b15345e-8003-0095-0681-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:40 GMT", + "date": "Fri, 16 Aug 2019 22:25:46 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149656013202912" + "queue": "queue156599434543108150" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json index 7454d86cc09e..cc698bba3493 100644 --- a/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json +++ b/sdk/storage/storage-queue/recordings/browsers/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.json @@ -2,7 +2,7 @@ "recordings": [ { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149655518006076", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433817602459", "query": { "timeout": "30" }, @@ -10,16 +10,16 @@ "status": 201, "response": "", "responseHeaders": { - "x-ms-request-id": "6415df7b-a003-00a0-4b99-2bb5f7000000", + "x-ms-request-id": "2b1529e3-8003-0095-3481-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:34 GMT", + "date": "Fri, 16 Aug 2019 22:25:38 GMT", "content-length": "0" } }, { "method": "PUT", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149655518006076", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433817602459", "query": { "comp": "metadata", "timeout": "30" @@ -28,16 +28,16 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415dfd4-a003-00a0-1299-2bb5f7000000", + "x-ms-request-id": "2b152a15-8003-0095-6281-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:34 GMT", + "date": "Fri, 16 Aug 2019 22:25:38 GMT", "content-length": "0" } }, { "method": "GET", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149655518006076", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433817602459", "query": { "comp": "metadata", "timeout": "30" @@ -47,11 +47,11 @@ "response": "", "responseHeaders": { "x-ms-meta-keya": "vala", - "date": "Tue, 25 Jun 2019 21:02:34 GMT", + "date": "Fri, 16 Aug 2019 22:25:38 GMT", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", "x-ms-approximate-messages-count": "0", "x-ms-meta-keyb": "valb", - "x-ms-request-id": "6415e022-a003-00a0-5699-2bb5f7000000", + "x-ms-request-id": "2b152a3f-8003-0095-0781-541ba2000000", "cache-control": "no-cache", "x-ms-meta-key0": "val0", "x-ms-version": "2018-03-28", @@ -60,7 +60,7 @@ }, { "method": "DELETE", - "url": "https://fakestorageaccount.queue.core.windows.net/queue156149655518006076", + "url": "https://fakestorageaccount.queue.core.windows.net/queue156599433817602459", "query": { "timeout": "30" }, @@ -68,15 +68,15 @@ "status": 204, "response": "", "responseHeaders": { - "x-ms-request-id": "6415e075-a003-00a0-1699-2bb5f7000000", + "x-ms-request-id": "2b152a67-8003-0095-2f81-541ba2000000", "x-ms-version": "2018-03-28", "server": "Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0", - "date": "Tue, 25 Jun 2019 21:02:35 GMT", + "date": "Fri, 16 Aug 2019 22:25:38 GMT", "content-length": "0" } } ], "uniqueTestInfo": { - "queue": "queue156149655518006076" + "queue": "queue156599433817602459" } } \ No newline at end of file diff --git a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js index 8d7b475786f9..daaabfcf3483 100644 --- a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js +++ b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_aborter_timeout.js @@ -1,3 +1,3 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149546082906370"} +module.exports.testInfo = {"queue":"queue156599412671900726"} diff --git a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js index 1419ca6dd008..7dc194026beb 100644 --- a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js +++ b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_after_parent_aborter_calls_abort.js @@ -1,3 +1,20 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149546093103567"} +module.exports.testInfo = {"queue":"queue156599412672409889"} + +nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) + .put('/queue156599412672409889') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '4a0c9e1e-4003-00aa-1181-54ac7e000000', + 'x-ms-version', + '2018-03-28', + 'Date', + 'Fri, 16 Aug 2019 22:22:06 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js index ecd2509766dc..fab7f35d2bdb 100644 --- a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js +++ b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_abort_when_calling_abort_before_request_finishes.js @@ -1,3 +1,3 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149545987002950"} +module.exports.testInfo = {"queue":"queue156599412592900004"} diff --git a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js index 6c8bf9dddd86..bc535f2c505d 100644 --- a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js +++ b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_after_calling_abort.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149545875004237"} +module.exports.testInfo = {"queue":"queue156599412491404533"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149545875004237') + .put('/queue156599412491404533') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'c144ed73-4003-00aa-2f96-2bac7e000000', + 'b8651cf2-3003-0004-4181-548f13000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:18 GMT', + 'Fri, 16 Aug 2019 22:22:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149545875004237') + .delete('/queue156599412491404533') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'da3408f9-b003-00bf-4496-2b6ee7000000', + '2c27bc63-6003-00b6-3181-547469000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:19 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js index 5fb20e5131c9..61ff47eccd8b 100644 --- a/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js +++ b/sdk/storage/storage-queue/recordings/node/aborter/recording_should_not_abort_when_calling_abort_after_request_finishes.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149545996002636"} +module.exports.testInfo = {"queue":"queue156599412596201778"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149545996002636') + .put('/queue156599412596201778') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4d77294d-8003-0070-7b96-2b0955000000', + '45f36689-1003-0031-5981-542146000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:20 GMT', + 'Fri, 16 Aug 2019 22:22:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149545996002636') + .delete('/queue156599412596201778') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f7f853e4-5003-0050-7a96-2b6599000000', + '8c9776ab-0003-0007-2b81-548c14000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:20 GMT', + 'Fri, 16 Aug 2019 22:22:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_delete_message_negative.js b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_delete_message_negative.js index bc7b46008535..63b5da9c5dd0 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_delete_message_negative.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_delete_message_negative.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149548009702106"} +module.exports.testInfo = {"queue":"queue156599415812606837"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149548009702106') + .put('/queue156599415812606837') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6b21ec9c-1003-0057-1696-2b931c000000', + '093b0506-9003-00ec-6981-5472e8000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:39 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548009702106/messages', "Hello World") + .post('/queue156599415812606837/messages', "Hello World") .query(true) - .reply(201, "db200fca-7c77-4227-ad11-ccec0ff6c50bTue, 25 Jun 2019 20:44:40 GMTTue, 02 Jul 2019 20:44:40 GMTAgAAAAMAAAAAAAAANcCsz5Yr1QE=Tue, 25 Jun 2019 20:44:40 GMT", [ 'Transfer-Encoding', + .reply(201, "ad4f9098-4cb4-4da6-880a-389beb622f22Fri, 16 Aug 2019 22:22:38 GMTFri, 23 Aug 2019 22:22:38 GMTAgAAAAMAAAAAAAAAtxjVHIFU1QE=Fri, 16 Aug 2019 22:22:38 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '30117339-5003-005b-0196-2b7ded000000', + '78d0e204-b003-00d2-7781-54c4c9000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:40 GMT', + 'Fri, 16 Aug 2019 22:22:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149548009702106/messages/db200fca-7c77-4227-ad11-ccec0ff6c50b') + .delete('/queue156599415812606837/messages/ad4f9098-4cb4-4da6-880a-389beb622f22') .query(true) - .reply(400, "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:cbed5e45-9003-00c5-1696-2b04aa000000\nTime:2019-06-25T20:44:40.9630719ZpopreceiptinvalidInvalid pop receipt format", [ 'Content-Length', + .reply(400, "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:850ce0a2-e003-0049-5d81-5449f1000000\nTime:2019-08-16T22:22:39.1661278ZpopreceiptinvalidInvalid pop receipt format", [ 'Content-Length', '417', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cbed5e45-9003-00c5-1696-2b04aa000000', + '850ce0a2-e003-0049-5d81-5449f1000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'InvalidQueryParameterValue', 'Date', - 'Tue, 25 Jun 2019 20:44:40 GMT', + 'Fri, 16 Aug 2019 22:22:38 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149548009702106') + .delete('/queue156599415812606837') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a6b388f5-2003-0093-4a96-2becda000000', + 'cf03a713-5003-00b5-2781-54776e000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:40 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.js b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.js index 016a0b7a5cd6..683d77bcb0f3 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_empty_message_with_default_parameters.js @@ -1,68 +1,68 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149546118003758"} +module.exports.testInfo = {"queue":"queue156599412703500188"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149546118003758') + .put('/queue156599412703500188') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b7265adc-5003-0036-1296-2bd7c3000000', + '9609ef13-3003-004b-6581-544b0b000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:21 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149546118003758/messages', "Hello World") + .post('/queue156599412703500188/messages', "Hello World") .query(true) - .reply(201, "0a985465-52fa-4392-9ef9-613db586fbd2Tue, 25 Jun 2019 20:44:21 GMTTue, 02 Jul 2019 20:44:21 GMTAgAAAAMAAAAAAAAAYopkxJYr1QE=Tue, 25 Jun 2019 20:44:21 GMT", [ 'Transfer-Encoding', + .reply(201, "66b0b8b6-f902-4b92-b95c-a69829a7589fFri, 16 Aug 2019 22:22:07 GMTFri, 23 Aug 2019 22:22:07 GMTAgAAAAMAAAAAAAAAHHQzCoFU1QE=Fri, 16 Aug 2019 22:22:07 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1b98aa00-d003-0086-5496-2b2e43000000', + '7be3c781-a003-0089-7981-54c3b5000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:21 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149546118003758/messages/0a985465-52fa-4392-9ef9-613db586fbd2', "") + .put('/queue156599412703500188/messages/66b0b8b6-f902-4b92-b95c-a69829a7589f', "") .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '17b41b1e-3003-008c-2696-2b37ca000000', + '61257787-e003-00e3-0281-549f1e000000', 'x-ms-version', '2018-03-28', 'x-ms-popreceipt', - 'AwAAAAMAAAAAAAAAR1mSxJYr1QEAAAAA', + 'AwAAAAMAAAAAAAAAtwZiCoFU1QEAAAAA', 'x-ms-time-next-visible', - 'Tue, 25 Jun 2019 20:44:22 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Date', - 'Tue, 25 Jun 2019 20:44:21 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149546118003758/messages') + .get('/queue156599412703500188/messages') .query(true) - .reply(200, "0a985465-52fa-4392-9ef9-613db586fbd2Tue, 25 Jun 2019 20:44:21 GMTTue, 02 Jul 2019 20:44:21 GMT0", [ 'Cache-Control', + .reply(200, "66b0b8b6-f902-4b92-b95c-a69829a7589fFri, 16 Aug 2019 22:22:07 GMTFri, 23 Aug 2019 22:22:07 GMT0", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -71,7 +71,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8edc415-7003-00a9-6096-2baf79000000', + 'e418f3a0-3003-00ae-3a81-5459fc000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -79,30 +79,30 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:22 GMT', + 'Fri, 16 Aug 2019 22:22:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149546118003758/messages/0a985465-52fa-4392-9ef9-613db586fbd2') + .delete('/queue156599412703500188/messages/66b0b8b6-f902-4b92-b95c-a69829a7589f') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '86eefe58-c003-00bb-0d96-2b9b65000000', + '2d286e89-9003-0081-4081-54d8c6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:21 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149546118003758/messages') + .get('/queue156599412703500188/messages') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -113,7 +113,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '953d1289-4003-0000-1f96-2b7a91000000', + 'e7f7aa27-3003-0069-7581-54253d000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -121,24 +121,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:22 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149546118003758') + .delete('/queue156599412703500188') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9109b61a-2003-00dc-3296-2b28c2000000', + 'b894bf40-7003-00cf-4b81-541d23000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:23 GMT', + 'Fri, 16 Aug 2019 22:22:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters.js b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters.js index 14f01f89b74d..e46e9728527f 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149546392706342"} +module.exports.testInfo = {"queue":"queue156599412919008492"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149546392706342') + .put('/queue156599412919008492') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0dff681e-6003-0058-2896-2b7eea000000', + '49b35d8b-9003-00c5-5e81-5404aa000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:23 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149546392706342/messages', "Hello World") + .post('/queue156599412919008492/messages', "Hello World") .query(true) - .reply(201, "9f1cfe9e-ce2a-41ad-b651-ee0f590b4471Tue, 25 Jun 2019 20:44:24 GMTTue, 02 Jul 2019 20:44:24 GMTAgAAAAMAAAAAAAAANhMHxpYr1QE=Tue, 25 Jun 2019 20:44:24 GMT", [ 'Transfer-Encoding', + .reply(201, "f82ceb68-c19c-4e42-ba59-ff1e4f45f125Fri, 16 Aug 2019 22:22:09 GMTFri, 23 Aug 2019 22:22:09 GMTAgAAAAMAAAAAAAAAW3J7C4FU1QE=Fri, 16 Aug 2019 22:22:09 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '47d78b05-3003-0087-2696-2b2fbe000000', + '4bedd0ec-c003-0077-3981-54ffd0000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:24 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149546392706342/messages/9f1cfe9e-ce2a-41ad-b651-ee0f590b4471', "New Message") + .put('/queue156599412919008492/messages/f82ceb68-c19c-4e42-ba59-ff1e4f45f125', "New Message") .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cdf79ab0-f003-0091-6796-2bee20000000', + '3749c4dd-6003-0035-6381-54d4c4000000', 'x-ms-version', '2018-03-28', 'x-ms-popreceipt', - 'AwAAAAMAAAAAAAAAK+oqzJYr1QEAAAAA', + 'AwAAAAMAAAAAAAAArh6hEYFU1QEAAAAA', 'x-ms-time-next-visible', - 'Tue, 25 Jun 2019 20:44:34 GMT', + 'Fri, 16 Aug 2019 22:22:20 GMT', 'Date', - 'Tue, 25 Jun 2019 20:44:24 GMT', + 'Fri, 16 Aug 2019 22:22:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149546392706342/messages') + .get('/queue156599412919008492/messages') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -71,7 +71,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7ecaa3c7-2003-0010-3296-2b4c77000000', + '101dd7a7-b003-0073-7d81-540a52000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -79,15 +79,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:24 GMT', + 'Fri, 16 Aug 2019 22:22:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149546392706342/messages') + .get('/queue156599412919008492/messages') .query(true) - .reply(200, "9f1cfe9e-ce2a-41ad-b651-ee0f590b4471Tue, 25 Jun 2019 20:44:24 GMTTue, 02 Jul 2019 20:44:24 GMT0New Message", [ 'Cache-Control', + .reply(200, "f82ceb68-c19c-4e42-ba59-ff1e4f45f125Fri, 16 Aug 2019 22:22:09 GMTFri, 23 Aug 2019 22:22:09 GMT0New Message", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -96,7 +96,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '44a11855-6003-0035-0496-2bd4c4000000', + '9876ae94-d003-002c-3581-54f8ac000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -104,24 +104,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:35 GMT', + 'Fri, 16 Aug 2019 22:22:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149546392706342') + .delete('/queue156599412919008492') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48f1ec85-1003-007e-1496-2be55e000000', + '534249b7-2003-0076-5b81-54fe2d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:36 GMT', + 'Fri, 16 Aug 2019 22:22:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.js b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.js index a7634e678f02..0a2d42efc9e1 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_and_delete_message_with_all_parameters__test_sas_connection_string_messageidclient_constructor.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156360218969205349"} +module.exports.testInfo = {"queue":"queue156599414203503638"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360218969205349') + .put('/queue156599414203503638') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4e603986-2003-00dc-1fbf-3e28c2000000', + 'dac29850-1003-003a-6781-543932000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 05:56:29 GMT', + 'Fri, 16 Aug 2019 22:22:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156360218969205349/messages', "Hello World") + .post('/queue156599414203503638/messages', "Hello World") .query(true) - .reply(201, "f689236f-67ef-4eac-92c1-c91041c6d7aeSat, 20 Jul 2019 05:56:30 GMTSat, 27 Jul 2019 05:56:30 GMTAgAAAAMAAAAAAAAASjGQ4L8+1QE=Sat, 20 Jul 2019 05:56:30 GMT", [ 'Transfer-Encoding', + .reply(201, "68c6ef93-e975-472a-8ec3-ee1afcb42d94Fri, 16 Aug 2019 22:22:22 GMTFri, 23 Aug 2019 22:22:22 GMTAgAAAAMAAAAAAAAAlTokE4FU1QE=Fri, 16 Aug 2019 22:22:22 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '85ba72f6-9003-00ec-7cbf-3e72e8000000', + '54357da3-1003-0018-7f81-545704000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 05:56:30 GMT', + 'Fri, 16 Aug 2019 22:22:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360218969205349/messages/f689236f-67ef-4eac-92c1-c91041c6d7ae', "New Message") + .put('/queue156599414203503638/messages/68c6ef93-e975-472a-8ec3-ee1afcb42d94', "New Message") .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de1c9b77-9003-00c5-69bf-3e04aa000000', + '84fdb362-4003-0029-0881-540cd3000000', 'x-ms-version', '2018-03-28', 'x-ms-popreceipt', - 'AwAAAAMAAAAAAAAASKO/5r8+1QEAAAAA', + 'AwAAAAMAAAAAAAAAoc1MGYFU1QEAAAAA', 'x-ms-time-next-visible', - 'Sat, 20 Jul 2019 05:56:40 GMT', + 'Fri, 16 Aug 2019 22:22:32 GMT', 'Date', - 'Sat, 20 Jul 2019 05:56:30 GMT', + 'Fri, 16 Aug 2019 22:22:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156360218969205349/messages') + .get('/queue156599414203503638/messages') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -71,7 +71,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1fb7c59b-2003-007d-6cbf-3ee659000000', + '45f37c24-1003-0031-5881-542146000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -79,15 +79,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 20 Jul 2019 05:56:31 GMT', + 'Fri, 16 Aug 2019 22:22:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156360218969205349/messages') + .get('/queue156599414203503638/messages') .query(true) - .reply(200, "f689236f-67ef-4eac-92c1-c91041c6d7aeSat, 20 Jul 2019 05:56:30 GMTSat, 27 Jul 2019 05:56:30 GMT0New Message", [ 'Cache-Control', + .reply(200, "68c6ef93-e975-472a-8ec3-ee1afcb42d94Fri, 16 Aug 2019 22:22:22 GMTFri, 23 Aug 2019 22:22:22 GMT0New Message", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -96,7 +96,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '23eee03e-3003-0087-48bf-3e2fbe000000', + '61d0e1fc-4003-00ee-1b81-547012000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -104,24 +104,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 20 Jul 2019 05:56:42 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156360218969205349') + .delete('/queue156599414203503638') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd22c75e8-2003-0093-5fbf-3eecda000000', + '15fbf083-a003-00a0-4581-54b5f7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 05:56:41 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.js index 971bf93b83c7..2f28fb401e16 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_negative_with_65537b_64kb1b_characters_size_which_is_computed_after_encoding.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149547873708752"} +module.exports.testInfo = {"queue":"queue156599415672308976"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149547873708752') + .put('/queue156599415672308976') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '141f6995-3003-0062-2096-2b3d49000000', + '337a5ba5-a003-00cd-3a81-541fd9000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:38 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149547873708752/messages', "Hello World") + .post('/queue156599415672308976/messages', "Hello World") .query(true) - .reply(201, "a82608ba-8e71-4d8e-be4a-8651d1075140Tue, 25 Jun 2019 20:44:39 GMTTue, 02 Jul 2019 20:44:39 GMTAgAAAAMAAAAAAAAAPT3dzpYr1QE=Tue, 25 Jun 2019 20:44:39 GMT", [ 'Transfer-Encoding', + .reply(201, "abf72259-320a-4951-b0bf-3605deed4a57Fri, 16 Aug 2019 22:22:37 GMTFri, 23 Aug 2019 22:22:37 GMTAgAAAAMAAAAAAAAAgLzmG4FU1QE=Fri, 16 Aug 2019 22:22:37 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '154f4048-e003-002f-0396-2bfbab000000', + 'c3eb9faf-7003-00ed-7c81-547315000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:38 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149547873708752/messages/a82608ba-8e71-4d8e-be4a-8651d1075140', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/queue156599415672308976/messages/abf72259-320a-4951-b0bf-3605deed4a57', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) - .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:698f5479-8003-0095-5a96-2b1ba2000000\nTime:2019-06-25T20:44:39.7402435Z65536", [ 'Content-Length', + .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:c2f6106f-2003-005f-2181-54886f000000\nTime:2019-08-16T22:22:37.7480182Z65536", [ 'Content-Length', '286', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '698f5479-8003-0095-5a96-2b1ba2000000', + 'c2f6106f-2003-005f-2181-54886f000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'RequestBodyTooLarge', 'Date', - 'Tue, 25 Jun 2019 20:44:38 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149547873708752') + .delete('/queue156599415672308976') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ff405b4e-2003-00ba-5596-2b9a98000000', + '578e5de2-0003-008f-6481-5434cd000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:39 GMT', + 'Fri, 16 Aug 2019 22:22:37 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.js index c73f2bf9ecbe..f0e934c4f884 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient/recording_update_message_with_64kb_characters_size_which_is_computed_after_encoding.js @@ -1,68 +1,68 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149547675302059"} +module.exports.testInfo = {"queue":"queue156599415489901585"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149547675302059') + .put('/queue156599415489901585') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70e69503-0003-002e-2b96-2bfa56000000', + 'b4eae0eb-3003-0087-0b81-542fbe000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:36 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149547675302059/messages', "Hello World") + .post('/queue156599415489901585/messages', "Hello World") .query(true) - .reply(201, "9f0fdaaf-911e-4119-9a91-32d0c5997ec7Tue, 25 Jun 2019 20:44:37 GMTTue, 02 Jul 2019 20:44:37 GMTAgAAAAMAAAAAAAAAmQ6vzZYr1QE=Tue, 25 Jun 2019 20:44:37 GMT", [ 'Transfer-Encoding', + .reply(201, "d30c2b4b-e9eb-4663-98c8-bf166431505fFri, 16 Aug 2019 22:22:35 GMTFri, 23 Aug 2019 22:22:35 GMTAgAAAAMAAAAAAAAAprDOGoFU1QE=Fri, 16 Aug 2019 22:22:35 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cd902126-8003-0052-4996-2b6763000000', + '415ac9da-4003-0000-2681-547a91000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:37 GMT', + 'Fri, 16 Aug 2019 22:22:34 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149547675302059/messages/9f0fdaaf-911e-4119-9a91-32d0c5997ec7', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/queue156599415489901585/messages/d30c2b4b-e9eb-4663-98c8-bf166431505f', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7a5e95d6-2003-005f-5296-2b886f000000', + 'cf038a66-5003-00b5-6e81-54776e000000', 'x-ms-version', '2018-03-28', 'x-ms-popreceipt', - 'AwAAAAMAAAAAAAAAQYzyzZYr1QEAAAAA', + 'AwAAAAMAAAAAAAAA7MoSG4FU1QEAAAAA', 'x-ms-time-next-visible', - 'Tue, 25 Jun 2019 20:44:37 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Date', - 'Tue, 25 Jun 2019 20:44:36 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149547675302059/messages') + .get('/queue156599415489901585/messages') .query(true) - .reply(200, "9f0fdaaf-911e-4119-9a91-32d0c5997ec7Tue, 25 Jun 2019 20:44:37 GMTTue, 02 Jul 2019 20:44:37 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', + .reply(200, "d30c2b4b-e9eb-4663-98c8-bf166431505fFri, 16 Aug 2019 22:22:35 GMTFri, 23 Aug 2019 22:22:35 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -71,7 +71,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8e7a1acd-e003-0006-2c96-2b8de9000000', + 'b865328f-3003-0004-6281-548f13000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -79,24 +79,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:37 GMT', + 'Fri, 16 Aug 2019 22:22:35 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149547675302059') + .delete('/queue156599415489901585') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd99e7342-e003-0049-6a96-2b49f1000000', + 'b86532f7-3003-0004-2b81-548f13000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:38 GMT', + 'Fri, 16 Aug 2019 22:22:36 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js index 385d66989758..f3e60e5cf828 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554740506553"} +module.exports.testInfo = {"queue":"queue156599424131507646"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554740506553') + .put('/queue156599424131507646') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f0e53b59-8003-003f-6496-2bcd4d000000', + '4683ac03-2003-0039-1c81-543a35000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:47 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149554740506553/messages', "Hello World") + .post('/queue156599424131507646/messages', "Hello World") .query(true) - .reply(201, "3a25ba23-0486-45f0-8b54-6f746bca5f1cTue, 25 Jun 2019 20:45:47 GMTTue, 02 Jul 2019 20:45:47 GMTAgAAAAMAAAAAAAAAa5nH95Yr1QE=Tue, 25 Jun 2019 20:45:47 GMT", [ 'Transfer-Encoding', + .reply(201, "0a6fd998-1e24-40fb-a7d0-972068219e15Fri, 16 Aug 2019 22:24:01 GMTFri, 23 Aug 2019 22:24:01 GMTAgAAAAMAAAAAAAAAMWdXToFU1QE=Fri, 16 Aug 2019 22:24:01 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b0e7cbeb-2003-0039-6796-2b3a35000000', + '2d67ac17-c003-0011-7081-544d8a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:47 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554740506553') + .delete('/queue156599424131507646') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd53a5798-7003-00cf-6f96-2b1d23000000', + 'a717b021-d003-00e0-3b81-549c19000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:48 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js index b0aa0992b5cb..8a1f01c90634 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554834900360"} +module.exports.testInfo = {"queue":"queue156599424228505218"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554834900360') + .put('/queue156599424228505218') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '17b45ad6-3003-008c-2696-2b37ca000000', + '7724fb22-c003-0033-2881-5423bc000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:48 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149554834900360/messages', "Hello World") + .post('/queue156599424228505218/messages', "Hello World") .query(true) - .reply(201, "cc03c312-d798-421d-8809-bf4e681a198dTue, 25 Jun 2019 20:45:48 GMTTue, 02 Jul 2019 20:45:48 GMTAgAAAAMAAAAAAAAAIhpb+JYr1QE=Tue, 25 Jun 2019 20:45:48 GMT", [ 'Transfer-Encoding', + .reply(201, "b843d028-98a2-4f73-bca4-143fd72d7c69Fri, 16 Aug 2019 22:24:02 GMTFri, 23 Aug 2019 22:24:02 GMTAgAAAAMAAAAAAAAAjFfkToFU1QE=Fri, 16 Aug 2019 22:24:02 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '421cdb1f-b003-003c-5e96-2bce4a000000', + '98fa7c99-6003-0017-6d81-54baf2000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:47 GMT', + 'Fri, 16 Aug 2019 22:24:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554834900360') + .delete('/queue156599424228505218') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cbed9cb2-9003-00c5-5a96-2b04aa000000', + 'c7e5a9cd-5003-00d3-0f81-54c534000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:48 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index b7a681967917..4784fa3640f6 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554393703466"} +module.exports.testInfo = {"queue":"queue156599423828304367"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554393703466') + .put('/queue156599423828304367') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8659fb6-d003-0068-7196-2b24c0000000', + '233cacbb-3003-008c-6d81-5437ca000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:43 GMT', + 'Fri, 16 Aug 2019 22:23:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149554393703466/messages', "Hello World") + .post('/queue156599423828304367/messages', "Hello World") .query(true) - .reply(201, "5c16f4cf-3603-48de-984a-c4930f1abd79Tue, 25 Jun 2019 20:45:44 GMTTue, 02 Jul 2019 20:45:44 GMTAgAAAAMAAAAAAAAA5fi29ZYr1QE=Tue, 25 Jun 2019 20:45:44 GMT", [ 'Transfer-Encoding', + .reply(201, "02a423ef-a856-4d0b-b981-f26a98806994Fri, 16 Aug 2019 22:23:58 GMTFri, 23 Aug 2019 22:23:58 GMTAgAAAAMAAAAAAAAAg/GATIFU1QE=Fri, 16 Aug 2019 22:23:58 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '70e6e4cb-0003-002e-7196-2bfa56000000', + '023359d7-b003-003c-2281-54ce4a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:43 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554393703466') + .delete('/queue156599423828304367') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56b48b5a-1003-0013-4f96-2b4f70000000', + '163f17cf-c003-0099-7381-54f553000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:44 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 5fcf28627f9f..ecedaa0c4c2e 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554485602351"} +module.exports.testInfo = {"queue":"queue156599423918205315"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554485602351') + .put('/queue156599423918205315') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0a693eba-a003-00ab-4d96-2bad83000000', + 'fb248faf-2003-0010-4f81-544c77000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:44 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149554485602351/messages', "Hello World") + .post('/queue156599423918205315/messages', "Hello World") .query(true) - .reply(201, "f0f9aafa-4fea-43b4-ac3e-d56ceda968adTue, 25 Jun 2019 20:45:45 GMTTue, 02 Jul 2019 20:45:45 GMTAgAAAAMAAAAAAAAANf5C9pYr1QE=Tue, 25 Jun 2019 20:45:45 GMT", [ 'Transfer-Encoding', + .reply(201, "ccc335b3-51c7-4657-a3c3-28ebd716c637Fri, 16 Aug 2019 22:23:59 GMTFri, 23 Aug 2019 22:23:59 GMTAgAAAAMAAAAAAAAAxr4LTYFU1QE=Fri, 16 Aug 2019 22:23:59 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7a22928e-8003-00da-1696-2bdfba000000', + '30bcf25d-5003-005b-4181-547ded000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:44 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554485602351') + .delete('/queue156599423918205315') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '02f24283-1003-0090-6296-2befdd000000', + '1731eb29-c003-0055-2581-5491e6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:45 GMT', + 'Fri, 16 Aug 2019 22:23:59 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index 25885340cf27..a115c034eaba 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554574307815"} +module.exports.testInfo = {"queue":"queue156599424035807896"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554574307815') + .put('/queue156599424035807896') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f0e5377c-8003-003f-4e96-2bcd4d000000', + '3a4ff432-6003-0071-3d81-5408a8000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:45 GMT', + 'Fri, 16 Aug 2019 22:24:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149554574307815/messages', "Hello World") + .post('/queue156599424035807896/messages', "Hello World") .query(true) - .reply(201, "134b78ff-bd04-4e05-b7fe-2bebcb5167eaTue, 25 Jun 2019 20:45:46 GMTTue, 02 Jul 2019 20:45:46 GMTAgAAAAMAAAAAAAAAIlrf9pYr1QE=Tue, 25 Jun 2019 20:45:46 GMT", [ 'Transfer-Encoding', + .reply(201, "52d18830-4c91-474a-8243-5f6825002a78Fri, 16 Aug 2019 22:24:00 GMTFri, 23 Aug 2019 22:24:00 GMTAgAAAAMAAAAAAAAAzNu+TYFU1QE=Fri, 16 Aug 2019 22:24:00 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '878b64b8-a003-00cd-4a96-2b1fd9000000', + '163f1920-c003-0099-2881-54f553000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:45 GMT', + 'Fri, 16 Aug 2019 22:24:00 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554574307815') + .delete('/queue156599424035807896') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2a03d96-9003-0002-2a96-2b786b000000', + '3cac3f1d-c003-005e-6e81-548992000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:47 GMT', + 'Fri, 16 Aug 2019 22:24:00 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index 95b605adee16..cc45d4203859 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555055605893"} +module.exports.testInfo = {"queue":"queue156599424383002708"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555055605893') + .put('/queue156599424383002708') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56dcc92e-3003-004b-6a96-2b4b0b000000', + 'c3ebd353-7003-00ed-2481-547315000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:50 GMT', + 'Fri, 16 Aug 2019 22:24:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555055605893') + .delete('/queue156599424383002708') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f49c2671-6003-00db-7096-2bde47000000', + '15fc4b68-a003-00a0-0d81-54b5f7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:51 GMT', + 'Fri, 16 Aug 2019 22:24:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_throws_error_if_constructor_queuename_parameter_is_empty.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_throws_error_if_constructor_queuename_parameter_is_empty.js index 27c65c28d82b..9595fc8be5da 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_throws_error_if_constructor_queuename_parameter_is_empty.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_throws_error_if_constructor_queuename_parameter_is_empty.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554933208777"} +module.exports.testInfo = {"queue":"queue156599424320303519"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554933208777') + .put('/queue156599424320303519') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '910a39c9-2003-00dc-0e96-2b28c2000000', + '6472bcee-8003-0059-1181-547f17000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:48 GMT', + 'Fri, 16 Aug 2019 22:24:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554933208777') + .delete('/queue156599424320303519') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e87e9726-5003-00d3-1196-2bc534000000', + 'b785740b-e003-006b-5e81-5427c7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:49 GMT', + 'Fri, 16 Aug 2019 22:24:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_negative_with_65537b_64kb1b_characters_including_special_char_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_negative_with_65537b_64kb1b_characters_including_special_char_which_is_computed_after_encoding.js index 98c9d63bfeb5..1ea837185f63 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_negative_with_65537b_64kb1b_characters_including_special_char_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_negative_with_65537b_64kb1b_characters_including_special_char_which_is_computed_after_encoding.js @@ -1,77 +1,77 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554235404450"} +module.exports.testInfo = {"queue":"queue156599423661903163"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554235404450') + .put('/queue156599423661903163') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4c832121-8003-007b-2796-2b1121000000', + 'e6bb924a-6003-003e-3481-54ccb0000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:42 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149554235404450/messages', "Hello World") + .post('/queue156599423661903163/messages', "Hello World") .query(true) - .reply(201, "7cfc904d-054f-4467-bc07-6836ddc1c092Tue, 25 Jun 2019 20:45:42 GMTTue, 02 Jul 2019 20:45:42 GMTAgAAAAMAAAAAAAAAtFPG9JYr1QE=Tue, 25 Jun 2019 20:45:42 GMT", [ 'Transfer-Encoding', + .reply(201, "a02c5f27-c950-46bb-adab-6462cbc92869Fri, 16 Aug 2019 22:23:57 GMTFri, 23 Aug 2019 22:23:57 GMTAgAAAAMAAAAAAAAAPdeES4FU1QE=Fri, 16 Aug 2019 22:23:57 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5db6f293-4003-0044-0e96-2ba6fd000000', + '850d09d1-e003-0049-2481-5449f1000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:42 GMT', + 'Fri, 16 Aug 2019 22:23:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554235404450/messages/7cfc904d-054f-4467-bc07-6836ddc1c092', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/queue156599423661903163/messages/a02c5f27-c950-46bb-adab-6462cbc92869', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) - .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:79d43861-1003-0075-1296-2bfd2a000000\nTime:2019-06-25T20:45:43.5225640Z65536", [ 'Content-Length', + .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:675964a5-4003-000b-3581-5462e5000000\nTime:2019-08-16T22:23:57.9256735Z65536", [ 'Content-Length', '286', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '79d43861-1003-0075-1296-2bfd2a000000', + '675964a5-4003-000b-3581-5462e5000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'RequestBodyTooLarge', 'Date', - 'Tue, 25 Jun 2019 20:45:43 GMT', + 'Fri, 16 Aug 2019 22:23:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554235404450') + .delete('/queue156599423661903163') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '17161042-5003-003d-4596-2bcfb7000000', + '279a4647-4003-004f-5d81-54be89000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:43 GMT', + 'Fri, 16 Aug 2019 22:23:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js index 38007ce776c3..d44d5a83c067 100644 --- a/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messageidclient_nodejs_only/recording_update_message_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js @@ -1,68 +1,68 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149554040403529"} +module.exports.testInfo = {"queue":"queue156599423457809751"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554040403529') + .put('/queue156599423457809751') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e87e8c37-5003-00d3-5496-2bc534000000', + 'c2f63f66-2003-005f-1c81-54886f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:39 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149554040403529/messages', "Hello World") + .post('/queue156599423457809751/messages', "Hello World") .query(true) - .reply(201, "ace8a206-6bff-49cd-b1ff-7c33542cbe1fTue, 25 Jun 2019 20:45:40 GMTTue, 02 Jul 2019 20:45:40 GMTAgAAAAMAAAAAAAAAu7mc85Yr1QE=Tue, 25 Jun 2019 20:45:40 GMT", [ 'Transfer-Encoding', + .reply(201, "8540530e-d494-4c4a-bc7d-a7705f1bd0dbFri, 16 Aug 2019 22:23:55 GMTFri, 23 Aug 2019 22:23:55 GMTAgAAAAMAAAAAAAAANmxMSoFU1QE=Fri, 16 Aug 2019 22:23:55 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9b043e9-3003-00ae-2f96-2b59fc000000', + '9a0dfe1e-f003-00b3-4381-548016000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:40 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149554040403529/messages/ace8a206-6bff-49cd-b1ff-7c33542cbe1f', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .put('/queue156599423457809751/messages/8540530e-d494-4c4a-bc7d-a7705f1bd0db', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2de1bb97-e003-00ac-5996-2b5b06000000', + '3c27f04b-8003-009e-0c81-5403d6000000', 'x-ms-version', '2018-03-28', 'x-ms-popreceipt', - 'AwAAAAMAAAAAAAAAIR7j85Yr1QEAAAAA', + 'AwAAAAMAAAAAAAAA9IiZSoFU1QEAAAAA', 'x-ms-time-next-visible', - 'Tue, 25 Jun 2019 20:45:41 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Date', - 'Tue, 25 Jun 2019 20:45:41 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149554040403529/messages') + .get('/queue156599423457809751/messages') .query(true) - .reply(200, "ace8a206-6bff-49cd-b1ff-7c33542cbe1fTue, 25 Jun 2019 20:45:40 GMTTue, 02 Jul 2019 20:45:40 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', + .reply(200, "8540530e-d494-4c4a-bc7d-a7705f1bd0dbFri, 16 Aug 2019 22:23:55 GMTFri, 23 Aug 2019 22:23:55 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -71,7 +71,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e14120e-0003-006a-6c96-2b263a000000', + '47b63d7e-4003-0022-0f81-5414a7000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -79,24 +79,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:41 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149554040403529') + .delete('/queue156599423457809751') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '134f6e5a-b003-00b4-2996-2b7693000000', + 'dd2ffb68-1003-0090-6481-54efdd000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:41 GMT', + 'Fri, 16 Aug 2019 22:23:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js index 39ee7816a756..57ad21a26d0e 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156360478747606532"} +module.exports.testInfo = {"queue":"queue156599417673208390"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360478747606532') + .put('/queue156599417673208390') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2828f2a5-8003-00b7-47c5-3e7594000000', + '38987a99-b003-0015-7e81-54b808000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:39:47 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156360478747606532/messages', "Hello World") + .post('/queue156599417673208390/messages', "Hello World") .query(true) - .reply(201, "3134ce76-9dd5-4111-b1fc-ac6617c46b63Sat, 20 Jul 2019 06:39:48 GMTSat, 27 Jul 2019 06:39:48 GMTAgAAAAMAAAAAAAAAJ3j47MU+1QE=Sat, 20 Jul 2019 06:39:48 GMT", [ 'Transfer-Encoding', + .reply(201, "34d5fa90-2799-4899-b123-ae4c8aa996e6Fri, 16 Aug 2019 22:22:57 GMTFri, 23 Aug 2019 22:22:57 GMTAgAAAAMAAAAAAAAAhunTJ4FU1QE=Fri, 16 Aug 2019 22:22:57 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8685906a-a003-0028-30c5-3e0d2e000000', + 'ea52ee0d-d003-00af-3881-545801000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:39:47 GMT', + 'Fri, 16 Aug 2019 22:22:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156360478747606532') + .delete('/queue156599417673208390') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ec032cf0-7003-006e-7ec5-3ed3b8000000', + '0cfe07ce-d003-0005-3781-548eee000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:39:48 GMT', + 'Fri, 16 Aug 2019 22:22:57 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js index d0984d724445..951561bb3802 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156360478862103335"} +module.exports.testInfo = {"queue":"queue156599417819300275"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360478862103335') + .put('/queue156599417819300275') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6fc3f334-1003-009b-38c5-3ef7a9000000', + 'd133b1a3-d003-0041-7a81-545282000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:39:48 GMT', + 'Fri, 16 Aug 2019 22:22:57 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156360478862103335/messages', "Hello World") + .post('/queue156599417819300275/messages', "Hello World") .query(true) - .reply(201, "fd69a678-d498-4402-a01c-499eeed73e76Sat, 20 Jul 2019 06:39:49 GMTSat, 27 Jul 2019 06:39:49 GMTAgAAAAMAAAAAAAAAO8nN7cU+1QE=Sat, 20 Jul 2019 06:39:49 GMT", [ 'Transfer-Encoding', + .reply(201, "86dc9451-da09-44ac-a1b2-e425e11d9c79Fri, 16 Aug 2019 22:22:58 GMTFri, 23 Aug 2019 22:22:58 GMTAgAAAAMAAAAAAAAAkeO3KIFU1QE=Fri, 16 Aug 2019 22:22:58 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0bded5ea-a003-00c6-77c5-3e07ad000000', + '49b383df-9003-00c5-4381-5404aa000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:39:48 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156360478862103335') + .delete('/queue156599417819300275') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd0fe3c7a-b003-0037-49c5-3ed63e000000', + 'd133b37b-d003-0041-4081-545282000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:39:50 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.js index 3d6ee0b40fbd..efb9510aae64 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_negative_with_65537b64kb1b_characters_size_which_is_computed_after_encoding.js @@ -1,58 +1,58 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149549621009346"} +module.exports.testInfo = {"queue":"queue156599417568808069"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149549621009346') + .put('/queue156599417568808069') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd4768ac-f003-00b8-2d96-2b9862000000', + '1d72d2e5-a003-0067-2081-54c936000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:56 GMT', + 'Fri, 16 Aug 2019 22:22:54 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149549621009346/messages', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .post('/queue156599417568808069/messages', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) - .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:f7f45ff4-7003-0047-1d96-2ba5fa000000\nTime:2019-06-25T20:44:56.9247013Z65536", [ 'Content-Length', + .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:99a0c18d-a003-004e-6281-54bf74000000\nTime:2019-08-16T22:22:56.3775002Z65536", [ 'Content-Length', '286', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f7f45ff4-7003-0047-1d96-2ba5fa000000', + '99a0c18d-a003-004e-6281-54bf74000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'RequestBodyTooLarge', 'Date', - 'Tue, 25 Jun 2019 20:44:56 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149549621009346') + .delete('/queue156599417568808069') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '47d7d86b-3003-0087-0b96-2b2fbe000000', + '7a6307ce-3003-00c3-0481-54f3d2000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:57 GMT', + 'Fri, 16 Aug 2019 22:22:56 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_and_dequeue_negative.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_and_dequeue_negative.js index 2b92717d8cc4..f9b265b10aeb 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_and_dequeue_negative.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_and_dequeue_negative.js @@ -1,75 +1,75 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149549363607192"} +module.exports.testInfo = {"queue":"queue156599417166604463"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149549363607192') + .put('/queue156599417166604463') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ca34a25d-c003-0033-4c96-2b23bc000000', + 'e0e1f51b-c003-00b0-0381-548311000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:53 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149549363607192/messages', "Hello World") + .post('/queue156599417166604463/messages', "Hello World") .query(true) - .reply(201, "ed62299c-2aad-4c1a-aa72-288d223d07c7Tue, 25 Jun 2019 20:44:54 GMTTue, 25 Jun 2019 20:45:34 GMTAgAAAAMAAAAAAAAAgBPA15Yr1QE=Tue, 25 Jun 2019 20:44:54 GMT", [ 'Transfer-Encoding', + .reply(201, "0bace15b-c528-4e4e-a589-8852786b23caFri, 16 Aug 2019 22:22:52 GMTFri, 16 Aug 2019 22:23:32 GMTAgAAAAMAAAAAAAAAP13MJIFU1QE=Fri, 16 Aug 2019 22:22:52 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3076a684-f003-0056-4096-2b92e1000000', + '2d679a24-c003-0011-4481-544d8a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:53 GMT', + 'Fri, 16 Aug 2019 22:22:51 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149549363607192/messages', "Hello World") + .post('/queue156599417166604463/messages', "Hello World") .query(true) - .reply(400, "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:ff406813-2003-00ba-5596-2b9a98000000\nTime:2019-06-25T20:44:54.5084801Zvisibilitytimeout30messagettl must be greater than visibilitytimeout", [ 'Content-Length', + .reply(400, "InvalidQueryParameterValueValue for one of the query parameters specified in the request URI is invalid.\nRequestId:4a0cb0ed-4003-00aa-7c81-54ac7e000000\nTime:2019-08-16T22:22:52.5204994Zvisibilitytimeout30messagettl must be greater than visibilitytimeout", [ 'Content-Length', '442', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ff406813-2003-00ba-5596-2b9a98000000', + '4a0cb0ed-4003-00aa-7c81-54ac7e000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'InvalidQueryParameterValue', 'Date', - 'Tue, 25 Jun 2019 20:44:54 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549363607192/messages') + .get('/queue156599417166604463/messages') .query(true) - .reply(400, "OutOfRangeQueryParameterValueOne of the query parameters specified in the request URI is outside the permissible range.\nRequestId:ff40683f-2003-00ba-7e96-2b9a98000000\nTime:2019-06-25T20:44:54.7376410Znumofmessages100132", [ 'Content-Length', + .reply(400, "OutOfRangeQueryParameterValueOne of the query parameters specified in the request URI is outside the permissible range.\nRequestId:101dfd38-b003-0073-2f81-540a52000000\nTime:2019-08-16T22:22:52.8141681Znumofmessages100132", [ 'Content-Length', '457', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ff40683f-2003-00ba-7e96-2b9a98000000', + '101dfd38-b003-0073-2f81-540a52000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', @@ -79,15 +79,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:54 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549363607192/messages') + .get('/queue156599417166604463/messages') .query(true) - .reply(200, "ed62299c-2aad-4c1a-aa72-288d223d07c7Tue, 25 Jun 2019 20:44:54 GMTTue, 25 Jun 2019 20:45:34 GMT0Hello World", [ 'Cache-Control', + .reply(200, "0bace15b-c528-4e4e-a589-8852786b23caFri, 16 Aug 2019 22:22:52 GMTFri, 16 Aug 2019 22:23:32 GMT0Hello World", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -96,7 +96,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bd9b32b2-2003-00b1-4796-2b82ec000000', + '90db4903-b003-0051-6281-546464000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -104,15 +104,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:54 GMT', + 'Fri, 16 Aug 2019 22:22:52 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549363607192/messages') + .get('/queue156599417166604463/messages') .query(true) - .reply(200, "ed62299c-2aad-4c1a-aa72-288d223d07c7Tue, 25 Jun 2019 20:44:54 GMTTue, 25 Jun 2019 20:45:34 GMTAgAAAAMAAAAAAAAARBtI8JYr1QE=Tue, 25 Jun 2019 20:45:35 GMT1Hello World", [ 'Cache-Control', + .reply(200, "0bace15b-c528-4e4e-a589-8852786b23caFri, 16 Aug 2019 22:22:52 GMTFri, 16 Aug 2019 22:23:32 GMTAgAAAAMAAAAAAAAAZYFaPYFU1QE=Fri, 16 Aug 2019 22:23:33 GMT1Hello World", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -121,7 +121,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2869e6e2-e003-000d-2296-2b959d000000', + '57200965-a003-0045-4481-54a700000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -129,24 +129,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:54 GMT', + 'Fri, 16 Aug 2019 22:22:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149549363607192') + .delete('/queue156599417166604463') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '141f72ff-3003-0062-1596-2b3d49000000', + 'dd2fea34-1003-0090-0781-54efdd000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:56 GMT', + 'Fri, 16 Aug 2019 22:22:55 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.js index e6034271ed42..a7c1eff2deae 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_all_parameters.js @@ -1,104 +1,104 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149548512906398"} +module.exports.testInfo = {"queue":"queue156599416238909717"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149548512906398') + .put('/queue156599416238909717') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '984e65b4-2003-007d-0a96-2be659000000', + '1291edb1-9003-0046-0e81-54a407000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:45 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548512906398/messages', "Hello World") + .post('/queue156599416238909717/messages', "Hello World") .query(true) - .reply(201, "e6759d9f-2d18-4b68-9cfc-bbdb3ed29723Tue, 25 Jun 2019 20:44:45 GMTTue, 25 Jun 2019 20:45:25 GMTAgAAAAMAAAAAAAAAF5m90pYr1QE=Tue, 25 Jun 2019 20:44:45 GMT", [ 'Transfer-Encoding', + .reply(201, "c701236a-1e3b-44e0-93d8-ab329da5202eFri, 16 Aug 2019 22:22:43 GMTFri, 16 Aug 2019 22:23:23 GMTAgAAAAMAAAAAAAAAIRVlH4FU1QE=Fri, 16 Aug 2019 22:22:43 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8d38b5fc-1003-00df-6496-2b2bc5000000', + 'c08c15da-2003-0093-2b81-54ecda000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:45 GMT', + 'Fri, 16 Aug 2019 22:22:42 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548512906398/messages', "Hello World") + .post('/queue156599416238909717/messages', "Hello World") .query(true) - .reply(201, "3e4d6df5-94f4-40a5-a3f4-06b7531391f3Tue, 25 Jun 2019 20:44:46 GMTTue, 25 Jun 2019 20:45:26 GMTAgAAAAMAAAAAAAAAxKDs0pYr1QE=Tue, 25 Jun 2019 20:44:46 GMT", [ 'Transfer-Encoding', + .reply(201, "3ef25e02-56ac-40af-be48-721297012949Fri, 16 Aug 2019 22:22:43 GMTFri, 16 Aug 2019 22:23:23 GMTAgAAAAMAAAAAAAAAqqeTH4FU1QE=Fri, 16 Aug 2019 22:22:43 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ddec8fb0-5003-0014-2896-2bb9f5000000', + '0233122a-b003-003c-6781-54ce4a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:45 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548512906398/messages', "Hello World") + .post('/queue156599416238909717/messages', "Hello World") .query(true) - .reply(201, "71049657-dd75-425b-a957-35057f3e815fTue, 25 Jun 2019 20:44:46 GMTTue, 25 Jun 2019 20:44:56 GMTAgAAAAMAAAAAAAAAEOcW1pYr1QE=Tue, 25 Jun 2019 20:44:51 GMT", [ 'Transfer-Encoding', + .reply(201, "79b1b66b-7a49-4d6b-b071-f77774bab38aFri, 16 Aug 2019 22:22:43 GMTFri, 16 Aug 2019 22:22:53 GMTAgAAAAMAAAAAAAAAExm8IoFU1QE=Fri, 16 Aug 2019 22:22:48 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '421caef5-b003-003c-6c96-2bce4a000000', + '80c9fc32-7003-008b-7b81-54c14f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:45 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548512906398/messages', "Hello World") + .post('/queue156599416238909717/messages', "Hello World") .query(true) - .reply(201, "bcf1cff1-b6f1-4a7e-8ed3-86ef551fdbecTue, 25 Jun 2019 20:44:46 GMTTue, 25 Jun 2019 20:45:06 GMTAgAAAAMAAAAAAAAApgKe3pYr1QE=Tue, 25 Jun 2019 20:45:05 GMT", [ 'Transfer-Encoding', + .reply(201, "7ffde309-1788-4c90-bc48-4deea47f35d3Fri, 16 Aug 2019 22:22:44 GMTFri, 16 Aug 2019 22:23:04 GMTAgAAAAMAAAAAAAAAY3FCK4FU1QE=Fri, 16 Aug 2019 22:23:03 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bd7f2e10-0003-00ad-7e96-2b5afb000000', + '415ad1b4-4003-0000-4f81-547a91000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:46 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548512906398/messages') + .get('/queue156599416238909717/messages') .query(true) - .reply(200, "e6759d9f-2d18-4b68-9cfc-bbdb3ed29723Tue, 25 Jun 2019 20:44:45 GMTTue, 25 Jun 2019 20:45:25 GMT0Hello World3e4d6df5-94f4-40a5-a3f4-06b7531391f3Tue, 25 Jun 2019 20:44:46 GMTTue, 25 Jun 2019 20:45:26 GMT0Hello World", [ 'Cache-Control', + .reply(200, "c701236a-1e3b-44e0-93d8-ab329da5202eFri, 16 Aug 2019 22:22:43 GMTFri, 16 Aug 2019 22:23:23 GMT0Hello World3ef25e02-56ac-40af-be48-721297012949Fri, 16 Aug 2019 22:22:43 GMTFri, 16 Aug 2019 22:23:23 GMT0Hello World", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -107,7 +107,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '74f7998f-5003-001f-7496-2ba181000000', + 'c3910445-6003-009f-4681-54022b000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -115,15 +115,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:46 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548512906398/messages') + .get('/queue156599416238909717/messages') .query(true) - .reply(200, "e6759d9f-2d18-4b68-9cfc-bbdb3ed29723Tue, 25 Jun 2019 20:44:45 GMTTue, 25 Jun 2019 20:45:25 GMTAgAAAAMAAAAAAAAADSue2ZYr1QE=Tue, 25 Jun 2019 20:44:57 GMT1Hello World3e4d6df5-94f4-40a5-a3f4-06b7531391f3Tue, 25 Jun 2019 20:44:46 GMTTue, 25 Jun 2019 20:45:26 GMTAgAAAAMAAAAAAAAADSue2ZYr1QE=Tue, 25 Jun 2019 20:44:57 GMT1Hello World", [ 'Cache-Control', + .reply(200, "c701236a-1e3b-44e0-93d8-ab329da5202eFri, 16 Aug 2019 22:22:43 GMTFri, 16 Aug 2019 22:23:23 GMTAgAAAAMAAAAAAAAAZhNBJoFU1QE=Fri, 16 Aug 2019 22:22:54 GMT1Hello World3ef25e02-56ac-40af-be48-721297012949Fri, 16 Aug 2019 22:22:43 GMTFri, 16 Aug 2019 22:23:23 GMTAgAAAAMAAAAAAAAAZhNBJoFU1QE=Fri, 16 Aug 2019 22:22:54 GMT1Hello World", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -132,7 +132,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ba90f708-8003-0034-4196-2bd539000000', + '632b6cbb-1003-00b9-5281-54999f000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -140,13 +140,13 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:46 GMT', + 'Fri, 16 Aug 2019 22:22:43 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548512906398/messages') + .get('/queue156599416238909717/messages') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -157,7 +157,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '053389db-e003-00a7-6e96-2b4372000000', + '09ab0c08-c003-0038-0981-543bc8000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -165,24 +165,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:46 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149548512906398') + .delete('/queue156599416238909717') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8edc6b0-7003-00a9-2f96-2baf79000000', + '850ce40d-e003-0049-5f81-5449f1000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:47 GMT', + 'Fri, 16 Aug 2019 22:22:44 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.js index 704f22edd950..aad442e2429b 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_and_clear_message_with_default_parameters.js @@ -1,66 +1,66 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149548138206407"} +module.exports.testInfo = {"queue":"queue156599415957006450"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149548138206407') + .put('/queue156599415957006450') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '93dc7e14-a003-000a-1996-2b6318000000', + 'd2a5d0c4-2003-00dc-4581-5428c2000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:40 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548138206407/messages', "Hello World") + .post('/queue156599415957006450/messages', "Hello World") .query(true) - .reply(201, "5c50c98d-4eff-4481-8180-8248017c9d5bTue, 25 Jun 2019 20:44:41 GMTTue, 02 Jul 2019 20:44:41 GMTAgAAAAMAAAAAAAAAbB1x0JYr1QE=Tue, 25 Jun 2019 20:44:41 GMT", [ 'Transfer-Encoding', + .reply(201, "06d7757b-33ea-4e38-b280-ed1cd18b8c42Fri, 16 Aug 2019 22:22:40 GMTFri, 23 Aug 2019 22:22:40 GMTAgAAAAMAAAAAAAAALZqbHYFU1QE=Fri, 16 Aug 2019 22:22:40 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0dff8240-6003-0058-7096-2b7eea000000', + '41fbf27a-1003-00df-4581-542bc5000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:41 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548138206407/messages', "Hello World") + .post('/queue156599415957006450/messages', "Hello World") .query(true) - .reply(201, "3f2adc00-d9a6-4a31-9fa3-e840403e1112Tue, 25 Jun 2019 20:44:42 GMTTue, 02 Jul 2019 20:44:42 GMTAgAAAAMAAAAAAAAAjDqf0JYr1QE=Tue, 25 Jun 2019 20:44:42 GMT", [ 'Transfer-Encoding', + .reply(201, "aa3012d3-f85e-4493-88f9-9d3b871a32f7Fri, 16 Aug 2019 22:22:40 GMTFri, 23 Aug 2019 22:22:40 GMTAgAAAAMAAAAAAAAAJRvJHYFU1QE=Fri, 16 Aug 2019 22:22:40 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5dea4dfd-c003-0092-0596-2bed27000000', + 'b4eae408-3003-0087-6181-542fbe000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:41 GMT', + 'Fri, 16 Aug 2019 22:22:39 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548138206407/messages') + .get('/queue156599415957006450/messages') .query(true) - .reply(200, "5c50c98d-4eff-4481-8180-8248017c9d5bTue, 25 Jun 2019 20:44:41 GMTTue, 02 Jul 2019 20:44:41 GMT0Hello World", [ 'Cache-Control', + .reply(200, "06d7757b-33ea-4e38-b280-ed1cd18b8c42Fri, 16 Aug 2019 22:22:40 GMTFri, 23 Aug 2019 22:22:40 GMT0Hello World", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -69,7 +69,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '51f1e174-8003-009e-7d96-2b03d6000000', + '6250f014-8003-00d1-6681-54c7ce000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -77,15 +77,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:42 GMT', + 'Fri, 16 Aug 2019 22:22:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548138206407/messages') + .get('/queue156599415957006450/messages') .query(true) - .reply(200, "5c50c98d-4eff-4481-8180-8248017c9d5bTue, 25 Jun 2019 20:44:41 GMTTue, 02 Jul 2019 20:44:41 GMTAgAAAAMAAAAAAAAAhnfe4pYr1QE=Tue, 25 Jun 2019 20:45:12 GMT1Hello World", [ 'Cache-Control', + .reply(200, "06d7757b-33ea-4e38-b280-ed1cd18b8c42Fri, 16 Aug 2019 22:22:40 GMTFri, 23 Aug 2019 22:22:40 GMTAgAAAAMAAAAAAAAA5h8HMIFU1QE=Fri, 16 Aug 2019 22:23:11 GMT1Hello World", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -94,7 +94,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '640f5711-a003-00a0-7596-2bb5f7000000', + '86a43c61-8003-0016-0f81-54bb0f000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -102,30 +102,30 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:42 GMT', + 'Fri, 16 Aug 2019 22:22:40 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149548138206407/messages') + .delete('/queue156599415957006450/messages') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'bc997af8-0003-00a6-3296-2b428f000000', + '47b5f966-4003-0022-0e81-5414a7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:43 GMT', + 'Fri, 16 Aug 2019 22:22:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548138206407/messages') + .get('/queue156599415957006450/messages') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -136,7 +136,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ae4d5916-0003-00e2-4f96-2b9ee3000000', + 'e4651c99-4003-0044-4081-54a6fd000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -144,24 +144,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:44 GMT', + 'Fri, 16 Aug 2019 22:22:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149548138206407') + .delete('/queue156599415957006450') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fd47584a-f003-00b8-2096-2b9862000000', + '5904ce6b-a003-00e4-7481-54699b000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:44 GMT', + 'Fri, 16 Aug 2019 22:22:41 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.js index dd4f80bd38a9..f3bb77f2d29d 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_empty_message_and_peek_dequeue_with_numberofmessages_gt_countmessages.js @@ -1,47 +1,47 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149548806102656"} +module.exports.testInfo = {"queue":"queue156599416540606040"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149548806102656') + .put('/queue156599416540606040') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '30117e17-5003-005b-0596-2b7ded000000', + '1f09a0d4-d003-00eb-1a81-54846d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:48 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548806102656/messages', "") + .post('/queue156599416540606040/messages', "") .query(true) - .reply(201, "b17466c5-3c7f-4e6a-a6c2-cef07e2a6504Tue, 25 Jun 2019 20:44:48 GMTTue, 25 Jun 2019 20:45:28 GMTAgAAAAMAAAAAAAAA4JVr1JYr1QE=Tue, 25 Jun 2019 20:44:48 GMT", [ 'Transfer-Encoding', + .reply(201, "2ad47ffd-6618-4aac-ac23-d7b3deb075eeFri, 16 Aug 2019 22:22:45 GMTFri, 16 Aug 2019 22:23:25 GMTAgAAAAMAAAAAAAAA99oRIYFU1QE=Fri, 16 Aug 2019 22:22:45 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '74f79b84-5003-001f-2196-2ba181000000', + '35bb8fc3-9003-002b-3581-540e29000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:48 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548806102656/messages') + .get('/queue156599416540606040/messages') .query(true) - .reply(200, "b17466c5-3c7f-4e6a-a6c2-cef07e2a6504Tue, 25 Jun 2019 20:44:48 GMTTue, 25 Jun 2019 20:45:28 GMT0", [ 'Cache-Control', + .reply(200, "2ad47ffd-6618-4aac-ac23-d7b3deb075eeFri, 16 Aug 2019 22:22:45 GMTFri, 16 Aug 2019 22:23:25 GMT0", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -50,7 +50,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fdd5be9f-f003-005d-3196-2b8a95000000', + '3deb8dc7-e003-008e-7f81-543530000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -58,15 +58,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:48 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548806102656/messages') + .get('/queue156599416540606040/messages') .query(true) - .reply(200, "b17466c5-3c7f-4e6a-a6c2-cef07e2a6504Tue, 25 Jun 2019 20:44:48 GMTTue, 25 Jun 2019 20:45:28 GMTAgAAAAMAAAAAAAAAKFvB2pYr1QE=Tue, 25 Jun 2019 20:44:59 GMT1", [ 'Cache-Control', + .reply(200, "2ad47ffd-6618-4aac-ac23-d7b3deb075eeFri, 16 Aug 2019 22:22:45 GMTFri, 16 Aug 2019 22:23:25 GMTAgAAAAMAAAAAAAAA05ZiJ4FU1QE=Fri, 16 Aug 2019 22:22:56 GMT1", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -75,7 +75,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e2b07d65-1003-009b-4796-2bf7a9000000', + '279a1834-4003-004f-4981-54be89000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -83,24 +83,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:48 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149548806102656') + .delete('/queue156599416540606040') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '63f1550a-c003-00d6-6a96-2b314b000000', + '1ef64025-6003-0094-7381-541a5f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:49 GMT', + 'Fri, 16 Aug 2019 22:22:45 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_special_characters.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_special_characters.js index da7ef5461477..21604eceb7bc 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_special_characters.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_special_characters.js @@ -1,47 +1,47 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149548973203695"} +module.exports.testInfo = {"queue":"queue156599416691109438"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149548973203695') + .put('/queue156599416691109438') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b7268d4d-5003-0036-1b96-2bd7c3000000', + 'c50a3280-8003-0070-6381-540955000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:49 GMT', + 'Fri, 16 Aug 2019 22:22:46 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149548973203695/messages', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é") + .post('/queue156599416691109438/messages', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é") .query(true) - .reply(201, "0513faf7-1478-4ab7-b729-a4a303acc33aTue, 25 Jun 2019 20:44:50 GMTTue, 25 Jun 2019 20:45:30 GMTAgAAAAMAAAAAAAAAeZ9v1ZYr1QE=Tue, 25 Jun 2019 20:44:50 GMT", [ 'Transfer-Encoding', + .reply(201, "c62031e8-c7f4-47ed-9a54-0aef7cc5919aFri, 16 Aug 2019 22:22:48 GMTFri, 16 Aug 2019 22:23:28 GMTAgAAAAMAAAAAAAAA3udwIoFU1QE=Fri, 16 Aug 2019 22:22:48 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e54975b9-a003-00ef-2696-2b71ef000000', + '3a840502-a003-000a-5f81-546318000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:49 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548973203695/messages') + .get('/queue156599416691109438/messages') .query(true) - .reply(200, "0513faf7-1478-4ab7-b729-a4a303acc33aTue, 25 Jun 2019 20:44:50 GMTTue, 25 Jun 2019 20:45:30 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", [ 'Cache-Control', + .reply(200, "c62031e8-c7f4-47ed-9a54-0aef7cc5919aFri, 16 Aug 2019 22:22:48 GMTFri, 16 Aug 2019 22:23:28 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -50,7 +50,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9afdd04-3003-00ae-6f96-2b59fc000000', + 'c39105d8-6003-009f-1881-54022b000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -58,15 +58,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:50 GMT', + 'Fri, 16 Aug 2019 22:22:47 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149548973203695/messages') + .get('/queue156599416691109438/messages') .query(true) - .reply(200, "0513faf7-1478-4ab7-b729-a4a303acc33aTue, 25 Jun 2019 20:44:50 GMTTue, 25 Jun 2019 20:45:30 GMTAgAAAAMAAAAAAAAAT+DM25Yr1QE=Tue, 25 Jun 2019 20:45:01 GMT1!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", [ 'Cache-Control', + .reply(200, "c62031e8-c7f4-47ed-9a54-0aef7cc5919aFri, 16 Aug 2019 22:22:48 GMTFri, 16 Aug 2019 22:23:28 GMTAgAAAAMAAAAAAAAAuAnKKIFU1QE=Fri, 16 Aug 2019 22:22:58 GMT1!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦é", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -75,7 +75,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '248730c8-3003-0040-5796-2b537f000000', + '74fbe8b3-b003-0096-5181-5418a5000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -83,24 +83,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:50 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149548973203695') + .delete('/queue156599416691109438') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'af13a789-f003-0074-1896-2bfcd7000000', + '8654d932-1003-0075-7f81-54fd2a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:50 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.js index 16bd2b827f98..a8cc94e321a1 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_enqueue_peek_dequeue_with_64kb_characters_size_which_is_computed_after_encoding.js @@ -1,47 +1,47 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149549138809994"} +module.exports.testInfo = {"queue":"queue156599416958306537"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149549138809994') + .put('/queue156599416958306537') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '815264fa-c003-005e-0196-2b8992000000', + 'f407fff6-7003-0065-7b81-54cbcc000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:50 GMT', + 'Fri, 16 Aug 2019 22:22:48 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149549138809994/messages', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .post('/queue156599416958306537/messages', "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) - .reply(201, "94b0ae0f-03cd-419f-9009-de9ec3a1f0e0Tue, 25 Jun 2019 20:44:52 GMTTue, 25 Jun 2019 20:45:32 GMTAgAAAAMAAAAAAAAAMpZ91pYr1QE=Tue, 25 Jun 2019 20:44:52 GMT", [ 'Transfer-Encoding', + .reply(201, "8fb6e429-1d5c-4eba-af78-c48ed01b0081Fri, 16 Aug 2019 22:22:50 GMTFri, 16 Aug 2019 22:23:30 GMTAgAAAAMAAAAAAAAA0SGkI4FU1QE=Fri, 16 Aug 2019 22:22:50 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ddec9870-5003-0014-3b96-2bb9f5000000', + 'fb24687b-2003-0010-1581-544c77000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:51 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549138809994/messages') + .get('/queue156599416958306537/messages') .query(true) - .reply(200, "94b0ae0f-03cd-419f-9009-de9ec3a1f0e0Tue, 25 Jun 2019 20:44:52 GMTTue, 25 Jun 2019 20:45:32 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', + .reply(200, "8fb6e429-1d5c-4eba-af78-c48ed01b0081Fri, 16 Aug 2019 22:22:50 GMTFri, 16 Aug 2019 22:23:30 GMT0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -50,7 +50,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '68c966f8-d003-00eb-4d96-2b846d000000', + '5988db65-b003-00d9-1381-54dcbd000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -58,15 +58,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:51 GMT', + 'Fri, 16 Aug 2019 22:22:49 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549138809994/messages') + .get('/queue156599416958306537/messages') .query(true) - .reply(200, "94b0ae0f-03cd-419f-9009-de9ec3a1f0e0Tue, 25 Jun 2019 20:44:52 GMTTue, 25 Jun 2019 20:45:32 GMTAgAAAAMAAAAAAAAAce/23JYr1QE=Tue, 25 Jun 2019 20:45:02 GMT1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', + .reply(200, "8fb6e429-1d5c-4eba-af78-c48ed01b0081Fri, 16 Aug 2019 22:22:50 GMTFri, 16 Aug 2019 22:23:30 GMTAgAAAAMAAAAAAAAAusMWKoFU1QE=Fri, 16 Aug 2019 22:23:01 GMT1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -75,7 +75,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8d38c0e1-1003-00df-5c96-2b2bc5000000', + '64724e96-8003-0059-4581-547f17000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -83,24 +83,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:52 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149549138809994') + .delete('/queue156599416958306537') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '91935557-7003-00c4-7996-2b0557000000', + '84fdf392-4003-0029-5b81-540cd3000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:52 GMT', + 'Fri, 16 Aug 2019 22:22:50 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js index 6b205d820527..35beb543c078 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156360508842502963"} +module.exports.testInfo = {"queue":"queue156599417915703947"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360508842502963') + .put('/queue156599417915703947') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '041af35a-c003-0011-71c6-3e4d8a000000', + '1421d09a-3003-002d-6981-54f951000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:44:48 GMT', + 'Fri, 16 Aug 2019 22:22:58 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156360508842502963') + .delete('/queue156599417915703947') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7e8696f2-7003-0008-3ac6-3e61e2000000', + 'f4e2caf7-8003-001d-5381-54a37b000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:44:48 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js index 7b57da937d00..2f4eaffffe54 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555802305478"} +module.exports.testInfo = {"queue":"queue156599425353902611"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555802305478') + .put('/queue156599425353902611') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b141a54-3003-00c8-7596-2beba6000000', + '3b0285c9-d003-004a-6b81-544af6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:58 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149555802305478/messages', "Hello World") + .post('/queue156599425353902611/messages', "Hello World") .query(true) - .reply(201, "74805ca8-4ade-4b56-931d-3dc6629afd59Tue, 25 Jun 2019 20:45:58 GMTTue, 02 Jul 2019 20:45:58 GMTAgAAAAMAAAAAAAAAofkd/pYr1QE=Tue, 25 Jun 2019 20:45:58 GMT", [ 'Transfer-Encoding', + .reply(201, "912cf627-895d-497d-a9fc-525abacc79e8Fri, 16 Aug 2019 22:24:14 GMTFri, 23 Aug 2019 22:24:14 GMTAgAAAAMAAAAAAAAAobmZVYFU1QE=Fri, 16 Aug 2019 22:24:14 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2048f790-a003-0067-5496-2bc936000000', + 'b04f0ecc-7003-00c4-4781-540557000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:58 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555802305478') + .delete('/queue156599425353902611') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cbc12f3c-e003-0024-7d96-2be3df000000', + 'bbe80105-9003-006f-3481-54d245000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:58 GMT', + 'Fri, 16 Aug 2019 22:24:14 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js index f2f8de0fce8f..c8a43f0843e3 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555893705246"} +module.exports.testInfo = {"queue":"queue156599425484202532"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555893705246') + .put('/queue156599425484202532') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e87ea1b8-5003-00d3-0396-2bc534000000', + '3c27f457-8003-009e-2581-5403d6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:58 GMT', + 'Fri, 16 Aug 2019 22:24:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149555893705246/messages', "Hello World") + .post('/queue156599425484202532/messages', "Hello World") .query(true) - .reply(201, "69d05c55-ea10-49c9-8d9b-4d9da86793daTue, 25 Jun 2019 20:45:59 GMTTue, 02 Jul 2019 20:45:59 GMTAgAAAAMAAAAAAAAAr9un/pYr1QE=Tue, 25 Jun 2019 20:45:59 GMT", [ 'Transfer-Encoding', + .reply(201, "d4a46a3f-da21-45ea-b752-253c5e9cd695Fri, 16 Aug 2019 22:24:15 GMTFri, 23 Aug 2019 22:24:15 GMTAgAAAAMAAAAAAAAA70hjVoFU1QE=Fri, 16 Aug 2019 22:24:15 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7a461eeb-2003-00d7-6d96-2b30b6000000', + '2afc91b6-5003-00d8-5e81-54dd40000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:59 GMT', + 'Fri, 16 Aug 2019 22:24:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555893705246') + .delete('/queue156599425484202532') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '286a1478-e003-000d-2596-2b959d000000', + 'e7777c67-2003-001b-7b81-545403000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:59 GMT', + 'Fri, 16 Aug 2019 22:24:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index c607dffb23d2..155fc09da927 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555481805623"} +module.exports.testInfo = {"queue":"queue156599425077600864"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555481805623') + .put('/queue156599425077600864') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ddecf378-5003-0014-6996-2bb9f5000000', + 'b8961081-7003-00cf-6c81-541d23000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:54 GMT', + 'Fri, 16 Aug 2019 22:24:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149555481805623/messages', "Hello World") + .post('/queue156599425077600864/messages', "Hello World") .query(true) - .reply(201, "d9846564-3e6d-4eb2-8800-1fb2b6b69659Tue, 25 Jun 2019 20:45:55 GMTTue, 02 Jul 2019 20:45:55 GMTAgAAAAMAAAAAAAAASxAz/JYr1QE=Tue, 25 Jun 2019 20:45:55 GMT", [ 'Transfer-Encoding', + .reply(201, "52dcd20b-bd7d-4598-b093-49339c6e1ca5Fri, 16 Aug 2019 22:24:11 GMTFri, 23 Aug 2019 22:24:11 GMTAgAAAAMAAAAAAAAABEj0U4FU1QE=Fri, 16 Aug 2019 22:24:11 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48da9c35-2003-0032-7b96-2b2241000000', + '0f8481d0-d003-00c2-0481-54f22f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:55 GMT', + 'Fri, 16 Aug 2019 22:24:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555481805623') + .delete('/queue156599425077600864') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4cd3c0c4-4003-0066-4996-2bc8cb000000', + 'feed1f57-c003-00bb-1681-549b65000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:55 GMT', + 'Fri, 16 Aug 2019 22:24:11 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index b015ed565e3a..33e27eed669b 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555625309759"} +module.exports.testInfo = {"queue":"queue156599425168808925"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555625309759') + .put('/queue156599425168808925') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3badcfa9-e003-00ca-3b96-2be95c000000', + '86a49a8e-8003-0016-5e81-54bb0f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:56 GMT', + 'Fri, 16 Aug 2019 22:24:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149555625309759/messages', "Hello World") + .post('/queue156599425168808925/messages', "Hello World") .query(true) - .reply(201, "e62e5bc4-82f1-46bf-b0eb-43a14df777cdTue, 25 Jun 2019 20:45:56 GMTTue, 02 Jul 2019 20:45:56 GMTAgAAAAMAAAAAAAAAlmYP/ZYr1QE=Tue, 25 Jun 2019 20:45:56 GMT", [ 'Transfer-Encoding', + .reply(201, "47cf25f4-31fe-4f32-84db-959272b08599Fri, 16 Aug 2019 22:24:12 GMTFri, 23 Aug 2019 22:24:12 GMTAgAAAAMAAAAAAAAAO8OAVIFU1QE=Fri, 16 Aug 2019 22:24:12 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '134f733c-b003-00b4-7c96-2b7693000000', + 'a3faf6d5-6003-001c-2681-54a286000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:55 GMT', + 'Fri, 16 Aug 2019 22:24:11 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555625309759') + .delete('/queue156599425168808925') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6c4679dd-6003-0017-3d96-2bbaf2000000', + '803174b0-6003-0053-4581-54669e000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:56 GMT', + 'Fri, 16 Aug 2019 22:24:11 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index f99d0cec0505..d62cdc90e88d 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,56 +1,56 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555714507235"} +module.exports.testInfo = {"queue":"queue156599425261306737"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555714507235') + .put('/queue156599425261306737') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4b14191f-3003-00c8-6096-2beba6000000', + 'da98d50d-e003-0085-0f81-542d44000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:57 GMT', + 'Fri, 16 Aug 2019 22:24:12 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149555714507235/messages', "Hello World") + .post('/queue156599425261306737/messages', "Hello World") .query(true) - .reply(201, "5db840da-4653-429f-8b91-6ddb648e2673Tue, 25 Jun 2019 20:45:57 GMTTue, 02 Jul 2019 20:45:57 GMTAgAAAAMAAAAAAAAAbHeV/ZYr1QE=Tue, 25 Jun 2019 20:45:57 GMT", [ 'Transfer-Encoding', + .reply(201, "7dc4be59-aa55-4415-ac1e-1c9bad21e101Fri, 16 Aug 2019 22:24:13 GMTFri, 23 Aug 2019 22:24:13 GMTAgAAAAMAAAAAAAAAFXcOVYFU1QE=Fri, 16 Aug 2019 22:24:13 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '953d6337-4003-0000-7196-2b7a91000000', + 'c01b96ee-1003-00b2-3f81-5481eb000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:57 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555714507235') + .delete('/queue156599425261306737') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7a5edc71-2003-005f-3496-2b886f000000', + '7161c3d9-f003-0012-3281-544e8d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:57 GMT', + 'Fri, 16 Aug 2019 22:24:13 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index ca28b2ddc638..bd59569e2c9a 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556084006298"} +module.exports.testInfo = {"queue":"queue156599425576902342"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556084006298') + .put('/queue156599425576902342') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f7f486a9-7003-0047-5c96-2ba5fa000000', + 'f2ea32db-0003-00cb-3c81-54e8a1000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:00 GMT', + 'Fri, 16 Aug 2019 22:24:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556084006298') + .delete('/queue156599425576902342') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48da9ee0-2003-0032-3696-2b2241000000', + 'dfab7707-e003-000d-7281-54959d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:00 GMT', + 'Fri, 16 Aug 2019 22:24:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_negative_with_65537b64kb1b_characters_including_special_char_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_negative_with_65537b64kb1b_characters_including_special_char_which_is_computed_after_encoding.js index 29a46666ae4a..914d606124ab 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_negative_with_65537b64kb1b_characters_including_special_char_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_negative_with_65537b64kb1b_characters_including_special_char_which_is_computed_after_encoding.js @@ -1,58 +1,58 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555342809185"} +module.exports.testInfo = {"queue":"queue156599424834807729"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555342809185') + .put('/queue156599424834807729') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ec7f200b-1003-0018-2496-2b5704000000', + 'b233bc92-6003-0058-3481-547eea000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:53 GMT', + 'Fri, 16 Aug 2019 22:24:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149555342809185/messages', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .post('/queue156599424834807729/messages', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) - .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:de6e53b1-9003-0046-6b96-2ba407000000\nTime:2019-06-25T20:45:54.3063882Z65536", [ 'Content-Length', + .reply(413, "RequestBodyTooLargeThe request body is too large and exceeds the maximum permissible limit.\nRequestId:a717bac8-d003-00e0-4a81-549c19000000\nTime:2019-08-16T22:24:09.4820016Z65536", [ 'Content-Length', '286', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'de6e53b1-9003-0046-6b96-2ba407000000', + 'a717bac8-d003-00e0-4a81-549c19000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'RequestBodyTooLarge', 'Date', - 'Tue, 25 Jun 2019 20:45:54 GMT', + 'Fri, 16 Aug 2019 22:24:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555342809185') + .delete('/queue156599424834807729') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '08048b67-1003-0031-4d96-2b2146000000', + '6251258e-8003-00d1-7181-54c7ce000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:54 GMT', + 'Fri, 16 Aug 2019 22:24:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_peek_dequeue_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_peek_dequeue_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js index 51f0cb947928..1f808a0ede74 100644 --- a/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_peek_dequeue_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js +++ b/sdk/storage/storage-queue/recordings/node/messagesclient_nodejs_only/recording_enqueue_peek_dequeue_with_64kb_characters_including_special_char_which_is_computed_after_encoding.js @@ -1,47 +1,47 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149555114806190"} +module.exports.testInfo = {"queue":"queue156599424452708307"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149555114806190') + .put('/queue156599424452708307') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6cc1f686-9003-00e7-4e96-2b6a9c000000', + '89ef2116-9003-0009-1781-54601f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:50 GMT', + 'Fri, 16 Aug 2019 22:24:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149555114806190/messages', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") + .post('/queue156599424452708307/messages', "!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .query(true) - .reply(201, "04835fd7-2caf-45be-85b2-e46e0b96feceTue, 25 Jun 2019 20:45:51 GMTTue, 25 Jun 2019 20:46:31 GMTAgAAAAMAAAAAAAAAr3Up+pYr1QE=Tue, 25 Jun 2019 20:45:51 GMT", [ 'Transfer-Encoding', + .reply(201, "97dffd9d-0e24-4759-beef-96417d9fc4ccFri, 16 Aug 2019 22:24:05 GMTFri, 16 Aug 2019 22:24:45 GMTAgAAAAMAAAAAAAAAifhmUIFU1QE=Fri, 16 Aug 2019 22:24:05 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '328944d8-c003-00b0-6096-2b8311000000', + 'c8314b86-c003-00d6-6881-54314b000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:51 GMT', + 'Fri, 16 Aug 2019 22:24:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149555114806190/messages') + .get('/queue156599424452708307/messages') .query(true) - .reply(200, "04835fd7-2caf-45be-85b2-e46e0b96feceTue, 25 Jun 2019 20:45:51 GMTTue, 25 Jun 2019 20:46:31 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', + .reply(200, "97dffd9d-0e24-4759-beef-96417d9fc4ccFri, 16 Aug 2019 22:24:05 GMTFri, 16 Aug 2019 22:24:45 GMT0!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -50,7 +50,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0dfff6b3-6003-0058-4a96-2b7eea000000', + '89ef2267-9003-0009-4c81-54601f000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -58,15 +58,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:51 GMT', + 'Fri, 16 Aug 2019 22:24:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149555114806190/messages') + .get('/queue156599424452708307/messages') .query(true) - .reply(200, "04835fd7-2caf-45be-85b2-e46e0b96feceTue, 25 Jun 2019 20:45:51 GMTTue, 25 Jun 2019 20:46:31 GMTAgAAAAMAAAAAAAAAHcukAJcr1QE=Tue, 25 Jun 2019 20:46:02 GMT1!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', + .reply(200, "97dffd9d-0e24-4759-beef-96417d9fc4ccFri, 16 Aug 2019 22:24:05 GMTFri, 16 Aug 2019 22:24:45 GMTAgAAAAMAAAAAAAAAqkZrV4FU1QE=Fri, 16 Aug 2019 22:24:17 GMT1!@#$%^&*()_+`-=[]|};'\":,./?><`~漢字㒈保ᨍ揫^p[뷁)׷񬓔7񈺝l鮍򧽶ͺ簣ڞ츊䈗㝯綞߫⯹?ÎᦡC왶żsmt㖩닡򈸱𕩣ОլFZ򃀮9tC榅ٻ컦驿Ϳ[𱿛봻烌󱰷򙥱Ռ򽒏򘤰δŊϜ췮㐦9ͽƙp퐂ʩ由巩•KFÓ֮򨾭⨿󊻅aBm󶴂旨Ϣ񓙠򻐪񇧱򆋸ջ֨ipn򒷐ꝷՆ򆊙斡賆𒚑m˞𻆕󛿓򐞺Ӯ򡗺򴜍<񐸩԰Bu)򁉂񖨞á<џɏ嗂�⨣1PJ㬵┡ḸI򰱂ˮaࢸ۳i灛ȯɨb𹺪򕕱뿶uٔ䎴񷯆Φ륽󬃨س_NƵ¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -75,7 +75,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fdd60050-f003-005d-6396-2b8a95000000', + '90db720c-b003-0051-6681-546464000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -83,24 +83,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:52 GMT', + 'Fri, 16 Aug 2019 22:24:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149555114806190') + .delete('/queue156599424452708307') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a6b42a92-2003-0093-3196-2becda000000', + '53427705-2003-0076-2281-54fe2d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:52 GMT', + 'Fri, 16 Aug 2019 22:24:07 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js index c171f2f53df5..2723b32e60ff 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156360533457001683"} +module.exports.testInfo = {"queue":"queue156599419091805067"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360533457001683') + .put('/queue156599419091805067') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '9457af9e-8003-003f-3dc7-3ecd4d000000', + '338b2695-2003-00b1-2881-5482ec000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:48:54 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156360533457001683') + .get('/queue156599419091805067') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b5236da8-6003-001c-50c7-3ea286000000', + 'eae7f7ec-6003-00d0-5c81-54c633000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 20 Jul 2019 06:48:54 GMT', + 'Fri, 16 Aug 2019 22:23:13 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156360533457001683') + .delete('/queue156599419091805067') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '88d2442a-4003-00e5-78c7-3e6866000000', + '80ca16c5-7003-008b-1181-54c14f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:48:54 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js index 2e510cf374c2..7fa5827d820b 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_can_be_created_with_a_sas_connection_string_and_a_queue_name_and_an_option_bag.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156360533561507556"} +module.exports.testInfo = {"queue":"queue156599419442606870"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360533561507556') + .put('/queue156599419442606870') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7e8776cf-7003-0008-74c7-3e61e2000000', + '3a843ee8-a003-000a-4781-546318000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:48:55 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156360533561507556') + .get('/queue156599419442606870') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ea355a70-b003-00d9-33c7-3edcbd000000', + '45dd9306-a003-00c6-5c81-5407ad000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 20 Jul 2019 06:48:55 GMT', + 'Fri, 16 Aug 2019 22:23:14 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156360533561507556') + .delete('/queue156599419442606870') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '070a4bf6-7003-00cf-1ec7-3e1d23000000', + 'e0e20b2a-c003-00b0-4681-548311000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:48:55 GMT', + 'Fri, 16 Aug 2019 22:23:15 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_negative.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_negative.js index 696e98a9fd0c..d6c4bd0efbdb 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_negative.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_negative.js @@ -1,20 +1,20 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149550267204766"} +module.exports.testInfo = {"queue":"queue156599418741604772"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550267204766') + .put('/queue156599418741604772') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '32890353-c003-00b0-2096-2b8311000000', + '560fe442-8003-00b7-2981-547594000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:02 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); @@ -22,37 +22,37 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .put('/%7BqueueName%7D') .query(true) - .reply(400, "InvalidResourceNameThe specifed resource name contains invalid characters.\nRequestId:7a460779-2003-00d7-0596-2b30b6000000\nTime:2019-06-25T20:45:03.2328200Z", [ 'Content-Length', + .reply(400, "InvalidResourceNameThe specifed resource name contains invalid characters.\nRequestId:01dbcb0c-9003-0020-2381-54165d000000\nTime:2019-08-16T22:23:07.9759805Z", [ 'Content-Length', '243', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7a460779-2003-00d7-0596-2b30b6000000', + '01dbcb0c-9003-0020-2381-54165d000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'InvalidResourceName', 'Date', - 'Tue, 25 Jun 2019 20:45:02 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149550267204766') + .delete('/queue156599418741604772') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd9aff997-3003-00ae-5196-2b59fc000000', + 'c08c44c6-2003-0093-2281-54ecda000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:03 GMT', + 'Fri, 16 Aug 2019 22:23:07 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_all_parameters.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_all_parameters.js index 440ceef4128d..6a1db1109651 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_all_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_all_parameters.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149550144105205","queue156149550144105205":"queue156149550144105205156149550174606533"} +module.exports.testInfo = {"queue":"queue156599418602207398","queue156599418602207398":"queue156599418602207398156599418635405509"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550144105205') + .put('/queue156599418602207398') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1715f54e-5003-003d-2596-2bcfb7000000', + '3d21b1f5-f003-003b-7181-5438cf000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:01 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550144105205156149550174606533') + .put('/queue156599418602207398156599418635405509') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '924ae403-a003-00c6-2e96-2b07ad000000', + '01dbca47-9003-0020-7281-54165d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:01 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149550144105205156149550174606533') + .get('/queue156599418602207398156599418635405509') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -46,7 +46,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d3a161e-b003-0096-3596-2b18a5000000', + '231944d0-2003-0098-6681-54f4ae000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -58,24 +58,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:01 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149550144105205') + .delete('/queue156599418602207398') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8e7a4ad1-e003-0006-2b96-2b8de9000000', + '8bfefde1-3003-00e1-8081-549de4000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:02 GMT', + 'Fri, 16 Aug 2019 22:23:06 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_default_parameters.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_default_parameters.js index 52092a25fc60..aa2ba96329c7 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_default_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_create_with_default_parameters.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149550060603104"} +module.exports.testInfo = {"queue":"queue156599418478003080"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550060603104') + .put('/queue156599418478003080') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '42e03a47-b003-00d2-5696-2bc4c9000000', + 'bbe7d74d-9003-006f-1d81-54d245000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:00 GMT', + 'Fri, 16 Aug 2019 22:23:04 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149550060603104') + .delete('/queue156599418478003080') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '815270ad-c003-005e-6496-2b8992000000', + '30bcb92e-5003-005b-4181-547ded000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:00 GMT', + 'Fri, 16 Aug 2019 22:23:05 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_delete.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_delete.js index 6e3f2976fa90..2265a17a1766 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_delete.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_delete.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149550359309894"} +module.exports.testInfo = {"queue":"queue156599418897708014"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550359309894') + .put('/queue156599418897708014') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '614f0842-d003-008d-4496-2b3637000000', + '6069d195-5003-00be-4b81-546f1a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:03 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149550359309894') + .delete('/queue156599418897708014') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f562d266-a003-004e-2396-2bbf74000000', + '02551e7f-6003-00bd-3481-546c1d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:03 GMT', + 'Fri, 16 Aug 2019 22:23:08 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_negative.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_negative.js index 2c054978343a..dfe9e2134c3e 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_negative.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_negative.js @@ -1,35 +1,35 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149549953309609","queue2":"queue156149549984001178"} +module.exports.testInfo = {"queue":"queue156599418378402004","queue2":"queue156599418412408161"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149549953309609') + .put('/queue156599418378402004') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '81ecb942-9003-00a8-3296-2bae84000000', + '05b96dae-6003-007a-4581-5410dc000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:59 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549984001178') + .get('/queue156599418412408161') .query(true) - .reply(404, "QueueNotFoundThe specified queue does not exist.\nRequestId:38492850-3003-002d-7196-2bf951000000\nTime:2019-06-25T20:45:00.0958207Z", [ 'Content-Length', + .reply(404, "QueueNotFoundThe specified queue does not exist.\nRequestId:286bc306-1003-0057-3681-54931c000000\nTime:2019-08-16T22:23:04.4236727Z", [ 'Content-Length', '217', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '38492850-3003-002d-7196-2bf951000000', + '286bc306-1003-0057-3681-54931c000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:59 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149549953309609') + .delete('/queue156599418378402004') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4ecbcbee-2003-0098-1696-2bf4ae000000', + '1ef6575d-6003-0094-7281-541a5f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:00 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_with_defaultall_parameters.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_with_defaultall_parameters.js index 067866202c78..b0b5e4503222 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_with_defaultall_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_getproperties_with_defaultall_parameters.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149549859906374"} +module.exports.testInfo = {"queue":"queue156599418283705618"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149549859906374') + .put('/queue156599418283705618') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e87e51f6-5003-00d3-0196-2bc534000000', + '3d21b080-f003-003b-1b81-5438cf000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:57 GMT', + 'Fri, 16 Aug 2019 22:23:02 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549859906374') + .get('/queue156599418283705618') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '02dbe677-9003-004d-1196-2bbc73000000', + 'b233a326-6003-0058-7381-547eea000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:58 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149549859906374') + .delete('/queue156599418283705618') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '79d3ff9f-1003-0075-2f96-2bfd2a000000', + 'e7f7fdb9-3003-0069-4981-54253d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:59 GMT', + 'Fri, 16 Aug 2019 22:23:03 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_setaccesspolicy_negative.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_setaccesspolicy_negative.js index 6daf766c525c..4ea49f6738e9 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_setaccesspolicy_negative.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_setaccesspolicy_negative.js @@ -1,58 +1,58 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149550420806365"} +module.exports.testInfo = {"queue":"queue156599418961509187"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550420806365') + .put('/queue156599418961509187') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'da342c57-b003-00bf-3d96-2b6ee7000000', + '9876d26f-d003-002c-1a81-54f8ac000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:04 GMT', + 'Fri, 16 Aug 2019 22:23:09 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550420806365', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zrwdl") + .put('/queue156599418961509187', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zrwdl") .query(true) - .reply(400, "InvalidXmlDocumentXML specified is not syntactically valid.\nRequestId:8152758b-c003-005e-0896-2b8992000000\nTime:2019-06-25T20:45:04.7720911Z00", [ 'Content-Length', + .reply(400, "InvalidXmlDocumentXML specified is not syntactically valid.\nRequestId:76471a62-0003-000c-1681-549460000000\nTime:2019-08-16T22:23:10.1752668Z00", [ 'Content-Length', '294', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8152758b-c003-005e-0896-2b8992000000', + '76471a62-0003-000c-1681-549460000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', 'InvalidXmlDocument', 'Date', - 'Tue, 25 Jun 2019 20:45:03 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149550420806365') + .delete('/queue156599418961509187') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8ce37c7f-4003-00ee-0e96-2b7012000000', + '4beded5a-c003-0077-7181-54ffd0000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:05 GMT', + 'Fri, 16 Aug 2019 22:23:10 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_setmetadata.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_setmetadata.js index 0d75640801ad..43bb4bab5a7e 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_setmetadata.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_setmetadata.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149549732008079"} +module.exports.testInfo = {"queue":"queue156599418067205257"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149549732008079') + .put('/queue156599418067205257') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '86ef2007-c003-00bb-2096-2b9b65000000', + '886d9700-1003-0013-0181-544f70000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:56 GMT', + 'Fri, 16 Aug 2019 22:22:59 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149549732008079') + .put('/queue156599418067205257') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '141f7545-3003-0062-3f96-2b3d49000000', + '47b60ed9-4003-0022-6f81-5414a7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:57 GMT', + 'Fri, 16 Aug 2019 22:23:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149549732008079') + .get('/queue156599418067205257') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -46,7 +46,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8f613dd4-e003-00e3-0396-2b9f1e000000', + '6125a062-e003-00e3-6281-549f1e000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -62,24 +62,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:44:57 GMT', + 'Fri, 16 Aug 2019 22:23:01 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149549732008079') + .delete('/queue156599418067205257') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '78100d65-6003-001c-1896-2ba286000000', + '299ec655-4003-006d-3e81-54d0bf000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:44:58 GMT', + 'Fri, 16 Aug 2019 22:23:02 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js b/sdk/storage/storage-queue/recordings/node/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js index 29c319536f4f..4c84a11ed290 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient/recording_throws_error_if_constructor_queuename_parameter_is_empty.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156360533654007220"} +module.exports.testInfo = {"queue":"queue156599419673004582"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156360533654007220') + .put('/queue156599419673004582') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '282b8c05-8003-00b7-49c7-3e7594000000', + 'c83103d4-c003-00d6-7b81-54314b000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:48:56 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156360533654007220') + .delete('/queue156599419673004582') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '86886fc5-a003-0028-3ac7-3e0d2e000000', + 'f4e2ce7d-8003-001d-3681-54a37b000000', 'x-ms-version', '2018-03-28', 'Date', - 'Sat, 20 Jul 2019 06:48:56 GMT', + 'Fri, 16 Aug 2019 22:23:16 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js index 1a231471e0ec..3517c0cd4db6 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556783708955"} +module.exports.testInfo = {"queue":"queue156599426169303884"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556783708955') + .put('/queue156599426169303884') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7ecba5d2-2003-0010-5b97-2b4c77000000', + '217f32c4-d003-000e-7381-54969a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:07 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149556783708955') + .get('/queue156599426169303884') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cbedad8b-9003-00c5-6897-2b04aa000000', + '30b7701f-e003-002f-1c81-54fbab000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:07 GMT', + 'Fri, 16 Aug 2019 22:24:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556783708955') + .delete('/queue156599426169303884') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b0e7e164-2003-0039-2197-2b3a35000000', + 'fb1d8c56-9003-00e7-6a81-546a9c000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:08 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js index 0a882e186eba..680a9ae86819 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_connection_string_and_a_queue_name_and_an_option_bag.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556871807546"} +module.exports.testInfo = {"queue":"queue156599426260602422"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556871807546') + .put('/queue156599426260602422') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e00115e-6003-0058-2197-2b7eea000000', + '5b52365b-8003-0034-7881-54d539000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:08 GMT', + 'Fri, 16 Aug 2019 22:24:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149556871807546') + .get('/queue156599426260602422') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '65acbacb-8003-00b7-6e97-2b7594000000', + '13fb3ae9-f003-0019-5c81-5456f9000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:08 GMT', + 'Fri, 16 Aug 2019 22:24:22 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556871807546') + .delete('/queue156599426260602422') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'd24a362d-1003-00d4-3b97-2b33b1000000', + '3f5a828e-9003-00a3-3d81-54b6f0000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:08 GMT', + 'Fri, 16 Aug 2019 22:24:22 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 82f6f26360cf..eabe5e9dae84 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556518907018"} +module.exports.testInfo = {"queue":"queue156599425864505672"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556518907018') + .put('/queue156599425864505672') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '606c19af-7003-00a2-3997-2bb70d000000', + '41fc57e3-1003-00df-6581-542bc5000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:05 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149556518907018') + .get('/queue156599425864505672') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8152cc05-c003-005e-7f97-2b8992000000', + '1731f582-c003-0055-4581-5491e6000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:05 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556518907018') + .delete('/queue156599425864505672') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ff40a082-2003-00ba-5c97-2b9a98000000', + 'd5a256e8-0003-0043-3781-545078000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:05 GMT', + 'Fri, 16 Aug 2019 22:24:19 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 7b22ecf817c4..608279e7f147 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556606405554"} +module.exports.testInfo = {"queue":"queue156599425955405984"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556606405554') + .put('/queue156599425955405984') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3849930f-3003-002d-3397-2bf951000000', + '0f849047-d003-00c2-4b81-54f22f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:06 GMT', + 'Fri, 16 Aug 2019 22:24:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149556606405554') + .get('/queue156599425955405984') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2c7afd9-b003-001e-0e97-2ba07c000000', + 'c7e5b745-5003-00d3-4381-54c534000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:05 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556606405554') + .delete('/queue156599425955405984') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f5637032-a003-004e-2897-2bbf74000000', + '148901de-9003-0064-6e81-54ca31000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:06 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index 735fef064dcf..9fe9b632ea26 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556695302333"} +module.exports.testInfo = {"queue":"queue156599426073908621"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556695302333') + .put('/queue156599426073908621') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d3a7498-b003-0096-4e97-2b18a5000000', + '025531ab-6003-00bd-6581-546c1d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:06 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149556695302333') + .get('/queue156599426073908621') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1b7c0e12-4003-00a1-0597-2bb40a000000', + '2c28008c-6003-00b6-4e81-547469000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:06 GMT', + 'Fri, 16 Aug 2019 22:24:21 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556695302333') + .delete('/queue156599426073908621') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '349c270e-1003-00b9-5297-2b999f000000', + 'a78f6339-4003-00c7-6181-540650000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:06 GMT', + 'Fri, 16 Aug 2019 22:24:20 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js index 1ddf3c4cb8b9..0541c73f7af9 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_can_be_created_with_a_url_and_a_tokencredential.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149557033809329"} +module.exports.testInfo = {"queue":"queue156599426352405982"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149557033809329') + .put('/queue156599426352405982') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '24878eb5-3003-0040-6297-2b537f000000', + 'fb5f9a50-0003-0048-3e81-54480c000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:09 GMT', + 'Fri, 16 Aug 2019 22:24:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149557033809329') + .delete('/queue156599426352405982') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f7f48d7c-7003-0047-2f97-2ba5fa000000', + 'b7b6f031-e003-00ac-0481-545b06000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:10 GMT', + 'Fri, 16 Aug 2019 22:24:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_getaccesspolicy.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_getaccesspolicy.js index 8d82aeb14209..8f189752f61c 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_getaccesspolicy.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_getaccesspolicy.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556143205294"} +module.exports.testInfo = {"queue":"queue156599425638105636"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556143205294') + .put('/queue156599425638105636') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2d385849-f003-00de-6796-2b2a38000000', + 'b7b6e5d3-e003-00ac-0281-545b06000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:01 GMT', + 'Fri, 16 Aug 2019 22:24:15 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149556143205294') + .get('/queue156599425638105636') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -31,7 +31,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fc30c9e7-d003-00af-7b97-2b5801000000', + '5435bc88-1003-0018-1381-545704000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:01 GMT', + 'Fri, 16 Aug 2019 22:24:16 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556143205294') + .delete('/queue156599425638105636') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5d3a6dbb-b003-0096-6197-2b18a5000000', + 'f45b2afd-b003-00bf-5981-546ee7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:01 GMT', + 'Fri, 16 Aug 2019 22:24:16 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_setaccesspolicy.js b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_setaccesspolicy.js index 7eb85029fb8d..2a66f077b6cd 100644 --- a/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_setaccesspolicy.js +++ b/sdk/storage/storage-queue/recordings/node/queueclient_nodejs_only/recording_setaccesspolicy.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149556236809494"} +module.exports.testInfo = {"queue":"queue156599425730808001"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556236809494') + .put('/queue156599425730808001') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '62de2fc5-7003-002a-0797-2b0fd4000000', + '1f0a164f-d003-00eb-0d81-54846d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:01 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149556236809494', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zraup") + .put('/queue156599425730808001', "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zraup") .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53e77693-8003-001d-1497-2ba37b000000', + 'ea5377f6-d003-00af-5d81-545801000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:04 GMT', + 'Fri, 16 Aug 2019 22:24:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149556236809494') + .get('/queue156599425730808001') .query(true) .reply(200, "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=2017-12-31T11:22:33.4560000Z2018-12-31T11:22:33.4560000Zraup", [ 'Cache-Control', 'no-cache', @@ -48,7 +48,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7e1290ae-f003-00d5-4997-2b324c000000', + 'f2ea3325-0003-00cb-7481-54e8a1000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -56,24 +56,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:03 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149556236809494') + .delete('/queue156599425730808001') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4ecc6302-2003-0098-1d97-2bf4ae000000', + '3749fe93-6003-0035-4481-54d4c4000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:05 GMT', + 'Fri, 16 Aug 2019 22:24:18 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.js index 9329848f4a88..9c84fae0b805 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_can_be_created_from_a_sas_connection_string.js @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '23b15fbc-c003-007c-73c9-3ee7a4000000', + '8edb2b5f-3003-0040-3981-54537f000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Sat, 20 Jul 2019 07:04:00 GMT', + 'Fri, 16 Aug 2019 22:23:41 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_getproperties_with_defaultall_parameters.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_getproperties_with_defaultall_parameters.js index ed194b6a8305..be576f981468 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_getproperties_with_defaultall_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_getproperties_with_defaultall_parameters.js @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '8f614b90-e003-00e3-7796-2b9f1e000000', + '299ed0ed-4003-006d-1281-54d0bf000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:26 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_all_parameters.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_all_parameters.js index 2906c478b01b..51536e34c21a 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_all_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_all_parameters.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149550649509206"} +module.exports.testInfo = {"queue":"queue156599419854104545"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550649509206x1') + .put('/queue156599419854104545x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7ecb0cf6-2003-0010-5996-2b4c77000000', + '1d72e0a2-a003-0067-5b81-54c936000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:06 GMT', + 'Fri, 16 Aug 2019 22:23:17 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149550649509206x2') + .put('/queue156599419854104545x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8edca26-7003-00a9-5c96-2baf79000000', + 'd7f59123-7003-002a-6f81-540fd4000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:06 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'Connection', 'close' ]); @@ -39,7 +39,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue1561495506495092061queue156149550649509206x1val/fakestorageaccount/queue156149550649509206x2", [ 'Cache-Control', + .reply(200, "queue1565994198541045451queue156599419854104545x1val/fakestorageaccount/queue156599419854104545x2", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -48,7 +48,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '659f68ae-9003-00ce-7596-2b1cde000000', + '1731d8ba-c003-0055-5b81-5491e6000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -56,7 +56,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:07 GMT', + 'Fri, 16 Aug 2019 22:23:18 GMT', 'Connection', 'close' ]); @@ -64,7 +64,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue156149550649509206/fakestorageaccount/queue156149550649509206x21queue156149550649509206x2val", [ 'Cache-Control', + .reply(200, "queue156599419854104545/fakestorageaccount/queue156599419854104545x21queue156599419854104545x2val", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -73,7 +73,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '47d7f3ed-3003-0087-4c96-2b2fbe000000', + '625107b0-8003-00d1-6f81-54c7ce000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -81,41 +81,41 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:07 GMT', + 'Fri, 16 Aug 2019 22:23:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149550649509206x1') + .delete('/queue156599419854104545x1') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '910ef29c-b003-00d9-0796-2bdcbd000000', + '3a844a0e-a003-000a-4e81-546318000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:07 GMT', + 'Fri, 16 Aug 2019 22:23:19 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149550649509206x2') + .delete('/queue156599419854104545x2') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a05878ac-d003-0027-3396-2be0d8000000', + '2d289a1a-9003-0081-0d81-54d8c6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:09 GMT', + 'Fri, 16 Aug 2019 22:23:22 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_default_parameters.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_default_parameters.js index 33b09e8ff049..54d2f47b1bb7 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_default_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_listqueues_with_default_parameters.js @@ -5,7 +5,7 @@ module.exports.testInfo = {} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue155327915263307294155327915289906297queue155327919005109785queue155327975458906463155327975473106484queue155328104390600853155328104406608153queue155328107652108803queue155328127419103686155328127426305056queue155328130119105091queue155328134835701823155328134837307600queue155328137055407925queue155328152388304088155328152396107459queue155328154362800253queue155328202690309701155328202697802864queue155328205151603722queue155328234002703968155328234004607689queue155328235474901210queue155328318380400891155328318387904103queue155328321691309792queue155328325785207377155328325795002437queue155328332554106701155328332561103570queue155328334408408419queue155328338753306805155328338757308230queue155328350830801933155328350838604071queue155328352837206193queue155328357988801273155328357992306437queue155328362888200831155328362891305423queue155328365064104637queue155328369550406828155328369551602378queue155329053015604028155329053031908555queue155329055888609636queue155329060579406525155329060588000879queue155329089471209715155329089472801511queue155329091801907208queue155329096457201205155329096458404216queue155333893785601841155333893793301131queue155333897473705442queue155333901890104190155333901894502388queue155333943468501232155333943729309890queue155333945894000076queue155333950677803985155333950678509710queue155342532999104661155342533070104117queue155342535451402994queue155342539742708392155342539747100027queue155342582572209059155342582575301877queue155342585029201206queue155342589740603818155342589741703036queue155351174096405521155351174104402320queue155351177339208372queue155351181454303568155351181458407402queue155351233566207539155351233567808611queue155351236316804752queue155351241124701462155351241126001850queue155359813688902600155359813696007843queue155359816903500275queue155359821460406300155359821464709490queue155359876889805132155359876897601183queue155359880007508569queue155359884780905748155359884784509628queue155368454573409140155368454581409221queue155368456807102522queue155368461516807669155368461521200377queue155368511252407319155368511254000484queue155368513492508233queue155368518025204754155368518027200216queue155377095350609994155377095363905883queue155377098118602263queue155377103075502972155377103090506753queue155377157049701820155377157052809130queue155377158821001256queue155377163661209862155377163662201131queue155381151692504975155381151709307282queue155381154431004817queue155381170733507552155381170749902842queue155381173279907397queue155381177929102691155381177938208114queue155381210628400876155381210638301688queue155381213092901799queue155381217560504476155381217564506290queue155381245187900061155381245189405295queue155381246921407448queue155381278058706203155381278060304117queue155381279498506772queue155381284018903543155381284020102891queue155381308643506176155381308645000005queue155381311879700559queue155381316424908029155381316426308944queue155381338190205742155381338219305406queue155381341208808152queue155381358205006094155381358236108897queue155381361451807709queue155381366082201741155381366092403417queue155381380648907173155381380678906556queue155381383775408785queue155381388042706728155381388052600509queue155381410852306007155381410868701388queue155381413433607880queue155381428708506008155381428719603948queue155381430485001118queue155381434887008605155381434891402487queue155381449640808256155381449647809654queue155381451569605227queue155381473201207650155381473205409345queue155381496525406969155381496527008357queue155381498284203602queue155381529678705193155381529681909612queue155381531170901272queue155381536094609898155381536095408863queue155381562612507113155381562615606022queue155381564435409275queue155381569121602052155381569122404999queue155381589718702192155381589749505660queue155381592724006148queue155381608172203494155381608201603487queue155381611420208574queue155381615597605202155381615608308119queue155381629886706325155381629904308106queue155381632728603880queue155381637342208430155381637357806476queue155382807487300174155382807495007148queue155382809738704128queue155382824047104910155382824054403961queue155382826176505591queue155382830448705077155382830452705090queue155382844476207025155382844483807001queue155382846671205722queue155382851103509528155382851107906383queue155382872497706478155382872499306385queue155382874472806084queue155382896557002900155382896564107185queue155382898672503846queue155382899626603363155382899628206232queue155382901290503468queue155382906005800986155382906007803205queue155382910567605881155382910569806577queue155382911941601041queue155382924836709584155382924843905923queue155382927055507878queue155382931345204180155382931349509477queue155382931423801968155382931425401767queue155382932824901569queue155382934288801022155382934296405744queue155382936150905949queue155382937081004422155382937082203482queue155382948284701573155382948286803233queue155382950088102771queue155382955864906798155382955868103177queue155382956551506293155382956569102188queue155382958356907869queue155382959021307998queue155382962917506555155382962924703597queue155382964613008153queue155382969086100349155382969090207200queue155382973656503169155382973674503125queue155382976472604561queue155382979914902771155382979916405046queue155382980594103577155382980607101861queue155382981408009822queue155382991006701669155382991009809140queue155382992437902501queue155382993925900695155382993950101001queue155382996349701802queue155383000426804585155383000435605491queue155383006294704528155383006297803473queue155383007603508391queue155383012251301275155383012252304691queue155383013868703189155383013870306259queue155383015125803600queue155383032527804573155383032545509180queue155383035068809857queue155383037617502895155383037619108984queue155383038746204860queue155383043310202214155383043310905306queue155383048610006851155383048627709801queue155383051772100932queue155383062755005712155383062782604187queue155383065637500178155383065655704047queue155383065854007342queue155383068545003425queue155383072652301895155383072661205961queue155383078446604728155383078464900097queue155383081048403783queue155383093332004405155383093349308082queue155383095913207937queue155383099930003626155383099939000292queue155385735092902821155385735108905554queue155385737923600706queue155385742659801102155385742668407404queue155385791830308449155385791831908186queue155385793349707968queue155385797892509009155385797893705715queue155390109929607961155390109937701247queue155390112310706683queue155390126926800910155390126934905665queue155390129051808819queue155390140541707359155390140548906255queue155390142894700027queue155390147403000018155390147415308210queue155390172064502331155390172077401983queue155390173929001957queue155390196320602348155390196323805262queue155390197894403799queue155390221417303131155390221420409705queue155390223368403529queue155390227880209035155390227881508231queue155390249927003677155390249944905924queue155390252895504057queue155390273010906517155390273028507539queue155390275601602628queue155390288755200650155390288775204123queue155390291897608722queue155390296064002688155390296074300827queue155394372550506810155394372557802989queue155394374704505405queue155394378898001667155394378902304424queue155394425837109872155394425840203421queue155394427542907438queue155394431942009787155394431943509425queue155403014095403998155403014103201762queue155403016223203349queue155403020466603033155403020470804586queue155403075665008375155403076681208174queue155403107335703697queue155403111956905834155403111957901374queue155411658388501096155411658395602386queue155411661457005845queue155411665626507120155411665630605076queue155411695856308282155411695857908241queue155411697435904295queue155411702112008950155411702113305528queue155417253821600662155417253826008856queue155417258924506993155417258932405839queue155417261291902702queue155417273233201773155417273240700222queue155417275385701285queue155417282314804732155417282315603422queue155417287450102225155417287452508727queue155417289038309689queue155417295286603363155417295295700205queue155417316754302774155417316755907300queue155417318187708877queue155417340888802094155417340890302558queue155417342568008216queue155417367237402783155417367239406846queue155417368803101636queue155417389503007049155417389521801533queue155417392154209459queue155417405079408427155417405097609657queue155417407800004803queue155417420821809617155417420839203044queue155417423657800183queue155420293288502695155420293290300831queue155420295891700054queue155420300048302050155420300049603489queue155420360627002734155420360628507285queue155420362396504379queue155420367020609108155420367022602710queue155422820960903569155422820969407272queue155422825387803382155422825405800406queue155422828371903086queue155422840919003379155422840934708611queue155422843561007321queue155422844448504825155422844449605734queue155422857253102620155422857269205724queue155422860439901431queue155422882945504976155422882953305877queue155422884974107826queue155422894772209602155422894781503044queue155422908057602085155422908065409968queue155422910291001630queue155422935301601415155422935312408213queue155422936776604568queue155422959270000061155422959287603911queue155422962209806048queue155422977226003838155422977244303587queue155422979932709903queue155422993455806107155422993475902174queue155422996290300336queue155423004328901112155423004337203486queue155423008453502452155423008469805274queue155423010928604217queue155423026001601779155423026009308837queue155423027693900749queue155423029673407225155423029674804742queue155423043763106585155423043770509782queue155423045448002727queue155423048897001932155423048907809167queue155423077850106111155423077866700896queue155423080245908306queue155423107140605087155423107142102467queue155423109079502049queue155423139995902777155423140003702204queue155423141662007871queue155423180606805938155423180626906082queue155423183651708911queue155423206974906793155423206993102954queue155423209657600955queue155423237240304309155423237258509087queue155423239702505124queue155428933687301187155428933691505247queue155428938649401849155428938657401039queue155428941437908857queue155428979919000056queue155428981217503483155428981218709308queue155428996986406986155428996994402115queue155428998723301621queue155429016145105407155429016154107759queue155429030579202320155429030586600356queue155429033077109234queue155429059088006965155429059089609805queue155429060572502677queue155429087342504598155429087382005665queue155429090836300529queue155429119500800378155429119502308772queue155429120973808960queue155429144870108611155429144888003413queue155429147723107304queue155429164217905535155429164238301178queue155429167125501628queue155429184416002346155429184433206568queue155429187591104068queue155437573428409854155437573432501613queue155437578420808142155437578429308507queue155437580981609446queue155437638223603575155437638230807405queue155437640457304805queue155437648051901459155437648053304348queue155437672177901619155437672185307181queue155437674169209827queue155437682268102719155437682277204199queue155437700949501463155437700951006008queue155437702316201126queue155437727772302509155437727775401924queue155437728960404905queue155437757864303999155437757867403405queue155437759386203034queue155437781848005591155437781865705546queue155437784519803024queue155437800014400477155437800031708501queue155437802508804016queue155437817712201961155437817729104291queue155437820232805157queue155440954387105474155440954391109425queue155440959842003337155440959858307247queue155440962553905900queue155440980842503678155440980850804367queue155441015013908765155441015021504661queue155441017139704099queue155441052473107122155441052482407878queue155441057403908782155441057419902173queue155441060467802409queue155441147085306563155441147086904022queue155441148962000233queue155441175595206116155441175606301599queue155441177744303138queue155441205827803113155441205829304456queue155441207316407223queue155441233858706416155441233875804782queue155441236517400061queue155441253159502155155441253176600896queue155441256174804861queue155441272656601082155441272673908595queue155441275240400605queue155446219676100050155446219680501058queue155446225650507831155446225658004126queue155446227909106785queue155446285000400809155446285000903733queue155446309216600107155446309225604867queue155446569701105767155446569717301414queue155446572479600242queue155446588893206999155446588900403667queue155446590792100724queue155446757243406314155446757246504267queue155446758969105834queue155446786308103823155446786309605304queue155446788019609660queue155446815898000701155446815898808767queue155446817914206705queue155446840406205876155446840423906673queue155446843392100157queue155446858942902208155446858960401897queue155446862132702560queue155446877484900379155446877502502077queue155446880156005986queue155450258469202551155450258500202439queue155450262179403479queue155450268349009300155450268364007821queue155454864875809674155454864877106326queue155454865839401414155454865841508191queue155454867582804307queue155454914089407574155454914091605021queue155454915796202892queue155454923394406473155454923394605635queue155454937678304839155454937680404097queue155454939663307333queue155454947323600581155454947331908131queue155454968932606466155454968934205960queue155454970693600486queue155454992934607890155454992940908816queue155454995136308150queue155455032001608962155455032014308518queue155455033529000859queue155455051754508233155455051771104123queue155455054318605260queue155455066312007976155455066327900870queue155455068840701917queue155455080640802907155455080657103022queue155455083069805224queue155463497565509908155463497567001829queue155463504348802762155463504356305973queue155463507398502197queue155463545281505460155463545283500515queue155463547759100312queue155463556148002744155463556149507149queue155463580237503705155463580239400542queue155463582174703142queue155463585579802817155463585588708957queue155463610855007698155463610857002481queue155463612510103030queue155463634705503779155463634708602074queue155463636937603335queue155463661048602480155463661051702587queue155463662604504099queue155463680600508969155463680618103501queue155463683964707887queue155463696024104235155463696041206297queue155463699010409292queue155463710936705724155463710953803334queue155463713378208386queue155472148177404498155472148185801716queue155472165885602619155472165909906195queue155472168750809705queue155472206222705940155472206224706965queue155472206651404031155472206652604566queue155472208043806741queue155472220919009552155472220926209400queue155472222708804190155472222722301225queue155472222949706933queue155472251066805273155472251117107174queue155472253410608563queue155472276269306829155472276270907151queue155472278007304721queue155472300834802689155472300836403510queue155472303036507004queue155472321266605693155472321284005075queue155472324516505430queue155472336785907123155472336803504948queue155472339360508832queue155472351772207738155472351789606693queue155472354325703301queue155475586822201886155475586826906590queue155475593451401611155475593458707350queue155475595397604938queue155475629233408497155475629241606547queue155475632544100219155475632573908099queue155475634838405899queue155475642682803646155475642692009653queue155475648448201204155475648464201198queue155475650836700822queue155475674367403678155475674370605056queue155475675825703699queue155475698377905594155475698393709874queue155475700980201314queue155475726457201407155475726460304403queue155475727755106309queue155475749959901342155475749977706236queue155475752513706032queue155475765178905071155475765197002359queue155475768020601056queue155475793449704509155475793466805528queue155475796132004653queue155476382462500720155476382466803177queue155476387019907330155476387027704267queue155476389167503818queue155476404368308366155476404384703673queue155476405137107647155476405137907550queue155476406735003456queue155476409236002549155476409252100512queue155476411924108002queue155476424514202921155476424521702801queue155476426319206417queue155476428333603563155476428342707421queue155476442099606426155476442107708838queue155476443962709339queue155476466992604443155476466999908551queue155476468902708661queue155476534607204309155476534608803931queue155476535997704780queue155476556918607590155476556921702867queue155476558902700439queue155476607953806451155476607955402657queue155476609726706016queue155476622305601990155476622307108487queue155476623970108386queue155476664750704459155476664751900234queue155476666055702242queue155476669766205950155476669767705644queue155476671121502911queue155476704334800131155476704352604683queue155476707093703554queue155476712742806387155476712760509444queue155476715316801071queue155476742122903736155476742140605306queue155476744627107816queue155476753320801913155476753338208092queue155476755884702662queue155476777230006765155476777247100560queue155476779915908565queue155476791450207218155476791467607339queue155476793712200327queue155480811776203119155480811780403130queue155480822998502744155480823006909720queue155480825114102566queue155480861929102395155480861936703246queue155480864327102177queue155480864520409205155480864528403992queue155480877382402645155480877391500482queue155480879599507925155480879607202553queue155480881935905898queue155480905235308617155480905237302925queue155480907364602384queue155480930407203114155480930410401258queue155480932014808827queue155480962382605740155480962384209583queue155480964066004509queue155480983474107553155480983496309355queue155480986565406785queue155480998880805678155480998898309828queue155481003701604441queue155481015665709235155481015683001716queue155481018695804488queue155489413815107816155489413819300796queue155489418383000990155489418401507279queue155489420791506711queue155489453455807787155489453457003719queue155489469181209678155489469189002389queue155489472127405252queue155489491156308356155489491165203244queue155489504838307977155489504847004070queue155489507124706673queue155489530674807798155489530677905854queue155489532904501247queue155489556342000497155489556348209632queue155489557892006124queue155489583987106348155489584185601264queue155489585735609888queue155489604266207095155489604287200784queue155489606900806165queue155489619329002819155489619346002748queue155489622155201492queue155489634257408712155489634274700594queue155489636830903164queue155498059110503421155498059115608278queue155498066969403519155498066978203835queue155498070039902183queue155498111607101160155498111608403055queue155498111668708064155498111676300901queue155498113914600715queue155498131524702769155498131533508070queue155498133168804296queue155498138474209337155498138483208592queue155498157139309907155498157142406788queue155498158586702424queue155498187437005109155498187438500528queue155498188835102802queue155498213609901026155498213612206311queue155498215094306879queue155498234137909176155498234157602351queue155498236631104502queue155498249751609250155498249769000857queue155498252199002127queue155498264263703651155498264281001211queue155498266752603232queue155506694020409005155506694024600972queue155506698058103772155506698065507711queue155506700131904497queue155506742612600914155506742620206510queue155506744782909049queue155506751489806391155506751490601296queue155506780151401501155506780160409819queue155506781489803917155506781496804681queue155506783624403859queue155506810932709482155506810934305990queue155506812544703855queue155506836085601040155506836087103508queue155506837693305463queue155506861928102890155506861929700613queue155506863777609548queue155506882933101302155506882952206589queue155506885557101168queue155506897720104575155506897737202010queue155506900133303217queue155506913311501989155506913328805575queue155506915795809038queue155510078407803784queue155515346133704144155515346135104571queue155515351432701054155515351434909130queue155515353208700543queue155515396378601327155515396397700252queue155515398656608062queue155515399145406001155515399146306183queue155515413483706243155515413508905629queue155515413778208193155515413787106332queue155515415176207266queue155515437790703376155515437792203581queue155515439380306862queue155515462759207919155515462760600425queue155515464201209713queue155515489510205790155515489535802219queue155515491615104645queue155515510554501560155515510571909711queue155515513194405457queue155515525519904064155515525537103708queue155515528212309823queue155515540365402769155515540382704478queue155515542793004025queue155523978826700838155523978831009641queue155523983874501915155523983895704895queue155523986230203066queue155524015932202258155524015934005298queue155524018197306569queue155524022768003993155524022768704126queue155524029733906509155524029741101412queue155524031608903149queue155524036111403093155524036120400332queue155524054945909927155524054947507836queue155524056879700782queue155524080557001702155524080558604510queue155524082005109184queue155524108923700244155524108926804879queue155524110240301542queue155524129738608769155524129756301799queue155524132320802850queue155524144287802894155524144305008999queue155524146942006124queue155524159121501514155524159138700055queue155524161665906606queue155532628562002902155532628566007909queue155532631289305201155532631296909770queue155532633654303948queue155532665749007778155532665774708388queue155532667974200588queue155532669305000303155532669305204794queue155532681193802641155532681201106912queue155532682641609672155532682650706560queue155532683231205585queue155532706752102431155532706755308580queue155532709580202482queue155532733386209146155532733388202928queue155532735125805613queue155532761324803506155532761326403128queue155532762949905033queue155532782265505568155532782282906163queue155532784852301190queue155532797344900305155532797362207439queue155532800036909053queue155532812081205136155532812098509838queue155532814680204630queue155541255960707831155541255968308693queue155541265111309768155541265113404221queue155541266954903530queue155541326719803474155541326721806026queue155541328782007556queue155541329080503451155541329081704860queue155541354421907995155541354429407967queue155541356371601756queue155541361048305036155541361057200312queue155541386106901946155541386108504067queue155541387503504686queue155541411174305580155541411175802543queue155541412892403730queue155541438431301244155541438432906410queue155541440111402666queue155541459571603831155541459589406207queue155541462450803872queue155541475033308928155541475050508029queue155541477709602963queue155541489670205629155541489687402746queue155541492360009269queue155548497659208158155548497663408307queue155548502488703666155548502504403937queue155548504942003542queue155548517946905950155548517954809983queue155548520485207174queue155548520844001614155548520845706968queue155548533442008477155548533454801686queue155548533556805530155548533570303862queue155548535417307494queue155548562197807876155548562200909725queue155548564382800638queue155548588804707717155548588812505962queue155548590400800440queue155548616905304249155548616906803054queue155548618326506236queue155548636768501846155548636785909822queue155548639476201741queue155548652013604038155548652031104027queue155548654731602172queue155548667372803035155548667390503822queue155548670305106814queue155549894751201277155549894755308924queue155549900015603287155549900032204106queue155549902685607417queue155549967002308638155549967009608579queue155549969184900674queue155549974501100984155549974502802720queue155549996978203064155549996990807237queue155549997045204046155549997054303911queue155549999246801681queue155550031407006299155550031410102827queue155550033050409195queue155550058817505384155550058827508482queue155550060225701519queue155550088327708957155550088337102431queue155550089942602820queue155550109118101729155550109144009843queue155550111629607940queue155550125540604374155550125557903119queue155550128685907477queue155550141511004740155550141528703838queue155550143963304850queue155552581764703954155552581780905779queue155552584824200082queue155552587684903827155552587689006613queue155552610676200536155552610690101157queue155552613981505517queue155552620000402437155552620004709757queue155552627628704932155552627664801025queue155552630282603193queue155552633799308335155552633808509127queue155552659462506849155552659465606431queue155552661011902758queue155552687100303269155552687108207215queue155552689089302050queue155552720089709904155552720092807641queue155552721405608019queue155552744429305875155552744447009216queue155552747154109195queue155552760731106498155552760754501578queue155552763249805434queue155552776589401229155552776607003884queue155552779146301456queue155558539909807702155558539911200124queue155558552600406455155558552626102024queue155558555362508707queue155558602401309216155558602402703313queue155558604746209572155558604753503794queue155558607015509648queue155558634819207794155558634828308183queue155558639877906904155558639879803452queue155558642489606001queue155558667686505344155558667688107596queue155558669169003153queue155558694127209273155558694128708200queue155558695398609465queue155558721866403106155558721868006476queue155558724618201967queue155558743103000571155558743120309941queue155558746018205036queue155558758576103786155558758593407121queue155558760984103145queue155558773392406237155558773409503748queue155558776129303792queue155567173822302470155567173826609836queue155567179211008216155567179213604569queue155567180966103196queue155567242391900791155567242393405110queue155567252704703823155567252706700318queue155567255088205587queue155567298743306403155567298752407756queue155567314946802926155567314953909179queue155567316869107155queue155567355173800126155567355175400108queue155567356591902441queue155567382482503377155567382484109376queue155567384569601809queue155567409885504456155567409886307160queue155567411327206379queue155567429613908873155567429632105147queue155567432599803748queue155567445021305702155567445039102975queue155567447604009369queue155567460229404839155567460246904815queue155567462803905947queue155575814499302174155575814504000464queue155575818105907281155575818113304997queue155575820245709478queue155575878997008384155575879002707602queue155575880592407703queue155575885409806663155575885411301382queue155575935053804803155575935055706047queue155575936534409844queue155575943399904656155575943409009780queue155575982282507281155575982285607095queue155575984482102997queue155576009332603604155576009334209143queue155576010800909451queue155576036265207545155576036266707389queue155576037730704707queue155576056078102855155576056095801562queue155576058756202046queue155576070751903962155576070769406349queue155576073239102143queue155576085573205113155576085590403219queue155576088405109300queue155584453224900548155584453230905216queue155584457135603945155584457153101020queue155584459505500954queue155584502260406187155584502264208546queue155584504697205549queue155584507807500107155584507809007055queue155584543816209202155584543818007808queue155584545524605028queue155584549309200664155584549322701037queue155584580350907097155584580352603707queue155584581992107887queue155584605526309980155584605527807577queue155584607364105914queue155584632977804845155584632985609227queue155584634379805206queue155584652549105407155584652566600580queue155584655130601141queue155584667946905037155584667964105879queue155584670899900602queue155584684773104953155584684791509863queue155584687533704299queue155593109347603716155593109349106816queue155593114351607963155593114359201342queue155593117063804199queue155593197381401782155593197388805554queue155593199524601356queue155593201694102520155593201697902484queue155593228833608868155593228842701735queue155593229465606939155593229475709614queue155593231395403267queue155593257010908277155593257030709537queue155593258519504404queue155593282528006072155593282529607675queue155593283998705709queue155593312309707386155593312322502936queue155593314077508686queue155593332409903160155593332427400917queue155593334980907197queue155593347042604578155593347074309569queue155593349763101977queue155593361888905971155593361912001297queue155593364479108464queue155599369667700014queue155599375563308486155599375579000513queue155601769951109815155601769952401747queue155601776526704269155601776529101546queue155601777895702976queue155601848097904947155601848099408470queue155601851026105839155601851033909680queue155601853322306447queue155601887723207581155601887732101914queue155601893085505888155601893096200687queue155601894848108940queue155601925135003308155601925138101778queue155601927160308493queue155601952201105059155601952204208747queue155601953518107102queue155601978837904358155601978841001122queue155601980127505645queue155601998891905528155601998909409883queue155602001683708010queue155602014072303268155602014090103102queue155602016685708812queue155602029127003368155602029144903240queue155602031608505924queue155604361207109834155604361236402710queue155604365148002319queue155604385350205733155604385380307321queue155604388790007813queue155604442043303194155604442072802793queue155604445944700550queue155610373675309262155610373679307765queue155610379717508029155610379733809733queue155610384781108721queue155610442584509554155610442586303991queue155610453281408805155610453363209062queue155610455014604825queue155610490378509469155610490388005333queue155610503677104281155610503678902580queue155610505494109853queue155610551613806054155610551615408698queue155610553204201780queue155610578978608150155610578981702192queue155610580540200661queue155610606685902632155610606687505977queue155610608210709634queue155610626563505677155610626586208692queue155610629208506224queue155610662098102852155610662148106717queue155610664609006157queue155610677204905371155610677222104242queue155610679868003073queue155623733704506743155623733708700625queue155623738947509790155623738954905283queue155623741125805209queue155623753749501157155623753751804354queue155623756111208664queue155623761398601452155623761400308581queue155623769454605435155623769461707450queue155623771628609196queue155623775371709623155623775381004501queue155623798047900098155623798051109989queue155623799741706528queue155623826799108446155623826800702940queue155623828228205722queue155623857196005322155623857197604659queue155623858599509291queue155623878111500335155623878129200582queue155623880782007891queue155623893725700772155623893743402911queue155623896130009966queue155623909134009162155623909151206221queue155623911946300731queue155627656334703606155627656345007671queue155627666349908196155627666357805622queue155627669273401250queue155627684064106535155627684065702580queue155627692560801859155627692562809719queue155627694247609152queue155627701069403184155627701078406395queue155627708136400442155627708143301281queue155627710419908331queue155627735088302880155627735091404169queue155627736663607476queue155627760397800960155627760400905097queue155627761907205095queue155627786315500534155627786318607412queue155627788361200175queue155627807112601635155627807130200583queue155627809659305779queue155627822502300102155627822519304509queue155627824959706851queue155627838010105754155627838027909033queue155627840906500108queue155636295028105902155636295032104255queue155636299490409239155636299498106902queue155636301712603255queue155636323857106421155636323859202501queue155636324983905943155636324985605373queue155636325902306890queue155636338485206679155636338494000310queue155636339191101364155636339193205130queue155636340887504879queue155636364255307139155636364258403484queue155636365693705150queue155636390292603878155636390294604751queue155636392061905859queue155636417872704321155636417880505826queue155636419332600013queue155636438705709660155636438723100981queue155636441097707348queue155636454611908240155636454629504673queue155636457119402795queue155636469899205632155636469917007682queue155636472432203957queue155644934135100151155644934139908658queue155644938035204196155644938042800206queue155644940380105539queue155644962562806277155644962565002265queue155644963099802072155644963101508476queue155644964806302664queue155644976696407480155644976705402092queue155644977153107087155644977155905160queue155644978685509526queue155644995111809999155644995113408138queue155644996714101730queue155645020529405305155645020562402956queue155645022318501016queue155645049005606334155645049007209171queue155645050586204150queue155645069449302641155645069466803339queue155645072180103261queue155645084632005627155645084653201306queue155645087587905077queue155645100270402760155645100287602319queue155645102741803616queue155653574640806343155653574644908007queue155653577929502744155653577937103354queue155653579825605464queue155653594502805552155653594512101164queue155653596551208562queue155653603552606274155653603554203385queue155653610519204484155653610526207164queue155653612453805560queue155653616917205091155653616925908892queue155653636736701277155653636738307262queue155653638598002623queue155653668478100896155653668479609655queue155653670346208829queue155653697707605752155653697709200962queue155653699217804888queue155653718228807177155653718246100201queue155653722037902479queue155653735057104924155653735074509745queue155653738099309040queue155653751046907604155653751063500195queue155653753565205926queue155661859363408106155661859391102299queue155661862095703796queue155661903903100450155661903911509795queue155661905870103795queue155661919420603058155661919427907377queue155661921537509489queue155661950058205196155661950059703845queue155661951691408833queue155661978956605610155661978959907855queue155661982714602202queue155662005087205276155662005088808747queue155662006558604166queue155662024717103643155662024734108347queue155662027412602307queue155662041127701338155662041144807940queue155662043794603780queue155662057613707713155662057630607020queue155662060314303989queue155664506935203063155664506965501214queue155664510302907511queue155664540611401834155664540627001919queue155664734576705793155664734581406495queue155664739458700668155664739474907345queue155664741902407749queue155664754882001736155664754897907357queue155664757545907568queue155664758875902109155664758877503274queue155664769681901276155664769689504693queue155664771422801056queue155664774783305150155664774792008116queue155664794221403894155664794224604571queue155664795681609599queue155664816758601178155664816761700867queue155664819280805597queue155664843020704269155664843022205534queue155664844655904923queue155664864051407107155664864068900901queue155664866995002432queue155664883243909657155664883261304914queue155664885832801973queue155664898925607055155664898942907110queue155664901846603273queue155670497584709761155670497592600672queue155670504550104911queue155670531234505977155670531236605798queue155670533167102968queue155670555244800749155670555252008765queue155670557493306917queue155670578528404253155670578529909681queue155670581654605273queue155670602595302031155670602596803853queue155670604807708931queue155670627533105364155670627534602363queue155670628899704983queue155670649367504290155670649385106923queue155670652134100563queue155670668976904952155670668994707988queue155670671331901352queue155670687858809580155670687876306871queue155670690982601195queue155679135240605878155679135249405893queue155679140334209935155679140351105265queue155679143564604456queue155679197393007912155679197400702146queue155679199429903374queue155679201391608801155679201393308761queue155679212356907314155679212364209450queue155679214653607932155679214662300011queue155679216760107593queue155679238249102359155679238252308793queue155679240538804076queue155679261282901331155679261286005128queue155679262675007870queue155679285553404414155679285554902811queue155679287109007551queue155679305265502322155679305282707373queue155679308178509650queue155679322163606535155679322182103705queue155679325176904903queue155679339238900550155679339256204847queue155679342225706387queue155897772380308647queue155899016898206742155899016913402401queue155899032392804568155899032407809849queue155899087192505204155899087207303440queue155899291874204632155899291889009873queue155899306556808371155899306579509065queue155899344561709998155899344577007376queue155899415913900818155899415929001421queue155899434333109989155899434347804592queue155899774084004791155899774112907377queue155899778261002937queue155899791824009236155899791838809634queue155899870273608889155899870304509200queue155899874079307976queue155906903475008993155906903510603812queue155907563674908026155907563690407468queue155907596422000065queue155907602113403194queue155907702204305238queue156027473835601089156027473875501295queue156027479125507311queue156027617748905717156027617763806292queue156027618596607593x1queue156027618596607593x2queue156027623442108644156027623457404700queue156029277369909218156029277400106259queue156029281583604276queue156029297297903622156029297313308726queue156029308471800301156029308486905150queue156029316399503608156029316414607564queue156029327023808597156029327038900837queue156029709829106586156029709844302132queue156029727077506609156029727110304224queue156029730975300678queue156029877625609488156029877659104023queue156029881363008182queue156029885386000989156029885400705521queue156044232636105886queue156044461182902758156044461207204796queue156044463739401302156044463762108524queue156044465130302019x1queue156044465130302019x2queue156044467684904507queue156044467734106440queue156044467826807967queue156044511899506987156044511925800946queue156044516824508894queue156044516879005783queue156044516928303925queue156044529393805573156044529421601846queue156045671335801964queue156045688590804726156045688602106014queue156048107874104552queue156048120605205872156048120629802902queue156048124246301160queue156048124292403230queue156048124338703339queue156048157950909568156048157979505182queue156048161778403518queue156048161824005370queue156048161870702993queue156090002250108015156090002280405953queue156090002894107352queue156090011629306045156090011660000859queue156090018355206566queue156090070726605167x0queue156090070726605167x1queue156090070726605167x2queue156090070726605167x3queue156105293368005996queue156114908480400998156114908510202190queue156114916675200379queue156114930229808697156114930244905773queue156115959475908732156115959492909401queue156116061983406826156116062014509447queue156116067706500549queue156141613591409603156141613620505385queue156141621574706758queue156141759164100228156141759178702756queue156141923145904730156141923176308679queue156141930626608627queue156141934532302364156141934547206780queue156143602989007131156143603018605700queue156143610534200222queue156149550144105205156149550174606533", [ 'Cache-Control', + .reply(200, "newqueuenewqueue4newqueue4190newqueue420newqueue4590newqueue4890newqueue4890-fxnewqueue490queue155327915263307294155327915289906297queue155327919005109785queue155327975458906463155327975473106484queue155328104390600853155328104406608153queue155328107652108803queue155328127419103686155328127426305056queue155328130119105091queue155328134835701823155328134837307600queue155328137055407925queue155328152388304088155328152396107459queue155328154362800253queue155328202690309701155328202697802864queue155328205151603722queue155328234002703968155328234004607689queue155328235474901210queue155328318380400891155328318387904103queue155328321691309792queue155328325785207377155328325795002437queue155328332554106701155328332561103570queue155328334408408419queue155328338753306805155328338757308230queue155328350830801933155328350838604071queue155328352837206193queue155328357988801273155328357992306437queue155328362888200831155328362891305423queue155328365064104637queue155328369550406828155328369551602378queue155329053015604028155329053031908555queue155329055888609636queue155329060579406525155329060588000879queue155329089471209715155329089472801511queue155329091801907208queue155329096457201205155329096458404216queue155333893785601841155333893793301131queue155333897473705442queue155333901890104190155333901894502388queue155333943468501232155333943729309890queue155333945894000076queue155333950677803985155333950678509710queue155342532999104661155342533070104117queue155342535451402994queue155342539742708392155342539747100027queue155342582572209059155342582575301877queue155342585029201206queue155342589740603818155342589741703036queue155351174096405521155351174104402320queue155351177339208372queue155351181454303568155351181458407402queue155351233566207539155351233567808611queue155351236316804752queue155351241124701462155351241126001850queue155359813688902600155359813696007843queue155359816903500275queue155359821460406300155359821464709490queue155359876889805132155359876897601183queue155359880007508569queue155359884780905748155359884784509628queue155368454573409140155368454581409221queue155368456807102522queue155368461516807669155368461521200377queue155368511252407319155368511254000484queue155368513492508233queue155368518025204754155368518027200216queue155377095350609994155377095363905883queue155377098118602263queue155377103075502972155377103090506753queue155377157049701820155377157052809130queue155377158821001256queue155377163661209862155377163662201131queue155381151692504975155381151709307282queue155381154431004817queue155381170733507552155381170749902842queue155381173279907397queue155381177929102691155381177938208114queue155381210628400876155381210638301688queue155381213092901799queue155381217560504476155381217564506290queue155381245187900061155381245189405295queue155381246921407448queue155381278058706203155381278060304117queue155381279498506772queue155381284018903543155381284020102891queue155381308643506176155381308645000005queue155381311879700559queue155381316424908029155381316426308944queue155381338190205742155381338219305406queue155381341208808152queue155381358205006094155381358236108897queue155381361451807709queue155381366082201741155381366092403417queue155381380648907173155381380678906556queue155381383775408785queue155381388042706728155381388052600509queue155381410852306007155381410868701388queue155381413433607880queue155381428708506008155381428719603948queue155381430485001118queue155381434887008605155381434891402487queue155381449640808256155381449647809654queue155381451569605227queue155381473201207650155381473205409345queue155381496525406969155381496527008357queue155381498284203602queue155381529678705193155381529681909612queue155381531170901272queue155381536094609898155381536095408863queue155381562612507113155381562615606022queue155381564435409275queue155381569121602052155381569122404999queue155381589718702192155381589749505660queue155381592724006148queue155381608172203494155381608201603487queue155381611420208574queue155381615597605202155381615608308119queue155381629886706325155381629904308106queue155381632728603880queue155381637342208430155381637357806476queue155382807487300174155382807495007148queue155382809738704128queue155382824047104910155382824054403961queue155382826176505591queue155382830448705077155382830452705090queue155382844476207025155382844483807001queue155382846671205722queue155382851103509528155382851107906383queue155382872497706478155382872499306385queue155382874472806084queue155382896557002900155382896564107185queue155382898672503846queue155382899626603363155382899628206232queue155382901290503468queue155382906005800986155382906007803205queue155382910567605881155382910569806577queue155382911941601041queue155382924836709584155382924843905923queue155382927055507878queue155382931345204180155382931349509477queue155382931423801968155382931425401767queue155382932824901569queue155382934288801022155382934296405744queue155382936150905949queue155382937081004422155382937082203482queue155382948284701573155382948286803233queue155382950088102771queue155382955864906798155382955868103177queue155382956551506293155382956569102188queue155382958356907869queue155382959021307998queue155382962917506555155382962924703597queue155382964613008153queue155382969086100349155382969090207200queue155382973656503169155382973674503125queue155382976472604561queue155382979914902771155382979916405046queue155382980594103577155382980607101861queue155382981408009822queue155382991006701669155382991009809140queue155382992437902501queue155382993925900695155382993950101001queue155382996349701802queue155383000426804585155383000435605491queue155383006294704528155383006297803473queue155383007603508391queue155383012251301275155383012252304691queue155383013868703189155383013870306259queue155383015125803600queue155383032527804573155383032545509180queue155383035068809857queue155383037617502895155383037619108984queue155383038746204860queue155383043310202214155383043310905306queue155383048610006851155383048627709801queue155383051772100932queue155383062755005712155383062782604187queue155383065637500178155383065655704047queue155383065854007342queue155383068545003425queue155383072652301895155383072661205961queue155383078446604728155383078464900097queue155383081048403783queue155383093332004405155383093349308082queue155383095913207937queue155383099930003626155383099939000292queue155385735092902821155385735108905554queue155385737923600706queue155385742659801102155385742668407404queue155385791830308449155385791831908186queue155385793349707968queue155385797892509009155385797893705715queue155390109929607961155390109937701247queue155390112310706683queue155390126926800910155390126934905665queue155390129051808819queue155390140541707359155390140548906255queue155390142894700027queue155390147403000018155390147415308210queue155390172064502331155390172077401983queue155390173929001957queue155390196320602348155390196323805262queue155390197894403799queue155390221417303131155390221420409705queue155390223368403529queue155390227880209035155390227881508231queue155390249927003677155390249944905924queue155390252895504057queue155390273010906517155390273028507539queue155390275601602628queue155390288755200650155390288775204123queue155390291897608722queue155390296064002688155390296074300827queue155394372550506810155394372557802989queue155394374704505405queue155394378898001667155394378902304424queue155394425837109872155394425840203421queue155394427542907438queue155394431942009787155394431943509425queue155403014095403998155403014103201762queue155403016223203349queue155403020466603033155403020470804586queue155403075665008375155403076681208174queue155403107335703697queue155403111956905834155403111957901374queue155411658388501096155411658395602386queue155411661457005845queue155411665626507120155411665630605076queue155411695856308282155411695857908241queue155411697435904295queue155411702112008950155411702113305528queue155417253821600662155417253826008856queue155417258924506993155417258932405839queue155417261291902702queue155417273233201773155417273240700222queue155417275385701285queue155417282314804732155417282315603422queue155417287450102225155417287452508727queue155417289038309689queue155417295286603363155417295295700205queue155417316754302774155417316755907300queue155417318187708877queue155417340888802094155417340890302558queue155417342568008216queue155417367237402783155417367239406846queue155417368803101636queue155417389503007049155417389521801533queue155417392154209459queue155417405079408427155417405097609657queue155417407800004803queue155417420821809617155417420839203044queue155417423657800183queue155420293288502695155420293290300831queue155420295891700054queue155420300048302050155420300049603489queue155420360627002734155420360628507285queue155420362396504379queue155420367020609108155420367022602710queue155422820960903569155422820969407272queue155422825387803382155422825405800406queue155422828371903086queue155422840919003379155422840934708611queue155422843561007321queue155422844448504825155422844449605734queue155422857253102620155422857269205724queue155422860439901431queue155422882945504976155422882953305877queue155422884974107826queue155422894772209602155422894781503044queue155422908057602085155422908065409968queue155422910291001630queue155422935301601415155422935312408213queue155422936776604568queue155422959270000061155422959287603911queue155422962209806048queue155422977226003838155422977244303587queue155422979932709903queue155422993455806107155422993475902174queue155422996290300336queue155423004328901112155423004337203486queue155423008453502452155423008469805274queue155423010928604217queue155423026001601779155423026009308837queue155423027693900749queue155423029673407225155423029674804742queue155423043763106585155423043770509782queue155423045448002727queue155423048897001932155423048907809167queue155423077850106111155423077866700896queue155423080245908306queue155423107140605087155423107142102467queue155423109079502049queue155423139995902777155423140003702204queue155423141662007871queue155423180606805938155423180626906082queue155423183651708911queue155423206974906793155423206993102954queue155423209657600955queue155423237240304309155423237258509087queue155423239702505124queue155428933687301187155428933691505247queue155428938649401849155428938657401039queue155428941437908857queue155428979919000056queue155428981217503483155428981218709308queue155428996986406986155428996994402115queue155428998723301621queue155429016145105407155429016154107759queue155429030579202320155429030586600356queue155429033077109234queue155429059088006965155429059089609805queue155429060572502677queue155429087342504598155429087382005665queue155429090836300529queue155429119500800378155429119502308772queue155429120973808960queue155429144870108611155429144888003413queue155429147723107304queue155429164217905535155429164238301178queue155429167125501628queue155429184416002346155429184433206568queue155429187591104068queue155437573428409854155437573432501613queue155437578420808142155437578429308507queue155437580981609446queue155437638223603575155437638230807405queue155437640457304805queue155437648051901459155437648053304348queue155437672177901619155437672185307181queue155437674169209827queue155437682268102719155437682277204199queue155437700949501463155437700951006008queue155437702316201126queue155437727772302509155437727775401924queue155437728960404905queue155437757864303999155437757867403405queue155437759386203034queue155437781848005591155437781865705546queue155437784519803024queue155437800014400477155437800031708501queue155437802508804016queue155437817712201961155437817729104291queue155437820232805157queue155440954387105474155440954391109425queue155440959842003337155440959858307247queue155440962553905900queue155440980842503678155440980850804367queue155441015013908765155441015021504661queue155441017139704099queue155441052473107122155441052482407878queue155441057403908782155441057419902173queue155441060467802409queue155441147085306563155441147086904022queue155441148962000233queue155441175595206116155441175606301599queue155441177744303138queue155441205827803113155441205829304456queue155441207316407223queue155441233858706416155441233875804782queue155441236517400061queue155441253159502155155441253176600896queue155441256174804861queue155441272656601082155441272673908595queue155441275240400605queue155446219676100050155446219680501058queue155446225650507831155446225658004126queue155446227909106785queue155446285000400809155446285000903733queue155446309216600107155446309225604867queue155446569701105767155446569717301414queue155446572479600242queue155446588893206999155446588900403667queue155446590792100724queue155446757243406314155446757246504267queue155446758969105834queue155446786308103823155446786309605304queue155446788019609660queue155446815898000701155446815898808767queue155446817914206705queue155446840406205876155446840423906673queue155446843392100157queue155446858942902208155446858960401897queue155446862132702560queue155446877484900379155446877502502077queue155446880156005986queue155450258469202551155450258500202439queue155450262179403479queue155450268349009300155450268364007821queue155454864875809674155454864877106326queue155454865839401414155454865841508191queue155454867582804307queue155454914089407574155454914091605021queue155454915796202892queue155454923394406473155454923394605635queue155454937678304839155454937680404097queue155454939663307333queue155454947323600581155454947331908131queue155454968932606466155454968934205960queue155454970693600486queue155454992934607890155454992940908816queue155454995136308150queue155455032001608962155455032014308518queue155455033529000859queue155455051754508233155455051771104123queue155455054318605260queue155455066312007976155455066327900870queue155455068840701917queue155455080640802907155455080657103022queue155455083069805224queue155463497565509908155463497567001829queue155463504348802762155463504356305973queue155463507398502197queue155463545281505460155463545283500515queue155463547759100312queue155463556148002744155463556149507149queue155463580237503705155463580239400542queue155463582174703142queue155463585579802817155463585588708957queue155463610855007698155463610857002481queue155463612510103030queue155463634705503779155463634708602074queue155463636937603335queue155463661048602480155463661051702587queue155463662604504099queue155463680600508969155463680618103501queue155463683964707887queue155463696024104235155463696041206297queue155463699010409292queue155463710936705724155463710953803334queue155463713378208386queue155472148177404498155472148185801716queue155472165885602619155472165909906195queue155472168750809705queue155472206222705940155472206224706965queue155472206651404031155472206652604566queue155472208043806741queue155472220919009552155472220926209400queue155472222708804190155472222722301225queue155472222949706933queue155472251066805273155472251117107174queue155472253410608563queue155472276269306829155472276270907151queue155472278007304721queue155472300834802689155472300836403510queue155472303036507004queue155472321266605693155472321284005075queue155472324516505430queue155472336785907123155472336803504948queue155472339360508832queue155472351772207738155472351789606693queue155472354325703301queue155475586822201886155475586826906590queue155475593451401611155475593458707350queue155475595397604938queue155475629233408497155475629241606547queue155475632544100219155475632573908099queue155475634838405899queue155475642682803646155475642692009653queue155475648448201204155475648464201198queue155475650836700822queue155475674367403678155475674370605056queue155475675825703699queue155475698377905594155475698393709874queue155475700980201314queue155475726457201407155475726460304403queue155475727755106309queue155475749959901342155475749977706236queue155475752513706032queue155475765178905071155475765197002359queue155475768020601056queue155475793449704509155475793466805528queue155475796132004653queue155476382462500720155476382466803177queue155476387019907330155476387027704267queue155476389167503818queue155476404368308366155476404384703673queue155476405137107647155476405137907550queue155476406735003456queue155476409236002549155476409252100512queue155476411924108002queue155476424514202921155476424521702801queue155476426319206417queue155476428333603563155476428342707421queue155476442099606426155476442107708838queue155476443962709339queue155476466992604443155476466999908551queue155476468902708661queue155476534607204309155476534608803931queue155476535997704780queue155476556918607590155476556921702867queue155476558902700439queue155476607953806451155476607955402657queue155476609726706016queue155476622305601990155476622307108487queue155476623970108386queue155476664750704459155476664751900234queue155476666055702242queue155476669766205950155476669767705644queue155476671121502911queue155476704334800131155476704352604683queue155476707093703554queue155476712742806387155476712760509444queue155476715316801071queue155476742122903736155476742140605306queue155476744627107816queue155476753320801913155476753338208092queue155476755884702662queue155476777230006765155476777247100560queue155476779915908565queue155476791450207218155476791467607339queue155476793712200327queue155480811776203119155480811780403130queue155480822998502744155480823006909720queue155480825114102566queue155480861929102395155480861936703246queue155480864327102177queue155480864520409205155480864528403992queue155480877382402645155480877391500482queue155480879599507925155480879607202553queue155480881935905898queue155480905235308617155480905237302925queue155480907364602384queue155480930407203114155480930410401258queue155480932014808827queue155480962382605740155480962384209583queue155480964066004509queue155480983474107553155480983496309355queue155480986565406785queue155480998880805678155480998898309828queue155481003701604441queue155481015665709235155481015683001716queue155481018695804488queue155489413815107816155489413819300796queue155489418383000990155489418401507279queue155489420791506711queue155489453455807787155489453457003719queue155489469181209678155489469189002389queue155489472127405252queue155489491156308356155489491165203244queue155489504838307977155489504847004070queue155489507124706673queue155489530674807798155489530677905854queue155489532904501247queue155489556342000497155489556348209632queue155489557892006124queue155489583987106348155489584185601264queue155489585735609888queue155489604266207095155489604287200784queue155489606900806165queue155489619329002819155489619346002748queue155489622155201492queue155489634257408712155489634274700594queue155489636830903164queue155498059110503421155498059115608278queue155498066969403519155498066978203835queue155498070039902183queue155498111607101160155498111608403055queue155498111668708064155498111676300901queue155498113914600715queue155498131524702769155498131533508070queue155498133168804296queue155498138474209337155498138483208592queue155498157139309907155498157142406788queue155498158586702424queue155498187437005109155498187438500528queue155498188835102802queue155498213609901026155498213612206311queue155498215094306879queue155498234137909176155498234157602351queue155498236631104502queue155498249751609250155498249769000857queue155498252199002127queue155498264263703651155498264281001211queue155498266752603232queue155506694020409005155506694024600972queue155506698058103772155506698065507711queue155506700131904497queue155506742612600914155506742620206510queue155506744782909049queue155506751489806391155506751490601296queue155506780151401501155506780160409819queue155506781489803917155506781496804681queue155506783624403859queue155506810932709482155506810934305990queue155506812544703855queue155506836085601040155506836087103508queue155506837693305463queue155506861928102890155506861929700613queue155506863777609548queue155506882933101302155506882952206589queue155506885557101168queue155506897720104575155506897737202010queue155506900133303217queue155506913311501989155506913328805575queue155506915795809038queue155510078407803784queue155515346133704144155515346135104571queue155515351432701054155515351434909130queue155515353208700543queue155515396378601327155515396397700252queue155515398656608062queue155515399145406001155515399146306183queue155515413483706243155515413508905629queue155515413778208193155515413787106332queue155515415176207266queue155515437790703376155515437792203581queue155515439380306862queue155515462759207919155515462760600425queue155515464201209713queue155515489510205790155515489535802219queue155515491615104645queue155515510554501560155515510571909711queue155515513194405457queue155515525519904064155515525537103708queue155515528212309823queue155515540365402769155515540382704478queue155515542793004025queue155523978826700838155523978831009641queue155523983874501915155523983895704895queue155523986230203066queue155524015932202258155524015934005298queue155524018197306569queue155524022768003993155524022768704126queue155524029733906509155524029741101412queue155524031608903149queue155524036111403093155524036120400332queue155524054945909927155524054947507836queue155524056879700782queue155524080557001702155524080558604510queue155524082005109184queue155524108923700244155524108926804879queue155524110240301542queue155524129738608769155524129756301799queue155524132320802850queue155524144287802894155524144305008999queue155524146942006124queue155524159121501514155524159138700055queue155524161665906606queue155532628562002902155532628566007909queue155532631289305201155532631296909770queue155532633654303948queue155532665749007778155532665774708388queue155532667974200588queue155532669305000303155532669305204794queue155532681193802641155532681201106912queue155532682641609672155532682650706560queue155532683231205585queue155532706752102431155532706755308580queue155532709580202482queue155532733386209146155532733388202928queue155532735125805613queue155532761324803506155532761326403128queue155532762949905033queue155532782265505568155532782282906163queue155532784852301190queue155532797344900305155532797362207439queue155532800036909053queue155532812081205136155532812098509838queue155532814680204630queue155541255960707831155541255968308693queue155541265111309768155541265113404221queue155541266954903530queue155541326719803474155541326721806026queue155541328782007556queue155541329080503451155541329081704860queue155541354421907995155541354429407967queue155541356371601756queue155541361048305036155541361057200312queue155541386106901946155541386108504067queue155541387503504686queue155541411174305580155541411175802543queue155541412892403730queue155541438431301244155541438432906410queue155541440111402666queue155541459571603831155541459589406207queue155541462450803872queue155541475033308928155541475050508029queue155541477709602963queue155541489670205629155541489687402746queue155541492360009269queue155548497659208158155548497663408307queue155548502488703666155548502504403937queue155548504942003542queue155548517946905950155548517954809983queue155548520485207174queue155548520844001614155548520845706968queue155548533442008477155548533454801686queue155548533556805530155548533570303862queue155548535417307494queue155548562197807876155548562200909725queue155548564382800638queue155548588804707717155548588812505962queue155548590400800440queue155548616905304249155548616906803054queue155548618326506236queue155548636768501846155548636785909822queue155548639476201741queue155548652013604038155548652031104027queue155548654731602172queue155548667372803035155548667390503822queue155548670305106814queue155549894751201277155549894755308924queue155549900015603287155549900032204106queue155549902685607417queue155549967002308638155549967009608579queue155549969184900674queue155549974501100984155549974502802720queue155549996978203064155549996990807237queue155549997045204046155549997054303911queue155549999246801681queue155550031407006299155550031410102827queue155550033050409195queue155550058817505384155550058827508482queue155550060225701519queue155550088327708957155550088337102431queue155550089942602820queue155550109118101729155550109144009843queue155550111629607940queue155550125540604374155550125557903119queue155550128685907477queue155550141511004740155550141528703838queue155550143963304850queue155552581764703954155552581780905779queue155552584824200082queue155552587684903827155552587689006613queue155552610676200536155552610690101157queue155552613981505517queue155552620000402437155552620004709757queue155552627628704932155552627664801025queue155552630282603193queue155552633799308335155552633808509127queue155552659462506849155552659465606431queue155552661011902758queue155552687100303269155552687108207215queue155552689089302050queue155552720089709904155552720092807641queue155552721405608019queue155552744429305875155552744447009216queue155552747154109195queue155552760731106498155552760754501578queue155552763249805434queue155552776589401229155552776607003884queue155552779146301456queue155558539909807702155558539911200124queue155558552600406455155558552626102024queue155558555362508707queue155558602401309216155558602402703313queue155558604746209572155558604753503794queue155558607015509648queue155558634819207794155558634828308183queue155558639877906904155558639879803452queue155558642489606001queue155558667686505344155558667688107596queue155558669169003153queue155558694127209273155558694128708200queue155558695398609465queue155558721866403106155558721868006476queue155558724618201967queue155558743103000571155558743120309941queue155558746018205036queue155558758576103786155558758593407121queue155558760984103145queue155558773392406237155558773409503748queue155558776129303792queue155567173822302470155567173826609836queue155567179211008216155567179213604569queue155567180966103196queue155567242391900791155567242393405110queue155567252704703823155567252706700318queue155567255088205587queue155567298743306403155567298752407756queue155567314946802926155567314953909179queue155567316869107155queue155567355173800126155567355175400108queue155567356591902441queue155567382482503377155567382484109376queue155567384569601809queue155567409885504456155567409886307160queue155567411327206379queue155567429613908873155567429632105147queue155567432599803748queue155567445021305702155567445039102975queue155567447604009369queue155567460229404839155567460246904815queue155567462803905947queue155575814499302174155575814504000464queue155575818105907281155575818113304997queue155575820245709478queue155575878997008384155575879002707602queue155575880592407703queue155575885409806663155575885411301382queue155575935053804803155575935055706047queue155575936534409844queue155575943399904656155575943409009780queue155575982282507281155575982285607095queue155575984482102997queue155576009332603604155576009334209143queue155576010800909451queue155576036265207545155576036266707389queue155576037730704707queue155576056078102855155576056095801562queue155576058756202046queue155576070751903962155576070769406349queue155576073239102143queue155576085573205113155576085590403219queue155576088405109300queue155584453224900548155584453230905216queue155584457135603945155584457153101020queue155584459505500954queue155584502260406187155584502264208546queue155584504697205549queue155584507807500107155584507809007055queue155584543816209202155584543818007808queue155584545524605028queue155584549309200664155584549322701037queue155584580350907097155584580352603707queue155584581992107887queue155584605526309980155584605527807577queue155584607364105914queue155584632977804845155584632985609227queue155584634379805206queue155584652549105407155584652566600580queue155584655130601141queue155584667946905037155584667964105879queue155584670899900602queue155584684773104953155584684791509863queue155584687533704299queue155593109347603716155593109349106816queue155593114351607963155593114359201342queue155593117063804199queue155593197381401782155593197388805554queue155593199524601356queue155593201694102520155593201697902484queue155593228833608868155593228842701735queue155593229465606939155593229475709614queue155593231395403267queue155593257010908277155593257030709537queue155593258519504404queue155593282528006072155593282529607675queue155593283998705709queue155593312309707386155593312322502936queue155593314077508686queue155593332409903160155593332427400917queue155593334980907197queue155593347042604578155593347074309569queue155593349763101977queue155593361888905971155593361912001297queue155593364479108464queue155599369667700014queue155599375563308486155599375579000513queue155601769951109815155601769952401747queue155601776526704269155601776529101546queue155601777895702976queue155601848097904947155601848099408470queue155601851026105839155601851033909680queue155601853322306447queue155601887723207581155601887732101914queue155601893085505888155601893096200687queue155601894848108940queue155601925135003308155601925138101778queue155601927160308493queue155601952201105059155601952204208747queue155601953518107102queue155601978837904358155601978841001122queue155601980127505645queue155601998891905528155601998909409883queue155602001683708010queue155602014072303268155602014090103102queue155602016685708812queue155602029127003368155602029144903240queue155602031608505924queue155604361207109834155604361236402710queue155604365148002319queue155604385350205733155604385380307321queue155604388790007813queue155604442043303194155604442072802793queue155604445944700550queue155610373675309262155610373679307765queue155610379717508029155610379733809733queue155610384781108721queue155610442584509554155610442586303991queue155610453281408805155610453363209062queue155610455014604825queue155610490378509469155610490388005333queue155610503677104281155610503678902580queue155610505494109853queue155610551613806054155610551615408698queue155610553204201780queue155610578978608150155610578981702192queue155610580540200661queue155610606685902632155610606687505977queue155610608210709634queue155610626563505677155610626586208692queue155610629208506224queue155610662098102852155610662148106717queue155610664609006157queue155610677204905371155610677222104242queue155610679868003073queue155623733704506743155623733708700625queue155623738947509790155623738954905283queue155623741125805209queue155623753749501157155623753751804354queue155623756111208664queue155623761398601452155623761400308581queue155623769454605435155623769461707450queue155623771628609196queue155623775371709623155623775381004501queue155623798047900098155623798051109989queue155623799741706528queue155623826799108446155623826800702940queue155623828228205722queue155623857196005322155623857197604659queue155623858599509291queue155623878111500335155623878129200582queue155623880782007891queue155623893725700772155623893743402911queue155623896130009966queue155623909134009162155623909151206221queue155623911946300731queue155627656334703606155627656345007671queue155627666349908196155627666357805622queue155627669273401250queue155627684064106535155627684065702580queue155627692560801859155627692562809719queue155627694247609152queue155627701069403184155627701078406395queue155627708136400442155627708143301281queue155627710419908331queue155627735088302880155627735091404169queue155627736663607476queue155627760397800960155627760400905097queue155627761907205095queue155627786315500534155627786318607412queue155627788361200175queue155627807112601635155627807130200583queue155627809659305779queue155627822502300102155627822519304509queue155627824959706851queue155627838010105754155627838027909033queue155627840906500108queue155636295028105902155636295032104255queue155636299490409239155636299498106902queue155636301712603255queue155636323857106421155636323859202501queue155636324983905943155636324985605373queue155636325902306890queue155636338485206679155636338494000310queue155636339191101364155636339193205130queue155636340887504879queue155636364255307139155636364258403484queue155636365693705150queue155636390292603878155636390294604751queue155636392061905859queue155636417872704321155636417880505826queue155636419332600013queue155636438705709660155636438723100981queue155636441097707348queue155636454611908240155636454629504673queue155636457119402795queue155636469899205632155636469917007682queue155636472432203957queue155644934135100151155644934139908658queue155644938035204196155644938042800206queue155644940380105539queue155644962562806277155644962565002265queue155644963099802072155644963101508476queue155644964806302664queue155644976696407480155644976705402092queue155644977153107087155644977155905160queue155644978685509526queue155644995111809999155644995113408138queue155644996714101730queue155645020529405305155645020562402956queue155645022318501016queue155645049005606334155645049007209171queue155645050586204150queue155645069449302641155645069466803339queue155645072180103261queue155645084632005627155645084653201306queue155645087587905077queue155645100270402760155645100287602319queue155645102741803616queue155653574640806343155653574644908007queue155653577929502744155653577937103354queue155653579825605464queue155653594502805552155653594512101164queue155653596551208562queue155653603552606274155653603554203385queue155653610519204484155653610526207164queue155653612453805560queue155653616917205091155653616925908892queue155653636736701277155653636738307262queue155653638598002623queue155653668478100896155653668479609655queue155653670346208829queue155653697707605752155653697709200962queue155653699217804888queue155653718228807177155653718246100201queue155653722037902479queue155653735057104924155653735074509745queue155653738099309040queue155653751046907604155653751063500195queue155653753565205926queue155661859363408106155661859391102299queue155661862095703796queue155661903903100450155661903911509795queue155661905870103795queue155661919420603058155661919427907377queue155661921537509489queue155661950058205196155661950059703845queue155661951691408833queue155661978956605610155661978959907855queue155661982714602202queue155662005087205276155662005088808747queue155662006558604166queue155662024717103643155662024734108347queue155662027412602307queue155662041127701338155662041144807940queue155662043794603780queue155662057613707713155662057630607020queue155662060314303989queue155664506935203063155664506965501214queue155664510302907511queue155664540611401834155664540627001919queue155664734576705793155664734581406495queue155664739458700668155664739474907345queue155664741902407749queue155664754882001736155664754897907357queue155664757545907568queue155664758875902109155664758877503274queue155664769681901276155664769689504693queue155664771422801056queue155664774783305150155664774792008116queue155664794221403894155664794224604571queue155664795681609599queue155664816758601178155664816761700867queue155664819280805597queue155664843020704269155664843022205534queue155664844655904923queue155664864051407107155664864068900901queue155664866995002432queue155664883243909657155664883261304914queue155664885832801973queue155664898925607055155664898942907110queue155664901846603273queue155670497584709761155670497592600672queue155670504550104911queue155670531234505977155670531236605798queue155670533167102968queue155670555244800749155670555252008765queue155670557493306917queue155670578528404253155670578529909681queue155670581654605273queue155670602595302031155670602596803853queue155670604807708931queue155670627533105364155670627534602363queue155670628899704983queue155670649367504290155670649385106923queue155670652134100563queue155670668976904952155670668994707988queue155670671331901352queue155670687858809580155670687876306871queue155670690982601195queue155679135240605878155679135249405893queue155679140334209935155679140351105265queue155679143564604456queue155679197393007912155679197400702146queue155679199429903374queue155679201391608801155679201393308761queue155679212356907314155679212364209450queue155679214653607932155679214662300011queue155679216760107593queue155679238249102359155679238252308793queue155679240538804076queue155679261282901331155679261286005128queue155679262675007870queue155679285553404414155679285554902811queue155679287109007551queue155679305265502322155679305282707373queue155679308178509650queue155679322163606535155679322182103705queue155679325176904903queue155679339238900550155679339256204847queue155679342225706387queue155897772380308647queue155899016898206742155899016913402401queue155899032392804568155899032407809849queue155899087192505204155899087207303440queue155899291874204632155899291889009873queue155899306556808371155899306579509065queue155899344561709998155899344577007376queue155899415913900818155899415929001421queue155899434333109989155899434347804592queue155899774084004791155899774112907377queue155899778261002937queue155899791824009236155899791838809634queue155899870273608889155899870304509200queue155899874079307976queue155906903475008993155906903510603812queue155907563674908026155907563690407468queue155907596422000065queue155907602113403194queue155907702204305238queue156027473835601089156027473875501295queue156027479125507311queue156027617748905717156027617763806292queue156027618596607593x1queue156027618596607593x2queue156027623442108644156027623457404700queue156029277369909218156029277400106259queue156029281583604276queue156029297297903622156029297313308726queue156029308471800301156029308486905150queue156029316399503608156029316414607564queue156029327023808597156029327038900837queue156029709829106586156029709844302132queue156029727077506609156029727110304224queue156029730975300678queue156029877625609488156029877659104023queue156029881363008182queue156029885386000989156029885400705521queue156044232636105886queue156044461182902758156044461207204796queue156044463739401302156044463762108524queue156044465130302019x1queue156044465130302019x2queue156044467684904507queue156044467734106440queue156044467826807967queue156044511899506987156044511925800946queue156044516824508894queue156044516879005783queue156044516928303925queue156044529393805573156044529421601846queue156045671335801964queue156045688590804726156045688602106014queue156048107874104552queue156048120605205872156048120629802902queue156048124246301160queue156048124292403230queue156048124338703339queue156048157950909568156048157979505182queue156048161778403518queue156048161824005370queue156048161870702993queue156090002250108015156090002280405953queue156090002894107352queue156090011629306045156090011660000859queue156090018355206566queue156090070726605167x0queue156090070726605167x1queue156090070726605167x2queue156090070726605167x3queue156105293368005996queue156114908480400998156114908510202190queue156114916675200379queue156114930229808697156114930244905773queue156115959475908732156115959492909401queue156116061983406826156116062014509447queue156116067706500549queue156141613591409603156141613620505385queue156141621574706758queue156141759164100228156141759178702756queue156141923145904730156141923176308679queue156141930626608627queue156141934532302364156141934547206780queue156143602989007131156143603018605700queue156143610534200222queue156149550144105205156149550174606533queue156149557708300014queue156149654112403023156149654128100777queue156157716554600904156157716584107908queue156157725045905702queue156157728853709868156157728869602199queue156167174911702752156167174940805949queue156167182350008342queue156167186174404914156167186189103348queue156167273050804969156167273081702279queue156167280058207781queue156167286566803843156167286582104255queue156167302974309045156167303003407220queue156167311691804193queue156167315378905613156167315394004333queue156167464610906802156167464642104158queue156167471416807935queue156167475161104556156167475176009132queue156167525459003515156167525488803616queue156167533877601760156167533907102508queue156167533966000942queue156167537648409005156167537665302070queue156167540472002423queue156167544403007162156167544418401449queue156176594396604974156176594427105536queue156176601948402686queue156176636732000401156176636753104718queue156177029101903876156177029131304093queue156177036784501839queue156177040822505730156177040837601958queue156177112971000891156177113089804481queue156177120271502846queue156177123926906128156177123942101047queue156177476277402060156177476313905861queue156177485179103170queue156177486721007778queue156177499344805622156177499359902086queue156177959629406960156177959808704931queue156177967794304194queue156178047904204581156178047933302781queue156178054992609626queue156178059724209923156178059739406850queue156178147016000595156178147046101910queue156178154360703514queue156178158276600612156178158292009398queue156178237818109204156178237848703390queue156178244557902389queue156178249027305009156178249042303858queue156209047856109848156209047870709326queue156209144967308670156209144982507171queue156209275202209593156209275217606506queue156211361400001290156211361415006917queue156213691894603074156213691945603486queue156213699745301515queue156213703887903436156213703902602760queue156223538216808036156223538225807799queue156223540160106103156223540167906535queue156223562886705302queue156223564133108636156223564134509662queue156223574493404772156223574509107457queue156223576699806743156223576763505142queue156223577752600349queue156223579432508800queue156223591424102991156223591438805722queue156223593767109634156223593784701738queue156223593942803301queue156223596933803940queue156223596949304957156223596967208615queue156223601806505037queue156223602143408637156223602160900158queue156223605702608321queue156223616305708780156223616318202702queue156223617768707551156223617779702294queue156223618116703188156223618133903267queue156223618834608930queue156223620236200828queue156223620822806441queue156232224217103306156232224227101203queue156232226642903091156232226648607880queue156232237265800753156232237276808563queue156232239672607134156232239682505613queue156232240109506115156232240122305093queue156232240637601050queue156232243022304408queue156232255583503368156232255603803328queue156232256257507021156232256276801497queue156232257368100084156232257382708042queue156232258164304672156232258181803894queue156232258934208610queue156232259294306324queue156232261209909238queue156232261501903549queue156232282626008195156232282644802241queue156232284366209840156232284386609637queue156232285947505176queue156232286268906242156232286289209654queue156232287818009539queue156232289168805536queue156240824048501164156240824054201694queue156240825455209232156240825464304041queue156240846563809360156240846569604184queue156240857245908927156240857260001261queue156240860744506143queue156240862981705776156240862999405304queue156240863338209566156240863349208031queue156240863604004032156240863621603113queue156240864866404948156240864879400891queue156240865968701964queue156240865982309109queue156240866876501654queue156240867640707748queue156240871774702532156240871792304099queue156240875596905532queue156240887879902154156240887892402200queue156240891907600057queue156240892092901333156240892108603991queue156240894687006802queue156240898986208888156240898997209330queue156240901365906635queue156249384914604283156249384923608465queue156249387975802977156249387993500334queue156249388890808286156249388908705672queue156249389668901596156249389686603076queue156249390629503000156249390635909240queue156249390919404596queue156249390946408287156249390959708533queue156249391767506506156249391780502244queue156249392204109990queue156249392509806790queue156249393561804116queue156249394637009756156249394650007132queue156249394696608709queue156249397203507323queue156249397221204341156249397227604189queue156249399445005221156249399456003042queue156249400842702473156249400855405626queue156249401291100972156249401304005110queue156249401797809237queue156249403366800012queue156249403790309309queue156258139145705934156258139155209139queue156258143701005877156258143708509153queue156258148959004609156258148971107707queue156258150039408649156258150050700262queue156258151662103650156258151669500448queue156258152049103675queue156258152676704238156258152688208170queue156258152968408196queue156258156316805791queue156258163288206379156258163307300630queue156258166328006212queue156258169062108239156258169079404919queue156258171769105510queue156258172057207234156258172074805066queue156258175018301797queue156258184845400454156258184864208154queue156258186202709394156258186224607695queue156258187862307563queue156258189290004751queue156258193802801767156258193823103224queue156258196795904225queue156262646920201562156262646952100290queue156262655142006472queue156262659563606155156262659578706830queue156264886455107247156264886464205469queue156264895138902833156264895145707221queue156264901689208150156264901706907527queue156264901797000572156264901814603591queue156264901950705357156264901963802840queue156264903844301585156264903857802269queue156264905156209965156264905167008730queue156264906738800802queue156264906847308402queue156264907320705688queue156264907454701552queue156264909177302377156264909187401310queue156264909352401027queue156264918904809377156264918922400836queue156264921799608018156264921801202631queue156264923336405236queue156264923611308252queue156264927202609223156264927221401690queue156264927426804307156264927428401412queue156264929281503261queue156264931629103393queue156266752599109098queue156266753873806422156266753875001296queue156266755390600714156266755399502366queue156266787731001255queue156266789229102419156266789230706855queue156266789894903752156266789912306755queue156266790125002515156266790144107855queue156266790683405262156266790700600530queue156266792587605935queue156266792761603221156266792773504616queue156266793148204490queue156266794216907816queue156266795062604759156266795077304051queue156266795063600195queue156266797861406056queue156266806641602662156266806659004122queue156266809963200808queue156266822279000002156266822293008715queue156266824721405485queue156266827704408934156266827716904644queue156266828038405889156266828057305024queue156266829990706123queue156266831349705734queue156269525310200719156269525317501822queue156269542237904123queue156269543797703910156269543799306848queue156269553431503521156269553440608919queue156269555279106116156269555294809710queue156269559104402111156269559111307369queue156269560440102552queue156269562278303639queue156269565912307256156269565922703964queue156269568406806478queue156269582706503243156269582723901209queue156269584100405730156269584118506184queue156269584891700949156269584909502428queue156269587414505338queue156269588515904593queue156269589207807562queue156269594685007315156269594700803980queue156269595954108288156269595974409868queue156269597485005777156269597503702295queue156269599468405076queue156269600652907671queue156269601976208995queue156275429830903010156275429839908123queue156275437234102048156275437240707928queue156275449308108351queue156275450610607768156275450653500381queue156275451008606680156275451010102195queue156275453235503950queue156275461773104389156275461790301466queue156275463228904763156275463242804546queue156275465574906207156275465597606635queue156275465709508523queue156275466016901734queue156275466961700263156275466979308742queue156275468436903846queue156275470166700661queue156275479164308526156275479181906701queue156275481448301478156275481451505696queue156275482479000696queue156275485037109857queue156275497739205194156275497758504263queue156275498562305457156275498581009682queue156275500925802443queue156275501855102850queue156284049934908329156284049943905747queue156284069710603139156284069717706921queue156284078998401591156284079024607879queue156284082694307773queue156284083901307172156284083919801254queue156284084686804386156284084703909105queue156284086035102473156284086037200483queue156284087239004911156284087256701708queue156284087577302879156284087587305992queue156284087666400127queue156284088027703188queue156284088135503101queue156284089030509285156284089041604349queue156284090596000209queue156284091822405333queue156284115115803219156284115134701550queue156284118234206526156284118248309214queue156284118973604994queue156284124235103979queue156284124578206898156284124595904047queue156284128087203831queue156292647106809918156292647116001704queue156292653222603644156292653229502912queue156292659482806778156292659497107394queue156292660479105895156292660492300467queue156292661215902167156292661233500609queue156292662931805706156292662946705536queue156292663455609756queue156292663912000908156292663913606012queue156292664025906174queue156292664551008991queue156292665926800813queue156292666355300215156292666373509197queue156292668919303881156292668937103423queue156292669422003594queue156292672989109295queue156292683815703951156292683828206569queue156292686616702560queue156292694321203890156292694336802433queue156292696997409381queue156292697446605844156292697464504227queue156292700455700688queue156297124570903471156297124601504950queue156297132553509340queue156297637714203987156297637745909729queue156297641238604304156297641268406361queue156297661881301876156297661911005057queue156297690523700792156297690562601784queue156297703859108835156297703888300861queue156297731492500234156297731523903086queue156297780888108567156297780919405067queue156297794610600936156297794642002803queue156297850702800311156297850734000920queue156297868069406669156297868099807146queue156301203901605532156301203946105654queue156301214125902123queue156322750069701811156322750099107747queue156322757943001746queue156322848351000754156322848381500000queue156322855900906547queue156323807109502288queue156323819338502267156323819369007465queue156323826596708277queue156330535392307472queue156330541031409369156330541046808783queue156330541275402320queue156331845532107371queue156332067804503537156332067820201727queue156332155450505224156332155482007753queue156341972370203961156341972401405098queue156341980923300932queue156342111996307582156342112025609846queue156342119476300102queue156349654984406447156349655015305070queue156349663815801655queue156349667564705431156349667580104058queue156360212108601931queue156384116891103922156384116922602231queue156384125172004402queue156384129531302282156384129546506613queue156384293819009227156384293850004221queue156384300876303177queue156384304790308048156384304805401253queue156391530906605689156391530937106452queue156391539221806994queue156391663410801666156391663447109927queue156391671189606629queue156393007997509401queue156408863290303092queue156408869574707260156408869589603053queue156408870894707880156408870909806869queue156408882280207734queue156408909696807997156408909712008896queue156408920302903147156408920318303547queue156408920570104271156408920585803649queue156408922003808936queue156408930138002174queue156408956342802143156408956372105484queue156408969742604677queue156408974131803905156408974147009824queue156409170853803221156409170884803496queue156409182537603153156409182552901444queue156409812873803105156409812906409525queue156409828073204959156409828103603622queue156409829449702217156409829465501039queue156409962183000525156409962213505475queue156409964159809233156409964174805627queue156412571400506068queue156412579336305936156412579366509659queue156412583664009983156412583680303064queue156417643470800997156417643502203332queue156417645308903436156417645324207044queue156417674476806836156417674506805594queue156417675834804073156417675852207048queue156460353687200316queue156460354945706808queue156461616099506717queue156462344925605632queue156462839729603766156462839744209427queue156503779913208071queue156503781950007231queue156503783578602692156503783593400600queue156503785729802667156503785745803247queue156503793670204141queue156503793751304230queue156503797501409501156503797517307934queue156503797644704390156503797661601553queue156503811415506534queue156503811848808857queue156503812047903699queue156503815145609770156503815160903331queue156503816447801309queue156503817389004281queue156503817514508058queue156503918648403816queue156503920261806790queue156503920462402033queue156503920962704900queue156503921222008382queue156503921421504363queue156503922368601322156503922383909034queue156503922744100714queue156503922943207126queue156503924621003508queue156503995606000144queue156503995683802557queue156503999540306642156503999555903832queue156503999649100298156503999666205332queue156598865660003202queue156598871544200433156598871574804089queue156598881470500735queue156598886744204842156598886759505857queue156599412672409889queue156599418602207398156599418635405509", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6c4651e5-6003-0017-0496-2bbaf2000000', + '9a0dcf77-f003-00b3-3f81-548016000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:05 GMT', + 'Fri, 16 Aug 2019 22:23:17 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_setproperties_with_all_parameters.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_setproperties_with_all_parameters.js index 1c0f5a73b4b3..8dff3e2cf782 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_setproperties_with_all_parameters.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_setproperties_with_all_parameters.js @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4d77d378-8003-0070-2496-2b0955000000', + '601f1836-9003-0002-7481-54786b000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:26 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Connection', 'close' ]); @@ -35,11 +35,11 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4ef38d5f-1003-00b2-0c96-2b81eb000000', + '09ab35d9-c003-0038-4c81-543bc8000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:27 GMT', + 'Fri, 16 Aug 2019 22:23:34 GMT', 'Connection', 'close' ]); @@ -56,7 +56,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f6679b6c-2003-001b-5496-2b5403000000', + '89ef03f2-9003-0009-1681-54601f000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -64,7 +64,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:32 GMT', + 'Fri, 16 Aug 2019 22:23:40 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.js index 9368fa3219fc..2cca9587de4d 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiterator_for_listqueues.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149551026808079"} +module.exports.testInfo = {"queue":"queue156599420336905587"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551026808079x1') + .put('/queue156599420336905587x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '928475ca-0003-000c-7896-2b9460000000', + 'a0a5950e-e003-00a7-2181-544372000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:09 GMT', + 'Fri, 16 Aug 2019 22:23:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551026808079x2') + .put('/queue156599420336905587x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e87e6151-5003-00d3-7296-2bc534000000', + 'f2ea23b1-0003-00cb-2781-54e8a1000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:09 GMT', + 'Fri, 16 Aug 2019 22:23:23 GMT', 'Connection', 'close' ]); @@ -39,7 +39,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue156149551026808079queue156149551026808079x1valqueue156149551026808079x2val", [ 'Cache-Control', + .reply(200, "queue156599420336905587queue156599420336905587x1valqueue156599420336905587x2val", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -48,7 +48,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56eb2595-0003-0007-3696-2b8c14000000', + 'd62459b4-2003-00d7-4481-5430b6000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -56,41 +56,41 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:10 GMT', + 'Fri, 16 Aug 2019 22:23:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551026808079x1') + .delete('/queue156599420336905587x1') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7a21713d-8003-00da-7f96-2bdfba000000', + '78d10e2b-b003-00d2-6f81-54c4c9000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:10 GMT', + 'Fri, 16 Aug 2019 22:23:23 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551026808079x2') + .delete('/queue156599420336905587x2') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '815280b9-c003-005e-5396-2b8992000000', + 'f45b1a3d-b003-00bf-6181-546ee7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:10 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.js index b4f3dba73666..a16f2c6e863f 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage__continuationtoken_for_listqueues.js @@ -1,71 +1,71 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149552088309649"} +module.exports.testInfo = {"queue":"queue156599421116704453"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149552088309649x0') + .put('/queue156599421116704453x0') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b5a8b5d5-6003-003e-7196-2bccb0000000', + 'fe6ce54d-f003-009a-0181-54f654000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:20 GMT', + 'Fri, 16 Aug 2019 22:23:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149552088309649x1') + .put('/queue156599421116704453x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '640fa1a9-a003-00a0-7b96-2bb5f7000000', + '624a7a49-7003-00e6-7881-546b61000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:20 GMT', + 'Fri, 16 Aug 2019 22:23:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149552088309649x2') + .put('/queue156599421116704453x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ddecc31d-5003-0014-0f96-2bb9f5000000', + '6a403a52-e003-00c1-7d81-54f128000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:21 GMT', + 'Fri, 16 Aug 2019 22:23:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149552088309649x3') + .put('/queue156599421116704453x3') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f27e3b82-7003-006e-2096-2bd3b8000000', + 'a00c9e4f-1003-00d4-3c81-5433b1000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:22 GMT', + 'Fri, 16 Aug 2019 22:23:31 GMT', 'Connection', 'close' ]); @@ -73,7 +73,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue1561495520883096492queue156149552088309649x0valqueue156149552088309649x1val/fakestorageaccount/queue156149552088309649x2", [ 'Cache-Control', + .reply(200, "queue1565994211167044532queue156599421116704453x0valqueue156599421116704453x1val/fakestorageaccount/queue156599421116704453x2", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -82,7 +82,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48f23014-1003-007e-4a96-2be55e000000', + '415af827-4003-0000-3281-547a91000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -90,7 +90,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:22 GMT', + 'Fri, 16 Aug 2019 22:23:31 GMT', 'Connection', 'close' ]); @@ -98,7 +98,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue156149552088309649/fakestorageaccount/queue156149552088309649x210queue156149552088309649x2valqueue156149552088309649x3val", [ 'Cache-Control', + .reply(200, "queue156599421116704453/fakestorageaccount/queue156599421116704453x210queue156599421116704453x2valqueue156599421116704453x3val", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -107,7 +107,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '384b78b2-f003-00b3-7196-2b8016000000', + 'c8047658-b003-0037-7081-54d63e000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -115,75 +115,75 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:22 GMT', + 'Fri, 16 Aug 2019 22:23:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149552088309649x0') + .delete('/queue156599421116704453x0') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ef865d90-e003-006b-6b96-2b27c7000000', + 'a3fae741-6003-001c-3981-54a286000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:22 GMT', + 'Fri, 16 Aug 2019 22:23:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149552088309649x1') + .delete('/queue156599421116704453x1') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3badb2fa-e003-00ca-4d96-2be95c000000', + '5b521aec-8003-0034-2981-54d539000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:25 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149552088309649x2') + .delete('/queue156599421116704453x2') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2d382572-f003-00de-5096-2b2a38000000', + 'c75aac67-8003-00bc-6981-546de0000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:25 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149552088309649x3') + .delete('/queue156599421116704453x3') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '2878aed5-5003-00b5-4496-2b776e000000', + '2d28a16e-9003-0081-4281-54d8c6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:25 GMT', + 'Fri, 16 Aug 2019 22:23:33 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.js index 6f5bcb6ddacb..ca7b10f55b2c 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorbypage_for_listqueues.js @@ -1,71 +1,71 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149551453404253"} +module.exports.testInfo = {"queue":"queue156599420795907696"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551453404253x0') + .put('/queue156599420795907696x0') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56eb2a0e-0003-0007-7496-2b8c14000000', + '8fc5700a-f003-0091-0a81-54ee20000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:14 GMT', + 'Fri, 16 Aug 2019 22:23:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551453404253x1') + .put('/queue156599420795907696x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a6b3d6d2-2003-0093-6696-2becda000000', + 'd6245b1d-2003-00d7-7981-5430b6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:14 GMT', + 'Fri, 16 Aug 2019 22:23:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551453404253x2') + .put('/queue156599420795907696x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '24874d05-3003-0040-5696-2b537f000000', + '7a632957-3003-00c3-0d81-54f3d2000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:14 GMT', + 'Fri, 16 Aug 2019 22:23:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551453404253x3') + .put('/queue156599420795907696x3') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'e87e67c1-5003-00d3-3c96-2bc534000000', + '2f614717-d003-008d-1481-543637000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:14 GMT', + 'Fri, 16 Aug 2019 22:23:28 GMT', 'Connection', 'close' ]); @@ -73,7 +73,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue1561495514534042532queue156149551453404253x0valqueue156149551453404253x1val/fakestorageaccount/queue156149551453404253x2", [ 'Cache-Control', + .reply(200, "queue1565994207959076962queue156599420795907696x0valqueue156599420795907696x1val/fakestorageaccount/queue156599420795907696x2", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -82,7 +82,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '953d40ac-4003-0000-7d96-2b7a91000000', + 'f2ea2683-0003-00cb-7281-54e8a1000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -90,7 +90,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:15 GMT', + 'Fri, 16 Aug 2019 22:23:29 GMT', 'Connection', 'close' ]); @@ -98,7 +98,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue156149551453404253/fakestorageaccount/queue156149551453404253x22queue156149551453404253x2valqueue156149551453404253x3val", [ 'Cache-Control', + .reply(200, "queue156599420795907696/fakestorageaccount/queue156599420795907696x22queue156599420795907696x2valqueue156599420795907696x3val", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -107,7 +107,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '82f8a8cb-f003-0019-0c96-2b56f9000000', + 'b04ef489-7003-00c4-6e81-540557000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -115,75 +115,75 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:16 GMT', + 'Fri, 16 Aug 2019 22:23:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551453404253x0') + .delete('/queue156599420795907696x0') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0dffbbdf-6003-0058-3396-2b7eea000000', + 'dfab2217-e003-000d-0281-54959d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:15 GMT', + 'Fri, 16 Aug 2019 22:23:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551453404253x1') + .delete('/queue156599420795907696x1') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b5da9814-5003-0079-3f96-2b13db000000', + 'e4654cb7-4003-0044-3181-54a6fd000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:16 GMT', + 'Fri, 16 Aug 2019 22:23:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551453404253x2') + .delete('/queue156599420795907696x2') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ae4d6dad-0003-00e2-7f96-2b9ee3000000', + 'ea532867-d003-00af-5581-545801000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:18 GMT', + 'Fri, 16 Aug 2019 22:23:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551453404253x3') + .delete('/queue156599420795907696x3') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '48da8a5e-2003-0032-3f96-2b2241000000', + 'b7855ccb-e003-006b-7681-5427c7000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:20 GMT', + 'Fri, 16 Aug 2019 22:23:31 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.js index cbf44f1feba7..5eb8de6dcad7 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient/recording_verify_pagedasynciterableiteratorgenerator_next_syntax_for_listqueues.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149551192304292"} +module.exports.testInfo = {"queue":"queue156599420515200422"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551192304292x1') + .put('/queue156599420515200422x1') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '92847858-0003-000c-4d96-2b9460000000', + '91f55121-5003-0079-0d81-5413db000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:11 GMT', + 'Fri, 16 Aug 2019 22:23:24 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149551192304292x2') + .put('/queue156599420515200422x2') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '5db6d7c9-4003-0044-8096-2ba6fd000000', + '2de0d591-d003-00a4-3a81-544075000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:12 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'Connection', 'close' ]); @@ -39,7 +39,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(200, "queue156149551192304292queue156149551192304292x1valqueue156149551192304292x2val", [ 'Cache-Control', + .reply(200, "queue156599420515200422queue156599420515200422x1valqueue156599420515200422x2val", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -48,7 +48,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f7f88ae1-5003-0050-5596-2b6599000000', + '98a9fc84-8003-003f-1f81-54cd4d000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -56,41 +56,41 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:12 GMT', + 'Fri, 16 Aug 2019 22:23:25 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551192304292x1') + .delete('/queue156599420515200422x1') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'fc30ac4c-d003-00af-5d96-2b5801000000', + 'a0bb091d-c003-00dd-7f81-54293f000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:12 GMT', + 'Fri, 16 Aug 2019 22:23:26 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149551192304292x2') + .delete('/queue156599420515200422x2') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b5a8b2ff-6003-003e-2696-2bccb0000000', + '3debaf6d-e003-008e-7d81-543530000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:13 GMT', + 'Fri, 16 Aug 2019 22:23:27 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js index 4fdf187af768..cb86ed94bfcb 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_from_a_connection_string.js @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'a2c7b9a9-b003-001e-5997-2ba07c000000', + '3749ffcc-6003-0035-2981-54d4c4000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:11 GMT', + 'Fri, 16 Aug 2019 22:24:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js index 4f877025835b..44773ed8b109 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential.js @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f27e476f-7003-006e-4c97-2bd3b8000000', + '3d21de0b-f003-003b-3a81-5438cf000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:11 GMT', + 'Fri, 16 Aug 2019 22:24:23 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js index 5f62f7773a92..3aca51d6ed30 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_credential_and_an_option_bag.js @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '47d89063-3003-0087-6a97-2b2fbe000000', + '279a5551-4003-004f-6381-54be89000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:11 GMT', + 'Fri, 16 Aug 2019 22:24:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js index f494695082f1..ed63ef2461fa 100644 --- a/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js +++ b/sdk/storage/storage-queue/recordings/node/queueserviceclient_nodejs_only/recording_can_be_created_with_a_url_and_a_pipeline.js @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '53e78aa5-8003-001d-1897-2ba37b000000', + '4683c643-2003-0039-1a81-543a35000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:12 GMT', + 'Fri, 16 Aug 2019 22:24:24 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js new file mode 100644 index 000000000000..cd3f5197ba74 --- /dev/null +++ b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_abort_when_abort_event_trigger_during_retry_interval.js @@ -0,0 +1,37 @@ +let nock = require('nock'); + +module.exports.testInfo = {"queue":"queue156599422323402218"} + +nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) + .put('/queue156599422323402218') + .query(true) + .reply(201, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '10ae837e-0003-00c0-1b81-54f0d5000000', + 'x-ms-version', + '2018-03-28', + 'Date', + 'Fri, 16 Aug 2019 22:23:42 GMT', + 'Connection', + 'close' ]); + + +nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) + .delete('/queue156599422323402218') + .query(true) + .reply(204, "", [ 'Content-Length', + '0', + 'Server', + 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', + 'x-ms-request-id', + '89ef0985-9003-0009-4881-54601f000000', + 'x-ms-version', + '2018-03-28', + 'Date', + 'Fri, 16 Aug 2019 22:23:45 GMT', + 'Connection', + 'close' ]); + diff --git a/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js index 300127030e0f..ac97f931e712 100644 --- a/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js +++ b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_failed_when_requests_always_fail_with_500.js @@ -1,37 +1,37 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149553420502188"} +module.exports.testInfo = {"queue":"queue156599422587202920"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149553420502188') + .put('/queue156599422587202920') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7e12773d-f003-00d5-6296-2b324c000000', + 'd5a2231c-7003-00a9-3181-54af79000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:33 GMT', + 'Fri, 16 Aug 2019 22:23:45 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149553420502188') + .delete('/queue156599422587202920') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '049921b8-6003-00b6-7c96-2b7469000000', + 'ae923e4a-f003-00de-0d81-542a38000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:38 GMT', + 'Fri, 16 Aug 2019 22:23:51 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js index 7f5e4d82d93e..8edacea1b221 100644 --- a/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js +++ b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_for_secondary_endpoint.js @@ -1,35 +1,35 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149553883704721"} +module.exports.testInfo = {"queue":"queue156599423131706473"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149553883704721') + .put('/queue156599423131706473') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '953d566f-4003-0000-0396-2b7a91000000', + 'd6246336-2003-00d7-3081-5430b6000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:38 GMT', + 'Fri, 16 Aug 2019 22:23:50 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount-secondary.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149553883704721') + .get('/queue156599423131706473') .query(true) - .reply(404, "QueueNotFoundThe specified queue does not exist.\nRequestId:1693b343-3003-00c4-3196-2b1542000000\nTime:2019-06-25T20:45:39.6269987Z", [ 'Content-Length', + .reply(404, "QueueNotFoundThe specified queue does not exist.\nRequestId:baec15d7-9003-002c-6b81-54e8b9000000\nTime:2019-08-16T22:23:54.1877345Z", [ 'Content-Length', '217', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '1693b343-3003-00c4-3196-2b1542000000', + 'baec15d7-9003-002c-6b81-54e8b9000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount-secondary.queue.core.windows.net:443', {"encode 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:39 GMT', + 'Fri, 16 Aug 2019 22:23:53 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149553883704721') + .delete('/queue156599423131706473') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '314d61a6-c003-0055-0496-2b91e6000000', + '481f3102-f003-00b8-4c81-549862000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:39 GMT', + 'Fri, 16 Aug 2019 22:23:54 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js index 080a38151ba4..79f9c2e775cb 100644 --- a/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js +++ b/sdk/storage/storage-queue/recordings/node/retrypolicy/recording_retry_policy_should_work_when_first_request_fails_with_500.js @@ -1,43 +1,43 @@ let nock = require('nock'); -module.exports.testInfo = {"queue":"queue156149553302107018"} +module.exports.testInfo = {"queue":"queue156599422138502023"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149553302107018') + .put('/queue156599422138502023') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '3343163d-e003-0042-0596-2b5185000000', + 'f23afb41-b003-00b4-1c81-547693000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:32 GMT', + 'Fri, 16 Aug 2019 22:23:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149553302107018') + .put('/queue156599422138502023') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ff5117d9-0003-0084-2096-2b2cb9000000', + '2b14875f-8003-0095-4f81-541ba2000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:32 GMT', + 'Fri, 16 Aug 2019 22:23:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149553302107018') + .get('/queue156599422138502023') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -46,7 +46,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '76d4120a-8003-0016-3396-2bbb0f000000', + '2f615165-d003-008d-5f81-543637000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -62,24 +62,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:45:33 GMT', + 'Fri, 16 Aug 2019 22:23:41 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149553302107018') + .delete('/queue156599422138502023') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '924b36af-a003-00c6-1e96-2b07ad000000', + 'c428d975-e003-0060-6381-543fb3000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:45:33 GMT', + 'Fri, 16 Aug 2019 22:23:42 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js index 16f915c1f3d5..50feed0e53e0 100644 --- a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js +++ b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_permission.js @@ -1,18 +1,18 @@ let nock = require('nock'); -module.exports.testInfo = {"tmr":"2019-06-25T20:46:13.193Z"} +module.exports.testInfo = {"tmr":"2019-08-16T22:24:25.721Z"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.\nRequestId:255009bd-a003-0023-6d97-2b155a000000\nTime:2019-06-25T20:46:13.4787092Z", [ 'Content-Length', + .reply(403, "AuthorizationPermissionMismatchThis request is not authorized to perform this operation using this permission.\nRequestId:bf434a74-7003-00a2-5b81-54b70d000000\nTime:2019-08-16T22:24:25.9937740Z", [ 'Content-Length', '279', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '255009bd-a003-0023-6d97-2b155a000000', + 'bf434a74-7003-00a2-5b81-54b70d000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:13 GMT', + 'Fri, 16 Aug 2019 22:24:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js index cb32112983a7..6bbe283f6e1a 100644 --- a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js +++ b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_resource_type.js @@ -1,18 +1,18 @@ let nock = require('nock'); -module.exports.testInfo = {"tmr":"2019-06-25T20:46:13.833Z"} +module.exports.testInfo = {"tmr":"2019-08-16T22:24:26.343Z"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationResourceTypeMismatchThis request is not authorized to perform this operation using this resource type.\nRequestId:b5a8d03a-6003-003e-0397-2bccb0000000\nTime:2019-06-25T20:46:14.2530387Z", [ 'Content-Length', + .reply(403, "AuthorizationResourceTypeMismatchThis request is not authorized to perform this operation using this resource type.\nRequestId:ef5bf174-0003-00ad-6b81-545afb000000\nTime:2019-08-16T22:24:26.8825249Z", [ 'Content-Length', '284', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'b5a8d03a-6003-003e-0397-2bccb0000000', + 'ef5bf174-0003-00ad-6b81-545afb000000', 'x-ms-version', '2018-03-28', 'x-ms-error-code', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:13 GMT', + 'Fri, 16 Aug 2019 22:24:26 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js index 742f628dafea..74c7fc8cbacd 100644 --- a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js +++ b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_not_work_with_invalid_service.js @@ -1,18 +1,18 @@ let nock = require('nock'); -module.exports.testInfo = {"tmr":"2019-06-25T20:46:13.538Z"} +module.exports.testInfo = {"tmr":"2019-08-16T22:24:26.044Z"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') .query(true) - .reply(403, "AuthorizationServiceMismatchThis request is not authorized to perform this operation using this service.\nRequestId:56dcfe85-3003-004b-6897-2b4b0b000000\nTime:2019-06-25T20:46:13.7825216Z", [ 'Content-Length', + .reply(403, "AuthorizationServiceMismatchThis request is not authorized to perform this operation using this service.\nRequestId:59891650-b003-00d9-4081-54dcbd000000\nTime:2019-08-16T22:24:26.2939841Z", [ 'Content-Length', '273', 'Content-Type', 'application/xml', 'Server', 'Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56dcfe85-3003-004b-6897-2b4b0b000000', + '59891650-b003-00d9-4081-54dcbd000000', 'x-ms-error-code', 'AuthorizationServiceMismatch', 'Access-Control-Expose-Headers', @@ -20,7 +20,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:13 GMT', + 'Fri, 16 Aug 2019 22:24:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js index f309674188ff..c47e20e4e97b 100644 --- a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js +++ b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generateaccountsasqueryparameters_should_work.js @@ -1,6 +1,6 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-25T20:46:12.728Z","tmr":"2019-06-25T20:46:12.731Z"} +module.exports.testInfo = {"now":"2019-08-16T22:24:25.387Z","tmr":"2019-08-16T22:24:25.387Z"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) .get('/') @@ -14,7 +14,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '51f28c49-8003-009e-4397-2b03d6000000', + 'c8316aa8-c003-00d6-0881-54314b000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -22,7 +22,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:12 GMT', + 'Fri, 16 Aug 2019 22:24:25 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_messages.js b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_messages.js index b3eb9bb2fedb..e1567e4d0d3b 100644 --- a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_messages.js +++ b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_messages.js @@ -1,47 +1,47 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-25T20:46:15.265Z","tmr":"2019-06-25T20:46:15.265Z","queue":"queue156149557526505342"} +module.exports.testInfo = {"now":"2019-08-16T22:24:29.911Z","tmr":"2019-08-16T22:24:29.911Z","queue":"queue156599426991107312"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149557526505342') + .put('/queue156599426991107312') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '0e142f68-0003-006a-2297-2b263a000000', + '4bee15f7-c003-0077-4481-54ffd0000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:15 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149557526505342/messages', "Hello World!") + .post('/queue156599426991107312/messages', "Hello World!") .query(true) - .reply(201, "c57e05d8-95d7-4ae5-89d7-19aced41f540Tue, 25 Jun 2019 20:46:15 GMTTue, 02 Jul 2019 20:46:15 GMTAgAAAAMAAAAAAAAAJGxmCJcr1QE=Tue, 25 Jun 2019 20:46:15 GMT", [ 'Transfer-Encoding', + .reply(201, "c312ff9c-64e8-4bed-ac0e-8a1d50a586bcFri, 16 Aug 2019 22:24:30 GMTFri, 23 Aug 2019 22:24:30 GMTAgAAAAMAAAAAAAAAk91tX4FU1QE=Fri, 16 Aug 2019 22:24:30 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '56b4d6be-1003-0013-3197-2b4f70000000', + 'c75ab860-8003-00bc-5b81-546de0000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:15 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149557526505342/messages') + .get('/queue156599426991107312/messages') .query(true) - .reply(200, "c57e05d8-95d7-4ae5-89d7-19aced41f540Tue, 25 Jun 2019 20:46:15 GMTTue, 02 Jul 2019 20:46:15 GMT0Hello World!", [ 'Cache-Control', + .reply(200, "c312ff9c-64e8-4bed-ac0e-8a1d50a586bcFri, 16 Aug 2019 22:24:30 GMTFri, 23 Aug 2019 22:24:30 GMT0Hello World!", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -50,7 +50,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4192456a-7003-0008-4a97-2b61e2000000', + '374a00fd-6003-0035-0181-54d4c4000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -58,30 +58,30 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:15 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149557526505342/messages/c57e05d8-95d7-4ae5-89d7-19aced41f540') + .delete('/queue156599426991107312/messages/c312ff9c-64e8-4bed-ac0e-8a1d50a586bc') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'db282893-4003-000b-2897-2b62e5000000', + '6989596f-f003-0030-3681-5420bb000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:16 GMT', + 'Fri, 16 Aug 2019 22:24:30 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149557526505342/messages') + .get('/queue156599426991107312/messages') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -92,7 +92,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f27e4872-7003-006e-1697-2bd3b8000000', + '960a25a3-3003-004b-6381-544b0b000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -100,24 +100,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:16 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149557526505342') + .delete('/queue156599426991107312') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '04996d04-6003-00b6-1d97-2b7469000000', + 'da98f458-e003-0085-2781-542d44000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:16 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue.js b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue.js index 9f03aa065051..e80a99bf5664 100644 --- a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue.js +++ b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue.js @@ -1,26 +1,26 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-25T20:46:14.310Z","tmr":"2019-06-25T20:46:14.310Z","queue":"queue156149557431008402"} +module.exports.testInfo = {"now":"2019-08-16T22:24:26.939Z","tmr":"2019-08-16T22:24:26.939Z","queue":"queue156599426693909447"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149557431008402') + .put('/queue156599426693909447') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '6c468714-6003-0017-3d97-2bbaf2000000', + '9bb1c408-a003-0023-1781-54155a000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:13 GMT', + 'Fri, 16 Aug 2019 22:24:27 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149557431008402') + .get('/queue156599426693909447') .query(true) .reply(200, "", [ 'Cache-Control', 'no-cache', @@ -29,7 +29,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ff513339-0003-0084-7197-2b2cb9000000', + '2de0e484-d003-00a4-7781-544075000000', 'x-ms-version', '2018-03-28', 'x-ms-approximate-messages-count', @@ -39,24 +39,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:14 GMT', + 'Fri, 16 Aug 2019 22:24:28 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149557431008402') + .delete('/queue156599426693909447') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '51f2918e-8003-009e-4e97-2b03d6000000', + '320cf0a4-5003-0050-4981-546599000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:14 GMT', + 'Fri, 16 Aug 2019 22:24:29 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue_with_access_policy.js b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue_with_access_policy.js index 005326f37031..5ec464e06e73 100644 --- a/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue_with_access_policy.js +++ b/sdk/storage/storage-queue/recordings/node/shared_access_signature_sas_generation_nodejs_only/recording_generatequeuesasqueryparameters_should_work_for_queue_with_access_policy.js @@ -1,64 +1,64 @@ let nock = require('nock'); -module.exports.testInfo = {"now":"2019-06-25T20:46:17.083Z","tmr":"2019-06-25T20:46:17.083Z","queue":"queue156149557708300014"} +module.exports.testInfo = {"now":"2019-08-16T22:24:31.859Z","tmr":"2019-08-16T22:24:31.859Z","queue":"queue156599427185901348"} nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149557708300014') + .put('/queue156599427185901348') .query(true) .reply(201, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '606c29e9-7003-00a2-6397-2bb70d000000', + 'b8656b88-3003-0004-7781-548f13000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:16 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .put('/queue156149557708300014', "unique-id2019-06-25T20:41:17.0830000Z2019-06-26T20:46:17.0830000Zraup") + .put('/queue156599427185901348', "unique-id2019-08-16T22:19:31.8590000Z2019-08-17T22:24:31.8590000Zraup") .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'f8b57ef3-a003-0089-0c97-2bc3b5000000', + 'bf9d9784-f003-007f-4281-54e4a3000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:17 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .post('/queue156149557708300014/messages', "hello") + .post('/queue156599427185901348/messages', "hello") .query(true) - .reply(201, "35eab79a-991e-4a2f-8eca-7454abce9e75Tue, 25 Jun 2019 20:46:18 GMTTue, 02 Jul 2019 20:46:18 GMTAgAAAAMAAAAAAAAAShvCCZcr1QE=Tue, 25 Jun 2019 20:46:18 GMT", [ 'Transfer-Encoding', + .reply(201, "14a84a16-024e-4934-9823-ee3db2b19b55Fri, 16 Aug 2019 22:24:32 GMTFri, 23 Aug 2019 22:24:32 GMTAgAAAAMAAAAAAAAA6KayYIFU1QE=Fri, 16 Aug 2019 22:24:32 GMT", [ 'Transfer-Encoding', 'chunked', 'Content-Type', 'application/xml', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'ea28b18b-9003-0020-6197-2b165d000000', + '41fc661e-1003-00df-6b81-542bc5000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:18 GMT', + 'Fri, 16 Aug 2019 22:24:31 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149557708300014/messages') + .get('/queue156599427185901348/messages') .query(true) - .reply(200, "35eab79a-991e-4a2f-8eca-7454abce9e75Tue, 25 Jun 2019 20:46:18 GMTTue, 02 Jul 2019 20:46:18 GMT0hello", [ 'Cache-Control', + .reply(200, "14a84a16-024e-4934-9823-ee3db2b19b55Fri, 16 Aug 2019 22:24:32 GMTFri, 23 Aug 2019 22:24:32 GMT0hello", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -67,7 +67,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - 'cf11fd85-f003-007f-0e97-2be4a3000000', + '4e69243f-f003-0074-1a81-54fcd7000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -75,15 +75,15 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:17 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .get('/queue156149557708300014/messages') + .get('/queue156599427185901348/messages') .query(true) - .reply(200, "35eab79a-991e-4a2f-8eca-7454abce9e75Tue, 25 Jun 2019 20:46:18 GMTTue, 02 Jul 2019 20:46:18 GMTAgAAAAMAAAAAAAAApKG0Cpcr1QE=Tue, 25 Jun 2019 20:46:19 GMT1hello", [ 'Cache-Control', + .reply(200, "14a84a16-024e-4934-9823-ee3db2b19b55Fri, 16 Aug 2019 22:24:32 GMTFri, 23 Aug 2019 22:24:32 GMTAgAAAAMAAAAAAAAAW8KpYYFU1QE=Fri, 16 Aug 2019 22:24:34 GMT1hello", [ 'Cache-Control', 'no-cache', 'Transfer-Encoding', 'chunked', @@ -92,7 +92,7 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '4d7858dc-8003-0070-4997-2b0955000000', + '415b1b94-4003-0000-7381-547a91000000', 'x-ms-version', '2018-03-28', 'Access-Control-Expose-Headers', @@ -100,24 +100,24 @@ nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryPara 'Access-Control-Allow-Origin', '*', 'Date', - 'Tue, 25 Jun 2019 20:46:18 GMT', + 'Fri, 16 Aug 2019 22:24:32 GMT', 'Connection', 'close' ]); nock('https://fakestorageaccount.queue.core.windows.net:443', {"encodedQueryParams":true}) - .delete('/queue156149557708300014/messages/35eab79a-991e-4a2f-8eca-7454abce9e75') + .delete('/queue156599427185901348/messages/14a84a16-024e-4934-9823-ee3db2b19b55') .query(true) .reply(204, "", [ 'Content-Length', '0', 'Server', 'Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0', 'x-ms-request-id', - '7e129e89-f003-00d5-5197-2b324c000000', + '53427fe3-2003-0076-5b81-54fe2d000000', 'x-ms-version', '2018-03-28', 'Date', - 'Tue, 25 Jun 2019 20:46:20 GMT', + 'Fri, 16 Aug 2019 22:24:34 GMT', 'Connection', 'close' ]); diff --git a/sdk/storage/storage-queue/rollup.base.config.js b/sdk/storage/storage-queue/rollup.base.config.js index 420392a35ac0..1c87925db338 100644 --- a/sdk/storage/storage-queue/rollup.base.config.js +++ b/sdk/storage/storage-queue/rollup.base.config.js @@ -108,10 +108,7 @@ export function browserConfig(test = false, production = false) { }), cjs({ namedExports: { - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 - "assert/": ["ok", "deepEqual", "equal", "fail", "deepStrictEqual"] + assert: ["ok", "deepEqual", "equal", "fail", "deepStrictEqual"] } }) ] diff --git a/sdk/storage/storage-queue/samples/javascript/customPipeline.js b/sdk/storage/storage-queue/samples/javascript/customPipeline.js index 93c70a06535c..5a966dc4dc5b 100644 --- a/sdk/storage/storage-queue/samples/javascript/customPipeline.js +++ b/sdk/storage/storage-queue/samples/javascript/customPipeline.js @@ -51,7 +51,11 @@ async function main() { }, // Retry options telemetry: { value: "BasicSample V10.0.0" - } // Customized telemetry string + }, // Customized telemetry string + keepAliveOptions: { + // Keep alive is enabled by default, disable keep alive by setting false + enable: false + } }); const queueServiceClient = new QueueServiceClient( diff --git a/sdk/storage/storage-queue/samples/typescript/basic.ts b/sdk/storage/storage-queue/samples/typescript/basic.ts index 210b64c73cc7..eb7ee4bc1d92 100644 --- a/sdk/storage/storage-queue/samples/typescript/basic.ts +++ b/sdk/storage/storage-queue/samples/typescript/basic.ts @@ -2,7 +2,7 @@ Setup: Enter your storage account name and shared key in main() */ -import { QueueServiceClient, newPipeline, SharedKeyCredential } from "../../src"; // Change to "@azure/storage-queue" in your package +import { QueueServiceClient, SharedKeyCredential } from "../../src"; // Change to "@azure/storage-queue" in your package async function main() { // Enter your storage account name and shared key @@ -37,23 +37,11 @@ async function main() { // Use AnonymousCredential when url already includes a SAS signature // const anonymousCredential = new AnonymousCredential(); - // Use sharedKeyCredential, tokenCredential or anonymousCredential to create a pipeline - const pipeline = newPipeline(sharedKeyCredential, { - // httpClient: MyHTTPClient, // A customized HTTP client implementing IHttpClient interface - // logger: MyLogger, // A customized logger implementing IHttpPipelineLogger interface - retryOptions: { - maxTries: 4 - }, // Retry options - telemetry: { - value: "BasicSample/V11.0.0" - } // Customized telemetry string - }); - // List queues const queueServiceClient = new QueueServiceClient( // When using AnonymousCredential, following url should include a valid SAS or support public access `https://${account}.queue.core.windows.net`, - pipeline + sharedKeyCredential ); console.log(`List queues`); diff --git a/sdk/storage/storage-queue/samples/typescript/customPipeline.ts b/sdk/storage/storage-queue/samples/typescript/customPipeline.ts index ab842c2862c3..c52a1b349683 100644 --- a/sdk/storage/storage-queue/samples/typescript/customPipeline.ts +++ b/sdk/storage/storage-queue/samples/typescript/customPipeline.ts @@ -2,7 +2,12 @@ Setup: Enter your storage account name and shared key in main() */ -import { QueueServiceClient, newPipeline, SharedKeyCredential, HttpPipelineLogLevel } from "../../src"; // Change to "@azure/storage-queue" in your package +import { + QueueServiceClient, + newPipeline, + SharedKeyCredential, + HttpPipelineLogLevel +} from "../../src"; // Change to "@azure/storage-queue" in your package class ConsoleHttpPipelineLogger { minimumLogLevel: any; @@ -47,7 +52,11 @@ async function main() { }, // Retry options telemetry: { value: "BasicSample V10.0.0" - } // Customized telemetry string + }, // Customized telemetry string + keepAliveOptions: { + // Keep alive is enabled by default, disable keep alive by setting false + enable: false + } }); const queueServiceClient = new QueueServiceClient( diff --git a/sdk/storage/storage-queue/src/KeepAlivePolicyFactory.ts b/sdk/storage/storage-queue/src/KeepAlivePolicyFactory.ts new file mode 100644 index 000000000000..f09480463d4c --- /dev/null +++ b/sdk/storage/storage-queue/src/KeepAlivePolicyFactory.ts @@ -0,0 +1,34 @@ +import { RequestPolicy, RequestPolicyFactory, RequestPolicyOptions } from "@azure/core-http"; + +import { KeepAlivePolicy } from "./policies/KeepAlivePolicy"; + +/** + * Interface of KeepAlivePolicy options. + * + * @export + * @interface KeepAliveOptions + */ +export interface KeepAliveOptions { + enable: boolean; +} + +/** + * KeepAlivePolicyFactory is a factory class helping generating KeepAlivePolicy objects. + * + * @export + * @class KeepAlivePolicyFactory + * @implements {RequestPolicyFactory} + */ +export class KeepAlivePolicyFactory implements RequestPolicyFactory { + /** + * Creates an instance of KeepAlivePolicyFactory. + * + * @param {KeepAliveOptions} [telemetry] + * @memberof KeepAlivePolicyFactory + */ + constructor(private readonly keepAliveOptions: KeepAliveOptions = { enable: true }) {} + + public create(nextPolicy: RequestPolicy, options: RequestPolicyOptions): KeepAlivePolicy { + return new KeepAlivePolicy(nextPolicy, options, this.keepAliveOptions); + } +} diff --git a/sdk/storage/storage-queue/src/Pipeline.ts b/sdk/storage/storage-queue/src/Pipeline.ts index cb7f76686a12..80a7cddcf203 100644 --- a/sdk/storage/storage-queue/src/Pipeline.ts +++ b/sdk/storage/storage-queue/src/Pipeline.ts @@ -22,6 +22,7 @@ import { isTokenCredential, bearerTokenAuthenticationPolicy } from "@azure/core-http"; +import { KeepAliveOptions, KeepAlivePolicyFactory } from "./KeepAlivePolicyFactory"; import { BrowserPolicyFactory } from "./BrowserPolicyFactory"; import { LoggingPolicyFactory } from "./LoggingPolicyFactory"; import { RetryOptions, RetryPolicyFactory } from "./RetryPolicyFactory"; @@ -168,6 +169,14 @@ export interface NewPipelineOptions { */ retryOptions?: RetryOptions; + /** + * Keep alive configurations. Default keep-alive is enabled. + * + * @type {KeepAliveOptions} + * @memberof NewPipelineOptions + */ + keepAliveOptions?: KeepAliveOptions; + /** * Configures the HTTP pipeline logger. * @@ -203,6 +212,7 @@ export function newPipeline( // The credential's policy factory must appear close to the wire so it can sign any // changes made by other factories (like UniqueRequestIDPolicyFactory) const factories: RequestPolicyFactory[] = [ + new KeepAlivePolicyFactory(pipelineOptions.keepAliveOptions), new TelemetryPolicyFactory(pipelineOptions.telemetry), new UniqueRequestIDPolicyFactory(), new BrowserPolicyFactory(), diff --git a/sdk/storage/storage-queue/src/QueueServiceClient.ts b/sdk/storage/storage-queue/src/QueueServiceClient.ts index 36f9a425dda5..a1dc478ef573 100644 --- a/sdk/storage/storage-queue/src/QueueServiceClient.ts +++ b/sdk/storage/storage-queue/src/QueueServiceClient.ts @@ -4,7 +4,7 @@ import { TokenCredential, isTokenCredential, isNode } from "@azure/core-http"; import * as Models from "./generated/lib/models"; import { AbortSignalLike, AbortSignal } from "@azure/abort-controller"; -import { ListQueuesIncludeType } from "./generated/lib/models/index"; +import { ListQueuesIncludeType } from "./generated/lib/models"; import { Service } from "./generated/lib/operations"; import { newPipeline, NewPipelineOptions, Pipeline } from "./Pipeline"; import { StorageClient } from "./StorageClient"; diff --git a/sdk/storage/storage-queue/src/RetryPolicyFactory.ts b/sdk/storage/storage-queue/src/RetryPolicyFactory.ts index 2757b8b1351c..2265b35f5f7c 100644 --- a/sdk/storage/storage-queue/src/RetryPolicyFactory.ts +++ b/sdk/storage/storage-queue/src/RetryPolicyFactory.ts @@ -4,6 +4,8 @@ import { RequestPolicy, RequestPolicyFactory, RequestPolicyOptions } from "@azure/core-http"; import { RetryPolicy, RetryPolicyType } from "./policies/RetryPolicy"; +export { RetryPolicyType } from "./policies/RetryPolicy"; + /** * Retry options interface. * diff --git a/sdk/storage/storage-queue/src/index.browser.ts b/sdk/storage/storage-queue/src/index.browser.ts index 332aa8fd3326..bf993e5b8d1f 100644 --- a/sdk/storage/storage-queue/src/index.browser.ts +++ b/sdk/storage/storage-queue/src/index.browser.ts @@ -3,7 +3,7 @@ import { RestError } from "@azure/core-http"; -import * as Models from "../src/generated/lib/models"; +import * as Models from "./generated/lib/models"; export * from "./credentials/AnonymousCredential"; export * from "./credentials/Credential"; diff --git a/sdk/storage/storage-queue/src/index.ts b/sdk/storage/storage-queue/src/index.ts index 074e55fd1802..c8b1359fdabf 100644 --- a/sdk/storage/storage-queue/src/index.ts +++ b/sdk/storage/storage-queue/src/index.ts @@ -3,7 +3,7 @@ import { RestError } from "@azure/core-http"; -import * as Models from "../src/generated/lib/models"; +import * as Models from "./generated/lib/models"; export * from "./AccountSASPermissions"; export * from "./AccountSASResourceTypes"; diff --git a/sdk/storage/storage-queue/src/policies/KeepAlivePolicy.ts b/sdk/storage/storage-queue/src/policies/KeepAlivePolicy.ts new file mode 100644 index 000000000000..dbae734f58d4 --- /dev/null +++ b/sdk/storage/storage-queue/src/policies/KeepAlivePolicy.ts @@ -0,0 +1,45 @@ +import { + BaseRequestPolicy, + HttpOperationResponse, + RequestPolicy, + RequestPolicyOptions, + WebResource +} from "@azure/core-http"; + +import { KeepAliveOptions } from "../KeepAlivePolicyFactory"; + +/** + * KeepAlivePolicy is a policy used to control keep alive settings for every request. + * + * @class KeepAlivePolicy + * @extends {BaseRequestPolicy} + */ +export class KeepAlivePolicy extends BaseRequestPolicy { + /** + * Creates an instance of KeepAlivePolicy. + * + * @param {RequestPolicy} nextPolicy + * @param {RequestPolicyOptions} options + * @param {IKeepAliveOptions} [keepAliveOptions] + * @memberof KeepAlivePolicy + */ + constructor( + nextPolicy: RequestPolicy, + options: RequestPolicyOptions, + private readonly keepAliveOptions: KeepAliveOptions + ) { + super(nextPolicy, options); + } + + /** + * Sends out request. + * + * @param {WebResource} request + * @returns {Promise} + * @memberof KeepAlivePolicy + */ + public async sendRequest(request: WebResource): Promise { + request.keepAlive = this.keepAliveOptions.enable; + return this._nextPolicy.sendRequest(request); + } +} diff --git a/sdk/storage/storage-queue/src/policies/RetryPolicy.ts b/sdk/storage/storage-queue/src/policies/RetryPolicy.ts index bbc123163b63..5c55e1a07caa 100644 --- a/sdk/storage/storage-queue/src/policies/RetryPolicy.ts +++ b/sdk/storage/storage-queue/src/policies/RetryPolicy.ts @@ -2,8 +2,8 @@ // Licensed under the MIT License. import { + AbortSignalLike, BaseRequestPolicy, - delay, HttpOperationResponse, HttpPipelineLogLevel, RequestPolicy, @@ -15,7 +15,7 @@ import { import { RetryOptions } from "../RetryPolicyFactory"; import { URLConstants } from "../utils/constants"; -import { setURLHost, setURLParameter } from "../utils/utils.common"; +import { delay, setURLHost, setURLParameter } from "../utils/utils.common"; /** * A factory method used to generated a RetryPolicy factory. @@ -56,9 +56,11 @@ const DEFAULT_RETRY_OPTIONS: RetryOptions = { retryDelayInMs: 4 * 1000, retryPolicyType: RetryPolicyType.EXPONENTIAL, secondaryHost: "", - tryTimeoutInMs: 30 * 1000 //https://docs.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations + tryTimeoutInMs: 30 * 1000 // https://docs.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations }; +const RETRY_ABORT_ERROR = new RestError("The request was aborted", RestError.REQUEST_ABORTED_ERROR); + /** * Retry policy with exponential retry and linear retry implemented. * @@ -198,7 +200,7 @@ export class RetryPolicy extends BaseRequestPolicy { } } - await this.delay(isPrimaryRetry, attempt); + await this.delay(isPrimaryRetry, attempt, request.abortSignal); return await this.attemptSendRequest(request, secondaryHas404, ++attempt); } @@ -245,7 +247,11 @@ export class RetryPolicy extends BaseRequestPolicy { if ( err.name.toUpperCase().includes(retriableError) || err.message.toUpperCase().includes(retriableError) || - (err.code && err.code.toUpperCase().includes(retriableError)) + (err.code && + err.code + .toString() + .toUpperCase() + .includes(retriableError)) ) { this.logf( HttpPipelineLogLevel.INFO, @@ -299,10 +305,11 @@ export class RetryPolicy extends BaseRequestPolicy { * @private * @param {boolean} isPrimaryRetry * @param {number} attempt + * @param {AbortSignalLike} [abortSignal] * @returns * @memberof RetryPolicy */ - private async delay(isPrimaryRetry: boolean, attempt: number) { + private async delay(isPrimaryRetry: boolean, attempt: number, abortSignal?: AbortSignalLike) { let delayTimeInMs: number = 0; if (isPrimaryRetry) { @@ -322,6 +329,6 @@ export class RetryPolicy extends BaseRequestPolicy { } this.logf(HttpPipelineLogLevel.INFO, `RetryPolicy: Delay for ${delayTimeInMs}ms`); - return delay(delayTimeInMs); + return delay(delayTimeInMs, abortSignal, RETRY_ABORT_ERROR); } } diff --git a/sdk/storage/storage-queue/src/utils/constants.ts b/sdk/storage/storage-queue/src/utils/constants.ts index 5b3f8d8c4002..2e075e402c99 100644 --- a/sdk/storage/storage-queue/src/utils/constants.ts +++ b/sdk/storage/storage-queue/src/utils/constants.ts @@ -2,7 +2,7 @@ // Licensed under the MIT License. export const SDK_VERSION: string = "12.0.0-preview.2"; -export const SERVICE_VERSION: string = "2018-03-28"; +export const SERVICE_VERSION: string = "2018-11-09"; export const URLConstants = { Parameters: { diff --git a/sdk/storage/storage-queue/src/utils/utils.common.ts b/sdk/storage/storage-queue/src/utils/utils.common.ts index a4c92d2094af..8a42b88dfbd0 100644 --- a/sdk/storage/storage-queue/src/utils/utils.common.ts +++ b/sdk/storage/storage-queue/src/utils/utils.common.ts @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. - +import { AbortSignalLike } from "@azure/abort-controller"; import { HttpHeaders, URLBuilder } from "@azure/core-http"; import { HeaderConstants, URLConstants } from "./constants"; @@ -210,6 +210,39 @@ export function truncatedISO8061Date(date: Date, withMilliseconds: boolean = tru : dateString.substring(0, dateString.length - 5) + "Z"; } +/** + * Delay specified time interval. + * + * @export + * @param {number} timeInMs + * @param {AbortSignalLike} [aborter] + * @param {Error} [abortError] + */ +export async function delay(timeInMs: number, aborter?: AbortSignalLike, abortError?: Error) { + return new Promise((resolve, reject) => { + let timeout: any; + + const abortHandler = () => { + if (timeout !== undefined) { + clearTimeout(timeout); + } + reject(abortError); + }; + + const resolveHandler = () => { + if (aborter !== undefined) { + aborter.removeEventListener("abort", abortHandler); + } + resolve(); + }; + + timeout = setTimeout(resolveHandler, timeInMs); + if (aborter !== undefined) { + aborter.addEventListener("abort", abortHandler); + } + }); +} + /** * String.prototype.padStart() * diff --git a/sdk/storage/storage-queue/test/retrypolicy.spec.ts b/sdk/storage/storage-queue/test/retrypolicy.spec.ts index 6434f1211983..696a2603e06e 100644 --- a/sdk/storage/storage-queue/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-queue/test/retrypolicy.spec.ts @@ -1,11 +1,13 @@ import { URLBuilder } from "@azure/core-http"; import * as assert from "assert"; import { QueueClient, RestError, newPipeline } from "../src"; +import * as dotenv from "dotenv"; +import { AbortController } from "@azure/abort-controller"; import { Pipeline } from "../src/Pipeline"; import { getQSU } from "./utils"; import { InjectorPolicyFactory } from "./utils/InjectorPolicyFactory"; import { record } from "./utils/recorder"; -import * as dotenv from "dotenv"; + dotenv.config({ path: "../.env" }); describe("RetryPolicy", () => { @@ -51,6 +53,39 @@ describe("RetryPolicy", () => { assert.deepEqual(result.metadata, metadata); }); + it("Retry Policy should abort when abort event trigger during retry interval", async () => { + let injectCounter = 0; + const injector = new InjectorPolicyFactory(() => { + if (injectCounter < 2) { + injectCounter++; + return new RestError("Server Internal Error", "ServerInternalError", 500); + } + }); + + const factories = (queueClient as any).pipeline.factories.slice(); // clone factories array + factories.push(injector); + const pipeline = new Pipeline(factories); + const injectqueueClient = new QueueClient(queueClient.url, pipeline); + + const metadata = { + key0: "val0", + keya: "vala", + keyb: "valb" + }; + + let hasError = false; + try { + // Default exponential retry delay is 4000ms. Wait for 2000ms to abort which makes sure the aborter + // happens between 2 requests + await injectqueueClient.setMetadata(metadata, { + abortSignal: AbortController.timeout(2 * 1000) + }); + } catch (err) { + hasError = true; + } + assert.ok(hasError); + }); + it("Retry policy should failed when requests always fail with 500", async () => { const injector = new InjectorPolicyFactory(() => { return new RestError("Server Internal Error", "ServerInternalError", 500); diff --git a/sdk/streamanalytics/arm-streamanalytics/LICENSE.txt b/sdk/streamanalytics/arm-streamanalytics/LICENSE.txt index a70e8cf66038..b73b4a1293c3 100644 --- a/sdk/streamanalytics/arm-streamanalytics/LICENSE.txt +++ b/sdk/streamanalytics/arm-streamanalytics/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/streamanalytics/arm-streamanalytics/README.md b/sdk/streamanalytics/arm-streamanalytics/README.md index ba85cc2e1067..e44107069e4f 100644 --- a/sdk/streamanalytics/arm-streamanalytics/README.md +++ b/sdk/streamanalytics/arm-streamanalytics/README.md @@ -9,7 +9,7 @@ This package contains an isomorphic SDK for StreamAnalyticsManagementClient. ### How to Install -``` +```bash npm install @azure/arm-streamanalytics ``` @@ -19,13 +19,13 @@ npm install @azure/arm-streamanalytics ##### Install @azure/ms-rest-nodeauth -``` +```bash npm install @azure/ms-rest-nodeauth ``` ##### Sample code -```ts +```typescript import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; @@ -47,7 +47,7 @@ msRestNodeAuth.interactiveLogin().then((creds) => { ##### Install @azure/ms-rest-browserauth -``` +```bash npm install @azure/ms-rest-browserauth ``` @@ -95,5 +95,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) - ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/streamanalytics/arm-streamanalytics/README.png) diff --git a/sdk/streamanalytics/arm-streamanalytics/package.json b/sdk/streamanalytics/arm-streamanalytics/package.json index cdf70f76595b..76d7b9bde097 100644 --- a/sdk/streamanalytics/arm-streamanalytics/package.json +++ b/sdk/streamanalytics/arm-streamanalytics/package.json @@ -2,11 +2,11 @@ "name": "@azure/arm-streamanalytics", "author": "Microsoft Corporation", "description": "StreamAnalyticsManagementClient Library with typescript type definitions for node.js and browser.", - "version": "1.1.0", + "version": "1.1.1", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.0", + "@azure/ms-rest-js": "^2.0.3", + "tslib": "^1.10.0" }, "keywords": [ "node", @@ -23,15 +23,16 @@ "typescript": "^3.1.1", "rollup": "^0.66.2", "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/streamanalytics/arm-streamanalytics", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/streamanalytics/arm-streamanalytics", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", @@ -43,6 +44,7 @@ "esm/**/*.d.ts", "esm/**/*.d.ts.map", "src/**/*.ts", + "README.md", "rollup.config.js", "tsconfig.json" ], @@ -52,5 +54,5 @@ "prepack": "npm install && npm run build" }, "sideEffects": false, - "authPublish": true + "autoPublish": true } diff --git a/sdk/streamanalytics/arm-streamanalytics/rollup.config.js b/sdk/streamanalytics/arm-streamanalytics/rollup.config.js index b7b61a5fb1b7..bb8afd2ed8b8 100644 --- a/sdk/streamanalytics/arm-streamanalytics/rollup.config.js +++ b/sdk/streamanalytics/arm-streamanalytics/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/streamAnalyticsManagementClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/streamAnalyticsManagementClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-streamanalytics.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ module: true }), + sourcemaps() ] }; + export default config; diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/functionsMappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/functionsMappers.ts index 50bb1383fc76..02c1d2e9080c 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/functionsMappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/functionsMappers.ts @@ -1,70 +1,67 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - FunctionModel, - SubResource, + AvroSerialization, + AzureDataLakeStoreOutputDataSource, + AzureMachineLearningWebServiceFunctionBinding, + AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, + AzureMachineLearningWebServiceInputColumn, + AzureMachineLearningWebServiceInputs, + AzureMachineLearningWebServiceOutputColumn, + AzureSqlDatabaseOutputDataSource, + AzureTableOutputDataSource, BaseResource, - FunctionProperties, - FunctionsCreateOrReplaceHeaders, + BlobOutputDataSource, + BlobReferenceInputDataSource, + BlobStreamInputDataSource, CloudError, - FunctionsUpdateHeaders, - FunctionsGetHeaders, - FunctionListResult, - ResourceTestStatus, + CsvSerialization, + DiagnosticCondition, + Diagnostics, + DocumentDbOutputDataSource, ErrorResponse, + EventHubOutputDataSource, + EventHubStreamInputDataSource, + FunctionBinding, + FunctionInput, + FunctionListResult, + FunctionModel, + FunctionOutput, + FunctionProperties, FunctionRetrieveDefaultDefinitionParameters, + FunctionsCreateOrReplaceHeaders, + FunctionsGetHeaders, + FunctionsUpdateHeaders, Input, InputProperties, - Serialization, - Diagnostics, - DiagnosticCondition, - Transformation, + IoTHubStreamInputDataSource, + JavaScriptFunctionBinding, + JavaScriptFunctionRetrieveDefaultDefinitionParameters, + JsonSerialization, Output, OutputDataSource, + PowerBIOutputDataSource, + ReferenceInputDataSource, + ReferenceInputProperties, Resource, + ResourceTestStatus, ScalarFunctionProperties, - FunctionInput, - FunctionOutput, - FunctionBinding, - AvroSerialization, - JsonSerialization, - CsvSerialization, - AzureDataLakeStoreOutputDataSource, - PowerBIOutputDataSource, - ServiceBusTopicOutputDataSource, + Serialization, ServiceBusQueueOutputDataSource, - DocumentDbOutputDataSource, - AzureSqlDatabaseOutputDataSource, - EventHubOutputDataSource, - AzureTableOutputDataSource, - BlobOutputDataSource, + ServiceBusTopicOutputDataSource, + Sku, StorageAccount, - ReferenceInputProperties, - ReferenceInputDataSource, - StreamInputProperties, + StreamingJob, StreamInputDataSource, - AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, - JavaScriptFunctionRetrieveDefaultDefinitionParameters, + StreamInputProperties, + SubResource, SubscriptionQuota, - StreamingJob, - Sku, - JavaScriptFunctionBinding, - AzureMachineLearningWebServiceFunctionBinding, - AzureMachineLearningWebServiceInputs, - AzureMachineLearningWebServiceInputColumn, - AzureMachineLearningWebServiceOutputColumn, - BlobReferenceInputDataSource, - IoTHubStreamInputDataSource, - EventHubStreamInputDataSource, - BlobStreamInputDataSource + Transformation } from "../models/mappers"; - diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/index.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/index.ts index 261a702c22be..3fb7ebbfe54a 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/index.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/index.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; @@ -13,78 +11,55 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; - /** - * @interface - * An interface representing OperationDisplay. - * Contains the localized display information for this particular operation / - * action. - * + * Contains the localized display information for this particular operation / action. */ export interface OperationDisplay { /** - * @member {string} [provider] The localized friendly form of the resource - * provider name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly form of the resource provider name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provider?: string; /** - * @member {string} [resource] The localized friendly form of the resource - * type related to this action/operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly form of the resource type related to this action/operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly resource?: string; /** - * @member {string} [operation] The localized friendly name for the - * operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly name for the operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly operation?: string; /** - * @member {string} [description] The localized friendly description for the - * operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly description for the operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly description?: string; } /** - * @interface - * An interface representing Operation. * A Stream Analytics REST API operation - * */ export interface Operation { /** - * @member {string} [name] The name of the operation being performed on this - * particular object. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The name of the operation being performed on this particular object. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {OperationDisplay} [display] Contains the localized display - * information for this particular operation / action. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Contains the localized display information for this particular operation / action. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly display?: OperationDisplay; } /** - * @interface - * An interface representing Sku. * The properties that are associated with a SKU. - * */ export interface Sku { /** - * @member {SkuName} [name] The name of the SKU. Required on PUT - * (CreateOrReplace) requests. Possible values include: 'Standard' + * The name of the SKU. Required on PUT (CreateOrReplace) requests. Possible values include: + * 'Standard' */ name?: SkuName; } @@ -95,65 +70,48 @@ export interface Sku { export type SerializationUnion = Serialization | AvroSerialization | JsonSerialization | CsvSerialization; /** - * @interface - * An interface representing Serialization. - * Describes how data from an input is serialized or how data is serialized - * when written to an output. - * + * Describes how data from an input is serialized or how data is serialized when written to an + * output. */ export interface Serialization { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Serialization"; } /** - * @interface - * An interface representing DiagnosticCondition. - * Condition applicable to the resource, or to the job overall, that warrant - * customer attention. - * + * Condition applicable to the resource, or to the job overall, that warrant customer attention. */ export interface DiagnosticCondition { /** - * @member {string} [since] The UTC timestamp of when the condition started. - * Customers should be able to find a corresponding event in the ops log - * around this time. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The UTC timestamp of when the condition started. Customers should be able to find a + * corresponding event in the ops log around this time. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly since?: string; /** - * @member {string} [code] The opaque diagnostic code. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The opaque diagnostic code. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly code?: string; /** - * @member {string} [message] The human-readable message describing the - * condition in detail. Localized in the Accept-Language of the client - * request. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The human-readable message describing the condition in detail. Localized in the + * Accept-Language of the client request. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly message?: string; } /** - * @interface - * An interface representing Diagnostics. - * Describes conditions applicable to the Input, Output, or the job overall, - * that warrant customer attention. - * + * Describes conditions applicable to the Input, Output, or the job overall, that warrant customer + * attention. */ export interface Diagnostics { /** - * @member {DiagnosticCondition[]} [conditions] A collection of zero or more - * conditions applicable to the resource, or to the job overall, that warrant - * customer attention. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * A collection of zero or more conditions applicable to the resource, or to the job overall, + * that warrant customer attention. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly conditions?: DiagnosticCondition[]; } @@ -164,111 +122,84 @@ export interface Diagnostics { export type InputPropertiesUnion = InputProperties | ReferenceInputProperties | StreamInputProperties; /** - * @interface - * An interface representing InputProperties. * The properties that are associated with an input. - * */ export interface InputProperties { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "InputProperties"; /** - * @member {SerializationUnion} [serialization] Describes how data from an - * input is serialized or how data is serialized when written to an output. - * Required on PUT (CreateOrReplace) requests. + * Describes how data from an input is serialized or how data is serialized when written to an + * output. Required on PUT (CreateOrReplace) requests. */ serialization?: SerializationUnion; /** - * @member {Diagnostics} [diagnostics] Describes conditions applicable to the - * Input, Output, or the job overall, that warrant customer attention. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes conditions applicable to the Input, Output, or the job overall, that warrant + * customer attention. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly diagnostics?: Diagnostics; /** - * @member {string} [etag] The current entity tag for the input. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current entity tag for the input. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; } /** - * @interface - * An interface representing SubResource. * The base sub-resource model definition. - * - * @extends BaseResource */ export interface SubResource extends BaseResource { /** - * @member {string} [id] Resource Id - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] Resource name + * Resource name */ name?: string; /** - * @member {string} [type] Resource type - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; } /** - * @interface - * An interface representing Input. - * An input object, containing all information associated with the named input. - * All inputs are contained under a streaming job. - * - * @extends SubResource + * An input object, containing all information associated with the named input. All inputs are + * contained under a streaming job. */ export interface Input extends SubResource { /** - * @member {InputPropertiesUnion} [properties] The properties that are - * associated with an input. Required on PUT (CreateOrReplace) requests. + * The properties that are associated with an input. Required on PUT (CreateOrReplace) requests. */ properties?: InputPropertiesUnion; } /** - * @interface - * An interface representing Transformation. - * A transformation object, containing all information associated with the - * named transformation. All transformations are contained under a streaming - * job. - * - * @extends SubResource + * A transformation object, containing all information associated with the named transformation. + * All transformations are contained under a streaming job. */ export interface Transformation extends SubResource { /** - * @member {number} [streamingUnits] Specifies the number of streaming units - * that the streaming job uses. + * Specifies the number of streaming units that the streaming job uses. */ streamingUnits?: number; /** - * @member {string} [query] Specifies the query that will be run in the - * streaming job. You can learn more about the Stream Analytics Query - * Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . + * Specifies the query that will be run in the streaming job. You can learn more about the Stream + * Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . * Required on PUT (CreateOrReplace) requests. */ query?: string; /** - * @member {string} [etag] The current entity tag for the transformation. - * This is an opaque string. You can use it to detect whether the resource - * has changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current entity tag for the transformation. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; } @@ -279,53 +210,41 @@ export interface Transformation extends SubResource { export type OutputDataSourceUnion = OutputDataSource | AzureDataLakeStoreOutputDataSource | PowerBIOutputDataSource | ServiceBusTopicOutputDataSource | ServiceBusQueueOutputDataSource | DocumentDbOutputDataSource | AzureSqlDatabaseOutputDataSource | EventHubOutputDataSource | AzureTableOutputDataSource | BlobOutputDataSource; /** - * @interface - * An interface representing OutputDataSource. * Describes the data source that output will be written to. - * */ export interface OutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "OutputDataSource"; } /** - * @interface - * An interface representing Output. - * An output object, containing all information associated with the named - * output. All outputs are contained under a streaming job. - * - * @extends SubResource + * An output object, containing all information associated with the named output. All outputs are + * contained under a streaming job. */ export interface Output extends SubResource { /** - * @member {OutputDataSourceUnion} [datasource] Describes the data source - * that output will be written to. Required on PUT (CreateOrReplace) + * Describes the data source that output will be written to. Required on PUT (CreateOrReplace) * requests. */ datasource?: OutputDataSourceUnion; /** - * @member {SerializationUnion} [serialization] Describes how data from an - * input is serialized or how data is serialized when written to an output. - * Required on PUT (CreateOrReplace) requests. + * Describes how data from an input is serialized or how data is serialized when written to an + * output. Required on PUT (CreateOrReplace) requests. */ serialization?: SerializationUnion; /** - * @member {Diagnostics} [diagnostics] Describes conditions applicable to the - * Input, Output, or the job overall, that warrant customer attention. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes conditions applicable to the Input, Output, or the job overall, that warrant + * customer attention. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly diagnostics?: Diagnostics; /** - * @member {string} [etag] The current entity tag for the output. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current entity tag for the output. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; } @@ -336,252 +255,197 @@ export interface Output extends SubResource { export type FunctionPropertiesUnion = FunctionProperties | ScalarFunctionProperties; /** - * @interface - * An interface representing FunctionProperties. * The properties that are associated with a function. - * */ export interface FunctionProperties { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "FunctionProperties"; /** - * @member {string} [etag] The current entity tag for the function. This is - * an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or + * The current entity tag for the function. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or * If-None-Match headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; } /** - * @interface - * An interface representing FunctionModel. - * A function object, containing all information associated with the named - * function. All functions are contained under a streaming job. - * - * @extends SubResource + * A function object, containing all information associated with the named function. All functions + * are contained under a streaming job. */ export interface FunctionModel extends SubResource { /** - * @member {FunctionPropertiesUnion} [properties] The properties that are - * associated with a function. + * The properties that are associated with a function. */ properties?: FunctionPropertiesUnion; } /** - * @interface - * An interface representing Resource. * The base resource model definition. - * - * @extends BaseResource */ export interface Resource extends BaseResource { /** - * @member {string} [id] Resource Id - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] Resource name - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] Resource type - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} [location] Resource location. Required on PUT - * (CreateOrReplace) requests. + * Resource location. Required on PUT (CreateOrReplace) requests. */ location?: string; /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags + * Resource tags */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing StreamingJob. - * A streamng job object, containing all information associated with the named - * streaming job. - * - * @extends Resource + * A streaming job object, containing all information associated with the named streaming job. */ export interface StreamingJob extends Resource { /** - * @member {Sku} [sku] Describes the SKU of the streaming job. Required on - * PUT (CreateOrReplace) requests. + * Describes the SKU of the streaming job. Required on PUT (CreateOrReplace) requests. */ sku?: Sku; /** - * @member {string} [jobId] A GUID uniquely identifying the streaming job. - * This GUID is generated upon creation of the streaming job. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * A GUID uniquely identifying the streaming job. This GUID is generated upon creation of the + * streaming job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly jobId?: string; /** - * @member {string} [provisioningState] Describes the provisioning status of - * the streaming job. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes the provisioning status of the streaming job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provisioningState?: string; /** - * @member {string} [jobState] Describes the state of the streaming job. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes the state of the streaming job. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly jobState?: string; /** - * @member {OutputStartMode} [outputStartMode] This property should only be - * utilized when it is desired that the job be started immediately upon - * creation. Value may be JobStartTime, CustomTime, or LastOutputEventTime to - * indicate whether the starting point of the output event stream should - * start whenever the job is started, start at a custom user time stamp - * specified via the outputStartTime property, or start from the last event - * output time. Possible values include: 'JobStartTime', 'CustomTime', + * This property should only be utilized when it is desired that the job be started immediately + * upon creation. Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate + * whether the starting point of the output event stream should start whenever the job is + * started, start at a custom user time stamp specified via the outputStartTime property, or + * start from the last event output time. Possible values include: 'JobStartTime', 'CustomTime', * 'LastOutputEventTime' */ outputStartMode?: OutputStartMode; /** - * @member {Date} [outputStartTime] Value is either an ISO-8601 formatted - * time stamp that indicates the starting point of the output event stream, - * or null to indicate that the output event stream will start whenever the - * streaming job is started. This property must have a value if - * outputStartMode is set to CustomTime. + * Value is either an ISO-8601 formatted time stamp that indicates the starting point of the + * output event stream, or null to indicate that the output event stream will start whenever the + * streaming job is started. This property must have a value if outputStartMode is set to + * CustomTime. */ outputStartTime?: Date; /** - * @member {Date} [lastOutputEventTime] Value is either an ISO-8601 formatted - * timestamp indicating the last output event time of the streaming job or - * null indicating that output has not yet been produced. In case of multiple + * Value is either an ISO-8601 formatted timestamp indicating the last output event time of the + * streaming job or null indicating that output has not yet been produced. In case of multiple * outputs or multiple streams, this shows the latest value in that set. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly lastOutputEventTime?: Date; /** - * @member {EventsOutOfOrderPolicy} [eventsOutOfOrderPolicy] Indicates the - * policy to apply to events that arrive out of order in the input event - * stream. Possible values include: 'Adjust', 'Drop' + * Indicates the policy to apply to events that arrive out of order in the input event stream. + * Possible values include: 'Adjust', 'Drop' */ eventsOutOfOrderPolicy?: EventsOutOfOrderPolicy; /** - * @member {OutputErrorPolicy} [outputErrorPolicy] Indicates the policy to - * apply to events that arrive at the output and cannot be written to the - * external storage due to being malformed (missing column values, column - * values of wrong type or size). Possible values include: 'Stop', 'Drop' + * Indicates the policy to apply to events that arrive at the output and cannot be written to the + * external storage due to being malformed (missing column values, column values of wrong type or + * size). Possible values include: 'Stop', 'Drop' */ outputErrorPolicy?: OutputErrorPolicy; /** - * @member {number} [eventsOutOfOrderMaxDelayInSeconds] The maximum tolerable - * delay in seconds where out-of-order events can be adjusted to be back in + * The maximum tolerable delay in seconds where out-of-order events can be adjusted to be back in * order. */ eventsOutOfOrderMaxDelayInSeconds?: number; /** - * @member {number} [eventsLateArrivalMaxDelayInSeconds] The maximum - * tolerable delay in seconds where events arriving late could be included. - * Supported range is -1 to 1814399 (20.23:59:59 days) and -1 is used to - * specify wait indefinitely. If the property is absent, it is interpreted to - * have a value of -1. + * The maximum tolerable delay in seconds where events arriving late could be included. + * Supported range is -1 to 1814399 (20.23:59:59 days) and -1 is used to specify wait + * indefinitely. If the property is absent, it is interpreted to have a value of -1. */ eventsLateArrivalMaxDelayInSeconds?: number; /** - * @member {string} [dataLocale] The data locale of the stream analytics job. - * Value should be the name of a supported .NET Culture from the set + * The data locale of the stream analytics job. Value should be the name of a supported .NET + * Culture from the set * https://msdn.microsoft.com/en-us/library/system.globalization.culturetypes(v=vs.110).aspx. * Defaults to 'en-US' if none specified. */ dataLocale?: string; /** - * @member {CompatibilityLevel} [compatibilityLevel] Controls certain runtime - * behaviors of the streaming job. Possible values include: '1.0' + * Controls certain runtime behaviors of the streaming job. Possible values include: '1.0' */ compatibilityLevel?: CompatibilityLevel; /** - * @member {Date} [createdDate] Value is an ISO-8601 formatted UTC timestamp - * indicating when the streaming job was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Value is an ISO-8601 formatted UTC timestamp indicating when the streaming job was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly createdDate?: Date; /** - * @member {Input[]} [inputs] A list of one or more inputs to the streaming - * job. The name property for each input is required when specifying this - * property in a PUT request. This property cannot be modify via a PATCH - * operation. You must use the PATCH API available for the individual input. + * A list of one or more inputs to the streaming job. The name property for each input is + * required when specifying this property in a PUT request. This property cannot be modify via a + * PATCH operation. You must use the PATCH API available for the individual input. */ inputs?: Input[]; /** - * @member {Transformation} [transformation] Indicates the query and the - * number of streaming units to use for the streaming job. The name property - * of the transformation is required when specifying this property in a PUT - * request. This property cannot be modify via a PATCH operation. You must - * use the PATCH API available for the individual tranformation. + * Indicates the query and the number of streaming units to use for the streaming job. The name + * property of the transformation is required when specifying this property in a PUT request. + * This property cannot be modify via a PATCH operation. You must use the PATCH API available for + * the individual transformation. */ transformation?: Transformation; /** - * @member {Output[]} [outputs] A list of one or more outputs for the - * streaming job. The name property for each output is required when - * specifying this property in a PUT request. This property cannot be modify - * via a PATCH operation. You must use the PATCH API available for the - * individual output. + * A list of one or more outputs for the streaming job. The name property for each output is + * required when specifying this property in a PUT request. This property cannot be modify via a + * PATCH operation. You must use the PATCH API available for the individual output. */ outputs?: Output[]; /** - * @member {FunctionModel[]} [functions] A list of one or more functions for - * the streaming job. The name property for each function is required when - * specifying this property in a PUT request. This property cannot be modify - * via a PATCH operation. You must use the PATCH API available for the - * individual transformation. + * A list of one or more functions for the streaming job. The name property for each function is + * required when specifying this property in a PUT request. This property cannot be modify via a + * PATCH operation. You must use the PATCH API available for the individual transformation. */ functions?: FunctionModel[]; /** - * @member {string} [etag] The current entity tag for the streaming job. This - * is an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current entity tag for the streaming job. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; } /** - * @interface - * An interface representing StartStreamingJobParameters. * Parameters supplied to the Start Streaming Job operation. - * */ export interface StartStreamingJobParameters { /** - * @member {OutputStartMode} [outputStartMode] Value may be JobStartTime, - * CustomTime, or LastOutputEventTime to indicate whether the starting point - * of the output event stream should start whenever the job is started, start - * at a custom user time stamp specified via the outputStartTime property, or - * start from the last event output time. Possible values include: - * 'JobStartTime', 'CustomTime', 'LastOutputEventTime' + * Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting + * point of the output event stream should start whenever the job is started, start at a custom + * user time stamp specified via the outputStartTime property, or start from the last event + * output time. Possible values include: 'JobStartTime', 'CustomTime', 'LastOutputEventTime' */ outputStartMode?: OutputStartMode; /** - * @member {Date} [outputStartTime] Value is either an ISO-8601 formatted - * time stamp that indicates the starting point of the output event stream, - * or null to indicate that the output event stream will start whenever the - * streaming job is started. This property must have a value if - * outputStartMode is set to CustomTime. + * Value is either an ISO-8601 formatted time stamp that indicates the starting point of the + * output event stream, or null to indicate that the output event stream will start whenever the + * streaming job is started. This property must have a value if outputStartMode is set to + * CustomTime. */ outputStartTime?: Date; } @@ -592,890 +456,721 @@ export interface StartStreamingJobParameters { export type FunctionBindingUnion = FunctionBinding | JavaScriptFunctionBinding | AzureMachineLearningWebServiceFunctionBinding; /** - * @interface - * An interface representing FunctionBinding. - * The physical binding of the function. For example, in the Azure Machine - * Learning web service’s case, this describes the endpoint. - * + * The physical binding of the function. For example, in the Azure Machine Learning web service’s + * case, this describes the endpoint. */ export interface FunctionBinding { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "FunctionBinding"; } /** - * @interface - * An interface representing JavaScriptFunctionBinding. * The binding to a JavaScript function. - * */ export interface JavaScriptFunctionBinding { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.StreamAnalytics/JavascriptUdf"; /** - * @member {string} [script] The JavaScript code containing a single function - * definition. For example: 'function (x, y) { return x + y; }' + * The JavaScript code containing a single function definition. For example: 'function (x, y) { + * return x + y; }' */ script?: string; } /** - * @interface - * An interface representing AzureMachineLearningWebServiceOutputColumn. - * Describes an output column for the Azure Machine Learning web service - * endpoint. - * + * Describes an output column for the Azure Machine Learning web service endpoint. */ export interface AzureMachineLearningWebServiceOutputColumn { /** - * @member {string} [name] The name of the output column. + * The name of the output column. */ name?: string; /** - * @member {string} [dataType] The (Azure Machine Learning supported) data - * type of the output column. A list of valid Azure Machine Learning data - * types are described at + * The (Azure Machine Learning supported) data type of the output column. A list of valid Azure + * Machine Learning data types are described at * https://msdn.microsoft.com/en-us/library/azure/dn905923.aspx . */ dataType?: string; } /** - * @interface - * An interface representing AzureMachineLearningWebServiceInputColumn. - * Describes an input column for the Azure Machine Learning web service - * endpoint. - * + * Describes an input column for the Azure Machine Learning web service endpoint. */ export interface AzureMachineLearningWebServiceInputColumn { /** - * @member {string} [name] The name of the input column. + * The name of the input column. */ name?: string; /** - * @member {string} [dataType] The (Azure Machine Learning supported) data - * type of the input column. A list of valid Azure Machine Learning data - * types are described at + * The (Azure Machine Learning supported) data type of the input column. A list of valid Azure + * Machine Learning data types are described at * https://msdn.microsoft.com/en-us/library/azure/dn905923.aspx . */ dataType?: string; /** - * @member {number} [mapTo] The zero based index of the function parameter - * this input maps to. + * The zero based index of the function parameter this input maps to. */ mapTo?: number; } /** - * @interface - * An interface representing AzureMachineLearningWebServiceInputs. * The inputs for the Azure Machine Learning web service endpoint. - * */ export interface AzureMachineLearningWebServiceInputs { /** - * @member {string} [name] The name of the input. This is the name provided - * while authoring the endpoint. + * The name of the input. This is the name provided while authoring the endpoint. */ name?: string; /** - * @member {AzureMachineLearningWebServiceInputColumn[]} [columnNames] A list - * of input columns for the Azure Machine Learning web service endpoint. + * A list of input columns for the Azure Machine Learning web service endpoint. */ columnNames?: AzureMachineLearningWebServiceInputColumn[]; } /** - * @interface - * An interface representing AzureMachineLearningWebServiceFunctionBinding. * The binding to an Azure Machine Learning web service. - * */ export interface AzureMachineLearningWebServiceFunctionBinding { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.MachineLearning/WebService"; /** - * @member {string} [endpoint] The Request-Response execute endpoint of the - * Azure Machine Learning web service. Find out more here: + * The Request-Response execute endpoint of the Azure Machine Learning web service. Find out more + * here: * https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-consume-web-services#request-response-service-rrs */ endpoint?: string; /** - * @member {string} [apiKey] The API key used to authenticate with - * Request-Response endpoint. + * The API key used to authenticate with Request-Response endpoint. */ apiKey?: string; /** - * @member {AzureMachineLearningWebServiceInputs} [inputs] The inputs for the - * Azure Machine Learning web service endpoint. + * The inputs for the Azure Machine Learning web service endpoint. */ inputs?: AzureMachineLearningWebServiceInputs; /** - * @member {AzureMachineLearningWebServiceOutputColumn[]} [outputs] A list of - * outputs from the Azure Machine Learning web service endpoint execution. + * A list of outputs from the Azure Machine Learning web service endpoint execution. */ outputs?: AzureMachineLearningWebServiceOutputColumn[]; /** - * @member {number} [batchSize] Number between 1 and 10000 describing maximum - * number of rows for every Azure ML RRS execute request. Default is 1000. + * Number between 1 and 10000 describing maximum number of rows for every Azure ML RRS execute + * request. Default is 1000. */ batchSize?: number; } /** - * @interface - * An interface representing FunctionOutput. * Describes the output of a function. - * */ export interface FunctionOutput { /** - * @member {string} [dataType] The (Azure Stream Analytics supported) data - * type of the function output. A list of valid Azure Stream Analytics data - * types are described at + * The (Azure Stream Analytics supported) data type of the function output. A list of valid Azure + * Stream Analytics data types are described at * https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx */ dataType?: string; } /** - * @interface - * An interface representing FunctionInput. * Describes one input parameter of a function. - * */ export interface FunctionInput { /** - * @member {string} [dataType] The (Azure Stream Analytics supported) data - * type of the function input parameter. A list of valid Azure Stream - * Analytics data types are described at + * The (Azure Stream Analytics supported) data type of the function input parameter. A list of + * valid Azure Stream Analytics data types are described at * https://msdn.microsoft.com/en-us/library/azure/dn835065.aspx */ dataType?: string; /** - * @member {boolean} [isConfigurationParameter] A flag indicating if the - * parameter is a configuration parameter. True if this input parameter is - * expected to be a constant. Default is false. + * A flag indicating if the parameter is a configuration parameter. True if this input parameter + * is expected to be a constant. Default is false. */ isConfigurationParameter?: boolean; } /** - * @interface - * An interface representing ScalarFunctionProperties. * The properties that are associated with a scalar function. - * */ export interface ScalarFunctionProperties { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Scalar"; /** - * @member {string} [etag] The current entity tag for the function. This is - * an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or + * The current entity tag for the function. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or * If-None-Match headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; /** - * @member {FunctionInput[]} [inputs] A list of inputs describing the - * parameters of the function. + * A list of inputs describing the parameters of the function. */ inputs?: FunctionInput[]; /** - * @member {FunctionOutput} [output] The output of the function. + * The output of the function. */ output?: FunctionOutput; /** - * @member {FunctionBindingUnion} [binding] The physical binding of the - * function. For example, in the Azure Machine Learning web service’s case, - * this describes the endpoint. + * The physical binding of the function. For example, in the Azure Machine Learning web service’s + * case, this describes the endpoint. */ binding?: FunctionBindingUnion; } /** - * @interface - * An interface representing AvroSerialization. - * Describes how data from an input is serialized or how data is serialized - * when written to an output in Avro format. - * + * Describes how data from an input is serialized or how data is serialized when written to an + * output in Avro format. */ export interface AvroSerialization { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Avro"; /** - * @member {any} [properties] The properties that are associated with the - * Avro serialization type. Required on PUT (CreateOrReplace) requests. + * The properties that are associated with the Avro serialization type. Required on PUT + * (CreateOrReplace) requests. */ properties?: any; } /** - * @interface - * An interface representing JsonSerialization. - * Describes how data from an input is serialized or how data is serialized - * when written to an output in JSON format. - * + * Describes how data from an input is serialized or how data is serialized when written to an + * output in JSON format. */ export interface JsonSerialization { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Json"; /** - * @member {Encoding} [encoding] Specifies the encoding of the incoming data - * in the case of input and the encoding of outgoing data in the case of - * output. Required on PUT (CreateOrReplace) requests. Possible values + * Specifies the encoding of the incoming data in the case of input and the encoding of outgoing + * data in the case of output. Required on PUT (CreateOrReplace) requests. Possible values * include: 'UTF8' */ encoding?: Encoding; /** - * @member {JsonOutputSerializationFormat} [format] This property only - * applies to JSON serialization of outputs only. It is not applicable to - * inputs. This property specifies the format of the JSON the output will be - * written in. The currently supported values are 'lineSeparated' indicating - * the output will be formatted by having each JSON object separated by a new - * line and 'array' indicating the output will be formatted as an array of - * JSON objects. Default value is 'lineSeparated' if left null. Possible + * This property only applies to JSON serialization of outputs only. It is not applicable to + * inputs. This property specifies the format of the JSON the output will be written in. The + * currently supported values are 'lineSeparated' indicating the output will be formatted by + * having each JSON object separated by a new line and 'array' indicating the output will be + * formatted as an array of JSON objects. Default value is 'lineSeparated' if left null. Possible * values include: 'LineSeparated', 'Array' */ format?: JsonOutputSerializationFormat; } /** - * @interface - * An interface representing CsvSerialization. - * Describes how data from an input is serialized or how data is serialized - * when written to an output in CSV format. - * + * Describes how data from an input is serialized or how data is serialized when written to an + * output in CSV format. */ export interface CsvSerialization { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Csv"; /** - * @member {string} [fieldDelimiter] Specifies the delimiter that will be - * used to separate comma-separated value (CSV) records. See - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input - * or - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output - * for a list of supported values. Required on PUT (CreateOrReplace) - * requests. + * Specifies the delimiter that will be used to separate comma-separated value (CSV) records. See + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a list + * of supported values. Required on PUT (CreateOrReplace) requests. */ fieldDelimiter?: string; /** - * @member {Encoding} [encoding] Specifies the encoding of the incoming data - * in the case of input and the encoding of outgoing data in the case of - * output. Required on PUT (CreateOrReplace) requests. Possible values + * Specifies the encoding of the incoming data in the case of input and the encoding of outgoing + * data in the case of output. Required on PUT (CreateOrReplace) requests. Possible values * include: 'UTF8' */ encoding?: Encoding; } /** - * @interface - * An interface representing OAuthBasedDataSourceProperties. - * The properties that are associated with data sources that use OAuth as their - * authentication model. - * + * The properties that are associated with data sources that use OAuth as their authentication + * model. */ export interface OAuthBasedDataSourceProperties { /** - * @member {string} [refreshToken] A refresh token that can be used to obtain - * a valid access token that can then be used to authenticate with the data - * source. A valid refresh token is currently only obtainable via the Azure - * Portal. It is recommended to put a dummy string value here when creating - * the data source and then going to the Azure Portal to authenticate the - * data source which will update this property with a valid refresh token. - * Required on PUT (CreateOrReplace) requests. + * A refresh token that can be used to obtain a valid access token that can then be used to + * authenticate with the data source. A valid refresh token is currently only obtainable via the + * Azure Portal. It is recommended to put a dummy string value here when creating the data source + * and then going to the Azure Portal to authenticate the data source which will update this + * property with a valid refresh token. Required on PUT (CreateOrReplace) requests. */ refreshToken?: string; /** - * @member {string} [tokenUserPrincipalName] The user principal name (UPN) of - * the user that was used to obtain the refresh token. Use this property to - * help remember which user was used to obtain the refresh token. + * The user principal name (UPN) of the user that was used to obtain the refresh token. Use this + * property to help remember which user was used to obtain the refresh token. */ tokenUserPrincipalName?: string; /** - * @member {string} [tokenUserDisplayName] The user display name of the user - * that was used to obtain the refresh token. Use this property to help - * remember which user was used to obtain the refresh token. + * The user display name of the user that was used to obtain the refresh token. Use this property + * to help remember which user was used to obtain the refresh token. */ tokenUserDisplayName?: string; } /** - * @interface - * An interface representing AzureDataLakeStoreOutputDataSource. * Describes an Azure Data Lake Store output data source. - * */ export interface AzureDataLakeStoreOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.DataLake/Accounts"; /** - * @member {string} [refreshToken] A refresh token that can be used to obtain - * a valid access token that can then be used to authenticate with the data - * source. A valid refresh token is currently only obtainable via the Azure - * Portal. It is recommended to put a dummy string value here when creating - * the data source and then going to the Azure Portal to authenticate the - * data source which will update this property with a valid refresh token. - * Required on PUT (CreateOrReplace) requests. + * A refresh token that can be used to obtain a valid access token that can then be used to + * authenticate with the data source. A valid refresh token is currently only obtainable via the + * Azure Portal. It is recommended to put a dummy string value here when creating the data source + * and then going to the Azure Portal to authenticate the data source which will update this + * property with a valid refresh token. Required on PUT (CreateOrReplace) requests. */ refreshToken?: string; /** - * @member {string} [tokenUserPrincipalName] The user principal name (UPN) of - * the user that was used to obtain the refresh token. Use this property to - * help remember which user was used to obtain the refresh token. + * The user principal name (UPN) of the user that was used to obtain the refresh token. Use this + * property to help remember which user was used to obtain the refresh token. */ tokenUserPrincipalName?: string; /** - * @member {string} [tokenUserDisplayName] The user display name of the user - * that was used to obtain the refresh token. Use this property to help - * remember which user was used to obtain the refresh token. + * The user display name of the user that was used to obtain the refresh token. Use this property + * to help remember which user was used to obtain the refresh token. */ tokenUserDisplayName?: string; /** - * @member {string} [accountName] The name of the Azure Data Lake Store - * account. Required on PUT (CreateOrReplace) requests. + * The name of the Azure Data Lake Store account. Required on PUT (CreateOrReplace) requests. */ accountName?: string; /** - * @member {string} [tenantId] The tenant id of the user used to obtain the - * refresh token. Required on PUT (CreateOrReplace) requests. + * The tenant id of the user used to obtain the refresh token. Required on PUT (CreateOrReplace) + * requests. */ tenantId?: string; /** - * @member {string} [filePathPrefix] The location of the file to which the - * output should be written to. Required on PUT (CreateOrReplace) requests. + * The location of the file to which the output should be written to. Required on PUT + * (CreateOrReplace) requests. */ filePathPrefix?: string; /** - * @member {string} [dateFormat] The date format. Wherever {date} appears in - * filePathPrefix, the value of this property is used as the date format - * instead. + * The date format. Wherever {date} appears in filePathPrefix, the value of this property is used + * as the date format instead. */ dateFormat?: string; /** - * @member {string} [timeFormat] The time format. Wherever {time} appears in - * filePathPrefix, the value of this property is used as the time format - * instead. + * The time format. Wherever {time} appears in filePathPrefix, the value of this property is used + * as the time format instead. */ timeFormat?: string; } /** - * @interface - * An interface representing PowerBIOutputDataSource. * Describes a Power BI output data source. - * */ export interface PowerBIOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "PowerBI"; /** - * @member {string} [refreshToken] A refresh token that can be used to obtain - * a valid access token that can then be used to authenticate with the data - * source. A valid refresh token is currently only obtainable via the Azure - * Portal. It is recommended to put a dummy string value here when creating - * the data source and then going to the Azure Portal to authenticate the - * data source which will update this property with a valid refresh token. - * Required on PUT (CreateOrReplace) requests. + * A refresh token that can be used to obtain a valid access token that can then be used to + * authenticate with the data source. A valid refresh token is currently only obtainable via the + * Azure Portal. It is recommended to put a dummy string value here when creating the data source + * and then going to the Azure Portal to authenticate the data source which will update this + * property with a valid refresh token. Required on PUT (CreateOrReplace) requests. */ refreshToken?: string; /** - * @member {string} [tokenUserPrincipalName] The user principal name (UPN) of - * the user that was used to obtain the refresh token. Use this property to - * help remember which user was used to obtain the refresh token. + * The user principal name (UPN) of the user that was used to obtain the refresh token. Use this + * property to help remember which user was used to obtain the refresh token. */ tokenUserPrincipalName?: string; /** - * @member {string} [tokenUserDisplayName] The user display name of the user - * that was used to obtain the refresh token. Use this property to help - * remember which user was used to obtain the refresh token. + * The user display name of the user that was used to obtain the refresh token. Use this property + * to help remember which user was used to obtain the refresh token. */ tokenUserDisplayName?: string; /** - * @member {string} [dataset] The name of the Power BI dataset. Required on - * PUT (CreateOrReplace) requests. + * The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests. */ dataset?: string; /** - * @member {string} [table] The name of the Power BI table under the - * specified dataset. Required on PUT (CreateOrReplace) requests. + * The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) + * requests. */ table?: string; /** - * @member {string} [groupId] The ID of the Power BI group. + * The ID of the Power BI group. */ groupId?: string; /** - * @member {string} [groupName] The name of the Power BI group. Use this - * property to help remember which specific Power BI group id was used. + * The name of the Power BI group. Use this property to help remember which specific Power BI + * group id was used. */ groupName?: string; } /** - * @interface - * An interface representing ServiceBusDataSourceProperties. - * The common properties that are associated with Service Bus data sources - * (Queues, Topics, Event Hubs, etc.). - * + * The common properties that are associated with Service Bus data sources (Queues, Topics, Event + * Hubs, etc.). */ export interface ServiceBusDataSourceProperties { /** - * @member {string} [serviceBusNamespace] The namespace that is associated - * with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc. - * Required on PUT (CreateOrReplace) requests. + * The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus + * Topic, etc. Required on PUT (CreateOrReplace) requests. */ serviceBusNamespace?: string; /** - * @member {string} [sharedAccessPolicyName] The shared access policy name - * for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on - * PUT (CreateOrReplace) requests. + * The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. + * Required on PUT (CreateOrReplace) requests. */ sharedAccessPolicyName?: string; /** - * @member {string} [sharedAccessPolicyKey] The shared access policy key for - * the specified shared access policy. Required on PUT (CreateOrReplace) - * requests. + * The shared access policy key for the specified shared access policy. Required on PUT + * (CreateOrReplace) requests. */ sharedAccessPolicyKey?: string; } /** - * @interface - * An interface representing EventHubDataSourceProperties. * The common properties that are associated with Event Hub data sources. - * - * @extends ServiceBusDataSourceProperties */ export interface EventHubDataSourceProperties extends ServiceBusDataSourceProperties { /** - * @member {string} [eventHubName] The name of the Event Hub. Required on PUT - * (CreateOrReplace) requests. + * The name of the Event Hub. Required on PUT (CreateOrReplace) requests. */ eventHubName?: string; } /** - * @interface - * An interface representing ServiceBusTopicOutputDataSource. * Describes a Service Bus Topic output data source. - * */ export interface ServiceBusTopicOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.ServiceBus/Topic"; /** - * @member {string} [serviceBusNamespace] The namespace that is associated - * with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc. - * Required on PUT (CreateOrReplace) requests. + * The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus + * Topic, etc. Required on PUT (CreateOrReplace) requests. */ serviceBusNamespace?: string; /** - * @member {string} [sharedAccessPolicyName] The shared access policy name - * for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on - * PUT (CreateOrReplace) requests. + * The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. + * Required on PUT (CreateOrReplace) requests. */ sharedAccessPolicyName?: string; /** - * @member {string} [sharedAccessPolicyKey] The shared access policy key for - * the specified shared access policy. Required on PUT (CreateOrReplace) - * requests. + * The shared access policy key for the specified shared access policy. Required on PUT + * (CreateOrReplace) requests. */ sharedAccessPolicyKey?: string; /** - * @member {string} [topicName] The name of the Service Bus Topic. Required - * on PUT (CreateOrReplace) requests. + * The name of the Service Bus Topic. Required on PUT (CreateOrReplace) requests. */ topicName?: string; /** - * @member {string[]} [propertyColumns] A string array of the names of output - * columns to be attached to Service Bus messages as custom properties. + * A string array of the names of output columns to be attached to Service Bus messages as custom + * properties. */ propertyColumns?: string[]; } /** - * @interface - * An interface representing ServiceBusQueueOutputDataSource. * Describes a Service Bus Queue output data source. - * */ export interface ServiceBusQueueOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.ServiceBus/Queue"; /** - * @member {string} [serviceBusNamespace] The namespace that is associated - * with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc. - * Required on PUT (CreateOrReplace) requests. + * The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus + * Topic, etc. Required on PUT (CreateOrReplace) requests. */ serviceBusNamespace?: string; /** - * @member {string} [sharedAccessPolicyName] The shared access policy name - * for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on - * PUT (CreateOrReplace) requests. + * The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. + * Required on PUT (CreateOrReplace) requests. */ sharedAccessPolicyName?: string; /** - * @member {string} [sharedAccessPolicyKey] The shared access policy key for - * the specified shared access policy. Required on PUT (CreateOrReplace) - * requests. + * The shared access policy key for the specified shared access policy. Required on PUT + * (CreateOrReplace) requests. */ sharedAccessPolicyKey?: string; /** - * @member {string} [queueName] The name of the Service Bus Queue. Required - * on PUT (CreateOrReplace) requests. + * The name of the Service Bus Queue. Required on PUT (CreateOrReplace) requests. */ queueName?: string; /** - * @member {string[]} [propertyColumns] A string array of the names of output - * columns to be attached to Service Bus messages as custom properties. + * A string array of the names of output columns to be attached to Service Bus messages as custom + * properties. */ propertyColumns?: string[]; } /** - * @interface - * An interface representing DocumentDbOutputDataSource. * Describes a DocumentDB output data source. - * */ export interface DocumentDbOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.Storage/DocumentDB"; /** - * @member {string} [accountId] The DocumentDB account name or ID. Required - * on PUT (CreateOrReplace) requests. + * The DocumentDB account name or ID. Required on PUT (CreateOrReplace) requests. */ accountId?: string; /** - * @member {string} [accountKey] The account key for the DocumentDB account. - * Required on PUT (CreateOrReplace) requests. + * The account key for the DocumentDB account. Required on PUT (CreateOrReplace) requests. */ accountKey?: string; /** - * @member {string} [database] The name of the DocumentDB database. Required - * on PUT (CreateOrReplace) requests. + * The name of the DocumentDB database. Required on PUT (CreateOrReplace) requests. */ database?: string; /** - * @member {string} [collectionNamePattern] The collection name pattern for - * the collections to be used. The collection name format can be constructed - * using the optional {partition} token, where partitions start from 0. See - * the DocumentDB section of - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output - * for more information. Required on PUT (CreateOrReplace) requests. + * The collection name pattern for the collections to be used. The collection name format can be + * constructed using the optional {partition} token, where partitions start from 0. See the + * DocumentDB section of + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for more + * information. Required on PUT (CreateOrReplace) requests. */ collectionNamePattern?: string; /** - * @member {string} [partitionKey] The name of the field in output events - * used to specify the key for partitioning output across collections. If - * 'collectionNamePattern' contains the {partition} token, this property is + * The name of the field in output events used to specify the key for partitioning output across + * collections. If 'collectionNamePattern' contains the {partition} token, this property is * required to be specified. */ partitionKey?: string; /** - * @member {string} [documentId] The name of the field in output events used - * to specify the primary key which insert or update operations are based on. + * The name of the field in output events used to specify the primary key which insert or update + * operations are based on. */ documentId?: string; } /** - * @interface - * An interface representing AzureSqlDatabaseDataSourceProperties. * The properties that are associated with an Azure SQL database data source. - * */ export interface AzureSqlDatabaseDataSourceProperties { /** - * @member {string} [server] The name of the SQL server containing the Azure - * SQL database. Required on PUT (CreateOrReplace) requests. + * The name of the SQL server containing the Azure SQL database. Required on PUT + * (CreateOrReplace) requests. */ server?: string; /** - * @member {string} [database] The name of the Azure SQL database. Required - * on PUT (CreateOrReplace) requests. + * The name of the Azure SQL database. Required on PUT (CreateOrReplace) requests. */ database?: string; /** - * @member {string} [user] The user name that will be used to connect to the - * Azure SQL database. Required on PUT (CreateOrReplace) requests. + * The user name that will be used to connect to the Azure SQL database. Required on PUT + * (CreateOrReplace) requests. */ user?: string; /** - * @member {string} [password] The password that will be used to connect to - * the Azure SQL database. Required on PUT (CreateOrReplace) requests. + * The password that will be used to connect to the Azure SQL database. Required on PUT + * (CreateOrReplace) requests. */ password?: string; /** - * @member {string} [table] The name of the table in the Azure SQL database. - * Required on PUT (CreateOrReplace) requests. + * The name of the table in the Azure SQL database. Required on PUT (CreateOrReplace) requests. */ table?: string; } /** - * @interface - * An interface representing AzureSqlDatabaseOutputDataSource. * Describes an Azure SQL database output data source. - * */ export interface AzureSqlDatabaseOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.Sql/Server/Database"; /** - * @member {string} [server] The name of the SQL server containing the Azure - * SQL database. Required on PUT (CreateOrReplace) requests. + * The name of the SQL server containing the Azure SQL database. Required on PUT + * (CreateOrReplace) requests. */ server?: string; /** - * @member {string} [database] The name of the Azure SQL database. Required - * on PUT (CreateOrReplace) requests. + * The name of the Azure SQL database. Required on PUT (CreateOrReplace) requests. */ database?: string; /** - * @member {string} [user] The user name that will be used to connect to the - * Azure SQL database. Required on PUT (CreateOrReplace) requests. + * The user name that will be used to connect to the Azure SQL database. Required on PUT + * (CreateOrReplace) requests. */ user?: string; /** - * @member {string} [password] The password that will be used to connect to - * the Azure SQL database. Required on PUT (CreateOrReplace) requests. + * The password that will be used to connect to the Azure SQL database. Required on PUT + * (CreateOrReplace) requests. */ password?: string; /** - * @member {string} [table] The name of the table in the Azure SQL database. - * Required on PUT (CreateOrReplace) requests. + * The name of the table in the Azure SQL database. Required on PUT (CreateOrReplace) requests. */ table?: string; } /** - * @interface - * An interface representing EventHubOutputDataSource. * Describes an Event Hub output data source. - * */ export interface EventHubOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.ServiceBus/EventHub"; /** - * @member {string} [serviceBusNamespace] The namespace that is associated - * with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc. - * Required on PUT (CreateOrReplace) requests. + * The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus + * Topic, etc. Required on PUT (CreateOrReplace) requests. */ serviceBusNamespace?: string; /** - * @member {string} [sharedAccessPolicyName] The shared access policy name - * for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on - * PUT (CreateOrReplace) requests. + * The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. + * Required on PUT (CreateOrReplace) requests. */ sharedAccessPolicyName?: string; /** - * @member {string} [sharedAccessPolicyKey] The shared access policy key for - * the specified shared access policy. Required on PUT (CreateOrReplace) - * requests. + * The shared access policy key for the specified shared access policy. Required on PUT + * (CreateOrReplace) requests. */ sharedAccessPolicyKey?: string; /** - * @member {string} [eventHubName] The name of the Event Hub. Required on PUT - * (CreateOrReplace) requests. + * The name of the Event Hub. Required on PUT (CreateOrReplace) requests. */ eventHubName?: string; /** - * @member {string} [partitionKey] The key/column that is used to determine - * to which partition to send event data. + * The key/column that is used to determine to which partition to send event data. */ partitionKey?: string; } /** - * @interface - * An interface representing AzureTableOutputDataSource. * Describes an Azure Table output data source. - * */ export interface AzureTableOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.Storage/Table"; /** - * @member {string} [accountName] The name of the Azure Storage account. - * Required on PUT (CreateOrReplace) requests. + * The name of the Azure Storage account. Required on PUT (CreateOrReplace) requests. */ accountName?: string; /** - * @member {string} [accountKey] The account key for the Azure Storage - * account. Required on PUT (CreateOrReplace) requests. + * The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests. */ accountKey?: string; /** - * @member {string} [table] The name of the Azure Table. Required on PUT - * (CreateOrReplace) requests. + * The name of the Azure Table. Required on PUT (CreateOrReplace) requests. */ table?: string; /** - * @member {string} [partitionKey] This element indicates the name of a - * column from the SELECT statement in the query that will be used as the - * partition key for the Azure Table. Required on PUT (CreateOrReplace) - * requests. + * This element indicates the name of a column from the SELECT statement in the query that will + * be used as the partition key for the Azure Table. Required on PUT (CreateOrReplace) requests. */ partitionKey?: string; /** - * @member {string} [rowKey] This element indicates the name of a column from - * the SELECT statement in the query that will be used as the row key for the - * Azure Table. Required on PUT (CreateOrReplace) requests. + * This element indicates the name of a column from the SELECT statement in the query that will + * be used as the row key for the Azure Table. Required on PUT (CreateOrReplace) requests. */ rowKey?: string; /** - * @member {string[]} [columnsToRemove] If specified, each item in the array - * is the name of a column to remove (if present) from output event entities. + * If specified, each item in the array is the name of a column to remove (if present) from + * output event entities. */ columnsToRemove?: string[]; /** - * @member {number} [batchSize] The number of rows to write to the Azure - * Table at a time. + * The number of rows to write to the Azure Table at a time. */ batchSize?: number; } /** - * @interface - * An interface representing StorageAccount. * The properties that are associated with an Azure Storage account - * */ export interface StorageAccount { /** - * @member {string} [accountName] The name of the Azure Storage account. - * Required on PUT (CreateOrReplace) requests. + * The name of the Azure Storage account. Required on PUT (CreateOrReplace) requests. */ accountName?: string; /** - * @member {string} [accountKey] The account key for the Azure Storage - * account. Required on PUT (CreateOrReplace) requests. + * The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests. */ accountKey?: string; } /** - * @interface - * An interface representing BlobDataSourceProperties. * The properties that are associated with a blob data source. - * */ export interface BlobDataSourceProperties { /** - * @member {StorageAccount[]} [storageAccounts] A list of one or more Azure - * Storage accounts. Required on PUT (CreateOrReplace) requests. + * A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests. */ storageAccounts?: StorageAccount[]; /** - * @member {string} [container] The name of a container within the associated - * Storage account. This container contains either the blob(s) to be read - * from or written to. Required on PUT (CreateOrReplace) requests. + * The name of a container within the associated Storage account. This container contains either + * the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests. */ container?: string; /** - * @member {string} [pathPattern] The blob path pattern. Not a regular - * expression. It represents a pattern against which blob names will be - * matched to determine whether or not they should be included as input or - * output to the job. See - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input - * or - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output - * for a more detailed explanation and example. + * The blob path pattern. Not a regular expression. It represents a pattern against which blob + * names will be matched to determine whether or not they should be included as input or output + * to the job. See + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more + * detailed explanation and example. */ pathPattern?: string; /** - * @member {string} [dateFormat] The date format. Wherever {date} appears in - * pathPattern, the value of this property is used as the date format - * instead. + * The date format. Wherever {date} appears in pathPattern, the value of this property is used as + * the date format instead. */ dateFormat?: string; /** - * @member {string} [timeFormat] The time format. Wherever {time} appears in - * pathPattern, the value of this property is used as the time format - * instead. + * The time format. Wherever {time} appears in pathPattern, the value of this property is used as + * the time format instead. */ timeFormat?: string; } /** - * @interface - * An interface representing BlobOutputDataSource. * Describes a blob output data source. - * */ export interface BlobOutputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.Storage/Blob"; /** - * @member {StorageAccount[]} [storageAccounts] A list of one or more Azure - * Storage accounts. Required on PUT (CreateOrReplace) requests. + * A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests. */ storageAccounts?: StorageAccount[]; /** - * @member {string} [container] The name of a container within the associated - * Storage account. This container contains either the blob(s) to be read - * from or written to. Required on PUT (CreateOrReplace) requests. + * The name of a container within the associated Storage account. This container contains either + * the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests. */ container?: string; /** - * @member {string} [pathPattern] The blob path pattern. Not a regular - * expression. It represents a pattern against which blob names will be - * matched to determine whether or not they should be included as input or - * output to the job. See - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input - * or - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output - * for a more detailed explanation and example. + * The blob path pattern. Not a regular expression. It represents a pattern against which blob + * names will be matched to determine whether or not they should be included as input or output + * to the job. See + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more + * detailed explanation and example. */ pathPattern?: string; /** - * @member {string} [dateFormat] The date format. Wherever {date} appears in - * pathPattern, the value of this property is used as the date format - * instead. + * The date format. Wherever {date} appears in pathPattern, the value of this property is used as + * the date format instead. */ dateFormat?: string; /** - * @member {string} [timeFormat] The time format. Wherever {time} appears in - * pathPattern, the value of this property is used as the time format - * instead. + * The time format. Wherever {time} appears in pathPattern, the value of this property is used as + * the time format instead. */ timeFormat?: string; } @@ -1486,102 +1181,82 @@ export interface BlobOutputDataSource { export type ReferenceInputDataSourceUnion = ReferenceInputDataSource | BlobReferenceInputDataSource; /** - * @interface - * An interface representing ReferenceInputDataSource. * Describes an input data source that contains reference data. - * */ export interface ReferenceInputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "ReferenceInputDataSource"; } /** - * @interface - * An interface representing BlobReferenceInputDataSource. * Describes a blob input data source that contains reference data. - * */ export interface BlobReferenceInputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.Storage/Blob"; /** - * @member {StorageAccount[]} [storageAccounts] A list of one or more Azure - * Storage accounts. Required on PUT (CreateOrReplace) requests. + * A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests. */ storageAccounts?: StorageAccount[]; /** - * @member {string} [container] The name of a container within the associated - * Storage account. This container contains either the blob(s) to be read - * from or written to. Required on PUT (CreateOrReplace) requests. + * The name of a container within the associated Storage account. This container contains either + * the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests. */ container?: string; /** - * @member {string} [pathPattern] The blob path pattern. Not a regular - * expression. It represents a pattern against which blob names will be - * matched to determine whether or not they should be included as input or - * output to the job. See - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input - * or - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output - * for a more detailed explanation and example. + * The blob path pattern. Not a regular expression. It represents a pattern against which blob + * names will be matched to determine whether or not they should be included as input or output + * to the job. See + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more + * detailed explanation and example. */ pathPattern?: string; /** - * @member {string} [dateFormat] The date format. Wherever {date} appears in - * pathPattern, the value of this property is used as the date format - * instead. + * The date format. Wherever {date} appears in pathPattern, the value of this property is used as + * the date format instead. */ dateFormat?: string; /** - * @member {string} [timeFormat] The time format. Wherever {time} appears in - * pathPattern, the value of this property is used as the time format - * instead. + * The time format. Wherever {time} appears in pathPattern, the value of this property is used as + * the time format instead. */ timeFormat?: string; } /** - * @interface - * An interface representing ReferenceInputProperties. * The properties that are associated with an input containing reference data. - * */ export interface ReferenceInputProperties { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Reference"; /** - * @member {SerializationUnion} [serialization] Describes how data from an - * input is serialized or how data is serialized when written to an output. - * Required on PUT (CreateOrReplace) requests. + * Describes how data from an input is serialized or how data is serialized when written to an + * output. Required on PUT (CreateOrReplace) requests. */ serialization?: SerializationUnion; /** - * @member {Diagnostics} [diagnostics] Describes conditions applicable to the - * Input, Output, or the job overall, that warrant customer attention. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes conditions applicable to the Input, Output, or the job overall, that warrant + * customer attention. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly diagnostics?: Diagnostics; /** - * @member {string} [etag] The current entity tag for the input. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current entity tag for the input. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; /** - * @member {ReferenceInputDataSourceUnion} [datasource] Describes an input - * data source that contains reference data. Required on PUT - * (CreateOrReplace) requests. + * Describes an input data source that contains reference data. Required on PUT (CreateOrReplace) + * requests. */ datasource?: ReferenceInputDataSourceUnion; } @@ -1592,236 +1267,188 @@ export interface ReferenceInputProperties { export type StreamInputDataSourceUnion = StreamInputDataSource | IoTHubStreamInputDataSource | EventHubStreamInputDataSource | BlobStreamInputDataSource; /** - * @interface - * An interface representing StreamInputDataSource. * Describes an input data source that contains stream data. - * */ export interface StreamInputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "StreamInputDataSource"; } /** - * @interface - * An interface representing IoTHubStreamInputDataSource. * Describes an IoT Hub input data source that contains stream data. - * */ export interface IoTHubStreamInputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.Devices/IotHubs"; /** - * @member {string} [iotHubNamespace] The name or the URI of the IoT Hub. - * Required on PUT (CreateOrReplace) requests. + * The name or the URI of the IoT Hub. Required on PUT (CreateOrReplace) requests. */ iotHubNamespace?: string; /** - * @member {string} [sharedAccessPolicyName] The shared access policy name - * for the IoT Hub. This policy must contain at least the Service connect - * permission. Required on PUT (CreateOrReplace) requests. + * The shared access policy name for the IoT Hub. This policy must contain at least the Service + * connect permission. Required on PUT (CreateOrReplace) requests. */ sharedAccessPolicyName?: string; /** - * @member {string} [sharedAccessPolicyKey] The shared access policy key for - * the specified shared access policy. Required on PUT (CreateOrReplace) - * requests. + * The shared access policy key for the specified shared access policy. Required on PUT + * (CreateOrReplace) requests. */ sharedAccessPolicyKey?: string; /** - * @member {string} [consumerGroupName] The name of an IoT Hub Consumer Group - * that should be used to read events from the IoT Hub. If not specified, the - * input uses the Iot Hub’s default consumer group. + * The name of an IoT Hub Consumer Group that should be used to read events from the IoT Hub. If + * not specified, the input uses the Iot Hub’s default consumer group. */ consumerGroupName?: string; /** - * @member {string} [endpoint] The IoT Hub endpoint to connect to (ie. - * messages/events, messages/operationsMonitoringEvents, etc.). + * The IoT Hub endpoint to connect to (ie. messages/events, messages/operationsMonitoringEvents, + * etc.). */ endpoint?: string; } /** - * @interface - * An interface representing EventHubStreamInputDataSource. * Describes an Event Hub input data source that contains stream data. - * */ export interface EventHubStreamInputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.ServiceBus/EventHub"; /** - * @member {string} [serviceBusNamespace] The namespace that is associated - * with the desired Event Hub, Service Bus Queue, Service Bus Topic, etc. - * Required on PUT (CreateOrReplace) requests. + * The namespace that is associated with the desired Event Hub, Service Bus Queue, Service Bus + * Topic, etc. Required on PUT (CreateOrReplace) requests. */ serviceBusNamespace?: string; /** - * @member {string} [sharedAccessPolicyName] The shared access policy name - * for the Event Hub, Service Bus Queue, Service Bus Topic, etc. Required on - * PUT (CreateOrReplace) requests. + * The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc. + * Required on PUT (CreateOrReplace) requests. */ sharedAccessPolicyName?: string; /** - * @member {string} [sharedAccessPolicyKey] The shared access policy key for - * the specified shared access policy. Required on PUT (CreateOrReplace) - * requests. + * The shared access policy key for the specified shared access policy. Required on PUT + * (CreateOrReplace) requests. */ sharedAccessPolicyKey?: string; /** - * @member {string} [eventHubName] The name of the Event Hub. Required on PUT - * (CreateOrReplace) requests. + * The name of the Event Hub. Required on PUT (CreateOrReplace) requests. */ eventHubName?: string; /** - * @member {string} [consumerGroupName] The name of an Event Hub Consumer - * Group that should be used to read events from the Event Hub. Specifying - * distinct consumer group names for multiple inputs allows each of those - * inputs to receive the same events from the Event Hub. If not specified, - * the input uses the Event Hub’s default consumer group. + * The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. + * Specifying distinct consumer group names for multiple inputs allows each of those inputs to + * receive the same events from the Event Hub. If not specified, the input uses the Event Hub’s + * default consumer group. */ consumerGroupName?: string; } /** - * @interface - * An interface representing BlobStreamInputDataSource. * Describes a blob input data source that contains stream data. - * */ export interface BlobStreamInputDataSource { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Microsoft.Storage/Blob"; /** - * @member {StorageAccount[]} [storageAccounts] A list of one or more Azure - * Storage accounts. Required on PUT (CreateOrReplace) requests. + * A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests. */ storageAccounts?: StorageAccount[]; /** - * @member {string} [container] The name of a container within the associated - * Storage account. This container contains either the blob(s) to be read - * from or written to. Required on PUT (CreateOrReplace) requests. + * The name of a container within the associated Storage account. This container contains either + * the blob(s) to be read from or written to. Required on PUT (CreateOrReplace) requests. */ container?: string; /** - * @member {string} [pathPattern] The blob path pattern. Not a regular - * expression. It represents a pattern against which blob names will be - * matched to determine whether or not they should be included as input or - * output to the job. See - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input - * or - * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output - * for a more detailed explanation and example. + * The blob path pattern. Not a regular expression. It represents a pattern against which blob + * names will be matched to determine whether or not they should be included as input or output + * to the job. See + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or + * https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more + * detailed explanation and example. */ pathPattern?: string; /** - * @member {string} [dateFormat] The date format. Wherever {date} appears in - * pathPattern, the value of this property is used as the date format - * instead. + * The date format. Wherever {date} appears in pathPattern, the value of this property is used as + * the date format instead. */ dateFormat?: string; /** - * @member {string} [timeFormat] The time format. Wherever {time} appears in - * pathPattern, the value of this property is used as the time format - * instead. + * The time format. Wherever {time} appears in pathPattern, the value of this property is used as + * the time format instead. */ timeFormat?: string; /** - * @member {number} [sourcePartitionCount] The partition count of the blob - * input data source. Range 1 - 256. + * The partition count of the blob input data source. Range 1 - 256. */ sourcePartitionCount?: number; } /** - * @interface - * An interface representing StreamInputProperties. * The properties that are associated with an input containing stream data. - * */ export interface StreamInputProperties { /** - * @member {string} type Polymorphic Discriminator + * Polymorphic Discriminator */ type: "Stream"; /** - * @member {SerializationUnion} [serialization] Describes how data from an - * input is serialized or how data is serialized when written to an output. - * Required on PUT (CreateOrReplace) requests. + * Describes how data from an input is serialized or how data is serialized when written to an + * output. Required on PUT (CreateOrReplace) requests. */ serialization?: SerializationUnion; /** - * @member {Diagnostics} [diagnostics] Describes conditions applicable to the - * Input, Output, or the job overall, that warrant customer attention. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes conditions applicable to the Input, Output, or the job overall, that warrant + * customer attention. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly diagnostics?: Diagnostics; /** - * @member {string} [etag] The current entity tag for the input. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current entity tag for the input. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly etag?: string; /** - * @member {StreamInputDataSourceUnion} [datasource] Describes an input data - * source that contains stream data. Required on PUT (CreateOrReplace) + * Describes an input data source that contains stream data. Required on PUT (CreateOrReplace) * requests. */ datasource?: StreamInputDataSourceUnion; } /** - * @interface - * An interface representing ErrorResponse. * Describes the error that occurred. - * */ export interface ErrorResponse { /** - * @member {string} [code] Error code associated with the error that - * occurred. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Error code associated with the error that occurred. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly code?: string; /** - * @member {string} [message] Describes the error in detail. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes the error in detail. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly message?: string; } /** - * @interface - * An interface representing ResourceTestStatus. - * Describes the status of the test operation along with error information, if - * applicable. - * + * Describes the status of the test operation along with error information, if applicable. */ export interface ResourceTestStatus { /** - * @member {string} [status] The status of the test operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The status of the test operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly status?: string; /** - * @member {ErrorResponse} [error] Describes the error that occurred. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Describes the error that occurred. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly error?: ErrorResponse; } @@ -1832,921 +1459,674 @@ export interface ResourceTestStatus { export type FunctionRetrieveDefaultDefinitionParametersUnion = FunctionRetrieveDefaultDefinitionParameters | AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters | JavaScriptFunctionRetrieveDefaultDefinitionParameters; /** - * @interface - * An interface representing FunctionRetrieveDefaultDefinitionParameters. - * Parameters used to specify the type of function to retrieve the default - * definition for. - * + * Parameters used to specify the type of function to retrieve the default definition for. */ export interface FunctionRetrieveDefaultDefinitionParameters { /** - * @member {string} bindingType Polymorphic Discriminator + * Polymorphic Discriminator */ bindingType: "FunctionRetrieveDefaultDefinitionParameters"; } /** - * @interface - * An interface representing AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters. - * The parameters needed to retrieve the default function definition for an - * Azure Machine Learning web service function. - * + * The parameters needed to retrieve the default function definition for an Azure Machine Learning + * web service function. */ export interface AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters { /** - * @member {string} bindingType Polymorphic Discriminator + * Polymorphic Discriminator */ bindingType: "Microsoft.MachineLearning/WebService"; /** - * @member {string} [executeEndpoint] The Request-Response execute endpoint - * of the Azure Machine Learning web service. Find out more here: + * The Request-Response execute endpoint of the Azure Machine Learning web service. Find out more + * here: * https://docs.microsoft.com/en-us/azure/machine-learning/machine-learning-consume-web-services#request-response-service-rrs */ executeEndpoint?: string; /** - * @member {UdfType} [udfType] The function type. Possible values include: - * 'Scalar' + * The function type. Possible values include: 'Scalar' */ udfType?: UdfType; } /** - * @interface - * An interface representing JavaScriptFunctionRetrieveDefaultDefinitionParameters. - * The parameters needed to retrieve the default function definition for a - * JavaScript function. - * + * The parameters needed to retrieve the default function definition for a JavaScript function. */ export interface JavaScriptFunctionRetrieveDefaultDefinitionParameters { /** - * @member {string} bindingType Polymorphic Discriminator + * Polymorphic Discriminator */ bindingType: "Microsoft.StreamAnalytics/JavascriptUdf"; /** - * @member {string} [script] The JavaScript code containing a single function - * definition. For example: 'function (x, y) { return x + y; }'. + * The JavaScript code containing a single function definition. For example: 'function (x, y) { + * return x + y; }'. */ script?: string; /** - * @member {UdfType} [udfType] The function type. Possible values include: - * 'Scalar' + * The function type. Possible values include: 'Scalar' */ udfType?: UdfType; } /** - * @interface - * An interface representing SubscriptionQuota. * Describes the current quota for the subscription. - * - * @extends SubResource */ export interface SubscriptionQuota extends SubResource { /** - * @member {number} [maxCount] The max permitted usage of this resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The max permitted usage of this resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly maxCount?: number; /** - * @member {number} [currentCount] The current usage of this resource. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The current usage of this resource. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly currentCount?: number; } /** - * @interface - * An interface representing SubscriptionQuotasListResult. - * Result of the GetQuotas operation. It contains a list of quotas for the - * subscription in a particular region. - * + * Result of the GetQuotas operation. It contains a list of quotas for the subscription in a + * particular region. */ export interface SubscriptionQuotasListResult { /** - * @member {SubscriptionQuota[]} [value] List of quotas for the subscription - * in a particular region. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * List of quotas for the subscription in a particular region. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly value?: SubscriptionQuota[]; } /** - * @interface - * An interface representing StreamingJobsCreateOrReplaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsCreateOrReplaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the streaming job. Omit this value - * to always overwrite the current record set. Specify the last-seen ETag - * value to prevent accidentally overwritting concurrent changes. + * The ETag of the streaming job. Omit this value to always overwrite the current record set. + * Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new streaming job to - * be created, but to prevent updating an existing record set. Other values - * will result in a 412 Pre-condition Failed response. + * Set to '*' to allow a new streaming job to be created, but to prevent updating an existing + * record set. Other values will result in a 412 Pre-condition Failed response. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing StreamingJobsUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the streaming job. Omit this value - * to always overwrite the current record set. Specify the last-seen ETag - * value to prevent accidentally overwritting concurrent changes. + * The ETag of the streaming job. Omit this value to always overwrite the current record set. + * Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; } /** - * @interface - * An interface representing StreamingJobsGetOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsGetOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [expand] The $expand OData query parameter. This is a - * comma-separated list of additional streaming job properties to include in - * the response, beyond the default set returned when this parameter is - * absent. The default set is all streaming job properties other than - * 'inputs', 'transformation', 'outputs', and 'functions'. + * The $expand OData query parameter. This is a comma-separated list of additional streaming job + * properties to include in the response, beyond the default set returned when this parameter is + * absent. The default set is all streaming job properties other than 'inputs', 'transformation', + * 'outputs', and 'functions'. */ expand?: string; } /** - * @interface - * An interface representing StreamingJobsListByResourceGroupOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsListByResourceGroupOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [expand] The $expand OData query parameter. This is a - * comma-separated list of additional streaming job properties to include in - * the response, beyond the default set returned when this parameter is - * absent. The default set is all streaming job properties other than - * 'inputs', 'transformation', 'outputs', and 'functions'. + * The $expand OData query parameter. This is a comma-separated list of additional streaming job + * properties to include in the response, beyond the default set returned when this parameter is + * absent. The default set is all streaming job properties other than 'inputs', 'transformation', + * 'outputs', and 'functions'. */ expand?: string; } /** - * @interface - * An interface representing StreamingJobsListOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsListOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [expand] The $expand OData query parameter. This is a - * comma-separated list of additional streaming job properties to include in - * the response, beyond the default set returned when this parameter is - * absent. The default set is all streaming job properties other than - * 'inputs', 'transformation', 'outputs', and 'functions'. + * The $expand OData query parameter. This is a comma-separated list of additional streaming job + * properties to include in the response, beyond the default set returned when this parameter is + * absent. The default set is all streaming job properties other than 'inputs', 'transformation', + * 'outputs', and 'functions'. */ expand?: string; } /** - * @interface - * An interface representing StreamingJobsStartOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsStartOptionalParams extends msRest.RequestOptionsBase { /** - * @member {StartStreamingJobParameters} [startJobParameters] Parameters - * applicable to a start streaming job operation. + * Parameters applicable to a start streaming job operation. */ startJobParameters?: StartStreamingJobParameters; } /** - * @interface - * An interface representing StreamingJobsBeginCreateOrReplaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsBeginCreateOrReplaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the streaming job. Omit this value - * to always overwrite the current record set. Specify the last-seen ETag - * value to prevent accidentally overwritting concurrent changes. + * The ETag of the streaming job. Omit this value to always overwrite the current record set. + * Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new streaming job to - * be created, but to prevent updating an existing record set. Other values - * will result in a 412 Pre-condition Failed response. + * Set to '*' to allow a new streaming job to be created, but to prevent updating an existing + * record set. Other values will result in a 412 Pre-condition Failed response. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing StreamingJobsBeginStartOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface StreamingJobsBeginStartOptionalParams extends msRest.RequestOptionsBase { /** - * @member {StartStreamingJobParameters} [startJobParameters] Parameters - * applicable to a start streaming job operation. + * Parameters applicable to a start streaming job operation. */ startJobParameters?: StartStreamingJobParameters; } /** - * @interface - * An interface representing InputsCreateOrReplaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface InputsCreateOrReplaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the input. Omit this value to - * always overwrite the current input. Specify the last-seen ETag value to - * prevent accidentally overwritting concurrent changes. + * The ETag of the input. Omit this value to always overwrite the current input. Specify the + * last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new input to be - * created, but to prevent updating an existing input. Other values will - * result in a 412 Pre-condition Failed response. + * Set to '*' to allow a new input to be created, but to prevent updating an existing input. + * Other values will result in a 412 Pre-condition Failed response. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing InputsUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface InputsUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the input. Omit this value to - * always overwrite the current input. Specify the last-seen ETag value to - * prevent accidentally overwritting concurrent changes. + * The ETag of the input. Omit this value to always overwrite the current input. Specify the + * last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; } /** - * @interface - * An interface representing InputsListByStreamingJobOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface InputsListByStreamingJobOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [select] The $select OData query parameter. This is a - * comma-separated list of structural properties to include in the response, - * or "*" to include all properties. By default, all properties are returned - * except diagnostics. Currently only accepts '*' as a valid value. + * The $select OData query parameter. This is a comma-separated list of structural properties to + * include in the response, or "*" to include all properties. By default, all properties are + * returned except diagnostics. Currently only accepts '*' as a valid value. */ select?: string; } /** - * @interface - * An interface representing InputsTestOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface InputsTestOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Input} [input] If the input specified does not already exist, - * this parameter must contain the full input definition intended to be - * tested. If the input specified already exists, this parameter can be left - * null to test the existing input as is or if specified, the properties - * specified will overwrite the corresponding properties in the existing - * input (exactly like a PATCH operation) and the resulting input will be - * tested. + * If the input specified does not already exist, this parameter must contain the full input + * definition intended to be tested. If the input specified already exists, this parameter can be + * left null to test the existing input as is or if specified, the properties specified will + * overwrite the corresponding properties in the existing input (exactly like a PATCH operation) + * and the resulting input will be tested. */ input?: Input; } /** - * @interface - * An interface representing InputsBeginTestOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface InputsBeginTestOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Input} [input] If the input specified does not already exist, - * this parameter must contain the full input definition intended to be - * tested. If the input specified already exists, this parameter can be left - * null to test the existing input as is or if specified, the properties - * specified will overwrite the corresponding properties in the existing - * input (exactly like a PATCH operation) and the resulting input will be - * tested. + * If the input specified does not already exist, this parameter must contain the full input + * definition intended to be tested. If the input specified already exists, this parameter can be + * left null to test the existing input as is or if specified, the properties specified will + * overwrite the corresponding properties in the existing input (exactly like a PATCH operation) + * and the resulting input will be tested. */ input?: Input; } /** - * @interface - * An interface representing OutputsCreateOrReplaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface OutputsCreateOrReplaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the output. Omit this value to - * always overwrite the current output. Specify the last-seen ETag value to - * prevent accidentally overwritting concurrent changes. + * The ETag of the output. Omit this value to always overwrite the current output. Specify the + * last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new output to be - * created, but to prevent updating an existing output. Other values will - * result in a 412 Pre-condition Failed response. + * Set to '*' to allow a new output to be created, but to prevent updating an existing output. + * Other values will result in a 412 Pre-condition Failed response. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing OutputsUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface OutputsUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the output. Omit this value to - * always overwrite the current output. Specify the last-seen ETag value to - * prevent accidentally overwritting concurrent changes. + * The ETag of the output. Omit this value to always overwrite the current output. Specify the + * last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; } /** - * @interface - * An interface representing OutputsListByStreamingJobOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface OutputsListByStreamingJobOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [select] The $select OData query parameter. This is a - * comma-separated list of structural properties to include in the response, - * or "*" to include all properties. By default, all properties are returned - * except diagnostics. Currently only accepts '*' as a valid value. + * The $select OData query parameter. This is a comma-separated list of structural properties to + * include in the response, or "*" to include all properties. By default, all properties are + * returned except diagnostics. Currently only accepts '*' as a valid value. */ select?: string; } /** - * @interface - * An interface representing OutputsTestOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface OutputsTestOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Output} [output] If the output specified does not already exist, - * this parameter must contain the full output definition intended to be - * tested. If the output specified already exists, this parameter can be left - * null to test the existing output as is or if specified, the properties - * specified will overwrite the corresponding properties in the existing - * output (exactly like a PATCH operation) and the resulting output will be - * tested. + * If the output specified does not already exist, this parameter must contain the full output + * definition intended to be tested. If the output specified already exists, this parameter can + * be left null to test the existing output as is or if specified, the properties specified will + * overwrite the corresponding properties in the existing output (exactly like a PATCH operation) + * and the resulting output will be tested. */ output?: Output; } /** - * @interface - * An interface representing OutputsBeginTestOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface OutputsBeginTestOptionalParams extends msRest.RequestOptionsBase { /** - * @member {Output} [output] If the output specified does not already exist, - * this parameter must contain the full output definition intended to be - * tested. If the output specified already exists, this parameter can be left - * null to test the existing output as is or if specified, the properties - * specified will overwrite the corresponding properties in the existing - * output (exactly like a PATCH operation) and the resulting output will be - * tested. + * If the output specified does not already exist, this parameter must contain the full output + * definition intended to be tested. If the output specified already exists, this parameter can + * be left null to test the existing output as is or if specified, the properties specified will + * overwrite the corresponding properties in the existing output (exactly like a PATCH operation) + * and the resulting output will be tested. */ output?: Output; } /** - * @interface - * An interface representing TransformationsCreateOrReplaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface TransformationsCreateOrReplaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the transformation. Omit this value - * to always overwrite the current transformation. Specify the last-seen ETag - * value to prevent accidentally overwritting concurrent changes. + * The ETag of the transformation. Omit this value to always overwrite the current + * transformation. Specify the last-seen ETag value to prevent accidentally overwriting + * concurrent changes. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new transformation to - * be created, but to prevent updating an existing transformation. Other - * values will result in a 412 Pre-condition Failed response. + * Set to '*' to allow a new transformation to be created, but to prevent updating an existing + * transformation. Other values will result in a 412 Pre-condition Failed response. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing TransformationsUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface TransformationsUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the transformation. Omit this value - * to always overwrite the current transformation. Specify the last-seen ETag - * value to prevent accidentally overwritting concurrent changes. + * The ETag of the transformation. Omit this value to always overwrite the current + * transformation. Specify the last-seen ETag value to prevent accidentally overwriting + * concurrent changes. */ ifMatch?: string; } /** - * @interface - * An interface representing FunctionsCreateOrReplaceOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface FunctionsCreateOrReplaceOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the function. Omit this value to - * always overwrite the current function. Specify the last-seen ETag value to - * prevent accidentally overwritting concurrent changes. + * The ETag of the function. Omit this value to always overwrite the current function. Specify + * the last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; /** - * @member {string} [ifNoneMatch] Set to '*' to allow a new function to be - * created, but to prevent updating an existing function. Other values will - * result in a 412 Pre-condition Failed response. + * Set to '*' to allow a new function to be created, but to prevent updating an existing + * function. Other values will result in a 412 Pre-condition Failed response. */ ifNoneMatch?: string; } /** - * @interface - * An interface representing FunctionsUpdateOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface FunctionsUpdateOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [ifMatch] The ETag of the function. Omit this value to - * always overwrite the current function. Specify the last-seen ETag value to - * prevent accidentally overwritting concurrent changes. + * The ETag of the function. Omit this value to always overwrite the current function. Specify + * the last-seen ETag value to prevent accidentally overwriting concurrent changes. */ ifMatch?: string; } /** - * @interface - * An interface representing FunctionsListByStreamingJobOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface FunctionsListByStreamingJobOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [select] The $select OData query parameter. This is a - * comma-separated list of structural properties to include in the response, - * or "*" to include all properties. By default, all properties are returned - * except diagnostics. Currently only accepts '*' as a valid value. + * The $select OData query parameter. This is a comma-separated list of structural properties to + * include in the response, or "*" to include all properties. By default, all properties are + * returned except diagnostics. Currently only accepts '*' as a valid value. */ select?: string; } /** - * @interface - * An interface representing FunctionsTestOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface FunctionsTestOptionalParams extends msRest.RequestOptionsBase { /** - * @member {FunctionModel} [functionParameter] If the function specified does - * not already exist, this parameter must contain the full function - * definition intended to be tested. If the function specified already - * exists, this parameter can be left null to test the existing function as - * is or if specified, the properties specified will overwrite the - * corresponding properties in the existing function (exactly like a PATCH - * operation) and the resulting function will be tested. + * If the function specified does not already exist, this parameter must contain the full + * function definition intended to be tested. If the function specified already exists, this + * parameter can be left null to test the existing function as is or if specified, the properties + * specified will overwrite the corresponding properties in the existing function (exactly like a + * PATCH operation) and the resulting function will be tested. */ functionParameter?: FunctionModel; } /** - * @interface - * An interface representing FunctionsRetrieveDefaultDefinitionOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface FunctionsRetrieveDefaultDefinitionOptionalParams extends msRest.RequestOptionsBase { /** - * @member {FunctionRetrieveDefaultDefinitionParametersUnion} - * [functionRetrieveDefaultDefinitionParameters] Parameters used to specify - * the type of function to retrieve the default definition for. + * Parameters used to specify the type of function to retrieve the default definition for. */ functionRetrieveDefaultDefinitionParameters?: FunctionRetrieveDefaultDefinitionParametersUnion; } /** - * @interface - * An interface representing FunctionsBeginTestOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface FunctionsBeginTestOptionalParams extends msRest.RequestOptionsBase { /** - * @member {FunctionModel} [functionParameter] If the function specified does - * not already exist, this parameter must contain the full function - * definition intended to be tested. If the function specified already - * exists, this parameter can be left null to test the existing function as - * is or if specified, the properties specified will overwrite the - * corresponding properties in the existing function (exactly like a PATCH - * operation) and the resulting function will be tested. + * If the function specified does not already exist, this parameter must contain the full + * function definition intended to be tested. If the function specified already exists, this + * parameter can be left null to test the existing function as is or if specified, the properties + * specified will overwrite the corresponding properties in the existing function (exactly like a + * PATCH operation) and the resulting function will be tested. */ functionParameter?: FunctionModel; } /** - * @interface * An interface representing StreamAnalyticsManagementClientOptions. - * @extends AzureServiceClientOptions */ export interface StreamAnalyticsManagementClientOptions extends AzureServiceClientOptions { - /** - * @member {string} [baseUri] - */ baseUri?: string; } /** - * @interface - * An interface representing StreamingJobsCreateOrReplaceHeaders. * Defines headers for CreateOrReplace operation. - * */ export interface StreamingJobsCreateOrReplaceHeaders { /** - * @member {string} [eTag] The current entity tag for the streaming job. This - * is an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. + * The current entity tag for the streaming job. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing StreamingJobsUpdateHeaders. * Defines headers for Update operation. - * */ export interface StreamingJobsUpdateHeaders { /** - * @member {string} [eTag] The current entity tag for the streaming job. This - * is an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. + * The current entity tag for the streaming job. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing StreamingJobsGetHeaders. * Defines headers for Get operation. - * */ export interface StreamingJobsGetHeaders { /** - * @member {string} [eTag] The current entity tag for the streaming job. This - * is an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. + * The current entity tag for the streaming job. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing InputsCreateOrReplaceHeaders. * Defines headers for CreateOrReplace operation. - * */ export interface InputsCreateOrReplaceHeaders { /** - * @member {string} [eTag] The current entity tag for the input. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. + * The current entity tag for the input. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing InputsUpdateHeaders. * Defines headers for Update operation. - * */ export interface InputsUpdateHeaders { /** - * @member {string} [eTag] The current entity tag for the input. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. + * The current entity tag for the input. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing InputsGetHeaders. * Defines headers for Get operation. - * */ export interface InputsGetHeaders { /** - * @member {string} [eTag] The current entity tag for the input. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. + * The current entity tag for the input. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing OutputsCreateOrReplaceHeaders. * Defines headers for CreateOrReplace operation. - * */ export interface OutputsCreateOrReplaceHeaders { /** - * @member {string} [eTag] The current entity tag for the output. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. + * The current entity tag for the output. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing OutputsUpdateHeaders. * Defines headers for Update operation. - * */ export interface OutputsUpdateHeaders { /** - * @member {string} [eTag] The current entity tag for the output. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. + * The current entity tag for the output. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing OutputsGetHeaders. * Defines headers for Get operation. - * */ export interface OutputsGetHeaders { /** - * @member {string} [eTag] The current entity tag for the output. This is an - * opaque string. You can use it to detect whether the resource has changed - * between requests. You can also use it in the If-Match or If-None-Match - * headers for write operations for optimistic concurrency. + * The current entity tag for the output. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or + * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing TransformationsCreateOrReplaceHeaders. * Defines headers for CreateOrReplace operation. - * */ export interface TransformationsCreateOrReplaceHeaders { /** - * @member {string} [eTag] The current entity tag for the transformation. - * This is an opaque string. You can use it to detect whether the resource - * has changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. + * The current entity tag for the transformation. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing TransformationsUpdateHeaders. * Defines headers for Update operation. - * */ export interface TransformationsUpdateHeaders { /** - * @member {string} [eTag] The current entity tag for the transformation. - * This is an opaque string. You can use it to detect whether the resource - * has changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. + * The current entity tag for the transformation. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing TransformationsGetHeaders. * Defines headers for Get operation. - * */ export interface TransformationsGetHeaders { /** - * @member {string} [eTag] The current entity tag for the transformation. - * This is an opaque string. You can use it to detect whether the resource - * has changed between requests. You can also use it in the If-Match or - * If-None-Match headers for write operations for optimistic concurrency. + * The current entity tag for the transformation. This is an opaque string. You can use it to + * detect whether the resource has changed between requests. You can also use it in the If-Match + * or If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing FunctionsCreateOrReplaceHeaders. * Defines headers for CreateOrReplace operation. - * */ export interface FunctionsCreateOrReplaceHeaders { /** - * @member {string} [eTag] The current entity tag for the function. This is - * an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or + * The current entity tag for the function. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing FunctionsUpdateHeaders. * Defines headers for Update operation. - * */ export interface FunctionsUpdateHeaders { /** - * @member {string} [eTag] The current entity tag for the function. This is - * an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or + * The current entity tag for the function. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } /** - * @interface - * An interface representing FunctionsGetHeaders. * Defines headers for Get operation. - * */ export interface FunctionsGetHeaders { /** - * @member {string} [eTag] The current entity tag for the function. This is - * an opaque string. You can use it to detect whether the resource has - * changed between requests. You can also use it in the If-Match or + * The current entity tag for the function. This is an opaque string. You can use it to detect + * whether the resource has changed between requests. You can also use it in the If-Match or * If-None-Match headers for write operations for optimistic concurrency. */ eTag: string; } - /** * @interface - * An interface representing the OperationListResult. - * Result of the request to list Stream Analytics operations. It contains a - * list of operations and a URL link to get the next set of results. - * + * Result of the request to list Stream Analytics operations. It contains a list of operations and + * a URL link to get the next set of results. * @extends Array */ export interface OperationListResult extends Array { /** - * @member {string} [nextLink] URL to get the next set of operation list - * results if there are any. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * URL to get the next set of operation list results if there are any. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nextLink?: string; } /** * @interface - * An interface representing the StreamingJobListResult. * Object containing a list of streaming jobs. - * * @extends Array */ export interface StreamingJobListResult extends Array { /** - * @member {string} [nextLink] The link (url) to the next page of results. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nextLink?: string; } /** * @interface - * An interface representing the InputListResult. * Object containing a list of inputs under a streaming job. - * * @extends Array */ export interface InputListResult extends Array { /** - * @member {string} [nextLink] The link (url) to the next page of results. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nextLink?: string; } /** * @interface - * An interface representing the OutputListResult. * Object containing a list of outputs under a streaming job. - * * @extends Array */ export interface OutputListResult extends Array { /** - * @member {string} [nextLink] The link (url) to the next page of results. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nextLink?: string; } /** * @interface - * An interface representing the FunctionListResult. * Object containing a list of functions under a streaming job. - * * @extends Array */ export interface FunctionListResult extends Array { /** - * @member {string} [nextLink] The link (url) to the next page of results. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The link (url) to the next page of results. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nextLink?: string; } @@ -2827,6 +2207,7 @@ export type OperationsListResponse = OperationListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2846,6 +2227,7 @@ export type OperationsListNextResponse = OperationListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2865,10 +2247,12 @@ export type StreamingJobsCreateOrReplaceResponse = StreamingJob & StreamingJobsC * The parsed HTTP response headers. */ parsedHeaders: StreamingJobsCreateOrReplaceHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2888,10 +2272,12 @@ export type StreamingJobsUpdateResponse = StreamingJob & StreamingJobsUpdateHead * The parsed HTTP response headers. */ parsedHeaders: StreamingJobsUpdateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2911,10 +2297,12 @@ export type StreamingJobsGetResponse = StreamingJob & StreamingJobsGetHeaders & * The parsed HTTP response headers. */ parsedHeaders: StreamingJobsGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2934,6 +2322,7 @@ export type StreamingJobsListByResourceGroupResponse = StreamingJobListResult & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2953,6 +2342,7 @@ export type StreamingJobsListResponse = StreamingJobListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2972,6 +2362,7 @@ export type StreamingJobsListByResourceGroupNextResponse = StreamingJobListResul * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -2991,6 +2382,7 @@ export type StreamingJobsListNextResponse = StreamingJobListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3010,10 +2402,12 @@ export type InputsCreateOrReplaceResponse = Input & InputsCreateOrReplaceHeaders * The parsed HTTP response headers. */ parsedHeaders: InputsCreateOrReplaceHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3033,10 +2427,12 @@ export type InputsUpdateResponse = Input & InputsUpdateHeaders & { * The parsed HTTP response headers. */ parsedHeaders: InputsUpdateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3056,10 +2452,12 @@ export type InputsGetResponse = Input & InputsGetHeaders & { * The parsed HTTP response headers. */ parsedHeaders: InputsGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3079,6 +2477,7 @@ export type InputsListByStreamingJobResponse = InputListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3098,6 +2497,7 @@ export type InputsTestResponse = ResourceTestStatus & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3117,6 +2517,7 @@ export type InputsBeginTestResponse = ResourceTestStatus & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3136,6 +2537,7 @@ export type InputsListByStreamingJobNextResponse = InputListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3155,10 +2557,12 @@ export type OutputsCreateOrReplaceResponse = Output & OutputsCreateOrReplaceHead * The parsed HTTP response headers. */ parsedHeaders: OutputsCreateOrReplaceHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3178,10 +2582,12 @@ export type OutputsUpdateResponse = Output & OutputsUpdateHeaders & { * The parsed HTTP response headers. */ parsedHeaders: OutputsUpdateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3201,10 +2607,12 @@ export type OutputsGetResponse = Output & OutputsGetHeaders & { * The parsed HTTP response headers. */ parsedHeaders: OutputsGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3224,6 +2632,7 @@ export type OutputsListByStreamingJobResponse = OutputListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3243,6 +2652,7 @@ export type OutputsTestResponse = ResourceTestStatus & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3262,6 +2672,7 @@ export type OutputsBeginTestResponse = ResourceTestStatus & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3281,6 +2692,7 @@ export type OutputsListByStreamingJobNextResponse = OutputListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3300,10 +2712,12 @@ export type TransformationsCreateOrReplaceResponse = Transformation & Transforma * The parsed HTTP response headers. */ parsedHeaders: TransformationsCreateOrReplaceHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3323,10 +2737,12 @@ export type TransformationsUpdateResponse = Transformation & TransformationsUpda * The parsed HTTP response headers. */ parsedHeaders: TransformationsUpdateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3346,10 +2762,12 @@ export type TransformationsGetResponse = Transformation & TransformationsGetHead * The parsed HTTP response headers. */ parsedHeaders: TransformationsGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3369,10 +2787,12 @@ export type FunctionsCreateOrReplaceResponse = FunctionModel & FunctionsCreateOr * The parsed HTTP response headers. */ parsedHeaders: FunctionsCreateOrReplaceHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3392,10 +2812,12 @@ export type FunctionsUpdateResponse = FunctionModel & FunctionsUpdateHeaders & { * The parsed HTTP response headers. */ parsedHeaders: FunctionsUpdateHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3415,10 +2837,12 @@ export type FunctionsGetResponse = FunctionModel & FunctionsGetHeaders & { * The parsed HTTP response headers. */ parsedHeaders: FunctionsGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3438,6 +2862,7 @@ export type FunctionsListByStreamingJobResponse = FunctionListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3457,6 +2882,7 @@ export type FunctionsTestResponse = ResourceTestStatus & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3476,6 +2902,7 @@ export type FunctionsRetrieveDefaultDefinitionResponse = FunctionModel & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3495,6 +2922,7 @@ export type FunctionsBeginTestResponse = ResourceTestStatus & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3514,6 +2942,7 @@ export type FunctionsListByStreamingJobNextResponse = FunctionListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -3533,6 +2962,7 @@ export type SubscriptionsListQuotasResponse = SubscriptionQuotasListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/inputsMappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/inputsMappers.ts index b55102550f7b..7807d9034d67 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/inputsMappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/inputsMappers.ts @@ -1,67 +1,64 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - Input, - SubResource, + AvroSerialization, + AzureDataLakeStoreOutputDataSource, + AzureMachineLearningWebServiceFunctionBinding, + AzureMachineLearningWebServiceInputColumn, + AzureMachineLearningWebServiceInputs, + AzureMachineLearningWebServiceOutputColumn, + AzureSqlDatabaseOutputDataSource, + AzureTableOutputDataSource, BaseResource, - InputProperties, - Serialization, - Diagnostics, + BlobOutputDataSource, + BlobReferenceInputDataSource, + BlobStreamInputDataSource, + CloudError, + CsvSerialization, DiagnosticCondition, + Diagnostics, + DocumentDbOutputDataSource, + ErrorResponse, + EventHubOutputDataSource, + EventHubStreamInputDataSource, + FunctionBinding, + FunctionInput, + FunctionModel, + FunctionOutput, + FunctionProperties, + Input, + InputListResult, + InputProperties, InputsCreateOrReplaceHeaders, - CloudError, - InputsUpdateHeaders, InputsGetHeaders, - InputListResult, - ResourceTestStatus, - ErrorResponse, - Transformation, + InputsUpdateHeaders, + IoTHubStreamInputDataSource, + JavaScriptFunctionBinding, + JsonSerialization, Output, OutputDataSource, - FunctionModel, - FunctionProperties, + PowerBIOutputDataSource, + ReferenceInputDataSource, + ReferenceInputProperties, Resource, + ResourceTestStatus, ScalarFunctionProperties, - FunctionInput, - FunctionOutput, - FunctionBinding, - AvroSerialization, - JsonSerialization, - CsvSerialization, - AzureDataLakeStoreOutputDataSource, - PowerBIOutputDataSource, - ServiceBusTopicOutputDataSource, + Serialization, ServiceBusQueueOutputDataSource, - DocumentDbOutputDataSource, - AzureSqlDatabaseOutputDataSource, - EventHubOutputDataSource, - AzureTableOutputDataSource, - BlobOutputDataSource, + ServiceBusTopicOutputDataSource, + Sku, StorageAccount, - ReferenceInputProperties, - ReferenceInputDataSource, - StreamInputProperties, + StreamingJob, StreamInputDataSource, + StreamInputProperties, + SubResource, SubscriptionQuota, - StreamingJob, - Sku, - JavaScriptFunctionBinding, - AzureMachineLearningWebServiceFunctionBinding, - AzureMachineLearningWebServiceInputs, - AzureMachineLearningWebServiceInputColumn, - AzureMachineLearningWebServiceOutputColumn, - BlobReferenceInputDataSource, - IoTHubStreamInputDataSource, - EventHubStreamInputDataSource, - BlobStreamInputDataSource + Transformation } from "../models/mappers"; - diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/mappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/mappers.ts index c013c3e3beb9..f9a47ff8d12a 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/mappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/mappers.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; @@ -2444,4 +2442,5 @@ export const discriminators = { 'FunctionRetrieveDefaultDefinitionParameters' : FunctionRetrieveDefaultDefinitionParameters, 'FunctionRetrieveDefaultDefinitionParameters.Microsoft.MachineLearning/WebService' : AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters, 'FunctionRetrieveDefaultDefinitionParameters.Microsoft.StreamAnalytics/JavascriptUdf' : JavaScriptFunctionRetrieveDefaultDefinitionParameters + }; diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/operationsMappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/operationsMappers.ts index 19f09b391246..65fc7dd1800a 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/operationsMappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/operationsMappers.ts @@ -1,18 +1,15 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - OperationListResult, + CloudError, Operation, OperationDisplay, - CloudError + OperationListResult } from "../models/mappers"; - diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/outputsMappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/outputsMappers.ts index 270d30018b02..2da53ff25c75 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/outputsMappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/outputsMappers.ts @@ -1,67 +1,64 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - Output, - SubResource, + AvroSerialization, + AzureDataLakeStoreOutputDataSource, + AzureMachineLearningWebServiceFunctionBinding, + AzureMachineLearningWebServiceInputColumn, + AzureMachineLearningWebServiceInputs, + AzureMachineLearningWebServiceOutputColumn, + AzureSqlDatabaseOutputDataSource, + AzureTableOutputDataSource, BaseResource, - OutputDataSource, - Serialization, - Diagnostics, - DiagnosticCondition, - OutputsCreateOrReplaceHeaders, + BlobOutputDataSource, + BlobReferenceInputDataSource, + BlobStreamInputDataSource, CloudError, - OutputsUpdateHeaders, - OutputsGetHeaders, - OutputListResult, - ResourceTestStatus, + CsvSerialization, + DiagnosticCondition, + Diagnostics, + DocumentDbOutputDataSource, ErrorResponse, - Input, - InputProperties, - Transformation, - FunctionModel, - FunctionProperties, - Resource, - ScalarFunctionProperties, + EventHubOutputDataSource, + EventHubStreamInputDataSource, + FunctionBinding, FunctionInput, + FunctionModel, FunctionOutput, - FunctionBinding, - AvroSerialization, + FunctionProperties, + Input, + InputProperties, + IoTHubStreamInputDataSource, + JavaScriptFunctionBinding, JsonSerialization, - CsvSerialization, - AzureDataLakeStoreOutputDataSource, + Output, + OutputDataSource, + OutputListResult, + OutputsCreateOrReplaceHeaders, + OutputsGetHeaders, + OutputsUpdateHeaders, PowerBIOutputDataSource, - ServiceBusTopicOutputDataSource, + ReferenceInputDataSource, + ReferenceInputProperties, + Resource, + ResourceTestStatus, + ScalarFunctionProperties, + Serialization, ServiceBusQueueOutputDataSource, - DocumentDbOutputDataSource, - AzureSqlDatabaseOutputDataSource, - EventHubOutputDataSource, - AzureTableOutputDataSource, - BlobOutputDataSource, + ServiceBusTopicOutputDataSource, + Sku, StorageAccount, - ReferenceInputProperties, - ReferenceInputDataSource, - StreamInputProperties, + StreamingJob, StreamInputDataSource, + StreamInputProperties, + SubResource, SubscriptionQuota, - StreamingJob, - Sku, - JavaScriptFunctionBinding, - AzureMachineLearningWebServiceFunctionBinding, - AzureMachineLearningWebServiceInputs, - AzureMachineLearningWebServiceInputColumn, - AzureMachineLearningWebServiceOutputColumn, - BlobReferenceInputDataSource, - IoTHubStreamInputDataSource, - EventHubStreamInputDataSource, - BlobStreamInputDataSource + Transformation } from "../models/mappers"; - diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/streamingJobsMappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/streamingJobsMappers.ts index 4e25a30ff381..f46edca15416 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/streamingJobsMappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/streamingJobsMappers.ts @@ -1,66 +1,63 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - StreamingJob, - Resource, + AvroSerialization, + AzureDataLakeStoreOutputDataSource, + AzureMachineLearningWebServiceFunctionBinding, + AzureMachineLearningWebServiceInputColumn, + AzureMachineLearningWebServiceInputs, + AzureMachineLearningWebServiceOutputColumn, + AzureSqlDatabaseOutputDataSource, + AzureTableOutputDataSource, BaseResource, - Sku, - Input, - SubResource, - InputProperties, - Serialization, - Diagnostics, - DiagnosticCondition, - Transformation, - Output, - OutputDataSource, - FunctionModel, - FunctionProperties, - StreamingJobsCreateOrReplaceHeaders, + BlobOutputDataSource, + BlobReferenceInputDataSource, + BlobStreamInputDataSource, CloudError, - StreamingJobsUpdateHeaders, - StreamingJobsGetHeaders, - StreamingJobListResult, - StartStreamingJobParameters, - ScalarFunctionProperties, + CsvSerialization, + DiagnosticCondition, + Diagnostics, + DocumentDbOutputDataSource, + EventHubOutputDataSource, + EventHubStreamInputDataSource, + FunctionBinding, FunctionInput, + FunctionModel, FunctionOutput, - FunctionBinding, - AvroSerialization, + FunctionProperties, + Input, + InputProperties, + IoTHubStreamInputDataSource, + JavaScriptFunctionBinding, JsonSerialization, - CsvSerialization, - AzureDataLakeStoreOutputDataSource, + Output, + OutputDataSource, PowerBIOutputDataSource, - ServiceBusTopicOutputDataSource, + ReferenceInputDataSource, + ReferenceInputProperties, + Resource, + ScalarFunctionProperties, + Serialization, ServiceBusQueueOutputDataSource, - DocumentDbOutputDataSource, - AzureSqlDatabaseOutputDataSource, - EventHubOutputDataSource, - AzureTableOutputDataSource, - BlobOutputDataSource, + ServiceBusTopicOutputDataSource, + Sku, + StartStreamingJobParameters, StorageAccount, - ReferenceInputProperties, - ReferenceInputDataSource, - StreamInputProperties, + StreamingJob, + StreamingJobListResult, + StreamingJobsCreateOrReplaceHeaders, + StreamingJobsGetHeaders, + StreamingJobsUpdateHeaders, StreamInputDataSource, + StreamInputProperties, + SubResource, SubscriptionQuota, - JavaScriptFunctionBinding, - AzureMachineLearningWebServiceFunctionBinding, - AzureMachineLearningWebServiceInputs, - AzureMachineLearningWebServiceInputColumn, - AzureMachineLearningWebServiceOutputColumn, - BlobReferenceInputDataSource, - IoTHubStreamInputDataSource, - EventHubStreamInputDataSource, - BlobStreamInputDataSource + Transformation } from "../models/mappers"; - diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/subscriptionsMappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/subscriptionsMappers.ts index 9ad1a4b27511..8aba592aa1c8 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/subscriptionsMappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/subscriptionsMappers.ts @@ -1,62 +1,59 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - SubscriptionQuotasListResult, - SubscriptionQuota, - SubResource, + AvroSerialization, + AzureDataLakeStoreOutputDataSource, + AzureMachineLearningWebServiceFunctionBinding, + AzureMachineLearningWebServiceInputColumn, + AzureMachineLearningWebServiceInputs, + AzureMachineLearningWebServiceOutputColumn, + AzureSqlDatabaseOutputDataSource, + AzureTableOutputDataSource, BaseResource, + BlobOutputDataSource, + BlobReferenceInputDataSource, + BlobStreamInputDataSource, CloudError, + CsvSerialization, + DiagnosticCondition, + Diagnostics, + DocumentDbOutputDataSource, + EventHubOutputDataSource, + EventHubStreamInputDataSource, + FunctionBinding, + FunctionInput, + FunctionModel, + FunctionOutput, + FunctionProperties, Input, InputProperties, - Serialization, - Diagnostics, - DiagnosticCondition, - Transformation, + IoTHubStreamInputDataSource, + JavaScriptFunctionBinding, + JsonSerialization, Output, OutputDataSource, - FunctionModel, - FunctionProperties, + PowerBIOutputDataSource, + ReferenceInputDataSource, + ReferenceInputProperties, Resource, ScalarFunctionProperties, - FunctionInput, - FunctionOutput, - FunctionBinding, - AvroSerialization, - JsonSerialization, - CsvSerialization, - AzureDataLakeStoreOutputDataSource, - PowerBIOutputDataSource, - ServiceBusTopicOutputDataSource, + Serialization, ServiceBusQueueOutputDataSource, - DocumentDbOutputDataSource, - AzureSqlDatabaseOutputDataSource, - EventHubOutputDataSource, - AzureTableOutputDataSource, - BlobOutputDataSource, + ServiceBusTopicOutputDataSource, + Sku, StorageAccount, - ReferenceInputProperties, - ReferenceInputDataSource, - StreamInputProperties, - StreamInputDataSource, StreamingJob, - Sku, - JavaScriptFunctionBinding, - AzureMachineLearningWebServiceFunctionBinding, - AzureMachineLearningWebServiceInputs, - AzureMachineLearningWebServiceInputColumn, - AzureMachineLearningWebServiceOutputColumn, - BlobReferenceInputDataSource, - IoTHubStreamInputDataSource, - EventHubStreamInputDataSource, - BlobStreamInputDataSource + StreamInputDataSource, + StreamInputProperties, + SubResource, + SubscriptionQuota, + SubscriptionQuotasListResult, + Transformation } from "../models/mappers"; - diff --git a/sdk/streamanalytics/arm-streamanalytics/src/models/transformationsMappers.ts b/sdk/streamanalytics/arm-streamanalytics/src/models/transformationsMappers.ts index af58fb912072..24e56f320ca8 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/models/transformationsMappers.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/models/transformationsMappers.ts @@ -1,64 +1,61 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - Transformation, - SubResource, + AvroSerialization, + AzureDataLakeStoreOutputDataSource, + AzureMachineLearningWebServiceFunctionBinding, + AzureMachineLearningWebServiceInputColumn, + AzureMachineLearningWebServiceInputs, + AzureMachineLearningWebServiceOutputColumn, + AzureSqlDatabaseOutputDataSource, + AzureTableOutputDataSource, BaseResource, - TransformationsCreateOrReplaceHeaders, + BlobOutputDataSource, + BlobReferenceInputDataSource, + BlobStreamInputDataSource, CloudError, - TransformationsUpdateHeaders, - TransformationsGetHeaders, + CsvSerialization, + DiagnosticCondition, + Diagnostics, + DocumentDbOutputDataSource, + EventHubOutputDataSource, + EventHubStreamInputDataSource, + FunctionBinding, + FunctionInput, + FunctionModel, + FunctionOutput, + FunctionProperties, Input, InputProperties, - Serialization, - Diagnostics, - DiagnosticCondition, + IoTHubStreamInputDataSource, + JavaScriptFunctionBinding, + JsonSerialization, Output, OutputDataSource, - FunctionModel, - FunctionProperties, + PowerBIOutputDataSource, + ReferenceInputDataSource, + ReferenceInputProperties, Resource, ScalarFunctionProperties, - FunctionInput, - FunctionOutput, - FunctionBinding, - AvroSerialization, - JsonSerialization, - CsvSerialization, - AzureDataLakeStoreOutputDataSource, - PowerBIOutputDataSource, - ServiceBusTopicOutputDataSource, + Serialization, ServiceBusQueueOutputDataSource, - DocumentDbOutputDataSource, - AzureSqlDatabaseOutputDataSource, - EventHubOutputDataSource, - AzureTableOutputDataSource, - BlobOutputDataSource, + ServiceBusTopicOutputDataSource, + Sku, StorageAccount, - ReferenceInputProperties, - ReferenceInputDataSource, - StreamInputProperties, + StreamingJob, StreamInputDataSource, + StreamInputProperties, + SubResource, SubscriptionQuota, - StreamingJob, - Sku, - JavaScriptFunctionBinding, - AzureMachineLearningWebServiceFunctionBinding, - AzureMachineLearningWebServiceInputs, - AzureMachineLearningWebServiceInputColumn, - AzureMachineLearningWebServiceOutputColumn, - BlobReferenceInputDataSource, - IoTHubStreamInputDataSource, - EventHubStreamInputDataSource, - BlobStreamInputDataSource + Transformation, + TransformationsCreateOrReplaceHeaders, + TransformationsGetHeaders, + TransformationsUpdateHeaders } from "../models/mappers"; - diff --git a/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts b/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts index 93be067a6435..755e1351b70a 100644 --- a/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts +++ b/sdk/streamanalytics/arm-streamanalytics/src/streamAnalyticsManagementClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-streamanalytics"; -const packageVersion = "0.1.0"; +const packageVersion = "1.1.1"; export class StreamAnalyticsManagementClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; diff --git a/sdk/streamanalytics/arm-streamanalytics/tsconfig.json b/sdk/streamanalytics/arm-streamanalytics/tsconfig.json index 87bbf5b5fa49..422b584abd5e 100644 --- a/sdk/streamanalytics/arm-streamanalytics/tsconfig.json +++ b/sdk/streamanalytics/arm-streamanalytics/tsconfig.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, "outDir": "./esm", "importHelpers": true diff --git a/sdk/subscription/arm-subscriptions/LICENSE.txt b/sdk/subscription/arm-subscriptions/LICENSE.txt index a70e8cf66038..b73b4a1293c3 100644 --- a/sdk/subscription/arm-subscriptions/LICENSE.txt +++ b/sdk/subscription/arm-subscriptions/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/subscription/arm-subscriptions/README.md b/sdk/subscription/arm-subscriptions/README.md index cf12bd35b66a..e57ebc12be19 100644 --- a/sdk/subscription/arm-subscriptions/README.md +++ b/sdk/subscription/arm-subscriptions/README.md @@ -9,23 +9,24 @@ This package contains an isomorphic SDK for SubscriptionClient. ### How to Install -``` +```bash npm install @azure/arm-subscriptions ``` ### How to use -#### nodejs - Authentication, client creation and list operations as an example written in TypeScript. +#### nodejs - Authentication, client creation and listLocations subscriptions as an example written in TypeScript. ##### Install @azure/ms-rest-nodeauth -``` -npm install @azure/ms-rest-nodeauth +- Please install minimum version of `"@azure/ms-rest-nodeauth": "^3.0.0"`. +```bash +npm install @azure/ms-rest-nodeauth@"^3.0.0" ``` ##### Sample code -```ts +```typescript import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; @@ -34,7 +35,8 @@ const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"]; msRestNodeAuth.interactiveLogin().then((creds) => { const client = new SubscriptionClient(creds, subscriptionId); - client.operations.list().then((result) => { + const subscriptionId = "testsubscriptionId"; + client.subscriptions.listLocations(subscriptionId).then((result) => { console.log("The result is:"); console.log(result); }); @@ -43,11 +45,11 @@ msRestNodeAuth.interactiveLogin().then((creds) => { }); ``` -#### browser - Authentication, client creation and list operations as an example written in JavaScript. +#### browser - Authentication, client creation and listLocations subscriptions as an example written in JavaScript. ##### Install @azure/ms-rest-browserauth -``` +```bash npm install @azure/ms-rest-browserauth ``` @@ -77,7 +79,8 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to authManager.login(); } const client = new Azure.ArmSubscriptions.SubscriptionClient(res.creds, subscriptionId); - client.operations.list().then((result) => { + const subscriptionId = "testsubscriptionId"; + client.subscriptions.listLocations(subscriptionId).then((result) => { console.log("The result is:"); console.log(result); }).catch((err) => { @@ -95,5 +98,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) - ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/subscription/arm-subscriptions/README.png) diff --git a/sdk/subscription/arm-subscriptions/package.json b/sdk/subscription/arm-subscriptions/package.json index 3509dca1c114..b2cb568a3354 100644 --- a/sdk/subscription/arm-subscriptions/package.json +++ b/sdk/subscription/arm-subscriptions/package.json @@ -2,11 +2,11 @@ "name": "@azure/arm-subscriptions", "author": "Microsoft Corporation", "description": "SubscriptionClient Library with typescript type definitions for node.js and browser.", - "version": "1.0.0", + "version": "2.0.0", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.1", + "@azure/ms-rest-js": "^2.0.4", + "tslib": "^1.10.0" }, "keywords": [ "node", @@ -20,18 +20,19 @@ "module": "./esm/subscriptionClient.js", "types": "./esm/subscriptionClient.d.ts", "devDependencies": { - "typescript": "^3.1.1", - "rollup": "^0.66.2", - "rollup-plugin-node-resolve": "^3.4.0", - "uglify-js": "^3.4.9" + "typescript": "^3.5.3", + "rollup": "^1.18.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-sourcemaps": "^0.4.2", + "uglify-js": "^3.6.0" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/subscription/arm-subscriptions", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/subscription/arm-subscriptions", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", @@ -43,6 +44,7 @@ "esm/**/*.d.ts", "esm/**/*.d.ts.map", "src/**/*.ts", + "README.md", "rollup.config.js", "tsconfig.json" ], @@ -52,5 +54,5 @@ "prepack": "npm install && npm run build" }, "sideEffects": false, - "authPublish": true + "autoPublish": true } diff --git a/sdk/subscription/arm-subscriptions/rollup.config.js b/sdk/subscription/arm-subscriptions/rollup.config.js index a828255f7f53..31cf8990d22c 100644 --- a/sdk/subscription/arm-subscriptions/rollup.config.js +++ b/sdk/subscription/arm-subscriptions/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/subscriptionClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/subscriptionClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-subscriptions.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ mainFields: ['module', 'main'] }), + sourcemaps() ] }; + export default config; diff --git a/sdk/subscription/arm-subscriptions/src/models/index.ts b/sdk/subscription/arm-subscriptions/src/models/index.ts index 58329f3a0f52..c36cd679f128 100644 --- a/sdk/subscription/arm-subscriptions/src/models/index.ts +++ b/sdk/subscription/arm-subscriptions/src/models/index.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; @@ -13,365 +11,381 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; +/** + * Describes the format of Error response. + */ +export interface ErrorResponse { + /** + * Error code + */ + code?: string; + /** + * Error message indicating why the operation failed. + */ + message?: string; +} /** - * @interface - * An interface representing SubscriptionCreationResult. - * The created subscription object. - * + * The ID of the canceled subscription */ -export interface SubscriptionCreationResult { +export interface CanceledSubscriptionId { /** - * @member {string} [subscriptionLink] The link to the new subscription. + * The ID of the canceled subscription + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - subscriptionLink?: string; + readonly value?: string; } /** - * @interface - * An interface representing AdPrincipal. - * Active Directory Principal for subscription creation delegated permission - * + * The ID of the subscriptions that is being renamed */ -export interface AdPrincipal { +export interface RenamedSubscriptionId { /** - * @member {string} objectId Object id of the Principal + * The ID of the subscriptions that is being renamed + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - objectId: string; + readonly value?: string; } /** - * @interface - * An interface representing SubscriptionCreationParameters. - * Subscription Creation Parameters required to create a new Azure - * subscription. - * + * The new name of the subscription. */ -export interface SubscriptionCreationParameters { +export interface SubscriptionName { /** - * @member {string} [displayName] The display name of the subscription. + * New subscription name */ - displayName?: string; + subscriptionName?: string; +} + +/** + * The object that represents the operation. + */ +export interface OperationDisplay { /** - * @member {AdPrincipal[]} [owners] The list of principals that should be - * granted Owner access on the subscription. Principals should be of type - * User, Service Principal or Security Group. + * Service provider: Microsoft.Subscription */ - owners?: AdPrincipal[]; + provider?: string; /** - * @member {OfferType} [offerType] The offer type of the subscription. For - * example, MS-AZR-0017P (EnterpriseAgreement) and MS-AZR-0148P - * (EnterpriseAgreement devTest) are available. Only valid when creating a - * subscription in a enrollment account scope. Possible values include: - * 'MS-AZR-0017P', 'MS-AZR-0148P' + * Resource on which the operation is performed: Profile, endpoint, etc. */ - offerType?: OfferType; + resource?: string; /** - * @member {{ [propertyName: string]: any }} [additionalParameters] - * Additional, untyped parameters to support custom subscription creation - * scenarios. + * Operation type: Read, write, delete, etc. */ - additionalParameters?: { [propertyName: string]: any }; + operation?: string; } /** - * @interface - * An interface representing ErrorResponse. - * Describes the format of Error response. - * + * REST API operation */ -export interface ErrorResponse { +export interface Operation { /** - * @member {string} [code] Error code + * Operation name: {provider}/{resource}/{operation} */ - code?: string; + name?: string; /** - * @member {string} [message] Error message indicating why the operation - * failed. + * The object that represents the operation. */ - message?: string; + display?: OperationDisplay; } /** - * @interface - * An interface representing SubscriptionOperation. - * status of the subscription POST operation. - * + * Result of the request to list operations. It contains a list of operations and a URL link to get + * the next set of results. */ -export interface SubscriptionOperation { +export interface OperationListResult { /** - * @member {string} [id] The operation Id. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * List of operations. */ - readonly id?: string; + value?: Operation[]; /** - * @member {string} [status] Status of the pending subscription + * URL to get the next set of operation list results if there are any. */ - status?: string; + nextLink?: string; +} + +/** + * The created subscription object. + */ +export interface SubscriptionCreationResult { /** - * @member {string} [statusDetail] Status Detail of the pending subscription + * The link to the new subscription. Use this link to check the status of subscription creation + * operation. */ - statusDetail?: string; + subscriptionLink?: string; } /** - * @interface - * An interface representing SubscriptionOperationListResult. - * A list of pending subscription operations. - * + * Active Directory Principal who’ll get owner access on the new subscription. */ -export interface SubscriptionOperationListResult { +export interface AdPrincipal { /** - * @member {SubscriptionOperation[]} [value] A list of pending - * SubscriptionOperations + * Object id of the Principal */ - value?: SubscriptionOperation[]; + objectId: string; } /** - * @interface - * An interface representing OperationDisplay. - * The object that represents the operation. - * + * The parameters required to create a new subscription. */ -export interface OperationDisplay { +export interface ModernSubscriptionCreationParameters { /** - * @member {string} [provider] Service provider: Microsoft.Subscription + * The friendly name of the subscription. */ - provider?: string; + displayName: string; /** - * @member {string} [resource] Resource on which the operation is performed: - * Profile, endpoint, etc. + * The ARM ID of the billing profile for which you want to create the subscription. */ - resource?: string; + billingProfileId: string; /** - * @member {string} [operation] Operation type: Read, write, delete, etc. + * The SKU ID of the Azure plan. Azure plan determines the pricing and service-level agreement of + * the subscription. Use 001 for Microsoft Azure Plan and 002 for Microsoft Azure Plan for + * DevTest. */ - operation?: string; + skuId: string; + /** + * If set, the cost center will show up on the Azure usage and charges file. + */ + costCenter?: string; + /** + * If specified, the AD principal will get owner access to the subscription, along with the user + * who is performing the create subscription operation + */ + owner?: AdPrincipal; + /** + * The identifier of the management group to which this subscription will be associated. + */ + managementGroupId?: string; + /** + * Additional, untyped parameters to support custom subscription creation scenarios. + */ + additionalParameters?: { [propertyName: string]: any }; } /** - * @interface - * An interface representing Operation. - * REST API operation - * + * status of the subscription POST operation. */ -export interface Operation { +export interface SubscriptionOperation { /** - * @member {string} [name] Operation name: {provider}/{resource}/{operation} + * The operation Id. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ - name?: string; + readonly id?: string; /** - * @member {OperationDisplay} [display] The object that represents the - * operation. + * Status of the pending subscription */ - display?: OperationDisplay; + status?: string; + /** + * Status Detail of the pending subscription + */ + statusDetail?: string; } /** - * @interface - * An interface representing OperationListResult. - * Result of the request to list operations. It contains a list of operations - * and a URL link to get the next set of results. - * + * A list of pending subscription operations. */ -export interface OperationListResult { +export interface SubscriptionOperationListResult { /** - * @member {Operation[]} [value] List of operations. + * A list of pending SubscriptionOperations */ - value?: Operation[]; + value?: SubscriptionOperation[]; +} + +/** + * Subscription Creation Parameters required to create a new Azure subscription. + */ +export interface SubscriptionCreationParameters { /** - * @member {string} [nextLink] URL to get the next set of operation list - * results if there are any. + * The display name of the subscription. */ - nextLink?: string; + displayName?: string; + /** + * The list of principals that should be granted Owner access on the subscription. Principals + * should be of type User, Service Principal or Security Group. + */ + owners?: AdPrincipal[]; + /** + * The offer type of the subscription. For example, MS-AZR-0017P (EnterpriseAgreement) and + * MS-AZR-0148P (EnterpriseAgreement devTest) are available. Only valid when creating a + * subscription in a enrollment account scope. Possible values include: 'MS-AZR-0017P', + * 'MS-AZR-0148P' + */ + offerType?: OfferType; + /** + * Additional, untyped parameters to support custom subscription creation scenarios. + */ + additionalParameters?: { [propertyName: string]: any }; } /** - * @interface - * An interface representing Location. * Location information. - * */ export interface Location { /** - * @member {string} [id] The fully qualified ID of the location. For example, + * The fully qualified ID of the location. For example, * /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [subscriptionId] The subscription ID. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The subscription ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly subscriptionId?: string; /** - * @member {string} [name] The location name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The location name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [displayName] The display name of the location. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The display name of the location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly displayName?: string; /** - * @member {string} [latitude] The latitude of the location. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The latitude of the location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly latitude?: string; /** - * @member {string} [longitude] The longitude of the location. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The longitude of the location. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly longitude?: string; } /** - * @interface - * An interface representing SubscriptionPolicies. * Subscription policies. - * */ export interface SubscriptionPolicies { /** - * @member {string} [locationPlacementId] The subscription location placement - * ID. The ID indicates which regions are visible for a subscription. For - * example, a subscription with a location placement Id of Public_2014-09-01 + * The subscription location placement ID. The ID indicates which regions are visible for a + * subscription. For example, a subscription with a location placement Id of Public_2014-09-01 * has access to Azure public regions. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly locationPlacementId?: string; /** - * @member {string} [quotaId] The subscription quota ID. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The subscription quota ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly quotaId?: string; /** - * @member {SpendingLimit} [spendingLimit] The subscription spending limit. - * Possible values include: 'On', 'Off', 'CurrentPeriodOff' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The subscription spending limit. Possible values include: 'On', 'Off', 'CurrentPeriodOff' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly spendingLimit?: SpendingLimit; } /** - * @interface - * An interface representing Subscription. * Subscription information. - * */ export interface Subscription { /** - * @member {string} [id] The fully qualified ID for the subscription. For - * example, /subscriptions/00000000-0000-0000-0000-000000000000. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The fully qualified ID for the subscription. For example, + * /subscriptions/00000000-0000-0000-0000-000000000000. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [subscriptionId] The subscription ID. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The subscription ID. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly subscriptionId?: string; /** - * @member {string} [displayName] The subscription display name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The subscription display name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly displayName?: string; /** - * @member {SubscriptionState} [state] The subscription state. Possible - * values are Enabled, Warned, PastDue, Disabled, and Deleted. Possible - * values include: 'Enabled', 'Warned', 'PastDue', 'Disabled', 'Deleted' - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted. + * Possible values include: 'Enabled', 'Warned', 'PastDue', 'Disabled', 'Deleted' + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly state?: SubscriptionState; /** - * @member {SubscriptionPolicies} [subscriptionPolicies] The subscription - * policies. + * The subscription policies. */ subscriptionPolicies?: SubscriptionPolicies; /** - * @member {string} [authorizationSource] The authorization source of the - * request. Valid values are one or more combinations of Legacy, RoleBased, - * Bypassed, Direct and Management. For example, 'Legacy, RoleBased'. + * The authorization source of the request. Valid values are one or more combinations of Legacy, + * RoleBased, Bypassed, Direct and Management. For example, 'Legacy, RoleBased'. */ authorizationSource?: string; } /** - * @interface - * An interface representing TenantIdDescription. * Tenant Id information. - * */ export interface TenantIdDescription { /** - * @member {string} [id] The fully qualified ID of the tenant. For example, + * The fully qualified ID of the tenant. For example, * /tenants/00000000-0000-0000-0000-000000000000. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [tenantId] The tenant ID. For example, - * 00000000-0000-0000-0000-000000000000. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The tenant ID. For example, 00000000-0000-0000-0000-000000000000. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly tenantId?: string; } /** - * @interface * An interface representing SubscriptionClientOptions. - * @extends AzureServiceClientOptions */ export interface SubscriptionClientOptions extends AzureServiceClientOptions { + baseUri?: string; +} + +/** + * Defines headers for Get operation. + */ +export interface SubscriptionOperationGetHeaders { /** - * @member {string} [baseUri] + * The URL where the status of the asynchronous operation can be checked. */ - baseUri?: string; + location: string; + /** + * The amount of delay to use while the status of the operation is checked. The value is + * expressed in seconds. + */ + retryAfter: number; +} + +/** + * Defines headers for CreateSubscription operation. + */ +export interface SubscriptionFactoryCreateSubscriptionHeaders { + /** + * GET this URL to retrieve the status of the asynchronous operation. + */ + location: string; + /** + * The amount of delay to use while the status of the operation is checked. The value is + * expressed in seconds. + */ + retryAfter: number; } /** - * @interface - * An interface representing SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders. * Defines headers for CreateSubscriptionInEnrollmentAccount operation. - * */ export interface SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders { /** - * @member {string} [location] GET this URL to retrieve the status of the - * asynchronous operation. + * GET this URL to retrieve the status of the asynchronous operation. */ location: string; /** - * @member {string} [retryAfter] The amount of delay to use while the status - * of the operation is checked. The value is expressed in seconds. + * The amount of delay to use while the status of the operation is checked. The value is + * expressed in seconds. */ retryAfter: string; } - /** * @interface - * An interface representing the LocationListResult. * Location list operation response. - * * @extends Array */ export interface LocationListResult extends Array { @@ -379,29 +393,24 @@ export interface LocationListResult extends Array { /** * @interface - * An interface representing the SubscriptionListResult. * Subscription list operation response. - * * @extends Array */ export interface SubscriptionListResult extends Array { /** - * @member {string} nextLink The URL to get the next set of results. + * The URL to get the next set of results. */ nextLink: string; } /** * @interface - * An interface representing the TenantListResult. * Tenant Ids information. - * * @extends Array */ export interface TenantListResult extends Array { /** - * @member {string} nextLink The URL to use for getting the next set of - * results. + * The URL to use for getting the next set of results. */ nextLink: string; } @@ -431,9 +440,29 @@ export type SubscriptionState = 'Enabled' | 'Warned' | 'PastDue' | 'Disabled' | export type SpendingLimit = 'On' | 'Off' | 'CurrentPeriodOff'; /** - * Contains response data for the list operation. + * Contains response data for the cancel operation. */ -export type OperationsListResponse = OperationListResult & { +export type SubscriptionsCancelResponse = CanceledSubscriptionId & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: CanceledSubscriptionId; + }; +}; + +/** + * Contains response data for the rename operation. + */ +export type SubscriptionsRenameResponse = RenamedSubscriptionId & { /** * The underlying HTTP response. */ @@ -442,17 +471,58 @@ export type OperationsListResponse = OperationListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: OperationListResult; + parsedBody: RenamedSubscriptionId; + }; +}; + +/** + * Contains response data for the listLocations operation. + */ +export type SubscriptionsListLocationsResponse = LocationListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: LocationListResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type SubscriptionsGetResponse = Subscription & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: Subscription; }; }; /** * Contains response data for the list operation. */ -export type SubscriptionOperationsListResponse = SubscriptionOperationListResult & { +export type SubscriptionsListResponse = SubscriptionListResult & { /** * The underlying HTTP response. */ @@ -461,17 +531,38 @@ export type SubscriptionOperationsListResponse = SubscriptionOperationListResult * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: SubscriptionOperationListResult; + parsedBody: SubscriptionListResult; }; }; /** - * Contains response data for the createSubscriptionInEnrollmentAccount operation. + * Contains response data for the listNext operation. */ -export type SubscriptionFactoryCreateSubscriptionInEnrollmentAccountResponse = SubscriptionCreationResult & SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders & { +export type SubscriptionsListNextResponse = SubscriptionListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + + /** + * The response body as parsed JSON or XML + */ + parsedBody: SubscriptionListResult; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type SubscriptionOperationGetResponse = SubscriptionCreationResult & SubscriptionOperationGetHeaders & { /** * The underlying HTTP response. */ @@ -479,11 +570,13 @@ export type SubscriptionFactoryCreateSubscriptionInEnrollmentAccountResponse = S /** * The parsed HTTP response headers. */ - parsedHeaders: SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders; + parsedHeaders: SubscriptionOperationGetHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -492,47 +585,59 @@ export type SubscriptionFactoryCreateSubscriptionInEnrollmentAccountResponse = S }; /** - * Contains response data for the listLocations operation. + * Contains response data for the createSubscription operation. */ -export type SubscriptionsListLocationsResponse = LocationListResult & { +export type SubscriptionFactoryCreateSubscriptionResponse = SubscriptionCreationResult & SubscriptionFactoryCreateSubscriptionHeaders & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: SubscriptionFactoryCreateSubscriptionHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: LocationListResult; + parsedBody: SubscriptionCreationResult; }; }; /** - * Contains response data for the get operation. + * Contains response data for the createSubscriptionInEnrollmentAccount operation. */ -export type SubscriptionsGetResponse = Subscription & { +export type SubscriptionFactoryCreateSubscriptionInEnrollmentAccountResponse = SubscriptionCreationResult & SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders & { /** * The underlying HTTP response. */ _response: msRest.HttpResponse & { + /** + * The parsed HTTP response headers. + */ + parsedHeaders: SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders; + /** * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: Subscription; + parsedBody: SubscriptionCreationResult; }; }; /** * Contains response data for the list operation. */ -export type SubscriptionsListResponse = SubscriptionListResult & { +export type SubscriptionOperationsListResponse = SubscriptionOperationListResult & { /** * The underlying HTTP response. */ @@ -541,17 +646,18 @@ export type SubscriptionsListResponse = SubscriptionListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: SubscriptionListResult; + parsedBody: SubscriptionOperationListResult; }; }; /** - * Contains response data for the listNext operation. + * Contains response data for the list operation. */ -export type SubscriptionsListNextResponse = SubscriptionListResult & { +export type OperationsListResponse = OperationListResult & { /** * The underlying HTTP response. */ @@ -560,10 +666,11 @@ export type SubscriptionsListNextResponse = SubscriptionListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ - parsedBody: SubscriptionListResult; + parsedBody: OperationListResult; }; }; @@ -579,6 +686,7 @@ export type TenantsListResponse = TenantListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -598,6 +706,7 @@ export type TenantsListNextResponse = TenantListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ diff --git a/sdk/subscription/arm-subscriptions/src/models/mappers.ts b/sdk/subscription/arm-subscriptions/src/models/mappers.ts index 8d029bbac602..ec04b137a470 100644 --- a/sdk/subscription/arm-subscriptions/src/models/mappers.ts +++ b/sdk/subscription/arm-subscriptions/src/models/mappers.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; @@ -14,6 +12,157 @@ import * as msRest from "@azure/ms-rest-js"; export const CloudError = CloudErrorMapper; export const BaseResource = BaseResourceMapper; +export const ErrorResponse: msRest.CompositeMapper = { + serializedName: "ErrorResponse", + type: { + name: "Composite", + className: "ErrorResponse", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const CanceledSubscriptionId: msRest.CompositeMapper = { + serializedName: "CanceledSubscriptionId", + type: { + name: "Composite", + className: "CanceledSubscriptionId", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const RenamedSubscriptionId: msRest.CompositeMapper = { + serializedName: "RenamedSubscriptionId", + type: { + name: "Composite", + className: "RenamedSubscriptionId", + modelProperties: { + value: { + readOnly: true, + serializedName: "value", + type: { + name: "String" + } + } + } + } +}; + +export const SubscriptionName: msRest.CompositeMapper = { + serializedName: "SubscriptionName", + type: { + name: "Composite", + className: "SubscriptionName", + modelProperties: { + subscriptionName: { + serializedName: "subscriptionName", + type: { + name: "String" + } + } + } + } +}; + +export const OperationDisplay: msRest.CompositeMapper = { + serializedName: "Operation_display", + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + serializedName: "provider", + type: { + name: "String" + } + }, + resource: { + serializedName: "resource", + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", + type: { + name: "String" + } + } + } + } +}; + +export const Operation: msRest.CompositeMapper = { + serializedName: "Operation", + type: { + name: "Composite", + className: "Operation", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + } + } + } +}; + +export const OperationListResult: msRest.CompositeMapper = { + serializedName: "OperationListResult", + type: { + name: "Composite", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + export const SubscriptionCreationResult: msRest.CompositeMapper = { serializedName: "SubscriptionCreationResult", type: { @@ -47,32 +196,48 @@ export const AdPrincipal: msRest.CompositeMapper = { } }; -export const SubscriptionCreationParameters: msRest.CompositeMapper = { - serializedName: "SubscriptionCreationParameters", +export const ModernSubscriptionCreationParameters: msRest.CompositeMapper = { + serializedName: "ModernSubscriptionCreationParameters", type: { name: "Composite", - className: "SubscriptionCreationParameters", + className: "ModernSubscriptionCreationParameters", modelProperties: { displayName: { + required: true, serializedName: "displayName", type: { name: "String" } }, - owners: { - serializedName: "owners", + billingProfileId: { + required: true, + serializedName: "billingProfileId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "AdPrincipal" - } - } + name: "String" } }, - offerType: { - serializedName: "offerType", + skuId: { + required: true, + serializedName: "skuId", + type: { + name: "String" + } + }, + costCenter: { + serializedName: "costCenter", + type: { + name: "String" + } + }, + owner: { + serializedName: "owner", + type: { + name: "Composite", + className: "AdPrincipal" + } + }, + managementGroupId: { + serializedName: "managementGroupId", type: { name: "String" } @@ -92,28 +257,6 @@ export const SubscriptionCreationParameters: msRest.CompositeMapper = { } }; -export const ErrorResponse: msRest.CompositeMapper = { - serializedName: "ErrorResponse", - type: { - name: "Composite", - className: "ErrorResponse", - modelProperties: { - code: { - serializedName: "code", - type: { - name: "String" - } - }, - message: { - serializedName: "message", - type: { - name: "String" - } - } - } - } -}; - export const SubscriptionOperation: msRest.CompositeMapper = { serializedName: "SubscriptionOperation", type: { @@ -165,80 +308,46 @@ export const SubscriptionOperationListResult: msRest.CompositeMapper = { } }; -export const OperationDisplay: msRest.CompositeMapper = { - serializedName: "Operation_display", - type: { - name: "Composite", - className: "OperationDisplay", - modelProperties: { - provider: { - serializedName: "provider", - type: { - name: "String" - } - }, - resource: { - serializedName: "resource", - type: { - name: "String" - } - }, - operation: { - serializedName: "operation", - type: { - name: "String" - } - } - } - } -}; - -export const Operation: msRest.CompositeMapper = { - serializedName: "Operation", +export const SubscriptionCreationParameters: msRest.CompositeMapper = { + serializedName: "SubscriptionCreationParameters", type: { name: "Composite", - className: "Operation", + className: "SubscriptionCreationParameters", modelProperties: { - name: { - serializedName: "name", + displayName: { + serializedName: "displayName", type: { name: "String" } }, - display: { - serializedName: "display", - type: { - name: "Composite", - className: "OperationDisplay" - } - } - } - } -}; - -export const OperationListResult: msRest.CompositeMapper = { - serializedName: "OperationListResult", - type: { - name: "Composite", - className: "OperationListResult", - modelProperties: { - value: { - serializedName: "value", + owners: { + serializedName: "owners", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Operation" + className: "AdPrincipal" } } } }, - nextLink: { - serializedName: "nextLink", + offerType: { + serializedName: "offerType", type: { name: "String" } + }, + additionalParameters: { + serializedName: "additionalParameters", + type: { + name: "Dictionary", + value: { + type: { + name: "Object" + } + } + } } } } @@ -414,6 +523,50 @@ export const TenantIdDescription: msRest.CompositeMapper = { } }; +export const SubscriptionOperationGetHeaders: msRest.CompositeMapper = { + serializedName: "subscriptionoperation-get-headers", + type: { + name: "Composite", + className: "SubscriptionOperationGetHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + }, + retryAfter: { + serializedName: "retry-after", + type: { + name: "Number" + } + } + } + } +}; + +export const SubscriptionFactoryCreateSubscriptionHeaders: msRest.CompositeMapper = { + serializedName: "subscriptionfactory-createsubscription-headers", + type: { + name: "Composite", + className: "SubscriptionFactoryCreateSubscriptionHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + }, + retryAfter: { + serializedName: "retry-after", + type: { + name: "Number" + } + } + } + } +}; + export const SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders: msRest.CompositeMapper = { serializedName: "subscriptionfactory-createsubscriptioninenrollmentaccount-headers", type: { diff --git a/sdk/subscription/arm-subscriptions/src/models/operationsMappers.ts b/sdk/subscription/arm-subscriptions/src/models/operationsMappers.ts index 715467ec9522..b8de8606cf9d 100644 --- a/sdk/subscription/arm-subscriptions/src/models/operationsMappers.ts +++ b/sdk/subscription/arm-subscriptions/src/models/operationsMappers.ts @@ -1,17 +1,14 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - OperationListResult, + ErrorResponse, Operation, OperationDisplay, - ErrorResponse + OperationListResult } from "../models/mappers"; - diff --git a/sdk/subscription/arm-subscriptions/src/models/parameters.ts b/sdk/subscription/arm-subscriptions/src/models/parameters.ts index 136f82600bfa..0e5e2164d620 100644 --- a/sdk/subscription/arm-subscriptions/src/models/parameters.ts +++ b/sdk/subscription/arm-subscriptions/src/models/parameters.ts @@ -26,7 +26,7 @@ export const apiVersion0: msRest.OperationQueryParameter = { required: true, isConstant: true, serializedName: "api-version", - defaultValue: '2018-03-01-preview', + defaultValue: '2019-03-01-preview', type: { name: "String" } @@ -44,6 +44,40 @@ export const apiVersion1: msRest.OperationQueryParameter = { } } }; +export const apiVersion2: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + isConstant: true, + serializedName: "api-version", + defaultValue: '2018-11-01-preview', + type: { + name: "String" + } + } +}; +export const apiVersion3: msRest.OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + required: true, + isConstant: true, + serializedName: "api-version", + defaultValue: '2018-03-01-preview', + type: { + name: "String" + } + } +}; +export const billingAccountName: msRest.OperationURLParameter = { + parameterPath: "billingAccountName", + mapper: { + required: true, + serializedName: "billingAccountName", + type: { + name: "String" + } + } +}; export const enrollmentAccountName: msRest.OperationURLParameter = { parameterPath: "enrollmentAccountName", mapper: { @@ -54,6 +88,16 @@ export const enrollmentAccountName: msRest.OperationURLParameter = { } } }; +export const invoiceSectionName: msRest.OperationURLParameter = { + parameterPath: "invoiceSectionName", + mapper: { + required: true, + serializedName: "invoiceSectionName", + type: { + name: "String" + } + } +}; export const nextPageLink: msRest.OperationURLParameter = { parameterPath: "nextPageLink", mapper: { @@ -65,6 +109,16 @@ export const nextPageLink: msRest.OperationURLParameter = { }, skipEncoding: true }; +export const operationId: msRest.OperationURLParameter = { + parameterPath: "operationId", + mapper: { + required: true, + serializedName: "operationId", + type: { + name: "String" + } + } +}; export const subscriptionId: msRest.OperationURLParameter = { parameterPath: "subscriptionId", mapper: { diff --git a/sdk/subscription/arm-subscriptions/src/models/subscriptionFactoryMappers.ts b/sdk/subscription/arm-subscriptions/src/models/subscriptionFactoryMappers.ts index e6c04bcb4b26..b057f11f94b3 100644 --- a/sdk/subscription/arm-subscriptions/src/models/subscriptionFactoryMappers.ts +++ b/sdk/subscription/arm-subscriptions/src/models/subscriptionFactoryMappers.ts @@ -1,18 +1,17 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - SubscriptionCreationParameters, AdPrincipal, + ErrorResponse, + ModernSubscriptionCreationParameters, + SubscriptionCreationParameters, SubscriptionCreationResult, - SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders, - ErrorResponse + SubscriptionFactoryCreateSubscriptionHeaders, + SubscriptionFactoryCreateSubscriptionInEnrollmentAccountHeaders } from "../models/mappers"; - diff --git a/sdk/subscription/arm-subscriptions/src/models/subscriptionOperationOperationsMappers.ts b/sdk/subscription/arm-subscriptions/src/models/subscriptionOperationOperationsMappers.ts new file mode 100644 index 000000000000..26773a95671d --- /dev/null +++ b/sdk/subscription/arm-subscriptions/src/models/subscriptionOperationOperationsMappers.ts @@ -0,0 +1,13 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +export { + CloudError, + SubscriptionCreationResult, + SubscriptionOperationGetHeaders +} from "../models/mappers"; diff --git a/sdk/subscription/arm-subscriptions/src/models/subscriptionOperationsMappers.ts b/sdk/subscription/arm-subscriptions/src/models/subscriptionOperationsMappers.ts index 305a221f860d..e2ed59bfb39f 100644 --- a/sdk/subscription/arm-subscriptions/src/models/subscriptionOperationsMappers.ts +++ b/sdk/subscription/arm-subscriptions/src/models/subscriptionOperationsMappers.ts @@ -1,16 +1,13 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - SubscriptionOperationListResult, + ErrorResponse, SubscriptionOperation, - ErrorResponse + SubscriptionOperationListResult } from "../models/mappers"; - diff --git a/sdk/subscription/arm-subscriptions/src/models/subscriptionsMappers.ts b/sdk/subscription/arm-subscriptions/src/models/subscriptionsMappers.ts index 8630883ef598..5c87e105cba4 100644 --- a/sdk/subscription/arm-subscriptions/src/models/subscriptionsMappers.ts +++ b/sdk/subscription/arm-subscriptions/src/models/subscriptionsMappers.ts @@ -1,19 +1,20 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - LocationListResult, - Location, + CanceledSubscriptionId, CloudError, + ErrorResponse, + Location, + LocationListResult, + RenamedSubscriptionId, Subscription, - SubscriptionPolicies, - SubscriptionListResult + SubscriptionListResult, + SubscriptionName, + SubscriptionPolicies } from "../models/mappers"; - diff --git a/sdk/subscription/arm-subscriptions/src/models/tenantsMappers.ts b/sdk/subscription/arm-subscriptions/src/models/tenantsMappers.ts index cc13f90c8b50..3bb2cb4ae153 100644 --- a/sdk/subscription/arm-subscriptions/src/models/tenantsMappers.ts +++ b/sdk/subscription/arm-subscriptions/src/models/tenantsMappers.ts @@ -1,16 +1,13 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { - TenantListResult, + CloudError, TenantIdDescription, - CloudError + TenantListResult } from "../models/mappers"; - diff --git a/sdk/subscription/arm-subscriptions/src/operations/index.ts b/sdk/subscription/arm-subscriptions/src/operations/index.ts index eafce4f8f867..6774c4b687f8 100644 --- a/sdk/subscription/arm-subscriptions/src/operations/index.ts +++ b/sdk/subscription/arm-subscriptions/src/operations/index.ts @@ -8,8 +8,9 @@ * regenerated. */ -export * from "./operations"; -export * from "./subscriptionOperations"; -export * from "./subscriptionFactory"; export * from "./subscriptions"; +export * from "./subscriptionOperationOperations"; +export * from "./subscriptionFactory"; +export * from "./subscriptionOperations"; +export * from "./operations"; export * from "./tenants"; diff --git a/sdk/subscription/arm-subscriptions/src/operations/operations.ts b/sdk/subscription/arm-subscriptions/src/operations/operations.ts index 923fecd89ed7..5720ebfc56a0 100644 --- a/sdk/subscription/arm-subscriptions/src/operations/operations.ts +++ b/sdk/subscription/arm-subscriptions/src/operations/operations.ts @@ -57,7 +57,7 @@ const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "providers/Microsoft.Subscription/operations", queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage diff --git a/sdk/subscription/arm-subscriptions/src/operations/subscriptionFactory.ts b/sdk/subscription/arm-subscriptions/src/operations/subscriptionFactory.ts index ccfa425796be..f7ae7d29a05d 100644 --- a/sdk/subscription/arm-subscriptions/src/operations/subscriptionFactory.ts +++ b/sdk/subscription/arm-subscriptions/src/operations/subscriptionFactory.ts @@ -27,6 +27,21 @@ export class SubscriptionFactory { this.client = client; } + /** + * The operation to create a new Azure subscription + * @param billingAccountName The name of the Microsoft Customer Agreement billing account for which + * you want to create the subscription. + * @param invoiceSectionName The name of the invoice section in the billing account for which you + * want to create the subscription. + * @param body The subscription creation parameters. + * @param [options] The optional parameters + * @returns Promise + */ + createSubscription(billingAccountName: string, invoiceSectionName: string, body: Models.ModernSubscriptionCreationParameters, options?: msRest.RequestOptionsBase): Promise { + return this.beginCreateSubscription(billingAccountName,invoiceSectionName,body,options) + .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; + } + /** * Creates an Azure subscription * @param enrollmentAccountName The name of the enrollment account to which the subscription will @@ -40,6 +55,28 @@ export class SubscriptionFactory { .then(lroPoller => lroPoller.pollUntilFinished()) as Promise; } + /** + * The operation to create a new Azure subscription + * @param billingAccountName The name of the Microsoft Customer Agreement billing account for which + * you want to create the subscription. + * @param invoiceSectionName The name of the invoice section in the billing account for which you + * want to create the subscription. + * @param body The subscription creation parameters. + * @param [options] The optional parameters + * @returns Promise + */ + beginCreateSubscription(billingAccountName: string, invoiceSectionName: string, body: Models.ModernSubscriptionCreationParameters, options?: msRest.RequestOptionsBase): Promise { + return this.client.sendLRORequest( + { + billingAccountName, + invoiceSectionName, + body, + options + }, + beginCreateSubscriptionOperationSpec, + options); + } + /** * Creates an Azure subscription * @param enrollmentAccountName The name of the enrollment account to which the subscription will @@ -62,6 +99,41 @@ export class SubscriptionFactory { // Operation Specifications const serializer = new msRest.Serializer(Mappers); +const beginCreateSubscriptionOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Subscription/createSubscription", + urlParameters: [ + Parameters.billingAccountName, + Parameters.invoiceSectionName + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "body", + mapper: { + ...Mappers.ModernSubscriptionCreationParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.SubscriptionCreationResult, + headersMapper: Mappers.SubscriptionFactoryCreateSubscriptionHeaders + }, + 202: { + headersMapper: Mappers.SubscriptionFactoryCreateSubscriptionHeaders + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + const beginCreateSubscriptionInEnrollmentAccountOperationSpec: msRest.OperationSpec = { httpMethod: "POST", path: "providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountName}/providers/Microsoft.Subscription/createSubscription", @@ -69,7 +141,7 @@ const beginCreateSubscriptionInEnrollmentAccountOperationSpec: msRest.OperationS Parameters.enrollmentAccountName ], queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage diff --git a/sdk/subscription/arm-subscriptions/src/operations/subscriptionOperationOperations.ts b/sdk/subscription/arm-subscriptions/src/operations/subscriptionOperationOperations.ts new file mode 100644 index 000000000000..4dd1d8d3e0e3 --- /dev/null +++ b/sdk/subscription/arm-subscriptions/src/operations/subscriptionOperationOperations.ts @@ -0,0 +1,88 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "@azure/ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/subscriptionOperationOperationsMappers"; +import * as Parameters from "../models/parameters"; +import { SubscriptionClientContext } from "../subscriptionClientContext"; + +/** Class representing a SubscriptionOperationOperations. */ +export class SubscriptionOperationOperations { + private readonly client: SubscriptionClientContext; + + /** + * Create a SubscriptionOperationOperations. + * @param {SubscriptionClientContext} client Reference to the service client. + */ + constructor(client: SubscriptionClientContext) { + this.client = client; + } + + /** + * Get the status of the pending Microsoft.Subscription API operations. + * @param operationId The operation ID, which can be found from the Location field in the generate + * recommendation response header. + * @param [options] The optional parameters + * @returns Promise + */ + get(operationId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param operationId The operation ID, which can be found from the Location field in the generate + * recommendation response header. + * @param callback The callback + */ + get(operationId: string, callback: msRest.ServiceCallback): void; + /** + * @param operationId The operation ID, which can be found from the Location field in the generate + * recommendation response header. + * @param options The optional parameters + * @param callback The callback + */ + get(operationId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(operationId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + operationId, + options + }, + getOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "providers/Microsoft.Subscription/subscriptionOperations/{operationId}", + urlParameters: [ + Parameters.operationId + ], + queryParameters: [ + Parameters.apiVersion2 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SubscriptionCreationResult, + headersMapper: Mappers.SubscriptionOperationGetHeaders + }, + 202: { + headersMapper: Mappers.SubscriptionOperationGetHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; diff --git a/sdk/subscription/arm-subscriptions/src/operations/subscriptionOperations.ts b/sdk/subscription/arm-subscriptions/src/operations/subscriptionOperations.ts index 16d04fafe5f3..e898453ec339 100644 --- a/sdk/subscription/arm-subscriptions/src/operations/subscriptionOperations.ts +++ b/sdk/subscription/arm-subscriptions/src/operations/subscriptionOperations.ts @@ -57,7 +57,7 @@ const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "providers/Microsoft.Subscription/subscriptionOperations", queryParameters: [ - Parameters.apiVersion0 + Parameters.apiVersion3 ], headerParameters: [ Parameters.acceptLanguage diff --git a/sdk/subscription/arm-subscriptions/src/operations/subscriptions.ts b/sdk/subscription/arm-subscriptions/src/operations/subscriptions.ts index 3e978cba8f83..f36dbcf2e2b8 100644 --- a/sdk/subscription/arm-subscriptions/src/operations/subscriptions.ts +++ b/sdk/subscription/arm-subscriptions/src/operations/subscriptions.ts @@ -26,6 +26,66 @@ export class Subscriptions { this.client = client; } + /** + * The operation to cancel a subscription + * @param subscriptionId Subscription Id. + * @param [options] The optional parameters + * @returns Promise + */ + cancel(subscriptionId: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param subscriptionId Subscription Id. + * @param callback The callback + */ + cancel(subscriptionId: string, callback: msRest.ServiceCallback): void; + /** + * @param subscriptionId Subscription Id. + * @param options The optional parameters + * @param callback The callback + */ + cancel(subscriptionId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + cancel(subscriptionId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + subscriptionId, + options + }, + cancelOperationSpec, + callback) as Promise; + } + + /** + * The operation to rename a subscription + * @param subscriptionId Subscription Id. + * @param body Subscription Name + * @param [options] The optional parameters + * @returns Promise + */ + rename(subscriptionId: string, body: Models.SubscriptionName, options?: msRest.RequestOptionsBase): Promise; + /** + * @param subscriptionId Subscription Id. + * @param body Subscription Name + * @param callback The callback + */ + rename(subscriptionId: string, body: Models.SubscriptionName, callback: msRest.ServiceCallback): void; + /** + * @param subscriptionId Subscription Id. + * @param body Subscription Name + * @param options The optional parameters + * @param callback The callback + */ + rename(subscriptionId: string, body: Models.SubscriptionName, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + rename(subscriptionId: string, body: Models.SubscriptionName, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + subscriptionId, + body, + options + }, + renameOperationSpec, + callback) as Promise; + } + /** * This operation provides all the locations that are available for resource providers; however, * each resource provider may support a subset of this list. @@ -139,6 +199,59 @@ export class Subscriptions { // Operation Specifications const serializer = new msRest.Serializer(Mappers); +const cancelOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Subscription/cancel", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.CanceledSubscriptionId + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + +const renameOperationSpec: msRest.OperationSpec = { + httpMethod: "POST", + path: "subscriptions/{subscriptionId}/providers/Microsoft.Subscription/rename", + urlParameters: [ + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "body", + mapper: { + ...Mappers.SubscriptionName, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.RenamedSubscriptionId + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + serializer +}; + const listLocationsOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "subscriptions/{subscriptionId}/locations", diff --git a/sdk/subscription/arm-subscriptions/src/subscriptionClient.ts b/sdk/subscription/arm-subscriptions/src/subscriptionClient.ts index 6a060c07fcca..cb4d83071574 100644 --- a/sdk/subscription/arm-subscriptions/src/subscriptionClient.ts +++ b/sdk/subscription/arm-subscriptions/src/subscriptionClient.ts @@ -17,10 +17,11 @@ import { SubscriptionClientContext } from "./subscriptionClientContext"; class SubscriptionClient extends SubscriptionClientContext { // Operation groups - operations: operations.Operations; - subscriptionOperations: operations.SubscriptionOperations; - subscriptionFactory: operations.SubscriptionFactory; subscriptions: operations.Subscriptions; + subscriptionOperation: operations.SubscriptionOperationOperations; + subscriptionFactory: operations.SubscriptionFactory; + subscriptionOperations: operations.SubscriptionOperations; + operations: operations.Operations; tenants: operations.Tenants; /** @@ -30,10 +31,11 @@ class SubscriptionClient extends SubscriptionClientContext { */ constructor(credentials: msRest.ServiceClientCredentials, options?: Models.SubscriptionClientOptions) { super(credentials, options); - this.operations = new operations.Operations(this); - this.subscriptionOperations = new operations.SubscriptionOperations(this); - this.subscriptionFactory = new operations.SubscriptionFactory(this); this.subscriptions = new operations.Subscriptions(this); + this.subscriptionOperation = new operations.SubscriptionOperationOperations(this); + this.subscriptionFactory = new operations.SubscriptionFactory(this); + this.subscriptionOperations = new operations.SubscriptionOperations(this); + this.operations = new operations.Operations(this); this.tenants = new operations.Tenants(this); } } diff --git a/sdk/subscription/arm-subscriptions/src/subscriptionClientContext.ts b/sdk/subscription/arm-subscriptions/src/subscriptionClientContext.ts index bc27f46c00cb..6ecec40b99fb 100644 --- a/sdk/subscription/arm-subscriptions/src/subscriptionClientContext.ts +++ b/sdk/subscription/arm-subscriptions/src/subscriptionClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-subscriptions"; -const packageVersion = "0.1.0"; +const packageVersion = "2.0.0"; export class SubscriptionClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; @@ -31,7 +31,7 @@ export class SubscriptionClientContext extends msRestAzure.AzureServiceClient { if (!options) { options = {}; } - if(!options.userAgent) { + if (!options.userAgent) { const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; } @@ -44,10 +44,10 @@ export class SubscriptionClientContext extends msRestAzure.AzureServiceClient { this.requestContentType = "application/json; charset=utf-8"; this.credentials = credentials; - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { this.acceptLanguage = options.acceptLanguage; } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; } } diff --git a/sdk/subscription/arm-subscriptions/tsconfig.json b/sdk/subscription/arm-subscriptions/tsconfig.json index 87bbf5b5fa49..422b584abd5e 100644 --- a/sdk/subscription/arm-subscriptions/tsconfig.json +++ b/sdk/subscription/arm-subscriptions/tsconfig.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, "outDir": "./esm", "importHelpers": true diff --git a/sdk/template/template/package.json b/sdk/template/template/package.json index db191d350eff..b8680b80f4ee 100644 --- a/sdk/template/template/package.json +++ b/sdk/template/template/package.json @@ -26,7 +26,7 @@ "integration-test:node": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", "lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" -c ../../.eslintrc.json --fix --fix-type [problem,suggestion]", - "lint": "eslint -c ../../.eslintrc.json src test --ext .ts -f node_modules/eslint-detailed-reporter/lib/detailed.js -o template-lintReport.html || exit 0", + "lint": "eslint -c ../../.eslintrc.json src test --ext .ts -f html -o template-lintReport.html || exit 0", "pack": "npm pack 2>&1", "prebuild": "npm run clean", "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser", @@ -60,7 +60,7 @@ "sideEffects": false, "private": true, "dependencies": { - "@azure/ms-rest-js": "^1.2.6", + "@azure/core-http": "1.0.0-preview.3", "events": "^3.0.0", "tslib": "^1.9.3" }, @@ -68,19 +68,18 @@ "@microsoft/api-extractor": "^7.1.5", "@types/mocha": "^5.2.5", "@types/node": "^8.0.0", - "@typescript-eslint/eslint-plugin": "^1.11.0", - "@typescript-eslint/parser": "^1.11.0", + "@typescript-eslint/eslint-plugin": "^2.0.0", + "@typescript-eslint/parser": "^2.0.0", "assert": "^1.4.1", "cross-env": "^5.2.0", - "eslint": "^5.16.0", - "eslint-config-prettier": "^4.2.0", - "eslint-detailed-reporter": "^0.8.0", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-only-tests": "^2.3.0", "eslint-plugin-promise": "^4.1.1", "inherits": "^2.0.3", "karma": "^4.0.1", - "karma-chrome-launcher": "^2.2.0", + "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^1.1.2", "karma-edge-launcher": "^0.4.2", "karma-env-preprocessor": "^0.1.1", @@ -105,6 +104,6 @@ "rollup-plugin-terser": "^5.1.1", "rollup-plugin-visualizer": "^2.0.0", "typescript": "^3.2.2", - "util": "^0.11.1" + "util": "^0.12.1" } } diff --git a/sdk/template/template/review/template.api.md b/sdk/template/template/review/template.api.md index dded12fcad14..d07e84db6409 100644 --- a/sdk/template/template/review/template.api.md +++ b/sdk/template/template/review/template.api.md @@ -5,7 +5,7 @@ ```ts import EventEmitter from 'events'; -import { URLBuilder } from '@azure/ms-rest-js'; +import { URLBuilder } from '@azure/core-http'; // @public (undocumented) export function createEventEmitter(): EventEmitter; diff --git a/sdk/template/template/rollup.base.config.js b/sdk/template/template/rollup.base.config.js index 76a4d7ecb8af..7a8da9bda99a 100644 --- a/sdk/template/template/rollup.base.config.js +++ b/sdk/template/template/rollup.base.config.js @@ -58,13 +58,12 @@ export function nodeConfig(test = false) { export function browserConfig(test = false, production = false) { const baseConfig = { input: input, - external: ["@azure/ms-rest-js"], output: { file: "browser/azure-template.js", format: "umd", name: "ExampleClient", sourcemap: true, - globals: { "@azure/ms-rest-js": "msRest" } + globals: { "@azure/core-http": "Azure.Core.HTTP" } }, preserveSymlinks: false, plugins: [ @@ -83,10 +82,7 @@ export function browserConfig(test = false, production = false) { preferBuiltins: false }), cjs({ - // When "rollup-plugin-commonjs@10.0.0" is used with "resolve@1.11.1", named exports of - // modules with built-in names must have a trailing slash. - // https://github.com/rollup/rollup-plugin-commonjs/issues/394 - namedExports: { "events/": ["EventEmitter"] } + namedExports: { events: ["EventEmitter"] } }), viz({ filename: "browser/browser-stats.html", sourcemap: false }) ] diff --git a/sdk/template/template/src/index.ts b/sdk/template/template/src/index.ts index 6b6105dcf980..28b5d6c1dbd8 100644 --- a/sdk/template/template/src/index.ts +++ b/sdk/template/template/src/index.ts @@ -7,10 +7,10 @@ export { print }; // this is a utility function from a library that should be external // for both node and web -import { isNode } from "@azure/ms-rest-js"; +import { isNode } from "@azure/core-http"; // exporting some value from a dependency -export { URLBuilder } from "@azure/ms-rest-js"; +export { URLBuilder } from "@azure/core-http"; export function createEventEmitter() { // use event emitter diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/LICENSE.txt b/sdk/timeseriesinsights/arm-timeseriesinsights/LICENSE.txt index a70e8cf66038..b73b4a1293c3 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/LICENSE.txt +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2018 Microsoft +Copyright (c) 2019 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/README.md b/sdk/timeseriesinsights/arm-timeseriesinsights/README.md index 19544b14cdbd..f71de874a27a 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/README.md +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/README.md @@ -9,7 +9,7 @@ This package contains an isomorphic SDK for TimeSeriesInsightsClient. ### How to Install -``` +```bash npm install @azure/arm-timeseriesinsights ``` @@ -19,13 +19,13 @@ npm install @azure/arm-timeseriesinsights ##### Install @azure/ms-rest-nodeauth -``` +```bash npm install @azure/ms-rest-nodeauth ``` ##### Sample code -```ts +```typescript import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; import * as msRestNodeAuth from "@azure/ms-rest-nodeauth"; @@ -47,7 +47,7 @@ msRestNodeAuth.interactiveLogin().then((creds) => { ##### Install @azure/ms-rest-browserauth -``` +```bash npm install @azure/ms-rest-browserauth ``` @@ -95,5 +95,4 @@ See https://github.com/Azure/ms-rest-browserauth to learn how to authenticate to - [Microsoft Azure SDK for Javascript](https://github.com/Azure/azure-sdk-for-js) - ![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js/sdk/timeseriesinsights/arm-timeseriesinsights/README.png) diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/package.json b/sdk/timeseriesinsights/arm-timeseriesinsights/package.json index c1aa1c3cfb6f..012bb48869c9 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/package.json +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/package.json @@ -2,11 +2,11 @@ "name": "@azure/arm-timeseriesinsights", "author": "Microsoft Corporation", "description": "TimeSeriesInsightsClient Library with typescript type definitions for node.js and browser.", - "version": "1.1.0", + "version": "1.2.0", "dependencies": { - "@azure/ms-rest-azure-js": "^1.1.0", - "@azure/ms-rest-js": "^1.1.0", - "tslib": "^1.9.3" + "@azure/ms-rest-azure-js": "^2.0.0", + "@azure/ms-rest-js": "^2.0.3", + "tslib": "^1.10.0" }, "keywords": [ "node", @@ -23,15 +23,16 @@ "typescript": "^3.1.1", "rollup": "^0.66.2", "rollup-plugin-node-resolve": "^3.4.0", + "rollup-plugin-sourcemaps": "^0.4.2", "uglify-js": "^3.4.9" }, - "homepage": "https://github.com/azure/azure-sdk-for-js/tree/master/sdk/timeseriesinsights/arm-timeseriesinsights", + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/master/sdk/timeseriesinsights/arm-timeseriesinsights", "repository": { "type": "git", - "url": "https://github.com/azure/azure-sdk-for-js.git" + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, "bugs": { - "url": "https://github.com/azure/azure-sdk-for-js/issues" + "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, "files": [ "dist/**/*.js", @@ -43,6 +44,7 @@ "esm/**/*.d.ts", "esm/**/*.d.ts.map", "src/**/*.ts", + "README.md", "rollup.config.js", "tsconfig.json" ], @@ -52,5 +54,5 @@ "prepack": "npm install && npm run build" }, "sideEffects": false, - "authPublish": true + "autoPublish": true } diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/rollup.config.js b/sdk/timeseriesinsights/arm-timeseriesinsights/rollup.config.js index dd53095ca2a8..a00575a346b9 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/rollup.config.js +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/rollup.config.js @@ -1,10 +1,16 @@ +import rollup from "rollup"; import nodeResolve from "rollup-plugin-node-resolve"; +import sourcemaps from "rollup-plugin-sourcemaps"; + /** - * @type {import('rollup').RollupFileOptions} + * @type {rollup.RollupFileOptions} */ const config = { - input: './esm/timeSeriesInsightsClient.js', - external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"], + input: "./esm/timeSeriesInsightsClient.js", + external: [ + "@azure/ms-rest-js", + "@azure/ms-rest-azure-js" + ], output: { file: "./dist/arm-timeseriesinsights.js", format: "umd", @@ -16,16 +22,16 @@ const config = { }, banner: `/* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */` }, plugins: [ - nodeResolve({ module: true }) + nodeResolve({ module: true }), + sourcemaps() ] }; + export default config; diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/accessPoliciesMappers.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/accessPoliciesMappers.ts index 19d7914f7e62..b095b795dd22 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/accessPoliciesMappers.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/accessPoliciesMappers.ts @@ -1,33 +1,30 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, AccessPolicyCreateOrUpdateParameters, + AccessPolicyListResponse, AccessPolicyResource, - Resource, + AccessPolicyUpdateParameters, BaseResource, CloudError, - AccessPolicyUpdateParameters, - AccessPolicyListResponse, - TrackedResource, EnvironmentResource, - Sku, - PartitionKeyProperty, - EnvironmentStatus, - IngressEnvironmentStatus, EnvironmentStateDetails, - EventSourceResource, + EnvironmentStatus, EventHubEventSourceResource, + EventSourceResource, + IngressEnvironmentStatus, IoTHubEventSourceResource, + PartitionKeyProperty, + ReferenceDataSetKeyProperty, ReferenceDataSetResource, - ReferenceDataSetKeyProperty + Resource, + Sku, + TrackedResource } from "../models/mappers"; - diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/environmentsMappers.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/environmentsMappers.ts index bf3269075ee8..9c64265aaa1d 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/environmentsMappers.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/environmentsMappers.ts @@ -1,38 +1,35 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - EnvironmentCreateOrUpdateParameters, + AccessPolicyResource, + BaseResource, + CloudError, CreateOrUpdateTrackedResourceProperties, - Sku, - PartitionKeyProperty, + EnvironmentCreateOrUpdateParameters, + EnvironmentListResponse, EnvironmentResource, - TrackedResource, - Resource, - BaseResource, - EnvironmentStatus, - IngressEnvironmentStatus, EnvironmentStateDetails, - CloudError, + EnvironmentStatus, EnvironmentUpdateParameters, - EnvironmentListResponse, - EventSourceCreateOrUpdateParameters, EventHubEventSourceCreateOrUpdateParameters, - IoTHubEventSourceCreateOrUpdateParameters, - EventSourceResource, EventHubEventSourceResource, + EventSourceCreateOrUpdateParameters, + EventSourceResource, + IngressEnvironmentStatus, + IoTHubEventSourceCreateOrUpdateParameters, IoTHubEventSourceResource, + PartitionKeyProperty, ReferenceDataSetCreateOrUpdateParameters, ReferenceDataSetKeyProperty, ReferenceDataSetResource, - AccessPolicyResource + Resource, + Sku, + TrackedResource } from "../models/mappers"; - diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/eventSourcesMappers.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/eventSourcesMappers.ts index a6fa54c524f1..6131d4200cdc 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/eventSourcesMappers.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/eventSourcesMappers.ts @@ -1,42 +1,39 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - EventSourceCreateOrUpdateParameters, - CreateOrUpdateTrackedResourceProperties, - EventSourceResource, - TrackedResource, - Resource, + AccessPolicyResource, BaseResource, CloudError, - EventSourceUpdateParameters, - EventSourceListResponse, + CreateOrUpdateTrackedResourceProperties, EnvironmentCreateOrUpdateParameters, - Sku, - PartitionKeyProperty, EnvironmentResource, - EnvironmentStatus, - IngressEnvironmentStatus, EnvironmentStateDetails, + EnvironmentStatus, EventHubEventSourceCreateOrUpdateParameters, - IoTHubEventSourceCreateOrUpdateParameters, + EventHubEventSourceResource, EventHubEventSourceUpdateParameters, + EventSourceCreateOrUpdateParameters, + EventSourceListResponse, + EventSourceResource, + EventSourceUpdateParameters, + IngressEnvironmentStatus, + IoTHubEventSourceCreateOrUpdateParameters, + IoTHubEventSourceResource, + IoTHubEventSourceUpdateParameters, LocalTimestamp, LocalTimestampTimeZoneOffset, - IoTHubEventSourceUpdateParameters, - EventHubEventSourceResource, - IoTHubEventSourceResource, + PartitionKeyProperty, ReferenceDataSetCreateOrUpdateParameters, ReferenceDataSetKeyProperty, ReferenceDataSetResource, - AccessPolicyResource + Resource, + Sku, + TrackedResource } from "../models/mappers"; - diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/index.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/index.ts index bbf74cdb9db0..9793e4c43827 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/index.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/index.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { BaseResource, CloudError, AzureServiceClientOptions } from "@azure/ms-rest-azure-js"; @@ -13,404 +11,307 @@ import * as msRest from "@azure/ms-rest-js"; export { BaseResource, CloudError }; - /** - * @interface - * An interface representing OperationDisplay. - * Contains the localized display information for this particular operation / - * action. - * + * Contains the localized display information for this particular operation / action. */ export interface OperationDisplay { /** - * @member {string} [provider] The localized friendly form of the resource - * provider name. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly form of the resource provider name. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly provider?: string; /** - * @member {string} [resource] The localized friendly form of the resource - * type related to this action/operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly form of the resource type related to this action/operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly resource?: string; /** - * @member {string} [operation] The localized friendly name for the - * operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly name for the operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly operation?: string; /** - * @member {string} [description] The localized friendly description for the - * operation. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The localized friendly description for the operation. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly description?: string; } /** - * @interface - * An interface representing Operation. * A Time Series Insights REST API operation - * */ export interface Operation { /** - * @member {string} [name] The name of the operation being performed on this - * particular object. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The name of the operation being performed on this particular object. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {OperationDisplay} [display] Contains the localized display - * information for this particular operation / action. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Contains the localized display information for this particular operation / action. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly display?: OperationDisplay; } /** - * @interface - * An interface representing Resource. * Time Series Insights resource - * - * @extends BaseResource */ export interface Resource extends BaseResource { /** - * @member {string} [id] Resource Id - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] Resource name - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] Resource type - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; } /** - * @interface - * An interface representing TrackedResource. * Time Series Insights resource that is tracked by Azure Resource Manager. - * - * @extends Resource */ export interface TrackedResource extends Resource { /** - * @member {string} location Resource location + * Resource location */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags + * Resource tags */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing ResourceProperties. * Properties that are common to all tracked resources. - * */ export interface ResourceProperties { /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Accepted', 'Creating', 'Updating', - * 'Succeeded', 'Failed', 'Deleting' + * Provisioning state of the resource. Possible values include: 'Accepted', 'Creating', + * 'Updating', 'Succeeded', 'Failed', 'Deleting' */ provisioningState?: ProvisioningState; /** - * @member {Date} [creationTime] The time the resource was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time the resource was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly creationTime?: Date; } /** - * @interface - * An interface representing Sku. - * The sku determines the capacity of the environment, the SLA (in - * queries-per-minute and total capacity), and the billing rate. - * + * The sku determines the capacity of the environment, the SLA (in queries-per-minute and total + * capacity), and the billing rate. */ export interface Sku { /** - * @member {SkuName} name The name of this SKU. Possible values include: - * 'S1', 'S2' + * The name of this SKU. Possible values include: 'S1', 'S2' */ name: SkuName; /** - * @member {number} capacity The capacity of the sku. This value can be - * changed to support scale out of environments after they have been created. + * The capacity of the sku. This value can be changed to support scale out of environments after + * they have been created. */ capacity: number; } /** - * @interface - * An interface representing CreateOrUpdateTrackedResourceProperties. - * Properties required to create any resource tracked by Azure Resource - * Manager. - * + * Properties required to create any resource tracked by Azure Resource Manager. */ export interface CreateOrUpdateTrackedResourceProperties { /** - * @member {string} location The location of the resource. + * The location of the resource. */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Key-value pairs of - * additional properties for the resource. + * Key-value pairs of additional properties for the resource. */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing PartitionKeyProperty. - * The structure of the property that a partition key can have. An environment - * can have multiple such properties. - * + * The structure of the property that a partition key can have. An environment can have multiple + * such properties. */ export interface PartitionKeyProperty { /** - * @member {string} [name] The name of the property. + * The name of the property. */ name?: string; /** - * @member {PropertyType} [type] The type of the property. Possible values - * include: 'String' + * The type of the property. Possible values include: 'String' */ type?: PropertyType; } /** - * @interface - * An interface representing EnvironmentCreateOrUpdateParameters. * Parameters supplied to the CreateOrUpdate Environment operation. - * - * @extends CreateOrUpdateTrackedResourceProperties */ export interface EnvironmentCreateOrUpdateParameters extends CreateOrUpdateTrackedResourceProperties { /** - * @member {Sku} sku The sku determines the capacity of the environment, the - * SLA (in queries-per-minute and total capacity), and the billing rate. + * The sku determines the capacity of the environment, the SLA (in queries-per-minute and total + * capacity), and the billing rate. */ sku: Sku; /** - * @member {string} dataRetentionTime ISO8601 timespan specifying the minimum - * number of days the environment's events will be available for query. + * ISO8601 timespan specifying the minimum number of days the environment's events will be + * available for query. */ dataRetentionTime: string; /** - * @member {StorageLimitExceededBehavior} [storageLimitExceededBehavior] The - * behavior the Time Series Insights service should take when the - * environment's capacity has been exceeded. If "PauseIngress" is specified, - * new events will not be read from the event source. If "PurgeOldData" is - * specified, new events will continue to be read and old events will be - * deleted from the environment. The default behavior is PurgeOldData. - * Possible values include: 'PurgeOldData', 'PauseIngress' + * The behavior the Time Series Insights service should take when the environment's capacity has + * been exceeded. If "PauseIngress" is specified, new events will not be read from the event + * source. If "PurgeOldData" is specified, new events will continue to be read and old events + * will be deleted from the environment. The default behavior is PurgeOldData. Possible values + * include: 'PurgeOldData', 'PauseIngress' */ storageLimitExceededBehavior?: StorageLimitExceededBehavior; /** - * @member {PartitionKeyProperty[]} [partitionKeyProperties] The list of - * partition keys according to which the data in the environment will be - * ordered. + * The list of partition keys according to which the data in the environment will be ordered. */ partitionKeyProperties?: PartitionKeyProperty[]; } /** - * @interface - * An interface representing EnvironmentUpdateParameters. * Parameters supplied to the Update Environment operation. - * */ export interface EnvironmentUpdateParameters { /** - * @member {Sku} [sku] The sku of the environment. + * The sku of the environment. */ sku?: Sku; /** - * @member {{ [propertyName: string]: string }} [tags] Key-value pairs of - * additional properties for the environment. + * Key-value pairs of additional properties for the environment. */ tags?: { [propertyName: string]: string }; /** - * @member {string} [dataRetentionTime] ISO8601 timespan specifying the - * minimum number of days the environment's events will be available for - * query. + * ISO8601 timespan specifying the minimum number of days the environment's events will be + * available for query. */ dataRetentionTime?: string; /** - * @member {StorageLimitExceededBehavior} [storageLimitExceededBehavior] The - * behavior the Time Series Insights service should take when the - * environment's capacity has been exceeded. If "PauseIngress" is specified, - * new events will not be read from the event source. If "PurgeOldData" is - * specified, new events will continue to be read and old events will be - * deleted from the environment. The default behavior is PurgeOldData. - * Possible values include: 'PurgeOldData', 'PauseIngress' + * The behavior the Time Series Insights service should take when the environment's capacity has + * been exceeded. If "PauseIngress" is specified, new events will not be read from the event + * source. If "PurgeOldData" is specified, new events will continue to be read and old events + * will be deleted from the environment. The default behavior is PurgeOldData. Possible values + * include: 'PurgeOldData', 'PauseIngress' */ storageLimitExceededBehavior?: StorageLimitExceededBehavior; /** - * @member {PartitionKeyProperty[]} [partitionKeyProperties] The list of - * event properties which will be used to partition data in the environment. + * The list of event properties which will be used to partition data in the environment. */ partitionKeyProperties?: PartitionKeyProperty[]; } /** - * @interface - * An interface representing EnvironmentStateDetails. * An object that contains the details about an environment's state. - * */ export interface EnvironmentStateDetails { /** - * @member {string} [code] Contains the code that represents the reason of an - * environment being in a particular state. Can be used to programatically - * handle specific cases. + * Contains the code that represents the reason of an environment being in a particular state. + * Can be used to programmatically handle specific cases. */ code?: string; /** - * @member {string} [message] A message that describes the state in detail. + * A message that describes the state in detail. */ message?: string; } /** - * @interface - * An interface representing IngressEnvironmentStatus. * An object that represents the status of ingress on an environment. - * */ export interface IngressEnvironmentStatus { /** - * @member {IngressState} [state] This string represents the state of ingress - * operations on an environment. It can be "Disabled", "Ready", "Running", - * "Paused" or "Unknown". Possible values include: 'Disabled', 'Ready', - * 'Running', 'Paused', 'Unknown' + * This string represents the state of ingress operations on an environment. It can be + * "Disabled", "Ready", "Running", "Paused" or "Unknown". Possible values include: 'Disabled', + * 'Ready', 'Running', 'Paused', 'Unknown' */ state?: IngressState; /** - * @member {EnvironmentStateDetails} [stateDetails] An object that contains - * the details about an environment's state. + * An object that contains the details about an environment's state. */ stateDetails?: EnvironmentStateDetails; } /** - * @interface - * An interface representing EnvironmentStatus. - * An object that represents the status of the environment, and its internal - * state in the Time Series Insights service. - * + * An object that represents the status of the environment, and its internal state in the Time + * Series Insights service. */ export interface EnvironmentStatus { /** - * @member {IngressEnvironmentStatus} [ingress] An object that represents the - * status of ingress on an environment. + * An object that represents the status of ingress on an environment. */ ingress?: IngressEnvironmentStatus; } /** - * @interface - * An interface representing EnvironmentResource. - * An environment is a set of time-series data avaliable for query, and is the - * top level Azure Time Series Insights resource. - * - * @extends TrackedResource + * An environment is a set of time-series data available for query, and is the top level Azure Time + * Series Insights resource. */ export interface EnvironmentResource extends TrackedResource { /** - * @member {Sku} [sku] The sku determines the capacity of the environment, - * the SLA (in queries-per-minute and total capacity), and the billing rate. + * The sku determines the capacity of the environment, the SLA (in queries-per-minute and total + * capacity), and the billing rate. */ sku?: Sku; /** - * @member {string} dataRetentionTime ISO8601 timespan specifying the minimum - * number of days the environment's events will be available for query. + * ISO8601 timespan specifying the minimum number of days the environment's events will be + * available for query. */ dataRetentionTime: string; /** - * @member {StorageLimitExceededBehavior} [storageLimitExceededBehavior] The - * behavior the Time Series Insights service should take when the - * environment's capacity has been exceeded. If "PauseIngress" is specified, - * new events will not be read from the event source. If "PurgeOldData" is - * specified, new events will continue to be read and old events will be - * deleted from the environment. The default behavior is PurgeOldData. - * Possible values include: 'PurgeOldData', 'PauseIngress' + * The behavior the Time Series Insights service should take when the environment's capacity has + * been exceeded. If "PauseIngress" is specified, new events will not be read from the event + * source. If "PurgeOldData" is specified, new events will continue to be read and old events + * will be deleted from the environment. The default behavior is PurgeOldData. Possible values + * include: 'PurgeOldData', 'PauseIngress' */ storageLimitExceededBehavior?: StorageLimitExceededBehavior; /** - * @member {PartitionKeyProperty[]} [partitionKeyProperties] The list of - * partition keys according to which the data in the environment will be - * ordered. + * The list of partition keys according to which the data in the environment will be ordered. */ partitionKeyProperties?: PartitionKeyProperty[]; /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Accepted', 'Creating', 'Updating', - * 'Succeeded', 'Failed', 'Deleting' + * Provisioning state of the resource. Possible values include: 'Accepted', 'Creating', + * 'Updating', 'Succeeded', 'Failed', 'Deleting' */ provisioningState?: ProvisioningState; /** - * @member {Date} [creationTime] The time the resource was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time the resource was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly creationTime?: Date; /** - * @member {string} [dataAccessId] An id used to access the environment data, - * e.g. to query the environment's events or upload reference data for the - * environment. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * An id used to access the environment data, e.g. to query the environment's events or upload + * reference data for the environment. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly dataAccessId?: string; /** - * @member {string} [dataAccessFqdn] The fully qualified domain name used to - * access the environment data, e.g. to query the environment's events or - * upload reference data for the environment. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The fully qualified domain name used to access the environment data, e.g. to query the + * environment's events or upload reference data for the environment. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly dataAccessFqdn?: string; /** - * @member {EnvironmentStatus} [status] An object that represents the status - * of the environment, and its internal state in the Time Series Insights - * service. + * An object that represents the status of the environment, and its internal state in the Time + * Series Insights service. */ status?: EnvironmentStatus; } /** - * @interface - * An interface representing EnvironmentListResponse. * The response of the List Environments operation. - * */ export interface EnvironmentListResponse { /** - * @member {EnvironmentResource[]} [value] Result of the List Environments - * operation. + * Result of the List Environments operation. */ value?: EnvironmentResource[]; } @@ -421,242 +322,196 @@ export interface EnvironmentListResponse { export type EventSourceCreateOrUpdateParametersUnion = EventSourceCreateOrUpdateParameters | EventHubEventSourceCreateOrUpdateParameters | IoTHubEventSourceCreateOrUpdateParameters; /** - * @interface - * An interface representing EventSourceCreateOrUpdateParameters. * Parameters supplied to the Create or Update Event Source operation. - * */ export interface EventSourceCreateOrUpdateParameters { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "EventSourceCreateOrUpdateParameters"; /** - * @member {string} location The location of the resource. + * The location of the resource. */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Key-value pairs of - * additional properties for the resource. + * Key-value pairs of additional properties for the resource. */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing EventHubEventSourceCreateOrUpdateParameters. - * Parameters supplied to the Create or Update Event Source operation for an - * EventHub event source. - * + * Parameters supplied to the Create or Update Event Source operation for an EventHub event source. */ export interface EventHubEventSourceCreateOrUpdateParameters { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "Microsoft.EventHub"; /** - * @member {string} location The location of the resource. + * The location of the resource. */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Key-value pairs of - * additional properties for the resource. + * Key-value pairs of additional properties for the resource. */ tags?: { [propertyName: string]: string }; /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Accepted', 'Creating', 'Updating', - * 'Succeeded', 'Failed', 'Deleting' + * Provisioning state of the resource. Possible values include: 'Accepted', 'Creating', + * 'Updating', 'Succeeded', 'Failed', 'Deleting' */ provisioningState?: ProvisioningState; /** - * @member {Date} [creationTime] The time the resource was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time the resource was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly creationTime?: Date; /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; /** - * @member {string} eventSourceResourceId The resource id of the event source - * in Azure Resource Manager. + * The resource id of the event source in Azure Resource Manager. */ eventSourceResourceId: string; /** - * @member {string} serviceBusNamespace The name of the service bus that - * contains the event hub. + * The name of the service bus that contains the event hub. */ serviceBusNamespace: string; /** - * @member {string} eventHubName The name of the event hub. + * The name of the event hub. */ eventHubName: string; /** - * @member {string} consumerGroupName The name of the event hub's consumer - * group that holds the partitions from which events will be read. + * The name of the event hub's consumer group that holds the partitions from which events will be + * read. */ consumerGroupName: string; /** - * @member {string} keyName The name of the SAS key that grants the Time - * Series Insights service access to the event hub. The shared access - * policies for this key must grant 'Listen' permissions to the event hub. + * The name of the SAS key that grants the Time Series Insights service access to the event hub. + * The shared access policies for this key must grant 'Listen' permissions to the event hub. */ keyName: string; /** - * @member {string} sharedAccessKey The value of the shared access key that - * grants the Time Series Insights service read access to the event hub. This - * property is not shown in event source responses. + * The value of the shared access key that grants the Time Series Insights service read access to + * the event hub. This property is not shown in event source responses. */ sharedAccessKey: string; } /** - * @interface - * An interface representing IoTHubEventSourceCreateOrUpdateParameters. - * Parameters supplied to the Create or Update Event Source operation for an - * IoTHub event source. - * + * Parameters supplied to the Create or Update Event Source operation for an IoTHub event source. */ export interface IoTHubEventSourceCreateOrUpdateParameters { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "Microsoft.IoTHub"; /** - * @member {string} location The location of the resource. + * The location of the resource. */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Key-value pairs of - * additional properties for the resource. + * Key-value pairs of additional properties for the resource. */ tags?: { [propertyName: string]: string }; /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Accepted', 'Creating', 'Updating', - * 'Succeeded', 'Failed', 'Deleting' + * Provisioning state of the resource. Possible values include: 'Accepted', 'Creating', + * 'Updating', 'Succeeded', 'Failed', 'Deleting' */ provisioningState?: ProvisioningState; /** - * @member {Date} [creationTime] The time the resource was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time the resource was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly creationTime?: Date; /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; /** - * @member {string} eventSourceResourceId The resource id of the event source - * in Azure Resource Manager. + * The resource id of the event source in Azure Resource Manager. */ eventSourceResourceId: string; /** - * @member {string} iotHubName The name of the iot hub. + * The name of the iot hub. */ iotHubName: string; /** - * @member {string} consumerGroupName The name of the iot hub's consumer - * group that holds the partitions from which events will be read. + * The name of the iot hub's consumer group that holds the partitions from which events will be + * read. */ consumerGroupName: string; /** - * @member {string} keyName The name of the Shared Access Policy key that - * grants the Time Series Insights service access to the iot hub. This shared - * access policy key must grant 'service connect' permissions to the iot hub. + * The name of the Shared Access Policy key that grants the Time Series Insights service access + * to the iot hub. This shared access policy key must grant 'service connect' permissions to the + * iot hub. */ keyName: string; /** - * @member {string} sharedAccessKey The value of the Shared Access Policy key - * that grants the Time Series Insights service read access to the iot hub. - * This property is not shown in event source responses. + * The value of the Shared Access Policy key that grants the Time Series Insights service read + * access to the iot hub. This property is not shown in event source responses. */ sharedAccessKey: string; } /** - * @interface - * An interface representing EventSourceUpdateParameters. * Parameters supplied to the Update Event Source operation. - * */ export interface EventSourceUpdateParameters { /** - * @member {{ [propertyName: string]: string }} [tags] Key-value pairs of - * additional properties for the event source. + * Key-value pairs of additional properties for the event source. */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing EventHubEventSourceUpdateParameters. - * Parameters supplied to the Update Event Source operation to update an - * EventHub event source. - * - * @extends EventSourceUpdateParameters + * Parameters supplied to the Update Event Source operation to update an EventHub event source. */ export interface EventHubEventSourceUpdateParameters extends EventSourceUpdateParameters { /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; /** - * @member {LocalTimestamp} [localTimestamp] An object that represents the - * local timestamp property. It contains the format of local timestamp that - * needs to be used and the corresponding timezone offset information. If a - * value isn't specified for localTimestamp, or if null, then the local - * timestamp will not be ingressed with the events. + * An object that represents the local timestamp property. It contains the format of local + * timestamp that needs to be used and the corresponding timezone offset information. If a value + * isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed + * with the events. */ localTimestamp?: LocalTimestamp; /** - * @member {string} [sharedAccessKey] The value of the shared access key that - * grants the Time Series Insights service read access to the event hub. This - * property is not shown in event source responses. + * The value of the shared access key that grants the Time Series Insights service read access to + * the event hub. This property is not shown in event source responses. */ sharedAccessKey?: string; } /** - * @interface - * An interface representing IoTHubEventSourceUpdateParameters. - * Parameters supplied to the Update Event Source operation to update an IoTHub - * event source. - * - * @extends EventSourceUpdateParameters + * Parameters supplied to the Update Event Source operation to update an IoTHub event source. */ export interface IoTHubEventSourceUpdateParameters extends EventSourceUpdateParameters { /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; /** - * @member {LocalTimestamp} [localTimestamp] An object that represents the - * local timestamp property. It contains the format of local timestamp that - * needs to be used and the corresponding timezone offset information. If a - * value isn't specified for localTimestamp, or if null, then the local - * timestamp will not be ingressed with the events. + * An object that represents the local timestamp property. It contains the format of local + * timestamp that needs to be used and the corresponding timezone offset information. If a value + * isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed + * with the events. */ localTimestamp?: LocalTimestamp; /** - * @member {string} [sharedAccessKey] The value of the shared access key that - * grants the Time Series Insights service read access to the iot hub. This - * property is not shown in event source responses. + * The value of the shared access key that grants the Time Series Insights service read access to + * the iot hub. This property is not shown in event source responses. */ sharedAccessKey?: string; } @@ -667,608 +522,483 @@ export interface IoTHubEventSourceUpdateParameters extends EventSourceUpdatePara export type EventSourceResourceUnion = EventSourceResource | EventHubEventSourceResource | IoTHubEventSourceResource; /** - * @interface - * An interface representing EventSourceResource. - * An environment receives data from one or more event sources. Each event - * source has associated connection info that allows the Time Series Insights - * ingress pipeline to connect to and pull data from the event source - * + * An environment receives data from one or more event sources. Each event source has associated + * connection info that allows the Time Series Insights ingress pipeline to connect to and pull + * data from the event source */ export interface EventSourceResource { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "EventSourceResource"; /** - * @member {string} [id] Resource Id - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] Resource name - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] Resource type - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} location Resource location + * Resource location */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags + * Resource tags */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing EventSourceListResponse. * The response of the List EventSources operation. - * */ export interface EventSourceListResponse { /** - * @member {EventSourceResourceUnion[]} [value] Result of the List - * EventSources operation. + * Result of the List EventSources operation. */ value?: EventSourceResourceUnion[]; } /** - * @interface - * An interface representing EventHubEventSourceResource. * An event source that receives its data from an Azure EventHub. - * */ export interface EventHubEventSourceResource { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "Microsoft.EventHub"; /** - * @member {string} [id] Resource Id - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] Resource name - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] Resource type - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} location Resource location + * Resource location */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags + * Resource tags */ tags?: { [propertyName: string]: string }; /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Accepted', 'Creating', 'Updating', - * 'Succeeded', 'Failed', 'Deleting' + * Provisioning state of the resource. Possible values include: 'Accepted', 'Creating', + * 'Updating', 'Succeeded', 'Failed', 'Deleting' */ provisioningState?: ProvisioningState; /** - * @member {Date} [creationTime] The time the resource was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time the resource was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly creationTime?: Date; /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; /** - * @member {string} eventSourceResourceId The resource id of the event source - * in Azure Resource Manager. + * The resource id of the event source in Azure Resource Manager. */ eventSourceResourceId: string; /** - * @member {string} serviceBusNamespace The name of the service bus that - * contains the event hub. + * The name of the service bus that contains the event hub. */ serviceBusNamespace: string; /** - * @member {string} eventHubName The name of the event hub. + * The name of the event hub. */ eventHubName: string; /** - * @member {string} consumerGroupName The name of the event hub's consumer - * group that holds the partitions from which events will be read. + * The name of the event hub's consumer group that holds the partitions from which events will be + * read. */ consumerGroupName: string; /** - * @member {string} keyName The name of the SAS key that grants the Time - * Series Insights service access to the event hub. The shared access - * policies for this key must grant 'Listen' permissions to the event hub. + * The name of the SAS key that grants the Time Series Insights service access to the event hub. + * The shared access policies for this key must grant 'Listen' permissions to the event hub. */ keyName: string; } /** - * @interface - * An interface representing IoTHubEventSourceResource. * An event source that receives its data from an Azure IoTHub. - * */ export interface IoTHubEventSourceResource { /** - * @member {string} kind Polymorphic Discriminator + * Polymorphic Discriminator */ kind: "Microsoft.IotHub"; /** - * @member {string} [id] Resource Id - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource Id + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly id?: string; /** - * @member {string} [name] Resource name - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource name + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly name?: string; /** - * @member {string} [type] Resource type - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * Resource type + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly type?: string; /** - * @member {string} location Resource location + * Resource location */ location: string; /** - * @member {{ [propertyName: string]: string }} [tags] Resource tags + * Resource tags */ tags?: { [propertyName: string]: string }; /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Accepted', 'Creating', 'Updating', - * 'Succeeded', 'Failed', 'Deleting' + * Provisioning state of the resource. Possible values include: 'Accepted', 'Creating', + * 'Updating', 'Succeeded', 'Failed', 'Deleting' */ provisioningState?: ProvisioningState; /** - * @member {Date} [creationTime] The time the resource was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time the resource was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly creationTime?: Date; /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; /** - * @member {string} eventSourceResourceId The resource id of the event source - * in Azure Resource Manager. + * The resource id of the event source in Azure Resource Manager. */ eventSourceResourceId: string; /** - * @member {string} iotHubName The name of the iot hub. + * The name of the iot hub. */ iotHubName: string; /** - * @member {string} consumerGroupName The name of the iot hub's consumer - * group that holds the partitions from which events will be read. + * The name of the iot hub's consumer group that holds the partitions from which events will be + * read. */ consumerGroupName: string; /** - * @member {string} keyName The name of the Shared Access Policy key that - * grants the Time Series Insights service access to the iot hub. This shared - * access policy key must grant 'service connect' permissions to the iot hub. + * The name of the Shared Access Policy key that grants the Time Series Insights service access + * to the iot hub. This shared access policy key must grant 'service connect' permissions to the + * iot hub. */ keyName: string; } /** - * @interface - * An interface representing EventSourceCommonProperties. * Properties of the event source. - * - * @extends ResourceProperties */ export interface EventSourceCommonProperties extends ResourceProperties { /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; } /** - * @interface - * An interface representing AzureEventSourceProperties. - * Properties of an event source that reads events from an event broker in - * Azure. - * - * @extends EventSourceCommonProperties + * Properties of an event source that reads events from an event broker in Azure. */ export interface AzureEventSourceProperties extends EventSourceCommonProperties { /** - * @member {string} eventSourceResourceId The resource id of the event source - * in Azure Resource Manager. + * The resource id of the event source in Azure Resource Manager. */ eventSourceResourceId: string; } /** - * @interface - * An interface representing EventHubEventSourceCommonProperties. * Properties of the EventHub event source. - * - * @extends AzureEventSourceProperties */ export interface EventHubEventSourceCommonProperties extends AzureEventSourceProperties { /** - * @member {string} serviceBusNamespace The name of the service bus that - * contains the event hub. + * The name of the service bus that contains the event hub. */ serviceBusNamespace: string; /** - * @member {string} eventHubName The name of the event hub. + * The name of the event hub. */ eventHubName: string; /** - * @member {string} consumerGroupName The name of the event hub's consumer - * group that holds the partitions from which events will be read. + * The name of the event hub's consumer group that holds the partitions from which events will be + * read. */ consumerGroupName: string; /** - * @member {string} keyName The name of the SAS key that grants the Time - * Series Insights service access to the event hub. The shared access - * policies for this key must grant 'Listen' permissions to the event hub. + * The name of the SAS key that grants the Time Series Insights service access to the event hub. + * The shared access policies for this key must grant 'Listen' permissions to the event hub. */ keyName: string; } /** - * @interface - * An interface representing IoTHubEventSourceCommonProperties. * Properties of the IoTHub event source. - * - * @extends AzureEventSourceProperties */ export interface IoTHubEventSourceCommonProperties extends AzureEventSourceProperties { /** - * @member {string} iotHubName The name of the iot hub. + * The name of the iot hub. */ iotHubName: string; /** - * @member {string} consumerGroupName The name of the iot hub's consumer - * group that holds the partitions from which events will be read. + * The name of the iot hub's consumer group that holds the partitions from which events will be + * read. */ consumerGroupName: string; /** - * @member {string} keyName The name of the Shared Access Policy key that - * grants the Time Series Insights service access to the iot hub. This shared - * access policy key must grant 'service connect' permissions to the iot hub. + * The name of the Shared Access Policy key that grants the Time Series Insights service access + * to the iot hub. This shared access policy key must grant 'service connect' permissions to the + * iot hub. */ keyName: string; } /** - * @interface - * An interface representing LocalTimestampTimeZoneOffset. - * An object that represents the offset information for the local timestamp - * format specified. Should not be specified for LocalTimestampFormat - - * Embedded. - * + * An object that represents the offset information for the local timestamp format specified. + * Should not be specified for LocalTimestampFormat - Embedded. */ export interface LocalTimestampTimeZoneOffset { /** - * @member {string} [propertyName] The event property that will be contain - * the offset information to calculate the local timestamp. When the - * LocalTimestampFormat is Iana, the property name will contain the name of - * the column which contains IANA Timezone Name (eg: Americas/Los Angeles). - * When LocalTimestampFormat is Timespan, it contains the name of property - * which contains values representing the offset (eg: P1D or 1.00:00:00) + * The event property that will be contain the offset information to calculate the local + * timestamp. When the LocalTimestampFormat is Iana, the property name will contain the name of + * the column which contains IANA Timezone Name (eg: Americas/Los Angeles). When + * LocalTimestampFormat is Timespan, it contains the name of property which contains values + * representing the offset (eg: P1D or 1.00:00:00) */ propertyName?: string; } /** - * @interface - * An interface representing LocalTimestamp. - * An object that represents the local timestamp property. It contains the - * format of local timestamp that needs to be used and the corresponding - * timezone offset information. If a value isn't specified for localTimestamp, - * or if null, then the local timestamp will not be ingressed with the events. - * + * An object that represents the local timestamp property. It contains the format of local + * timestamp that needs to be used and the corresponding timezone offset information. If a value + * isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed + * with the events. */ export interface LocalTimestamp { /** - * @member {LocalTimestampFormat} [format] An enum that represents the format - * of the local timestamp property that needs to be set. Possible values - * include: 'Embedded', 'Iana', 'TimeSpan' + * An enum that represents the format of the local timestamp property that needs to be set. + * Possible values include: 'Embedded', 'Iana', 'TimeSpan' */ format?: LocalTimestampFormat; /** - * @member {LocalTimestampTimeZoneOffset} [timeZoneOffset] An object that - * represents the offset information for the local timestamp format - * specified. Should not be specified for LocalTimestampFormat - Embedded. + * An object that represents the offset information for the local timestamp format specified. + * Should not be specified for LocalTimestampFormat - Embedded. */ timeZoneOffset?: LocalTimestampTimeZoneOffset; } /** - * @interface - * An interface representing EventSourceMutableProperties. * An object that represents a set of mutable event source resource properties. - * */ export interface EventSourceMutableProperties { /** - * @member {string} [timestampPropertyName] The event property that will be - * used as the event source's timestamp. If a value isn't specified for - * timestampPropertyName, or if null or empty-string is specified, the event + * The event property that will be used as the event source's timestamp. If a value isn't + * specified for timestampPropertyName, or if null or empty-string is specified, the event * creation time will be used. */ timestampPropertyName?: string; /** - * @member {LocalTimestamp} [localTimestamp] An object that represents the - * local timestamp property. It contains the format of local timestamp that - * needs to be used and the corresponding timezone offset information. If a - * value isn't specified for localTimestamp, or if null, then the local - * timestamp will not be ingressed with the events. + * An object that represents the local timestamp property. It contains the format of local + * timestamp that needs to be used and the corresponding timezone offset information. If a value + * isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed + * with the events. */ localTimestamp?: LocalTimestamp; } /** - * @interface - * An interface representing ReferenceDataSetKeyProperty. - * A key property for the reference data set. A reference data set can have - * multiple key properties. - * + * A key property for the reference data set. A reference data set can have multiple key + * properties. */ export interface ReferenceDataSetKeyProperty { /** - * @member {string} [name] The name of the key property. + * The name of the key property. */ name?: string; /** - * @member {ReferenceDataKeyPropertyType} [type] The type of the key - * property. Possible values include: 'String', 'Double', 'Bool', 'DateTime' + * The type of the key property. Possible values include: 'String', 'Double', 'Bool', 'DateTime' */ type?: ReferenceDataKeyPropertyType; } /** - * @interface * An interface representing ReferenceDataSetCreateOrUpdateParameters. - * @extends CreateOrUpdateTrackedResourceProperties */ export interface ReferenceDataSetCreateOrUpdateParameters extends CreateOrUpdateTrackedResourceProperties { /** - * @member {ReferenceDataSetKeyProperty[]} keyProperties The list of key - * properties for the reference data set. + * The list of key properties for the reference data set. */ keyProperties: ReferenceDataSetKeyProperty[]; /** - * @member {DataStringComparisonBehavior} [dataStringComparisonBehavior] The - * reference data set key comparison behavior can be set using this property. - * By default, the value is 'Ordinal' - which means case sensitive key - * comparison will be performed while joining reference data with events or - * while adding new reference data. When 'OrdinalIgnoreCase' is set, case - * insensitive comparison will be used. Possible values include: 'Ordinal', + * The reference data set key comparison behavior can be set using this property. By default, the + * value is 'Ordinal' - which means case sensitive key comparison will be performed while joining + * reference data with events or while adding new reference data. When 'OrdinalIgnoreCase' is + * set, case insensitive comparison will be used. Possible values include: 'Ordinal', * 'OrdinalIgnoreCase' */ dataStringComparisonBehavior?: DataStringComparisonBehavior; } /** - * @interface - * An interface representing ReferenceDataSetUpdateParameters. * Parameters supplied to the Update Reference Data Set operation. - * */ export interface ReferenceDataSetUpdateParameters { /** - * @member {{ [propertyName: string]: string }} [tags] Key-value pairs of - * additional properties for the reference data set. + * Key-value pairs of additional properties for the reference data set. */ tags?: { [propertyName: string]: string }; } /** - * @interface - * An interface representing ReferenceDataSetResource. - * A reference data set provides metadata about the events in an environment. - * Metadata in the reference data set will be joined with events as they are - * read from event sources. The metadata that makes up the reference data set - * is uploaded or modified through the Time Series Insights data plane APIs. - * - * @extends TrackedResource + * A reference data set provides metadata about the events in an environment. Metadata in the + * reference data set will be joined with events as they are read from event sources. The metadata + * that makes up the reference data set is uploaded or modified through the Time Series Insights + * data plane APIs. */ export interface ReferenceDataSetResource extends TrackedResource { /** - * @member {ReferenceDataSetKeyProperty[]} keyProperties The list of key - * properties for the reference data set. + * The list of key properties for the reference data set. */ keyProperties: ReferenceDataSetKeyProperty[]; /** - * @member {DataStringComparisonBehavior} [dataStringComparisonBehavior] The - * reference data set key comparison behavior can be set using this property. - * By default, the value is 'Ordinal' - which means case sensitive key - * comparison will be performed while joining reference data with events or - * while adding new reference data. When 'OrdinalIgnoreCase' is set, case - * insensitive comparison will be used. Possible values include: 'Ordinal', + * The reference data set key comparison behavior can be set using this property. By default, the + * value is 'Ordinal' - which means case sensitive key comparison will be performed while joining + * reference data with events or while adding new reference data. When 'OrdinalIgnoreCase' is + * set, case insensitive comparison will be used. Possible values include: 'Ordinal', * 'OrdinalIgnoreCase' */ dataStringComparisonBehavior?: DataStringComparisonBehavior; /** - * @member {ProvisioningState} [provisioningState] Provisioning state of the - * resource. Possible values include: 'Accepted', 'Creating', 'Updating', - * 'Succeeded', 'Failed', 'Deleting' + * Provisioning state of the resource. Possible values include: 'Accepted', 'Creating', + * 'Updating', 'Succeeded', 'Failed', 'Deleting' */ provisioningState?: ProvisioningState; /** - * @member {Date} [creationTime] The time the resource was created. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * The time the resource was created. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly creationTime?: Date; } /** - * @interface - * An interface representing ReferenceDataSetListResponse. * The response of the List Reference Data Sets operation. - * */ export interface ReferenceDataSetListResponse { /** - * @member {ReferenceDataSetResource[]} [value] Result of the List Reference - * Data Sets operation. + * Result of the List Reference Data Sets operation. */ value?: ReferenceDataSetResource[]; } /** - * @interface * An interface representing AccessPolicyCreateOrUpdateParameters. */ export interface AccessPolicyCreateOrUpdateParameters { /** - * @member {string} [principalObjectId] The objectId of the principal in - * Azure Active Directory. + * The objectId of the principal in Azure Active Directory. */ principalObjectId?: string; /** - * @member {string} [description] An description of the access policy. + * An description of the access policy. */ description?: string; /** - * @member {AccessPolicyRole[]} [roles] The list of roles the principal is - * assigned on the environment. + * The list of roles the principal is assigned on the environment. */ roles?: AccessPolicyRole[]; } /** - * @interface * An interface representing AccessPolicyUpdateParameters. */ export interface AccessPolicyUpdateParameters { /** - * @member {string} [description] An description of the access policy. + * An description of the access policy. */ description?: string; /** - * @member {AccessPolicyRole[]} [roles] The list of roles the principal is - * assigned on the environment. + * The list of roles the principal is assigned on the environment. */ roles?: AccessPolicyRole[]; } /** - * @interface - * An interface representing AccessPolicyResource. - * An access policy is used to grant users and applications access to the - * environment. Roles are assigned to service principals in Azure Active - * Directory. These roles define the actions the principal can perform through - * the Time Series Insights data plane APIs. - * - * @extends Resource + * An access policy is used to grant users and applications access to the environment. Roles are + * assigned to service principals in Azure Active Directory. These roles define the actions the + * principal can perform through the Time Series Insights data plane APIs. */ export interface AccessPolicyResource extends Resource { /** - * @member {string} [principalObjectId] The objectId of the principal in - * Azure Active Directory. + * The objectId of the principal in Azure Active Directory. */ principalObjectId?: string; /** - * @member {string} [description] An description of the access policy. + * An description of the access policy. */ description?: string; /** - * @member {AccessPolicyRole[]} [roles] The list of roles the principal is - * assigned on the environment. + * The list of roles the principal is assigned on the environment. */ roles?: AccessPolicyRole[]; } /** - * @interface - * An interface representing AccessPolicyListResponse. * The response of the List access policies operation. - * */ export interface AccessPolicyListResponse { /** - * @member {AccessPolicyResource[]} [value] Result of the List access - * policies operation. + * Result of the List access policies operation. */ value?: AccessPolicyResource[]; } /** - * @interface - * An interface representing EnvironmentsGetOptionalParams. * Optional Parameters. - * - * @extends RequestOptionsBase */ export interface EnvironmentsGetOptionalParams extends msRest.RequestOptionsBase { /** - * @member {string} [expand] Setting $expand=status will include the status - * of the internal services of the environment in the Time Series Insights - * service. + * Setting $expand=status will include the status of the internal services of the environment in + * the Time Series Insights service. */ expand?: string; } /** - * @interface * An interface representing TimeSeriesInsightsClientOptions. - * @extends AzureServiceClientOptions */ export interface TimeSeriesInsightsClientOptions extends AzureServiceClientOptions { - /** - * @member {string} [baseUri] - */ baseUri?: string; } - /** * @interface - * An interface representing the OperationListResult. - * Result of the request to list Time Series Insights operations. It contains a - * list of operations and a URL link to get the next set of results. - * + * Result of the request to list Time Series Insights operations. It contains a list of operations + * and a URL link to get the next set of results. * @extends Array */ export interface OperationListResult extends Array { /** - * @member {string} [nextLink] URL to get the next set of operation list - * results if there are any. - * **NOTE: This property will not be serialized. It can only be populated by - * the server.** + * URL to get the next set of operation list results if there are any. + * **NOTE: This property will not be serialized. It can only be populated by the server.** */ readonly nextLink?: string; } @@ -1357,6 +1087,7 @@ export type OperationsListResponse = OperationListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1376,6 +1107,7 @@ export type OperationsListNextResponse = OperationListResult & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1395,6 +1127,7 @@ export type EnvironmentsCreateOrUpdateResponse = EnvironmentResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1414,6 +1147,7 @@ export type EnvironmentsGetResponse = EnvironmentResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1433,6 +1167,7 @@ export type EnvironmentsUpdateResponse = EnvironmentResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1452,6 +1187,7 @@ export type EnvironmentsListByResourceGroupResponse = EnvironmentListResponse & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1471,6 +1207,7 @@ export type EnvironmentsListBySubscriptionResponse = EnvironmentListResponse & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1490,6 +1227,7 @@ export type EnvironmentsBeginCreateOrUpdateResponse = EnvironmentResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1509,6 +1247,7 @@ export type EnvironmentsBeginUpdateResponse = EnvironmentResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1528,6 +1267,7 @@ export type EventSourcesCreateOrUpdateResponse = EventSourceResourceUnion & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1547,6 +1287,7 @@ export type EventSourcesGetResponse = EventSourceResourceUnion & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1566,6 +1307,7 @@ export type EventSourcesUpdateResponse = EventSourceResourceUnion & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1585,6 +1327,7 @@ export type EventSourcesListByEnvironmentResponse = EventSourceListResponse & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1604,6 +1347,7 @@ export type ReferenceDataSetsCreateOrUpdateResponse = ReferenceDataSetResource & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1623,6 +1367,7 @@ export type ReferenceDataSetsGetResponse = ReferenceDataSetResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1642,6 +1387,7 @@ export type ReferenceDataSetsUpdateResponse = ReferenceDataSetResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1661,6 +1407,7 @@ export type ReferenceDataSetsListByEnvironmentResponse = ReferenceDataSetListRes * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1680,6 +1427,7 @@ export type AccessPoliciesCreateOrUpdateResponse = AccessPolicyResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1699,6 +1447,7 @@ export type AccessPoliciesGetResponse = AccessPolicyResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1718,6 +1467,7 @@ export type AccessPoliciesUpdateResponse = AccessPolicyResource & { * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ @@ -1737,6 +1487,7 @@ export type AccessPoliciesListByEnvironmentResponse = AccessPolicyListResponse & * The response body as text (string format) */ bodyAsText: string; + /** * The response body as parsed JSON or XML */ diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/mappers.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/mappers.ts index 79dc1c8eedbd..d3731702df83 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/mappers.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/mappers.ts @@ -1,11 +1,9 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { CloudErrorMapper, BaseResourceMapper } from "@azure/ms-rest-azure-js"; @@ -542,7 +540,7 @@ export const EventSourceCreateOrUpdateParameters: msRest.CompositeMapper = { serializedName: "kind", clientName: "kind" }, - uberParent: "EventSourceCreateOrUpdateParameters", + uberParent: "CreateOrUpdateTrackedResourceProperties", className: "EventSourceCreateOrUpdateParameters", modelProperties: { ...CreateOrUpdateTrackedResourceProperties.type.modelProperties, @@ -799,7 +797,7 @@ export const EventSourceResource: msRest.CompositeMapper = { serializedName: "kind", clientName: "kind" }, - uberParent: "EventSourceResource", + uberParent: "BaseResource", className: "EventSourceResource", modelProperties: { ...TrackedResource.type.modelProperties, @@ -1473,4 +1471,5 @@ export const discriminators = { 'BaseResource.EventSourceResource' : EventSourceResource, 'BaseResource.Microsoft.EventHub' : EventHubEventSourceResource, 'BaseResource.Microsoft.IotHub' : IoTHubEventSourceResource + }; diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/operationsMappers.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/operationsMappers.ts index 19f09b391246..65fc7dd1800a 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/operationsMappers.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/operationsMappers.ts @@ -1,18 +1,15 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - OperationListResult, + CloudError, Operation, OperationDisplay, - CloudError + OperationListResult } from "../models/mappers"; - diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/referenceDataSetsMappers.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/referenceDataSetsMappers.ts index 45f89be21677..26490d10e27f 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/referenceDataSetsMappers.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/models/referenceDataSetsMappers.ts @@ -1,38 +1,35 @@ /* * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for - * license information. + * Licensed under the MIT License. See License.txt in the project root for license information. * * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is - * regenerated. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ export { discriminators, - ReferenceDataSetCreateOrUpdateParameters, - CreateOrUpdateTrackedResourceProperties, - ReferenceDataSetKeyProperty, - ReferenceDataSetResource, - TrackedResource, - Resource, + AccessPolicyResource, BaseResource, CloudError, - ReferenceDataSetUpdateParameters, - ReferenceDataSetListResponse, + CreateOrUpdateTrackedResourceProperties, EnvironmentCreateOrUpdateParameters, - Sku, - PartitionKeyProperty, EnvironmentResource, - EnvironmentStatus, - IngressEnvironmentStatus, EnvironmentStateDetails, - EventSourceCreateOrUpdateParameters, + EnvironmentStatus, EventHubEventSourceCreateOrUpdateParameters, - IoTHubEventSourceCreateOrUpdateParameters, - EventSourceResource, EventHubEventSourceResource, + EventSourceCreateOrUpdateParameters, + EventSourceResource, + IngressEnvironmentStatus, + IoTHubEventSourceCreateOrUpdateParameters, IoTHubEventSourceResource, - AccessPolicyResource + PartitionKeyProperty, + ReferenceDataSetCreateOrUpdateParameters, + ReferenceDataSetKeyProperty, + ReferenceDataSetListResponse, + ReferenceDataSetResource, + ReferenceDataSetUpdateParameters, + Resource, + Sku, + TrackedResource } from "../models/mappers"; - diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/src/timeSeriesInsightsClientContext.ts b/sdk/timeseriesinsights/arm-timeseriesinsights/src/timeSeriesInsightsClientContext.ts index 474af4442de4..c56b8dd9321c 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/src/timeSeriesInsightsClientContext.ts +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/src/timeSeriesInsightsClientContext.ts @@ -13,7 +13,7 @@ import * as msRest from "@azure/ms-rest-js"; import * as msRestAzure from "@azure/ms-rest-azure-js"; const packageName = "@azure/arm-timeseriesinsights"; -const packageVersion = "0.1.0"; +const packageVersion = "1.2.0"; export class TimeSeriesInsightsClientContext extends msRestAzure.AzureServiceClient { credentials: msRest.ServiceClientCredentials; @@ -37,7 +37,7 @@ export class TimeSeriesInsightsClientContext extends msRestAzure.AzureServiceCli if (!options) { options = {}; } - if(!options.userAgent) { + if (!options.userAgent) { const defaultUserAgent = msRestAzure.getDefaultUserAgentValue(); options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`; } @@ -52,10 +52,10 @@ export class TimeSeriesInsightsClientContext extends msRestAzure.AzureServiceCli this.credentials = credentials; this.subscriptionId = subscriptionId; - if(options.acceptLanguage !== null && options.acceptLanguage !== undefined) { + if (options.acceptLanguage !== null && options.acceptLanguage !== undefined) { this.acceptLanguage = options.acceptLanguage; } - if(options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { + if (options.longRunningOperationRetryTimeout !== null && options.longRunningOperationRetryTimeout !== undefined) { this.longRunningOperationRetryTimeout = options.longRunningOperationRetryTimeout; } } diff --git a/sdk/timeseriesinsights/arm-timeseriesinsights/tsconfig.json b/sdk/timeseriesinsights/arm-timeseriesinsights/tsconfig.json index 87bbf5b5fa49..422b584abd5e 100644 --- a/sdk/timeseriesinsights/arm-timeseriesinsights/tsconfig.json +++ b/sdk/timeseriesinsights/arm-timeseriesinsights/tsconfig.json @@ -9,7 +9,7 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6"], + "lib": ["es6", "dom"], "declaration": true, "outDir": "./esm", "importHelpers": true diff --git a/swagger_to_sdk_config.json b/swagger_to_sdk_config.json index f7398d714927..a4f763911359 100644 --- a/swagger_to_sdk_config.json +++ b/swagger_to_sdk_config.json @@ -1,15 +1,15 @@ { - "$schema": "https://raw.githubusercontent.com/lmazuel/swagger-to-sdk/master/swagger_to_sdk_config.schema.json", + "$schema": "https://openapistorageprod.blob.core.windows.net/sdkautomation/prod/schemas/swagger_to_sdk_config.schema.json", "meta": { "autorest_options": { "typescript": "", "license-header": "MICROSOFT_MIT_NO_VERSION", "sdkrel:typescript-sdks-folder": ".", - "use": "@microsoft.azure/autorest.typescript" + "use": "@microsoft.azure/autorest.typescript@4.1.1" }, "advanced_options": { "clone_dir": "./azure-sdk-for-js", - "create_sdk_pull_requests": false, + "create_sdk_pull_requests": true, "sdk_generation_pull_request_base": "integration_branch" }, "version": "0.2.0"